具体实施方式
本原理针对使用色调映射和反色调映射的比特深度可分级视频编码和解码的方法和装置。
本描述例示本原理。因此将认识到本领域技术人员将能够设计体现本原理并且在其精神和范围内包括的、尽管没有在此明确地描述或示出的各种安排。
在此叙述的所有实施例和条件性语言旨在教导目的以便帮助读者理解(多个)发明人贡献的促进本领域的本原理和构思,并且将被解释为不限于该特定叙述的示例和条件。
另外,在这里叙述本原理的原理、方面和实施例及其特定示例的所有陈述意欲包括其结构和功能二者的等效物。另外,意图在于这样的等效物包括当前已知的等效物以及将来开发的等效物二者,即所开发的执行相同功能的任何元件,而不论其结构如何。
因此,例如,本领域技术人员将认识到:在此呈现的框图表示实施本原理的说明性电路的概念性视图。类似地,将认识到:任何流程图示(flow chart)、流程图(flow diagram)、状态转换图、伪代码等表示实质上可以在计算机可读介质中表示并因此由计算机或处理器执行的各种处理,而不管是否明确地示出了这样的计算机或处理器。
图中所示的各种元件的功能可以通过使用专用硬件以及与合适的软件相关联的能够执行软件的硬件提供。当由处理器提供时,可以由单个专用处理器、单个共享处理器、或者其中一些可以被共享的多个单独处理器提供所述功能。此外,术语“处理器”或“控制器”的明确使用不应解释为排他性地指代能够执行软件的硬件,而是可以暗含地包括而不限于,数字信号处理器(“DSP”)硬件、存储软件的只读存储器(“ROM”)、随机存取存储器(“RAM”)、以及非易失性存储器。
还可包括其它硬件,常规的和/或定制的。类似地,图中所示的任何开关仅是概念性的。可以通过程序逻辑的操作、通过专用逻辑、通过程序逻辑和专用逻辑的交互、或者甚至手动地来执行它们的功能,如从上下文中更具体地理解,具体技术可由实施者选择。
在此的权利要求中,被表达为执行特定功能的手段的要素都旨在包含执行该功能的任何方式,包括例如a)执行该功能的电路元件的结合或者b)任何形式的软件,因此包括固件、微代码等,与用于执行该软件的合适的电路相结合以便执行功能。如这样的权利要求所定义的本原理存在于这样的事实:由各种所叙述的手段提供的功能以权利要求所要求的方式被组合以及整合。其因此被视为可以提供那些功能的任何部件均等效于在此示出的那些。
说明书中引用本发明的“一个实施例”或“一实施例”,以及其它变型意味着在本原理至少一个实施例中包括与该实施例相关描述的特定特征、结构、特点等等。因此,“一个实施例”或“一实施例”用语的出现,以及出现于贯穿说明书各个地方的任何其它变型不一定都指代同一实施例。
应当认识到,以下的“/”、“和/或”以及“...中的至少一个”的任一种的使用,例如在“A/B”、“A和/或B”以及“A和B中的至少一个”的情况中,其意欲包括仅仅对于第一个列出的选项(A)的选择、仅仅对于第二个列出的选项(B)的选择、或者对于两个选项(A和B)的选择。作为另一示例,在“A、B和/或C”和“A,B和C中的至少一个”的情况中,这种措辞意欲包括仅仅对于第一个列出的选项(A)的选择、仅仅对于第二个列出的选项(B)的选择、仅仅对于第三个列出的选项(C)的选择、仅仅对于第一个和第二个列出的选项(A和B)的选择、仅仅对于第一个和第三个列出的选项(A和C)的选择、仅仅对于第二个和第三个列出的选项(B和C)的选择、或者对于全部三个选项(A和B和C)的选择。如本领域和相关领域普通技术人员容易认识到的,这可以被扩展至用于很多列出的项目。
此外,为了描述本原理以及现有技术的目的,在此使用术语低比特深度和高比特深度。这些术语用来对两个不同等级的比特深度定义进行定义。高比特深度特征在于其处于比低比特深度更高的比特深度,并且因此,其是一个相对的术语。为了讨论和说明目的,假设低比特深度为8比特,而假设高比特深度为10比特。由于低比特深度和高比特深度这些术语的相对性的本质,易见在此的要求是低比特深度小于高比特深度,另外术语将是任意的。因此,例如,低比特深度可以是4比特、6比特、或者就此而论是12比特,因为唯一的要求是预想高比特深度比低比特深度大。因此,如果假设定义12比特的比特深度被定义为低比特深度、那么高比特深度可以考虑14比特、16比特、或者任何其它大于12的比特深度。在此,本原理的讨论和例示假设低比特深度等于8比特,对于高比特深度的要求将为大于8比特的任何比特(在此假设10比特用于讨论,但是可以轻易地包含12比特、12比特的比特长度,或者任何大于8的其它比特长度)。描述低比特深度和高比特深度的比较的另一种方法是基本层比特深度和增强层比特深度,增强层比特深度大于基本层比特深度。因此,应该认识到虽然本原理的一个或更多实施例涉及使用10比特画面作为高比特深度的示例,但本原理不限于这样的示例,并且因此,涉及高比特深度的本原理的使用可以采用大于8的其它值(除了10),包括但不限于,12比特、14比特等等。
进一步,为了便于例示,在此描述了仅涉及比特深度可分级性并且使用单环解码架构的一个或更多实施例。然而,应该认识到本发明不限于前述的,因此,给出在此提供的本发明原理的教导,在保持本原理的精神的同时,由本领域以及相关领域的技术人员可以容易地扩展到涉及组合的可分级性,诸如比特深度和空间可分级性等等,以及多环解码架构。
此外,如在此使用的,词“画面”和“图像”被互换地使用并且指代来自视频序列的静止图像或画面。如已知的,画面可以是帧或场。
另外,如在此使用的,词“信号”指代用于向对应的解码器指示事物。例如,编码器可以发信号通知一组色调映射函数或反色调映射函数中的特定一个以便使得解码器意识到在编码器一侧使用了哪个特定函数。以此方法,在编码器一侧和解码器一侧可以使用相同的函数。因此,例如,编码器可以传送特定的映射函数到解码器使得解码器可以使用相同的特定映射函数,或者,如果解码器已经具有了该特定的映射函数以及其他,那么可以使用(无需传送)信令来简单地使得解码器知道并且选择特定的映射函数。通过避免传送任何实际函数,可以实现比特的节约。应该认识到可以以各种方式完成信令。例如,可以使用一个或更多语法元素、标志等等以便将信息发信号通知给对应的解码器。
此外,如在此使用的,用语“相同比特深度表示”指代具有相同比特深度值的一个或更多项目(例如,预测、残差等)。例如,在两个或更多项目的情况下,这样的项目将具有相对于它们自己的相同的比特深度值。因此,例如,如果两个预测具有相同比特深度表示,则那两个预测将也具有相同的比特深度值。因此,两个预测可能具有8比特深度,或者二者可能具有10比特深度等等。当然,在保持本原理的精神的同时,也可使用更高和更低的比特值。在一个项目的情况下,例如残差,该残差将在特定的函数之前或之后具有相同的比特深度,所述特定函数包括,但不限于,色调映射函数、反色调映射函数、以及涉及色调映射函数和反色调映射函数二者的、从残差域到像素域的转换。
转到图1,通过参考数字100大体上指示了根据本原理的能够执行视频编码的视频编码器。
视频编码器100包括具有帧排序缓冲器110,其具有与组合器185的非反向输入端信号通信的输出端。组合器185的输出端与变换器和量化器125的第一输入端以信号通信方式连接。变换器和量化器125的输出端与熵编码器145的第一输入端以及逆变换器和逆量化器150的第一输入端以信号通信方式连接。熵编码器145的输出端与组合器190的第一非反向输入端以信号通信方式连接。组合器190的输出端与输出缓冲器135的第一输入端以信号通信方式连接。
编码器控制器105的第一输出端与帧排序缓冲器110的第二输入端、逆变换器和逆量化器150的第二输入端、画面类型判定模块115的输入端、宏块类型(MB类型)判定模块120的第一输入端、帧内预测模块160的第二输入端、去块滤波器165的第二输入端、运动补偿器170的第一输入端、运动补偿器175的第一输入端、以及参考画面缓冲器180的第二输入端以信号通信方式连接。
编码器控制器105的第二输出端与补充增强信息(SEI)插入器130的第一输入端、变换器和量化器125的第二输入端、熵编码器145的第二输入端、输出缓冲器135的第二输入端、以及序列参数集(SPS)和画面参数集(PPS)插入器140的输入端以信号通信方式连接。
SEI插入器130的输出端与组合器190的第二非反向输入端以信号通信方式连接。
画面类型判定模块115的第一输出端与帧排序缓冲器110的第三输入端以信号通信方式连接。画面类型判定模块115的第二输出端与宏块类型判定模块120的第二输入端以信号通信方式连接。
序列参数集(SPS)和画面参数集(PPS)插入器140的输出端与组合器190的第三非反向输入端以信号通信方式连接。
逆变换器和逆量化器150的输出端与组合器119的第一非反向输入端以信号通信方式连接。组合器119的输出端与帧内预测模块160的第一输入端以及去块滤波器165的第一输入端以信号通信方式连接。去块滤波器165的输出端与参考画面缓冲器180的第一输入端以信号通信方式连接。参考画面缓冲器180的输出端与运动估计器175的第二输入端以及运动补偿器170的第三输入端以信号通信方式连接。运动估计器175的第一输出端与运动补偿器170的第二输入端以信号通信方式连接。运动估计器175的第二输出端与熵编码器145的第三输入端以信号通信方式连接。
运动补偿器170的输出端与开关197的第一输入端以信号通信方式连接。帧内预测模块160的输出端与开关197的第二输入端以信号通信方式连接。宏块类型判定模块120的输出端与开关197的第三输入端以信号通信方式连接。开关197的第三输入端确定该开关的“数据”输入端(作为与控制输入端相比较,即,第三输入端)是由运动补偿器170还是帧内预测模块160提供。开关197的输出端与组合器119的第二非反向输入端以及组合器185的反向输入端以信号通信方式连接。
帧排序缓冲器110的第一输入端和编码器控制器105的输入端可用作编码器100的输入端,用于接收输入画面。此外,补充增强信息(SEI)插入器130的第二输入端可用作编码器100的输入端,用于接收元数据。输出缓冲器135的输出端可用作编码器100的输出端,用于输出比特流。
转到图2,通过参考数字200大体上指示了根据本原理的能够执行视频解码的视频解码器。
视频解码器200包括输入缓冲器210,其具有与熵解码器245的第一输入端以信号通信方式连接的输出端。熵解码器245的第一输出端与逆变换器和逆量化器250的第一输入端以信号通信方式连接。逆变换器和逆量化器250的输出端与组合器225的第二非反向输入端以信号通信方式连接。组合器225的输出端与去块滤波器265的第二输入端以及帧内预测模块260的第一输入端以信号通信方式连接。去块滤波器265的第二输出端与参考画面缓冲器280的第一输入端以信号通信方式连接。参考画面缓冲器280的输出端与运动补偿器270的第二输入端以信号通信方式连接。
熵解码器245的第二输出端与运动补偿器270的第三输入端、去块滤波器265的第一输入端、以及帧内预测器260的第三输入端以信号通信方式连接。熵解码器245的第三输出端与解码器控制器205的输入端以信号通信方式连接。解码器控制器205的第一输出端与熵解码器245的第二输入端以信号通信方式连接。解码器控制器205的第二输出端与逆变换器和逆量化器250的第二输入端以信号通信方式连接。解码器控制器205的第三输出端与去块滤波器265的第三输入端以信号通信方式连接。解码器控制器205的第四输出端与帧内预测模块260的第二输入端、运动补偿器270的第一输入端、以及参考画面缓冲器280的第二输入端以信号通信方式连接。
运动补偿器270的输出端与开关297的第一输入端以信号通信方式连接。帧内预测模块260的输出端与开关297的第二输入端以信号通信方式连接。开关297的输出端与组合器225的第一非反向输入端以信号通信方式连接。
输入缓冲器210的输入端可用作解码器200的输入端,用于接收输入比特流。去块滤波器265的第一输出端可用作解码器200的输出端,用于对输出画面进行输出。
如以上说明的,本原理针对使用色调映射和反色调映射的比特深度可分级视频编码和解码的方法和装置。还如以上说明的,关于以上描述的第四现有技术方法,第四现有技术方法将预测块P色调映射至基本层比特深度并且然后反色调映射回增强层比特深度。由于基本层具有更低的比特深度,所以这个转换将引入量化误差。为了防止现有技术的这个量化误差,本原理提供在相同比特深度执行的色调映射和反色调映射操作的方法和装置。
一种在MPEG-4AVC标准的当前SVC扩展内实现比特深度可分级性的方法是指定在不同比特深度编码的两个粗颗粒可分级(CGS)SNR层的解码处理。在当前SVC CGS设计中,在最高层(高比特深度层)执行运动补偿。因为比特深度在两个层之间不同,所以直接地应用层间残差预测是困难的。因此,使用用于层间残差预测的反色调映射。然而,通常在像素域而不是残差域中定义反色调映射。提出了新的技术,使得代替在残差域中执行用于层间残差预测的反色调映射,将该问题转换至使得在像素域中执行用于层间残差预测的反色调映射。这个新的层间预测技术具有提高比特深度可分级性的编码效率的益处。
因此,本原理使用在增强层比特深度上操作的色调映射函数和反色调映射函数。在先前现有技术方法中,色调映射函数将10比特输入映射到8比特输出并且反色调映射函数将8比特输入映射到1个10比特输出。根据本原理,色调映射函数和反色调映射函数将10比特输入映射到10比特输出。在实施例中,在比特流中发信号通知反色调映射表。
根据本原理的实施例的视频编码过程如下:
1.使用增强层参考帧获得预测块P。然后使用函数T色调映射P以便获得T(P)。
2.对应的基本层残差块rb被左移(或者以其它方式进行比特上采样)(m-n)比特并且然后在空间中被上采样(如果空间可分级性要与深度可分级性组合)以便获得U(rb<<(m-n)),其中m是增强层视频的比特深度而n是基本层视频的比特深度。然后将U(rb<<(m-n))添加到P以便形成T(P)+U(rb<<(m-n))。
3.使用滤波器以便获得S(T(P)+U(rb<<(m-n)))。
4.然后应用反色调映射以便获得T-1(S(T(P)+U(rb<<(m-n))))。
5.通过如下从原始块O中减去之前紧接的步骤(4)的结果来计算增强层残差块re:
re O-T-1(S(T(P)+U(rb<<(m-n))))。
6.熵编码增强层参考块re并且在比特流中发信号通知。在比特流中发信号通知T或T-1。
转到图3,通过参考数字300大体上指示视频编码器中用于比特深度可分级性的层间残差预测的示例性方法。方法300包括将控制传递到功能块306的开始块305。功能块306生成色调映射或者反色调映射函数,并且传递控制到功能块307。功能块307编码色调映射或反色调映射函数,将编码写入至比特流,并且传递控制到功能块310。功能块310使用基本层运动矢量(MV)和增强层参考帧进行运动补偿,并且传递控制到功能块315。功能块315获得运动补偿块P,并且传递控制到功能块320。功能块320在P上执行色调映射以便获得低比特深度预测T(P),并且传递控制到功能块325。功能块325将基本层纹理残差rb左移(或者以其它方式进行比特上采样)(m-n)比特使得rb<<(m-n),并且传递控制到功能块330。功能块330将左移的基本层纹理残差添加到T(P)以便形成P’使得P’=T(P)+rb<<(m-n),并且传递控制到判定块335。判定块335确定是否应用平滑参考。如果是,那么传递控制到功能块340。否则,传递控制到功能块345。
功能块340在P’上应用平滑滤波器,并且传递控制到功能块345。
功能块345在P’上执行反色调映射以便获得高比特深度预测T-1(P’),并且传递控制到功能块350。功能块350通过从原始画面O中减去T-1(P)使得re=O-T-1(P’)获得增强残差re,并且传递控制到结束块399。
根据本原理实施例的视频解码过程如下:
1.使用增强层参考帧获得预测块P。然后使用函数T色调映射P以便获得T(P)。
2.对应的基本层残差块rb被左移(或者以其它方式进行比特上采样)(m-n)比特并且然后在空间中被上采样(如果空间可分级性要与深度可分级性组合),其中m是增强视频的比特深度而n是基本层视频的比特深度。然后将U(rb<<(m-n))添加到P以便形成T(P)+U(rb<<(m-n))。
3.使用滤波器以便获得S(T(P)+U(rb<<(m-n)))。
4.然后应用反色调映射以便获得T-1(S(T(P)+U(rb<<(m-n))))。
5.将增强层残差块re添加到之前紧接的步骤(4)以便获得重构块
R=T-1(S(T(P)+U(rb<<(m-n))))+re。
转到图4,通过参考数字400大体上指示了视频解器中用于比特深度可分级性的层间残差预测的示例性方法。方法400包括将传递控制到功能块406的开始块405。功能块406解码来自比特流的色调映射或反色调映射函数,并且传递控制信号到功能块410。功能块410使用基本层运动矢量(MV)和增强层参考帧进行运动补偿,并且传递控制到功能块415。功能块415获得运动补偿块P,并且传递控制到功能块420。功能块420在P上执行色调映射以便获得低比特深度预测T(P),并且传递控制到功能块425。功能块425将基本层纹理残差rb左移(或者以其它方式进行比特上采样)(m-n)比特使得rb<<(m-n),并且传递控制到功能块430。功能块430将左移的基本层纹理残差添加到T(P)以便形成P’使得P’=T(P)+rb<<(m-n),并且传递控制到判定块435。判定块435确定是否应用平滑参考。如果是,那么传递控制到功能块440。否则,传递控制到功能块445。
功能块440在P’上应用平滑滤波器,并且传递控制到功能块445。
功能块445在P’上执行反色调映射以便获得高比特深度预测T-1(P’),并且传递控制到功能块450。功能块450通过添加T-1(P)到增强层残差re使得re=O-T-1(P’)获得重构块R,并且传递控制到结束块499。
现在呈现色调映射T或T-1的一个示例性实施例。T或T-1可以被实施为具有2m个条目的表。每个条目包括从0到2m-1。
为了创建T和T-1,在实施例中,如下描述地调用称为直方图规范的过程:
a)首先将基本层信号左移(m-n)比特。
b)计算增强层信号和左移的基本层信号的直方图。
c)计算分别被标记为cdfel和cdfbl的,来自增强层直方图和基本层直方图的累积密度函数(CDF)。
d)为了获得增强层直方图中的每个库(bin)i的T,在左移的基本层直方图中找到最小的库j使得cdfbl(j)≥cdfel(i)。
e)为了获得左移的基本层直方图中的每个库j的T-1,在增强层直方图中找到最小的库i使得cdfbl(j)≤cdfel(i)。
转到图5,通过参考数字500大体上指示用于创建色调映射函数T和反色调映射函数T-1的示例性方法。该方法包括传递控制到功能块510的开始块505。功能块510将基本层信号左移(m-n)比特,其中m是增强视频的比特深度而n是基本层视频的比特深度,并且传递控制到功能块515。功能块515计算增强层信号和左移的基本层信号的直方图,并且传递控制到功能块520。功能块520计算分别被称作cdfel和cdfbl的、来自增强层直方图和基本层直方图的累积密度函数(CDF),并且传递控制到功能块525。功能块525通过在左移的基本层直方图中找到最小的库j获得增强层直方图中每个库i的T使得cdfbl(j)≥cdfel(i),并且传递控制到功能块530。功能块530通过在增强层直方图中找到最小的库i获得左移的基本层直方图中每个库j的T-1使得cdfbl(j)≤cdfel(i),并且传递控制到结束块599。
现在将给出本发明的一些附带优点/特点的描述,其中一些已经在上文提及。例如,一个优点/特点在于一种具有编码器的装置,所述编码器通过使用色调映射函数和反色调映射函数为画面的至少一部分生成层间残差预测而对画面的该部分的画面数据进行编码。在保持相同的比特深度表示的同时,色调映射函数和反色调映射函数对比特深度可分级性从残差域到像素域执行层间残差预测的转换。
另一优点/特点在于具有如上文所述的编码器的装置,其中通过在转换期间保持相同的比特深度表示来最小化在转换期间由比特深度减少造成的量化误差。
再一优点/特点在于具有如上文所述的编码器的装置,其中编码器通过以下步骤来生成层间残差预测:使用增强层参考执行运动补偿以便生成增强层预测,色调映射增强层预测到基本层参考以便生成色调映射预测,比特上采样基本层残差,将色调映射预测与比特上采样的基本层残差组合以便获得总和,滤波该总和以便获得平滑的基本层参考,以及反色调映射平滑的基本层参考以便生成反色调映射预测。编码器编码并传送反色调映射预测和画面之间的误差。
另一优点/特点在于具有如上文所述的除了其他以外,编码并传送反色调映射预测和画面之间的误差的编码器的装置,其中基本层残差被比特上采样(m-n)比特,其中m是与画面对应的增强层的比特深度而n是与画面对应的基本层比特深度。
此外,另一优点/特点在于具有如上文所述的除了其他以外,编码并传送反色调映射预测和画面之间的误差的编码器的装置,其中编码器发信号和/或传送用来生成色调映射预测的色调映射函数和用来生成反色调映射预测的反色调映射函数中的至少一个。
进一步,另一优点/特点在于具有上述的至少进行发信号通知和传送中的至少一个的编码器的装置,其中编码器使用一个或更多语法元素和一个或更多标志中的至少一个发信号通知色调映射函数和反色调映射函数中的至少一个。
此外,另一优点/特点在于具有如上文所述的除了其他以外,编码并传送反色调映射预测和画面之间的误差的编码器的装置,其中将比特上采样的基本层残差在空间中上采样以便获得在空间中比特上采样的上采样基本层残差,并且在空间中比特上采样的上采样基本层残差与色调映射预测组合以便获得总和。
另外,另一优点/特点在于具有如上文所述的编码器的装置,其中关于色调映射函数和反色调映射函数二者,通过输入和输出具有相同比特深度的值来保持相同的比特深度表示。
基于在此的教导,有关领域的技术人员可以容易地确定本原理的这些和其他特点与优点。应该了解的是可以以各种形式的硬件、软件、固件、专用处理器、或者其组合来实施本原理的教导。
最优选地,将本原理的教导实施为硬件和软件的结合。此外,可以将软件实施为程序存储单元上有形地体现的应用程序。应用程序可以被加载至包括任何合适架构的机器并且被其执行。优选地,在具有诸如一个或更多中央处理单元(“CPU”)、随机存取存储器(“RAM”)、以及输入/输出(“I/O”)接口的硬件的计算机平台上实施该机器。计算机平台还可包括操作系统和微指令码。在此描述的各种处理和功能可以是能够被CPU执行的微指令码的一部分或者应用程序的一部分,或者是其任何组合。另外,诸如附加数据存储单元和打印单元的各种其它外围单元可以连接到该计算机平台。
还应当理解,因为优选地用软件来实现在附图中示出的一些组成系统组件和方法,所以这些系统组件或处理功能块之间的实际连接可以根据本原理被编程的方式而不同。给出这里的教导,相关领域的普通技术人员将能够想到本原理的这些和类似的实现或配置。
尽管在这里参照附图描述了说明性实施例,但是应当理解,本原理不限于那些精确的实施例,并且相关领域的普通技术人员可以在其中进行各种改变和修改,而不背离本原理的范围或精神。所有这样的改变和修改都意欲被包括在如所附权利要求阐述的本原理的范围内。