Recherche Images Maps Play YouTube Actualités Gmail Drive Plus »
Connexion
Les utilisateurs de lecteurs d'écran peuvent cliquer sur ce lien pour activer le mode d'accessibilité. Celui-ci propose les mêmes fonctionnalités principales, mais il est optimisé pour votre lecteur d'écran.

Brevets

  1. Recherche avancée dans les brevets
Numéro de publicationCN100454339 C
Type de publicationOctroi
Numéro de demandeCN 200610088709
Date de publication21 janv. 2009
Date de dépôt12 sept. 2002
Date de priorité14 sept. 2001
Autre référence de publicationCN1866297A, CN1874509A, CN1874509B
Numéro de publication200610088709.7, CN 100454339 C, CN 100454339C, CN 200610088709, CN-C-100454339, CN100454339 C, CN100454339C, CN200610088709, CN200610088709.7
InventeursM·卡策维茨, R·库尔切伦
Déposant诺基亚有限公司
Exporter la citationBiBTeX, EndNote, RefMan
Liens externes:  SIPO, Espacenet
Method and system for context-based adaptive binary arithmetic coding
CN 100454339 C
Résumé  Langue du texte original : Chinois
一种图像编码方法,其中图像被分成了具有多个像素的块。 An image encoding method, wherein the image is divided into blocks having a plurality of pixels. 对像素块执行变换编码操作以便产生相应的变换系数值块,其中对所述变换系数值块进行扫描,以便产生一个经过扫描的系数值阵列,所述阵列由具有第一和第二数字的多个数字对表示。 Perform a transform on the pixel block coding operation to produce corresponding blocks of transform coefficient values, wherein the transform coefficient values of scan block to produce coefficient values after a scanning array, said array having a first and by a plurality of second digital digit pairs. 第一和第二数字指派到了表示所述数字对的多个上下文(14)之一。 The first and second digital assigned to a digital representation of the plurality of contexts (14) is one. 在这里,根据一个数字对的第一数字而将另一个数字对的第一数字指派给一个上下文。 Here, the first number by one digit of the first digit and the other pair is assigned to a digital context. 可替换地,一个数字对中的第二数字是基于数字对(16)中的第一数字而被指派给一个上下文的。 Alternatively, a number of the second figure is based on digital to (16) in the first digit is assigned to one context. 此外还确定了一个指示变换系数值块中非零系数值数目的数字,并且将其指派给一个上下文。 It also identified a transform coefficient values indicating the block number of non-zero coefficient values of numbers and assign it to a context.
Revendications(28)  Langue du texte original : Chinois
1.一种图像编码方法,其中图像被分成多个具有多个像素的块,每一个像素都具有一个像素值,并且变换编码操作对像素值的块执行从而产生一个相应的变换系数值块,所述变换系数值块是以一种给定的扫描顺序扫描的,从而产生一个经过扫描的系数值阵列,其中扫描的阵列中的系数值是由多个游程-等级数字对表示的,所述游程-等级数字对具有第一数字和第二数字,所述第一数字和第二数字被指派到表示游程-等级数字对的多个上下文之一, 其特征在于:游程-等级数字对的第二数字根据该游程-等级数字对的第一数字而被指派给一个上下文。 An image encoding method, wherein the image is divided into a plurality of blocks having a plurality of pixels, each pixel having a pixel value, and transform coding operation is performed to generate a block of transform coefficient values corresponding block of pixel values, The block transform coefficient values is a given scan sequential scanning, resulting in a coefficient array after scanning, which scans the coefficient values in the array comprises a plurality of run - grade number of represented the run - grade number for a first number and a second number, the first digit and the second digit is assigned to indicate a run - one grade number for the multiple contexts, characterized by: a run - on the first level of digital Two figures according to the run - the first digit of the numerical scale is assigned to a context.
2. 根据权利要求l的方法,其特征在于:所述多个上下文是基于上下文的算术编码器的上下文。 2. The method according to claim l, characterized in that: said plurality of context is a context-based arithmetic coder context.
3. 根据权利要求l的方法,其特征在于:所述多个上下文是基于上下文的二进制算术编码器的上下文。 3. The method according to claim l, characterized in that: said plurality of context is a context-based binary arithmetic coding in the context.
4. 根据权利要求3的方法,其特征在于:所述游程-等级数字对的第一数字被映射到一组二进制序列,其中所述二进制序列中的每一个都具有一个相关的二进制序列编号,并且每一个都能取第一值或第二值之一。 4. The method according to claim 3, wherein: said run - the first digital level is digital-to-binary sequence mapped to a set, wherein said binary sequences each having an associated binary sequence number, and each able to take one of the first value or the second value.
5. 根据权利要求3的方法,其特征在于:所述游程-等级数字对的第二数字被映射到一组二进制序列,其中所述一组二进制序列中的每一个都具有一个相关的二进制序列编号,并且都能取第一值或第二值之一。 5. The method according to claim 3, wherein: the run - the second digit of the numerical scale are mapped to a set of binary sequence, wherein the set of binary sequences each having an associated binary sequence number, and can be one of the first value or the second value is taken.
6. 根据权利要求4或5的方法,其特征在于:将数字映射到所述一组二进制序列中给定的一个是通过将二进制序列的值指派给第一值来指示的。 4 or 6. The method according to claim 5, characterized in that: the digital map to a set of binary sequences given a binary sequence by the value assigned to the first value indication.
7. 根据权利要求4或5的方法,其特征在于:第一值是l且第二值是0' 7. The method according to claim 4 or claim 5, wherein: l is the first value and the second value is 0 '
8. 根据权利要求5的方法,其特征在于:根据游程-等级数字对中的第一数字而将游程-等级数字对中的第二数字指派给一个上下文的处理考虑到了游程-等级数字对的笫二数字映射到的二进制序列编号。 8. The method according to claim 5, characterized in that: according to the run - grade number for the first digit and the run - grade number for the second digit is assigned to a context process takes into account the run - rank number pairs Zi second digital maps to a binary sequence number.
9. 根据权利要求l的方法,其特征在于: 所述第一数字指示非零系数值,以及所述第二数字指示在所述非零系数值之前的连续零系数值的数目。 9. l The method according to claim, wherein: the first number indicates the non-zero coefficient value, and the second number indicates the number of consecutive zero coefficient values in the previous non-zero coefficient value.
10. —种编码器,包括用于将图像分成多个具有多个像素的块的装置,其中每一个像素都具有一个像素值,此外还包括用于对像素块执行变换编码操作以便产生一个相应的变换系数值块的装置;用于以给定扫描顺序扫描变换系数值块以便产生一个扫描的系数值阵列的装置;用于使用多个游程-等级数字对来表示所述扫描的阵列中的系数值的装置,所述游程-等级数字对具有第一数字和第二数字的;以及用于将第一和第二数字指派给表示所述游程-等级数字对的多个上下文之一的装置,其特征在于:所述编码器包括用于根据游程-等级数字对的第一数字而将该游程-等级数字对的第二数字指派给一个上下文的装置。 10. - species encoder comprising means for dividing the image into a plurality of blocks having a plurality of pixels, wherein each pixel having a pixel value and further comprising a pixel for performing block transform coding operation to produce a corresponding The device block transform coefficient values; numerical coefficient block to produce an array of scanning device scans a given scan order of transform coefficients; means for using multiple run - grade digital-to represent the scanned array means coefficient values, the run - grade number having a first number and a second number; and the run for the first and second digital assigned to represent - more than one device context to the level of digital characterized in that: said encoder comprises according to the run - first digit on the numerical scale and the run - the second digit of the numerical scale assigned to a device context.
11. 根据权利要求10的编码器,其特征在于:所述多个上下文是基于上下文的算术编码器的上下文。 11. The encoder according to claim 10, wherein: said plurality of context is a context-based arithmetic coder context.
12. 根据权利要求10的编码器,其特征在于:所述多个上下文是基于上下文的二进制算术编码器的上下文。 12. The encoder according to claim 10, wherein: said plurality of context is a context-based binary arithmetic context coder.
13. 根据权利要求12的编码器,其特征在于:它还包括用于将所述游程-等级数字对的第一数字映射到一组二进制序列的装置,其中所述二进制序列中的每一个都具有一个相关联的二进制序列编号并且能够取笫一值或第二值之一。 The encoder according to claim 12, characterized in that: it further comprises means for the run - a first digital level is mapped to a digital means for a set of binary sequences, wherein said binary sequence in each It has an associated binary sequence number and can take on a value or the second one of Zi value.
14. 根据权利要求12的编码器,其特征在于:它还包括用于将所述游程-等级数字对的第二数字映射到一组二进制序列的装置,其中所述二进制序列中的每一个都具有一个相关联的二进制序列编号并且能够取第一值或第二值之一。 The encoder according to claim 12, characterized in that: it further comprises means for the run - a second digital level number pairs are mapped to a set of binary sequences apparatus, wherein said binary sequence in each associated with a binary sequence number and can take one of the first value or the second value.
15. 根据权利要求13或14的编码器,其特征在于:它还包括用于通过将所述二进制序列指派给第一值从而将一个数字映射到所述一组二进制序列中指定的一个二进制序列的装置。 15. The encoder as claimed in claim 13 or 14, characterized in that: it further comprises for said binary sequence by a first value assigned to a number which will be mapped to a binary sequence of said set of binary sequences specified devices.
16. 根据权利要求13或14的编码器,其特征在于:第一值是l并且第二值是0。 16. The encoder according to claim 13 or 14, wherein: l is the first value and the second value is 0.
17. 根据权利要求14的编码器,其特征在于:所述用于根据游程-等级数字对中的第一数字而将该游程-等级数字对中的第二数字指派给一个上下文的装置对该游程-等级数字对中的第二数字所映射到的二进制序列编号加以考虑。 The encoder according to claim 14, characterized in that: the means for according to the run - grade number for the first digit and the run - grade number for the second digit is assigned to a device context for the run - grade number for the second digit is mapped to a binary sequence number to be considered.
18. 根据权利要求10的编码器,其特征在于: 所述第一数字指示非零系数值,以及所述第二数字指示在所述非零系数值之前的连续零系数值的数目。 18. The encoder according to claim 10, wherein: said first non-zero coefficient value numerals, and the second number indicates the number of consecutive zeros in the coefficient values of nonzero coefficient value before.
19. 一种基于上下文的算术编码方法,包括下列步骤: 用码字表示数据符号阵列,所述阵列中的数据符号是包含了第一数字和第二数字的游程-等级数字对,游程-等级数字对中的第一数字被指派给从代表第一数字的多个上下文中选出的上下文,游程-等级数字对中的第二数字则被指派给从代表第二数字的多个上下文中选出的上下文,其特征在于:游程-等级数字对的第二数字是基于该游程-等级数字对的第一数字而被指派给一个上下文的. 19. A context-based arithmetic coding method comprising the steps of: using codeword symbols represent data array, the array contains the first data symbols are numbers and numbers run second - grade digital right, run - Level The first digit of the number is assigned to the elected representatives from multiple contexts in the context of the first digit, run - grade number for the second digit is assigned to multiple contexts were selected from among the representatives of the second digit out of context, characterized by: a run - the second digit of the numerical scale is based on the run - the first digit of the numerical scale is assigned to a context.
20. —种基于上下文的算术解码方法,包括下列步骤: 从表示数据符号阵列的码字中解码数据符号阵列,所述阵列中的数据符号是包含了第一数字和第二数字的游程-等级数字对,游程-等级数字对的第一数字被指派给从代表第一数字的多个上下文中选出的上下文,而游程-等级数字对的第二数字则指派给从代表第二数字的多个上下文中选出的上下文,其特征在于:游程-等级数字对的第二数字是基于该游程-等级数字对中的第一数字而被指派给上下文的。 20. - kind of a context-based arithmetic decoding method comprising the steps of: from a codeword symbol array data representing the decoded data symbol array, the array of data symbols are included first and second digital numbers run - Level digital right, run - the first digit of the numerical scale is assigned to elected representatives from multiple contexts in the context of the first number, and the run - the second digit of the numerical scale is assigned to the second digit of more representatives from a context selected context, characterized by: a run - the second digit of the numerical scale is based on the run - grade number for the first digit is assigned to the context.
21. 根据权利要求20的方法,其特征在于:所述多个上下文是基于上下文的二进制算术编码器的上下文。 21. The method according to claim 20, wherein: said plurality of context is a context-based binary arithmetic context coder.
22. 根据权利要求21的方法,其特征在于:所述游程-等级数字对的第一数字被映射到一组二进制序列,所述二进制序列中的每一个都具有一个相关的二进制序列编号,并且每一个都能够取第一值或第二值中的一个。 22. The method according to claim 21, wherein: said run - the first digital level number pairs into a set of mapped binary sequence, said binary sequences each having an associated binary sequence number, and each capable of taking a first value or a second value.
23. 根据权利要求21的方法,其特征在于:所述游程-等级数字对的第二数字被映射到一组二进制序列,所述一组二进制序列中的每一个都具有一个相关的二进制序列编号,并且能够取第一值或第二值中的一个。 23. The method according to claim 21, characterized in that: the run - the second digit of the numerical scale are mapped to a set of binary sequence, said a set of binary sequences each having an associated binary sequence number , and can take a first value or a second value.
24. —种基于上下文的算术编码器,包括使用码字来表示数据符号阵列的装置,所述阵列中的数据符号是包括第一数字和第二数字的游程-等级数字对;用于将游程-等级数字对的第一数字指派给从代表第一数字的多个上下文中选出的上下文的装置;以及用于将游程-等级数字对的第二数字指派给从代表第二数字的多个上下文中选出的上下文的装置,其特征在于:所述编码器还包括用于根据游程-等级数字对中的第一数字而将该游程-等级数字对中的第二数字指派给一个上下文的装置。 24. - kind of a context-based arithmetic coder, including the use of code words to represent the device, the array data symbol array of data symbols include first and second digital numbers run - Level Digital on; for the run - The first digit of the numerical scale assigned to the context of devices selected from a plurality of context on behalf of the first digit; and for the run - the second digit of the numerical scale assigned to multiple numbers from the representative of the second Context selected device context, wherein: said encoder further comprises means for according to the run - grade number for the first digit and the run - grade number for the second digit is assigned to a context devices.
25. —种基于上下文的算术解码器,包括用于从表示数据符号阵列的码字中解码出所述阵列的装置,其中所述阵列中的数据符号是包括第一数字和第二数字的游程-等级数字对;用于将游程-等级数字对的第一数字指派给从代表第一数字的多个上下文中选出的上下文的装置;以及将游程-等级数字对的第二数字指派给从代表第二数字的多个上下文中选出的上下文的装置,其特征在于:所述解码器包括用于根据游程-等级数字对中的第一数字而将该游程-等级数字对中的第二数字指派给一个上下文的装置。 25. - kind of a context-based arithmetic decoder for decoding the codeword includes data representing the symbol array means the array, wherein the array of data symbols include first and second digital numbers run - Level Digital on; for the run - the first digital grade number assigned to the context of a device selected from the plurality of context on behalf of the first digit; and will run - the second digit of the numerical scale assigned to the Context means representing the second digit of multiple contexts selected, wherein: said decoder comprises according to the run - grade number for the first digit and the run - on the second level of digital Digital assigned to a device context.
26. 根据权利要求25的解码器,其特征在于:所述多个上下文是基于上下文的二进制算术编码器的上下文。 26. The decoder of claim 25, wherein: the plurality of context is the context of a context-based binary arithmetic encoder.
27. 根据权利要求26的解码器,其特征在于:所述游程-等级数字对的笫一数字被映射到一组二进制序列,所述二进制序列中的每一个都具有一个相关的二进制序列编号,并且每一个都能够取第一值或笫二值中的一个。 27. The decoder of claim 26, wherein: the run - grade number for the undertaking of a number is mapped to a set of binary sequence, said binary sequences each having an associated binary sequence number, and each is capable of taking a first binary value or a sleeping mat.
28. 根据权利要求26的解码器,其特征在于:所述游程-等级数字对的第二数字被映射到一组二进制序列,所述一组二进制序列中的每一个都具有一个相关的二进制序列编号,并且能够取第一值或第二值中的一个。 28. The decoder of claim 26, wherein: said run - the second digit of the numerical scale are mapped to a set of binary sequence, said a set of binary sequences each having an associated binary sequence number, and can take a first value or a second value.
Description  Langue du texte original : Chinois

基于上下文的自适应二进制算术编码的方法和系统 Context-based adaptive binary arithmetic coding method and system

本申请是申请号为02822672.0的专利申请的分案申请。 This application is a divisional application No. 02822672.0 of patent applications. 技术领域 Technical Field

本发明一般地涉及静止图像和视频序列压缩,尤其涉及一种基于上下文的自适应二进制算术编码方法和系统。 The present invention relates to a sequence of still images and video compression in general, and more particularly to an adaptive binary arithmetic coding method and system context-based.

背景技术 Background

未压缩形式的数字图像包含了一个图像像素或图元的阵列。 Uncompressed form of digital image contains an array of image pixels or entities. 例如,在一种以四分之一通用中间格式(QCIF)著称的常用数字图像格式中,图像或帧包含了排列在一个176 x 144像素的阵列中的25, 344 个像素。 For example, in one to one-quarter common intermediate format (QCIF) commonly known digital image format, an image, or arranged in a frame comprising a 176 x 144 pixel array 25, 344 pixels. 每个像素依次由一定数量的比特表示,它们传送的是关于像素明亮度(亮度)和/或颜色(色度)的信息。 Each pixel is represented by a sequence of a certain number of bits, which are transmitted and / or color (chrominance) information on the pixel brightness (luminance). 此外还存在表示数字图像中的亮度和/或色度的不同方案。 There is also the representation of different options in the digital image brightness and / or chroma. 通常使用的则是所谓的YUV颜色模型。 Commonly used is the so-called YUV color model. 其中亮度或Y分量表示像素亮度,并且像素颜色由U和V标记的两个色度或色差分量来表示。 Wherein the brightness or Y component represents the pixel brightness and color of the pixel by two chrominance or color difference components U and V mark to represent. 此外还通常用到那些以表示光的三原色的分量为基础的其他颜色模型,例如RGB(红,绿,蓝)颜色模型。 In addition, those other color models are usually used to represent the three primary colors of light-based components, such as RGB (red, green, blue) color model. 然而,与基于原色的颜色模型相比,基于亮度/色度表示的颜色模型则更具优势。 However, compared with the colors of the color model, color model based on the luminance / chrominance representation is an advantage. 这些优势源自于人类视觉系统更易于感受到光亮变化而不是颜色变化的特性。 These benefits derived from the human visual system is easier to feel the changes instead of bright color change characteristics. 而YUV颜色模型通常为色度分量(U, V)使用了一个低于亮度分量(Y)的空间分辨率,由此利用了这种特性。 The YUV color model is usually chrominance components (U, V) below using a luminance component (Y) spatial resolution, whereby the use of this feature. 这样就可以在不显著降低所察觉图像质量的情况下减少表示图像色彩信息所需要的信息量。 This may not significantly reduce the perceived reduction in the image quality image color information indicates the amount of information needed.

色度分量的较低空间分辨率通常是借助于二次抽样来实现的。 Lower spatial resolution of the chrominance components is usually achieved by means of a subsampled. 通常, 一个16 x 16图像像素的块由四个包含了亮度信息的8 x 8像素的块表示,相应色度分量分别由一个8 x 8像素的块来表示,其中所述块表示一个与亮度分量中的16 x 16像素的块等价的图像区域。 Typically, four contain luminance information blocks of 8 x 8 pixels block a 16 x 16 pixel image, said corresponding chrominance component by an 8 x 8 pixel blocks, respectively, where the block represents a luminance component of the 16 x 16 pixel blocks equivalent to the image area. 因此色度分量在x和y方向上由一个大小为2的因数来进行空间二次抽样。 Therefore chrominance component in the x and y directions by a factor of a size 2 to carry out space subsample. 最终得到的四个8 x 8像素的亮度块以及2个在空间上与之对应的8 x 8 像素的色度块的组合通常称为一个YUV宏块,或者简称为宏块。 And a spatially corresponding chrominance blocks combination resulting four 8 x 8 pixel luminance blocks two 8 x 8 pixels is usually referred to as a YUV macroblock, or simply macroblock. 而QCIF And QCIF

图像包括11 x 9个宏块。 Including 11 x 9 image macro block. 如果用8位(也就是0到255这个范围中的数字)分辨率来表示亮度块和色度块,那么,用于表示与每个宏块相关联的亮度和色度信息所需要的总比特数为6 x ( 8 x 8 x 8 ) = 3072比特。 If eight (ie 0-255 numbers in this range) resolution indicates the luminance blocks and chrominance blocks, then the total bits used to represent the luminance and chrominance information associated with each macroblock required number 6 x (8 x 8 x 8) = 3072 bits. 因此,用于表示QCIF格式图像所需要的比特数为99 x 3072 = 304, 128比特。 Therefore, the number of bits used to represent QCIF format image to the demands of 99 x 3072 = 304, 128 bits.

应该了解的是,即使是在如上所述使用一个大小为2的因数来对数字图像的两个色度分量进行二次抽样的情况下,中等大小(例如17 4 It should be understood that, even in the case described above, using a size 2 to a factor subsample of two chrominance component digital image of medium size (for example, 174

x 1"像素)的未压缩图像也会需要大量比特来供显示所用。这意味着以未压缩格式保存数字图像所需要的存储器数量将会过度。此外,举例来说,如杲经由一个具有中等或较低可用带宽的数据通信网络来传送静止图像,那么传输时间将会很长或者网络有可能会发生阻塞。如果希望实时发送作为数字视频序列的一系列图像,那么带宽需求甚至会更为严格。例如,以每秒30帧的速率传送一个使用了YUV颜色模型表示并包括一系列未压缩QCIF格式图像的数字序列需要用到9Mb/s x 1 "pixels) uncompressed image will require a lot of bits to be used for display. This means that in order to save the digital image uncompressed format required amount of memory will be over. In addition, for example, such as by having a moderate Gao or lower available bandwidth data communications network to transmit still images, then the transmission will take longer or the network may clog occur. If you want to send real-time digital video sequence as a series of images, so bandwidth requirements even more stringent For example, at a rate of 30 frames per second using the YUV transmission of a color model and includes a series of numbers showing QCIF format image sequences need to use uncompressed 9Mb / s

(百万比特/秒)以上的带宽。 (Million bits / second) or more bandwidth. 由于需要很大的存储器容量、传输信道容量和硬件性能,因此,在被用于视频记录、传输和显示时,这种高数据速率通常是不切实际的。 Due to the need a large memory capacity, transmission channel capacity and hardware performance, and therefore, when it is used for video recording, transmission and display, this high data rate is often impractical. 如果要在ISDN(综合业务数字网)或PSTN If you want to ISDN (Integrated Services Digital Network) or PSTN

(公共交换电话网)这类固定线路上实时传送视频序列,那么可用数据传输带宽通常约为64k/s。 (Public Switched Telephone Network) real-time transmission of video sequences such fixed line, then the available data transmission bandwidth is typically about 64k / s. 在移动可视电话中,至少有一部分传输是在无线电通信链路上进行的,那么可用带宽有可能会低到20kb/s。 In the mobile videophone, at least part of the transmission is in radio communication link, then the available bandwidth may be as low as 20kb / s. 这意味着必须显著减少用于表示视频数据的信息量,以便能在低带宽的通信网络上传输数字图像或视频序列。 It implies a significant reduction in the amount of information used to represent video data, in order to transmit the digital image or video sequence on a low bandwidth communications network. 然而合乎需要的是,这种减少应该在不显著降低图像/视频序列质量的情况下实现。 However desirable, this should not significantly reduced under reduced image / video sequence to achieve the quality of the case.

在过去数年中已经针对减少表示数字图像和视频序列所需数据量而进行了大量的研究工作,由此开发了多种不同方案和国际标准来对数字静止图像和数字视频进行压缩。 In the past few years have been aimed at reducing the digital images and video sequences showing the amount of data required a lot of research work, which has developed a variety of different programs and international standards for compression of digital still images and digital video. 在现有的几乎所有静止图像和视频编码器中,所使用的基本的图像压缩方法都包含了基于块的变换编 In almost all existing still images and video encoder, the basic image compression methods used include a block-based transform coding

码。 Code. 通常,变换编码是将来自一个包含像素值的图示的图像数据转换成一种包含一组系数值的形式,其中每一个系数值都是所论述变换的基函数的一个加权因数(乘数)。 Generally, transform coding is image data from a pixel value is converted into a graphical representation of the form comprises a set of coefficient values, wherein each value of the system is a weighting factor (multiplier) transform basis functions discussed. 此外还可以显示,在典型的数字图像内部存在相当大程度的空间冗余。 Can also be displayed in addition, there is considerable degree of redundancy in the space inside a typical digital image. 事实上,这意味着图像内部任何像素值通常与其紧邻的其他像素值实际是相同的,也就是说,在像素 In fact, this means that the value of any pixel within the image is usually close to its other pixel value is actually the same, that is, in the pixel

值间存在很大程度上的相关。 The correlation between the presence of largely value. 此外进一步已知的是,在对图像执行某 In addition further known that some of the images in the execution

些数学变换,例如二维离散余弦变换(DCT)的时候,这种空间冗余度将会显著降低,由此产生一个更为简洁的图像数据显示。 Some mathematical transformation, such as the two-dimensional discrete cosine transform (DCT), when such a spatial redundancy will be significantly reduced, thereby producing a more concise image data. 在JPEG静止图像编码中使用的基于块的变换编码例如,在根据广泛使用的JPEG标准的基准模式所执行的静止图像 Block based transform coding, for example, in the still image according to the JPEG standard is widely used reference pattern performed by using the JPEG still image encoding

压缩中,所要编码的图像首先分成互不重叠的方形块阵列,其中举例来说,每一个块都包括一个8 x 8的图像像素阵列。 Compression, the first image to be encoded into an array of non-overlapping square blocks, where for example, each block comprises an array of image pixels 8 x 8 in. 然后,就JPEG基 Then, based on JPEG

准而言则是将二维离散余弦变换(DCT)独立应用于每一个图像块。 Quasi-two-dimensional discrete cosine terms sucked transform (DCT) is applied independently to each image block. 这样做具有把来自像素值域的图像数据转换到空间频域并产生一组相应系数值的效果,其中每个系数值都是一个关于二维DCT基函数的加权因数。 This has to convert the image data from the pixel range of the spatial frequency domain and generates a set of coefficients corresponding effect, where each coefficient is a weighting factor on a two-dimensional DCT basis functions. 由此产生的系数值经过量化,然后使用熵编码而以一种无损方式对其进行编码,从而进一步减少供其显示所需要的数据量(也就是比特数)。 The resulting coefficient values after quantization, and entropy coding used in a non-destructive manner and be encoded, thereby further reducing the amount of available (i.e. the number of bits) required to display the data. 根据JPEG基准,熵编码器只使用了霍夫曼编码来产生一个压缩比特流,但在其他模式中也可以使用算术编码。 According to JPEG baseline, the entropy encoder only uses Huffman coding to produce a compressed bit stream, but other modes may also be used arithmetic coding. 最终,用于描迷图像和编码参数(例如压缩类型、量化和编码表、图像大小等等)的数据被嵌入熵编码器产生的比特流中。 Eventually, fans used to describe the image and encoding parameters (such as compression type, quantization and coding table, image size, etc.) embedded in the bit stream data is generated in the entropy encoder. 而由于JPEG标准包括四种备选编码模式并且只对可用的量化和编码表安插了少量约束条件,因而有必要执行上述操作,以便能在不同平台之间互换JPEG压缩比特流并且在毫无歧义的情况下重建图像。 And because the JPEG standard includes four options for coding mode and available only for the quantization and coding table placed a small number of constraints, it is necessary to perform the operation in order to JPEG compressed bit stream in an exchange between different platforms and in no the reconstructed image of the case of ambiguity.

类似胶片上所记录的常规电影这样的数字视频序列包括一系列静止图像(通常称之为"帧,,),而运动错觉则是通过以通常为每秒15 到30帧这样的相对较快的速率相继显示所述帧而产生的。与任何静止图像一样,在一个数字视频序列内部,单独帧的像素值将会显示出相当大的空间冗余。因此,与单独的静止图像一样,数字视频序列的帧也可以由基于块的变换编码来进行处理。 Such digital video sequences similar to a conventional movie recorded on the film comprises a series of still images (usually referred to as "frame ,,), and by the illusion of motion is typically 15 to 30 frames per second, this relatively fast displaying said successive frame rate generated. Like any still images in a digital video sequence internal, single-frame pixel values will show considerable spatial redundancy. Thus, as a still image alone, Digital Video frame sequence may be encoded by a transform based on the block to be processed.

同样,视频序列相邻帧的图像往往是相似的,因此,在某个视频帧与下一枧频帧之间,整体上的变化是非常小的。 Similarly, adjacent image frames of a video sequence is often similar, therefore, between a video frame and the next frame frequency soap, overall change is very small. 这意味着在典型数字视频序列内部存在相当大的时间冗余。 This means that there is considerable redundancy in the time inside a typical digital video sequences. 例如,在一个场景中可以包括诸如背景景物之类的某些静止元素,也可以包括某些运动区域,例如新闻广播员面部。 For example, in one scene may include some static elements such as background scenery and the like, it may also include some sports areas, such as newscasters face. 在序列的相邻帧中,背景可能保持不变,而场景中的唯一运动则由新闻广播员面部表情的变化产生。 In a sequence of adjacent frames, background likely to remain unchanged, but the only sports scene changes by the newscaster facial expressions generation. 因此,在形成视频序列的压缩表示时,除了减少空间冗余的方法之外,也可以使用那 Thus, the formation of the compressed video sequence is represented, in addition to the method of reducing spatial redundancy outside, it can also be used

些减少序列中图《象数据时间冗余的技术,由此实现进一步的数据压缩。 These reduce the time sequence of image data redundancy technology map ", thereby achieving further data compression.

混合视频编码器/解码器 Hybrid video encoder / decoder

现有技术的视频编码系统使用了一种以运动补偿预测著称的技术来减少视频序列中的时间冗余。 The prior art video coding system using motion compensated prediction with a known technique to reduce the temporal redundancy in video sequences. 就这种运动补偿技术而言,在数字视频序列中,某些(通常很多)帧的图像内容是从序列中的一个或多个其他帧"预测"的,其中所述其他帧即为通常所说的"参考帧"。 On such motion compensation, in digital video sequences, certain (usually much) from the image content of the frame is a sequence of one or more other frames "predicted", wherein said other frame is usually say "reference frame." 图像内容的预测是通过使用"运动矢量"在将要编码的帧与一个或多个参考帧之间追踪一个图像中的对象或区域来实现的。 Prediction of image content is achieved by using "motion vectors" between the reference frame in the frame to be encoded with one or more track objects in the image or a region to achieve. 一般来说,在视频序列中, 一个或多个参考帧可以先于将要编码的帧或是跟随在所迷帧之后。 Generally, in a video sequence, one or more reference frames may be encoded prior to or following the frame in the frame after the fan. 然而,从本文的后续论述中可以明显看出,将运动补偿预测 However, from the subsequent discussion herein it will be apparent, the motion-compensated prediction

少两种类型的编码,这样做并不适当(或者可能)。 At least two types of coding, this is not appropriate (or possible).

使用运动补偿预测而被压缩的视频序列帧通常称为帧间编码或P 帧。 Motion compensated prediction while compressed video sequence is generally referred to as inter-coded frames or P frames. 光是运动补偿预测则很难提供足够清楚的视频帧图像内容表示, 因此通常有必要为各个帧内编码的帧提供一个所谓的"预测误差" Motion compensated prediction alone is difficult to provide sufficiently clear representation of the video frame image content, it is often necessary to provide a so-called "prediction error" for each intra-coded frame

(PE)帧。 (PE) frame. 如本文稍后更为详细描述的那样,预测误差帧表示的是帧间编码帧的解码版本与编码帧图像内容之间的差别。 As used herein, as described in more detail later, the prediction error frame represents the difference between the decoded version of the inter-coded frame and the encoded frame image contents. 更具体地说,预测误差帧包含了表示将要编码的帧的像素值与基于所论述帧的预测 More specifically, the prediction error frame contains a pixel value indicates a frame to be encoded and frame-based prediction discussed

(帧间编码)版本而形成的对应重建像素值之间的差别。 Reconstruction of the pixel values corresponding to the difference (inter-coded) formed between versions. 因此,预测误差帧具有与静止图像相似的特征,并且可以通过应用基于块的变换编码来减少表示该帧所需要的数据量(比特数)。 Thus, the prediction error frame has characteristics similar to a still image, and by applying a block-based transform coding to reduce the amount of expressed (number of bits) required for the data frame.

没有使用运动补偿预测压缩的视频序列帧被称为帧内(帧内)编码或I帧。 Without using motion compensated prediction the compressed video sequence is called intra-frame (intraframe) coded or I frame. 通常,帧内编码帧是借助了将基于块的变换编码应用于所要编码帧的像素值而产生的。 Typically, intra-coded frame is by means of a block-based transform coding applied to the frame to be coded pixel value generated. 另外在可能的情况下,帧内编码帧的块是从同一帧以内的先前编码块中预测的。 Also, where possible, the blocks are intra-coded frame prediction from previously encoded blocks within the same frame. 这种技术即为通常所说的帧间预测,它具有进一步减少表示桢内-编码帧所需要的数据量的效果。 This technique is commonly referred to as inter prediction, which has further reduced the frame represents - required amount of coded frame data effect.

在将对图1加以参考,^图是常规混合视频编码器的示意图,'其中使用了帧内与帧间编码的组合来产生一个压缩(编码)视频比特流。 In Figure 1 reference will be, ^ is a schematic representation of a conventional hybrid video encoder, 'which uses a combination of intra and inter-coding to produce a compressed (encoded) video bit stream. 在图2中描述了相应的解码器并且稍后将在文中对其进行描述。 Describe the corresponding decoder in Fig. 2 and will be described later in the text.

视频编码器300包括一个用于从相机或其他视频源(未显示)接 The video encoder 300 includes a used camera or from other video source (not shown) then

收数字视频信号的输入端301。 Digital video signal input terminal received 301. 它还可以包括一个调整为执行基于块的离散余弦变换(DCT)的变换单元304, 一个量化器306,一个反向量化器308, 一个调整成执行基于块的反离散预先变换(IDCT)的逆变换单元310,组合器312和316以及一个帧存储器320。 It may also include an adjustment to perform block-based discrete cosine transform (DCT) conversion unit 304, a quantizer 306, an inverse quantizer 308, to perform an adjustment based on an inverse discrete transform block previously (IDCT) for inverse conversion unit 310, the combiner 312 and 316 and a frame memory 320. 编码器还包括运动估计器330,运动场编码器(motion field encoder) 340以及运动补偿预测器350。 The encoder further comprises a motion estimator 330, playground encoder (motion field encoder) 340 and a motion-compensated predictor 350. 开关302和314则是通过控制管理器360在視频编码的帧内模式与视频编码的帧间模式之间切换编码器而以协同方式进行操作的。 Switches 302 and 314 are 360 between the intra-mode of video encoding and interframe encoding mode switching video encoder and operate in a cooperative manner by the control manager. 编码器300还包括视频复用编码器370,它从编码器300生成的各种类型信息中构成单独比特流335,以便进一步传输到远程接收终端,或者举例来说,它也可以将所述比特流保存在一个大容量存储介质中,例如计算机硬盘(没有显示)。 The encoder 300 further comprises a video multiplex coder 370 which forms a single bit-stream 335 from the various types of information generated by the encoder 300 for further transmission to a remote receiving terminal, or for example, it can be said bit stream is stored in a large-capacity storage medium, such as a computer hard disk (not shown).

编码器300是如下运作的。 The encoder 300 is functioning as follows. 视频源提供给输入端301的各个未压缩视频帧都是以逐个宏块的方式接收和处理的,其中最好以光栅扫描顺序来对其进行处理。 Video source to the input terminal 301 are each uncompressed video frame-by-macroblock manner of receiving and processing, one of the best in raster scan order to be processed. 在开始编码新的视频序列时,所述序列中的第一帧是作为一个帧内编码帧来编码的。 At the beginning of a new video sequence is encoded, the first frame of the sequence as an intra-coded frame is encoded. 接下来,除非满足下列条件之一,否则将通过对编码器进4亍编程来以帧间编码格式编码各帧:l)判定正被编码的当前帧与预测中使用的参考帧很不一样,并由此产生了过多预测误差信息;2)预先定义的帧内帧的重复间隔已经终止;或者3)从一个接收终端接收到一个反馈,该反馈表示的是一个要求以帧内编码格式来提供帧的请求。 Next, unless one of the following conditions are met, otherwise it will pass on the right foot into 4 encoder programming in inter-encoding format for each frame: l) determining the reference frame being encoded using the current frame and the prediction is very different, and the resulting excessive prediction error information; 2) predefined frame repetition interval has expired frames; or 3) from a receiving terminal receives a feedback, the feedback indicates is a requirement in intra-coded format to provide the requested frames.

条件1)的出现是通过监视组合器316的输出来检测的。 Condition 1) the emergence of the combiner 316 by monitoring the output of detection. 组合器316在正被编码帧的当前宏块与其在运动补偿预测部件350中产生的预测之间形成一个差值。 Combiner 316 between the frame being coded and its prediction of the current macroblock generated in the motion-compensation predicting unit 350 forms a difference. 如果关于这个差值的量度(例如像素值的绝对差值总和)超出一个预定门限,那么組合器316将经由控制线319 来向控制管理器360发出通知,并且控制管理器360将经由控制线313 来操作开关302和314,以便将编码器300切换到帧内编码模式。 If the difference on this measure (for example, the sum of absolute difference of pixel values) exceeds a predetermined threshold, then the combiner 316 via the control lines 319 to 360 notify the control manager and control manager 360 via control line 313 switches 302 and 314 to operate, so that the encoder 300 is switched to intra-coding mode. 条件2 )的出现是借助于控制管理器360中的定时器或帧计数器而以如下方式进行监视,如果定时器终止或者帧计数器达到预定数量的帧,则控制管理器360经由控制线313操作开关302和314,以便将编码器切换到帧内编码模式。 Condition 2) the emergence of the aid control manager 360 timer or frame counter and monitors the following manner, if the timer expires or frame counter reaches a predetermined number of frames, the control manager 360 via control line 313 operating switch 302 and 314, so that the encoder is switched to intra-coding mode. 如果控制管理器360经由控制线321而从一个接收终端接收到一个表示接收终端需要对帧内编码帧进行刷新的反馈信号,则触发条件3)。 If the control manager 360 receives from a receiving terminal, via control line 321 to a receiving terminal indicates the need for intra-coded frames are refreshed feedback signal, the trigger condition 3). 例如,如果先前发送的帧在其传送过程中因为千扰而受到严重破坏,进而不可能在接收机上对其进^f亍解码,则有可能出现这种情况。 For example, if the previously transmitted frame in its transmission process because of interference and which has been severely damaged, and thus can not be on the receiver decodes it into ^ f right foot, there may be the case. 在这种条件下,接收解码器发出一个要求以帧内编码格式来对下一帧进^f亍编码的请求,由此重新初始化所述编码序列。 Under this condition, the receiver sends a decoder in intra-coded format requires ^ f right foot into the next frame coding request, the coding sequence whereby reinitialization.

现在对帧内编码模式中的编码器300的操作进行描述。 Now intra-coded mode of operation of the encoder 300 will be described. 在帧内编码模式中,控制管理器360对开关302进行操作,以便从输入线318 接收视频输入。 In intra-coding mode, the control manager 302 operates switch 360 pairs to 318 receives video input from input line. 视频信号则是以逐个宏块的方式并经由输入线318而从输入端301接收的。 The video signal is based on a macroblock-by mode and received from the input terminal 301 via the input line 318. 在对其进行接收的时候,构成宏块的亮度和色度值块传递到DCT变换单元304,所述单元对每一个块值执行一个二维离散余弦变换,由此为各个块产生一个二维DCT系数阵列。 In its reception, when the luminance and chrominance values constitute macroblocks transmitted to the DCT unit 304, the unit of a two-dimensional discrete cosine transform on each block execution value, thereby producing a two-dimensional for each block DCT coefficient array. 举例来说, 在前迷情况中,每一个宏块都包括4个8 x 8的亮度值块以及两个在空间上与之对应的8 x 8像素的色度值块,而DCT变换部件304则为每个块产生一个8 x 8的系数值阵列。 For example, the front fan case, each macroblock includes four blocks of 8 x 8 luminance values and two spatially corresponding 8 x 8 block of pixel color values, and the DCT transform unit 304 Each block was to produce a 8 x 8 array coefficient values.

关于各个块的DCT系数传递到量化器306,在所述量化器306中使用量化参数QP对其进行量化。 On each block of DCT coefficients is passed to the quantizer 306, the quantization parameter QP used to quantify the quantizer 306. 关于量化参数QP的选择是经由控制线315并由控制管理器360来控制的。 Choose the quantization parameter QP is controlled via a control line 315 by the manager 360 to control. 由于经过量化的系数的数值精度低于DCT变化单元304初始生成的系数的数值精度,因此所述量化会引入一个信息损失。 Because after numerical precision quantized coefficients of variation of less than DCT unit 304 generates the initial numerical precision coefficients, and therefore the quantization introduces a loss of information. 这样就提供了另外一种借以减少表示视频序列中各个图像所需数据量的机制。 This provides another mechanism for representing data so as to reduce the amount of video sequences required for each image. 然而,与实质无损的DCT变换所不同, 通过量化引入的信息损失会导致图像质量的不可逆降级。 However, the essence of lossless DCT transform different information introduced by quantifying the loss of image quality will lead to irreversible degradation. 应用于DCT 系数的量化程度越高,图像质量的损失也就越大。 The higher the degree of quantization applied to the DCT coefficients, the greater the loss of image quality.

如图1的线路325所示,对每一个块来说,其经过量化的DCT系数将从量化器306传递到视频复用编码器370。 Line 325 as shown in FIG. 1, for each block, its quantized DCT coefficients from the quantizer 306 is transmitted to the video multiplex coder 370. 视频复用编码器370 使用一个Z字形扫描过程来对各个块的变换系数进行排序。 Video multiplex coder 370 uses a Z-shaped scanning process to sort of transform coefficients for each block. 这个操作是将经过量化的变换系数的二维阵列转换到一个一维阵列中。 This operation will go through a two-dimensional array of quantized transform coefficients to convert into a one-dimensional array. 如图3 所示的典型的Z字形扫描大致是以空间频率递增的顺序来对系数进行排序的。 Typical Z-shaped scanning as shown in Figure 3 is roughly in order of increasing spatial frequency coefficients sort. 此外,所述操作往往还根据系数值来对其进行排序,以使一维阵列中位置较早的系数更有可能比阵列中位置靠后的系数具有更大绝对值。 In addition, the operations often also based on the coefficient values to sort them to make a one-dimensional array of coefficients position earlier are more likely to have a larger absolute value than the coefficient array rearward position. 这是因为在图像块内部,较低的空间频率往往具有较高的幅度。 This is because the image block inside, lower spatial frequencies tend to have a higher amplitude. 因此,在经过量化的变换系数的一维阵列中,末尾的那些值通常为零。 Thus, the quantized transform coefficients in the one-dimensional array, usually zero at the end of those values.

DCT变换系数的游程-等级(run-level )编码 DCT transform coefficients of the run - Level (run-level) coding

通常,视频复用编码器370使用了名为等级(level )和游程(run)的两个值来表示一维阵列中经过量化的各个非零系数。 Typically, the video multiplex coder 370 uses a named rank (level) and run (run) of the two values to represent a one-dimensional array, each non-zero coefficients after quantization. 等级是经过量化的系数的值,而游程则是所论述系数之前的连续零值系数数目。 Level is quantized coefficients values and the run is the number of consecutive zero coefficient values of the coefficient discussed before. 关于给定系数的游程和等级的值经过排序而使得等级的值是在相关的游程值之前。 Value to the value of a run on a given coefficient and rank after rank ordering and so is run before the associated value. 而与零相等的等级值则用于表示所述块中没有非零系数。 With the rank equal to a value of zero is used to indicate no non-zero coefficient in the block.

这个大小为0的等级值称为E0B (块结束)符号。 The size 0 rating value is called E0B (block end) symbol. 燏编码 Yu - Coding

通过使用熵编码,在视频复用器370中进一步对游程和等级的值进行了编码。 By using entropy coding, the video multiplexer 370 run further value and rating encoded. 所述熵编码是一个无损操作,它利用的是所编码数据集内部符号通常具有不同出现概率这一事实。 The entropy coding is a lossless operation, which uses the encoded data sets often have different internal symbol probability that fact. 这样一来,通过指派一个可变数字,可以用具有更少比特的码字来表示更有可能出现的符号, 而不是使用固定数量的比特来表示每个符号。 Thus, by assigning a variable number, it can be used with fewer bits to represent a codeword symbols are more likely to arise, instead of using a fixed number of bits to represent each symbol. 因此,熵编码通常称为可变长度编码(VLC)。 Thus, the entropy coding is generally referred to as variable length coding (VLC). 由于某些等级和游程比其他值更有可能出现, 因此可以有效使用熵编码技术来减少表示游程和等级的值所需要的比特数目。 Because some grades and run more likely than other values, so you can effectively use the entropy coding techniques to reduce the number of bit values of the run and the required level of representation. 在这里可以使用多种不同方法来实施熵编码。 Here you can use a variety of different ways to implement entropy coding. 例如,游程和等级参数的熵编码可以借助于定义所编码数据集中各个可能符号与相应可变长度码之间映射的查找表实施。 For example, entropy coding run and level parameters may define the encoded data set by means of the mapping between each possible symbol corresponding variable length code lookup table embodiment. 这种查找表通常是通过对训练资料进行统计分析而被定义的,其中所述训练资料与所编码符号包含相同符号并具有相似统计特性。 This lookup table is usually done by statistical analysis of the training data is defined, wherein the training data and the coded symbols contain the same symbols and have similar statistical properties. 此外还有一种名为算术编码的替换技术,它可用于将游程和等级值转换成可变长度码字。 In addition there is an alternative technique called arithmetic coding, which can be used to convert the run and level values into variable length code words. 例如,在对一组符号进行算术编码时,用于对转换系数块进行量化的游程与等级值是作为一个浮点型的十进制数来编码的。 For example, when a group of symbols arithmetic coding, for quantized transform coefficients blocks the run and level values as a decimal floating-point coded.

一旦使用了恰当方法来对游程和等级值进行熵编码,则视频复用编码器进一步将其与控制信息结合,此外还使用了一种适于所论述信息类型的可变长度编码方法来进行熵编码,从而形成编码图^f象信息335 的单独压缩比特流。 Once the proper way to run and level values for entropy encoding, the video re further be combined with encoder and control information, in addition to information on the use of a suitable type of variable length coding method discussed for entropy coding, thereby forming image information coded map ^ f 335 separate compressed bit stream.

宏块的本地解码版本也是在编码器300中形成的。 Local decoded version of the macroblock in the encoder 300 is formed. 这个操作是通过将量化器306输出的关于各个块的量化变换系数经由反向量化器308以及在逆变换单元310中应用一种反向DCT变换来完成的。 This operation is performed by the quantizer 306 outputs on each block of quantized transform coefficients via the inverse quantizer 308 and the inverse transform unit 310, an inverse DCT transform applied to complete. 这样一来,重建的像素阵列是为所述宏块中的各个块构造的。 As a result, the pixel array is the reconstructed macroblock in each block configuration. 最终得到的图像数据输入到组合器312。 The resulting image data is input to combiner 312. 在帧内编码模式中对开关314进行设定, 以使经由开关314到达组合器312的输入为零。 In intra-coding mode switch 314 to set, so that the composition reaches the zero switch 314 via the input 312. 这样一来,组合器312 执行的操作等价于传递那些没有发生变化的解码图像数据。 In this way, the operation performed by combiner 312 is equivalent to passing the decoded image data that does not change the.

在接收到当前帧的宏块并对宏块执行了单元304、 306、 308、 310 和312中的前述编码和解码步骤的时候,在帧存储器32 0中构造帧内编码帧的解码版本。 Upon receiving the current frame macroblock and the macroblock execution unit 304, 306, 308, 310 and 312 of the preceding encoding and decoding step, when constructed intra-coded frame in the frame memory 320 in the decoding version. 在对当前帧的最后一个宏块执^f亍了帧内编码和后续解码之后,帧存储器320将会包含一个完全解码的帧,在以帧间编码格式编码后续接收的视频帧的过程中,所述完全解码的帧可以用作一个预测参考帧。 In the last macroblock of the current frame is executed ^ f the intra-coded and the right foot after the subsequent decoding, the frame memory 320 will include a completely decoded frame, during the inter-coded video frames in the subsequent received encoded format, said fully decoded frames can be used as a prediction reference frame.

现在对帧间编码模式中的编码器3 00的操作进行描述。 Now inter-coding mode operation of the encoder 300 will be described. 在帧间编码模式中,控制管理器360通过操作开关302来从线路317接收其输入,其中包含了组合器316的输出。 In the inter-frame coding mode, the control manager 360 to 317 by operating the switch 302 receives its input from the line, which includes the output combiner 316. 组合器316以宏块方式从输入端301中接收视频输入信号。 Combiner 316 receives a video input signal from the input terminal 301 to the macro block mode. 在组合器316接收到构成宏块的亮度和色度值的块的时候,它会形成相应的预测误差信息块。 In the combiner 316 receives the blocks of luminance and chrominance values of macroblock when it forms corresponding blocks of prediction error information. 所述预测误差信息表示的是所论述的块与运动补偿预测单元350中产生的其预测值之间的差值。 The prediction error information represents the difference between the predicted value of the block and the motion compensation prediction unit 350 discussed generated between. 更具体地说,关于宏块中各个块的预测误差信息包括所述值的二维阵列,其中每一个值表示的都是所编码亮度或色度信息块中一个像素值与依照下述过程而为所述块形成的运动补偿预测所获取的解码像素值之间的差值。 More specifically, the macro block prediction error in each block includes a two-dimensional array of information about the value of a pixel value according to the following processes are coded luminance blocks each represent a value or chroma information which is the difference between the decoded pixel values of the motion compensation prediction block is formed between the acquired. 因此,在每个宏块都包括8x8像素的亮度值块以及两个在空间上与之对应的8 x 8像素的色度值块的情况下,关于宏块的预测误差信息也包括四个8 x 8的亮度预测误差值块,以及两个在空间上与之对应的8 x 8的色度预测误差值块。 Thus, each macroblock includes a 8x8 case where the pixel values of the luminance blocks and two spatially corresponding 8 x 8 block of pixel values of chrominance, the prediction error information on the macroblock includes four 8 x 8 luminance blocks of prediction error values, and two spatially corresponding chrominance values the prediction error of the 8 x 8 block.

关于宏块中各个块的预测误差信息被传递到DCT变换单元304,所述单元对每个预测值块执行一个二维离散余弦变换,以便为每一个块都产生一个DCT变换系数的二维阵列。 On each block of the macroblock prediction error information is passed to the DCT unit 304, the unit performs a two-dimensional discrete cosine transform predictive value for each block, each block in order to generate a two-dimensional array of DCT coefficients . 因此,在关于各个宏块的预测误差信息包含四个8 x 8的亮度预测误差值块以及两个在空间上与之对应的8 x 8的色度预测误差值块的情况下,DCT转换单元304为每个预测误差块产生一个8 x 8的变换系数值阵列。 Thus, in the case where the prediction error information about each macroblock comprising luminance blocks of prediction error values of four 8 x 8 and two spatially corresponding chrominance prediction error values of the 8 x 8 block, DCT converting unit 304 for each prediction error block to generate transform coefficient values of an 8 x 8 array. 关于各个预测误差块的变换系数则被传递到量化器306,其中使用一个量化参数QP并以一种与上文中结合帧内模式中的编码器操作所描述的方式相似的方式来对其进行量化。 Transform coefficients on the respective prediction error blocks were transferred to the quantizer 306, which uses a quantization parameter QP and in a similar manner as above in connection with intra-mode encoding operation described manner quantify . 同样,关于量化参数QP的选择是由控制管理器36Q通过控制线315来进行控制的。 Similarly, with regard to the choice of the quantization parameter QP is controlled by the manager 36Q via a control line 315 to control.

经过量化的DCT系数表示的是宏块中各个块的预测误差信息,如图1中的线路325所示,这些系数从量化器306传递到视频复用器370。 The quantized DCT coefficients representing the macro block in each block of prediction error information, as shown in FIG. 1 line 325, the transfer coefficient from the quantizer 306 to the video multiplexer 370. 与帧内编码模式一样,视频复用编码器370使用了前述Z字形扫 Like with the intra-coding mode, the video multiplex coder 370 using the aforementioned Z shaped sweep

描过程(参见图3)来对各个预测误差块的变换系数进行排序,然后则将每一个非零量化系数表示成一个等级和一个游程值。 Description of the process (see Figure 3) to sort of transform coefficients for each prediction error block, then a non-zero quantized coefficients will each be represented as a class and a run value. 此外它还使用 Also it uses

了熵编码并以一种与上文结合帧内编码模式所描述的方式相似的方式来对游程和等级值进行压缩。 The entropy coding and a combination of intra-frame coding mode above described manner similar to the compression of the run and level values. 视频复用编码器370还经由线路326从运动场编码单元340中接收运动矢量信息,并且从控制管理器360中接收控制信息。 Video multiplex coder 370 also receives motion vector information from the stadium encoding unit 340 via lines 326, 360 and receives control information from control manager. 该编码器对运动矢量信息进行熵编码,并且形成一个单独的编码图像信息比特流335 ,所述比特流中包含了经过熵编码的运动矢量、预测误差和控制信息。 The encoder entropy encodes the motion vector information, and forms a single bit-stream of coded image information 335, the bit stream through entropy encoding comprises a motion vector, prediction error and control information.

经过量化的DCT系数表示的是宏块中各个块的预测误差信息,这些系数也是从量化器306传递到反向量化器308。 The quantized DCT coefficients representing the macro block in each block of prediction error information, these coefficients are also passed from quantizer 306 to the inverse quantizer 308. 在这里对其进行反向量化并且将最终得到的反向量化DCT系数应用于反向DCT变换单元310,其中在所述单元中对其进行DCT变换,以便产生局部解码的预测误差值块。 Here its inverse quantization and the resulting inverse quantized DCT coefficients to inverse DCT transform unit 310, wherein the cells in its DCT transform to produce locally decoded blocks of prediction error values. 然后,经过局部解码的预测误差值块输入到组合器312中。 Then, after a locally decoded blocks of prediction error values input into combiner 312. 在帧间编码模式中将对开关314进行设置,以使组合器312还接收关于运动补偿单元350产生的宏块中各个块的预测像素值。 In inter-coding mode switch 314 will be set so that the combiner 312 also receives on a macroblock motion compensation unit 350 generates the predicted pixel value of each block. 组合器312 将预测误差值的每一个局部解码块与相应的预测像素值块相结合,以便产生重建图像块并将其存入帧存储器320。 Combiner 312 to each local decoded prediction block with the corresponding block of predicted pixel values of a combination of error values to produce reconstructed image blocks and stored in the frame memory 320.

由于视频信号的宏块是从视频源接收并且经过先前所述的单元304、 306、 308、 310和312中的编码和解码步骤,因此帧内编码帧的解码版本是在帧存储器320中构造的。 Since the macro block of the video signal is received and through the previously described unit 304, 306, 308, 310 and 312 of encoding and decoding step from a video source, and therefore decoded version of intra frame is constructed in the frame memory 320 . 在对视频信号的最后一个宏块执行了帧内编码和后续解码之后,帧存储器320包含一个完全解码的帧,所述帧可以在用帧间编码格式解码后续接收的视频帧的过程中充当一个预测参考帧。 After performing intraframe coding and subsequent decoding of the last macroblock of the video signal, a frame memory 320 contains a completely decoded frame, the frame can act as an inter-frame coding process using the reception format decode subsequent video frame prediction reference frame.

现在描述的是为当前帧的一个宏块产生预测。 Now description is predicted to produce a macro block of the current frame. 任何一个以帧间编码格式编码的帧都需要一个用于运动补偿预测的参考帧。 In any inter-coded frame coded format requires a reference frame motion compensation prediction is used. 这意味着在对视频序列进行编码的过程中,无论将要编码的第一帧是序列中的第一个帧还是其他帧,都有必要采用帧间编码格式来对其进行编码。 This means that the process of encoding a video sequence, whether the first frame to be encoded is the first frame of the sequence, or other frames, are necessary to use inter-frame coding to be encoded format. 而这转而意味着当控制管理器36将视频编码器300切换到帧间编码模式时,通过对先前形成的编码帧进行解码,由此形成的完整参考帧已经可以在编码器的帧存储器320中使用。 Which in turn means that when the control manager 36 will switch to the video encoder 300 inter-coding mode, previously formed by coded frame is decoded, a complete reference frame thus formed already in the encoder frame memory 320 use. 通常,参考帧是通过对帧内编码帧或帧间编码帧进4于局部解码来形成的。 Typically, the reference frame is encoded by intra-frame or inter-coded frame forward in the local decoding 4 formed.

在为当前帧的一个宏块生成预测的过程中,第一个步骤是由运动估计单元330执4亍的。 In the process of generating the prediction of a macro block of the current frame, the first step is performed by the motion estimation unit 330 of 4 right foot. 运动估计单元330经由线路328来接收那些构成所编码的帧的亮度和色度值块。 Motion estimation unit 330 via a line 328 to receive luminance and chrominance values of blocks that make up the encoded frames. 然后,它执行一个块匹配操作,以^f更识别参考帧中实质对应于当前宏块的一个区域。 It then performs a block matching operation in order to identify more ^ f substance of the reference frame an area corresponding to the current macroblock. 为了执行所述块匹配操作,运动现场估计单元经由线路327来访问帧存储器320中保存的参考帧数据。 In order to perform the block matching operation, motion estimation unit reference frame data field via line 327 to access stored in the frame memory 320. 更具体地说,运动估计单元330是通过对表示受检查宏块与候选最佳像素匹配区域间像素值差别的不同数值(例如绝对差值之和)进行计算来执行块匹配的,其中所述最佳像素匹配区域来源于帧存储器320中保存的参考帧。 More specifically, the motion estimation unit 330 performs block matching is represented by the difference between the pixel value inspection pixel macroblock and the best match candidate region by different values (e.g., sum of absolute difference) is calculated, wherein Best pixel from the frame memory 320 matching region stored in the reference frame. 在参考帧的预定搜索范围以内,针对所有可能偏移上的偏移而计算了一个差值,并且运动估计单元330 确定了最小的计算差值。 Within a predetermined search range of the reference frame for all possible offsets of offset calculating a difference, and the motion estimation unit 330 determines the difference between the minimum calculation. 当前帧的宏块与产生最小差值的参考帧的候选像素值块之间的偏移则定义了关于所讨论的宏块的运动矢量。 Macro block of the current frame and the candidate block of pixel values offset produced the smallest difference between the reference frame is defined with respect to the motion vector of the macroblock in question.

一旦运动估计单元330为宏块产生了运动矢量,则其将运动矢量输出到运动场编码单元340。 Once the motion estimation unit 330 to generate a macroblock motion vector, its motion vector coding unit 340 outputs to the playground. 所述运动场编码单元34(H吏用一个包含一组基函数和运动系数的运动模型来对从运动估计单元330接收的运动矢量进行近似估计。更具体地说,运动场编码单元340将运动矢量表示为一组运动系数值,其中在将这些值与基函数相乘的时候则形成了运动矢量的一个近似值。通常, 一个平移运动模型只具有两个运动系数并且在这里使用了基函数。 The stadium encoding unit 34 (H officials with motion model contains a set of basis functions and motion coefficients come from the motion estimation unit 330 receives the motion vectors approximate estimate. More specifically, the stadium will be the motion vector coding unit 340 indicates is a set of motion coefficient values, which in these values when multiplied by the base function is the formation of an approximation of the motion vector. Typically, a translational motion model having only two motion coefficients and basis functions used here.

运动系数从运动场编码单元340传递到运动补偿预测单元"0。运动补偿预测单元350还从帧存储器320中接收运动估计单元330识别的像素值的最佳匹配候选区域。通过使用运动场编码单元340产生的运动矢量的近似表示以及来自参考帧的像素最佳匹配候选区域的像素值,运动补偿预测块350为宏块中的每一个块都产生一个预测像素值的阵列。每一个预测像素值块都传递到组合器316,在所述组合器中则将对应于当前宏块的块中的实际(输入)像素值与预测像素值相减。 这样就得到了一组关于宏块的预测误差块。 Playground motion coefficients is transmitted from the encoding unit 340 to the motion compensation prediction unit "0. motion compensation prediction unit 350 also receives the best matching candidate motion estimation unit area of 330 to identify the pixel values from the frame memory 320 by using the encoding unit 340 playground pixel values approximate representation of the motion vector from the reference frame and the best matching candidate region of pixels, the motion compensated prediction block 350 macro blocks each block has produced an array of predicted pixel values. Each block of predicted pixel values are passed to the combiner 316, the combiner will correspond to macroblocks actual current (input) pixel values predicted pixel value subtraction. This was a group of about macroblock prediction error block.

现在对图2所示的视频解码器400的操作进行描述。 Now the operation of the video decoder shown in Figure 2 400 will be described. 解码器400 包括一个从编码器300接收编码比特流并将其解复用成其组成部分的视频复用解码器470, 一个反向量化器410, 一个反向DCT变换器420, 一个运动补偿预测单元440, 一个帧存储器450, 一个组合器430, 一个控制管理器460以及一个输出端480。 The decoder 400 comprises an encoder 300 receives from the encoded bit stream and the demultiplexed into its constituent parts by video multiplex decoder 470, an inverse quantizer 410, an inverse DCT transformer 420, a motion compensation prediction unit 440, a frame memory 450, a combiner 430, a control manager 460, and an output terminal 480.

控制管理器460对所解码的是帧内编码帧或帧间编码帧做出响 Control Manager 460 pairs decoded is intra-coded frame or inter-coded frame to make sound

应,从而对解码器4 00的操作进行控制。 It should be, and thus the decoder 400 control the operation. 帧内/帧间触发控制信号将导致解码器在解码模式中进行切换,其中举例来说,所述信号是在从编码器接收的各个压缩视频帧的报头部分所提供的图像类型信息中导出的。 Intra / inter control signal will cause the trigger switch decoder decoding mode in which, for example, the signal is received from the encoder compressed header portion of each frame of video image provided by the type of information derived . 帧内/帧间触发控制信号由视频复用解码器470从编码视频比特流中提取并且经由控制线422传递到控制管理器460。 Intra / inter trigger control signal 470 is extracted from the encoded video bit stream by the video multiplex decoder and passed to control manager 460 via control line 422.

帧内编码帧的解码是以一个接一个的宏块为基础来执行的,其中实际上每一个宏块都是在一识别出接收视频比特流335中与之相关的编码信息的时候就被解码的。 Decoding of intra-coded frame is one after the implementation of macro-block basis, wherein each macro block is actually a recognition that the received video bit stream 335 associated with the encoded information is decoded when a. 视频复用解码器47G首先从涉及所论述宏块的可能控制信息中分离那些关于宏块中的块的编码信息。 Video multiplex decoder 47G firstly relates discussed macroblock those blocks may control the information about the macro block encoded information separated. 而关于帧内编码宏块中各个块的编码信息包括可变长度码字。 And on an intra-coded macroblock coding information for each block comprises a variable length code word. 这些码字表示的是用于块中非零量化DCT系数的熵编码的等级和游程值。 The code word is used to denote a block of non-zero quantized DCT coefficients of entropy coding level and run values. 视频复用解码器410使用一种可变长度解码方法来对可变长度码字进行解码, 由此恢复等级和游程值,其中所述方法与编码器300中使用的编码方法相对应。 Video multiplex decoder 410 uses a variable length decoding method to decode the variable length code word, thereby restoring the grade and the run value, coding method wherein the method used in the encoder 300 correspond. 然后,所述解码器为宏块中的各个块重建量化变换系数阵列并且将其传递到反向量化器410。 Then, the decoder for the respective blocks of the macro block quantized transform coefficient reconstruction array and pass it to the inverse quantizer 410. 此外还在视频解复用器中使用了一种恰当的可变长度解码方法来对涉及宏块的任何控制信息进行解码, 并且将其传递到控制管理器460。 Further still video demultiplexer used an appropriate variable length decoding method to control for any information relating to the macro block to be decoded and passed to control manager 460. 特别地,与应用于变换系数的量化等级相关的信息由视频复用解码器470从编码比特流中提取并且经由控制线424提供到控制管理器460。 In particular, the quantization level applied to the transform coefficients 470 to extract the relevant information from the encoded bit stream by the video multiplex decoder and via the control line 424 is provided to control manager 460. 控制管理器转而经由控制线415将这个信息传递到反向量化器420。 Control Manager 415 in turn passes this information to the control line via the inverse quantizer 420. 反向量化器410根据控制信息来为宏块中的各个块反向量化那些量化过的DCT系数,并且将现在进行了反向量化的DCT系数提供给反向DCT变换器420。 Inverse quantizer 410 according to the control information for the macroblock that each block inverse quantization of quantized DCT coefficients, and will now proceed to the inverse quantized DCT coefficient to inverse DCT transformer 420.

反向DCT变换器420对用于宏块中各个块的反向量化DCT系数执行反向DCT变换,以便形成一个包含重建像素值并经过解码的图像信息块。 Inverse DCT transformer 420 pairs for each block in the macro block quantized DCT coefficients perform reverse inverse DCT transformation to form an image information block contains a reconstruction pixel value and decoded. 由于在帧内编码宏块的编码/解码中并未使用运动补偿预测,因此控制管理器460以一种防止在帧内编码宏块的解码中4吏用任何参考信息的方式来控制组合器430。 Since the motion compensation prediction is not used in the intra-coded macroblock encoding / decoding, and therefore a control manager 460 to the intra-coded macroblock by decoding 4 Officials way to prevent any reference information to control the combiner 430 . 关于宏块中各个块的重建像素值则传递到解码器的视频输出端480,其中举例来说,可以将所述值提供给一个显示设备(没有显示)。 About macroblock reconstruction pixel value of each block is passed to the output of the video decoder 480, which for example, the value may be provided to a display device (not shown). 此外,关于宏块的各个块的重建像素值还保存在帧存储器45 0中。 In addition, on the reconstruction of the pixel values of each block of the macroblock are also stored in the frame memory 450. 由于对帧内编码帧的后续宏块进行解码和保存, 因而在帧存储器450中逐渐汇聚出一个解码帧,并且由此可以将所述帧充当一个参考帧,以便在与后续接收的帧间编码帧的解码相关联的 Because of the subsequent macroblocks intra-coded frame is decoded and stored in the frame memory 450 thus gradually converge a decoded frame, whereby the frame and serve as a reference frame for receiving the subsequent inter-coded frame decoding associated

运动补偿预测中^f吏用。 Motion compensated prediction ^ f Officials with.

帧间编码帧也是以逐个宏块的方式来解码的,实际上,每一个帧间编码宏块都是在从接收比特流中识别到与之相关的编码信息的时候 Inter-coded frame-by-macroblock manner is to decode, in fact, each inter-coded macroblock are identified from the received bit stream associated with the encoded information to the time in the

就被解码的。 It was decoded. 视频复用解码器470从编码运动矢量信息和涉及所论述宏块的可能控制信息中分离出关于帧间编码宏块各个块的编码预测误差信息。 Video multiplex decoder 470 encodes motion vector information and possible control as discussed relates macroblock information isolated about inter-coded macroblocks each coding block by the prediction error information. 如上所述,用于宏块中各个块的编码预测误差信息包括可变长度代码字,它表示的是用于所述预测误差块的非零量化变换系数熵编码的等级和游程值。 As described above, for each block of the macroblock coded prediction error information comprises a variable length code word that represents the level and run values for the non-zero quantized transform coefficients of the prediction error entropy coding block. 视频复用解码器470使用一种可变长度解码方法来对可变长度码字进行解码,由此恢复等级和游程值,其中所述方法与编码器300中使用的编码方法相对应。 Video multiplex decoder 470 uses a variable length decoding method to decode the variable length code word, thereby restoring the grade and the run value, coding method wherein the method used in the encoder 300 correspond. 然后所述解码器重建一个关于宏块中各个块的量化变换系数阵列并且将其传递到反向量化器410。 Then the decoder to reconstruct a macroblock on quantized transform coefficients of each block and passes it to the array inverse quantizer 410. 此外,在视频复用解码器中也使用了一种恰当的可变长度编码方法来对涉及帧间编码宏块的控制信息进行解码,并且所述信息则传递到控制管理器460。 Further, in the video multiplex decoder also uses a variable length coding method appropriate to involving inter-coded macroblock decoding control information, and the information is passed to control manager 460. 与应用于预测误差块的变换系数的量化等级相关联的信息则是从编码比特流中提取的,并且所述信息是经由控制线424 提供到控制管理器460的。 And information associated with the quantization level applied to the prediction error block transform coefficients are extracted from the encoded bit stream, and the information is provided via the control line 424 to control manager 460. 控制管理器460转而经由控制线4"将这个信息传递到反向量化器420。反向量化器420根据控制信息来对这些表示宏块中各个块的量化DCT系数进行反向量化,并且将现在反向量化的DCT系数提供给反向量化器420。然后则在反向DCT变换器420 中对表示各个块的预测误差信息的反向量化DCT系数进行反变换,以便为宏块中的每一个块生成一个重新建立的预测误差值的阵列。 Control manager 460 in turn 4 "will pass this information to the control line via the inverse quantizer 420. The inverse quantizer 420 to those represented in each block of the macroblock quantization inverse quantized DCT coefficients based on the control information, and now inverse quantized DCT coefficients to the inverse quantizer 420. In the inverse DCT transformer and the 420 inverse quantized DCT coefficients representing the prediction error information for each block of inverse transform, for each macro block a block generating a prediction error values array reestablished.

涉及宏块的编码运动矢量信息由视频复用解码器47G从编码视频比特流335中提取并且是使用一种恰当的可变长度解码方法而被解码的。 It relates coded macroblock motion vector information from the video multiplex 47G is extracted and used an appropriate variable length decoding method is decoded from the coded video bit stream 335 by the decoder. 由此得到的解码运动矢量经由数据线426传递到运动补偿预测单元44 0,其中所述单元使用了一个与编码器300中编码所述帧间编码宏块所用运动模型相同的运动模型来为宏块重建一个运动矢量。 To thereby obtain decoded motion vector data is passed via a line 426 to the motion compensation prediction unit 440, wherein the unit uses an encoder 300 in the same motion model motion model encoding the inter-coded macroblocks to be used as a macro block reconstruction of a motion vector. 重建的运动矢量与编码器的运动估计单元330最初确定的运动矢量相似。 Encoder motion motion vector estimation unit 330 of reconstruction initially determined motion vector similar. 解码器的运动补偿预测单元440则使用重建的运动矢量而在帧存储器450保存的预测参考帧中识别重建像素区域的位置。 Decoder motion compensation prediction unit 440 using the reconstructed motion vector stored in the frame memory 450 to identify the position of the prediction reference frame reconstructing pixel region. 例如,参考帧可以是一个先前解码的帧内编码帧,也可以是一个先前解码的帧间编码帧。 For example, the reference frame may be a previously decoded intra-coded frame, it can be a previously decoded inter-coded frame. 但不论出现哪种情况,重建运动矢量指示的像素区域都被用于形成一个所论述宏块的预测。 But no matter what happens, the pixel motion vector indicating regional reconstruction have been used to form a prediction macroblock discussed. 更具体地说,运动补偿预测单元440通过 More specifically, the motion compensation prediction unit 440 through

从参考帧中识别的像素区域拷贝相应的像素值来形成一个关于宏块中各个块的像素值阵列。 Recognition from the reference frame pixel values corresponding region to form a copy of the macro block on the array of pixel values of each block. 而所述预测则是从参考帧中导出的像素值块, And the prediction is derived from the reference frame pixel value of the block,

它从运动补偿预测单元440传递到组合器430,在那里它与经过解码的预测误差信息相结合。 It passes from the motion compensation prediction unit 440 to the combiner 430, where it is decoded and combined prediction error information. 在实践中,每个预测块的像素值都被添加到反向DCT变换器420输出的相应重建预测误差值中。 In practice, the pixel value of each predicted block are added to the corresponding inverse DCT reconstruction prediction error value output of the inverter 420. 由此可以得到关于宏块中各个块的重建像素值阵列。 It can be obtained with respect to each block of the macroblock reconstruction array of pixel values. 重建的像素值则传递到解码器的视频输出端480并且保存在帧存储器450中。 Reconstruction of the pixel values passed to the output of the video decoder 480 and stored in the frame memory 450. 由于解码和保存了帧间编码帧的宏块,因此在帧存储器450中逐渐汇聚成一个解码帧,由此所述解码帧作为一个参考帧而在其他帧间编码帧的运动补偿预测中4吏用。 Due to decode the inter-coded frame and save the macro block in the frame memory 450 thus gradually converging to a decoded frame, whereby the decoded frame as a reference frame and in other inter-frame motion compensation predictive coding 4 Officials use.

H. 26L视频编码标准 H. 26L video coding standard

ITU-T建议H. 26L是国际电联开发的视频编码标准族中的最新标准。 ITU-T recommendation H. 26L video coding ITU family of standards developed by the latest standards. 特别地,这个标准旨在以通常小于64kb/s的低比特率来进行视频编码,因此所述标准特别适合对经由那些需要优先考虑如何最佳使用 In particular, this standard is intended to generally less than 64kb / s low bit rate for video encoding, and therefore particularly suitable for the standard priorities through how best to use those

可用带宽的无线通信网或任何固定线路通信网所传送的数字视频进行编码。 Available bandwidth of a wireless communication network, or any fixed-line communication network digital video transmitted encoded. ITU-T H. 26L定义的视频编码系统是一个混合视频编码系统, 它是根据如上所述与图1和2所述的通用视频编码器300和解码器400 相结合的一般原则来运作的。 ITU-T H. 26L definition video encoding system is a hybrid video coding system, which is based on the general principles described above in Figures 1 and 2, wherein the common video encoder 300 and decoder 400 combine to operate. 特别地,依照H. 26L实现的视频编码系统使用的是将基于块的变换编码与运动补偿预测相结合,从而减少视频序列中的空间和时间冗余。 In particular, in accordance with the H. 26L video coding system implemented using a transform coding with the block-based motion compensation prediction by combining the video sequence to reduce spatial and temporal redundancy.

H. 26L建议的最新版本即为通常所说的Test Model 8 ( TML8 ), 在"H. 26L Test Model Long Term Number 8 ( TML-8 ) draft 0,, ( ITU-T 电信标准化部分,研究组16,视频编码专家小组)中对其进行了描述, 这个版本的建议规定了两种备选的熵编码模式。在第一种(缺省)模式中使用了所谓的通用可变长度编码(UVLC)方法来对所有语法元素进行编码。UVLC编码模式是一种查找表方法,其中在不考虑所论述信息类型的情况下用同一组可变长度码字来表示视频编码器产生的所有不同类型的信息。而在所谓的"高复杂度类(profile)"中指定使用的备选熵编码方法是一种以基于上下文的自适应二进制算术编码(CABAC)而著称的技术。这种方法是一种持续适应于编码信息统计性质的二进制算术编码形式,并且在现有技术中作为最有效的熵编码形式中的一种而闻名(参见H. Witten、 RM Neal与JG Cleary在1987年6月发表于Commun. ACM第30巻第520 - 540页的"Arithmetic coding for data compression" —文)。 The latest version of the proposed H. 26L is commonly referred to as Test Model 8 (TML8), in the "H. 26L Test Model Long Term Number 8 (TML-8) draft 0 ,, (ITU-T Telecommunication Standardization Sector, Study Group 16, the video coding experts group) is described in its, this version of proposal provides for two alternative entropy coding mode using the so-called common variable length coding in the first (default) mode (UVLC ) method to encode .UVLC coding mode is a look-up table method, which does not consider all the different types discussed under the type of information the variable length code word represented by the same group produced a video encoder for all syntax elements information. In the so-called "high complexity classes (profile)" is specified using an alternative coding method is a kind of context-based adaptive binary arithmetic coding (CABAC) known in the art. This method is an continued to adapt to the statistical properties of the encoded information in the form of binary arithmetic coding, and is known (see H. Witten as the most effective form of entropy coding one in the prior art, RM Neal and JG Cleary in June 1987 published "Arithmetic coding for data compression" 540 pages - -. Commun ACM 30 Volume 520 above).

由于UVLC熵编码使用了同一组可变长度码字来表示视频编码器生成的所有类型的信息,因此所述码字的统计性质通常并没有最佳匹配于将要编码的信息特征。 Since UVLC entropy coding used the same set of variable length code words to represent all types of information generated by the video encoder, so the statistical properties of the codeword is usually not the best match to the information to be encoded feature. 例如,用于表示为帧内编码图像块的量化DCT 系数的特定游程和等级值的出现频率很可能与涉及量化参数值的控制信息中的值的出现情况不同。 For example, the frequency of occurrence for indicating run and level values specified for the intra-coded image block of quantized DCT coefficients are likely to occur with situations involving quantization control parameter value different from the value of the information. 在H. 26L中引入了CABAC熵编码方法, 以便克服l)VLC熵编码方法所固有的次优特性。 CABAC entropy coding method introduced in H. 26L, in order to overcome l) VLC suboptimal characteristics inherent entropy coding method. 如本文中先前所述,算术编码表示的是一个将要用单独的可变长度码(浮点数)来进行编码的符号群。 As previously described herein, arithmetic coding is indicated to use a single variable length code (floating point) to encode the symbol group. 与独立编码各个符号的熵编码方法相比,这种方法提供了特有的优点。 Compared with the coding method independent encoding of each symbol, this method provides a unique advantage. 具体地说,独立编码各个符号的熵编码方法至少需要使用一个比特来表示各个符号。 Specifically, the coding method independent encoding of each symbol requires the use of at least one bit to represent each symbol. 由于算术编码表示的是具有单个码字的符号群,因而有可能实现小于1比特/秒的数据压缩速率。 Since arithmetic coding is represented by a single symbol group code word, and thus it is possible to achieve less than 1 bit / second data compression rate. 因此,H. 26L 中提供的CABAC方法还有可能提高数据压缩。 Therefore, H. CABAC method 26L provided may also improve data compression. 此外,由于所述方法是一种自适应方法,因此它能够考虑到所编码信息的统计特征变化,由此确保即使所编码数据性质发生某种程度的变化,也能够保持数据压缩性能。 Further, since the method is an adaptive method, so it can take into account the changes in the statistical characteristics of the encoded information, thereby ensuring some degree even change the nature of the encoded data, data compression performance can be maintained.

基于上下文的算术编码 Context-based arithmetic coding

如上所述,CABAC算术编码是一种熵编码方法,它能适应于所编码信息的变化统计。 As described above, CABAC arithmetic coding is a coding method, it can adapt to changes in the statistics of the coding. 这样一来,与假设固定统计特性的熵编码技术相比, 所述方法能够提供改善的压缩效率。 As a result, compared with the assumed statistical properties of the fixed entropy coding technique, the method can provide improved compression efficiency. 图4描述的是一种示范性的基于上下文的二进制算术编码器700。 Figure 4 illustrates an exemplary context-based binary arithmetic coder 700. CABAC是一种二进制算术编码方法, 因此,所要编码的具有非二进制序列的数据符号首先在二进制映射单元710中转换成二进制值("二进制化")。 CABAC is a binary arithmetic coding method, therefore, the data to be encoded with a non-binary symbol sequence is first converted into binary values ("binarization") in binary mapping unit 710. 所述二进制化处理包括将所要编码的符号映射到一个二进制序列(bin),其中每一个二进制序列都具有一个相应的二进制序列编号并且可以赋予一个值O或1。 Comprises processing said binary coded symbols to be mapped to a binary sequence (bin), wherein each binary sequence has a number corresponding binary sequence and may be assigned a value of O or 1. 以下在表1中给出了这种映射的一个实例。 The following gives an example of such a mapping in Table 1 below. 但是原则上也可以设想使用其它二进制化方案。 But can in principle also conceivable to use other binary scheme.

在CABAC方法中,每一个二进制序列都指派给一个所谓的"上下文,,(基于上下文的算术编码由此得名)。 一个上下文可以视为是集中在一起并具有相似统计特征的二进制序列。换句话说,在这里假设对指派给上下文的每一个二进制序列来说,其包含数值1或0的概率 In CABAC method, each assigned to a binary sequence are called "context ,, (context-based arithmetic coding hence the name). A context can be seen as together and have similar statistical characteristics of binary sequence. In other words, here is assumed to be assigned to the context of each of the binary sequence, its probability value of 1 or 0 contains

与属于所迷上下文的其他二进制序列相似。 Similar to other binary sequences belonging to the fans context. 这样一来,用于在算术編码器中产生码字的概率估计是为每一个上下文而不是将要编码的每个 As a result, the probability of generating the codeword arithmetic encoder is used to estimate for each context rather than to be coded for each

<table>table see original document page 20</column></row> <table>表1 <Table> table see original document page 20 </ column> </ row> <table> Table 1

可能的二进制序列定义的。 Possible binary sequence defined. 每个上下文都是依照一个"上下文模型" 定义的,并且所述上下文是基于将要编码的数据符号(由此为二进制 Each context is in accordance with a "context model" is defined, and the context is based on data symbols to be coded (thus binary

序列)的统计特征信息而被预先建立的。 Sequence) statistics feature information is pre-established. 通常,如果将o的出现概率 Typically, if the probability of occurrence of o

与1的出现概率之间的差值增至最大,则会提高二进制算术编码器所能实现的数据压缩比率。 1 between the probability of occurrence of a difference to the maximum, it will increase binary arithmetic coder can achieve data compression ratio. 同样,基于上下文的算术编码性能还取决于上下文模型的选择。 Likewise, context-based arithmetic coding performance also depends on the context model selection. 通常,这意味着应该选择那些能使指派给每个上 Typically, this means that you should select each make those assigned to

下文的二进制序列的0和1的出现概率间的差值达到最大的上下文模型。 The difference between the following binary sequence probability of occurrence of 0 and 1 between the maximum context model.

在图4所述的示范性的基于上下文的算术编码器中, 一旦在二进制映射单元710 二进制化所要编码的符号,则在上下文指派单元中将其指派给一个相应的上下文。 In Figure 4, the exemplary context-based arithmetic coder, once in the binary mapping unit 710 of a desired binary encoded symbols, in the context of the assignment in the unit which is assigned to a corresponding context. 然后则将指派给相应二进制序列(也就是1或0)的值传递到算术编码器730。 Then it will be assigned to the corresponding binary sequence (ie 1 or 0) value is passed to the arithmetic coder 730. 随后,算术编码器730的编码引擎750使用一个指派了二进制序列的上下文的概率估计来对二进制序列的数值进行编码。 Then, the arithmetic coder 730 uses a coding engine 750 is assigned a probability context of a binary sequence estimation of the value of binary sequences encoded. 在这里,作为算术编码器实现的数据压缩比的性能依赖于概率估计的精度。 Here, as an arithmetic coder to achieve data compression ratio depends on the performance of the probability estimation accuracy. 从原则上讲,所述估计可以是固定或自适应的。 In principle, the estimate may be fixed or adaptive. 如果使用固定概率估计,则关于上下文的概率估计将被指派给预定值并且在编码处理中保持不变。 If you are using a fixed probability estimate, the estimate on the probability of context will be assigned to a predetermined value and the encoding process remains unchanged. 固定概率估计通常是通过对与所要编码的实际资料具有相似统计特征的训练资料进行分析而被预先得到的。 Fixed probability estimates usually through training data and the actual data to be encoded with similar statistical characteristics were analyzed was obtained in advance. 如果使用了自适应概率估计,则使用固定值来为各个上下 If the adaptive probability estimate, use a fixed value for each vertically

文初始化概率估计,并且才艮据那些至此为止经过编码的数据(二进制序列)的实际统计特征而在整个编码处理中更新所述概率。 Wen initialization probability estimates, and only those thus far through Burgundy, according to the statistical characteristics of the actual coding of data (binary sequence) is updating the probability of the entire coding process. 执行自适应编码估计通常会更好,因为它们可以适应所要编码的资料。 Perform adaptive coding estimation is usually better, because they can accommodate the data to be encoded.

图4所示的示范性的基于上下文的算术编码器使用了自适应概率估计并且包括一个对经过更新的概率估计进行计算的概率估计单元740。 The probability of context-based arithmetic coder uses adaptive probability estimate and includes an updated estimate elapsed probability calculation shown in Figure 4 an exemplary estimation unit 740. 每一个上下文的概率估计则是通过记录指派给各个上下文的各个二进制序列中1和0的出现次数来更新的。 Each context probability estimates are updated by recording the number of occurrences of each context assigned to respective binary sequence of 1s and 0s. 例如,对指派给任意上下文k的二进制序列来说,如果为其指派了m次值0并且为其指派了n 次值l,那么,对上下文k中的l来说,其概率估计是n/(n(m+l)), 对于0来说,其概率估计则是(m+l)/(n(m+l))。 For example, to assign an arbitrary binary sequence k of context, if assigns a value of 0 and m times n times assigns a value l, then, in the context k l, its probability is estimated to be n / (n (m + l)), for 0, its probability estimate is (m + l) / (n (m + l)).

图5描述的是与结合图4所描述的编码器相对应的基于上下文的算术解码器800。 FIG 5 is described in connection with FIG. 4 corresponds to the encoder described in the context-based arithmetic decoder 800. 在输入端810,基于上下文的算术解码器接收一个表示经过算术编码的数据符号的比特流。 At the input 810, the context-based arithmetic decoder receives a bitstream through arithmetic coding represents data symbols. 一开始,根据先前接收的解码符号,在上下文指派单元850中计算一个上下文并且更新二进制序列值的概率估计。 Initially, according to the previously received decoded symbol, in the context of assigning unit 850 calculates the probability of a binary sequence context and update the value estimate. 在这里,上下文指派单元850执行的上下文指派与概率估计单元830执行的关于概率估计的计算都是使用与编码器相同的方法来完成的。 In this context, the context of the implementation of the assigned assignment unit 850 computing unit 830 performed on probability estimates are using the same approach to the completion of the encoder and the probability estimate. 然后,接收到的比特馈送到算术编码器820的算术编码引擎840中,在那里使用计算得到的上下文以及二进制序列值的当前概率估计来将其转换成解码的二进制序列值。 Then, the received bit is fed to the arithmetic coder 820. The arithmetic coding engine 840, a use context and a binary sequence where the calculated value of the current probability estimate to convert it into a decoded sequence of binary values. 在二进制序列-数值映射单元860中,经过解码的二进制序列映射到游程和等级的值。 In the binary sequence - value mapping unit 860, the decoded binary sequence is mapped to a value of run and level.

在H. 26L中使用的CABAC方法 Used in the H. 26L CABAC method

现在将对ITU-T建议H. 26L中选定用于高复杂度类的CABAC算术编码方法的细节进行详细描述。 Will now ITU-T recommendation H. 26L selected details CABAC highly complex arithmetic coding method for the class described in detail. 根据H. 26L TML 8,游程和等级值的上下文依赖于所编码的块类型以及二进制化的等级或游程值的二进制序列数目。 Depending on the context H. 26L TML 8, run and level values depends on the block type and binary encoding sequence of binary number of rank or run values. 不同的块类型是依照对系数值进行排序的扫描方式(单/ 双)、成分类型(亮度/色度,AC/DC)或是编码模式(帧间/帧内)来定义的。 Different block types are sorted according to values on line scan mode (single / double), component type (luminance / chrominance, AC / DC) or the coding mode (inter / intra) defined. 然而,对指定类型来说,上下文只依赖于二进制序列数目。 However, for the specified type, the context dependent only on the number of binary sequences. 更具体地i兌,依照H. 26L TML 8,在这里为等级编码定义了四个上下文。 More specifically, i dollar, according to H. 26L TML 8, in this context is defined four grades coding. 第一个上下文用于第一个二进制序列,第二个上下文用于第二个二进制序列,第三个上下文用于那些表示等级幅度的剩余二进制序列。 The first context for the first binary sequence, a second binary sequence context for the second and the third binary sequence context for those remaining represent rank amplitude. 剩余上下文则用于等级的符号。 Context is used to rank the remaining symbols. 此外还使用了相似的方法来将游程值指派给上下文。 It also uses a similar approach to the run values are assigned to the context. 对游程来说,存在三个上下文,第一个上下文用 To run it, there are three contexts, the first context with

于第一个二进制序列,第二个上下文用于第二个二进制序列,第三个上下文则用于所有剩余的二进制序列。 The first binary sequence in the second binary sequence context for the second, and the third context is used for all the remaining binary sequence. 由于游程值始终等于或大于零,因此对附加上下文而言,没有必要为其表示符号信息。 Since the run value is always equal to or greater than zero, so the additional context, there is no need for symbols that represent information. 这样一来, 对一个给定类型的块来说,针对变换系数的二进制序列(等级和游程 Thus, for a given type of block, the transform coefficients for the binary sequence (level and run

编码)所进行的将二进制序列指派给上下文的处理可以如下概括: 6/ur,ZH ( 1 ) Coding) performed a binary sequence assigned to the context of the process can be summarized as follows: 6 / ur, ZH (1)

其中6//?_/7r是二进制序列数目,C0/7^,t是上下文编号。 Where 6 //? _ / 7r is the number of binary sequences, C0 / 7 ^, t is the context number. 根据H. 26L TML 8, MAX —BIN —VAL的值设定为3,但是原则上也可以使用不同的MAX —BIN —VAL来作为替换。 According to 8, the value of H. 26L TML MAX -BIN -VAL is set to 3, but in principle also possible to use different MAX -BIN -VAL as a replacement.

游程-等级对是如下编码的:首先根据块/系数类型来对游程和等级进行分类,其中所述类型包括:扫描模式、系数类型(DC/AC)以及编码模式(帧间/帧内或16x16帧内)。 Run - Ratings for is coded as follows: First, to classify and grade run according to the block / coefficient type, wherein the types include: scanning mode, the coefficient type (DC / AC) and coding mode (inter / intra or 16x16 frame). 然后通过将等级和游程映射到一个二进制序列来对其进行二进制化,并且根据每一个二进制序列的编号来将其指派给一个上下文。 Then run through the levels and mapped to a binary sequence to be binarized, and according to a binary sequence of each number to assign it to a context.

图6a ~ 6d通过参考示范性的4 x 4量化DCT系数阵列而对这个处理进行了详细描述。 Figure 6a ~ 6d through the 4 x 4 array of quantized DCT coefficients with reference to exemplary and this processing is described in detail. 此外它还描述了用于追踪量化DCT系数的游程和等级值的统计特性的方法,从而论证了CABAC方法的自适应特征。 In addition, it describes a method for tracking the quantized DCT coefficients run and level values statistical properties, which demonstrates the adaptive feature CABAC method. 在这里,首先对经过量化的DCT系数值的二维阵列进行Z字形扫描,以便产生一个图6a所示的值的一维阵列。 Here, after a first quantized DCT coefficient values of the Z-shaped two-dimensional array scanning, so as to produce a one-dimensional array of values shown in a FIG. 6a. 然后将一维阵列中的非零系数值作为游程和等级值对来加以表示。 Then the non-zero coefficient values as a one-dimensional array of run and level values to be expressed. 如先前所述,每一个等级值都表示一个非零的量化DCT系数值,而相关的游程则对应于所论述系数之前的零值系数的数目。 As previously described, each rank value indicates a non-zero quantized DCT coefficient values, and associated run-length corresponds to the number of coefficients discussed before zero value coefficients. 在图6b中给出了来源于示范性的量化DCT系数阵列的游程-等级对。 Quantized DCT coefficients are given from an exemplary array of run in Figure 6b - rank right. 在各个对中,等级值处于游程值之前并且将等于零的等级值用作一个块结束符号,以便指示所述块中没有非零系数值。 In each pair, the rank value is the value before the run and the level of zero value is used as a block end symbol to indicate that the block is not zero coefficient values.

接着,每一个游程和等级值都转换成一个二进制值。 Then, each of the run and level values are converted into a binary value. 根据H. 26L TML 8,用于转换量化DCT变换系数值的游程和等级的二进制化方案与上文中图1所示方案相同。 According to H. 26L TML 8, for converting the quantized DCT transform coefficient values and run the binary level scheme and the scheme shown in Figure 1 above the same. 图6c显示的是将表l给出的二进制化方案应用于示范性阵列中的游程和等级值的结果。 Figure 6c shows the results of the binary scheme given in Table l apply to an exemplary array of run and level values. 此外,图6c还显示了依 In addition, according to Figure 6c also shows

照H. 26L而将二进制序列指派给上下文。 According to H. 26L and the binary sequence assigned to the context. 如上所述,其中仅仅使用了三个上下文来描述游程和等级值的大小。 As described above, in which uses only three context to describe the size of the run and level values. 第一个上下文对应于二进制序列l,第二个上下文对应于二进制序列2,而第三个上下文则包括了所有剩余的二进制序列。 The first binary sequence corresponding to a context l, corresponding to a second binary sequence context 2, and the third context includes all the remaining binary sequence. 在图6c中,上下文是通过粗体横线来描绘的。 In Figure 6c, the context is portrayed by the bold horizontal line. 通过检查图6c可以看出,大多数等级值都映射到指派给上下文3的二进制序列,而大多数游程值则映射到指派给上下文1的二进制序列。 As can be seen by examining Figure 6c, most level values are mapped to a binary sequence assigned to the context of the 3, and most run-value is assigned to the binary sequence mapped to the context 1.

每一个经过指派的上下文的概率估计是在编码了二进制序列之后才更新的。 After each context assigned probability is estimated in a binary sequence coding only after update. 而游程和等级的概率估计则是独立更新的。 While the probability of a run and grade estimates are updated independently. 如先前所述, 给定上下文的概率估计表示的是指派给所论述的上下文的二进制序列的统计特征。 As previously described, to estimate the probability of a given context it represents the statistical characteristics discussed in the context assigned to the binary sequence. 更具体地说,所述概率估计描述的是指派给上下文的二进制序列中包含0或1的概率。 More specifically, the probability estimates assigned to describe the probability of a binary sequence context contains 0 or 1. 图6d以一种示范方式描述了为游程和等级更新概率估计的方法。 Figure 6d is described in an exemplary way for a run and grade update probability estimation method. 该图中描述的是在二进制化那些代表图6a 所示的4 x 4量化DCT系数块的游程和等级,并且将其指派给上下文, 进而在算术编码器中编码的前后,在指派到指定游程或等级的上下文的二进制序列中包含0或1的概率。 The figure is in binary depiction of those who represent shown in Figure 6a 4 x 4 quantized run DCT coefficient blocks and grade, and assign it to the context and thus before coding arithmetic encoder that is assigned to a specific run probability of 0 or 1 or level binary sequence context included. 图6d采用了表格形式,其中记录了在指派给各个上下文的二进制序列中的1和0的出现情况。 Figure 6d with a tabular format, which records appear in the case of a binary sequence assigned to each context of 1's and 0's. 因此, 一个指定上下文的概率估计是如下给出的: Thus, a given context probability estimates are as given below:

0的概率=0的数目/ ( 0的数目+ 1的数目) Probability 0 = 0 the number / (number 0 + number 1)

1的概率=1的数目/ ( 0的数目+ 1的数目) 1 = number of probability / (0 + number 1) 1

在这个图中,假设图6a所示的量化DCT系数的4 x 4块是最早处理的块。 In this figure, it is assumed in Figure 6a block of 4 x 4 blocks are processed first quantized DCT coefficients shown. 这意味着在表中没有记录1和0的先前出现情况。 This means that not recorded in Tables 1 and 0 appearing earlier case. 为了克服这个问题,在这里假设在处理所述块之前,每一个上下文都具有相等的包含1或0的概率。 To overcome this problem, here assumed that prior to processing the blocks, each having a context comprising probability equal to 0 or 1. 而这种假设是通过在记录0和1的出现情况的列中输入相同的值来表示的。 And this assumption is by entering the same value in the case of records 0 and 1 of the column appeared to represent a. 在图6d中,l被用于初始化概率估计。 In FIG. 6d, l is used to initialize the probability estimation. 作为选择,也可以使用一个来源于训练数据分析的概率估计来为各个上下文初始化概率估计。 Alternatively, you can also use a probabilistic analysis estimated from training data to estimate the probability for each context initialization. 然后则在二进制化关于量化DCT变换系数的游程和等级值并将其指派给上下文的时候对各个上下文的二进制序列中出现的1和0的数目进行计数,由此更新概率估计。 Then in the binarization on the run and level values quantized DCT transform coefficients and when it assigned to the context of each of the binary sequence that appears in the context of the number of 1's and 0's are counted, thereby updating probability estimates. 图6d的右手列显示了在处理过图6a所示的4 x 4量化DCT块之后的情况。 Figure 6d of the right hand column shows the after-treated Figure 4 x 4 quantized DCT blocks shown 6a situation.

尽管与UVLC熵编码方法相比,在ITU-T建议H. 26L TML 8的高复杂度类中采用的CABAC算术编码方法在数据压缩方面提供了改进, 但是就编码效率来说,所述方法仍不是最佳的。 Although compared with UVLC entropy coding method, CABAC in ITU-T recommendation H. 26L TML arithmetic coding method of high complexity class 8 provides improved adopted in terms of data compression, but it is the coding efficiency, the method is still not optimal. 因此,本发明的一个 Thus, the present invention

目的是提供一种能够进一步提高编码效率的基于上下文的算术编码方法和系统。 Object is to provide a further improved coding efficiency of arithmetic coding method and system based on context.

发明内容 DISCLOSURE

本发明基于这样一种认识,那就是在使用基于上下文的算术编码来对指定数据符号进行编码的时候,通过使用那些对指派了其他数据符号的上下文加以考虑的上下文模型,可以在编码效率方面得到提 The present invention is based on the recognition that in the context-based arithmetic coding to encode the data symbols specified time by using a context model for those assigned to the context of other data symbols to be considered in the coding efficiency can be obtained mention

高。 High. 特别地,通过参考H. 26L TML 8的高复杂度类中使用的CABAC方法,本发明的发明人已经确定,在游程与关联于DCT变换系数的等级之间存在某些联系。 In particular, the use by reference H. 26L TML highly complex class 8 in the CABAC method, the present inventors have determined that, in the process associated with the tour there is some link between the level of the DCT coefficients. 此外发明人还确定了可以使用这些关系来构造改进的上下文模型,其中所述模型能在将CABAC方法应用于游程和等级值的时候使之以经过提高的编码效率来运作。 Furthermore inventors have also determined the structure can be used to improve these relationships context model, wherein the model can make to improve coding efficiency through operation in the CABAC method is applied to level values and run time. 特别地,发明人已经确定,连续等级值将会显示出极大相似性。 In particular, the inventors have determined that consecutive level values will show great similarities. 更具体地说,在指定的变换系数块内部,所编码系数的等级实质上通常具有类似于先前编码系数等级的幅度。 More specifically, the transform coefficients in the specified block internal, coding coefficients grades typically having substantially similar to the previously encoded coefficient amplitude level. 此外发明人还确定了等级与游程值之间的一个反比关系。 Further inventors have also identified an inverse relationship between the level and the run value. 特别地,越大的等级值越有可能在较小的游程值之前。 In particular, the level of greater value is more likely to run in a smaller value before. 反过来一样是成立的,也就是说,较小的等级值很可能是在较大的游程之后。 Conversely, as is established, that is, the smaller the level value is likely to be after a large run. 因此,本发明提出为DCT变化系数的编码创建新的上下文模型,其中所述模型顾及了等级与游程值之间的这些关系。 Accordingly, the present invention proposes to create a new context for the encoding DCT coefficient of variation model, wherein the model takes into account the level of these relations and the run value.

在为了执行基于上下文的编码器而设计的第一个上下文模型中, 对指派给一个二进制化的系数等级值的二进制序列来说,其上下文依赖于先前编码的系数等级。 In the first context model to perform a context-based encoder is designed, the assigned binary sequence for a binary value of the coefficient levels, its context dependent on the previous coded coefficient level. 在为了执行基于上下文的解码器而设计的第二个上下文模型中,对指派给二进制化的系数等级值的二进制序列 In the second context model to perform a context-based decoder design, the assigned binary sequence for the binary value of the coefficient levels

来说,其上下文依赖于先前解码的系数等级。 , Its context dependent on a previously decoded coefficient level. 在为了实施基于上下文的解码器或是基于上下文的算术解码器而设计的第三个上下文模型中,对指派给二进制化的系数游程值的二进制序列来说,其上下文依 In order to implement context-based decoder or a third context models context-based arithmetic decoder design, the pair is assigned to the binary value of the coefficient run binary sequence, its context according to

赖于先前解码的系数等级值。 It depends on the level of previously decoded coefficient values.

发明人还进一步确定,在与不同图像块相关联的变换系数值之间存在某种相似性。 The inventors further determined between transform coefficient values associated with different image blocks there is some similarity. 这些相似性在相互靠近的图像块间会变得更大,并且在相互紧邻的图像块之间往往最强。 These similarities between image blocks close to each other becomes larger, and the image block adjacent to each other are often the strongest. 更具体地说,用于表示特定图像块的非零变换系数值的数量Nc往往与接近或邻接所论述图像块中的非零变换系数值的数目是相同的。 More specifically, for indicating the number of non-zero transform coefficient values Nc are often associated with a particular image block close to or abutting the number of image blocks as discussed in the non-zero transform coefficient values is the same. 因此,本发明还引入了这样一个概 Accordingly, the present invention also introduces such an overview

念,那就是为变换编码的图像块提供一个非零变换系数数目的指示并且使用熵编码来对这个值进行编码。 Read, that is for the image block transform coding provides an indication of the number of non-zero transform coefficients, and entropy coding used to encode the value. 此外,如果将基于上下文的算术 In addition, if the context-based arithmetic

编码用于对Nc值进行编码,那么发明人已经确定,较为有利的是通过对指派给用于至少一个其他变换编码图像块的上下文加以考虑而将块的Nc值指派给一个上下文。 Coding for Nc values are encoded, so the inventors have determined that it is advantageous to be used by assigning at least one context other transform coding image block to be considered and the value of the Nc blocks assigned to a context. 这样一来,在相互靠近的图4象块之间,Nc As a result, close to each other between the image blocks in FIG. 4, Nc

建议H. 26L Tm1 8,并没有^图像块中非零变换系一数的数目进行编码。 Recommendation H. 26L Tm1 8, and no non-zero transform ^ number of image blocks of a digital encoding system. 作为替换并且如先前所示,在这里提供了一个块结束(EOB)指示。 As an alternative and as previously shown, in the end there is provided a block (EOB) indicator. E0B 指示表示已经对相应于非零系数的最后一个游程-等级对进行了编码。 E0B instructions said that it has a non-zero coefficient corresponding to the last run - Level of encoded. 发明人确定,与当前在H.26L TML 8中所用的提供E0B指示的方法相比,这里提出的方法将会导致编码效率上的提高,其中在本发明 Inventors have determined that, compared with the current method provides E0B indicated in H.26L TML 8 used, the method proposed here will lead to improve the coding efficiency, in which the present invention

中提供了一个块中非零系数数目的明确指示,并且使用了基于上下文的算术编码来对其进行编码。 It provides a clear indication of the number of non-zero coefficients of a block, and the use of context-based arithmetic coding to be encoded.

尽管本发明背后的动机及其基本概念是在视频编码/解码中给出的,尤其是就h. 26l tml 8给出的,但是应该理解,本发明也可以适用于其他视频编码系统和静止图像编码。 Although the motive of the basic concept behind the present invention is given in the video encoding / decoding, especially on h. 26l tml 8 is given, it should be understood that the invention can also be applied to other video coding systems and still images coding. 从原则上讲,本发明可以应用于任何一个使用了基于块的变换编码与基于上下文的算术编码的图像编码系统。 In principle, the present invention can be applied to any block transform coding using context-based arithmetic coding and image coding system based on.

根据本发明的第一个方面,提供了一种图像编码方法,其中将图像分成具有多个像素的多个块,每一个像素具有一个像素值,并且对所述像素值块执行一个变换编码操作,以便产生相应的变换系数值块。 According to a first aspect of the present invention, there is provided an image coding method, wherein the image is divided into a plurality of blocks having a plurality of pixels, each pixel having a pixel value, and perform a transform coding operation on the pixel value of the block to produce corresponding transform coefficients block. 在一个给定扫描顺序中扫描所述变换系数值块,以便产生一个经过扫描的系数值阵列,并且使用多个数字对来表示经过扫描的阵列中的系数值,所述数字对具有一个第一数字和一个第二数字。 In a given scan the scan sequence block transform coefficient values to produce an array of scanning through coefficient values, and to use a number to be represented through the coefficient values in the array scanning, the digital having a first number and a second number. 将第一数字和第二数字指派给表示所述数字对的多个上下文中的一个。 The first number and a second digital assigned to represent the multiple contexts in a number pairs. 根据本 According to the present

发明的第一个方面, 一个数字对的第一值是基于另一个数字对中的第一数字而被指派给一个上下文的。 The first aspect of the invention, the first value is based on a number of other figures of the first digit is assigned to a context.

优选地,基于一个数字对中的第一数字而将另一个数字对中的第一数字指派给一个上下文的步骤顾及指派了其他数字对中的第一数字的上下文。 Preferably, based on a figure for the first digit and the other figures for the first step of a digital assigned to take into account the context in the context of other digital assigned to the first number.

较为有利的是,数字对中的第一数字表示的是一个非零系数值。 It is advantageous that the digital representation of the first digital system is a non-zero value. 优选地,数字对的第一数字与非零系数值的大小是相等的。 Preferably, the size of the first non-zero coefficient value of the digital numbers are equal to. 优选地,数字对中的第二数字表示的是在非零系数值之前的多个连续零系数值。 Preferably, the digital representation of the second digital zero prior to the plurality of consecutive zero coefficient values of the coefficient values.

优选地,所述上下文是一个基于上下文的算术编码器的上下文。 Preferably, the context is a context-based arithmetic coder context. 更为优选的是,所述上下文是基于上下文的二进制运算编码器的上下文。 More preferably, said context is a context-based binary arithmetic encoder context.

较为有利的是,第一和第二数字映射到一组二进制序列,其中每一个二进制序列都具有一个相关联的二进制序列编号,并且每一个二 It is advantageous that the first and second digital binary sequence is mapped to a group, wherein each binary sequence having an associated binary sequence number, and each of two

进制序列都能采用第一值或第二值中的一个。 Binary sequence can adopt a first value or a second value.

优选地,每个第一和第二数字都映射到所述一组二进制序列中的一个,而将数字映射到所述一组二进制序列中给定的一个则是通过将二进制序列的值指派给第一值来指示的。 Preferably, each of the first and second numbers are mapped to the set of a binary sequence, while the figure is mapped to the set of binary sequences is given a binary sequence by the value assigned to The first value indication.

优选地,第一值是1并且第二值是0。 Preferably, the first value is 1 and the second value is 0.

优选地,每一组二进制序列都被指派给一个上下文。 Preferably, each set of binary sequences are assigned to a context.

非常有利的是,在对指派了其他数字对中第一数字的上下文加以考虑的情况下,基于另一个数字对中的第一数字而将一个数字对中的第一数字指派给一个上下文的步骤是通过检查所述其他数字对的第一数字所映射的二进制序列的二进制序列编号来执行的。 It is very advantageous in the case of other numbers assigned to consider the context of the first number based on another number for the first digit and a digit on the first numeral assigned to a context of step by first checking the digital numbers on the other binary sequence is mapped to a binary sequence number executed.

较为有利的是,所述方法还包括保持一个用于描述各个上下文的统计特性的概率估计。 It is advantageous that the method further comprises maintaining a probabilistic description of the statistical properties of estimates for each context.

优选地,对各个上下文来说,所述概率估计表示的是具有指派给上下文的预定值的数字的统计似然性。 Preferably, each context is the probability estimates shows have numbers assigned to the context of a predetermined value of the statistical likelihood.

优选地,对各个上下文来说,所述概率估计是通过记录指派给所论述上下文的二进制序列中的笫一值和第二值的出现情况来保持的。 Preferably, each context, it is to keep the probability estimates assigned by the record discussed in the context of the emergence of a binary sequence Zi and second values of the case.

根据本发明的第二个方面,提供了一种图像编码方法,其中将图像分成具有多个像素的多个块,每一个像素都具有一个像素值,并且对所述像素值块执行一个变换编码操作,以便产生相应的变换系数值块。 According to a second aspect of the present invention, there is provided an image coding method, wherein the image is divided into a plurality of blocks having a plurality of pixels, each pixel having a pixel value, and performing a transform coding of the pixel value of the block operation to produce corresponding transform coefficients block. 在一种给定扫描顺序中扫描变换系数值块,以便产生一个经过扫描的系数值阵列,并且使用多个数字对来表示经过扫描的阵列中的系数值,其中所述数字对具有一个第一数字和一个第二数字。 In a given scan order to scan conversion coefficient block to produce a coefficient value through an array of scanning and the use of multiple digital to be represented through the coefficient values in the array scanning, wherein the digital to having a first number and a second number. 将第一数字和第二数字指派给表示所述数字对的多个上下文中的一个。 The first number and a second digital assigned to represent the multiple contexts in a number pairs. 根据本发明的第二个方面,数字对的第二数字是基于数字对中的第一数字而 According to a second aspect of the present invention, the second digit numbers are based on figures for the first digit and

被指派给一个上下文的。 It is assigned to a context.

优选地,基于一个数字对中的第一数字而将另一个数字对中的第一数字指派给一个上下文的步骤对指派了其他数字对中第一数字的上下文加以考虑。 Preferably, based on a figure for the first digit and the other figures of the first digital assigned to the step of assigning a context other figures take account of the context of the first number.

较为有利的是,数字对中的笫一数字表示的是一个非零系数值。 More advantageous for the undertaking of a digital representation of a digital system is a non-zero value. 优选地,数字对的第一数字与非零系数值的大小是相等的。 Preferably, the size of the first non-zero coefficient value of the digital numbers are equal to.

优选地,数字对中的第二数字表示的是在非零系数值之前的多个连续零系数值。 Preferably, the digital representation of the second digital zero prior to the plurality of consecutive zero coefficient values of the coefficient values.

优选地,所述上下文是一个基于上下文的算术编码器的上下文。 Preferably, the context is a context-based arithmetic coder context. 更为优选的是,所述上下文是基于上下文的二进制运算编码器的上下文。 More preferably, said context is a context-based binary arithmetic encoder context.

较为有利的是,第一和第二数字映射到一组二进制序列,其中每一个二进制序列都具有一个相关联的二进制序列编号,并且每一个二进制序列都能采用第一值或第二值中的一个。 It is advantageous that the first and second digital binary sequence is mapped to a group, wherein each binary sequence having a binary sequence number is associated, and each able to adopt a first binary sequence value or the second value a.

优选地,每个第一和第二数字都映射到所述一组二进制序列中的一个,而将数字映射到所述一组二进制序列中给定的一个则是通过将二进制序列的值指派给第一值来指示的。 Preferably, each of the first and second numbers are mapped to the set of a binary sequence, while the figure is mapped to the set of binary sequences is given a binary sequence by the value assigned to The first value indication.

优选地,第一值是1并且第二值是o。 Preferably, the first value is 1 and the second value is o.

优选地,每一组二进制序列都被指派给一个上下文。 Preferably, each set of binary sequences are assigned to a context.

非常有利的是,在对指派了其中一个数字对的第二数字的上下文加以考虑的情况下,基于数字对中第一数字而将数字对中第二数字指派给一个上下文的步骤是通过检查第二数字所映射的二进制序列的二进制序列编号来执行的。 It is very advantageous in the case of the context in which a number is assigned to the second digit to be considered, based on the first digit of the digital-to-digital and digital assigned to the second step of a context by examining the first second digital binary sequence mapped binary sequence number executed.

较为有利的是,所述方法还包括保持一个用于描述各个上下文的统计特性的概率估计。 It is advantageous that the method further comprises maintaining a probabilistic description of the statistical properties of estimates for each context.

优选地,对各个上下文来说,所述概率估计表示的是具有指派给上下文的预定值的数字的统计似然性。 Preferably, each context is the probability estimates shows have numbers assigned to the context of a predetermined value of the statistical likelihood.

优选地,对各个上下文来说,所述概率估计是通过记录指派给所论述上下文的二进制序列中的第一值和第二值的出现情况来保持的。 Preferably, each context, it is to keep the probability estimates assigned by the record discussed in the context of the emergence of a binary sequence in the first and second values of the case.

优选地,根据本发明第一和第二方面的方法全都适用于变换系数值块。 Preferably, the first and the second aspect of the present invention is applicable to all transform coefficient values blocks.

根据本发明的第三个方面,提供了一种编码器,包括用于将图像分为具有多个像素的多个块的装置,其中每一个像素都具有一个像素值,此外还包括用于对《象素值块执行一个变换编码操作,以便产生一个相应的变换系数值块的装置。 According to a third aspect of the present invention, there is provided an encoder comprising means for dividing an image into a plurality of blocks having a plurality of pixels, wherein each pixel having a pixel value, also comprising means for "performs a pixel value of the block transform coding operation, to generate a transform coefficient values corresponding device block. 所述编码器还包括用于以一个给定扫描顺序来扫描变换系数值块,以便产生经过扫描的系数值阵列的装置,用于表示多个数字对所代表的经过扫描的阵列中的系数值的装置,所述数字对具有一个第一数字和一个第二数字,以及用于将第一数字和第二数字指派给表示数字对的多个上下文之一的装置。 The encoder further comprises means for a given scan order to scan conversion coefficient block to produce coefficient values after the device scans the array, the array used to represent the coefficient values represented by a plurality of digital-to-scanned in the The device, the digital having a first number and a second number, and for the first digit and the second digit is assigned to one or multiple contexts device number pairs. 根据本 According to the present

发明的第三个方面,所述编码器包括用于根据另一个数字对的第一数字而将数字对的第一数字指派给一个上下文的装置。 A third aspect of the invention, the encoder comprises a first number by another number for the first digit and the number pairs assigned to a device context.

根据本发明的第四个方面,提供了一种编码器,包括用于将图像分成具有多个像素的多个块的装置,其中每一个像素都具有一个像素值,此外还包括对像素值块执行一个变换编码操作,以便产生相应的变换系数值块的装置。 According to a fourth aspect of the present invention, there is provided an encoder comprising means for dividing the image into a plurality of blocks having a plurality of pixels, wherein each pixel having a pixel value and further comprising a block of pixel values perform a transform coding operation to produce corresponding transform coefficient values of the block means. 所述编码器还包括用于以一个给定扫描顺序扫描变换系数值块,以便产生经过扫描的系数值阵列的装置,用于表示多个数字对所代表的经过扫描的阵列中的系数值的装置,其中所述数字对具有一个第一数字和一个第二数字,以及用于将第一数字和第二数字指派给表示数字对的多个上下文之一的装置。 The encoder further comprises means for a given scan sequential scan conversion coefficient block to produce coefficient values after the device scans the array, the array used to represent a plurality of digital to represent scanned values in the system apparatus, wherein the digital to having a first number and a second number, and for the first digit and the second digit is assigned to one or multiple contexts means number pairs. 根据本发明的第四个方面,所述编码器包括用于根据数字对中的第一数字而将数字对的第二数字指派给一个上下文的装置。 According to a fourth aspect of the present invention, the encoder includes a second digital According to the figures of the first digit and the number pairs assigned to a device context.

根据本发明的第五个方面,提供了一种图像编码方法,其中将图像分成具有多个像素的多个块,每一个像素都具有一个像素值,并且对像素值块执行一个变换编码操作,以便产生相应的变换系数值块。 According to a fifth aspect of the present invention, there is provided an image coding method, wherein the image is divided into a plurality of blocks having a plurality of pixels, each pixel having a pixel value, and perform a transform coding operation on the pixel value of the block, to produce corresponding transform coefficients block.

根据本发明的第五个方面,所述方法包括如下步骤:提供一个表示变换系数值块中非零系数值数目的数字,以及将这个数字指派给一个表示所述数字的上下文。 According to a fifth aspect of the present invention, the method comprising the steps of: providing a block transform coefficient values represented in the number of non-zero coefficient value figures, and this number will be assigned to a presentation context of the numbers.

非常有利的是,将表示变换系数值块中非零变换系数值数目的数字指派给一个上下文的步骤对指派了另一个数字的上下文加以考虑, 其中所述另一个数字表示的是另一个变换系数块中的非零系数值数目。 Very advantageous transform coefficient values representing the block number of non-zero value is assigned to digital conversion system of step a context assigned to consider the context of another figure, wherein said another digital representation is another transform coefficients The number of non-zero coefficient values in the block.

非常有利的是,变换值块是在给定扫描顺序中扫描的,由此产生了一个经过扫描的系数值阵列,并且在所述经过扫描的阵列中,系数值是由多个数字对来表示的,其中所述数字对具有一个第一数字和一个第二数字。 Very advantageous to transform values in a given block is scanned in the scan sequence, thereby producing an array scanning through coefficient values, and, in said array scanning, the coefficient values are to be represented by a plurality of digital wherein said digital numbers having a first and a second digital.

较为有利的是,数字对中的第一数字表示的是一个非零系数值。 It is advantageous that the digital representation of the first digital system is a non-zero value. 优选地,数字对的第一数字与非零系数值的大小是相等的。 Preferably, the size of the first non-zero coefficient value of the digital numbers are equal to. 更为优选的是,数字对的第一数字与非零系数值减1的大小是相等的。 More preferably, the first digit number for the size of the non-zero coefficient value minus 1 is equal.

优选地,数字对中的第二数字表示的是在非零系数值之前的多个连续零系数值。 Preferably, the digital representation of the second digital zero prior to the plurality of consecutive zero coefficient values of the coefficient values.

优选地,在这里没有提供一个指示处于经过扫描的系数值阵列中的最后一个非零系数值的块结束指示。 Preferably, there is no indication in after a block coefficient array scanning of the last non-zero coefficient values indicate the end.

优选地,根据本发明第一、第二和第五方面的方法每一个都适用于变换系数值块。 Preferably, the method according to the invention of the first, second and fifth aspects of each transform coefficient values applicable to block.

根据本发明的第六个方面,提供了一种编码器,其中包括用于将图像分成具有多个像素的多个块的装置,其中每一个像素都具有一个像素值,此外还包括用于对像素值块执行一个变换编码操作,以便产生相应的变换系数值块的装置。 According to a sixth aspect of the present invention, there is provided an encoder including means for dividing the image into a plurality of blocks having a plurality of pixels, wherein each pixel having a pixel value, also comprising means for the pixel value of the block to perform a transform coding operation to produce a corresponding device transform coefficient values of the block. 所述编码器包括提供一个用于指示变换系数值块中非零系数值数目的数字的装置,以及用于将所述数字指派给一个表示所述数字的上下文的装置。 The encoder comprises a block transform coefficient values for indicating the number of non-zero coefficient values of the digital means, and means for the digital device is assigned to a context of the digital representation.

非常有利的是,所述编码器还包括用于在对指派了另一个数字的上下文加以考虑的情况下指派所述指示变换系数值块中非零变换系数值数目的数字的装置,其中所述另一个数字指示的是另一个变换系数块中非零变换系数的数目。 Very favorable, said encoder further comprises means for assigning the case to be considered in the context of another digital assigned a numeric value that indicates the number of digital devices transform coefficients block zero transform coefficient values, wherein another number indicates the number of block transform coefficients of another non-zero transform coefficients.

根据本发明的第七个方面,提供了一种计算机程序,其中包括用于将图像分成具有多个像素值的多个块的代码,其中每一个像素值都具有一个像素值,此外还包括用于对像素值块执行一个变换编码操作,以便产生相应的变换系数值块的代码。 According to a seventh aspect of the present invention, there is provided a computer program, which includes means for dividing the image into a plurality of code blocks having a plurality of pixel values, wherein each pixel value having a pixel value, comprising in addition to perform a transform coding operation on the pixel values of the block in order to generate the code corresponding transform coefficient values of the block. 所述计算机程序还包括用于以给定扫描顺序扫描变换系数值块,以便产生经过扫描的系数值阵列的代码,用于使用多个数字来表示经过扫描的阵列中的系数值的代码,其中所述数字对具有一个第一数字和一个第二数字,以及用于将第一数字和第二数字指派给表示数字对的多个上下文之一的代码。 The computer program also includes a scan sequence for a given scan conversion coefficient block to produce coefficient values after the array scans the code to use a number to be represented through the code array scanning the coefficient values, wherein The figures having a first number and a second number, and for the first digit and the second digit is assigned to one or multiple contexts code number pairs. 根据本发明的第七个方面,所述计算机程序还包括用于根据另一个数字对中的第一数字而将其中一个数字对的第一数字指派给一个上下文的代码。 According to a seventh aspect of the invention, the computer program further includes a first number by another number for the first digit and will be one of the numbers assigned to a context of the code.

较为有利的是,数字对中的第一数字表示的是一个非零系数值。 It is advantageous that the digital representation of the first digital system is a non-zero value.

优选地,数字对的第一数字与非零系数值的大小是相等的。 Preferably, the size of the first non-zero coefficient value of the digital numbers are equal to. 优选地,数字对中的第二数字表示的是在非零系数值之前的多个连续零系数值。 Preferably, the digital representation of the second digital zero prior to the plurality of consecutive zero coefficient values of the coefficient values.

根据本发明的笫八个方面,提供了一种计算机程序,其中包括用于将图像分成具有多个像素值的多个块的代码,其中每一个像素值都具有一个像素值,此外还包括用于对像素值块执行一个变换编码操作,以便产生相应的变换系数值块的代码。 According Zi eight aspects of the present invention, there is provided a computer program, which includes means for dividing the image into a plurality of code blocks having a plurality of pixel values, wherein each pixel value having a pixel value, comprising in addition to perform a transform coding operation on the pixel values of the block in order to generate the code corresponding transform coefficient values of the block. 所述计算机程序还包括用于以给定扫描顺序来扫描变换系数值块,以便产生经过扫描的系数值阵列的代码,用于使用多个数字来表示经过扫描的阵列中的系数值的代码,其中所述数字对具有一个第一数字和一个第二数字,以及用于将第一数字和第二数字指派给表示所述数字对的多个上下文之一的代码。 The computer program further comprises means for a given scan order to scan the block transform coefficient values, to produce an array of coefficient values through the scan codes for using a plurality of digits to represent the coefficient values through the array in the scan code, wherein the digital having a first number and a second number, and for the first digit and the second digit is assigned to one or multiple contexts code of the number pairs. 根据本发明的第八个方面,所述计算机程序还包括用于根据数字对中第一数字来把所述数字对的第二数字指派给一个上下文的代码。 According to an eighth aspect of the invention, the computer program also includes a second digit numbers according to the first digit to the right of the digital code assigned to a context. 较为有利的是,数字对中的第一数字表示一个非零系数值。 It is advantageous to digital for the first number refers to a non-zero coefficient value. 优选地,数字对的第一数字与非零系数值的大小是相等的。 Preferably, the size of the first non-zero coefficient value of the digital numbers are equal to. 优选地,数字对中的第二数字表示的是非零系数值之前的多个连续零系数值。 Preferably, the digital representation of the second digital non-zero coefficient values are a plurality of consecutive zero coefficient values before.

根据本发明的笫九个方面,提供了一种计算机程序,其中包括用于将图像分成具有多个像素值的多个块的代码,其中每一个像素值都具有一个像素值,此外还包括用于对像素值块执行一个变换编码操作,以便产生相应的变换系数值块的代码。 According Zi nine aspects of the present invention, there is provided a computer program, which includes means for dividing the image into a plurality of code blocks having a plurality of pixel values, wherein each pixel value having a pixel value, comprising in addition to perform a transform coding operation on the pixel values of the block in order to generate the code corresponding transform coefficient values of the block. 根据本发明的第九个方面, 所述计算机程序还包括用于提供表示变换系数值块中非零系数值数目的数字的代码,此外还包括用于将这个数字指派给一个表示所述数字的上下文的代码。 According to a ninth aspect of the invention, the computer program also includes a system for providing a conversion value of non-zero coefficients block number of digital code, also it includes for this number assigned to a representation of the number context code.

非常有利的是,所述计算机程序还包括用于在对指派了另一个数字的上下文加以考虑的情况下,将指示变换系数值块中非零变换系数值数目的数字指派一个上下文的代码,其中所述另一个数字指示的是另一个变换系数块中的非零系数值的数目。 It is very advantageous, the computer program further comprising means for assigning the case to be considered in the context of another figure will transform coefficient values indicating the block number of transform coefficients non-zero value is assigned a numeric code context in which The other numbers indicate the number of another block of transform coefficients of non-zero coefficient value.

根据本发明的第十个方面,提供了一种依照本发明第七、第八和第九方面的计算机程序。 According to a tenth aspect of the present invention, there is provided a method according to the seventh, eighth and ninth aspects of the present invention is a computer program.

根据本发明的第十一个方面,提供了一种基于上下文的算术编码方法,其中数据符号阵列是用一个码字来表示的。 According to an eleventh aspect of the present invention, there is provided a method of context-based arithmetic coding, where an array of data symbols is a codeword represented. 所述阵列中的数据 The data array

符号是包含了一个第一数字和一个第二数字的数字对。 Symbol containing a first and a second digital-digit number right. 所述数字对中的第一数字指派给一个从表示第一数字的多个上下文中选出的上下文,数字对中的第二数字则指派给一个从表示第二数字的多个上下文中选出的上下文。 The figure for the first digit is assigned to one or multiple contexts from the selected first digital context, digital for the second digit is assigned to one or multiple contexts from the second digit selected context. 根据本发明的笫十一个方面,数字对的第一数字是基于数字对中另一个数字对的第一数字而被指派给上下文的。 According to one aspect of the present invention undertaking of ten, the first digit numbers are based on figures for the first digit of the other figures are assigned to the context.

根据本发明的第十二个方面,提供了一种基于上下文的算术解码方法,其中数据符号阵列是从一个表示阵列的码字中解码的。 According to a twelfth aspect of the present invention, there is provided a method of context-based arithmetic decoding, wherein the data array of symbols from the codeword represents array decoding. 所述阵列中的数据符号是包含了一个第一数字和一个第二数字的数字对。 The array includes a data symbol is a first and a second digital-digit number right. 所述数字对的第一数字指派给一个从代表第一数字的多个上下文中选出的上下文,而数字对的第二数字则指派给一个从代表第二数字的多个上下文中选出的上下文。 The figures for the first digit pair assigned to a selected from a plurality of context representing the first digit of the context, and the second digit number is assigned to one of the elected representatives from more context in the second digital context. 根据本发明的第十二个方面,数字对的第一数字是基于数字对中的另一个数字对的第一数字而被指派给上下文的。 According to a twelfth aspect of the present invention, the first figure is based on figures for the first digital another digit number to the right is assigned to the context.

根据本发明的第十三个方面,提供了一种基于上下文的算术编码方法,其中数据符号阵列是用一个码字来表示的。 According to a thirteenth aspect of the present invention, there is provided a method of context-based arithmetic coding, where an array of data symbols is a codeword represented. 所述阵列中的数据符号是包括一个第一数字和一个第二数字的数字对。 The array of data symbols comprising a first number and a second digital number pairs. 所述数字对的第一数字指派给一个从表示第一数字的多个上下文中选出的一个上下文,所述数字对的第二数字则指派给一个从表示第二数字的多个上下文中选出的上下文。 The first digit number assigned to a pair represents a context from the context of the first plurality of selected numbers, the figures for the second digit is assigned to one or multiple contexts selected from the second digit out of context. 根据本发明的第十三个方面,数字对的笫二数字是基于数字对中的第一数字而被指派给一个上下文的。 According to a thirteenth aspect of the present invention, the digital to the undertaking of the second figure is based on the first digit is assigned to a digital context.

根据本发明的第十四个方面,提供了一种基于上下文的算术解码方法,其中数据符号阵列是从一个表示阵列的码字中解码的。 According to a fourteenth aspect of the present invention, there is provided a method of context-based arithmetic decoding, wherein the data array of symbols from the codeword represents array decoding. 所述阵列中的数据符号是包括一个第一数字和一个第二数字的数字对。 The array of data symbols comprising a first number and a second digital number pairs. 所述数字对的第一数字指派给一个从表示第一数字的多个上下文中选出的上下文,所述数字对的第二数字则指派给一个从表示第二数字的多个上下文中选出的上下文。 The first digit number assigned to one of a plurality of context from the first number represents selected context, the second digit of the number pairs are assigned to one or multiple contexts from the second digit selected context. 根据本发明的第十四个方面,数字对的第二数字是基于数字对中的第一个数字而被指派给一个上下文的。 According to a fourteenth aspect of the present invention, the second digit numbers are based on figures for the first number is assigned to a context.

根据本发明的第十五个方面,提供了一种基于上下文的算术编码方法,其中数据符号阵列是用一个码字来表示的,此外还提供了表示阵列中非零数据符号数目的数字并且将其指派给一个表示所述数字的上下文。 According to a fifteenth aspect of the present invention, there is provided a method of context-based arithmetic coding, wherein the data array of symbols is a codeword represented, in addition to providing a non-zero number of data symbols and the digital representation of an array assign it to a presentation context of the numbers.

根据本发明的第十六个方面,提供了一种基于上下文的算术编码器,其中包括用于使用码字来表示一个数据符号阵列的装置。 According to a sixteenth aspect of the present invention, there is provided a context-based arithmetic coder, including for use codeword to represent a data symbol array means. 所述阵列中的数据符号是包括第一数字和第二数字的数字对,所述编码器还包括用于将数字对的第一数字指派给一个从代表第一数字的多个上下文中选出的一个上下文的装置,以及将数字对的第二数字指派给一个从代表第二数字的多个上下文中选出的上下文的装置。 The array of data symbols including a first and a second digital-digit number right, the encoder further comprises a first digit of the number will be assigned to one selected from a plurality of context representing the first digit of means of a context, and the second digit of the number will be assigned to the context of devices selected from a plurality of context represents the second digit of. 根据本发明的第十六个方面,所述编码器包括根据所述数字对中一个数字对的第一数字而将另一个数字对的第一数字指派给一个上下文的装置。 According to a sixteenth aspect of the present invention, the first digital said encoder comprises according to the first digit in a number of the digital and the other pair is assigned to a digital-to-device context.

根据本发明的第十七个方面,提供了一种基于上下文的算术解码器,其中包括用于从表示数据符号阵列的码字中解码出数据符号阵列的装置。 According to a seventeenth aspect of the present invention, there is provided a context-based arithmetic decoder for decoding means including an array of data symbols represent data symbols from the codeword array. 所述阵列中的数据符号是包括第一数字和第二数字的数字 The array of data symbols comprising a first number and a second number of digital

对,所述解码器还包括:用于将数字对的第一数字指派给从代表第一数字的多个上下文中选出的一个上下文的装置,以及将数字对的第二数字指派给一个从代表第二数字的多个上下文中选出的上下文的装置。 Yes, the decoder further comprising: a first digit of the number will be assigned to the device selected from the plurality of context on behalf of the first digit in a context, and the second digit of the number will be assigned to a slave context means more context represents the second digit selected. 根据本发明的第十七个方面,所述解码器包括根据所述数字对中 According to a seventeenth aspect of the present invention, the decoder comprises according to the figures for the

一个数字对的第一数字而将另一个数字对的第一数字指派给一个上下文的装置。 The first digit of a number of figures for the first digit and the other pair is assigned to a device context.

根据本发明的笫十八个方面,提供了一种基于上下文的算术编码器,其中包括使用码字来表示一个数据符号阵列的装置。 According Zi eighth aspect of the present invention, there is provided a context-based arithmetic coder, including the use of a codeword to represent a data symbol array means. 所述阵列中的数据符号是包括第一数字和第二数字的数字对,所述编码器还包括用于将数字对的第一数字指派给从代表第一数字的多个上下文中选出的一个上下文的装置,以及将数字对的第二数字指派给一个从代表第二数字的多个上下文中选出的上下文的装置。 The array of data symbols including a first and a second digital-digit number right, the encoder further comprises a pair of first digit number assigned to elect representatives from multiple contexts in the first digital a device context, and the second digit number assigned to the context of a device selected from a plurality of context represents the second digit of. 根据本发明的第十八个方面,所述编码器包括用于根据数字对中第一数字而将数字对的第二 According to an eighteenth aspect of the present invention, the encoder comprises according to figures for the first digit and the second digit pair

数字指派给一个上下文的装置。 Digital assigned to a device context.

根据本发明的第十九个方面,提供了一种基于上下文的算术解码器,其中包括用于从表示数据符号阵列的码字中解码出所述阵列的装置。 According to a nineteenth aspect of the present invention, there is provided a context-based arithmetic decoder including means for decoding code words from the array of data symbols represent array. 所述阵列中的数据符号是包括第一数字和第二数字的数字对,所述解码器还包括用于将数字对的第一数字指派给一个从代表第一数字的多个上下文中选出的上下文的装置,以及将数字对的第二数字指派给一个从代表第二数字的多个上下文中选出的上下文的装置。 The array of data symbols including a first and a second digital-digit number right, the decoder further comprises a first digital-to-digital assigned to one selected from a plurality of context representing the first digit of The device context, and the second digit of the number will be assigned to the context of devices selected from a plurality of context represents the second digit of. 根据本发明的第十九个方面,所述解码器包括用于根据数字对中第一数字而将数字对的第二数字指派给一个上下文的装置。 According to a nineteenth aspect of the present invention, the decoder comprises means for assigning to a context based on the second digit number for the first digit and the number pairs. 根据本发明的第二十个方面,提供了一种基于上下文的编码器, 其中包括使用一个码字来表示一个数据符号阵列的装置,此外还包括提供一个表示阵列中非零数据符号数目的数字的装置,以及将所述数字指派给一个表示所述数字的上下文的装置。 According to a twentieth aspect of the present invention, there is provided a context-based encoder, which comprises using a codeword to represent a data symbol array means, also includes a non-zero data symbols in the array represents a digital number and means will be assigned to a digital representation of the context of the number of devices.

通过结合图7a到12来阅读本说明书,本发明将会变得清楚。 By combining Figures 7a to 12 reading this specification, the present invention will become apparent. 附图说明 Brief Description

图1是一个对使用了基于块的变换编码以及运动补偿预测的示范性视频编码器结构进行描述的框图。 Figure 1 is a block diagram illustrating the use of the described based transform coding and motion compensated predictive video encoder exemplary structure block.

图2是与图1编码器相对应的示范性视频解码器的框图。 Figure 2 is a block diagram in Figure 1 encoder corresponding exemplary video decoder.

图3是一个显示示范性的Z字形扫描的图示。 Figure 3 is an exemplary illustration shows the Z-shaped scanning.

图4是显示现有技术中基于上下文的算术编码方案的编码器的框图。 Figure 4 is a block diagram showing a prior art context based arithmetic encoder for encoding scheme.

图5是显示现有技术中基于上下文的算术编码方案的解码器的框图。 Figure 5 is a block diagram showing the prior art based on the context of a decoder for arithmetic encoding scheme.

图6a是显示以Z字形方式扫描的量化DCT系数值的示范性二维阵列的图示。 Figure 6a is a graph showing an exemplary illustration of a two-dimensional array of quantized DCT coefficients are scanned in a zigzag manner Z values.

图6b是一个显示那些由图6a的阵列导出的等级和游程值的表格。 Figure 6b is a display table levels and the value of those run by the array of Figure 6a exported.

图6c是显示表1的二进制化方案应用于图6b的等级和游程的值所导致的二进制化的等级和游程值的表格。 6c is a display table values in Table 1 of the binary scheme applies to Figure 6b level and run the resulting binary of rank and run values.

图6d是一个显示了用以从游程和等级中更新概率估计的方法的表格。 Figure 6d is a show for updates from the run and the level of the probability estimation method form.

图7a是一个显示了根据等级值而将上下文指派给二进制序列的方法的表格。 Figure 7a shows a level is a value assigned to the context of a method forms a binary sequence.

图7b是一个显示了根据本发明第一实施例而将上下文指派给等级值的方法的表格。 Figure 7b is a display according to a first embodiment of the invention and the context of the rating assigned to the table value method.

图8a是一个显示了基于游程值而将上下文指派给二进制序列的方法的表格。 8a is a table showing the run value based on the context of a binary sequence assigned to the method.

图8b是一个显示了根据本发明第二实施例而将上下文指派给游程值的方法的表格。 Figure 8b is a display according to a second embodiment of the present invention and will be assigned to form the context of the run-value method.

图9是一个描述了依照本发明的基于上下文的算术编码方案的编 Figure 9 is a description of the context-based arithmetic coding according to the coding scheme of the present invention

图io是一个依照本发明的解码器的框图。 Io is a block diagram according to the decoder of the present invention. 图ll是一个描述了根据本发明优选实施例的图像编码方法的流程图。 Figure ll is a description of a flowchart of an image encoding method according to a preferred embodiment of the invention.

图12是一个描述了根据本发明另一个实施例的图像编码方法的流程图。 FIG. 12 is a flowchart of an image encoding method is described according to another embodiment of the invention.

具体实施方式 DETAILED DESCRIPTION

现在将对本发明的实施例进行详细论述。 Embodiments of the present invention will now be discussed in detail. 如上所述,本发明提供了多种相关机制,通过该机制可以对基于上下文的算术编码器的编码效率(数据压缩)加以改进。 As described above, the present invention provides a variety of mechanisms, the coding efficiency can be improved context-based arithmetic encoder (data compression) through the mechanism. 这种改进是通过使用那些对指派了其他数据符号的上下文加以考虑的上下文模型来实现的。 This improvement is achieved by using a context model for those assigned to the context of other data symbols to be considered to achieve.

在下文笫1.1节详细描述了本发明的笫一实施例,该实施例涉及一种基于上下文的二进制算术编码器,所述编码器适于在例如ITU-T 建议H. 26L定义的图^f象编码系统中使用。 Described in detail below the 1.1 Zi Zi one embodiment of the present invention, for example, involves a context-based binary arithmetic encoder of this embodiment, the encoder is suitable, for example, ITU-T recommendation H. 26L defined in Figure ^ f as the coding system used. 在这个实施例中,通过对图像像素的变换编码块的量化编码系数进行游程-等级编码而产生的等级值是在考虑到了归属同一个块的另一个变换系数等级的情况下指派给上下文的。 In this embodiment, by the quantized coding coefficient transform coding block of image pixels in the run - rank value level coding produced is taken into account under the ownership of the same block of another transform coefficient levels of the case assigned to the context.

在第1.2节详细描述了本发明的第二实施例,该实施例也涉及一种用于图像编码系统的基于上下文的二进制算术编码器,其中所述系统可以是例如ITU-T建议H. 26L中定义的图像编码系统。 A detailed description of the second embodiment of the present invention, in section 1.2, the embodiment also relates to a method for image coding system context-based binary arithmetic coding, wherein the system may, for example, ITU-T recommendation H. 26L defined image coding system. 在第二实施例中,通过对图像像素的变换编码块的量化的DCT变换系数进行游程-等级编码而产生的游程值是在考虑到了游程值所属的游程-等级对的等级值的情况下指派给上下文的。 In a second embodiment, through the quantized DCT transform coefficients of the image pixels transform coding block to be run - run value level coding generated when you consider that the run-run-value belongs - under the rank value level of the case assignment to context.

在第1.3节描述了本发明第三实施例,该实施例同样涉及一种用于图像编码系统的基于上下文的算术编码器,其中所述系统可以是例如ITU-T建议H. 26L中定义的图^f象编码系统。 Section 1.3 describes the third embodiment of the present invention, this embodiment also relates to an image coding system for context-based arithmetic coder, wherein the system may, for example, ITU-T recommendation H. 26L defined Figure ^ f image coding system. 才艮据第三实施例,变换编码图像块的非零变换系数的数目Nc被确定,并且在考虑到指派给用于至少一个其他变换编码图像块的Nc值的上下文的情况下,将其指派给一个上下文。 It was the case of the third embodiment of Burgundy, the number Nc transform coded image block non-zero transform coefficients is determined, and taking into account assigned to the Nc value used in the context of at least one other block transform coding image, assign it give a context.

本发明的优选实施例组合了上述这三个实施例的功能。 A preferred embodiment of the present invention a combination of the three functions of the embodiments.

如本文先前所述,ITU-T建议H. 26L TML 8的高复杂度类使用了 As previously described herein, ITU-T recommendation H. high complexity class 26L TML 8 uses

一种以CABAC著称的基于上下文的算术编码形式。 A CABAC known to form a context-based arithmetic coding. 在一个根据H. 26L 实施的视频编码器中,CABAC方法被用于对由编码器产生的各种不同类型的信息进行编码,其中包括图像像素变换编码块所产生的变换系数(帧内编码模式)或是预测误差(帧间编码模式)。 In one embodiment according to the H. 26L video encoder, CABAC method is used for a variety of different types of information produced by the encoder for encoding, which includes transform coefficients (intraframe encoding mode image pixel block generated by transform coding ) or the prediction error (inter-frame coding mode). 通过对图像像素块进行变换编码产生的变换系数的二维阵列根据一种特定的扫描模式来扫描从而产生一维阵列。 Two-dimensional array of transform coefficients by transform coding image pixel blocks produced according to a specific scan mode to scan to produce a one-dimensional array. 这两种扫描模式是在H. 26L中定义的。 Both scan modes are defined in the H. 26L. 第一种模式称为"单扫描模式",另一种模式则称为"双扫描模式"。 The first mode is called "single-scan mode", another mode is called "dual scan mode." 不管使用哪一种扫描模式,扫描变换系数都会将系数值的二维阵列转换成一个以预定方式来对系数进行排序的一维阵列。 Regardless of what kind of scanning mode, scanning the two-dimensional array of transform coefficients are converted into coefficients in a predetermined manner on a sort of one-dimensional coefficient array. 在所述一维阵列 In the one-dimensional array

中,有序的变换系数值被转换成游程和等级值。 , The orderly transformation coefficient values are converted into run and level values. 在经过排序的一维阵列中,最后一个条目是一个依照H. 26L TML 8的块结束符号,该条目采取的是一个与零相等的等级值的形式。 After ordering a one-dimensional array, the last entry is a block according to H. 26L TML 8 end symbol, the entry takes the form of a rank equal to a value of zero. 由此表明:在有序阵列中, 最后一个非零系数值已经转换成一个游程-等级对。 It is suggested that: in an ordered array, the last non-zero coefficient value has been converted into a run - rank right.

游程和等级值是通过将其映射到一系列二进制序列而被转换成二进制数字的(二进制化),其中可以为每一个二进制数字都可被赋予值0或1 (参见表l)。 Run-level values by mapping it to a series of binary sequence is converted into binary digits (binarization), which can can be assigned a value to each binary digit 0 or 1 (see Table l). 然后,经过二进制化的游程和等级值指派给上下文,也就是一个为游程和等级定义的单独的上下文集合。 Then, after a run of binary and hierarchical values are assigned to the context, which is a collection of separate context and level definition of the run. 根据H. 26L TML8,对一个给定的块类型来说,为等级定义的上下文集合只依赖于指派了等级的二进制序列的编号。 According to H. 26L TML8, for a given block types, as defined in the context of a collection of grade only depends on the rating assigned to the binary sequence of numbers. 更具体地说,根据H. 26L TML 8而为等级编码定义了四个上下文。 More specifically, according to H. 26L TML 8 which defines four grades context is encoded. 第一个上下文用于第一个二进制序列,第二个上下文是用于第二个二进制序列,第三个上下文用于剩下的表示等级幅度的二进制序列。 The first context for the first binary sequence, second context is a second binary sequence, the third level of the context for the rest of the magnitude of the binary sequence represented. 剩余上下文则用于等级的符号。 Context is used to rank the remaining symbols. 就游程来说,存在三个上下文,其中第一个上下文用于第一个二进制序列, 第二个上下文用于第二二进制序列,笫三个上下文则用于剩余的所有二进制序列。 To run it, there are three contexts in which the first context for the first binary sequence, second context for a second binary sequence, Zi context is used in all three remaining binary sequence. 由于游程值总是等于或大于零,因此不需要使用一个附加上下文来表示符号信息。 Since the run value is always equal to or greater than zero, there is no need to use an additional context to represent symbol information.

1. 1用于等级的上下文模型 1.1 for grades context model

根据本发明的第一实施例,在将一个二进制化的等级值指派给一个上下文时,除了考虑等级自身映射到的二进制序列之外,还要考虑到先前游程-等级对中的等级值。 According to a first embodiment of the present invention, when the level of a binary value assigned to a context, in addition to considering their own rating maps to a binary sequence, we should also take into account the previous run - rating on the rating value. 在这个方面,术语"先前游程-等级对"意味着所述游程-等级对与有序系数值的一维阵列中的先前系数相对应。 In this regard, the term "previously run - rating of" the mean run - grade one-dimensional array ordered coefficient values in the previous corresponding coefficient. 以下的伪代码给出了一个用于将上下文指派给游程_等级 The following pseudo code gives a context for the rating assigned to run _

对的等级值的示范性过程,其中考虑到了等级本身映射到的二进制序 An exemplary process for the level values, taking into account the level of their mapping to binary sequence

列以及先前游程_等级对中的等级值: Columns and previously run _ rating for the level values:

<formula>formula see original document page 36</formula> <Formula> formula see original document page 36 </ formula>

