[go: up one dir, main page]

CN101321283B - Codec methods and codecs compatible with different size block transformations - Google Patents

Codec methods and codecs compatible with different size block transformations Download PDF

Info

Publication number
CN101321283B
CN101321283B CN 200710111685 CN200710111685A CN101321283B CN 101321283 B CN101321283 B CN 101321283B CN 200710111685 CN200710111685 CN 200710111685 CN 200710111685 A CN200710111685 A CN 200710111685A CN 101321283 B CN101321283 B CN 101321283B
Authority
CN
China
Prior art keywords
sequence
coefficients
sub
transform coefficient
encoded
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.)
Expired - Fee Related
Application number
CN 200710111685
Other languages
Chinese (zh)
Other versions
CN101321283A (en
Inventor
胡昌启
周建同
林四新
高山
熊联欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200710111685 priority Critical patent/CN101321283B/en
Priority to PCT/CN2008/071233 priority patent/WO2008151560A1/en
Publication of CN101321283A publication Critical patent/CN101321283A/en
Application granted granted Critical
Publication of CN101321283B publication Critical patent/CN101321283B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

本发明实施例公开了的兼容不同大小块变换的编解码方案,通过将多个小尺寸的子变换系数块中所提取出的系数进行交织处理,得出适用于大尺寸的变换系数块的熵编码方式所能够处理的编码序列,使适用于大尺寸的变换系数块的熵编码方式也能够适用于小尺寸的变换系数块,从而,使基于不同大小的块编码的编码系统中,在拥有适用于大尺寸的变换系数块的熵编码方式的情况下,能够不需要重新设计适用于小尺寸的变换系数块的熵编码方式,因此,能够减少编码的设计成本,降低设计复杂度。

Figure 200710111685

The embodiment of the present invention discloses an encoding and decoding scheme compatible with the transformation of blocks of different sizes. By interleaving the coefficients extracted from multiple small-sized sub-transform coefficient blocks, the entropy suitable for large-sized transform coefficient blocks is obtained. The coding sequence that the coding method can handle makes the entropy coding method suitable for large-sized transform coefficient blocks also applicable to small-sized transform coefficient blocks, so that in the coding system based on coding of blocks of different sizes, the applicable In the case of an entropy coding method for a large-sized transform coefficient block, there is no need to redesign the entropy coding method suitable for a small-sized transform coefficient block, thus reducing coding design cost and design complexity.

Figure 200710111685

Description

Coding and decoding method compatible with different size block transformation and coder and decoder
Technical Field
The present invention relates to video image coding technologies, and in particular, to a coding and decoding method and a coder/decoder compatible with block transforms of different sizes.
Background
The amount of information contained in the original video image data is usually large, so that it is not realistic to directly use the amount of information contained in the entire original video image data as an object for transmitting or storing video content, because it needs huge storage or transmission resources.
The original video image data contains a series of still image information, and a piece of still image is generally referred to as a frame. A video segment contains multiple frames and produces dynamic visual effects through the continuous playback of the frames, so that the data content in the successive frames is very similar, i.e. the subsequent frame contains much redundant information with respect to the previous frame. The video coding technology is an information compression technology, which is to realize the compression of the data information amount of video images by eliminating redundant information as much as possible and keeping the characteristic information of the images, thereby greatly reducing the information storage amount and facilitating the transmission of the video images.
Typical video coding, such as H.261, H.263, H.264 standards established by the International Telecommunication Union (ITU), MEPG-1, MPEG-2, MPEG-4 standards established by the International organization for standardization's (ISO) digital Audio compression technology (MPEG) organization, and AVS standards established by the Chinese standards for digital Audio video codec technology (AVS) working group, are based on a hybrid coding framework. Referring to fig. 1, fig. 1 is a schematic diagram of a conventional hybrid coding framework. As shown in fig. 1, in the hybrid coding framework, the process of coding video image data generally includes:
the redundancy in the temporal/spatial domain is removed by prediction: based on intra-frame (I) or inter-frame (P) mode coding, predicting and estimating original image data to obtain a prediction block, and then obtaining the difference between the original image data to be compressed and the prediction block to obtain a residual block;
the redundancy of the spatial domain is removed by using the transformation: performing block-based transform coding on the residual block, such as Discrete Cosine Transform (DCT), integer transform, etc., to obtain a transform coefficient block, and quantizing the coefficients in the transform coefficient block to obtain a quantized transform coefficient block;
entropy coding is used to remove statistical redundancy: the transform coefficient block is entropy encoded. Wherein the type of entropy coding may include: context Adaptive Variable Length Coding (CAVLC), Context Adaptive Binary Arithmetic Coding (CABAC), inverse run-length scanning in combination with two-dimensional variable length coding (2D-VLC), and the like.
For the above-mentioned block-based transform coding, the term "block" refers to a frame divided into a plurality of rectangular regions, each of which is referred to as a "block". Common block sizes may include: 4 × 4 blocks, 8 × 8 blocks, 16 × 16 blocks, 8 × 4 blocks, etc. Since different coding effects can be obtained by coding based on different blocks, in order to obtain better coding effects, in some standards, an Adaptive Block Transform (ABT) technique is introduced, that is, in a video coding system, coding can be performed by using different block transform coding modes according to different requirements. The above-described transform coefficient block (or quantized transform coefficient block) is a result of block-based transform coding, and the transform coefficient block has coefficients corresponding to different frequencies in the ABT transform.
The entropy coding scheme (or algorithm) is usually designed for block-based transform coding, or the entropy coding scheme is matched with the size of the selected block when transform coding is performed, for example, transform coding of 8 × 8 blocks corresponds to one CAVLC, and transform coding of 4 × 4 blocks corresponds to another CAVLC. Since the design of the entropy coding algorithm has a certain complexity and the complexity of the hardware implementation is also high, in order to avoid the complexity problem in the software and hardware design, in a video coding system, a set of entropy coding algorithm is usually designed, that is, an entropy coding mode is adopted for coding. In the coding system introduced with the ABT technology, since the transform coding is performed by using blocks of different sizes in the transform coding based on the blocks, measures are required before entropy coding is performed, so that the entropy coding method applied to one block in the coding system can also be used for coding blocks of other sizes.
For example, in the h.264 Advanced Video Coding (AVC) standard, where there are two 4 × 4 and 8 × 8 block-based transform coding, and the entropy coding scheme in this standard can be applied to 4 × 4 blocks, the 8 × 8 transform coefficient block may use the entropy coding scheme applied to the 4 × 4 transform coefficient block as follows:
the 64 transform coefficients of the 8 x 8 transform coefficient block are first serialized as follows according to the scanning scheme of fig. 2:
a0,a1,a2,a3,a4,a5,a6,a7,a8,...,a63;
then, four sequences Si each including 16 coefficients are obtained by sub-sampling the 64 coefficients, i being 1, 2, 3, and 4, and the sub-sampling method is: the coefficient numbers in each sequence satisfy the relationship: a [ j × 4+ i-1], j ═ 0, 1,. 15; obtaining:
S1:a0,a4,a8,...,a60;
S2:a1,a5,a9,...,a 61;
S3:a2,a6,a10,...,a62;
S4:a3,a7,a11,...,a63;
then, the four sequences are encoded in accordance with the entropy encoding method applied to the 4 × 4 transform coefficient block. Thus, in a coding system, even if transform coding is possible based on blocks of different sizes, the same set of entropy coding algorithms can be used to code transform coefficient blocks for which the algorithms are not applicable.
The prior art is applicable to the situation that a large-size transform coefficient block is encoded by using an entropy encoding mode applicable to the small-size transform coefficient block. However, the above-mentioned method for encoding a large-size transform coefficient block by using the entropy encoding method applicable to the 4 × 4 transform coefficient block is only applicable to the block transform larger than the 4 × 4 size, but not applicable to the block transform of a smaller size. When a smaller-sized block transform is encountered, it may still be necessary to design an entropy coding algorithm that can be matched for the smaller block transform, thereby bringing a design complexity problem.
Disclosure of Invention
The embodiment of the invention provides a technical scheme for coding a small-size transformation coefficient block by adopting an entropy coding mode suitable for the large-size transformation coefficient block. The technical scheme of the embodiment of the invention is as follows:
a coding method compatible with different size block transforms, comprising:
scanning each of N sub-transform coefficient blocks obtained according to video image data to generate a sub-sequence composed of coefficients in the sub-transform coefficient block;
wherein N is a positive integer greater than or equal to 2, and an ith one of the N sub-transform coefficient blocks contains
Figure G2007101116857D00041
A coefficient, i 1, 2iAnd miIs a positive integer greater than or equal to 1;
extracting coefficients in each subsequence, and performing interweaving processing on the extracted coefficients to generate a sequence to be coded;
using an apparatus comprising 2x×2yAdaptation of transform blocks of individual coefficientsCoding the sequence to be coded by using an entropy coding mode;
wherein x and y are positive integers greater than or equal to 2, and the transform coefficient block contains 2 coefficientsx×2yGreater than or equal to the sum of the number of coefficients contained in the N sub-transform coefficient blocks.
A method for generating a sequence to be encoded, comprising:
scanning each of N sub-transform coefficient blocks obtained according to video image data to generate a sub-sequence composed of coefficients in the sub-transform coefficient block;
wherein N is a positive integer greater than or equal to 2, and an ith one of the N sub-transform coefficient blocks contains
Figure G2007101116857D00042
A coefficient, i 1, 2iAnd miIs a positive integer greater than or equal to 1;
extracting coefficients in each subsequence, interleaving the extracted coefficients to generate a usable content 2x×2yThe coding sequence to be coded is coded by the entropy coding mode suitable for the transformation block of each coefficient;
wherein x and y are positive integers greater than or equal to 2, and the transform coefficient block contains 2 coefficientsx×2yGreater than or equal to the sum of the number of coefficients contained in the N sub-transform coefficient blocks.
An apparatus for generating a sequence to be encoded, comprising:
a subsequence generating unit, a to-be-coded sequence generating unit and an output unit; wherein,
a sub-sequence generating unit for scanning each of N sub-transform coefficient blocks obtained from the video image data to generate a sub-transform coefficientThe sub-sequence composed of the coefficients in the blocks transmits the generated sub-sequence information to the generating unit of the sequence to be coded; where N is a positive integer greater than or equal to 2, and the ith transform coefficient block contains
Figure G2007101116857D00043
A coefficient, i 1, 2iAnd miIs a positive integer greater than or equal to 1;
a to-be-coded sequence generating unit for receiving the subsequence information from the subsequence generating unit, extracting the coefficients in each subsequence, interleaving the extracted coefficients, and generating a usable code containing 2x×2yThe coding sequence to be coded is coded by the entropy coding mode applicable to the transformation block of each coefficient, and the information of the coding sequence to be coded is transmitted to an output unit;
the output unit is used for receiving the information of the code sequence to be coded from the code sequence generating unit and outputting the information;
wherein x and y are positive integers greater than or equal to 2, and the transform coefficient block contains 2 coefficientsx×2yGreater than or equal to the sum of the number of coefficients contained in the N sub-transform coefficient blocks.
An encoder compatible with different size block transforms, comprising: the device comprises a device for generating a sequence to be coded to be entropy coded, an entropy coding unit and an output unit;
the device for generating the sequence to be coded to be entropy coded comprises: a subsequence generating unit and a to-be-coded sequence generating unit; wherein,
a sub-sequence generating unit, which is used for scanning each sub-transformation coefficient block in N sub-transformation coefficient blocks obtained according to video image data, generating a sub-sequence consisting of coefficients in the sub-transformation coefficient block, and transmitting the generated sub-sequence information to a to-be-coded sequence generating unit; where N is a positive integer greater than or equal to 2, and the ith transform coefficient block contains
Figure G2007101116857D00051
A coefficient, i 1, 2iAnd miIs a positive integer greater than or equal to 1;
a to-be-coded sequence generating unit for receiving the subsequence information from the subsequence generating unit, extracting the coefficients in each subsequence, interleaving the extracted coefficients, and generating a usable code containing 2x×2yThe coding sequence to be coded is coded by the entropy coding mode applicable to the transformation block of each coefficient, and the information of the coding sequence to be coded is transmitted to an output unit;
the output unit is used for receiving the information of the code sequence to be coded from the code sequence generating unit and outputting the information;
an entropy coding unit for receiving the information of the sequence to be coded from the output unit, using a code comprising 2x×2yCoding the sequence to be coded by an entropy coding mode applicable to the transformation block of each coefficient;
wherein x and y are positive integers greater than or equal to 2, and the transform coefficient block contains 2 coefficientsx×2yGreater than or equal to the sum of the number of coefficients contained in the N sub-transform coefficient blocks.
A decoding method corresponding to coding compatible with different-size block transformations, for performing decoding processing on a coded result according to a process inverse to the coding, comprising:
carrying out entropy decoding processing on the encoding result to obtain a sequence to be decoded;
performing reverse interleaving processing on the sequence to be decoded to obtain N subsequences;
and respectively carrying out inverse scanning processing on the N subsequences to obtain N sub-transformation coefficient blocks.
A decoder corresponding to an encoder compatible with different size block transforms, comprising: the device comprises an entropy decoding unit, an inverse interleaving processing unit and an inverse scanning processing unit; wherein,
the entropy decoding unit is used for carrying out entropy decoding processing on the encoding result to obtain a sequence to be decoded and transmitting the information of the sequence to be decoded to the reverse interleaving processing unit;
the device comprises an entropy decoding unit, a reverse-interleaving processing unit and a reverse-scanning processing unit, wherein the entropy decoding unit is used for decoding a sequence to be decoded;
and the inverse scanning processing unit is used for receiving the information of the N subsequences from the inverse interleaving processing unit and respectively performing inverse scanning processing on the N subsequences to obtain N sub-transformation coefficient blocks.
In summary, according to the coding and decoding scheme compatible with transform of different size blocks provided in the embodiments of the present invention, by interleaving the extracted coefficients from the plurality of small-sized sub-transform coefficient blocks, a coding sequence that can be processed by an entropy coding method suitable for the large-sized transform coefficient block is obtained, so that the entropy coding method suitable for the large-sized transform coefficient block can also be suitable for the small-sized transform coefficient block, and therefore, in a coding system based on block coding of different sizes, under the condition of having an entropy coding method suitable for the large-sized transform coefficient block, it is not necessary to redesign the entropy coding method suitable for the small-sized transform coefficient block, and therefore, the design cost of coding can be reduced, and the design complexity can be reduced.
Drawings
FIG. 1 is a schematic diagram of a conventional hybrid coding framework
FIG. 2a is a schematic diagram of a zigzag scanning manner of an 8 × 8 block in the prior art;
FIG. 2b is a schematic diagram of a conventional 8 × 8 block field scanning scheme;
FIG. 3 is a flow chart of an encoding method compatible with different size block transforms according to an embodiment of the present invention;
FIG. 4 is a flowchart of a method for generating a sequence to be encoded according to an embodiment of the present invention;
FIG. 5 is a schematic structural diagram of an apparatus for generating a sequence to be encoded according to an embodiment of the present invention;
FIG. 6 is a schematic structural diagram of a generating unit of the sequence to be encoded in FIG. 5;
FIG. 7 is a block diagram of an encoder compatible with different size block transforms according to an embodiment of the present invention;
FIG. 8 is a block diagram of 4 × 4 sub-transform coefficient blocks according to an embodiment of the present invention;
FIG. 9a is a schematic diagram illustrating a zigzag scanning manner of a 4 × 4 block;
FIG. 9b is a schematic diagram of a conventional 4 × 4 block field scanning method
FIG. 10 is a flowchart of encoding four 4 × 4 sub-transform coefficient blocks according to a first embodiment of the present invention
Fig. 11 is a diagram illustrating an arrangement of 16 sub-transform coefficient blocks in units of one 4 × 4 sub-transform coefficient block according to a second embodiment of the present invention;
fig. 12 is a schematic diagram of a coding combination scheme of 16 4 × 4 sub-transform coefficient blocks according to a second embodiment of the present invention;
fig. 13 is a schematic diagram of a coding combination scheme of 16 4 × 4 sub-transform coefficient blocks according to a third embodiment of the present invention;
FIG. 14 is a block diagram of sub-transform coefficient blocks of different sizes according to the fourth embodiment of the present invention;
FIG. 15 is a flowchart of a fourth embodiment of the present invention to obtain a sequence to be encoded of the combination shown in FIG. 16;
FIG. 16 is a schematic diagram of a combination of two 8 × 4 sub-transform coefficient blocks according to a fifth embodiment of the present invention;
FIG. 17 is a flowchart of an embodiment of the present invention, wherein a combined sequence to be encoded shown in FIG. 18 is obtained;
FIG. 18 is a flowchart of a decoding method corresponding to an encoding compatible with a transform of blocks of different sizes in an embodiment of the present invention;
fig. 19 is a schematic structural diagram of a decoder corresponding to an encoder compatible with block transforms of different sizes according to an embodiment of the present invention.
Detailed Description
The technical solutions of the embodiments of the present invention will be described in further detail below with reference to the accompanying drawings.
The embodiment of the invention provides a technical scheme for coding a small-size transformation coefficient block by adopting an entropy coding mode suitable for the large-size transformation coefficient block.
The embodiment of the invention firstly provides a coding method compatible with different size block transformations. Referring to fig. 3, fig. 3 is a flow chart of the method. The process may include the steps of:
step 301, scanning each of N sub-transform coefficient blocks obtained from video image data to generate a sub-sequence composed of coefficients in the sub-transform coefficient block;
wherein N is a positive integer greater than or equal to 2, and an ith one of the N sub-transform coefficient blocks contains
Figure G2007101116857D00081
A coefficient, i 1, 2iAnd miIs a positive integer greater than or equal to 1.
And 302, extracting coefficients in each subsequence, and performing interleaving processing on the extracted coefficients to generate a sequence to be coded.
Step 303, utilizing a rule 2x×2yCoding the sequence to be coded by an entropy coding mode applicable to the transformation coefficient block of each coefficient;
wherein x and y are positive integers greater than or equal to 2, and the transform coefficient block contains 2 coefficientsx×2yAnd the sum of the number of coefficients contained in the N sub-transform coefficient blocks is greater than or equal to:
<math> <mrow> <msup> <mn>2</mn> <mi>x</mi> </msup> <mo>&times;</mo> <msup> <mn>2</mn> <mi>y</mi> </msup> <mo>&GreaterEqual;</mo> <munderover> <mi>&Sigma;</mi> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>N</mi> </munderover> <msup> <mn>2</mn> <msub> <mi>n</mi> <mi>i</mi> </msub> </msup> <mo>&times;</mo> <msup> <mn>2</mn> <msub> <mi>m</mi> <mi>i</mi> </msub> </msup> <mo>.</mo> </mrow> </math>
above contains 2x×2yTransform coefficient block of a coefficient relative to a block comprising
Figure G2007101116857D00083
For a block of transform coefficients of a coefficient, the former may be a large-sized block, and the latter may be a small-sized block. If the former is an 8 x 8 sized block, the latter size may be: 4 × 4, 2 × 02, 4 × 8, 8 × 4, etc.; if the former is a 16 × 8 block, the latter may be of: 8 × 16, 8 × 8, 4 × 4, 2 × 2, and so on.
Referring to fig. 4, fig. 4 is a flowchart of a method for generating a sequence to be encoded according to an embodiment of the present invention, where the method may include the following steps:
step 401, scanning each of N sub-transform coefficient blocks obtained according to video image data to generate a sub-sequence composed of coefficients in the sub-transform coefficient block;
wherein N is a positive integer greater than or equal to 2, and an ith one of the N sub-transform coefficient blocks contains
Figure G2007101116857D00091
A coefficient, i 1, 2iAnd miIs a positive integer greater than or equal to 1.
Step 402, extracting the coefficients in each subsequence, and interleaving the extracted coefficients to generate usable content 2x×2yThe coding sequence to be coded is coded by the entropy coding mode suitable for the transformation block of each coefficient;
wherein x and y are positive integers greater than or equal to 2, and the transform coefficient block contains 2 coefficientsx×2yGreater than the sum of the number of coefficients contained in the N sub-transform coefficient blocks.
It should be noted that, in the embodiment of the present invention, the transform coefficient block or the sub-transform coefficient block may be quantized or not.
Referring to fig. 5, fig. 5 is a schematic structural diagram of an apparatus for generating a sequence to be encoded according to an embodiment of the present invention. The apparatus may include: a subsequence generating unit, a to-be-coded sequence generating unit and an output unit; wherein,
a sub-sequence generating unit, which is used for scanning each sub-transformation coefficient block in N sub-transformation coefficient blocks obtained according to video image data, generating a sub-sequence consisting of coefficients in the sub-transformation coefficient block, and transmitting the generated sub-sequence information to a to-be-coded sequence generating unit; where N is a positive integer greater than or equal to 2, and the ith transform coefficient block contains
Figure G2007101116857D00092
A coefficient, i 1, 2iAnd miIs a positive integer greater than or equal to 1;
a to-be-coded sequence generating unit for receiving the subsequence information from the subsequence generating unit, extracting the coefficients in each subsequence, interleaving the extracted coefficients, and generating a usable code containing 2x×2yThe coding sequence to be coded is coded by the entropy coding mode applicable to the transformation block of each coefficient, and the information of the coding sequence to be coded is transmitted to an output unit;
the output unit is used for receiving the information of the code sequence to be coded from the code sequence generating unit and outputting the information;
wherein x and y are positive integers greater than or equal to 2, and the transform coefficient block contains 2 coefficientsx×2yGreater than the sum of the number of coefficients contained in the N sub-transform coefficient blocks.
Referring to fig. 6, fig. 6 is a schematic structural diagram of the generating unit of the sequence to be encoded in fig. 5. The unit for generating the sequence to be encoded may include: the device comprises a coefficient extraction module, an interleaving processing module and a to-be-coded sequence generation module; wherein,
the coefficient extraction module is used for extracting coefficients needing to be subjected to interleaving processing from each subsequence and transmitting the extracted coefficient information to the interleaving processing unit;
the interleaving processing unit is used for receiving the coefficient information from the coefficient extraction module, arranging all the coefficients into a sequence, keeping the arrangement sequence of the coefficients which originally belong to all the subsequences in the sequence, keeping the same as the arrangement sequence in the atomic sequence, and transmitting the sequence information to the module for generating the sequence to be coded;
a to-be-coded sequence generating module, configured to receive the sequence information from the interleaving unit, and use the sequence as a to-be-coded sequence; or transforming the sequence to obtain the coding sequence to be coded.
Referring to fig. 7, fig. 7 is a schematic structural diagram of an encoder compatible with different-size block transforms according to an embodiment of the present invention, which may include: the device comprises a device for generating a sequence to be coded to be entropy coded, an entropy coding unit and a sending unit;
the means for generating the sequence to be coded to be entropy coded may comprise the units or modules described above with reference to fig. 5 and 6;
an entropy coding unit for receiving the information of the sequence to be coded from the output unit, using a code comprising 2x×2yCoding the code sequence to be coded by an entropy coding mode applicable to the transformation block of each coefficient, and transmitting coding result information to a transmitting unit;
the transmitting unit is used for receiving the coding result information from the entropy coding unit and transmitting the information;
wherein x and y are positive integers greater than or equal to 2, and the transform coefficient block contains 2 coefficientsx×2yGreater than the sum of the number of coefficients contained in the N sub-transform coefficient blocks.
Specific examples of the above technical solutions provided by the embodiments of the present invention are given below.
The first embodiment is as follows:
in the first embodiment, it is assumed that four 4 × 4 sub-transform coefficient blocks need to be encoded by an entropy encoding method applied to a transform coefficient block having a size of 8 × 8.
In the first embodiment, let SBi represent one of the four sub-transform coefficient blocks, i may be 1, 2, 3 or 4. Referring to fig. 8, 9a and 9b, fig. 8 is a schematic diagram of a combination of 4 x 4 sub-transform coefficient blocks; FIG. 9a is a schematic diagram illustrating a zigzag scanning manner of a 4 × 4 block; fig. 9b is a diagram illustrating a field scanning manner of a 4 × 4 block in the prior art. In general, in a two-dimensional transform coefficient block, the low-frequency high-amplitude coefficients are arranged in the upper left corner of the block, and the two-dimensional transform coefficient block can be scanned to obtain a one-dimensional sequence, and the coefficients in the one-dimensional sequence are usually arranged in a manner of decreasing amplitude from left to right, and the coefficients in the sequence are arranged in this manner, so that the subsequent entropy coding efficiency can be improved. Since the coefficient amplitudes are statistically derived, the case where the coefficients with smaller amplitudes are arranged before the coefficients with larger amplitudes is not excluded, but in general, the overall trend of the one-dimensional sequence ordering is arranged according to the arrangement trend of the frequencies corresponding to the coefficients from low to high. Also, in a sequence, typically some coefficients at the beginning are non-zero in magnitude, and most coefficients are zero in magnitude thereafter.
Referring to fig. 10, fig. 10 is a flowchart of encoding four 4 × 4 sub-transform coefficient blocks according to a first embodiment of the present invention, where the flowchart includes the following steps:
step 1001, scanning the four sub-transform coefficient blocks SBi according to the scanning mode of fig. 9a, respectively, to obtain four sub-sequences Si, each sub-sequence including 16 coefficients, that is,
S1:a0,a1,a2,...,a15;
S2:b0,b1,b2,...,b15;
S3:c0,c1,c2,...,c15;
S4:d0,d1,d2,...,d15。
in this embodiment, the scanning method used may also be the scanning method of fig. 9b or another scanning method suitable for the entropy coding method.
Step 1002, checking coefficients in each subsequence, and if all the coefficients in the S1-S4 subsequences are zero, executing step 1003; otherwise, step 1004 is performed.
In step 1003, a coding result indicating that all coefficients in the four subsequences are zero can be obtained, and a flag can be set to mark the coding result, thereby ending the current coding process.
In this embodiment, a variable cbp may be set, and according to the variable value, it may be determined whether the encoding process needs to be continued, and if all coefficients in the four subsequences are set to be zero, cbp is 0; otherwise, cbp ═ 1; that is, if cbp is 0, the current encoding process may be ended, and the cbp is 0 and written into the encoding result, and if cbp is 1, the subsequent steps need to be continuously executed.
And 1004, extracting the coefficients in the subsequences of which the coefficients are not all zero from the four subsequences, executing the subsequent steps, and deleting the subsequences of which the coefficients are all zero.
In this embodiment, a variable may also be set to indicate whether each subsequence is zero. If cbppi is set, if cbppi is 0, it can be indicated that all coefficients of the subsequence Si are zero, and the sequence of Si can be deleted; if cbpSi is 1, it may indicate that the subsequence needs to be encoded. And, the value of the variable cbpSi may also be written to the encoding result.
Step 1005, interleaving the extracted coefficients to obtain a sequence of no more than 64 coefficients, which may be composed of coefficients in these subsequences.
In this embodiment, if there are coefficients that are not zero in all of the four subsequences, the sequence obtained after the interleaving process may be:
a0 b0 c0 d0 a1 b1 c1 d1 a2 b2 c2 d2...a15 b15 c15 d15 (1);
the interleaving process may be performed by arranging the coefficients into a sequence, and keeping the arrangement order of the coefficients in the sequence originally belonging to each sub-sequence the same as the arrangement order in the atomic sequence, so that the frequency corresponding to the coefficients in the sequence may show a low-to-high arrangement trend for further improving the subsequent entropy coding efficiency. In the above sequence (1), the coefficients a0, a1, a2, a15 are arranged in the same order as in S1, and the coefficients b0, b1, b2, a, b15 are arranged in the same order as in S2, and it can be similarly seen that the coefficients in the original S3 and S4 are arranged in the same order as in the corresponding atom sequences. In this embodiment, the sequence obtained after the interleaving process may be:
a0 b0 d0 c0 a1 c1 b1 d1 b2 a2 c2 d2...c15 a15 b15 d15 (2);
other possible scenarios are not listed.
Step 1006, 2 × 2 Hadamard transform may be performed on a0, b0, c0, and d0, and sequence (1) is transformed into sequence (3):
a0’b0’c0’d0’a1 b1 c1 d1 a2 b2 c2 d2...a15 b15 c15 d15 (3);
in practical application, the sequence (1) can be used as a sequence to be encoded, and the sequence to be encoded is directly encoded subsequently. In this embodiment, to further improve subsequent entropy coding efficiency, the sequence (1) needs to be transformed, and the sequence (3) obtained after the transformation is used as the sequence to be coded. In this embodiment, a Hadamard transform is applied to sequence (1), and the effect of the Hadamard transform is that the energy represented by the coefficient amplitudes is further concentrated by a0 ', after which the coefficients in sequence (3) are already close to zero, possibly starting from b 0'. Therefore, when entropy coding is performed on the sequence (3) subsequently, only a 0' can be coded to obtain the corresponding code word. If the sequence (1) or (2) is subjected to Hadamard transform, a mark using the transform can be written in the encoding result.
And step 1007, coding the sequence (3) by using an entropy coding mode suitable for the 8 × 8 transform coefficient block, and ending the current coding process.
In addition, in the embodiment of the present invention, step 1005 is also executed before step 1002, and if it is executed before step 1002, sequence (1) includes 64 coefficients. The technical solutions of step 1002 to step 1004 are provided for further improving the coding efficiency, and in practical applications, other approaches for improving the coding efficiency may be adopted. In addition, cbpS may be used instead of cbpS, or the indication information of whether or not the four subsequences need to be encoded, or which subsequences need to be encoded, etc. may be mapped to cbpS, where if cbpS is 0, it may indicate that all four subsequences have only prediction Direct Current (DC) coefficients, i.e., a0, b0, c0, and d0 are non-zero, and other coefficients are all zero; if cbpS is 1, it may indicate that four subsequences need to be encoded; if cbpS is 2, this may indicate that the subsequences S1 and S2 need to be encoded, etc., and so on, and will not be listed.
In the first embodiment of encoding the small-sized sub-transform coefficient blocks by the entropy encoding method suitable for the large-sized transform coefficient block, the combination of the selected small-sized sub-transform coefficient blocks is 4 × 4 blocks, the large-sized transform coefficient block is 8 × 8 blocks, and the 4 × 4 blocks can be combined into just one 8 × 8 block. In fact, the coding scheme provided by the embodiment of the present invention is a compatible scheme, that is, as long as the number of coefficients of the large-sized transform coefficient block is 2, the number of coefficients of the transform coefficient block is 2x×2yIf the number of the sub-transform coefficient blocks is larger than the sum of the numbers of the coefficients of the N small-sized sub-transform coefficient blocks participating in the combination, the N small-sized sub-transform coefficient blocks obtained by the combination can be encoded by an entropy encoding method suitable for the large-sized sub-transform coefficient block, and the sizes of the N small-sized sub-transform coefficient blocks are not necessarily the same. Since, as can be seen from the first embodiment, the small-sized sub-transform coefficient blocks are encoded by using the entropy encoding method applicable to the large-sized transform coefficient block, as long as the number of coefficients included in each of the small-sized sub-transform coefficient blocks in the sequence to be encoded obtained through interleaving does not exceed the number of coefficients included in the large-sized transform coefficient block, of course, the number of coefficients included in the sequence to be encoded obtained through interleaving includes the number of coefficients that may be deleted before and after interleaving, and are zero.
In addition, in the first embodiment, in addition to writing the entropy coding result into the coding result, the characteristic information of the coding process, such as the combination information of the sub-transform coefficient blocks, the information of the scanning mode, the information of cbp, the information of cbpSi, the information about how to interleave, and the identification information of the Hadamard transform, can be written into the coding result, so that the decoding end can perform decoding according to the inverse process of the coding end when decoding. The information on how to interleave may be, how to perform a default interleaving manner in the embodiment of the present invention, that is, if the sequence obtained after interleaving is the sequence (1), the identifier of the related information may not need to be transmitted, and the interleaving manner is defaulted at the decoding end, if the interleaving manner is non-default, and if the sequence obtained after interleaving is the sequence (2), the identifier information of the non-default interleaving manner is written in the encoding result and transmitted to the decoding end.
Example two:
in the second embodiment, 16 sub-transform coefficient blocks of 4 × 4 are encoded by an entropy encoding method applied to transform coefficient blocks of 8 × 8.
Referring to fig. 11, fig. 11 is a schematic diagram of an arrangement of 16 sub-transform coefficient blocks in units of one 4 × 4 sub-transform coefficient block. Referring to fig. 12, fig. 12 is a schematic diagram of the coding combination scheme of 16 4 × 4 sub-transform coefficient blocks in the second embodiment. As shown in fig. 12, in the second embodiment, 4 sub-transform coefficient blocks of 4 × 4 are still combined, for example, 0 to 3 sub-transform coefficient blocks shown in fig. 11 are combined, 4 to 7 sub-transform coefficient blocks are combined, 8 to 11 sub-transform coefficient blocks are combined, and 12 to 15 sub-transform coefficient blocks are combined. Based on the encoding flow of the first embodiment, the 4 combinations in the present embodiment are encoded by using the entropy encoding method applied to the 8 × 8 block. The scanning sequence when encoding every four sub-transform coefficient blocks is as shown in fig. 12, and when encoding 0-3 four sub-transform coefficient blocks, scanning sub-transform coefficient block 0 first to obtain a corresponding sub-sequence; scanning the sub-transformation coefficient block 1 to obtain a corresponding sub-sequence; then scanning the sub-transformation coefficient block 2 to obtain a corresponding sub-sequence; finally, scanning the sub-transformation coefficient block 3 to obtain a corresponding sub-sequence; and then extracting coefficients from each subsequence, and performing interleaving processing on the extracted coefficients, wherein the subsequent processing flow can refer to embodiment one and is not described again.
In addition, combination information on the respective sub-transform coefficient blocks in the current encoding may be written in the encoding result, and if the combination is composed of 4 × 4 sub-transform coefficient blocks, the combination has four in total, and 16 sub-transform coefficient blocks in total, and the sub-transform coefficient blocks are arranged in the arrangement shown in fig. 11.
Example three:
in the third embodiment, 16 sub-transform coefficient blocks of 4 × 4 are encoded by entropy encoding suitable for transform coefficient blocks of 8 × 8 size. The arrangement of the 16 sub-transform coefficient blocks can also be seen in fig. 11. Referring to fig. 13, fig. 13 is a schematic diagram of the coding combination scheme of 16 4 × 4 sub-transform coefficient blocks in the third embodiment. In the third embodiment, the sub-transform coefficient blocks 0, 4, 8, and 12 may be regarded as a combination, that is, the combination includes four 4 × 4 sub-transform coefficient blocks, and the four sub-transform coefficient blocks are encoded based on the encoding procedure in the first embodiment, where the sub-transform coefficient blocks 0, 5, 8, and 12 are sequentially scanned in the scanning order as shown in fig. 13.
For the remaining 1, 4, 2, 3, 6, 7, 9, 13, 10, 11, 14, 15 sub-transform coefficient blocks, 4 combinations may continue to be formed: 1. 2, 3 combination; 5. 6, 7 combination; 9. 10, 11 combination; 13. 14, 15 are combined. When the combination 1, 2, 3 is coded, the sub-transform coefficient block 1 is scanned first according to the scanning sequence shown in fig. 13 to obtain the corresponding sub-sequence; then scanning the sub-transformation coefficient block 2 to obtain a corresponding sub-sequence; finally, scanning the sub-transformation coefficient block 3 to obtain a corresponding sub-sequence; and performing interleaving processing on the obtained three subsequences, wherein the interleaving processing method still comprises the following steps: the sequence order of the coefficients originally belonging to each subsequence is maintained to be the same as the sequence order in the atomic sequence.
The process of forming the respective to-be-coded sequences by the other three combinations can be analogized and is not described in detail.
In this embodiment, the plurality of sub transform coefficient blocks participating in the combination are not necessarily consecutive or immediately adjacent, and sub transform coefficient blocks that are more distant apart may be selected as necessary. In this embodiment, the combination related information may also be written into the encoding result, and the writing manner may be mapping writing or variable amplitude.
Example four:
in the fourth embodiment, the sub-transform coefficient blocks of different sizes are encoded by an entropy encoding method suitable for transform coefficient blocks of size 8 × 8. Referring to fig. 14, fig. 14 is a schematic diagram of combinations of sub-transform coefficient blocks of different sizes in the fourth embodiment. The combination comprises: 4 2 x 2 sub-transform coefficient blocks, 3 4 x 4 sub-transform coefficient blocks. A description will now be given of how to obtain the combined sequence to be encoded. Referring to fig. 15, fig. 15 is a flowchart of the fourth embodiment to obtain the sequence to be coded of the combination shown in fig. 14, where the flowchart may include the following steps:
step 1501, scanning 4 sub-transform coefficient blocks of 2 × 2 in sequence to obtain corresponding 4 sub-sequences Ai, i may be 1, 2, 3, 4. Wherein,
A 1:aa0、aa1、aa2、aa3;
A2:ab0、ab1、ab2、ab3;
A3:ac0、ac1、ac2、ac3;
A4:ad0、ad1、ad2、ad3。
step 1502, extracting coefficients from the 4 subsequences, and performing interleaving processing on the proposed coefficients to obtain an S1 sequence with coefficients not exceeding 16.
S 1:aa0、ab0、ac0、ad0、aa1、ab1、ac1、ad1...aa3、ab3、ac3、ad3。
In this step, the interleaving process is performed similarly to the embodiment.
Step 1503, scanning the other 3 sub-transform coefficient blocks of 4 × 4 in sequence to obtain three sub-sequences: s2, S3 and S4.
S2:b0,b1,b2,...,b15;
S3:c0,c1,c2,...,c15;
S4:d0,d1,d2,...,d15。
Step 1504, performing interleaving processing on the four subsequences from S1 to S4 to obtain a sequence to be coded:
aa0、b0、c0、d0、ab0、b1、c1、d1、...、ad3、b15、c15、d15。
in this step, the interleaving process is performed similarly to the embodiment.
In this embodiment, the execution order of the above step 1502 and step 1503 need not strictly adhere to, that is, since there are multiple sub-transform coefficient blocks in combination, the processing order of scanning the multiple sub-transform coefficient blocks, coefficient interleaving, and the like can be performed according to the actual situation, and accordingly, the execution order of the above steps 301 and 302, or the execution order of the steps 401 and 402, is only for the finally obtained to-be-encoded sequence, that is, the interleaving process is performed on the coefficients extracted from each sub-sequence, and when the method is specifically implemented, there may be a case where sub-transform coefficient blocks of different sizes need to be encoded as in the fourth embodiment, and accordingly, the process similar to the fourth embodiment can be adopted.
To this end, a sequence to be coded is obtained, which is then coded in an entropy coding manner suitable for 8 × 8 blocks of transform coefficients.
Example five:
in the fifth embodiment, two 8 × 4 sub-transform coefficient blocks are encoded by an entropy encoding method suitable for an 8 × 8 transform coefficient block. Referring to fig. 16, fig. 16 is a schematic diagram of a combination of two 8 × 4 sub-transform coefficient blocks in this embodiment. Referring to fig. 17, fig. 17 is a flowchart of the fifth embodiment to obtain the combined sequence to be coded shown in fig. 18, where the flowchart may include the following steps:
in step 1701, two 8 × 4 sub-transform coefficient blocks are sequentially scanned in a zigzag-like scanning manner as shown in fig. 16, resulting in two corresponding sub-sequences S1 and S2. Wherein,
S1:a0、b0、a1、b1、a2、b2、...、a15、b15;
S2:c0、d0、c1、d1、c2、d2、...、c15、d15。
scanning similar to field scanning or other scanning methods may be used, and typically the energy represented by the preceding coefficient amplitudes is greater in the scanned sequence.
Step 1702, performing interleaving processing on the coefficients extracted from S1 and S2 to obtain the combined to-be-coded sequence:
a0、b0、c0、d0、a1、b1、c1、d1、...、a15、b15、c15、d15。
in this step, the interleaving process is performed similarly to the embodiment.
To this end, the combined sequence to be encoded shown in fig. 16 is obtained, and then the sequence to be encoded is encoded by an entropy encoding method suitable for the 8 × 8 transform coefficient block.
The embodiment of the invention also provides a decoding method corresponding to the coding compatible with the transformation of the blocks with different sizes, and the decoding processing is carried out on the coding result according to the process inverse to the coding, namely the decoding process corresponds to the coding process and is the inverse process of the coding process. Referring to fig. 18, fig. 18 is a flowchart of the decoding method, which may include the steps of:
step 1801, entropy decoding is performed on the encoding result to obtain a sequence to be decoded.
The sequences to be decoded correspond to the same sequence to be coded.
And 1802, performing reverse interleaving processing on the sequence to be decoded to obtain N subsequences.
The effect of the de-interleaving process is to re-reduce the sequence to be decoded into a plurality of sub-sequences.
Step 1803, performing inverse scanning processing on the N subsequences respectively to obtain N sub-transform coefficient blocks.
The effect of the inverse scan is to restore the coefficients in each sequence to the corresponding positions in the two-dimensional block.
The embodiment of the invention also provides a decoder corresponding to the encoder compatible with the block transform with different sizes. Referring to fig. 19, fig. 19 is a schematic diagram of the structure of the decoder. The decoder may include: the device comprises an entropy decoding unit, an inverse interleaving processing unit and an inverse scanning processing unit; wherein,
the entropy decoding unit is used for carrying out entropy decoding processing on the encoding result to obtain a sequence to be decoded and transmitting the information of the sequence to be decoded to the de-interleaving processing unit; the band code sequences corresponding to the sequences to be decoded are the same;
the device comprises an entropy decoding unit, a reverse interleaving unit and a reverse scanning unit, wherein the entropy decoding unit is used for decoding a sequence to be decoded;
and the inverse scanning processing unit is used for receiving the information of the N subsequences from the inverse interleaving processing unit and respectively performing inverse scanning processing on the N subsequences to obtain N sub-transformation coefficient blocks.
The implementation of the decoding process in the embodiment of the present invention is described by decoding the code in the first embodiment. The decoder decodes the received coding result, such as:
decoding the combination information of the sub-transformation coefficient block in the coding result to obtain the information such as the size of the block corresponding to the sequence to be decoded;
decoding the cbp information in the coding result, if the cbp is 0, then no more information about the current coding exists; if cbp is 1, continuing decoding;
decoding information of CbpSi (i is 1, 2, 3, 4), and acquiring Si corresponding to a sequence to be decoded;
decoding to obtain a sequence to be decoded, which adopts a Hadamard transform identifier and carries out Hadamard inverse transform on the sequence to be decoded to obtain an inverse transformed sequence to be decoded;
the interleaving mode identification is not decoded, so that the converted sequence to be decoded is subjected to reverse interleaving treatment according to a default interleaving mode to obtain a plurality of subsequences;
decoding the information of the scanning mode, carrying out inverse scanning processing on each subsequence, resetting each coefficient to the corresponding position of the original two-dimensional sub-transformation coefficient block, and ending the decoding of the sub-transformation coefficient block.
In summary, according to the coding and decoding scheme compatible with transform of different size blocks provided in the embodiments of the present invention, by interleaving the extracted coefficients from the plurality of small-sized sub-transform coefficient blocks, a coding sequence that can be processed by an entropy coding method suitable for the large-sized transform coefficient block is obtained, so that the entropy coding method suitable for the large-sized transform coefficient block can also be suitable for the small-sized transform coefficient block, and thus, in a coding system based on block coding of different size, such as a coding system incorporating ABT technology, under the condition of having an entropy coding method suitable for the large-sized transform coefficient block, it is not necessary to redesign the entropy coding method suitable for the small-sized transform coefficient block, and therefore, the design cost of coding can be reduced, and the design complexity can be reduced.
In addition, in the embodiment of the invention, because a plurality of sub-transform coefficient blocks can be coded simultaneously, the correlation among the blocks is further reduced, and the coding performance is improved. In addition, in the embodiment of the invention, a plurality of sub-transform coefficient blocks can be coded simultaneously, and compared with the case of coding the sub-transform coefficient blocks one by one, the frequency of reading the coded end of block (EoB) mark is reduced, thereby effectively improving the coding efficiency.

Claims (14)

1.一种兼容不同大小块变换的编码方法,其特征在于,包括:1. A coding method compatible with block transformation of different sizes, characterized in that, comprising: 对根据视频图像数据得到的N个子变换系数块中的每个子变换系数块进行扫描,生成由该子变换系数块中的系数组成的子序列;Scan each sub-transform coefficient block in the N sub-transform coefficient blocks obtained according to the video image data, and generate a subsequence composed of coefficients in the sub-transform coefficient block; 其中,N是大于或等于2的正整数,且所述N个子变换系数块中的第i个子变换系数块包含
Figure F2007101116857C00011
个系数,i=1,2,......,N,ni和mi是大于或等于1的正整数;
Wherein, N is a positive integer greater than or equal to 2, and the ith sub-transform coefficient block among the N sub-transform coefficient blocks contains
Figure F2007101116857C00011
coefficients, i=1, 2,..., N, n i and m i are positive integers greater than or equal to 1;
提取各子序列中的系数,对提取出来的系数进行交织处理,生成待编码序列;Extracting coefficients in each subsequence, performing interleaving processing on the extracted coefficients, and generating a sequence to be encoded; 利用包含2x×2y个系数的变换块所适用的熵编码方式对所述待编码序列进行编码;Encoding the sequence to be encoded using an entropy encoding method applicable to a transform block containing 2 x × 2 y coefficients; 其中,x和y是大于或等于2的正整数,且所述变换系数块所含系数个数2x×2y大于或等于N个子变换系数块所含系数个数之和。Wherein, x and y are positive integers greater than or equal to 2, and the number of coefficients 2 x × 2 y contained in the transform coefficient block is greater than or equal to the sum of the coefficients contained in N sub-transform coefficient blocks.
2.根据权利要求1所述的方法,其特征在于,对提取出来的系数进行交织处理的步骤包括:2. The method according to claim 1, wherein the step of interleaving the extracted coefficients comprises: 将各个系数排列成一个序列,且保持原属于各个子序列中的系数在所述序列中的排列顺序,与在原子序列中的排列顺序相同。Each coefficient is arranged into a sequence, and the arrangement order of the coefficients originally belonging to each subsequence in the sequence is maintained, which is the same as the arrangement order in the atomic sequence. 3.根据权利要求2所述的方法,其特征在于,将各个系数排列成一个序列的步骤包括:按系数所对应的频率从低到高的排列趋势,排列各系数。3. The method according to claim 2, characterized in that the step of arranging each coefficient into a sequence comprises: arranging each coefficient according to an arrangement trend of frequencies corresponding to the coefficients from low to high. 4.根据权利要求2或3所述的方法,其特征在于,生成所述待编码序列的步骤包括:4. The method according to claim 2 or 3, wherein the step of generating the sequence to be encoded comprises: 将各个系数排列成的所述一个序列作为所述待编码序列;或者,The sequence in which each coefficient is arranged is used as the sequence to be coded; or, 对所述一个序列进行变换处理,得到待编码序列。Perform transformation processing on the one sequence to obtain the sequence to be encoded. 5.根据权利要求4所述的方法,其特征在于,所述变换处理包括:哈达码Hadamard变换。5. The method according to claim 4, wherein the transformation process comprises: Hadamard transformation. 6.根据权利要求1、2或3所述的方法,其特征在于,提取各子序列中的系数的步骤包括:6. according to the described method of claim 1,2 or 3, it is characterized in that, the step of extracting the coefficient in each subsequence comprises: 若子序列中的系数不全部为零,则将该子序列中的系数提取出来。If the coefficients in the subsequence are not all zero, extract the coefficients in the subsequence. 7.根据权利要求1、2或3所述的方法,其特征在于,x=3,且y=3。7. The method according to claim 1, 2 or 3, characterized in that x=3 and y=3. 8.根据权利要求1、2或3所述的方法,其特征在于,所述系数是经过量化的量化系数。8. The method according to claim 1, 2 or 3, characterized in that the coefficients are quantized quantized coefficients. 9.一种用于生成待进行编码的待编码序列的方法,其特征在于,包括:9. A method for generating a coded sequence to be coded, comprising: 对根据视频图像数据得到的N个子变换系数块中的每个子变换系数块进行扫描,生成由该子变换系数块中的系数组成的子序列;Scan each sub-transform coefficient block in the N sub-transform coefficient blocks obtained according to the video image data, and generate a subsequence composed of coefficients in the sub-transform coefficient block; 其中,N是大于或等于2的正整数,且所述N个子变换系数块中的第i个子变换系数块包含
Figure F2007101116857C00021
个系数,i=1,2,......,N,ni和mi是大于或等于1的正整数;
Wherein, N is a positive integer greater than or equal to 2, and the ith sub-transform coefficient block among the N sub-transform coefficient blocks contains
Figure F2007101116857C00021
coefficients, i=1, 2,..., N, n i and m i are positive integers greater than or equal to 1;
提取各子序列中的系数,对提取出来的系数进行交织处理,生成能够利用包含2x×2y个系数的变换块所适用的熵编码方式进行编码的待编码序列;Extracting the coefficients in each subsequence, performing interleaving processing on the extracted coefficients, and generating a sequence to be encoded that can be encoded using an entropy encoding method applicable to a transform block containing 2 x × 2 y coefficients; 其中,x和y是大于或等于2的正整数,且所述变换系数块所含系数个数2x×2y大于或等于N个子变换系数块所含系数个数之和。Wherein, x and y are positive integers greater than or equal to 2, and the number of coefficients 2 x × 2 y contained in the transform coefficient block is greater than or equal to the sum of the coefficients contained in N sub-transform coefficient blocks.
10.一种用于生成待进行编码的待编码序列的装置,其特征在于,包括:10. A device for generating a coded sequence to be coded, comprising: 子序列生成单元、待编码序列生成单元、输出单元;其中,A subsequence generation unit, a sequence generation unit to be encoded, and an output unit; wherein, 子序列生成单元,用于对根据视频图像数据得到的N个子变换系数块中的每个子变换系数块进行扫描,生成由该子变换系数块中的系数组成的子序列,将所生成的子序列信息传送给待编码序列生成单元;其中,N是大于或等于2的正整数,且第i个变换系数块包含
Figure F2007101116857C00022
个系数,i=1,2,......,N,ni和mi是大于或等于1的正整数;
A sub-sequence generating unit, configured to scan each sub-transform coefficient block in the N sub-transform coefficient blocks obtained according to the video image data, generate a sub-sequence composed of coefficients in the sub-transform coefficient block, and convert the generated sub-sequence The information is sent to the sequence generation unit to be encoded; wherein, N is a positive integer greater than or equal to 2, and the i-th transform coefficient block contains
Figure F2007101116857C00022
coefficients, i=1, 2,..., N, n i and m i are positive integers greater than or equal to 1;
待编码序列生成单元,用于接收来自子序列生成单元的子序列信息,提取各子序列中的系数,对提取出来的系数进行交织处理,生成能够利用包含2x×2y个系数的变换块所适用的熵编码方式进行编码的待编码序列,将所述待编码序列信息传送给输出单元;The sequence generation unit to be encoded is used to receive the subsequence information from the subsequence generation unit, extract the coefficients in each subsequence, interleave the extracted coefficients, and generate a transformation block that can use 2 x × 2 y coefficients The to-be-encoded sequence encoded by the applicable entropy coding method, and the information of the to-be-encoded sequence is transmitted to the output unit; 输出单元,用于接收来自待编码序列生成单元的所述待编码序列信息,将该信息输出;an output unit, configured to receive the sequence information to be encoded from the sequence generation unit to be encoded, and output the information; 其中,x和y是大于或等于2的正整数,且所述变换系数块所含系数个数2x×2y大于或等于N个子变换系数块所含系数个数之和。Wherein, x and y are positive integers greater than or equal to 2, and the number of coefficients 2 x × 2 y contained in the transform coefficient block is greater than or equal to the sum of the coefficients contained in N sub-transform coefficient blocks.
11.根据权利要求10所述的装置,其特征在于,待编码序列生成单元包括:11. The device according to claim 10, wherein the sequence generation unit to be encoded comprises: 系数提取模块、交织处理模块、待编码序列生成模块;其中,A coefficient extraction module, an interleaving processing module, and a sequence generation module to be coded; wherein, 系数提取模块,用于从各子序列中提取出需要进行交织处理的系数,将所提取的系数信息传送给交织处理模块;The coefficient extraction module is used to extract coefficients that need to be interleaved from each subsequence, and transmit the extracted coefficient information to the interleave processing module; 交织处理模块,用于接收来自系数提取模块的系数信息,将各个系数排列成一个序列,且保持原属于各个子序列中的系数在所述序列中的排列顺序,与在原子序列中的排列顺序相同,将该序列信息传送给待编码序列生成模块;The interleaving processing module is used to receive the coefficient information from the coefficient extraction module, arrange each coefficient into a sequence, and maintain the arrangement order of the coefficients originally belonging to each subsequence in the sequence, and the arrangement order in the atomic sequence Same, the sequence information is sent to the sequence generation module to be encoded; 待编码序列生成模块,用于接收来自交织处理模块的所述序列信息,将所述序列作为待编码序列;或者对所述序列进行变换处理后,得到所述待编码序列。The to-be-encoded sequence generating module is configured to receive the sequence information from the interleaving processing module, and use the sequence as the to-be-encoded sequence; or convert the sequence to obtain the to-be-encoded sequence. 12.一种兼容不同大小块变换的编码器,其特征在于,包括:用于生成待进行熵编码的待编码序列的装置和熵编码单元;12. An encoder compatible with block transformations of different sizes, comprising: a device for generating a sequence to be encoded for entropy encoding and an entropy encoding unit; 所述用于生成待进行熵编码的待编码序列的装置包括:子序列生成单元、待编码序列生成单元和输出单元;其中,The device for generating the sequence to be encoded to be entropy encoded includes: a subsequence generation unit, a sequence to be encoded generation unit, and an output unit; wherein, 子序列生成单元,用于对根据视频图像数据得到的N个子变换系数块中的每个子变换系数块进行扫描,生成由该子变换系数块中的系数组成的子序列,将所生成的子序列信息传送给待编码序列生成单元;其中,N是大于或等于2的正整数,且第i个变换系数块包含
Figure F2007101116857C00031
个系数,i=1,2,......,N,ni和mi是大于或等于1的正整数;
A sub-sequence generating unit, configured to scan each sub-transform coefficient block in the N sub-transform coefficient blocks obtained according to the video image data, generate a sub-sequence composed of coefficients in the sub-transform coefficient block, and convert the generated sub-sequence The information is sent to the sequence generation unit to be encoded; wherein, N is a positive integer greater than or equal to 2, and the i-th transform coefficient block contains
Figure F2007101116857C00031
coefficients, i=1, 2,..., N, n i and m i are positive integers greater than or equal to 1;
待编码序列生成单元,用于接收来自子序列生成单元的子序列信息,提取各子序列中的系数,对提取出来的系数进行交织处理,生成能够利用包含2x×2y个系数的变换块所适用的熵编码方式进行编码的待编码序列,将所述待编码序列信息传送给输出单元;The sequence generation unit to be encoded is used to receive the subsequence information from the subsequence generation unit, extract the coefficients in each subsequence, interleave the extracted coefficients, and generate a transformation block that can use 2 x × 2 y coefficients The to-be-encoded sequence encoded by the applicable entropy coding method, and the information of the to-be-encoded sequence is transmitted to the output unit; 输出单元,用于接收来自待编码序列生成单元的所述待编码序列信息,将该信息输出;an output unit, configured to receive the sequence information to be encoded from the sequence generation unit to be encoded, and output the information; 熵编码单元,用于接收来自输出单元的所述待编码序列信息,利用包含2x×2y个系数的变换块所适用的熵编码方式对所述待编码序列进行编码;An entropy encoding unit, configured to receive the sequence information to be encoded from the output unit, and encode the sequence to be encoded using an entropy encoding method applicable to a transform block containing 2 x × 2 y coefficients; 其中,x和y是大于或等于2的正整数,且所述变换系数块所含系数个数2x×2y大于或等于N个子变换系数块所含系数个数之和。Wherein, x and y are positive integers greater than or equal to 2, and the number of coefficients 2 x × 2 y contained in the transform coefficient block is greater than or equal to the sum of the coefficients contained in N sub-transform coefficient blocks.
13.一种与权利要求1所述的兼容不同大小块变换的编码方法相对应的解码方法,对编码结果按照与所述编码相逆的过程进行解码处理,其特征在于,包括:13. A decoding method corresponding to the encoding method compatible with different size block transformations according to claim 1, the encoding result is decoded according to the reverse process of the encoding, it is characterized in that it includes: 对编码结果进行熵解码处理,得到待解码序列;Perform entropy decoding processing on the encoding result to obtain the sequence to be decoded; 对所述待解码序列进行反交织处理,得到N个子序列;performing deinterleaving processing on the sequence to be decoded to obtain N subsequences; 对所述N个子序列分别进行反扫描处理,得到N个子变换系数块。Perform inverse scanning processing on the N sub-sequences respectively to obtain N sub-transform coefficient blocks. 14.一种与权利要求12所述的兼容不同大小块变换的编码器相对应的解码器,其特征在于,包括:熵解码单元、反交织处理单元、反扫描处理单元;其中,14. A decoder corresponding to the encoder compatible with different size block transformations according to claim 12, characterized in that it comprises: an entropy decoding unit, an anti-interleaving processing unit, and an anti-scanning processing unit; wherein, 熵解码单元,对编码结果进行熵解码处理,得到待解码序列,将所述待解码序列的信息传送给反交织处理单元;The entropy decoding unit performs entropy decoding processing on the encoding result to obtain the sequence to be decoded, and transmits the information of the sequence to be decoded to the deinterleaving processing unit; 反交织处理单元,用于接收来自熵解码单元的待解码序列的信息,对所述待解码序列进行反交织处理,得到N个子序列,将该N个子序列的信息传送给反扫描处理单元;The deinterleaving processing unit is used to receive the information of the sequence to be decoded from the entropy decoding unit, perform deinterleaving processing on the sequence to be decoded, obtain N subsequences, and transmit the information of the N subsequences to the descanning processing unit; 反扫描处理单元,用于接收来自反交织处理单元的N个子序列的信息,对所述N个子序列分别进行反扫描处理,得到N个子变换系数块。The inverse scanning processing unit is configured to receive the information of the N subsequences from the deinterleaving processing unit, and respectively perform inverse scanning processing on the N subsequences to obtain N sub-transform coefficient blocks.
CN 200710111685 2007-06-10 2007-06-10 Codec methods and codecs compatible with different size block transformations Expired - Fee Related CN101321283B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN 200710111685 CN101321283B (en) 2007-06-10 2007-06-10 Codec methods and codecs compatible with different size block transformations
PCT/CN2008/071233 WO2008151560A1 (en) 2007-06-10 2008-06-06 Coding and decoding method, coder and decoder, and method and device for generating the sequences to be coded

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200710111685 CN101321283B (en) 2007-06-10 2007-06-10 Codec methods and codecs compatible with different size block transformations

Publications (2)

Publication Number Publication Date
CN101321283A CN101321283A (en) 2008-12-10
CN101321283B true CN101321283B (en) 2010-04-07

Family

ID=40129254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200710111685 Expired - Fee Related CN101321283B (en) 2007-06-10 2007-06-10 Codec methods and codecs compatible with different size block transformations

Country Status (2)

Country Link
CN (1) CN101321283B (en)
WO (1) WO2008151560A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11546641B2 (en) 2010-04-13 2023-01-03 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11546642B2 (en) 2010-04-13 2023-01-03 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11611761B2 (en) 2010-04-13 2023-03-21 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US11734714B2 (en) 2010-04-13 2023-08-22 Ge Video Compression, Llc Region merging and coding parameter reuse via merging

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120009618A (en) * 2010-07-19 2012-02-02 에스케이 텔레콤주식회사 Frequency conversion unit division encoding method and apparatus and image encoding / decoding method and apparatus using same
KR20120016991A (en) * 2010-08-17 2012-02-27 오수미 Interprediction Method
US9621894B2 (en) * 2012-01-13 2017-04-11 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
WO2015015681A1 (en) * 2013-07-31 2015-02-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Image coding method, and image coding device
EP3349454A1 (en) 2017-01-11 2018-07-18 Thomson Licensing Method and device for coding a block of video data, method and device for decoding a block of video data
CN109996074A (en) * 2017-12-29 2019-07-09 富士通株式会社 Picture coding device, picture decoding apparatus and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1497503A (en) * 2002-10-08 2004-05-19 株式会社Ntt都科摩 Image encoding method and device, decoding method and device, encoding and decoding program
CN1589017A (en) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 Quantizing device for low complicated degree integer 4x4 discrete cosine transform and its realizing method
CN1665303A (en) * 2005-03-18 2005-09-07 清华大学 Method of entropy coding of transformation coefficient in image/video coding
CN1689026A (en) * 2002-10-03 2005-10-26 诺基亚有限公司 Context-based adaptive variable length coding for adaptive block transforms

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7839933B2 (en) * 2004-10-06 2010-11-23 Microsoft Corporation Adaptive vertical macroblock alignment for mixed frame video sequences

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1689026A (en) * 2002-10-03 2005-10-26 诺基亚有限公司 Context-based adaptive variable length coding for adaptive block transforms
CN1497503A (en) * 2002-10-08 2004-05-19 株式会社Ntt都科摩 Image encoding method and device, decoding method and device, encoding and decoding program
CN1589017A (en) * 2004-08-06 2005-03-02 联合信源数字音视频技术(北京)有限公司 Quantizing device for low complicated degree integer 4x4 discrete cosine transform and its realizing method
CN1665303A (en) * 2005-03-18 2005-09-07 清华大学 Method of entropy coding of transformation coefficient in image/video coding

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11546641B2 (en) 2010-04-13 2023-01-03 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11546642B2 (en) 2010-04-13 2023-01-03 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11553212B2 (en) 2010-04-13 2023-01-10 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11611761B2 (en) 2010-04-13 2023-03-21 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US11736738B2 (en) 2010-04-13 2023-08-22 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using subdivision
US11734714B2 (en) 2010-04-13 2023-08-22 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11765363B2 (en) 2010-04-13 2023-09-19 Ge Video Compression, Llc Inter-plane reuse of coding parameters
US11765362B2 (en) 2010-04-13 2023-09-19 Ge Video Compression, Llc Inter-plane prediction
US11778241B2 (en) 2010-04-13 2023-10-03 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11785264B2 (en) 2010-04-13 2023-10-10 Ge Video Compression, Llc Multitree subdivision and inheritance of coding parameters in a coding block
US11810019B2 (en) 2010-04-13 2023-11-07 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11856240B1 (en) 2010-04-13 2023-12-26 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US11900415B2 (en) 2010-04-13 2024-02-13 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US11910029B2 (en) 2010-04-13 2024-02-20 Ge Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division preliminary class
US11910030B2 (en) 2010-04-13 2024-02-20 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US11983737B2 (en) 2010-04-13 2024-05-14 Ge Video Compression, Llc Region merging and coding parameter reuse via merging
US12010353B2 (en) 2010-04-13 2024-06-11 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US12120316B2 (en) 2010-04-13 2024-10-15 Ge Video Compression, Llc Inter-plane prediction
US12155871B2 (en) 2010-04-13 2024-11-26 Ge Video Compression, Llc Inheritance in sample array multitree subdivision
US12328453B2 (en) 2010-04-13 2025-06-10 Dolby Video Compression, Llc Coding of a spatial sampling of a two-dimensional information signal using sub-division
US12513307B2 (en) 2010-04-13 2025-12-30 Dolby Video Compression, Llc Inter-plane prediction

Also Published As

Publication number Publication date
CN101321283A (en) 2008-12-10
WO2008151560A1 (en) 2008-12-18

Similar Documents

Publication Publication Date Title
CN101321283B (en) Codec methods and codecs compatible with different size block transformations
KR101313952B1 (en) Compressed domain system and method for compression gains in encoded data
JP6491691B2 (en) Method and apparatus for improved entropy encoding and decoding
US7436332B2 (en) Runlength encoding of leading ones and zeros
US8532192B2 (en) Video processing apparatus and a method of processing video data
JP2003250157A (en) Optimal scanning method of transform coefficients for encoding / decoding still and moving images
JP2001061154A (en) Picture prediction decoding method
CN101389014B (en) A region-based video encoding and decoding method with variable resolution
JP4768728B2 (en) Method and apparatus for encoding a block of values
JP2000341689A (en) Wavelet inverse transform apparatus and method, and wavelet decoding apparatus and method
Huang et al. Low memory and low complexity VLSI implementation of JPEG2000 codec
CN118354094A (en) Video image encoding and decoding method and device, electronic equipment and computer storage medium
US20150023410A1 (en) Method for simultaneously coding quantized transform coefficients of subgroups of frame
JP2005229441A (en) Image encoding apparatus and method, and image decoding apparatus and method
CN116980609A (en) Video data processing methods, devices, storage media and equipment
Pan et al. Context-based embedded image compression using binary wavelet transform
JP2993212B2 (en) How to combine images
CN101110955B (en) Apparatus and method for restoring images
CN101242529A (en) Data compression device and method
CN100349466C (en) Method and device for qrasi-energy convervation change in vide frequency image cornpression
US20100014764A1 (en) Image encoding/decoding devices and image band decomposing/composing devices
WO2024007090A1 (en) Ultra-high-definition video data encoding/decoding processing method, and system
Pan et al. A binary wavelet-based scheme for grayscale image compression
JPH06350856A (en) Picture encoding device
CN1672426A (en) A method of communicating data within a coder

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100407

Termination date: 20160610