针对cabac/cavlc熵编码的统一二值化的制作方法

文档序号:7857458阅读:260来源:国知局
专利名称:针对cabac/cavlc熵编码的统一二值化的制作方法
技术领域
本发明大体上涉及数字视频处理;以及更具体地,本发明涉及根据这种数字视频处理的发信。
背景技术
进行操作从而通信数字媒体(例如,图像、视频、数据等)的通信系统已经连续发展多年。针对采用某种形式的视频数据的通信系统而言,以某个帧速率(例如,每秒帧数)输出或者显示许多数字图像,以实现适合于输出和消费的视频信号。在使用视频数据进行操作的许多这种通信系统内,呑吐量(例如,可从第一位置传输到第二位置的图像帧数)与最終要被输出或者显示的信号的视频和/或图像质量之间可能存在权衡。现有技术未充分或者合意地提供ー种手段,通过该手段能够依照在充分或者可接受的视频和/或图像质量条件下将视频数据从第一位置传输到第二位置,确保与通信相关联的相对低的开销量、在通信链路各端的通信装置的相对低复杂性等。

发明内容
根据本发明的ー个方面,提供了一种设备,包括输入端,接收多个语法元素;熵编码器,操作地根据多个复杂性运算模式自适应执行熵编码,所述熵编码器包括可变长度ニ值化模块,处理所述多个语法元素以产生多个上下文自适应ニ进制算术编码CABAC仓或者多个上下文自适应可变长度编码CAVLC比特;以及算术编码模块,处理所述多个CABAC仓以产生多个CABAC比特;以及至少ー个输出端,当所述熵编码器根据所述多个复杂性运算模式中的第一复杂性运算模式操作时输出所述CABAC比持,以及当所述熵编码器根据所述多个复杂性运算模式中的第二复杂性运算模式操作时输出所述CAVLC比持。优选地,其中,多个CABAC仓为所述多个CAVLC比特。优选地,其中,熵编码器在第一时间处或者在第一时间期间根据所述多个复杂性运算模式中的所述第一复杂性运算模式执行熵编码;以及熵编码器在第二时间处或者在第ニ时间期间根据所述多个复杂性运算模式中的所述第二复杂性运算模式执行熵编码;并且多个复杂性运算模式中的所述第二复杂性运算模式与所述多个复杂性运算模式中的第一复杂性运算模式相比不复杂。优选地,其中,所述设备为第一通信装置;并且还包括第二通信装置,经由至少ー个通信信道与所述第一通信装置进行通信,所述第二通信装置包括至少ー个附加输入端,接收所述多个CABAC比特或者所述多个CAVLC比特;以及熵解码器,包括算木解码模±夹,处理所述多个CABAC比特以产生多个CABAC仓;以及可变长度仓解码模块,处理所述多个CAVLC比特或者所述多个CABAC仓以产生所述多个语法元素的多个估计;以及其中所述第二通信装置为计算机、膝上型计算机、高清晰度(HD)电视机、标准清晰度(SD)电视机、手持式媒体単元、机顶盒(STB)和数字视频光盘(DVD)播放器中的至少ー个。优选地,其中,设备是在卫星通信系统、无线通信系统、有线通信系统、光纤通信系统和移动通信系统的至少ー个中操作的通信装置。 根据本发明的另一方面,提供了一种设备,包括输入端,接收多个语法元素;熵编码器,包括可变长度ニ值化模块,处理所述多个语法元素以产生多个上下文自适应ニ进制算术编码(CABAC)仓或者多个上下文自适应可变长度编码(CAVLC)比特;和算术编码模块,处理所述多个CABAC仓以产生多个CABAC比特;以及至少ー个输出端,选择性输出所述多个CABAC比特或者所述多个CAVLC比特。优选地,其中,多个CABAC仓为所述多个CAVLC比特。优选地,其中,熵编码器操作地根据多个复杂性运算模式自适应执行熵编码。优选地,其中,熵编码器在第一时间处或者在第一时间期间根据第一复杂性运算模式执行熵编码;以及熵编码器在第二时间处或者在第二时间期间根据第二复杂性运算模式执行熵编码。优选地,其中,当所述熵编码器根据第一复杂性运算模式操作时,所述至少ー个输出端输出所述CABAC比持;以及当所述熵编码器根据与所述第一复杂性运算模式相比不复杂的第二复杂性运算模式操作时,所述至少ー个输出端输出所述CAVLC比持。优选地,所述设备还包括至少ー个附加输入端,接收所述多个CABAC比特或者所述多个CAVLC比持;以及熵解码器,包括算木解码模块,处理所述多个CABAC比特以产生多个CABAC仓;以及可变长度仓解码模块,处理所述多个CAVLC比特或者所述多个CABAC仓以产生所述多个语法元素的多个估计。优选地,其中,所述设备为第一通信装置;并且还包括第二通信装置,经由至少ー个通信信道与所述第一通信装置进行通信,所述第二通信装置包括至少ー个附加输入端,接收所述多个CABAC比特或者所述多个CAVLC比特;以及熵解码器,包括算木解码模±夹,处理所述多个CABAC比特以产生多个CABAC仓;以及可变长度仓解码模块,处理所述多个CAVLC比特或者所述多个CABAC仓以产生所述多个语法元素的多个估计;以及其中所述第二通信装置为计算机、膝上型计算机、高清晰度(HD)电视机、标准清晰度(SD)电视机、手持式媒体単元、机顶盒(STB)和数字视频光盘(DVD)播放器中的至少ー个。优选地,其中,所述设备是在卫星通信系统、无线通信系统、有线通信系统、光纤通信系统和移动通信系统的至少ー个中操作的通信装置。根据本发明的又一方面,提供了一种用于操作通信装置的熵编码器的方法,所述方法包括接收多个语法元素;操作所述熵编码器的可变长度ニ值化模块,从而处理所述多个语法元素,以产生多个上下文自适应ニ进制算术编码(CABAC)仓或者多个上下文自适应可变长度编码(CAVLC)比特;和操作所述熵编码器的算术编码模块从而处理所述多个CABAC仓,以产生多个CABAC比特;以及选择性输出所述多个CABAC比特或者所述多个CAVLC比特。优选地,其中,所述多个CABAC仓为所述多个CAVLC比特。优选地,其中,所述熵编码器操作地根据多个复杂性运算模式自适应执行熵编码。
所述方法还包括操作所述熵编码器从而在第一时间处或者在第一时间期间根据第一复杂性运算模式执行熵编码;以及操作所述熵编码器从而在第二时间处或者在第二时间期间根据第二复杂性运算模式执行熵编码。所述方法还包括当所述熵编码器根据第一复杂性运算模式操作时,输出所述CABAC比持;以及当所述熵编码器根据与所述第一复杂性运算模式相比不复杂的第二复杂性运算模式操作时,输出所述CAVLC比特。所述方法还包括操作附加通信装置,经由至少ー个通信信道通过以下步骤与所述通信装置进行通信接收所述多个CABAC比特或者所述多个CAVLC比特;操作算木解码模块来处理所述多个CABAC比特,以产生多个CABAC仓;操作可变长度仓解码模块来处理所述多个CAVLC比特或者所述多个CABAC仓,以产生所述多个语法元素的多个估计,其中,所述附加通信装置为计算机、膝上型计算机、高清晰度(HD)电视机、标准清晰度(SD)电视机、手持式媒体単元、机顶盒(STB)和数字视频光盘(DVD)播放器中至少ー个。优选地,其中所述通信装置在卫星通信系统、无线通信系统、有线通信系统、光纤通信系统和移动通信系统中的至少ー个中操作。