few-(7^./? —,U^T^X+/7reK— /e^s/ 在表达式(2)中,/7reK_7eKe/是先前游程-等级对的等级值的大小。在每个块的开端,/?re^/ere/都会^皮初始化为零。在双扫描模式中,在每个扫描开端初始化/?rer/ere/,即每块两次。参数MAX —BIN —LEVEL提供了一种用于对由等级值映射到的二进制序列编号影响上下文指派的方式加以控制的手段。更具体地说,以一种与依照H.26L TML 8进行的当前上下文指派相似的方式,MAX—BIN —LEVEL有效定义了一个所有大于或等于MAX—BIN —LEVEL的二进制序列编号被指派到的上下文。以一种相似的方式,参数MAX — LEVEL提供了一种对先前游程-等级对中的等级值影响上下文指派的方式加以控制的手段。 图7a和图7b描述了才艮据本发明第一实施例并通过应用表达式(2 )的伪代码而将上下文指派给等级值的方法,其中MAX_BIN —LEVEL - 3并且MAX —LEVEL = 5。原则上可以使用MAX_BIN_LEVEL与MAX—LEVEL的任何组合来定义一组适于所要编码的等级值统计特征的上下文。 1.2用于游程的上下文模型 few- (7 ^ / -.?, U ^ T ^ X + / 7reK- / e ^ s / in the expression (2), / 7reK_7eKe / was previously run - size rank rank value for each block in. beginning, /? re ^ / ere / will ^ skin initialized to zero. In the dual scan mode, each scan start initialization /? rer / ere /, that is, twice each parameter MAX -BIN -LEVEL provided a means for mapping from the level values to binary sequence number assigned to the context of the impact for a controlled manner. More specifically, in a current context in accordance with the assigned H.26L TML 8 carried out in a similar manner, MAX- BIN -LEVEL effectively defines a all greater than or equal to MAX-BIN -LEVEL binary sequence number assigned to the context in a similar manner, the parameter MAX -. LEVEL provides a previously run - Rank of the grade means value affects the way the context is assigned to the control. 7a and 7b described only Burgundy according to the first embodiment of the present invention and by applying the expression (2) of the pseudo-code and the context of the rank value assigned to the method in which MAX_BIN -LEVEL - 3 and MAX -LEVEL = You can define a set of values appropriate to the context of the statistical characteristics to rank coded using MAX_BIN_LEVEL any combination of MAX-LEVEL 5. Principles 1.2 model used in the context of the run.

根据本发明的第二实施例,在这里使用了一种与第1.1节所描述的方法相类似的方法来将游程值指派给上下文。 According to a second embodiment of the present invention, a method used here and described in Section 1.1 with a similar approach to the run values are assigned to the context. 更具体地说,在将一个二进制化的游程值指派给一个上下文的时候,除了考虑游程本身映射到的二进制序列之外,还要对游程值归属的游程_等级对的等级加以考虑。 More specifically, in the run of a binary value assigned to a context of time, in addition to considering the mapping process itself to swim outside the binary sequence, but also on the value of the home run the run _ rating for the level to be considered. 下文中的伪代码给出了一个用于将上下文指派给游程-等级对中的游程值的示范性过程,在这个过程中顾及了游程本身映射到的二进制序列以及所述游程值所归属的游程-等级对的等级值: The following pseudo code gives one for the context is assigned to the run - rating on the run value of an exemplary process, in this process, taking into account the mapping of the run itself to binary sequence and the run value attributable to the run - Level value level pairs:

<formula>formula see original document page 36</formula><formula>formula see original document page 37</formula> ( 3 ) <Formula> formula see original document page 36 </ formula> <formula> formula see original document page 37 </ formula> (3)

在表达式(3)中,/eKe/是游程-等级对中的等级值的大小。 In the expression (3), / eKe / is run - size grade for the rank values. 参数MAX —BIN —RUN提供了一个对游程值映射到的二进制序列编号影响上下文指派的方式加以控制的手段。 Parameter MAX -BIN -RUN provides a mapping run binary sequence number value to influence the context of assignments means controlled manner. 更具体地说,以一种与依照H. 26L TML 8进行的当前上下文指派相类似的方式,MAX —BIN-RUN有效定义了一个指派了大于或等于MAX_BIN_RUN的所有二进制序列编号的上下文。 More specifically, in a current context in accordance with the assignment H. 26L TML 8 performed a similar manner, MAX -BIN-RUN effectively defines an assigned context of greater than or equal MAX_BIN_RUN all binary sequence numbers. 以一种相似的方式,参数MAX —RUNL提供了一种对游程-等级对中的等级值影响上下文指派的方式进行控制的手段。 In a similar way, the parameter MAX -RUNL provides a kind of run - means rank on the rank value assigned to affect the way the context of control. 图8a和图8b描述了依照本发明第二实施例并通过应用表达式(3)的伪代码而将上下文指派给等级值的方法,其中MAX —BIN —RUN = 3并且MAX —RUNL = 4。 Figures 8a and 8b describes a method according to a second embodiment of the present invention and by applying the expression (3) of the pseudo-code and will be assigned to a class context values, where MAX -BIN -RUN = 3 and MAX -RUNL = 4. 原则上可以4吏用MAX —BIN-RUN与MAX_RUNL的任何组合来定义一组适于所要编码的游程值统计特征的上下文。 4 Officials can use MAX -BIN-RUN with any combination MAX_RUNL to define the context of a group suited to be coded statistical characteristics of run-value principle. 1.3用于非零系数数目的上下文 Context 1.3 for non-zero number of coefficients

特别地,本发明的第三实施例尤其涉及到将变换系数值的有序阵列转换成游程和等级值的方法,以及用信号通知那些与量化变化系数值的阵列相对应的游程-等级对数目的方法。 In particular, the third embodiment of the present invention particularly relates to the conversion of an ordered array of transform coefficients into run and level values method, as well as an array of signaling and quantify those changes coefficient values corresponding to the run - the number of grades approach. 更具体地说,在对一个图像像素块或是预测误差值进行变换编码,从而形成一个变换系数值的二维阵列并且对每一个系数值进行量化之后,阵列中的非零量化系数值数目将被确定。 More specifically, after a block of image pixels or prediction error values transform coding, thereby forming a two-dimensional array of transform coefficient values and each quantized value system, the number of non-zero quantized coefficient values in the array will be It is determined. 一个称为Nc的值将被指派给所述数字并被用于明确地用信号通知阵列中非零系数值的数目。 Value called Nc will be assigned to the digital system and is used to clear the number of values in the array zero signaling. 因此,依照本发明的这个实施例,在这里不再需要一个诸如与零相等的等级值这样的E0B符号。 Thus, according to this embodiment of the invention, there is no longer need for a symbol such as E0B with rank equal to a value of zero.

经过量化的变换系数进一步根据预定扫描顺序而被扫描,以便产生一个有序的一维阵列。 After further quantized transform coefficients according to a predetermined scan order is scanned to produce an ordered one-dimensional array. 可替换地,也可以在对量化系数值进行排序之后再确定Nc。 Alternatively, you can then determine Nc After the quantized coefficients to be sorted. 然后,有序阵列中的每一个非零量化系数都转换成游程-等级对。 Then, an ordered array of each non-zero quantized coefficients are converted to run - rank right. 根据本发明的这个实施例,游程-等级对的等级值表示的是经过量化的系数减1得到的值的大小,游程值则与所论述系数之前的连续零值量化系数的数目相对应。 According to this embodiment of the present invention, the run - rank value level of representation is quantized coefficients minus one size, run the value obtained is the number of consecutive zero-valued quantized coefficients discussed factor before correspond. 由于不再将与零相等的等级值用作块结束指示符,因此为所述等级值赋予了量化系数减1所得到的 No longer will rank equal with zero value as the end of the block indicator, thus giving the quantized coefficients for said rank value obtained minus 1

值的大小。 Value size. 由此可以节省用于表示等级信息所需要的数据量(例如比特数目)。 It can be used to represent the amount of savings (e.g., number of bits) of data required level information.

然后,与Nc值一样,在这里使用了熵编码来对等级和游程值进行编码。 Then, Nc value, as used herein, the entropy coding for rank and run values are encoded. 在使用了诸如在H. 26L TML 8中实现的CABAC :J支术之类的基于上下文的算术编码方法的情况下,如上所述,可以根据本发明的第一和/或第二实施例来对游程和等级值进行编码。 In the use of such in H. 26L TML 8 implemented CABAC: J branch operation like the case of a context-based arithmetic coding method, as described above, may be the first and / or second embodiment of the present invention. on the run and level values are encoded. 可替换地,也可以将任 Alternatively, it can be any

何其他适当的上下文模型用于游程和等级值。 Any other appropriate context model for the run and level values. 此外还可以为Nc定义一个单独的上下文模型。 Furthermore Nc can also define a separate context model. 根据本发明的这个实施例,首先将表示给定块中非零量化变换系数数目的Nc值映射到一系列的二进制序列来对对其进行二进制化,其中每一个二进制序列都具有一个相应的二进制序列编号。 According to this embodiment of the present invention, the first block will represent a given number of non-zero quantized transform coefficients Nc values are mapped to a series of binary sequence to be binarized, each of which has a corresponding binary sequence binary SEQ ID NO. 然后则基于Nc所映射到的二进制序列编号以及指派了一个Nc 值的至少一个其他图像块或宏块的Nc来确定用于所述Nc的上下文。 Nc at least one other image block or macro block is then mapped to Nc are based on binary sequence Nc number and assigned a value to determine the context for the Nc of. 以下的伪代码给出了用于将一个上下文指派给一个Nc值的示范性过程,在这个过程中考虑到了Nc本身映射到的二进制序列以及先前的Nc 值: The following pseudo code gives a context assigned a value of Nc exemplary process for consideration in the process to map Nc itself to binary sequence and prior Nc values:

<formula>formula see original document page 38</formula> <Formula> formula see original document page 38 </ formula>

在表达式(4)中,/7/er—y7c即为先前的Nc值。 In the expression (4), / 7 / er-y7c Nc is the previous value.

在从编码器将经过编码的给定量化变换系数块的等级和游程值发送到一个解码器的时候,经过熵编码的Nc值是在对游程和等级值进行编码之前发送的。 Encoded in the encoder will give quantitative levels and run value conversion coefficient block is sent to a decoder, when, after entropy encoding Nc value prior to the run and level values are encoded sent from. 在解码器上对所述Nc值进行解码,其后则跟随着与所论述块的量化变换系数值相对应的游程-等级对。 On the decoder to decode the Nc value, followed by the quantized transform coefficients followed and discussed the value of the corresponding block run - rank right. 当对等级值进行解码时,为了补偿在编码器中所作的相应减法,将会把数值+1加到各个等级大小中。 When rating value is decoded, in order to compensate for the corresponding subtraction made in the encoder, the value +1 will be added to each grade sizes.

为了展示使用图像编码方法而在编码效率上的改进,根据本发明,平均比特率差值是通过使用关于QP=28、 24、 20、 16的结果来计算的。 To demonstrate the use of the picture coding method and the coding efficiency improvement, according to the present invention, the difference between the average bit rate by using the result on the QP = 28, 24, 20, 16 is calculated. 表2显示了与TML 8相比较的百分比形式的比特率减少,其中 Table 2 shows the comparison with TML 8 percentage reduction of the bit rate, wherein

MAX —LEVEL = 5并且MAX —RUN = 4。 MAX -LEVEL = 5 and MAX -RUN = 4. 所有帧都是在CABAC模式中作为I 帧来编码的。 All frames are encoded as I frame in CABAC mode. 如表2所示,比特率的减少范围是从0. 95到4. 74%。 As shown in Table 2, to reduce the bit rate range is from 0.95 to 4.74%. 当QP值很小的时候,所述改进将会更为显著。 QP value when very young, the improvements will be more significant.

在表2中,出现在表格第一行的名称是在Gisle Bjontegaard的"Recommended Simulation Conditions for H. 26L" ( VCG-M75, ITU-T Video Coding Experts Group, Austin, Texas, USA, 2-4 April, 2001 )中使用的画面。 In Table 2, the table name appears in the first line is in Gisle Bjontegaard the "Recommended Simulation Conditions for H. 26L" (VCG-M75, ITU-T Video Coding Experts Group, Austin, Texas, USA, 2-4 April , 2001) used in the screens.

<table>table see original document page 39</column></row> <table>表2 <Table> table see original document page 39 </ column> </ row> <table> Table 2

现在参考图9,根据本发明,发送端的编码器10包括一个用于保存先前等级和游程的单元16。 Referring now to FIG. 9, according to the present invention, the transmitting end of the coder 10 includes a unit for saving a previous grade and run 16. 如图9所示,用于给定块的游程-等级对102被提供到映射单元12,所述映射单元12将所述对映射到一系列的二进制序列,每一个二进制序列都具有值0或1。 As shown in Figure 9, for a given block of the run - Level 102 is supplied to the mapping unit 12, the mapping unit 12 will be mapped to a series of the binary sequence, each binary sequence has a value of 0 or 1. 在表示游程-等级对的序列中,二进制序列的位置称为二进制序列编号。 Representing the run - Rank of the sequence, the location of the binary sequences called binary sequence number. 二进制序列编号由信号104表示。 Binary sequence number is represented by the signal 104. 基于信号104和单元16提供的先前编码的等级值108,指派单元14将一个上下文指派给一个二进制序列编号。 Based on the previous level value encoded signal 104 and the unit 16 provides 108 assigned unit 14 a context number assigned to a binary sequence. 信号106 表示的上下文被提供到一个自适应算术编码器20。 Signal 106 represents the context is supplied to an adaptive arithmetic coder 20. 而1的出现概率与0的出现概率则是通过一个概率估计单元22来估计的。 The probability of occurrence probability of occurrence of 0 and 1 is the unit by 22 to estimate a probability estimate. 基于所述概率估计120,算术编码单元24对二进制序列进行编码。 An estimated 120, arithmetic coding unit 24 encodes binary sequence based on the probability. 反馈信号124则从编码器24提供到概率估计模块22,从而更新概率估计。 Feedback signal 124 from the encoder 24 is supplied to the probability estimation module 22, thereby updating the probability estimation. 经过编码的信息转变成一个比特流122。 Coded information into a bit stream 122. 以便传递到一个解码器或者保存在一个存储设备中以供稍后使用。 For delivery to a decoder or stored in a storage device for later use.

优选地,编码器10还包括一个能在将游程-等级对提供给算术编 Preferably, the encoder 10 also includes a can in the run - to the rank of Arithmetic Coding

码器20之前将块中非零系数数目Nc提供给算术编码器20的单元18, 因此还对Nc进行编码并且将其包含在比特流122中。 Before the block decoder 20 the number of non-zero coefficients Nc to the arithmetic encoder 20 of unit 18, it is also to be encoded and Nc be included in the bit stream 122. 所述Nc则是由信号110来表示的。 The Nc is represented by the signal 110. 在使用Nc的情况下,没有必要向解码器发送一个块结束(EOB)符号。 In the case Nc, there is no need to send an end of block (EOB) symbol to the decoder. 在现有技术中,大小为0的等级值将被用于EOB 符号。 In the prior art, the size of the rank value of 0 will be used EOB symbol. 更具体地说,Nc是在变换和量化之后才被发现的并且是使用熵编码来对其进行编码的。 More specifically, Nc is only discovered after transform and quantization and entropy coding is to use its coding. 需要指出的是,在非零系数数目已知的情况下,不再有必要使用0等级值来用信号通知块结束。 It should be noted that, in the case where the number of non-zero coefficient is known, is no longer necessary to use 0 level values signaled the end block. 因此,通过将量化系数值减l,可以对等级值进行修改。 Therefore, the quantized coefficients minus l, you can modify the value of the rank.

如图IO所示,在接收端使用解码器50来接收编码器IO提供的比特流122。 As shown in Figure IO, at the receiving end using the decoder 50 to receive the encoder IO provide bitstream 122. 接收到的比特流表示的是经过算术编码的数据符号,它是由参考数字202来表示的。 Received bit stream representing the data symbols through arithmetic coding, it is by reference numeral 202 to represent. 一开始,根据先前解码的符号,在上下文指派单元66中计算一个上下文,并且在概率估计单元62中更新二进制序列值的概率估计。 Initially, based on previously decoded symbols, in the context of assigning a context calculation unit 66, and the probability estimation unit 62 updates the probability values estimated binary sequence. 更新概率估计所依据的先前解码符号由参考数字205示。 Update probability estimates are based on previously decoded symbols shown by reference numeral 205. 上下文指派块66中执行的上下文指派以及概率估计块62执行的概率估计计算与编码器10中执行的相类似。 Context assignment block context assignment and estimate the probability of probability estimation performed in block 62 of the encoder 10 performs the calculation of phase 66 performed similarly. 然后,接收到的比特202 被馈送到算术编码器60的算术解码引擎64,在那里使用计算得到的上下文以及二进制序列值204的当前概率估计来将其转换成经过解码的二进制序列值206。 Then, the received bit 202 is fed to the arithmetic coder 60. The arithmetic decoding engine 64, the current estimate of the probability of 204 to convert the value into a binary sequence 206 in which the decoded binary sequence and using context values calculated. 在块68中,经过解码的二进制序列208被映射到游程和等级值。 In block 68, the decoded binary sequence 208 is mapped to the run and level values. 如果在编码器1G中对块中非零系数数目Nc进行编码并且在接收到的比特流202中提供了所述数目,则将信号214提供给二进制序列-数值映射模块68,由此通过将等级值加1来恢复经过量化的系数。 If the encoder 1G in the number of non-zero coefficients in the block are encoded and Nc the number provided in the received bit stream 202, then the signal 214 is supplied to a binary sequence - value mapping module 68, whereby the level by incremented by one to restore the quantized coefficients.

图11是描述根据本发明优选实施例的图像编码方法的流程图。 FIG 11 is a flowchart describing the image coding method according to a preferred embodiment of the present invention. 如图所示,方法500始于编码器接收一个图像的步骤510。 As shown, the steps of the method 500 begins receiving an image encoder 510. 在步骤52 0, 将接收到的图像分成多个块。 In step 520, the received image is divided into a plurality of blocks. 在步骤5 30对每一个块进行扫描,并且在步骤540获取块中经过量化的系数的等级和游程。 In step 530 for each block is scanned and quantized coefficient block 540 to obtain the level and run through the step. 与现有技术的编码方案相比,在步骤550,本发明还在上下文的指派过程中使用了先前等级。 Compared with the prior art coding schemes used in the previous level assigning process step 550, still in the context of the present invention. 特别地,如第1.1节所述,将上下文指派到代表量化系数等级值的二进制序列的处理对先前编码的等级值加以考虑。 In particular, as described in section 1.1, will be assigned to handle binary sequence context on behalf of the quantized coefficients level values take account of previously coded level value. 同样,如1.2 节所述,将上下文指派到代表量化系数游程值的二进制序列的处理也考虑到了等级值。 Also, as described in section 1.2, the context is assigned to handle a run on behalf of the quantized coefficients of a binary sequence value also takes into account the level of value. 已指派的上下文传送到一个算术编码器,以便在步骤560中进行编码。 Context has been assigned to a transmitted arithmetic coder for encoding in step 560. 另外,如第1.3节所述,Nc或非零量化系数的数目是在步骤530中扫描了所述块的过程之中或是之后才得到确定的, 并且在将Nc与上下文提供到一个解码器之前在步骤560中对Nc进行编码。 In addition, as described in section 1.3, Nc number or non-zero quantized coefficients are scanned in the process of step 530 among the block or get determined only after, and in the context Nc supplied to a decoder In step 560 before the encoding of Nc.

可替换地,如图11所示,在指派上下文时并未考虑到先前编码的等级或游程,在这种情况下,通过将指示Nc的信号传递到接收端,可以改进所述图像编码方法。 Alternatively, as shown in FIG. 11, when the assignment does not take into account the context of the previously encoded level or run, in this case, by indicating Nc signal is transmitted to the receiving end, the picture coding method can be improved. 如图12所示,Nc是在步骤542中获取和提供的,而不是为了在步骤550中指派上下文而在步骤540中获取先前编码的等级和游程。 12, Nc is acquired in step 542 and provided, not to assign context in step 550 acquired previously encoded level and run in step 540. 为了在步骤560中执行编码,Nc是在步骤550中指派上下文之前发送到算术编码器的。 In order to perform coding in step 560, Nc is assigned to the context before sending in step 550 to the arithmetic coder. 借助于发送Nc,在这里不再有必要将EOB符号发送到解码器。 Transmitting means Nc, here is no longer necessary to send EOB symbols to the decoder.

尽管在这里针对本发明的优选实施例而对其进行了描述,但是本领域技术人员将会理解,在不脱离本发明范围的情况下,可以对其进行形式和细节方面的前述和多种其他改变、省略和背离。 Although the embodiment herein preferred embodiment of the present invention and for its described, those skilled in the art will appreciate, without departing from the scope of the invention, may be made in form and detail of the foregoing and various other changes, omissions and away.

Citations de brevets
Brevet cité Date de dépôt Date de publication Déposant Titre
CN1162872A24 janv. 199722 oct. 1997三星电子株式会社Method and apparatus for varied length coding and decoding
CN1290067A24 janv. 19974 avr. 2001三星电子株式会社Method for encoding and decoding to objects in images by field data
EP1037468A18 mars 200020 sept. 2000Texas Instruments IncorporatedImage coding using embedded zerotree patterns and bitplanes
US624349627 oct. 19935 juin 2001Sony United Kingdom LimitedData compression
US626311522 déc. 199817 juil. 2001Daewoo Electronics Co., Ltd.Method and apparatus for encoding a binary shape signal
US63515639 juil. 199826 févr. 2002Hyundai Electronics Ind. Co., Ltd.Apparatus and method for coding/decoding scalable shape binary image using mode of lower and current layers
Classifications
Classification internationaleG06T9/00
Événements juridiques
DateCodeÉvénementDescription
22 nov. 2006C06Publication
17 janv. 2007C10Entry into substantive examination
21 janv. 2009C14Grant of patent or utility model
10 févr. 2016C41Transfer of patent application or patent right or utility model