运动预测视频块的层次的制作方法与工艺

文档序号:12009097阅读:203来源:国知局
运动预测视频块的层次的制作方法与工艺
运动预测视频块的层次本申请案主张以下临时申请案的权益:2011年2月24日申请的第61/446,392号美国临时申请案;2011年2月26日申请的第61/447,017号美国临时申请案;2011年3月10日申请的第61/451,493号美国临时申请案;2011年8月30日申请的第61/529,110号美国临时申请案;2011年9月6日申请的第61/531,526号美国临时申请案;以及2011年9月6日申请的第61/531,514号美国临时申请案,其每一者的相应全文以引用的方式并入本文中。技术领域本发明涉及视频译码。

背景技术:
数字视频能力可并入到广范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电话、所谓的“智能电话”、视频电话会议装置、视频串流装置等。数字视频装置实施例如由MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分、先进视频译码(AVC)、当前在开发中的高效视频译码(HEVC)标准和此类标准的扩展界定的标准中描述的视频压缩技术。视频装置可通过实施此类视频压缩技术而更有效地发射、接收、编码、解码和/或存储数字视频信息。

技术实现要素:
一般来说,本发明描述用于对视频数据进行译码的技术。在一个实例中,一种对视频数据进行解码的方法包括:获得当前视频块的索引值;获得当前视频块的分区类型;基于所述分区类型选择多组所界定的经排序候选预测视频块中的一者;基于所述索引值从所述多组所界定的经排序候选预测视频块中的选定一者选择预测视频块;以及基于所述预测视频块的运动信息产生当前视频块的运动向量。在另一实例中,一种装置包含视频解码器,其经配置以:获得当前视频块的索引值;获得当前视频块的分区类型;基于所述分区类型选择多组所界定的经排序候选预测视频块中的一者;基于所述索引值从所述多组所界定的经排序候选预测视频块中的选定一者选择预测视频块;且基于所述预测视频块的运动信息产生当前视频块的运动向量。在另一实例中,一种计算机可读存储媒体包括指令,所述指令当执行时致使处理器:获得当前视频块的索引值;获得当前视频块的分区类型;基于所述分区类型选择多组所界定的经排序候选预测视频块中的一者;基于所述索引值从所述多组所界定的经排序候选预测视频块中的选定一者选择预测视频块;且基于所述预测视频块的运动信息产生当前视频块的运动向量。本发明还描述用于对视频数据进行编码的技术。在一个实例中,一种方法包括:获得当前视频块的运动向量;获得当前视频块的分区类型;基于所述分区类型选择多组所界定的经排序候选预测视频块中的一者;基于所述运动向量从所述多组所界定的经排序候选预测视频块中的选定一者选择预测视频块;以及产生识别选定的预测视频块的索引值。在另一实例中,一种装置包含视频解码器,其经配置以:获得当前视频块的运动向量;获得当前视频块的分区类型;基于所述分区类型选择多组所界定的经排序候选预测视频块中的一者;基于所述运动向量从所述多组所界定的经排序候选预测视频块中的选定一者选择预测视频块;且产生识别选定的预测视频块的索引值。在另一实例中,一种计算机可读存储媒体包括指令,所述指令当执行时致使处理器:获得当前视频块的运动向量;获得当前视频块的分区类型;基于所述分区类型选择多组所界定的经排序候选预测视频块中的一者;基于所述运动向量从所述多组所界定的经排序候选预测视频块中的选定一者选择预测视频块;且产生识别选定的预测视频块的索引值。一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图和从权利要求书中显而易见。附图说明图1是说明可实施本发明的技术的视频编码和解码系统的一个实例的框图。图2是说明可实施本发明的技术的视频编码器的一个实例的框图。图3A是说明当前视频块和一组实例运动预测视频块的概念图。图3B是说明当前视频块和一组实例运动预测视频块的概念图。图3C是说明当前视频块和一组实例运动预测视频块的概念图。图4是说明当前视频帧与参考视频帧之间的时间关系的概念图。图5是说明基于与当前视频块的时间关系对一组运动预测视频块排序的概念图。图6是说明可用于产生一组运动预测视频块的候选视频块的实例的概念图。图7是说明用于基于准则搜索候选视频块以产生一组运动预测视频块的方法的实例的概念图。图8是说明视频块分区的实例的概念图。图9A到9K是说明基于一组运动预测视频块的当前视频块分区产生经排序层级的实例的概念图。图10是说明用于对视频数据进行编码的技术的流程图。图11是说明可实施本发明的技术的视频解码器单元的一个实例的框图。图12是说明用于对视频数据进行解码的技术的流程图。具体实施方式本发明描述用于从候选视频块产生数组运动预测视频块且产生一组内的运动预测视频块的经排序层级的技术。视频编码器可使用经排序层级对当前视频块的运动信息进行编码,且视频解码器可使用经排序层级对当前视频块的运动信息进行解码。举例来说,一组候选视频块可包含邻近于当前视频块的视频块。一组经排序运动预测视频块可为邻近视频块的子集。可使用所述组经排序运动预测视频块(包含使用以下技术中的一者)获得当前视频块的运动信息:继承来自经排序组中的运动预测视频块的运动向量;通过将残余运动向量信息与经排序组中的运动预测视频块的运动向量进行加法或减法来计算运动向量;或使用来自经排序组中的一个或一个以上运动预测视频块的运动向量信息计算运动向量。使用经排序层级可允许实现位节省。在一种技术中,通过分析候选视频块是否包含指定准则而产生一组运动预测视频块。举例来说,距当前视频块在指定时间或空间距离内的若干视频块可经分析以确定其参考识别值中的任一者是否在指定范围内。在此实例中,具有等于指定值的参考识别值的候选视频块可包含在一组运动预测视频块内。在本发明描述的一种技术中,基于与运动预测块中的每一者相关联的参考块和与正译码的当前视频块相关联的参考块的时间距离将一组运动预测视频块组织为经排序层级。换句话说,可向指向时间上较接近当前视频块的预测块的运动预测块的运动向量给予先于指向时间上较远离当前视频块的预测块的运动预测块的运动向量的优先级。在本发明描述的一种技术中,基于当前视频块的分区类型产生运动预测视频块的经排序层级。可基于当前视频块的分区类型从一组五个邻近视频块产生具有三个运动预测块的子集。分区类型可对应于符合新兴高效视频译码(HEVC)标准的所谓PU的分区形状。图1是说明可实施本发明的技术的视频编码和解码系统10的一个实例的框图。如图1中所示,系统10包括源装置12,其经由通信信道15将经编码的视频发射到目的地装置16。源装置12及目的地装置16可包含各种各样的装置中的任一者。在一些情况下,源装置12及目的地装置16可包含无线通信装置手持机,例如所谓的蜂窝式或卫星无线电话。然而,通常应用于编码和解码的本发明的技术可应用于包含视频编码和/或解码能力的非无线装置。源装置12和目的地装置16可仅为可支持本文描述的技术的译码装置的实例。在图1的实例中,源装置12可包括视频源20、视频编码器22、调制器/解调器(调制解调器)23及发射器24。目的地装置16可包括接收器26、调制解调器27、视频解码器28及显示装置30。可在视频编码器22处产生语法元素作为经编码位流的部分,且语法元素可由视频解码器28用于对位流进行解码。视频源20可包括视频俘获装置,例如摄像机、含有先前俘获的视频的视频档案、来自视频内容提供者或另一视频源的视频馈送。作为另一替代方案,视频源20可产生基于计算机图形的数据作为源视频,或直播视频(livevideo)、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源20为摄像机,那么源装置12及目的地装置16可形成所谓的相机电话或视频电话。在每一情况下,视频编码器22可对所俘获、所预俘获或计算机产生的视频进行编码。在一些实例中(但并非所有情况),一旦视频数据由视频编码器22编码,经编码视频信息就接着可由调制解调器23根据通信标准调制,所述通信标准例如码分多址(CDMA)、正交频分多路复用(OFDM)或任何其它通信标准或技术。经编码和经调制数据可接着经由发射器24发射到目的地装置16。调制解调器23可包含各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器及一个或一个以上天线。目的地装置16的接收器26经由信道15接收信息,且调制解调器27对所述信息进行解调。视频解码器28执行的视频解码过程可包含与视频编码器22执行的编码技术互逆的技术。通信信道15可包括任何无线或有线通信媒体,例如射频(RF)频谱或者一个或一个以上物理传输线,或无线媒体与有线媒体的任何组合。通信信道15可形成例如局域网、广域网或例如因特网等全球网络的基于包的网络的部分。通信信道15通常表示用于将视频数据从源装置12发射到目的地装置16的任何合适的通信媒体或不同通信媒体的集合。再次,图1仅是示范性的,且本发明的技术可适用于不一定包含编码与解码装置之间的任何数据通信的视频译码环境(例如,视频编码或视频解码)。在其它实例中,数据可从本地存储器检索、在网络上串流等。编码装置可将数据编码并存储到存储器,且/或解码装置可从存储器检索和解码数据。在许多情况下,由不彼此通信而是仅将数据编码到存储器和/或从存储器检索和解码数据的非相关装置执行编码和解码。在一些情况下,视频编码器22和视频解码器28可实质上根据例如新兴HEVC标准等视频压缩标准操作。然而,本发明的技术还可在多种其它视频译码标准的上下文中应用,包含一些旧标准或新的或新兴标准。尽管图1中未展示,但在一些方面中,视频编码器22及视频解码器28可各自与音频编码器及解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可符合ITUH.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。视频编码器22及视频解码器28各自可实施为一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器22和视频解码器28中的每一者可包含在一个或一个以上编码器或解码器中,其任一者可作为经组合的编码器/解码器(编解码器(CODEC))的部分整合在相应移动装置、订户装置、广播装置、服务器或类似装置中。在本发明中,术语译码器指代编码器、解码器或CODEC,且术语译码器、编码器、解码器和CODEC全部指代经设计用于根据本发明对视频数据进行译码(编码和/或解码)的特定机器。在一些情况下,装置12、16可以大体对称的方式操作。举例来说,装置12、16中的每一者可包含视频编码和解码组件。因此,系统10可支持视频装置12、16之间的单向或双向视频发射,例如用于视频流式传输、视频播放、视频广播或视频电话。在编码过程期间,视频编码器22可执行若干译码技术或操作。一般来说,视频编码器22根据HEVC标准对视频数据块操作。HEVC指代可根据四叉树分割方案分割的译码单元(CU)。“LCU”指代给定情形中支持的最大大小译码单元(例如,“最大译码单元”)。LCU大小可本身作为位流的部分(例如,作为序列层级语法)来传信。LCU可分割为较小CU。CU可出于预测目的而分割为预测单元(PU)。PU可具有正方形或矩形形状。变换在新兴HEVC标准中不是固定的,而是根据变换单元(TU)大小(其可为与给定CU相同大小或可能更小)界定。对应于CU的残余样本可使用称为“残余四叉树”(RQT)的四叉树结构再分为较小单元。RQT的叶节点可称为变换单元(TU)。TU可经变换和量化。语法元素可在LCU层级、CU层级、PU层级和TU层级界定。可包含称为“分离旗标”的元素作为CU层级语法以指示任何给定CU本身是否再分为另外四个CU。举例来说,CU0可指代LCU,且CU1到CU4可包括LCU的子CU。根据HEVC,视频块称为译码单元(CU),且个别视频帧(或其它独立界定的视频单元,例如片段)内存在许多CU。帧、片段、帧的部分、图片群组或其它数据结构可界定为包含多个CU的视频信息的单元。CU可具有根据HEVC标准的各种大小,且位流可将最大译码单元(LCU)界定为最大大小的CU。利用HEVC标准,LCU可根据四叉树分割方案划分为愈加小的CU,且方案中界定的不同CU可进一步分割为所谓的预测单元(PU)。LCU、CU和PU均为本发明的含义内的视频块。视频编码器22可执行预测译码,其中正译码的视频块(例如,LCU内的CU的PU)与一个或一个以上预测候选者比较以便识别预测块。此预测译码过程可为帧内(在此情况下,基于同一视频帧或片段内的相邻帧内数据产生预测数据)或帧间(在此情况下,基于先前或后续帧或片段中的视频数据产生预测数据)。可支持许多不同译码模式,且视频编码器22可选择合乎需要的视频译码模式。根据本发明,可使用本文描述的过程对至少一些视频块进行译码。视频压缩技术包含空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,视频片段(例如,视频帧或视频帧的一部分)可分割为视频块,其也可称为树块、译码单元(CU)和/或译码节点。使用相对于图片中的相邻块中的参考样本的空间预测来对同一图片的帧内译码(I)片段中的视频块进行编码。图片的帧间译码(P或B)片段中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可称为帧,且参考图片可称为参考帧。当视频编码器22使用运动估计和运动补偿来减少视频序列中的时间冗余时,可产生运动向量来识别视频数据的预测块。视频解码器28可使用运动向量来预测正译码的当前视频块的值。举例来说,可从当前视频块的值减去预测视频块的值以产生残余数据块。运动向量连同残余数据可经由通信信道15从视频编码器22传送到视频解码器。视频解码器28可定位同一预测块(基于运动向量),且通过将残余数据与预测块的数据组合来重建经编码视频块。视频编码器22可使用合并模式来对当前视频块的运动信息进行编码。合并模式是其中针对正译码的当前视频块继承相邻视频块的运动信息(例如,运动向量、参考帧索引、预测方向或其它信息)的视频译码模式。可使用索引值来识别当前视频块从其继承其运动信息(例如,在时间上邻近帧的顶部、右上、左侧、左下或与之共同定位)的邻近者。在当前视频块的译码过程中使用相邻视频块的运动向量的另一情况是所谓的运动向量预测。在此情况下,应用运动向量的预测译码来减少传送运动向量所需的数据量。举例来说,代替于编码和传送运动向量本身,视频编码器22可编码和传送相对于已知(或可知)运动向量的运动向量差(MVD)。在H.264/AVC中,可与MVD一起使用以界定当前运动向量的已知运动向量可由所谓的运动向量预测子(MVP)界定,所述MVP可经导出而作为与相邻块相关联的运动向量的中值。视频编码器22可使用自适应运动向量预测(AMVP)来对当前视频块的运动信息进行编码。AMVP通过包含在空间和时间方向上的若干相邻块作为MVP的候选者来建立运动向量候选者集合。在AMVP中,视频编码器22基于编码速率和失真的分析(例如,使用所谓的速率-失真成本分析)从候选者集合选择最准确的预测子块。运动向量预测子索引(mvp_idx)可发射到视频解码器28以告知视频解码器28在何处定位MVP。MVD也可发射到视频解码器28。视频解码器28可将MVD与MVP(由运动向量预测子索引界定)组合以便产生当前视频块的运动向量。在产生预测块之后,正译码的当前视频块与预测块之间的差异可经译码而作为残余块,且使用预测语法(例如,在帧间译码的情况下使用运动向量,或在帧内译码的情况下使用预测模式)来识别预测块。此外,利用AMVP或合并模式,可根据如本文描述的经排序层级例如经由识别特定邻近者的索引值对用于识别预测块的相邻块进行译码。在一些情况下,残余块可经变换和量化。变换技术可包含DCT过程或概念上类似的过程、整数变换、小波变换或其它类型的变换。在DCT过程中,作为一实例,变换过程将一组像素值(例如,残余像素值)转换为变换系数,所述变换系数可表示频域中的像素值的能量。变换系数可经量化。特定来说,量化可应用于变换系数,且通常涉及限制与任何给定变换系数相关联的位的数目的过程。更特定来说,可根据LCU层级处界定的量化参数(QP)应用量化。因此,可将相同层级的量化应用于与LCU内的CU的不同PU相关联的TU中的所有变换系数。然而,代替于传信QP本身,可以LCU传信QP中的改变或差异(即,差量)以指示相对于先前LCU的QP中的改变。在变换及量化之后,可对经量化及经变换的残余视频块执行熵译码。语法元素也可包含在熵译码位流中。一般来说,熵译码包括共同压缩一连串经量化的变换系数及/或其它语法信息的一个或一个以上过程。可对经量化变换系数执行扫描技术以便界定来自二维视频块的系数的一个或一个以上串行化一维向量。接着(例如)经由内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或另一熵译码过程来对经扫描的系数连同任何语法信息进行熵译码。作为编码过程的部分,经编码视频块可经解码以便产生用于后续视频块的后续基于预测的译码的视频数据。这通常称为编码过程的解码回路,且通常模拟由解码器装置执行的解码。在编码器或解码器的解码回路中,可使用滤波技术来改进视频质量以及例如使像素边界平滑,且可能从经解码视频移除假影。此滤波可在回路中或回路后。对于回路中滤波,在译码回路中发生经重建视频数据的滤波,这意味着经滤波数据由编码器或解码器存储以供在后续图像数据的预测中后续使用。相比之下,对于回路后滤波,在译码回路外部发生经重建视频数据的滤波,这意味着数据的未经滤波版本由编码器或解码器存储以供在后续图像数据的预测中后续使用。回路滤波通常在单独解块滤波过程之后,单独解块滤波过程通常将滤波应用于在邻近视频块的边界上或附近的像素以便移除视频块边界处显现的块假影。图2为说明与本发明一致的视频编码器50的框图。视频编码器50可对应于装置12的视频编码器22或不同装置的视频编码器。如图2所示,视频编码器50包含四叉树分区单元31、预测编码单元32、存储器34、变换模块38、量化单元40、逆量化单元42、逆变换模块44、熵译码单元46、滤波器单元47(其可包含解块滤波器以及回路后和/或回路中滤波器)、加法器48和加法器51。经编码视频数据和界定编码方式的语法信息可传送到熵编码单元46,熵编码单元46对位流执行熵编码。如图2所示,预测编码单元32可支持视频块的编码过程中的多个不同译码模式35。模式35可包含界定来自不同视频帧(或片段)的预测数据的帧间译码模式。帧间译码模式可为双向预测,意味着使用预测数据(且通常两个不同运动向量)的两个不同列表(例如,列表0和列表1)来识别预测数据。帧间译码模式或者可为单向预测,意味着使用预测数据(且通常一个运动向量)的一个列表(例如,列表0)来识别预测数据。可结合预测数据的产生执行内插、偏移或其它技术。还可支持所谓的跳过(SKIP)模式和直接(DIRECT)模式,其继承与另一帧(或片段)的共同定位块相关联的运动信息。SKIP模式块不包含任何残余信息,而DIRECT模式块包含残余信息。另外,模式35可包含帧间译码模式,其基于与正译码的视频帧相同的视频帧(或片段)内的数据界定预测数据。帧间译码模式可包含定向模式,其基于相同帧内的特定方向上的数据界定预测数据;以及DC和/或平面模式,其基于相邻数据的平均值或加权平均值界定预测数据。预测编码单元32可基于某一准则选择给定块的模式,例如基于速率-失真分析或块的某一特性(例如,块大小、纹理或其它特性)。根据本发明,预测编码单元32支持执行如上文描述的自适应运动向量预测(AMVP)的一个或一个以上模式或如上文描述的合并模式。在这些或其它情况下,可以本文描述的方式从一块继承运动信息,且可以本文描述的方式执行自其发生此继承的块的传信。一般来说,在编码过程期间,视频编码器50接收输入的视频数据。预测编码单元32对视频块(例如,CU和PU)执行预测译码技术。四叉树分区单元31可根据HEVC分割将LCU分类为较小CU和PU。对于帧间译码,预测编码单元32将CU或PU与一个或一个以上视频参考帧或片段(例如,参考数据的一个或一个以上“列表”)中的各个预测候选者比较以便界定预测块。对于帧内预测,预测编码单元32基于同一视频帧或片段内的相邻数据产生预测块。预测编码单元32输出预测块,且加法器48从正译码的CU或PU减去预测块以便产生残余块。再次,可使用本文描述的AMVP对至少一些视频块进行译码。在一些情况下,预测编码单元32可包含速率-失真(R-D)单元,其比较不同模式中视频块(例如,CU或PU)的译码结果。在此情况下,预测编码单元32还可包含模式选择单元以依据译码速率(即,块所需的译码位)和失真(例如,表示经译码块相对于原始块的视频质量)分析译码结果以便作出针对视频块的模式选择。以此方式,R-D单元可提供不同模式的结果的分析以允许模式选择单元针对不同视频块选择所要模式。根据本发明,可当R-D单元例如归因于译码增益或译码效率而将执行AMVP的模式识别为针对给定视频块的所要模式时选择所述执行AMVP的模式。或者,根据本发明,可选择合并模式,其中从相邻块继承运动信息。在这些或其它实例中,可根据本发明界定且在译码过程中使用一组经排序邻近者。再次参看图2,在预测编码单元32输出预测块之后,且在加法器48从正译码视频块减去预测块以便产生残余像素值的残余块之后,变换单元38将变换应用于残余块。所述变换可包括离散余弦变换(DCT)或例如ITUH.264标准或HEVC标准界定的概念上类似的变换。所谓的“蝶形”结构可经界定以执行所述变换,或还可使用基于矩阵的乘法。在一些实例中,根据HEVC标准,变换的大小可针对不同CU例如取决于相对于给定LCU发生的分割的水平而变化。变换单元(TU)可经界定以便设定变换单元38应用的变换大小。也可使用小波变换、整数变换、子带变换或其它类型的变换。在任何情况下,变换单元将变换应用于残余块,从而产生残余变换系数的块。所述变换通常可将残余信息从像素域转换到频域。量化单元40接着量化残余变换系数以进一步减小位率。量化单元40(例如)可限制用于对系数中的每一者进行译码的位的数目。特定来说,量化单元40可应用针对LCU界定的差量QP以便界定将应用的量化的水平(例如通过将差量QP与先前LCU的QP或某一其它已知QP组合)。在对残余样本执行量化之后,熵译码单元46可对数据进行扫描及熵编码。CAVLC是ITUH.264标准和新兴HEVC标准所支持的一种类型的熵译码技术,其可由熵译码单元46以向量化基础加以应用。CAVLC以有效压缩系数和/或语法元素的串行“系列”的方式使用可变长度译码(VLC)表。CABAC是ITUH.264标准或HEVC标准所支持的另一类型的熵译码技术,其可由熵译码单元46以向量化基础加以应用。CABAC可涉及若干阶段,包括二进制化、上下文模型选择及二进制算术译码。在此情况下,熵译码单元46根据CABAC对系数和语法元素进行译码。许多其它类型的熵译码技术也存在,且新的熵译码技术将很可能在将来出现。本发明不限于任何特定熵译码技术。在由熵编码单元46熵译码之后,可将经编码的视频发射到另一装置或存档以供日后发射或检索。经译码视频可包括经熵译码向量和各种语法信息。此信息可由解码器使用以适当配置解码过程。逆量化单元42及逆变换单元44分别应用逆量化及逆变换,以在像素域中重构残余块。求和器51将所述经重构的残余块与由预测单元32产生的预测块相加,以产生用于存储在存储器34中的经重构的视频块。然而,在此存储之前,滤波器单元47可将滤波应用于视频块以改进视频质量。滤波器单元47应用的滤波可减少假影且使像素边界平滑。此外,滤波可通过产生包括与正译码视频块的紧密匹配的预测视频块来改进压缩。根据本文描述的技术,预测编码单元32可使用经排序层级来识别用于对当前块进行编码的预测块,且/或可根据经排序层级产生识别特定预测块的索引值。图3A是说明当前视频块和当前视频块可从其导出运动信息的候选预测运动视频块(即,顶部(T)、右上(TR)、左侧(L)、左下(BL)或与时间上邻近帧(Temp)共同定位)的概念图。图3B是说明当前视频块和可从图3A中的候选预测运动视频块的集合导出的多组预测运动视频块中的一者的概念图。图3C是说明当前视频块和当前视频块可从其导出运动信息的候选预测运动视频块(即,顶部(T)、左上(TL)、右上(TR)、左侧(L)或左下(BL))的概念图。图4和5是说明使用运动预测视频块的经排序层级来识别用于对当前视频块进行编码的预测视频块的概念图。在图4和5中说明的实例中,使用当前视频块与运动预测视频块中的每一者之间的时间距离来产生经排序层级。经排序层级可由视频编码器50基于输入的视频数据产生或事先产生并存储在存储器34中。基于时间距离产生经排序层级可利用具有相对于当前视频块较短的时间距离的运动预测视频块可比具有较远时间距离的视频块更可能为较好预测子的事实。在图4和5中说明的实例中,所述组运动预测块包含图3A所示的五个块。在其它实例中,所述组运动预测视频块可包含更多或更少运动预测视频块。组以及包含在组中的运动预测视频块的大小可针对每一当前视频块而变化。举例来说,可使用图5所示的五个视频块产生一组三个运动预测视频块。与运动预测视频块的运动信息相关联的图片次序计数(POC)可用于界定运动预测视频块中的每一者与当前视频块之间的时间距离。在图4和5中说明的实例中,正译码的当前视频块位于帧5中(POC=5)。运动预测视频块的运动信息指向块L的帧0、块BL的帧1、块T的帧2、块Temp的帧3和块TR的帧4。因此,运动预测块的层级可界定为:块TR之后是块Temp,之后是块T,之后是块BL,之后是块L。如上文描述,预测编码单元32可利用图5中说明的实例经排序层次来对当前视频块的运动信息进行编码。在一个实例中,经排序层次可事先编程并存储在存储器34中。在另一实例中,视频编码器50可通过分析视频数据而自适应地产生层次。一旦确定层次,就可向运动预测视频块中的每一者指派可变码字作为索引值。可向具有成为给定当前视频块的最高等级运动预测视频块的最高概率的运动预测视频块指派最短码字。在图5所示的实例中,视频块TR可具有最短码字。通过不同地指派索引值,取决于经排序层次(例如,运动信息的时间距离),可实现位节省。在一些情况下,可使用可变长度代码向具有较好相关(例如,依据运动信息的时间距离)的运动预测视频块指派较短代码。在其它情况下,可使用固定代码,但可排除一些运动预测视频块,借此归因于较少运动预测视频块的使用而允许较短固定代码。预测编码单元32可将当前视频块的运动信息与一组中的运动预测块的运动信息比较,且选择用于当前视频的索引值,其中索引值识别运动预测视频块中的一者。基于译码模式,可通过使用索引值产生当前视频块的运动信息以:从经识别的运动预测视频块继承运动向量,或通过将残余运动向量信息与经识别的运动预测视频块的运动向量进行加法或减法来计算运动向量。图4和5中说明的实例方法可基于当前视频块和运动预测视频块使用单向预测定向模式的情境。然而,图4和5的方法还可扩展到双向预测情境,其中每一视频块通过考虑双向预测模式中译码的运动预测视频块的两个不同预测块相对于当前视频块的组合距离而具有两个运动向量。在一些实例中,如果运动预测视频块中的任一者具有相同POC,那么可使用默认次序,或可使用其它准则对运动预测视频块排序。在一个实例中,默认次序可为块T、之后是块L,之后是块Temp,之后是块TR,之后是块BL。对于五块组,120个可能次序中的任一者可用作默认次序。可用于确定次序的其它准则可包含:参考列表、参考索引、预测方向、块大小、预测单元大小、预测分区类型、变换索引、变换大小,或与视频块相关的其它信息。举例来说,排序可基于正译码的视频块的大小或形状是否是运动预测视频块的大小或形状。如果一个或一个以上运动预测视频块无法仅基于指定时间特性加以排序(例如,每一运动预测视频块参考同一预测块),那么可使用第二准则来进行进一步分析或界定默认次序。第二准则可基于本文描述的其它排序技术。在本发明描述的另一技术中,一组运动预测视频块可基于当前视频块的分区类型组织为经排序层次。根据本发明,预测编码单元32可使用其它技术来对当前视频块的运动信息进行编码。图6是展示可出于确定如何对当前视频块的运动信息进行编码的目的而分析的可能视频块的一个实例的概念图。在图6中,视频块位于与当前视频块相同的帧中。在另一实例中,候选视频块也可位于与当前视频块不同(已经编码/解码)的帧中。举例来说,来自一个或一个以上先前经译码帧的当前视频块的共同定位块也可为候选视频块。预测编码单元32可分析图6中说明的候选视频块的运动信息。图7是说明用于基于准则分析视频块以便对当前视频块的运动信息进行编码的方法的实例的概念图。基本上,图7中说明的实例说明将当前视频块的运动信息与可用于对当前视频块的运动信息进行编码的视频块比较的有效方式。根据图7描述的实例可用于搜索运动预测视频块的各种大小的组。在图7所示的实例中,存在十一个运动预测视频块。所述视频块中的每一者包含方向模式值(即,单向预测或双向预测)、参考列表值和参考索引值。在将当前视频块的运动信息与图7中说明的十一个运动预测视频块中的每一者的运动信息比较之前,可首先发生方向模式值、参考列表值和参考索引值的比较。这可致使发生较少运动信息比较。如此,预测编码单元32可有效地搜索针对当前视频块的运动预测视频块。根据图7所示的实例,运动预测视频块的参考列表值和参考索引值可与当前视频块比较。在图7中说明的实例中,可作出运动预测视频块的运动向量是否是从与当前视频块运动向量的参考列表和参考索引相同的参考列表和参考索引预测的确定。如图7所示的实例中说明,假定正在双向预测模式中对当前视频块进行译码,且此双向预测模式中使用的两个运动向量指向参考列表L1和参考索引0,可进行运动预测视频块的搜索以找到在双向预测模式中译码的块,且此双向预测模式中使用的两个运动向量指向参考列表L1和参考索引0。在图7中说明的实例搜索方法中,搜索沿着左搜索方向从左侧开始(从视频块0到4),如果找到匹配(在此实例中,候选视频块2为匹配),那么可停止左搜索,且沿着顶部搜索方向从候选视频块5到10开始顶部搜索。一旦找到顶部视频块候选者的第一匹配(在此实例中,视频块6为匹配),就可停止顶部搜索。可将当前视频块的运动信息与视频块2和视频块6的运动信息比较。此过程可视需要重复,直到预测视频块的运动信息在当前视频块的运动信息的阈值内为止。应注意,在图7所示的实例中,如果未考虑预测方向,那么运动预测块组可包含视频块0(左搜索中的第一匹配)和视频块6(顶部搜索中的第一匹配)。候选视频块0可能最终不可用于当前视频块的运动向量信息的预测,因为其是在单向预测模式中译码。与本发明的实例一致,可添加额外准则来分析候选视频块。除了参考列表、参考索引和预测方向外,额外准则还可包含块大小、预测单元大小、预测分区类型、变换索引、变换大小,或与视频块相关的其它信息中的一者或一者以上。预测编码单元32可产生索引值以告知解码器在何处定位运动预测块(例如,顶部、左侧或共同定位)。解码器可执行互逆搜索过程以确定运动预测视频块。以此方式,解码器可通过执行视频块的子集的搜索而产生当前视频块的运动向量。参看图7,索引值可指示来自已知集合的运动预测视频块的子集(即,视频块0到4,或视频块5到10)。使用索引值,解码器可将例如运动预测视频块的方向模式值、参考列表值和参考索引值等信息与当前视频块比较。如果存在“匹配”,那么可从产生“匹配”的第一预测视频块产生当前视频块的运动信息。以此方式,可通过使用识别所述子集的索引值来对当前视频块的运动信息进行编码。与产生识别预测视频块的索引值相比,这可实现显著位节省。根据本发明,预测编码单元32可使用经排序层级对当前视频块的运动信息进行编码,其中经排序层级基于分区信息。图8是说明视频块分区的实例的概念图。图8所示的预测分区形状是预测分区形状的一些实例,其可由预测单元(PU)和PU索引根据新兴高效视频译码(HEVC)标准界定。当使用分区形状(其可由PU形状和界定PU的大小的索引界定)对当前视频块的运动信息进行编码时,可以较高概率至较低概率对五个候选块排序,其中所述概率对应于五个候选视频块中的一者的运动向量将与当前视频块的运动向量“匹配”的概率。经排序集合可事先编程且存储在编码器和解码器两者处。图9A到9K是说明基于一组运动预测视频块的分区类型产生经排序层级的实例的概念图。在图9A到9K中说明的实例中,所述组运动预测块包含图3A所示的五个块。在其它实例中,所述组运动预测视频块可包含更多或更少运动预测视频块。举例来说,一组可包含三个运动预测视频块。一组中包含较少运动预测视频块可减小译码复杂性。在图9A到9K所示的实例中,运动预测视频块内部的数字表示运动预测视频块的层级次序。对于每一预测分区形状(其可由PU形状和界定PU的大小的索引界定),排序可事先编程且存储在编码器和解码器两者处。举例来说,在图9A中,当分区形状为2Nx2N时,运动预测视频块的层级可界定为:块L、块T、块BL、块TR、Temp。举例来说,在图9B中,当分区形状为2NxN_0时,运动预测视频块的层级可界定为:块T、块L、块TR、块BL、Temp。举例来说,在图9C中,当分区形状为Nx2N_1时,运动预测视频块的层级可界定为:块L、块BL、块Temp、块TR、块T。举例来说,在图9D中,当分区形状为Nx2N_0时,运动预测视频块的层级可界定为:块L、块T、块BL、Temp、块TR。举例来说,在图9E中,当分区形状为Nx2N_1时,运动预测视频块的层级可界定为:块T、块TR、Temp、块BL、块L。举例来说,在图9F中,当分区形状为NxN_0时,运动预测视频块的层级可界定为:块L、块T、块BL、块TR、Temp。举例来说,在图9G中,当分区形状为NxN_2时,运动预测视频块的层级可界定为:块L、块BL、块T、块TR、Temp。举例来说,在图9H中,当分区形状为NxN_1时,运动预测视频块的层级可界定为:块T、块TR、块L、Temp、块BL。举例来说,在图9I中,当分区形状为NxN_3时,运动预测视频块的层级可界定为:块L、块T、Temp、块TR、块BL。举例来说,在图9J中,当分区形状为Nx2N_0时,运动预测视频块的层级可界定为:块TL、块T、块BL、Temp、块TR、块L。举例来说,在图9K中,当分区形状为Nx2N_1时,运动预测视频块的层级可界定为:块T、块TR、Temp、块BL、块TL、块L。预测编码单元32可使用图9A到9K中说明的实例层级排序对当前视频块的运动信息进行编码。实例层级排序可存储在存储器34中。图10是说明用于使用图9A到9K中的实例层级排序对视频数据进行编码的技术的流程图的实例。应注意,尽管结合视频编码器50描述图10,但图10中描述的步骤可由其它装置和组件执行。在步骤250处,预测编码单元32获得当前视频块的运动向量。如上文描述,运动向量指示可用于对当前视频块进行编码的预测视频块。在步骤252处,预测编码单元32获得当前视频块的分区类型。预测编码单元32可从四叉树分区单元31接收分区类型值。在一个实例中,分区类型对应于图9A到9K中描述的分区类型中的一者。在步骤254处,预测编码单元32基于分区类型选择多组所界定的经排序候选预测视频块中的一者。举例来说,如果分区类型为Nx2N_1,那么所述组经排序候选预测视频块可界定为:块T、块TR、Temp、块BL、块L。在步骤256处,预测编码单元32基于当前视频块的运动向量从所述多组所界定的经排序候选预测视频块中的所述选定一者选择预测视频块。在步骤256处,可将当前视频块的运动向量与组内的候选视频块的运动向量中的每一者比较。所述比较可以与根据图7描述的搜索类似的方式进行,其中执行最小数目的运动向量比较,且如果找到在当前视频块的运动向量的阈值内的运动向量,那么搜索完成。在步骤258处,预测编码单元32产生识别选定预测视频块的索引值。预测视频块中的每一者的索引值可存储在存储器34中。可变长度码字可用作运动预测视频块中的每一者的索引值。可向具有成为给定当前视频块的最高等级运动预测视频块的最高概率的运动预测视频块指派最短码字。通过指派可变长度索引值,可实现位节省。解码器可经编程以知晓相同层级,且因此可适当解译所接收的码字以作出与用作编码器相同的选择。在一个实例中,可向图9A到9K中界定的组的每一者中的最高等级预测视频块指派一位索引值。在其它实例中,可在任何给定情境中仅考虑子集(例如,5个中的顶部3个),这可减小译码复杂性。以此方式,如果使用视频块的子集对群组中的若干视频块进行编码,那么可进一步减少用于对所述群组进行编码的索引值的数目。在此情况下,视频编码器50可传信经编码视频块的群组的一组减少的索引值。可结合用于产生当前视频块的运动信息的方法利用基于本文描述的分区形状产生运动预测视频块的经排序层级的实例。举例来说,编码器可使用以下技术中的任一者产生当前视频块:从经识别的运动预测视频块继承运动向量;通过将残余运动向量信息与经识别的运动预测视频块的运动向量进行加法或减法来计算运动向量;或通过选择中值运动向量或对运动向量求平均而使用来自一个或一个以上高等级运动预测视频块的运动向量信息来计算运动向量。图11为说明视频解码器60的实例的框图,视频解码器60对以本文中所描述的方式进行编码的视频序列进行解码。在一些实例中,本发明的技术可由视频解码器60执行。特定来说,视频解码器60可执行本文作为解码过程的部分描述的确定当前视频块的运动信息的技术中的一者或一者以上。视频解码器60包含熵解码单元52,熵解码单元52执行与由图2的熵编码单元46执行的编码互逆的解码功能。明确地说,熵解码单元52可执行CAVLC或CABAC解码,或由视频编码器50使用的任何其它类型的熵解码。视频解码器60还包含预测解码单元54、逆量化单元56、逆变换单元58、存储器62和求和器64。特定来说,与视频编码器50一样,视频解码器60包含预测解码单元54和滤波器单元57。视频解码器60的预测解码单元54可包含运动补偿单元86,其对帧间译码块进行解码且可能包含用于运动补偿过程中的子像素内插的一个或一个以上内插滤波器。预测解码单元54还可包含用于对帧内模式进行解码的帧内预测单元。预测解码单元54可支持多个模式55,包含支持AMVP的一个或一个以上模式和/或一个或一个以上合并模式。滤波器单元57可对求和器64的输出进行滤波,且可接收经熵解码滤波器信息以便界定回路滤波过程中应用的滤波器系数。在接收到经编码视频数据后,熵解码单元52随即执行与由(图2中的编码器50的)熵编码单元46执行的编码互逆的解码。在解码器处,熵解码单元52解析位流以确定LCU和与LCU相关联的对应的分割。在一些实例中,LCU或LCU的CU可界定所使用的译码模式,且这些译码模式可包含双向预测合并模式。因此,熵解码单元52可将语法信息转发到识别双向预测合并模式的预测单元。图12是说明用于使用图9A到9K中的实例层级排序对视频数据进行解码的技术的流程图的实例。应注意,尽管结合视频编码器60描述图12,但图12中描述的步骤可由其它装置和组件执行。在步骤350处,预测解码单元54获得当前视频块的索引值。如上文结合图10描述,索引值指示可用于产生当前视频块的运动向量的预测视频块。在步骤352处,预测解码单元54获得当前视频块的分区类型。在一个实例中,分区类型对应于图9A到9K中描述的分区类型中的一者。在步骤354处,预测解码单元54基于分区类型选择多组所界定的经排序候选预测视频块中的一者。举例来说,如果分区类型为Nx2N_1,那么所述组经排序候选预测视频块可界定为:块T、块TR、Temp、块BL、块L。在步骤356处,预测解码单元54基于索引值从所述多组所界定的经排序候选预测视频块中的所述选定一者选择预测视频块。在步骤358处,预测解码单元54产生运动向量。举例来说,预测解码单元54可使用以下技术中的任一者产生运动向量:从经识别的运动预测视频块继承运动向量;通过将残余运动向量信息与经识别的运动预测视频块的运动向量进行加法或减法来计算运动向量;或通过选择中值运动向量或对运动向量求平均而使用来自一个或一个以上高等级运动预测视频块的运动向量信息来计算运动向量。在图12中描述的实例中,解码器60可经编程以知晓图9A到9K中描述的分区形状层级,且因此可适当解译所接收的索引值以作出与编码器50相同的预测视频块选择。在一个实例中,可向图9A到9K中界定的组的每一者中的最高等级预测视频块指派一位索引值。在其它实例中,可在任何给定情境中仅考虑子集(例如,5个中的顶部3个),这可减小译码复杂性。举例来说,对于Nx2N_1分区,可向所述组经排序候选预测视频块块T、块TR和Temp指派以下索引值:1、01和00。以此方式,如果仅使用顶部3个视频块索引值对若干视频块进行编码,那么可实现进一步位节省。在此情况下,视频编码器50可传信经编码视频块的群组的预测运动视频块的数目。这可以与在根据图7描述的实例中传信块的左侧集合的集合类似的方式实现。应认识到,取决于实例,本文描述的技术中的任一者的某些动作或事件可以不同次序执行、可添加、合并,或完全忽略(例如,并非所有所描述的动作或事件对于技术的实践均是必需的)。此外,在某些实施例中,可同时(例如,通过多线程处理、中断处理或多个处理器)而非顺序地执行动作或事件。在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果实施在软件中,那么所述功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或在计算机可读媒体上发射且由基于硬件的处理单元执行。计算机可读媒体可包含对应于例如数据存储媒体等有形媒体的计算机可读存储媒体,或包含促进例如根据通信协议将计算机程序从一处传送到另一处的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。借助实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。同样,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包括于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是针对非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包括紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地再现数据,而光盘使用激光光学地再现数据。上文各者的组合也应包括在计算机可读媒体的范围内。可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行所述指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供在经配置用于编码和解码的专门硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。本发明的技术可实施在广泛多种装置或设备中,包含无线手持机、集成电路(IC)或IC组(例如,芯片组)。本发明中描述各个组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,而不一定要求由不同硬件单元实现。事实上,如上文描述,各个单元可组合在编解码器硬件单元中或由互操作硬件单元(包含如上文描述的一个或一个以上处理器)的集合结合适宜的软件和/或固件来提供。已描述了各种实例。这些及其它实例属于所附权利要求书的范围内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1