使用缩放因数的再取样的制作方法_3

文档序号:9494004阅读:来源:国知局
据可指示用于编码对应帧的编码/预测模式。
[0071]视频编码器
[0072]图2A为说明可实施根据本发明中描述的方面的技术的视频编码器的实例的框图。视频编码器20可经配置以处理视频位流的单层(例如,针对HEVC)。另外,视频编码器20可经配置以执行本发明的技术中的任一者或全部,包含(但不限于)确定用于再取样过程及上文及下文关于图4到6更详细地描述的相关过程的舍入偏移的方法。作为一个实例,层间预测单元66(当提供时)可经配置以执行本发明中描述的技术中的任一者或全部。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频编码器20的各种组件当中共用。在一些实例中,另外或替代性地,处理器(未展示)可经配置以执行本发明中描述的技术中的任一者或全部。
[0073]出于解释的目的,本发明描述在HEVC译码的上下文中的视频编码器20。然而,本发明的技术可适用于其它译码标准或方法。图2A的编码器20说明编解码器的单层。然而,如将关于图2B进一步描述,可复制视频编码器20中的一些或全部以用于根据多层编解码器的处理。
[0074]视频编码器20可执行视频切片内的视频块的帧内、帧间及层间预测(有时被称作帧内、帧间或层间译码)。帧内译码依赖于空间预测来减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。层间译码依赖于基于相同视频译码序列内的不同层内的视频的预测。帧内模式(I模式)可指若干基于空间的译码模式中的任一者。帧间模式(例如,单向预测(P模式)或双向预测(B模式))可指若干基于时间的译码模式中的任一者。
[0075]如图2A中所展示,视频编码器20接收待编码视频帧内的当前视频块。在图2A的实例中,视频编码器20包含模式选择单元40、参考帧存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46、层间预测单元66及分割单元48。参考帧存储器64可包含经解码图片缓冲器。经解码图片缓冲器为具有其一般含义的广义术语,且在一些实施例中是指参考帧的视频编解码器管理式数据结构。
[0076]对于视频块重建构,视频编码器20还包含反量化单元58、反变换单元60及求和器62。也可包含解块滤波器(图2A中未展示)以滤波块边界以从经重建构视频移除成块效应伪影。如果需要,解块滤波器将通常滤波求和器62的输出。除解块滤波器之外,还可使用额外滤波器(环路内或环路后)。为简洁起见未展示此类滤波器,但如果需要,此类滤波器可滤波求和器50的输出(作为环路内滤波器)。
[0077]在编码过程期间,视频编码器20接收待译码视频帧或切片。所述帧或切片可划分成多个视频块。运动估计单元42及运动补偿单元44相对于一或多个参考帧中的一或多个块执行所接收视频块的帧间预测性译码以提供时间预测。帧内预测单元46可替代性地相对于与待译码块相同的帧或切片中的一或多个相邻块执行所接收视频块的帧内预测性译码以提供空间预测。视频编码器20可执行多个译码遍次(例如)以为每一视频数据块选择适当译码模式。
[0078]此外,分割单元48可基于先前译码遍次中的先前分割方案的评估将视频数据块分割成子块。举例来说,分割单元48可最初将帧或切片分割成LCU,并基于速率失真分析(例如,速率失真优化等)将LCU中的每一者分割成子CU。模式选择单元40可进一步产生指示将LCU分割成子CU的四叉树数据结构。四叉树的叶节点CU可包含一或多个HJ及一或多个TU。
[0079]模式选择单元40可(例如)基于误差结果选择译码模式中的一者(帧内、帧间或层间预测模式),并将所得经帧内、帧间或层间译码块提供到求和器50来产生残余块数据且提供到求和器62以重建构经编码块以用作参考帧。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息及其它此类语法信息)提供到熵编码单元56。
[0080]运动估计单元42与运动补偿单元44可高度集成,但出于概念上的目的而分离地说明。由运动估计单元42执行的运动估计为产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考帧(或其它经译码单元)内的预测性块相对于当前帧(或其它经译码单元)内正经译码的当前块的位移。预测性块为发现在像素差方面密切地匹配待译码块的块,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差量度来确定。在一些实例中,视频编码器20可计算存储在参考帧存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可相对于全像素位置及分数像素位置执行运动搜索并输出具有分数像素精度的运动向量。
[0081]运动估计单元42通过比较经帧间译码切片中的视频块的PU的位置与参考图片的预测性块的位置来计算PU的运动向量。参考图片可选自第一参考图片列表(列表O)或第二参考图片列表(列表I),其中的每一者识别存储在参考帧存储器64中的一或多个参考图片。运动估计单元42将所计算的运动向量发送到熵编码单元56及运动补偿单元44。
[0082]由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量而提取或产生预测性块。在一些实例中,运动估计单元42及运动补偿单元44可在功能上集成。在接收到当前视频块的PU的运动向量之后,运动补偿单元44可在参考图片列表中的一者中定位运动向量指向的预测性块。求和器50通过从经译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块,如下文所论述。在一些实施例中,运动估计单元42可相对于明度分量执行运动估计,且运动补偿单元44可针对色度分量及明度分量两者使用基于明度分量所计算的运动向量。模式选择单元40可产生与视频块及视频切片相关联的由视频解码器30在解码视频切片的视频块时使用的语法元素。
[0083]作为如上文所描述由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可对当前块进行帧内预测或计算。具体来说,帧内预测单元46可确定用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在单独编码编次期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些实例中为模式选择单元40)可从测试模式选择适当帧内预测模式来使用。
[0084]举例来说,帧内预测单元46可使用速率失真分析计算用于各种所测试帧内预测模式的速率失真值,并从所测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生经编码块的原始未经编码块之间的失真(或误差)量,以及用于产生经编码块的位速率(即,位数目)。帧内预测单元46可从用于各种经编码块的失真及速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
[0085]在针对块选择帧内预测模式之后,帧内预测单元46可将指示用于所述块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。视频编码器20可在所发射的位流中包含配置数据,所述配置数据可包含多个帧内预测模式索引表及多个经修改帧内预测模式索引表(还被称作码字映射表)、各种块的编码上下文的定义,及用于所述上下文中的每一者的最可能帧内预测模式、帧内预测模式索引表及经修改帧内预测模式索引表的指示。
[0086]视频编码器20可包含层间预测单元66。层间预测单元66经配置以使用可用于SVC中的一或多个不同层(例如,基础层或参考层)来预测当前块(例如,EL中的当前块)。此预测可被称为层间预测。层间预测单元66利用预测方法以减少层间冗余,借此改善译码效率且减少计算资源要求。层间预测的一些实例包含层间帧内预测、层间运动预测及层间残余预测。层间帧内预测使用基础层中的共置块的重建构来预测增强层中的当前块。层间运动预测使用基础层的运动信息来预测增强层中的运动。层间残余预测使用基础层的残余来预测增强层的残余。当基础层及增强层具有不同空间分辨率时,可由层间预测单元66执行使用时间缩放功能的空间运动向量缩放及/或层间位置映射,如下文更详细描述。
[0087]视频编码器20通过从经译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似变换的变换应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可执行概念上类似于DCT的其它变换。举例来说,也可使用离散正弦变换(DST)、小波变换、整数变换、子频带变换或其它类型的变换。
[0088]变换处理单元52可将变换应用于残余块,从而产生残余变换系数块。所述变换可将残余信息从像素值域转换到变换域(例如,频域)。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减少位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化变换系数的矩阵的扫描。替代性地,熵编码单元56可执行扫描。
[0089]在量化之后,熵编码单元56熵编码经量化变换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可基于相邻块。在由熵编码单元56进行熵译码之后,可将经编码位流发射到另一装置(例如,视频解码器30),或将其存档以用于稍后发射或检索。
[0090]反量化单元58及反变换单元60分别应用反量化及反变换,以重建构像素域中的残余块(例如,用于稍后用作参考块)。运动补偿单元44可通过将残余块添加到参考帧存储器64的帧中的一者的预测性块来计算参考块。运动补偿单元44还可将一或多个内插滤波器应用于经重建构残余块以计算子整数像素值以用于运动估计。求和器62将经重建构残余块添加到由运动补偿单元44产生的运动补偿预测块以产生经重建构视频块以用于存储在参考帧存储器64中。经重建构视频块可由运动估计单元42及运动补偿单元44用作用以对后续视频帧中的块进行帧间译码的参考块。
[0091]多层视频编码器
[0092]图2B为说明可实施根据本发明中描述的方面的技术的多层视频编码器21的实例的框图。视频编码器21可经配置以处理多层视频帧,例如,用于SHVC及多视图译码。另外,视频编码器21可经配置以执行本发明的技术中的任一者或全部。
[0093]视频编码器21包含视频编码器20A及视频编码器20B,其中的每一者可经配置为图2A的视频编码器20且可执行上文关于视频编码器20所描述的功能。另外,如由参考标号的再使用所指示,视频编码器20A及20B可包含系统及子系统中的至少一些以作为视频编码器20。尽管将视频编码器21说明为包含两个视频编码器20A及20B,但视频编码器21不被如此限制且可包含任何数目个视频编码器20层。在一些实施例中,视频编码器21可包含用于接入单元中的每一图片或帧的视频编码器20。举例来说,包含五个图片的接入单元可由包含五个编码器层的视频编码器处理或编码。在一些实施例中,视频编码器21可包含比接入单元中的帧多的编码器层。在一些此类情况下,当处理一些接入单元时,视频编码器层中的一些可不在作用中。
[0094]除视频编码器20A及20B之外,视频编码器21可包含再取样单元90。在一些情况下,再取样单元90可对所接收视频帧的基础层上取样以(例如)建立增强层。再取样单元90可对与帧的所接收基础层相关联的特定信息上取样,但不对其它信息上取样。举例来说,再取样单元90可对基础层的空间大小或像素数目上取样,但切片数目或图片次序计数可保持恒定。在一些情况下,再取样单元90可不处理所接收视频及/或可为任选的。举例来说,在一些情况下,模式选择单元40可执行上取样。在一些实施例中,再取样单元90经配置以对层上取样且重新组织、重新定义、修改或调整一或多个切片以符合一组切片边界规则及/或光栅扫描规则。尽管主要描述为对基础层或接入单元中的较低层上取样,但在一些情况下,再取样单元90可对层下取样。举例来说,如果在视频的流式传输期间减少带宽,则可对帧下取样而非上取样。再取样单元90也可进一步经配置以执行修剪及/或填补操作。
[0095]再取样单元90可经配置以从较低层编码器(例如,视频编码器20A)的经解码图片缓冲器114接收图片或帧(或与图片相关联的图片信息)并对图片(或所接收图片信息)上取样。接着可将此经上取样图片提供到较高层编码器(例如,视频编码器20B)的模式选择单元40,所述较高层编码器经配置以编码与较低层编码器相同的接入单元中的图片。在一些情况下,较高层编码器为从较低层编码器移除的一个层。在其它情况下,在图2B的层0视频编码器与层1编码器之间可存在一或多个较高层编码器。
[0096]在一些情况下,可省略或绕过再取样单元90。在此类情况下,可直接提供来自视频编码器20A的经解码图片缓冲器64的图片,或至少不提供到再取样单元90,不提供到视频编码器20B的模式选择单元40。举例来说,如果提供到视频编码器20B的视频数据及来自视频编码器20A的经解码图片缓冲器64的参考图片具有相同大小或分辨率,则可将参考图片提供到视频编码器20B而无需任何再取样。
[0097]在一些实施例中,视频编码器21使用下取样单元94对待提供到较低层编码器的视频数据下取样,之后将所述视频数据提供到视频编码器20A。替代性地,下取样单元94可为能够对视频数据上取样或下取样的再取样单元90。在又其它实施例中,可省略下取样单元94。
[0098]如图2B中所说明,视频编码器21可进一步包含多路复用器98或mux。mux 98可输出来自视频编码器21的组合位流。可通过从视频编码器20A及20B中的每一者获取位流且使在给定时间处输出位流交替而建立所述组合位流。虽然在一些情况下可一次一位地交替来自两个(或在两个以上视频编码器层的情况下更多)位流的位,但在许多情况下不同地组合位流。举例来说,可通过一次一块地交替选定位流而建立输出位流。在另一实例中,可通过从视频编码器20A及20B中的每一者输出非1:1比率的块而建立输出位流。举例来说,可从视频编码器20B输出用于从视频编码器20A输出的每一块的两个块。在一些实施例中,可预编程来自mux 98的输出流。在其它实施例中,mux 98可基于从视频编码器21外部的系统(例如,从源装置12上的处理器)接收的控制信号组合来自视频编码器20A、20B的位流。控制信号可基于来自视频源18的视频的分辨率或位速率、基于信道16的带宽、基于与用户相关联的预订(例如,付费预订对免费预订)或基于用于确定来自视频编码器21的所要输出分辨率的任何其它因素而产生。
[0099]视频解码器
[0100]图3A为说明可实施根据本发明中描述的方面的技术的视频解码器的实例的框图。视频解码器30可经配置以处理视频位流的单层(例如,针对HEVC)。另外,视频解码器30可经配置以执行本发明的技术中的任一者或全部,包含(但不限于)确定用于再取样过程及上文及下文关于图4到6更详细地描述的相关过程的舍入偏移的方法。作为一个实例,层间预测单元75可经配置以执行本发明中描述的技术中的任一者或全部。然而,本发明的方面不限于此。在一些实例中,本发明中描述的技术可在视频解码器30的各种组件当中共用。在一些实例中,另外或替代性地,处理器(未展示)可经配置以执行本发明中描述的技术中的任一者或全部。
[0101]出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。图3A的解码器30说明编解码器的单层。然而,如将关于图3B进一步描述,可复制视频编码器30中的一些或全部以用于根据多层编解码器的处理。
[0102]在图3A的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、层间预测单元75、反量化单元76、反变换单元78、参考帧存储器82及求和器80。在一些实施例中,运动补偿单元72及/或帧内预测单元74可经配置以执行层间预测,在此情况下可省略层间预测单元75。在一些实例中,视频解码器30可执行一般与关于视频编码器20(图2A)描述的编码遍次互逆的解码遍次。运动补偿单元
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1