CN104322070A - 用于高效率视频译码的高级别语法扩展 - Google Patents

用于高效率视频译码的高级别语法扩展 Download PDF

Info

Publication number
CN104322070A
CN104322070A CN201380014479.8A CN201380014479A CN104322070A CN 104322070 A CN104322070 A CN 104322070A CN 201380014479 A CN201380014479 A CN 201380014479A CN 104322070 A CN104322070 A CN 104322070A
Authority
CN
China
Prior art keywords
picture
view
video
motion vector
decoding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380014479.8A
Other languages
English (en)
Other versions
CN104322070B (zh
Inventor
陈颖
王益魁
张莉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104322070A publication Critical patent/CN104322070A/zh
Application granted granted Critical
Publication of CN104322070B publication Critical patent/CN104322070B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

在一个实例中,一种装置包括视频译码器,所述视频译码器经配置以译码用于视频数据的第一图片的图片顺序计数POC值,译码用于所述第一图片的第二维度图片标识符,及根据基础视频译码规范或所述基础视频译码规范的扩展而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来译码第二图片。所述视频译码器可包含视频编码器或视频解码器。所述第二维度图片标识符可包含(例如)视图标识符、视图顺序索引、层标识符或其它此类标识符。所述视频译码器可在用于所述第二图片的块的运动矢量的译码期间(例如,在高级运动矢量预测或合并模式译码期间)译码所述POC值及所述第二维度图片标识符。

Description

用于高效率视频译码的高级别语法扩展
本申请案主张以下美国临时申请案的权利:2012年3月16日申请的美国临时申请案第61/611,959号、2012年4月16日申请的美国临时申请案第61/624,990号、2012年6月11日申请的美国临时申请案第61/658,344号、2012年6月22日申请的美国临时申请案第61/663,484号,及2012年12月27日申请的美国临时申请案第61/746,476号,所述申请案中的每一者的全部内容特此以引用的方式并入。
技术领域
本发明是关于视频译码。
背景技术
可将数字视频能力并入到广泛范围的装置中,所述装置包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、便携式计算机或台式计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电话、所谓的“智能手机”、视频电话会议装置、视频流式处理装置,及其类似者。数字视频装置实施视频译码技术,诸如在以下各者中所描述的技术:由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(高级视频译码(AVC))所定义的标准、目前在开发中的高效率视频译码(HEVC)标准,及这些标准的扩展。视频装置可通过实施这些视频译码技术而更有效地传输、接收、编码、解码及/或存储数字视频信息。
视频译码技术包括空间(图片内)预测及/或时间(图片间)预测,以缩减或移除视频序列中所固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频帧或视频帧的部分)分割为多个视频块,所述视频块也可被称为树块、译码单元(CU)及/或译码节点。图片的经帧内译码(I)切片中的视频块是相对于同一图片中的相邻块中的参考样本使用空间预测而编码。图片的经帧间译码(P或B)切片中的视频块可相对于同一图片中的相邻块中的参考样本使用空间预测,或相对于其它参考图片中的参考样本使用时间预测。图片可被称为帧,且参考图片可被称为参考帧。
空间或时间预测产生待译码的块的预测性块。残余数据表示在待译码的原始块与预测性块之间的像素差。根据运动矢量及残余数据来编码经帧间译码块,所述运动矢量指向形成预测性块的参考样本的块,所述残余数据指示在经译码块与预测性块之间的差。根据帧内译码模式及残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生接着可量化的残余变换系数。可扫描最初以二维阵列而排列的经量化变换系数,以便产生变换系数的一维矢量,且可应用熵译码以实现甚至更大程度的压缩。
发明内容
一般而言,本发明描述用于以仅高级别语法改变来支持译码标准的扩展(诸如,即将到来的高效率视频译码(HEVC)标准)的各种技术。举例来说,本发明描述在多视图视频编解码器及/或三维(3D)视频编解码器的HEVC基础规范及HEVC扩展两者中的技术,其中基础视图是与所述HEVC基础规范兼容。一般而言,“基础视频译码规范”可对应于用以译码二维单层视频数据的视频译码规范,诸如HEVC基础规范。对基础视频译码规范的扩展可扩展基础视频译码规范的能力以允许3D及/或多层视频译码。HEVC基础规范表示基础视频译码规范的实例,而对HEVC基础规范的MVC及SVC扩展表示对基础视频译码规范的扩展的实例。
在一个实例中,一种方法包括:解码用于视频数据的第一图片的图片顺序计数(POC)值;解码用于所述第一图片的第二维度图片标识符;及根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来解码第二图片。所述第二维度图片标识符可被进一步简化到所述图片的类型,例如,所述图片为长期还是短期图片,或图片在为参考图片时是否具有与参考所述参考图片的所述图片的图片顺序计数(POC)值相同的POC值。在从相邻块产生运动矢量候选者时,候选者在具有与待预测的运动矢量的第二维度图片标识符不同的第二维度图片标识符时可被认为不可用,所述待预测的运动矢量的所述第二维度图片标识符为运动矢量指向目标参考索引且由所述目标参考索引识别的所述图片。
在另一实例中,一种方法包括:编码用于视频数据的第一图片的图片顺序计数(POC)值;编码用于所述第一图片的第二维度图片标识符;及根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来编码第二图片。
在另一实例中,一种装置包括经配置以执行以下操作的视频解码器:解码用于视频数据的第一图片的图片顺序计数(POC)值;解码用于所述第一图片的第二维度图片标识符;及根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来解码第二图片。
在另一实例中,一种装置包括经配置以执行以下操作的视频编码器:编码用于视频数据的第一图片的图片顺序计数(POC)值;编码用于所述第一图片的第二维度图片标识符;及根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来编码第二图片。
在另一实例中,一种装置包括:用于解码用于视频数据的第一图片的图片顺序计数(POC)值的装置;用于解码用于所述第一图片的第二维度图片标识符的装置;及用于根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来解码第二图片的装置。
在另一实例中,一种装置包括:用于编码用于视频数据的第一图片的图片顺序计数(POC)值的装置;用于编码用于所述第一图片的第二维度图片标识符的装置;及用于根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来编码第二图片的装置。
在另一实例中,一种计算机可读存储媒体在其上存储有指令,所述指令在执行时使处理器执行以下操作:解码用于视频数据的第一图片的图片顺序计数(POC)值;解码用于所述第一图片的第二维度图片标识符;及根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来解码第二图片。
在另一实例中,一种计算机可读存储媒体在其上存储有指令,所述指令在执行时使处理器执行以下操作:编码用于视频数据的第一图片的图片顺序计数(POC)值;编码用于所述第一图片的第二维度图片标识符;及根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来编码第二图片。
在随附图式及以下描述中阐述一或多个实例的细节。其它特征、目标及优点将从所述描述及所述图式以及从权利要求书显而易见。
附图说明
图1为说明实例视频编码及解码系统的框图,所述系统可利用用于根据视频译码标准的仅高级别语法扩展来译码视频数据的技术。
图2为说明视频编码器的实例的框图,所述视频编码器可实施用于根据视频译码标准的仅高级别语法扩展来译码视频数据的技术。
图3为说明视频解码器的实例的框图,所述视频解码器可实施用于根据视频译码标准的仅高级别语法扩展来译码视频数据的技术。
图4为说明实例MVC预测样式的概念图。
图5到9为说明应被克服以实现仅高级别语法HEVC扩展的可能问题的概念图。
图10为说明供运动矢量预测中使用的当前块的相邻块的实例集合的概念图。
图11为说明根据本发明的技术的用于编码视频数据的实例方法的流程图。
图12为说明根据本发明的技术的用于解码视频数据的实例方法的流程图。
具体实施方式
一般而言,本发明描述用于以仅高级别语法(HLS)改变来支持译码标准的扩展(诸如,即将到来的高效率视频译码(HEVC)标准)的各种技术。举例来说,本发明描述在多视图视频译码(MVC)及/或三维视频(3DV)译码的HEVC基础规范及HEVC扩展两者中的技术,其中基础视图是与所述HEVC基础规范兼容。
本发明描述用以在HEVC扩展规范中启用仅高级别语法配置文件的某些技术。在MVC/3DV的上下文中的术语“视图间”可由在可缩放视频译码(SVC)的上下文中的“层间”取代。即,尽管这些技术的描述主要集中于“视图间”预测,但可将相同或类似构思应用于针对HEVC的仅HLS SVC扩展的“层间”参考图片。
图1为说明实例视频编码及解码系统10的框图,所述系统10可利用用于根据视频译码标准的仅高级别语法扩展来译码视频数据的技术。如图1中所展示,系统10包括源装置12,源装置12提供待在稍后时间由目的地装置14解码的经编码视频数据。详言之,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12及目的地装置14可包含广泛范围的装置中的任一者,所述装置包括台式计算机、笔记本(即,便携式)计算机、平板计算机、机顶盒、诸如所谓的“智能”手机的电话手机、所谓的“智能”垫、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式处理装置,或其类似者。在一些状况下,可配备源装置12及目的地装置14以用于无线通信。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包含能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包含通信媒体,使得源装置12能够实时地将经编码视频数据直接传输到目的地装置14。可根据通信标准(诸如,无线通信协议)来调制经编码视频数据,且将经编码视频数据传输到目的地装置14。通信媒体可包含任何无线或有线通信媒体,诸如射频(RF)频谱或一或多个物理传输线。通信媒体可形成诸如局域网、广域网或全局网络(诸如,因特网)的基于数据包的网络的部分。通信媒体可包括路由器、交换机、基站,或可用以促进从源装置12到目的地装置14的通信的任何其它设备。
在一些实例中,可将经编码数据从输出接口22输出到存储装置。类似地,可由输入接口从存储装置访问经编码数据。存储装置可包括多种分布式或本地访问式数据存储媒体中的任一者,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪速存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置可对应于文件服务器,或可存储由源装置12所产生的经编码视频的另一中间存储装置。目的地装置14可经由流式处理或下载从存储装置访问所存储视频数据。文件服务器可为能够存储经编码视频数据且将那个经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络连接存储(NAS)装置,或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包括因特网连接)访问经编码视频数据。这种数据连接可包括适合于访问存储在文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等),或两者的组合。经编码视频数据从存储装置的传输可为流式处理传输、下载传输,或其组合。
本发明的技术未必限于无线应用或设置。所述技术可应用于支持诸如以下应用的多种多媒体应用中的任一者的视频译码:空中电视广播、有线电视传输、卫星电视传输、诸如HTTP动态自适应流式处理(DASH)的因特网流式处理视频传输、经编码到数据存储媒体上的数字视频、存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输,以支持诸如视频流式处理、视频播放、视频广播及/或视频电话的应用。
在图1的实例中,源装置12包括视频源18、视频编码器20及输出接口22。目的地装置14包括输入接口28、视频解码器30及显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于根据视频译码标准的仅高级别语法扩展来译码视频数据的技术。在其它实例中,源装置及目的地装置可包括其它组件或排列。举例来说,源装置12可从外部视频源18(诸如,外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置界接,而非包括整合式显示装置。
图1的所说明系统10仅为一个实例。用于根据视频译码标准的仅高级别语法扩展来译码视频数据的技术可由任何数字视频编码及/或解码装置执行。尽管一般由视频编码装置执行本发明的技术,但也可由通常称为“编解码器(CODEC)”的视频编码器/解码器执行所述技术。此外,也可由视频预处理器执行本发明的技术。源装置12及目的地装置14仅为这些译码装置的实例,其中源装置12产生经译码视频数据以供传输到目的地装置14。在一些实例中,装置12、14可以大体上对称的方式操作,使得装置12、14中的每一者包括视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频传输,(例如)以用于视频流式处理、视频播放、视频广播或视频电话。
源装置12的视频源18可包括诸如视频相机的视频捕获装置、含有先前捕获的视频的视频存档,及/或从视频内容提供者接收视频的视频馈送接口。作为另一替代例,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频与计算机产生的视频的组合。在一些状况下,如果视频源18为视频相机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般可适用于视频译码,且可应用于无线及/或有线应用。在每一状况下,可由视频编码器20编码所捕获、预捕获或计算机产生的视频。经编码视频信息可接着由输出接口22输出到计算机可读媒体16上。
计算机可读媒体16可包括:暂时性媒体,诸如无线广播或有线网络传输;或存储媒体(即,非暂时性存储媒体),诸如硬盘、闪存驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可从源装置12接收经编码视频数据,且(例如)经由网络传输将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(诸如,光盘压印设施)的计算装置可从源装置12接收经编码视频数据且产生含有经编码视频数据的光盘。因此,在各种实例中,可将计算机可读媒体16理解为包括各种形式的一或多个计算机可读媒体。
目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包括由视频编码器20所定义的语法信息(其也由视频解码器30使用),所述语法信息包括描述块及其它经译码单元(例如,GOP)的特性及/或处理的语法元素。显示装置32向用户显示经解码视频数据,且可包含多种显示装置中的任一者,诸如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器,或另一类型的显示装置。
视频编码器20及视频解码器30可根据诸如目前在开发中的高效率视频译码(HEVC)标准的视频译码标准而操作,且可符合HEVC测试模型(HM)。被称作“HEVC工作草案7”或“WD7”的HEVC的新近草案被描述于Bross等人的文档JCTVC-I1003“HighEfficiency Video Coding(HEVC)Text Specification Draft 7”(ITU-T SG 16 WP3及ISO/IECJTC1/SC29/WG11的关于视频译码的联合合作小组(JCT-VC),2012年4月27日到2012年5月7日第9次会议,瑞士日内瓦)中,到2102年6月22日为止,所述草案可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wgll/JCTVC-I1003-v3.zip下载。如上文所提到,本发明包括用于使用高级别语法来扩展HEVC的技术。因此,视频编码器20及视频解码器30可根据使用高级别语法进行扩展的HEVC的版本而操作。
替代地,视频编码器20及视频解码器30可根据诸如ITU-T H.264标准(替代地称为MPEG-4第10部分(高级视频译码(AVC)))的其它专有或工业标准或这些标准的扩展而操作。再次,可使用高级别语法来实现这些扩展。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包括MPEG-2及ITU-T H.263。尽管图1中未图示,但在一些方面,视频编码器20及视频解码器30可各自与音频编码器及解码器整合,且可包括适当的MUX-DEMUX单元或其它硬件及软件,以处置通用数据流或单独数据流中的音频及视频两者的编码。在适用时,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或诸如用户数据报协议(UDP)的其它协议。
ITU-T H.264/MPEG-4(AVC)标准由ITU-T视频译码专家组(VCEG)连同ISO/IEC动画专家组(MPEG)一起阐明为称为联合视频小组(JVT)的集体合作的产品。在一些方面,本发明中所描述的技术可应用于一般符合H.264标准的装置。H.264标准由ITU-T研究组且在日期为2005年3月描述在ITU-T国际标准H.264(用于一般视听服务的高级视频译码)中,其在本文中可称为H.264标准或H.264规范,或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对H.264/MPEG-4 AVC的扩展。
可将视频编码器20及视频解码器30各自实施为多种合适的编码器电路中的任一者,诸如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术部分地以软件予以实施时,装置可将用于软件的指令存储在合适的非暂时性计算机可读媒体中,且使用一或多个处理器在硬件中执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包括在一或多个编码器或解码器中,其中的任一者可整合为相应装置中的组合式编码器/解码器(编解码器)的部分。
JCT-MC正致力于HEVC标准的开发。HEVC标准化努力是基于视频译码装置的演进模型,其被称为HEVC测试模型(HM)。HM推测视频译码装置相对于根据(例如)ITU-TH.264/AVC的现有装置的若干额外能力。举例来说,H.264提供九个帧内预测编码模式,而HM可提供多达三十三个帧内预测编码模式。
一般而言,HM的工作模型描述,视频帧或图片可划分为包括亮度样本及色度样本两者的树块或最大译码单元(LCU)的序列。位流内的语法数据可定义LCU的大小,LCU为就像素的数目而言的最大译码单元。切片包括按译码顺序的数个连续树块。可将视频帧或图片分割为一或多个切片。每一树块可根据四叉树拆分为多个译码单元(CU)。一般而言,四叉树数据结构每CU包括一个节点,其中根节点对应于树块。如果CU拆分为四个子CU,那么对应于所述CU的节点包括四个叶节点,所述叶节点中的每一者对应于子CU中的一者。
四叉树数据结构的每一节点可提供对应CU的语法数据。举例来说,四叉树中的节点可包括拆分标志,其指示对应于所述节点的CU是否拆分为多个子CU。CU的语法元素可被递归地定义,且可取决于CU是否拆分为多个子CU。如果CU并不进一步拆分,那么其被称为叶CU。在本发明中,叶CU的四个子CU也将被称为叶CU,即使不存在原始叶CU的显式拆分也如此。举例来说,如果16×16大小的CU并不进一步拆分,那么尽管16×16CU决不拆分,但四个8×8子CU也将被称为叶CU。
除CU不具有大小区别以外,CU具有与H.264标准的宏块类似的目的。举例来说,树块可拆分为四个子节点(也称为子CU),且每一子节点又可为父节点且拆分为另外四个子节点。称为四叉树的叶节点的最终未拆分子节点包含译码节点,所述译码节点也被称为叶CU。与经译码位流相关联的语法数据可定义可拆分树块的最大次数(称为最大CU深度),且也可定义译码节点的最小大小。因此,位流也可定义最小译码单元(SCU)。本发明使用术语“块”来指在HEVC的上下文中的CU、PU或TU中的任一者,或在其它标准的上下文中的类似数据结构(例如,在H.264/AVC中的宏块及其子块)。
CU包括译码节点及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小对应于译码节点的大小,且形状必须为正方形。CU的大小的范围可从8×8像素直到具有最大64×64像素或大于64×64像素的树块的大小。每一CU可含有一或多个PU及一或多个TU。与CU相关联的语法数据可描述(例如)CU成为一或多个PU的分割。分割模式可取决于CU被跳过或直接模式编码、被帧内预测模式编码还是被帧间预测模式编码而不同。PU的形状可分割为非正方形。与CU相关联的语法数据也可描述(例如)CU根据四叉树而成为一或多个TU的分割。TU的形状可为正方形或非正方形(例如,矩形)。
HEVC标准允许根据TU的变换,所述变换对于不同CU可不同。通常基于针对经分割LCU所定义的给定CU内的PU的大小而设置TU大小,但可能并非总是如此状况。TU通常具有与PU相同的大小,或小于PU。在一些实例中,可使用称为“残余四叉树”(RQT)的四叉树结构将对应于CU的残余样本再分为较小单元。RQT的叶节点可被称为变换单元(TU)。可变换与TU相关联的像素差值以产生可量化的变换系数。
叶CU可包括一或多个预测单元(PU)。一般而言,PU表示对应于对应CU的全部或部分的空间区域,且可包括用于检索PU的参考样本的数据。此外,PU包括与预测有关的数据。举例来说,当PU被帧内模式编码时,PU的数据可包括在残余四叉树(RQT)中,残余四叉树可包括描述对应于PU的TU的帧内预测模式的数据。作为另一实例,当PU被帧间模式编码时,PU可包括定义所述PU的一或多个运动矢量的数据。定义PU的运动矢量的数据可描述(例如)运动矢量的水平分量、运动矢量的垂直分量、运动矢量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动矢量所指向的参考图片,及/或运动矢量的参考图片列表(例如,列表0、列表1,或列表C)。
具有一或多个PU的叶CU也可包括一或多个变换单元(TU)。可使用RQT(也称为TU四叉树结构)指定变换单元,如上文所论述。举例来说,拆分标志可指示叶CU是否拆分为四个变换单元。接着,每一变换单元可进一步拆分为其它子TU。当TU并不进一步拆分时,其可被称为叶TU。一般而言,对于帧内译码,属于叶CU的所有叶TU共享相同帧内预测模式。即,一般应用相同帧内预测模式以计算叶CU的所有TU的预测值。对于帧内译码,视频编码器可使用帧内预测模式将每一叶TU的残余值计算为在对应于TU的CU的部分与原始块之间的差。TU未必限于PU的大小。因此,TU可大于或小于PU。对于帧内译码,PU可与同一CU的对应叶TU同置。在一些实例中,叶TU的最大大小可对应于对应叶CU的大小。
此外,叶CU的TU也可与称为残余四叉树(RQT)的相应四叉树数据结构相关联。即,叶CU可包括指示叶CU分割为TU的方式的四叉树。TU四叉树的根节点一般对应于叶CU,而CU四叉树的根节点一般对应于树块(或LCU)。RQT的不拆分的TU被称为叶TU。一般而言,除非另有指示,否则本发明分别使用术语CU及TU来指叶CU及叶TU。
视频序列通常包括一系列视频帧或图片。图片组(GOP)一般包含一系列一或多个视频图片。GOP可在GOP的标头、图片中的一或多者的标头中或在其它位置包括语法数据,所述语法数据描述包括在GOP中的图片的数目。图片的每一切片可包括描述所述相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块操作,以便编码视频数据。视频块可对应于CU内的译码节点。视频块可具有固定或变化的大小,且可根据所指定的译码标准而在大小上不同。
作为实例,HM支持以各种PU大小进行预测。假设特定CU的大小为2N×2N,那么HM支持以2N×2N或N×N的PU大小进行帧内预测,及以2N×2N、2N×N、N×2N或N×N的对称PU大小进行帧间预测。HM也支持以2N×nU、2N×nD、nL×2N及nR×2N的PU大小进行帧间预测的非对称分割。在非对称分割中,CU的一个方向未分割,而另一方向分割为25%及75%。CU的对应于25%分区的部分是由“n”后跟着“上”、“下”、“左”或“右”的指示进行指示。因此,举例来说,“2N×nU”是指被水平分割的2N×2NCU,其中2N×0.5N PU是在顶部且2N×1.5N PU是在底部。
在本发明中,“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。
在使用CU的PU进行帧内预测性或帧间预测性译码之后,视频编码器20可计算CU的TU的残余数据。PU可包含描述在空间域(也称为像素域)中产生预测性像素数据的方法或模式的语法数据,且TU可包含在对残余视频数据应用变换之后在变换域中的系数,所述变换例如离散余弦变换(DCT)、整数变换、小波变换,或概念上类似的变换。残余数据可对应于未经编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包括CU的残余数据的TU,且接着变换所述TU以产生CU的变换系数。
在应用任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化一般是指将变换系数量化以可能地缩减用以表示所述系数的数据的量从而提供进一步压缩的进程。量化进程可缩减与系数中的一些或全部相关联的位深度。举例来说,n位值可在量化期间降值舍位至m位值,其中n大于m。
在量化之后,视频编码器可扫描变换系数,从而从包括经量化变换系数的二维矩阵产生一维矢量。扫描可经设计以将较高能量(及因此较低频率)系数放置在阵列前部,且将较低能量(及因此较高频率)系数放置在阵列后部。在一些实例中,视频编码器20可利用预定义扫描顺序来扫描经量化变换系数,以产生可经熵编码的系列化矢量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化变换系数以形成一维矢量之后,视频编码器20可(例如)根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法而熵编码所述一维矢量。视频编码器20也可熵编码与经编码视频数据相关联的语法元素,以供视频解码器30用于解码视频数据。
为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待传输的符号。所述上下文可与(例如)符号的相邻值是否为非零相关。为了执行CAVLC,视频编码器20可针对待传输的符号选择可变长度码。可将VLC中的码字构造成使得相对较短码对应于更有可能的符号,而较长码对应于较不可能的符号。如此,与(例如)针对待传输的每一符号使用相等长度码字相比较,使用VLC可实现位节省。概率确定可基于指派给符号的上下文。
视频编码器20可(例如)在帧标头、块标头、切片标头或GOP标头中进一步将语法数据(诸如,基于块的语法数据、基于帧的语法数据及基于GOP的语法数据)发送到视频解码器30。GOP语法数据可描述相应GOP中的帧的数目,且帧语法数据可指示用以编码对应帧的编码/预测模式。
一般而言,本发明描述用于启用视频译码标准(诸如,HEVC)的仅高级别语法(HLS)扩展的解决方案的各种实例。举例来说,这些技术可用以开发针对HEVC的配置文件的仅HLS扩展,诸如MVC或SVC。下文描述各种实例。应理解,尽管单独地描述各种实例,但可以任何组合来组合所述实例中的任一者或全部的元件。
在第一实例中,不存在对当前HEVC基础规范的改变。在HEVC扩展中,图片(例如,视图分量)可由两种性质识别:其图片顺序计数(POC)值,及第二维度图片标识符,例如,view_id值(其可识别存在图片的视图)。可需要视频编码器20以将待用于视图间预测的视图分量指示为长期参考图片。
在第二实例中,不存在对当前HEVC基础规范的改变。在HEVC扩展中,以下改变可适用。图片(例如,视图分量)可由两种性质识别:POC值,及第二维度图片标识符,例如,view_id。在这个第二实例中,可紧接地在译码当前视图分量之前引入额外图片标记进程,以将所有视图间参考图片标记为长期参考图片。可紧接地在译码当前视图分量之后引入另一图片标记进程,以将每一视图间参考图片标记为长期、短期或“不用于参考”,“不用于参考”是与所述图片在当前视图分量被译码之前的先前标记状态相同。
在第三实例中,如下使用及补充第二实例的技术。除第二实例的技术以外,对于每一视图间参考图片,在将所述视图间参考图片标记为长期参考图片之后,也将其POC值映射到新POC值,所述新POC值不等于任何现有参考图片的POC值。在解码当前视图分量之后,对于每一视图间参考图片,将其POC值映射回到原始POC值,所述原始POC值等于所述当前视图分量。举例来说,当前视图分量可属于视图3(假设视图标识符等于视图顺序索引),且可具有等于5的POC值。两个视图间参考图片可使其POC值(皆为5)转换到(例如)1025及2053。在解码当前视图分量之后,可将视图间图片的POC值转换回到5。
在第四实例中,可如下使用及补充第二或第三实例的技术。除如上文所提及的第一实例或第二实例的技术以外,在HEVC基础规范中,也可使用额外分支以禁用参考短期图片的任何运动矢量与参考长期图片的另一运动矢量之间的预测,尤其是在高级运动矢量预测(AMVP)期间。
在第五实例中,在HEVC扩展中,图片可由两种性质识别:POC值,及第二维度图片标识,例如,view_id。在HEVC基础规范中,可添加以下分支中的一或多者(单独地或以任何组合)。在一个实例(称为实例5.1)中,当在AMVP及合并模式期间识别参考图片时,可使用第二维度图片标识(例如,视图顺序索引)连同POC。在HEVC基础规范中的二维2D视频解码的上下文中,第二维度图片标识可始终被设置为等于0。
在另一实例(实例5.2)中,在AMVP(包括时间运动矢量预测(TMVP))期间禁用时间运动矢量与视图间运动矢量之间的预测。运动矢量的性质是否可由识别参考图片的关联参考索引决定,且参考图片如何由含有运动矢量的图片参考,例如,作为长期参考图片、短期参考图片或视图间参考图片。在另一实例(实例5.3)中,可禁用(例如,显式地或隐式地)时间短期运动矢量与时间长期运动矢量之间的预测。在另一实例(实例5.4)中,可启用(例如,显式地或隐式地)时间短期运动矢量与时间长期运动矢量之间的预测。
在另一实例(实例5.5)中,可禁用(例如,显式地或隐式地)参考两个不同视图间参考图片的运动矢量之间的预测。如果两个视图间参考图片的第二维度图片标识符值不同,那么所述两个视图间参考图片可被认为具有不同类型。在另一实例(实例5.6)中,可启用(例如,显式地或隐式地)参考两个不同视图间参考图片的运动矢量之间的预测。在另一实例(实例5.7)中,可启用(例如,显式地或隐式地)参考长期图片及视图间的运动矢量之间的预测。在另一实例(实例5.8)中,可禁用(例如,显式地或隐式地)参考长期图片及视图间的运动矢量之间的预测。
在以上实例中的任一者中,可始终启用参考两个不同时间短期参考图片的两个运动矢量之间的预测,且可启用基于POC值的从一个运动矢量到另一运动矢量的缩放。另外或替代地,在以上实例中的任一者中,可禁用参考两个不同长期图片的运动矢量之间的预测。下文更详细地论述上文所描述的各种实例的某些细节。
一般而言,本发明将“运动矢量”或“运动矢量数据”称为包括运动矢量自身的参考索引(即,参考图片的指针)及x与y坐标。视差运动矢量及时间运动矢量两者一般可被称为“运动矢量”。对应于参考索引的参考图片可被称为运动矢量所参考的参考图片。如果运动矢量参考同一视图中的参考图片,那么所述运动矢量被称为时间运动矢量。如果运动矢量参考不同视图的参考图片,那么所述运动矢量被称为视差运动矢量。
时间运动矢量可为短期时间运动矢量(“短期运动矢量”)或长期时间运动矢量(“长期运动矢量”)。举例来说,如果运动矢量参考短期参考图片,那么运动矢量为短期,而如果运动矢量参考长期参考图片,那么运动矢量为长期。注意,除非另有提及,否则视差运动矢量及长期运动矢量一般描述不同类别的运动矢量,例如,分别用于视图间预测及时间视图内预测。短期及长期参考图片表示时间参考图片的实例。
视频编码器20及视频解码器30可经配置以从经解码图片缓冲器(DPB)识别参考图片,所述DPB可被实施为参考图片存储器。从DPB识别参考图片的进程可用于本发明中所描述的技术的实例中的任一者中。从DPB识别参考图片的进程可出于以下目的而用于HEVC扩展规范中:参考图片集构造、参考图片列表构造,及/或参考图片标记。
可使用图片顺序计数(POC)值及第二维度图片标识信息来识别视图分量、纹理视图分量、深度视图分量或可缩放层(具有(例如)dependency_id与quality_id的特定组合)。第二维度图片标识信息可包括以下各者中的一或多者:在多视图上下文中的视图ID(view_id);在多视图上下文中的视图顺序索引;在3DV(具有深度的多视图)上下文中,视图顺序索引与depth_flag(指示当前视图分量为纹理还是深度)的组合,例如,视图顺序索引乘以2加depth_flag的值;在SVC上下文中,层ID(在可缩放译码环境中,例如,在基于AVC的SVC中,层ID可等于dependency_id乘以16加quality_id);或一般层ID(layer_id),例如,reserved_one_5bits的值减1,其中reserved_one_5bits是如HEVC基础规范中所指定。注意,一般层ID可适用于混合3DV(具有深度的多视图)及可缩放性情形。上述实例可通过(例如)将每一层视为视图而应用于任何多层编解码器,包括可缩放视频编解码器。换言之,对于多视图视频译码,各种视图可被认为单独层。
在一些情形中,基础层或相依视图可具有多个表示,例如,归因于不同升采样/平滑滤波器的使用,或归因于使用视图合成图片以供预测的事实;因此,在一个视图位置中,可存在准备供使用的两个图片,其中一个图片为正常重建相依视图图片,且另一图片为合成视图图片,两个图片皆具有相同view_id或视图顺序索引。在这种状况下,可使用第三维度图片标识。
视频编码器20及视频解码器30也可经配置以从参考图片列表识别参考图片。经解码图片缓冲器(DPB)可被组织为参考图片列表,例如,包括POC值小于当前图片的POC值的可能参考图片的RefPicList0,及包括POC值大于当前图片的POC值的可能参考图片的RefPicList1。用于从参考图片列表识别参考图片的技术用作当前HEVC基础规范的分支。所定义的函数可在AMVP及合并模式期间由视频编码器或视频解码器调用多次。
可使用POC值及第二维度图片标识信息来识别视图分量、纹理视图分量、深度视图分量或可缩放层(具有(例如)dependency_id与quality_id的特定组合),所述第二维度图片标识信息可为以下各者中的一者:在多视图或3DV的上下文中的视图顺序索引。函数viewOIdx(pic)返回被识别为“pic”的图片所属的视图的视图顺序索引。这个函数针对基础视图的任何视图分量、纹理视图分量或深度视图分量返回0;视图ID(view_id);在3DV上下文中,视图顺序索引与depth_flag(指示当前视图分量为纹理还是深度)的组合:视图顺序索引乘以2加depth_flag的值;在SVC上下文中,层ID(在可缩放译码环境中,例如,在基于AVC的SVC中,层ID可等于dependency_id乘以16加quality_id);或一般层ID(layer_id),例如,reserved_one_5bits的值减1,其中reserved_one_5bits是如HEVC基础规范中所指定。函数layerId(pic)返回图片pic的layer_id。LayerId(pic)针对基础视图的任何(纹理)视图分量返回0。LayerId(pic)针对SVC基础视图的任何图片(或层表示)返回0。注意,一般层ID可适用于混合3DV(具有深度的多视图)及可缩放性情形。
在一些情形中,基础层或相依视图可具有多个表示,例如,归因于不同升采样/平滑滤波器的使用,或归因于使用视图合成图片以供预测的事实;因此,在一个视图位置中,可存在准备供使用的两个图片:一个图片为正常重建相依视图图片,另一图片为合成视图图片,两个图片皆具有相同view_id或视图顺序索引。在这种状况下,可使用第三维度图片标识。
可通过使用函数AddPicId(pic)来定义上述第二维度及/或第三维度图片标识中的一或多者。
视频编码器20及视频解码器30也可经配置以识别参考图片列表中的条目的类型。这种情形可用作当前HEVC基础规范的分支。下文所定义的函数中的任一者或全部可在AMVP及/或合并模式期间由视频编码器20及/或视频解码器30调用多次。以下实例技术中的任一者或全部可用以识别参考图片列表中的条目的类型。在一个实例中,如果图片pic为时间参考图片,那么函数“RefPicType(pic)”返回0,且如果图片pic不为时间参考图片,那么函数“RefPicType(pic)”返回1。在另一实例中,如果图片pic具有与当前图片相同的POC,那么函数RefPicType(pic)返回0,且如果图片pic具有与当前图片不同的POC,那么函数RefPicType(pic)返回1。
在另一实例中,可通过仅仅检查“pic”的POC(函数RefPicType(pic)的自变量)是否等于当前图片的POC来替换所述函数的使用而实现上文所论述的实例的结果。在一些实例中,视图间参考图片可标记为“不用于参考”。视图问参考图片可标记为“不用于参考”。出于简单起见,这个图片被称为HEVC基础规范中的非参考图片。在一些实例中,标记为“用于长期参考”或“用于短期参考”的图片可被称为HEVC基础规范中的参考图片。在一些实例中,如果图片pic标记为“用于长期参考”或“用于短期参考”,那么函数RefPicType(pic)返回0,且如果图片pic标记为“不用于参考”,那么函数RefPicType(pic)返回1。另外,在一些实例中,在HEVC扩展中,紧接在视图分量的解码之后,所述视图分量可标记为“不用于参考”,而不管nal_ref_flag语法元素的值如何。
在译码整个访问单元之后,如果nal_ref_flag为真,那么所述访问单元的视图分量可标记为“用于短期参考”或“用于长期参考”。替代地,紧接地在导出同一视图中按解码顺序的后续视图分量的参考图片集(RPS)之后,如果视图分量包括在所述后续视图分量的RPS中,那么所述视图分量可仅标记为“用于短期参考”或“用于长期参考”。另外,在HEVC基础规范中,紧接地在当前图片的解码之后,所述当前图片可标记为“不用于参考”。
在一些实例中,RefPicType(picX,refIdx,LX)在picX为当前图片时返回RefPicType(pic)的值,其中pic为来自图片picX的参考图片列表LX的具有索引refIdx的参考图片。
关于在上文被称为“第四实例”的实例,视频编码器20及视频解码器30可经配置以在AMVP及TMVP期间启用长期参考图片之间的预测而不缩放。关于AMVP,视频编码器20及视频解码器30可经配置以执行用于运动矢量预测值(MVP)候选者的经修改的导出进程。对所述进程的输入可包括:亮度位置(xP,yP),其指定相对于当前图片的左上样本的当前预测单元的左上亮度样本;指定用于亮度的预测单元的宽度nPSW及高度nPSH的变量;及当前预测单元分区的参考索引refIdxLX(其中X为0或1)。所述进程的输出可包括(其中N由A或B替换,其中A对应于左相邻候选者且B对应于上相邻候选者,如图10的实例中所展示)相邻预测单元的运动矢量mvLXN,及相邻预测单元的可用性标志availableFlagLXN。变量isScaledFlagLX(其中X为0或1)可设置为等于0。
在一个实例中,视频编码器20及视频解码器30可用以下有序步骤导出运动矢量mvLXA及可用性标志availableFlagLXA,其中带下划线的文本表示相对于HEVC WD7的改变:
1.令两个样本位置的集合为(xAk,yAk),其中k=0,1,其指定具有xAk=xP-1、yA0=yP+nPSH及yA1=yA0-MinPuSize的样本位置。样本位置的集合(xAk,yAk)表示紧接地在左分区边界及其延长线左侧的样本位置。
2.令可用性标志availableFlagLXA最初设置为等于0且mvLXA的两个分量设置为等于0。
3.在这个实例中,当以下条件中的一或多者成立时,变量isScaledFlagLX设置为等于1。
-覆盖亮度位置(xA0,yA0)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元]且PredMode并非MODE_INTRA。
-覆盖亮度位置(xA1,yA1)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元]且PredMode并非MODE_INTRA。
4.对于从(xA0,yA0)到(xA1,yA1)的(xAk,yAk)(其中yA1=yA0-MinPuSize),以下内容重复地适用,直到availableFlagLXA等于1为止:
-如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xAk][yAk]等于1,且参考索引refIdxLX[xAk][yAk]等于当前预测单元的参考索引refIdxLX,availableFlagLXA设置为等于1,且运动矢量mvLXA设置为等于运动矢量mvLX[xAk][yAk],refIdxA设置为等于refIdxLX[xAk][yAk],且ListA设置为等于ListX。
-否则,如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xAk][yAk](其中Y=!X)等于1,且PicOrderCnt(RefPicListY[refIdxLY[xAk][yAk]])等于PicOrderCnt(RefPicListX[refIdxLX]),availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLY[xAk][yAk],refIdxA设置为等于refIdxLY[xAk][yAk],ListA设置为等于ListY且mvLXA设置为等于mvLXA。
5.在这个实例中,当availableFlagLXA等于0时,对于从(xA0,yA0)到(xA1,yA1)的(xAk,yAk)(其中yA1=yA0-MinPuSize),以下内容重复地适用,直到availableFlagLXA等于1为止:
-如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xAk][yAk]等于1,且RefPicListX[refIdxLX]及RefPicListX[refIdxLX[xA k ][yA k ]]皆为长期参考图片或皆为 短期参考图片,availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLX[xAk][yAk],refIdxA设置为等于refIdxLX[xAk][yAk],ListA设置为等于ListX。
-否则,如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xAk][yAk](其中Y=!X)等于1,且RefPicListX[refIdxLX]及RefPicListY[refIdxLY[xA k ][yA k ]]皆为长期参考图片或皆为 短期参考图片,availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLY[xAk][yAk],refIdxA设置为等于refIdxLY[xAk][yAk],ListA设置为等于ListY。
-当availableFlagLXA等于1,且RefPicListA[refIdxA]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXA是如下文所指定而导出(其中表示法8-###是指HEVC的当前草案(即,WD7)的章节)。
tx=(16384+(Abs(td)>>1))/td                  (8-126)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)           (8-127)
mvLXA=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))               (8-128)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListA[refIdxA])) (8-129)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                                        (8-130)
在一个实例中,视频编码器20及视频解码器30可用以下有序步骤导出运动矢量mvLXB及可用性标志availableFlagLXB,其中带下划线的文本表示相对于HEVC WD7的改变:
1.令三个样本位置的集合为(xBk,yBk),其中k=0,1,2,其指定具有xB0=xP+nPSW、xB1=xB0-MinPuSize、xB2=xP-MinPuSize及yBk=yP-1的样本位置。样本位置的集合(xBk,yBk)表示紧接地在上分区边界及其延长线上侧的样本位置。[编辑(BB):在SPS中定义MinPuSize,但导出应取决于AMP标志的使用]
2.当yP-1小于((yC>>Log2CtbSize)<<Log2CtbSize)时,以下内容适用。
xB0=(xB0>>3)<<3)+((xB0>>3)&1)*7                 (8-131)
xB1=(XB1>>3)<<3)+((XB1>>3)&1)*7                 (8-132)
xB2=(xB2>>3)<<3)+((xB2>>3)&1)*7                 (8-133)
3.令可用性标志availableFlagLXB最初设置为等于0且mvLXB的两个分量设置为等于0。
4.对于从(xB0,yB0)到(xB2,yB2)的(xBk,yBk)(其中xB0=xP+nPSW,xB1=xB0-MinPuSize,且xB2=xP-MinPuSize),以下内容重复地适用,直到availableFlagLXB等于1为止:
-如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xBk][yBk]等于1,且参考索引refIdxLX[xBk][yBk]等于当前预测单元的参考索引refIdxLX,availableFlagLXB设置为等于1,且运动矢量mvLXB设置为等于运动矢量mvLX[xBk][yBk],refIdxB设置为等于refIdxLX[xBk][yBk],且ListB设置为等于ListX。
-否则,如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xBk][yBk](其中Y=!X)等于1,且PicOrderCnt(RefPicListY[refIdxLY[xBk][yBk]])等于PicOrderCnt(RefPicListX[refIdxLX]),availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLY[xBk][yBk],refIdxB设置为等于refIdxLY[xBk][yBk],且ListB设置为等于ListY。
5.当isScaledFlagLX等于0且availableFlagLXB等于1时,mvLXA设置为等于mvLXB,且refIdxA设置为等于refIdxB,且availableFlagLXA设置为等于1。
6.当isScaledFlagLX等于0时,availableFlagLXB设置为等于0,且对于从(xB0,yB0)到(xB2,yB2)的(xBk,yBk)(其中xB0=xP+nPSW,xB1=xB0-MinPuSize,且xB2=xP-MinPuSize),以下内容重复地适用,直到availableFlagLXB等于1为止:
-如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xBk][yBk]等于1, RefPicListX[refIdxLX]及RefPicListX[refIdxLX[xB k ][yB k ]]皆为长期参考图片或皆为 短期参考图片,availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLX[xBk][yBk],refIdxB设置为等于refIdxLX[xBk][yBk],ListB设置为等于ListX。
-否则,如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xBk][yBk](其中Y=!X)等于1, RefPicListX[refIdxLX]及RefPicListY[refIdxLY[xB k ][yB k ]]皆为长期参考图片或皆为 短期参考图片,availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLY[xBk][yBk],refIdxB设置为等于refIdxLY[xBk][yBk],ListB设置为等于ListY。
-当availableFlagLXB等于1且PicOrderCnt(RefPicListB[refIdxB])不等于PicOrderCnt(RefPicListX[refIdxLX]),且RefPicListB[refIdxB]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXB可如下文所指定而导出(其中表示法8-###是指HEVC的当前草案的章节)。
tx=(16384+(Abs(td)>>1))/td                   (8-134)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)            (8-135)
mvLXB=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))                         (8-136)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListB[refIdxB])) (8-137)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                                 (8-138)
视频编码器20及视频解码器30也可经配置以执行用于时间运动矢量预测(TMVP)的经修改的导出进程以用于译码亮度块的运动矢量。在一个实例中,对这种进程的输入包括:亮度位置(xP,yP),其指定相对于当前图片的左上样本的当前预测单元的左上亮度样本;指定用于亮度的预测单元的宽度nPSW及高度nPSH的变量;及当前预测单元分区的参考索引refIdxLX(其中X为0或1)。这种进程的输出可包括运动矢量预测mvLXCol及可用性标志availableFlagLXCol。
在一个实例中,视频编码器20及视频解码器30可经配置以执行函数RefPicOrderCnt(picX,refIdx,LX),函数RefPicOrderCnt(picX,refIdx,LX)返回来自图片picX的参考图片列表LX的具有索引refIdx的参考图片的图片顺序计数PicOrderCntVal。这个函数可指定如下,其中这个描述中的(8-141)及类似参考是指HEVC WD7的章节:
RefPicOrderCnt(picX,refIdx,LX)=PicOrderCnt(图片picX的RefPicListLX[refIdx])                              (8141)
取决于slice_type、collocated_from_l0_flag及collocated_ref_idx的值,指定含有同置分区的图片的变量colPic可如下导出:
-如果slice_type等于B且collocated_from_l0_flag等于0,那么变量colPic指定如由RefPicList1[collocated_ref_idx]所指定的含有同置分区的图片。
-否则(slice_type等于B且collocated_from_l0_flag等于1或slice_type等于P),变量colPic指定如由RefPicList0[collocated_ref_idx]所指定的含有同置分区的图片。
可使用以下有序步骤导出变量colPu及其位置(xPCol,yPCol):
1.可如下导出变量colPu
yPRb=yP+nPSH                        (8-139)
-如果(yP>>Log2CtbSize)等于(yPRb>>Log2CtbSize),那么当前预测单元的右下亮度位置的水平分量由下式定义
xPRb=xP+nPSW                          (8-140)
且变量colPu设置为覆盖colPic内部的由((xPRb>>4)<<4,(yPRb>>4)<<4)所给出的经修改位置的预测单元。
-否则((yP>>Log2CtbSize)不等于(yPRb>>Log2CtbSize)),colPu标记为“不可用”。
2.当colPu以帧内预测模式而译码或colPu标记为“不可用”时,以下内容适用。
-当前预测单元的中央亮度位置由下式定义
xPCtr=(xP+(nPSW>>1)                        (8-141)
yPCtr=(yP+(nPSH>>1)                         (8-142)
-变量colPu设置为覆盖colPic内部的由((xPCtr>>4)<<4,(yPCtr>>4)<<4)所给出的经修改位置的预测单元。
(xPCol,yPCol)设置为等于相对于colPic的左上亮度样本的colPu的左上亮度样本。
函数LongTermRefPic(picX,refIdx,LX)可定义如下。如果来自图片picX的参考图片列表LX的具有索引refIdx的参考图片在picX为当前图片时标记为“用于长期参考”,那么LongTermRefPic(picX,refIdx,LX)返回1;否则LongTermRefPic(picX,refIdx,LX)返回0。
可如下导出变量mvLXCol及availableFlagLXCol,其中带下划线的文本表示相对于HEVC WD7的改变:
-如果以下条件中的一或多者成立,那么mvLXCol的两个分量设置为等于0,且availableFlagLXCol设置为等于0。
-colPu以帧内预测模式而译码。
-colPu标记为“不可用”。
-pic_temporal_mvp_enable_flag等于0。
-否则,如下导出运动矢量mvCol、参考索引refIdxCol及参考列表标识符listCol。
-如果PredFlagL0[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL1[xPCol][yPCol]、RefIdxL1[xPCol][yPCol]及L1。
-否则(PredFlagL0[xPCol][yPCol]等于1),以下内容适用。
-如果PredFlagL1[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL0[xPCol][yPCol]、RefIdxL0[xPCol][yPCol]及L0。
-否则(PredFlagL1[xPCol][yPCol]等于1),进行以下指派。
-如果每一参考图片列表中的每一图片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么mvCol、refIdxCol及listCol分别设置为等于MvLX[xPCol][yPCol]、RefIdxLX[xPCol][yPCol]及LX,其中X为调用这种进程时X的值。
-否则(至少一个参考图片列表中的至少一个图片pic的PicOrderCnt(pic)大于PicOrderCntVal),mvCol、refIdxCol及listCol分别设置为等于MvLN[xPCol][yPCol]、RefIdxLN[xPCol][yPCol]及LN,其中N为collocated_from_10_flag的值。
-如果以下条件中的一者成立,那么变量availableFlagLXCol设置为等于0:
-RefPicListX[refIdxLX]为长期参考图片且LongTermRefPic(colPic, refIdxCollistCol)等于0;
-RefPicListX[refIdxLX]为短期参考图片且LongTermRefPic(colPic, refIdxCol,listCol)等于1;
-否则,变量availableFlagLXCol设置为等于1,且以下内容适用。
-如果RefPicListX[refIdxLX]为长期参考图片,或LongTermRefPic(colPic,refIdxCol,listCol)等于1,或PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol)等于PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]),那么
mvLXCol=mvCol             (8-143)
-否则,mvLXCol可如下文所指定导出为运动矢量mvCol的缩放版本:
tx=(16384+(Abs(td)>>1))/td               (8-144)
-
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)     (8-145)
mvLXCol=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol)+127)>>8))              (8-146)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol))                    (8-147)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListLX[refIdxLX]))                   (8-148)
在以上实例中,在TMVP期间所使用的同置块的可用性也可取决于所述同置块的参考图片的图片类型(例如,图片为长期还是短期参考图片)。即,即使当用于TMVP的右下块可用(在子条款中的步骤1之后)时,如果所述右下块中的运动矢量参考与目标参考图片的图片类型不同的图片类型(短期或长期),那么也可将所述块进一步设置为不可用。同样地,中央块可进一步用于TMVP。
举例来说,视频编码器20及视频解码器30可经配置以根据以下详细实例导出亮度运动矢量的运动矢量预测值。对由视频编码器20及视频解码器30所实施的进程的输入可包括:
-亮度位置(xP,yP),其指定相对于当前图片的左上样本的当前预测单元的左上亮度样本,
-指定用于亮度的预测单元的宽度nPSW及高度nPSH的变量,
-当前预测单元分区的参考索引refIdxLX(其中X为0或1)。
来自所述进程的输出可包括:
-运动矢量预测mvLXCol,
-可用性标志availableFlagLXCol。
函数RefPicOrderCnt(picX,refIdx,LX)在由视频编码器20及/或视频解码器30执行时返回来自图片picX的参考图片列表LX的具有索引refIdx的参考图片的图片顺序计数PicOrderCntVal。这个函数的实例实施指定如下:
RefPicOrderCnt(picX,refIdx,LX)=PicOrderCnt(图片picX的RefPicListLX[refIdx])(8-141)
取决于slice_type、collocated_from_10_flag及collocated_ref_idx的值,指定含有同置分区的图片的变量colPic可如下导出:
-如果slice_type等于B且collocated_from_10_flag等于0,那么变量colPic指定如由RefPicListl[collocated_ref_idx]所指定的含有同置分区的图片。
-否则(slice_type等于B且collocated_from_10_flag等于1或slice_type等于P),变量colPic指定如由RefPicList0[collocated_ref_idx]所指定的含有同置分区的图片。
视频编码器20及视频解码器30可使用以下有序步骤导出变量colPu及其位置(xPCol,yPCol):
1.视频编码器20及视频解码器30可如下导出变量colPu:
yPRb=yP+nPSH                  (8-139)
-如果(yP>>Log2CtbSize)等于(yPRb>>Log2CtbSize),那么当前预测单元的右下亮度位置的水平分量可由下式定义
xPRb=xP+nPSW             (8-140)
且变量colPu可设置为覆盖colPic内部的由((xPRb>>4)<<4,(yPRb>>4)<<4)所给出的经修改位置的预测单元。
-否则((yP>>Log2CtbSize)不等于(yPRb>>Log2CtbSize)),视频编码器20及视频解码器30可将colPu标记为“不可用”。
2.在这个实例中,当colPu以帧内预测模式而译码或colPu标记为“不可用”时,以下内容适用:
-当前预测单元的中央亮度位置由下式定义
xPCtr=(xP+(nPSW>>1)           (8-141)
yPCtr=(yP+(nPSH>>1)           (8-142)
-变量colPu设置为覆盖colPic内部的由((xPCtr>>4)<<4,(yPCtr>>4)<<4)所给出的经修改位置的预测单元。
3.视频编码器20及视频解码器30可将(xPCol,yPCol)设置为等于相对于colPic的左上亮度样本的colPu的左上亮度样本。
函数LongTermRefPic(picX,refIdx,LX)可定义如下:如果来自图片picX的参考图片列表LX的具有索引refIdx的参考图片在picX为当前图片时标记为“用于长期参考”,那么LongTermRefPic(picX,refIdx,LX)返回1;否则LongTermRefPic(picX,refIdx,LX)返回0。
视频编码器20及视频解码器30可如下导出变量mvLXCol及availableFlagLXCol:
availableFlagLXCol设置为等于0,numTestBlock等于0。
在numTestBlock小于2且availableFlagLXCol等于0时,按顺序执行以下内容。
xPCtr=(xP+(nPSW>>1)
yPCtr=(yP+(nPSH>>1)
-如果colPu覆盖colPic内部的由((xPCtr>>4)<<4,(yPCtr>>4)<<4)所给出的位置,那么numTestBlock设置为1;
-否则,如果numTestBlock等于1,那么colPu设置为覆盖colPic内部的由((xPCtr>>4)<<4,(yPCtr>>4)<<4)所给出的经修改位置的预测单元,且(xPCol,yPCol)设置为等于相对于colPic的左上亮度样本的colPu的左上亮度样本。
-numTestBlock++
-如果以下条件中的一或多者成立,那么mvLXCol的两个分量设置为等于0,且availableFlagLXCol设置为等于0。
-colPu以帧内预测模式而译码。
-colPu标记为“不可用”。
-pic_temporal_mvp_enable_flag等于0。
-否则,如下导出运动矢量mvCol、参考索引refIdxCol及参考列表标识符listCol。
-如果PredFlagL0[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL1[xPCol][yPCol]、RefIdxLl[xPCol][yPCol]及L1。
-否则(PredFlagL0[xPCol][yPCol]等于1),以下内容适用。
-如果PredFlagLl[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL0[xPCol][yPCol]、RefIdxL0[xPCol][yPCol]及L0。
-否则(PredFlagLl[xPCol][yPCol]等于1),进行以下指派。
-如果每一参考图片列表中的每一图片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么mvCol、refIdxCol及listCol分别设置为等于MvLX[xPCol][yPCol]、RefIdxLX[xPCol][yPCol]及LX,其中X为调用这种进程时X的值。
-否则(至少一个参考图片列表中的至少一个图片pic的PicOrderCnt(pic)大于PicOrderCntVal),mvCol、refIdxCol及listCol分别设置为等于MvLN[xPCol][yPCol]、RefIdxLN[xPCol][yPCol]及LN,其中N为collocated_from_10_flag的值。
-如果以下条件中的一者成立,那么变量availableFlagLXCol设置为等于0:
-RefPicListX[refIdxLX]为长期参考图片且LongTermRefPic(colPic,refIdxCol,listCol)等于0;
-RefPicListX[refIdxLX]为短期参考图片且LongTermRefPic(colPic,refIdxCol,listCol)等于1;
-否则,变量availableFlagLXCol设置为等于1,且以下内容适用。
-如果RefPicListX[refIdxLX]为长期参考图片,或LongTermRefPic(colPic,refIdxCol,listCol)等于1,或PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol)等于PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]),那么
mvLXCol=mvCol            (8-143)
-否则,mvLXCol可如下文所指定导出为运动矢量mvCol的缩放版本:
tx=(16384+(Abs(td)>>1))/td             (8-144)
-DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)     (8-145)
mvLXCol=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol)+127)>>8))         (8-146)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol))            (8-147)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListLX[refIdxLX]))
                                         (8-148)
在替代实例中,如果参考图片的POC值不相同,那么长期运动矢量决不是从另一长期运动矢量预测。视频编码器20及视频解码器30可根据用于导出运动矢量预测值候选者的以下进程而配置,其中带下划线的文本表示相对于HEVC WD7的改变。
变量isScaledFlagLX(其中X为0或1)可设置为等于0。用以下有序步骤导出运动矢量mvLXA及可用性标志availableFlagLXA,其中省略号表示与HEVC的当前草案的文本相同的文本,且下划线表示相对于HEVC的当前草案的改变:
1.…
2.…
3.…
4.…
5.当availableFlagLXA等于0时,对于从(xA0,yA0)到(xA1,yA1)的(xAk,yAk)(其中yA1=yA0-MinPuSize),以下内容重复地适用,直到availableFlagLXA等于1为止:
-如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE INTRA,rredFlagLX[xAk][yAk]等于1,且RefPicListX [refIdxLX]及RefPicListX[refIdxLX[xA k ][yA k ]]皆为具有不同POC值的长期参考图片 或皆为短期参考图片,availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLX[xAk][yAk],refIdxA设置为等于refIdxLX[xAk][yAk],ListA设置为等于ListX。
-否则,如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xAk][yAk](其中Y=!X)等于1, RefPicListX[refIdxLX]及RefPicListY[refIdxLY[xA k ][yA k ]]皆为具有不同POC值的长 期参考图片或皆为短期参考图片,availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLY[xAk][yAk],refIdxA设置为等于refIdxLY[xAk][yAk],ListA设置为等于ListY。
-当availableFlagLXA等于1,且RefPicListA[refIdxA]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXA是如下文所指定而导出。
Tx=(16384+(Abs(td)>>1))/td             (8-126)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)           (8-127)
mvLXA=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))           (8-128)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListA[refIdxA]))(8-129)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                          (8-130)
视频编码器20及视频解码器30可使用以下有序步骤导出运动矢量mvLXB及可用性标志availableFlagLXB,其中省略号再次表示与HEVC WD7的文本相同的文本:
1.…
2.…
3.…
4.…
5.…
6.当isScaledFlagLX等于0时,availableFlagLXB设置为等于0,且对于从(xB0,yB0)到(xB2,yB2)的(xBk,yBk)(其中xB0=xP+nPSW,xB1=xB0-MinPuSize,且xB2=xP-MinPuSize),以下内容重复地适用,直到availableFlagLXB等于1为止:
-如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xBk][yBk]等于1,且RefPicListX [refIdxLX]及RefPicListX[refIdxLX[xB k ][yB k ]]皆为具有不同POC值的长期参考图片 或皆为短期参考图片,availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLX[xBk][yBk],refIdxB设置为等于refIdxLX[xBk][yBk],ListB设置为等于ListX。
-否则,如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xBk][yBk](其中Y=!X)等于1, RefPicListX[refIdxLX]及RefPicListY[refIdxLY[xB k ][yB k ]]皆为具有不同POC值的长 期参考图片或皆为短期参考图片,availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLY[xBk][yBk],refIdxB设置为等于refIdxLY[xBk][yBk],ListB设置为等于ListY。
-当availableFlagLXB等于1且PicOrderCnt(RefPicListB[refIdxB])不等于PicOrderCnt(RefPicListX[refIdxLX]),且RefPicListB[refIdxB]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXB是如下文所指定而导出。
tx=(16384+(Abs(td)>>1))/td               (8-134)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)          (8-135)
mvLXB=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))             (8-136)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListB[refIdxB]))(8-137)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                  (8-138)
视频编码器20及视频解码器30可经配置以根据以下进程导出时间亮度运动矢量预测值,其中带下划线的文本表示相对于HEVC WD7的改变。可如下导出变量mvLXCol及availableFlagLXCol:
-如果以下条件中的一或多者成立,那么mvLXCol的两个分量设置为等于0,且availableFlagLXCol设置为等于0。
-colPu以帧内预测模式而译码。
-colPu标记为“不可用”。
-pic_temporal_mvp_enable_flag等于0。
-否则,如下导出运动矢量mvCol、参考索引refIdxCol及参考列表标识符listCol。
-如果PredFlagL0[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvLl[xPCol][yPCol]、RefIdxLl[xPCol][yPCol]及L1。
-否则(PredFlagL0[xPCol][yPCol]等于1),以下内容适用。
-如果PredFlagLl[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL0[xPCol][yPCol]、RefIdxL0[xPCol][yPCol]及L0。
-否则(PredFlagLl[xPCol][yPCol]等于1),进行以下指派。
-如果每一参考图片列表中的每一图片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么mvCol、refIdxCol及listCol分别设置为等于MvLX[xPCol][yPCol]、RefIdxLX[xPCol][yPCol]及LX,其中X为调用这种进程时X的值。
-否则(至少一个参考图片列表中的至少一个图片pic的PicOrderCnt(pic)大于PicOrderCntVal),mvCol、refIdxCol及listCol分别设置为等于MvLN[xPCol][yPCol]、RefIdxLN[xPCol][yPCol]及LN,其中N为collocated_from_10_flag的值。
-如果以下条件中的一者成立,那么变量availableFlagLXCol设置为等于0:
-RefPicListX[refIdxLX]为长期参考图片且LongTermRefPic(colPic, refIdxCol,listCol)等于0;
-RefPicListX[refIdxLX]为短期参考图片且LongTermRefPic(colPic, refIdxCol,listCol)等于1;
-RefPicListX[refIdxLX]为长期参考图片,LongTermRefPic(colPic, refIdxCol,listCol)等于1,且RefPicOrderCnt(colPic,refIdxCol,listCol)不等于 PicOrderCnt(RefPicListX[refIdxLX])。
-否则,变量availableFlagLXCol设置为等于1,且以下内容适用。
-如果RefPicListX[refIdxLX]为长期参考图片,或LongTermRefPic(colPic,refIdxCol,listCol)等于1,或PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol)等于PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]),那么
mvLXCol=mvCol              (8-143)
-否则,mvLXCol是如下文所指定导出为运动矢量mvCol的缩放版本:
tx=(16384+(Abs(td)>>1))/td          (8-144)
-DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)     (8-145)
mvLXCol=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol)+127)>>8))           (8-146)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol))               (8-147)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListLX[refIdxLX]))             (8-148)
作为又一实例,视图间参考图片可标记为“不用于参考”。出于简单起见,这个图片可被称为HEVC基础规范中的非参考图片,且标记为“用于长期参考”或“用于短期参考”的图片可被称为HEVC基础规范中的参考图片。术语“参考图片”及“非参考图片”可由标记为“用于参考”的图片及标记为“不用于参考”的图片替换。
函数UnusedRefPic(picX,refIdx,LX)可定义如下。如果来自图片picX的参考图片列表LX的具有索引refIdx的参考图片在picX为当前图片时标记为“不用于参考”,那么UnusedRefPic(picX,refIdx,LX)返回1;否则UnusedRefPic(picX,refIdx,LX)返回0。
视频编码器20及视频解码器30可经配置以如下执行用于运动矢量预测值候选者的导出进程,其中带下划线的文本表示相对于HEVC WD7的改变,且省略号表示与HEVCWD7的文本相同的文本:
变量isScaledFlagLX(其中X为0或1)可设置为等于0。
可用以下有序步骤导出运动矢量mvLXA及可用性标志availableFlagLXA:
1.…
2.…
3.…
4.…
5.当availableFlagLXA等于0时,对于从(xA0,yA0)到(xA1,yA1)的(xAk,yAk)(其中yA1=yA0-MinPuSize),以下内容重复地适用,直到availableFlagLXA等于1为止:
-如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xAk][yAk]等于1, RefPicListX[refIdxLX]及RefPicListX[refIdxLX[xA k ][yA k ]]皆为参考图片或皆为非参 考图片,availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLX[xAk][yAk],refIdxA设置为等于refIdxLX[xAk][yAk],ListA设置为等于ListX。
-否则,如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xAk][yAk](其中Y=!X)等于1, RefpicListX[refIdxLX]及RefPicListY[refIdxLY[xA k ][yA k ]]皆为参考图片或皆为非参 考图片,availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLY[xAk][yAk],refIdxA设置为等于refIdxLY[xAk][yAk],ListA设置为等于ListY。
-当availableFlagLXA等于1,且RefPicListA[refIdxA]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXA是如下文所指定而导出。
tx=(16384+(Abs(td)>>1))/td                (8-126)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)        (8-127)
mvLXA=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))         (8-128)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListA[refIdxA]))(8-129)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                        (8-130)
视频编码器20及视频解码器30可使用以下有序步骤导出运动矢量mvLXB及可用性标志availableFlagLXB,其中带下划线的文本表示相对于HEVC WD7的改变:
1.…
2.…
3.…
4.…
5.…
6.当isScaledFlagLX等于0时,availableFlagLXB设置为等于0,且对于从(xB0,yB0)到(xB2,yB2)的(xBk,yBk)(其中xB0=xP+nPSW,xB1=xB0-MinPuSize,且xB2=xP-MinPuSize),以下内容重复地适用,直到availableFlagLXB等于1为止:
-如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xBk][yBk]等于1, RefPicListX[refIdxLX]及RefPicListX[refIdxLX[xB k ][yB k ]]皆为参考图片或皆为非参 考图片,availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLX[xBk][yBk],refIdxB设置为等于refIdxLX[xBk][yBk],ListB设置为等于ListX。
-否则,如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xBk][yBk](其中Y=!X)等于1, RefPicListX[refIdxLX]及RefPicListY[refIdxLY[xB k ][yB k ]]皆为参考图片或皆为非参 考图片,availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLY[xBk][yBk],refIdxB设置为等于refIdxLY[xBk][yBk],ListB设置为等于ListY。
-当availableFlagLXB等于1且PicOrderCnt(RefPicListB[refIdxB])不等于PicOrderCnt(RefPicListX[refIdxLX]),且RefPicListB[refIdxB]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXB是如下文所指定而导出。
tx=(16384+(Abs(td)>>1))/td             (8-134)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)         (8-135)
mvLXB=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))            (8-136)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListB[refIdxB]))(8-137)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                        (8-138)
视频编码器20及视频解码器30可经配置以如下导出时间亮度运动矢量预测值,其中带下划线的文本表示相对于HEVC WD7的改变:
可如下导出变量mvLXCol及availableFlagLXCol。
-如果以下条件中的一或多者成立,那么mvLXCol的两个分量设置为等于0,且availableFlagLXCol设置为等于0。
-colPu以帧内预测模式而译码。
-colPu标记为“不可用”。
-pic_temporal_mvp_enable_fIag等于0。
-否则,如下导出运动矢量mvCol、参考索引refIdxCol及参考列表标识符listCol。
-如果PredFlagL0[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvLl[xPCol][yPCol]、RefIdxLl[xPCol][yPCol]及L1。
-否则(PredFlagL0[xPCol][yPCol]等于1),以下内容适用。
-如果PredFlagLl[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL0[xPCol][yPCol]、RefIdxL0[xPCol][yPCol]及L0。
-否则(PredFlagLl[xPCol][yPCol]等于1),进行以下指派。
-如果每一参考图片列表中的每一图片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么mvCol、refIdxCol及listCol分别设置为等于MvLX[xPCol][yPCol]、RefIdxLX[xPCol][yPCol]及LX,其中X为调用这种进程时X的值。
-否则(至少一个参考图片列表中的至少一个图片pic的PicOrderCnt(pic)大于PicOrderCntVal),mvCol、refIdxCol及listCol分别设置为等于MvLN[xPCol][yPCol]、RefIdxLN[xPCol][yPCol]及LN,其中N为collocated_from_10_flag的值。
-如果以下条件中的一者成立,那么变量availableFlagLXCol设置为等于0:
-RefPicListX[refIdxLX]为非参考图片且UnusedRefPic(colPic,refIdxCol, listCol)等于0;
-RefPicListX[refIdxLX]为参考图片且UnusedRefPic(colPic,refIdxCol, listCol)等于1:
-否则,变量availableFlagLXCol设置为等于1,且以下内容适用。
-如果RefPicListX[refIdxLX]为长期参考图片,或LongTermRefPic(colPic,refIdxCol,listCol)等于1,或PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol)等于PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]),那么
mvLXCol=mvCol              (8-143)
-否则,mvLXCol是如下文所指定导出为运动矢量mvCol的缩放版本:
tx=(16384+(Abs(td)>>1))/td           (8-144)
-DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)    (8-145)
mvLXCol=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol)+127)>>8))          (8-146)
其中td及tb被导出为:
td=Clip3(-128,127,PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol))                 (8-147)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListLX[refIdxLX]))               (8-148)
关于在上文被称为“第五实例”的实例,视频编码器20及视频解码器30可经配置以根据以下技术中的任一者或全部而执行。在这个实例中,可禁用参考不同长期参考图片的运动矢量之间的预测,可禁用参考不同视图间参考图片的运动矢量之间的预测,且可禁用参考视图间参考图片及长期参考图片的运动矢量之间的预测。
在这个实例中,函数AddPicId(pic)返回图片pic所属的视图或层的视图顺序索引或层ID。因此,对于属于基础视图或层的任何图片“pic”,AddPicId(pic)返回0。在HEVC基础规范中,以下内容可适用:函数AddPicId(pic)可定义如下:AddPicId(pic)返回0(或reserved_one_5bits减1)。在这个实例中,当AddPicId(pic)不等于0时,图片pic不为时间参考图片(即,既不为短期参考图片也不为长期参考图片)。AddPicId(picX,refIdx,LX)可返回AddPicId(pic),其中pic为来自图片picX的参考图片列表LX的具有索引refIdx的参考图片。
视频编码器20及视频解码器30可经配置以执行用于运动矢量预测值候选者的导出进程。对这种进程的输入可包括:亮度位置(xP,yP),其指定相对于当前图片的左上样本的当前预测单元的左上亮度样本;指定用于亮度的预测单元的宽度nPSW及高度nPSH的变量;及当前预测单元分区的参考索引refIdxLX(其中X为0或1)。这种进程的输出可包括(其中N可由A或B替换):相邻预测单元的运动矢量mvLXN,及相邻预测单元的可用性标志availableFlagLXN。
变量isScaledFlagLX(其中X为0或1)可设置为等于0。视频编码器20及视频解码器30可经配置以使用以下有序步骤导出运动矢量mvLXA及可用性标志availableFlagLXA,其中带下划线的文本表示相对于HEVC WD7的改变:
1.令两个样本位置的集合为(xAk,yAk),其中k=0,1,其指定具有xAk=xP-1、yA0=yP+nPSH及yA1=yA0-MinPuSize的样本位置。样本位置的集合(xAk,yAk)表示紧接地在左分区边界及其延长线左侧的样本位置。
2.令可用性标志availableFlagLXA最初设置为等于0且mvLXA的两个分量设置为等于0。
3.当以下条件中的一或多者成立时,变量isScaledFlagLX设置为等于1。
-覆盖亮度位置(xA0,yA0)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元]且PredMode并非MODE_INTRA。
-覆盖亮度位置(xA1,yA1)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元]且PredMode并非MODE_INTRA。
4.对于从(xA0,yA0)到(xA1,yA1)的(xAk,yAk)(其中yA1=yA0-MinPuSize),如果 availableFlagLXA等于0,那么以下内容适用:
-如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xAk][yAk]等于1,且参考索引refIdxLX[xAk][yAk]等于当前预测单元的参考索引refIdxLX,availableFlagLXA设置为等于1,且运动矢量mvLXA设置为等于运动矢量mvLX[xAk][yAk],refIdxA设置为等于refIdxLX[xAk][yAk],且ListA设置为等于ListX。
-否则,如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xAk][yAk](其中Y=!X)等于1,AddPicId(RefPicListX[refIdxLX])等于AddPicId(RefPicListY[refIdxLY[xA k ][yA k ]]),且PicOrderCnt(RefPicListY[refIdxLY[xAk][yAk]])等于PicOrderCnt(RefPicListX[refIdxLX]),availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLY[xAk][yAk],refIdxA设置为等于refIdxLY[xAk][yAk],ListA设置为等于ListY且mvLXA设置为等于mvLXA。
-当availableFlagLXA等于1时,如果以下内容中的一或多者成立,那么 availableFlagLXA设置为0:
-RefPicListX[refIdxLX]及ListA[refIdxA]中的一者且仅一者为长期参考图 片;
-RefPicListX[refIdxLX]及ListA[refIdxA]皆为长期参考图片,且 PicOrderCnt(ListA[refIdxA])不等于PicOrderCnt(RefPicListX[refIdxLX])。
5.当availableFlagLXA等于0时,对于从(xA0,yA0)到(xA1,yA1)的(xAk,yAk)(其中yA1=yA0-MinPuSize),如果availableFlagLXA等于0,那么以下内容适用:
-如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE INTRA,predFlagLX[xAk][yAk]等于1,且AddPicId (RefPicListX[refIdxLX])等于AddPicId(RefPicListX[refIdxLX[xAk][yAk]]),availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLX[xAk][yAk],refIdxA设置为等于refIdxLX[xAk][yAk],ListA设置为等于ListX。
-否则,如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE INTRA,predFlagLY[xAk][yAk](其中Y=!X)等于1,且AddPicId (RefPicListX[refIdxLX])等于AddPicId(RefPicListY[refIdxLY[xAk][yAk]]),availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLY[xAk][yAk],refIdxA设置为等于refIdxLY[xAk][yAk],ListA设置为等于ListY。
-当availableFlagLXA等于1时,如果以下内容中的一或多者成立,那么 availableFlagLXA设置为0:
-RefPicListX[refIdxLX]及ListA[refIdxA]中的一者且仅一者为长期参考图 片;
-RefPicListX[refIdxLX]及ListA[refIdxA]皆为长期参考图片,且 PicOrderCnt(ListA[refIdxA])不等于PicOrderCnt(RefPicListX[refIdxLX])。
-当availableFlagLXA等于1,且RefPicListA[refIdxA]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXA是如下文所指定而导出。
tx=(16384+(Abs(td)>>1))/td              (8-126)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)      (8-127)
mvLXA=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))         (8-128)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListA[refIdxA]))(8-129)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                     (8-130)
视频编码器20及视频解码器30可经配置以使用以下有序步骤导出运动矢量mvLXB及可用性标志availableFlagLXB,其中带下划线的文本表示相对于HEVC WD7的改变:
1.令三个样本位置的集合为(xBk,yBk),其中k=0,1,2,其指定具有xB0=xP+nPSW、xB1=xB0-MinPuSize、xB2=xP-MinPuSize及yBk=yP-1的样本位置。样本位置的集合(xBk,yBk)表示紧接地在上分区边界及其延长线上侧的样本位置。[编辑(BB):在SPS中定义MinPuSize,但导出应取决于AMP标志的使用]
2.当yP-1小于((yC>>Log2CtbSize)<<Log2CtbSize)时,以下内容适用。
xB0=(xB0>>3)<<3)+((xB0>>3)&1)*7          (8-131)
xB1=(xB1>>3)<<3)+((xB1>>3)&1)*7          (8-132)
xB2=(xB2>>3)<<3)+((xB2>>3)&1)*7         (8-133)
3.令可用性标志availableFlagLXB最初设置为等于0且mvLXB的两个分量设置为等于0。
4.对于从(xB0,yB0)到(xB2,yB2)的(xBk,yBk)(其中xB0=xP+nPSW,xB1=xB0-MinPuSize,且xB2=xP-MinPuSize),如果availableFlagLXB等于0,那么以下内容适用:
-如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xBk][yBk]等于1,且参考索引refIdxLX[xBk][yBk]等于当前预测单元的参考索引refIdxLX,availableFlagLXB设置为等于1,且运动矢量mvLXB设置为等于运动矢量mvLX[xBk][yBk],refIdxB设置为等于refIdxLX[xBk][yBk],且ListB设置为等于ListX。
-否则,如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xBk][yBk](其中Y=!X)等于1,AddPicId(RefPicListX[refIdxLX])等于AddPicId(RefPicListY[refIdxLY[xBk][yBk]]),且PicOrderCnt(RefPicListY[refIdxLY[xBk][yBk]])等于PicOrderCnt(RefPicListX[refIdxLX]),availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLY[xBk][yBk],refIdxB设置为等于refIdxLY[xBk][yBk],且ListB设置为等于ListY。
-当availableFlagLXA等于1时,如果以下内容中的一或多者成立,那么 availableFlagLXA设置为0:
-RefPicListX[refIdxLX]及ListB[refIdxB]中的一者且仅一者为长期参考图 片。
-AddPicId(RefPicListX[refIdxLX])不等于AddPicId(ListB[refIdxB])。
-RefPicListX[refIdxLX]及ListB[refIdxB]皆为长期参考图片,且 PicOrderCnt(ListB[refIdxB])不等于PicOrderCnt(RefPicListX[refIdxLX])。
5.当isScaledFlagLX等于0且availableFlagLXB等于1时,mvLXA设置为等于mvLXB,且refIdxA设置为等于refIdxB,且availableFlagLXA设置为等于1。
6.当isScaledFlagLX等于0时,availableFlagLXB设置为等于0,且对于从(xB0,yB0)到(xB2,yB2)的(xBk,yBk)(其中xB0=xP+nPSW,xB1=xB0-MinPuSize,且xB2=xP-MinPuSize),如果availableFlagLXB等于0,那么以下内容适用:
-如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xBk][yBk]等于1,且AddPicId(RefPicListX[refIdxLX])等于AddPicId(RefPicListX[refIdxLX[xBk][yBk]]),availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLX[xBk][yBk],refIdxB设置为等于refIdxLX[xBk][yBk],ListB设置为等于ListX。
-否则,如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[][]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xBk][yBk](其中Y=!X)等于1, AddPicId(RefPicListX[refIdxIX])等于AddPicId(RefPicListY[refIdxLY[xBk][yBk]]),availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLY[xBk][yBk],refIdxB设置为等于refIdxLY[xBk][yBk],ListB设置为等于ListY。
-当availableFlagLXA等于1时,如果以下内容中的一或多者成立,那么 availableFlagLXA设置为0:
-RefPicListX[refIdxLX]及ListB[refIdxB]中的一者且仅一者为长期参考图 片。
-RefPicListX[refIdxLX]及ListB[refIdxB]皆为长期参考图片,且 PicOrderCnt(ListB[refIdxB])不等于PicOrderCnt(RefPicListX[refIdxLX]))。
-当availableFlagLXB等于1且PicOrderCnt(RefPicListB[refIdxB])不等于PicOrderCnt(RefPicListX[refIdxLX]),且RefPicListB[refIdxB]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXB是如下文所指定而导出。
tx=(16384+(Abs(td)>>1))/td           (8-134)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)       (8-135)
mvLXB=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))          (8-136)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListB[refIdxB]))
                                     (8-137)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                     (8-138)
视频编码器20及视频解码器30可经配置以如下导出时间亮度运动矢量预测值。对进程的输入可包括:亮度位置(xP,yP),其指定相对于当前图片的左上样本的当前预测单元的左上亮度样本;指定用于亮度的预测单元的宽度nPSW及高度nPSH的变量;及当前预测单元分区的参考索引refIdxLX(其中X为0或1)。进程的输出可包括运动矢量预测mvLXCol及可用性标志availableFlagLXCol。
可返回来自图片picX的参考图片列表LX的具有索引refIdx的参考图片的图片顺序计数PicOrderCntVal的函数RefPicOrderCnt(picX,refIdx,LX)可指定如下:
RefPicOrderCnt(picX,refIdx,LX)=PicOrderCnt(图片picX的RefPicListLX[refIdx])                    (8141)
取决于slice_type、collocated_from_10_flag及collocated_ref_idx的值,视频编码器20及视频解码器30可如下导出指定含有同置分区的图片的变量colPic:
-如果slice_type等于B且collocated_from_10_flag等于0,那么变量colPic指定如由RefPicListl[collocated_ref_idx]所指定的含有同置分区的图片。
-否则(slice_type等于B且collocated_from_10_flag等于1或sliceype等于P),变量colPic指定如由RefPicList0[collocated_ref_idx]所指定的含有同置分区的图片。
视频编码器20及视频解码器30可使用以下有序步骤导出变量colPu及其位置(xPCol,yPCo1),其中带下划线的文本表示相对于HEVC WD7的改变:
1.可如下导出变量colPu
yPRb=yP+nPSH                      (8-139)
-如果(yP>>Log2CtbSize)等于(yPRb>>Log2CtbSize),那么当前预测单元的右下亮度位置的水平分量由下式定义
xPRb=xP+nPSW                 (8-140)
且变量colPu设置为覆盖colPic内部的由((xPRb>>4)<<4,(yPRb>>4)<<4)所给出的经修改位置的预测单元。
-否则((yP>>Log2CtbSize)不等于(yPRb>>Log2CtbSize)),colPu标记为“不可用”。
2.当colPu以帧内预测模式而译码或colPu标记为“不可用”时,以下内容适用。
-当前预测单元的中央亮度位置由下式定义
xPCtr=(xP+(nPSW>>1)            (8-141)
yPCtr=(yP+(nPSH>>1)             (8-142)
-变量colPu设置为覆盖colPic内部的由((xPCtr>>4)<<4,(yPCtr>>4)<<4)所给出的经修改位置的预测单元。
3.(xPCol,yPCol)设置为等于相对于colPic的左上亮度样本的colPu的左上亮度样本。
函数LongTermRefPic(picX,refIdx,LX)被定义如下。如果来自图片picX的参考图片列表LX的具有索引refIdx的参考图片在picX为当前图片时标记为“用于长期参考”,那么LongTermRefPic(picX,refIdx,LX)返回1;否则LongTermRefPic(picX,refIdx,LX)返回0。
函数AddPicId(picX,refIdx,LX返回AddPicId(pic),其中pic为来自图片picX的参 考图片列表LX的具有索引refIdx的参考图片。
如下导出变量mvLXCol及availableFlagLXCol。
-如果以下条件中的一或多者成立,那么mvLXCol的两个分量设置为等于0,且availableFlagLXCol设置为等于0。
-colPu以帧内预测模式而译码。
-colPu标记为“不可用”。
-pic_temporal_mvp_enable_flag等于0。
-否则,如下导出运动矢量mvCol、参考索引refIdxCol及参考列表标识符listCol。
-如果PredFlagL0[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvLl[xPCol][yPCol]、RefIdxLl[xPCol][yPCol]及L1。
-否则(PredFlagL0[xPCol][yPCol]等于1),以下内容适用。
-如果PredFlagLl[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL0[xPCol][yPCol]、RefIdxL0[xPCol][yPCol]及L0。
-否则(PredFlagLl[xPCol][yPCol]等于1),进行以下指派。
-如果每一参考图片列表中的每一图片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么mvCol、refIdxCol及listCol分别设置为等于MvLX[xPCol][yPCol]、RefIdxLX[xPCol][yPCol]及LX,其中X为调用这种进程时X的值。
-否则(至少一个参考图片列表中的至少一个图片pic的PicOrderCnt(pic)大于PicOrderCntVal),mvCol、refIdxCol及listCol分别设置为等于MvLN[xPCol][yPCol]、RefIdxLN[xPCol][yPCol]及LN,其中N为collocated_from_10_flag的值。
-如果以下条件中的一者成立,那么变量availableFlagLXCol设置为等于0。
-AddPicId(RefPicListX[refIdxLX]不等于ALddpicid(colPic,refIdxCol, listCol);
-RefPicListX[refIdxLX]为短期参考图片且LongTermRefPic(colPicrefIdxCol,listCol)等于1;
-RefPicListX[refIdxLX]为长期参考图片且LongTermRefPic(colPic, refIdxCol,listCol)等于0;
-RefPicListX[refIdxLX]为长期参考图片且LongTermRefPic(colPic, refIdxCol,listCol)等于1,且RefPicOrderCnt(colPic,RefIdxCol,listCol)不等于 PicOrderCnt(RefPicListLX[refIdxLX])。
-否则,变量availableFlagLXCol设置为等于1,且以下内容适用。
-如果RefPicListX[refIdxLX]为长期参考图片,或LongTermRefPic(colPic,refIdxCol,listCol)等于1,或PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol)等于PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]),那么
mvLXCol=mvCol            (8-143)
-否则,mvLXCol是如下文所指定导出为运动矢量mvCol的缩放版本:
tx=(16384+(Abs(td)>>1))/td            (8-144)
-
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)       (8-145)
mvLXCol=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol)+127)>>8))            (8-146)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol))           (8-147)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListLX[refIdxLX]))               (8-148)
视频编码器20及视频解码器30可经配置以执行用于组合式双向预测性合并候选者的以下导出进程。所述进程的输入可包括合并候选者列表mergeCandList、在mergeCandList中的每一候选者N的参考索引refIdxL0N及refIdxL1N、在mergeCandList中的每一候选者N的预测列表利用标志predFlagL0N及predFlagL1N、在mergeCandList中的每一候选者N的运动矢量mvL0N及mvL1N、在mergeCandList内的元素数目numMergeCand,以及在空间及时间合并候选者导出进程之后的在mergeCandList内的元素数目numOrigMergeCand。这种进程的输出可包括合并候选者列表mergeCandList、在mergeCandList内的元素数目numMergeCand、在调用这种进程期间添加在mergeCandList中的每一新候选者combCandk的参考索引refIdxL0combCandk及refIdxL1combCandk、在调用这种进程期间添加在mergeCandList中的每一新候选者combCandk的预测列表利用标志predFlagL0combCandk及predFlagL1combCandk,以及在调用这种进程期间添加在mergeCandList中的每一新候选者combCandk的运动矢量mvL0combCandk及mvL1 combCandk。
当numOrigMergeCand大于1且小于MaxNumMergeCand时,变量numInputMergeCand可设置为numMergeCand,变量combIdx及combCnt可设置为0,变量combStop可设置为FALSE,且可重复以下步骤,直到combStop等于TRUE为止(其中省略号表示与HEVC WD7中所提供的步骤相同的步骤,且带下划线的文本表示相对于HEVC WD7的改变):
1.如表8-8中所指定而使用combIdx导出变量10CandIdx及11CandIdx。
2.进行以下指派,其中在合并候选者列表mergeCandList中,10Cand为在位置10CandIdx处的候选者且11Cand为在位置11CandIdx处的候选者(10Cand=mergeCandList[10CandIdx],11 Cand=mergeCandList[11 CandIdx])。
3.当以下条件中的全部成立时,
-predFlagL010Cand==1
-predFlagL111Cand==1
-AddPicId(RefPicListL0[refIdxL010Cand])!=AddPicId(RefPicListL1 [refIdxL111Cand])||PicOrderCnt(RefPicList0[refIdxL010Cand])!=PicOrderCnt(RefPicList1[refIdxL111Cand])||mvL010Cand!=mvL111Cand
以下内容适用。
-…
4.…
5.…
作为替代例,可启用两个长期参考图片之间的预测而不缩放,且可启用两个视图间参考图片之间的预测而不缩放。视频编码器20及视频解码器30可经配置以如下执行用于运动矢量预测值候选者的导出进程,其中带下划线的文本表示相对于HEVC WD7的改变,且省略号表示与HEVC WD7的文本相同的文本:
变量isScaledFlagLX(其中X为0或1)可设置为等于0。
可用以下有序步骤导出运动矢量mvLXA及可用性标志availableFlagLXA:
1.…
2.…
3.…
4.…
5.当availableFlagLXA等于0时,对于从(xA0,yA0)到(xA1,yA1)的(xAk,yAk)(其中yA1=yA0-MinPuSize),以下内容重复地适用,直到availableFlagLXA等于1为止:
-如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xAk][yAk]等于1,且RefPicType (RefPicListX[refIdxLX])等于RefPicType(RefPicListX[refIdxLX[xA k ][yA k ]]),availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLX[xAk][yAk],refIdxA设置为等于refIdxLX[xAk][yAk],ListA设置为等于ListX。
-否则,如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xAk][yAk](其中Y=!X)等于1, RefPicType(RefPicListX[refIdxLX])等于RefPicType(RefPicListY[refIdxLY[xAk] [yAk]]),availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLY[xAk][yAk],refIdxA设置为等于refIdxLY[xAk][yAk],ListA设置为等于ListY。
-当availableFlagLXA等于1,且RefPicListA[refIdxA]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXA是如下文所指定而导出。
Tx=(16384+(Abs(td)>>1))/td                                             (8-126)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)                      (8-127)
mvLXA=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))                                         (8-128)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListA[refIdxA]))    (8-129)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                                (8-130)
视频编码器20及视频解码器30可使用以下有序步骤导出运动矢量mvLXB及可用性标志availableFlagLXB,其中带下划线的文本表示相对于HEVC WD7的改变,且省略号表示与HEVC WD7的文本相同的文本:
1.…
2.…
3.…
4.…
5.…
6.当isScaledFlagLX等于0时,availableFlagLXB设置为等于0,且对于从(xB0,yB0)到(xB2,yB2)的(xBk,yBk)(其中xB0=xP+nPSW,xB1=xB0-MinPuSize,且xB2=xP-MinPuSize),以下内容重复地适用,直到availableFlagLXB等于1为止:
-如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xBk][yBk]等于1, RefPicType(RefPicListX[refIdxLX])等于RefPicType(RefPicListX[refIdxLX[xB k ] [yB k ]]),availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLX[xBk][yBk],refIdxB设置为等于refIdxLX[xBk][yBk],ListB设置为等于ListX。
-否则,如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xBk][yBk](其中Y=!X)等于1, RefPicType(RefPicListX[refIdxLX])等于RefPicType(RefPicListY[refIdxLY[xB k ] [yB k ]]),availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLY[xBk][yBk],refIdxB设置为等于refIdxLY[xBk][yBk],ListB设置为等于ListY。
-当availableFlagLXB等于1且PicOrderCnt(RefPicListB[refIdxB])不等于PicOrderCnt(RefPicListX[refIdxLX]),且RefPicListB[refIdxB]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXB是如下文所指定而导出。
tx=(16384+(Abs(td)>>1))/td                                             (8-134)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)                      (8-135)
mvLXB=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))                                         (8-136)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListB[refIdxB]))    (8-137)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                                        (8-138)
视频编码器20及视频解码器30可经配置以如下执行用于时间亮度运动矢量预测的导出进程。
可如下导出变量mvLXCol及availableFlagLXCol。
-如果以下条件中的一或多者成立,那么mvLXCol的两个分量设置为等于0,且availableFlagLXCol设置为等于0。
-colPu以帧内预测模式而译码。
-colPu标记为“不可用”。
-pic_temporal_mvp_enable_flag等于0。
-否则,如下导出运动矢量mvCol、参考索引refIdxCol及参考列表标识符listCol。
-如果PredFlagL0[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL1[xPCol][yPCol]、RefIdxL1[xPCol][yPCol]及L1。
-否则(PredFlagL0[xPCol][yPCol]等于1),以下内容适用。
-如果PredFlagL1[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL0[xPCol][yPCol]、RefIdxL0[xPCol][yPCol]及L0。
-否则(PredFlagL1[xPCol][yPCol]等于1),进行以下指派。
-如果每一参考图片列表中的每一图片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么mvCol、refIdxCol及listCol分别设置为等于MvLX[xPCol][yPCol]、RefIdxLX[xPCol][yPCol]及LX,其中X为调用这种进程时X的值。
-否则(至少一个参考图片列表中的至少一个图片pic的PicOrderCnt(pic)大于PicOrderCntVal),mvCol、refIdxCol及listCol分别设置为等于MvLN[xPCol][yPCol]、RefIdxLN[xPCol][yPCol]及LN,其中N为collocated_from_10_flag的值。
-如果RefPicType(RefPicListX[refIdxLX])不等于RefPicType(colPic, refIdxCol,listCol),那么变量availableFlagLXCol设置为等于0。
-否则,变量availableFlagLXCol设置为等于1,且以下内容适用。
-如果RefPicListX[refIdxLX]为长期参考图片,或LongTermRefPic(colPic,refIdxCol,listCol)等于1,或PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol)等于PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]),那么
mvLXCol=mvCol                                                (8-143)
-否则,mvLXCol是如下文所指定导出为运动矢量mvCol的缩放版本:
tx=(16384+(Abs(td)>>1))/td                                 (8-144)
-DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)         (8-145)
mvLXCol=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol)+127)>>8))                             (8-146)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol))                                                 (8-147)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListLX[refIdxLX]))                                                         (8-148)
出于这个实例的目的,HEVC WD7的章节8.5.2.1.3可保持相同。
在替代实例中,可禁用参考不同长期参考图片的运动矢量之间的预测,可禁用参考视图间参考图片及长期参考图片的运动矢量之间的预测,且可启用参考不同视图间参考图片的运动矢量之间的预测。在这个实例中,视频编码器20及视频解码器30可经配置以执行用于运动矢量预测值候选者的导出进程,如下文所描述。对这种进程的输入可包括:亮度位置(xP,yP),其指定相对于当前图片的左上样本的当前预测单元的左上亮度样本;指定用于亮度的预测单元的宽度nPSW及高度nPSH的变量;及当前预测单元分区的参考索引refIdxLX(其中X为0或1)。这种进程的输出可包括(其中N是由A或B替换)相邻预测单元的运动矢量mvLXN,及相邻预测单元的可用性标志availableFlagLXN。
变量isScaledFlagLX(其中X为0或1)可设置为等于0。视频编码器20及视频解码器30可使用以下有序步骤导出运动矢量mvLXA及可用性标志availableFlagLXA,其中带下划线的文本表示相对于HEVC WD7的改变:
1.令两个样本位置的集合为(xAk,yAk),其中k=0,1,其指定具有xAk=xP-1、yA0=yP+nPSH及yA1=yA0-MinPuSize的样本位置。样本位置的集合(xAk,yAk)表示紧接地在左分区边界及其延长线左侧的样本位置。
2.令可用性标志availableFlagLXA最初设置为等于0且mvLXA的两个分量设置为等于0。
3.当以下条件中的一或多者成立时,变量isScaledFlagLX设置为等于1。
-覆盖亮度位置(xA0,yA0)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元]且PredMode并非MODE_INTRA。
-覆盖亮度位置(xA1,yA1)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元]且PredMode并非MODE_INTRA。
4.对于从(xA0,yA0)到(xA1,yA1)的(xAk,yAk)(其中yA1=yA0-MinPuSize),如果 availableFlagLXA等于0,那么以下内容适用:
-如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xAk][yAk]等于1,且参考索引refIdxLX[xAk][yAk]等于当前预测单元的参考索引refIdxLX,availableFlagLXA设置为等于1,且运动矢量mvLXA设置为等于运动矢量mvLX[xAk][yAk],refIdxA设置为等于refIdxLX[xAk][yAk],且ListA设置为等于ListX。
-否则,如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xAk][yAk](其中Y=!X)等于1,AddPicId (RefPicListX[refIdxLX])_等于AddPicId(RefPicListY[refIdxLY[xAk][yAk]]),且PicOrderCnt(RefPicListY[refIdxLY[xAk][yAk]])等于PicOrderCnt(RefPicListX[refIdxLX]),availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLY[xAk][yAk],refIdxA设置为等于refIdxLY[xAk][yAk],ListA设置为等于ListY且mvLXA设置为等于mvLXA。
-当availableFlagLXA等于1时,如果以下内容成立,那么availableFlagLXA设置 为0
-RefPicListX[refIdxLX]及ListA[refIdxA]中的一者且仅一者为长期参考图 片。
5.当availableFlagLXA等于0时,对于从(xA0,yA0)到(xA1,yA1)的(xAk,yAk)(其中yA1=yA0-MinPuSize),如果availableFlagLXA等于0,那么以下内容适用:
-如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xAk][yAk]等于1,且AddPicId (RefPicListLX[refIdxLX])_等于AddPicId(RefPicListLX[refIdxLX[xAk][yAk]]),availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLX[xAk][yAk],refIdxA设置为等于refIdxLX[xAk][yAk],ListA设置为等于ListX。
-否则,如果覆盖亮度位置(xAk,yAk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xAk][yAk](其中Y=!X)等于1,且AddPicId (RefPicListLX[refIdxLX])_等于AddPicId(RefPicListLY[refIdxLY[xAk][yAk]]),availableFlagLXA设置为等于1,运动矢量mvLXA设置为等于运动矢量mvLY[xAk][yAk],refIdxA设置为等于refIdxLY[xAk][yAk],ListA设置为等于ListY。
-当availableFlagLXA等于1时,如果以下内容成立,那么availableFlagLXA设置 为0:
-RefPicListX[refIdxLX]及ListA[refIdxA]中的一者且仅一者为长期参考图 片。
-当availableFlagLXA等于1,且RefPicListA[refIdxA]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXA是如下文所指定而导出。
tx=(16384+(Abs(td)>>1))/td                                             (8-126)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)                      (8-127)
mvLXA=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))                                         (8-128)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListA[refIdxA]))    (8-129)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                                    (8-130)
视频编码器20及视频解码器30可经配置以使用以下有序步骤导出运动矢量mvLXB及可用性标志availableFlagLXB,其中带下划线的文本表示相对于HEVC WD7的改变:
1.令三个样本位置的集合为(xBk,yBk),其中k=0,1,2,其指定具有xB0=xP+nPSW、xB1=xB0-MinPuSize、xB2=xP-MinPuSize及yBk=yP-1的样本位置。样本位置的集合(xBk,yBk)表示紧接地在上分区边界及其延长线上侧的样本位置。[编辑(BB):在SPS中定义MinPuSize,但导出应取决于AMP标志的使用]
2.当yP-1小于((yC>>Log2CtbSize)<<Log2CtbSize)时,以下内容适用。
xB0=(xB0>>3)<<3)+((xB0>>3)&1)*7                                    (8-131)
xB1=(xB1>>3)<<3)+((xB1>>3)&1)*7                                    (8-132)
xB2=(xB2>>3)<<3)+((xB2>>3)&1)*7                                    (8-133)
3.令可用性标志availableFlagLXB最初设置为等于0且mvLXB的两个分量设置为等于0。
4.对于从(xB0,yB0)到(xB2,yB2)的(xBk,yBk)(其中xB0=xP+nPSW,xB1=xB0-MinPuSize,且xB2=xP-MinPuSize),如果availableFlagLXB等于0,那么以下内容适用:
-如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xBk][yBk]等于1,且参考索引refIdxLX[xBk][yBk]等于当前预测单元的参考索引refIdxLX,availableFlagLXB设置为等于1,且运动矢量mvLXB设置为等于运动矢量mvLX[xBk][yBk],refIdxB设置为等于refIdxLX[xBk][yBk],且ListB设置为等于ListX。
-否则,如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,nredFlagLY[xBk][yBk](其中Y=!X)等于1,AddPicId (RefPicListX[refIdxLX])_等于AddPicId(RefPicListLY[refIdxY[xBk][yBk]]),且PicOrderCnt(RefPicListY[refIdxLY[xBk][yBk]])等于PicOrderCnt(RefPicListX[refIdxLX]),availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLY[xBk][yBk],refIdxB设置为等于refIdxLY[xBk][yBk],且ListB设置为等于ListY。
-当availableFlagLXA等于1时,如果以下内容成立,那么availableFlagLXA设置为0:
-RefPicListX[refIdxLX]及ListB[refIdxB]中的一者且仅一者为长期参考图 片。
5.当isScaledFlagLX等于0且availableFlagLXB等于1时,mvLXA设置为等于mvLXB,且refIdxA设置为等于refIdxB,且availableFlagLXA设置为等于1。
6.当isScaledFlagLX等于0时,availableFlagLXB设置为等于0,且对于从(xB0,yB0)到(xB2,yB2)的(xBk,yBk)(其中xB0=xP+nPSW,xB1=xB0-MinPuSize,且xB2=xP-MinPuSize),如果availableFlagLXB等于0,那么以下内容适用:
-如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLX[xBk][yBk]等于1,且AddPicId(RefPicListX[refIdxLX])等于AddPicId(RefPicListX[refIdxLX[xBk][yBk]]),availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLX[xBk][yBk],refIdxB设置为等于refIdxLX[xBk][yBk],ListB设置为等于ListX。
-否则,如果覆盖亮度位置(xBk,yBk)的预测单元可用[编辑(BB):使用MinCbAddrZS[ ][ ]及用于最小译码块的可用性进程来重写所述预测单元],那么PredMode并非MODE_INTRA,predFlagLY[xBk][yBk](其中Y=!X)等于1, AddPicId(RefPicListX[refIdxLX])等于AddPicId(RefPicListY[refIdxLY[xBk][yBk]]),availableFlagLXB设置为等于1,运动矢量mvLXB设置为等于运动矢量mvLY[xBk][yBk],refIdxB设置为等于refIdxLY[xBk][yBk],ListB设置为等于ListY。
-当availableFlagLXA等于1时,如果以下内容成立,那么availableFlagLXA设置 为0
-RefPicListX[refIdxLX]及ListB[refIdxB]中的一者且仅一者为长期参考图 片。
-当availableFlagLXB等于1且PicOrderCnt(RefPicListB[refIdxB])不等于PicOrderCnt(RefPicListX[refIdxLX]),且RefPicListB[refIdxB]及RefPicListX[refIdxLX]皆为短期参考图片时,mvLXB是如下文所指定而导出。
tx=(16384+(Abs(td)>>1))/td                                        (8-134)
DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)                 (8-135)
mvLXB=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvLXA)*((Abs(DistScaleFactor*mvLXA)+127)>>8))                                    (8-136)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListB[refIdxB]))     (8-137)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                                        (8-138)
视频编码器20及视频解码器30可经配置以实施用于时间亮度运动矢量预测的导出进程,如下文所论述。对这种进程的输入可包括:亮度位置(xP,yP),其指定相对于当前图片的左上样本的当前预测单元的左上亮度样本;指定用于亮度的预测单元的宽度nPSW及高度nPSH的变量;及当前预测单元分区的参考索引refIdxLX(其中X为0或1)。这种进程的输出可包括运动矢量预测mvLXCol及可用性标志availableFlagLXCol。
在一个实例中,函数RefPicOrderCnt(picX,refIdx,LX)返回来自图片picX的参考图片列表LX的具有索引refIdx的参考图片的图片顺序计数PicOrderCntVal,且可指定如下:
RefPicOrderCnt(picX,refIdx,LX)=PicOrderCnt(图片picX的RefPicListX[refIdx])
                                                 (8-141)
取决于slice_type、collocated_from_10_flag及collocated_ref_idx的值,视频编码器20及视频解码器30可如下导出指定含有同置分区的图片的变量colPic:
-如果slice_type等于B且collocated_from_10_flag等于0,那么变量colPic指定如由RefPicList1[collocated_ref_idx]所指定的含有同置分区的图片。
-否则(slice_type等于B且collocated_from_10_flag等于1或slice_type等于P),变量colPic指定如由RefPicList0[collocated_ref_idx]所指定的含有同置分区的图片。
视频编码器20及视频解码器30可使用以下有序步骤导出变量colPu及其位置(xPCol,yPCol):
1.如下导出变量colPu
yPRb=yP+nPSH                                                                (8-139)
-如果(yP>>Log2CtbSize)等于(yPRb>>Log2CtbSize),那么当前预测单元的右下亮度位置的水平分量由下式定义
xPRb=xP+nPSW                                                                (8-140)
且变量colPu设置为覆盖colPic内部的由((xPRb>>4)<<4,(yPRb>>4)<<4)所给出的经修改位置的预测单元。
-否则((yP>>Log2CtbSize)不等于(yPRb>>Log2CtbSize)),colPu标记为“不可用”。
2.当colPu以帧内预测模式而译码或colPu标记为“不可用”时,以下内容适用。
-当前预测单元的中央亮度位置由下式定义
xPCtr=(xP+(nPSW>>1)                                                  (8-141)
yPCtr=(yP+(nPSH>>1)                                                  (8-142)
-变量colPu设置为覆盖colPic内部的由((xPCtr>>4)<<4,(yPCtr>>4)<<4)所给出的经修改位置的预测单元。
3.(xPCol,yPCol)设置为等于相对于colPic的左上亮度样本的colPu的左上亮度样本。
函数LongTermRefPic(picX,refIdx,LX)可定义如下:如果来自图片picX的参考图片列表LX的具有索引refIdx的参考图片在picX为当前图片时标记为“用于长期参考”,那么LongTermRefPic(picX,refIdx,LX)返回1;否则LongTermRefPic(picX,refIdx,LX)返回0。
视频编码器20及视频解码器30可实施HEVC的“AddPicID()”函数的经修改版本。举例来说,视频编码器20及视频解码器30可实施AddPicId(picX,refIdx,LX),使得这个函数返回AddPicId(pic),其中“pic”为来自图片picX的参考图片列表LX的具有索引refIdx的参考图片。
视频编码器20及视频解码器30可如下导出变量mvLXCol及availableFlagLXCol,其中带下划线的文本表示相对于HEVC WD7的改变:
-如果以下条件中的一或多者成立,那么mvLXCol的两个分量设置为等于0,且availableFlagLXCol设置为等于0。
-colPu以帧内预测模式而译码。
-colPu标记为“不可用”。
-pic_temporal_mvp_enable_flag等于0。
-否则,如下导出运动矢量mvCol、参考索引refIdxCol及参考列表标识符listCol。
-如果PredFlagL0[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL1[xPCol][yPCol]、RefIdxL1[xPCol][yPCol]及L1。
-否则(PredFlagL0[xPCol][yPCol]等于1),以下内容适用。
-如果PredFlagL1[xPCol][yPCol]等于0,那么mvCol、refIdxCol及listCol分别设置为等于MvL0[xPCol][yPCol]、RefIdxL0[xPCol][yPCol]及L0。
-否则(PredFlagL1[xPCol][yPCol]等于1),进行以下指派。
-如果每一参考图片列表中的每一图片pic的PicOrderCnt(pic)小于或等于PicOrderCntVal,那么mvCol、refIdxCol及listCol分别设置为等于MvLX[xPCol][yPCol]、RefIdxLX[xPCol][yPCol]及LX,其中X为调用这种进程时X的值。
-否则(至少一个参考图片列表中的至少一个图片pic的PicOrderCnt(pic)大于PicOrderCntVal),mvCol、refIdxCol及listCol分别设置为等于MvLN[xPCol][yPCol]、RefIdxLN[xPCol][yPCol]及LN,其中N为collocated_from_10_flag的值。
-如果以下条件中的一者成立,那么变量availableFlagLXCol设置为等于0。
-AddPicId(RefPicListX[refIdxLX]不等于AddPicId(colPic,refIdxCol, listCol);
-RefPicListX[refIdxLX]为短期参考图片且LongTermRefPic(colPic, refIdxCol,listCol)等于1;
-RefPicListX[refIdxLX]为长期参考图片且LongTerrmRefPic(colPic, refIdxCol,listCol)等于0;
-否则,变量availableFlagLXCol设置为等于1,且以下内容适用。
-如果RefPicListX[refIdxLX]为长期参考图片,或LongTermRefPic(colPic,refIdxCol,listCol)等于1,或PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol)等于PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]),那么
mvLXCol=mvCol                                                            (8-143)
-否则,mvLXCol是如下文所指定导出为运动矢量mvCol的缩放版本:
tx=(16384+(Abs(td)>>1))/td                                             (8-144)
-DistScaleFactor=Clip3(-4096,4095,(tb*tx+32)>>6)                     (8-145)
mvLXCol=Clip3(-8192,8191.75,Sign(DistScaleFactor*mvCol)*((Abs(DistScaleFactor*mvCol)+127)>>8))                                         (8-146)
其中td及tb可导出为:
td=Clip3(-128,127,PicOrderCnt(colPic)-RefPicOrderCnt(colPic,refIdxCol,listCol))                                                                        (8-147)
tb=Clip3(-128,127,PicOrderCntVal-PicOrderCnt(RefPicListX[refIdxLX]))
                                               (8-148)
视频编码器20及视频解码器30可经配置以执行用于组合式双向预测性合并候选者的导出进程。这种进程的输入可包括合并候选者列表mergeCandList、在mergeCandList中的每一候选者N的参考索引refIdxL0N及refIdxL1N、在mergeCandList中的每一候选者N的预测列表利用标志predFlagL0N及predFlagL1N、在mergeCandList中的每一候选者N的运动矢量mvL0N及mvL1N、在mergeCandList内的元素数目numMergeCand,以及在空间及时间合并候选者导出进程之后的在mergeCandList内的元素数目numOrigMergeCand。这种进程的输出可包括合并候选者列表mergeCandList、在mergeCandList内的元素数目numMergeCand、在调用这种进程期间添加在mergeCandList中的每一新候选者combCandk的参考索引refIdxL0combCandk及refIdxL1combCandk、在调用这种进程期间添加在mergeCandList中的每一新候选者combCandk的预测列表利用标志predFlagL0combCandk及predFlagL1combCandk,以及在调用这种进程期间添加在mergeCandList中的每一新候选者combCandk的运动矢量mvL0combCandk及mvL1combCandk。
这个进程可定义如下,其中带下划线的文本表示相对于HEVC WD7的改变,且省略号表示与HEVC WD7的文本相同的文本。当numOrigMergeCand大于1且小于MaxNumMergeCand时,变量numInputMergeCand可设置为numMergeCand,变量combIdx及combCnt可设置为0,变量combStop可设置为FALSE,且可重复以下步骤,直到combStop等于TRUE为止:
1.如表8-8中所指定而使用combIdx导出变量10CandIdx及11CandIdx。
2.进行以下指派,其中在合并候选者列表mergeCandList中,10Cand为在位置10CandIdx处的候选者且11Cand为在位置11CandIdx处的候选者(10Cand=mergeCandList[10CandIdx],11Cand=mergeCandList[11CandIdx])。
3.当以下条件中的全部成立时,
-predFlagL010Cand==1
-predFlagL111Cand==1
-AddPicId(RefPicListL0[refIdxL010Cand])!=AddPicId(RefPicListL1 [refIdxL111Cand])||PicOrderCnt(RefPicList0[refIdxL010Cand])!=PicOrderCnt(RefPicList1[refIdxL111Cand])||mvL010Cand!=mvL111Cand
以下内容适用。
-…
4.…
5.…
在一些实例中,可禁用参考两个不同长期参考图片的两个运动矢量之间的预测。在其它实例中,可禁用参考两个不同视图间参考图片的两个运动矢量之间的预测。
如此,视频编码器20及视频解码器30表示视频译码器的实例,所述视频译码器经配置以执行以下操作:译码用于视频数据的第一图片的图片顺序计数(POC)值;译码用于第一图片的第二维度图片标识符;及至少部分地基于第一图片的POC值及第二维度图片标识符来译码第二图片。基于第一图片的POC值及第二维度图片标识符来译码第二图片可包括使用第一图片的POC值及第二维度图片标识符两者来识别第一图片。
此外,如上文所展示,译码第二图片可包括基于第一图片的POC值及第二维度图片标识符以及候选运动矢量预测值所参考的参考图片的POC值及第二维度图片标识符来启用或禁用针对参考第一图片的运动矢量的运动矢量预测。举例来说,如果第一图片的第二维度图片标识符指示第一图片为短期图片,且参考图片的第二维度图片标识符指示参考图片为长期参考图片,那么视频编码器20及视频解码器30可禁用参考所述第一图片的运动矢量与参考所述参考图片的运动矢量之间的运动矢量预测。
此外,也如上文所展示,译码第二图片可包括译码参考第一图片的第二图片的块的运动矢量,如上文所提到。这种译码可基于第一图片的POC值,这在于:如果运动矢量预测值参考具有不同POC值的参考图片,那么视频编码器20及视频解码器30可经配置以基于第一图片与第二图片及参考图片与第二图片之间的POC值差来缩放运动矢量预测值。
视频编码器20及视频解码器30可经配置以执行上文所描述的实例中的任一者或全部的技术(单独地或以任何组合)。可将视频编码器20及视频解码器30各自实施为多种合适的编码器或解码器电路中的任一者(在适用时),诸如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件,或其任何组合。视频编码器20及视频解码器30中的每一者可包括在一或多个编码器或解码器中,其中的任一者可整合为组合式视频编码器/解码器(编解码器)的部分。包括视频编码器20及/或视频解码器30的装置可包含集成电路、微处理器,及/或无线通信装置(诸如,蜂窝电话或平板计算机)。
图2为说明视频编码器20的实例的框图,视频编码器20可实施用于根据视频译码标准的仅高级别语法扩展来译码视频数据的技术。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以缩减或移除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以缩减或移除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指若干基于空间的译码模式中的任一者。帧间模式(诸如,单向预测(P模式)或双向预测(B模式))可指若干基于时间的译码模式中的任一者。
如图2中所展示,视频编码器20接收待编码的视频帧内的当前视频块。在图2的实例中,视频编码器20包括模式选择单元40、参考图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。模式选择单元40又包括运动补偿单元44、运动估计单元42、帧内预测单元46及分割单元48。为了实现视频块重建,视频编码器20也包括反量化单元58、反变换单元60及求和器62。也可包括去块滤波器(图2中未图示)以对块边界进行滤波,从而从经重建视频移除块假象。在需要时,去块滤波器将通常对求和器62的输出进行滤波。除去块滤波器以外,也可使用额外滤波器(环路内或环路后)。为简洁起见而未展示这些滤波器,但在需要时这些滤波器可对求和器50的输出进行滤波(作为环路内滤波器)。
在编码进程期间,视频编码器20接收待译码的视频帧或切片。可将帧或切片划分为多个视频块。运动估计单元42及运动补偿单元44相对于一或多个参考帧中的一或多个块执行所接收视频块的帧间预测性译码,以提供时间预测。运动补偿单元44可根据本发明的技术来译码运动矢量,例如,在高级运动矢量预测(AMVP)、时间运动矢量预测(TMVP)或合并模式译码期间。帧内预测单元46可替代地相对于与待译码的所接收视频块相同的帧或切片中的一或多个相邻块而执行所述块的帧内预测性译码,以提供空间预测。视频编码器20可执行多个译码遍次,(例如)以针对视频数据的每一块选择适当译码模式。
此外,分割单元48可基于先前译码遍次中的先前分割方案的评估而将视频数据的块分割为多个子块。举例来说,分割单元48可最初将帧或切片分割为多个LCU,且基于速率-失真分析(例如,速率-失真优化)将所述LCU中的每一者分割为多个子CU。模式选择单元40可进一步产生指示LCU至子CU的分割的四叉树数据结构。四叉树的叶节点CU可包括一或多个PU及一或多个TU。
模式选择单元40可(例如)基于误差结果而选择译码模式(帧内或帧间)中的一者,且将所得经帧内或帧间译码块提供到求和器50以产生残余块数据,且提供到求和器62以重建经编码块以用作参考帧。模式选择单元40也将语法元素(诸如,运动矢量、帧内模式指示符、分割信息及其它此类语法信息)提供到熵编码单元56。
运动估计单元42及运动补偿单元44可高度整合,但为概念性目的而单独说明。由运动估计单元42所执行的运动估计为产生运动矢量的进程,所述运动矢量估计视频块的运动。举例来说,运动矢量可指示在当前视频帧或图片内的视频块的PU相对于在参考帧(或其它经译码单元)内的预测性块(其关于在当前帧(或其它经译码单元)内正译码的当前块)的位移。预测性块为被发现就像素差而言紧密地匹配待译码的块的块,所述像素差可通过绝对差总和(SAD)、平方差总和(SSD)或其它差指标而确定。在一些实例中,视频编码器20可计算存储在参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它小数像素位置的值。因此,运动估计单元42可执行相对于全像素位置及小数像素位置的运动搜索,且以小数像素精度输出运动矢量。
运动估计单元42通过比较经帧间译码切片中的视频块的PU的位置与参考图片的预测性块的位置而计算所述PU的运动矢量。参考图片可从第一参考图片列表(列表0)或第二参考图片列表(列表1)选择,所述列表中的每一者识别存储在参考图片存储器64中的一或多个参考图片。运动估计单元42将计算出的运动矢量发送到熵编码单元56及运动补偿单元44。
由运动补偿单元44所执行的运动补偿可涉及基于由运动估计单元42所确定的运动矢量而提取或产生预测性块。此外,在一些实例中,运动估计单元42及运动补偿单元44可在功能上整合。在接收到当前视频块的PU的运动矢量后,运动补偿单元44即可将运动矢量所指向的预测性块定位在参考图片列表中的一者中。求和器50通过从正译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值,如下文所论述。一般而言,运动估计单元42相对于亮度分量而执行运动估计,且运动补偿单元44将基于所述亮度分量所计算的运动矢量用于色度分量及亮度分量两者。模式选择单元40也可产生与视频块及视频切片相关联的语法元素,以供视频解码器30用于解码视频切片的视频块。
作为由运动估计单元42及运动补偿单元44所执行的帧间预测(如上文所描述)的替代例,帧内预测单元46可帧内预测当前块。详言之,帧内预测单元46可确定待用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在单独编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些实例中,模式选择单元40)可从所测试的模式选择待使用的适当帧内预测模式。
举例来说,帧内预测单元46可使用针对各种经测试的帧内预测模式的速率-失真分析而计算速率-失真值,且在经测试模式当中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析一般确定经编码块与原始未经编码块之间的失真(或误差)的量以及用以产生经编码块的位速率(即,位的数目),所述原始未经编码块经编码以产生所述经编码块。帧内预测单元46可从各种经编码块的失真及速率计算比率,以确定哪一帧内预测模式展现块的最佳速率-失真值。
在为块选择帧内预测模式之后,帧内预测单元46可将指示块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。视频编码器20可在所传输的位流配置数据中包括各种块的编码上下文的定义及待用于所述上下文中的每一者的最有可能的帧内预测模式、帧内预测模式索引表及经修改的帧内预测模式索引表的指示,所述位流配置数据可包括多个帧内预测模式索引表及多个经修改的帧内预测模式索引表(也称为码字映射表)。
视频编码器20通过从正译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行这种减去运算的(多个)组件。变换处理单元52将变换(诸如,离散余弦变换(DCT)或概念上类似的变换)应用于残余块,从而产生包含残余变换系数值的视频块。变换处理单元52可执行概念上类似于DCT的其它变换。也可使用小波变换、整数变换、子带变换或其它类型的变换。在任何状况下,变换处理单元52将变换应用于残余块,从而产生残余变换系数的块。变换可将残余信息从像素值域转换到变换域(诸如,频域)。变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步缩减位速率。量化进程可缩减与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行包括经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行所述扫描。
在量化之后,熵编码单元56熵译码经量化变换系数。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的状况下,上下文可基于相邻块。在由熵编码单元56熵译码之后,可将经编码位流传输到另一装置(例如,视频解码器30)或加以存档以供稍后传输或检索。
反量化单元58及反变换单元60分别应用反量化及反变换,以在像素域中重建残余块(例如)以供稍后用作参考块。运动补偿单元44可通过将残余块加到参考图片存储器64的帧中的一者的预测性块而计算参考块。运动补偿单元44也可将一或多个内插滤波器应用于经重建残余块,以计算用于运动估计中的子整数像素值。求和器62将经重建残余块加到由运动补偿单元44所产生的运动补偿预测块,以产生经重建视频块以供存储在参考图片存储器64中。经重建视频块可由运动估计单元42及运动补偿单元44用作参考块,以帧间译码后续视频帧中的块。
视频编码器20可经配置以执行关于图1所论述的各种实例技术中的任一者或全部(单独地或以任何组合)。举例来说,根据本发明的技术,视频编码器20可基于参考图片的图片顺序计数(POC)值及参考图片的第二维度标识符来编码图片。即,视频编码器20可编码第一图片(在这个实例中,参考图片)的POC值,以及用于第一图片的第二维度图片标识符。第二维度图片标识符可包含(例如)用于包括第一图片的视图的视图标识符、用于包括第一图片的视图的视图顺序索引、视图顺序索引与深度标志的组合、用于包括第一图片的可缩放视频译码(SVC)层的层标识符,及一般层标识符。
另外或替代地,第二维度标识符可包含指示第一图片为长期参考图片还是短期参考图片的值。替代地,除POC值及第二维度图片标识符以外,单独值也可指示第一图片为长期参考图片还是短期参考图片。在一些实例中,针对参考图片的长期及短期指示可指示参考图片为时间参考图片还是视图间参考图片。举例来说,长期参考图片可对应于时间参考图片(即,同一层或视图中的参考图片),而短期参考图片可对应于视图间参考图片。作为另一实例,长期参考图片可对应于视图间参考图片,而短期参考图片可对应于时间参考图片。
同样地,视频编码器20可禁用不同类型的运动矢量之间的运动矢量预测。运动矢量的“类型”可包括(例如):时间运动矢量,其参考时间参考图片(即,与正编码的当前图片相同的视图中的图片);及视差运动矢量,其参考视图间参考图片(即,与包括当前图片的视图不同的视图中的图片)。通常,视图间参考图片具有与当前图片相同的POC值。即,通常,视图间参考图片及当前图片出现在同一访间单元中。视频编码器20可禁用不同类型的运动矢量之间的运动矢量预测。即,如果当前图片的当前运动矢量为时间运动矢量,那么视频编码器20可禁用相对于视差运动矢量的运动矢量预测。同样地,如果当前运动矢量为视差运动矢量,那么视频编码器20可禁用相对于时间运动矢量的运动矢量预测。视频编码器20可使用运动矢量译码进程(诸如,高级运动矢量预测(AMVP)或合并模式)而以其它方式编码当前运动矢量。
在一些实例中,视频编码器20可经配置以至少部分地基于第一图片(例如,在多视图视频译码中,视图分量)是否用于视图间预测来译码指示所述第一图片是否为长期参考图片的值。举例来说,视频编码器20可在对应于包括第一图片的序列的序列参数集(SPS)中编码指示第一图片为长期参考图片还是短期参考图片的语法元素。
另外或在替代例中,视频编码器20可经配置以至少临时地将视图间参考图片标记为长期参考图片。视频编码器20可进一步存储视图间参考图片的当前状态,其中所述状态可包含长期参考图片、短期参考图片及不用于参考中的一者。因此,如果第一图片包含视图间图片,那么视频编码器20可将第一图片标记为长期参考图片。在相对于第一图片来译码第二图片之后,视频编码器20可基于经存储状态来还原用于视图间参考图片的状态。
另外或替代地,视频编码器20可在编码第二图片的同时临时地将新POC值指派给视图间参考图片。举例来说,视频编码器20可确定用于当前时间参考图片的POC值的集合,且将不用的POC值指派给视图间参考图片。视频编码器20也可存储用于每一视图间参考图片的相应当前POC值。在编码第二图片之后,视频编码器20可还原用于视图间参考图片的经存储(即,原始)POC值。在一些实例中,因为视图间参考图片通常在与第二图片(即,当前正编码的图片)相同的访问单元中,所以视频编码器20可代替地仅将用于视图间参考图片的POC值设置为等于第二图片(即,正编码的当前图片)的POC值,使得存储所述POC值是不必要的。
如此,图2的视频编码器20表示视频编码器的实例,所述视频编码器经配置以执行以下操作:编码用于视频数据的第一图片的图片顺序计数(POC)值;编码用于第一图片的第二维度图片标识符;及根据基础视频译码规范而至少部分地基于第一图片的POC值及第二维度图片标识符来编码第二图片。基础视频译码规范可包含HEVC。另外,视频编码器20可经配置以根据基础视频译码规范的扩展(例如,HEVC的SVC或MVC扩展)来编码图片。因此,视频编码器20也表示视频编码器的实例,所述视频编码器经配置以执行以下操作:编码用于视频数据的第一图片的图片顺序计数(POC)值;编码用于第一图片的第二维度图片标识符;及根据基础视频译码规范的扩展而至少部分地基于第一图片的POC值及第二维度图片标识符来编码第二图片。
图3为说明视频解码器30的实例的框图,视频解码器30可实施用于根据视频译码标准的仅高级别语法扩展来译码视频数据的技术。在图3的实例中,视频解码器30包括熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、反变换单元78、参考图片存储器82及求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图2)所描述的编码遍次大体上互逆的解码遍次。运动补偿单元72可基于从熵解码单元70所接收的运动矢量产生预测数据,而帧内预测单元74可基于从熵解码单元70所接收的帧内预测模式指示符产生预测数据。
在解码进程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流,以产生经量化系数、运动矢量或帧内预测模式指示符,及其它语法元素。熵解码单元70将运动矢量及其它语法元素转发到运动补偿单元72。视频解码器30可在视频切片级别及/或视频块级别处接收语法元素。
当视频切片经译码为经帧内译码(I)切片时,帧内预测单元74可基于发信的帧内预测模式及来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。当视频帧经译码为经帧间译码(即,B、P或GPB)切片时,运动补偿单元72基于从熵解码单元70所接收的运动矢量及其它语法元素而产生当前视频切片的视频块的预测性块。预测性块可从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可基于存储在参考图片存储器82中的参考图片使用默认构造技术来构造参考帧列表(列表0及列表1)。
根据本发明的技术,熵解码单元70可解码表示用于当前图片的当前块的运动信息的经熵编码数据。举例来说,根据AMVP,熵解码单元70可解码用于当前块的运动矢量差(MVD)值。运动补偿单元72(或视频解码器30的另一单元,诸如熵解码单元70)可使用经熵解码运动信息(诸如,MVD值)来重建用于当前块的运动矢量。举例来说,运动补偿单元72可确定用于当前运动矢量的可用运动矢量预测值的集合,例如,基于当前运动矢量参考长期参考图片还是短期参考图片(或时间参考图片还是视图间参考图片),及候选参考图片的集合也参考长期参考图片还是短期参考图片(或时间参考图片还是视图间参考图片)。
如上文所论述,运动补偿单元72可确定不同类型的候选运动矢量预测值不可用以预测当前运动矢量。举例来说,在当前运动矢量为时间运动矢量时,运动补偿单元72可确定视差运动矢量不可用作当前运动矢量的运动矢量预测值。同样地,在当前运动矢量为视差运动矢量时,运动补偿单元72可确定时间运动矢量不可用作当前运动矢量的运动矢量预测值。在一些实例中,运动补偿单元72也或在替代例中可禁用长期参考图片与短期参考图片之间的运动矢量预测。
在当前运动矢量为视差运动矢量的状况下,运动补偿单元72也可避免缩放运动矢量预测值(其也可同样地对应于视差运动矢量)。另外或在替代例中,运动补偿单元72可在视差运动矢量的运动矢量预测期间将临时POC值指派给视差运动矢量预测值所参考的视图间参考图片。
在任何状况下,运动补偿单元72或视频解码器30的另一元件可(例如)使用AMVP或合并模式来重现用于当前块的运动矢量。运动补偿单元72通过分析运动矢量及其它语法元素而确定当前视频切片的视频块的预测信息,且使用所述预测信息来产生正解码的当前视频块的预测性块。举例来说,运动补偿单元72使用所接收语法元素中的一些来确定用以译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多者的构造信息、切片的每一经帧间编码视频块的运动矢量、切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。运动补偿单元72可根据本发明的技术来译码运动矢量,例如,在高级运动矢量预测(AMVP)、时间运动矢量预测(TMVP)或合并模式译码期间。
运动补偿单元72也可基于内插滤波器执行内插。运动补偿单元72可在视频块的编码期间使用如由视频编码器20所使用的内插滤波器,以计算参考块的子整数像素的内插值。在这种状况下,运动补偿单元72可从所接收语法元素确定由视频编码器20所使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
反量化单元76反量化(即,去量化)在位流中提供且由熵解码单元70解码的经量化变换系数。反量化进程可包括针对视频切片中的每一视频块使用由视频解码器30计算的量化参数QPY,以确定量化程度且同样地确定应该应用的反量化的程度。反变换单元78将反变换(例如,反DCT、反整数变换或概念上类似的反变换进程)应用于变换系数,以便在像素域中产生残余块。
在运动补偿单元72基于运动矢量及其它语法元素产生当前视频块的预测性块之后,视频解码器30通过对以下两者求和而形成经解码视频块:来自反变换单元78的残余块,及由运动补偿单元72所产生的对应预测性块。求和器80表示执行这种求和运算的(多个)组件。在需要时,也可应用去块滤波器而对经解码块进行滤波,以便移除块假象。其它环路滤波器(译码环路中或译码环路之后)也可用以使像素转变平滑,或以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器82中,参考图片存储器82存储用于后续运动补偿的参考图片。参考图片存储器82也存储经解码视频以供稍后在显示装置(诸如,图1的显示装置32)上呈现。
如此,图3的视频解码器30表示视频解码器的实例,所述视频解码器经配置以执行以下操作:解码用于视频数据的第一图片的图片顺序计数(POC)值;解码用于第一图片的第二维度图片标识符;及至少部分地基于第一图片的POC值及第二维度图片标识符来解码第二图片。基础视频译码规范可包含HEVC。另外,视频解码器30可经配置以根据基础视频译码规范的扩展(例如,HEVC的SVC或MVC扩展)来编码图片。因此,视频解码器30也表示视频解码器的实例,所述视频解码器经配置以执行以下操作:解码用于视频数据的第一图片的图片顺序计数(POC)值;解码用于第一图片的第二维度图片标识符;及根据基础视频译码规范的扩展而至少部分地基于第一图片的POC值及第二维度图片标识符来解码第二图片。
图4为说明实例MVC预测样式的概念图。多视图视频译码(MVC)为ITU-TH.264/AVC的扩展。类似技术可应用于HEVC。在图4的实例中,说明了八个视图(具有视图ID“S0”到“S7”),且针对每一视图说明十二个时间位置(“T0”到“T11”)。即,图4中的每一行对应于视图,而每一列指示时间位置。
尽管MVC具有可由H.264/AVC解码器解码的所谓的基础视图,且立体视图对可也由MVC支持,但MVC的一个优点在于:其可支持使用两个以上视图作为3D视频输入且解码由多个视图所表示的这个3D视频的实例。具有MVC解码器的客户端的呈现器可预期具有多个视图的3D视频内容。
典型的MVC解码顺序排列被称为时间优先译码。访问单元可包括针对一个输出时间例项的所有视图的经译码图片。举例来说,时间T0的图片中的每一者可包括在通用访问单元中,时间T1的图片中的每一者可包括在第二通用访问单元中,等等。解码顺序未必等同于输出或显示顺序。
使用包括字母的有阴影块在图4中的每一行与每一列的相交处指示图4中的帧(即,图片),从而指定对应帧被帧内译码(即,I帧),还是在一个方向上被帧间译码(即,作为P帧)或在多个方向上被帧间译码(即,作为B帧)。一般而言,由箭头来指示预测,其中箭头指向的帧使用箭头出发的对象以用于预测参考。举例来说,从视图S0的在时间位置T0处的I帧预测视图S2的在时间位置T0处的P帧。
如同单视图视频编码,多视图视频译码视频序列的帧可关于在不同时间位置处的帧而预测性编码。举例来说,视图S0的在时间位置T1处的b帧具有从视图S0的在时间位置T0处的I帧指向到所述b帧的箭头,从而指示从I帧预测b帧。然而,另外,在多视图视频编码的上下文中,帧可被视图间预测。即,视图分量可使用其它视图中的视图分量以用于参考。举例来说,在MVC中,视图间预测实现为如同另一视图中的视图分量为帧间预测参考。可能的视图间参考是在序列参数集(SPS)MVC扩展中发信且可通过参考图片列表构造进程而修改,这种情形实现帧间预测或视图间预测参考的灵活排序。
在H.264/AVC的MVC扩展中,作为实例,通过视差运动补偿(其使用H.264/AVC运动补偿的语法)来支持视图间预测,但允许不同视图中的图片用作参考图片。两个视图的译码可由MVC支持,其一般被称为立体视图。MVC的优点中的一者在于:MVC编码器可采取两个以上视图作为3D视频输入,且MVC解码器可解码此类多视图表示。因此,具有MVC解码器的呈现装置可预期具有两个以上视图的3D视频内容。
在MVC中,允许同一访问单元(即,具有同一时间例项)中的图片当中的视图间预测(IVP)。一般而言,访问单元为包括针对通用时间例项的所有视图分量(例如,所有NAL单元)的数据单元。因此,在MVC中,准许在同一访问单元中的图片当中的视图间预测。当译码非基础视图中的一者中的图片时,如果所述图片在不同视图中但在同一时间例项内(例如,具有相同的POC值,且由此,在同一访问单元中),那么可将所述图片添加到参考图片列表中。可将视图间预测参考图片放在参考图片列表的任何位置中,正如任何帧间预测参考图片一样。
通常,针对B图片的第一参考图片列表或第二参考图片列表的参考图片列表构造包括两个步骤:参考图片列表初始化及参考图片列表重排(修改)。参考图片列表初始化为显式机制,根据这种显式机制,视频译码器基于POC(图片顺序计数,其与图片的显示顺序对齐)值的顺序将参考图片存储器(也称为经解码图片缓冲器)中的参考图片放到列表中。
视频译码器可使用参考图片列表重排机制以将在参考图片列表初始化期间放在列表中的图片的位置修改为任何新位置,或将参考图片存储器中的任何参考图片放在任何位置,甚至在所述图片不属于初始化列表的情况下也如此。一些图片在参考图片列表重排(修改)之后可放在列表中的另一位置。然而,如果图片的位置超出列表的活动参考图片的数目,那么图片不被视为最终参考图片列表的条目。可针对每一列表在切片标头中发信活动参考图片的数目。在参考图片列表被构造(例如,RefPicList0及RefPicList1,如果可用)之后,通向参考图片列表的参考索引可用以识别包括在所述参考图片列表中的任何参考图片。
为了取得时间运动矢量预测值(TMVP),首先将识别同置图片。如果当前图片为B切片,那么在切片标头中发信collocated_from_l0_flag,以指示同置图片是来自RefPicList0还是RefPicList1。在参考图片列表被识别之后,使用在切片标头中发信的collocated_ref_idx以在所述列表中的图片中识别所述图片。接着通过检查同置图片来识别同置PU。使用含有这个PU的CU的右下PU的运动,或含有这个PU的CU的中心PU内的右下PU的运动。当通过以上进程所识别的运动矢量用以针对AMVP或合并模式产生运动候选者时,其需要基于时间位置(由POC反映)而缩放。
在HEVC中,序列参数集(SPS)包括标志sps_temporal_mvp_enable_flag,且当sps_temporal_mvp_enable_flag等于1时,切片标头包括标志pic_temporal_mvp_enable_flag。当pic_temporal_mvp_enable_flag及temporal_id两者针对特定图片等于0时,来自在解码顺序上处于那个特定图片之前的图片的运动矢量在解码特定图片或在解码顺序上处于所述特定图片之后的图片时将不会用作时间运动矢量预测值。
当前,动画专家组(MPEG)正基于HEVC来开发3DV标准,对于所述3DV标准,标准化努力的部分也包括基于HEVC的多视图视频编解码器的标准化。类似地,在基于HEVC的3DV中,编码基于来自不同视图的经重建视图分量的视图间预测。
AVC是通过多视图扩展以所述扩展实际上满足“仅HLS”(仅高级别语法)要求的方式而扩展。“仅HLS”要求保证在多视图视频译码(MVC)中仅存在高级别语法(HLS)改变,使得AVC中的宏块级别中的模块无需被重新设计且可完全再用于MVC。如果多循环解码被视为可接受的,那么也许有可能针对HEVC的MVC/3DV扩展且也针对HEVC的可缩放视频译码(SVC)扩展而满足“仅HLS”要求。
为了启用视图间预测,可出于以下目的而进行HLS改变:图片标识,其中参考图片列表构造及标记需要能够识别特定视图中的图片。
HLS改变并不足以在H.264/MVC中满足“仅HLS”要求,这是因为作出其它约束、假设,使得低级别译码模块将决不遇到(例如)处置零运动相关缩放的情形。这些约束、修改及假设为:
●如果同置图片为(仅)视图间参考图片,那么禁用时间直接模式
●将(仅)视图间参考图片不视为短期:与空间直接有关
●禁用隐式加权预测
为了满足“仅HLS”要求,扩展的这些修改必须仅在高级别语法中。因此,应不存在针对在切片标头下方的语法元素的修改,且不存在针对扩展规范的CU级别解码进程改变;举例来说,HEVC扩展规范的运动矢量预测应与HEVC基础规范中的运动矢量预测完全相同。HLS改变为扩展规范的标准解码器改变;然而,根据基础规范的观点,这些改变未必需要为已知的且可为信息性的。
为了启用诸如有效视图间预测的功能性,可实施HEVC扩展规范的修改及HEVC基础规范的修改两者。不影响基础HEVC解码器的典型解码进程或译码效率但影响扩展规范中的目标启用功能性的基础规范改变被称为分支。在大多数状况下,使用基础规范中的分支及扩展规范的HLS改变两者而满足“仅HLS”要求。如果基础规范中的分支未被良好地定义,那么可能不在扩展规范中启用某一所要功能性,或所述功能性可需要扩展规范的大量修改。
在仅HLS SVC中,可能地在升采样及/或滤波之后,可将基础层表示放到当前层的当前图片的参考图片列表中。这个图片被称为层间参考图片。
可进行仅HLS HEVC修改的基础规范及扩展规范两者的各种修改。在给出某一所要功能性的情况下,在可修改基础规范及扩展规范两者的设计的阶段,其为基础规范修改与扩展规范修改之间的权衡的问题。
图5到9为说明应被克服以实现仅HLS HEVC扩展的可能问题的概念图。举例来说,图5说明其中当前图片100包括使用各种预测技术而预测的块(诸如,块102及104)的实例。特别地,当前图片100对应于非基础视图的图片,而视图间参考图片110为基础视图的图片。当前图片100的块102是相对于视图间参考图片110被视图间预测(使用视差运动矢量106),而块104是相对于同一非基础视图的短期(ST)参考图片112使用帧间预测被预测(使用时间运动矢量108)。因此,图5说明其中当前图片包括具有时间运动矢量(时间运动矢量108)及视图间运动矢量(也称为视差运动矢量,即,视差运动矢量106)两者的相邻块的实例。
本发明认识到,在一些实例中,应不缩放视差运动矢量以预测时间运动矢量。另外,本发明也认识到,在一些实例中,应不缩放时间运动矢量以预测视差运动矢量。本发明也认识到,应有可能禁用从时间短期运动矢量预测视差运动矢量(例如,在AMVP期间)且禁用从视差运动矢量预测时间运动矢量。视差运动矢量通常对应于不同视图中的同一对象的局部视差。然而,时间运动矢量通常对应于对象的运动。在为3DV参考软件的HTM中,禁用以上两种类别的运动矢量之间的预测。
图6说明其中当前图片包括使用不同视图的视图间参考图片而预测的块的实例。特别地,在这个实例中,视图间参考图片120在视图0中,且视图间参考图片122在视图1中。当前图片124在视图2中。当前图片124包括使用视图间预测而从视图0的视图间参考图片120及视图1的视图间参考图片122两者预测的块126、128。特别地,在这个实例中,块126是从视图间参考图片122预测,而块128是从视图间参考图片120预测。
块126及128是使用不同视差运动矢量而预测。即,块126是使用参考视图间参考图片122的部分的视差运动矢量130而预测,而块128是使用参考视图间参考图片120的部分的视差运动矢量132而预测。因此,图6表示其中当前图片包括具有参考不同视图的视图间参考图片的视图间运动矢量的相邻块的实例。
本发明认识到,应有可能识别两个视差运动矢量是否对应于同一参考图片。当RefPicList0中的条目及RefPicList1中的条目皆为视图间参考图片时,在AMVP期间应有可能识别这两个参考图片是否相同。当RefPicListX(其中“X”可表示为(例如)0或1的值)含有为视图间参考图片的两个条目时,在AMVP期间应有可能识别这两个参考图片是否相同。此外,具有相同POC值的两个条目可能不等同,例如,当所述两个条目对应于不同视图时,如图6中所展示。
图7说明其中非基础视图中的当前图片包括既使用相对于基础视图中的视图间参考图片的视图间预测也使用相对于非基础视图中的长期(LT)参考图片的帧间预测而预测的块的实例。即,图7说明其中当前图片140包括具有时间运动矢量152(参考长期参考图片144)及视图间运动矢量150(参考视图间参考图片142)两者的相邻块146、148的实例。视图间运动矢量150也可被称为“视差运动矢量150”。本发明认识到,应有可能禁用从时间长期运动矢量(诸如,时间运动矢量152)预测视差运动矢量(诸如,视差运动矢量150)且禁用从视差运动矢量预测时间长期运动矢量。
图8说明其中非基础视图中的当前图片包括使用帧间预测而既从非基础视图的长期(LT)参考图片也从非基础视图的短期(ST)参考图片预测的块的实例。即,图8说明其中当前图片160包括具有时间长期运动矢量及时间短期运动矢量两者的相邻块166、168的实例。特定地,块166是使用参考长期参考图片162的时间运动矢量170而预测,而块168是使用参考短期参考图片164的时间运动矢量172而预测。因此,时间运动矢量170可被称为长期运动矢量或长期时间运动矢量,而时间运动矢量172可被称为短期运动矢量或短期时间运动矢量。本发明认识到,应有可能禁用时间短期运动矢量与时间长期运动矢量之间的预测,例如,在AMVP期间。
图9说明其中非基础视图中的当前图片包括使用帧间预测而预测的块的实例,其中所述块是相对于非基础视图的不同长期(LT)参考图片而预测。即,图9说明其中当前图片180包括分别具有参考长期图片184、182的时间运动矢量190、192的相邻块186、188的实例。特定地,在这个实例中,块186是使用参考长期参考图片184的部分的时间运动矢量190而预测,而块188是使用参考长期参考图片182的部分的时间运动矢量192而预测。本发明认识到,应有可能在AMVP期间启用及/或禁用预测时间长期运动矢量。
图10为说明当前块的相邻块的实例集合的概念图。详言之,在这个实例中,当前块具有被加标签为A0及A1的左相邻块,以及上相邻块B0、B1及B2。可使用帧间预测(例如,时间预测或视图间预测)来译码当前块。因此,诸如视频编码器20或视频解码器30的视频译码器可使用运动矢量来译码当前块。此外,视频译码器可译码运动矢量。在各种实例中,视频译码器可使用上文所描述的技术来译码用于当前块的运动矢量,例如,对于高级运动矢量预测(AMVP)、时间运动矢量预测(TMVP)或合并模式。TMVP预测值可对应于用于先前经译码图片中与当前块同置的块的运动矢量。
相邻块A0、A1、B0、B1及B2中的一或多者的运动矢量相比于用以译码当前块的运动矢量可属于不同类型。举例来说,可使用长期运动矢量来译码当前块,而可使用短期运动矢量来译码块A0、A1、B0、B1及B2中的一或多者。作为另一实例,可使用短期运动矢量来译码当前块,而可使用长期运动矢量来译码块A0、A1、B0、B1及B2中的一或多者。作为又一实例,可使用视差运动矢量来译码当前块,而可使用时间运动矢量来译码块A0、A1、B0、B1及B2中的一或多者。作为又一实例,可使用时间运动矢量来译码当前块,而可使用视差运动矢量来译码块A0、A1、B0、B1及B2中的一或多者。在这些状况下,如上文所解释,诸如视频编码器20或视频解码器30的视频译码器可禁用不同类型的运动矢量之间的运动矢量预测。
图10的实例说明空间运动矢量预测值候选者。然而,应理解,也可针对时间运动矢量预测(TMVP)考虑时间运动矢量预测值候选者。这些TMVP候选者可对应于用于先前经译码图片中的同置块(即,与图10中被加标签为“当前块”的块同置的块)的运动信息。另外,根据本发明的技术,当TMVP候选者的运动信息及用于当前块的运动矢量指向不同类型的图片(例如,短期及长期参考图片)时,TMVP候选者可被视为不可用作运动矢量预测值。
图11为说明根据本发明的技术的用于编码视频数据的实例方法的流程图。替代地,在一些实例中,可以不同顺序或大体上并行地执行图11的实例方法中的步骤。同样地,可省略某些步骤,及/或可添加其它步骤。尽管描述为由视频编码器20执行,但应理解,其它视频编码装置可经配置以执行大体上类似的方法。
在这个实例中,视频编码器20编码用于当前图片的参考图片的图片顺序计数(POC)值(200)。举例来说,视频编码器20可编码用于包括当前图片的序列的序列参数集(SPS)数据结构中的某些参考图片的POC值,或表示所述POC值的数据(诸如,最低有效位(LSB))。另外或替代地,视频编码器20可编码用于当前图片的当前切片的切片标头中的一或多个参考图片的POC值。在一些实例中,视频编码器20可编码表示SPS中的长期参考图片的POC值及切片标头中的短期参考图片的POC值的数据。视频编码器20也可编码视图间参考图片(例如,在SPS中、在切片标头中,或在其它位置)的POC值。一般而言,视图间参考图片的POC值与正编码的当前图片的POC值相同。
视频编码器20也可编码参考图片的第二维度标识符(202)。第二维度标识符可包括以下各者中的一或多者:用于包括参考图片的视图的视图标识符、用于包括参考图片的视图的视图顺序索引、视图顺序索引与深度标志的组合、用于包括参考图片的可缩放视频译码(SVC)层的层标识符,及/或一般层标识符。如此,用于参考图片的POC值与用于参考图片的第二维度标识符的组合可用以识别参考图片。
视频编码器20可进一步执行针对当前图片的当前块的运动搜索。即,运动估计单元42可搜索参考图片以得到最紧密地匹配当前块的参考块。这种情形可产生包括运动矢量的运动信息,所述运动矢量参考所述参考块以及其中出现所述参考块的参考图片。因此,视频编码器20的运动补偿单元44可使用指向参考图片中的一者的运动矢量来预测当前块(204)。
视频编码器20也可(例如)使用高级运动矢量预测(AMVP)、时间运动矢量预测(TMVP)或合并模式来编码运动矢量。详言之,视频编码器20可确定可用候选运动矢量预测值的集合(206)。举例来说,参看图10,视频编码器20可确定用于相邻块A0、A1、B0、B1及B2的运动矢量是否可用。详言之,根据本发明的技术,视频编码器20可确定,当这些相邻块中的一者的运动矢量相比于用于当前块的运动矢量属于不同类型时,所述相邻块的运动矢量不可用。类似地,视频编码器20可在确定TMVP候选者是否可用作译码当前块的运动矢量的预测值时确定用于时间运动矢量预测值候选者的运动矢量相比于用于当前块的运动矢量是否参考不同类型的参考图片。
如上文所解释,运动矢量的实例不同类型包括长期运动矢量、短期运动矢量、时间运动矢量及视差运动矢量。因此,视频编码器20可确定当前块的运动矢量的类型以及相邻块的运动矢量的类型,且确定类型不同于当前块的当前运动矢量的类型的相邻块的运动矢量不可用作当前运动矢量的运动矢量预测值。为了确定类型,视频编码器20可参考候选运动矢量所参考的参考图片的POC值、当前运动矢量所参考的参考图片的POC值、候选运动矢量所参考的参考图片的第二维度标识符,及/或当前运动矢量所参考的参考图片的第二维度标识符。
随后,视频编码器20可从相邻块(其可包括先前经译码图片中的同置块及/或不同视图的图片中的对应块)选择可用候选运动矢量预测值中的一者作为当前运动矢量的运动矢量预测值(208)。视频编码器20可接着使用选定运动矢量预测值来编码当前运动矢量(210)。
此外,视频编码器20可计算用于当前块的残余块(212)。如关于图2所解释,求和器50可计算原始未经译码块与由运动补偿单元44所形成的经预测块之间的逐像素差。变换处理单元52、量化单元54及熵编码单元56可接着分别变换、量化及扫描残余块(214)。特别地,变换处理单元52可变换残余块以产生变换系数的块,量化单元52可量化变换系数,且熵编码单元56可扫描经量化变换系数。熵编码单元56可接着熵编码经量化变换系数及经编码运动矢量信息(216)。
如此,图11的方法表示一种方法的实例,所述方法包括:编码用于视频数据的第一图片的图片顺序计数(POC)值;编码用于第一图片的第二维度图片标识符;及根据基础视频译码规范(或基础视频译码规范的扩展)而至少部分地基于第一图片的POC值及第二维度图片标识符来编码第二图片。另外,所述方法可包括禁用以下两者之间的运动矢量预测:第二图片的第一块的第一运动矢量,其中第一运动矢量参考短期参考图片;及第二图片的第二块的第二运动矢量,其中第二运动矢量参考长期参考图片。另外或替代地,所述方法可包括禁用以下两者之间的运动矢量预测:第二图片的第一块的第一运动矢量,其中第一运动矢量参考视图间参考图片;及第二图片的第二块的第二运动矢量,其中第二运动矢量参考时间参考图片。
图12为说明根据本发明的技术的用于解码视频数据的实例方法的流程图。替代地,在一些实例中,可以不同顺序或大体上并行地执行图12的实例方法中的步骤。同样地,可省略某些步骤,及/或可添加其它步骤。尽管描述为由视频解码器30执行,但应理解,其它视频解码装置可经配置以执行大体上类似的方法。
在这个实例中,视频解码器30解码用于当前图片的参考图片的POC值(230)。举例来说,视频解码器30可解码用于包括当前图片的序列的序列参数集(SPS)数据结构中的某些参考图片的POC值,或表示所述POC值的数据(诸如,最低有效位(LSB))。视频解码器30可通过将用于POC值的经解码LSB附加到从(例如)先前经解码的全POC值所导出的相应MSB而从所述LSB重建所述POC值。另外或替代地,视频解码器30可解码用于当前图片的当前切片的切片标头中的一或多个参考图片的POC值。在一些实例中,视频解码器30可解码表示SPS中的长期参考图片的POC值及切片标头中的短期参考图片的POC值的数据。视频解码器30也可解码视图间参考图片(例如,在SPS中、在切片标头中,或在其它位置)的POC值。一般而言,视图间参考图片的POC值与正编码的当前图片的POC值相同。
视频解码器30也可解码参考图片的第二维度标识符(232)。第二维度标识符可包括以下各者中的一或多者:用于包括参考图片的视图的视图标识符、用于包括参考图片的视图的视图顺序索引、视图顺序索引与深度标志的组合、用于包括参考图片的可缩放视频译码(SVC)层的层标识符,及/或一般层标识符。如此,用于参考图片的POC值与用于参考图片的第二维度标识符的组合可用以识别参考图片。因此,为了识别参考图片,运动信息可包括用于参考图片的POC值及第二维度标识符两者。
视频解码器30也可解码用于当前图片的当前块的运动矢量。详言之,视频解码器30可确定可用候选运动矢量预测值的集合(234)。举例来说,参看图10,视频解码器30可确定用于相邻块A0、A1、B0、B1及B2的运动矢量是否可用。详言之,根据本发明的技术,视频解码器30可确定,当这些相邻块中的一者的运动矢量相比于用于当前块的运动矢量属于不同类型时,所述相邻块的运动矢量不可用。类似地,视频解码器30可在确定TMVP候选者是否可用作译码当前块的运动矢量的预测值时确定用于时间运动矢量预测值候选者的运动矢量相比于用于当前块的运动矢量是否参考不同类型的参考图片。
如上文所解释,运动矢量的实例不同类型包括长期运动矢量、短期运动矢量、时间运动矢量及视差运动矢量。因此,视频解码器30可确定当前块的运动矢量的类型以及相邻块的运动矢量的类型,且确定类型不同于当前块的当前运动矢量的类型的相邻块的运动矢量不可用作当前运动矢量的运动矢量预测值。为了确定类型,视频解码器30可参考候选运动矢量所参考的参考图片的POC值、当前运动矢量所参考的参考图片的POC值、候选运动矢量所参考的参考图片的第二维度标识符,及/或当前运动矢量所参考的参考图片的第二维度标识符。
随后,视频解码器30可从相邻块(其可包括先前经译码图片中的同置块及/或不同视图的图片中的对应块)选择可用候选运动矢量预测值中的一者作为当前运动矢量的运动矢量预测值(236)。视频解码器30可接着使用选定运动矢量预测值来解码当前运动矢量(238)。举例来说,在使用AMVP的情况下,视频解码器30可解码用于当前运动矢量的运动矢量差(MVD)值,接着将所述MVD值应用于选定运动矢量预测值。即,视频解码器30可将MVD值的x分量加到选定运动矢量预测值的x分量,且将MVD值的y分量加到选定运动矢量预测值的y分量。
视频解码器30的运动补偿单元72可接着使用指向参考图片中的一者的运动矢量来预测当前块(240)。即,除运动矢量自身以外,视频解码器30也可解码用于所述运动矢量所对应的块的参考图片识别信息,诸如POC值及第二维度识别值。如此,视频解码器30可使用POC值及第二维度识别值来确定运动矢量所指向的参考图片。因此,运动补偿单元72可使用运动矢量及参考图片识别信息(即,POC值及第二维度识别值)来形成用于当前块的经预测块。
熵解码单元70可进一步熵解码用于对应于当前块的残余块的经量化变换系数(242)。熵解码单元70、反量化单元76及反变换单元78分别反扫描、量化及变换经量化变换系数以产生残余块(244)。视频解码器30的求和器80可接着组合经预测块与残余块(即,在逐像素的基础上使经预测块与残余块相加)(246)。
如此,图12的方法表示一种方法的实例,所述方法包括:解码用于视频数据的第一图片的图片顺序计数(POC)值;解码用于第一图片的第二维度图片标识符;及根据基础视频译码规范(或基础视频译码规范的扩展)而至少部分地基于第一图片的POC值及第二维度图片标识符来解码第二图片。另外,所述方法可包括禁用以下两者之间的运动矢量预测:第二图片的第一块的第一运动矢量,其中第一运动矢量参考短期参考图片;及第二图片的第二块的第二运动矢量,其中第二运动矢量参考长期参考图片。另外或替代地,所述方法可包括禁用以下两者之间的运动矢量预测:第二图片的第一块的第一运动矢量,其中第一运动矢量参考视图间参考图片;及第二图片的第二块的第二运动矢量,其中第二运动矢量参考时间参考图片。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列执行、可被添加、合并或完全省去(例如,对于实践所述技术而言,并非所有所描述动作或事件是必要的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多个处理器同时而非顺序地执行动作或事件。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合予以实施。如果以软件予以实施,那么所述功能可作为一或多个指令或代码而存储在计算机可读媒体上或经由计算机可读媒体而传输,且由基于硬件的处理单元执行。计算机可读媒体可包括计算机可读存储媒体(其对应于诸如数据存储媒体的有形媒体)或通信媒体,通信媒体包括(例如)根据通信协议促进计算机程序从一处传送到另一处的任何媒体。如此,计算机可读媒体一般可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)诸如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器访问以检索指令、代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包括计算机可读媒体。
作为实例而非限制,这些计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,闪速存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机访问的任何其它媒体。又,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外线、无线电及微波的无线技术而从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤电缆、双绞线、DSL或诸如红外线、无线电及微波的无线技术包括在媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包括连接、载波、信号或其它暂时性媒体,而代替地有关于非暂时性有形存储媒体。如本文所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式重现数据,而光盘用激光以光学方式重现数据。以上各者的组合也应包括在计算机可读媒体的范围内。
可由诸如一或多个数字信号处理器(DSP)、一般用途微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器执行指令。因此,如本文所使用,术语“处理器”可指前述结构或适合于实施本文所描述的技术的任何其它结构中的任一者。另外,在一些方面,可将本文所描述的功能性提供于经配置以用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编解码器中。又,可将所述技术完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于各种各样的装置或仪器中,所述装置或仪器包括无线手机、集成电路(IC)或IC集合(例如,芯片集)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必需要通过不同硬件单元而实现。更确切地,如上文所描述,各种单元可组合于编解码器硬件单元中,或通过交互操作的硬件单元(包括如上文所描述的一或多个处理器)的集合结合合适软件及/或固件而提供。
已描述各种实例。这些及其它实例是在所附权利要求书的范围内。

Claims (51)

1.一种解码视频数据的方法,所述方法包含:
解码用于视频数据的第一图片的图片顺序计数POC值;
解码用于所述第一图片的第二维度图片标识符;及
根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来解码第二图片。
2.根据权利要求1所述的方法,其进一步包含禁用以下两者之间的运动矢量预测:所述第二图片的第一块的第一运动矢量,其中所述第一运动矢量参考短期参考图片;及所述第二图片的第二块的第二运动矢量,其中所述第二运动矢量参考长期参考图片。
3.根据权利要求1所述的方法,其中译码所述第二图片包含:
使用所述POC值及所述第二维度图片标识符来识别所述第一图片;及
相对于所述第一图片来解码所述第二图片的至少一部分。
4.根据权利要求3所述的方法,其中识别所述第一图片包含在用于所述第二图片的块的运动矢量的解码期间识别所述第一图片,其中所述运动矢量的译码包含根据高级运动矢量预测AMVP、时间运动矢量预测TMVP及合并模式中的至少一者来译码所述运动矢量。
5.根据权利要求1所述的方法,其进一步包含:
启用所述第二图片的第一短期运动矢量与所述第二图片的第二短期运动矢量之间的预测;及
基于用于由所述第一短期运动矢量所参考的第一短期参考图片的POC值及用于由所述第二短期运动矢量所参考的第二短期参考图片的POC值来缩放所述第一短期运动矢量及所述第二短期运动矢量中的至少一者。
6.根据权利要求1所述的方法,其进一步包含至少部分地基于所述视频数据的视图分量是否用于视图间预测来解码指示所述视图分量是否包含长期参考图片的值。
7.根据权利要求1所述的方法,其进一步包含根据所述基础视频译码规范的扩展而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来解码第三图片。
8.根据权利要求7所述的方法,其进一步包含在解码所述第三图片之前将包括所述第一图片的所有视图间参考图片标记为长期参考图片。
9.根据权利要求8所述的方法,其进一步包含:
在将用于所述第三图片的所述视图间参考图片标记为长期参考图片之前,存储所述视图间参考图片中的每一者的状态,其中所述状态包含长期参考图片、短期参考图片及不用于参考中的一者,其中所述视图间参考图片包括所述第一图片;及
在译码所述第二图片之后,基于所述经存储状态来设置所述视图间参考图片中的每一者的新状态。
10.根据权利要求7所述的方法,其中所述基础视频译码规范包含高效率视频译码HEVC基础规范,且其中所述基础视频译码规范的所述扩展包含所述HEVC基础规范的可缩放视频译码SVC扩展及所述HEVC基础规范的多视图视频译码MVC扩展中的一者。
11.根据权利要求7所述的方法,其中所述第二维度图片标识符包含以下各者中的至少一者:用于包括所述第一图片的视图的视图标识符、用于包括所述第一图片的所述视图的视图顺序索引、所述视图顺序索引与深度标志的组合、用于包括所述第一图片的可缩放视频译码SVC层的层标识符,及一般层标识符。
12.根据权利要求7所述的方法,其进一步包含在解码所述第三图片之后将每一视图间参考图片标记为长期参考图片、短期参考图片及不用于参考中的一者。
13.根据权利要求12所述的方法,其进一步包含:
在将视图间参考图片标记为长期参考图片之后,向所述视图间参考图片指派当前不用的新POC值;及
在解码所述第二图片之后,还原用于所述视图间参考图片的原始POC值。
14.根据权利要求13所述的方法,其中所述原始POC值包含所述第一图片的所述POC值。
15.一种编码视频数据的方法,所述方法包含:
编码用于视频数据的第一图片的图片顺序计数POC值;
编码用于所述第一图片的第二维度图片标识符;及
根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来编码第二图片。
16.根据权利要求15所述的方法,其进一步包含禁用以下两者之间的运动矢量预测:所述第二图片的第一块的第一运动矢量,其中所述第一运动矢量参考短期参考图片;及所述第二图片的第二块的第二运动矢量,其中所述第二运动矢量参考长期参考图片。
17.根据权利要求15所述的方法,其进一步包含:
使用所述POC值及所述第二维度图片标识符来识别所述第一图片;及
相对于所述第一图片来译码所述第二图片的至少一部分。
18.根据权利要求17所述的方法,其中识别所述第一图片包含在用于所述第二图片的块的所述运动矢量的译码期间识别所述第一图片,其中所述运动矢量的译码包含根据高级运动矢量预测AMVP、时间运动矢量预测TMVP及合并模式中的至少一者来译码所述运动矢量。
19.根据权利要求15所述的方法,其进一步包含:
启用所述第二图片的第一短期运动矢量与所述第二图片的第二短期运动矢量之间的预测;及
基于用于由所述第一短期运动矢量所参考的第一短期参考图片的POC值及用于由所述第二短期运动矢量所参考的第二短期参考图片的POC值来缩放所述第一短期运动矢量及所述第二短期运动矢量中的至少一者。
20.根据权利要求15所述的方法,其中所述第二维度图片标识符包含以下各者中的至少一者:用于包括所述第一图片的视图的视图标识符、用于包括所述第一图片的所述视图的视图顺序索引、所述视图顺序索引与深度标志的组合、用于包括所述第一图片的可缩放视频译码SVC层的层标识符,及一般层标识符。
21.根据权利要求15所述的方法,其进一步包含至少部分地基于所述视频数据的视图分量是否用于视图间预测来译码指示所述视图分量是否包含长期参考图片的值。
22.根据权利要求15所述的方法,其进一步包含根据所述基础视频译码规范的扩展而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来编码第三图片。
23.根据权利要求22所述的方法,其进一步包含在编码所述第三图片之前将所有视图间参考图片标记为长期参考图片。
24.根据权利要求23所述的方法,其进一步包含:
在将所述视图间参考图片标记为长期参考图片之前,存储所述视图间参考图片中的每一者的状态,其中所述状态包含长期参考图片、短期参考图片及不用于参考中的一者;及
在译码所述第二图片之后,基于所述经存储状态来设置所述视图间参考图片中的每一者的新状态。
25.根据权利要求22所述的方法,其中所述基础视频译码规范包含高效率视频译码HEVC基础规范,且其中所述基础视频译码规范的所述扩展包含所述HEVC基础规范的可缩放视频译码SVC扩展及所述HEVC基础规范的多视图视频译码MVC扩展中的一者。
26.根据权利要求15所述的方法,其进一步包含在译码所述第三图片之后将每一视图间参考图片标记为长期参考图片、短期参考图片及不用于参考中的一者。
27.根据权利要求26所述的方法,其进一步包含:
在将视图间参考图片标记为长期参考图片之后,向所述视图间参考图片指派当前不用的新POC值;及
在译码所述第二图片之后,还原用于所述视图间参考图片的原始POC值。
28.根据权利要求27所述的方法,其中所述原始POC值包含所述第二图片的所述POC值。
29.一种用于解码视频数据的装置,所述装置包含经配置以执行以下操作的视频解码器:解码用于视频数据的第一图片的图片顺序计数POC值;解码用于所述第一图片的第二维度图片标识符;及根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来解码第二图片。
30.根据权利要求29所述的装置,其中所述视频解码器经配置以禁用以下两者之间的运动矢量预测:所述第二图片的第一块的第一运动矢量,其中所述第一运动矢量参考短期参考图片;及所述第二图片的第二块的第二运动矢量,其中所述第二运动矢量参考长期参考图片。
31.根据权利要求29所述的装置,其中所述视频解码器经配置以使用所述POC值及所述第二维度图片标识符来识别所述第一图片,及相对于所述第一图片来解码所述第二图片的至少一部分。
32.根据权利要求31所述的装置,其中所述视频解码器经配置以在用于所述第二图片的块的运动矢量的译码期间识别所述第一图片,且其中所述视频解码器经配置以根据高级运动矢量预测AMVP、时间运动矢量预测TMVP及合并模式中的至少一者来解码所述运动矢量。
33.根据权利要求29所述的装置,其中所述视频解码器经配置以启用所述第二图片的第一短期运动矢量与所述第二图片的第二短期运动矢量之间的预测,及基于用于由所述第一短期运动矢量所参考的第一短期参考图片的POC值及用于由所述第二短期运动矢量所参考的第二短期参考图片的POC值来缩放所述第一短期运动矢量及所述第二短期运动矢量中的至少一者。
34.根据权利要求29所述的装置,其中所述第二维度图片标识符包含以下各者中的至少一者:用于包括所述第一图片的视图的视图标识符、用于包括所述第一图片的所述视图的视图顺序索引、所述视图顺序索引与深度标志的组合、用于包括所述第一图片的可缩放视频译码SVC层的层标识符,及一般层标识符。
35.根据权利要求29所述的装置,其中所述视频解码器经配置以至少部分地基于所述视频数据的视图分量是否用于视图间预测来解码指示所述视图分量是否包含长期参考图片的值。
36.根据权利要求29所述的装置,其中所述视频解码器经进一步配置以根据所述基础视频译码规范的扩展而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来解码第三图片。
37.根据权利要求36所述的装置,其中所述视频解码器经配置以执行以下操作:在解码所述第三图片之前将包括所述第一图片的用于所述第三图片的所有视图间参考图片标记为长期参考图片;在将所述视图间参考图片标记为长期参考图片之前,存储所述视图间参考图片中的每一者的状态,其中所述状态包含长期参考图片、短期参考图片及不用于参考中的一者;及在解码所述第三图片之后,基于所述经存储状态来设置所述视图间参考图片中的每一者的新状态。
38.根据权利要求36所述的装置,其中所述视频解码器经进一步配置以执行以下操作:在解码所述第三图片之后将包括所述第一图片的用于所述第三图片的每一视图间参考图片标记为长期参考图片、短期参考图片及不用于参考中的一者;在将视图间参考图片标记为长期参考图片之后,向所述视图间参考图片中的每一者指派当前不用的新POC值;及在译码所述第二图片之后,还原用于所述视图间参考图片的原始POC值。
39.根据权利要求29所述的装置,其中所述装置包含以下各者中的至少一者:
集成电路;
微处理器;及
无线通信装置,其包括所述视频解码器。
40.一种用于编码视频数据的装置,所述装置包含经配置以执行以下操作的视频编码器:编码用于视频数据的第一图片的图片顺序计数POC值;编码用于所述第一图片的第二维度图片标识符;及根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来编码第二图片。
41.根据权利要求40所述的装置,其中所述视频编码器经配置以禁用以下两者之间的运动矢量预测:所述第二图片的第一块的第一运动矢量,其中所述第一运动矢量参考短期参考图片;及所述第二图片的第二块的第二运动矢量,其中所述第二运动矢量参考长期参考图片。
42.根据权利要求40所述的装置,其中所述视频编码器经配置以使用所述POC值及所述第二维度图片标识符来识别所述第一图片,及相对于所述第一图片来编码所述第二图片的至少一部分。
43.根据权利要求42所述的装置,其中所述视频编码器经配置以在用于所述第二图片的块的运动矢量的译码期间识别所述第一图片,且其中所述视频编码器经配置以根据高级运动矢量预测AMVP、时间运动矢量预测TMVP及合并模式中的至少一者来编码所述运动矢量。
44.根据权利要求40所述的装置,其中所述视频编码器经配置以启用所述第二图片的第一短期运动矢量与所述第二图片的第二短期运动矢量之间的预测,及基于用于由所述第一短期运动矢量所参考的第一短期参考图片的POC值及用于由所述第二短期运动矢量所参考的第二短期参考图片的POC值来缩放所述第一短期运动矢量及所述第二短期运动矢量中的至少一者。
45.根据权利要求40所述的装置,其中所述第二维度图片标识符包含以下各者中的至少一者:用于包括所述第一图片的视图的视图标识符、用于包括所述第一图片的所述视图的视图顺序索引、所述视图顺序索引与深度标志的组合、用于包括所述第一图片的可缩放视频译码SVC层的层标识符,及一般层标识符。
46.根据权利要求40所述的装置,其中所述视频编码器经配置以至少部分地基于所述视频数据的视图分量是否用于视图间预测来编码指示所述视图分量是否包含长期参考图片的值。
47.根据权利要求40所述的装置,其中所述视频编码器经进一步配置以根据所述基础视频译码规范的扩展而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来编码第三图片。
48.根据权利要求47所述的装置,其中所述视频编码器经配置以执行以下操作:在编码所述第三图片之前将包括所述第一图片的用于所述第三图片的所有视图间参考图片标记为长期参考图片;在将所述视图间参考图片标记为长期参考图片之前,存储所述视图间参考图片中的每一者的状态,其中所述状态包含长期参考图片、短期参考图片及不用于参考中的一者;及在编码所述第三图片之后,基于所述经存储状态来设置所述视图间参考图片中的每一者的新状态。
49.根据权利要求47所述的装置,其中所述视频编码器经进一步配置以执行以下操作:在编码所述第三图片之后将包括所述第一图片的用于所述第三图片的每一视图间参考图片标记为长期参考图片、短期参考图片及不用于参考中的一者;在将视图间参考图片标记为长期参考图片之后,向所述视图间参考图片中的每一者指派当前不用的新POC值;及在译码所述第二图片之后,还原用于所述视图间参考图片的原始POC值。
50.一种用于编码视频数据的装置,所述装置包含:
用于编码用于视频数据的第一图片的图片顺序计数POC值的装置;
用于编码用于所述第一图片的第二维度图片标识符的装置;及
用于根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来编码第二图片的装置。
51.一种计算机可读存储媒体,其上存储有在执行时使处理器执行以下操作的指令:
解码用于视频数据的第一图片的图片顺序计数POC值;
解码用于所述第一图片的第二维度图片标识符;及
根据基础视频译码规范而至少部分地基于所述第一图片的所述POC值及所述第二维度图片标识符来解码第二图片。
CN201380014479.8A 2012-03-16 2013-03-14 用于高效率视频译码的高级别语法扩展 Active CN104322070B (zh)

Applications Claiming Priority (13)

Application Number Priority Date Filing Date Title
US201261611959P 2012-03-16 2012-03-16
US61/611,959 2012-03-16
US201261624990P 2012-04-16 2012-04-16
US61/624,990 2012-04-16
US201261658344P 2012-06-11 2012-06-11
US61/658,344 2012-06-11
US201261663484P 2012-06-22 2012-06-22
US61/663,484 2012-06-22
US201261746476P 2012-12-27 2012-12-27
US61/746,476 2012-12-27
US13/801,731 US10200709B2 (en) 2012-03-16 2013-03-13 High-level syntax extensions for high efficiency video coding
US13/801,731 2013-03-13
PCT/US2013/031573 WO2013138639A1 (en) 2012-03-16 2013-03-14 High-level syntax extensions for high efficiency video coding

Publications (2)

Publication Number Publication Date
CN104322070A true CN104322070A (zh) 2015-01-28
CN104322070B CN104322070B (zh) 2017-12-08

Family

ID=49157622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380014479.8A Active CN104322070B (zh) 2012-03-16 2013-03-14 用于高效率视频译码的高级别语法扩展

Country Status (17)

Country Link
US (1) US10200709B2 (zh)
EP (1) EP2826248B1 (zh)
JP (1) JP6258288B2 (zh)
KR (1) KR102156947B1 (zh)
CN (1) CN104322070B (zh)
AU (1) AU2013231961B2 (zh)
CA (1) CA2865949C (zh)
DK (1) DK2826248T3 (zh)
ES (1) ES2900751T3 (zh)
HK (1) HK1202745A1 (zh)
HU (1) HUE056925T2 (zh)
IL (1) IL234160B (zh)
PH (1) PH12014502012A1 (zh)
RU (1) RU2636692C2 (zh)
SG (2) SG11201405073QA (zh)
WO (1) WO2013138639A1 (zh)
ZA (1) ZA201407492B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109089119A (zh) * 2017-06-13 2018-12-25 浙江大学 一种运动矢量预测的方法及设备
CN111031317A (zh) * 2019-09-23 2020-04-17 杭州海康威视数字技术股份有限公司 编解码方法方法、装置及设备
WO2021018031A1 (en) * 2019-07-27 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types
CN112840664A (zh) * 2018-10-18 2021-05-25 高通股份有限公司 用于置零变换的扫描和最后系数位置译码
CN113228675A (zh) * 2018-12-21 2021-08-06 北京字节跳动网络技术有限公司 视频处理中的运动矢量比特深度
CN115398888A (zh) * 2020-03-30 2022-11-25 字节跳动有限公司 对视频编解码中并置图片的约束

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7983835B2 (en) 2004-11-03 2011-07-19 Lagassey Paul J Modular intelligent transportation system
JP5747559B2 (ja) * 2011-03-01 2015-07-15 富士通株式会社 動画像復号方法、動画像符号化方法、動画像復号装置、及び動画像復号プログラム
US9485517B2 (en) 2011-04-20 2016-11-01 Qualcomm Incorporated Motion vector prediction with motion vectors from multiple views in multi-view video coding
CN107404651B (zh) 2011-09-09 2020-03-06 株式会社Kt 用于解码视频信号的方法
EP3754982B1 (en) * 2011-09-29 2024-05-01 SHARP Kabushiki Kaisha Image decoding device, image decoding method, image encoding method and image encoding device for performing bi-prediction to uni-prediction conversion
CN104067622B (zh) 2011-10-18 2018-01-02 株式会社Kt 图像编码方法、图像解码方法、图像编码器及图像解码器
RU2566957C2 (ru) * 2011-11-08 2015-10-27 Самсунг Электроникс Ко., Лтд. Способ и устройство для определения вектора движения в кодировании или декодировании видео
US10200709B2 (en) 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions
EP2878125A4 (en) * 2012-07-27 2016-10-12 Hfi Innovation Inc CONSTRAINED DISPARITY VECTOR DERIVATION METHOD IN 3D VIDEO CODING
EP2901693A4 (en) * 2012-09-28 2016-04-27 Intel Corp BETWEEN SHIFTS INTRA-PREDICTION MODE
CN102883163B (zh) 2012-10-08 2014-05-28 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置
KR20140087971A (ko) 2012-12-26 2014-07-09 한국전자통신연구원 계층적 비디오 부호화에서 다중참조계층을 적용한 화면간 부/복호화 방법 및 그 장치
US10194146B2 (en) 2013-03-26 2019-01-29 Qualcomm Incorporated Device and method for scalable coding of video information
KR102177831B1 (ko) * 2013-04-05 2020-11-11 삼성전자주식회사 멀티 레이어 비디오의 복호화 방법 및 장치, 멀티 레이어 비디오의 부호화 방법 및 장치
KR20140122835A (ko) * 2013-04-11 2014-10-21 삼성전자주식회사 프로세스 병렬 처리 장치 및 방법
JP5789004B2 (ja) * 2013-08-09 2015-10-07 ソニー株式会社 送信装置、送信方法、受信装置、受信方法、符号化装置および符号化方法
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
CN104935921B (zh) * 2014-03-20 2018-02-23 寰发股份有限公司 发送从模式组中选择的一个或多个编码模式的方法和设备
US9716884B2 (en) * 2014-03-20 2017-07-25 Hfi Innovation Inc. Method of signaling for mode selection in 3D and multi-view video coding
US10158867B2 (en) 2014-06-20 2018-12-18 Qualcomm Incorporated Picture order count reset for multi-layer codecs
EP4040791A1 (en) 2015-06-08 2022-08-10 Vid Scale, Inc. Intra block copy mode for screen content coding
WO2017069505A1 (ko) * 2015-10-19 2017-04-27 엘지전자(주) 영상의 부호화/복호화 방법 및 이를 위한 장치
US11595652B2 (en) 2019-01-28 2023-02-28 Op Solutions, Llc Explicit signaling of extended long term reference picture retention
US9984314B2 (en) * 2016-05-06 2018-05-29 Microsoft Technology Licensing, Llc Dynamic classifier selection based on class skew
CA3039039C (en) * 2016-10-05 2021-07-27 Arris Enterprises Llc Offset temporal motion vector predictor (tmvp)
US20190141320A1 (en) * 2017-11-07 2019-05-09 Qualcomm Incorporated Enhanced reference picture management in video coding
EP3804309A1 (en) 2018-06-07 2021-04-14 InterDigital VC Holdings, Inc. Syntax elements for video encoding or decoding
KR20210024502A (ko) 2018-06-29 2021-03-05 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Hmvp 후보를 병합/amvp에 추가할 때의 부분/풀 프루닝
TWI728390B (zh) 2018-06-29 2021-05-21 大陸商北京字節跳動網絡技術有限公司 查找表尺寸
JP7460617B2 (ja) 2018-06-29 2024-04-02 北京字節跳動網絡技術有限公司 Lut更新条件
CN114885173A (zh) 2018-06-29 2022-08-09 抖音视界(北京)有限公司 Lut中的运动候选的检查顺序
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
KR102611261B1 (ko) 2018-06-29 2023-12-08 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 업데이트 대상 lut 또는 비업데이트 lut의 구별
EP3797516A1 (en) * 2018-06-29 2021-03-31 Beijing Bytedance Network Technology Co. Ltd. Interaction between lut and amvp
TWI723445B (zh) 2018-06-29 2021-04-01 大陸商北京字節跳動網絡技術有限公司 查找表的更新:fifo、約束的fifo
TWI723446B (zh) 2018-07-02 2021-04-01 大陸商北京字節跳動網絡技術有限公司 具有lic的lut
EP3827589A4 (en) * 2018-08-29 2021-09-29 Beijing Dajia Internet Information Technology Co., Ltd. METHOD AND DEVICE FOR VIDEO ENCODING USING SUBBLOCK-BASED MOVEMENT VECTOR PREDICTION
TWI820211B (zh) 2018-09-12 2023-11-01 大陸商北京字節跳動網絡技術有限公司 取決於總數減去k的開始檢查hmvp候選的條件
WO2020075053A1 (en) 2018-10-08 2020-04-16 Beijing Bytedance Network Technology Co., Ltd. Generation and usage of combined affine merge candidate
CN117241017A (zh) 2018-11-05 2023-12-15 北京字节跳动网络技术有限公司 数字视频编解码的方法、设备和系统
GB2580084B (en) 2018-12-20 2022-12-28 Canon Kk Video coding and decoding
CN118175307A (zh) * 2018-12-27 2024-06-11 Sk电信有限公司 双向预测方法、视频编码方法及比特流传输方法
KR102648159B1 (ko) 2019-01-10 2024-03-18 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Lut 업데이트의 호출
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
WO2020147773A1 (en) 2019-01-16 2020-07-23 Beijing Bytedance Network Technology Co., Ltd. Inserting order of motion candidates in lut
EP3918801A4 (en) * 2019-01-28 2022-06-15 OP Solutions, LLC ONLINE AND OFFLINE CHOICE OF EXTENDED LONG-TERM REFERENCE IMAGE STORAGE
CN113615193B (zh) 2019-03-22 2024-06-25 北京字节跳动网络技术有限公司 Merge列表构建和其他工具之间的交互
KR102662616B1 (ko) 2019-05-21 2024-04-30 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 어파인 모드를 위한 적응적 모션 벡터 차이 해상도
CA3143556A1 (en) 2019-06-14 2020-12-17 Lg Electronics Inc. Method and device for image coding using motion vector differences
CN114208196B (zh) 2019-08-10 2023-11-14 北京字节跳动网络技术有限公司 帧间编解码模式的位置限制
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX CONSTRAINTS IN REPORTING SUBPICTURE PARAMETER SETS
WO2021236895A1 (en) * 2020-05-21 2021-11-25 Bytedance Inc. Constraints on reference picture information
CN115668949A (zh) 2020-05-26 2023-01-31 字节跳动有限公司 编解码视频中的帧间层参考图片的标识

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101548550A (zh) * 2006-10-16 2009-09-30 诺基亚公司 用于在多视点视频编码中实施有效的已解码缓存器管理的系统和方法

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003235174A1 (en) 2002-04-19 2003-11-03 Matsushita Electric Industrial Co., Ltd Method for calculating motion vector
JP2004023458A (ja) 2002-06-17 2004-01-22 Toshiba Corp 動画像符号化/復号化方法及び装置
US7023921B2 (en) 2002-08-06 2006-04-04 Motorola, Inc. Method and apparatus for determining block match quality
US20050013498A1 (en) 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US8064520B2 (en) 2003-09-07 2011-11-22 Microsoft Corporation Advanced bi-directional predictive coding of interlaced video
KR100584603B1 (ko) 2004-08-03 2006-05-30 학교법인 대양학원 다시점 영상의 다이렉트 모드 움직임 예측 방법 및 장치
US20070014346A1 (en) 2005-07-13 2007-01-18 Nokia Corporation Coding dependency indication in scalable video coding
JP5020953B2 (ja) 2005-07-18 2012-09-05 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 時間及び視点間参照映像バッファを活用した予測符号化/復号化装置及びその方法
US8644386B2 (en) 2005-09-22 2014-02-04 Samsung Electronics Co., Ltd. Method of estimating disparity vector, and method and apparatus for encoding and decoding multi-view moving picture using the disparity vector estimation method
KR101227601B1 (ko) 2005-09-22 2013-01-29 삼성전자주식회사 시차 벡터 예측 방법, 그 방법을 이용하여 다시점 동영상을부호화 및 복호화하는 방법 및 장치
KR101276720B1 (ko) 2005-09-29 2013-06-19 삼성전자주식회사 카메라 파라미터를 이용하여 시차 벡터를 예측하는 방법,그 방법을 이용하여 다시점 영상을 부호화 및 복호화하는장치 및 이를 수행하기 위한 프로그램이 기록된 기록 매체
WO2007037645A1 (en) 2005-09-29 2007-04-05 Samsung Electronics Co., Ltd. Method of estimating disparity vector using camera parameters, apparatus for encoding and decoding multi-view picture using the disparity vectors estimation method, and computer-redadable recording medium storing a program for executing the method
ZA200805337B (en) * 2006-01-09 2009-11-25 Thomson Licensing Method and apparatus for providing reduced resolution update mode for multiview video coding
WO2007081176A1 (en) 2006-01-12 2007-07-19 Lg Electronics Inc. Processing multiview video
US8565319B2 (en) 2006-03-30 2013-10-22 Lg Electronics Inc. Method and apparatus for decoding/encoding a video signal
JP2009543461A (ja) 2006-07-06 2009-12-03 トムソン ライセンシング マルチビュービデオ符号化及び復号化のためにフレームナンバー及び/又はピクチャオーダカウント(poc)を分離する方法及び装置
ZA200900857B (en) 2006-07-06 2010-05-26 Thomson Licensing Method and apparatus for decoupling frame number and/or picture order count (POC) for multi-view video encoding and decoding
WO2008007913A1 (en) 2006-07-12 2008-01-17 Lg Electronics, Inc. A method and apparatus for processing a signal
WO2008020734A1 (en) 2006-08-18 2008-02-21 Gwangju Institute Of Science And Technology A method and apparatus for encoding or decoding frames of different views in multiview video using global disparity
CN102780883B (zh) * 2006-10-13 2015-03-04 汤姆逊许可公司 用于包含多视点视频编码的参考图像管理的方法
EP2418853A3 (en) 2006-10-24 2012-06-06 Thomson Licensing Picture identification for multi-view video coding
CN101529918B (zh) 2006-10-30 2011-08-03 日本电信电话株式会社 预测参照信息生成方法、活动图像的编码及解码方法及其装置
JP5023739B2 (ja) 2007-02-28 2012-09-12 ソニー株式会社 画像情報符号化装置及び符号化方法
WO2008108566A1 (en) 2007-03-02 2008-09-12 Lg Electronics Inc. A method and an apparatus for decoding/encoding a video signal
US20080240242A1 (en) 2007-03-27 2008-10-02 Nokia Corporation Method and system for motion vector predictions
KR101597325B1 (ko) 2007-10-16 2016-03-02 엘지전자 주식회사 비디오 신호 처리 방법 및 장치
KR101385884B1 (ko) 2008-01-30 2014-04-16 고려대학교 산학협력단 다시점 동영상의 부호화 및 복호화 방법 및 장치
ES2812473T3 (es) 2008-03-19 2021-03-17 Nokia Technologies Oy Vector de movimiento combinado y predicción de índice de referencia para la codificación de vídeo
US9973739B2 (en) 2008-10-17 2018-05-15 Nokia Technologies Oy Sharing of motion vector in 3D video coding
KR101590511B1 (ko) 2009-01-23 2016-02-02 에스케이텔레콤 주식회사 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법
WO2010086500A1 (en) 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
US20100246683A1 (en) 2009-03-27 2010-09-30 Jennifer Lois Harmon Webb Error Resilience in Video Decoding
WO2010123203A2 (ko) 2009-04-22 2010-10-28 엘지전자 주식회사 다시점 영상의 참조 픽쳐 리스트 변경 방법
US9060176B2 (en) 2009-10-01 2015-06-16 Ntt Docomo, Inc. Motion vector prediction in video coding
KR101768207B1 (ko) 2010-01-19 2017-08-16 삼성전자주식회사 축소된 예측 움직임 벡터의 후보들에 기초해 움직임 벡터를 부호화, 복호화하는 방법 및 장치
US20120189060A1 (en) 2011-01-20 2012-07-26 Industry-Academic Cooperation Foundation, Yonsei University Apparatus and method for encoding and decoding motion information and disparity information
US9749657B2 (en) 2011-01-21 2017-08-29 Sharp Kabushiki Kaisha Buffer compression for motion vector competition
KR20120095610A (ko) 2011-02-21 2012-08-29 삼성전자주식회사 다시점 비디오의 부호화 방법 및 장치, 그 복호화 방법 및 장치
WO2012124121A1 (ja) 2011-03-17 2012-09-20 富士通株式会社 動画像復号方法、動画像符号化方法、動画像復号装置及び動画像復号プログラム
KR20120118780A (ko) 2011-04-19 2012-10-29 삼성전자주식회사 다시점 비디오의 움직임 벡터 부호화 방법 및 장치, 그 복호화 방법 및 장치
US9485517B2 (en) 2011-04-20 2016-11-01 Qualcomm Incorporated Motion vector prediction with motion vectors from multiple views in multi-view video coding
JP2013034171A (ja) 2011-06-30 2013-02-14 Sony Corp 画像処理装置および方法
CN103891290B (zh) 2011-08-19 2018-02-02 瑞典爱立信有限公司 运动矢量处理
RU2583040C2 (ru) 2011-08-30 2016-05-10 Нокиа Текнолоджиз Ой Устройство, способ и компьютерная программа для кодирования и декодирования видеосигналов
US10200709B2 (en) 2012-03-16 2019-02-05 Qualcomm Incorporated High-level syntax extensions for high efficiency video coding
US9503720B2 (en) 2012-03-16 2016-11-22 Qualcomm Incorporated Motion vector coding and bi-prediction in HEVC and its extensions

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101548550A (zh) * 2006-10-16 2009-09-30 诺基亚公司 用于在多视点视频编码中实施有效的已解码缓存器管理的系统和方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
IL-KOO KIM ET AL.: ""Restriction on motion vector scaling for Merge and AMVP"", 《JCT-VC》 *
JUNGMIN NAM ET AL.: ""Advanced motion and disparity prediction for 3D video coding"", 《MPEG MEETING》 *
MISKA M. HANNUKSELA ET AL.: ""AHG21: On reference picture list construction and reference picture marking"", 《JCT-VC》 *
THOMAS WIEGAND ET AL.: ""WD3: Working Draft 3 of High-Efficiency Video Coding"", 《JCT-VC》 *
YOSHITOMO TAKAHASHI ET AL.: ""3D-HEVC-CE3:Results on motion parameter prediction by Sony"", 《MPEG MEETING》 *
YOSHITOMO TAKAHASHI ET AL.: ""Descriptions of 3D video coding proposal(HEVC-compatible category)"", 《MPEG MEETING》 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109089119A (zh) * 2017-06-13 2018-12-25 浙江大学 一种运动矢量预测的方法及设备
US11202077B2 (en) 2017-06-13 2021-12-14 Huawei Technologies Co., Ltd. Motion vector prediction method and device
CN112840664A (zh) * 2018-10-18 2021-05-25 高通股份有限公司 用于置零变换的扫描和最后系数位置译码
US11843798B2 (en) 2018-12-21 2023-12-12 Beijing Bytedance Network Technology Co., Ltd Motion vector range based on motion vector precision
CN113228675A (zh) * 2018-12-21 2021-08-06 北京字节跳动网络技术有限公司 视频处理中的运动矢量比特深度
WO2021018031A1 (en) * 2019-07-27 2021-02-04 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types
CN114175655A (zh) * 2019-07-27 2022-03-11 北京字节跳动网络技术有限公司 根据参考图片类型使用工具的限制
US11323698B2 (en) 2019-07-27 2022-05-03 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types
US11589039B2 (en) 2019-07-27 2023-02-21 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types
CN114175655B (zh) * 2019-07-27 2024-01-02 北京字节跳动网络技术有限公司 根据参考图片类型使用工具的限制
US12041225B2 (en) 2019-07-27 2024-07-16 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types
CN111031317B (zh) * 2019-09-23 2020-12-04 杭州海康威视数字技术股份有限公司 编解码方法、装置及设备
CN111031317A (zh) * 2019-09-23 2020-04-17 杭州海康威视数字技术股份有限公司 编解码方法方法、装置及设备
CN115398888A (zh) * 2020-03-30 2022-11-25 字节跳动有限公司 对视频编解码中并置图片的约束
US11736734B2 (en) 2020-03-30 2023-08-22 Bytedance Inc. Constraints on collocated pictures in video coding
CN115398888B (zh) * 2020-03-30 2024-06-11 字节跳动有限公司 用于对视频编解码中并置图片的约束的方法、装置和介质

Also Published As

Publication number Publication date
KR20140140073A (ko) 2014-12-08
DK2826248T3 (da) 2021-12-20
EP2826248A1 (en) 2015-01-21
AU2013231961B2 (en) 2017-07-13
JP6258288B2 (ja) 2018-01-17
SG11201405073QA (en) 2014-10-30
CN104322070B (zh) 2017-12-08
CA2865949A1 (en) 2013-09-19
US20130243081A1 (en) 2013-09-19
ZA201407492B (en) 2020-05-27
WO2013138639A1 (en) 2013-09-19
IL234160B (en) 2019-09-26
HUE056925T2 (hu) 2022-03-28
PH12014502012B1 (en) 2014-11-24
RU2636692C2 (ru) 2017-11-27
KR102156947B1 (ko) 2020-09-16
EP2826248B1 (en) 2021-11-24
US10200709B2 (en) 2019-02-05
RU2014141644A (ru) 2016-05-10
SG10201607529SA (en) 2016-10-28
CA2865949C (en) 2020-03-24
JP2015511090A (ja) 2015-04-13
PH12014502012A1 (en) 2014-11-24
ES2900751T3 (es) 2022-03-18
HK1202745A1 (zh) 2015-10-02
AU2013231961A1 (en) 2014-09-25

Similar Documents

Publication Publication Date Title
CN104322070B (zh) 用于高效率视频译码的高级别语法扩展
CN104170381B (zh) 在高效率视频译码及其扩展中的运动矢量译码及双向预测
CN105379288B (zh) 处理对视频译码的照明补偿
CN105556969B (zh) 视频译码中使用视差向量的块识别
CN105637870B (zh) 使用不对称运动分割的视频译码技术
CN105580372B (zh) 用于3d视频译码的组合式双向预测合并候选者
CN104838656B (zh) 解码与编码视频数据的方法、视频译码器以及计算机可读存储媒体
CN105874799B (zh) 用于3d视频译码的基于块的高级残差预测
CN104584558B (zh) 用于3d视频的视图间预测的运动向量
CN104335586B (zh) 运动向量舍入
CN104769949B (zh) 用于视差向量导出的图片的选择的方法和装置
CN104904217B (zh) 用于视频译码扩展的时间运动向量预测
CN109891890A (zh) 视频译码中基于子pu的双向运动补偿
CN104969551A (zh) 可缩放及多视角视频译码中的高级残差预测
CN104335589A (zh) 用于视频译码的视图间预测的视差向量产生
CN105009586A (zh) 多视图或3维视频译码中的视图间残余预测
CN105794209B (zh) 用于译码深度块的方法和装置
CN104350749A (zh) 深度图估计的推导
CN105580364A (zh) Hevc中的基于子预测单元(pu)的时间运动向量预测和3d-hevc中的子pu设计
CN105580365A (zh) Hevc中的基于子预测单元(pu)的时间运动向量预测和3d-hevc中的子pu设计
CN104170380A (zh) 视频译码中的视差矢量预测
CN106105212A (zh) 简化的子预测单元(sub‑pu)运动参数继承(mpi)
CN104685883A (zh) 用于3d视频的经视图间预测运动向量
CN104205846A (zh) 用于三维视频译码的视图合成模式
CN105122812A (zh) 用于三维(3d)视频译码的高级合并模式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1202745

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1202745

Country of ref document: HK