CN103931197B - 确定用于变换系数的二进制码字的方法 - Google Patents
确定用于变换系数的二进制码字的方法 Download PDFInfo
- Publication number
- CN103931197B CN103931197B CN201280054977.0A CN201280054977A CN103931197B CN 103931197 B CN103931197 B CN 103931197B CN 201280054977 A CN201280054977 A CN 201280054977A CN 103931197 B CN103931197 B CN 103931197B
- Authority
- CN
- China
- Prior art keywords
- value
- symbol
- conversion coefficient
- parametric variable
- threshold value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 109
- 238000000034 method Methods 0.000 title claims description 31
- 230000008859 change Effects 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 2
- 230000006835 compression Effects 0.000 abstract description 12
- 238000007906 compression Methods 0.000 abstract description 12
- 241000209094 Oryza Species 0.000 description 20
- 235000007164 Oryza sativa Nutrition 0.000 description 20
- 238000013139 quantization Methods 0.000 description 20
- 235000009566 rice Nutrition 0.000 description 20
- 238000004891 communication Methods 0.000 description 11
- 230000000670 limiting effect Effects 0.000 description 11
- 230000015654 memory Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 8
- 241000208340 Araliaceae Species 0.000 description 5
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 5
- 235000003140 Panax quinquefolius Nutrition 0.000 description 5
- 235000008434 ginseng Nutrition 0.000 description 5
- 230000011218 segmentation Effects 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 241000023320 Luma <angiosperm> Species 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- OSWPMRLSEDHDFF-UHFFFAOYSA-N methyl salicylate Chemical compound COC(=O)C1=CC=CC=C1O OSWPMRLSEDHDFF-UHFFFAOYSA-N 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- 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/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- 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/18—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 a set of transform coefficients
-
- 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/1887—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 a variable length codeword
-
- 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
-
- 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/63—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
- H04N19/64—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission
- H04N19/645—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets characterised by ordering of coefficients or of bits for transmission by grouping of coefficients into blocks after the transform
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- 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
-
- 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
- H03M7/4012—Binary arithmetic codes
- H03M7/4018—Context adapative binary arithmetic codes [CABAC]
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
提供了一种创建用于变换系数的级别参数更新码字的系统,变换系数用于涉及在高效率视频编译(HEVC)系统中被分割成编译单元(CU)的变换单元(TU)。该系统提供码字的二值化并且去除不必要的操作以减少系统复杂度和增加压缩性能。该系统生成涉及TU的变换系数,并且通过提供设置成初始值0的参数变量(cRiceParam)开始。参数变量然后基于参数变量的当前值和符号的值被转换成二进制码字,并且然后在已经将每个符号转换之后利用新当前值更新。参考表值可以提供更新,或者根据组合逻辑可以提供这些值。
Description
相关申请的交叉引用
本申请根据35U.S.C.§119(e)要求以下优先权:在2011年11月8日提交的在先提交美国专利临时申请系列No.61/556,826;2011年11月26日提交的在先提交美国临时申请系列No.61/563,774;以及在2011年11月28日提交的在先提交的美国专利临时申请系列No.61/564,248,其全部内容通过引用合并于此。
技术领域
本公开涉及视频压缩领域,具体而言,涉及使用采用块处理的高效视频编译(HEVC)的视频压缩。
背景技术
图1描述包括可以用于发射和接收HEVC数据的编译系统110和解码系统140的内容分布系统100。在一些实施例中,编译系统110可以包括输入接口130、控制器111、计数器112、帧存储器113、编码单元114、发射器缓冲器115和输出接口135。解码系统140可以包括接收器缓冲器150、解码单元151、帧存储器152和控制器153。编译系统110和解码系统140经由可以承载压缩比特流105的传输路径,可以彼此被耦合。编译系统110的控制器111在接收器缓冲器150的容量的基础上可以控制将被发射的数据量,并且可以包括诸如每个时间单位的数目量的其他参数。控制器111可以控制编码单元114以防止解码系统140的接收信号解码操作的失败的发生。控制器111可以是处理器或者通过非限制性示例的方式包括具有处理器的微计算机、随机存取存储器和只读存储器。
通过非限制性示例,从内容提供商供应的源图片120可以包括含有视频序列中的源图片的帧的视频序列。源图片120可以未被压缩或被压缩。如果源图片120未被压缩,则编译系统110可以具有编码功能。如果源图片120被压缩,则编译系统110可以具有代码转换功能。利用控制器111可以从源图片推导出编译单元。帧存储器113可以具有第一区域和第二区域,第一区域可以用于存储来自源图片120的流入帧,第二区域可以用于读出这些帧并且将其输出到编码单元114。控制器111可以将区域切换控制信号123输出到帧存储器113。区域切换控制信号123可以指示将利用第一区域还是第二区域。
控制器111可以将编码控制信号124输出到编码单元114。编码控制信号124可以使得编码单元114开始编码操作,诸如基于源图片准备编译单元。响应于来自控制器111的编码控制信号124,编码单元114可以开始将被准备的编译单元读出到高效编码处理,诸如预测编译处理或变换编译处理,其基于与编译单元相关联的源图片处理生成视频压缩数据的准备编译单元。
编码单元114可以在包括视频分组的封装基本流(PES)中封装生成的视频压缩数据。编码单元114可以使用控制信息和程序时间戳(PTS)将视频分组映射到编码视频信号122,并且编码视频信号122可以被发射到发射器缓冲器115。
包括生成的视频压缩数据的编码视频信号122可以被存储在发射器缓冲器115中。信息量计数器112可以递增,以指示在发射器缓冲器115中的总数据量。因为数据被检索并且从缓冲器移除,所以计数器112可以递减以反映发射器缓冲器115中的数据量。可以将被占的区域信息信号126发射到计数器112,以指示来自编码单元114的数据是否已经被添加或从发射的缓冲器115移除,所以计数器112可以递增或递减。控制器111在可以被通信的被占区域信息126的基础上可以控制由编码单元114产生的视频分组的生成,以便预见、避免、预防和/或检测在发射器缓冲器115中发生的上溢和下溢。
响应于由控制器111生成和输出的预置信号128,可以重置信息量计数器112。在重置信息计数器112之后,其能对由编码单元114输出的数据进行计数并且获得已经生成的视频压缩数据和/或视频分组的量。信息量计数器112可以给控制器111供应代表所获得的信息量的信息量信号129。控制器111可以控制编码单元114,使得在发射器缓冲器115处不存在上溢。
在一些实施例中,解码系统140可以包括输入接口170、接收器缓冲器150、控制器153、帧存储器152、解码单元151和输出接口175。解码系统140的接收器缓冲器150可以临时存储压缩比特流105,包括基于来自源图片120的源图片的接收到的视频压缩数据和视频分组。解码系统140可以读取控制信息和与接收到的数据中的视频分组相关联的呈现时间戳信息,并且输出可以应用到控制器153的帧数信号163。控制器153可以以预定间隔监督这些帧的计数数目。通过非限制示例,每次解码单元151完成解码操作,控制器153可以监督这些帧的计数数目。
在一些实施例中,当帧数信号163指示接收器缓冲器150处于预定容量时,控制器153可以将解码开始信号164输出到解码单元151。当帧数信号163指示接收器缓冲器150处于小于预定容量时,控制器153可以等待所计数数目的帧变得等于预定量的情形的发生。当该情形发生时,控制器153可以输出解码开始信号164。通过非限制性示例,当帧数信号163指示接收器缓冲器150处于预定容量时,控制器153可以输出解码开始信号164。基于与编码视频分组相关联的呈现时间戳,以单调顺序(即增加或减少)可以解码编码的视频分组和视频压缩数据。
响应于解码开始信号164,解码单元151将合计成与帧相关联的数据和与关联来自接收器缓冲器150的视频分组的图片相关联的压缩视频数据解码。解码单元151可以将解码视频信号162写入帧存储器152。帧存储器152可以具有该解码视频信号被写入的第一区域,和用于将解码图片160读出到输出接口175的第二区域。
在各种实施例中,编译系统110可以被合并或者以其他方式与在头端的转码器或编码装置相关联,并且解码系统140可以被合并或者以其他方式与诸如移动设备、机顶盒或转码器的下游设备相关联。
可以分别或一起利用编译系统110和解码系统140,以编码和解码根据各种编译格式的视频数据,包括高效视频编译(HEVC)。HEVC是基于块的混合空间和时间预测编译方案。在HEVC中,诸如视频帧的输入图像可以被划分成称为最大编译单元(LCU)200的方块,如图2中所示。LCU200每个可以是与128x128像素相同大,不同于将输入图像分成16x16像素的宏块的其他编译方案。如图3中所示,通过将LCU200分裂成四个编译单元(CU)202可以分割每个LCU200。CU202可以是每个为LCU200的四分之一大小的方块。每个CU200可以进一步分成每个为较大CU202的四分之一的四个较小CU202。通过非限制性示例,在图3中所描述的LCU200的右上角的CU202可以被划分成四个更小的CU202。在一些实施例中,可以将这些更小的CU202进一步分成甚至更小尺寸的四分之一,并且将CU202分成更小CU202的该处理可以完成多次。
利用越来越高的视频数据密度,所需要的是进一步改善编译CU的方式,使得可以快速地、有效率地和精确地编码和解码大输入图像和/或宏块。
发明内容
本发明提供了一种用于HEVC的改进的系统。在用于该系统的实施例中,提供了以有效方式确定用于变换系数的二进制码字的方法。在编码输入图像和/或宏块中,使用作为CU202的细分的变换单元(TU)内的变换系数的码字。
在一个实施例中,提供了一种方法,该方法包括:提供含有变换系数的一个或多个子集的变换单元,每个变换系数具有量化值;通过从变换系数的量化值减去阈值,确定用于每个变换系数的符号,所述变换系数具有等于或大于阈值的量化值;提供设置成初始值0的参数变量;基于参数变量的当前值和符号的值将每个符号转换成二进制码字;以及在已经转换每个符号之后,利用新当前值更新参数变量的值,新当前值至少部分地基于当前或先前子集中的参数变量的最后值和最后被转换的符号的值。
在另一个实施例中,本发明包括确定用于变换系数的二进制码字的方法,其使用查找表以确定变换系数。该方法包括:提供包括变换系数的一个或多个子集的变换单元,每个变换系数具有量化值;通过从变换系数的量化值减去阈值,确定用于每个变换系数的符号,所述变换系数具有等于或大于阈值的量化值;提供设置成初始值0的参数变量;基于参数变量的当前值和符号的值,将每个符号转换成二进制码字;基于参数变量的最后值和最后被转换的符号的值,从表中查找新当前值;以及利用新当前值取代参数变量的值。
在另一个实施例中,本发明包括确定用于变换系数的二进制码字的方法,其使用利用逻辑而不是需要查找表来执行的一个或多个数学条件。该方法包括:提供包括变换系数的一个或多个子集的变换单元,每个变换系数具有量化值;通过从变换系数的量化值减去阈值,确定用于每个变换系数的符号,所述变换系数具有等于或大于阈值的量化值;提供设置成初始值0的参数变量;基于参数变量的当前值和符号的值,将每个符号转换成二进制码字;确定参数变量的最后值和最后被转化的符号的值是否一起满足一个或多个条件;并且将整数1与用于满足一个或多个条件的每个的参数变量的最后值算术地相加。
附图说明
在附图的帮助下进一步解释本发明的细节,在附图中:
图1描述内容分布系统的实施例。
图2描述将输入图像划成大编译单元的实施例。
图3描述将大编译单元划分成编译单元的实施例。
图4描述被划分成编译单元的大编译单元的四叉树表示。
图5描述编译单元内的预测单元的可能示例性布置。
图6描述用于编码和/或解码预测单元的实施例的框图。
图7描述被划分成预测单元和变换单元的编译单元的示例性实施例。
图8描述被划分成变换单元的编译单元的四叉树表示的示例性实施例。
图9描述执行基于上下文的自适应二进制算术编译的方法的实施例。
图10描述重要图的示例性实施例。
图11描述变换单元内变换系数的逆之字形(zig-zag)扫描和变换系数的子集的实施例。
图12描述获取用于变换系数的系数级和符号的方法的实施例。
图13描述子集中变换系数的扫描顺序的实施例。
图14描述用于关联的参数变量的最大符号值的示例性实施例。
图15描述基于参数变量将这些符号转换成二进制码字的表的示例性实施例。
图16描述用于编译符号和更新参数变量的方法的实施例。
图17描述具有2、4、13、11和10的条件符号阈值的低复杂度更新表的示例性实施例。
图18描述具有3、6和12的条件符号阈值的低复杂度更新表的示例性实施例。
图19描述具有2、5和11的条件符号阈值的低复杂度更新表的示例性实施例。
图20描述用于2、4、13、11和10的条件符号阈值的条件的组合逻辑表示的示例性实施例。
图21描述用于3、6和12的条件符号阈值的条件的组合逻辑表示的示例性实施例。
图22描述基于2、5和11的条件符号阈值可以用于更新参数变量的示例性代码。
图23描述具有A、B和C的条件符号阈值的低复杂度更新表的示例性实施例。
图24描述用于A、B和C的条件符号阈值的条件的组合逻辑表示的示例性实施例。
图25描述具有2、4和12的条件符号阈值的低复杂度更新表的示例性实施例。
图26描述用于2、4和12的条件符号阈值的条件的组合逻辑表示的示例性实施例。
图27描述具有2、4和13的条件符号阈值的低复杂度更新表的示例性实施例。
图28描述用于2、4和13的条件符号阈值的条件的组合逻辑表示的示例性实施例。
图29描述具有2、4和11的条件符号阈值的低复杂度更新表的示例性实施例。
图30描述用于2、4和11的条件符号阈值的条件的组合逻辑表示的示例性实施例。
图31描述具有2、4和10的条件符号阈值的低复杂度更新表的示例性实施例。
图32描述用于2、4和10的条件符号阈值的条件的组合逻辑表示的示例性实施例。
图33描述计算机硬件的示例性实施例。
具体实施方式
在HEVC中,诸如视频帧的输入图像被分解成CU,CU然后以代码的形式被识别。然后,CU进一步分解成被编译的子单元,如随后将描述的。
最初为了该编译,四叉树数据表示可以用于描述LCU200的分割。四叉树表示可以具有与LCU200和CU202相对应的节点。在四叉树表示的每个节点处,如果LCU200或CU202被分成四个CU202,则可以指配标识“1”。如果该节点未被分成多个CU202,则可以指配标识“0”。通过非限制性示例,图4中所示的四叉树表示可以描述图3中示出的LCU分割,其中将LCU200分成四个CU202,并且第二个CU202被分成四个更小的CU202。四叉树的二进制数据表示可以是CU分割标识,CU分割标识可以作为开销与诸如跳过模式标识、合并模式标识、和随后描述的PU编译模式一起被编译和发射。通过非限制性示例,图4中示出的CU分割标识四叉树表示可以被编译为二进制数据表示“10100”。
在四叉树的每个叶子处,最后的CU202可以被分解成称为预测单元(PU)204的一个或多个块。PU204是方形或矩形。具有2Nx2N尺寸的CU202可以具有图5中示出的PU204的四个示例性布置之一,PU204具有2Nx2N、2NxN、Nx2N或NxN的尺寸。
通过空间或时间预测可以获得PU。时间预测与帧间模式图片相关。空间预测与帧内模式图片相关。因此,每个CU202的PU204可以在帧内模式或帧间模式中被编译。将在下文段落中描述与帧内模式和帧间模式图片相关的编译的特征。
帧内模式编译在不需要参考其他图片的情形下可以使用来自当前输入图像的数据,以编译I图片。在帧内模式中,可以将PU204空间地预测编译。CU202的每个PU204可以具有它自己的空间预测方向。空间预测方向可以是水平的、垂直的、45度对角、135度对角、DC、平面、或任何其他方向。用于PU204的空间预测方向可以被编译为句法元素。在一些实施例中,可以单独地预测用于PU204的亮度信息(亮度)和色彩信息(色度)。在一些实施例中,用于4x4、8x8、16x16、32x32和64x64块的亮度帧内预测模式的数目可以分别是18、35、35、35和4。在替代实施例中,用于任何大小的块的亮度帧内预测模式的数目可以是35。附加模式可以用于色度帧内预测模式。在一些实施例中,色度预测模式可以被称为“IntraFromLuma”。
帧间模式编译可以使用来自当前输入图像和一个或多个参考图像的数据,以编译“P“图片和/或“B”图片。在一些情形和/或实施例中,帧间模式编译可以导致高于帧内模式编译的压缩。在帧间模式中,PU204可以是时间上预测编译,使得CU202的每个PU204可以具有一个或多个运动矢量和一个或多个关联的参考图像。通过在关联的参考图像上搜索用于PU204的最佳匹配预测的运动估计操作,可以执行时间预测。通过运动矢量和关联的参考图像可以描述最佳匹配预测。P图片使用来自当前输入图像和一个或多个先前参考图像的数据。B图片使用来自当前输入图像和先前和后续参考图像的数据,并且可以最多达到两个运动矢量。可以在HEVC比特流中编译运动矢量和参考图片。在一些实施例中,可以将运动矢量编译为句法元素“MV”,并且可以将参考图片编译为句法元素“refIdx”。在一些实施例中,帧间模式编译可以允许空间和时间预测编译。
图6描述怎样将PU204、x编码和/或解码的框图。在606,可以从当前PU204,x减去如上所述的诸如通过在602的帧内模式或在604的帧间模式所预测的预测PU206,x’,以获得残留PU208,e。在608,利用块变换可以将残留PU208,e变换成一个或多个变换单元(TU)210,E。每个TU210可以包括一个或多个变换系数212。在一些实施例中,块变换可以是方形。在替代实施例中,块变换可以是非方形。
如图7中所示,在HEVC中,在CU202上可以执行不同大小的块变换集合,使得可以将一些PU204划分成更小的TU210,并且其他PU204可以具有与PU204相同大小的TU210。通过四叉树表示可以示出CU202和PU204至TU210的划分。通过非限制示例,图8中示出的四叉树表示描述了图7中示出的CU202内的TU210的布置。
返回参考图6,在步骤610,可以将TU210,E的变换系数212量化成有限数的可能值之一。在一些实施例中,这是其中通过量化所丢失的数据不可恢复的有损操作。在已经量化变换系数212之后,在612,量化的变换系数212可以如下文所述被熵编译,以获得最终压缩比特214。
在614,可以将量化的变换系数212解量化为解量化的变换系数216E’。在616,然后将解量化的变换系数216E’逆变换,以重建残留PU218,e’。在618,然后能够将重建的残留PU218,e’与通过在602的空间预测或在604的时间预测所获得的相对应预测PU206,x’相加,以获得重建PU220,x’’。在620,在重建的PUs220,x’’可以使用解块滤波器,以减少块效应。在620,也提供了采样自适应偏移处理,能够有条件地执行该采样自适应偏移处理以补偿重建的像素和初始像素之间的像素值偏移。此外,在620,在重建的PU220,x’’可以有条件的使用自适应环路滤波器,以减少或最小化在输入图像和输出图像之间的编译失真。
如果重建的图像是在帧间模式编译中将用于未来时间预测的参考图像,则可以将重建的图像存储在参考缓冲器622中。帧内模式编译图像可以是其中在不需要额外的重建图像的情形下解码可以开始的可能点。
HEVC在步骤612期间可以使用熵编译方案,诸如基于上下文的自适应二进制算法编译(CABAC)。用于CABAC的编译处理在图9中示出。在902,变换单元210的最后有效变换系数的位置可以被编译。返回参考图6,通过量化TU210可以创建量化的变换系数。变换系数212可以是重要的或非重要的。图10示出变换系数212的重要图1002。非重要的变换系数212可以具有零的量化值,而重要的变换系数212可以具有一个或多个量化值。在一些实施例中,重要的变换系数212也可以已知为非零量化变换系数212。如果TU210包括一个或多个重要变换系数212,则如图10中所示,可以编译沿着从TU210的左上角至TU210的右下角的前向之字形编译扫描的最后重要变换系数212的坐标。在替代实施例中,沿着逆波阵扫描、逆水平扫描、逆垂直扫描或任何其他扫描顺序,可以扫描重要变换系数212。在一些实施例中,这些坐标可以被编译为句法元素“last_significant_coeff_y”和“last_significant_coeff_x”。通过非限制示例,图10描述在图9的框902中被编译的TU210内的最后重要变换212b的位置。
在图9中的框904,可以将重要图1002编译成指示TU210中的重要变换系数212的每个的位置。重要图1002可以包括用于TU210中的每个位置的二进制元素。可以将二进制元素编译为“0”,以指示在那个位置的变换系数212不重要。可以将二进制元素编译为“1”,以指示在那个位置的变换系数212是重要的。
图11图示了TU210的量化变换系数212如何被划分成组。在一些实施例中,这些组可以是子块。子块可以是16个量化的变换系数212的方块。在其他实施例中,这些组可以是子集1102。子集1102可以包括沿着向后之字形扫描的扫描顺序连续的16个量化变换系数212,如图11中所示。第一子集可以是包括最后重要变换系数212b的子集1102,无论在子集内最后重要变换系数212b在何处。通过非限制示例,最后重要变换系数212b在子集中可以是第14个变换系数212,之后有两个非重要变换系数。
在一些情形和/或实施例中,可以存在16个量化的变换系数212的一个或多个组,量化的变换系数212不包括在含有最后重要变换系数212b的组之前沿着逆向扫描顺序的重要变换系数。在这些情形和/或实施例中,第一子集可以是含有最后重要变换系数212b的子集1102,并且在第一子集1102之前的任何组不视为子集1102的部分。通过非限制示例,在图11中,第一子集1102“子集0”是沿着逆向之字形扫描顺序的16个变换系数212的第二组,而在TU210的右下角的16个变换系数212的组不是子集1102的部分,因为那些变换系数212都不是重要的。在一些实施例中,可以将第一子集1102表示为“子集0”,并且附加子集1102可以表示为“子集1”、“子集2”直至“子集N”。最后子集1102可以是在位置0具有DC变换系数212的子集1102,0在TU210的左上角。
重新参考图9,在最后框906中,可以将每个量化的变换系数212编译成二进制值,以获得图6中示出的最后压缩比特214,包括用于重要系数级别的编译。在编译期间,可以与量化的变换系数212的符号分离地编译每个量化的变换系数212的绝对值。图12图示涉及采取量化的变换系数的绝对值的编译步骤。如图12中所示,在1202,采取每个量化的变换系数212的绝对值,以使得能够获得用于框1204的量化的变换系数212的系数级别222。
在期望以更低频率发生的系数级别222之前,编译期望以更高频率发生的在框1204获得的系数级别。通过非限制示例,在一些实施例中,可以期望0、1或2的系数级别222最频繁地发生。在三个部分中编译系数级别222能够识别最频繁发生系数级别222,留下用于可能期望最少频率发生的系数级别222的更加复杂的计算。在一些实施例中,这可以通过在三个部分中编译系数级别222进行。首先,可以检查量化的变换系数212的系数级别222以确定其是否大于1。如果系数级别222大于1,则可以检查系数级别222以确定其是否大于2。
在图12中的1206,如果系数级别222大于2,则系数级别222减去3的阈值224以获得符号。通过非限制性示例,在一些实施例中,可以将系数级别222编译为三种变量:“coeff_abs_level_greater1_flag”、“coeff_abs_level_greater2_flag”和“coeff_abs_level_minus3”。对于具有2或更多的系数级别222的量化的变换系数212,可以将“coeff_abs_level_greater1_flag”设置成1。如果“coeff_abs_level_greater1_flag”被设置成1并且量化的变换系数212也具有3或更多的系数级别222,则可以将“coeff_abs_level_greater2_flag”设置成“1”。如果将“coeff_abs_level_greater2_flag”设置成“1”,则3的阈值224可以从系数级别222减去以获得量化的变换系数的符号226,编译为“coeff_abs_level_minus3”。在替代实施例中,在不同数目的部分中可以编译系数级别222,和/或阈值224可以是除了3的整数。
针对如图12的框中所确定的发生频率更少并且具有3或更多的系数级别222的量化的变换系数212,如图12的框中所确定,可以将量化的变换系数符号226转换成二进制码字228,二进制码字228可以是如图6中所示生成的最终压缩比特214的部分。
图13图示了如何通过由每个子集1102扫描和根据参数变量230的值按顺序转换子集1102的每个符号226,并且然后移动到下一子集1102的符号226来编译每个符号226。仅利用截短(truncated)Rice码或者利用截短Rice码和第0阶指数哥伦布(Exp-Golomb)码的组合,可以执行至二进制码字228的转换。截短Rice码可以基于参数变量230和符号226获得二进制码字228。针对子集0和1,示出该编译进展的图和图11的之字形线一起在图13中示出。在一些实施例中,当前扫描位置可以由“n”表示。
参考图15,参数变量230能够是当各个符号226被编译时能够更新的全局变量。参数变量230可以控制码字分布的平坦度。在一些实施例中,参数变量230可以是0和N之间的任何整数。通过非限制性示例,在一些实施例中,N可以是3,使得参数变量230可以是0、1、2或3。在一些实施例中,参数变量230可以表示为“cRiceParam”,如图15和图14中所示。
仍参考图14,每个参数变量230可以具有表示用于截短Rice码的截短点的相关联的最大符号值232。在一些实施例中,可以将用于特定参数变量230的最大符号值232表示为如图14中所示的“cTRMax”232,其描述用于参数变量230“cRiceParam”的最大符号值232“cTRMax”的示例性表。将图14的表标记为表1,因为它提供相对于最大值符号cTRMax232的第一列表cRiceParam值230。如果图15的符号226少于或等于用于参数变量230的最大符号值232,则仅使用截短Rice码将符号226转换成二进制码字228。如果符号226大于用于参数变量230的最大符号值232,则使用截短Rice码和Exp-Golomb码的组合可以生成二进制码字228,利用与第0阶Exp-Golomb码级联的用于最大符号值232的截短Rice码字,以便符号226减去最大符号值232减去1。通过非限制性实施例,图15描述了基于符号226和参数变量230生成的二进制码字228的示例性表。因为图15提供了列出相对于其他值的cRiceParam参数变量230的第二表,其被标记为表2。
在一些情形和/或实施例中,利用较低参数变量230转换根据截短Rice码的符号226,比利用较高参数变量230转换根据截短Rice码的同一符号226,可能导致具有更少比特的二进制码字228。通过非限制性示例,如通过图15中所描述的表中所示,使用0的参数变量230转换0的符号226,可以导致具有1比特的“0”的二进制码字228,而使用1的参数变量230转换0的符号226,可以导致具有2比特的“00”的二进制码字228。
在其他情形和/或实施例中,利用较高参数变量230转换根据截短Rice码的符号226,比利用较低参数变量230转换根据截短Rice码的同一符号226,可以导致具有更少比特的二进制码字228。通过非限制性示例,如图14中所描述的表中所示,使用0的参数变量转换6的符号226可以导致具有7比特的“1111110”的二进制码字228,而使用2的参数变量230转换6的符号226可以导致具有4比特的“1010”的二进制码字228。
图16是描述用于熵编译符号226的方法的流程图。在1602,针对每个TU210,可以将参数变量最初设置成0值。在1604,编译系统110可以移至下一符号226。在一些情形和/或实施例中,下一符号226可以是如图11中示出的第一子集1102中的第一符号。在1606,使用参数变量230的当前值,利用截短Rice和/或Exp-Golomb代码,可以编译符号226。在1608,基于参数变量230的最后值和编译的最后符号226的值,可以更新参数变量230。在一些情形和/或实施例中,参数变量230的更新值可以与参数变量230的最后值相同。在其他情形和/或实施例中,参数变量230的更新值可以大于参数变量230的最后值。基于计算或从随后本文中所描述的表中推导出的值,可以更新参数变量230。
在1608已经更新参数变量230之后,编译系统110可以返回1604,并且移至下一符号226。下一符号226可以在当前子集1102或在下一子集1102中。然后,在1606使用参数变量230的更新值可以编译下一符号226,并且针对TU210中的所有剩余符号226,该处理可以重复。在一些实施例中,当后续子集1102中的符号226被编译时,基于来自先前子集1102的参数变量230的最后值可以更新参数变量230,使得参数变量230在每个子集1102的第一符号226处不被重置为零。在替代实施例中,参数变量230在每个子集1102的第一符号226处可以被设置成零。
通常参考图15,具有更小的cRiceParam参数值230的截短Rice码可以被优选为编译具有更小码字的这些符号,因为它们需要代表更少的比特。例如,如果符号226具有0的值,使用具有等于0的cRiceParam参数值230的截短Rice码,则仅需要1比特,但是当cRiceParam值分别是2、3或4时,需要2、3或4比特。如果符号具有6的值,使用具有cRiceParam值等于0的截短Rice码,则需要7比特。但是当cRiceParam值分别是2、3或4时,需要5、4或4比特。
在用图17的表所示出的一个实施例中,基于下文的表来推导和更新标有可变的coeff_level_minus3[n]的cRiceParam230。针对TU子集,最初将cRiceParam230设置成0,并且然后基于根据图17的表的先前cRiceParam和coeff_abs_level_minus3[n-1]更新。因为图17示出其列出相对于cRiceParam参数值230的符号值226的第三表,该表被标记为表3。同样地,将连续地标记示出相似比较的后续表。
应注意的是,在常规实现中,具有初始“0”值的每个子集每次重置cRiceParam230。针对多于16个连续符号系数226的一个子集的TU,可以将用于coeff_abs_level_minus3的cRiceParam计算为每个子集重新设置成0,其支持更小符号值编译。通常,在每个TU内,从最后非零量化变换系数开始,非零量化的变换系数的绝对值趋于变得越来越大。因此,针对每个子集将cRiceParam重新设置成0可能不给予最佳压缩性能。
在图13中,每个循环代表量化的变换系数,并且每个循环内的数是coeff_abs_level_minus3的值。如果其是“NA”,则意指不存在用于该系数的coeff_abs_level_minus3的句法。遵循逆向扫描模式,coeff_abs_level_minus3的这些值趋于在每个子集中并且也从子集至子集更得更大,如图13的示例中所示。在示例中,将cRiceParam设置成在子集0中用于“5”的2,并且利用设置成2的cRiceParam,将“5”的值二值化成“1001”的码字,或者4比特,如图15的表2中所示。在常规实现中,然后将cRiceParam重置成子集1中的0。目前,利用0的重置cRiceParam,子集1中的“5”的相同值目前被二值化成111110的码字,或者6比特,如表2中所示。明显地,该重置处理不仅引进附加校验操作,也可能导致差的编译性能。
如相应图18和19中所示的表4和5描述了关于更新表的替代实施例。对于这些和其他实施例,cRiceParam参数230得出如下。首先,针对TU,将cRiceParam最初设置成0,并且然后基于先前cRiceParam和根据诸如表4和表5的cRiceParam更新表的coeff_abs_level_minus3[n-1]被更新。在这些实施例中,每个TU仅重新设置cRiceParam一次,而不是关于使用表3的实施例所指示的TU的每个子集。
通过在每个子集不将cRiceParam重新设置成0,针对每个子集所重新设置的这些操作被保存,并且一旦cRiceParam达到3,将总是利用相同设置的截短rice码(cRiceParam等于3)二值化这些符号,这可以减少硬件复杂度。
应注意的是,通过利用不同的cRiceParam值230分析每个符号226所需要的比特的数目,可以从图15的表2中生成图19的表5,同时假定下一级别值在统计上不小于沿着逆向扫描的当前级别。例如,如果当前符号226是2并且cRiceParam是0时,下一符号大于2的可能性较高,并且应用具有等于1的cRiceParam的截短Rice码可能减少比特的数目。如果当前符号是5并且cRiceParam是1,则下一符号大于5的可能性较高,并且应用具有等于2的cRiceParam的截短Rice码可能减少比特的数目。如果当前符号是11并且cRiceParam是2,则下一符号大于11的可能性较高并且应用具有等于3的cRiceParam的截短Rice码可能减少比特的数目。
在一些实施例中,返回参考图16,根据比较等式而不是表,可以确定在1608更新参数变量230。在该比较中,确定参数变量230的最后值和最后编译符号226的值是否满足一个或多个条件1702,如图20所示。在一些实施例中,可以将最后编译符号226的值表示为如表3-5中的“coeff_abs_level_minus3[n-1]”。根据哪些条件被满足可以更新参数变量230,并且然后使用截短Rice码和/或Exp-Golomb码,基于更新的参数变量230可以编译当前符号226的值。
在一些实施例中,每个条件1702可以包括两个部分,条件符号阈值和条件参数阈值。在这些实施例中,如果符号226的值等于或大于条件符号阈值并且参数变量230等于或大于条件参数阈值,则可以满足该条件1702。在替代实施例中,每个条件1702可以具有任何数目的部分或具有用于符号226或参数变量230或者两者的任何类型的条件。
因为更新表可以需要额外存储器以存储和提取该数据并且该存储器需要大量处理器周期,可以优选的是,使用组合逻辑执行比较来替代更新表,因为该逻辑可以非常少地使用处理器周期。在图20中示出确定用于在表3的位置更新的cRiceParam的组合逻辑的示例。在图21中示出用于表示表4的组合逻辑的示例。图22中示出用于表示表5的组合逻辑的示例。
在一些实施例中,基于参数变量230和最后编译符号226的可能值的条件1702的可能结果,作为如图17中的表中示出的低复杂度更新表1704被存储在存储器中。在这些实施例中,基于参数变量230的最后值和最后编译符号226的值,通过从低复杂度更新表1704中执行表查找可以更新参数变量230。
在另一个实施例中,可以提供在CABAC中的低复杂度级别参数更新表,在一些实施例中低复杂度级别参数更新表可以比先前表更有效地操作,并且不需要图20-22中示出的逻辑。针对这些低复杂度级别参数更新表,下文应用:(1)输入:先前cRiceParam和coeff_abs_level_minus3[n-1]。(2)输出:cRiceParam。(3)先前cRiceParam和cRiceParam可以具有0、1、2或3的值。
此外,在该低复杂度级别参数更新表中,下文进一步应用:(1)参数变量230可以:当最后编译符号226的值在0和A-1之间时保持相同;(2)可以将参数变量230设置成1或者保持在参数变量230的最后值,当符号226在A和B-1之间时,哪个更大;(3)可以将参数变量230设置成2或保持在参数变量230的最后值,当符号226在B和C-1之间时,哪个更大;或者(4)当符号226大于C-1时可以将参数变量230设置成3。在图23中描述了用于这些条件1702的标记为表6的低复杂度更新表1704。在图24中描述了用于表6的组合逻辑表示。可以将A、B和C的值设置成任何期望值。在该示例性实施例中,A、B或C分别可以是条件符号阈值,并且0、1或2的值可以分别是参数符号阈值。
在图19至31中描述了更新表1704和具有A、B和C的特定值的它们关联的组合逻辑表示1706的非限制示例的选择。图19和20分别描述更新表1704和用于3、6和13的条件符号阈值的组合逻辑表示。图29和30分别描述更新表9和用于2、4和11的条件符号阈值的组合逻辑表示。图31和32分别描述更新表10和用于2、4和10的条件符号阈值的组合逻辑表示。
实践这些实施例所需要的指令的序列的执行可以由计算机系统3300执行,如图20中所示。在实施例中,由单一计算机系统3300执行指令的序列的执行。根据其他实施例,由通信链路3315耦合的两个或多个计算机系统3300可以彼此协调地执行这些指令的序列。虽然在本文中可以存在仅一个计算机系统3300的描述,但是应该理解的是,可以采用任何数目的计算机系统3300。
现将参考图20描述根据实施例的计算机系统3300,其是计算机系统3300的功能组件的框图。如本文所使用,术语计算机系统3300广泛用于描述可以存储和独立地运行一个或多个程序的任何计算设备。
计算机系统3300可以包括耦合到总线3306的通信接口3314。通信接口3314在计算机系统3300之间提供双向通信。相应的计算机系统3300的通信接口3314发射和接收电的、电磁的或光信号,所述信号包括诸如指令、消息和数据的表示各种类型的信号信息的数据流。通信链路3315将一个计算机系统3300与另一计算机系统3300链接。例如,通信链路3315可以是LAN、综合业务数字网(ISDN)卡、调制解调器、或互联网。
计算机系统3300通过它相应的通信链路3315和通信接口3314,可以发射和接收消息、数据和指令,包括诸如应用、代码的程序。接收到的程序代码随着其被接收可以由相应处理器(这些处理器)3307执行,和/或存储在存储设备3310或其他关联非易失性介质中,以便以后执行。
在实施例中,计算机系统3300结合数据存储系统3331操作,例如包含由计算机系统3300易接入的数据库3332的数据存储系统3331。计算机系统3300通过数据接口3333与数据存储系统3331通信。
计算机系统3300可以包括总线3306和用于通信这些指令、消息和数据,统称为信息的其他通信机制,以及与用于处理信息的总线3306耦合的一个或多个处理器3307。计算机系统3300也包括耦合到总线3306的主存储器3308,诸如随机存取存储器(RAM)或其他动态存储设备,以用于存储由这些处理器3307执行的动态数据和指令。计算机系统3300可以进一步包括只读存储器(ROM)3309或者耦合到总线3306的其他静态存储器,以用于存储用于处理器(多个处理器)3307的静态数据和指令。诸如磁盘或光盘的存储设备3310也可以被提供并且耦合到总线3306,以用于存储用于处理器(这些处理器)3307的数据和指令。
计算机系统3300可以经由总线3306被耦合到显示器设备3311,诸如LCD屏。诸如字母或其他键的输入设备3312被耦合到总线3306,以用于将信息和命令选择通信到处理器(多个处理器)3307。
根据一个实施例,个人计算机系统3300通过它们相应的处理器3307执行具体操作,处理器3307执行包含在主存储器3308中的一个或多个指令的一个或多个序列。可以将这些指令从诸如ROM3309或存储设备3310的另一计算机可用介质读取到主存储器3308。包含在主存储器3308中的指令序列的执行,使得处理器(多个处理器)3307执行本文中描述的处理。在替代实施例中,硬线电路可以用于代替或与软件指令组合。因此,这些实施例不限于硬件电路和/或软件的任何特定组合。
虽然在上文已经具体描述本发明,但是仅教导本领域的技术人员如何制造和使用本发明。许多附加修改将落入本发明的范围内,如通过权利要求所定义的范围。
Claims (14)
1.一种确定用于变换系数的二进制码字的方法,包括:
提供包括所述变换系数的一个或多个子集的变换单元,每个所述变换系数具有量化值;
通过从所述变换系数的所述量化值减去阈值,确定用于每个所述变换系数的符号,所述变换系数具有等于或大于所述阈值的量化值;
提供设置成初始值0的参数变量;
基于所述参数变量的当前值和所述符号的值,将所述符号转换成二进制码字;以及
在当所述参数变量的最后值和所述最后被转换的符号的所述值一起满足一个或多个条件时通过算术地递增所述参数变量的最后值来转换每个符号之后,利用用于每个所述符号的新当前值来更新所述参数变量的所述值,所述一个或多个条件包括条件符号阈值和条件参数阈值,其中,当所述最后被转换的符号的所述值大于或等于用于所述一个或多个条件中的一个条件的所述条件符号阈值并且所述参数变量的所述最后值小于或等于用于该一个条件的所述条件参数阈值时,满足该一个条件。
2.根据权利要求1所述的方法,其中所述转换包括:基于所述符号的所述值和所述参数变量的更新值,从表中查找所述二进制码字。
3.根据权利要求1所述的方法,其中,所述阈值是3。
4.根据权利要求1所述的方法,其中,更新所述参数变量包括:
基于(1)所述参数变量的最后值和(2)所述最后被转换的符号的所述值来从表中查找新值。
5.根据权利要求1所述的方法,其中,对于所述一个或多个条件中的每个,所述条件符号阈值不同。
6.根据权利要求1所述的方法,其中,所述参数变量的所述值被配置成0、1、2或3。
7.根据权利要求1所述的方法,其中,所述参数变量的所述值被配置成0、1、2或者在2与指定上限值之间的任何整数。
8.根据权利要求1所述的方法,其中,所述变换系数被提供在变换单元TU内,所述变换单元提供在高效率视频编译HEVC信号中的编译单元CU的细分。
9.根据权利要求1所述的方法,其中,所述变换系数被提供在变换单元TU的子集内,所述变换单元提供在高效率视频编译HEVC信号中的编译单元CU的细分。
10.一种确定用于变换系数的二进制码字的方法,包括:
提供包括所述变换系数的一个或多个子集的变换单元,每个所述变换系数具有量化值;
通过从所述变换系数的所述量化值减去阈值,确定用于每个所述变换系数的符号,所述变换系数具有等于或大于所述阈值的量化值;
提供设置成初始值0的参数变量;
基于所述参数变量的当前值和所述符号的值,将所述符号转换成二进制码字;
基于所述参数变量的最后值和最后被转换的符号的值,从表中查找新当前值;以及
利用所述新当前值替换所述参数变量的所述值,所述新当前值是从当所述参数变量的最后值和所述最后被转换的符号的所述值一起满足一个或多个条件时递增所述参数变量的最后值得到的值,所述一个或多个条件包括条件符号阈值和条件参数阈值,并且其中,当所述最后被转换的符号的所述值大于或等于用于所述一个或多个条件中的一个条件的所述条件符号阈值并且所述参数变量的所述最后值小于或等于用于该一个条件的所述条件参数阈值时,满足该一个条件。
11.一种确定用于变换系数的二进制码字的方法,包括:
提供包括变换系数的一个或多个子集的变换单元,每个变换系数具有量化值;
通过从所述变换系数的所述量化值减去阈值,确定用于每个变换系数的符号,所述变换系数具有等于或大于所述阈值的量化值;
提供设置成初始值0的参数变量;
基于所述参数变量的所述当前值和所述符号的所述值,将每个符号转换成二进制码字;以及
确定所述参数变量的最后值和最后被转换的符号的值是否一起满足一个或多个条件,其中所述一个或多个条件中的每个包括条件符号阈值和条件参数阈值;以及
将整数1与用于满足所述一个或多个条件中的每个的所述参数变量的所述最后值算术地相加;
其中,当所述最后被转换的符号的所述值大于或等于用于所述一个或多个条件中的一个条件的条件符号阈值并且所述参数变量的所述最后值小于或等于用于该一个条件的条件参数阈值时,满足该一个条件。
12.根据权利要求11所述的方法,其中,对于所述一个或多个条件中的每个,所述条件符号阈值不同。
13.根据权利要求11所述的方法,其中,所述参数变量的所述值被配置成0、1、2或3。
14.根据权利要求11所述的方法,其中,所述参数变量的所述值被配置成0、1、2或者在2与指定上限值之间的任何整数。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161556826P | 2011-11-08 | 2011-11-08 | |
US61/556,826 | 2011-11-08 | ||
US201161563774P | 2011-11-26 | 2011-11-26 | |
US61/563,774 | 2011-11-26 | ||
US201161564248P | 2011-11-28 | 2011-11-28 | |
US61/564,248 | 2011-11-28 | ||
US13/671,811 | 2012-11-08 | ||
PCT/US2012/064229 WO2013070970A2 (en) | 2011-11-08 | 2012-11-08 | Method of determining binary codewords for transform coefficients |
US13/671,811 US9270988B2 (en) | 2011-11-08 | 2012-11-08 | Method of determining binary codewords for transform coefficients |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103931197A CN103931197A (zh) | 2014-07-16 |
CN103931197B true CN103931197B (zh) | 2018-01-23 |
Family
ID=48223685
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280054977.0A Active CN103931197B (zh) | 2011-11-08 | 2012-11-08 | 确定用于变换系数的二进制码字的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9270988B2 (zh) |
EP (1) | EP2777268A2 (zh) |
KR (1) | KR101660605B1 (zh) |
CN (1) | CN103931197B (zh) |
BR (1) | BR112014011150B1 (zh) |
WO (1) | WO2013070970A2 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013070974A2 (en) | 2011-11-08 | 2013-05-16 | General Instrument Corporation | Method of determining binary codewords for transform coefficients |
US9172962B2 (en) * | 2012-01-20 | 2015-10-27 | Blackberry Limited | Methods and systems for pipelining within binary arithmetic coding and decoding |
US10284851B2 (en) | 2012-01-21 | 2019-05-07 | Google Technology Holdings LLC | Method of determining binary codewords for transform coefficients |
WO2013109993A1 (en) | 2012-01-21 | 2013-07-25 | General Instrument Corporation | Method of determining binary codewords for transform coefficients |
US9479780B2 (en) | 2012-02-01 | 2016-10-25 | Google Technology Holdings LLC | Simplification of significance map coding |
CN110602509A (zh) | 2012-02-04 | 2019-12-20 | 谷歌技术控股有限责任公司 | 用于最末重要系数位置编码中的上下文减少的设备和方法 |
US9167245B2 (en) | 2012-02-05 | 2015-10-20 | Google Technology Holdings LLC | Method of determining binary codewords for transform coefficients |
US9332257B2 (en) | 2012-10-01 | 2016-05-03 | Qualcomm Incorporated | Coded black flag coding for 4:2:2 sample format in video coding |
US10021419B2 (en) * | 2013-07-12 | 2018-07-10 | Qualcomm Incorported | Rice parameter initialization for coefficient level coding in video coding process |
JP6336058B2 (ja) | 2013-10-14 | 2018-06-06 | マイクロソフト テクノロジー ライセンシング,エルエルシー | ビデオ及び画像符号化及び復号のためのベースカラーインデックスマップモードの機能 |
EP3917146A1 (en) | 2014-09-30 | 2021-12-01 | Microsoft Technology Licensing, LLC | Rules for intra-picture prediction modes when wavefront parallel processing is enabled |
US9781424B2 (en) | 2015-01-19 | 2017-10-03 | Google Inc. | Efficient context handling in arithmetic coding |
US10659783B2 (en) * | 2015-06-09 | 2020-05-19 | Microsoft Technology Licensing, Llc | Robust encoding/decoding of escape-coded pixels in palette mode |
EP3264763A1 (en) * | 2016-06-29 | 2018-01-03 | Thomson Licensing | Method and apparatus for improved significance flag coding using simple local predictor |
WO2018023554A1 (en) * | 2016-08-04 | 2018-02-08 | SZ DJI Technology Co., Ltd. | System and methods for bit rate control |
KR102629474B1 (ko) * | 2018-05-09 | 2024-01-26 | 삼성전자주식회사 | 데이터 압축 및 복원을 위한 전자 장치 및 그 압축 방법 |
CN117201786A (zh) * | 2018-09-11 | 2023-12-08 | Lg电子株式会社 | 图像解码方法、图像编码方法和数据发送方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101682773A (zh) * | 2007-06-14 | 2010-03-24 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2870515B2 (ja) | 1996-12-27 | 1999-03-17 | 日本電気株式会社 | 可変長符号化装置 |
US7158684B2 (en) | 2002-04-25 | 2007-01-02 | Texas Instruments Incoporated | Entropy coding scheme for video coding |
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 |
US7580585B2 (en) | 2004-10-29 | 2009-08-25 | Microsoft Corporation | Lossless adaptive Golomb/Rice encoding and decoding of integer data using backward-adaptive rules |
CN101167366B (zh) | 2005-12-05 | 2010-10-27 | 华为技术有限公司 | 一种二进制化方法及装置 |
US8275045B2 (en) | 2006-07-12 | 2012-09-25 | Qualcomm Incorporated | Video compression using adaptive variable length codes |
US7813567B2 (en) | 2007-04-26 | 2010-10-12 | Texas Instruments Incorporated | Method of CABAC significance MAP decoding suitable for use on VLIW data processors |
US8891615B2 (en) | 2008-01-08 | 2014-11-18 | Qualcomm Incorporated | Quantization based on rate-distortion modeling for CABAC coders |
KR101375668B1 (ko) | 2008-03-17 | 2014-03-18 | 삼성전자주식회사 | 변환 계수의 부호화, 복호화 방법 및 장치 |
US8588536B2 (en) | 2010-02-22 | 2013-11-19 | Texas Instruments Incorporated | Guaranteed-rate tiled image data compression |
JP5707412B2 (ja) | 2010-09-29 | 2015-04-30 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | 画像復号方法、画像符号化方法、画像復号装置、画像符号化装置、プログラムおよび集積回路 |
US8526495B2 (en) | 2010-11-22 | 2013-09-03 | Mediatek Singapore Pte. Ltd. | Apparatus and method of constrained partition size for high efficiency video coding |
JP5809292B2 (ja) | 2011-01-14 | 2015-11-10 | ジーイー ビデオ コンプレッション エルエルシー | エントロピー符号化および復号化スキーム |
WO2013012819A2 (en) | 2011-07-15 | 2013-01-24 | General Instrument Corporation | Context modeling techniques for transform coefficient level coding |
US9253508B2 (en) * | 2011-11-04 | 2016-02-02 | Futurewei Technologies, Inc. | Differential pulse code modulation intra prediction for high efficiency video coding |
US20130114685A1 (en) | 2011-11-07 | 2013-05-09 | Sharp Laboratories Of America, Inc. | Video decoder with constrained dynamic range |
WO2013070974A2 (en) | 2011-11-08 | 2013-05-16 | General Instrument Corporation | Method of determining binary codewords for transform coefficients |
WO2013110000A1 (en) | 2012-01-21 | 2013-07-25 | General Instrument Corporation | Method of determining binary codewords for transform coefficients |
WO2013109993A1 (en) | 2012-01-21 | 2013-07-25 | General Instrument Corporation | Method of determining binary codewords for transform coefficients |
US10284851B2 (en) | 2012-01-21 | 2019-05-07 | Google Technology Holdings LLC | Method of determining binary codewords for transform coefficients |
US9479780B2 (en) | 2012-02-01 | 2016-10-25 | Google Technology Holdings LLC | Simplification of significance map coding |
CN110602509A (zh) | 2012-02-04 | 2019-12-20 | 谷歌技术控股有限责任公司 | 用于最末重要系数位置编码中的上下文减少的设备和方法 |
US9167245B2 (en) | 2012-02-05 | 2015-10-20 | Google Technology Holdings LLC | Method of determining binary codewords for transform coefficients |
-
2012
- 2012-11-08 CN CN201280054977.0A patent/CN103931197B/zh active Active
- 2012-11-08 EP EP12791920.7A patent/EP2777268A2/en not_active Ceased
- 2012-11-08 BR BR112014011150-2A patent/BR112014011150B1/pt active IP Right Grant
- 2012-11-08 KR KR1020147014978A patent/KR101660605B1/ko active IP Right Grant
- 2012-11-08 WO PCT/US2012/064229 patent/WO2013070970A2/en active Application Filing
- 2012-11-08 US US13/671,811 patent/US9270988B2/en active Active - Reinstated
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101682773A (zh) * | 2007-06-14 | 2010-03-24 | 三星电子株式会社 | 用于对视频数据进行熵编码和熵解码的方法和设备 |
Non-Patent Citations (1)
Title |
---|
Reduced-complexity entropy conding of transform coefficient levels using truncated GOLOMB-RICE codes in video compression;Tung Nguyen,Detlev Marpe,Heiko Schwarz,Thomas Wiegand;《IEEE》;20110914;摘要,正文第3.1节第10行,第3.2节、第3章14-19行,表1 * |
Also Published As
Publication number | Publication date |
---|---|
CN103931197A (zh) | 2014-07-16 |
BR112014011150A2 (pt) | 2017-05-16 |
WO2013070970A3 (en) | 2014-04-10 |
US9270988B2 (en) | 2016-02-23 |
KR101660605B1 (ko) | 2016-09-27 |
EP2777268A2 (en) | 2014-09-17 |
KR20140098111A (ko) | 2014-08-07 |
BR112014011150B1 (pt) | 2022-08-09 |
US20130114698A1 (en) | 2013-05-09 |
WO2013070970A2 (en) | 2013-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103931197B (zh) | 确定用于变换系数的二进制码字的方法 | |
CN103918273B (zh) | 确定用于变换系数的二进制码字的方法 | |
US9706226B2 (en) | Image encoding apparatus and image decoding apparatus employing intra preciction and direction transform matrix | |
CN105052140B (zh) | 用于下一代视频的模式和参考类型数据的内容自适应熵编码 | |
CN105120263B (zh) | 用于视频编码的低复杂度帧内预测 | |
US10645410B2 (en) | Video decoding apparatus | |
JP3764458B2 (ja) | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、及びプログラム | |
JP6789256B2 (ja) | 画像符号化装置、動画像符号化方法、動画像復号装置及び動画像復号方法 | |
US20120033731A1 (en) | Video encoding apparatus and video decoding apparatus | |
KR20110066109A (ko) | 트리 구조를 이용한 부호화/복호화 방법 및 장치 | |
US20210203978A1 (en) | Merge mode-based inter-prediction method and apparatus | |
CN104041040A (zh) | 用于无损视频编码的预测残差编码 | |
CN105027560A (zh) | 确定用于变换系数的二进制码字的方法 | |
KR20220155397A (ko) | 이미지들을 코딩 및 디코딩하는 방법, 코딩 및 디코딩 디바이스 및 그에 대응하는 컴퓨터 프로그램들 | |
JPWO2003043346A1 (ja) | 画像符号化方法、画像復号方法、画像符号化装置、画像復号装置、プログラム、コンピュータデータ信号、及び画像伝送システム | |
CN104718758A (zh) | 变换域帧内预测 | |
CN104956674A (zh) | 用于最末重要系数位置编码中的上下文减少的设备和方法 | |
JP2009218742A (ja) | 画像符号化装置 | |
GB2539211A (en) | Enhanced coding and decoding using intra block copy mode | |
CN110035288A (zh) | 对视频序列进行编码的方法、编码装置和存储介质 | |
KR20220038520A (ko) | 동화상 부호화 장치, 동화상 부호화 방법, 그리고 동화상 부호화용 컴퓨터 프로그램 | |
JP2024511272A (ja) | イントラ予測方法、符号器、復号器及び記憶媒体 | |
CN112237003A (zh) | 用于对图像信号编码/解码的方法及其装置 | |
CN107995496A (zh) | 确定用于变换系数的二进制码字的方法 | |
CN112153385B (zh) | 编码处理方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20160311 Address after: American California Applicant after: Technology Holdings Co., Ltd of Google Address before: Illinois State Applicant before: Motorola Mobility, Inc. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |