首页 / 全分辨率帧兼容的立体视频译码中的后滤波

全分辨率帧兼容的立体视频译码中的后滤波无效专利 发明

技术领域

[0002] 本发明涉及用于视频译码的技术,且更具体来说涉及用于立体视频译码的技术。

相关背景技术

[0003] 可将数字视频能力并入于广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及其类似者。数字视频装置实施视频压缩技术(例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(高级视频译码(AVC))、当前在开发过程中的高效率视频译码(HEVC)标准定义的标准及此类标准的扩展中所描述的视频压缩技术)以更有效地发射、接收和存储数字视频信息。
[0004] 上述标准(包含H.264/AVC)中的一些的扩展提供用于立体视频译码的技术,以便产生立体或三维(“3D”)视频。具体来说,用于立体译码的技术已与可缩放视频译码(SVC)标准(其为H.264/AVC的可缩放扩展)以及多视图视频译码(MVC)标准(其已成为H.264/AVC的多视图扩展)一起使用。
[0005] 通常,使用两个视图来实现立体视频,例如,左视图和右视图。左视图的图片可与右视图的图片实质上同时显示,从而实现三维视频效应。举例来说,用户可佩带从右视图过滤左视图的偏光、被动式眼镜。或者,两个视图的图片可快速连续地展示,且用户可佩带主动式眼镜,所述主动式眼镜以相同频率但以90度相移遮蔽左眼和右眼。

具体实施方式

[0023] 大体上,本发明描述用于对立体视频数据(例如,用以产生三维(3D)效应的视频数据)进行译码和处理的技术。为了产生视频的三维效应,可同时地或几乎同时地展示场景的两个视图,例如,左眼视图和右眼视图。可从稍微不同的水平位置(表示查看者左眼与右眼之间的水平视差)俘获同一场景的两个图片(对应于场景的左眼视图和右眼视图)。通过同时地或几乎同时地显示这两个图片,使得左眼视图图片被查看者的左眼感知且右眼视图图片被查看者的右眼感知,查看者可体验三维视频效应。
[0024] 在全分辨率帧兼容的立体视频译码过程中,使根据基础层和增强层而重新构造的帧兼容的左视图与右视图解交错可引起视频质量问题。可能存在不合意的视频假影,例如跨越行或列的空间质量不一致性。此类空间不等性可由于经解码基础视图和经解码增强视图可能具有不同的类型和程度的译码失真而存在,所述不同的类型和程度的译码失真是由于用于基础层和增强层的编码过程可利用不同的预测模式、量化参数、分区大小或可以不同的位速率而发送。
[0025] 鉴于这些缺点,本发明提出用于根据左视图和右视图滤波器来对经解码立体视频数据进行后滤波的技术。在一个实例中,使用用于每一视图(即,左和右视图)的两组滤波器系数来对先前根据全分辨率帧兼容的立体视频译码过程而编码的经解码立体视频数据进行滤波。本发明的其它实例描述用于产生左视图和右视图滤波器的滤波器系数的技术。
[0026] 根据本发明的一个实例,用于左视图的两组滤波器系数是基于在基础层中编码的左视图的一半分辨率部分以及在增强层中编码的左视图的一半分辨率部分。类似地,用于右视图的两组滤波器系数是基于在基础层中编码的右视图的一半分辨率部分以及在增强层中编码的右视图的一半分辨率部分。
[0027] 本发明的其它实例描述用于产生滤波器系数的技术。由视频编码器通过首先对左视图和右图片编码且接着对左视图和右视图图片解码来产生滤波器系数。接着比较经解码左视图和右视图图片与原始左视图和右视图图片来确定滤波器系数。在一个实例中,通过最小化经解码左视图图片的经滤波版本与左视图图片之间的均方误差而产生左视图滤波器系数,且通过最小化经解码右视图图片的经滤波版本与右视图图片之间的均方误差而产生右视图滤波器系数。本发明大体上将“图片”称作视图的帧。
[0028] 另外,本发明大体上指代可包含具有类似特性的一系列帧的“层”。根据本发明的方面,“基础层”可包含一系列经打包的帧(例如,在单个时间实例处包含两个视图的数据的帧),且包含在经打包的帧中的每一视图的每一图片可以减小的分辨率(例如,一半分辨率)来编码。根据本发明的其它方面,“增强层”可包含当与基础层的一半分辨率数据组合时可用以重现全分辨率图片的数据。或者,如果未接收到增强层的数据,那么基础层的数据可经上取样以(例如)通过内插基础层的原本将由增强层提供的遗失数据而产生全分辨率图片。
[0029] 本发明的技术可适用于在立体视频译码过程中使用。本发明的技术将参考H.264/AVC(高级视频译码)标准的多视图视频译码(MVC)扩展来描述。根据一些实例,本发明的技术还可与H.264/AVC的可缩放视频译码(SVC)扩展一起使用。虽然以下描述将依据H.264/AVC,但应理解,本发明的技术可适用于与其它多视图或立体视频译码过程一起使用,或与目前所提出的视频译码标准的未来多视图或立体扩展(例如,高效率视频译码(HEVC)标准及其扩展)一起使用。
[0030] 视频序列通常包含一系列视频帧。图片群组(GOP)一般包括一系列一个或一个以上视频帧。GOP可在GOP的标头、GOP的一个或一个以上帧的标头中或在别处包含描述包含在GOP中的帧数目的语法数据。每一帧可包含描述相应帧的编码模式的帧语法数据。视频编码器和解码器通常对个别视频帧内的视频块进行操作,以便对视频数据进行编码和/或解码。视频块可对应于宏块或宏块的分区。所述视频块可具有固定的或变化的大小,且可根据指定的译码标准而大小不同。每一视频帧可包含多个切片。每一切片可包含多个宏块,所述多个宏块可布置成若干分区,所述分区还被称作子块。
[0031] 作为实例,ITU-T H.264标准支持以各种块大小(例如,针对亮度分量的16乘16、8乘8或4乘4,和针对色度分量的8×8)的帧内预测,以及以各种块大小(例如,针对亮
度分量的16×16、16×8、8×16、8×8、8×4、4×8和4×4,和针对色度分量的对应经缩放大小)的帧间预测。在本发明中,“N×N”与“N乘N”可互换地使用以指代所述块在垂直尺寸与水平尺寸方面的像素尺寸,例如,16×16像素或16乘16像素。一般而言,16×16块将在垂直方向上具有16个像素(y=16)且在水平方向上具有16个像素(x=16)。类似地,N×N
块一般在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。
块中的像素可布置在若干行和若干列中。此外,块不一定需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包括N×M个像素,其中M不一定等于N。
[0032] 小于16乘16的块大小可称作16乘16宏块的分区。视频块可包括像素域中的像素数据的块,或(例如)在对表示经译码的视频块与预测性视频块之间的像素差的残余视频块数据应用例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换等变换之后的在变换域中的变换系数的块。在一些情况下,视频块可包括变换域中的经量化的变换系数的块。
[0033] 较小视频块可提供较好分辨率,且可用于包含高水平的细节的视频帧的位置。一般而言,可将宏块和各种分区(有时称作子块)视为视频块。另外,可将切片视为多个视频块,例如宏块和/或子块。每一切片可为视频帧的可独立解码单元。或者,帧自身可为可解码单元,或可将帧的其它部分定义为可解码单元。术语“经译码单元”可指代例如整个帧、帧的切片、图片群组(GOP)(也称作序列)等视频帧的任何可独立解码单元或根据可适用的译码技术定义的另一可独立解码单元。
[0034] 在用以产生预测性数据和残余数据的帧内预测性或帧间预测性译码之后,且在应用到残余数据以产生变换系数的任何变换(例如,在H.264/AVC中使用的4×4或8×8整数变换或离散余弦变换DCT)之后,可执行变换系数的量化。量化一般指代将变换系数量化以可能地减少用于表示系数的数据量的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,在量化期间可将n位值下舍入到m位值,其中n大于m。
[0035] 在量化之后,可(例如)根据内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或另一熵译码方法来执行经量化数据的熵译码。经配置用于熵译码的处理单元或另一处理单元可执行其它处理功能,例如,经量化系数的零行程译码和/或语法信息的产生,所述语法信息例如为经译码的块模式(CBP)值、宏块类型、译码模式、经译码单元(例如,帧、切片、宏块或序列)的最大宏块大小或类似者。
[0036] 视频编码器可进一步在(例如)帧标头、块标头、切片标头或GOP标头中将语法数据(例如基于块的语法数据、基于帧的语法数据和/或基于GOP的语法数据)发送到视频解码器。GOP语法数据可描述相应GOP中的帧的数目,且帧语法数据可指示用以对对应帧编码的编码/预测模式。
[0037] 在H.264/AVC中,将经译码视频位组织为网络抽象层(NAL)单元,所述NAL单元提供解决了例如视频电话、储存、广播或流式传输等应用的“网络友好的”视频表示。可将NAL单元分类为视频译码层(VCL)NAL单元和非VCL NAL单元。VCL单元含有核心压缩引擎且包括块、MB和切片等级。其它NAL单元为非VCL NAL单元。
[0038] 每一NAL单元含有1字节的NAL单元标头。使用五位来指定NAL单元类型,且使用三位用于nal_ref_idc,其指示所述NAL单元在被其它图片(NAL单元)参考方面的重要性。等于0的这个值意味着NAL单元未用于帧间预测。
[0039] 参数集含有序列参数集(SPS)中的序列等级标头信息以及图片参数集(PPS)中的不常改变的图片等级标头信息。由于参数集,这个不常改变的信息无需针对每一序列或图片而重复,因此改进了译码效率。此外,使用参数集实现了标头信息的带外传输,从而避免了错误恢复的冗余传输的需要。在带外传输中,可在不同于其它NAL单元的不同信道上传输参数集NAL单元。
[0040] 在MVC中,通过视差补偿支持视图间预测,视差补偿使用H.264/AVC运动补偿的语法,但允许将不同视图中的图片用作参考图片。即,MVC中的图片可经视图间预测和译码。可以类似于时间预测中的运动向量的方式来将视差向量用于视图间预测。然而,并非提供运动的指示,视差向量指示经预测块中的数据相对于不同视图的参考帧的偏移,以考虑到共同场景的相机视角的水平偏移。以此方式,运动补偿单元可执行视图间预测的视差补偿。
[0041] 如上文所提及的H.264/AVC,NAL单元由1字节标头和不同大小的有效负载组成。在MVC中,除了前缀NAL单元和MVC经译码切片NAL单元之外,此结构得以保留,其由
4字节标头和NAL单元有效负载组成。MVC NAL单元标头中的语法元素包含priority_id、temporal_id、anchor_pic_flag、view_id、non_idr_flag和inter_view_flag。
[0042] anchor_pic_flag语法元素指示图片是锚图片还是非锚图片。锚图片以及在输出次序(即,显示次序)中紧接其后的所有图片可在无需按解码次序(即,位流次序)对先前图片解码的情况下经正确地解码,且因此可用作随机存取点。锚图片和非锚图片可具有不同的相依性,两者均可在序列参数集中用信号传输。
[0043] MVC中界定的位流结构由两个语法元素表征:view_id和temporal_id。语法元素view_id指示每一视图的识别符。NAL单元标头中的此指示实现在解码器处对NAL单元的容易识别以及对用于显示的经解码视图的快速存取。语法元素temporal_id指示时间可缩放性层次结构或间接地指示帧速率。包含具有较小最大temporal_id值的NAL单元的操作点具有比具有较大最大temporal_id值的操作点低的帧速率。具有较高temporal_id值的经译码图片通常依赖于视图内具有较低temporal_id值的经译码图片,而非依赖于具有较高temporal_id的任何经译码图片。
[0044] NAL单元标头中的语法元素view_id和temporal_id用于位流提取和调适两者。NAL单元标头中的另一语法元素为priority_id,其用于仅一个路径位流调适过程。即,当执行位流提取和调适时,接收或检索位流的装置可使用priority_id值来确定NAL单元之间的优先级,其允许一个位流被发送到具有不同的译码和再现能力的多个目的地装置。
[0045] inter_view_flag语法元素指示NAL单元是否将用于视图间预测不同视图中的另一NAL单元。
[0046] 在MVC中,在SPS MVC扩展中用信号传输视图相依性。在SPS MVC扩展所指定的范围内进行所有视图间预测。视图相依性指示(例如)对于视图间预测,视图是否取决于另一视图。在根据第二视图的数据来预测第一视图的情况下,称第一视图取决于第二视图。下表1表示用于SPS的MVC扩展的实例。
[0047] 表1
[0048]
[0049]
[0050] 为了利用最新的3D视频译码工具,与传统2D视频编解码器相比,与3D视频编解码器一起使用额外的实施方案或新的系统结构。然而,可使用用以递送立体3D内容的后向兼容的解决方案(所谓的帧兼容的译码)。在帧兼容的译码中,可使用现有的2D视频编解码器对立体视频内容进行解码。在帧兼容的立体视频译码中,单个经解码视频帧含有立体的左和右视图(例如,以并排或自顶向下的格式),但具有原始的垂直或水平分辨率的一半。
[0051] 可基于采用补充增强信息(SEI)消息的H.264/AVC编解码器而实现帧兼容的立体3D视频译码,所述SEI消息指示所使用的帧打包布置。不同的帧打包类型由此SEI支持,例如以并排和自顶向下的方式。
[0052] 图1是展示使用并排帧打包布置的帧兼容的立体视频译码的实例过程的概念图。具体来说,图1展示用于重新布置帧兼容的立体视频数据的经解码帧的像素的过程。经解码帧11由以并排布置打包的交错像素组成。并排布置由布置在若干列中的每一视图(在此实例中为左视图和右视图)的像素组成。作为一个替代方案,自顶向下打包布置将每一视图的像素布置在若干行中。经解码帧11将左视图的像素描绘为实线且将右视图的像素描绘为虚线。经解码帧11还可称作交错帧,这是因为经解码帧11包含并排的交错像素。
[0053] 根据通过编码器(例如在SEI消息中)用信号传输的打包布置,打包布置单元13将经解码帧11中的像素分裂为左视图帧15和右视图帧17。如可看到,左和右视图帧中的每一者处于一半分辨率,因为其仅含有所述帧的大小的每隔一列的像素。
[0054] 接着通过上变频转换处理单元19和21分别对左视图帧15和右视图帧17上变频转换,以产生经上变频转换的左视图帧23和经上变频转换的右视图帧25。经上变频转换的左视图帧23和经上变频转换的右视图帧25接着可由立体显示器显示。
[0055] 虽然用于帧兼容的立体视频译码的过程允许使用现有的2D编解码器,但上变频转换一半分辨率的视频帧可能不会递送所要的视频质量,对于高清晰度的视频应用来说尤其如此。通过利用H.264/SVC的可缩放特征,可在增强层中发送额外的一半分辨率帧,使得2D解码器可用以产生全分辨率的立体图像。可按与图1中所示的帧兼容的立体视频相同的方式来布置基础层。增强层可含有剩余的一半分辨率视频信息以实现左和右视图的全分辨率表示。此类增强层可通过在MVC编解码器中引入非基础视图来实现。此过程常常被称作全分辨率帧兼容的立体视频译码。以此方式,根据本发明的技术,可使用类似于图1的过程的过程来对经打包的帧进行解码,所述经打包的帧接着可经滤波。此外,在未接收增强层的情况下,基础层可在不损失回放期间的连续性的情况下提供用于上取样的可接受质量。因此,本发明的滤波技术可基于增强层帧是否被接收而被自适应地应用。
[0056] 图2是说明全分辨率帧兼容的立体视频译码中的编码过程的一个实例的概念图。通过使用交错器单元35使左视图31的一半分辨率部分与右视图22的一半分辨率部分交
错而创建帧兼容的基础层37。还通过使左视图31的“互补”一半分辨率部分与右视图33的“互补”一半分辨率部分交错而创建增强层39。在图2中所示的实例中,基础层由来自左和右视图的奇数编号列像素组成,而增强层由来自左和右视图的偶数编号列(即,基础层中所使用的列的互补列)组成。图2中所示的打包布置称作并排打包布置。然而,可实施其它打包布置,包含:自顶向下打包布置,其中一半分辨率帧由来自左和右视图的像素行组成;以及与棋盘相似的五点式或“棋盘”式打包,其中行和列两者中的交替像素对应于左或右视图。交错器35或类似于其的单元可形成编码器(例如视频编码器20)的部分,如下文关于图5更详细论述。
[0057] 图3是说明全分辨率帧兼容的立体视频译码中的解码过程的一个实例的概念图。图3展示解码过程的最后阶段,其中基础层和增强层中的每一者已被解码。经解码的基础层41包含以并排布置而布置的左视图和右视图图片的一半分辨率图像。经解码的基础层
41对应于图2的实例基础层37。经解码的增强层43包含以并排布置而布置的左视图和右视图图片的互补一半分辨率图像。经解码的增强层43对应于图2的实例增强层39。为重新产生原始全分辨率的左和右视图,使用解交错器单元45来使经解码基础层41与经解码增强层43解交错。解交错器45或类似于其的单元可形成编码器(例如视频解码器30)的
部分,如下文关于图6更详细论述。解交错器单元45重新布置经解码基础层和增强层中的像素列,以产生接着可显示的左视图帧47和右视图帧49。与图1的实例相反,在全分辨率帧兼容的立体视频译码中不需要上变频转换过程,这是因为增强层含有基础层中的一半分辨率图像的“互补”一半分辨率图像。因而,可使用经配置用于H.264/SVC操作的2D编解码器来对较高质量的立体视频进行译码。
[0058] 全分辨率帧兼容的立体视频译码中的交错方法的一个缺点在于此类过程通常引起混叠。因而,可使用抗混叠下取样滤波器。类似地,非基础视图(例如,增强层)中的互补像素不必为如图2中所示的剩余像素(例如,另一一半分辨率视图)。然而,由于非基础视图中的互补信号未直接输出,所以用以产生非基础视图的滤波器可以最终全分辨率立体视频的质量得以优化的方式来设计。
[0059] 使来自基础层和增强层的经重新建构的帧兼容的左和右视图解交错可引起其它视频质量问题。可能存在不合意的视频假影,例如跨越行或列的空间质量不一致性。此类空间不等性可由于经解码基础视图和经解码增强视图可能具有不同的类型和程度的译码失真而存在,所述不同的类型和程度的译码失真是由于用于基础层和增强层的编码过程可利用不同的预测模式、量化参数、分区大小或可以不同的位速率而发送。
[0060] 鉴于这些缺点,本发明提出用于根据左视图和右视图滤波器来对经解码立体视频数据进行后滤波的技术。在一个实例中,使用用于每一视图(即,左和右视图)的两组滤波器系数来对先前根据全分辨率帧兼容的立体视频译码过程而编码的经解码立体视频数据进行滤波。本发明的其它实例描述用于产生左视图和右视图滤波器的滤波器系数的技术。
[0061] 图4是说明根据本发明的实例的可经配置以利用用于对立体视频数据译码和处理的技术的实例视频编码与解码系统10的框图。如图4中所示,系统10包含源装置12,源装置12经由通信信道16将经编码视频发射到目的地装置14。经编码视频数据还可存储在存储媒体34或文件服务器36上,且可根据需要通过目的地装置14来存取。当存储到存储媒体或文件服务器时,视频编码器20可将经译码视频数据提供到另一装置,例如网络接口、压缩光盘(CD)、蓝光光盘(Blu-ray)或数字视频光盘(DVD)刻录机或压印设施装置、或用于将经译码视频数据存储到存储媒体的其它装置。同样,与视频解码器30分开的装置(例如,网络接口、CD或DVD读取器或类似物)可从存储媒体检索经译码视频数据,且将经检索数据提供到视频解码器30。
[0062] 源装置12和目的地装置14可包括广泛多种装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的智能电话)、电视、相机、显示装置、数字媒体播放器、视频游戏控制台或类似者。在许多情况下,此类装置可经配备用于无线通信。因此,通信信道16可包括无线信道、有线信道、或适合于传输经编码视频数据的无线与有线信道的组合。类似地,可通过目的地装置14经由任何标准数据连接(包含因特网连接)来存取文件服务器36。此可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等),或适合于存取存储在文件服务器上的经编码视频数据的以上两者的组合。
[0063] 可将根据本发明的实例的用于对立体视频数据译码和处理的技术应到支持多种多媒体应用(例如,例如经由因特网的空中电视广播、有线电视传输、卫星电视传输、流式视频传输)中的任一者的视频译码、用于存储在数据存储媒体上的数字视频的编码、存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频回放、视频广播和/或视频电话的应用。
[0064] 在图4的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器22和发射器24。在源装置12中,视频源18可包含源,例如视频俘获装置(例如,摄像机、含有先前俘获的视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口),和/或用于产生计算机图形数据作为源视频的计算机图形系统,或此类源的组合。作为一个实例,如果视频源18为摄像机,那么源装置12和目的地装置14可形成所谓的相机电话或视频电话。具体来说,视频源18可为经配置以产生由两个或两个以上视图(例如,左视图和右视图)组成的立体视频数据的任何装置。然而,本发明中所描述的技术可大体上适用于视频译码,且可应用到无线和/或有线应用、或其中将经编码视频数据存储在本地磁盘上的应用。
[0065] 可通过视频编码器20来对经俘获、预俘获或计算机产生的视频编码。可通过调制解调器22根据通信标准(例如,无线通信协议)来调制经编码视频信息,且经由发射器24将经编码视频信息发射到目的地装置14。调制解调器22可包含各种混频器、滤波器、放大器或经设计用于信号调制的其它组件。发射器24可包含经设计用于发射数据的电路,包含放大器、滤波器和一个或一个以上天线。
[0066] 还可将由视频编码器20编码的经俘获、预俘获或计算机产生的视频存储在存储媒体34或文件服务器36上以用于稍后消耗。存储媒体34可包含蓝光光盘、DVD、CD-ROM、快闪存储器、或用于存储经编码视频的任何其它合适的数字存储媒体。接着可由目的地装置14存取存储在存储媒体34上的经编码视频以用于解码和回放。
[0067] 文件服务器36可为能够存储经编码视频且将所述经编码视频发射到目的地装置14的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置、本地磁盘驱动器、或能够存储经编码视频数据且将其发射到目的地装置的任何其它类型装置。经编码视频数据从文件服务器36的传输可为流式传输、下载传输,或两者的组合。可通过目的地装置14经由任何标准数据连接(包含因特网连接)来存取文件服务器36。此可包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器、以太网、USB等),或适合于存取存储在文件服务器上的经编码视频数据的以上两者的组合。
[0068] 在图4的实例中,目的地装置14包含接收器26、调制解调器28、视频解码器30和显示装置32。目的地装置14的接收器26经由信道16接收信息,且调制解调器28将所述信息解调以产生用于视频解码器30的经解调位流。经由信道16传送的信息可包含由视频编码器20产生的多种语法信息以供视频解码器30用于解码视频数据。此类语法还可与存储在存储媒体34或文件服务器36上的经编码视频数据一起包含。视频编码器20和视频
解码器30中的每一者可形成能够编码或解码视频数据的相应编码器-解码器(CODEC)的
部分。
[0069] 显示装置32可与目的地装置14集成在一起或可在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置,且还经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般而言,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0070] 在一个实例中,显示装置14可为能够显示两个或两个以上视图以产生三维效应的立体显示器。为了产生视频的三维效应,可同时地或几乎同时地展示场景的两个视图,例如,左眼视图和右眼视图。可从稍微不同的水平位置(表示查看者左眼与右眼之间的水平视差)俘获同一场景的两个图片(对应于场景的左眼视图和右眼视图)。通过同时地或几乎同时地显示这两个图片,使得左眼视图图片被查看者的左眼感知且右眼视图图片被查看者的右眼感知,查看者可体验三维视频效应。
[0071] 用户可佩带主动式眼镜以快速且交替地遮蔽左和右透镜,使得显示装置32可与主动式眼镜同步地在左与右视图之间快速切换。或者,显示装置32可同时显示两个视图,且用户可佩带被动式眼镜(例如,具有偏光透镜),其对视图滤波以使适当的视图通过到达用户的眼睛。作为又另一实例,显示装置32可包括自动立体显示器,其不需要眼镜。
[0072] 在图4的实例中,通信信道16可包括任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理传输线、或无线与有线媒体的任何组合。通信信道16可形成例如局域网、广域网或例如因特网等全球网络的基于包的网络的部分。通信信道16一般表示用于将视频数据从源装置12发射到目的地装置14的任何合适通信媒体、或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含路由器、交换器、基站或可有用于促进从源装置12到目的地装置14的通信的任何其它设备。
[0073] 视频编码器20和视频解码器30可根据视频压缩标准(例如ITU-T H.264标准,其或者被称作MPEG-4第10部分(高级视频译码(AVC))而操作。视频编码器20和视频
解码器30还可根据H.264/AVC的MVC或SVC扩展而操作。或者,视频编码器20和视频解
码器30可根据目前正在开发的高效率视频译码(HEVC)标准而操作,且可符合HEVC测试模型(HM)。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2和ITU-T H.263。
[0074] 尽管图4中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件和软件,以处置对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,那么在一些实例中,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
[0075] 视频编码器20和视频解码器30可各自实施为多种合适编码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当部分地以软件实施所述技术时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中,且使用一个或一个以上处理器在硬件中执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,其中任一者可被集成为相应装置中的组合编码器/解码器(CODEC)的部分。
[0076] 视频编码器20可实施本发明的技术中的任一者或全部以用于在视频编码过程中对立体视频数据译码和处理。同样,视频解码器30可实施在视频译码过程中的对立体视频数据的这些译码和处理中的任一者或全部。如本发明中描述的视频译码器可指代视频编码器或视频解码器。类似地,视频译码单元可指代视频编码器或视频解码器。同样,视频译码可指代视频编码或视频解码。
[0077] 在本发明的一个实例中,源装置12的视频编码器20可经配置以对左视图图片和右视图图片编码以形成经编码图片,对经编码图片解码以形成经解码左视图图片和经解码右视图图片,基于左视图图片与经解码左视图图片的比较而产生左视图滤波器系数,且基于右视图图片与经解码右视图图片的比较而产生右视图滤波器系数。
[0078] 在本发明的另一实例中,目的地装置14的视频解码器30可经配置以使经解码图片解交错以形成经解码左视图图片和经解码右视图图片,其中经解码图片包含左视图图片的第一部分、右视图图片的第一部分、左视图图片的第二部分和右视图图片的第二部分,将第一左视图特定滤波器应用到经解码左视图图片的像素且将第二左视图特定滤波器应用到经解码左视图图片的像素以形成经滤波的左视图图片,将第一右视图特定滤波器应用到经解码右视图图片的像素且将第二右视图特定滤波器应用到经解码右视图图片的像素以形成经滤波的右视图图片,且输出经滤波的左视图图片和经滤波的右视图图片以致使显示装置显示包括经滤波的左视图图片和经滤波的右视图图片的三维视频。
[0079] 图5是说明可使用本发明中描述的用于对立体视频数据译码和处理的技术的视频编码器20的实例的框图。为了说明目的而将在H.264视频译码标准的背景下描述视频编码器20,但并非关于可利用用于产生对立体视频数据译码和处理的滤波器系数的技术的其它译码标准或方法来限制本发明。在本发明的实例中,视频编码器20可进一步经配置以利用H.264SVC和MVC扩展的技术以执行全分辨率帧兼容的立体视频译码过程。
[0080] 关于图5,且在本发明的其它处,将视频编码器20描述为对视频数据的一个或一个以上帧或块编码。如上文描述,层(例如,基础层和增强层)可包含构成多媒体内容的一系列帧。因此,“基本帧”可指代基础层中的视频数据的单个帧。另外,“增强帧”可指代增强层中的视频数据的单个帧。
[0081] 一般地,视频编码器20可对视频帧内的块执行帧内和帧间译码,包含宏块或宏块的分区或子分区。帧内译码依赖于空间预测以减少或移除给定视频帧内的视频中的空间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者,且例如单向预测(P模式)或双向预测(B模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。帧内译码依赖于时间预测以减少或移除视频序列的邻近帧内的视频中的时间冗余。
[0082] 在一些实例中,视频编码器20还可经配置以执行基础层或增强层的视图间预测和层间预测。举例来说,视频编码器20可经配置以根据H.264/AVC的多视图视频译码(MVC)扩展而执行视图间预测。另外,视频编码器20可经配置以根据H.264/AVC的可缩放视频译码(SVC)扩展而执行层间预测。因此,增强层可从基础层被视图间预测或层间预测。在此类情况下,运动估计单元42可另外经配置以执行相对于不同视图的对应(即,时间上位于同一地点的)图片的视差估计,且运动补偿单元44可另外经配置以使用运动估计单元42所计算的视差向量来执行视差补偿。此外,运动估计单元42可被称作“运动/视差估计单元”,且运动补偿单元44可被称作“运动/视差补偿单元”。
[0083] 如图5中所示,视频编码器20接收待编码的视频帧内的视频块。在图5的实例中,视频编码器20包含运动补偿单元44、运动估计单元42、帧内预测单元46、参考帧缓冲器
64、求和器50、变换单元52、量化单元54、熵编码单元56、滤波器系数单元68和交错器单元
66。图5中所说明的变换单元52为将实际变换或变换的组合应用到残余数据块的单元,且不与变换系数块混淆,变换单元52还可被称作CU的变换单元(TU)。对于视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60和求和器62。还可包含解块滤波器(图5
中未展示)以对块边界进行滤波以从经重构的视频移除块效应假影。如果需要,那么解块滤波器通常将对求和器62的输出进行滤波。
[0084] 在编码过程期间,视频编码器20接收待译码的视频帧或切片。可将帧或切片划分为多个视频块,例如,最大译码单元(LCU)。运动估计单元42和运动补偿单元44相对于一个或一个以上参考帧中的一个或一个以上块来执行对所接收视频块的帧间预测性译码,从而提供时间预测。帧内预测单元46可相对于与待被译码的块在相同的帧或切片中的一个或一个以上相邻块而执行对所接收视频块的帧内预测性译码,从而提供空间预测。
[0085] 在本发明的一个实例中,视频编码器20可接收立体视频的两个或两个以上块或帧。举例来说,视频编码器可接收左视图31的帧视频数据和右视图33的视频数据帧,如图2中描绘。交错器单元66可使左视图帧与右视图帧交错为基础层和增强。作为一个实例,交错器单元66可使用图2中描绘的并排打包过程来使右视图与左视图交错。在此实例中,基础层被打包成具有左视图的一半分辨率版本(例如,像素的奇数列)和右视图的一半分辨率版本(例如,像素的奇数列)。增强层接着将被打包成具有左视图的互补一半分辨率版本(例如,像素的偶数列)和右视图的一半分辨率版本(例如,像素的偶数列)。应注意,如图2中所示的并排打包布置仅为一个实例。可使用其它打包布置,例如自顶向下或棋盘式打包布置,其中基础层含有左和右视图的部分分辨率版本,而增强层含有互补部分分辨率版本。部分分辨率版本可经配置而使得当与基础层中的部分分辨率版本组合时可重新创建左和右视图两者的全分辨率版本。在其它实例中,可通过视频编码器20外部的预处理单元来执行归属于交错器单元66的功能性。
[0086] 以下描述描述用于由交错器单元66创建的交错基础层和交错增强层两者的编码过程。这两层的编码可串行或并行地进行。为了容易论述,对“块”或“视频块”的引用一般指代基础层或增强层中的数据块,除非此类层被特别提及。
[0087] 模式选择单元40可选择译码模式中的一者用于经交错视频块。译码模式可(例如)基于每一模式的错误(即,失真)结果而为帧内或帧间预测,且将所得的经帧内或帧间预测的块(例如,预测单元(PU))提供到求和器50以产生残余块数据且提供到求和器62以重构经编码块以用于参考帧中。求和器62组合经预测的块与针对所述块的来自逆变换单元60的经逆量化、逆变换的数据,从而重构经编码的块,如下文更详细地描述。可将一些视频帧命名为I帧,其中I帧中的所有块以帧内预测模式编码。在一些情况下,例如当由运动估计单元42执行的运动搜索并未导致块的充分预测时,帧内预测单元46可执行P帧或B帧中的块的帧内预测编码。
[0088] 运动估计单元42和运动补偿单元44可被高度集成,但为概念目的而分开说明。运动估计(或运动搜索)为产生运动向量的过程,运动向量估计视频块的运动。举例来说,运动向量可指示当前帧中的预测单元相对于参考帧的参考样本的位移。运动估计单元42通过比较预测单元与存储在参考帧缓冲器64中的参考帧的参考样本来计算经帧间译码帧的预测单元的运动向量。参考样本可为被发现在像素差方面紧密地匹配包含经译码PU的CU的部分的块,所述像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差度量来确定。参考样本可在参考帧或参考切片内的任何处出现,且不一定在参考帧或切片的块(例如,译码单元)边界处。在一些实例中,参考样本可在分数像素位置处出现。
[0089] 运动估计单元42将所计算的运动向量发送到熵编码单元56和运动补偿单元44。由运动向量识别的参考帧的部分可被称作参考样本。运动补偿单元44可(例如)通过检
索由PU的运动向量识别的参考样本而计算当前CU的预测单元的预测值。
[0090] 作为由运动估计单元42和运动补偿单元44执行的帧间预测的替代,帧内预测单元46可对所接收块进行帧内预测。假定针对块的从左到右、从上到下编码次序,帧内预测单元46可相对于相邻的、先前经译码块(例如,当前块上方的块、上方及右边的块、上方及左边的块、或左边的块)来预测所接收块。帧内预测单元46可经配置成具有多种不同的帧内预测模式。举例来说,帧内预测单元46可基于正经编码的CU的大小而经配置成具有特定数目个定向预测模式,例如三十四个定向预测模式。
[0091] 举例来说,帧内预测单元46可通过计算各种帧内预测模式的误差值且选择产生最小误差值的模式来选择帧内预测模式。定向预测模式可包含用于组合空间相邻的像素的值且将经组合值应用到PU中的一个或一个以上像素位置的功能。一旦已计算出PU中所有像素位置的值,帧内预测单元46便可基于PU与待被编码的所接收块之间的像素差来计算预测模式的误差值。帧内预测单元46可继续测试帧内预测模式,直到发现产生可接受误差值的帧内预测模式为止。帧内预测单元46接着可将PU发送到求和器50。
[0092] 视频编码器20通过从正经译码的原始视频块减去通过运动补偿单元44或帧内预测单元46所计算的预测数据来形成残余块。求和器50表示执行此减法运算的一个或一个以上组件。残余块可对应于像素差值的二维矩阵,其中残余块中的值的数目与对应于残余块的PU中的像素数目相同。残余块中的值可对应于PU中与待被译码的原始块中位于同一地点的像素的值之间的差(即,误差)。取决于被译码的块类型,所述差可为色度或亮度差。
[0093] 变换单元52可从残余块形成一个或一个以上变换单元(TU)。变换单元52从多个变换中选择变换。可基于一个或一个以上译码特性(例如,块大小、译码模式或类似者)来选择变换。变换单元52接着将选定变换应用到TU,产生包括变换系数的二维阵列的视频块。
[0094] 变换单元52可将所得变换系数发送到量化单元54。量化单元54接着可对变换系数进行量化。熵编码单元56接着可根据扫描模式来执行对矩阵中的经量化变换系数的扫描。本发明将熵编码单元56描述为执行所述扫描。然而,在其它实例中,应理解,例如量化单元54等其它处理单元可执行所述扫描。
[0095] 一旦变换系数被扫描为一维阵列,熵编码单元56便可将熵译码(例如,CAVLC、CABAC、基于语法的上下文自适应二进制算术译码(SBAC)、或另一熵译码方法)应用到系数。
[0096] 为了执行CAVLC,熵编码单元56可针对待发射的符号选择可变长度码。可建构VLC中的码字,使得相对较短的码对应于更有可能的符号,而较长码对应于较不可能的符号。以此方式,使用VLC与(例如)针对待发射的每一符号使用相等长度码字相比可实现位节省。
[0097] 为了执行CABAC,熵编码单元56可选择应用到特定上下文的上下文模型以编码待发射的符号。所述上下文可能涉及(例如)相邻值是否为非零。熵编码单元56还可对语法元素(例如表示选定变换的信号)进行熵编码。根据本发明的技术,熵编码单元56可基于(例如)帧内预测模式的帧内预测方向、对应于语法元素的系数的扫描位置、块类型和/或变换类型(以及用于上下文模型选择的其它因素)来选择用以编码这些语法元素的上下文模型。
[0098] 在由熵编码单元56进行熵译码之后,可将所得的经编码视频发射到另一装置(例如,视频解码器30)或经存档以供稍后发射或检索。
[0099] 在一些情况下,视频编码器20的熵编码单元56或另一单元可经配置以执行除了熵译码之外的其它译码功能。举例来说,熵编码单元56可经配置以确定CU及PU的经译码块模式(CBP)值。而且,在一些情况下,熵编码单元56可执行系数的行程长度译码。
[0100] 逆量化单元58和逆变换单元60分别应用逆量化和逆变换以在像素域中重构残余块(例如)以供稍后用作参考块。运动补偿单元44可通过将残余块添加到参考帧缓冲器64的帧中的一者的预测性块来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用到经重构的残余块以计算供在运动估计中使用的子整数像素值。求和器62将经重构的残余块加到由运动补偿单元44产生的经运动补偿的预测块以产生供存储在参考帧缓冲器64中的经重构的视频块。经重构的视频块可由运动估计单元42和运动补偿单元
44用作参考块以对后续视频帧中的块进行帧间译码。
[0101] 根据本发明的实例,经重构的视频块(即,经重构的基础层和增强层)可用以产生滤波器系数以用于由视频滤波器或视频解码器(例如图4的视频解码器30)在后滤波过程中使用。如下文论述,滤波器系数单元68可经配置以产生这些滤波器系数。可使用滤波器系数产生和后滤波器过程来改进由于经解码视频的潜在空间不等性而引起的视频质量。此类空间不等性可由于经重构基础层和增强层可能具有不同的类型和程度的译码失真而存在,所述不同的类型和程度的译码失真是由于如上文描述的用于基础层和增强层的译码过程可利用不同的预测模式、量化参数、分区大小或可以不同的位速率而发送。
[0102] 滤波器系数单元68可从参考帧缓冲器64检索经重构的基础层和增强层。滤波器系数单元接着使经重构的基础层和增强层解交错以重构左视图和右视图。所述解交错过程可与上文关于图3所描述的解交错过程相同。参考帧缓冲器64还可存储在编码之前存在的原始左视图和右视图帧。
[0103] 滤波器系数单元68经配置以产生两组滤波器系数。一组滤波器系数是用于左视图,且另一组滤波器系数是用于经解码右视图。两组滤波器系数是由滤波器系数单元66通过使左和右视图的经滤波版本与原始左和右视图之间的均方差最小化来估计,如下:
[0104]
[0105]
[0106]
[0107]
[0108] X″L,(2i,j)表示经滤波的左视图的偶数列像素。XL,(2i,j)表示原始左视图的偶数列像素。X″L,(2i+1,j)表示经滤波的左视图的奇数列像素。XL,(2i+1,j)表示原始左视图的奇数列像素。X″R,(2i,j)表示经滤波的右视图的偶数列像素。XR,(2i,j)表示原始右视图的偶数列像素。X″R,(2i+1,j)表示经滤波的右视图的奇数列像素。XR,(2i+1,j)表示原始右视图的奇数列像素。H1和G1分别为使左和右视图的经滤波偶数列像素与原始偶数列像素之间的均方差最小化的滤波器系数,且H2和G2分别为使左和右视图的经滤波奇数列像素与原始奇数列像素之间的均方差最小化的滤波器系数。用于奇数列和偶数列的所述组滤波器系数是不同的,因为这是图5的实例中所描述的实例交错打包过程。如果使用自顶向下的打包方法,那么所述组滤波器系数可例如应用到左和右视图的像素的奇数和偶数行。
[0109] 在替代实例中,可针对左和右视图两者而应用同一组滤波器,即H1=G1且H2=G2。在此实例中,滤波器系数单元68可经配置以通过使以下各项的均方差最小化来估计滤波器系数:
[0110]
[0111]
[0112] 通过使左和右视图两者的偶数列均方差最小化而获得H1,且通过使左和右视图两者的奇数列均方差最小化而获得H2。
[0113] 接着可在经编码视频位流中用信号传输所估计的滤波器系数。在此上下文中,在经编码位流中用信号传输滤波器系数并不要求此类元素从编码器到解码器的实时传输,而是意味将此类滤波器系数编码到位流中且使得可由解码器以任何方式存取。此可包含实时传输(例如,在视频会议中)以及将经编码位流存储在计算机可读媒体上以供未来由解码器使用(例如,在流式传输、下载、磁盘存取、卡存取、DVD、蓝光光盘等中)。
[0114] 在一个实例中,将滤波器系数编码和传输为经编码增强层中的边信息。另外,还可使用滤波器系数的预测译码。即,当前帧的滤波器系数的值可参考先前经编码的帧的滤波器系数。作为一个实例,编码器可在用于视频解码器的经编码位流中用信号传输指令,以从当前帧的先前经解码的帧复制滤波器系数。作为另一实例,编码器可用信号传输当前帧的滤波器系数与先前经编码帧的滤波器系数之间的差异连同先前经编码帧的参考索引。作为其它实例,当前帧的滤波器系数可经时间预测、空间预测或时空预测。还可使用直接模式,即无预测。还可在经编码视频位流中用信号传输滤波器系数的预测模式。
[0115] 以下语法表展示可编码于经编码位流中以指示滤波器系数的实例语法。可将此类语法编码于序列参数集、图片参数集或切片标头中:
[0116]MFC_Filter_param(){ C 描述符
mfc_filter_idc 2 u(2)
[0117]for(i=0;i<mfc_filter_idc;i++){
number_of_coeff_1 2 u(v)
for(j=0;j<number_of_coeff_1;j++)
filter1_coeff[i] 2 u(v)
number_of_coeff_2 2 u(v)
for(j=0;j<number_of_coeff_2;j++)
filter2_coeff[i] 2 u(v)
}
}
[0118] mfc_filter_idc语法元素指示是否使用自适应滤波器且使用了多少组滤波器。如果mfc_filter_idc等于0,那么未使用滤波器;如果mfc_filter_idc等于1,那么左和右视图使用同一组滤波器,即H1=G1且H2=G2;如果mfc_filter_idc等于2,那么针对左和右视图使用不同的滤波器,即,H1和H2用于左视图且G1和G2用于右视图。语法元素number_of_coeff_1指定H1或G1的滤波器接头数目。语法元素filter1_coeff为H1或G1的滤波器系数。语法元素number_of_coeff_2指定H2或G2的滤波器接头数目。语法元素filter2_coeff为H2或G2的滤波器系数。
[0119] 或者,可产生根据局部改变的内容的若干组滤波器系数且在每一帧的切片标头中用信号传输。举例来说,不同组滤波器系数可用于单个帧内的一个或一个以上内容区域。可用信号传输旗标以指示两个滤波器组相同(即,H1=G1且H2=G2)的情形。
[0120] 可在逐个帧的基础上进行用于产生滤波器系数的上述技术。或者,可在较低层级(例如,块层级或切片层级)估计不同组滤波器系数。
[0121] 图6是说明视频解码器30的实例的框图,视频解码器30对经编码的视频序列解码。为了说明目的而将在H.264视频译码标准的背景下描述视频解码器30,但并非关于可利用用于对立体视频数据译码和处理的技术的其它译码标准或方法来限制本发明。在本发明的实例中,视频解码器30可进一步经配置以利用H.264SVC和MVC扩展的技术以执行全分辨率帧兼容的立体视频译码过程。
[0122] 大体上,视频解码器30的解码过程将为用以对视频数据编码的图5的视频编码器20所使用的过程的逆过程。因而,输入到视频解码器30的经编码视频数据为如上文参看图
5描述的经编码基础层和经编码增强层。经编码基础层和经编码增强层可经串行或并行解码。为了容易论述,对“块”或“视频块”的引用一般指代基础层或增强层中的数据块,除非此类层被特别提及。
[0123] 在图6的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考帧缓冲器82、求和器80、解交错器单元84和后滤波单元86。
[0124] 熵解码单元70对经编码位流执行熵解码过程以检索变换系数的一维阵列。所使用的熵解码过程取决于视频编码器20所使用的熵译码(例如,CABAC、CAVLC等)。编码器所使用的熵译码过程可在经编码位流中用信号传输或可为预定过程。
[0125] 在一些实例中,熵解码单元70(或逆量化单元76)可使用镜射由视频编码器20的熵编码单元56(或量化单元54)使用的扫描模式的扫描来扫描所接收的值。尽管可在逆量化单元76中执行系数的扫描,但为了说明目的而将扫描描述为正由熵解码单元70执行。另外,尽管为了容易说明而展示为单独的功能单元,但视频解码器30的熵解码单元70、逆量化单元76和其它单元的结构与功能性可彼此高度集成。
[0126] 逆量化单元76使提供于位流中且由熵解码单元70解码的经量化变换系数逆量化(即,解量化)。逆量化过程可包含常规过程,例如,类似于针对HEVC所提出或通过H.264解码标准所定义的过程。逆量化过程可包含使用由视频编码器20针对CU计算的量化参数QP来确定量化程度以及(同样地)应该应用的逆量化程度。逆量化单元76可在系数从一维阵列转换到二维阵列之前或之后来使变换系数逆量化。
[0127] 逆变换单元78将逆变换应用到经逆量化的变换系数。在一些实例中,逆变换单元78可基于来自视频编码器20的信令或通过根据一个或一个以上译码特性(例如,块大小、译码模式或类似者)而推断变换来确定逆变换。在一些实例中,逆变换单元78可基于在包含当前块的LCU的四分树的根节点处用信号传输的变换来确定要应用到当前块的变换。或者,可在LCU四分树中的叶节点CU的TU四分树的根处用信号传输变换。在一些实例中,逆变换单元78可应用级联逆变换,其中逆变换单元78将两个或两个以上逆变换应用到正经解码的当前块的变换系数。
[0128] 帧内预测单元74可基于用信号传输的帧内预测模式和来自当前帧的先前经解码块的数据来产生当前帧的当前块的预测数据。
[0129] 运动补偿单元72可有可能基于内插滤波器而执行内插来产生经运动补偿块。用于将用于以子像素精度进行运动估计的内插滤波器的识别符可包含在语法元素中。运动补偿单元72可使用如由视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元72可根据所接收的语法信息来确定视频编码器20所使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
[0130] 另外,在HEVC实例中,运动补偿单元72和帧内预测单元74可使用一些语法信息(例如,由四分树提供)来确定用以对经编码视频序列的帧编码的LCU大小。运动补偿单元72和帧内预测单元74还可使用语法信息来确定分裂信息,所述分裂信息描述经编码视频序列的帧的每一CU分裂的方式(且同样,子CU分裂的方式)。语法信息还可包含指示每一分裂被编码的方式的模式(例如,帧内预测或帧间预测,且对于帧内预测为帧内预测编码模式)、每一经帧间编码的PU的一个或一个以上参考帧(和/或含有参考帧的识别符的参考列表)、以及用以对经编码视频序列解码的其它信息。
[0131] 求和器80组合残余块与运动补偿单元72或帧内预测单元74所产生的对应预测块以形成经解码块。如果需要,还可应用解块滤波器来对经解码块滤波以便移除块效应假影。接着将经解码视频块存储在参考帧缓冲器82中。
[0132] 此时,经解码的视频块呈经解码的基础层和经解码的增强层的形式,例如图3的经解码的基础层41和经解码的增强层43。解交错器单元84接着使经解码的基础层和经解码的增强层解交错以重构经解码左视图和经解码右视图。解交错器单元84可执行如上文参看图3所描述的解交错过程。此外,此实例允许并排帧打包,但可使用其它打包布置。
[0133] 后滤波单元86接着检索在编码器所编码的位流中用信号传输的滤波器系数,且将所述滤波器系数应用到经解码左视图和经解码右视图。经滤波的左视图和右视图接着准备好显示在(例如)图4的显示装置32上。
[0134] 图7是更详细说明实例后滤波系统的框图。原始左和右视图可表示为XL和XR。从XL和XR产生基础层XB和增强层XE。X′B表示经解码基础层,而X′E表示经解码增强层。在由解交错器单元84进行解交错后,将经解码左视图X′L和经解码右视图X′R输入到
后滤波单元86。后滤波单元86从经编码位流检索所述组滤波器系数H1、H2和G1、G2。后滤波单元接着将滤波器系数H1、H2和G1、G2应用到经解码左和右视图以产生经滤波的左视图X″L和经滤波的右视图X″R。
[0135] 以下描述用于应用滤波器系数的实例技术。在此实例中,假定滤波器形状为矩形,然而,可使用其它滤波器形状(例如,菱形形状)。执行以下后滤波程序:
[0136]
[0137] 更具体来说,左和右视图的卷积为:
[0138]
[0139]
[0140]
[0141]
[0142] 方程(8)展示左视图的偶数行的滤波过程,方程(9)展示左视图的奇数行的滤波过程,方程(10)展示右视图的偶数行的滤波过程,且方程(11)展示右视图的奇数行的滤波过程。x′L,(i,j)为左视图X′L在第i列及第j行处的像素,x′(R,(i,j)为右视图X′R在第i列及第j行处的像素,且H1={h1,(k,l)}、H2=(h2,(k,l)}、G1={g1,(k,l)}和G2={g2,(k,l)}是滤波器系数。请注意,在上述后滤波操作中,单独地将不同组滤波器H和G应用到左视图和右视图。然而,滤波器组H和滤波器组G可能是相同的,例如H1=G1,H2=G2。在那种情况下,通过同一组滤波器来对左和右视图后滤波。
[0143] 一般而言,方程(8)-(11)的卷积涉及使左/右视图图片的一部分(例如,偶数或奇数列)中的当前像素周围的窗口内的经解码左/右视图图片中的每一像素乘以滤波器系数,以及对相乘的像素求和以获得当前像素的经滤波值。在图8和图9中分别展示针对经解码左视图X′L和经解码右视图X′R的滤波操作的实例。
[0144] 图8是说明左视图图片的实例滤波器掩码的概念图。滤波器掩码100为偶数列中的当前像素(0,0)周围的3像素乘3像素掩码。3×3掩码仅为一实例;可使用其它掩码大小。将偶数列像素展示为实线圆,而将奇数列像素展示为虚线圆。当前像素(0,0)的经滤波值通过以下操作来计算:使3×3掩码内的像素值中的每一者乘以相应滤波器系数h1,且对那些值求和以产生当前像素的经滤波值。类似地,像素掩码102表示将滤波器系数h2应用到奇数列中当前像素周围的掩码中的像素的过程。图9是说明右视图图片的实例滤波器掩码的概念图。类似于图8中所示,像素掩码104展示将滤波器系数g1应用到右视图图片的偶数列中的当前像素的过程,而像素掩码106展示将滤波器系数g2应用到右视图图片的奇数列中的当前像素的过程。
[0145] 图10是说明对立体视频解码和滤波的实例方法的流程图。以下方法可由图6的视频解码器30来执行。最初,视频解码器接收包含滤波器系数的经编码视频数据(120)。在一个实例中,经编码视频数据是根据全分辨率帧兼容的立体视频译码过程而被编码。全分辨率帧兼容的立体视频译码过程可遵照H.264/高级视频译码(AVC)标准的多视图译码(MVC)扩展。在另一实例中,全分辨率帧兼容的立体视频译码过程可遵照H.264/高级视频译码(AVC)标准的可缩放视频译码(SVC)扩展,且经编码的视频数据由具有右和左视图图片的一半分辨率版本的经编码基础层组成。经编码视频进一步由具有右和左视图图片的互补一半分辨率版本的经编码增强层组成。
[0146] 所接收滤波器系数可包含第一左视图特定滤波器、第一右视图特定滤波器、第二左视图特定滤波器和第二右视图特定滤波器。在一个实例中,在增强层中的边信息中接收滤波器系数。可将所接收的滤波器系数应用到左和右视图的一个帧,或可应用到左和右视图的若干块或切片。
[0147] 在接收到经编码视频数据后,解码器对经编码视频数据解码以产生第一经解码图片和第二经解码图片(122)。第一经解码图片可包括基础层,且第二经解码图片可包括增强层,其中基础层包含左视图图片的第一部分(例如,奇数列)和右视图图片的第一部分(例如,奇数列),且其中增强层包含左视图图片(例如,偶数列)的第二部分和右视图图片(例如,偶数列)的第二部分。
[0148] 在对基础层和增强层的经编码视频数据解码后,视频解码器使经解码图片解交错以形成经解码左视图图片和经解码右视图图片,其中经解码图片包含左视图图片的第一部分、右视图图片的第一部分、左视图图片的第二部分和右视图图片的第二部分(124)。
[0149] 视频解码器接着可将第一左视图特定滤波器应用到经解码左视图图片的像素,且将第二左视图特定滤波器应用到经解码左视图图片的像素,从而形成经滤波的左视图图片(126)。类似地,视频解码器可将第一右视图特定滤波器应用到经解码右视图图片的像素,且将第二右视图特定滤波器应用到经解码右视图图片的像素,从而形成经滤波的右视图图片(128)。
[0150] 应用第一左视图特定滤波器包括:使左视图图片的第一部分中的当前像素周围的窗口内的经解码左视图图片中的每一像素乘以第一左视图特定滤波器的滤波器系数,且对相乘的像素求和,以获得左视图图片的第一部分中的当前像素的经滤波值。应用第二左视图特定滤波器包括:使左视图图片的第二部分中的当前像素周围的窗口内的经解码左视图图片中的每一像素乘以第二左视图特定滤波器的滤波器系数,且对相乘的像素求和,以获得左视图图片的第二部分中的当前像素的经滤波值。
[0151] 应用第一右视图特定滤波器包括:使右视图图片的第一部分中的当前像素周围的窗口内的经解码右视图图片中的每一像素乘以第一右视图特定滤波器的滤波器系数,且对相乘的像素求和,以获得右视图图片的第一部分中的当前像素的经滤波值。应用第二右视图特定滤波器包括:使右视图图片的第二部分中的当前像素周围的窗口内的经解码右视图图片中的每一像素乘以第二右视图特定滤波器的滤波器系数,且对相乘的像素求和,以获得右视图图片的第二部分中的当前像素的经滤波值。所述滤波器中的每一者的窗口可具有矩形形状。在其它实例中,滤波器的窗口具有菱形形状。
[0152] 视频解码器接着可输出经滤波的左视图图片和经滤波的右视图图片,以致使显示装置显示包括经滤波的左视图图片和经滤波的右视图图片的三维视频(130)。
[0153] 图11是说明对立体视频编码且产生滤波系数的实例方法的流程图。以下方法可由图5的视频编码器20来执行。
[0154] 视频编码器可首先对左视图图片和右视图图片编码以形成第一经编码图片和第二经编码图片(150)。左视图图片可包含第一左视图部分(例如,奇数列)和第二左视图部分(例如,偶数列),且右视图图片可包含第一右视图部分(例如,奇数列)和第二右视图部分(例如,偶数列)。编码过程可包含:使基础层中的第一左视图部分和第一右视图部分交错并且使增强层中的第二左视图部分和第二右视图部分交错;以及对基础层和增强层编码以形成第一经编码图片和第二经编码图片。
[0155] 此类编码过程可为全分辨率帧兼容的立体视频译码过程,其可与H.264/高级视频译码(AVC)标准的多视图译码(MVC)扩展和/或可缩放视频译码(SVC)扩展兼容。
[0156] 接着,视频编码器可对第一经编码图片解码以形成经解码左视图图片和经解码右视图图片(152)。视频编码器接着可基于左视图图片与经解码左视图图片的比较而产生左视图滤波器系数(154),且可基于右视图图片与经解码右视图图片的比较而产生右视图滤波器系数(156)。
[0157] 产生左视图滤波器系数可包含:基于第一左视图部分经解码左视图图片的第一部分的比较而产生第一左视图滤波器系数;以及基于第二左视图部分与经解码左视图图片的第二部分的比较而产生第二左视图滤波器系数。产生右视图滤波器系数可包含:基于第一右视图部分经解码右视图图片的第一部分的比较而产生第一右视图滤波器系数;以及基于第二右视图部分与经解码右视图图片的第二部分的比较而产生第二右视图滤波器系数。
[0158] 在本发明的一个实例中,通过使经解码左视图图片的经滤波版本与左视图图片之间的均方差最小化而产生左视图滤波器系数。同样,通过使经解码右视图图片的经滤波版本与右视图图片之间的均方差最小化而产生右视图滤波器系数。
[0159] 视频编码器接着可在经编码视频位流中用信号传输左视图滤波器系数和右视图滤波器系数。举例来说,可在增强层的边信息中用信号传输滤波器系数。
[0160] 在一个或一个以上实例中,所描述功能可用硬件、软件、固件或其任何组合来实施。如果以软件实施,那么功能可作为一个或一个以上指令或代码而存储在计算机可读媒体上或经由计算机可读媒体而传输,且由基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索指令、代码和/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0161] 举例来说而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。而且,可适当地将任何连接称为计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或无线技术(例如,红外线、无线电和微波)而从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或无线技术(例如,红外线、无线电和微波)包含在媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是针对于非瞬时有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。以上各物的组合也应包含在计算机可读媒体的范围内。
[0162] 可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行所述指令。因此,如本文中所使用的术语“处理器”可指代上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编解码器中。而且,所述技术可完全实施于一个或一个以上电路或逻辑元件中。
[0163] 本发明的技术可实施于广泛多种装置或设备中,所述装置或设备包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但不一定要求通过不同硬件单元来实现。而是,如上文所描述,可将各种单元组合于编解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一个或一个以上处理器)的集合且结合合适软件和/或固件来提供。
[0164] 已描述了各种实例。这些和其它实例属于所附权利要求书的范围。

当前第1页 第1页 第2页 第3页