图I和图2示出了通信系统的多种实施方式。图3A示出了计算机的实施方式。图3B示出了膝上型计算机的实施方式。图3C示出了高清晰度(HD)电视机的实施方式。图3D示出了标准清晰度(SD)电视机的实施方式。图3E示出了手持式媒体单元的实施方式。图3F示出了机顶盒(STB)的实施方式。图3G示出了数字视频光盘(DVD)播放器的实施方式。图3H示出了通用数字图像和/或视频处理装置的实施方式。图4、图5和图6为示出了视频编码架构的多种实施方式的图示。图7为示出了帧内预测处理的实施方式的图示。图8为示出了帧间预测处理的实施方式的图示。图9和图10为示出了视频解码架构的多种实施方式的图示。图11示出了表的实施方式,该表显示了针对上下文自适应ニ进制算术编码(CABAC)和上下文自适应可变长度编码(CAVLC)熵编码的宏块量化值变化步进语法元素(,macroblock quantizer delta syntax element)的ニ值化。图12示出了分别针对CABAC和CAVLC熵编码的单独和相应架构的实施方式。图13示出了分别针对CABAC/CAVLC熵解码的单独和相应架构的实施方式。图14示出了分别针对CABAC和CAVLC熵编码的单独和相应架构的实施方式,以及具体地,其中利用可变长度编码法(VLC)编码。图15示出了分别针对CABAC和CAVLC熵解码的单独和相应架构的实施方式,以及具体地,其中利用VLC解码。图16A示出了针对CABAC和CAVLC熵编码这两者的统ー架构的实施方式,以及具
6体地,其中利用可变长度编码法(VLC)编码。图16B示出了针对CABAC和CAVLC熵解码这两者的统ー架构的实施方式,以及具体地,其中利用可变长度编码法(VLC)解码。图17A示出了针对CABAC和CAVLC熵编码这两者的统ー架构的实施方式,以及具 体地,其中利用可变长度ニ值化。图17B示出了针对CABAC和CAVLC熵解码这两者的统ー架构的实施方式,以及具体地,其中利用可变长度仓(bin,ニ进制文件)解码。图18A示出了针对CABAC和CAVLC熵编码这两者的统ー架构的实施方式,以及具体地,其中利用复杂性増加的可变长度ニ值化,以及也具体地结合针对CABAC熵编码的复杂性降低的算木编码。图18B示出了针对CABAC和CAVLC熵解码这两者的统ー架构的实施方式,以及具体地,其中根据CABAC熵解码来利用复杂性増加的可变长度仓解码,以及也具体地结合针对CABAC熵解码的复杂性降低的算木解码。图19A示出了针对CABAC和CAVLC熵编码这两者的统ー架构的实施方式,以及具体地,其中利用复杂性增加的可变长度ニ值化。图19B示出了针对CABAC和CAVLC熵解码这两者的统ー架构的实施方式,以及具体地,其中根据CABAC熵解码来利用复杂性増加的可变长度仓解码。图20A示出了针对CABAC和CAVLC熵编码这两者的统ー架构的实施方式,以及具体地,其中利用复杂性降低的可变长度ニ值化。图20B示出了针对CABAC和CAVLC熵解码这两者的统ー架构的实施方式,以及具体地,其中根据CABAC熵解码来利用复杂性降低的可变长度仓解码。图21、图22A、图22B、图23、图24A和图24B示出了根据视频编码(例如,在ー个或者多个通信装置内)所执行的方法的多种实施方式。
具体实施例方式在使用数字媒体(诸如数字视频)的许多装置内,使用像素来呈现数字媒体的对应图像(本质上为数字)。在某些通信系统内,数字媒体可从第一位置传输到可输出或者显示该媒体的第二位置。数字通信系统(包括进行操作从而通信数字视频的那些系统)目标是将数字数据从ー个位置或者子系统无误差地或者以可接受的低误差率传输到另一位置或者子系统。如图I所示,可在广泛的通信系统中通过多种通信信道传输数据磁性媒体、有线、无线、光纤、铜和/或其他类型媒介。图I和图2分别为示出了通信系统100和200的多种实施方式的图示。參考图I,通信系统100的实施方式为通信信道199,该通信信道将位于通信信道199 一端的通信装置110 (包括具有编码器114的发射器112,以及包括具有解码器118的接收器116)通信耦接至位于通信信道199另一端的另ー通信装置120 (包括具有编码器128的发射器126,以及包括具有解码器124的接收器122)。在一些实施方式中,通信装置110和120任何一个可仅包括发射器或者接收器。有数个不同类型的媒介,通过该媒介,可实现通信信道199 (例如,使用碟形卫星天线132和134的卫星通信信道130、使用通讯塔142和144和/或本地天线152和154的无线通信信道140、有线通信信道150和/或使用电光(E/0)接ロ 162和电光(E/0)接ロ 164的光纤通信信道160)。此外,可实现多个类型的媒介并且接ロ在一起,从而形成通信信道199。请注意,在不背离本发明范围和精神的情况下,这种通信装置110和/或120可为静止或移动的。例如,通信装置110和120任何一个或者两个都可实现在固定位置中或者可以是移动通信装置,具有以下能力与包括一个或者多个无线局域网络(WLAN)的移动通信 系统背景下多于ー个的网络接入点(例如,不同的各个接入点(AP))、包括一个或者多个卫星的移动通信系统背景下不同的各个卫星、或者一般地包括一个或者多个网络接入点(通过该接入点可实现与通信装置110和/或120的通信)的移动通信系统背景下不同的各个网络接入点相关联和/或通信。为了減少通信系统内可能不期望地产生的传输误差,通常利用误差校正和信道编码方案。一般地,这些误差校正和信道编码方案涉及在通信信道199的发射器端使用编码器以及在通信信道199的接收器端使用解码器。所述多种类型ECC代码的任何一个可被用于任何这种期望通信系统(例如,包括关于图I所描述的那些变形例)、任何信息存储装置(例如,硬盘驱动器(HDD)、网络信息存储装置和/或服务器等)或者期望信息编码和/或解码的任何应用内。一般而言,当考虑其中视频数据从ー个位置或者子系统通信到另一位置或者子系统的通信系统时,视频数据编码通常可视为在通信信道199的发射端执行,而视频数据解码通常可视为在通信信道199的接收端执行。此外,虽然本图的实施方式示出能够在通信装置110和120之间的双向通信,当然,应当注意,在一些实施方式中,通信装置110可能仅包括视频数据编码能力,而通信装置120可能仅包括视频数据解码能力,反之亦然(例如,在诸如根据视频广播实施方式的单向通信实施方式中)。參考图2的通信系统200,在通信信道299发射端处,信息比特201 (例如,尤其对应于ー个实施方式中的视频数据)被提供给发射器297,该发射器297可操作地使用编码器和码元映射器220(分别可视为不同功能块222和224)执行对这些信息比特201的编码,从而产生提供给发射驱动器230的离散值调制码元序列203,该发射驱动器230使用DAC (数字至模拟转换器)232来产生连续时间发射信号204并且使用发射滤波器234来产生经滤波、连续时间发射信号205 (其基本上适合通信信道299)。在通信信道299的接收端,连续时间接收信号206被提供给包括接收滤波器262 (其产生经滤波、连续时间接收信号207)和ADC (模拟至数字转换器)264 (其产生时间离散接收信号208)的AFE (模拟前端)260。度量产生器270计算由解码器280采用的度量209 (例如,按码元和/或比特),用于对编码在210中的离散值调制码元和信息比特做出最佳估计。在各发射器297和接收器298内,可进行多种部件、块、功能块、电路等的任何期望整合。例如,该图将处理模块280a示为包括编码器和码元映射器220以及其中的所有相关联、相对应部件,将处理模块280b示为包括度量产生器270和解码器280以及其中的所有相关联、相对应部件。这种处理模块280a和280b可为相应的集成电路。当然,在不背离本发明范围和精神的情况下,可替代性进行其他分界和分组。例如,发射器297内所有部件可包含在第一处理模块或者集成电路内,以及接收器298内所有部件可包含在第二处理模块或者集成电路内。作为替代,在其他实施方式中可做出各发射器297和接收器298内的部件的任何其他组合。正如先前的实施方式,这种通信系统200可被用于从ー个位置或者子系统传播到另ー位置或者子系统(例如,经由通信信道299从发射器297到接收器298)的视频数据通 ィ目。数字图像和/或媒体(包括数字视频信号内相应的图像)和/或数字图像的视频处理可通过以下图3A至图3H所示的任何不同装置来进行,以允许使用者观看这种数字图像和/或视频。这些多种装置不包括可实现本文所述图像和/或视频处理的装置的详尽列表,并且请注意,在不背离本发明范围和精神的情况下,任何通用的数字图像和/或视频处理装置可被实现为执行本文所述处理。图3A示出了计算机301的实施方式。计算机301可为桌上型计算机或者附接至存储阵列(诸如,独立磁盘冗余阵列(RAID)阵列)、存储路由器、边缘路由器、存储交換机和/或存储导向器的主机计算机的企业存储装置(诸如服务器)。使用者能够使用计算机301观看静止的数字图像和/或视频(例如,数字图像序列)。通常,多种图像和/或视频观看程序和/或媒体播放器程序包含在计算机301上,从而允许使用者观看这种图像(包括视频)。图3B示出了膝上型计算机302的实施方式。这种膝上型计算机302可在任何不同情况下找到和使用。近年来,随着膝上型计算机内构建的处理能力和功能不断増加,它们正被用于先前要使用高端和更多有能力的桌上型计算机的许多情况。与计算机301相同,膝上型计算机302可包括多种图像观看程序和/或媒体播放器程序,从而允许使用者观看这种图像(包括视频)。图3C示出了高清晰度(HD)电视机303的实施方式。许多HD电视机303包括集成调谐器,从而允许在其上接收、处理和解码媒体内容(例如,电视广播信号)。作为替代,HD电视机303有时从接收、处理和解码电缆和/或卫星电视广播信号的另一源(诸如,数字视频光盘(DVD)播放器、机顶盒(STB))接收媒体内容。无论具体实施方式
如何,HD电视机303可被实现为执行如本文所述的图像和/或视频处理。一般而言,HD电视机303具有显示HD媒体内容的能力,并且有时实现为具有16 9宽屏宽高比。图3D示出了标准清晰度(SD)电视机304的实施方式。当然,SD电视机304有些类似于HD电视机303,其中至少ー个差异在于SD电视机304不具有显示HD媒体内容的能力,并且SD电视机304通常实现为具有4 3全屏宽高比。尽管如此,实际上SD电视机304可实现为执行如本文所述的图像和/或视频处理。图3E示出了手持式媒体単元305的实施方式。手持式媒体単元305可进行操作从而提供一般存储或者图像/视频内容信息(诸如,联合图像专家小组(JPEG)文件、标记图像文件格式(TIFF)、位图、运动图像专家小组(MPEG)文件、Windows Media(WMA/WMV)文件、诸如MPEG4文件等回放给使用者的其他类型视频内容)和/或能够以数字格式存储的任何其他类型信息的存储。从历史上看,这种手持式媒体単元主要用于音频媒体存储和回放;然而,这种手持式媒体单元305可用于任何虚拟媒体(例如,音频媒体、视频媒体、照片媒体等)的存储和回放。此外,这种手持式媒体単元305还可包括诸如用于有线和无线通信的集成通信电路的其他功能。这种手持式媒体単元305可实现为执行如本文所述的图像和/或视频处理。
图3F示出了机顶盒(STB) 306的实施方式。如上文提到,有时STB306可实现为接收、处理和解码将要提供给任何适当的显示使能装置(诸如SD电视机304和/或HD电视机303)的电缆和/或卫星电视广播信号。这种STB 306可独立地或者与这种显示使能装置协作地进行操作从而执行如本文所述的图像和/或视频处理。图3G示出了数字视频光盘(DVD)播放器307的实施方式。在不背离本发明范围和精神的情况下,这种DVD播放器可为蓝光DVD播放器、HD使能DVD播放器、SD使能DVD播放器、上采样使能DVD播放器(例如,从SD到HD等)。该DVD播放器可提供信号给任何适当的显示使能装置,诸如SD电视机304和/或HD电视机303。DVD播放器307可被实现为执行如本文所述的图像和/或视频处理。图3H示出了通用数字图像和/或视频处理装置308的实施方式。而且,如上文提到,上述这些多种装置不包括可实现本文所述图像和/或视频处理的详尽装置列表,并且请注意,在不背离本发明范围和精神的情况下,任何通用数字图像和/或视频处理装置308可被实现为执行本文所述的图像和/或视频处理。图4、图5和图6为分别示出了视频编码架构的多种实施方式400、500和600的图
/Jn ο參考图4的实施方式400,就本图而言可看出,由视频编码器接收输入视频信号。在某些实施方式中,输入视频信号由编码单元(⑶)或者宏块(MB)组成。这种编码单元或者宏块的大小可变,并且可包括通常以正方形排列的许多像素。在一个实施方式中,这种编码单元或者宏块具有16X16像素大小。然而,一般请注意,宏块可具有任何期望大小,诸如NXN像素,其中,N为整数。当然,虽然在优选实施方式中利用正方形编码单元或者宏块,但某些实现方式可包括非正方形编码单元或者宏块。输入视频信号一般可称为对应于原始帧(或者图片)图像数据。例如,原始帧(或者图片)图像数据经历处理从而产生亮度和色度采样。在一些实施方式中,宏块中亮度采样集为ー个特定排列(例如,16X16),以及色度采样集为不同的特定排列(例如,8X8)。根据本文所述实施方式,视频编码器按逐块来处理这种采样。然后,输入视频信号经历模式选择,通过该模式选择,输入视频信号选择性经历帧内预测和/或帧间预测处理。一般而言,输入视频信号沿压缩路径经历压缩。当无反馈(例如,既不根据帧间预测,也不根据帧内预测)操作时,输入视频信号经由压缩路径提供从而经历变换操作(例如,根据离散余弦变换(DCT))。当然,在替代性实施方式中可利用其他变换。在该操作模式中,输入视频信号本身为压缩信号。压缩路径可利用执行压缩过程中人眼缺乏对于高频的敏感度。然而,可通过选择性使用帧间预测或者帧内预测视频编码从而沿压缩路径利用反馈。根据操作反馈或者预测模式,压缩路径对由从当前宏块减去当前宏块预测值所产生的(相对低能量)残差(例如,差)操作。根据在给定情况下利用哪个预测形式,产生当前宏块与基于同一帧(或者图片)的至少一部分或者基于至少ー个其他帧(或者图片)的至少一部分的宏块预测值之间的残差或者差。然后,产生的修改视频信号沿压缩路径经历变换操作。在一个实施方式中,离散余弦变换(DCT)对视频采样集(例如,亮度、色度、残差等)进行操作从而计算针对各预定数目基本图案的对应系数值。例如,一个实施方式包括64个基本函数(例如,诸如针对8X8
10采样)。一般而言,不同实施方式可利用不同数目的基本函数(例如,不同变换)。这些对应的基本函数的任何组合(包括其适当的且选择性的加权),可被用于代表给定视频采样集。与执行变换操作的多种方式有关的更多细节在与视频编码相关的技术文献中描述,包括如上所述结合于此作为參考的那些标准/草案标准。来自变换处理的输出包括各个系数值。该输出被提供给量化器。一般地,大多数图像块通常会产生系数(例如,在根据离散余弦变换(DCT)操作的实施方式中的DCT系数),使得大多数相关DCT系数为较低频率。因为上述原因以及人眼对高频视觉效果的相对较差的敏感度,量化器可操作地将大多数不太相关的系数转换为零值。即,根据量化处理,可除去相对贡献低于某个预定值(例如,某个阈值)的那些系数。量化器也可操作地将重要系数转换为比由变换处理产生的值可更高效编码的值。例如,量化处理可通过将各相应的系数除以整数值并且丢弃任何余数来进行操作。当对典型编码单位或者宏块进行操作吋,这种处理通常产生相对低数目的非零系数,该非零系数然后交付给熵编码器,用于无损编码并且根据反馈路径使用,其中,该反馈路径可根据视频编码来选择帧内预测和/或帧间预测处理。熵编码器根据无损压缩编码处理来操作。相比之下,量化操作一般为有损。熵编码处理对从量化处理所提供的系数进行操作。这些系数可表示多种特性(例如,亮度、色度、残差等)。可由熵编码器利用多种类型的编码。例如,可由熵编码器执行上下文自适应ニ进制算术编码(CABAC)和/或上下文自适应可变长度编码(CAVLC)。例如,根据熵编码方案的至少一部分,数据被转换为(游,程)配对((run, level)pairing)(例如,数据14、3、0、4、0、0、-3将被转换为相应的(运行,幅值)对(0,14)、(0,3), (1,4), (2,-3))。可预先准备表,该表为值对分配可变长度代码,使得相对较短长度代码被分配给相对共同值对,以及为相对较少共同值对分配相对较长长度代码。读者应当理解,逆量化和逆变换的操作分别对应于量化和变换的操作。例如,在变换操作中利用DCT的实施方式中,然后在逆变换操作中利用逆DCT(IDCT)。图片缓冲器(或可称为数字图片缓冲器或者DPB)从IDCT模块接收信号;图片缓冲器操作地存储当前帧(或者图片)和/或诸如可根据帧内预测和/或帧间预测操作(可根据视频编码执行)使用的ー个或者多个其他帧(或者图片)。请注意,根据帧内预测,相对小的存储量可能足够,这是因为可能不必将当前帧(或者图片)或者任何其他帧(或者图片)存储于帧(或者图片)序列内。在根据视频编码执行帧内预测的情况下,这种存储信息可被用于执行运动压缩和/或运动估计。在ー个可能的实施方式中,针对运动估计,来自当前帧(或者图片)的相应的亮度采样集(例如,16X16)与帧(或者图片)序列(例如,根据帧间预测)内其他帧(或者图片)中相应的缓冲配对物(counterpart)比较。在ー个可能的实现方式中,定位最近匹配区域(例如,预测參考),并且产生矢量偏移(例如,运动矢量)。在单帧(或者图片)中,可找到许多运动矢量,并且并不是全部必须指向同一方向。根据运动估计执行的一个或者多个操作可操作地产生ー个或者多个运动矢量。运动补偿操作地利用可根据运动估计产生的一个或者多个运动矢量。识别预测參考采样集,并且被交付用于从原始输入视频信号扣除,努力希望产生相对(例如,理想地、更)较低能量残差。如果该操作未导致产生较低能量残差,那么不必需要执行运动补偿,以及变换操作可能仅对原始输入视频信号而非残差进行操作(例如,根据操作模式,其中,输入视频信号直接被提供给变换操作,使得既不执行帧内预测也不执行帧间预测),或者可利用帧内预測,以及对由帧内预测产生的残差执行变换操作。此外,如果运动估计和/或运动补偿操作成功,那么运动矢量还可与相应的残差系数一起发送给熵编码器,用于经历无损熵编码。来自整个视频编码操作的输出为输出比特流。请注意,所述输出比特流当然可经历根据产生连续时间信号(其可经由通信信道传输)的某些处理。例如,某些实施方式在无线通信系统内操作。在该情况下,输出比特流可经历适当的数模转换、频率转换、缩放、滤波、调制、码元映射和/或在操作地产生能够经由通信信道传输的连续时间信号的无线通信装置内的任何其他操作等。參考图5的实施方式500,就本图而言可看出,由视频编码器接收输入视频信号。在某些实施方式中,输入视频信号由编码单元或者宏块组成(和/或可分割为编码単元(⑶))。所述编码単元或者宏块大小可变,并且可包括通常以正方形排列的许多像素。在一个实施方式中,所述编码単元或者宏块具有16X16像素大小。然而,一般请注意,宏块可具有任何期望大小,诸如NXN像素,其中,N为整数。当然,虽然在优选实施方式中利用正方形编码单元或者宏块,但ー些实现方式可包括非正方形编码单元或者宏块。输入视频信号一般可称为对应于原始帧(或者图片)图像数据。例如,原始帧(或者图片)图像数据可经历处理从而产生亮度和色度采样。在一些实施方式中,宏块中亮度采样集为ー个特定排列(例如,16X16),以及色度采样集为不同的特定排列(例如,8X8)。根据本文所述实施方式,视频编码器按逐块来处理所述采样。然后,输入视频信号经历模式选择,通过该模式选择,输入视频信号选择性经历帧内预测和/或帧间预测处理。一般而言,输入视频信号沿压缩路径经历压缩。当无反馈(例如,既不根据帧间预测,也不根据帧内预測)操作时,输入视频信号经由压缩路径提供从而经历变换操作(例如,根据离散余弦变换(DCT))。当然,在替代性实施方式中可利用其他变换。在该操作模式中,输入视频信号本身为压缩信号。压缩路径可利用在执行压缩过程中人眼缺乏对于高频的敏感度。然而,可通过选择性使用帧间预测或者帧内预测视频编码从而沿压缩路径利用反馈。根据操作反馈或者预测模式,压缩路径对由从当前宏块减去当前宏块预测值所产生的(相对低能量)残差(例如,差)操作。根据在给定情况下利用哪个预测形式,产生当前宏块与基于同一帧(或者图片)的至少一部分或者基于至少ー个其他帧(或者图片)的至少一部分的宏块预测值之间的残差或者差。然后,产生的修改视频信号沿压缩路径经历变换操作。在一个实施方式中,离散余弦变换(DCT)对视频采样集(例如,亮度、色度、残差等)进行操作从而计算针对各预定数目基本图案的对应系数值。例如,一个实施方式包括64个基本函数(例如,诸如针对8X8采样)。一般而言,不同实施方式可利用不同数目的基本函数(例如,不同变换)。这些对应的基本函数的任何组合(包括其适当的且选择性的加权),可被用于代表给定视频采样集。与执行变换操作的多种方式有关的更多细节在与视频编码相关的技术文献中描述,包括如上所述结合于此作为參考的那些标准/草案标准。来自变换处理的输出包括各个系数值。该输出被提供给量化器。CN 102917215 A



10/24 页一般地,大多数图像块通常会产生系数(例如,在根据离散余弦变换(DCT)操作的实施方式中,DCT系数),使得大多数相关DCT系数为较低频率。因为上述原因以及人眼对高频视觉效果的相对较差的敏感度,量化器可操作地将大多数不太相关的系数转换为零值。即,根据量化处理,可除去相对贡献低于某个预定值(例如,某个阈值)的那些系数。量化器也可操作地将重要系数转换为比由变换处理产生的值可更高效编码的值。例如,量化处理可通过将各相应的系数除以整数值并且丢弃任何余数来进行操作。当对典型编码单位·或者宏块进行操作吋,这种处理通常产生相对低数目的非零系数,该非零系数然后交付给熵编码器,用于无损编码并且根据反馈路径使用,其中,该反馈路径可根据视频编码来选择帧内预测和/或帧间预测处理。熵编码器根据无损压缩编码处理来操作。相比之下,量化操作一般为有损。熵编码处理对量化处理所提供的系数进行操作。这些系数可表示多种特性(例如,亮度、色度、残差等)。可由熵编码器利用多种类型的编码。例如,可由熵编码器执行上下文自适应ニ进制算术编码(CABAC)和/或上下文自适应可变长度编码(CAVLC)。例如,根据熵编码方案的至少一部分,数据被转换为(游,程)配对(例如,数据14、3、0、4、0、0、_3将被转换为相应的(运行,幅值)对(0,14)、(0,3)、(1,4)、(2,-3))。可预先准备表,该表为值对分配可变长度代码,使得相对较短长度代码被分配给相对共同值对,以及为相对较少共同值对分配相对较长长度代码。读者应当理解,逆量化和逆变换的操作分别对应于量化和变换的操作。例如,在变换操作中利用DCT的实施方式中,然后在逆变换操作中利用逆DCT(IDCT)。在某些可选实施方式中,来自去块效应滤波器的输出被提供给ー个或者多个其他环路滤波器(例如,根据采样自适应偏移(SAO)滤波器、自适应环路滤波器(ALF)和/或任何其他滤波器类型实现),所述环路滤波器被实施为处理来自逆变换块的输出。例如,该自适应环路滤波器(ALF)可实现为处理来自去块效应滤波器的输出,或可替换地,该ALF可实现为处理来自采样自适应偏移(SAO)滤波器的输出,其中,该SAO滤波器首先接收来自去块效应滤波器的输出。在解码图片存储于图片缓冲器(有时称为DPB,数字图片缓冲器)之前,该自适应环路滤波器(ALF)应用于该解码图片。自适应环路滤波器(ALF)实现为降低解码图片的编码噪声,以及无论以片级或者以块级应用自适应环路滤波器(ALF),可按逐片分别针对亮度和色度选择性应用其滤波。在自适应环路滤波器(ALF)应用中可使用ニ维2D有限脉冲响应(FIR)滤波。滤波器的系数可在编码器处逐片设计,以及该信息然后发信给解码器(例如,从包括视频编码器(或可称为编码器)的发射器通信装置发信到包括视频解码器(或可称为解码器)的接收器通信装置)。—个实施方式通过根据维纳滤波设计产生系数来操作。此外,可能在编码器处基于逐块确定是否执行滤波,以及该决定然后基于四叉树结构发信给解码器(例如,从包括视频编码器(或可称为编码器)的发射器通信装置发信到包括视频解码器(或可称为解码器)的接收器通信装置),其中,根据码率失真优化来决定块大小。请注意,使用该2D滤波的实现可能引入根据编码和解码两者的复杂度。例如,通过使用根据自适应环路滤波器(ALF)实现的2D滤波,在发射器通信装置内实现的编码器内以及接收器通信装置内实现的解码器内可能复杂性有一些增加。就环路滤波器ー种类型而言,根据该视频处理,自适应环路滤波器(ALF)的使用
13可提供许多任意的改进,包括对来自执行随机量化去噪的峰值信噪比(PSNR)客观质量测量的改进。此外,随后编码的视频信号的主观质量可从光照补偿获得,根据自适应环路滤波器(ALF)处理,可根据执行偏移处理和缩放处理(例如,根据有限脉冲响应(FIR)滤波来施加增益)来引入光照补偿。从ALF接收输出信号的是图片缓冲器,或可称为数字图片缓冲器或者DPB;图片缓冲器操作地存储当前帧(或者图片)和/或诸如可根据帧内预测和/或帧间预测操作(可根据视频编码进行)使用的ー个或者多个其他帧(或者图片)。请注意,根据帧内预测,相对小的存储量可能足够,这是因为可能不必将当前帧(或者图片)或者任何其他帧(或者图片)存储于帧(或者图片)序列内。在根据视频编码执行帧内预测的情况下,这种存储信息可被用于执行运动压缩和/或运动估计。在ー个可行实施方式中,针对运动估计,来自当前帧(或者图片)的相应的亮度采样集(例如,16X16)与帧(或者图片)序列(例如,根据帧间预测)内其他帧(或者图片)中相应的缓冲配对物比较。在ー个可能的实现方式中,定位最接近匹配区域(例如,预测參考),并且产生矢量偏移(例如,运动矢量)。在单帧(或者图片)中,可找到许多运动矢量,并且并不是全部必须指向同一方向。根据运动估计执行的ー个或者多个操作可操作地产生ー个或者多个运动矢量。运动补偿操作地利用可根据运动估计产生的一个或者多个运动矢量。识别预测參考采样集,并且被交付用于从原始输入视频信号扣除,努力希望产生相对(例如,理想地、更)较低能量残差。如果该操作未导致产生较低能量残差,那么不必需要执行运动补偿,以及变换操作可能仅对原始输入视频信号而非残差进行操作(例如,根据操作模式,其中,输入视频信号直接被提供给变换操作,使得既不执行帧内预测也不执行帧间预测),或者可利用帧内预測,以及对由帧内预测产生的残差执行变换操作。此外,如果运动估计和/或运动补偿操作成功,那么运动矢量还可与相应的残差系数一起发送给熵编码器,用于经历无损熵编码。来自整个视频编码操作的输出为输出比特流。请注意,该输出比特流当然可经历根据产生连续时间信号(其可经由通信信道传输)的某些处理。例如,某些实施方式在无线通信系统内操作。在该情况下,输出比特流可经历适当的数模转换、频率转换、缩放、滤波、调制、码元映射和/或在操作地产生能够经由通信信道传输的连续时间信号的无线通信装置内的任何其他操作等。參考图6的实施方式600,就本图而言,描绘视频编码器的替代性实施方式,该视频编码器进行预测、变换和编码处理从而产生已压缩输出比特流。该视频编码器可根据ー个或者多个视频编码协议、标准和/或推荐实践来操作,并且符合该ー个或者多个视频编码协议、标准和/或推荐实践,诸如IS0/IEC 14496-10-MPEG-4第10部分,AVC (高级视频编码),或可称为H. 264/MPEG-4第10部分或者AVC (高级视频编码),ITUH. 264/MPEG4-AVC。请注意,相对应的视频解码器(诸如位于通信信道另一端的装置内),操作地执行解码、逆变换和重构的互补处理,以产生(理想地)表示输入视频信号的相应的解码视频序列。就本图而言可看出,替代性配置和架构可被用于实现视频编码。一般而言,编码器处理输入视频信号(例如,通常以编码単元或者宏块为单位组成,经常为正方形并且包括
14NXN个像素)。视频编码基于先前編码数据来确定当前宏块预測。该先前編码数据可来源于当前帧(或者图片)本身(例如,诸如根据帧内预测),或者来源于已经编码(例如,诸如根据帧间预测)的ー个或者多个其他帧(或者图片)。视频编码器减去当前宏块预测,以形成残差。一般而言,帧内预测操作地利用ー个或者多个特定大小(例如,16X16、8X8或者4X4)的块大小来根据同一帧(或者图片)中的周围、先前编码像素预测当前宏块。一般而言,帧间预测操作地利用块大小范围(例如,16X16下至4X4)来根据选自一个或者多个先前编码帧(或者图片)内的区预测当前帧(或者图片)中的像素。就变换和量化操作而言,残差采样块可经历使用特定变换(例如,4X4或者8X8)的变换。该变换的ー个可能的实施方式根据离散余弦变换(DCT)来操作。该变换操作输出ー组系数,使得各相应系数对应于与变换相关的ー个或者多个基本函数的相应加权值。在经历变换之后,对变换系数块进行量化(例如,各相应系数可除以整数值并且可丢弃任何相关的余数,或者它们可乘以整数值)。量化处理通常固有地有损,并且它可根据量化參数(QP)而降低变换系数精度。通常,与给定宏块相关的许多系数为零,并且只保留一些非零系数。一般地,相对高QP设置操作地导致零值系数的较大比例以及非零系数的较小幅值,从而导致以相对较差解码图像质量为代价的相对高压缩(例如,相对较低编码比特率);相对低QP设置操作地允许在量化之后保留更多非零系数以及非零系数的较大幅值,从而导致具有相对较佳解码图像质量的相对较低压缩(例如,相对较高编码比特率)。视频编码处理产生许多值(其经编码以形成压缩比特流)。该值的实例包括量化变换系数、将要由解码器用于重新创建适当预测的信息、与编码期间利用的压缩工具和压缩数据的结构有关的信息、与完整视频序列有关的信息等。该值和/或參数(例如,语法元素)可在根据CABAC、CAVLC或者某个其他熵编码方案进行操作的熵编码器内经历编码,以产生输出比特流,该输出比特流可被存储、传输(例如,在经历适当的处理之后,产生适合通信信道的连续时间信号)等。在使用反馈路径进行操作的实施方式中,变换和量化的输出经历逆量化和逆变换。可根据视频编码执行帧内预测和帧间预测之一或者这两者。此外,可根据该视频编码执行运动补偿和/或运动估计。来自逆量化和逆变换(例如,IDCT)块的信号路径输出(其被提供给帧内预测块)也被提供给去块效应滤波器。来自去块效应滤波器的输出提供至被实现为处理来自逆变换块的输出的一个或者多个其他环路滤波器(例如,根据采样自适应偏移(SAO)滤波器、自适应环路滤波器(ALF)和/或任何其他滤波器类型实现)。例如,在ー个可能的实施方式中,在解码图片存储于图片缓冲器(此外,有时或可称为DPB,数字图片缓冲器)之前,ALF应用于该解码图片。ALF被实现为降低解码图片的编码噪声,以及无论以片级或者以块级应用ALF,可按逐片分别针对亮度和色度选择性应用其滤波。在ALF应用中可使用ニ维2D有限脉冲响应(FIR)滤波。滤波器的系数可在编码器处逐片设计,以及该信息然后发信给解码器(例如,从包括视频编码器(或可称为编码器)的发射器通信装置发信到包括视频解码器(或可称为解码器)的接收器通信装置)。一个实施方式根据维纳滤波设计产生系数。此外,可能在编码器处基于逐块确定是否执行滤波,以及该决定然后基于四叉树结构发信给解码器(例如,从包括视频编码器(或可称为编码器)的发射器通信装置发信到包括视频解码器(或可称为解码器)的接收器通信装置),其中,根据码率失真优化来决定块大小。请注意,使用该2D滤波的实现可能引入根据编码和解码两者的复杂度。例如,通过使用根据ALF实现的2D滤波,在发射器通信装置中实现的编码器以及接收器通信装置中实现的解码器的复杂性可能有ー些增加。如其他实施方式提到,ALF的使用可提供许多任意的改进,包括对来自执行随机量化去噪的峰值信噪比(PSNR)客观质量测量的改进。此外,随后编码的视频信号的主观质量可从光照补偿获得,根据ALF处理,可根据执行偏移处理和缩放处理(例如,根据FIR滤波施加增益)来引入光照补偿。就实现为产生输出比特流的任何视频编码器架构而言,请注意,该架构可在多种通信装置任何一个内实施。输出比特流可经历附加的处理,包括误差校正码(ECC)、前向误差校正(FEC)等,从而产生其中具有另外冗余处理的已修正输出比特流。此外,就该数字信号而言可以理解,根据产生适合于或者适于经由通信信道传输的连续时间信号,该数字信号可经历任何适当的处理。即,该视频编码器架构可在操作为经由ー个或者多个通信信道执行ー个或者多个信号传输的通信装置内实现。可对由该视频编码器架构产生的输出比特流作出额外的处理,从而产生可进入(launch into)通信信道的连续时间信号。图7为示出了帧内预测处理的实施方式700的图示。就本图而言可以看出,当前视频数据块(例如,经常为正方形并且一般包括NXN个像素)经历处理,以估计其内的相应像素。根据该帧内预测,利用位于当前块上方和左边的先前编码像素。从某些角度看,帧内预测方向可视为对应于从当前像素延伸到位于当前像素上方或者左边的參考像素的矢量。应用于根据H. 264/AVC的编码的帧内预测细节在结合于上文作为參考的相对应标准内指定(例如,国际电信联盟,ITU-T, ITU的电信标准化部分,H. 264(03/2010),H 系列AUDI0VISUAL AND MULTIMEDIA SYSTEMS, Infrastructure of audiovisualservices-Coding of moving video, Advanced video coding for generic audiovisualservices, Recommendation ITU-T H. 264,可替换地,也被称为 International TelecommIS0/IEC 14496-10-Mpeg-4Partl0, AVC(Advanced Video Coding),H. 264/MPEG_4Part 10^AVC (Advanced Video Coding),ITU H. 264/MPEG4-AVC 或等同物)。残差(即,当前像素与參考像素或者预测像素之间的差)为已编码残差。就本图而言可以看出,帧内预测使用公共帧(或者图片)内像素进行操作。当然,请注意,给定像素可能具有与其相关联的不同的相应分量,并且各相应的分量可能有不同的相应采样集。图8为示出了帧间预测处理的实施方式800的图示。与帧内预测相比,帧间预测操作为基于当前帧(或者图片)内当前像素集以及位于帧(或者图片)序列内一个或者多个其他帧(或者图片)内的一个或者多个參考像素集或者预测像素集来识别运动矢量(例如,帧间预测方向)。可以看出,运动矢量从当前帧(或者图片)延伸到帧(或者图片)序列内另ー个帧(或者图片)。帧间预测可利用子像素插值,使得预测像素值对应于參考帧或者图片中多个像素的函数。虽然可根据帧间预测处理来计算残差,但是该残差不同于根据帧内预测处理计算的残差。根据帧间预测处理,各像素处残差又对应于当前像素和预测像素值之差。然而,根据帧间预测处理,当前像素和參考像素或者预测像素未处于同一帧(或者图片)内。虽然该图示出了针对ー个或者多个先前帧或者图片利用帧间预测,但是也请注意,替代性实施方式可使用与当前帧之前和/或之后的帧相对应的參考帧进行操作。例如,根据适当的缓冲和/或内存管理,可存储许多帧。当对给定帧操作时,可从给定帧之前和/或之后的其他中贞产生參考中贞。与CU耦接,基本単元可被用于预测分区模式,即,预测単元或者PU。也请注意,只针对最后深度CU定义PU,并且其相应大小限于CU大小。图9和图10为分别示出了视频解码架构的多种实施方式900和1000的图。一般而言,该视频解码架构对输入比特流操作。当然,请注意,该输入比特流可根据通信装置从通信信道接收的信号产生。对从通信信道接收的连续时间信号可执行多种操作,包括数字采样、解调、缩放、滤波等,诸如可适于根据产生输入比特流。此外,其中可实现ー种或者多种类型误差校正码(ECC)、前向误差校正(FEC)等的某些实施方式可根据该ECC、FEC等执行适当的解码,从而产生输入比特流。即,在已根据产生相对应输出比特流(例如,诸如可从发射器通信装置或者从收发器通信装置的发射器部分进入)作出附加冗余的某些实施方式中,根据产生输入比特流可执行适当的处理。总体来说,该视频解码架构被实现为处理输入比特流,从而产生与原始输入视频信号相对应(尽可能接近,在理想情况下完美)的输出视频信号,用于输出到一个或者多个视频显示使能装置。參考图9的实施方式900,一般而言,根据执行编码的互补处理(如在视频编码器架构内进行),诸如熵解码器(例如,其可根据CABAC、CAVLC等实现)的解码器对输入比特流进行处理。输入比特流可视为(尽可能接近,在理想情况下完美)由视频编码器架构产生的压缩输出比特流。当然,在现实生活应用中,在经由ー个或者多个通信链路传输的信号中可能发生ー些误差,这是有可能的。熵解码器处理输入比特流并且提取适当的系数,诸如DCT系数(例如,诸如表示色度、亮度等信息),并且将该系数提供给逆量化和逆变换块。在利用DCT变换的情况下,逆量化和逆变换块可被实现为执行逆DCT (IDCT)操作。随后,A/D阻塞滤波器被实现为产生与输出视频信号相对应的各个帧和/或图片。这些帧和/或图片可提供到图片缓冲器或者数字图片缓冲器(DPB)中,用于执行包括运动补偿的其他操作。一般而言,该运动补偿操作可视为对应于与视频编码相关联的帧间预测。此外,对从逆量化和逆变换块输出的信号也可执行帧内预测。就视频编码而言,类似地,根据解码输入比特流,该视频解码器架构可被实现为在既不进行帧内预测也不进行帧间预测、帧间预测或者帧内预测之间进行模式选择,从而产生输出视频信号。參考图10的实施方式1000,在某些可选实施方式中,诸如可根据视频编码实现的一个或者多个环路滤波器(例如,根据采样自适应偏移(SAO)滤波器、自适应环路滤波器(ALF)和/或任何其他滤波器类型来实现)被用于产生输出比特流,相应的ー个或者多个环路滤波器可在视频解码器架构内实现。在一个实施方式中,一个或者多个该环路滤波器的适当实现方式在去块效应滤波器之后。图11示出了表的实施方式1100,该表示出针对上下文自适应ニ进制算术编码(CABAC)和上下文自适应可变长度编码(CAVLC)熵编码的宏块量化值变化步进语法元素的
ニ值化。根据诸如根据AVC/H. 264 (例如,结合于上文作为參考)执行的视频编码,编码器可在两个不同的熵编码方法上下文自适应ニ进制算术编码(CABAC)和上下文自适应可变长度编码(CAVLC)之间选择。CABAC提供高压缩效率,但在计算上比CAVLC相对更复杂。
17CAVLC提供相对较低复杂度,但一般并且也相对CABAC提供较少压缩。根据视频处理架构的某些实施方式,单独和相应的电路、硬件、软件、处理模块、部件等可被实现用于根据CABAC和CAVLC执行相应的视频编码操作。S卩,由于CABAC和CAVLC之间的固有不同差异,针对各CABAC和CAVLC提供不同的各个电路、硬件、软件、处理模块、部件等。一般而言,CAVLC和CABAC都使用単独并且不同的可变长度ニ进制码来表示语法元素。例如,图11中示出针对宏块量化值变化步进语法元素(mb_qp_delta)的ニ值化/码字。可以看出,针对非常相同的宏块量化值变化步进语法元素,各CABAC和CAVLC将产生不同的相应值。就CABAC而言,产生仓,而就CAVLC而言,产生比特。S卩,就CABAC而言,所产生的CABAC仓随后经历算术编码以产生比特,该比特随后被插入到压缩比特流中。換言之,用于表示CAVLC语法元素的码字被简称为比特(bit)。这些比特被直接插入压缩比特流中。CABAC语法元素的ニ值化被称为仓(bin)。通过使用自适应算木编码方法,这些仓被进ー步压缩以产生CABAC比持,该比特被插入压缩比特流中。图12示出了分别针对CABAC和CAVLC熵编码的单独和相应的架构的实施方式1200。可以看出,根据CABAC熵编码,相应语法元素经历ニ值化,从而产生相应的CABAC仓,并且这些CABAC仓随后经历算术编码以产生CABAC比持,该比特被插入压缩比特流中。就CAVLC熵编码而言,语法元素经历可变长度编码法(VLC)编码以产生CAVLC比特,该比特被插入压缩比特流中。图13示出了分别针对CABAC/CAVLC熵解码的单独和相应架构的实施方式1300。本图中所执行的逆操作是对于前12而言。例如,就CABAC熵解码而言,比特被接收并且经历算术解码,从而产生CABAC仓,该仓随后经历仓解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CABAC熵解码产生的语法元素与已经根据CABAC熵编码产生的那些语法元素相同。就CAVLC熵解码而言,比特被接收并且经历可变长度编码法(VLC)解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CAVLC熵解码产生的语法元素与已经根据CAVLC熵编码产生的那些语法元素相同。CAVLC中所使用的可变长度编码法和CABAC中所使用的ニ值化为非常相似处理。它们都简单地将语法元素值映射为ニ进制字符串I和O。然而,从以上实例会发现,CABAC和CAVLC不相同。事实上,当与CABAC相比时,CAVLC语法通常差别很大。读者应当理解,CABAC和CAVLC编码法之间有差异。一般而言,典型方法(藉此设计该视频编码装置)针对各CABAC和CAVLC编码操作实现单独和相应的电路、硬件、软件、处理模块、部件、有效面积、晶粒大小和/或处理资源等。然而,虽然CABAC和CAVLC编码法之间有某些差异,但是可构造适当设计的装置,其中,可作出两个相应的编码法之间的某些共性。即,适当设计的处理(各CABAC和CAVLC编码法藉此共享至少ー些共同特性)在某些应用中可提供扩展熵编码复杂性的能力。例如,通过设计CABAC和CAVLC编码法共享适当的处理量的架构,电路、硬件、软件、处理模块、部件、有效面积、晶粒大小和/或处理资源等的減少可通过共享针对CABAC和CAVLC编码法两个的共同部件和架构得以实现。例如,大多数视频处理装置可包括支持CABAC和CAVLC编码法两个的功能和能力,其中,该视频处理装置大多数操作地执行CABAC和CAVLC熵编码以及CABAC和CAVLC熵解码。针对实施并且操作为支持CABAC和CAVLC熵解码的硬件式解码器,支持两种类型解码
18(即,CABAC和CAVLC熵解码)的必要条件通常需要专用硬件块,用于解析CABAC和CAVLC语法。即,针对支持CAVLC和CABAC语法分别实施単独并且不同的硬件块。虽然该双重功能可包括在被实施为支持并且符合AVC的某些视频处理装置内,但是在该视频处理装置内资源使用效率相对较低。此外,该双重功能可不幸地增加视频处理装置(其被实现为支持相互独立并且不同的CABAC和CAVLC编码法)的成本、复杂度、晶粒大小、有效面积、处理资源等。本文中,提出统ー的CABAC/CAVLC编码架构和/或方法,该编码架构和/或方法可提供视频处理装置内可扩展复杂度。例如,在目前正在开发的一个视频编码标准中,诸如HEVC/H. 265 (例如,结合于上文作为參考),可利用该统ー CABAC/CAVLC编码架构,使得单个熵编码架构和/或方法可提供可扩展复杂度。具体地,根据本发明不同方面及其等同物的统ー CABAC/CAVLC编码架构和/或方法,可实施多种选项从而提供效率和复杂度之间的多种设计和权衡,而不需要两个完全独立的熵编码架构和/或方法,包括电路、硬件、软件、处理模块、部件、有效面积、晶粒大小和/或处理资源等的任何可能的实现方式重复。就上述图11而言可以看出,具体地,就仓而言,根据CABAC熵编码产生不同的相应值,以及具体地就比特而言,根据CAVLC熵编码产生不同的相应值。在某些实施方式中,根据CABAC熵编码可利用完全不同的ニ值化。即,替代地,可利用不同地实现的可变长度ニ值化或者其变形,而不是利用目前根据CABAC熵编码利用的特定ニ值化。就本文提出的其他图示和/或实施方式而言应当理解,通过利用可变长度ニ值化和根据CABAC熵编码的算木编码的适当设计组合,就CAVLC熵编码而言可实现共性。就本文提出的其他图示和/或实施方式而言应当理解,为设计者提供了对实现根据本发明多个方面及其等同物的统ー CABAC/CAVLC编码架构和/或方法的变化的极大自由度。图14示出了分别针对CABAC和CAVLC熵编码的单独和相应架构的实施方式1400,以及具体地,其中利用可变长度编码法(VLC)编码。当比较实施方式1400与图12实施方式1200时,可以看出,由可变长度编码法(VLC)编码(其在图12的实施方式1200中根据CAVLC熵编码而被采用)来替换根据CABAC熵编码所采用的ニ值化处理。即,在实施方式1400中,针对CABAC熵编码和CAVLC熵编码这两者利用极为相同的可变长度编码法(VLC)编码。当执行CABAC熵编码时,根据可变长度编码法(VLC)编码产生的仓随后经历算术编码,从而产生CABAC比特,该CABAC比特被插入压缩比特流中。就执行CAVLC编码而言,本图底部所示的操作和处理与图12的实施方式1200中执行的操作和处理类似和相似。即,就实施方式1400中的CAVLC熵编码而言,语法元素经历VLC编码,从而产生CAVLC比特,该CAVLC比特被插入压缩比特流中。从某些角度看,就图14而言所示的实施方式1400可理解为使用来自AVC的VLC编码,而不是根据CABAC编码通常利用的ニ值化。根据本文提出的其他图示和/或实施方式,读者应当正确理解,可替代性利用可变长度ニ值化的不同的相应实施方式。即,使用来自AVC的VLC编码而不是根据CABAC编码通常利用的ニ值化,这是ー个可行实施方式,但是若需要,可替代性利用许多其他实施方式、变形例、等同物等。图15示出了分别针对CABAC和CAVLC熵解码的单独和相应的架构的实施方式1500,以及具体地,其中利用VLC解码。当比较实施方式1500与图13的实施方式1300时,
19可以看出,由可变长度编码法(VLC)解码(其在图13的实施方式1300中根据CAVLC熵解码来利用)来替换根据CABAC熵解码的仓解码。即,在实施方式1500中,针对CABAC熵解码和CAVLC熵解码两个利用极为相同的VLC解码。当执行CABAC熵解码吋,根据算术解码产生的仓随后经历VLC解码,从而产生已经根据CABAC熵编码产生的语法元素。就其他图示和/或实施方式而言也提到,理想地(例如,假设没有不可恢复误差、有害影响等),根据CABAC熵解码产生的语法元素与已经根据CABAC熵编码产生的那些语法元素相同。就执行CAVLC解码而言,本图底部所示的操作和处理与图13的实施方式1300中执行的操作和处理类似和相似。即,就实施方式1500中的CAVLC熵解码而言,比特经历VLC解码,从而产生已经根据CAVLC熵编码产生的语法元素。就其他图示和/或实施方式而言也提到,理想地(例如,假设没有不可恢复误差、有害影响等),根据CABAC熵解码产生的语法元素与已经根据CABAC熵编码产生的那些语法元素相同。就图7的实施方式700和图15的实施方式1500而言可以看出,在各CABAC和CAVLC编码架构和/或方法中实现某些功能块和/或部件的不同的相应的实现方式。考虑到CABAC和CAVLC编码架构和/或方法的各个实现方式之间的共性和相似性,某些随后实施方式和/或图示操作为组合和共享该功能块和/或部件。例如,针对CABAC和CAVLC编码架构和/或方法这两者,并不一定需要利用不同且单独实现的功能块和/或部件。由于CABAC和CAVLC编码架构和/或方法的各个实现方式之间的某个共性和相似性,在电路、硬件、软件、处理模块、部件、有效面积、晶粒大小和/或处理资源等方面可作出节省,因为许多被用于支持CABAC和CAVLC编码这两者。图16A示出了针对CABAC和CAVLC熵编码这两者的统ー架构的实施方式1600,以及具体地,其中利用可变长度编码法(VLC)编码。就图16A的实施方式1600而言可以看出,针对CABAC和CAVLC熵编码这两者利用和共享VLC编码。语法元素经历VLC编码。根据CAVLC编码,VLC编码语法元素被提供为CAVLC比特,该CAVLC比特被插入压缩比特流中。然而,根据CABAC编码,VLC编码语法元素随后经历算术编码,从而产生CABAC比特,该CABAC比特被插入压缩比特流中。就实施方式1600而言可以看出,可利用共享功能块和/或部件,用于支持CABAC和CAVLC熵编码这两者。图16B示出了针对CABAC和CAVLC熵解码这两者的统ー架构的实施方式1601,以及具体地,其中利用可变长度编码法(VLC)解码。就图16B的实施方式1601而言可以看出,针对CABAC和CAVLC熵解码这两者利用和共享VLC解码。根据利用的特定实现方式,由熵解码架构和/或方法接收CABAC比特或者CAVLC比特。根据CAVLC熵解码,所接收的CAVLC比特经历VLC解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CAVLC熵解码产生的语法元素与已经根据CAVLC熵编码产生的那些语法元素相同。根据CABAC熵解码,所接收的CABAC比特经历算木解码,从而产生仓,该仓随后经历VLC解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CABAC熵解码产生的语法元素与已经根据CABAC熵编码产生的那些语法元素相同。就实施方式1600和1601而言可以看出,针对CABAC和CAVLC熵编码这两者利用公共利用的功能块和/或部件。在本案中,在实施方式1600中,针对CABAC和CAVLC熵编码这两者利用VLC编码;在实施方式1601中,针对CABAC和CAVLC熵解码这两者利用VLC
20解码。适当设计并且公共共享的VLC编码和VLC解码使得更高效地实现对于可操作地支持CABAC和CAVLC熵编码这两者的架构和/或方法。虽然实施方式1600和1601利用用在CABAC和CAVLC熵编码中的VLC编码和VLC解码,但是请注意,在针对CABAC/CAVLC熵编码的ニ值化统ー实现方式中可代替利用公共共享的功能块和/或部件的其他实现方式。即,如图16A和图16B中分别所示的实施方式1600和1601利用分别支持CABAC/CAVLC熵编码的共同VLC编码和VLC解码,在其他实施方式中可利用可变长度ニ值化的替代形式。图17A示出了针对CABAC和CAVLC熵编码这两者的统ー架构的实施方式1700,以及具体地,其中利用可变长度ニ值化。实施方式1700大体上描绘针对CABAC和CAVLC熵编码这两者共同利用的可变长度ニ值化。就图17A而言可以看出,语法元素经历针对CABAC和CAVLC熵编码这两者的可变长度ニ值化。然而,就CABAC编码而言,已经经历可变长度ニ值化(从而产生仓)的语法元素随后经历算术编码,从而产生CABAC比持,该CABAC比特被插入压缩比特流中。可替代地,就CAVLC编码而言,已经经历可变长度ニ值化的语法元素事实上为CAVLC比特,该CAVLC比特被插入压缩比特流中。就图17A的实施方式1700而言可以理解,针对CABAC和CAVLC熵编码这两者利用单个统一二值化。例如,CABAC ニ值化和CAVLC可变长度编码之间给定的相似性,针对CABAC和CAVLC熵编码这两者可利用广义、单个统一二值化。此外,请注意,该单个统一二值化的ー个可行实施方式将为利用根据AVC利用的VLC编码。然而,除了根据AVC利用的实施方式之外,可替代性利用该单个统一二值化的替代性变形例。图17B示出了针对CABAC和CAVLC熵解码这两者的统ー架构的实施方式1701,以及具体地,其中利用可变长度仓解码。实施方式1701大体上描绘针对CABAC和CAVLC熵解码这两者共同利用的可变长度仓解码。就图17B而言可以看出,针对CABAC和CAVLC熵解码这两者利用和共享可变长度仓解码。根据正在利用的特定实施,由熵解码架构和/或方法接收CABAC比特或者CAVLC比特。根据CAVLC熵解码,所接收的CAVLC比特经历可变长度仓解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CAVLC熵解码产生的语法元素与已经根据CAVLC熵编码产生的那些语法元素相同。根据CABAC熵解码,所接收的CABAC比特经历算木解码,从而产生仓,该仓随后经历可变长度仓解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CABAC熵解码产生的语法元素与已经根据CABAC熵编码产生的那些语法元素相同。根据未来视频编码标准开发,包括目前正在开发的标准,诸如HEVC,可利用适当设计的可变长度ニ值化,使得CABAC解压缩的输出(仓)将使用与CAVLC完全相同的语法。以此方式,编码器可选择是否提供高效率还是低复杂度,但是VLC解码将只需要单个语法解析引擎。可以看出,通过提供操作地支持CABAC和CAVLC熵编码这两者的该架构和/或方法,可利用单个语法解析引擎。请注意,当需要高效率编码时,熵编码器可执行ニ值化和算术编码这两者。当需要低复杂度时,简单地跳过或者绕过算术编码。两个情况(CABAC和CAVLC熵编码)下使用的ニ进制码为相同,所以无需另外语法解析器。自适应算木编码和ニ进制步骤之间复杂度分布也可被修改从而更佳匹配本文提出的新颖架构和/或方法。例如,在修改可变长度ニ值化和算木编码的复杂度方面,设计者
21被给予很大宽容度。例如,如果CABAC熵编码需要固定压缩,那么可变长度ニ值化复杂性被修改的程度将引导算术编码复杂性的相对应修改。例如,如果可变长度ニ值化复杂性被增加到ー个程度,那么算术编码复杂性将减少到相对应程度,使得根据CABAC熵编码的整体压缩将保留不变。可替换地,如果可变长度ニ值化复杂性被減少到ー个程度,那么算术编码复杂性将增加到相对应程度,使得根据CABAC熵编码的整体压缩将保留不变。该实施就本文提出的某些其他实施方式和/或图示而言描述。还应当理解,根据任何给定应用所需的特定实现方式,可増加或者減少CABAC和CAVLC熵编码这两者的整体压缩。考虑到利用根据AVC定义的CABAC ニ值化的实施方式,请注意,与由CABAC熵编码和/或CAVLC熵编码提供的整体压缩相比,以AVC定义的CABAC ニ值化本身可视为提供有些相对弱的压缩。即,与其他整体熵编码方案相比,根据CABAC熵编码的ニ值化操作(诸如,就图12的实施方式1200而言)可视为提供相对弱的压缩。因为CABAC仓通过另外算术编码步骤(此外,诸如就图12的实施方式1200而言可以看出),用于AVC CABAC的特定ニ进制码无需特别高效,前提是它们可依靠由算术编码步骤提供的额外压縮。另ー方面,CAVLC提供相当高效的可变长度编码。虽然CAVLC熵编码可能比CABAC编码整体(例如,当使用算术编码时)相对不太高效,但是在假设其复杂性减少的某些应用中,CAVLC (尤其是其VLC编码分量)可以接受。在统一二值化方案中,诸如根据本文提出本发明不同方面及其等同物,假设在前面使用较强ニ进制码,算木编码上下文自适应可能略微弱化。就本文提出的其他实施方式和/或图而言还应当理解,根据票证应用,当使用该重新定义和/或修改的CABAC ニ值化时,可选择在増加的压缩效率和复杂性之间适合权衡的适当判定。例如,在意图提供相同整体压缩的实施方式中,相对较强ニ值化可与相对或者略微较弱自适应算术编码器组合,以在不增加总复杂性的情况下提供与现有CABAC方法相同的整体性能。数个随后图示和/或实施方式描绘就增加或者减少可变长度ニ值化复杂性和/或増加或者减少根据CABAC/CAVLC熵编码的算术编码复杂性而言可作出的某些权衡取舍。此外,数个随后图示和/或实施方式描绘就增加或者減少可变长度仓解码复杂性和/或増加或者減少根据CABAC/CAVLC熵解码的算木解码复杂性而言可作出的某些权衡取舎。图18A示出了针对CABAC和CAVLC熵编码这两者的统ー架构的实施方式1800,以及具体地,其中利用复杂性増加可变长度ニ值化,以及也具体地结合针对CABAC熵编码的复杂性降低的算术编码。实施方式1800大体上描绘针对CABAC和CAVLC熵编码这两者共同利用的复杂性相对增加的可变长度ニ值化。就图18A而言可以看出,语法元素经历针对CABAC和CAVLC熵编码这两者的复杂性相对增加的可变长度ニ值化。然而,就CABAC编码而言,已经经历复杂性相对增加的可变长度ニ值化(从而产生仓)的语法元素随后经历复杂性相对降低的算木编码,从而产生CABAC比特,该CABAC比特被插入压缩比特流中。可替换地,就CAVLC编码而言,已经经历复杂性相对增加的可变长度ニ值化的语法元素事实上为CAVLC比特,该CAVLC比特被插入压缩比特流中。可以看出,当期望保持相对固定的CABAC压缩时,就可变长度ニ值化和根据CABAC/CAVLC熵编码的算木编码而言可作出某些权衡取舎。一般而言,当可变长度ニ值化复杂性增加时,那么算木编码复杂性应当相应減少。可替换地,当可变长度ニ值化复杂性減少吋,那么算木编码复杂性应当相应增加。此外,就该实施方式而言,就不同功能块和/或部件而言作出相应增加/降低复杂性,以确保相对固定的CABAC压缩。当然,就图18A的实施方式1800而言可以看出,当执行CAVLC熵编码吋,复杂性相对增加的可变长度ニ值化将提供比根据典型CAVLC熵编码进行的压缩相对较大的压缩。图18B示出了针对CABAC和CAVLC熵解码这两者的统ー架构的实施方式1801,以及具体地,其中根据CABAC熵解码来利用复杂性増加的可变长度仓解码,以及也具体地结合针对CABAC熵解码的复杂性降低的算木解码。图18B的实施方式1801中的操作可恰当理解为图18A的实施方式1800中所示操作的互补或者逆操作。实施方式1801大体上描绘针对CABAC和CAVLC熵解码这两者共同利用的复杂性相对增加的可变长度仓解码。就图18B而言可以看出,针对CABAC和CAVLC熵解码这两者利用和共享复杂性相对增加的可变长度仓解码。根据正在利用的特定实现方式,由熵解码架构和/或方法接收CABAC比特或者CAVLC比特。根据CAVLC熵解码,所接收的CAVLC比特经历复杂性相对增加的可变长度仓解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CAVLC熵解码产生的语法元素与已经根据CAVLC熵编码产生的那些语法元素相同。根据CABAC熵解码,所接收的CABAC比特经历复杂性相对降低的算木解码,从而产生仓,该仓随后经历复杂性相对增加的可变长度仓解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CABAC熵解码产生的语法元素与已经根据CABAC熵编码产生的那些语法元素相同。图19A示出了针对CABAC和CAVLC熵编码这两者的统ー架构的实施方式1900,以及具体地,其中利用复杂性増加的可变长度ニ值化。实施方式1900大体上描绘针对CABAC和CAVLC熵编码这两者共同利用的复杂性相对增加的可变长度ニ值化。就图19A而言可以看出,语法元素经历针对CABAC和CAVLC熵编码这两者的复杂性相对增加的可变长度ニ值化。然而,就CABAC编码而言,已经经历复杂性相对增加的可变长度ニ值化(从而产生仓)的语法元素随后经历算术编码,从而产生CABAC比特,该CABAC比特被插入压缩比特流中。可替换地,就CAVLC编码而言,已经经历复杂性相对增加的可变长度ニ值化的语法元素事实上为CAVLC比特(其插入压缩比特流)。就本图而言可以看出,虽然可变长度ニ值化复杂性相对增加,但是根据CABAC熵编码利用的算木编码复杂性并不一定相对減少。即,根据CABAC熵编码的算木编码可能未改变。因此,应当理解,基于针对CABAC和CAVLC熵编码这两者利用的可变长度ニ值化的复杂性增加,针对这两者的整体压缩将相应增加。图19B示出了针对CABAC和CAVLC熵解码这两者的统ー架构的实施方式1901,以及具体地,其中根据CABAC熵解码来利用复杂性増加的可变长度仓解码。图19B的实施方式1901中的操作可恰当理解为图19A的实施方式1900中所示操作的互补或者逆操作。实施方式1901大体上描绘针对CABAC和CAVLC熵解码这两者共同利用的复杂性相对增加的可变长度仓解码。就图19B而言可以看出,针对CABAC和CAVLC熵解码这两者利用和共享复杂性相对增加的可变长度仓解码。根据正在利用的特定实现方式,由熵解码架构和/或方法接收CABAC比特或者CAVLC比特。根据CAVLC熵解码,所接收的CAVLC比特经历复杂性相对增加的可变长度仓解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CAVLC熵解码产生的语法元素与已经根据CAVLC熵编码产生的那些语法元素相同。根据CABAC熵解码,所接收的CABAC比特经历算木解码,从而产生仓,该仓随后经历复杂性相对增加的可变长度仓解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CABAC熵解码产生的语法元素与已经根据CABAC熵编码产生的那些语法元素相同。就本图而言可以看出,虽然可变长度仓解码复杂性相对增加,但是根据CABAC熵解码利用的算木解码的复杂性并不一定相对減少。即,根据CABAC熵解码的算木解码可能未改变。为此,应当理解,根据CABAC和CAVLC熵解码这两者接收的比特整体压缩将对应于相对增加的压缩;因此,针对CABAC和CAVLC熵解码这两者利用的可变长度ニ值化复杂性也将相应地相对增加。图20A示出了针对CABAC和CAVLC熵编码这两者的统ー架构的实施方式2000,以及具体地,其中利用复杂性降低的可变长度ニ值化。实施方式2000大体上描绘针对CABAC和CAVLC熵编码这两者共同利用的复杂性相对降低的可变长度ニ值化。就图20A而言可以看出,语法元素经历针对CABAC和CAVLC熵编码这两者的复杂性相对降低的可变长度ニ值化。然而,就CABAC编码而言,已经经历复杂性相对降低的可变长度ニ值化(从而产生仓)的语法元素随后经历算术编码,从而产生CABAC比特,该CABAC比特被插入压缩比特流中。可替换地,就CAVLC编码而言,已经经历复杂性相对降低的可变长度ニ值化的语法元素事实上为CAVLC比特(其被插入压缩比特流)。就本图而言可以看出,虽然可变长度ニ值化的复杂性相对减少,但是根据CABAC熵编码利用的算木编码复杂性并不一定相对減少。即,根据CABAC熵编码的算木编码可能未改变。因此,应当理解,基于针对CABAC和CAVLC熵编码这两者利用的可变长度ニ值化的复杂性降低,针对这两者的整体压缩将相应減少。图20B示出了针对CABAC和CAVLC熵解码这两者的统ー架构的实施方式2001,以及具体地,其中根据CABAC熵解码来利用复杂性降低的可变长度仓解码。图20B的实施方式2001中的操作可恰当地理解为图20A的实施方式2000中所示操作的互补或者逆操作。实施方式2001大体上描绘针对CABAC和CAVLC熵解码这两者共同利用的复杂性相对降低的可变长度仓解码。就图20B而言可以看出,针对CABAC和CAVLC熵解码这两者利用和共享复杂性相对降低的可变长度仓解码。根据正在利用的特定实现方式,由熵解码架构和/或方法接收CABAC比特或者CAVLC比特。根据CAVLC熵解码,所接收的CAVLC比特经历复杂性相对降低的可变长度仓解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CAVLC熵解码产生的语法元素与已经根据CAVLC熵编码产生的那些语法元素相同。 根据CABAC熵解码,所接收的CABAC比特经历算木解码,从而产生仓,该仓随后经历复杂性相对降低的可变长度仓解码,从而产生语法元素。理想地(例如,假设没有不可恢复误差、有害影响等),根据CABAC熵解码产生的语法元素与已经根据CABAC熵编码产生的那些语法元素相同。就本图而言可以看出,虽然可变长度仓解码复杂性相对降低,但是根据CABAC熵解码利用的算木解码复杂性并不一定相对減少。即,根据CABAC熵解码的算木解码可能未改变。为此,应当理解,根据CABAC和CAVLC熵解码这两者接收的比特整体压缩将对应于相对减少的压缩;因此,针对CABAC和CAVLC熵解码这两者利用的可变长度ニ值化的复杂性也将相应地相对減少。就本文提出的多种实施方式和/或图而言可以适当理解,按照以下方式向设计者提供了实现多种功能块和/或方法的很大灵活度,即,该方式使得根据CABAC/CAVLC熵编码以及CABAC/CAVLC熵解码可共享并且共同使用某些功能块和/或方法。根据特定应用,根据CABAC和CAVLC熵编码架构和/或方法,在共同共享的功能块和/或方法与非共享的功能块和/或方法的复杂性之间可作出多种权衡取舎。例如,如果CABAC编码需要共同或者固定压缩,那么在可变长度ニ值化/可变长度仓解码的复杂性与相对应的算木编码/解码功能块和/或方法的复杂性之间可作出权衡取舍。可替换地,如果CABAC或者CAVLC编码需要増加或者減少压缩,那么可实现适当选择和修改的可变长度ニ值化/可变长度仓解码以及相对应算术编码/解码功能块和/或方法。可以恰当理解,通过利用CABAC/CAVLC熵编码架构和/或方法内某些共同共享和共同利用的功能块和/或方法,在电路、硬件、软件、处理模块、部件、有效面积、晶粒大小和/或处理资源等方面节省,因为许多被用于支持CABAC和CAVLC编码这两者。图21、图22A、图22B、图23、图24A和图24B示出了根据视频编码(例如,在ー个或者多个通信装置内)执行的方法的多种实施方式。參考图21的方法2100,方法2100以接收多个语法元素作为开始,如块2110所示。方法2100以操作可变长度ニ值化模块来处理该多个语法元素以产生多个上下文自适应ニ进制算术编码(CABAC)仓或者多个上下文自适应可变长度编码(CAVLC)比特作为继续,如块2120所示。方法2100然后以操作算术编码模块来处理该多个CABAC仓从而产生多个CABAC比特进行操作,如块2130所示。从某些角度看并且就某些实施方式而言,块2120和2130的操作可视为对应于熵编码(例如,诸如根据熵编码器操作执行)。方法2100以选择性输出多个CABAC比特或者多个CAVLC比特作为继续,如块2140所示。參考图22A的方法2200,方法2200以接收多个语法元素作为开始,如块2210所示。方法2200以操作可变长度ニ值化模块来处理该多个语法元素从而产生多个上下文自适应可变长度编码(CAVLC)比特作为继续,如块2220所示。方法2200然后以输出多个CAVLC比特作为操作,如块2230所示。參考图22B的方法2201,方法2201以接收多个语法元素作为开始,如块2211所示。方法2201然后以操作可变长度ニ值化模块来处理该多个语法元素以产生多个上下文自适应ニ进制算术编码(CABAC)仓作为操作,如块2221所示。方法2201以操作算木编码模块来处理该多个CABAC仓以产生多个CABAC比特作为继续,如块2231所示。方法2201然后以输出多个CABAC比特作为操作,如块2241所示。參考图23的方法2300,方法2300以接收多个ニ进制算术编码(CABAC)比特或者多个上下文自适应可变长度编码(CAVLC)比特作为开始,如块2310所示。方法2300以操作算术解码模块来处理该多个CABAC比特以产生多个CABAC仓作为继续,如块2320所示。方法2300然后以操作可变长度仓解码模块来处理该多个CAVLC比特或者该多个CABAC仓以产生该多个语法元素的多个估计作为操作,如块2330所示。从某些角度看并且就某些实施方式而言,块2320和2330的操作可视为对应于熵解码(例如,诸如根据熵解码
25器操作而执行)。參考图24A的方法2400,方法2400以接收多个上下文自适应可变长度编码(CAVLC)比特作为开始,如块2410所示。方法2400以操作可变长度仓解码模块来处理该多个CAVLC比特以产生多个语法元素的多个估计作为继续,如块2420所示。參考图24B的方法2401,方法2401以接收多个ニ进制算术编码(CABAC)比特作为开始,如块2411所示。方法2401然后以操作算木解码模块来处理该多个CABAC比特以产生多个CABAC仓作为操作,如块2421所示。方法2401以操作可变长度仓解码模块来处理该多个CABAC仓以产生多个语法元素的多个估计作为继续,如块2431所示。还请注意,就本文中多种方法而言所描述的多种操作和功能可在诸如使用基带处理模块和/或在其内实现的处理模块和/或在其内的其他部件的通信装置内执行。如本文中所使用,术语“大体上”和“大约”为其相对应术语和/或项之间相対性提供业界认可的公差。该业界认可的公差范围从百分之一到百分之五十,并且对应于但不限于部件值、集成电路エ艺偏差、温度偏差、升降次数和/或热噪声。项之间的相対性范围从百分之几差异到大幅差异。也如本文中所使用,术语“操作地耦接至”、“耦接至”和/或“耦接”包括项之间直接耦接和/或项目间经由中间项(例如,项包括但不限于部件、元件、电路和/或模块)的间接耦接,其中,针对间接耦接,中间项不更改信号的信息,而可调整其电流电平、电压电平和/或功率电平。还如本文中所使用,推断耦接(即,通过推断,ー个元件耦接至另一元件)包括在两个项之间以与“耦接至”相同方式的直接和间接耦接。还如本文中所使用,术语“可操作为”或者“可操作地耦接至”表明项包括电源连接、输入、输出等中ー个或者多个,当启用时执行ー个或者多个其相对应功能,并且还包括至一个或者多个其他项的推断耦接。还如本文中所使用,术语“与..相关联”包括单独项和/或嵌入另ー项内的一个项的直接和/或间接耦接。如本文中所使用,术语“有利地比较”表明两个以上项、信号等的比较,提供所需关系。例如,当所需关系为信号I比信号2具有更大幅值时,当信号I幅值大于信号2幅值时或者当信号2幅值小于信号I幅值时,可实现有利比较。也如本文中所使用,术语“处理模块”、“模块”、“处理电路”和/或“处理单元”(例如,包括诸如可操作、实现和/或用于编码、用于解码、用于基带处理等的多种模块和/或电路)可为单个处理装置或者多个处理装置。该处理装置可为微处理器、微控制器、数字信号处理器、微计算机、中央处理单元、现场可编程门阵列、可编程逻辑装置、状态机、逻辑电路、模拟电路、数字电路和/或基于硬编码电路和/或操作指令来操纵信号(模拟和/或数字)的任何装置。处理模块、模块、处理电路和/或处理单元可具有相关联内存和/或集成内存元件,该相关联内存和/或集成内存元件可为单个内存装置、多个内存装置和/或该处理模块、模块、处理电路和/或处理单元的嵌入式电路。该存储器装置可为只读存储器(ROM)、随机存取存储器(RAM)、易失性存储器、非易失性存储器、静态存储器、动态存储器、快存、缓存存储器和/或存储数字信息的任何装置。请注意,如果处理模块、模块、处理电路和/或处理单元包括多于ー个处理装置,那么该处理装置可集中式定位(例如,经由有线和/或无线总线结构直接耦接在一起)或者可分布式定位(例如,经由局域网络和/或广域网络间接耦接的云计算)。还请注意,如果处理模块、模块、处理电路和/或处理单元经由状态机、模拟电路、数字电路和/或逻辑电路来实现其ー个或者多个功能,那么存储相应操作指令的存储器和/或存储器元件可嵌入于包括状态机、模拟电路、数字电路和/或逻辑电路的电路内或者在该电路外部。还请注意,存储器元件可存储与一个或者多个图中所示步骤和/或功能中的至少ー些相对应的硬编码和/或操作指令,以及处理模块、模块、处理电路和/或处理单元执行该硬编码和/或操作指令。该存储器装置或者存储器元件可包括在制品中。上文借助于说明本发明的特定功能和关系的方法步骤已经描述了本发明。为了便于描述,本文中已经任意定义这些功能构建块和方法步骤的边界和顺序。只要适当地执行特定功能和关系,就可定义替代性边界和顺序。因此,任何替代性边界或者顺序均在本发明范围和精神内。此外,为了便于描述,已经任意定义这些功能构建块的边界。只要适当地执行某些重要功能,就可定义替代性边界。同样,本文中也可已经任意定义流程图方块来说明某些重要功能。在使用范围内,流程图方块边界和顺序可另外定义,并且仍可执行某些重要功能。功能构建块和流程图方块及顺序这两者的替代性定义均在本发明范围和精神内。所属领域的普通技术人员也应当认识到,本文中功能构建块以及其他说明性方块、模块和部件可实现为通过分离部件、专用集成电路、执行适当软件的处理器等或者它们任何组合来说明。在一个或者多个实施方式方面,也可能已经至少部分描述本发明。本发明实施方式在本文中被用作说明本发明、本发明方面、本发明特征、本发明概念和/或本发明实例。体现本发明的装置、制品、机器和/或处理的物理实施方式可包括參考本文中所讨论实施方式描述的方面、特征、概念、实例等中一个或者多个。此外,根据各个图,实施方式可包括有可使用相同或者不同參考标号的相同或者相似命名的功能、步骤、模块等,因为该功能、步骤、模块等可为相同或者相似功能、步骤、模块等或者不同功能、步骤、模块等。除非另有特别相反说明,本文提出的任何图中到元件、从元件和/或元件之间的信号可为模拟或者数字、连续时间或者时间离散以及单端或者差分。例如,如果信号路径示出为单端路径,那么它也表示差分信号路径。同样,如果信号路径示出为差分路径,那么它也表示单端信号路径。虽然本文描述ー个或者多个特定架构,但是所属领域普通技术人员应当明白,同样可实施其他架构,该其他架构使用未明确示出的一个或者多个数据总线、元件间直接连接和/或其他元件间间接耦接。术语“模块”被用本发明多种实施方式描述中。模块包括经由硬件实施为执行ー个或者多个模块功能的功能块,诸如处理ー个或者多个输入信号以产生一个或者多个输出信号。实现该模块的硬件自身可结合软件和/或固件来操作。如本文所使用,模块可包括ー个或者多个子模块,该子模块本身为模块。虽然本文已经明确描述本发明的多种功能和特征的特定组合,但是这些特征和功能的其他组合同样可行。本发明并不限于本文所公开的特定实例,并且明确包括这些其他组合。
权利要求
1.一种设备,包括 输入端,接收多个语法元素; 熵编码器,操作地根据多个复杂性运算模式自适应执行熵编码,所述熵编码器包括可变长度ニ值化模块,处理所述多个语法元素以产生多个上下文自适应ニ进制算术编码CABAC仓或者多个上下文自适应可变长度编码CAVLC比特;以及 算术编码模块,处理所述多个CABAC仓以产生多个CABAC比特;以及至少ー个输出端,选择性输出所述多个CABAC比特或者所述多个CAVLC比特,或者当所述熵编码器根据所述多个复杂性运算模式中的第一复杂性运算模式操作时输出所述CABAC比特以及当 所述熵编码器根据所述多个复杂性运算模式中的第二复杂性运算模式操作时输出所述CAVLC比特。
2.根据权利要求I所述的设备,其中 所述多个CABAC仓为所述多个CAVLC比特。
3.根据权利要求I所述的设备,其中 所述熵编码器在第一时间处或者在第一时间期间根据所述多个复杂性运算模式中的所述第一复杂性运算模式执行熵编码;以及 所述熵编码器在第二时间处或者在第二时间期间根据所述多个复杂性运算模式中的所述第二复杂性运算模式执行熵编码;并且 所述多个复杂性运算模式中的所述第二复杂性运算模式与所述多个复杂性运算模式中的第一复杂性运算模式相比不复杂。
4.根据权利要求I所述的设备,其中 所述设备为第一通信装置;并且还包括 第二通信装置,经由至少ー个通信信道与所述第一通信装置进行通信,所述第二通信装置包括 至少ー个附加输入端,接收所述多个CABAC比特或者所述多个CAVLC比持;以及 熵解码器,包括 算术解码模块,处理所述多个CABAC比特以产生多个CABAC仓;以及可变长度仓解码模块,处理所述多个CAVLC比特或者所述多个CABAC仓以产生所述多个语法元素的多个估计;以及其中 所述第二通信装置为计算机、膝上型计算机、高清晰度(HD)电视机、标准清晰度(SD)电视机、手持式媒体単元、机顶盒(STB)和数字视频光盘(DVD)播放器中的至少ー个。
5.一种用于操作通信装置的熵编码器的方法,所述方法包括 接收多个语法元素; 操作所述熵编码器的可变长度ニ值化模块,从而处理所述多个语法元素,以产生多个上下文自适应ニ进制算术编码(CABAC)仓或者多个上下文自适应可变长度编码(CAVLC)比特;和 操作所述熵编码器的算木编码模块从而处理所述多个CABAC仓,以产生多个CABAC比持;以及 选择性输出所述多个CABAC比特或者所述多个CAVLC比特。
6.根据权利要求5所述的方法,其中 所述多个CABAC仓为所述多个CAVLC比特。
7.根据权利要求5所述的方法,其中 所述熵编码器操作地根据多个复杂性运算模式自适应执行熵编码。
8.根据权利要求5所述的方法,还包括 操作所述熵编码器从而在第一时间处或者在第一时间期间根据第一复杂性运算模式执行熵编码;以及 操作所述熵编码器从而在第二时间处或者在第二时间期间根据第二复杂性运算模式执行熵编码。
9.根据权利要求5所述的方法,还包括 当所述熵编码器根据第一复杂性运算模式操作时,输出所述CABAC比持;以及 当所述熵编码器根据与所述第一复杂性运算模式相比不复杂的第二复杂性运算模式操作时,输出所述CAVLC比特。
10.根据权利要求5所述的方法,还包括 操作附加通信装置,经由至少ー个通信信道通过以下步骤与所述通信装置进行通信 接收所述多个CABAC比特或者所述多个CAVLC比特; 操作算术解码模块来处理所述多个CABAC比特,以产生多个CABAC仓; 操作可变长度仓解码模块来处理所述多个CAVLC比特或者所述多个CABAC仓,以产生所述多个语法元素的多个估计,其中,所述附加通信装置为计算机、膝上型计算机、高清晰度(HD)电视机、标准清晰度(SD)电视机、手持式媒体単元、机顶盒(STB)和数字视频光盘(DVD)播放器中至少ー个。
全文摘要
本发明公开了一种针对CABAC/CAVLC熵编码的统一二值化。根据任何期望复杂度(例如,熵编码和/或解码)实施可扩展熵编码。例如,适当实现的上下文自适应可变长度编码(CAVLC)和上下文自适应二进制算术编码(CABAC)允许根据不同复杂度的选择性熵编码。给定装置可根据第一时间的第一级复杂度、第二时间的第二级复杂度、以此类推来操作。编码器/发射器装置和解码器/接收器装置之间的适当协调和发信允许根据期望复杂度的相应协调。例如,可变长度二值化模块和算术编码模块可在编码器/发射器装置内实施,以及相对应的算术解码模块和可变长度仓解码模块可在解码器/接收器装置内实施,从而允许根据不同复杂度的熵编码。
文档编号H04N7/30GK102917215SQ201210277919
公开日2013年2月6日 申请日期2012年8月6日 优先权日2011年8月5日
发明者布赖恩·衡, 巴-钟·申 申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1