CN1953552A - 编码装置及解码装置 - Google Patents
编码装置及解码装置 Download PDFInfo
- Publication number
- CN1953552A CN1953552A CNA2006101528208A CN200610152820A CN1953552A CN 1953552 A CN1953552 A CN 1953552A CN A2006101528208 A CNA2006101528208 A CN A2006101528208A CN 200610152820 A CN200610152820 A CN 200610152820A CN 1953552 A CN1953552 A CN 1953552A
- Authority
- CN
- China
- Prior art keywords
- data
- bit
- binary data
- binary
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/184—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/91—Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种编码装置,用于对运动图像的数据进行编码,该编码装置包括:DCT系数编码部10,用于对表示量化的DCT系数或者运动矢量的多进制数据进行编码,使将所述多进制数据二进制化后的二进制数据的比特长变小;编码系数-二进制系数转换部20,用于将DCT系数编码部10得到的编码数据转换为所述二进制数据;算术编码部4,用于对编码系数-二进制系数转换部20得到的二进制数据进行算术编码。
Description
技术领域
本发明涉及编码装置,用于对运动图像的数据进行编码;以及涉及解码装置,用于对运动图像的数据进行解码。特别是指一种CABAC编码装置以及CABAC解码装置。
背景技术
数字技术发展的同时,图像编码技术也进步并发展起来。但是,由于图像(特别是运动图像)的数据量非常大,所以利用广播或DVD等的媒体传送编码的数字图像时,传送量也变得非常大。特别是,最近实际应用的高清晰度广播等,与现有的SD(Standard Definition)图像相比,需要6倍的数据量。
随着数字图像技术的发展,为了处理增大的数据量,数据压缩技术被用于数字图像数据,并发展成为充分发挥图像数据的特性且将图像数据特殊化的压缩技术。随着计算机信息处理能力的提高,也能够进行压缩技术中的复杂的运算,大幅提高了图像数据的压缩率。例如,卫星、地面波数字高清晰度广播中所采用的压缩技术为,MPEG2的方式。
作为MPEG2之后的图像压缩技术,标准化AVC/H.264是一种实现MPEG2的2倍左右的压缩率的标准。在AVC/H.264中,实际安装有许多压缩化技术,并通过组合这些技术,实现高压缩率。因此,运算量也大幅增加。
AVC/H.264中实际安装的压缩化技术之一是熵(entropy)编码(可变长编码)。作为熵编码方式,考虑CAVLC和CABAC两种方式。在CAVLC中,对DCT系数进行编码时,使用可变长编码列表,对长度为连续的0的运行(run)和连续的0之后的非0值的级别(level),从与扫描方向相反的方向进行编码。
CABAC是Context-based Adaptive Binary Arithmatic Coding(基于上下文的自适应二进制算术编码)的简称。即,CABAC是变化随时间变化的编码对象的出现频率的方式,一般是称为算术编码的方式(例如,参考日本专利申请公开号为2004-135251号公报)。CABAC中,除了通常所述的算术编码之外,还给每个需要压缩的符号提供上下文,并在每个上下文中进行出现频率的变更。
CABAC中的编码主要分为两个处理。第1个处理中,将需要编码的多进制数据转换为二进制数据,称为二进制化(binarization)处理。这里提到的“需要编码的多进制数据”具体是指,宏块信息、DCT系数、运动矢量等,这些总称为语法(syntax)。第2个处理中,对二进制化处理得到的二进制数据,计算上下文,并进行算术编码。
二进制化处理通常是在编码单位为16×16像素组成的宏块单位中进行,根据DCT、量化后的符号值的大小,二进制数据的量上下浮动。针对与此,由于算术编码处理是对每1比特(bit)进行,所以运算速度通常为1比特/1时钟(clock)。
因此,二进制数据的量在每个宏块中有很大差异时,例如,在编码单位的条带(slice)的最后,二进制数据集中的情况下,在算术编码处理中处理不完二进制数据,结果产生溢出(overflow)。所以,在二进制化电路与算术编码电路之间设置称为bin缓存的缓存,在该bin缓存中暂时存储二进制数据。由此,即使二进制数据的量在每个宏块中有很大差异,也能够避免在算术编码处理中产生溢出的问题。
图1是使用CABAC的现有编码电路结构图。
量化的DCT系数由DCT系数二进制化部2转换为二进制数据。该二进制数据由bin缓存3暂时存储后,由算术编码部4每次编码1比特并输出。
图2是使用CABAC的现有解码电路结构图。
算术编码的DCT系数由算术解码部5每次解码1比特并转换为二进制数据。该二进制数据由bin缓存3暂时存储后,由DCT系数转换部6多进制化,并转换为量化的DCT系数。
这种编码、解码处理,对DCT系数以外的语法(运动矢量、宏块信息)也同样进行。
发明内容
CABAC中,将UEGk(Concatenated unary/k-th order Exp-Golomb)编码作为二进制化方式使用。UEGk是由TU(Truncated Unary)符号与Exp-Golomb符号连接而成。例如,使用UEGk编码对DCT系数coeff_abs_level_minusl(值:x)进行二进制化的时候,当x不满14时,x以TU(cMax=14)二进制化。另一方面,当x为14以上时,x-14以exp_Golomb二进制化并结合到比特列“11111111111111”之后。
二进制数据的比特长,在x为14时是15比特,在x为15时是17比特,在x为17时是19比特。如此,随着x增大,二进制数据的比特长也增大。而且,若将x的最大值(x为17比特的数据)二进制化,则该二进制数据的比特长成为49比特。
如上所述,二进制数据暂时存储于bin缓存3中,但是当大值的DCT系数连续时,必须将比特长大的二进制数据连续写入bin缓存3中。即,大值的DCT系数连续时,向bin缓存3的数据传输速率增高,所以需要准备具有宽带宽的bin缓存。
例如,对1帧1920×1088像素构成的高清晰度图像,以每秒30帧的速度进行编码时,编码1宏块(16×16像素)时所需的时间为1÷(8160×30)_4.08μs。而且,当该宏块中具有大值的DCT系数连续,且1宏块的二进制数据为8000比特时,数据传输速率为1.96Gbps。
如上所述,按照现有的结构,当具有大值的DCT系数连续时,会产生向bin缓存3的数据传输速率非常高的问题。这种问题,不仅在编码装置中产生,在解码装置中也同样产生。
有鉴于此,本发明的目的在于提供一种降低最大数据传输速率的编码装置及解码装置。
为了达到上述目的,本发明提供一种编码装置,用于对运动图像的数据进行编码,其特征在于,该装置包括:多进制数据编码单元,用于对表示量化的DCT系数或者运动矢量的多进制数据进行编码,使将所述多进制数据二进制化后的二进制数据的比特长变小;转换单元,用于将所述多进制数据编码单元得到的编码数据转换为所述二进制数据;算术编码单元,用于对所述转换单元得到的二进制数据进行算术编码。由此,二进制数据的比特长变小,从而可以降低最大数据传输速率。
这里,所述多进制数据编码单元也可以在所述二进制数据的比特长大于特定长度时,对所述多进制数据进行编码,使所述二进制数据的比特长变小。由此,当二进制数据的比特长大于特定长度时,二进制数据的比特长变小,从而可以降低最大数据传输速率。
另外,所述多进制数据编码单元也可以对所述多进制数据进行编码,使所述二进制数据的最大值的比特长变小。由此,二进制数据的最大值的比特长变小,从而可以降低最大数据传输速率。
另外,所述多进制数据编码单元还可以包括二进制化单元和编码单元,二进制化单元用于对所述多进制数据进行二进制化,编码单元用于对所述二进制化单元得到的二进制数据进行编码;所述转换单元也可以将所述编码单元得到的编码数据转换为所述二进制数据。如此,当多进制数据被二进制化,二进制数据被编码,编码数据被转换为二进制数据时,也可以得到与前述同样的效果。
具体的,所述编码单元判断所述二进制化单元得到的二进制数据的比特长是否为规定长度以下,将判断结果作为判断比特并保存该值,当所述二进制数据的比特长为规定长度以下时,在所述二进制数据,附加用于表示二进制数据的判断比特,当所述二进制数据的比特长超过规定长度时,在所述多进制数据,附加用于表示多进制数据的判断比特;所述转换单元也可以,当所述编码单元得到的编码数据中附加有用于表示二进制数据的判断比特时,通过得到除去该判断比特的比特列,将所述编码数据转换为所述二进制数据;当所述编码数据中附加有用于表示多进制数据的判断比特时,通过对除去该判断比特的比特列进行二进制化,将所述编码数据转换为所述二进制数据。由此,可以用简单的方法,缩小二进制数据的比特长。
所述规定长度优选为所述多进制数据的比特长。这是因为,在将所述规定长度设为比所述多进制数据的比特长大的情况下,编码数据的比特长变大,但并不需要;而在将所述规定长度设为比所述多进制数据的比特长小的情况下,编码数据的比特长也变大,但并不需要。
另外,所述编码单元,可以通过在第1比特列之后附加第2比特列,对所述二进制数据进行编码,其中,所述第1比特列表示所述二进制化单元得到的二进制数据的前头开始连续的1的个数,所述第2比特列是所述二进制数据中最初出现的0之后的比特列;所述转换单元,可以通过连续所述编码单元得到的编码数据的所述第1比特列所表示的数目个1之后,附加0和所述第2比特列,将所述编码数据转换为所述二进制数据。由此,可以用简单的方法缩小二进制数据的比特长。
所述第1比特列的比特长优选为,用于表示从所述二进制数据的前头开始连续的1的个数的最大值所最低限度需要的比特长。这是因为,如果将所述第1比特列的比特长设为比所述最低限度需要的比特长大,则编码数据的比特长变大,但并不需要。
所述编码装置进一步包括:用于暂时存储数据的缓存,所述缓存位于所述编码单元与所述转换单元之间。由此,可以在算术编码处理中,避免产生溢出的问题。
所述编码装置可以进一步包括:第1选择单元和第2选择单元;所述第1选择单元位于所述缓存的前段,用于从所述二进制化单元得到的二进制数据和所述编码单元得到的编码数据中,选择其中之一;所述第2选择单元位于所述算术编码单元的前段,用于当所述第1选择单元选择所述二进制数据时,选择所述缓存中暂时存储的二进制数据,当所述第1选择单元选择所述编码数据时,选择所述转换单元得到的二进制数据。由此,仅在必要的情况下进行编码处理,从而能够最小限度地控制编码处理的负荷。
另外,所述二进制化单元在所述二进制数据的前头,附加用于指示选择二进制数据的选择指示比特;所述编码单元在所述编码数据的前头,附加用于指示选择编码数据的选择指示比特;所述第1选择单元及所述第2选择单元,通过参考所述选择指示比特,从所述二进制数据和所述编码数据中,选择其中之一。由此,能够简便地从所述二进制数据和所述编码数据中选择其中之一。
另外,所述选择指示比特附加到每个DCT系数、每个运动矢量、每个宏块、每个条带或者每个图像中。由此,能够在本发明的应用情况对应的单位,附加选择指示比特。
再有,所述DCT系数为H.264/AVC中的coeff_abs_level_minusl。另外,所述二进制数据为Golomb编码的数据。
再有,本发明不仅可以通过上述编码装置实现,还可以通过解码装置实现。另外可以通过将上述编码装置所包含的特征性单元作为步骤的编码方法实现,还可以通过将这些步骤在计算机上执行的计算机程序实现。而且,显然,这样的程序可以通过CD-ROM等的记录媒体、因特网等的传送媒体传输。
此外,结构图(图3等)的各功能块,典型地可以利用集成电路的LSI得以实现。这些功能块,可以分别集成到各个单芯片,也可以将一部分或全部集成到一个芯片。根据集成度的不同,这里所述的LSI有时也可以称为IC、系统LSI、超级LSI(super LSI)、顶级LSI(ultra LSI)。
另外,集成电路化的方法并不局限于LSI,还可以通过专用电路或通用处理器实现。LSI制造后,可以利用能够编程的FPGA(Field ProgrammableGate Array),也可以利用能够重新配置LSI内部的电路元件的连接、设置的可重配置处理器(reconfigurable processor)。
更进一步,随着半导体技术的发展或其它技术的派生,如果出现替换LSI的集成电路化技术,则当然也可以利用该技术,对功能块进行集成化。也有可能适应于生物技术等。
综上所述,根据本发明的编码装置,由于二进制数据的最大比特长变小,从而可以降低最大数据传输速率。如此,如果向bin缓存3的最大数据传输速率降低,则能够减少bin缓存3的最大带宽。
同样的,根据本发明的解码装置,由于二进制数据的最大比特长变小,从而可以降低最大数据传输速率。如此,如果向bin缓存3的最大数据传输速率降低,则能够减少bin缓存3的最大带宽。
附图说明
图1是使用CABAC的现有的编码电路结构图。
图2是使用CABAC的现有的解码电路结构图。
图3是实施方式1中CABAC编码装置的结构图。
图4是说明对DCT系数的二进制化处理的图。
图5是示出用于生成UEGk suffix的仿真程序的图。
图6是说明实施方式1中编码处理的图。
图7是实施方式1中编码处理效果的示意图。
图8是说明实施方式2中编码处理的图。
图9是示出实施方式2中编码处理效果的图。
图10是实施方式3中CABAC编码装置的结构图。
图11是说明对运动矢量的二进制化处理的图。
图12是说明实施方式3中编码处理的图。
图13是示出实施方式3中编码处理效果的图。
图14是说明实施方式4中编码处理的图。
图15是示出实施方式4中编码处理效果的图。
图16是实施方式5中CABAC编码装置的结构图。
图17是示出附加选择指示比特的二进制系数和编码系数的图。
图18是实施方式5中CABAC编码装置的结构图。
图19是实施方式6中CABAC解码装置的结构图。
图20是实施方式6中CABAC解码装置的结构图。
图21是实施方式6中CABAC解码装置的结构图。
具体实施方式
下面,参照附图详细说明本发明的实施方式。
(实施方式1)
图3是实施方式1中CABAC编码装置的结构图。该CABAC编码装置是对运动图像的数据进行编码的装置,功能上包括:语法二进制化部1、DCT系数二进制化部11、二进制系数编码部12、bin缓存3、编码系数-二进制系数转换部20及算术编码部4。
语法二进制化部1,是对输入的语法进行二进制化,并将二进制化的语法输出的二进制化电路等。DCT系数二进制化部11,是对输入的DCT系数进行二进制化,并将二进制化的DCT系数(以下称为“二进制系数”)输出的二进制化电路等。二进制系数编码部12,是对输入的二进制系数进行编码,并将编码的二进制系数(以下称为“编码系数”)输出的编码电路等。bin缓存3,是暂时存储编码系数等数据的RAM等。编码系数-二进制系数转换部20,是将输入的编码系数转换为原来的二进制系数并输出的转换电路等。算术编码部4,是对输入的二进制系数进行算术编码并输出的算术编码电路等。
图4是说明对DCT系数(coeff_abs_level_minusl)的二进制化处理的图。
如上说明所示,在CABAC中,使用UEGk编码作为二进制化方式。UEGk由TU符号与Exp-Golomb符号连接而成,具有k、signedValFlag、uCoff三个参数。
在前半部分(UEGk prefix)中使用TU符号。参数uCoff表示该TU编码部分的最大值。当原来的符号值(DCT系数的值)不满uCoff时,排列原符号值所表示数目个1后,附加0;当原符号值为uCoff以上时,成为排列uCoff个1的符号。
在后半部分(UEGk suffix)中使用Exp-Golomb符号。为简单起见,这里将UEGk suffix分为Prefix、Separator、Suffix、Sign来考虑。如果将原符号值设为synElVal,则UEGk suffix通过图5所示的仿真程序生成。
DCT系数(coeff_abs_level_minusl)中,使用UEG0、signedValFlag=0、uCoff=14。“UEG0”意味着前述参数k为0。“signedValFlag=0”意味着最后不附加表示极性的比特。“uCoff=14”意味着TU的最大值为14。
因此,当原符号值不满14时,前半部分(UEG0 prefix)中排列原符号值所表示数目个1后,附加0;当原符号值为14以上时,前半部分(UEG0prefix)成为排列14个1的符号。而当原符号值不满14时,后半部分(UEG0suffix)仅成为UEG0 prefix,不附加UEG0 suffix。再有,对于Exp-Golomb符号,如所述仿真程序(参照图5)所示,所以在此省略详细说明。
图6是说明实施方式1中编码处理的图。
如上述说明,DCT系数(coeff_abs_level_minusl)是17比特的数据。因此,这里在二进制系数的比特长为17比特以下的情况和超过17比特的情况下,改变编码的方式。
即,当DCT系数的值为16以下时,二进制系数的比特长为17比特以下。此时,将二进制系数的前头附加判断比特“0”的比特列作为编码系数。例如,当DCT系数的值为16时,二进制系数为“11111111111111101”,所以编码系数成为在该二进制系数的前头附加判断比特“0”的比特列“011111111111111101”。
另一方面,当DCT系数的值超过16时,二进制系数的比特长超过17比特。此时,将DCT系数的前头附加判断比特“1”的比特列作为编码系数。例如,当DCT系数的值为17时,该DCT系数为“00000000000010001”,所以编码系数成为在该DCT系数“00000000000010001”的前头附加判断比特“1”的“100000000000010001”。
另外,图3中,输入到二进制系数编码部12的数据为DCT系数二进制化部11输出的二进制系数,所以如前所述,为了将DCT系数“00000000000010001”利用到编码处理中,需要将DCT系数二进制化部11输出的二进制系数多进制化。不过,也可以采用直接编码二进制化之前的DCT系数的结构。该结构在后面予以说明。
图7是本实施方式1中编码处理效果的示意图。这里,示出了随着DCT系数的值的增大,二进制系数的比特长和编码系数的比特长变化的情况。对二进制系数的比特长变化的情况,用实线所示的折线L1描绘,对编码系数的比特长变化的情况,用点划线所示的折线L2描绘。
如该图所示,当DCT系数的值为16以下时,二进制系数的比特长比编码系数的比特长小。另一方面,当DCT系数的值超过16时,编码系数的比特长比二进制系数的比特长小。
对DCT系数的最大值进行二进制化时,二进制系数的比特长达到49比特,但此时的编码系数的比特长为18比特就可以。即,编码系数的比特长最大也是18比特,所以,如果进行本实施方式1中的编码处理,则可以降低向bin缓存3的最大数据传输速率。
如上所生成的编码系数,暂时存储到bin缓存3之后,输入到编码系数-二进制系数转换部20。由此,编码系数-二进制系数转换部20根据编码系数的前头所附加的判断比特的值,进行以下处理。
即,当判断比特的值为“0”时,将除去该判断比特“0”的比特列输出到算术编码部4。例如,当编码系数为“011111111111111101”时,将除去该判断比特“0”的比特列“11111111111111101”输出到算术编码部4。该比特列“11111111111111101”与DCT系数的值为16时的二进制系数相等。
另一方面,当判断比特的值为“1”时,对除去该判断比特“1”的比特列进行二进制化,并将该二进制化的系数输出到算术编码部4。例如,当编码系数为“100000000000010001”时,对除去该判断比特“1”的比特列“00000000000010001”进行二进制化,并将该二进制化的系数“1111111111111111000”输出到算术编码部4。该比特列“1111111111111111000”与DCT系数的值为17时的二进制系数相等。
由此,二进制系数输入到算术编码部4,算术编码部4对输入的二进制系数,每次编码1比特并输出。该算术编码处理与现有的处理相同,所以在此省略说明。
如上所述,根据本实施方式1,由于二进制系数的最大比特长变小,所以可以降低最大数据传输速率。如此,如果向bin缓存3的最大数据传输速率降低,则能够减少bin缓存3的最大带宽。
另外,这里是在二进制系数的比特长为17比特以下的情况和超过17比特的情况下,改变编码的方式,但是,改变编码方式的边界并不局限于17比特。不过,由于DCT系数是17比特的数据,所以在此优选将17比特设为边界。这是因为,将边界设为比17比特大或者比17比特小时,发生编码系数的比特长会不必要地增大的情况。
另外,可以只采用二进制系数的比特长超过17比特时的编码方式,即,可以只采用结合二进制化之前的DCT系数的方式。这样,由于最大比特长可以用17比特编码,所以能够达到降低向bin缓存3的最大数据传输速率的目的。
另外,这里是以分别具有对DCT系数进行二进制化的结构部和进行编码的结构部的结构为例,但本发明并不局限于此。即,由DCT系数的值判断,从DCT系数直接得到编码系数也可以得到同样的效果。如上所述,将进行二进制化处理和编码处理的结构部,以下称为“DCT系数编码部10”。该DCT系数编码部10在对DCT系数进行二进制化之后,不输出二进制化后的比特列的长度,而是如前所述,从DCT系数直接得到编码系数。
另外,对于宏块信息的处理并不是本发明的着眼点,所以在此省略详细说明,但是,在语法所包含的信息之中,对区别本发明的应用对象的信息(例如DCT系数)和非应用对象的信息(例如宏块信息)的方法,并不特别限定。例如,如图3所示,根据本发明的应用对象的信息和非应用对象的信息,可以分开处理系统,或者,也可以在单一的处理系统中,有选择地应用本发明。如此有选择地应用本发明时,为了识别本发明的应用对象的信息和非应用对象的信息,在装置中准备用于识别语法的单元。
(实施方式2)
在本实施方式2中,采用与实施方式1不同的编码方式。即,本发明的编码方式可以是对DCT系数或者运动矢量进行编码的方式,使编码后的DCT系数或者运动矢量比二进制数据的比特长小。以下,对本实施方式2中的编码方式,以与实施方式1的不同点为中心进行说明。
图8是说明本实施方式2中编码处理的图。
DCT系数(coeff_abs_level_minusl)的二进制数据是:当原符号值x不满14时,连续x的值数目个1之后附加0;当原符号值x为14以上时,成为连续14+Ceil(log2(x-13))个1的符号。1最多连续30个。
因此,在本实施方式2中,采用利用上述二进制数据的性质的编码方式。即,二进制系数编码部12在用于表示从二进制系数的前头开始连续的1的个数的5比特的比特列(以下称为“第1比特列”)之后,附加二进制系数中最初出现的0之后的比特列(以下称为“第2比特列”)。
例如,当DCT系数的值为14时,二进制系数为“111111111111110”。由于从该二进制系数“111111111111110”的前头开始,连续的1的个数为14,所以将14以2进制记数表示的比特列“01110”,成为所述第1比特列。另一方面,该二进制系数“111111111111110”中,由于0仅在最后一个出现,所以不存在所述第2比特列。因此,得到的编码系数为“01110”。
另外,当DCT系数的值为15时,二进制系数为“11111111111111100”。由于从该二进制系数“11111111111111100”的前头开始,连续的1的个数为15,所以将15以2进制记数表示的比特列“01111”,成为所述第1比特列。另一方面,由于该二进制系数“11111111111111100”中最初出现的0之后的比特列为“0”,所以该“0”成为所述第2比特列。因此,得到的编码系数为,在第1比特列“01111”之后附加第2比特列“0”的“011110”。
图9是示出本实施方式2中编码处理效果的图。这里与图7相同,对二进制系数的比特长变化的情况,用实线所示的折线L1描绘,对编码系数的比特长变化的情况,用点划线所示的折线L2描绘。
如该图所示,当DCT系数的值不满4时,二进制系数的比特长比编码系数的比特长小。另一方面,当DCT系数的值超过4时,编码系数的比特长比二进制系数的比特长小。当DCT系数的值为4时,编码系数的比特长与二进制系数的比特长一致。
上述生成的编码系数,暂时存储于bin缓存3之后,输入到编码系数-二进制系数转换部20。由此,编码系数-二进制系数转换部20,连续编码系数的第1比特列所表示的数目个1之后,附加0和第2比特列。
例如,当编码系数为“01110”时,连续前头5比特(第1比特列)所表示的数目个1。由于将第1比特列“01110”以10进制记数表示为14,此时得到比特列“11111111111111”。然后,在该比特列“11111111111111”之后附加0和第2比特列。在此,由于不存在第2比特列(编码系数的第6个比特以后的比特列),所以将在比特列“11111111111111”之后只附加“0”的比特列“111111111111110”,输出到算术编码部4。该比特列“111111111111110”与DCT系数的值为14时的二进制系数相等。
另外,当编码系数为“011110”时,连续前头5比特(第1比特列)所表示的数目个1。由于将第1比特列“01111”以10进制记数表示为15,此时得到比特列“111111111111111”。然后,在该比特列“111111111111111”之后附加0和第2比特列。在此,由于第2比特列(编码系数的第6个比特以后的比特列)为“0”,所以将在比特列“111111111111111”之后附加“00”的比特列“11111111111111100”,输出到算术编码部4。该比特列“11111111111111100”与DCT系数的值为15时的二进制系数相等。
如上所述,在本实施方式2中,也由于二进制系数的最大比特长变小,所以可以降低最大数据传输速率。由此,如果向bin缓存3的最大数据传输速率降低,则能够减少bin缓存3的最大带宽。
另外,这里将第1比特列的比特长设为5比特,但是本发明并不局限于此。即,第1比特列的比特长为,表示二进制系数中连续的1的个数的最大值所需要的比特长就可以。但是,为了缩小编码系数的比特长,在表示所述最大值所需要的比特长中,优选采用最小的比特长。
(实施方式3)
在实施方式1和2中,说明了对二进制化的DCT系数进行编码的情况,但是编码的对象,并不局限于DCT系数。即,只要是有关运动图像的数据,都可以应用本发明。
以下,对二进制化的运动矢量进行编码的方法,以与实施方式1不同点为中心,予以说明。另外,在以下的说明中,将二进制化的运动矢量称为“二进制矢量”,将编码的二进制矢量称为“编码矢量”。
图10是实施方式3中CABAC编码装置的结构图。该CABAC编码装置包括:语法二进制化部1、运动矢量二进制化部11、二进制矢量编码部12、bin缓存3,编码矢量-二进制矢量转换部20及算术编码部4。除了编码对象从DCT系数变为运动矢量这点之外,各部的功能与实施方式1相同。
图11是说明对运动矢量(mvd_10,mvd_11)的二进制化处理的图。
运动矢量(mvd_10,mvd_11)中,使用UEG3、signedValFlag=1、uCoff=9。“UEG3”意味着前述参数k为3。“signedValFlag=1”意味着最后附加表示极性的比特。“uCoff=9”意味着TU的最大值为9。
在前半部分(UEG3 prefix)中使用TU编码。因此,当原符号值(运动矢量的值)的绝对值为8以下时,排列原符号值所表示数目个1之后,附加0;当原符号值的绝对值为9以上时,成为排列9个1的符号。
在后半部分(UEG3 suffix)中使用Exp-Golomb编码。因此,当原符号值的绝对值为8以下时,仅成为UEG3 prefix,不附加UEG3 suffix。而且,对于Exp-Golomb符号,如所述仿真程序(参照图5)所示,所以在此省略详细说明。
图12是说明实施方式3中编码处理的图。
运动矢量(mvd_10,mvd_11)是14比特的数据。因此,这里在二进制矢量的比特长为14比特以下的情况和超过14比特的情况下,改变编码的方式。
即,运动矢量的绝对值为16以下时,二进制矢量的比特长为14比特以下。此时,将在二进制矢量的前头附加判断比特“0”的比特列作为编码矢量。例如,当运动矢量的值为-16时,二进制矢量为“11111111101111”,所以该二进制矢量“11111111101111”的前头附加判断比特“0”的比特列“011111111101111”成为编码矢量。
另一方面,当运动矢量的绝对值超过16时,二进制矢量的比特长超过14比特。此时,将在运动矢量的前头附加判断比特“1”的比特列作为编码矢量。例如,当运动矢量的值为17时,该运动矢量为“00000000010001”,所以该运动矢量“00000000010001”的前头附加判断比特“1”的比特列“100000000010001”成为编码矢量。
图13是示出本实施方式3中编码处理效果的图。这里,示出了随着运动矢量绝对值的增大,二进制矢量的比特长和编码矢量的比特长变化的情况。对二进制矢量的比特长变化的情况,用实线所示的折线L1描绘,对编码矢量的比特长变化的情况,用点划线所示的折线L2描绘。
如该图所示,当运动矢量的绝对值为16以下时,二进制矢量的比特长比编码矢量的比特长小。另一方面,当运动矢量的绝对值超过16时,编码矢量的比特长比二进制矢量的比特长小。由于编码矢量的比特长最大也是15比特,所以进行本实施方式3中的编码处理,可以降低向bin缓存3的最大数据传输速率。
上述生成的编码矢量,暂时存储于bin缓存3之后,输入到编码矢量-二进制矢量转换部20。由于,编码矢量-二进制矢量转换部20根据编码矢量的前头所附加的判断比特的值,进行以下处理。
即,当判断比特的值为“0”时,将除去该判断比特“0”的比特列输出到算术编码部4。例如,当编码矢量为“011111111101111”时,将除去该判断比特“0”的比特列“11111111101111”输出到算术编码部4。该比特列“11111111101111”与运动矢量的值为-16时的二进制矢量相等。
另一方面,当判断比特的值为“1”时,对除去该判断比特“1”的比特列进行二进制化,并将该二进制化的矢量输出到算术编码部4。例如,当编码矢量为“100000000010001”时,对除去该判断比特“1”的比特列“00000000010001”进行二进制化,并将该二进制化的矢量“11111111101111”输出到算术编码部4。该比特列“11111111101111”与运动矢量的值为17时的二进制矢量相等。
如上所述,根据本实施方式3,由于二进制矢量的最大比特长变小,所以可以降低最大数据传输速率。如此,如果向bin缓存3的最大数据传输速率降低,则能够减少bin缓存3的最大带宽。
再有,这里是在二进制矢量的比特长为14比特以下的情况和超过14比特的情况下,改变编码的方式,但是改变编码方式的边界并不局限于14比特。不过,由于运动矢量是14比特的数据,所以优选将14比特设为边界。
另外,可以只将二进制矢量的比特长超过14比特时的编码方式,即,二进制化之前的运动矢量存储于bin缓存。这样,由于最大比特长编码为14比特为止,因此,可以达到降低向bin缓存3的最大数据传输速率的目的。
(实施方式4)
本实施方式4,针对将实施方式2中的编码方式应用到运动矢量的情况,进行说明。以下,对本实施方式4,以与实施方式2不同点为中心,进行说明。
图14是说明本实施方式4中编码处理的图。
与实施方式2相同,二进制矢量编码部12在用于表示从二进制矢量的前头开始连续的1的个数的5比特的比特列(以下称为“第1比特列”)之后,附加在二进制矢量中最初出现的0之后的比特列(以下称为“第2比特列”)。
例如,当运动矢量的值为-16时,二进制矢量为“11111111101111”。由于从该二进制矢量“11111111101111”的前头开始,连续的1的个数为9,所以将9以2进制记数表示的比特列“01001”,成为所述第1比特列。另一方面,由于在该二进制矢量“11111111101111”中,最初出现的0之后的比特列为“1111”,所以该比特列“1111”成为第2比特列。因此,得到的编码矢量为,第1比特列“01001”之后附加第2比特列“1111”的“010011111”。
另外,当运动矢量的值为17时,二进制矢量为“1111111111000000”。由于从该二进制矢量“1111111111000000”的前头开始,连续的1的个数为10,所以将10以2进制记数表示的比特列“01010”,成为所述第1比特列。另一方面,由于在该二进制矢量“1111111111000000”中,最初出现的0之后的比特列为“00000”,所以该“00000”成为所述第2比特列。因此,得到的编码矢量为,第1比特列“01010”之后附加第2比特列“00000”的“0101000000”。
图15是示出本实施方式4中编码处理效果的图。这里也与图9相同,对二进制矢量的比特长变化的情况,用实线所示的折线L1描绘,对编码矢量的比特长变化的情况,用点划线所示的折线L2描绘。
如该图所示,当运动矢量的绝对值不满4时,二进制矢量的比特长比编码矢量的比特长小。另一方面,当运动矢量的绝对值超过4时,编码矢量的比特长比二进制矢量的比特长小。当运动矢量的绝对值为4时,编码矢量的比特长与二进制矢量的比特长一致。
如上生成的编码矢量,暂时存储于bin缓存3之后,输入到编码矢量-二进制矢量转换部20。由此,编码矢量-二进制矢量转换部20连续编码矢量的第1比特列所表示的数目个1之后,附加0和第2比特列。
例如,当编码矢量为“010011111”时,连续前头5比特(第1比特列)所表示的数目个1。由于将第1比特列“01001”以10进制记数表示为9,此时得到比特列“111111111”。然后,在该比特列“111111111”之后附加0和第2比特列。这里,由于第2比特列(编码矢量的第6个比特以后的比特列)为“1111”,所以将在比特列“111111111”之后附加“01111”的比特列“11111111101111”,输出到算术编码部4。该比特列“11111111101111”与运动矢量的值为-16时的二进制矢量相等。
另外,当编码矢量为“0101000000”时,连续前头5比特(第1比特列)所表示的数目个1。由于将第1比特列“01010”以10进制记数表示为10,此时得到比特列“1111111111”。然后,在该比特列“1111111111”之后,附加0和第2比特列。这里,由于第2比特列(编码矢量的第6个比特以后的比特列)为“00000”,所以将在比特列“1111111111”之后附加“000000”的比特列“1111111111000000”,输出到算术编码部4。该比特列“1111111111000000”与运动矢量的值为17时的二进制矢量相等。
如上所述,根据本实施方式4,由于二进制矢量的最大比特长变小,所以可以降低最大数据传输速率。如此,如果向bin缓存3的最大数据传输速率降低,则能够减少bin缓存3的最大带宽。
另外,这里将第1比特列的比特长设为5比特,但本发明并不局限于此。即,第1比特列的比特长为,表示二进制矢量中连续的1的个数的最大值所需要的比特长就可以。但是,为了缩小编码矢量的比特长,在表示所述最大值所需要的比特长中,优选采用最小的比特长。
(实施方式5)
在实施方式1至4中,对二进制数据进行编码,但本发明并不局限于此。例如,当需要编码的图像的构图复杂时,由于二进制数据的比特长变大,所以对该二进制数据进行编码;而当需要编码的图像的构图不复杂时,由于二进制数据的比特长变小,所以可以不对该二进制数据进行编码,而存储于bin缓存3。
图16是实施方式5中CABAC编码装置的结构图。该CABAC编码装置包括:语法二进制化部1、DCT系数二进制化部11、二进制系数编码部12、第1选择部S1、bin缓存3、编码系数-二进制系数转换部20、第2选择部S2及算术编码部4。
第1选择部S1是选择器等,从DCT系数二进制化部11得到的二进制数据和二进制系数编码部12得到的编码数据中,选择其中一个数据并输出到bin缓存3。第2选择部S2是选择器等,当第1选择部S1选择二进制数据时,将bin缓存3中暂时存储的系数数据直接输出到算术编码部4;当第1选择部S1选择编码数据时,选择通过编码系数-二进制系数转换部20得到的二进制数据,并输出到算术编码部4。第2选择部S2识别第1选择部S1选择二进制数据还是编码数据的方法并没有特别限定,在此采用以下说明的方法,将选择指示比特附加到二进制数据和编码数据中。
图17是示出附加选择指示比特的二进制系数和编码系数的图。
DCT系数二进制化部11在二进制系数的前头附加选择指示比特“0”,二进制系数编码部12在编码系数的前头附加选择指示比特“1”。由此,第1选择部S1在需要选择二进制系数时,选择前头以“0”开始的比特列,在需要选择编码系数时,选择前头以“1”开始的比特列。第2选择部S2也同样,在需要选择二进制系数时,选择前头以“0”开始的比特列,在需要选择编码系数时,选择前头以“1”开始的比特列。
对于第1选择部S1及第2选择部S2如何判断需要选择二进制系数和编码系数中的哪一个系数,并不特别限定。例如,可以根据无图示的控制部发送的通知进行判断。例如,当需要编码的图像构图复杂时,控制部通知第1选择部S1及第2选择部S2选择编码系数,当需要编码的图像的构图不复杂时,控制部通知第1选择部S1及第2选择部S2选择二进制系数。
如上所述,根据本实施方式5,仅在必要的情况下进行编码处理,能够最小限度地控制编码处理的负荷,同时能够减少bin缓存中存储的数据量。
再有,这里以在每个DCT系数附加选择指示比特的结构为例,但本发明并不局限于此。即,选择指示比特,可以在每个宏块附加,也可以在每个条带附加,还可以在每个图像附加。关于在哪个单位附加选择指示比特这点,并没有特别限定,在越小的单位附加选择指示比特,则能够实现越详细的选择指示,但另一方面,全部的选择指示比特数会增多。因此,较佳的,根据本发明的应用情况确定附加选择指示比特的单位。
图18是具有第1选择部S1和第2选择部S2的另外的结构图。
第1选择部S1从DCT系数二进制化部11得到的二进制数据和DCT系数编码部10得到的编码数据中,选择其中一个数据,并输出到bin缓存3。如前所述,DCT系数编码部10通过查看DCT系数的值,从DCT系数直接得到编码系数。
另外,这里说明了对DCT系数进行编码的情况,显然,对运动矢量进行编码的情况也同样。
(实施方式6)
在实施方式1至5中,说明了对DCT系数等进行编码的装置,本发明也可以应用于对DCT系数等进行解码的装置。
图19是实施方式6中CABAC解码装置的结构图。该CABAC解码装置是对运动图像的数据进行解码的装置,功能上包括:算术解码部5、二进制系数编码部30、bin缓存3、编码系数二进制化部42、DCT系数转换部41及语法多进制化部7。
算术解码部5,是通过对算术编码后的数据进行算术解码,输出二进制系数的算术解码电路等。二进制系数编码部30,是通过对二进制系数进行编码,输出编码系数的编码电路等。编码系数二进制化部42,是将编码系数转换为二进制系数并输出的转换电路等。DCT系数转换部41,是通过对二进制系数进行多进制化,并输出量化的DCT系数的转换电路等。语法多进制化部7,是通过对二进制化的语法进行多进制化,并输出量化后的语法的多进制化电路等。
在本实施方式6中,采用实施方式1至4中说明的编码方式。因此,本实施方式6中的CABAC解码装置,与CABAC编码装置的情况相同,由于二进制系数的最大比特长变小,所以可以降低最大数据传输速率。如此,如果向bin缓存3的最大数据传输速率降低,则能够减少bin缓存3的最大带宽。
另外,CABAC解码装置还可以具有实施方式5中说明的第1选择部S1和第2选择部S2。图20及图21是具有第1选择部S1和第2选择部S2的CABAC解码装置的结构图。图20对应图16所示的CABAC编码装置,图21对应图18所示的CABAC编码装置。对于各组成部分的功能,已经给予说明,在此省略。
另外,这里说明了对DCT系数进行解码的情况,显然,对运动矢量进行解码的情况也同样。
本发明的编码装置及解码装置,可以应用于需要降低最大数据传输速率的CABAC编码装置及CABAC解码装置等的用途。
以上所述仅为本发明的较佳实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (32)
1、一种编码装置,用于对运动图像的数据进行编码;其特征在于,该装置包括:
多进制数据编码单元,用于对表示量化的DCT系数或者运动矢量的多进制数据进行编码,使将所述多进制数据二进制化后的二进制数据的比特长变小;
转换单元,用于将所述多进制数据编码单元得到的编码数据转换为所述二进制数据;
算术编码单元,用于对所述转换单元得到的二进制数据进行算术编码。
2、根据权利要求1所述的编码装置,其特征在于,所述多进制数据编码单元在所述二进制数据的比特长大于特定长度时,对所述多进制数据进行编码,使所述二进制数据的比特长变小。
3、根据权利要求1所述的编码装置,其特征在于,所述多进制数据编码单元对所述多进制数据进行编码,使所述二进制数据的最大值的比特长变小。
4、根据权利要求1所述的编码装置,其特征在于,
所述多进制数据编码单元包括二进制化单元和编码单元;二进制化单元用于对所述多进制数据进行二进制化,编码单元用于对所述二进制化单元得到的二进制数据进行编码;
所述转换单元将所述编码单元得到的编码数据转换为所述二进制数据。
5、根据权利要求4所述的编码装置,其特征在于,
所述编码单元判断所述二进制化单元得到的二进制数据的比特长是否为规定长度以下,将判断结果作为判断比特并保存该值,当所述二进制数据的比特长为规定长度以下时,在所述二进制数据,附加用于表示二进制数据的判断比特,当所述二进制数据的比特长超过规定长度时,在所述多进制数据,附加用于表示多进制数据的判断比特;
所述转换单元,当所述编码单元得到的编码数据中附加有用于表示二进制数据的判断比特时,通过得到除去该判断比特的比特列,将所述编码数据转换为所述二进制数据;当所述编码数据中附加有用于表示多进制数据的判断比特时,通过对除去该判断比特的比特列进行二进制化,将所述编码数据转换为所述二进制数据。
6、根据权利要求5所述的编码装置,其特征在于,所述规定长度为所述多进制数据的比特长。
7、根据权利要求4所述的编码装置,其特征在于,
所述编码单元,通过在第1比特列之后附加第2比特列,对所述二进制数据进行编码,其中,所述第1比特列表示所述二进制化单元得到的二进制数据的前头开始连续的1的个数,所述第2比特列是所述二进制数据中最初出现的0之后的比特列;
所述转换单元,通过连续所述编码单元得到的编码数据的所述第1比特列所表示的数目个1之后,附加0和所述第2比特列,将所述编码数据转换为所述二进制数据。
8、根据权利要求7所述的编码装置,其特征在于,所述第1比特列的比特长是,用于表示从所述二进制数据的前头开始,连续的1的个数的最大值所最低限度需要的比特长。
9、根据权利要求4所述的编码装置,其特征在于,所述编码装置进一步包括:用于暂时存储数据的缓存,所述缓存位于所述编码单元与所述转换单元之间。
10、根据权利要求9所述的编码装置,其特征在于,所述编码装置进一步包括:第1选择单元和第2选择单元;
所述第1选择单元位于所述缓存的前段,用于从所述二进制化单元得到的二进制数据和所述编码单元得到的编码数据中,选择其中之一;
所述第2选择单元位于所述算术编码单元的前段,用于当所述第1选择单元选择所述二进制数据时,选择所述缓存中暂时存储的二进制数据,当所述第1选择单元选择所述编码数据时,选择所述转换单元得到的二进制数据。
11、根据权利要求10所述的编码装置,其特征在于,
所述二进制化单元在所述二进制数据的前头,附加用于指示选择二进制数据的选择指示比特;
所述编码单元在所述编码数据的前头,附加用于指示选择编码数据的选择指示比特;
所述第1选择单元及所述第2选择单元,通过参考所述选择指示比特,从所述二进制数据和所述编码数据中,选择其中之一。
12、根据权利要求11所述的编码装置,其特征在于,所述选择指示比特附加到每个DCT系数、每个运动矢量、每个宏块、每个条带或者每个图像中。
13、根据权利要求1所述的编码装置,其特征在于,所述DCT系数为H.264/AVC中的coeff_abs_level_minusl。
14、根据权利要求1所述的编码装置,其特征在于,所述二进制数据为Golomb编码的数据。
15、一种解码装置,用于对运动图像的数据进行解码;其特征在于,该装置包括:
算术解码单元,用于对算术编码的数据进行算术解码;
编码单元,用于对所述算术解码单元得到的二进制数据进行编码,使所述二进制数据的比特长变小;
编码数据转换单元,用于将所述编码单元得到的编码数据,转换为量化的DCT系数或者运动矢量。
16、根据权利要求15所述的解码装置,其特征在于,所述编码单元在所述二进制数据的比特长大于特定长度时,对所述二进制数据进行编码,使所述二进制数据的比特长变小。
17、根据权利要求15所述的解码装置,其特征在于,所述编码单元对所述二进制数据进行编码,使所述二进制数据的最大值的比特长变小。
18、根据权利要求15所述的解码装置,其特征在于,所述编码数据转换单元包括:第1转换单元和第2转换单元;
第1转换单元用于将所述编码单元得到的编码数据,转换为所述二进制数据;第2转换单元用于将所述第1转换单元得到的二进制数据,转换为量化的DCT系数或者运动矢量。
19、根据权利要求18所述的解码装置,其特征在于,
所述编码单元判断所述算术解码单元得到的二进制数据的比特长是否为规定长度以下,将判断结果作为判断比特并保存该值,当所述二进制数据的比特长为规定长度以下时,在二进制数据,附加用于表示二进制数据的判断比特,当所述二进制数据的比特长超过规定长度时,在所述算术编码后的数据,附加用于表示算术编码后的数据的判断比特;
所述第1转换单元,当所述编码单元得到的编码数据中附加有用于表示二进制数据的判断比特时,通过得到除去该判断比特的比特列,将所述编码数据转换为所述二进制数据;当所述编码数据中附加有用于表示算术编码后的数据的判断比特时,通过将除去该判断比特的比特列转换为二进制数据,将所述编码数据转换为所述二进制数据。
20、根据权利要求19所述的解码装置,其特征在于,所述规定长度为所述算术编码后的数据的比特长。
21、根据权利要求18所述的解码装置,其特征在于,
所述编码单元通过在第1比特列之后附加第2比特列,对所述二进制数据进行编码,其中,所述第1比特列表示所述算术解码单元得到的二进制数据的前头开始连续的1的个数,所述第2比特列是所述二进制数据中最初出现的0之后的比特列;
所述第1转换单元通过连续所述编码单元得到的编码数据的所述第1比特列所表示的数目个1之后,附加0和所述第2比特列,将所述编码数据转换为所述二进制数据。
22、根据权利要求21所述的解码装置,其特征在于,所述第1比特列的比特长为,用于表示从所述二进制数据的前头开始连续的1的个数的最大值所最低限度需要的比特长。
23、根据权利要求18所述的解码装置,其特征在于,所述解码装置进一步包括:用于暂时存储数据的缓存,所述缓存位于所述编码单元与所述第1转换单元之间。
24、根据权利要求23所述的解码装置,其特征在于,
所述解码装置进一步包括:第1选择单元和第2选择单元;
所述第1选择单元位于所述缓存的前段,用于从所述算术解码单元得到的二进制数据和所述编码单元得到的编码数据中,选择其中之一;
所述第2选择单元位于所述第2转换单元的前段,用于当所述第1选择单元选择所述二进制数据时,选择所述缓存中暂时存储的二进制数据,当所述第1选择单元选择所述编码数据时,选择所述第1转换单元得到的二进制数据。
25、根据权利要求24所述的解码装置,其特征在于,
所述算术解码单元在所述二进制数据的前头,附加用于指示选择二进制数据的选择指示比特;
所述编码单元在所述编码数据的前头,附加用于指示选择编码数据的选择指示比特;
所述第1选择单元及所述第2选择单元,通过参考所述选择指示比特,从所述二进制数据和所述编码数据中,选择其中之一。
26、根据权利要求15所述的解码装置,其特征在于,所述选择指示比特附加到每个DCT系数、每个运动矢量、每个宏块、每个条带或者每个图像中。
27、根据权利要求15所述的解码装置,其特征在于,所述DCT系数为H.264/AVC中的coeff_abs_level_minusl。
28、根据权利要求15所述的解码装置,其特征在于,所述二进制数据为Golomb编码的数据。
29、一种编码方法,用于对运动图像的数据进行编码,其特征在于,该方法包括:
多进制数据编码步骤,对表示量化的DCT系数或者运动矢量的多进制数据进行编码,使将所述多进制数据二进制化后的二进制数据的比特长变小;
转换步骤,将所述多进制数据编码步骤中得到的编码数据转换为所述二进制数据;
算术编码步骤,对所述转换步骤中得到的二进制数据进行算术编码。
30、一种解码方法,用于对运动图像的数据进行解码,其特征在于,该方法包括:
算术解码步骤,对算术编码后的数据进行算术解码;
编码步骤,对所述算术解码步骤中得到的二进制数据进行编码,使所述二进制数据的比特长变小;
编码数据转换步骤,将所述编码步骤中得到的编码数据,转换为量化的DCT系数或者运动矢量。
31、一种集成电路,用于对运动图像的数据进行编码,其特征在于,该集成电路包括:
多进制数据编码单元,用于对表示量化的DCT系数或者运动矢量的多进制数据进行编码,使将所述多进制数据二进制化后的二进制数据的比特长变小;
转换单元,用于将所述多进制数据编码单元得到的编码数据转换为所述二进制数据;
算术编码单元,用于对所述转换单元得到的二进制数据进行算术编码。
32、一种集成电路,用于对运动图像的数据进行解码,其特征在于,该集成电路包括:
算术解码单元,用于对算术编码后的数据进行算术解码;
编码单元,用于对所述算术解码单元得到的二进制数据进行编码,使所述二进制数据的比特长变小;
编码数据转换单元,用于将所述编码单元得到的编码数据,转换为量化的DCT系数或者运动矢量。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005305786 | 2005-10-20 | ||
JP2005305786A JP4540585B2 (ja) | 2005-10-20 | 2005-10-20 | 符号化装置及び復号化装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1953552A true CN1953552A (zh) | 2007-04-25 |
Family
ID=37985455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101528208A Pending CN1953552A (zh) | 2005-10-20 | 2006-10-20 | 编码装置及解码装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7817864B2 (zh) |
JP (1) | JP4540585B2 (zh) |
CN (1) | CN1953552A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103220509A (zh) * | 2012-01-21 | 2013-07-24 | 中兴通讯股份有限公司 | 自适应控制算术编码bin数量的方法、编码器和解码器 |
CN103491370A (zh) * | 2012-06-11 | 2014-01-01 | 晨星半导体股份有限公司 | 一元/k阶指数哥伦布码的解码方法及解码器 |
CN101682773B (zh) * | 2007-06-14 | 2015-03-25 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
CN106303519A (zh) * | 2015-05-26 | 2017-01-04 | 北京君正集成电路股份有限公司 | 一种视频编码方法及装置 |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4368575B2 (ja) * | 2002-04-19 | 2009-11-18 | パナソニック株式会社 | 可変長復号化方法、可変長復号化装置およびプログラム |
US8098735B2 (en) * | 2006-12-21 | 2012-01-17 | Lsi Corporation | Efficient 8×8 CABAC residual block decode |
US8259793B2 (en) * | 2007-03-19 | 2012-09-04 | Sony Corporation | System and method of fast MPEG-4/AVC quantization |
WO2008129855A1 (ja) * | 2007-04-11 | 2008-10-30 | Panasonic Corporation | 画像データ復号化装置、画像データ復号化方法 |
EP2187644A3 (en) * | 2007-07-18 | 2012-10-24 | Humax Co., Ltd. | Adaptive bit-precision entropy coding |
JP4915350B2 (ja) | 2008-01-16 | 2012-04-11 | 日本電気株式会社 | エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム |
JP2010278668A (ja) * | 2009-05-27 | 2010-12-09 | Sony Corp | 符号化装置及び符号化方法、並びに復号装置及び復号方法 |
JP5736032B2 (ja) * | 2010-04-09 | 2015-06-17 | 株式会社Nttドコモ | 算術符号化のための適応型2値化 |
JP5706771B2 (ja) * | 2010-07-30 | 2015-04-22 | キヤノン株式会社 | 動画像の予測符号化装置及びその制御方法、コンピュータプログラム |
US9912968B2 (en) | 2014-01-24 | 2018-03-06 | Mediatek Inc. | Decoding apparatus capable of controlling repetition number of scan procedure based on at least one syntax element decoding result and related method |
US10264285B2 (en) | 2014-05-22 | 2019-04-16 | Qualcomm Incorporated | Coding runs in palette-based video coding |
US10750198B2 (en) | 2014-05-22 | 2020-08-18 | Qualcomm Incorporated | Maximum palette parameters in palette-based video coding |
KR101573334B1 (ko) | 2014-08-07 | 2015-12-01 | 삼성전자주식회사 | 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치 |
KR101540563B1 (ko) | 2014-12-01 | 2015-08-06 | 삼성전자주식회사 | 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치 |
KR101573684B1 (ko) | 2015-03-16 | 2015-12-11 | 삼성전자주식회사 | 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치 |
KR101573340B1 (ko) | 2015-06-24 | 2015-12-11 | 삼성전자주식회사 | 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치 |
KR101731431B1 (ko) | 2015-11-25 | 2017-04-28 | 삼성전자주식회사 | 영상 데이터의 엔트로피 부호화, 복호화 방법 및 장치 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4090862B2 (ja) | 2002-04-26 | 2008-05-28 | 松下電器産業株式会社 | 可変長符号化方法および可変長復号化方法 |
JP4368575B2 (ja) | 2002-04-19 | 2009-11-18 | パナソニック株式会社 | 可変長復号化方法、可変長復号化装置およびプログラム |
JP2003318740A (ja) * | 2002-04-23 | 2003-11-07 | Matsushita Electric Ind Co Ltd | 可変長符号化方法および可変長復号化方法 |
JP4240283B2 (ja) * | 2002-10-10 | 2009-03-18 | ソニー株式会社 | 復号装置及び復号方法 |
US7609762B2 (en) * | 2003-09-07 | 2009-10-27 | Microsoft Corporation | Signaling for entry point frames with predicted first field |
US7286710B2 (en) * | 2003-10-01 | 2007-10-23 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Coding of a syntax element contained in a pre-coded video signal |
TW200518481A (en) | 2003-10-29 | 2005-06-01 | Nec Corp | Decoder and encoder of arithmetic code, encoding apparatus and decoding apparatus having intermediate buffer inserted between reverse binary converter and binary converter |
US7379608B2 (en) * | 2003-12-04 | 2008-05-27 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung, E.V. | Arithmetic coding for transforming video and picture data units |
US7660355B2 (en) * | 2003-12-18 | 2010-02-09 | Lsi Corporation | Low complexity transcoding between video streams using different entropy coding |
US7599435B2 (en) * | 2004-01-30 | 2009-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Video frame encoding and decoding |
US7501964B2 (en) * | 2007-04-16 | 2009-03-10 | Texas Instruments Incorporated | Entropy coding for digital codecs |
-
2005
- 2005-10-20 JP JP2005305786A patent/JP4540585B2/ja not_active Expired - Fee Related
-
2006
- 2006-10-18 US US11/582,440 patent/US7817864B2/en not_active Expired - Fee Related
- 2006-10-20 CN CNA2006101528208A patent/CN1953552A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618730A (zh) * | 2007-06-14 | 2015-05-13 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
US9485523B2 (en) | 2007-06-14 | 2016-11-01 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy-coding/entropy-decoding video data using different binarization methods |
CN101682773B (zh) * | 2007-06-14 | 2015-03-25 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
CN104618729A (zh) * | 2007-06-14 | 2015-05-13 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
CN104618728A (zh) * | 2007-06-14 | 2015-05-13 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
CN104618731A (zh) * | 2007-06-14 | 2015-05-13 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
CN104618729B (zh) * | 2007-06-14 | 2019-01-18 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
CN104618728B (zh) * | 2007-06-14 | 2018-09-21 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
CN104618730B (zh) * | 2007-06-14 | 2018-06-08 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
US9374602B2 (en) | 2007-06-14 | 2016-06-21 | Samsung Electronics Co., Ltd. | Method and apparatus for entropy-coding/entropy-decoding video data using different binarization methods |
CN103220509B (zh) * | 2012-01-21 | 2017-12-15 | 中兴通讯股份有限公司 | 自适应控制算术编码bin数量的方法、编码器和解码器 |
CN103220509A (zh) * | 2012-01-21 | 2013-07-24 | 中兴通讯股份有限公司 | 自适应控制算术编码bin数量的方法、编码器和解码器 |
CN103491370A (zh) * | 2012-06-11 | 2014-01-01 | 晨星半导体股份有限公司 | 一元/k阶指数哥伦布码的解码方法及解码器 |
CN106303519A (zh) * | 2015-05-26 | 2017-01-04 | 北京君正集成电路股份有限公司 | 一种视频编码方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP4540585B2 (ja) | 2010-09-08 |
JP2007116436A (ja) | 2007-05-10 |
US20070092150A1 (en) | 2007-04-26 |
US7817864B2 (en) | 2010-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1953552A (zh) | 编码装置及解码装置 | |
US11496768B2 (en) | GOLOMB-RICE/EG coding technique for CABAC in HEVC | |
KR100801364B1 (ko) | 산술부호의 복호기 또는 부호화기와 역2치화 변환기 또는2치화 변환기의 사이에 중간 버퍼가 삽입된 복호장치 또는부호화 장치 | |
US10506234B2 (en) | Method of run-length coding for palette predictor | |
US7385535B2 (en) | Decoding system and method based on context-based adaptive binary arithmetic coding | |
EP2362657B1 (en) | Parallel entropy coding and decoding methods and devices | |
KR0180169B1 (ko) | 가변길이 부호기 | |
US7365659B1 (en) | Method of context adaptive binary arithmetic coding and coding apparatus using the same | |
US9270988B2 (en) | Method of determining binary codewords for transform coefficients | |
EP2561680B1 (en) | Methods and devices for reordered parallel entropy coding | |
CN101167366A (zh) | 一种二进制化方法及装置 | |
US20060067582A1 (en) | Progressive JPEG decoding system | |
CN104081772A (zh) | 熵编码缓冲器配置 | |
KR102123620B1 (ko) | 대용량 병렬 처리를 위해 비디오 신호를 엔트로피 인코딩 또는 엔트로피 디코딩하는 방법 및 장치 | |
JP2007142637A (ja) | 画像情報符号化装置 | |
WO2013068731A1 (en) | Data encoding and decoding | |
GB2496201A (en) | Context adaptive data encoding and decoding | |
KR20070034917A (ko) | 엔트로피 코딩의 성능 향상 방법 및 장치, 상기 방법을이용한 비디오 코딩 방법 및 장치 | |
JP4896944B2 (ja) | 画像復号装置 | |
JP4823090B2 (ja) | 画像符号化装置 | |
JP4453398B2 (ja) | 符号化装置、プログラム、および符号化処理方法 | |
KR101710619B1 (ko) | 단계적인 영상 부호화, 복호화 방법 및 장치 | |
KR100667595B1 (ko) | 가변 길이 디코더 | |
KR20120038355A (ko) | 계층 구조의 영상 처리를 위한 엔트로피 인코딩/디코딩 방법 및 장치와 이를 위한 심볼 인코딩/디코딩 방법 및 장치 | |
KR100552345B1 (ko) | 통합형 가변 길이 부호화 기법에 의한 비디오 압축부호화방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20070425 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |