AU2024259729B2 - Video decoder with reduced dynamic range transform with inverse transform shifting memory - Google Patents
Video decoder with reduced dynamic range transform with inverse transform shifting memoryInfo
- Publication number
- AU2024259729B2 AU2024259729B2 AU2024259729A AU2024259729A AU2024259729B2 AU 2024259729 B2 AU2024259729 B2 AU 2024259729B2 AU 2024259729 A AU2024259729 A AU 2024259729A AU 2024259729 A AU2024259729 A AU 2024259729A AU 2024259729 B2 AU2024259729 B2 AU 2024259729B2
- Authority
- AU
- Australia
- Prior art keywords
- coefficients
- inverse
- video
- transform
- section
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Disclosed is a video encoding method comprising: dividing video data into one or more blocks of video, each block of video representing a plurality of pixels; encoding the one or more blocks of video, the encoding comprises generating a set of quantized coefficients for each block of video; and transmitting sets of quantized coefficients corresponding to the one or more blocks of video in a bitstream to a decoder, wherein the decoder is configured to decode the video data by performing operations comprising: descaling the quantized coefficients based on a quantization parameter, a coefficient index, and a transform size to generate descaled coefficients; modifying the descaled coefficients to generate modified descaled coefficients, the modifying including application of a variable based on the transform size; clipping the modified descaled coefficients to a predetermined bit depth to generate clipped coefficients; and inverse transforming the clipped coefficients to output a decoded residue. Figure 4
Description
N 2024259729
520
MEMORY STORAGE 490
RESIDUE DECODED 1-D INVERSE TRANSFORM
530 540 550
510
N QP EXTENSION PRECISION TRANSFORM HORIZONTAL TRANSFORM 1-D INVERSE
500
480
470
FIG. 4
- 1 -- 05 Nov 2024
VIDEO DECODER VIDEO DECODER WITH WITH REDUCED REDUCED DYNAMIC RANGE DYNAMIC RANGE TRANSFORMWITH TRANSFORM WITH INVERSE INVERSE TRANSFORM TRANSFORM SHIFTING SHIFTING MEMORY MEMORY 5 5 2024259729
TECHNICALFIELD TECHNICAL FIELD The present The present invention invention relates relates toto image image decoding with decoding with
reduced dynamic reduced dynamicrange. range.
10 10 BACKGROUND BACKGROUND Existing video Existing video coding coding standards, standards,such suchasasH.264 H.264 /AVC, /AVC,
generally providerelatively generally provide relatively high highcoding coding efficiency efficiency at the at the
expense of expense of increased increased computational computationalcomplexity. complexity.As the As the computational complexity computational complexity increases, increases, the encoding and/ the encoding and/ oror 15 15 decodingspeeds decoding speeds tend tend to to decrease. decrease. Also, Also, the the desire desire for for increased increased
higher fidelity higher fidelity tends to increase tends to over time increase over timewhich which tends tends to to require require
increasinglylarger increasingly larger memory memory requirements requirements and increasingly and increasingly largerlarger
memory bandwidth memory bandwidth requirements. requirements. The Theincreasing increasing memory memory requirements and requirements the increasing and the increasing memory memory bandwidth bandwidth 20 20 requirementstends requirements tends to to resultininincreasingly result increasingly more more expensive expensive and and computationally complex computationally complex circuitry,especially circuitry, especiallyininthe thecase caseof of embedded systems. embedded systems.
Referringtoto FIG. Referring FIG.1,1,many many decoders decoders (and(and encoders) encoders) receive receive
(and encoders provide) (and encoders provide)encoded encoded data data forfor blocks blocks of of an an image. image.
25 25 Typically,the Typically, the image imageisisdivided dividedinto intoblocks blocksand andeach each ofof theblocks the blocks is encoded is in some encoded in somemanner, manner, such such as using as using a discrete a discrete cosine cosine
05 Nov 2024
transform (DCT), transform and provided (DCT), and provided to to the the decoder. decoder. The decoder The decoder
receives the receives the encoded blocks and encoded blocks anddecodes decodeseach eachofofthe theblocks blocksinin somemanner, some manner, such such as as using using an an inverse inverse discrete discrete cosine cosine transform. transform.
In many In manycases, cases,the thedecoding decodingofofthetheimage image coefficients coefficients of of thethe
5 5 image block image block is is accomplished accomplished by by matrix matrix multiplication. multiplication. The The 2024259729
matrix multiplication matrix multiplication may beperformed may be performedforfora horizontal a horizontal direction and direction and the the matrix matrix multiplication multiplicationmay may be be performed for aa performed for
vertical direction. vertical Byway direction. By wayof of example, example, for for 8-bit 8-bit values, values, the the first first
multiplication can multiplication can result result inin 16-bit 16-bitvalues, values,andand the the second second
10 10 multiplication can multiplication result in can result in 24-bit 24-bit values in some values in somecases. cases.In In addition, addition, the the encoding of each encoding of block of each block of the the image imageisis typically typically quantized, which quantized, mapsthe which maps thevalues valuesofofthe theencoding encodingtotoa asmaller smaller set of set of quantized coefficients used quantized coefficients usedfor for transmission. transmission.Quantization Quantization requires de-quantization requires de-quantization by by the the decoder, decoder, which mapsthe which maps theset set of of 15 15 quantized coefficients quantized coefficients used used for fortransmission transmissiontotoapproximate approximate encodingvalues. encoding values. The Thenumber numberof of desirablebits desirable bits for for de-quantized de-quantized
data is data is aa design design parameter. parameter.TheThe potential potential for for large large values values
resulting from resulting fromthe thematrix matrixmultiplication multiplication andand thethe de-quantization de-quantization
operation is problematic operation is problematicforforresource resource constrained constrained systems, systems,
20 20 especially embedded especially systems. embedded systems.
It is It is desired desired to address or to address or ameliorate ameliorate one one orormore more disadvantagesororlimitations disadvantages limitationsassociated associated with with thethe prior prior art,orortotoat art, at least provide least provide aa useful useful alternative. alternative.
25
- 3 -- 05 Nov 2024
SUMMARY SUMMARY In one In exampleaspect one example aspectthere thereisis provided providedan anapparatus apparatusfor for decoding video, the decoding video, the apparatus apparatuscomprising: comprising:oneone or or moremore
processors;and processors; andone oneorormore more storage storage devices devices storing storing instructions instructions
5 5 that, when that, executedbybythetheoneone when executed or or more more processors, processors, cause cause the the one one 2024259729
or or more processors to more processors to perform operations comprising: perform operations receiving comprising: receiving
quantized coefficients representative quantized coefficients representative ofofa block a block of video of video
representativeofofa aplurality representative pluralityofofpixels; pixels;descaling descaling thethe quantized quantized
coefficients to coefficients generate descaled to generate descaledcoefficients; coefficients;applying applying an an 10 10 adjustment to the adjustment to thedescaled descaledcoefficients coefficientstotogenerate generateadjusted adjusted descaledcoefficients; descaled coefficients;clipping clippingthe theadjusted adjusteddescaled descaled coefficients coefficients
to aa predetermined to predeterminedbit bit depth depthtoto generate generateclipped clippedcoefficients; coefficients; one-dimensional inverse one-dimensional inverse transforming transforming the clipped the clipped coefficients coefficients in in
a first a first direction direction to generatefirst to generate first direction direction inverse inversetransformed transformed 15 15 coefficients; coefficients; shifting shifting the the first firstdirection direction inverse inverse transformed transformed
coefficients to coefficients to generate generateshifted shiftedcoefficients; coefficients;clipping clippingthe theshifted shifted coefficients totothe coefficients thepredetermined predetermined bit bit depth depth to to generate generate second second
clipped coefficients; clipped coefficients;and andone-dimensional one-dimensional inverse inverse transforming transforming
the second the clippedcoefficients second clipped coefficientsininaa second seconddirection directiontotodetermine determine 20 20 aa decoded residue, wherein decoded residue, whereinthe theshifting shifting is is performed after the performed after the one-dimensional inverse one-dimensional inverse transforming transforming infirst in the the first direction direction and and
prior to prior to the the one-dimensional inverse one-dimensional inverse transforming transforming in second in the the second direction. direction.
In another In another example aspectthere example aspect there is is provided an apparatus provided an apparatus 25 25 for decoding for decodingvideo, video,the theapparatus apparatus comprising comprisingone oneorormore more processorsand processors andoneone or or more more storage storage devices devices storing storing instructions instructions
05 Nov 2024
that when that executed by when executed by the the one one or or more processors cause more processors cause the the one one
or more or processors to more processors to perform perform operations operations comprising: comprising:
(a) (a) receiving quantized coefficients receiving quantized coefficients representative representative of of aa blockof block of video videorepresentative representativeofofa aplurality pluralityofofpixels; pixels; 5 5 (b) (b) descaling the quantized descaling the quantizedcoefficients coefficientsbyby multiplying multiplying the the 2024259729
quantized coefficients quantized coefficients with with numbers dependentonona acoefficient numbers dependent coefficient index and index andaatransform transformsize sizeofofthe theblock blocktotogenerate generatedescaled descaled coefficients; coefficients;
(c) (c) applying anadjustment applying an adjustmentto to thethe descaled descaled coefficients coefficients to to
10 10 generate adjusteddescaled generate adjusted descaled coefficients, coefficients, wherein wherein the the adjustment adjustment
is aa variable is variable based onthe based on the transform transformsize; size; (d) clipping the (d) clipping theadjusted adjusteddescaled descaled coefficients coefficients to ato a
predetermined predetermined bitdepth bit depth to to generate generate clipped clipped coefficients; coefficients;
(e) (e) one-dimensional inversetransforming one-dimensional inverse transforming thethe clipped clipped
15 15 coefficients in a first direction to generate first direction inverse coefficients in a first direction to generate first direction inverse
transformedcoefficients; transformed coefficients; (f) shifting the (f) shifting thefirst firstdirection directioninverse inverse transformed transformed
coefficients to coefficients to generate shifted coefficients; generate shifted coefficients; (g) (g) clipping clipping the the shifted shifted coefficients coefficients to tothe thepredetermined bit predetermined bit
20 20 depthto depth to generate generatesecond second clipped clipped coefficients; coefficients; andand
(h) one-dimensional inverse (h) one-dimensional inverse transforming transforming the the second second clipped coefficients clipped coefficients in in aa second directiontotodetermine second direction determinea adecoded decoded residue, wherein residue, whereinthe theapplying applying thethe adjustment adjustment is performed is performed after after the descaling, the descaling, and whereinthe and wherein the shifting shifting is is performed after the performed after the 25 25 one-dimensional one-dimensional inverse inverse transforming transforming infirst in the the first direction direction and and
05 Nov 2024
prior to prior to the the one-dimensional inverse one-dimensional inverse transforming transforming in second in the the second direction. direction.
In another In another example aspect there example aspect there is is provided a method provided a for method for
decodingvideo decoding videocomprising: comprising: 5 5 (a) (a) receiving quantized coefficients receiving quantized coefficients representative representative of of aa 2024259729
blockof block of video videorepresentative representativeofofa aplurality pluralityofofpixels; pixels; (b) (b) descaling the quantized descaling the quantizedcoefficients coefficientsbyby multiplying multiplying the the
quantized coefficients quantized coefficients with with numbers dependentonona acoefficient numbers dependent coefficient index and index andaatransform transformsize sizeofofthe theblock blocktotogenerate generatedescaled descaled 10 coefficients; 10 coefficients;
(c) (c) applying anadjustment applying an adjustmentto to thethe descaled descaled coefficients coefficients to to
generate adjusteddescaled generate adjusted descaled coefficients, coefficients, wherein wherein the the adjustment adjustment
is aa variable is variable based onthe based on the transform transformsize; size; (d) clipping the (d) clipping the adjusted adjusted descaled descaled coefficients coefficients to a to a
15 15 predetermined predetermined bitdepth bit depth to to generate generate clipped clipped coefficients; coefficients;
(e) one-dimensional inverse (e) one-dimensional inverse transforming transforming the the clipped clipped coefficients in a first direction to generate first direction inverse coefficients in a first direction to generate first direction inverse
transformedcoefficients; transformed coefficients; (f) shifting the (f) shifting thefirst firstdirection directioninverse inverse transformed transformed
20 20 coefficients to coefficients to generate shifted coefficients; generate shifted coefficients; (g) (g) clipping clipping the the shifted shifted coefficients coefficients to tothe thepredetermined bit predetermined bit
depthto depth to generate generatesecond second clipped clipped coefficients; coefficients; andand
(h) one-dimensional inverse (h) one-dimensional inverse transforming transforming the the second second clipped coefficients clipped coefficients in in aa second directiontotodetermine second direction determinea adecoded decoded 25 25 residue, residue,
whereinthe wherein theapplying applyingthethe adjustment adjustment is performed is performed afterafter the the
6 -- 05 Nov 2024
descaling, and descaling, and whereinthe wherein theshifting shiftingis is performed afterthe performed after theone-dimensional one-dimensional inverse transforming inverse transformingin in thethe firstdirection first directionandand prior prior to to thethe one- one-
dimensionalinverse dimensional inverse transforming transforming in the in the second second direction. direction.
5 5 In another In another example aspectthere example aspect there is is provided an apparatus provided an apparatus 2024259729
for decoding for video data, decoding video data, the the apparatus apparatus comprising: comprising: one one or or more more
processors;and processors; andone oneorormore more storage storage devices devices storing storing instructions instructions
that, when that, executedbybythetheoneone when executed or or more more processors, processors, cause cause the the one one or or more processors to more processors to perform operations comprising: perform operations receiving comprising: receiving
10 10 quantizedcoefficients quantized coefficientsrepresentative representativeofofaablock blockofofvideo videodata datathat that includes aa plurality includes plurality of of pixels; pixels; descaling descaling the thequantized quantized coefficients to coefficients generate descaled to generate descaledcoefficients; coefficients;applying applying an an adjustment to the adjustment to thedescaled descaledcoefficients coefficientstotogenerate generateadjusted adjusted descaledcoefficients; descaled coefficients;clipping clippingthe theadjusted adjusteddescaled descaled coefficients coefficients
15 15 to aa predetermined to predeterminedbit bit depth depthtoto generate generateclipped clippedcoefficients; coefficients; one-dimensional one-dimensional inverse inverse transforming transforming the clipped the clipped coefficients coefficients in in aa first first direction direction to generatefirst to generate first direction direction inverse inversetransformed transformed coefficients; shifting coefficients; shifting the the first first direction direction inverse inverse transformed transformed
coefficients to generate coefficients to shifted coefficients, generate shifted coefficients, wherein whereinthe theshifting shifting 20 20 is based is on aa transform based on transform precision precision extension extension(TPE) (TPE)parameter; parameter; clipping the clipping the shifted shifted coefficients to the coefficients to the predetermined bitdepth predetermined bit depthtoto generate second clipped generate second clipped coefficients; coefficients; and one-dimensional and one-dimensional
inverse transforming inverse transformingthethesecond second clipped clipped coefficients coefficients in ainsecond a second direction toto determine direction determine aa decoded residue. Optionally, decoded residue. Optionally, the the 25 25 shifting isis performed shifting performedafter afterthethe one-dimensional one-dimensional inverse inverse
- 7 -- 05 Nov 2024
transforming in transforming in the the first first direction direction and and prior prior to to the one- the one-
dimensionalinverse dimensional inverse transforming transforming in the in the second second direction. direction.
In another In another example exampleaspect aspectthere there isis provided provideda anon- non- transitory computer-readable transitory medium computer-readable medium for for storing storing instructions instructions
5 5 that, when that, executed, are when executed, are configured configured to to cause cause one or more one or more 2024259729
processors to processors perform operations to perform operations for for decoding decoding video, video, the the operations comprising: operations comprising: receiving receivingquantized quantized coefficients coefficients
corresponding to aa block corresponding to blockofofvideo videorepresenting representinga aplurality pluralityofof pixels; descaling pixels; the quantized descaling the quantized coefficients coefficients based based onona a 10 10 quantizationparameter, quantization parameter,a acoefficient coefficientindex, index,andand a transform a transform sizesize
to generate to generate descaled descaled coefficients; coefficients; modifying the descaled modifying the descaled coefficients to coefficients generate modified to generate modifieddescaled descaled coefficients,thethe coefficients,
modifyingincluding modifying includingapplication applicationofofa variable a variable based based on on the the transformsize; transform size;clipping clippingthe themodified modified descaled descaled coefficients coefficients to a to a 15 15 predetermined predetermined bitdepth bit depth to to generate generate clipped clipped coefficients; coefficients; storing storing
the clipped the clipped coefficients coefficientsinina amemory; memory; and inverse transforming and inverse transforming
the clipped the coefficients to clipped coefficients to output outputaa decoded decoded residue, residue, wherein wherein the the
inverse transforming comprises: inverse transforming comprises:one-dimension one-dimension inverse inverse
transforming the transforming the clipped clippedcoefficients coefficientsinina afirst firstdirection directiontoto 20 20 generatefirst generate first direction direction inverse inverse transformed coefficients;shifting transformed coefficients; shifting the first the first direction direction inverse transformedcoefficients inverse transformed coefficients right righttoto generate first shifted generate first shifted inverse inversetransformed transformed coefficients coefficients having having a a bit depth bit depth less less than thanthethefirst firstdirection directioninverse inversetransformed transformed coefficients; clipping coefficients; the first clipping the first shifted shifted inverse inverse transformed transformed 25 25 coefficients totothe coefficients thepredetermined predetermined bit bit depth depth to to generate generate second second
clipped coefficients; clipped coefficients; and and one-dimension one-dimension inverse inverse transforming transforming the the
- 8 -- 05 Nov 2024
secondclipped second clippedcoefficients coefficientsininaasecond seconddirection directiontotodetermine determinethethe
decodedresidue. decoded residue. In another In another example example aspect aspect there there is is provided provided aa video video encodingmethod encoding methodcomprising: comprising: dividing dividing video video data data into into oneone or or 5 5 more blocks more blocks ofof video, video, each eachblock blockofofvideo videorepresenting representing a a 2024259729
plurality of plurality of pixels; pixels; encoding the one encoding the oneorormore moreblocks blocks of of video, video, thethe
encodingcomprises encoding comprises generating generating a set a set of of quantized quantized coefficients coefficients for for
each block each block ofofvideo; video;andand transmittingsets transmitting setsofofquantized quantized coefficients corresponding coefficients corresponding to to theoneone the or or more more blocks blocks of video of video in in 10 10 a bitstream a bitstream to to aa decoder, decoder, wherein the decoder wherein the decoder is is configured configured to to decode thevideo decode the videodata databybyperforming performing operations operations comprising: comprising:
descaling the descaling the quantized quantizedcoefficients coefficients based basedonona quantization a quantization parameter,a acoefficient parameter, coefficientindex, index,andand a transform a transform sizesize to generate to generate
descaled coefficients; descaled coefficients; modifying thedescaled modifying the descaledcoefficients coefficientstoto 15 15 generatemodified generate modifieddescaled descaled coefficients, coefficients, themodifying the modifying including including
application of application of aa variable basedon variable based onthe thetransform transformsize; size;clipping clippingthe the modified descaled modified descaledcoefficients coefficients to to aa predetermined bit depth predetermined bit depth to to generate clipped generate clipped coefficients; coefficients; and andinverse inversetransforming transforming the the
clipped coefficients clipped coefficientsto to output outputaadecoded decoded residue. residue.
20 20
BRIEF DESCRIPTION BRIEF DESCRIPTION OF OF THE THE DRAWINGS DRAWINGS Preferred embodiments Preferred embodiments ofofthe thepresent presentinvention inventionareare hereinafter described, hereinafter described,bybyway wayof of example example only, only, withwith reference reference to to the accompanying the drawings,ininwhich: accompanying drawings, which: 25 25 FIG.11illustrates FIG. illustrates an an encoder anda adecoder. encoder and decoder.
- 9 -- 05 Nov 2024
FIG. 22 illustrates FIG. illustrates aa decoder witha adequantizer decoder with dequantizerandand an an inverse transform. inverse transform. FIGS.3A3A FIGS. and and FIG. FIG. 3B illustrates 3B illustrates a modified a modified dequantizer. dequantizer.
FIG.44illustrates FIG. illustrates aa modified inversetransform. modified inverse transform. 5 5 FIG.55illustrates FIG. illustrates another decoder. another decoder. 2024259729
FIG.66illustrates FIG. illustrates yet yet another decoder. another decoder.
DETAILED DESCRIPTION DETAILED DESCRIPTION Referring to Referring to FIG. FIG. 2 2(prior (priorart), art), aa decoder decoderforforthethe 10 10 dequantization andinverse dequantization and inversetransformation transformation of received of the the received quantizedcoefficients quantized coefficientsfrom from theencoder the encoder forfor a block a block of the of the image image
is illustrated, is illustrated, inin relevant relevant part. Thedecoder part. The decoder receives receives the the quantized coefficients quantized coefficients 200 at aa dequantizing 200 at dequantizing section section (dequantizer) (dequantizer) 210. 210. The The coefficientsresulting coefficients resultingfrom from the the
15 15 dequantizer 210 dequantizer 210are arestored stored inin memory memory 220. 220. The coefficients The coefficients
stored in stored in memory 220arearethen memory 220 thenprocessed processed by by a pair a pair of of inverse inverse
transformsbybya ainverse transforms inversetransforming transforming section section 230 230 to determine to determine a a decodedresidue decoded residue 310. 310. The The inversetransform inverse transform maps maps data data from from a a transform domain transform to aa spatial domain to spatial domain domain using usinga amatrix matrix 20 20 multiplicationoperator. multiplication operator. The dequantizer The dequantizer210 210includes includesthe thedescaling descalingprocess processbybya a descaling section descaling section 240. Thedescaling 240. The descalingprocess processbybythe thedescaling descaling section section 240 descales the 240 descales the quantized quantized coefficients coefficients 200. The 200. The
descaling process descaling processcorresponds corresponds to multiplying to multiplying levellevel values values
25 25 (also (also referred to as referred to as quantized coefficients200) quantized coefficients 200)with with oneone integer integer
numberdependent number dependenton on quantization quantization parameter parameter (QP), (QP), coefficient coefficient
- 10 -- 05 Nov 2024
index, and index, and transform transformsize size (N). (N). AnAn example example of descaling of the the descaling process by process the descaling by the descaling section section 240 240 may mayinclude include Level*IntegerValue(Remainder, coefficientindex)*16 Level*IntegerValue(Remainder, coefficient index)*16 for afor a
dequantizer dequantizer used prior to used prior to anan8x8 8x8inverse inversetransform transform andand
5 5 Level*IntegerValue (Remainder, coefficient Level*IntegerValue (Remainder, coefficient index) index) for fora a 2024259729
dequantizer used dequantizer used prior prior totoother othertransform transformsizes. sizes. The The descaling process descaling process by bythe thedescaling descalingsection section240 240 is is preferably preferably
based upon based upon aafunction function of of aa remainder, remainder, transform transform size size (N), (N), and/ or and/ or aa coefficient coefficient index index(e.g., (e.g., position), position), to determine anan to determine
10 10 intermediateset intermediate set of of values values 250. 250.The Theremainder remainder is the is the sum sum of of the the quantization parameter quantization parameter(QP) (QP) +P*BitIncrement +P*BitIncrement modulo modulo PP ((QP+P*BitIncrement)%P). Moduloas as ((QP+P*BitIncrement)%P). Modulo defined defined in the in the H.264/AVC H.264 /AVC standard standard is is defined defined as:as: X x % % y, y, as as remainder remainder of Xof x divided by y, divided by y, defined defined only only for for integers integersxXand andyywith withx>= X>= 0 0 and and
15 15 y>0. In y>0. In one one embodiment embodiment PP may maytake take on on the the value value 6. An 6. An adjustment adjustment mechanism mechanism AA260 260maymay be be applied applied to to thethe values values
250, which 250, whichmay maybebea avariable variabledependent dependentonon transform transform size(N)(N) size
and/ and/ or or aa function function of of aareceived receivedPeriod. Period. The Period is The Period is the the sum sum
of of the the quantization quantization parameter (QP)+ +P*BitIncrement parameter (QP) P*BitIncrement divided divided
20 20 by PP ((QP+P*BitIncrement)/P), by ((QP+P*BitIncrement)/P),where where "Bitlncrement" "BitIncrement" is is thethebit bit depth increment. depth The "/" increment. The "/" as as defined defined in in the the H.264/AVC H.264/AVC standard is defined standard is definedas:as:integer integer division division withwith truncation truncation of the of the
result towards result zero.For towards zero. Forexample, example, 7/4 7/4 and and -7/-4 -7/-4 are are truncated truncated to to 11 and -7/4 and and -7/4 7/-4 are and 7/-4 are truncated truncated to to -1. -1. In In one one embodiment embodiment P P
25 25 maytake may takeononthe thevalue value6.6.TheThe resulting resulting values values 250, 250, possibly possibly
further further modified modified by by mechanism mechanism A A 260,may 260, may be be furthermodified further modified
11 --
2(Period+B) bybya amodifying 05 Nov 2024
by aa factor by factor of of 2(Period+B) modifying section section 270. 270. BBisisa a
variable that variable that is is dependent dependent onon thetransform the transform size. size. The The results results of of the modification the modificationbybythethemodifying modifying section section 270stored 270 are are stored in thein the memory220. memory 220.The The inversetransforming inverse transformingsection section230 230may mayperform perform 5 5 a a1-dimensional 1-dimensionalinverse inversehorizontal horizontal transform transform by by an an inverse inverse 2024259729
horizontal transforming horizontal transforming section section280, 280,thetheresult resultofofwhich which is is stored stored in in memory 290.TheThe memory 290. inverse inverse transforming transforming section section 230 230
mayalso may alsoperform performa 1-dimensional a 1-dimensional inverse inverse vertical vertical transform transform
by an by an inverse inverse vertical vertical transforming section 300, transforming section whichresults 300, which results 10 10 in the in the decoded residue 310. decoded residue Thetransforming 310. The transforming sections sections 280 280
and 300 may and 300 maybebeswapped swapped with with each each other,asasdesired. other, desired. The memory The memory bandwidth bandwidth of video of the the video decoder decoder illustrated illustrated
in FIG. in FIG. 2, 2, when implemented within when implemented within the the "Part "Part 10: 10:Advanced Advanced
Video Coding", ISO Video Coding", ISOpublication: publication: ISO/IEC ISO/IEC14496-10:2005 14496-10:2005 -- 15 15 Information Technology Information Technology -- Coding CodingOfOfAudio-Visual Audio-Visual Objects Objects
(incorporated (incorporated by by reference reference herein) herein) (H.264/AVC standard),may (H.264/AVC standard), may be limited be limited by using aa constraint. by using constraint. For For example, example, in in section section 8.5.10 of the 8.5.10 of the H.264/AVC standard, H.264/AVC standard, thethe width width of the of the memory memory
access for 4x4 access for 4x4 luma lumaDCDC transform transform coefficients coefficients is limited is limited by by
20 20 including the including the following followingstatements: statements:"The "Thebitstream bitstream shallnotnot shall
contain data that result in any element f of f with i, j = 0..3 contain data that result in any element fij ofij f with i, j = 0..3 that that exceedsthe exceeds therange rangeofofinteger integervalues values from from -2(7 + bitDepthto -2(7+bitDepth) ) to 2(77 ++ 2( bitDepth bitDepth)) - - 1,1,inclusive." inclusive."and and "The bitstreamshall "The bitstream shallnot not contain contain
data that data that result result in in any elementdcYij any element dcYof ij of dcY dcY with with i, ji,=j 0..3 = 0..3 that that
25 25 exceeds therange exceeds the rangeofofinteger integervalues values from from -2(7 + bitDepth) -2(7+bitDepth) to to
2(7 + bitDepth) bitDepth ) - -1,1,inclusive." inclusive."The The H.264/AVC standard H.264/AVC standard includes includes
- 12 -- 05 Nov 2024
similar similar memory limitationfor memory limitation forother otherresidual residual blocks. blocks. In In
addition addition to toincluding includinga acomplex complex memory bandwidth memory bandwidth limitation, limitation,
the H.264/AVC the standard H.264/AVC standard includes includes nono mechanism mechanism to ensure to ensure thatthat
this limitation this limitation is isenforced. Similarly, the enforced. Similarly, the JCT- JCT-VC,VC, "Draft "Draft TestTest
5 5 Model Under Model UnderConsideration", Consideration", JCTVC-A205, JCT-VC JCTVC-A205, JCT-VC Meeting, Meeting, 2024259729
Dresden, April Dresden, April 2010 2010(JCT-VC), (JCT-VC),incorporated incorporatedby by reference reference
herein, likewise herein, likewisedoes does not not include include aa memory bandwidth memory bandwidth enforcement mechanism. enforcement mechanism. For Forrobustness, robustness, aa decoder decoder must mustbebe preparedtotoaccept prepared acceptbitstreams bitstreamswhich which maymay violate violate these these limitslimits as as 10 10 may be may be caused causedbybytransmission transmission errors errors damaging damaging aa compliant compliant bitstream or bitstream or aa non-conforming non-conforming encoder. encoder. To alleviate To alleviate such such potential limitations potential limitations the the decoder decoderfrequently frequently includes includes additional additional
memorybandwidth, memory bandwidth,at atadded added expense expense and and complexity, complexity, to to accommodate thenon-compliant accommodate the non-compliant bitstreams bit streamsthatthat areare provided. provided.
15 15 In order In order to to provide providea amore more computationally computationally robust robust
decoder with decoder with limited limited memory bandwidth and/or memory bandwidth and/or memory memory storage storage requirements, requirements, the thedecoder decoder should should be be modified in aa modified in
suitable suitablemanner. However,while manner. However, whilemodifying modifyingthe thedecoder decodertoto reduce the reduce the memory memory requirements, requirements, thethe corresponding corresponding raterate
20 20 distortion performance distortion performance of the video of the videoshould shouldnotnot be be substantially substantiallydegraded. Otherwise, while degraded. Otherwise, the memory while the memory requirements may requirements may bebereduced, reduced,the theresulting resulting quality quality of of the the video will video will not not be be suitable suitable for for viewing viewing bybythe theaudience. audience.TheThe modification by modification by the the modifying modifyingsection section270270 resultsin in results a a 25 25 doubling ofofthe doubling thecoefficient coefficientvalue valueforforevery every 6 steps 6 steps in in the the quantization parameter, and quantization parameter, andthus thusmaymay substantially substantially increase increase
- 13 - 05 Nov 2024
the size the size of of the the memory requirements. The memory requirements. Theincreased increasedvalue value results inin one results one or more zeros or more zeros being beingincluded includedasasthetheleast least significant bits. significant bits.
Referring Referring to to FIG. 3A, with FIG. 3A, with this this understanding understanding of of the the 5 5 operation of the operation of the dequantizer dequantizer210 210(see (see FIG. FIG. 2, prior 2, prior art)art) an an 2024259729
improved dequantizing improved dequantizing section section (inproved (inproveddequantizer, dequantizer, modified dequantizer) modified dequantizer) 400 400 (see (see FIGS. FIGS.3A 3Aand and3B, 3B,not notprior priorart) art) receives the receives the quantized quantizedcoefficients coefficients 405 405andand descales, descales, by aby a descaling section descaling section 410, 410, the thequantized quantizedcoefficients, coefficients,preferably preferably 10 10 based upon based upon aafunction function of of aa remainder, remainder, transform transform size size (N), (N), and/ or and/ or aa coefficient coefficient index index(e.g., (e.g., position), position), to determine anan to determine
intermediate set intermediate set of values 420. of values 420. An An optional optional adjustment adjustment
mechanismC C430430 mechanism maymay be applied, be applied, which which is preferably is preferably a a variable dependent variable ontransform dependent on transformsize size(N)(N) or or a function a function of of a a 15 15 received quantization received quantization parameter parameter(QP), (QP),totodetermine determine resulting resulting
data 440. data 440. The Theresulting resulting data data 440 440from fromthethe quantized quantized coefficients 405 coefficients mayinclude 405 may includerogue rogue data data or or otherwise otherwise is not is not
compliant with compliant with aastandard, standard, and andaccordingly accordinglythe themodified modified dequantizer 400should dequantizer 400 shouldimpose impose a fixed a fixed limiton on limit thethe resulting resulting
20 20 data 440. data 440. The Theresulting resultingdata data440 440 is is preferablyclipped, preferably clipped,bybya a clipping section clipping section 450, 450, to to aa predetermined predeterminedbit bitdepth, depth,and andthus thus an NxNblock an NxN blockofofdata dataisisstored stored inin memory memorywithin withinthethe dequantizer dequantizer 400. For example 400. For examplethe theclipping clipping by by the the clipping clipping section 450for section 450 fora apredetermined predetermined bit depth bit depth of 16of 16 results bits bits results in in anyvalues 25 any 25 valuesover over32,767 32,767 being being setset to to thethe maximum maximum value, value,
namely, 32,767. namely, 32,767. Likewise Likewise fora apredetermined for predetermined bitbit depthofof1616 depth
14 -- 05 Nov 2024
bits results bits results in in any any values less than values less -32,768 being than -32,768 beingset settotothe the minimumvalue, minimum value, namely, namely, -32,768. -32,768. Other Otherbit bit depths depths and and clipping values clipping values may likewise be may likewise be used. In this used. In this manner, manner, the the maximummemory maximum memory bandwidth bandwidth required required is is limitedbybythethe limited 5 5 system, in system, in aa manner mannerindependent independent of of the the input input quantized quantized 2024259729
coefficients 405. coefficients Thisreduces 405. This reducesthe thecomputational computational complexity complexity
of the of the system and reduces system and reducesthe the memory memory requirements, requirements, which which is is especially suitable especially suitable for for embedded embedded systems. systems.
After imposing After imposingthe theclipping clipping by bythe theclipping clipping section section 450, 450, 10 10 the data the data with with the the maximum maximum predeterminedbitbitdepth predetermined depthis is modifiedbybya afactor modified factorofof2(Period+B) 2(Period+B)by by a modifying a modifying section section 460. 460. The results The results of of the the modification modification by by the the modifying modifyingsection section460 460 are are provided as coefficients provided as coefficients 470. 470. The result of The result of performing the performing the
Period+B 2( 2(Period+B)) bybythe themodifying modifying section section 460 after the 460 after the clipping clipping by by
15 15 the clipping the clipping section section 450 450reduces reducesthetherate ratedistortion distortion loss. loss. Preferably, the Preferably, theadjustment adjustmentmechanism mechanism CC 430 430used usedforfor8x8 8x8 transformcoefficients transform coefficientsisis2(5-period) 2(5-period)and and the2(Period+B) the 2(Period+B) by by the the modifying section modifying section 460 460 is is 2(Period-6). 2(Period-6). The Theprocess process bybythe the modifying section modifying section 460 460 may maybe be based based upon, upon, if desired, if desired, a a 20 20 function of function of the the transform size (N) transform size or aa function (N) or function of of aa received received quantization quantization parameter parameter (QP). (QP). Also, the Also, the adjustment adjustment mechanism C 430 mechanism C 430 usedused for for other other sized sized transform transform coefficients coefficients
(such as 4x4, (such as 4x4, 16x16, 16x16,and and32x32) 32x32) is preferably is preferably zero, zero, andand the the
valued 2(Period+B) bybythe valuedofof2(Period+B) themodifying modifying section section 460 460 is is 2(Period). 2(Period).
25 25 Also, B Also, maybebea afunction B may functionofof NNand andC Cmay may be be a function a function of of N.N.
15 -- 05 Nov 2024
Referring to Referring to FIG. FIG. 3B, 3B, aa particular particular implementation ofFIG. implementation of FIG.3A3A is illustrated. is illustrated.
Referring to Referring to FIG. FIG. 4,4, the thecoefficients coefficients 470 470from fromthethe dequantizer dequantizer 400 400 (see (see FIGS. FIGS. 3A and 3B) 3A and 3B)are areprovided providedtoto anan 5 5 inverse transforming inverse transforming section section 480 480 designed designedto toprovide provide a a 2024259729
decodedresidue decoded residue490490 that that hashas an acceptable an acceptable rate rate distortion distortion
loss. The loss. Thecoefficients coefficients 470 470 are are preferably preferably transformed transformedbybya a1-1- dimensional inverse dimensional inversehorizontal horizontal(or (orvertical) vertical) transform transformbybyanan inverse horizontal inverse horizontal (or (orvertical) vertical)transforming transforming section section 500.500.
10 10 Basedupon Based upona adesirable desirablenumber number of of output output bits bits to to maintain maintain an an acceptablerate acceptable ratedistortion distortionloss, loss,thetheoutput output of the of the transforming transforming
section 500may section 500 maybebemodified modified by by a right a right bitbit shiftprocess shift processbybya a bit bit
shifting section shifting section 55 10 for aa desirable 10 for desirable number number ofofbits. bits. InInthis this manner, a aselected manner, selectednumber number of the of the least least significant significant bitsbits are are
15 15 discarded in discarded in order order to to reduce reduce the the memory memory requirements requirements of the of the
system. For system. Forexample, example, if if 1919 bitsarearelikely bits likelytotoresult result from fromthe the inverse transforming inverse section 500 transforming section 500 and anditit is is desirable desirable to to have have aa
16 bit outcome, 16 bit outcome,then thenthetheright rightbitbitshift shiftprocess processby by the the bit bit
shifting shifting section section 510 510 removes the 33least removes the least significant significant bits. bits. The The
20 20 resulting shifted bits are clipped by a clipping section 520 to resulting shifted bits are clipped by a clipping section 520 to a a predetermined threshold. predetermined threshold. An Anexample example of of a predetermined a predetermined
threshold may threshold be16-bits. may be 16-bits. The The clipping clipping by by a clipping a clipping section section
520 further 520 further enforces enforces aa memory memory bandwidth bandwidth limitation,thethe limitation,
results of results of which are stored which are stored in in memory 530. memory 530. TheThe datadata stored stored in in
25 25 memory memory 530530 is substantially is substantially reduced reduced as aas a result result of of thethe shifting shifting
by the by the bit bit shifting shifting section section 510 removingthe 510 removing theleast leastsignificant significant
16 -- 05 Nov 2024
bit(s). The bit(s). datastored The data storedininthe the memory memory530 530 is then is then shifted shifted leftleft by by a left bit shift process by a bit shifting section 540, preferably by a left bit shift process by a bit shifting section 540, preferably by
the same the samenumber number of bits of bits as the as the right right bit bit shift shift process process by the by the bit bit shifting section 510. shifting section 510.TheThe shifting shifting results results in zeros in zeros in least in the the least 5 5 significant bit(s). significant bit(s). The The shifted shifted data data is is then then preferably preferably transformed transformed 2024259729
by aa 1-dimensional by 1-dimensional inverse inverse vertical vertical (or(or horizontal) horizontal) transform transform by by an inverse vertical an inverse vertical (or (or horizontal) horizontal) transforming transforming section section 550, 550, resulting in resulting in the the decoded residue490. decoded residue 490.
The rate The rate distortion distortion loss loss is is dependent onthe dependent on thenumber numberof of 10 10 bits used bits used inin the theprocessing processing and andthethedata datablock block size. size. Preferably, the Preferably, the right right bit bit shift shift process processby by the the bit bit shifting shifting
section section 510 andthe 510 and theleft left bit bit shift shift process process by by the thebit bit shifting shifting section section 540 are dependent 540 are onthe dependent on thesize size NNofofthe the block block(number (number of horizontal pixels of horizontal pixels x numberofofvertical X number verticalpixels pixels for for aa square square 15 15 blockofof pixels). block pixels). For Forexample, example, forfor a 4x4 a 4x4 block block the shift the shift may may be be 3, for 3, for an an 8x8 blockthe 8x8 block the shift shift may be2,2,for may be for aa 16x16 16x16block block theshift the shift may be may be 8,8, and andfor for a a32x32 32x32block blockthetheshift shift may maybebe9. 9. Alternatively, the Alternatively, the right right bit bit shift shift process process by the bit by the bit shifting shifting section section 510 andthe 510 and theleft left bit bit shift shift process process by by the thebit bit shifting shifting 20 20 section section 540 maybebedetermined 540 may determined based based upon upon a parameter, a parameter, suchsuch
as as aa quantization quantization parameter parameter(QP), (QP),passed passed in the in the bit bit stream, stream,
internal bit-depth internal bit-depth increment (IBDI),the increment (IBDI), thetransform transformprecision precision extension (TPE) extension (TPE)parameters, parameters,or or otherwise otherwise selectable selectable by by the the decoder. decoder. 25 25 Referring to Referring to FIG. FIG. 5,5, inin another anotherembodiment embodimentthe the decoder decoder
receives the receives the quantized coefficients which quantized coefficients are processed which are processed by by any any suitable suitable dequantizing section (dequantizer) dequantizing section (dequantizer) 600 600 and andanyany
- 17-- 05 Nov 2024
suitable inverse suitable inverse transforming section 66 10. transforming section 10.It Itisisdesirable desirabletoto include an include an express express memory memory bandwidth bandwidth limitation limitation which which is is preferably implemented preferably implementedbyby including including a clipping a clipping function function by by a a clipping section clipping section 620. Afterthe 620. After theclipping clippingfunction functionbybythethe 5 5 clipping section clipping section 620, the data 620, the data may maybebestored storedininmemory memory 630, 630, 2024259729
which isis thereafter which thereafter used for the used for the inverse inverse transform transform by bythe the inverse transforming inverse transformingsection section 610. 610.
Referring to Referring to FIG. FIG. 6, 6,in inanother anotherembodiment the decoder embodiment the decoder
receives the receives the quantized coefficients which quantized coefficients are processed which are processed by byany any 10 10 suitable dequantizing suitable section (dequantizer) dequantizing section (dequantizer) 700 700 and andanyany suitable suitable inverse inverse transforming section 77 10. transforming section 10. ForFor example, example, the the
inverse transform inverse transform by the inverse by the inverse transforming transforming section section 77 10 10
maybebethe may theone one illustratedininFIG. illustrated FIG.4. 4. It It isisdesirable desirabletotoinclude include an an
express memory express bandwidth memory bandwidth limitationtotoreduce limitation reducethe thecomputation computation 15 15 complexity which complexity which isis preferably preferably implemented implemented bybyincluding including a a clipping function clipping function by a clipping by a clipping section section 720. After the 720. After the clipping clipping function by function by the the clipping clipping section section 720, 720, the the data data may bestored may be stored in in memory memory 730, 730, which which is thereafter is thereafter used used for for thethe inverse inverse transform transform by by an inverse transforming an inverse transforming section section 710. 710.ItItisisfurther further desirable desirable to to 20 20 include an include an explicit explicit memory bandwidthlimitation memory bandwidth limitationwhich which is is preferably implemented preferably implemented bybyincluding includinga aclipping clipping function function by by a a clipping section clipping section740 740between between a pair a pair of of 1-dimensional 1-dimensional transforms. transforms.
The 1-dimensional The 1-dimensionaltransforms transformsmay maybebe performed performed in in anyany order order or or
manner.After manner. After the the clipping clipping function function by by a clipping a clipping section section 740,740, the the
25 25 data may data be stored may be stored in in memory 750. memory 750.
18 -- 05 Nov 2024
The terms The termsand andexpressions expressionswhich whichhave have been been employed employed in in the foregoing the foregoing specification specification are are used therein as used therein as terms terms ofof description and description andnotnotof of limitation, limitation, andand there there is intention, is no no intention, in in the use the use of of such suchterms termsandand expressions,of ofexcluding expressions, excluding 5 5 equivalents of equivalents of the the features features shown shownandand described described or portions or portions 2024259729
thereof, it thereof, it being recognized being recognized that that thethe scope scope of invention of the the invention is is definedand defined andlimited limitedonly onlybyby thethe claims. claims.
Throughout Throughout thisspecification this specificationandand thethe claims claims which which follow, follow,
unless the unless the context contextrequires requiresotherwise, otherwise, the the word word "comprise", "comprise", and and 10 10 variations such variations such as "comprises" and as "comprises" and "comprising", "comprising", will will bebe understoodtotoimply understood imply thethe inclusion inclusion of aofstated a stated integer integer or step or step or or group of group of integers integers or or steps steps but but not not the the exclusion exclusion of of any anyother other integer or integer or step step or or group ofintegers group of integersororsteps. steps. Thereference The referenceininthis thisspecification specificationtotoany anyprior priorpublication publication 15 15 (or (or information derived from information derived fromit), it), orortotoany anymatter matter which which is is
known,isis not, known, not, and and should should not not be betaken takenasasananacknowledgment or acknowledgment or
admission admission oror any any form form of suggestion of suggestion that that that that priorprior publication publication
(or (or information information derived derived from it) ororknown from it) matter forms known matter forms part part of of the common the generalknowledge common general knowledgeininthe thefield field of of endeavour endeavour to to 20 20 whichthis which thisspecification specificationrelates. relates.
19 -- 05 Nov 2024
Theclaims The claimsdefining defining the the invention invention areare as as follows: follows:
1. 1. A video A video encoding encodingmethod methodcomprising: comprising: dividingvideo dividing videodata datainto intoone oneorormore more blocks blocks of video, of video, eacheach
5 5 blockof block of video videorepresenting representinga aplurality pluralityofofpixels; pixels; 2024259729
encodingthe encoding the one oneorormore moreblocks blocks of of video,thetheencoding video, encoding comprises generating comprises generatinga aset setofofquantized quantizedcoefficients coefficientsfor for each each blockofof video; block video;and and transmittingsets transmitting sets of of quantized coefficientscorresponding quantized coefficients correspondingto to
10 10 the one the one or or more moreblocks blocks of of video video in in a bitstream a bitstream to to a decoder, a decoder,
whereinthe wherein thedecoder decoderis is configured configured to to decode decode the the video video data data
by performing by performingoperations operations comprising: comprising: descaling the descaling quantized coefficients the quantized coefficients based on a a based on quantizationparameter, quantization parameter,a acoefficient coefficientindex, index, and and a transform a transform sizesize
15 15 to generate to descaledcoefficients; generate descaled coefficients; modifyingthe modifying thedescaled descaledcoefficients coefficients to to generate generate modified modified descaledcoefficients, descaled coefficients,the themodifying modifying including including application application of a of a variable based variable basedononthe thetransform transform size; size;
clipping the clipping modified descaled the modified descaled coefficients coefficients to to aa 20 20 predetermined predetermined bitdepth bit depth to to generate generate clipped clipped coefficients; coefficients; andand
inverse transforming inverse transformingthethe clipped clipped coefficients coefficients to output to output a a decodedresidue. decoded residue.
2. 2. The method The methodofofclaim claim1,1,wherein whereininverse inversetransforming transformingthethe 25 25 clipped coefficients clipped coefficientsto to output outputaadecoded decoded residue residue comprises: comprises:
20 -- 05 Nov 2024
one-dimension inverse transforming one-dimension inverse transforming the theclipped clipped coefficients in a first direction to generate first direction inverse coefficients in a first direction to generate first direction inverse
transformedcoefficients; transformed coefficients; shifting shifting the the first firstdirection directioninverse inverse transformed coefficients transformed coefficients
5 5 right to right to generate generatefirst first shifted shiftedinverse inversetransformed transformed coefficients coefficients 2024259729
havingaabit having bit depth less than depth less than the the first firstdirection directioninverse inversetransformed transformed
coefficients; coefficients;
clipping the clipping the first first shifted shiftedinverse inversetransformed coefficients to transformed coefficients to the predetermined the predetermined bit bit depth depthtotogenerate generatesecond second clipped clipped
10 10 coefficients; and coefficients; and
one-dimension inversetransforming one-dimension inverse transforming thethe second second clipped clipped
coefficients in coefficients in aa second second direction direction toto determine determinethethedecoded decoded residue. residue.
15 15 3. 3. Themethod The methodof of claim claim 2, wherein 2, wherein shifting shifting the first the first direction direction
inverse transformed inverse transformedcoefficients coefficientsright rightcomprises: comprises: selecting, from selecting, among from among multiple multiple different different quantities quantities of bits of bits
by which by whichtotoshift shiftcoefficients coefficientsand and based based onsize on a a size of aofblock a block of of video, video, aa particular particularquantity quantityof ofbits bitsby by which which to shift to shift the first the first
20 20 direction inverse transformed direction inverse transformed coefficients;andand coefficients;
shifting shifting the the first firstdirection directioninverse inverse transformed coefficients transformed coefficients
right by the particular quantity of bits. right by the particular quantity of bits.
4. 4. The method The methodof of claim claim 2, 2, wherein wherein the the first first directionis isa direction a 25 25 horizontal direction. horizontal direction.
21 -- 05 Nov 2024
5. 5. The method The methodof of claim claim 2, 2, wherein wherein the the first first directionis isa direction a vertical direction. vertical direction.
6. 6. The method The methodof ofclaim claim 2, 2, wherein wherein thethe second second direction direction is is 5 5 orthogonal to the first direction. orthogonal to the first direction. 2024259729
7. 7. Themethod The methodof of claim claim 2, wherein 2, wherein shifting shifting the first the first direction direction
inverse transformed inverse transformed coefficients coefficients right right to generate to generate firstfirst shifted shifted
inverse transformed inverse transformedcoefficients coefficients comprises: comprises:
10 10 selecting, from selecting, among from among multiple multiple different different quantities quantities of bits of bits
by which by whichto to shiftcoefficients, shift coefficients, a particular a particular quantity quantity of bits of bits by by whichtotoshift which shift coefficients; coefficients; and and shifting the shifting the first firstdirection direction inverse inverse transformed coefficients transformed coefficients
right by right by the theparticular particularquantity quantityofofbits bitstotogenerate generate firstshifted first shifted 15 15 inverse transformed inverse transformedcoefficients. coefficients.
8. 8. The method The methodofofclaim claim 7, 7, wherein wherein selecting selecting thethe particular particular
quantity of quantity of bits bits by whichtotoshift by which shift coefficients coefficients comprises: comprises: determiningthat determining thataablock blockofofvideo videoisisofofaa particular particular size; size; and and
20 20 selecting, from selecting, among from among multiple multiple different different quantities quantities of bits of bits
by which by whichtotoshift shiftcoefficients coefficientsthat thateach each correspond correspond to different to different
sizes of sizes of blocks of video, blocks of video, aa particular particular quantity quantity of of bits bits by whichtoto by which
shift coefficients shift that corresponds coefficients that correspondsto tothethe particular particular size size of of the the
blockof block of video. video. 25
22 -- 05 Nov 2024
9. 9. Themethod The methodof of claim claim 2, wherein 2, wherein shifting shifting the first the first direction direction
inverse transformed inverse transformedcoefficients coefficientsright rightcomprises comprises shifting shifting thethe first first
direction inverse direction inverse transformed coefficients right transformed coefficients right by by an amount an amount
that is that is based based on on aa transform transformprecision precisionextension extension parameter. parameter.
5 5 2024259729
10. Themethod 10. The method of of anyany oneone of of claims claims 1 to9,9,wherein 1 to whereinmapping mapping each block each blockofofvideo videototoa asetsetofofquantized quantized coefficients coefficients comprises comprises
applying discretecosine applying discrete cosinetransform transform (DCT) (DCT) to each to each block block of video. of video.
10
1/7
FIG. 1
ENCODER 2024259729
300 220 280
COEFFICIENTS 2024259729
HORIZONTAL 1-D INVERSE TRANSFORM 1-D INVERSE TRANSFORM
310
INVERSE SECTION SECTION DEQUANTIZING B) + (PERIOD QP
270
N TRANSFORM BIT INCREMENT 230
2 PRECISION EXTENSION
260 INDEX COEFFICIENT 250 210 BIT INCREMENT
+ A QP + DESCALE
240
200
FIG. 2
470
QP 2024259729
BY (PERIOD+B)
460 N
STORAGE MEMORY TO PRIOR 16-BITS TO CLIP 450
400
430
440 INDEX COEFFICIENT BIT INCREMENT
420 + C + QP DESCALE
410
405
FIG. 3A
470
INDEX COEFFICIENT 470 BIT INCREMENT INDEX COEFFICIENT BIT INCREMENT
QP 2024259729
QP (PERIOD-6) N 460
N 460 2
2
STORAGE MEMORY TO PRIOR 16-BITS TO CLIP 450 STORAGE MEMORY TO PRIOR 16-BITS TO CLIP 450
400 400
430 INDEX COEFFICIENT 440
(5-PERIOD) INDEX COEFFICIENT BIT INCREMENT
420 QP + 2 DESCALE
QP DESCALE*2 N 410 4
N 410 DEQUANTIZER NXN 32X32; 16X16; 4X4; DEQUANTIZER 8X8 COEFFICIENTS
405
405
FIG. 3B
N 2024259729
520
MEMORY STORAGE 490
RESIDUE DECODED 1-D INVERSE TRANSFORM
530 540 550
510
N QP EXTENSION PRECISION TRANSFORM HORIZONTAL TRANSFORM 1-D INVERSE
500
480
470
FIG. 4
6/7
FIG. 5
600
QUANTIZED DEQUANTIZER COEFFICIENTS 2024259729
620 CLIPPING
MEMORY STORING 630
7/7
FIG. 6
700
QUANTIZED DEQUANTIZER COEFFICIENTS 2024259729
CLIPPING 720
MEMORY STORING 730
710 1-D HORIZONTAL TRANSFORM 740 CLIPPING DECODED RESIDUE MEMORY STORING 750 1-D VERTICAL TRANSFORM
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU2024259729A AU2024259729B2 (en) | 2011-01-18 | 2024-11-05 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2026202472A AU2026202472A1 (en) | 2011-01-18 | 2026-04-01 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
Applications Claiming Priority (10)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US13/008,658 | 2011-01-18 | ||
| US13/008,658 US9807395B2 (en) | 2011-01-18 | 2011-01-18 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2012207827A AU2012207827B2 (en) | 2011-01-18 | 2012-01-18 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| PCT/JP2012/051480 WO2012099269A1 (en) | 2011-01-18 | 2012-01-18 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2016219700A AU2016219700B2 (en) | 2011-01-18 | 2016-08-26 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2018233019A AU2018233019B2 (en) | 2011-01-18 | 2018-09-21 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2020200449A AU2020200449B2 (en) | 2011-01-18 | 2020-01-22 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2021203402A AU2021203402B2 (en) | 2011-01-18 | 2021-05-25 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2023201244A AU2023201244B2 (en) | 2011-01-18 | 2023-03-01 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2024259729A AU2024259729B2 (en) | 2011-01-18 | 2024-11-05 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU2023201244A Division AU2023201244B2 (en) | 2011-01-18 | 2023-03-01 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU2026202472A Division AU2026202472A1 (en) | 2011-01-18 | 2026-04-01 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| AU2024259729A1 AU2024259729A1 (en) | 2024-11-21 |
| AU2024259729B2 true AU2024259729B2 (en) | 2026-01-08 |
Family
ID=56878125
Family Applications (7)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU2016219700A Active AU2016219700B2 (en) | 2011-01-18 | 2016-08-26 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2018233019A Active AU2018233019B2 (en) | 2011-01-18 | 2018-09-21 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2020200449A Active AU2020200449B2 (en) | 2011-01-18 | 2020-01-22 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2021203402A Active AU2021203402B2 (en) | 2011-01-18 | 2021-05-25 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2023201244A Active AU2023201244B2 (en) | 2011-01-18 | 2023-03-01 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2024259729A Active AU2024259729B2 (en) | 2011-01-18 | 2024-11-05 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2026202472A Pending AU2026202472A1 (en) | 2011-01-18 | 2026-04-01 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
Family Applications Before (5)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU2016219700A Active AU2016219700B2 (en) | 2011-01-18 | 2016-08-26 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2018233019A Active AU2018233019B2 (en) | 2011-01-18 | 2018-09-21 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2020200449A Active AU2020200449B2 (en) | 2011-01-18 | 2020-01-22 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2021203402A Active AU2021203402B2 (en) | 2011-01-18 | 2021-05-25 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
| AU2023201244A Active AU2023201244B2 (en) | 2011-01-18 | 2023-03-01 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| AU2026202472A Pending AU2026202472A1 (en) | 2011-01-18 | 2026-04-01 | Video decoder with reduced dynamic range transform with inverse transform shifting memory |
Country Status (1)
| Country | Link |
|---|---|
| AU (7) | AU2016219700B2 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040151253A1 (en) * | 2002-09-26 | 2004-08-05 | Bossen Frank Jan | Low complexity and unified transforms for video coding |
| US20070233764A1 (en) * | 2006-03-29 | 2007-10-04 | Yuriy Reznik | Transform design with scaled and non-scaled interfaces |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6882685B2 (en) * | 2001-09-18 | 2005-04-19 | Microsoft Corporation | Block transform and quantization for image and video coding |
| US6975773B1 (en) * | 2002-07-30 | 2005-12-13 | Qualcomm, Incorporated | Parameter selection in data compression and decompression |
| US8385424B2 (en) * | 2006-06-26 | 2013-02-26 | Qualcomm Incorporated | Reduction of errors during computation of inverse discrete cosine transform |
-
2016
- 2016-08-26 AU AU2016219700A patent/AU2016219700B2/en active Active
-
2018
- 2018-09-21 AU AU2018233019A patent/AU2018233019B2/en active Active
-
2020
- 2020-01-22 AU AU2020200449A patent/AU2020200449B2/en active Active
-
2021
- 2021-05-25 AU AU2021203402A patent/AU2021203402B2/en active Active
-
2023
- 2023-03-01 AU AU2023201244A patent/AU2023201244B2/en active Active
-
2024
- 2024-11-05 AU AU2024259729A patent/AU2024259729B2/en active Active
-
2026
- 2026-04-01 AU AU2026202472A patent/AU2026202472A1/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20040151253A1 (en) * | 2002-09-26 | 2004-08-05 | Bossen Frank Jan | Low complexity and unified transforms for video coding |
| US20070233764A1 (en) * | 2006-03-29 | 2007-10-04 | Yuriy Reznik | Transform design with scaled and non-scaled interfaces |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2020200449B2 (en) | 2021-02-25 |
| AU2023201244B2 (en) | 2024-11-28 |
| AU2023201244A1 (en) | 2023-04-06 |
| AU2024259729A1 (en) | 2024-11-21 |
| AU2018233019B2 (en) | 2019-12-19 |
| AU2021203402A1 (en) | 2021-06-24 |
| AU2016219700B2 (en) | 2018-06-28 |
| AU2021203402B2 (en) | 2022-12-08 |
| AU2026202472A1 (en) | 2026-04-16 |
| AU2018233019A1 (en) | 2018-10-11 |
| AU2016219700A1 (en) | 2016-09-15 |
| AU2020200449A1 (en) | 2020-02-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US12003730B2 (en) | Video decoder with reduced dynamic range transform with inverse transform shifting memory | |
| AU2024259729B2 (en) | Video decoder with reduced dynamic range transform with inverse transform shifting memory | |
| US9854242B2 (en) | Video decoder with reduced dynamic range transform with inverse transform clipping | |
| WO2012124787A1 (en) | A method for decoding video | |
| US20120183045A1 (en) | Video decoder with reduced dynamic range transform including clipping | |
| US20120183044A1 (en) | Video decoder with reduced dynamic range transform with memory storing | |
| WO2012099267A1 (en) | Video decoder with reduced dynamic range transform with multiple clipping |