HK40102066A - 用於fruc的低复杂度设计 - Google Patents
用於fruc的低复杂度设计 Download PDFInfo
- Publication number
- HK40102066A HK40102066A HK42024090326.0A HK42024090326A HK40102066A HK 40102066 A HK40102066 A HK 40102066A HK 42024090326 A HK42024090326 A HK 42024090326A HK 40102066 A HK40102066 A HK 40102066A
- Authority
- HK
- Hong Kong
- Prior art keywords
- motion vector
- blocks
- sub
- block
- video
- Prior art date
Links
Description
本分案申请是申请号为201880065526.4,申请日为2018年9月17日,发明名称为“用于FRUC的低复杂度设计”的分案申请。
本申请案主张2018年9月14日申请的美国专利申请案16/131,860的优先权,并主张2017年10月11日申请的美国临时专利申请案62/571,161的权益,所述申请案的全部内容特此以引用的方式并入。
技术领域
本发明涉及视频编码及解码。
背景技术
数字视频能力可并入至广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电电话(所谓的“智能电话”)、视频电话会议装置、视频流式处理装置等等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)、ITU-T H.265定义的标准、高效率视频译码(HEVC)标准及这些标准的扩展中所描述的那些技术。视频装置可通过实施这些视频压缩技术而更高效地发送、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的部分)分割成视频块,所述视频块也可被称作树块、译码单元(CU)及/或译码节点。图片的经帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测被编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。空间或时间预测产生用于待译码块的预测性块。残差数据表示待译码的原始块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本的块的运动向量被编码,且残差数据指示经译码块与预测性块之间的差。经帧内译码块是根据帧内译码模式及残差数据被编码。为了进一步压缩,可将残差数据从像素域变换至变换域,从而产生可接着进行量化的残差变换系数。
发明内容
一般来说,本发明描述关于对用于帧速率上转换(FRUC)的现有技术的改进的技术。美国专利公开案第US-2016-0286230号描述了基于FRUC的技术。本发明的用于低复杂度FRUC的技术可应用于例如HEVC(高效率视频译码)的现有视频编解码器中的任一者,或可为用于例如当前在开发中的多功能视频译码标准的未来视频译码标准的高效译码工具。更明确地说,本发明描述与减小来自外部存储器的用以执行对FRUC的搜索操作的参考样本的数量相关的技术。
在一个实例中,一种对视频数据解码的方法包含:由实施于处理电路中的视频解码器构造针对当前帧的部分的运动向量信息的候选者列表;由所述视频解码器接收指示运动向量信息的所述候选者列表的起始运动向量信息的信令信息,所述起始运动向量信息指示参考帧中的初始位置;由所述视频解码器基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;由所述视频解码器基于所述改进运动向量信息产生预测性块;及由所述视频解码器基于所述预测性块对所述当前帧解码。
在另一实例中,一种用于对视频数据解码的装置包含:存储器,其经配置以存储所述视频数据;及处理电路。所述处理电路经配置以:构造针对当前帧的部分的运动向量信息的候选者列表;接收指示运动向量信息的所述候选者列表的起始运动向量信息的信令信息,所述起始运动向量信息指示参考帧中的初始位置;基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;基于所述改进运动向量信息产生预测性块;及基于所述预测性块对所述当前帧解码。
在另一实例中,一种非暂时性计算机可读计算机可读媒体被配置有一或多个指令,所述一或多个指令在执行时促使一或多个处理器:构造针对当前帧的部分的运动向量信息的候选者列表;接收指示运动向量信息的所述候选者列表的起始运动向量信息的信令信息,所述起始运动向量信息指示参考帧中的初始位置;基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;基于所述改进运动向量信息产生预测性块;及基于所述预测性块对所述当前帧解码。
在另一实例中,一种装置包括:用于构造针对当前帧的部分的运动向量信息的候选者列表的装置;用于接收指示运动向量信息的所述候选者列表的起始运动向量信息的信令信息的装置,所述起始运动向量信息指示参考帧中的初始位置;用于基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息的装置,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;用于基于所述改进运动向量信息产生预测性块的装置;及用于基于所述预测性块对所述当前帧解码的装置。
在另一实例中,一种对视频数据编码的方法包含:由实施于处理电路中的视频编码器构造针对当前帧的部分的运动向量信息的候选者列表;由所述视频编码器选择运动向量信息的所述候选者列表的起始运动向量信息,所述起始运动向量信息指示参考帧中的初始位置;由所述视频编码器基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;由所述视频编码器基于所述改进运动向量信息产生预测性块;由所述视频编码器基于所述预测性块产生针对视频数据的所述当前块的残差样本值;及由所述视频编码器输出所述残差样本值的指示及指示运动向量信息的所述候选者列表的所述起始运动向量信息的信令信息。
在另一实例中,一种用于对视频数据编码的装置包含:存储器,其经配置以存储所述视频数据;及处理电路。所述处理电路经配置以:构造针对当前帧的部分的运动向量信息的候选者列表;选择运动向量信息的所述候选者列表的起始运动向量信息,所述起始运动向量信息指示参考帧中的初始位置;基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;基于所述改进运动向量信息产生预测性块;基于所述预测性块产生针对视频数据的所述当前块的残差样本值;及输出所述残差样本值的指示及指示运动向量信息的所述候选者列表的所述起始运动向量信息的信令信息。
在另一实例中,一种非暂时性计算机可读计算机可读媒体被配置有一或多个指令,所述一或多个指令在执行时促使一或多个处理器:构造针对当前帧的部分的运动向量信息的候选者列表;选择运动向量信息的所述候选者列表的起始运动向量信息,所述起始运动向量信息指示参考帧中的初始位置;基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;基于所述改进运动向量信息产生预测性块;基于所述预测性块产生针对视频数据的所述当前块的残差样本值;及输出所述残差样本值的指示及指示运动向量信息的所述候选者列表的所述起始运动向量信息的信令信息。
在另一实例中,一种装置包括:用于构造针对当前帧的部分的运动向量信息的候选者列表的装置;用于选择运动向量信息的所述候选者列表的起始运动向量信息的装置,所述起始运动向量信息指示参考帧中的初始位置;用于基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息的装置,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;用于基于所述改进运动向量信息产生预测性块的装置;用于基于所述预测性块产生针对视频数据的所述当前块的残差样本值的装置;及用于输出所述残差样本值的指示及指示运动向量信息的所述候选者列表的所述起始运动向量信息的信令信息的装置。
在以下附图及具体实施方式中阐述了本发明的一或多个方面的细节。本发明中所描述的技术的其它特征、目标及优点将从具体实施方式、附图及权利要求书显而易见。
附图说明
图1为绘示可利用本发明中所描述的一或多项技术的实例视频编码及解码系统的框图。
图2A为绘示用于合并模式的空间相邻MV候选者的概念图。
图2B为绘示用于AMVP模式的空间相邻MV候选者的概念图。
图3A为绘示HEVC中的时间运动向量预测的第一概念图。
图3B为绘示HEVC中的时间运动向量预测的第二概念图。
图4为绘示FRUC中的单边ME的概念图。
图5为绘示FRUC中的双边ME的概念图。
图6为绘示基于模板匹配的DMVD的概念图。
图7为绘示DMVD中基于镜像的双向MV导出的概念图。
图8A为绘示基于扩展双边匹配的运动向量导出的概念图。
图8B为绘示pu_dmvd_flag被添加的PU解码的框图。
图9为绘示双边匹配的概念图。
图10为绘示模板匹配的概念图。
图11为绘示用于导出IC参数的相邻样本的概念图。
图12为绘示基于双边模板匹配的DMVD的概念图。
图13为绘示可实施本发明中所描述的一或多项技术的实例视频编码器的框图。
图14为绘示可实施本发明中所描述的一或多项技术的实例视频解码器的框图。
图15为绘示根据本发明中所描述的一或多项技术的视频解码器的实例操作的框图。
图16为绘示根据本发明中所描述的一或多项技术的视频编码器的实例操作的框图。
具体实施方式
本发明的技术涉及基于块的视频译码中的解码器侧运动信息导出、块分割及/或视频数据内插。所述技术可应用于现有视频编解码器中的任一者(例如高效视频译码(HEVC)),或可为用于任何未来视频译码标准的高效译码工具。
视频译码装置实施视频压缩技术以高效地对视频数据编码及解码。视频压缩技术可包含应用空间预测(例如帧内预测)、时间预测(例如帧间预测)及/或其它预测技术以减少或移除视频序列中固有的冗余。视频编码器通常将原始视频序列的每一图片分割成被称作视频块或译码单元(下文更详细地描述)的矩形区域。可使用特定预测模式来对这些视频块编码。
对于帧间预测模式,视频编码器通常在另一时间位置中的帧(其被称作参考帧)中搜索与正被编码的块相似的块。视频编码器可将搜索限定于从待编码的块的某一空间位移。可使用包含水平位移分量及竖直位移分量的二维(2D)运动向量来定位最佳匹配。对于帧内预测模式,视频编码器可基于来自同一图片内的先前经编码相邻块的数据使用空间预测技术而形成预测块。
视频编码器可确定预测误差,即,正被编码的块中的像素值与预测块(也被称作残差值)之间的差。视频编码器还可将例如离散余弦变换(DCT)的变换应用于预测误差以产生变换系数。在变换之后,视频编码器可量化变换系数。经量化变换系数及运动向量可使用语法元素来表示,且连同控制信息一起形成视频序列的经译码表示。在一些情况下,视频编码器可对语法元素进行熵译码,由此进一步减少其表示所需的位的数目。
视频解码器可使用上文所论述的语法元素及控制信息构造用于对当前帧解码的预测性数据(例如预测性块)。举例来说,视频解码器可将预测块与经压缩预测误差相加。视频解码器可通过使用经量化系数而对变换基底函数加权来确定经压缩预测误差。经重构帧与原始帧之间的差被称作重构误差。
在一些情况下,视频解码器或后处理装置可基于一或多个参考图片而内插图片。此类经内插图片不包含于经编码位流中。视频解码器或后处理装置可内插图片以上转换经编码位流的原始帧速率。此过程可被称作帧速率上转换(FRUC)。替代地或另外,视频解码器或后处理装置可内插图片以插入被视频编码器跳过的一或多个图片,从而以减小的帧速率对视频序列编码。在任一状况下,视频解码器或后处理装置内插不包含于已由视频解码器接收的经编码位流中的帧。视频解码器或后处理装置可使用数项内插技术中的任一者而对图片进行内插,例如使用经运动补偿的帧内插、帧重复或帧平均。
虽然用于内插图片的某些技术已出于上转换的目的而使用,但此类技术在视频译码期间尚未广泛使用例如以对包含于经编码位流中的视频数据译码。举例来说,用于内插图片的技术可为相对时间密集的及/或需要相对大量的处理能力。因此,在对视频数据解码时,此类技术通常尚未在回路中执行。
根据本文中所描述的一或多项技术,并非从外部存储器检索参考样本以执行对运动向量信息(例如种子设定运动向量)的候选者列表的每一运动向量的搜索,视频解码器可仅从外部存储器检索样本以执行对由视频编码器用信号发送的运动向量信息的候选者列表的起始运动向量信息的搜索。以此方式,视频解码器可减小来自外部存储器的用以执行搜索的参考样本的量,以由此减小用以执行解码器侧运动信息导出的能量的量。举例来说,配置视频解码器以接收指示运动向量信息的候选者列表的起始运动向量信息的信令信息且改进起始运动向量信息可减小用以执行解码器侧运动信息导出的能量的量。在一些实例中,配置视频编码器以选择运动向量信息的候选者列表的起始运动向量信息且输出指示运动向量信息的候选者列表的起始运动向量信息的信令信息的指示可减小用以执行解码器侧运动信息导出的能量的量。
如本发明中所使用,术语视频译码一般是指视频编码或视频解码。相似地,术语视频译码器可一般是指视频编码器或视频解码器。此外,本发明中关于视频解码所描述的某些技术也可应用于视频编码,且反之亦然。举例来说,视频编码器及视频解码器时常经配置以执行相同过程或互逆过程。此外,作为确定如何对视频数据编码的过程的部分,视频编码器通常执行视频解码。
图1为绘示可利用本发明的FRUC技术的实例视频编码及解码系统10的框图。如图1中所示,系统10包含源装置12,源装置12提供待在稍后时间由目的地装置14解码的经编码视频数据。具体地说,源装置12经由计算机可读媒体16将视频数据提供至目的地装置14。源装置12及目的地装置14可包含广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手机、平板计算机、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式处理装置等等。在一些情况下,源装置12及目的地装置14可能经装备以用于无线通信。因此,源装置12及目的地装置14可为无线通信装置。源装置12为实例视频编码装置(即,用于对视频数据编码的装置)。目的地装置14为实例视频解码装置(即,用于对视频数据解码的装置)。
在图1的实例中,源装置12包含视频源18、经配置以存储视频数据的存储媒体19、视频编码器20,及输出接口24。目的地装置14包含输入接口26、经配置以存储经编码视频数据的存储媒体28、视频解码器30,及显示装置32。在其它实例中,源装置12及目的地装置14包含其它组件或布置。举例来说,源装置12可从外部视频源(例如外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成显示装置。
图1的所绘示系统10仅为一个实例。用于处理视频数据的技术可由任何数字视频编码及/或解码装置执行。尽管本发明的技术一般由视频编码装置执行,但所述技术还可由通常被称作“编解码器”的视频编码器/解码器执行。源装置12及目的地装置14仅为源装置12产生经译码视频数据以供发送至目的地装置14的此类译码装置的实例。在一些实例中,源装置12及目的地装置14可以大致上对称方式操作,使得源装置12及目的地装置14中的每一者包含视频编码及解码组件。因此,系统10可支持源装置12与目的地装置14之间的单向或双向视频发送,例如用于视频流式处理、视频回放、视频广播或视频电话。
源装置12的视频源18可包含视频捕获装置,例如视频相机、含有先前捕获的视频的视频存档,及/或用以从视频内容提供者接收视频数据的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频及计算机产生的视频的组合。源装置12可包括经配置以存储视频数据的一或多个数据存储媒体(例如存储媒体19)。本发明中所描述的技术可大体上适用于视频译码,且可应用于无线及/或有线应用。在每一状况下,捕获、预捕获或计算机产生的视频可由视频编码器20编码。输出接口24可将经编码视频信息输出至计算机可读媒体16。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动至目的地装置14的任一类型的媒体或装置。在一些实例中,计算机可读媒体16包括通信媒体以使源装置12能够实时地将经编码视频数据直接发送至目的地装置14。可根据通信标准(例如无线通信协议)调制经编码视频数据,且将其发送至目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一或多个物理发送线。通信媒体可形成基于数据包的网络(例如局域网、广域网或例如互联网的全局网络)的部分。通信媒体可包含路由器、交换机、基站,或可用于促进从源装置12至目的地装置14的通信的任何其它设备。目的地装置14可包括经配置以存储经编码视频数据及经解码视频数据的一或多个数据存储媒体。
在一些实例中,经编码数据可从输出接口24输出至存储装置。相似地,可由输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。在再一实例中,存储装置可对应于可存储由源装置12产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式处理或下载从存储装置存取经存储视频数据。文件服务器可为能够存储经编码视频数据且将所述经编码视频数据发送至目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如用于网站)、FTP服务器、网络连接存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含互联网连接)而存取经编码视频数据。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如Wi-Fi连接)、有线连接(例如DSL、电缆调制解调器等等)或两者的组合。经编码视频数据从存储装置的发送可为流式处理发送、下载发送或其组合。
所述技术可应用于支持多种多媒体应用中的任一者的视频译码,例如空中电视广播、有线电视发送、卫星电视发送、互联网流式处理视频发送(例如经由HTTP的动态自适应流式处理(DASH))、编码至数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发送从而支持例如视频流式处理、视频回放、视频广播及/或视频电话的应用。
计算机可读媒体16可包含:暂时性媒体,例如无线广播或有线网络发送;或存储媒体(即,非暂时性存储媒体),例如硬盘、闪存驱动器、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置12接收经编码视频数据,且例如经由网络发送将经编码视频数据提供至目的地装置14。相似地,例如光盘冲压设施的媒体生产设施的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可被理解为包含各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口26从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20的视频编码器20定义的语法信息,所述语法信息还由视频解码器30使用,所述语法信息包含描述块及其它经译码单元(例如图片群组(GOP))的特性及/或处理的语法元素。存储媒体28可经配置以存储经编码视频数据,例如由输入接口26接收的经编码视频数据(例如位流)。显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20及视频解码器30各自可被实施为多种合适编码器电路中的任一者,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且使用一或多个处理器在硬件中执行所述指令,以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,编码器或解码器中的任一者可被集成为相应装置中的组合式编码器/解码器(编解码器)的部分。
在一些实例中,视频编码器20及视频解码器30可根据例如现有或未来标准的视频译码标准进行操作。实例视频译码标准包含但不限于:ITU-TH.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IEC MPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual及ITU-T H.264(也被称作ISO/IEC MPEG-4AVC),包含其可缩放视频译码(SVC)及多视图视频译码(MVC)扩展。另外,最近已由ITU-T视频译码专家组(VCEG)及ISO/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)以及3D视频译码扩展开发联合协作小组(JCT-3V)开发新的视频译码标准,即,高效率视频译码(HEVC)或ITU-T H.265,包含其范围及屏幕内容译码扩展、3D视频译码(3D-HEVC)与多视图扩展(MV-HEVC),及可缩放扩展(SHVC)。
在HEVC及其它视频译码规范中,视频序列通常包含一系列图片。图片也可被称为“帧”。图片可包含被标示为SL、SCb及SCr的三个样本阵列。SL为亮度样本的二维阵列(即,块)。SCb为Cb彩度样本的二维阵列。SCr为Cr彩度样本的二维阵列。彩度样本也可在本文中被称作“色度(chroma)”样本。在其它情况下,图片可为单色的,且可仅包含亮度样本阵列。
为了产生图片的经编码表示,视频编码器20可对视频数据的图片的块编码。视频编码器20可将视频块的经编码表示包含于位流中。举例来说,在HEVC中,为了产生图片的经编码表示,视频编码器20可产生译码树单元(CTU)的集合。CTU中的每一者可包括一或多个译码树块(CTB),且可包括用以对所述一或多个译码树块的样本译码的语法结构。举例来说,每一CTU可包括亮度样本的译码树块、色度样本的两个对应译码树块,及用以对译码树块的样本译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CTU可包括单个译码树块及用以对所述译码树块的样本译码的语法结构。译码树块可为样本的N×N块。CTU也可被称作“树块”或“最大译码单元”(LCU)。语法结构可被定义为以指定次序一起存在于位流中的零或多个语法元素。CTB的大小可在HEVC主规范中的16×16至64×64的范围内(但技术上可支持8×8CTB大小)。
在HEVC中,切片包含以光栅扫描次序连续定序的整数数目个CTU。因此,在HEVC中,切片中的最大译码单元被称为译码树块(CTB)。
在HEVC中,为了产生图片的经译码CTU,视频编码器20可对CTU的译码树块递回地执行四叉树分割,以将译码树块划分成译码块,因此命名为“译码树单元”。译码块为样本的N×N块。译码单元(CU)可包括一或多个译码块及用以对所述一或多个译码块的样本译码的语法结构。举例来说,CU可包括具有亮度样本阵列、Cb样本阵列及Cr样本阵列的图片的亮度样本的译码块,及色度样本的两个对应译码块,及用以对译码块的样本译码的语法结构。在单色图片或具有三个单独颜色平面的图片中,CU可包括单个译码块及用于对所述译码块的样本译码的语法结构。因此,CTB可含有四叉树,四叉树的节点为CU。
另外,视频编码器20可对CU编码。举例来说,为了对CU编码,视频编码器20可将CU的译码块分割成一或多个预测块。预测块为供应用相同预测的样本的矩形(即,正方形或非正方形)块。CU的预测单元(PU)可包括CU的一或多个预测块,及用以预测所述一或多个预测块的语法结构。举例来说,PU可包括亮度样本的预测块、色度样本的两个对应预测块,及用以对预测块进行预测的语法结构。在单色图片或具有三个单独颜色平面的图片中,PU可包括单个预测块及用于对所述预测块进行预测的语法结构。视频编码器20可针对CU的每一PU的预测块(例如亮度、Cb及Cr预测块)产生预测性块(例如亮度、Cb及Cr预测性块)。
在HEVC中,每一CU是以一个模式译码,所述一个模式可为帧内模式或帧间模式。当CU被帧间译码(即,应用帧间模式)时,CU可进一步分割成2或4个PU或当不应用进一步分割时仅变成一个PU。当两个PU存在于一个CU中时,两个PU可为一半大小的矩形或具有CU的1/4或3/4大小的两个矩形大小。如图3中所示,存在用于运用帧间预测模式译码的CU的八个分割模式,即:PART_2N×2N、PART_2N×N、PART_N×2N、PART_N×N、PART_2N×nU、PART_2N×nD、PART_nL×2N及PART_nR×2N。
当CU被帧间译码时,针对每一PU存在运动信息的一个集合。另外,每一PU是运用唯一帧间预测模式来译码以导出运动信息集合。如果视频编码器20使用帧内预测来产生PU的预测性块,那么视频编码器20可基于包含PU的图片的经解码样本来产生PU的预测性块。当CU被帧内译码时,2N×2N及N×N为仅容许的PU形状,且在每一PU内,单个帧内预测模式被译码(而色度预测模式是在CU层级处用信号发送)。在当前CU大小等于序列参数集(SPS)中定义的最小CU大小时,仅允许N×N帧内PU形状。
视频编码器20可产生CU的一或多个残差块。举例来说,视频编码器20可产生用于CU的亮度残差块。CU的亮度残差块中的各样本指示CU的预测性亮度块中的一者中的亮度样本与CU的原始亮度译码块中的对应样本之间的差。另外,视频编码器20可产生用于CU的Cb残差块。CU的Cb残差块中的每一样本可指示CU的预测性Cb块中的一者中的Cb样本与CU的原始Cb译码块中的对应样本之间的差。视频编码器20还可产生CU的Cr残差块。CU的Cr残差块中的每一样本可指示CU的预测性Cr块中的一者中的Cr样本与CU的原始Cr译码块中的对应样本之间的差。
此外,视频编码器20可将CU的残差块分解成一或多个变换块。举例来说,视频编码器20可使用四叉树分割以将CU的残差块分解成一或多个变换块。变换块为供应用相同变换的样本的矩形((例如正方形或非正方形)块。CU的变换单元(TU)可包括一或多个变换块。举例来说,TU可包括亮度样本的变换块、色度样本的两个对应变换块,及用以对变换块样本进行变换的语法结构。因此,CU的每一TU可具有亮度变换块、Cb变换块以及Cr变换块。TU的亮度变换块可为CU的亮度残差块的子块。Cb变换块可为CU的Cb残差块的子块。Cr变换块可为CU的Cr残差块的子块。在单色图片或具有三个单独颜色平面的图片中,TU可包括单个变换块及用于变换所述变换块的样本的语法结构。
视频编码器20可将一或多个变换应用于TU的变换块,以产生TU的系数块。举例来说,视频编码器20可将一或多个变换应用于TU的亮度变换块,以产生TU的亮度系数块。系数块可为变换系数的二维阵列。变换系数可为标量。视频编码器20可将一或多个变换应用于TU的Cb变换块以产生TU的Cb系数块。视频编码器20可将一或多个变换应用于TU的Cr变换块,以产生TU的Cr系数块。
在一些实例中,视频编码器20跳过变换至变换块的应用。在这些实例中,视频编码器20可处理残差样本值,可以与变换系数相同的方式处理残差样本值。因此,在视频编码器20跳过变换的应用的实例中,变换系数及系数块的以下论述可适用于残差样本的变换块。
在产生系数块之后,视频编码器20可量化所述系数块。量化大体上是指将变换系数量化以可能地减少用以表示变换系数的数据的量从而提供进一步压缩的过程。在一些实例中,视频编码器20跳过量化。在视频编码器20将系数块量化之后,视频编码器20可产生指示经量化变换系数的语法元素。视频编码器20可对指示经量化变换系数的语法元素中的一或多者进行熵编码。举例来说,视频编码器20可对指示经量化变换系数的语法元素执行上下文自适应二进制算术译码(CABAC)。
视频编码器20可输出包含经编码视频数据的位流。举例来说,位流可包括形成视频数据及关联数据的经译码图片的表示的一系列位。因此,位流包括视频数据的经编码表示。在一些实例中,经译码图片的表示可包含块的经编码表示。因此,视频编码器20可在位流中用信号发送块的经编码表示中的块的变换系数。在一些情况下,视频编码器20可使用一或多个语法元素以用信号发送块的每一变换系数。
所述位流可包括网络抽象层(NAL)单元的序列。NAL单元为含有如下两者的语法结构:NAL单元中的数据的类型的指示,及含有所述数据的呈按需要穿插有仿真防止位的原始字节序列有效负载(RBSP)的形式的字节。NAL单元中的每一者可包含NAL单元标头且囊封RBSP。NAL单元标头可包含指示NAL单元类型码的语法元素。由NAL单元的NAL单元标头指定的NAL单元类型码指示NAL单元的类型。RBSP可为含有囊封在NAL单元内的整数数目个字节的语法结构。在一些情况下,RBSP包含零个位。
视频解码器30可接收由视频编码器20产生的位流。此外,视频解码器30可剖析位流以从所述位流获得语法元素。视频解码器30可至少部分地基于从位流获得的语法元素而重构视频数据的图片。重构视频数据的过程可与由视频编码器20执行的过程大体上互逆。举例来说,视频解码器30可使用PU的运动向量来确定当前CU的PU的预测性块。另外,视频解码器30可反量化当前CU的TU的系数块。视频解码器30可对系数块执行反变换,以重构当前CU的TU的变换块。视频解码器30可通过将当前CU的PU的预测性块的样本与当前CU的TU的变换块的对应样本相加来重构当前CU的译码块。通过重构图片的各CU的译码块,视频解码器30可重构所述图片。
在2016年,MPEG及ITU-T VCEG形成联合探索视频小组(JVET),以探索用于下一代视频译码标准的新译码工具。参考软件被称作JEM(联合探索模型)。对于每一块,运动信息的集合可供使用。运动信息的集合含有用于前向及后向预测方向的运动信息。此处,前向及后向预测方向为双向预测模式的两个预测方向,且术语“前向”及“后向”未必具有几何含义;实情为术语对应于当前图片的参考图片列表0(RefPicList0)及参考图片列表1(RefPicList1)。当仅仅一个参考图片列表可供用于图片或切片时,仅仅RefPicList0可为可用的,且切片的每一块的运动信息始终为前向的。
在一些状况下,运动向量连同其参考索引一起用于解码过程中,此运动向量与相关联参考索引被标示为运动信息的单向预测性集合。在一些实例中,对于每一预测方向来说,运动信息必须含有参考索引及运动向量。在一些状况下,为了简单起见,可以假定运动向量自身具有相关联参考索引的方式参考所述运动向量。参考索引用于识别当前参考图片列表(RefPicList0或RefPicList1)中的参考图片。运动向量具有水平分量及竖直分量。
视频译码标准中广泛使用图片次序计数(POC)以识别图片的显示次序。尽管存在一个经译码视频序列内的两个图片可具有相同POC值的情况,但经译码视频序列内通常不发生此类情况。当位流中存在多个经译码视频序列时,就解码次序来说,具有相同POC值的图片可更接近于彼此。图片的POC值可用于参考图片列表构造、如HEVC中的参考图片集合的导出及运动向量缩放。
在H.264/AVC中,每一帧间宏块(MB)可以如下四种不同方式分割:一个16×16MB分区;两个16×8MB分区;两个8×16MB分区;或四个8×8MB分区。一个MB中的不同MB分区每一方向可具有不同参考索引值(RefPicList0或RefPicList1)。当MB不被分割成四个8×8MB分区时,MB在每一方向上对于每一MB分区可仅具有一个运动向量。
在H.264/AVC中,当MB被分割成四个8×8MB分区时,每一8×8MB分区可进一步被分割成子块,所述子块中的每一者在每一方向可具有不同运动向量。可存在四种不同方式来从8×8MB分区获得子块:一个8×8子块;两个8×4子块;两个4×8子块;或四个4×4子块。每一子块在每一方向上可具有不同运动向量。因此,运动向量以等于、高于子块的层级呈现。
在AVC中,可在B切片中针对跳过或直接模式而在MB或MB分区层级启用时间直接模式。对于每一MB分区,与当前块的RefPicList1[0]中的当前MB分区共置的块的运动向量用以导出运动向量。共置块中的每一运动向量可基于POC距离缩放。在AVC中,直接模式还可从空间相邻者预测运动信息。
在HEVC中,切片中的最大译码单元被称为译码树块(CTB)。CTB含有四叉树,所述四叉树的节点为译码单元。CTB的大小可在HEVC主规范中的16×16至64×64的范围内(但技术上可支持8×8CTB大小)。译码单元(CU)大小可与CTB相同,但可为且小到8×8。每一译码单元运用一个模式(帧内模式或帧间模式)译码。当CU被帧间译码时,CU可进一步分割成2个或4个预测单元(PU)或当不应用进一步分割时变为仅一个PU。当两个PU存在于一个CU中时,两个PU可为一半大小的矩形或具有CU的1/4或3/4大小的两个矩形大小。
当CU被帧间译码时,针对每一PU存在运动信息的一个集合。另外,每一PU是运用唯一帧间预测模式来译码以导出运动信息集合。14
在HEVC标准中,对于预测单元(PU)存在分别命名为合并(跳过被视为合并的特殊状况)及高级运动向量预测(AMVP)模式的两个帧间预测模式。
在AMVP或合并模式中,针对多个运动向量预测子维持运动向量(MV)候选者列表。当前PU的运动向量以及合并模式中的参考索引是通过从MV候选者列表获取一个候选者而产生。
MV候选者列表含有用于合并模式的至多5个候选者及用于AMVP模式的仅仅两个候选者。合并候选者可含有运动信息的集合,例如对应于参考图片列表(列表0及列表1)及参考索引两者的运动向量的集合。如果由合并索引来识别合并候选者,那么参考图片用于当前块的预测,以及确定相关联的运动向量。然而,在AMVP模式下,对于从列表0或列表1的每一潜在预测方向,需要明确地将参考索引连同针对MV候选者列表的MVP索引一起用信号发送,这是因为AMVP候选者仅含有运动向量。在AMVP模式中,可进一步改进经预测运动向量。
合并候选者可对应于运动信息的整个集合,而AMVP候选者仅含有用于特定预测方向的一个运动向量及参考索引。以相似方式从相同空间及时间相邻块导出用于两个模式的候选者。尽管从块产生候选者的技术对于合并及AMVP模式来说不同,但对于特定PU(PU0)来说,空间MV候选者是从图2A及2B中展示的相邻块导出。
图2A及2B为绘示HEVC中的空间相邻候选者的概念图。在一些实例中,视频编码器20及/或视频解码器30可针对PU0而从相邻块0、相邻块1、相邻块2、相邻块3或相邻块4导出空间运动向量(MV)候选者。
在一些情况下,用于从块产生MV候选者的技术对于合并及AMVP模式不同。图2A绘示合并模式的一个实例。举例来说,在HEVC中,视频译码器(例如图1的视频编码器20及/或视频解码器30)可导出高达四个空间MV候选者。所述候选者可包含于具有特定次序的候选者列表中。在一个实例中,图2A的实例的次序可为相邻块0(A1)、相邻块1(B1)、相邻块2(B0)、相邻块3(A0)及相邻块4(B2)。
图2B绘示AMVP模式的一个实例。举例来说,在HEVC中,视频译码器可将相邻块分成两个群组:左侧群组,其包含相邻块0及相邻块1;及上方群组,其包含相邻块2、相邻块3及相邻块4。对于每一群组,与参考与由用信号发送的参考索引指示的参考图片相同的参考图片的相邻块(对于当前经译码的块)相关联的潜在运动向量候选者可具有最高优先以被选择来形成群组的最终候选者。有可能的是相邻块皆不含有指向同一参考图片的运动向量。因此,如果未能找到此候选者,那么视频译码器可缩放第一可用候选者以形成最终候选者,因此可补偿时间距离差。
根据本发明的方面,运动向量候选者(例如与展示于图2A及2B中的相邻块相关联的运动向量)可用以导出块的运动向量。举例来说,视频译码器可产生候选者列表,所述候选者列表包含来自展示于图2A及2B中的相邻块的运动向量候选者(例如运动向量信息的候选者列表)。在此实例中,视频译码器可使用候选者列表中的候选者中的一或多者作为运动信息导出过程(例如双边匹配、模板匹配等等)中的初始运动向量(例如起始运动向量信息)。视频译码器可在运动向量导出过程的运动搜索中应用运动向量候选者中的一或多者以识别参考数据。视频译码器可从列表选择出识别与参考数据紧密地匹配的候选者。举例来说,视频译码器可针对对应于当前块外部的第二参考数据集合的第一参考数据集合执行运动搜索。在一些情况下,视频译码器可例如通过在由选定候选者指示的区域中执行额外运动搜索来进一步改进候选者以使用运动信息导出过程确定所导出的运动向量。
图3A及3B为绘示HEVC中的时间运动向量预测的概念图。时间运动向量预测子(TMVP)候选者在经启用且可用时在空间运动向量候选者之后被添加至MV候选者列表中。在HEVC中,用于TMVP候选者的运动向量导出的过程对于合并模式及AMVP模式两者为相同的,然而,在合并模式中用于TMVP候选者的目标参考索引通常被设定为零。
图3A绘示TMVP候选者的主要块位置(被展示为块“T”),其为共置PU外部的右下块。所述位置可补偿向用以产生空间相邻候选者的上方块及左侧块的偏置。然而,如果块T位于当前CTB行外部或运动信息不可用,那么所述块被PU的中心块取代,如在图3A中由从块T起的虚线箭头所绘示。
图3B绘示从如在切片层级(例如在切片标头中)指示的共置图片92的共置PU 90导出当前图片88的当前块86的TMVP候选者84。相似于AVC中的时间直接模式,TMVP候选者的运动向量可经受运动向量缩放,所述操作经执行以补偿距离差,例如图片之间的时间距离。关于运动向量缩放,视频译码器(例如视频编码器20及/或视频解码器30)可经配置以最初确定运动向量的值与图片在呈现时间上的距离成比例。运动向量与如下两个图片相关联:参考图片及含有运动向量的图片(即,含有图片)。当一运动向量被用以预测另一运动向量时,含有图片与参考图片的距离是基于POC值进行计算。
对于待预测的运动向量,运动向量的相关联的含有图片及运动向量的参考图片两者可不同。因此,视频译码器可基于POC值而计算新距离,且视频译码器可基于这两个POC距离而缩放运动向量。对于空间相邻候选者,用于两个运动向量的含有图片相同,而参考图片不同。在HEVC中,运动向量缩放应用于空间及时间邻近候选者的TMVP16及AMVP两者。
在一些实例中,视频译码器可经配置以确定一或多个假造运动向量候选者。举例来说,如果运动向量候选者列表并不完整,那么视频译码器可产生假造运动向量候选者,且在列表末尾插入假造运动向量候选者,直到所述列表包含预定数目个条目。在合并模式中,存在两种类型的假造MV候选者,包含仅针对B切片导出的组合候选者,及零候选者。在一些情况下,如果组合类型并不提供足够假造候选者,那么针对AMVP仅使用零候选者。
对于已在候选者列表中且具有必要运动信息的每一对候选者,通过参考列表0中的图片的第一候选者的运动向量与参考列表1中的图片的第二候选者的运动向量的组合来导出双向组合运动向量候选者。
根据本发明的方面,运动向量候选者(例如展示于图3A及3B中的TMVP)可用以导出块的运动向量。举例来说,视频译码器可产生包含根据上文所描述的过程而确定的TMVP的候选者列表。在此实例中,视频译码器可使用TMVP作为运动信息导出过程(例如双边匹配、模板匹配等等)中的初始运动向量。视频译码器可在运动向量导出过程中应用TMVP以识别参考数据。视频译码器可在TMVP识别紧密地匹配的参考数据的情况下选择TMVP。在一些情况下,视频译码器可进一步改进TMVP以使用运动信息导出过程确定所导出的运动向量。
在一些实例中,视频译码器可修剪包含运动向量候选者的候选者列表。举例来说,在一些情况下,来自不同块的候选者可恰好相同,这降低了合并/AMVP候选者列表的效率。视频代码可应用修剪过程以解决此问题。视频译码器可比较当前候选者列表中的一个候选者与其它候选者,以避免插入相同候选者。为了降低复杂度,视频译码器可仅应用有限数目次修剪过程,而非比较每一潜在候选者与所有其它现有候选者。
在一些实例中,运动向量的值在呈现时间上与图片的距离成比例。在这些实例中,运动向量可使两个图片即参考图片与含有运动向量的图片(即,含有图片)相关联。当一运动向量被用以预测另一运动向量时,含有图片与参考图片的距离是基于POC值进行计算。
对于待预测的运动向量,其相关联的含有图片及参考图片可不同。因此,计算新距离(例如基于POC)。且运动向量基于这两个POC距离缩放。对于空间相邻候选者,用于两个运动向量的含有图片相同,而参考图片不同。在HEVC中,运动向量缩放应用于空间及时间邻近候选者的TMVP及AMVP两者。
如果运动向量候选者列表并不完整,那么可产生假造运动向量候选者并在列表末尾插入假造运动向量候选者,直到运动向量候选者列表将具有所有候选者。在合并模式中,存在两个类型的假造MV候选者:仅针对B切片导出的组合式候选者,在第一类型并未提供足够假造候选者情况下仅针对AMVP使用的零候选者。对于已在候选者列表中且具有必要运动信息的每一对候选者,双向组合式动向量候选者可通过参考列表0中的图片的第一候选者的运动向量与参考列表1中的图片的第二候选者的运动向量的组合导出。
来自不同块的候选者可恰巧相同,这降低了合并/AMVP候选者列表的效率。应用修剪过程以解决此问题。修剪过程将一个候选者与当前候选者列表中的其它候选者相比较以避免插入在某些程度上相同候选者。为了减小复杂度,应用仅仅受限制数目个修剪过程,而非比较每一潜在候选者与所有其它现有候选者。
图4为绘示帧速率上转换(FRUC)中的单边运动估计(ME)的实例的概念图。具体地说,图4绘示当前帧100、参考帧102及内插帧104。在一些情况下,视频解码器或后处理装置可基于一或多个参考图片而内插图片。视频解码器或后处理装置可内插图片以上转换经编码位流的原始帧速率。替代地,视频解码器或后处理装置可内插图片以插入被视频编码器跳过的一或多个图片,从而以减小的帧速率对视频序列编码。在任一状况下,视频解码器或后处理装置使用已解码的图片(例如当前帧100及参考帧102)内插不包含于已由视频解码器接收的经编码位流中的帧(例如经内插帧104)。视频解码器或后处理装置可使用数项内插技术中的任一者而对图片进行内插,例如使用经运动补偿的帧内插、帧重复或帧平均。
上文所提到的帧内插技术为通常实施的回路后内插。举例来说,视频解码器通常接收及解码经编码位流以产生包含当前帧100及参考帧102的视频序列的经重构表示。在解码回路之后,视频解码器或另一后处理装置可内插待由包含经内插帧104的经重构表示包含的图片。在一些情况下,内插图片的过程可被称作帧速率上转换(FRUC),这是因为图片的所得序列包含未包含于经编码位流中的额外(经内插)图片。
因此,FRUC技术可用于基于低帧速率视频产生高帧速率视频。FRUC已用于显示器行业中。实例包含例如X.Chen、J.An、J.Zheng的“EE3:Decoder-Side Motion VectorRefinement Based on Bilateral Template Matching”(JVET-E0052,2017年1月),W.H.Lee、K.Choi、J.B.Ra的“Frame rate up conversion based on variational imagefusion”(IEEE图像处理汇刊,第23卷第1号,2014年1月),及U.S.Kim、M.H.Sunwoo的“Newframe rate up-conversion algorithms with low computational complexity”(IEEE视频技术电路及系统汇刊,第24卷第3号,2014年3月)。
FRUC算法可分成两种类型。一种类型的方法通过简单的帧重复或平均来内插中间帧。然而,此方法在含有大量运动的图片中提供不适当结果。被称为经运动补偿FRUC(MC-FRUC)的另一类型的技术在在MC-FRUC产生中间帧时考虑对象移动,且由两个步骤组成:运动估计(ME)及经运动补偿内插(MCI)。ME产生使用向量来表示对象运动的运动向量(MV),而MCI使用MV来产生中间帧。
块匹配算法(BMA)广泛地用于MC-FRUC中的ME,这是因为MC-FRUC实施简单。BMA将图像分成块,且检测那些块的移动例如以确定块是否对应。两个种类的ME主要用于BMA:单边ME及双边ME。
如图4中所展示,单边ME通过从当前帧100的参考帧102搜索最佳匹配块来获得MV。接着,在经内插帧中的运动轨迹上的块可经定位使得实现MV。如图4中所展示,包含分别来自当前帧100、参考帧102及经内插帧104的106A、106B及106C的三个块被涉及以遵循运动轨迹。尽管当前帧100中的块106A属于经译码块,但参考帧102中的最佳匹配块106B可能不完全属于经译码块,且经内插帧104中的块106C也不完全属于经译码块。因此,块与未填充(孔)区的重叠区可出现于经内插帧中。
为了处置重叠,简单FRUC算法仅涉及对经重叠像素进行平均及覆写经重叠像素。此外,孔由来自参考或当前帧的像素值覆盖。然而,这些算法产生块伪影及模糊。因此,提议运动场分段、使用离散哈特莱(Hartley)变换的连续外插及图像修复以处置孔及重叠而不增加块伪影及模糊。
图5为绘示FRUC中的双边运动估计(ME)的实例的概念图。具体地说,图5绘示从当前帧114的当前块112及参考帧118的参考块116内插的经内插帧110的经内插块108。如图5中所展示,双边ME为可用以避免由展示于图4中的重叠及孔引起的问题的另一解决方案(在MC-FRUC中)。双边ME分别使用当前帧114的块112与参考帧118的块116之间的时间对称性来获得通过经内插块108的MV。结果,双边ME不产生重叠及孔。由于双边ME假定当前块为正被处理的块,因此以某次序例如如在视频译码的状况下,这些块的序列将涵盖整个中间图片而无重叠。举例来说,在视频译码的状况下,可以解码次序处理块。
根据本发明的方面,展示于图5的实例中的双边运动估计可用以导出运动信息。举例来说,视频译码器(例如视频编码器20或视频解码器30)可应用双边匹配作为运动信息导出模式以在译码期间导出运动信息。在双边匹配中,视频译码器可针对对应于第二参考图片中的第二参考数据集合的第一参考图片中的第一参考数据集合执行运动搜索。
根据本发明的其它方面,视频译码器(例如视频编码器20及/或视频解码器30)可使用展示于图5中的双边匹配技术在编码或解码回路中产生经内插帧。举例来说,视频译码器可使用图片层级FRUC来使用经重构像素阵列内插经内插图片作为当前图片的预测子。在一些实例中,此经内插图片可被视为参考图片或当前图片的重构。在其它实例中,视频译码器可将当前图片设定为等于经内插图片。此图片可通过语法元素或解码过程标记为可舍弃图片及/或非参考图片。
图6为绘示基于模板匹配的解码器侧运动向量导出(DMVD)的实例的概念图。就高级视频编解码器来说,位流中运动信息的位百分数变得越来越高。在一些情况下,DMVD可减小运动信息的位成本。基于模板匹配的DMVD可展现译码效率改善,如描述于例如S.Kamp、M.Wien的“Decoder-side motion vector derivation for block-based video coding”(IEEE视频技术电路及系统汇刊,第22卷,第12期,2012年12月)中。
在图6的实例中,当前图片120包含预测目标122(例如当前正被译码的块)及模板124。参考图片126包含共置模板128、最佳匹配130及位移向量132。视频译码器(例如视频编码器20及/或视频解码器30)可使用模板124来搜索预测目标122的最佳匹配(例如而非使用尚未译码的预测目标122自身)。举例来说,视频译码器可执行运动搜索以识别对应于预测目标122(例如模板124)外部的第二参考集合的第一参考数据集合(例如最佳匹配130)。如上文所提到,对应可基于参考数据之间的相似性的量而确定,且在本文中可被称作确定“匹配”或“最佳匹配”。
在所展示的实例中,视频译码器可识别参考图片126中的共置模板128。视频译码器可接着搜索最佳匹配130,其包含相似于模板124的像素值。视频译码器可基于参考图片126中的共置模板128及最佳匹配130的位移而确定位移向量132。
假定模板124及预测目标122来自同一对象,那么模板的运动向量可用作预测目标的运动向量。因此,在图8的实例中,视频译码器可将位移向量132应用于预测目标122。由于在视频编码器及视频解码器两者处进行模板匹配,因此可在解码器侧处导出运动向量以避免信号发送成本。
根据本发明的方面,视频译码器可应用模板匹配作为运动信息导出模式。举例来说,视频译码器可应用模板匹配以通过定位当前图片的模板124与参考图片126中的对应参考数据之间的最佳匹配来导出当前块的运动信息。虽然图6的实例将模板124绘示为视频数据的L形块,但应理解,可使用其它模板。举例来说,视频译码器可使用多个块作为模板,例如定位于预测目标122的左侧的一或多个块及定位于预测目标122上方的一或多个块。
根据本发明的方面,视频译码器可应用展示于图6中的使用来自运动向量的候选者列表的一或多个运动向量的模板匹配技术。举例来说,视频译码器可经配置以使用本文中所描述的技术(例如合并模式候选者、AMVP候选者、TMVP等等)的任何组合来确定一或多个候选运动向量。视频译码器可接着经配置以将候选运动向量中的一或多者应用于模板124,从而定位共置模板128(在此实例中,共置模板128的位置由一或多个候选运动向量指示且未必经严格地共置)。视频译码器可经配置以确定候选运动向量中的哪一者产生模板块124与共置模板128之间的最佳匹配。
根据本发明的方面,视频译码器可接着经配置以改进候选运动向量,从而导出预测目标122的运动信息。举例来说,视频译码器可在参考图片126的由候选运动向量识别的区中搜索模板124的最佳匹配。在确定最佳匹配后,视频译码器即可确定模板124与经确定最佳匹配之间的位移。视频译码器可将所述位移指明为预测目标122的所导出的运动向量。
图7为绘示DMVD中的双向运动向量导出的实例的概念图。另一类别的DMVD为基于镜像的双向MV导出,如描述于例如邱义仁、徐立冬、张文浩、蒋洪的“Decoder-side MotionEstimation and Wiener filter for HEVC”(视觉通信及图像处理(VCIP),2013年)。DMVD中的双向运动向量导出的概念可相似于FRUC中的双边ME。举例来说,基于镜像的MV导出可通过以分数样本准确度的围绕搜索中心的中心对称运动估计来应用。
图7的实例包含具有当前块142(当前正被译码的块)的当前图片140、识别第一参考图片146(L0 ref)的第一模板块144的第一候选运动向量PMV0及识别第二参考图片150的第二模板块148的第二候选运动向量PMV1。视频译码器可将dMV应用为偏移以在第一参考图片146的搜索窗口154中定位第一参考块152,且在第二参考图片150的搜索窗口158中定位第二参考块156。
举例来说,视频译码器可将dMV与PMV0相加且从PMV1减去dMV以产生MV对:MV0及MV1。视频译码器可检查搜索窗口154及158内的dMV的所有值以确定dMV的哪一值产生L0参考的第一参考块152(例如第一参考数据集合)与L1参考的第二参考块156(例如第二参考数据集合)之间的最佳匹配。在一些实例中,视频译码器可基于绝对差总和(SAD)而确定最佳匹配。在其它实例中,视频译码器可使用另一度量来确定最佳匹配。搜索窗口154及158的大小及位置可为预定义的或可在位流中用信号发送。
视频译码器可选择具有最小SAD的MV对作为中心对称运动估计的输出。由于此技术将未来参考(在迟于当前帧的时间位置处的参考)及较早参考(在早于当前帧的时间位置处的参考)用于SAD匹配,因此选择具有仅前一参考可用的最小SAD的MV不可应用于P帧或低延迟B帧。
根据本发明的方面,视频译码器可应用双向运动向量导出技术作为运动信息导出模式。在一些实例中,视频译码器可应用使用来自运动向量的候选者列表的一或多个运动向量的展示于图7中的技术。举例来说,视频译码器可经配置以使用本文中所描述的技术(例如合并模式候选者、AMVP候选者、TMVP等等)的任何组合来确定一或多个候选运动向量。视频译码器可接着经配置以应用候选运动向量中的一或多者作为PMV0及/或PMV1,从而定位第一模板块144及第二模板块148。视频译码器可经配置以确定候选运动向量中的哪一者产生第一模板块144与第二模板块148之间的最佳匹配。
根据本发明的方面,视频译码器可接着经配置以改进候选运动向量,从而导出当前块142的运动信息。举例来说,视频译码器可通过以上文所描述的方式应用dMV的多种值来搜索最佳匹配。以此方式,视频译码器可导出MV对:MV0及MV1。
图8A为绘示基于扩展双边匹配的运动向量导出的概念图。基于镜像的双向MV导出(例如如图7中所展示)的一个潜在缺陷为,基于镜像的双向MV导出在当前图片的两个参考皆早于当前图片或皆迟于当前图片时不起作用。在一些情况下,本文中所描述的扩展双边匹配技术克服当前图片的所有参考图片处于与当前图片相同的侧(在显示次序上)的缺点。
图8A的实例包含:包含当前块162的当前图片160;包含第一参考块166的第一参考图片(Ref0)164;及包含第二参考块170的第二参考图片(Ref1)168。如图8A中所展示,第一参考图片(Ref0)164及第二参考图片(Ref1)168在时间方向上皆位于当前图片之前。假定第一参考块166、第二参考块170及当前块162是沿同一运动轨迹,那么MV0与MV1之间的比率应等于时间距离TD0与TD1之间的比率。换句话说,给定与当前图片具有时间距离TD0及TD1的两个参考Ref0及Ref1,对于Ref0中的任何MV0,可以缩放MV0方式来确定Ref1中的MV1。
视频译码器可选择最终MV0及MV1对作为使由MV0及MV1指向的块对之间的匹配成本最小化的对。理论上,当前块162可被视为基于第一参考块166及第二参考块170的经外插块。应注意,扩展双边匹配在当前图片在时间上处于两个参考之间的双向状况下也起作用。在此状况下,当前块162可被视为基于第一参考块166及第二参考块170的经内插块。此外,本文中所描述的双边匹配技术并不需要MV0与MV1之间的“镜像关系”,甚至在双向状况下也不需要。双边匹配的假定为,MV0与MV1之间的比率与以下两者之间的比率成比例:从Ref0至当前图片的时间距离,及从Ref1至当前图片的时间距离。
明显地,对于除了第一参考块166及第二参考块170之外的参考块,视频译码器可导出不同MV对。在一个实例中,视频解码器可选择参考图片以根据参考图片在参考图片列表中显现的次序而执行双边匹配。举例来说,视频译码器可选择参考列表0中的第一参考作为Ref0,且选择参考列表1中的第一参考作为Ref1。视频译码器可接着搜索MV对(MV0、MV1)。在另一实例中,视频译码器基于初始列表(例如初始运动向量候选者列表)中的条目而选择Ref0。视频译码器可接着将Ref1设定为另一参考图片列表中在时间上最靠近当前图片的参考图片。因此,视频译码器可在Ref0及Ref1中搜索MV对(MV0、MV1)。
因此,根据本发明的方面,视频译码器可应用图8A中所绘示的扩展双向运动导出技术作为运动信息导出模式。举例来说,视频译码器可使用双边匹配以通过找到两个不同参考图片中沿当前块的运动轨迹的两个块(例如第一参考块166及第二参考块170)之间的最佳匹配来导出当前块162的运动信息。在假定连续运动轨迹的情况下,指向两个参考块(第一参考块166及第二参考块170)的运动向量MV0及MV1应与当前图片与两个参考图片之间的时间距离(即,TD0及TD1)成比例。作为特殊状况,在当前图片160在时间上处于两个参考图片之间(如图7的实例中所展示)且从当前图片至两个参考图片的时间距离相同时,双边匹配变为基于镜像的双向MV。
图8B为绘示使用DMVD对预测单元(PU)解码的实例的流程图。在邱义仁、徐立冬、张文浩、蒋洪的“Decoder-side Motion Estimation and Wiener filter for HEVC”(视觉通信及图像处理(VCIP),2013年)中,进一步提议在HEVC中通过合并模式来组合基于镜像的双向MV导出。在所提议技术中,针对B切片的PU添加被称为pu_dmvd_flag的旗标以指示是否将DMVD模式应用于当前PU。因为DMVD模式并不在位流中明确地发送任何MV信息,所以pu_dmvd_flag语法元素与HEVC中的合并模式的语法(其使用表示运动向量的数据的索引而非运动向量自身)集成。
在图8B的实例中,视频解码器(例如视频解码器30)可开始对PU解码(180)。视频解码器30可例如基于包含于包含PU的位流中的语法来确定用以对PU解码的模式是否为合并模式(182)。如果不使用合并模式(步骤182的“否”分支),那么视频解码器30可使用用于非合并PU的常规过程来对PU解码(184)且结束过程(186)。
如果使用合并模式(步骤182的“是”分支),那么视频解码器30可基于pu_dmvd_flag语法元素的值而确定DMVD是否用以确定PU的运动信息(188)。如果不使用DMVD(步骤188的“否”分支),那么视频解码器30可使用常规合并模式来对PU解码(190)且结束过程(186)。如果使用DMVD(步骤188的“是”分支),那么视频解码器30可应用DMVD过程来确定PU的运动信息(192)且结束过程(186)。
为了找寻块的运动向量,快速运动搜索方法用于许多实际视频编解码器中。存在提议于文献中的许多快速运动搜索方法,例如基于块的梯度下降搜索(Block-BasedGradient Descent Search;BBGDS),如描述于例如刘龙国、Ephraim Feig的“A block-based gradient descent search algorithm for block motion estimation in videocoding”(IEEE视频技术电路及系统汇刊,第6卷,第419至422页,1996年8月)中;无限制中心偏置菱形搜索(Unrestricted Center-Biased Diamond Search;UCBDS),如描述于Jo YewTham、Surendra Ranganath、Maitreya Ranganath及Ashraf Ali Kassim的“A novelunrestricted center-biased diamond search algorithm for block motionestimation”(IEEE视频技术电路及系统汇刊,第8卷,第369至377页,1998年8月)中;基于六边形的搜索(HEXagon-Based Search;HEBS),如描述于例如朱策、林晓及Lap-Pui Chau的“Hexagon-Based Search Pattern for Fast Block Motion Estimation”(IEEE视频技术电路及系统汇刊,第12卷,第349至355页,2002年5月)中。基本上,这些技术基于预定义搜索样式而仅搜索一搜索窗口内的某数目个位置。这些技术通常在运动少量且适度时良好地起作用。
图9为绘示双边匹配的实例的概念图。在美国专利申请公开案第2016/0286229号中,基于帧速率上转换方法例如FRUC模式提议一种译码方法。大体来说,FRUC模式为专用合并模式,块的运动信息并不通过所述专用合并模式用信号发送,但在解码器侧导出。
视频编码器20可在CU的合并旗标为真时用信号发送所述CU的FRUC旗标。当FRUC旗标为假时,视频编码器20可用信号发送合并索引且使用常规合并模式。当FRUC旗标为真时,视频编码器20可用信号发送额外FRUC模式旗标,以指示将使用哪种方法(双边匹配或模板匹配)来导出块的运动信息。
在运动导出过程中,视频编码器20及/或视频解码器30可基于双边匹配或模板匹配而导出整个CU的初始运动向量(例如种子设定运动向量、起始运动向量信息等等)。在此实例中,视频编码器20及/或视频解码器30可检查CU的合并列表,且选择致使最小匹配成本的候选者作为起始点。在此实例中,视频编码器20及/或视频解码器30基于双边匹配或模板匹配围绕起始点执行本地搜索,且将产生最小匹配成本的MV视为用于整个CU的MV。随后,视频编码器20及/或视频解码器30可进一步改进子块层级下的运动信息与作为起始点的所导出CU运动向量。
在图9的实例中,视频编码器20及/或视频解码器30可使用双边匹配来通过找寻沿着两个不同参考图片中当前块的运动轨迹的两个块之间的最佳匹配而导出当前块201的运动信息。举例来说,视频编码器20及/或视频解码器30可找寻沿着当前块201的轨迹的Ref0的第一输入参考块202与第二输入参考块204之间的最佳匹配。
在假定连续运动轨迹情况下,分别指向第一输入参考块202及第二输入参考块204的运动向量MV0 206及MV1 208应与当前图片200与第一输入参考块202及与第二输入参考块204之间的时间距离即TD0 210与TD1 212成比例。作为特殊状况,在当前图片200在时间上处于两个参考图片之间且从当前图片至第一输入参考块202及第二输入参考块204的时间距离相同时,双边匹配变为基于镜像的双向MV。
图10为绘示模板匹配的实例的概念图。在图10的实例中,视频编码器20及/或视频解码器30可使用模板匹配来通过找寻当前图片220中的模板(例如当前块220的顶部相邻块222及/或左侧相邻块224)与参考图片230中的块(对于模板大小相同)之间的最佳匹配而导出当前块220的运动信息。
在编码器侧,视频编码器20可基于RD成本选择做出是否将FRUC合并模式用于CU的决策,如对正常合并候选者所进行。即,视频编码器20可通过使用RD成本选择来检查针对CU的两个匹配模式(例如双边匹配及模板匹配)。视频编码器20可比较导致最小成本(例如双边匹配及模板匹配)的一个模式与其它CU模式。如果FRUC匹配模式为最有效的模式,那么视频编码器20可针对CU将FRUC旗标设定为真,并使用相关匹配模式。
图11为绘示用于导出IC参数的相邻样本的概念图。局部照明补偿(LIC)是基于用于使用缩放比例因数a及偏移b的照明改变的线性模型。且LIC可针对每一模式间译码的译码单元(CU)自适应地启用或停用。
当LIC应用于CU时,最小平方差方法用以通过使用当前CU的相邻样本240及其对应参考样本242而导出参数a及b。更具体地说,如图11中所绘示,使用CU的经次取样(2:1次取样)相邻样本240及参考图片中的对应像素(由当前CU或子CU的运动信息所识别)。IC参数被导出且针对每一预测方向分离地应用。
当CU运用合并模式译码时,LIC旗标以相似于合并模式中的运动信息复制的方式从相邻块复制;否则,LIC旗标针对CU予以用信号发送以指示LIC是否应用。
图12为绘示基于双边模板匹配的解码器侧运动导出的实例的概念图。在陈(Chen)、J.安(J.An)、J.郑(J.Zheng)的“EE3:基于双边模板匹配的解码器侧运动向量改进(EE3:Decoder-Side Motion Vector Refinement Based on Bilateral TemplateMatching)”(JVET-E0052,2017年1月)中,基于双边模板匹配提议解码器侧运动导出方法。视频编码器20及/或视频解码器30可分别从list0的初始MV0及list1的MV1产生双边模板350作为两个预测性块的加权组合,如图12中所展示。举例来说,视频编码器20及/或视频解码器30可分别从list0的初始MV0356及list1的MV1358产生针对像素‘n’的本文中也被简称为“Tn”的双边模板350作为以下两者的经加权组合:针对像素‘n’的第一输入参考块(本文中简称为“R0,n”)352,及针对像素‘n’的第二输入参考块354(本文中简称为“R1,n”)。
模板匹配操作可包含计算所产生模板Tn=(R0,n+R1,n)/2与参考图片中的样本区域(围绕初始预测块)之间的成本测量值。对于两个参考图片中的每一者,产生最小模板成本的MV被视为所述列表的经更新的MV以替换原始MV,即,
MV0′=argmin{R0,n-Tn} (1)
MV1′=argmin{R1,n-Tn} (2)
对于常规双向预测来说,视频编码器20及/或视频解码器30可使用两个新的MV,例如如图12中所展示的MV0'360及MV1'362。在一些实例中,视频编码器20及/或视频解码器30可使用绝对差总和(SAD)为成本测量值。
视频编码器20及/或视频解码器30可在不发送额外语法元素情况下将DMVD应用于双向预测的合并模式,其中一个预测是来自过去的参考图片且另一预测是来自未来的参考图片。在JEM4.0中,当针对一个CU选择LIC、仿射、子CU合并候选者或FRUC时,不应用所述技术。
FRUC的多个种子设定本质潜在地可使用来自外部存储器的增加量的参考样本以执行搜索。举例来说,将双向预测运动向量信息添加至对应于单向预测运动向量的运动向量信息的候选者列表的视频编码器20及/或视频解码器30可增大参考样本的量。在一些状况下,所有种子设定运动向量(例如运动向量信息中的候选者列表中的起始运动向量信息)可落于参考帧中的不相交区内,且因此视频编码器20及/或视频解码器30可提取所有参考样本以执行FRUC搜索以找寻最佳运动向量。此潜在地增大的参考样本量可增大高速缓冲存储未命中的机会且因此在一些实施中可导致较高等待时间的问题。
本发明描述潜在地解决现有FRUC设计中的以下复杂度问题的技术。在第一实例中,在现有FRUC搜索中,视频译码器可导出种子设定运动向量集合(例如运动向量信息的候选者列表中的起始运动向量信息)并搜索其周围区域。此情形可潜在地增大最差情境下的带宽要求。在第二实例中,双边模板匹配引入针对常规合并模式的替代性运动改进方式且带来译码效率,同时方案需要用于运动改进的双边模板的额外缓冲器,所述方案不符合其它运动改进方法且招致额外复杂度。在第三实例中,在现有FRUC设计中,解码器侧运动搜索继之以子块改进,其中每一子块(例如4×4子块)可具有指向参考帧的不相交区的独特种子设定运动向量。由种子设定运动向量中的每一者覆盖的不相交搜索范围可增大带宽要求以及计算复杂度同时获得0.4%至1.1%的译码增益。
为了解决前述问题,提议若干种技术如下。
可个别地应用以下详细列举的技术。替代地,可应用这些技术的任何组合。请注意,参考索引信息可被视为运动信息的部分,有时参考索引信息及运动信息在本文中联合地称为运动信息的集合。
在第一技术中,对于FRUC模板匹配或双边匹配或者FRUC模板匹配或双边匹配两者,视频编码器20构造种子设定运动向量的列表,且起始(种子设定)MV被用信号发送而非被导出。换句话说,例如视频编码器20及/或视频解码器30可构造针对当前帧的部分的运动向量信息的候选者列表。视频编码器20及/或视频解码器30可仅在起始MV周围搜索。当前帧的部分可对应于当前帧的当前块、当前帧的当前译码单元或当前帧的多个译码单元。
视频编码器20可将起始MV用信号发送至视频解码器30。举例来说,视频编码器20可在块层级用信号发送起始(种子设定)MV。换句话说,例如视频编码器20可输出残差样本值的指示及指示运动向量信息的候选者列表的起始运动向量信息的信令信息。在一些实例中,视频解码器30可接收指示运动向量信息的候选者列表的起始运动向量信息的信令信息,所述起始运动向量信息指示参考帧中的初始位置。在一些实例中,视频编码器20可用信号发送每一译码单元的起始MV。在一些实例中,视频编码器20可在较高层级(例如覆盖多个译码单元的较大区)用信号发送起始MV。在此实例中,对于区内的每一译码单元,视频解码器30可搜索用信号发送的MV周围的较小范围。在一些实例中,视频编码器20可从种子设定MV的构造列表用信号发送索引或旗标以指示起始(种子设定)MV。
对于种子设定运动向量的初始候选者列表的构造,视频编码器20及/或视频解码器30可应用修剪过程。举例来说,修剪可基于当前块大小及待使用的运动向量的精度。换句话说,例如视频编码器20及/或视频解码器30可基于当前块的大小及/或针对改进运动向量信息的运动向量精度来修剪来自运动向量信息的初始候选者列表的第一候选运动向量信息以产生运动向量信息的候选者列表。在一些实例中,为了修剪,视频编码器20及/或视频解码器30可:(1)从运动向量信息的候选者列表移除合并候选者;或(2)省略合并候选者的改进。为了修剪,视频编码器20及/或视频解码器30可确定针对改进运动向量信息的运动向量精度(例如像素精度)。
在一些实例中,视频编码器20及/或视频解码器30可基于列表中运动向量的相似性进行修剪。换句话说,例如视频编码器20及/或视频解码器30可基于运动向量信息的初始候选者列表的第一候选运动向量信息与第二候选运动向量信息之间的相似性而修剪来自运动向量信息的初始候选者列表的第一候选运动向量信息以产生运动向量信息的候选者列表。在一些实例中,为了修剪,视频编码器20及/或视频解码器30可基于第一候选运动向量信息与第二候选运动向量信息之间的相似性而确定运动向量信息的候选者列表的第二候选运动向量信息的运动向量精度。
相似性可基于运动向量之间的距离。在一些实例中,视频编码器20及/或视频解码器30可使用以下规则方程式:
其中W及H分别为块的宽度及高度,且mvprecision表示运动向量的精度(例如如JEM中使用的1/16像素精度,且因此mvprecision的值可为4)。对于新的候选者,如果水平运动向量及竖直运动向量的绝对值皆小于先前(种子设定运动向量的列表构造的次序)候选者中任一者的mvdth,那么视频编码器20及/或视频解码器30可并未将新的候选者添加至候选者列表。在一些实例中,视频编码器20及/或视频解码器30可经由序列参数集(SPS)、图片参数集合(PPS)或切片的语法元素发送阈值。阈值可包含针对块大小的阈值、针对像素偏移的阈值(例如方程式(3)中的4个像素)及MV精度。
在FRUC TM种子设定运动向量的导出期间,视频编码器20及/或视频解码器30可使用单向预测至双向预测技术。在B切片中,如果导出的候选者中的任一者仅从L0或L1预测出,视频编码器20及/或视频解码器30可人工地产生成对的带相反正负号的运动向量为其它列表的运动向量,且将候选者添加至具有双向预测运动向量的候选者列表。换句话说,例如视频编码器20及/或视频解码器30可响应于确定当前帧的部分对应于B切片且单向预测运动向量信息将包含于运动向量信息的候选者列表中而将双向预测运动向量信息添加至对应于单向预测运动向量的运动向量信息的候选者列表。举例来说,视频编码器20及/或视频解码器30可产生双向预测运动向量信息以指示第一运动向量(例如仅从L0或L1预测出)及具有相反正负号的对应于第一运动向量的第二运动向量。在一些实例中,视频编码器20及/或视频解码器30可指明L0的运动向量为MV0且L1运动向量不可用,且可设定假造L1运动向量L1'为具有设定为0的参考索引的-MV0,且反之亦然。
视频编码器20及/或视频解码器30可基于至当前帧的相对时间距离来产生不可用运动向量。举例来说,视频编码器20及/或视频解码器30可指明L0的运动向量为MV0且指明L0的运动向量至当前帧的时间距离为POC0且L1中的参考帧(参考索引0)至当前帧的时间距离为POC1。L1的假造运动向量可被写为:
替代始终将参考索引0用于不可用参考列表(List0/List1),视频编码器20及/或视频解码器30可基于不可用列表中的图片的平均QP值而选择索引值。视频编码器20及/或视频解码器30可使用与最低平均QP值相关联的图片为参考索引。替代地或另外,视频编码器20及/或视频解码器30可选择具有最小POC差的索引值或最小时间层索引。替代地或另外,视频编码器20可在切片标头、PPS、SPS或块层级用信号发送参考索引。
视频编码器20可确定待在切片层级用信号发送的候选者的数目。替代地或另外,候选者的数目的信号发送可为模式相依的。举例来说,IC及非IC状况的信号发送可为独特的。此情形包含但不限于FRUC TM种子设定候选者的数目在IC经启用时为2,且候选者FRUCTM的数目在非IC状况下为4。
在第二技术中,视频编码器20及/或视频解码器30可使用FRUC双边匹配来执行通过双边模板匹配进行的运动改进。即,例如视频编码器20及/或视频解码器30可基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,改进运动向量信息指示所述参考帧的在距所述初始位置的搜索范围内的改进位置。更具体地说,例如视频编码器20及/或视频解码器30可基于第一初始位置与第二初始位置之间的匹配差而改进运动轨迹。视频编码器20及/或视频解码器30可作为分离FRUC模式将原始FRUC双边匹配移动至常规合并模式的运动向量改进。
替代如双边模板匹配例如X.Chen、J.An、J.Zheng的“EE3:Decoder-Side MotionVector Refinement Based on Bilateral Template Matching”(JVET-E0052,2017年1月)中描述的产生双边模板及执行运动改进,视频编码器20及/或视频解码器30可使用如美国专利公开案第US-2016-0286230号中描述的双边匹配。请注意,作为绘示于图9中的方案,视频编码器20及/或视频解码器30可执行Ref0中的区与Ref1中的区之间的搜索。运动改进的搜索范围可被设定为8,而搜索范围可经由较高层级语法元素用信号发送。视频编码器20及/或视频解码器30可使用反复地执行的整数像素搜索,直到无进一步更新或达到搜索范围的边界,继之以使用同一停止规则的半像素搜索。
视频编码器20及/或视频解码器30可以镜像方式执行基于双边的改进。即,例如在搜索改进运动向量期间,视频编码器20及/或视频解码器30可使用成对的带相反正负号的运动向量改进来执行搜索。换句话说,例如视频编码器20及/或视频解码器30可通过运动向量改进来修改指定第一初始位置的运动向量轨迹的第一运动向量且通过具有相反正负号的运动向量改进来修改指定第二初始位置的运动向量轨迹的第二运动向量。
视频编码器20及/或视频解码器30可以包含时间距离的镜像方式界定两个区。即,例如视频编码器20及/或视频解码器30可考虑Ref0、Ref1与当前帧之间的时间距离,且视频编码器20及/或视频解码器30可因此执行缩放以获得针对Ref0及Ref1两者的运动向量(例如相似于方程式(4))。换句话说,例如视频编码器20及/或视频解码器30可基于当前帧与第一参考帧之间的时间距离及当前帧与第二参考帧之间的时间距离来缩放运动轨迹。
视频编码器20及/或视频解码器30可分离地搜索两个区而不强加镜像约束条件。初始地,视频编码器20及/或视频解码器30可固定MV0且搜索MV1,且接着视频编码器20及/或视频解码器30可固定最佳MV1且搜索MV0等等。此过程可继续,直到MV0及MV1两者中不存在改变。换句话说,例如视频编码器20及/或视频解码器30可基于第一初始位置与第二初始位置之间的匹配差而改进指定第一初始位置的运动向量轨迹的第一运动向量以产生第一改进运动向量,且基于第一改进运动向量改进指定第二初始位置的运动向量轨迹的第二运动向量。
视频编码器20及/或视频解码器30可使用度量来执行对运动向量改进的搜索,例如但不限于绝对差总和(SAD)、均值移除SAD(MR-SAD)、平方差总和(SSD)、归一化交叉相关(NCC)或结构相似性索引(SSIM)。换句话说,例如视频编码器20及/或视频解码器30可基于度量来确定第一初始位置与第二初始位置之间的匹配差,其中度量包括以下各者中的一或多者:SAD、MR-SAD、SSD、NCC或SSIM。
视频编码器20及/或视频解码器30可基于块大小使用度量。换句话说,例如视频编码器20及/或视频解码器30可基于当前块的大小选择来自多个度量的度量。对于大型大小块,例如视频编码器20及/或视频解码器30可使用MR-SAD、NCC或SSIM。换句话说,例如当当前块的大小超过块大小阈值时,视频编码器20及/或视频解码器30可选择度量作为MR-SAD、NCC或SSIM。对于小型大小块,例如视频编码器20及/或视频解码器30可使用SAD或SSE。换句话说,例如当当前块的大小未超过块大小阈值时,视频编码器20及/或视频解码器30可选择度量作为SAD或SSE。用以区分小型块或大型块的阈值可被预定义,或经由例如SPS、PPS或切片标头的高层级语法来用信号发送。在一些实例中,视频编码器20及/或视频解码器30可选择度量来基于其它高层级语法元素来执行搜索。举例来说,当指示照度改变是否存在的切片层级旗标(例如IC旗标)被设定为1时,视频编码器20及/或视频解码器30可使用MR-SAD作为度量用于搜索运动向量改进。
在第三技术中,对于FRUC模板匹配,视频编码器20及/或视频解码器30可选择性地停用子块运动改进以减小通过子块运动搜索引入的额外种子设定。举例来说,视频编码器20及/或视频解码器30可添加切片层级切换器以确定子块运动改进是否被启用。视频编码器20可基于先前帧的统计而做出此决策。举例来说,如果先前帧的平均块大小大于阈值,那么视频编码器20可启用子块运动改进。在一些实例中,如果先前帧的平均块大小并不大于阈值,那么视频编码器20可停用子块运动改进。在一些实例中,视频编码器20可完全停用子块运动改进。
视频编码器20可部分地停用子块运动改进。举例来说,对于更靠近于左上位置的子块,视频编码器20可停用子块运动改进,同时对于更靠近右下位置的那些子块,视频编码器20可启用子块运动改进。
上述技术可应用于某些块大小及/或译码模式。
图13为绘示可实施本发明的技术的实例视频编码器20的框图。出于解释的目的而提供图13,且不应将所述图视为对如本发明中广泛示范及描述的技术的限制。本发明的技术可适用于各种译码标准或方法。
在图13的实例中,视频编码器20包含预测处理单元400、视频数据存储器401、残差产生单元402、变换处理单元404、量化单元406、反量化单元408、反变换处理单元410、重构单元412、滤波器单元414、经解码图片缓冲器416及熵编码单元418。预测处理单元400包含帧间预测处理单元420及帧内预测处理单元426。帧间预测处理单元420可包含运动估计单元及运动补偿单元(未展示)。视频编码器20可经配置以执行用于实施FRUC的本文中所描述的一或多项技术。
视频数据存储器401可经配置以存储待由视频编码器20的组件编码的视频数据。可例如从视频源18获得存储于视频数据存储器401中的视频数据。经解码图片缓冲器416可为存储参考视频数据以用于由视频编码器20例如以帧内或帧间译码模式对视频数据编码的参考图片存储器。视频数据存储器401及经解码图片缓冲器416可由多种存储器装置中的任一者形成,例如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM);磁阻式RAM(MRAM);电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器401及经解码图片缓冲器416可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器401可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。视频数据存储器401可与图1的存储媒体19相同或为所述存储媒体的部分。
视频编码器20接收视频数据。视频编码器20可对视频数据的图片的切片中的每一CTU编码。所述CTU中的每一者可与图片的相等大小的亮度译码树块(CTB)及对应CTB相关联。作为对CTU编码的部分,预测处理单元400可执行分割以将CTU的CTB划分成逐渐较小的块。所述较小块可为CU的译码块。举例来说,预测处理单元400可根据树结构分割与CTU相关联的CTB。
视频编码器20可对CTU的CU编码以产生所述CU的经编码表示(即,经译码CU)。作为对CU编码的部分,预测处理单元400可在CU的一或多个PU当中分割与CU相关联的译码块。因此,每一PU可与亮度预测块及对应色度预测块相关联。视频编码器20及视频解码器30可支持具有各种大小的PU。如上文所指示,CU的大小可指CU的亮度译码块的大小,且PU的大小可指PU的亮度预测块的大小。假定特定CU的大小为2N×2N,那么视频编码器20及视频解码器30可支持用于帧内预测的2N×2N或N×N的PU大小,及用于帧间预测的2N×2N、2N×N、N×2N、N×N或相似大小的对称PU大小。视频编码器20及视频解码器30还可支持用于帧间预测的2N×nU、2N×nD、nL×2N及nR×2N的PU大小的非对称分割。
帧间预测处理单元420可通过对CU的每一PU执行帧间预测而产生PU的预测性数据。用于PU的预测性数据可包含PU的预测性块及用于PU的运动信息。取决于PU是在I切片中、P切片中还是B切片中,帧间预测处理单元420可针对CU的PU执行不同操作。在I切片中,所有PU被帧内预测。因此,如果PU是在I切片中,那么帧间预测处理单元420并不对PU执行帧间预测。因此,对于以I模式编码的块,经预测的块是使用空间预测从同一帧内的先前经编码的相邻块形成。如果PU是在P切片中,那么帧间预测处理单元420可使用单向帧间预测以产生PU的预测性块。如果PU是在B切片中,那么帧间预测处理单元420可使用单向或双向帧间预测以产生PU的预测性块。
帧内预测处理单元426可通过对PU执行帧内预测而产生用于PU的预测性数据。用于PU的预测性数据可包含PU的预测性块及各种语法元素。帧内预测处理单元426可对I切片、P切片及B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元426可使用多个帧内预测模式来产生用于PU的预测性数据的多个集合。帧内预测处理单元426可使用来自相邻PU的样本块的样本以产生用于PU的预测性块。对于PU、CU及CTU,假定从左至右、从上而下的编码次序,那么所述相邻PU可在PU上方、右上方、左上方或左侧。帧内预测处理单元426可使用各种数目的帧内预测模式,例如33个定向帧内预测模式。在一些实例中,帧内预测模式的数目可取决于与PU相关联的区的大小。
预测处理单元400可从由帧间预测处理单元420针对PU产生的预测性数据或由帧内预测处理单元426针对PU产生的预测性数据中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元400基于数个预测性数据集合的速率/失真度量而选择用于CU的PU的预测性数据。选定的预测性数据的预测性块在本文中可被称作选定的预测性块。预测处理单位400可经配置以执行本文中所描述的一或多项技术从而确定针对用信号发送的运动向量信息的候选者列表的起始运动向量信息。
残差产生单元402可基于CU的译码块(例如亮度、Cb及Cr译码块)及CU的PU的选定预测性块(例如预测性亮度、Cb及Cr块)而产生CU的残差块(例如亮度、Cb及Cr残差块)。举例来说,残差产生单元402可产生CU的残差块,使得残差块中的每一样本具有等于CU的译码块中的样本与CU的PU的对应选定预测性样本块中的对应样本之间的差的值。
变换处理单元404可执行四叉树分割以将与CU相关联的残差块分割成与CU的TU相关联的变换块。因此,TU可与亮度变换块及两个色度变换块相关联。CU的TU的亮度变换块及色度变换块的大小及位置可或可不基于CU的PU的预测块的大小及位置。被称为“残差四叉树”(RQT)的四叉树结构可包含与区中的每一者相关联的节点。CU的TU可对应于RQT的叶节点。
变换处理单元404可通过将一或多个变换应用于TU的变换块而产生CU的每一TU的变换系数块。变换处理单元404可将各种变换应用于与TU相关联的变换块。举例来说,变换处理单元404可将离散余弦变换(DCT)、定向变换或概念上相似的变换应用于变换块。在一些实例中,变换处理单元404并不将变换应用于变换块。在这些实例中,变换块可被视为变换系数块。
量化单元406可将系数块中的变换系数量化。量化过程可减少与所述变换系数中的
一些或全部相关联的位深度。举例来说,n位变换系数可在量化期间被舍入至m位变换系数,其中n大于m。量化单元406可基于与CU相关联的量化参数(QP)值量化与CU的TU相关联的系数块。视频编码器20可通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。量化可引入信息的损失。因此,经量化变换系数可具有比最初变换系数低的精度。
反量化单元408及反变换处理单元410可分别将反量化及反变换应用于系数块,以从系数块重构残差块。重构单元412可将经重构残差块与来自由预测处理单元400产生的一或多个预测性块的对应样本相加以产生与TU相关联的经重构变换块。通过以此方式重构CU的各TU的变换块,视频编码器20可重构CU的译码块。
滤波器单元414可执行一或多个解块操作以减小与CU相关联的译码块中的块伪影。经解码图片缓冲器416可在滤波器单元414对经重构译码块执行一或多个解块操作之后存储经重构译码块。帧间预测处理单元420可使用含有经重构译码块的参考图片以对其它图片的PU执行帧间预测。另外,帧内预测处理单元426可使用经解码图片缓冲器416中的经重构译码块以对处于与CU相同的图片中的其它PU执行帧内预测。
熵编码单元418可从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元418可从量化单元406接收系数块,并可从预测处理单元400接收语法元素。熵编码单元418可对数据执行一或多个熵编码操作以产生经熵编码数据。举例来说,熵编码单元418可对数据执行CABAC操作、上下文自适应可变长度译码(CAVLC)操作、可变至可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作、指数哥伦布编码操作或另一类型的熵编码操作。视频编码器20可输出包含由熵编码单元418产生的经熵编码数据的位流。举例来说,位流可包含表示用于CU的变换系数的值的数据。
图14为绘示经配置以实施本发明的技术的实例视频解码器30的框图。出于解释的目的而提供图14,且其并不限制如本发明中所广泛示范及描述的技术。出于解释的目的,本发明在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可适用于其它译码标准或方法。
在图14的实例中,视频解码器30包含熵解码单元450、视频数据存储器451、预测处理单元452、反量化单元454、反变换处理单元456、重构单元458、滤波器单元460,及经解码图片缓冲器462。预测处理单元452包含运动补偿单元464及帧内预测处理单元466。在其它实例中,视频解码器30可包含较多、较少或不同的功能组件。视频解码器30可经配置以执行用于实施FRUC的本文中所描述的一或多项技术。
视频数据存储器451可存储待由视频解码器30的组件解码的经编码视频数据,例如经编码视频位流。存储于视频数据存储器451中的视频数据可例如经由视频数据的有线或无线网络通信从计算机可读媒体16例如从本地视频源(例如相机)或通过存取物理数据存储媒体而获得。视频数据存储器451可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。经解码图片缓冲器462可为参考图片存储器,其存储参考视频数据以供用于由视频解码器30以例如帧内译码模式或帧间译码模式对视频解码或以供输出。视频数据存储器451及经解码图片缓冲器462可由多种存储器装置中的任一者形成,例如DRAM,包含SDRAM、MRAM、RRAM,或其它类型的存储器装置。视频数据存储器451及经解码图片缓冲器462可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器451可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。视频数据存储器451可与图1的存储媒体28相同或为所述存储媒体的部分。
视频数据存储器451接收并存储位流的经编码视频数据(例如NAL单元)。熵解码单元450可从视频数据存储器451接收经编码视频数据(例如NAL单元),且可剖析NAL单元以获得语法元素。熵解码单元450可对NAL单元中的经熵编码语法元素进行熵解码。预测处理单元452、反量化单元454、反变换处理单元456、重构单元458及滤波器单元460可基于从位流提取的语法元素产生经解码视频数据。熵解码单元450可执行与熵编码单元418的那过程大体上互逆的过程。预测处理单元452可经配置以执行本文中所描述的一或多项技术从而使用包含于信令信息中的运动向量信息的候选者列表的起始运动向量信息。
除了从位流获得语法元素之外,视频解码器30可对未经分割的CU执行重构操作。为了对CU执行重构操作,视频解码器30可对CU的每一TU执行重构操作。通过对CU的每一TU执行重构操作,视频解码器30可重构CU的残差块。
作为对CU的TU执行重构操作的部分,反量化单元454可反量化(例如解量化)与TU相关联的系数块。在反量化单元454反量化系数块之后,反变换处理单元456可将一或多个反变换应用于系数块以便产生与TU相关联的残差块。举例来说,反变换处理单元456可将反DCT、反整数变换、反卡忽南-洛维变换(KLT)、反旋转变换、反定向变换或另一反变换应用于系数块。
反量化单元454可执行本发明的特定技术。举例来说,对于视频数据的图片的CTU的CTB内的多个量化群组中的至少一个相应量化群组,反量化单元454可至少部分地基于在位流中用信号发送的本地量化信息导出用于相应量化群组的相应量化参数。另外,在此实例中,反量化单元454可基于用于相应量化群组的相应量化参数反量化CTU的CU的TU的变换块的至少一个变换系数。在此实例中,相应量化群组被定义为连续(在译码次序上)CU或译码块的群组,使得相应量化群组的边界必须为CU或译码块的边界且相应量化群组的大小大于或等于阈值。视频解码器30(例如逆变换处理单元456、重构单元458及滤波器单元460)可基于变换块的经反量化变换系数重构CU的译码块。
如果使用帧内预测对PU编码,那么帧内预测处理单元466可执行帧内预测以产生PU的预测性块。帧内预测处理单元466可使用帧内预测模式来基于样本空间相邻块产生PU的预测性块。帧内预测处理单元466可基于从位流获得的一或多个语法元素确定用于PU的帧内预测模式。
如果使用帧间预测对PU编码,那么熵解码单元450可确定PU的运动信息。运动补偿单元464可基于PU的运动信息而确定一或多个参考块。运动补偿单元464可基于一或多个参考块产生PU的预测性块(例如预测性亮度、Cb及Cr块)。
重构单元458可使用CU的TU的变换块(例如亮度、Cb及Cr变换块)及CU的PU的预测性块(例如亮度、Cb及Cr块)(即,可适用的帧内预测数据或帧间预测数据)来重构CU的译码块(例如亮度、Cb及Cr译码块)。举例来说,重构单元458可将变换块(例如亮度、Cb及Cr变换块)的样本与预测性块(例如亮度、Cb及Cr预测性块)的对应样本相加来重构CU的译码块(例如亮度、Cb及Cr译码块)。
滤波器单元460可执行解块操作以减小与CU的译码块相关联的块伪影。视频解码器30可将CU的译码块存储于经解码图片缓冲器462中。经解码图片缓冲器462可提供参考图片用于后续运动补偿、帧内预测及在显示装置(例如图1的显示装置32)上的呈现。举例来说,视频解码器30可基于经解码图片缓冲器462中的块对其它CU的PU执行帧内预测或帧间预测操作。
图15为绘示根据本发明中所描述的一或多项技术的用于视频解码的实例方法的框图。初始地,视频解码器30接收位流,位流包含表示残差块的一或多个符号及指示起始运动向量信息的信令信息(502)。视频解码器30构造针对当前帧的部分的运动向量信息的候选者列表(504)。视频解码器30基于双边匹配或模板匹配中的一或多者改进起始运动向量信息以确定改进运动向量信息,改进运动向量信息指示参考帧中的在距初始位置的搜索范围内的改进位置(506)。视频解码器30基于改进运动向量信息产生预测性块(508)。视频解码器30基于预测性块对当前帧解码(510)。
图16为绘示本发明中所描述的一或多项技术的用于视频编码的实例方法的框图。初始地,视频编码器20构造针对当前帧的部分的运动向量信息的候选者列表(552)。视频编码器20选择运动向量信息的候选者列表的起始运动向量信息,所述起始运动向量信息指示参考帧中的初始位置(554)。视频编码器20基于双边匹配或模板匹配中的一或多者改进起始运动向量信息以确定改进运动向量信息,改进运动向量信息指示参考帧中的在距初始位置的搜索范围内的改进位置(556)。视频编码器20基于改进运动向量信息产生预测性块(558)。视频编码器20基于预测性块产生针对视频数据的当前块的残差样本值(560)。视频编码器20输出位流,位流包含表示残差样本值的指示的一或多个符号及指示运动向量信息的候选者列表的起始运动向量信息的信令信息(562)。
出于说明的目的,本发明的某些方面已经关于HEVC标准的扩展而描述。然而,本发明中所描述的技术可用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
如本发明中所描述,视频译码器可指视频编码器或视频解码器。相似地,视频译码单元可指视频编码器或视频解码器。同样地,在适用时,视频译码可指视频编码或视频解码。在本发明中,短语“基于”可指示仅仅基于、至少部分地基于,或以某一方式基于。本发明可使用术语“视频单元”或“视频块”或“块”以指一或多个样本块及用以对样本的一或多个块的样本译码的语法结构。视频单元的实例类型可包含CTU、CU、PU、变换单元(TU)、宏块、宏块分区等等。在一些情形中,PU的论述可与宏块或宏块分区的论述互换。视频块的实例类型可包含译码树块、译码块及其它类型的视频数据块。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列被执行、可被添加、合并或完全省去(例如并非所有所描述动作或事件为实践所述技术所必要)。此外,在某些实例中,可例如经由多线程处理、中断处理或多个处理器同时而非顺序执行动作或事件。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么所述功能可作为一或多个指令或代码而在计算机可读媒体上存储或发送,且由基于硬件的处理单元执行。计算机可读媒体可包含:计算机可读存储媒体,其对应于例如数据存储媒体的有形媒体;或通信媒体,所述通信媒体包含例如根据通信协议促进计算机程序从一处传送至另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,这些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置、快闪存储器,或可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。此外,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源来发送指令,那么同轴电缆、光缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是涉及非暂时性的有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘运用激光以光学方式再生数据。以上各者的组合也应包含于计算机可读媒体的范围内。
指令可由包含一或多个处理器的固定功能及/或可编程处理电路执行,所述一或多个处理器是例如一或多个DSP、通用微处理器、ASIC、FPGA或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能可提供于经配置以供编码及解码或并入于组合式编解码器中的专用硬件及/或软件模块内。此外,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛的多种装置或设备中,包含无线手机、集成电路(IC)或IC集合(例如芯片组)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。确切地说,如上文所描述,可将各种单元组合于编解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合结合合适软件及/或固件而提供。
已描述了各种实例。这些及其它实例是在所附权利要求书的范围内。
Claims (20)
1.一种对视频数据解码的方法,所述方法包括:
由实施于处理电路中的视频解码器构造针对当前帧的部分的运动向量信息的候选者列表;
由所述视频解码器接收指示运动向量信息的所述候选者列表的起始运动向量信息的信令信息,所述起始运动向量信息指示参考帧中的初始位置;
由所述视频解码器基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;
由所述视频解码器确定对所述当前帧的所述部分的一个或多个子块停用子块运动改进;
由所述视频解码器基于所述改进运动向量信息产生预测性块;及
由所述视频解码器基于所述预测性块对所述当前帧进行解码。
2.根据权利要求1所述的方法,其中基于切片层级切换器确定对所述一个或多个子块停用所述子块运动改进。
3.根据权利要求1所述的方法,其中,所述一个或多个子块包括一个或多个第一子块,所述方法还包括启用对所述当前帧的所述部分的一个或多个第二子块的所述子块运动改进。
4.根据权利要求1所述的方法,其中所述一个或多个子块包括一个或多个第一子块,并且其中确定对所述一个或多个第一子块停用所述子块运动改进包括确定所述一个或多个第一子块被布置在所述当前帧的所述部分的左上位置,其中所述方法还包括:
对布置在所述当前帧的所述部分的右下位置的一个或多个第二子块启用子块运动改进。
5.根据权利要求1所述的方法,其中,基于所述当前帧的所述部分的块大小或所述当前帧的译码模式中的一个或多个,确定对于所述一个或多个子块停用所述子块运动改进。
6.一种用于对视频数据解码的装置,所述装置包括:
存储器,其经配置以存储所述视频数据;及
处理电路,其经配置以:
构造针对当前帧的部分的运动向量信息的候选者列表;
接收指示运动向量信息的所述候选者列表的起始运动向量信息的信令信息,所述起始运动向量信息指示参考帧中的初始位置;
基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;
确定对所述当前帧的所述部分的一个或多个子块停用子块运动改进;
基于所述改进运动向量信息产生预测性块;及
基于所述预测性块对所述当前帧进行解码。
7.根据权利要求6所述的装置,其中所述处理电路经配置以基于切片层级切换器确定对所述一个或多个子块停用所述子块运动改进。
8.根据权利要求6所述的装置,其中,所述一个或多个子块包括一个或多个第一子块,并且其中所述处理电路经配置以启用对所述当前帧的所述部分的一个或多个第二子块的所述子块运动改进。
9.根据权利要求6所述的装置,
其中所述一个或多个子块包括一个或多个第一子块;
其中,为了确定对所述一个或多个第一子块停用所述子块运动改进,所述处理电路经配置以确定所述一个或多个第一子块被布置在所述当前帧的所述部分的左上位置;及
其中所述处理电路进一步经配置以对布置在所述当前帧的所述部分的右下位置的一个或多个第二子块启用子块运动改进。
10.根据权利要求6所述的装置,其中,所述处理电路经配置以基于所述当前帧的所述部分的块大小或所述当前帧的译码模式中的一个或多个,确定对于所述一个或多个子块停用所述子块运动改进。
11.根据权利要求6所述的装置,其中所述装置包括无线通信装置,进一步包括经配置以接收经编码视频数据的接收器。
12.根据权利要求6所述的装置,其中所述无线通信装置包括电话手机,且其中所述接收器经配置以根据无线通信标准解调包括所述经编码视频数据的信号。
13.一种对视频数据编码的方法,所述方法包括:
由实施于处理电路中的视频编码器构造针对当前帧的部分的运动向量信息的候选者列表;
由所述视频编码器选择运动向量信息的所述候选者列表的起始运动向量信息,所述起始运动向量信息指示参考帧中的初始位置;
由所述视频编码器基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;
由所述视频编码器确定对所述当前帧的所述部分的一个或多个子块停用子块运动改进;
由所述视频编码器基于所述改进运动向量信息产生预测性块;及
由所述视频编码器基于所述预测性块产生针对视频数据的当前块的残差样本值;及
由所述视频编码器输出所述残差样本值的指示及指示运动向量信息的所述候选者列表的所述起始运动向量信息的信令信息。
14.一种用于对视频数据编码的装置,所述装置包括:
存储器,其经配置以存储所述视频数据;及
处理电路,其经配置以:
构造针对当前帧的部分的运动向量信息的候选者列表;
选择运动向量信息的所述候选者列表的起始运动向量信息,所述起始运动向量信息指示参考帧中的初始位置;
基于双边匹配或模板匹配中的一或多者改进所述起始运动向量信息以确定改进运动向量信息,所述改进运动向量信息指示所述参考帧中的在距所述初始位置的搜索范围内的改进位置;
确定对所述当前帧的所述部分的一个或多个子块停用子块运动改进;
基于所述改进运动向量信息产生预测性块;及
基于所述预测性块产生针对视频数据的当前块的残差样本值;及
输出所述残差样本值的指示及指示运动向量信息的所述候选者列表的所述起始运动向量信息的信令信息。
15.根据权利要求14所述的装置,其中所述装置包括无线通信装置,进一步包括经配置以发送经编码视频数据的发送器。
16.根据权利要求15所述的装置,其中所述无线通信装置包括电话手机,且其中所述发送器经配置以根据无线通信标准调制包括所述经编码视频数据的信号。
17.根据权利要求13所述的方法,其中确定对所述一个或多个第一子块停用所述子块运动改进包括确定所述一个或多个第一子块被布置在所述当前帧的所述部分的左上位置。
18.根据权利要求13所述的方法,其中,基于所述当前帧的所述部分的块大小或所述当前帧的译码模式中的一个或多个,确定对于所述一个或多个子块停用所述子块运动改进。
19.根据权利要求14所述的装置,其中,为了确定对所述一个或多个第一子块停用所述子块运动改进,所述处理电路经配置以确定所述一个或多个第一子块被布置在所述当前帧的所述部分的左上位置。
20.根据权利要求14所述的装置,其中,所述处理电路经配置以基于所述当前帧的所述部分的块大小或所述当前帧的译码模式中的一个或多个,确定对于所述一个或多个子块停用所述子块运动改进。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US62/571,161 | 2017-10-11 | ||
| US16/131,860 | 2018-09-14 |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| HK62020015382.8A Addition HK40025193B (zh) | 2017-10-11 | 2018-09-17 | 用於fruc的低复杂度设计 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| HK62020015382.8A Division HK40025193B (zh) | 2017-10-11 | 2018-09-17 | 用於fruc的低复杂度设计 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| HK40102066A true HK40102066A (zh) | 2024-05-31 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11297340B2 (en) | Low-complexity design for FRUC | |
| TWI803563B (zh) | 改良的解碼器側之運動向量推導 | |
| TWI736872B (zh) | 基於解碼器側運動向量推導之運動向量預測推導之限制 | |
| CN107409225B (zh) | 视频译码中运动信息推导模式确定 | |
| TWI761415B (zh) | 用於雙向光學流(bio)之運動向量重建 | |
| WO2019136657A1 (en) | Video coding using local illumination compensation | |
| CN110431842A (zh) | 解码器侧运动向量导出 | |
| AU2018297993A1 (en) | Partial reconstruction based template matching for motion vector derivation | |
| HK40102066A (zh) | 用於fruc的低复杂度设计 | |
| HK40025193B (zh) | 用於fruc的低复杂度设计 | |
| HK40025193A (zh) | 用於fruc的低复杂度设计 | |
| HK1240440A1 (zh) | 視頻譯碼中運動向量推導 | |
| HK1240441A1 (zh) | 視頻譯碼中運動信息推導模式確定 | |
| HK1243259B (zh) | 於视频译码中针对子块推导运动信息方法、装置 | |
| HK1240440B (zh) | 视频译码中运动向量推导 |