CN104885458B - 用于视图间或层间参考图片的位流约束和运动向量限制 - Google Patents

用于视图间或层间参考图片的位流约束和运动向量限制 Download PDF

Info

Publication number
CN104885458B
CN104885458B CN201480003846.9A CN201480003846A CN104885458B CN 104885458 B CN104885458 B CN 104885458B CN 201480003846 A CN201480003846 A CN 201480003846A CN 104885458 B CN104885458 B CN 104885458B
Authority
CN
China
Prior art keywords
motion vector
inter
reference picture
view
video
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.)
Active
Application number
CN201480003846.9A
Other languages
English (en)
Other versions
CN104885458A (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 CN104885458A publication Critical patent/CN104885458A/zh
Application granted granted Critical
Publication of CN104885458B publication Critical patent/CN104885458B/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
    • H04N19/55Motion estimation with spatial constraints, e.g. at image or region borders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • 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/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

本发明描述用于运动向量限制的技术,其中位流中的信息确保来自运动向量预测值的所导出的运动向量顺应运动向量限制。还描述用于指示用于并行解码的所述运动向量限制的技术。

Description

用于视图间或层间参考图片的位流约束和运动向量限制
本申请案主张以下申请案的权利:2013年1月4日申请的美国临时申请案第61/749,213号、2013年1月21日申请的美国临时申请案第61/754,864号、2013年1月22日申请的美国临时申请案第61/755,274号和2013年1月29日申请的美国临时申请案第61/758,206号,所述申请案中的每一者的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码,且更明确地说,涉及用于译码视频数据的技术。
背景技术
可将数字视频能力并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型计算机或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置和其类似者。数字视频装置实施视频压缩技术,例如,在由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(先进视频译码(AVC))、当前在开发过程中的高效率视频译码(HEVC)标准定义的标准和这些标准的扩展中所描述的视频压缩技术,以更有效率地发射、接收和存储数字视频信息。
视频压缩技术包含空间预测和/或时间预测以减少或去除视频序列中所固有的冗余。对于基于块的视频译码,可将视频帧或切片分割成块。可进一步分割每一块。使用相对于同一帧或切片中的相邻块中的参考样本的空间预测编码经帧内译码(I)帧或切片中的块。经帧间译码(P或B)帧或切片中的块可使用相对于同一帧或切片中的相邻块中的参考样本的空间预测或相对于其它参考帧中的参考样本的时间预测。空间或时间预测产生待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。
根据指向形成预测性块的参考样本的块的运动向量和指示经译码块与预测性块之间的差的残余数据编码经帧间译码块。根据帧内译码模式和残余数据来编码经帧内译码块。为了进一步压缩,可将残余数据从像素域变换到变换域,从而产生接着可经量化的残余变换系数。可按特定次序扫描最初排列成二维阵列的经量化的变换系数以产生变换系数的一维向量以用于熵译码。
发明内容
一般来说,本发明描述视频译码技术,其确保所导出的运动向量不违反运动向量限制。例如,视频编码器可在位流中传信语法元素,所述语法元素定义视频解码器将导出运动向量的方式。所述技术可确保位流不包含将致使视频解码器导出违反运动向量限制的运动向量的语法元素值。
本发明也描述用于指示解码延迟的技术,所述解码延迟可用于并行解码。例如,所述技术可指示可由视频解码器普遍使用以用于并行解码的解码延迟。可结合确保所导出的运动向量不违反运动向量限制的技术使用用于指示解码延迟的这些技术。然而,本发明中所描述的技术不限于此。
在一个实例中,本发明描述一种视图间或层间视频解码的方法,所述方法包括:接收位流,所述位流包含用于从运动向量预测值导出当前块的运动向量的信息,其中所述运动向量参考视图间参考图片或层间参考图片,其中所述位流受到约束以使得所述信息确保所述所导出的运动向量顺应运动向量限制,且其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间或层间参考图片的子部分。所述方法也包含基于所述位流中的所述信息导出所述当前块的所述运动向量,且基于所述所导出的运动向量视图间或层间预测解码所述当前块。
在一个实例中,本发明描述一种视图间或层间视频编码的方法,所述方法包括:确定信息,所述信息用于从运动向量预测值导出当前块的运动向量,所述信息确保所述所导出的运动向量顺应运动向量限制,其中所述运动向量参考视图间参考图片或层间参考图片,且其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间或层间参考图片的子部分。所述方法也包含基于所述信息导出所述当前块的所述运动向量,基于所述所导出的运动向量视图间或层间预测编码所述当前块,且产生用于导出所述运动向量的所述所确定的信息以用于输出。
在一个实例中,本发明描述一种包括视频解码器的装置,所述视频解码器包括一或多个处理器且经配置以:接收位流,所述位流包含用于从运动向量预测值导出当前块的运动向量的信息,其中所述运动向量参考视图间参考图片或层间参考图片,其中所述位流受到约束以使得所述信息确保所述所导出的运动向量顺应运动向量限制,且其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间或层间参考图片的子部分。所述视频解码器也经配置以基于所述位流中的所述信息导出所述当前块的所述运动向量,且基于所述所导出的运动向量视图间或层间预测解码所述当前块。
在一个实例中,本发明描述一种包括视频编码器的装置,所述视频编码器包括一或多个处理器且经配置以:确定信息,所述信息用于从运动向量预测值导出当前块的运动向量,所述信息确保所述所导出的运动向量顺应运动向量限制,其中所述运动向量参考视图间参考图片或层间参考图片,且其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间或层间参考图片的子部分。所述视频编码器也经配置以基于所述信息导出所述当前块的所述运动向量,基于所述所导出的运动向量视图间或层间预测编码所述当前块,且产生用于导出所述运动向量的所述所确定的信息以用于输出。
在一个实例中,本发明描述一种计算机可读存储媒体,其具有存储于其上的指令,所述指令在执行时致使用于解码视频数据的装置的一或多个处理器:接收位流,所述位流包含用于从运动向量预测值导出当前块的运动向量的信息,其中所述运动向量参考视图间参考图片或层间参考图片,其中所述位流受到约束以使得所述信息确保所述所导出的运动向量顺应运动向量限制,且其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间或层间参考图片的子部分。所述指令也致使所述一或多个处理器基于所述位流中的所述信息导出所述当前块的所述运动向量,且基于所述所导出的运动向量视图间或层间预测解码所述当前块。
在一个实例中,本发明描述一种装置,所述装置包括:用于接收位流的装置,所述位流包含用于从运动向量预测值导出当前块的运动向量的信息,其中所述运动向量参考视图间参考图片或一层间参考图片,其中所述位流受到约束以使得所述信息确保所述所导出的运动向量顺应运动向量限制,且其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间或层间参考图片的子部分。所述装置也包含用于基于所述位流中的所述信息导出所述当前块的所述运动向量的装置,和用于基于所述所导出的运动向量视图间或层间预测解码所述当前块的装置。
一或多个实例的细节陈述于随附图式和以下描述中。其它特征、目标和优势将从所述描述和所述图式以及从权利要求书而显而易见。
附图说明
图1为说明可利用本发明中所描述的技术的实例视频编码和解码系统的框图。
图2为说明实例多视图视频译码(MVC)解码次序的图形图。
图3为说明用于多视图视频译码的结构的概念图。
图4为说明两个视图的并行译码过程的实例的流程图。
图5为说明可实施本发明中所描述的技术的实例视频编码器的框图。
图6为说明可实施本发明中所描述的技术的实例视频解码器的框图。
图7为说明根据本发明中所描述的技术的视图间或层间视频解码的实例操作的流程图。
图8为说明根据本发明中所描述的技术的视图间或层间视频编码的实例操作的流程图。
具体实施方式
运动向量限制指将运动向量的x分量或y分量中的至少一者限于值范围内。以此方式,运动向量限制会限制可用以帧间预测当前块的参考图片的块。例如,如果y分量被限制在某一范围内,那么参考图片中的在y分量范围之外的任何块无法被用以帧间预测当前块。一般来说,运动向量限制可用以限制运动向量的范围以参考参考图片的子部分,如更详细所描述,所述参考图片可为视图间或层间参考图片。
可能存在运动向量限制可为有用的各种原因。作为一个实例,运动向量限制可减少为了帧间预测当前块所需要存取的参考图片的数据量,此举增加存储器频宽效率。例如,对于帧间预测当前块来说,可不需要存取驻留于限制范围之外的块的视频数据。
作为另一实例,运动向量限制可实现并行解码。例如,在多视图视频译码或可缩放视频译码中,可用参考视图或层(例如,基本视图或层)中的图片来帧间预测(例如,视图间预测或层间预测)相依视图或层中的图片。在无运动向量限制的情况下,视频解码器可能需要在重构建相依视图或层图片之前重构建整个参考视图或层图片。出于此原因,运动向量限制可为合乎需要的,以避免需要在重构建相依视图或层图片之前重构建整个参考视图或层图片。
此外,在具有运动向量限制的情况下,视频解码器可能能够与参考视图或层图片并行地重构建相依视图或层图片。例如,假定运动向量限制定义:用于相依视图或层图片中的任何块的运动向量的y分量不能在参考视图或层(例如,基本视图或层)中大于Th,其中Th定义y分量限制。换句话说,如果当前块位于相依视图或层图片中的(x,y),那么仅位于参考视图或层图片中的(x,y+Th)处或上方的块可被用以帧间预测当前块。
在此实例中,在视频解码器重构建参考视图或层图片直到y+Th块之后,视频解码器可能能够与参考视图或层图片并行地重构建相依视图或层图片。此情形的原因在于:在参考视图或层图片中的y+Th块之后的任何块皆无法用以帧间预测相依视图或层图片中的具有y分量值“y”的块。在此意义上,运动向量限制可定义并行解码延迟(即,在视频解码器可开始相依视图或层图片的重构建之前必须重构建的参考视图或层图片的行数)。在一些实例中,基于用于重构建参考视图或层图片的滤波类型,视频解码器可能直到在y+Th行之后的若干行中的一些块经重构建之后才能够开始相依视图或层图片的重构建。
然而,使用运动向量限制可能存在问题。例如,在许多状况下,视频编码器可能不传信当前块的实际运动向量的信息(例如,语法元素)。而是,视频编码器可传信视频解码器可导出运动向量所根据的信息(例如,语法元素)。作为一个实例,作为合并/跳过模式或先进运动向量预测(AMVP)模式的部分,视频编码器可传信候选运动向量预测值的列表的索引,而非传信当前块的运动向量的信息。视频解码器可基于所接收的索引从候选运动向量预测值的列表选择运动向量预测值,且基于运动向量预测值导出用于当前块的运动向量。在这些实例中的一些中,在导出运动向量的过程中,视频解码器有可能导出违反运动向量限制的运动向量。
例如,在合并/跳过模式中,视频解码器采用运动向量预测值的运动向量(即,将当前块的运动向量设定为等于运动向量预测值)。可能无法保证在当前块的运动向量被设定等于运动向量预测值的情况下运动向量将遵守当前块的运动向量限制。
作为另一实例,在AMVP模式中,视频解码器接收选定运动向量预测值与从最佳匹配搜索确定的运动向量之间的运动向量差(MVD)。视频解码器将MVD与选定运动向量预测值相加以导出用于当前块的运动向量。然而,在一些实例中,通过将MVD与运动向量预测值相加所得的所导出的运动向量有可能违反运动向量限制。
当使用运动向量限制(例如,在下文更详细描述的时间运动向量预测值(TMVP)中)时可能存在其它这些问题。如下文更详细所描述,当使用运动向量限制时,也可能存在关于指示参考特定参考图片列表的运动向量预测值的所有MVD为零的MVD旗标的问题。
本发明中所描述的技术可确保在位流中的由视频解码器使用以导出运动向量的信息确保所导出的运动向量不会违反运动向量限制。作为一个实例,对于合并/跳过模式,所述技术可确保位流不包含候选运动向量预测值的列表的针对运动向量预测值的索引,所述运动向量预测值如果被采用作为当前块的运动向量,那么将致使所导出的运动向量违反运动向量限制。作为另一实例,对于AMVP模式,所述技术可确保位流包含在与运动向量预测值相加时会致使所得的所导出的运动向量顺应运动向量限制的MVD。
在使用运动向量限制作为并行解码的部分的情况下也可能存在问题或关注事项。一些技术可将并行解码延迟设定为两个宏块行的固定值。然而,一些新近视频译码标准并不依赖于宏块,而是使用树型块或最大译码单元(LCU)或译码树型单元(CTU)的阶层式结构。每一树型块可根据四分树而分裂成译码单元(CU)。例如,树型块(作为四分树的根节点)可分裂成四个子节点,且每一子节点又可为父节点,且分裂成另外四个子节点。最后未分裂的子节点(作为四分树的叶节点)包括译码节点(即,经译码的视频块)。因此,来自使用“宏块”的压缩技术的“行”的概念可能并不十分适用于使用树型块而非宏块的技术。
实际上,可能不存在从宏块行到利用此阶层式结构的视频译码标准中的块行的直接扩展。换句话说,在使用树型块阶层式结构的视频译码技术中可能不存在并行解码延迟两个宏块行的直接方式。
为了克服将运动向量限制固定到数个宏块行的限制,一些技术传信例如以LCU行为单位的运动向量限制。然而,视频解码器仍可需要将LCU行的单位转换成视频解码器可利用以确定何时开始并行解码的值(例如,并行解码延迟)。
作为一个实例,视频解码器可需要基于LCU大小将LCU行转换成视频解码器可利用以确定何时开始并行解码的值。然而,可不存在每一视频解码器可将LCU行转换成视频解码器可利用于并行解码的值的统一方式,从而导致不同视频解码器确定不同量的并行解码延迟。不同视频解码器确定不同量的并行解码延迟可导致解码效率低下,和可能的解码错误。
在一些实例中,本发明中所描述的技术可传信以译码单元大小为单位的并行解码延迟。以此方式,可能存在每一视频解码器可能能够确定并行解码延迟的一致方式。例如,视频解码器可不需要所接收的并行解码延迟信息到可用以确定何时可开始并行解码的值的任何进一步转换。
图1为说明可利用本发明中所描述的技术的实例视频编码和解码系统10的框图。如图1中所示,系统10包含源装置12,源装置12产生将由目的地装置14稍后解码的经编码视频数据。源装置12和目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能型”电话的电话手机、所谓的“智能型”板、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或其类似者。在一些状况下,源装置12和目的地装置14可经配备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包括通信媒体以使源装置12能够实时将经编码视频数据直接传输到目的地装置14。经编码视频数据可根据通信标准(例如,无线通信协议)加以调制且被传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于封包的网络(例如,局域网、广域网或例如因特网的全球网络)的部分。通信媒体可包含路由器、交换器、基站或可有用于促进从源装置12到目的地装置14的通信的任何其它装备。
替代地,经编码数据可从输出接口22输出到存储装置34。类似地,可通过输入接口从存储装置34存取经编码数据。存储装置34可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘机、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另一实例中,存储装置34可对应于文件服务器或可保持由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置34存取所存储视频数据。文件服务器可为能够存储经编码视频数据且将彼经编码视频数据传输到目的地装置14的任何类型的服务器。实例文件服务器包含网页服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘机。目的地装置14可经由包含因特网连接的任何标准数据连接存取经编码视频数据。此情形可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、缆线调制解调器等)或两者的组合。经编码视频数据从存储装置34的传输可为流式传输、下载传输或两者的组合。
本发明的技术不必限于无线应用或设置。技术可适用于支持多种多媒体应用中的任一者的视频译码,所述应用例如空中电视广播、有线电视传输、卫星电视传输、流式传输视频传输(例如,经由因特网)、编码数字视频以用于存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播和/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些状况下,输出接口22可包含调制器/解调制器(调制解调器)和/或传输器。在源装置12中,视频源18可包含例如以下各者的源:视频捕获装置(例如,摄像机)、含有先前捕获的视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口,和/或用于产生计算机图形数据作为源视频的计算机图形系统,或这些源的组合。作为一个实例,如果视频源18为摄像机,那么源装置12和目的装置14可形成所谓的摄影机电话或视频电话。然而,本发明中所描述的技术可大体上适用于视频译码,且可适用于无线和/或有线应用。
可由视频编码器20来编码所捕获、预捕获或计算机产生的视频。经编码视频数据可经由源装置12的输出接口22直接传输到目的地装置14。经编码视频数据也可(或替代地)存储到存储装置34上以供稍后由目的地装置14或其它装置存取以用于解码和/或播放。
目的地装置14包含输入接口28、视频解码器30和显示装置32。在一些状况下,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或在存储装置34上所提供的经编码视频数据可包含由视频编码器20产生以供例如视频解码器30的视频解码器使用以解码视频数据的多种语法元素。这些语法元素可与传输于通信媒体上、存储于存储媒体上或存储于文件服务器上的经编码视频数据包含在一起。在本发明中,位流中的术语“信息”通常用以指位流中的任何信息,包含语法元素。
显示装置32可与目的地装置14集成或在目的地装置14的外部。在一些实例中,目的地装置14可包含集成式显示装置且也经配置以与外部显示装置介接。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可根据视频压缩标准操作,视频压缩标准例如ITU-T H.264标准,替代地被称作MPEG-4第10部分先进视频译码(AVC)或这些标准的扩展。替代地,视频编码器20和视频解码器30可根据例如高效率视频译码(HEVC)标准的其它专有或工业标准操作且可符合HEVC测试模型(HM)。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2和ITU-T H.263。
尽管未在图1中展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当MUX-DEMUX单元或其它硬件和软件以处置共同数据流或独立数据流中的音频和视频两者的编码。如果适用,那么在一些实例中,MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)的其它协议。
视频编码器20和视频解码器30各自可实施为多种合适编码器电路中的任一者,例如,一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。在所述技术部分地以软件实施时,装置可将软件的指令存储于合适的非暂时性计算机可读媒体中且在硬件中使用一或多个处理器执行指令以执行本发明的技术。
视频编码器20和视频解码器30中的每一者可包含于一或多个编码器或解码器中,其中的任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。作为一个实例,装置可包含视频解码器30,且装置的一个实例为集成电路(IC),且装置的另一实例为微处理器。作为另一实例,装置可包含视频解码器30,且装置的一个实例为无线通信装置。视频编码器20可类似地形成于IC、微处理器或无线通信装置中。
存在由ITU-T视频译码专家组(VCEG)和ISO/IEC运动图片专家组(MPEG)的视频译码联合协作组(JCT-VC)开发的新的视频译码标准,即,高效率视频译码(HEVC)。HEVC标准化努力是基于视频译码装置的演进模型,其被称作HEVC测试模型(HM)。HM假设视频译码装置相对于根据(例如)ITU-T H.264/AVC的现有装置的若干额外能力。例如,H.264提供9个帧内预测编码模式,而HM可提供多达33个帧内预测编码模式。
在下文中被称作HEVC WD9的HEVC的新近工作草案(WD)可从http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v13.zip得到。被称作“HEVC工作草案10”或“WD10”的HEVC标准的另一新近草案描述于文件JCTVC-L1003v34,布罗斯(Bross)等人的“高效率视频译码(HEVC)文本规范草案10(针对FDIS和最后通话)(High efficiency video coding(HEVC)text specification draft 10(forFDIS&Last Call))”(ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合协作组(JCT-VC),第12次会议:瑞士日内瓦,2013年1月14日到23日)中,所述文件可从http://phenix.int-evry.fr/jct/doc_end_user/documents/12_Geneva/wg11/JCTVC-L1003-v34.zip下载。HEVC标准的又一草案在本文中被称作“WD10修订版”,其描述于布罗斯等人的“编辑提议的对HEVC版本1的校正(Editors′proposed corrections to HEVC version 1)”(ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合协作组(JCT-VC),第13次会议,韩国仁川,2013年4月)中,所述文件可从http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M0432-v3.zip得到。HEVC WD9、WD10和WD10修订版的内容全文以引用的方式并入本文中。
一般来说,HM的工作模型描述可将视频帧或图片划分成包含亮度和色度样本两者的树型块或最大译码单元(LCU)的序列。树型块可具有与H.264标准的宏块的目的类似的目的。切片包含按译码次序的数个连续树型块。可将视频帧或图片分割成一或多个切片。每一树型块可根据四分树而分裂成译码单元(CU)。例如,树型块(作为四分树的根节点)可分裂成四个子节点,且每一子节点又可为父节点,且分裂成另外四个子节点。作为四分树的叶节点的最后未分裂子节点包括译码节点,即经译码视频块。与经译码的位流相关联的语法数据可定义树型块可分裂的最大次数,且也可定义译码节点的最小大小。
CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小且形状必须为正方形。CU的大小可在从8×8个像素直到最大64×64个像素或更大的树型块的大小的范围内。每一CU可含有一或多个PU和一或多个TU。例如,与CU相关联的语法数据可描述将CU分割成一或多个PU的情形。分割模式可在CU是被跳过还是以直接模式编码、以帧内预测模式编码或以帧间预测模式编码之间而为不同的。PU可经分割以使形状为非正方形。例如,与CU相关联的语法数据也可描述根据四分树将CU分割成一或多个TU的情形。TU的形状可为正方形或非正方形。
HEVC标准允许根据TU的变换,所述变换对于不同CU可为不同的。TU通常基于针对经分割LCU定义的给定CU内的PU的大小而设定大小,但此可不总是为所述状况。TU的大小通常与PU相同或小于PU。在一些实例中,可使用被称作“残余四分树”(RQT)的四分树结构将对应于CU的残余样本再分成较小单元。RQT的叶节点可被称作变换单元(TU)。可变换与TU相关联的像素差值以产生变换系数,变换系数可被量化。
一般来说,PU包含与预测过程有关的数据。例如,在PU经帧内模式编码(帧内预测)时,PU可包含描述用于PU的帧内预测模式的数据。作为另一实例,在PU经帧间模式编码(帧间预测)时,PU可包含定义用于PU的运动向量的数据。例如,定义PU的运动向量的数据可描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量所指向的参考图片,和/或运动向量的参考图片列表(例如,列表0(L0)或列表1(L1))。列表0和列表1可分别被称作RefPicList0和RefPicList1。
一般来说,TU是用于变换过程和量化过程。具有一或多个PU的给定CU也可包含一或多个变换单元(TU)。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括像素差值,像素差值可使用TU变换成变换系数、经量化且扫描以产生串行化变换系数以用于熵译码。本发明通常使用术语“视频块”来指CU的译码节点。在一些特定状况下,本发明也可使用术语“视频块”来指树型块,即LCU,或包含译码节点和PU以及TU的CU。
例如,对于根据当前在开发过程中的高效率视频译码(HEVC)标准的视频译码,视频帧(也被称作图片)可经分割成译码单元(CU)、预测单元(PU)和变换单元(TU)。CU通常指充当基本单元的图像区,各种译码工具被应用于所述基本单元以用于视频压缩。CU通常具有正方形几何形状,且可被视为类似于在其它视频译码标准(例如,ITU-T H.264)下的所谓的“宏块”。
为了达成优选译码效率,CU可取决于其含有的视频数据而具有可变大小。即,CU可经分割或“分裂”成较小块或子CU,其中的每一者也可被称作CU。另外,未分裂成子CU的每一CU可分别出于预测和变换CU的目的而进一步分割成一或多个PU和TU。
PU可被视为类似于在其它视频译码标准(例如,H.264)下的块的所谓的分割区。PU为执行用于块的预测以产生“残余”系数的基础。CU的残余系数表示CU的视频数据与使用CU的一或多个PU确定的用于CU的经预测数据之间的差。具体地说,一或多个PU指定出于预测的目的如何来分割CU,和使用哪一预测模式来预测CU的每一分割区内所含有的视频数据。
CU的一或多个TU指定CU的残余系数块的分割区,基于所述分割区将变换应用于块以产生CU的残余变换系数块。一或多个TU也可与所应用的变换的类型相关联。变换将残余系数从像素或空间域转换到例如频域的变换域。另外,一或多个TU可指定参数,基于所述参数将量化应用于所得残余变换系数块以产生经量化的残余变换系数块。残余变换系数可经量化以可能地减少用以表示系数的数据量。
CU通常包含表示为Y的一个亮度分量和表示为U和V的两个色度分量。换句话说,未进一步分裂成子CU的给定CU可包含Y、U和V分量,所述分量中的每一者可出于预测和变换CU的目的而进一步分割成一或多个PU和TU,如先前所描述。例如,取决于视频采样格式,U和V分量的大小就样本数目来说可与Y分量的大小相同或不同。因此,可针对给定CU的Y、U和V分量中的每一者执行上文参考预测、变换和量化所描述的技术。
为了编码CU,首先基于CU的一或多个PU来导出用于CU的一或多个预测值。预测值为含有用于CU的经预测数据的参考块,且是基于CU的对应PU而导出,如先前所描述。例如,PU指示将被确定经预测数据的CU的分割区,和用以确定经预测数据的预测模式。可经由帧内(I)预测(即,空间预测)或帧间(P或B)预测(即,时间预测)模式导出预测值。因此,一些CU可使用相对于相同帧中的相邻参考块或CU的空间预测来帧内译码(I),而其它CU可相对于其它帧中的参考块或CU来帧间译码(P或B)。
在基于CU的一或多个PU识别出一或多个预测值时,计算对应于一或多个PU的CU的原始视频数据与一或多个预测值中所含有的用于CU的经预测数据之间的差。此差(也被称作预测残余)包括残余系数,且指由一或多个PU指定的CU的部分与一或多个预测值之间的像素差,如先前所描述。残余系数通常排列成对应于CU的一或多个PU的二维(2-D)阵列。
为了达成进一步压缩,通常(例如)使用离散余弦变换(DCT)、整数变换、卡忽南-拉维(K-L)变换或另一变换来变换预测残余。变换将空间域中的预测残余(即,残余系数)转换成变换域(例如,频域)中的残余变换系数,也如先前所描述。变换系数通常也排列成对应于CU的一或多个TU的2-D阵列。为了进一步压缩,残余变换系数可经量化以可能地减少用以表示系数的数据量,也如先前所描述。
为了达成更进一步的压缩,熵译码器随后使用上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)或另一熵译码方法来编码所得残余变换系数。熵译码可通过相对于其它CU减少或去除CU的视频数据中所固有的由系数表示的统计冗余来达成此进一步压缩。
视频序列通常包含一系列视频帧或图片。图片群组(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%。对应于25%分割区的CU的部分由“n”后跟着“上(Up)”、“下(Down)”、“左(Left)”或“右(Right)”的指示来指示。因此,例如,“2N×nU”指经水平地分割的2N×2N CU,其中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和视频解码器30可经配置以实施本发明中所描述的技术。视频编码器20和视频解码器30通常可被称作视频译码器。在本发明的实例中,视频译码器可确定运动向量范围和行/列延迟中的至少一者,且可基于所述确定来帧间预测块。在一些实例中,视频译码器可基于一或多个约束存取不同视图中的图片和不同层中的图片中的至少一者,且可基于所存取的图片来视图间或层间预测块。
例如,上文所描述的技术与HEVC标准有关。本发明可能涉及高效率视频译码(HEVC)标准和其扩展,如有时被称作SHVC的可缩放视频译码(SVC)和有时被称作MV-HEVC和3DV-HEVC的多视图视频译码(MVC,3DV)。然而,本发明中所描述的技术不应被视为限于任何特定标准,且仅出于说明的目的而提供对任何标准或任何扩展的描述。
视频译码标准包含ITU-T H.261、ISO/IEC MPEG-1Visual、ITU-T H.262或ISO/IECMPEG-2Visual、ITU-T H.263、ISO/IEC MPEG-4Visual和ITU-T H.264(也称作ISO/IECMPEG-4AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展。多视图视频译码(MVC)为H.264/AVC的扩展。MVC扩展的新近公开可得到的联合草案描述于“针对一般视听服务的先进视频译码(Advanced video coding for generic audiovisual services)”(ITU-T推荐H.264,2010年3月)中。MVC扩展的更新近的公开可得到的联合草案描述于“针对一般视听服务的先进视频译码(Advanced video coding for generic audiovisualservices)”(ITU-T推荐H.264,2011年6月)中。从2012年1月起已核准MVC扩展的现行联合草案。
在本发明中,片语“多视图视频译码”当被完整写出时泛指存在多个视图的视频译码。缩写字MVC可用以更具体地指H.264/AVC MVC扩展或HEVC的MVC扩展(基于HEVC的MVC或MV-HEVC)。其它多视图视频译码技术描述于HEVC的3DV扩展(基于HEVC的3DV或3DV-HEVC)中。
本发明中所描述的技术适用于多视图视频译码以及可缩放视频译码。例如,最近完成了HEVC标准,且正在对HEVC标准的扩展以及基于HEVC的标准进行讨论。对于多视图视频译码,HEVC标准的扩展包含MV-HEVC(不具有深度的多视图)和3D-HEVC(具有深度的多视图)。又,3DV标准是基于HEVC标准。对于可缩放视频译码,HEVC标准的扩展包含SHVC。本发明中所描述的技术适用于所有这些标准,且通常适用于任何用于视频译码的技术(不管是基于标准还是以其它方式)。
在多视图视频译码中,存在各自包含多个图片的多个不同视图。视图中的一者被称作基本视图,且其它视图被称作相依视图。视频编码器20或视频解码器30可利用基本视图中的图片来帧间预测相依视图中的图片,但视频编码器20或视频解码器30不可利用相依视图中的图片来帧间预测基本视图中的图片。视频编码器20或视频解码器30可利用相依视图中的图片来帧间预测另一相依视图中的图片。换句话说,视频编码器20或视频解码器30不可用另一视图中的图片来帧间预测基本视图中的图片,但可用其它视图(即,基本视图或其它相依视图)中的图片来帧间预测相依视图中的图片。当用另一视图中的图片来帧间预测图片时,另一视图中的图片被称作视图间参考图片。
应理解,视频编码器20或视频解码器30可用基本视图中的另一图片来帧间预测基本视图中的图片,且类似地,视频编码器20或视频解码器30可用相依视图中的另一图片来帧间预测相同相依视图中的图片。在这些状况下,因为用于帧间预测的图片与经帧间预测的图片在相同的视图中,所以用于帧间预测的图片并非视图间参考图片。
在可缩放视频译码中,存在多个层。层中的一者被称作基本层,且其它层被称作增强层。类似于多视图视频译码,视频编码器20或视频解码器30可利用基本层中的图片来帧间预测增强层中的图片,但视频编码器20或视频解码器30不可利用增强层中的图片来帧间预测基本层中的图片。视频编码器20或视频解码器30可利用增强层中的图片来帧间预测另一增强层中的图片,只要经帧间预测的图片处于比用于帧间预测的图片高的层即可。换句话说,可缩放视频译码可被视为阶层式译码方案,其中可用来自较低层的图片帧间预测来自较高层的图片,但来自较低层的图片无法用来自较高层的图片帧间预测。然而,在一些状况下,来自较低层的图片可用来自较高层的图片帧间预测。基本层为最低层,且因此不可将较高层中的图片用以帧间预测基本层中的图片。当用另一层中的图片来帧间预测图片时,另一层中的图片被称作层间参考图片。
类似于多视图视频译码,应理解,视频编码器20或视频解码器30可用基本层中的另一图片来帧间预测基本层中的图片,且类似地,视频编码器20或视频解码器30可用相同增强层中的另一图片来帧间预测增强层中的图片。在这些状况下,因为用于帧间预测的图片与经帧间预测的图片在相同的层中,所以用于帧间预测的图片并非层间参考图片。
图2为说明实例多视图视频译码(MVC)解码次序的图形图。图2说明MVC位流结构。例如,图2中展示典型MVC解码次序(即,位流次序)。解码次序排列被称作时间优先译码。每一存取单元经定义为含有在一个输出时间例项的所有视图的经译码图片。应理解,图2中所说明的解码次序可与输出或显示次序不相同。
在图2中,S0到S7各自指多视图视频的不同视图。T0到T8各自表示一个输出时间例项。存取单元可包含在一个输出时间例项的所有视图的经译码图片。例如,第一存取单元包含在时间例项T0的所有视图S0到S7(即,图片0到7),第二存取单元包含在时间例项T1的所有视图S0到S7(即,图片8到15),等等。
在图2中,视图中的每一者包含图片的集合。例如,视图S0包含图片0、8、16、24、32、40、48、56和64的集合,视图S1包含图片1、9、17、25、33、41、49、57和65的集合,等等。在一些实例中,视图的每一图片包含两个分量:一个分量被称作纹理视图分量,且另一个分量被称作深度视图分量。视图内的纹理视图分量和深度视图分量可被视为对应于彼此。例如,视图的纹理视图分量可被视为对应于视图的深度视图分量,且反之亦然(即,深度视图分量对应于其在集合中的纹理视图分量,且反之亦然)。如本发明中所使用,对应的纹理视图分量和深度视图分量可被视为单一存取单元的同一视图的部分。
纹理视图分量包含经显示的实际图像内容。例如,纹理视图分量可包含亮度(Y)和色度(Cb和Cr)分量。深度视图分量可指示其对应纹理视图分量中的像素的相对深度。作为一个实例,深度视图分量可类似于仅包含亮度值的灰阶图像。换句话说,深度视图分量可不传递任何图像内容,而是提供对纹理视图分量中的像素的相对深度的度量。
例如,深度视图分量中的像素的像素值的范围可在0到255之间(例如,8位值)。在一些实例中,较小像素值可指示根据检视者的观点来说像素较近,且较大像素值可指示根据检视者的观点来说像素离得较远。又,此8位值可映射到灰阶。例如,较小像素值映射到亮像素,其中零值映射到纯白像素,较大像素值映射到暗像素,其中值255映射到黑像素,且中间的像素值映射到不同的灰阶。因此,指示像素的深度的像素值可仅需要亮度分量(例如,映射到灰阶的8位值)。
出于说明的目的而提供仅使用亮度值(例如,强度值)来识别深度的深度视图分量,且其不应被视为限制性的。在一些实例中,可利用任何技术来指示纹理视图分量中的像素的相对深度。
深度视图分量可能并非在每一实例中皆为必要的。例如,在多视图视频译码的一些实例中,不存在深度视图分量。在这些实例中,纹理视图分量和图片可为同义的。
根据多视图视频译码,根据同一视图中的纹理视图分量或根据一或多个不同视图中的纹理视图分量帧间预测纹理视图分量。纹理视图分量可以视频数据块为单位予以译码,所述视频数据块被称作“视频块”且在H.264内容脉络中通常被称作“宏块”。例如HEVC标准的其它视频译码标准可将视频块称作树型块或译码单元(CU)。
尽管图2说明时间优先译码的实例,但在一些实例中,有可能并行编码或解码图片,如关于图4更详细描述。例如,视图S1的第一图片(例如,纹理视图分量和可能的深度视图分量)可用视图S0的第一图片来帧间预测。例如,视图S1的第一图片中的块可使用视图S0的第一图片中的块作为预测值块,其中用于视图S1的第一图片中的块的运动向量参考视图S0的第一图片中的预测值块。在此意义上,出于帧间预测目的,视图S0中的第一图片可为用于视图S1的第一图片的参考图片。
在一些状况下,为了用视图S0的第一图片中的块帧间预测视图S1的第一图片中的块,视频解码器30可在开始重构建视图S1的第一图片之前(即,在解码视图S1的第一图片之前)完全地重构建视图S0的第一图片(即,完全地解码视图S0的第一图片)。在并行解码中,视频解码器30可与解码视图S0的第一图片并行地开始解码视图S1的第一图片。
一般来说,并行解码是基于运动向量限制的概念。运动向量限制指对块的运动向量的x分量或y分量中的至少一者(和可能两者)的限制。作为一个实例,运动向量限制可定义运动向量分量的范围。
参考图片中的在运动向量分量的所定义范围之外的任何块无法被用以帧间预测当前块。作为实例,运动向量限制可定义y分量阈值(Th)。在此实例中,当前图片中的任何块的运动向量的y分量不能大于Th。此情形意味参考图片中的相对于当前图片中的块的垂直距离大于Th的任何块无法被用以帧间预测当前图片中的所述块。
如更详细所描述,本发明中所描述的技术可确保块的所导出的运动向量顺应运动向量限制。例如,视频编码器20可产生包含信息的位流以用于输出,所述信息定义视频解码器30导出当前块的运动向量的方式。所述技术可约束视频编码器20可产生以用于在位流中输出的信息,以使得当视频解码器30基于位流中的信息导出当前块的运动向量时,视频解码器30不会导出违反运动向量限制的运动向量。换句话说,位流受到约束以使得信息确保所导出的运动向量顺应运动向量限制。
此外,如更详细所描述,经产生以用于由视频编码器20输出的位流可包含按可由视频解码器30利用的单位指定并行解码延迟的信息,以用于达成确定何时开始图片的并行解码而不需要进一步转换所接收的值的目的。例如,如果并行解码延迟以行为单位,那么视频解码器30可能不能够确定何时开始图片的并行解码,这是因为HEVC视频译码技术的阶层式结构未必对应于行。如更详细所描述,视频编码器20可传信基于译码单元大小(例如,LCU大小、最小译码单元(SCU)大小)或固定大小来指示并行解码延迟的信息。
图3为说明用于多视图视频译码的结构的概念图。图3说明多视图视频译码结构。例如,图3中展示用于多视图视频译码的典型多视图视频译码预测(包含每一视图内的图片间预测和视图间预测两者)结构,其中预测由箭头指示,箭头指向的对象将箭头源于的对象用于预测参考。在多视图视频译码中,视图间预测由视差运动补偿支持,视差运动补偿使用H.264/AVC运动补偿的语法,但允许将不同视图中的图片用作参考图片。
两个视图的译码也可由多视图视频译码支持,且多视图视频译码的优势中的一者为视频编码器20可将两个以上视图作为3D视频输入,且视频解码器30可解码此多视图表示。因此,具有视频解码器(如视频解码器30)的任何呈现器可预期具有两个以上视图的3D视频内容。
在多视图视频译码中,允许在相同存取单元(即,具有相同时间例项)中的图片之间的视图间预测。当译码在非基本视图中的一者中的图片时,如果图片在不同视图中但在相同时间例项,那么可将所述图片添加到参考图片列表中。视图间预测参考图片可被置于参考图片列表的任何位置中,正如任何帧间预测参考图片一样。当将视图间预测参考图片用于运动补偿时,对应运动向量被称作“视差运动向量”。
在图3中,视图S0可被视为基本视图,且其它视图(S1到S7)可被视为相依视图。例如,视图S0可为基本视图,这是因为在视图S0中没有图片是用另一视图中的图片来视图间预测。然而,视图S0中的图片可用视图S0中的其它图片来帧间预测。其它视图可为相依视图,这是因为在这些其它视图中的至少一个图片经视图间预测。例如,视图S1中的第一图片是用视图S0中的第一图片和视图S2中的第一图片来视图间预测。应理解,相依视图中的一些图片可用相同视图中的其它图片来帧间预测。
例如,术语“帧间预测”指基于参考图片中的块(例如,参考图片中的预测值块)来预测当前图片中的块的状况。当前图片中的块的运动向量参考参考图片中的块。在多视图视频译码中,参考图片可为与当前图片在相同视图中的图片或在另一视图中的图片。如果参考图片在另一视图中,那么参考图片和当前图片在相同存取单元中。例如,如上文所描述,存取单元包含在相同时间例项的不同视图的图片,且可要求另一视图中的参考图片与当前图片在相同的存取单元中。
当参考图片在不同于当前图片的另一视图中时,参考另一视图中的参考图片的运动向量被称作视差运动向量。又,当参考图片在不同于当前图片的另一视图中时,当前图片中的块可被称作经视图间预测。换句话说,在视图间预测中,当前图片中的块是用视差运动向量来视图间预测,所述视差运动向量参考在不同于包含当前图片的视图的视图中的参考图片中的块。
为了执行帧间预测(即,视图间预测或使用相同视图中的图片的帧间预测),视频编码器20和视频解码器30可构建一或两个参考图片列表(被称作RefPicList0和RefPicList1)。视频编码器20和视频解码器30可出于帧间预测目的而利用参考图片列表中所识别的图片。在本发明中所描述的技术中,视图间参考图片(即,在不同于经编码或解码的当前图片的视图的视图中的参考图片)可被插入于参考图片列表内的任何位置。在视频编码器20和视频解码器30构建参考图片列表(即,构建RefPicList0和RefPicList1)之后,参考图片列表的参考索引可识别包含于参考图片列表中的任何参考图片。
例如,对于经双向预测图片(B图片),视频编码器20可传信RefPicList0的索引和RefPicList1的索引,所述索引识别用以编码经双向预测图片的参考图片。视频解码器30可利用索引来确定解码(例如,重构建)当前图片所需要的参考图片(来自RefPicList0的一个参考图片和来自RefPicList1的一个参考图片)。对于单向预测图片(P图片),视频编码器20可传信RefPicList0或RefPicList1中的一者的索引或仅传信RefPicList0的索引(在所述状况下视频解码器30可能不构建RefPicList1),所述索引识别用以编码经单向预测图片的参考图片。视频解码器30可利用索引来确定解码(例如,重构建)当前图片所需要的参考图片。
通常,用于B图片(经双向预测图片)的第一或第二参考图片列表的参考图片列表构建包含两个步骤:参考图片列表初始化,和参考图片列表重新排序(修改)。参考图片列表初始化为基于POC(图片次序计数,与图片的显示次序对准)值的次序将参考图片存储器(也被称作经解码图片缓冲器(DPB))中的参考图片置于列表中的显式机制。参考图片列表重新排序机制可将在参考图片列表初始化期间被置于列表中的图片的位置修改到任何新的位置,或将参考图片存储器中的任何参考图片置于任何位置中,即使所述图片并不属于经初始化列表也然。可将在参考图片列表重新排序(修改)之后的一些图片置于列表中的极远位置中。然而,如果图片的位置超过列表的作用中参考图片的数目,那么所述图片不会被视为最终参考图片列表的输入项。可对于每一列表在切片标头中传信作用中参考图片的数目。
图4为说明两个视图的并行译码过程的实例的流程图。图4说明补充增强信息(SEI)的并行译码(例如,解码)信息。在H.264/AVC的MVC扩展中,存在支持并行解码的SEI消息。对于每一视图分量,当解码一个宏块时,认为在当前视图和参考视图之间存在至少两个宏块(MB)行延迟。对于每一视图和其参考视图中的每一者,在SEI消息中传信以额外MB行为单位的额外延迟。此SEI消息的使用的实例展示于图4中。
图4说明与解码第二视图(视图1)的图片42并行地解码第一视图(视图0)的图片40。在此实例中,图片40为图片42的参考图片(即,图片40的块被用以帧间预测且特定地视图间预测图片42的块)。又,图4说明由处理器P0解码图片40和由处理器P1解码图片42。对处理器P0和P1的参考用以说明经执行以解码图片40和图片42的处理算法。处理器P0和P1可为视频解码器30的部分。换句话说,图4说明并行地解码图片40和42的视频解码器30的实例。
在时间44,视频解码器30开始解码过程,但对于图片42,在视频解码器30开始解码图片42的第一行之前存在延迟。例如,在图4中,并行解码延迟为宏块的两个行。如上文所描述,一些技术可能要求至少两个行的解码延迟。视频编码器20可在SEI消息中将精确的解码延迟传信到视频解码器30。
在时间46,视频解码器30解码图片40的宏块的第一行以重构建图片40的宏块的第一行。在时间48,视频解码器30将图片40的宏块的经重构建第一行存储于视频解码器30的经解码图片缓冲器(DPB)中。在时间50,视频解码器30解码第二行以重构建图片40的宏块的第二行。在时间52,视频解码器30将图片40的宏块的经重构建第二行存储于视频解码器30的DPB中。又,在时间52,视频解码器30确定图片42的并行解码可以开始。例如,第一处理算法(处理器P0)通知第二处理算法(处理器P1):图片42的并行解码可以开始(例如,通过将控制信号“通知视图-1”发送到处理器P1)。
在时间54,视频解码器30解码图片40的第三行以重构建图片40的第三行,且并行(例如,同时)地解码图片42的第一行以重构建图片42的第一行。在时间56,视频解码器30将图片40的经重构建第三行存储于DPB中。尽管未说明,视频解码器30也可将图片42的经重构建第一行存储于DPB中。
又,在时间56,处理器P0通知处理器P1:图片42之下一行的解码可以开始。在时间58,视频解码器30解码图片40的第四行以重构建图片40的第四行,且并行(例如,同时)地解码图片42的第二行以重构建图片42的第二行。视频解码器30重复这些步骤以重构建图片40和图片42。以此方式,视频解码器30可实施来自不同视图的两个图片的并行解码,其中来自一视图的一个图片(例如,视图0的图片40)为来自另一视图的另一图片(例如,视图1的图片42)的参考图片。
在一些实例中,运动向量限制促进并行解码。在图4中所说明的实例中,可限制图片42中的块的运动向量以使得图片42中的块的运动向量的y分量不能大于一个行的距离。作为一个实例,在图4中,视频解码器30开始与解码图片40的第三行并行地解码图片42的第一行(即,视频解码器30在解码图片42的第一行之前必须等待直到重构建了图片40的两个行)。在此实例中,如果图片42的第一行中的块的运动向量参考在图片40的第二行之后的块,那么可能存在解码错误,这是因为视频解码器30可能尚未解码图片40的那个行。在具有运动向量限制的情况下,视频编码器20可不将图片42中的y分量大于一个行的距离的块的运动向量值传信到视频解码器30。
在图4中所说明的实例中,运动向量限制可为对于图片42的运动向量的y分量的一个行。以此方式,在视频解码器30重构建图片40的第二行之后,视频解码器30可能能够开始解码图片42,这是因为图片42中的块将不参考参考图片中的距所述块的垂直距离达一个以上行的任何块。因此,运动向量限制可被视为指示并行解码延迟。如下文更详细所描述,在一些实例中,基于由视频解码器30执行的滤波,视频解码器30可需要在开始重构建当前图片(例如,图片42)之前重构建参考图片(例如,图片40)的额外行。
在图4的上文实例中,视频编码器20和视频解码器30可根据H.264/AVC的MVC扩展而起作用。然而,当将与运动向量限制和并行解码延迟有关的技术扩展到基于HEVC的视频译码技术时,可能存在某些问题。例如,当参考图片在不同视图中时,实施运动向量限制可能存在某些问题,且可能存在关于利用用于通过HEVC译码结构指示并行解码延迟的技术的某些问题。此外,尽管针对多视图视频译码描述上文实例,但本发明中所描述的技术也可扩展到可缩放视频译码,包含HEVC的可缩放扩展(例如,SHVC)。
在可缩放视频译码(SVC)中,可能存在多个层。在最底层级的层可能只是充当基本层(BL),且在最顶层级的层只是作为增强层(EL)。中间的所有层可充当EL和BL两者。例如,中间的层可为在其下方的层的EL,且同时作为在其上方的层的BL。出于描述的简单起见,本发明假定在说明当前技术的过程中存在两个层,BL和EL。应注意,本发明中所描述的技术也适用于具有多个层的状况。
例如,上文实例描述视图间预测的概念,其中来自相依视图的图片的当前块是用另一视图(例如,基本视图)中的参考图片来帧间预测。在一些实例中,在层间预测中,来自增强层的图片的当前块是用另一层(例如,基本层)中的参考图片来帧间预测。在本发明中所描述的技术中,运动向量限制和并行解码也可用于可缩放视频译码技术。例如,可能存在对于参考层间图片(例如,基本层图片)的增强层图片的块的运动向量限制。又,有可能并行解码两个层,其中一个层出于帧间预测目的(例如,层间预测目的)而使用另一层,其方式类似于上文关于图4所描述的方式。
如上文所描述,对于多视图视频译码,正在对于不同的基于HEVC的多视图视频译码扩展进行讨论。一个实例为HEVC的3DV扩展且另一实例为HEVC的MV扩展。例如,MPEG正开发基于HEVC的3DV和MV标准,其中标准化努力的部分也包含基于HEVC的多视图视频编码解码器的标准化。在基于HEVC的3DV和MV中,启用了基于来自不同视图的经重构建视图分量的视图间预测。
基于HEVC的3DV与基于HEVC的MV之间的差异中的一者为仅高阶语法(仅HLS)要求。例如,在AVC中,以扩展实际上实现“仅HLS”要求的方式来进行多视图扩展。“仅HLS”要求保证在多视图视频译码(MVC)中仅存在高阶语法(HLS)改变,以使得无需重新设计AVC中的在宏块层级的模块,且所述模块可被完全重新用于MVC。
将此仅HLS要求扩展到MV-HEVC,而非3DV-HEVC。例如,MV-HEVC标准的一个要求可为MV-HEVC相对于HEVC标准实现仅HLS要求。3DV-HEVC标准可能不要求仅HLS改变。尽管3DV-HEVC不要求仅HLS改变,但如果关于HEVC标准作出仅HLS改变,那么结果仍可顺应3DV-HEVC。换句话说,如果多回路解码被视为可接受的,那么有可能可针对HEVC的MVC/3DV扩展且也针对HEVC的可缩放视频译码(SVC)扩展(SHVC)实现“仅HLS”要求。
为了实现视图间预测,最小的改变和潜在地(尽管不一定)HLS改变是出于以下的图片识别目的,其中参考图片列表构建和标记需要能够识别特定视图中的图片。例如,对于多视图视频译码,参考图片列表(RefPicList0和RefPicList1)中的一者或两者可包含视图间图片(即,不与正被编码或解码的图片在相同的视图中的图片)或层间图片(即,不与正被编码或解码的图片在相同的层中的图片)。
如果HLS改变不足以在H.264/MVC中实现“仅HLS”要求,那么作出其它约束、假设,以使得低层级译码模块绝不可会遇到需要实施HEVC的低层级译码模块未被配置用于的功能(例如,处置零运动相关缩放)的情形。这些约束、修改和假设为:(1)在同置图片为(仅)视图间参考图片的情况下停用时间直接模式,(2)将(仅)视图间参考图片视为不是短期的:与空间直接相关,且停用隐含加权预测。
仅HLS HEVC扩展的一个实例为MV-HEVC,且MV-HEVC的最新工作草案为G.泰克、K.韦格纳、Y.陈、M.汉努克塞拉的JCT3V-B1004,“MV-HEVC草案文本2(MV-HEVC Draft Text2)”,其在http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/2_Shanghai/wg11/JCT3V-B1004-v1.zip处可得到,所述草案的全部内容以引用的方式并入本文中。
本发明也涉及中上(Nakagami)等人的题为“MV-HEVC:用于HEVC简单3D扩展的视图间向量的垂直长度限制(MV-HEVC:Vertical length restriction of inter-view vectorfor HEVC simple 3D extension)”且可从http://phenix.it-sudparis.eu/jct2/doc_end_user/current_document.php?id=225得到的JCT3V-B0037,其全部内容以引用的方式并入。在JCT3V-B0037中,建议将MV-HEVC中的运动向量指向在垂直方向上限制到基本视图参考帧,以放宽存储器频宽要求且使得解码器更具并行友好性。建议此限制由在SPS中传信的旗标来指示。
尽管上文关于并行解码描述运动向量限制,但运动向量限制可出于其它额外独立的原因而为有用的。换句话说,在一些实例中,即使视频解码器30未经配置以实施并行解码,运动向量限制仍可为有用的或合乎需要的。
作为一个实例,运动向量限制可用于存储器频宽减少(例如,减少存储器存取和/或需存取的数据量)。例如,在具有运动向量限制的情况下,视频编码器20或视频解码器30为了编码或解码当前图片而需要从参考图片存取的数据量可减少。可基于针对每一经预测的像素从参考图片存取的像素的数目来估计存储器频宽。例如,存储器频宽随着在参考图片中存取的像素的数目的减少而降低。在许多使用状况中,存储器频宽可被视为瓶颈,且在最差的状况下存储器频宽减少可被视为优势。例如,技术可相对于其它技术简化、减少或消除存储器存取。
例如,当参考另一视图中的图片的运动向量的垂直分量受到约束时,可减小存取参考视图图片的像素所需要的存储器频宽。作为一个实例,如果将垂直分量(即,运动向量的y分量)限制为较小值,那么可能不需要出于内插目的存取在垂直方向上在块之外的任何像素。
例如,块的运动向量可不参考参考图片中的整数像素,而是改为参考次整数像素(被称作像元(pel))。视频编码器20和视频解码器30通过内插参考图片中的相邻整数像素的像素值而产生这些次整数像素或像元。例如,视频编码器20和视频解码器30从DPB存取参考图片的像素值,包含延伸到由运动向量所参考的块之外的像素的像素值,以用于内插次整数像素。在具有运动向量限制的情况下,视频编码器20和视频解码器30可能不需要为了内插而存取驻留于运动向量受限制于的区域之外的像素的像素值,此减少视频编码器20和视频解码器30需要从相应DPB检索的数据量,且由此促进存储器频宽减少。
然而,为了确保运动向量不违反运动向量限制,可需要考虑额外方面。例如,视频编码器20可不传信块的运动向量的x分量和y分量(视频解码器30使用所述分量确定块的运动向量)。而是,视频编码器20可传信由视频解码器30用以导出运动向量的信息。
例如,作为合并/跳过模式和先进运动向量预测(AMVP)模式的部分,视频解码器30可基于运动向量预测值导出当前块的运动向量。在合并/跳过模式和AMVP模式中,视频编码器20可不传信当前块的运动向量,而是可改为传信候选运动向量预测值的列表的索引。视频解码器30可自由候选运动向量预测值的列表的索引识别的运动向量预测值导出当前块的运动向量。
例如,在合并/跳过模式和AMVP模式中,视频编码器20和视频解码器30各自构建候选运动向量预测值的列表。视频编码器20和视频解码器30可实施实质上类似技术以构建候选运动向量预测值的相应列表,以使得列表中所识别的候选运动向量预测值对于视频编码器20和视频解码器30两者来说为相同的。
在合并/跳过模式和AMVP模式中,视频编码器20和视频解码器30基于相邻块的运动信息构建候选运动向量预测值的列表。相邻块的实例包含空间相邻块和时间相邻块。空间相邻块指与当前块相邻且与当前块在相同的图片中的块。时间相邻块指与当前块相邻但在另一图片中的块。可为当前块的运动向量预测值的空间相邻块的运动向量被称作空间运动向量预测值(SMVP)。可为当前块的运动向量预测值的时间相邻块的运动向量被称作时间运动向量预测值(TMVP)。
对于合并/跳过模式或AMVP模式两者,视频编码器20传信候选运动向量预测值的列表的索引,视频解码器30接收所述索引。视频解码器30接着从所传信的候选运动向量预测值的列表的索引识别运动信息(例如,参考图片和一或多个运动向量),且基于所识别的运动信息确定当前块的运动向量。
例如,在合并/跳过模式中,视频解码器30接收候选运动向量预测值的列表的索引,且基于所传信的索引识别存储于候选运动向量预测值的列表中的运动信息。视频解码器30从所识别的运动信息确定参考图片列表、参考索引和运动向量。视频解码器30接着采用从所识别的运动信息确定的参考图片列表、参考索引和运动向量作为当前块的运动信息。换句话说,当前块继承由候选运动向量预测值的列表的索引所识别的块的运动信息。以此方式,视频解码器30基于运动向量预测值导出当前块的运动向量(例如,视频解码器30将当前块的运动向量设定为等于运动向量预测值)。
在一些实例中,在合并/跳过模式中,如果由候选运动向量预测值的列表的索引识别的块指时间相邻块,那么视频解码器30可不采用与此运动向量候选者相关联的运动信息。视频解码器30可利用任何已知技术或待开发的任何技术来确定参考图片列表的参考索引(例如,选择参考图片列表的一者或两者的索引零)。在本发明中,可能存在对参考图片列表的某些约束,例如当时间相邻块的运动向量被用作运动向量预测值时,默认索引(例如,索引零)被用作参考图片列表的参考索引。
以此方式,视频解码器30可在合并/跳过模式中确定用于当前块的运动信息。在合并模式中,视频解码器30也可接收当前块与由所确定的运动信息参考的块之间的残余数据,且视频解码器30可利用残余数据以确定当前块的像素值。在跳过模式中,视频解码器30可不接收当前块与由所确定的运动信息参考的块之间的残余数据。在此实例中,视频解码器30可假定残余数据为零(即,设定当前块的像素值等于由所确定的运动信息参考的块的像素值)。
AMVP模式可类似于合并/跳过模式;然而,除了接收候选运动向量预测值的列表的索引之外,视频解码器30也可接收来自视频编码器20的用于参考图片列表的参考索引值和运动向量差。运动向量差(MVD)可为由候选运动向量预测值的列表的索引所识别的块的运动向量与另一运动向量(例如,由视频编码器20基于最佳匹配搜索找到的运动向量)之间的运动向量差。
例如,视频解码器30可确定由候选运动向量预测值的列表的索引所识别的块的运动向量。视频解码器30可将由候选运动向量预测值的列表的索引所识别的块的运动向量的值与所传信的运动向量差相加或相减以确定当前块的运动向量。另外,视频解码器30可基于指示参考图片列表的所传信的信息和彼参考图片列表的所传信索引确定所确定的运动向量参考的参考图片。以此方式,视频解码器30可在AMVP模式中确定当前块的运动信息。
如上文所描述,对于合并/跳过模式和AMVP模式,视频编码器20和视频解码器30构建候选运动向量预测值的列表。下文描述用以构建候选运动向量预测值的列表的实例方式。在一些实例中,如果时间相邻块的运动信息将被包含于候选运动向量预测值的列表中,那么视频编码器20和视频解码器30可基于图片次序计数(POC)值缩放时间相邻块的运动向量信息。
下文提供关于视频编码器20和视频解码器30可确定将哪些时间运动向量预测值包含于候选运动向量预测值的列表中的方式的一些描述。为了得到时间运动向量预测值(TMVP),视频编码器20和视频解码器30可首先识别同置图片。如果当前图片为B切片(例如,经双向预测的切片),那么视频编码器20可在切片标头中传信collocated_from_10_flag,以指示同置图片来自于哪一参考图片列表(例如,同置图片来自RefPicList0还是RefPicList1)。视频解码器30可基于在切片标头中传信的collocated_from_10_flag确定同置图片系来自哪一参考图片。
在识别参考图片列表之后,视频编码器20可在切片标头中传信collocated_ref_idx语法元素以识别在所识别的参考图片列表中的图片。collocated_ref_idx语法元素为视频编码器20可在位流中传信的信息的一个实例。视频解码器30可基于collocated_ref_idx语法元素识别在所识别的参考图片列表中的图片,其中collocated_ref_idx语法元素为视频解码器30所接收的位流中的信息的一个实例。
视频编码器20和视频解码器30可通过检查同置图片来识别同置预测单元(PU)。同置PU可为同置区的右下PU(例如,BR块)抑或所谓的‘中心3’或CR块(即,同置区的中心的右下PU)。
假设亮度位置(xP,yP)指定相对于当前图片的左上亮度样本的当前亮度预测块的左上样本,且变量nPbW和nPbH分别指定亮度预测块的宽度和高度,BR块和中心3或CR块可被定义如下:
-同置区的右下PU:
xPRb=xP+nPbW
yPRb=yP+nPbH
-如果(yP>>Log2CtbSizeY)等于(yPRb>>Log2CtbSizeY),且xPRb小于pic_width_in_luma_samples,那么以下情况适用。
-同置PU指定亮度预测块涵盖在由colPic指定的同置图片内的由((xPRb>>4)<<4,(yPRb>>4)<<4)给定的经修改位置。
-中心3:
xPCtr=xP+(nPbW>>1)
yPCtr=yP+(nPbH>>1)
-变量同置PU指定亮度预测块涵盖在colPic内的由((xPCtr>>4)<<4,(yPCtr>>4)<<4)给定的经修改位置。
在一些实例中,当视频编码器20和视频解码器30通过以上过程识别运动向量以产生用于AMVP或合并/跳过模式的运动候选者时,视频编码器20和视频解码器30可基于时间位置(由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时,在解码特定图片或按解码次序在特定图片之后的图片的过程中,不将来自按解码次序在彼特定图片之前的图片的运动向量用作时间运动向量预测值。
当使用运动向量限制时,可能存在关于确保在合并/跳过模式抑或AMVP模式中使用运动向量预测值所导出的运动向量顺应运动向量限制的某些问题。例如,有可能在合并/跳过模式中,如果当前块的运动向量被设定为等于运动向量预测值,那么当前块的运动向量违反运动向量限制。作为另一实例,有可能在AMVP模式中,如果将运动向量预测值与运动向量差相加或相减,那么所得的所导出的运动向量违反运动向量限制。可能存在关于使用运动向量限制的其它问题,其在下文更详细地予以描述。
此外,当并行解码技术扩展到基于HEVC的多视图视频译码技术时,可能存在某些问题。例如,如上文所描述,对于H.264/AVC的MVC扩展,视频编码器20在SEI消息中传信并行解码延迟信息,且并行解码延迟为至少两个行。然而,归因于基于HEVC的技术的译码单元的阶层式结构,不存在从宏块行到MV-HEVC、3DV-HEVC或SHVC中的块行的直接扩展。
又,在JCT3V-B0037中所描述的技术中,视频编码器可传信垂直视差运动向量范围(即,用于y分量的运动向量限制)。然而,视频解码器可能不能直接确定按LCU行的延迟。作为一个实例,视频解码器可需要基于LCU大小计算LCU行延迟。换句话说,LCU行的值可能并非可由视频解码器30用以确定何时开始并行解码使用视图间或层间图片作为参考图片的图片的值,且为了使视频解码器30确定何时开始并行解码图片,可能需要将LCU行的值额外地转换成基于LCU大小的值。然而,在依据LCU行传信运动向量限制的实例中,可能不存在确定何时并行解码图片的统一方式。因此,不同视频解码器可在不同时间开始并行解码,从而可能造成解码错误。
下文描述根据本发明的技术。例如,针对合并/跳过模式和AMVP模式提出了各种技术以解决上文所提及的难题和相关问题(例如,导出违反运动向量限制的运动向量)。本发明也描述用于增强并行解码的技术,其解决了依赖于LCU行来确定何时开始并行解码的上文所描述的限制。
明确地说,本发明首先描述当利用运动向量限制时与存储器频宽减少有关的技术。本发明接着描述与支持并行解码有关的技术。应理解,当利用运动向量限制时在本发明中针对存储器频宽减少所描述的技术可独立于在本发明中针对并行解码所描述的技术。换句话说,即使视频解码器30未经配置以用于并行解码,视频解码器30仍可利用本发明中所描述的存储器频宽减少技术,且反之亦然。
如上文所描述,运动向量限制的一个潜在益处为存储器频宽减少。例如,运动向量限制的益处可在参考图片(即,块被用以帧间预测当前图片的块的图片)为视图间参考图片或层间参考图片的实例中实现;然而,本发明中所描述的技术不限于此。例如,运动向量限制会限制运动向量的范围以参考视图间或层间参考图片的子部分(例如,小于全部图片的部分)。当垂直视差运动向量受到约束时,可减少存取图片的像素所需要的存储器频宽。换句话说,如果参考另一视图中的图片(即,参考视图间参考图片)的运动向量的y分量范围受到限制,那么可减少需要从存储视图间参考图片的DPB检索的数据量。例如,如果垂直分量范围被限制到相对较小的值,那么视频编码器20和视频解码器30可能不需要出于内插目的而存取存储于由运动向量参考的块外的DPB中的视图间参考图片的像素的像素值。在使用层间参考图片而非视图间参考图片的情况下,相同的情形也可成立。
出于描述的容易起见,在本发明中所描述的用于具有运动向量限制的存储器频宽减少的技术是关于参考图片为视图间或层间参考图片的实例加以描述。此外,在一些实例中,对于基于HEVC的可缩放视频译码(SHVC),参考层间参考图片的运动向量的一或两个分量(水平和垂直)可能总是被限制为零。在一些实例中,对于基于HEVC的多视图视频译码(MV-HEVC或3DV-HEVC),对于参考视图间参考图片的运动向量的运动向量限制可为可选择的,且对于参考视图间参考图片的运动向量的限制范围可为可选择的。
如上文所描述,将运动向量限制用于视图间或层间参考图片的问题中的一者在于:从运动向量预测值所导出的运动向量可违反运动向量限制。根据本发明中所描述的技术,视频编码器20产生以用于输出且视频解码器30所接收的位流(即,经由链路16或经由存储装置34)可受到约束,以使得当前块的所导出的运动向量不会违反运动向量限制。换句话说,位流受到约束,以使得信息确保所导出的运动向量顺应运动向量限制。
例如,在本发明中所描述的技术中,位流将不包含将被用于由视频解码器30通过层间或视图间参考图片进行的运动补偿的会致使运动向量不满足运动向量限制的运动向量或用以形成(即,导出)运动向量的其它语法。换句话说,位流包含用于从运动向量预测值导出当前块的运动向量的信息,其中运动向量参考视图间或层间参考图片,且其中运动向量限制会限制运动向量的范围以参考视图间或层间参考图片的子部分。例如,如果对于由视频解码器30进行的运动补偿,运动向量分量(即,水平分量或x分量和/或垂直分量或y分量)中的一者或两者被限制为零,那么位流不可包含会致使运动向量的水平和/或垂直分量为非零的运动向量或用于导出运动向量的语法。
在此实例中,运动向量的范围被限制为零,意味所导出的运动向量必须具有零值以顺应运动向量限制。例如,运动向量限制会限制运动向量以参考视图间或层间参考图片的子部分,且在此实例中,视图间或层间参考图片的子部分为被称作零运动向量的子部分。换句话说,运动向量限制会限制运动向量以仅参考位于与当前块位于当前图片中的位置相同的在视图间或层间参考图片中的位置的块。
视频解码器30可在合并/跳过模式或AMVP模式中从运动向量预测值导出运动向量。在本发明中所描述的技术中,当参考图片为视图间或层间参考图片时,位流不可包含致使视频解码器30从运动向量预测值导出运动向量以到于所导出的运动向量违反合并/跳过模式或AMVP模式中的运动向量限制的信息(例如,语法元素)。
例如,在合并/跳过模式中,视频编码器20在经产生以用于输出的位流中包含候选运动向量预测值的列表的合并索引,且视频解码器30从位流接收所述索引,以识别将用于运动补偿的合并候选者。通过候选运动向量预测值的列表的索引,视频解码器30可确定运动信息,包含参考图片列表、参考图片列表的索引和运动向量。
在合并/跳过模式中,视频解码器30采用选定运动向量预测值的运动信息(即,设定运动向量等于运动向量预测值以导出运动向量)。在此实例中,视频编码器20可确定候选运动向量预测值的列表的索引是否识别视图间或层间参考图片的参考图片列表的索引。如果候选运动向量预测值的列表的索引识别参考视图间或层间参考图片的运动信息,那么视频编码器20可确定由候选运动向量预测值(即,运动向量预测值)的列表的索引所识别的运动向量违反运动向量限制抑或顺应运动向量限制。如果视频编码器20确定运动向量预测值违反运动向量限制,那么视频编码器20可避免包含(即,不包含)将致使视频解码器30选择将导致违反运动向量限制的所导出的运动向量的运动向量预测值的候选运动向量预测值的列表的索引。
以此方式,对于合并/跳过模式,视频解码器30接收且视频编码器20产生以用于输出的位流可不包含致使视频解码器30导出违反运动向量限制的当前块的运动向量的信息。运动向量限制可针对运动向量参考视图间或层间参考图片的情况。例如,由候选运动向量预测值的列表的索引所识别的运动信息的运动向量必须满足合并模式中的限制。作为一个实例,限制可为水平和垂直分量两者为零,例如,在SHVC中。
换句话说,视频编码器20可确定候选运动向量预测值的列表的索引,所述索引识别用以导出运动向量的运动向量预测值,所述运动向量的值顺应运动向量限制。这是因为视频解码器30将设定运动向量等于运动向量预测值以导出运动向量。因此,要求值被运动向量采用的运动向量预测值顺应运动向量限制。视频编码器20可产生候选运动向量预测值的列表的索引以用于输出,且视频解码器30所接收的位流中的信息包含候选运动向量预测值的列表的索引。
如上文所描述,AMVP可稍稍不同于合并/跳过模式。例如,类似于合并/跳过模式,视频编码器20可传信候选运动向量预测值的列表的索引,视频解码器30从所述列表选择运动向量预测值。不同于合并/跳过模式,在AMVP模式中,视频解码器30不采用运动向量预测值作为当前块的运动向量。而是,视频编码器20也在位流中传信运动向量差,且视频解码器30将运动向量预测值与运动向量差相加或相减以导出当前块的运动向量。又,不同于合并/跳过模式,在AMVP模式中,视频解码器30不采用运动向量预测值的参考图片列表和参考图片列表索引作为参考图片列表和参考图片列表索引。取而代之,视频编码器20传信识别参考图片列表和识别参考图片列表的索引的信息。视频解码器30从此信息确定当前块的运动信息。
在AMVP模式中,视频编码器20可确定视频编码器20将传信的由视频编码器20所识别的参考图片列表的参考图片列表索引是否识别视图间或层间参考图片。如果参考图片列表索引识别视图间或层间参考图片,那么视频编码器20可传信运动向量差,以使得当将运动向量差与运动向量预测值相加或相减时,所导出的运动向量遵守运动向量限制。
换句话说,视频编码器20可确定识别用以导出运动向量的运动向量预测值的候选运动向量预测值的列表的索引,且可确定运动向量差,以使得当将运动向量差与运动向量预测值相加时,所得运动向量顺应运动向量限制。
视频编码器20可产生候选运动向量预测值的列表的索引以用于输出,且视频解码器30所接收的位流中的信息包含候选运动向量预测值的列表的索引。视频编码器20也可产生运动向量差以用于输出,且视频解码器30所接收的位流中的信息包含运动向量差。
视频解码器30可从所接收的位流确定识别用以导出运动向量的运动向量预测值的候选运动向量预测值的列表的索引,且可从所接收的位流确定运动向量差,运动向量差的值使得当将运动向量差与运动向量预测值相加时,所得运动向量顺应运动向量限制。视频解码器30可通过将运动向量预测值与运动向量差相加而导出运动向量。
再次,在AMVP模式中,候选运动向量预测值的列表的索引被用以选择运动向量预测值,且也传信识别参考图片列表的信息和识别参考图片列表的参考图片列表索引的信息以选择参考图片。在本发明中所描述的技术中,视频编码器20可确定选定参考图片是否为视图间或层间参考图片。如果选定参考图片为视图间或层间参考图片,那么视频编码器20可确定运动向量差,所述运动向量差当与经由候选运动向量预测值的列表的索引来选择的运动向量预测值相加或相减时,致使视频解码器30导出顺应运动向量限制的运动向量。
作为实例,假定运动向量限制要求块的参考层间参考图片的运动向量为零(即,x分量和y分量两者为零)。又,假定视频编码器20确定候选运动向量预测值的列表的索引,且视频解码器30从候选运动向量预测值的列表的索引识别运动向量预测值(MVP)。在此实例中,在AMVP模式中,视频编码器20可传信运动向量差(MVD),以使得当将MVD与MVP相加时,所得运动向量等于零(即,MVD的x分量为MVP的x分量的负数,且MVD的y分量为MVP的y分量的负数)。
以此方式,对于AMVP,视频解码器30接收的位流和视频编码器20产生以用于输出的位流可不包含致使视频解码器30导出违反运动向量限制的当前块的运动向量的信息。运动向量限制可用于运动向量参考视图间或层间参考图片的情况。例如,运动向量差可补偿运动向量预测值以使得所导出的运动向量顺应运动向量限制。换句话说,在本发明中所描述的技术中,一起不满足运动向量限制的MVP和MVD不应存在于位流中,其中在位流中的候选运动向量预测值的列表的索引识别MVP,且其中MVD包含于位流中。
当在合并/跳过模式和AMVP的情况下使用运动向量限制时,可能存在需要解决的某些特殊状况。在合并/跳过模式的情况下,可能需要关于TMVP的进一步约束,且在AMVP的情况下,可能需要关于包含于位流中的旗标的进一步约束。每一者被依次更详细地描述。
如上文所描述,视频编码器20和视频解码器30基于包含空间和时间相邻块的相邻块的运动信息构建候选运动向量预测值的列表。时间相邻块的运动向量被称作时间运动向量预测值(TMVP)。对于来自空间相邻块的运动向量预测值(即,SMVP),保证SMVP所参考的参考图片在图片的参考图片列表中被识别,这是因为空间相邻块与当前块在相同的图片中。又,如果空间相邻块的运动向量参考视图间或层间参考图片,那么保证空间相邻块的运动向量满足运动向量限制。
然而,对于时间相邻块的运动向量,可能无法保证运动向量参考当前图片的参考图片列表中的一者中的参考图片。此外,时间相邻块的运动向量可违反运动向量限制。
在AMVP模式中,传信参考图片列表和参考索引,因此即使在选择TMVP的情况下,所导出的运动向量仍将参考当前图片的参考图片列表中可用的图片。又,在AMVP模式中,如果TMVP违反运动向量限制,那么运动向量差可补偿TMVP以使得所导出的运动向量顺应运动向量限制。
在合并/跳过模式中,可能不存在此控制(例如,如果TMVP违反运动向量限制,那么无法补偿TMVP)。因此,在合并/跳过模式中,选择TMVP(例如,时间合并候选者)可导致在运动向量范围之外的运动向量(即,视差运动向量或参考另一层的运动向量违反运动向量限制),这是因为时间相邻块(即,同置块)可包含指向长期参考图片的运动向量,长期参考图片不为视图间或层间参考图片。
例如,在合并/跳过模式中,如果选择TMVP,那么视频编码器20和视频解码器30可需要确定参考图片列表和参考图片列表索引。在合并/跳过模式中,视频编码器20和视频解码器30可利用默认参考图片列表和默认索引(例如,HEVC中的索引0),而非使用TMVP的参考图片列表和参考图片列表索引。用于TMVP的默认索引可被称作TMVP参考索引,这是因为默认索引不一定需要限于索引0。
确保TMVP符合运动向量限制的一个技术为使视频编码器20和视频解码器30实施运动向量截割,以使得运动向量在运动向量范围内。然而,此TMVP截割将要求在上文所描述的仅高阶语法(仅HLS)改变下不允许的在图片的块层级的视频译码改变。换句话说,TMVP截割可对于3DV-HEVC良好地起作用,但对于MV-HEVC或SHVC不起作用。
为了避免块层级改变且顺应仅HLS要求,可能存在对参考图片列表和/或哪些图片可用于帧间预测的额外约束,以使得TMVP不会造成违反运动向量限制。作为一个实例,视频编码器20和视频解码器30可不使用并非使用视图间预测的任何视图(即,任何图片)的视图间参考图片的正常时间长期参考图片。对于通过任何层的层间参考图片而使用层间预测的任何图片,相同的情形可成立。作为另一实例,视频编码器20和视频解码器30在TMVP期间用作另一图片的同置图片(例如,时间图片)的任何图片在其参考图片列表中的任一者中无法具有长期参考(时间)图片。
作为另一实例,视频编码器20和视频解码器30可不在参考图片列表中包含参考索引等于TMVP参考索引的视图间或层间参考图片(例如,来自基本视图或基本层的参考图片)。例如,如上文所描述,用于TMVP的默认参考索引在HEVC中为零(即,在参考图片列表中的第一输入项)。在一些实例中,视频编码器20和视频解码器30可不在参考图片列表的零参考索引处包含视图间或层间参考图片。
作为又一实例,视频编码器20和视频解码器30可避免在候选运动向量预测值的列表中包含TMVP。例如,如果运动向量限制适用且参考图片列表的TMVP参考索引(例如,在HEVC中的零索引)识别视图间或层间参考图片(例如,在基本视图中或在基本层中的图片),那么视频编码器20和视频解码器30可停用TMVP。
仅出于说明的目的而提供用于解决合并/跳过模式下的TMVP的上文技术。这些技术可与另一技术结合使用,或单独地使用。
在AMVP模式的情况下,可能存在关于运动向量差(MVD)控制的额外约束。如上文所描述,视频编码器20传信且视频解码器30接收在运动向量(例如,使用最佳匹配搜索找到的运动向量)与运动向量预测值(MVP)之间的运动向量差(MVD)。HEVC标准使用mvd_l1_zero_flag语法元素,其指示在RefPicList1中所识别的图片的MVD未被传信且经推断为零。换句话说,如果mvd_l1_zero_flag为真(例如,数字1),那么视频解码器30确定在参考图片在RefPicList1中的情况下,MVD为零。在此状况下,所导出的运动向量等于MVP,这是因为MVD经推断为零。
然而,如果启用运动向量限制,那么可能需要使用MVD补偿MVP的违反运动向量限制的分量。例如,如果垂直MV分量将被限制,那么视频解码器30应能够用MVD补偿MVP的可能大的垂直分量,使得在垂直方向上的最后所导出的运动向量满足运动向量限制。因此,在一些实例中,当启用运动向量限制且在具有运动向量限制的情况下可能不启用mvd_l1_zero_flag时,视频编码器20可总是传信MVD。
因此,在一些实例中,可能需要对mvd_l1_zero_flag的额外约束。例如,对于使用视图间预测的任何视图分量(例如,纹理视图分量或深度视图分量),mvd_l1_zero旗标可受到约束而总是等于0。作为另一实例,如果启用运动向量限制,那么视频编码器20和视频解码器30可推断mvd_l1_zero_flag的值等于0,且视频编码器20可不传信且视频解码器30可不接收位流中的mvd_l1_zero_flag的值。作为另一实例,mvd_l1_zero_flag仍可被传信,但具有停用值(例如,0)。
作为另一实例,技术可相反地来应用。例如,如果mvd_l1_zero_flag将为真,那么可不启用运动向量限制。换句话说,视频编码器20可在mvd_l1_zero_flag为真的情况下不传信指示启用运动向量限制的运动向量限制旗标,且可仅在mvd_l1_zero_flag为假的情况下传信指示启用运动向量限制的运动向量限制旗标。
视频编码器20可以如下方式实施仅在mvd_l1_zero_flag为假的情况下传信指示启用运动向量限制的旗标的条件。
作为另一实例,简化技术可为当启用运动向量限制时,没有显式地传信的参考索引(在AMVP模式下)可指向视图间或层间参考图片。例如,在AMVP模式中,视频编码器20可确定是否启用运动向量限制。如果启用运动向量限制,那么视频编码器20可确定不参考视图间或层间参考图片的参考图片列表的参考索引。在此实例中,mvd_l1_zero_flag可不被约束为等于零,这是因为视频编码器20将不选择视图间或层间参考图片。因此,所导出的运动向量将不参考视图间或层间参考图片,其中运动向量限制可能不适用。
紧接在前面的实例技术可被视为对参考索引的约束。在此实例中,视频编码器20可比较绝对值或替代地仅正值(因为负垂直值分量可指向参考视图的已经重构建块)与运动向量限制要求。仅在运动向量不满足运动向量限制的条件的情况下,才不允许使用参考视图间或层间参考图片(例如,基本视图或基本层)的参考索引。例如,有可能mvd_l1_zero_flag等于一且参考索引参考视图间或层间参考图片的所导出运动向量满足运动向量限制规则。如果所导出的运动向量将满足运动向量限制规则,那么即使mvd_l1_zero_flag为真,视频编码器20仍可选择参考视图间或层间参考图片的参考索引。
如上文所描述,对于多视图视频译码,运动向量限制的使用可为可选择的,且在位流中用指示启用运动向量限制的旗标或其它语法元素来指示。对于可缩放视频译码,可永久地启用运动向量限制,且在一些实例中,运动向量限制要求可为:所导出的运动向量为零向量(例如,如果运动向量参考层间参考图片,那么所导出的运动向量的水平(x)分量和垂直(y)分量两者皆等于零)。
上文所描述的实例MVD控制技术也可与可缩放视频译码技术(例如,SHVC)一起使用。例如,如果运动向量为约束(例如,使用运动向量限制),那么视频编码器20可设定mvd_l1_zero_flag为零以使得能够通过MVD补偿运动向量预测值,使得所导出的运动向量满足约束(例如,MV=MVD+MVP=0)。换句话说,视频编码器20可避免导致所导出的运动向量违反运动向量限制的MVP和MVD的组合。
作为另一实例,视频编码器20可避免选择在启用mvd_l1_zero_flag的情况下将致使所导出的运动向量违反运动向量限制的运动向量预测值。例如,在启用mvd_l1_zero_flag的情况下,视频编码器20可仅选择可满足约束(即,运动向量限制)的运动向量预测值(例如,AMVP候选者)。
例如,对于层间参考图片,一个实例可将用以形成帧间预测的MV限制为零。其意味对于AMVP模式,MV=MVP+MVD等于零。如上文所描述,视频解码器30基于由视频编码器20传信且由视频解码器30接收的MVP索引(即,候选运动向量预测值的列表的索引)确定MVP。对于参考列表L1(即,RefPicList1),当参考索引指向层间参考图片时,MV应等于零,因此在启用mvd_l1_zero_flag的情况下,视频编码器20可仅选择候选运动向量预测值的列表的索引,所述索引参考具有值零的运动向量预测值(即,水平和垂直分量等于零)。以此方式,因为从经启用的mvd_l1_zero_flag推断MVD等于零,所以所导出的运动向量将等于零,这是因为MVP等于0(即,MV=MVP+MVD,且MVP=0和MVD=0,因此MV=0)。因此,对于层间参考图片来说,在启用mvd_l1_zero_flag和MV被约束为零的情况下,视频编码器20不应使用且传信指向使用非零AMVP候选者(即,MVP不等于0)的层间参考图片的参考索引的MVP索引(即,候选运动向量预测值的列表的索引)。
作为另一实例,针对使用MV约束(即,运动向量限制)的层也可停用mvd_l1_zero_flag(传信为零)。作为又一实例,视频编码器20可仅针对视图间或层间(例如,基本视图/层)传信mvd_l1_zero_flag,且可针对具有MV约束的增强视图/层跳过mvd_l1_zero_flag传信,且mvd_l1_zero_flag的值经推断为零。
作为另一实例,如果参考图片列表L1(RefPicList1)包含至少一个视图间/层间参考图片,那么视频编码器20可针对具有MV约束的增强视图/层仅传信为零或经推断为零的mvd_l1_zero_flag。作为又一实例,视频编码器20和视频解码器30可根据参考图片而不同地处理mvd_l1_zero_flag。例如,如果参考图片为视图间/层间图片,那么视频编码器20可总是传信MVD值,而不管mvd_l1_zero_flag。
类似特征也可适用于MVC扩展。又,在以上实例中,MV可被约束为其它值而非零,可针对垂直MV分量、水平MV分量或两者进行约束。换句话说,运动向量限制可要求将所导出的运动向量限制为非零值。又,限制可适用于仅y分量、仅x分量或适用于x分量和y分量两者。此外,对一个分量的限制不一定需要等于对另一分量的限制。
一般来说,在一些实例中,视频编码器20可确定旗标(例如,mvd_l1_zero_flag)的值总是指示用于参考图片列表(例如,RefPicList1)中的图片的运动向量差不为零,且可产生旗标的值以用于输出。根据视频解码器30的观点来说,视频解码器30可从所接收的位流确定旗标值(例如,mvd_l1_zero_flag),所述旗标值指示在参考图片列表(例如,RefPicList1)中所识别的图片的运动向量差是否为零,且所述旗标值总是指示在参考图片列表中的图片的运动向量差不为零。
在一些实例中,对于运动向量限制,除了如上文关于TMVP所描述的视图间或层间参考图片的定位之外,视图间或层间参考图片(例如,基本视图或基本层参考图片)的定位可能影响存储器频宽减少。例如,存储器频宽减少的重要状况可为最坏情况情境。否则,如果考虑某其它非最坏情况条件,那么对于视频解码器30来说,仍可需要考虑最坏情况的实施方案,否则可能不会达成实际简化或存储器频宽减少。为此,为了从运动向量限制(例如,用于多视图视频译码的视差运动向量范围或用于可缩放视频译码的层间运动向量范围)获益,当运动向量限制适用时,可能存在对参考图片的某些约束。
例如,假定未使用视图间预测的视图的每一视图分量(即,纹理视图分量或深度视图分量)的不同时间参考图片的最大数目为maxNumTempPics0,且假定用视图间预测译码的每一视图分量的不同时间参考图片的最大数目为maxNumTempPics1。在一些实例中,maxNumTempPics0应小于或等于maxNumTempPics1。
因此,为了通过限制参考视图间或层间参考图片(例如,基本视图或基本层参考图片)的运动向量的垂直分量而进行实际存储器频宽减少,视图间或层间参考图片可能必须存在于至少一个参考列表中。否则,如果未将视图间或层间参考图片插入到参考图片列表中且(例如)可取而代之使用其它时间参考图片,那么对于参考视图间或层间参考图片的运动向量的运动向量限制未解决在此实例中的将使得所有时间图片作为参考列表中的参考图片的最坏情况。
换句话说,如果启用运动向量限制,那么运动向量限制的益处(例如,存储器频宽减少)可仅在视图间或层间参考图片包含于参考图片列表中的一者中的情况下为可用的。否则,在参考图片列表中的所有图片将为时间图片,且运动向量限制将不适用。因此,在一些实例中,如果启用运动向量限制,那么视频编码器20和视频解码器30可经配置以要求在参考图片列表中的一者中包含至少一个视图间或层间参考图片。
作为对参考图片列表的一个实例约束,非基本视图或层(例如,相依视图或相依/增强层)的所有视图分量具有多达两个时间参考图片和一个视图间或层间参考图片(例如,基本视图或基本层)。作为对参考图片列表的另一实例约束,非基本视图或层的所有视图分量具有多达两个时间参考图片,一些视图分量经视图间或层间预测(使用一个视图间或层间参考图片),且一些视图分量未经视图间或层间预测。
如上文所描述,对于多视图视图译码,运动向量限制的使用可为可选择的。在一些实例中,尤其在逐LCU地排列像素存储器时,为了促进存储器存取,当(或仅当)视差运动向量具有零垂直分量时可能存在存储器频宽减少益处。为了视差运动向量范围的传信的简单起见,在一些实例中,视频编码器20可在补充增强信息(SEI)消息、序列参数集、视频参数集或视频可用性信息(VUI)消息中传信指示视差运动向量的y分量被限制为零的旗标。
以下伪码说明用于在SEI消息中包含指示视差运动向量的y分量被限制为零的旗标的方式。
zero_vertical_disparity_mv_flag等于1指示视差运动向量总是具有等于0的垂直分量。zero_vertical_disparity_mv_flag等于0指示视差运动向量可具有不等于0的垂直分量。
video_parameter_set_id指定含有视图间相依关系信息的视频参数集。video_parameter_set_id的值应等于由含有并行解码信息SEI消息的存取单元的经译码图片的视图分量所参考的video_parameter_set_id的值。
pdi_init_delay_ctb_vertical_minus3和pdi_init_delay_ctb_horizontal_minus2指定任何参考视图分量中的不应被使用如作用中视频参数集识别符(等于当前SEI消息中所含有的语法元素video_parameter_set_id)中所指定的视图间预测的经译码视图分量用于视图间参考的不可用的参考区域。
变量horCtb经导出为:horCtb=pdi_init_delay_ctb_horizontal_minus2?pdi_init_delay_ctb_horizontal_minus2+2+(CtbAddrInRS%PicWidthInCtbsY):0。变量verCtb经导出为:verCtb=CtbAddrInRS/PicWidthInCtbsY+pdi_init_delay_ctb_vertical_minus3+3。
当不存在时,pdi_init_delay_ctb_vertical_minus3经推断为-1,或等效地,verCtb经推断为:CtbAddrInRS/PicWidthInCtbsY+2。
以此方式,位流约束规则可制订为以下的限制集合。如果存在对用于通过层间/视图间参考图片(例如,由来自合并/跳过或AMVP模式的参考索引识别)进行的运动补偿的运动向量的限制,那么在使用合并/跳过模式的情况下,位流可(例如,应)不含有合并/跳过索引(即,用于合并/跳过模式的候选运动向量预测值的列表的索引),或在使用AMVP模式的情况下,位流可(例如,应)不含有MVP索引(即,用于AMVP模式的候选运动向量预测值的列表的索引)和MVD,所述合并/跳过索引或MVP索引和MVD将产生不满足运动向量限制的运动向量。另外,位流可(例如,应)不含有用于mvd_l1_zero_flag的非零值(意味停用此旗标),这是因为位流可能需要具有非零MVD以使得对于参考列表L1(RefPicList1),MV=MVP+MVD将满足MV约束(即,运动向量限制)。
例如,如果对于层间/视图间参考图片将运动向量的一或两个分量限制为零,那么位流可(例如,应)不含有用于合并模式的合并索引,或用于AMVP模式的MVP索引和MVD,所述合并索引或MVP索引和MVD将产生非零运动向量或运动向量分量。另外,位流可(例如,应)不含有用于mvd_l1_zero_flag的非零值(意味停用此旗标),这是因为位流可能需要具有非零MVD以使得对于参考列表L1(RefPicList1),MV=MVP+MVD等于零。
可将上文所描述的约束中的一些或全部强加于存在于位流中的语法元素(例如,信息)。例如,用于位流的约束规则可被制订为如下:对于每一参考图片列表RefPicListX(其中X为0或1),合并索引(merge_idx)、MVP索引(mvp_1X_flag)、参考索引(ref_idx_1X)、MVD(MvdLX)和mvd_l1_zero_flag应提供具有满足运动向量限制的运动向量分量(例如,两个分量等于零(例如,对于SHVC状况))的MV。
换句话说,视频编码器20和视频解码器30可各自构建候选运动向量预测值的列表。在合并/跳过模式中,视频编码器20可确定候选运动向量预测值的列表的索引(所述索引识别用以导出运动向量的运动向量预测值,所述运动向量的值顺应运动向量限制)且产生候选运动向量预测值的列表的索引以用于输出。在合并/跳过模式中,视频解码器30可从所接收的位流确定候选运动向量预测值的列表的索引,所述索引识别用以导出运动向量的运动向量预测值。在此实例中,视频解码器30可将运动向量设定为等于运动向量预测值,且此外,运动向量预测值顺应运动向量限制。
对于AMVP模式,视频编码器20可确定候选运动向量预测值的列表的索引,所述索引识别用以导出运动向量的运动向量预测值。视频编码器20也可确定运动向量差以使得当将运动向量差与运动向量预测值相加时,所得运动向量顺应运动向量限制。视频编码器20也可产生候选运动向量预测值的列表的索引和运动向量差以用于输出。在AMVP模式中,视频解码器30可从所接收的位流确定识别用以导出运动向量的运动向量预测值的候选运动向量预测值的列表的索引,且从所接收的位流确定运动向量差,运动向量差的值使得将运动向量差与运动向量相加时所得运动向量顺应运动向量限制。视频解码器30可通过将运动向量预测值与运动向量差相加而导出运动向量。
对于实现为仅HLS解决方案(不存在在块层级的改变)或具有允许的块层级改变的HLS解决方案的HEVC SVC扩展,所有描述是有效的。基本层编码解码器可为HEVC、AVC、MPEG-2等等。可将限制施加于垂直运动向量(MV)分量、水平MV分量或两者上,也包含参考列表L0(RefPicList0)、参考列表L1(RefPicList1)或两者。然而,对于SVC状况,对参考层间参考图片的MV的两个分量为零运动向量的限制为使用状况中的一者。
因此,在一些实例中,视频编码器20可经配置以确定用于从运动向量预测值导出当前块的运动向量的信息,所述信息确保所导出的运动向量顺应运动向量限制。在这些实例中,运动向量可参考视图间或层间参考图片(例如,相对于包含当前块的图片的在另一视图或层中的图片)。又,运动向量限制与参考视图间或层间参考图片的运动向量相关联。
视频编码器20可基于信息导出当前块的运动向量,且基于所述所导出的运动向量视图间或层间预测编码当前块。视频编码器20也可产生用于导出运动向量的所确定的信息以用于输出。
在一些实例中,视频解码器30可经配置以接收位流,所述位流包含用于从运动向量预测值导出当前块的运动向量的信息。类似于上文,运动向量参考视图间或层间参考图片,且运动向量限制与参考视图间或层间参考图片的运动向量相关联。在本发明中所描述的技术中,位流中的信息确保所导出的运动向量顺应运动向量限制。
在本发明中所描述的技术中,视频解码器30可基于位流中的信息导出当前块的运动向量。视频解码器30也可基于所导出的运动向量视图间或层间预测解码当前块。
上文关于用于存储器频宽减少的运动向量限制描述实例。下文描述关于并行解码的技术。关于用于存储器频宽减少的运动向量限制所描述的技术并不一定需要与并行解码一起使用。换句话说,即使视频编码器20和视频解码器30不实施并行解码,视频编码器20和视频解码器30仍可经配置以实施运动向量限制。
如上文所描述,一些技术已依赖于宏块行以指示并行解码延迟。然而,对于基于HEVC的视频译码技术来说,依赖于宏块行可能并非可行的。又,一些技术传信按LCU行的并行解码延迟,但仍需要基于LCU大小转换这些值以使得视频解码器30可确定何时开始并行解码。
例如,一些技术直接地传信运动向量限制(例如,在JCT3V-B0037中)。运动向量限制的此直接传信意味传信对运动向量分量的值的限制。这些技术将极可能要求将对运动向量分量的值的限制转换成LCU行单位,其可能会出问题,这是因为仍将需要基于LCU大小来计算LCU行延迟(作为一个实例)。
在一些实例中,根据本发明中所描述的技术,视频编码器20可传信且视频解码器30可接收以块大小为单位的运动向量限制信息。基于运动向量限制信息,视频解码器30可确定何时开始并行解码。作为一个实例,视频编码器20可产生以块大小为单位的运动向量限制的垂直运动向量范围以用于输出,且视频解码器30可从所接收的位流确定以块大小为单位的运动向量限制的垂直运动向量范围。块大小单位可包括最大译码单元高度和最小译码单元高度单位中的一者。视频解码器30可基于垂直运动向量范围并行解码视图间或层间参考图片和包含当前块的当前图片。
例如,运动向量限制可定义水平和垂直分量的值的范围。在一个实例中,视频编码器20可传信且视频解码器30可接收以最大译码单元(LCU)高度或宽度为单位的垂直运动向量范围或水平运动向量范围(例如,垂直或水平视差运动向量范围或用于层间参考图片的垂直或水平运动向量范围)。作为另一实例,视频编码器20可传信且视频解码器30可接收以最小译码单元(SCU)为单位的运动向量限制范围。作为又一实例,视频编码器20可传信且视频解码器30可接收以四为单位的运动向量限制范围。
在一些实例中,如果运动向量限制指示垂直运动向量范围等于或近似为零(意味运动向量总是具有等于或小于零(例如,小于LCU高度)的垂直分量),那么直到那时视频编码器20才可传信水平运动向量范围。在一些实例中,视频编码器20可总是传信水平运动向量范围。
在一些实例中,视频编码器20有可能直接传信LCU行延迟。LCU行延迟指示垂直延迟。在这些实例中,当视频编码器20传信LCU行延迟时,视频编码器20也可直接传信LCU列延迟。LCU列延迟指示水平延迟。在这些实例中,视频解码器30可直接从位流接收LCU行(垂直)延迟和LCU列(水平)延迟。作为一个实例,如果运动向量(例如,视差运动向量或参考层间参考图片的运动向量)被视为典型地小的(例如,对于垂直分量来说为0,且对于水平分量来说为-2),那么可使得LCU行延迟为1,且也可使得LCU列延迟为小的(例如,1或2)。
在上文实例中,视频编码器20可依据行或列直接传信并行解码延迟(例如,LCU行延迟和LCU列延迟)。通过依据行或列直接传信并行解码延迟,可不需要将基于运动向量分量的运动限制转换成行或列。换句话说,视频编码器20在传信LCU行延迟和LCU列延迟的过程中可能已经考虑到LCU大小或块的大小。
上文实例描述运动向量限制(例如,x分量和y分量的运动向量范围或LCU行或列延迟)的传信。在一些实例中,视频编码器20可传信且视频解码器30可接收在补充增强信息(SEI)消息中的运动向量限制。在一些实例中,视频编码器20可传信且视频解码器30可接收在视频参数集中的运动向量限制。在一些实例中,视频编码器20可传信且视频解码器30可接收在序列参数集中的运动向量限制。在一些实例中,视频编码器20可传信且视频解码器30可接收在视频可用性信息(VUI)消息中的运动向量限制。
下文描述用于传信并行解码信息的实例技术。例如,下文提供实例伪码和伪码的语义以用于实施并行解码。可单独地或联合地实施这些技术。又,下文针对并行解码信息提供的实例不应被视为限制性的,且仅出于说明目的而提供。此外,出于描述容易起见,关于多视图视频译码描述技术,但这些技术也可扩展到可缩放视频译码技术。例如,在描述使用例如“视图间参考”的术语的情况下,所述术语可用层间参考来替换。换句话说,用于视图间参考的技术也可扩展到层间参考。
下文证明并行解码信息SEI消息语法。
video_parameter_set_id指定含有视图间或层间相依关系信息的视频参数集。video_parameter_set_id的值应等于由含有并行解码信息SEI消息的存取单元的经译码图片的视图分量或层分量所参考的video_parameter_set_id的值。
pdi_init_delay_ctb_vertical_minus2和pdi_init_delay_ctb_horizontal_minus2指定任何参考视图分量或层图片中的不应被使用如作用中视频参数集识别符(等于当前SEI消息中所含有的语法元素video_parameter_set_id)中所指定的视图间或层间预测的经译码视图分量用于视图间或层间参考的不可用的参考区域。
变量horCtb经导出为:horCtb=pdi_init_delay_ctb_horizontal_minus2?pdi_init_delay_ctb_horizontal_minus2+2+(CtbAddrInRS%PicWidthInCtbsY):0;
变量verCtb经导出为:
verCtb=CtbAddrInRS/PicWidthInCtbsY+pdi_init_delay_ctb_vertical_minus2+2;
refCtb地址refCtbAddr经导出为:
refCtbAddr=Min(horCtb,PicWidthInCtbsY)+verCtb*PicWidthInCtbsY。
不可用参考区域包含等于或大于refCtbAddr的所有译码树型块地址。当解码经译码的视图分量时,来自不可用参考区域(其来自参考视图的视图分量)的样本不应由视图间或层间预测过程参考。
pdi_init_delay_ctb_vertical_minus2的值应在0到PicHeightInCtbsY-2的范围中,包含0和PicHeightInCtbsY-2。pdi_init_delay_ctb_horizontal_minus2的值应在0到PicWidthInCtbsY-2的范围中,包含0和PicWidthInCtbsY-2。
当pdi_init_delay_ctb_horizontal_minus2等于0时,LCU行中具有小于verCtb的垂直地址的任何LCU(译码树型块)可用于视图间或层间预测。垂直LCU行延迟可(例如,应)等于或大于2。水平LCU列延迟在适用的情况下可(例如,应)等于或大于2。
在一些实例中,可需要对于每一视图具有相同LCU(译码树型块)大小的约束。当视图具有不同LCU大小时,最大LCU大小可适用于上文导出。可在视频参数集扩展中传信此最大LCU大小。
当解码当前LCU时,假定水平视差运动向量极小,视频解码器30可需要同置LCU。然而,为了使得同置LCU可用,同置LCU的下、右和右下LCU可需要至少被解块滤波。为了实现彼情形,可需要预测(通过(例如)运动补偿和/或帧内预测)上文所提及的LCU中的下LCU和右LCU。在此状况下,可需要至少两个LCU行延迟和两个LCU列延迟。换句话说,为了实现回路内滤波(例如,样本自适应性偏移(SAO)滤波和解块滤波),视频解码器30在开始并行解码当前图片之前可需要等待直到视图间或层间参考图片的额外行经重构建为止。
在一些实例中,视频编码器20可仅在pdi_init_delay_ctb_vertical_minus2等于2时传信pdi_init_delay_ctb_horizontal_minus2。作为另一实例,视频编码器20可仅传信垂直LCU行延迟,如下:
verCtb=CtbAddrInRS/PicWidthInCtbsY+pdi_init_delay_ctb_vertical_minus3+3。
不可用参考区域为矩形区域,其具有作为左上角的坐标(0,(verCtb*PicWidthInCtbsY))和作为右下角的(PicWidthInSamples,PicHeightInSamples)。当解码经译码的视图分量时,来自不可用参考区域(其来自参考视图的视图分量)的样本可(例如,应)不由视图间或层间预测过程来参考。
在一些实例中,视频编码器20可传信pdi_init_delay_ctb_rs_address,其按光栅扫描次序指定LCU延迟。在一些实例中,视频编码器20可传信pdi_init_delay_ctb_rs_address_minusctbwidth。在这些实例中,pdi_init_delay_ctb_rs_address_minusctbwidth+PicWidthInCtbsY按光栅扫描次序指示LCU延迟。
在一些实例中,视频编码器20可对于每一视图针对其所有参考视图或层单独地传信pdi_init_delay_ctb_vertical_minus2和pdi_init_delay_ctb_horizontal_minus2。在一些实例中,针对使用视图间或层间预测的每一视图或层的每一参考视图或层,视频编码器20可单独地传信pdi_init_delay_ctb_vertical_minus2和pdi_init_delay_ctb_horizontal_minus2。例如:
在一些实例中,对于所有上文状况,pdi_init_delay_ctb_horizontal_minus1未被传信且经推断等于0。在一些实例中,video_parameter_set_id可被传信为固定长度(例如,u(4))。
当假定仅像素重构建(包含例如运动补偿和帧内预测)需要逐LCU地进行,而解块可逐块(即,8×8块)地进行且样本自适应性偏移(SAO)滤波可逐线地进行时,可显著地降低LCU延迟。例如,当视频编码器20仅传信垂直LCU行延迟时,最小行延迟为2。当视频编码器20传信垂直LCU行延迟和水平LCU列延迟两者时,最小行延迟为1,且最小LCU列延迟也为1。在后一状况下,语法可被如下修改:
语义为类似的,但其中verCtb和horCtb的计算被稍微修改如下:变量horCtb经导出为:horCtb=pdi_init_delay_ctb_horizontal_minus1?pdi_init_delay_ctb_horizontal_minus1+1+(CtbAddrInRS%PicWidthInCtbsY):0;变量verCtb经导出为:
verCtb=CtbAddrInRS/PicWidthInCtbsY+pdi_init_delay_ctb_vertical_minus1+1;
下文描述具有不同LCU大小的并行解码信息SEI消息。此实例类似于用于并行解码信息SEI消息的替代者中的一者,其额外地支持各种经译码视图分量中的不同CTU大小。此外,尽管关于SEI消息描述实例,但技术可扩展到VUI语法元素。
下文提供并行解码信息SEI消息语法。
并行解码信息SEI消息可与任何存取单元相关联。在SEI消息中传信的信息适用于从与SEI消息相关联的存取单元开始到独占式地含有相同类型的SEI消息的按解码次序之下一个存取单元或到经译码视频序列的末尾(按解码次序较早的一者)的所有存取单元。应理解,一些视图分量(在并行解码信息SEI消息中传信了其并行解码信息)可不存在于经译码视频序列中。
video_parameter_set_id指定含有视图间或层间相依关系信息的视频参数集。video_parameter_set_id的值可(例如,应)等于由含有并行解码信息SEI消息的存取单元的经译码图片的视图分量所参考的video_parameter_set_id的值。
对于经译码视图分量i的第j个参考视图的视图分量,变量refLog2CtbSizeY、refPicWidthInCtbsY[i][j]和refPicHeightInCtbsY[i][j]可分别被设定为等于Log2CtbSizeY、PicWidthInCtbsY和PicHeightInCtbsY。
pdi_init_delay_ctu_vertical_minus2[i][j]和pdi_init_delay_ctu_horizontal_minus2[i][j]指定第i个经译码视图分量的第j个参考视图分量中的不可用参考区域,所述不可用参考区域可(例如,应)不被使用由video_parameter_set_id识别的作用中视频参数集中所指定的视图间或层间预测的第i个经译码视图分量用于视图间参考。pdi_unit_delay_ctu_vertical_minus2[i][j]的范围可(例如,应)为0到refPicHeightInCtbs-3,包含0和refPicHeightInCtbs-3。pdi_unit_delay_ctu_horizontal_minus2[i][j]的范围可(例如,应)为0到refPicWidthInCtbs-3,包含0和refPicWidthInCtbs-3。
在一些实例中,视频编码器20可传信单一语法元素pdi_init_delay_ctu_minus2[i][j],且不传信pdi_init_delay_ctu_vertical_minus2[i][j]和pdi_init_delay_ctu_horizontal_minus2[i][j]。在这些实例中,视频解码器30可如下从pdi_init_delay_ctu_minus2[i][j]导出pdi_init_delay_ctu_vertical_minus2[i][j]和pdi_init_delay_ctu_horizontal_minus2[i][j]的值:pdi_init_delay_ctu_horizontal_minus2[i][j]=pdi_init_delay_ctu_minus2[i][j]%refPicWidthInCtbs,且pdi_init_delay_ctu_vertical_minus2[i][j]=pdi_init_delay_ctu_minus2[i][j]/refPicWidthInCtbs。
变量horCtb[i][j]被如下导出:horCtb[i][j]=pdi_init_delay_ctu_horizontal_minus2[i][j]?pdi_init_delay_ctu_horizontal_minus2[i][j]+2:0。变量verCtb[i][j]被如下导出:verCtb[i][j]=pdi_init_delay_ctu_vertical_minus2[i][j]?pdi_init_delay_ctu_vertical_minus2[i][j]+2:0。
变量ctbAddr被如下导出:
if(Log2CtbSizeY<refLog2CtbSizeY)
ctbAddr=CtbAddrInRS>>((refLog2CtbSizeY-Log2CtbSizeY)*2))
else
ctbAddr=CtbAddrInRS<<((Log2CtbSizeY-refLog2CtbSizeY)*2)
表示refCtb[i][j]的地址的变量refCtbAddr[i][j]被如下导出:refCtbAddr[i][j]=horCtb[i][j]+verCtb[i][j]*refPicWidthInCtbsY[i][j]+ctbAddr。
经译码视图分量i的第j个参考视图中的不可用参考区域包含具有等于或大于refCtbAddr[i][j]的地址的所有译码树型单元。当解码第i个经译码视图分量时,来自不可用参考区域(其来自经译码视图分量i的第j个参考视图的视图分量)的样本可(例如,应)不由视图间或层间预测过程参考。
图5为说明可实施本发明中所描述的技术的实例视频编码器20的框图。视频编码器20可执行视频切片内的视频块的帧内译码和帧间译码。帧内译码依赖于空间预测以减少或去除给定视频帧或图片内的视频的空间冗余。帧间译码依赖于时间预测以减少或去除视频序列的邻近帧或图片内的视频的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)的帧间模式可指若干基于时间的压缩模式中的任一者。视频编码器20也可执行视图间预测译码和层间预测译码,其中视频编码器20使用其它视图或层的块以用于帧间预测。
在图5的实例中,视频编码器20包含分割单元350、预测处理单元410、参考图片存储器640、求和器500、变换处理单元520、量化处理单元540和熵编码单元560。参考图片存储器640为经解码图片缓冲器(DPB)的实例。预测处理单元410包含运动估计单元420、运动补偿单元440和帧内预测单元460。针对视频块重构建,视频编码器20也包含反量化处理单元580、反变换处理单元600和求和器620。也可包含解块滤波器(图5中未展示)以对块边界进行滤波从而从经重构建视频去除方块效应伪影。在需要时,解块滤波器通常将对求和器620的输出进行滤波。除了解块滤波器之外,也可使用额外回路滤波器(回路内或回路后)。
如图5中所示,视频编码器20接收视频数据,且分割单元350将数据分割成视频块。此分割也可包含分割成切片、图像块或其它较大单元,以及(例如)根据LCU和CU的四分树结构的视频块分割。视频编码器20大体上说明编码在待编码的视频切片内的视频块的组件。切片可划分成多个视频块(且可能被划分成被称作图像块的视频块的集合)。预测处理单元410可基于错误结果(例如,译码速率和失真的电平)选择用于当前视频块的多个可能译码模式中的一者,例如,多个帧内译码模式中的一者或多个帧间译码模式中的一者。预测处理单元410可将所得经帧内译码或经帧间译码块提供到求和器500以产生残余块数据且提供到求和器620以重构建经编码块以用作参考图片。
预测处理单元410内的帧内预测单元460可执行相对于在与待译码的当前块相同的帧或切片中的一或多个相邻块的对当前视频块的帧内预测性译码以提供空间压缩。预测处理单元410内的运动估计单元420和运动补偿单元440执行相对于一或多个参考图片中的一或多个预测性块的对当前视频块的帧间预测性译码以提供时间压缩。
运动估计单元420可经配置以根据视频序列的预定型样确定视频切片的帧间预测模式。运动估计单元420和运动补偿单元440可高度集成,但为概念目的而分别说明。由运动估计单元420执行的运动估计为产生估计视频块的运动的运动向量的过程。例如,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的移位。运动估计单元420也可确定运动向量预测值以确定运动向量差(MVD)。
预测性块为经发现在像素差方面密切匹配待译码的视频块的PU的块,像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差度量确定。在一些实例中,视频编码器20可计算存储于参考图片存储器640中的参考图片的次整数像素位置的值。例如,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元420可执行相对于全像素位置和分数像素位置的运动搜索且输出具有分数像素精度的运动向量。
运动估计单元420通过比较PU的位置与参考图片的预测性块的位置而计算经帧间译码切片中的视频块的PU的运动向量。可从第一参考图片列表(列表0或RefPicList0)或第二参考图片列表(列表1或RefPicList1)选择参考图片,所述列表中的每一者识别存储于参考图片存储器640中的一或多个参考图片。运动估计单元420将经计算运动向量发送到熵编码单元56和运动补偿单元440。运动补偿单元420也可将经计算运动向量预测值和MVD发送到熵编码单元560。
由运动补偿单元440执行的运动补偿可涉及基于由运动估计(可能执行到子像素精度的内插)确定的运动向量提取或产生预测性块。在接收到当前视频块的PU的运动向量时,运动补偿单元440可在参考图片列表中的一者中寻找运动向量所指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值。像素差值形成块的残余数据,且可包含亮度和色度差分量两者。求和器500表示执行此减法运算的一或多个组件。运动补偿单元440也可产生与视频块和视频切片相关联的语法元素(例如,信息)以供视频解码器30在解码视频切片的视频块时使用。
作为对由运动估计单元420和运动补偿单元440执行的帧间预测(如上文所描述)的替代,帧内预测单元460可帧内预测当前块。明确地说,帧内预测单元460可确定用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元460可(例如)在单独编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测单元460可从经测试模式选择适当帧内预测模式来使用。例如,帧内预测单元460可使用针对各种经测试帧内预测模式的位率-失真分析来计算位率-失真值,且在经测试模式当中选择具有最佳位率-失真特性的帧内预测模式。位率-失真分析通常确定经编码块与经编码以产生经编码块的原始未经编码块之间的失真(或误差)的量,以及用以产生经编码块的位率(即,位的数目)。帧内预测单元460可根据各种经编码块的失真和位率计算比率以确定哪一帧内预测模式展现出块的最佳位率-失真值。
在任何状况下,在选择块的帧内预测模式之后,帧内预测单元460可将指示块的选定帧内预测模式的信息提供到熵编码单元560。熵编码单元560可根据本发明的技术编码指示选定帧内预测模式的信息。视频编码器20可在所传输位流中包含配置数据,所述配置数据可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也称作码字映射表)、各种块的编码上下文的定义,和最有可能用于上下文中的每一者的帧内预测模式、帧内预测模式索引表和经修改帧内预测模式索引表的指示。
在预测处理单元410经由帧间预测或帧内预测产生当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一或多个TU中且应用于变换处理单元520。变换处理单元520使用例如离散余弦变换(DCT)或概念上类似的变换的变换将残余视频数据变换成残余变换系数。变换处理单元520可将残余视频数据从像素域转换到变换域,例如,频域。
变换处理单元520可将所得变换系数发送到量化处理单元540。量化处理单元540对变换系数进行量化以进一步减小位率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化的程度。在一些实例中,量化处理单元540可接着执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元560可执行扫描。
在量化之后,熵编码单元560熵编码经量化变换系数。例如,熵编码单元560可执行上下文自适应性可变长度译码(CAVLC)、上下文自适应性二进制算术译码(CABAC)、基于语法的上下文自适应性二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法或技术。在由熵编码单元560进行熵编码之后,可将经编码位流传输到视频解码器30或加以封存以供稍后传输或由视频解码器30检索。熵编码单元560也可对正被译码的当前视频切片的运动向量和其它语法元素进行熵编码。
反量化处理单元580和反变换处理单元600分别应用反量化和反变换,以在像素域中重构建残余块以供稍后用作参考图片的参考块。运动补偿单元440可通过将残余块与参考图片列表中的一者内的参考图片中的一者的预测性块相加来计算参考块。运动补偿单元440也可将一或多个内插滤波器应用于经重构建残余块以计算次整数像素值以供在运动估计中使用。求和器620将经重构建残余块与由运动补偿单元440产生的经运动补偿预测块相加以产生参考块以供存储于参考图片存储器640中。参考块可由运动估计单元420和运动补偿单元440用作参考块以帧间预测后续视频帧或图片中的块。
在一些实例中,预测处理单元410可经配置以实施本发明中所描述的技术。然而,本发明中所描述的技术不限于此。在一些实例中,与视频编码器20内的一或多个其它单元结合的预测处理单元410可经配置以实施本发明中所描述的技术。在一些实例中,处理单元(图5中未图示)可经配置以实施本发明中所描述的技术。换句话说,视频编码器20可包含一或多个处理器,且可经配置以实施本发明中所描述的实例技术。
例如,视频编码器20(例如,经由预测处理单元410)可确保在视频解码器30所接收的位流中传信的信息致使视频解码器30导出顺应运动向量限制的运动向量。作为一个实例,对于合并/跳过模式,视频编码器20可确定信息,例如,候选运动向量预测值的列表的索引,所述索引识别用以导出运动向量的运动向量预测值,所述运动向量的值顺应运动向量限制。作为另一实例,对于AMVP模式,视频编码器20可确定候选运动向量预测值的列表的索引,所述索引识别用以导出运动向量的运动向量预测值。视频编码器20也可确定运动向量差,以使得当将运动向量差与运动向量预测值相加时,所得运动向量顺应运动向量限制。在用于合并/跳过模式和AMVP模式的实例中,视频编码器20可产生候选运动向量预测值的列表的索引以用于输出。对于AMVP模式,视频编码器20也可产生运动向量差以用于输出。
在一些实例中,视频编码器20可确定旗标(例如,mvd_l1_zero_flag)的值总是指示参考图片中的图片的运动向量差不为零。视频编码器20也可产生旗标的值以用于在位流中输出。
对于并行解码,视频编码器20可以块大小为单位输出运动向量限制的垂直运动向量范围。例如,运动向量限制可包含垂直运动向量范围和水平运动向量范围中的至少一者。在这些实例中,块大小单位可为用于垂直向量范围的最大译码单元高度和最小译码单元高度单位和用于水平向量范围的最大译码单元宽度和最小译码单元宽度单位中的一者。
在一些实例中,视频编码器20可确定包含第一视图间或层间参考图片的任何视图间参考图片或任何层间参考图片中的不可用参考区域,所述不可用参考区域无法被当前块用于视图间或层间参考。在这些实例中,视频编码器20可基于所确定的不可用区域导出当前块的运动向量,以使得运动向量不参考任何视图间或层间参考图片中的不可用参考区域。视频编码器20也可经配置以产生指示不可用参考区域的信息以用于输出。作为一个实例,视频编码器20可产生按光栅扫描次序指示不可用参考区域的信息以用于输出。
图6为说明可实施本发明中所描述的技术的实例视频解码器30的框图。在图6的实例中,视频解码器30包含熵解码单元800、预测处理单元810、反量化处理单元860、反变换单元880、求和器900和参考图片存储器920。参考图片存储器920为经解码图片缓冲器(DPB)的实例。预测处理单元810包含运动补偿单元820和帧内预测单元840。在一些实例中,视频解码器30可执行与关于来自图5的视频编码器20所描述的编码遍次大体上互反的解码遍次。
在一些实例中,预测处理单元810可经配置以实施本发明中所描述的技术。然而,本发明中所描述的技术不限于此。在一些实例中,与视频解码器30内的一或多个其它单元结合的预测处理单元810可经配置以实施本发明中所描述的技术。在一些实例中,处理单元(图6中未图示)可经配置以实施本发明中所描述的技术。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块和相关联的语法元素的经编码视频位流。视频解码器30的熵解码单元800对位流进行熵解码以产生经量化系数、运动向量和其它语法元素。熵解码单元800将运动向量和其它语法元素转递到预测处理单元810。视频解码器30可接收在视频切片层级和/或视频块层级处的语法元素。
当视频切片经译码为帧内译码(I)切片时,预测处理单元810的帧内预测单元840可基于所传信的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生当前视频切片的视频块的预测数据。当视频帧经译码为帧间译码(即,B、P或GPB)切片时,预测处理单元810的运动补偿单元820基于从熵解码单元800接收的运动向量和其它语法元素而产生当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储于参考图片存储器920中的参考图片使用默认构建技术或任何其它技术来构建参考帧列表,列表0和列表1。
运动补偿单元820通过剖析运动向量和其它语法元素来确定当前视频切片的视频块的预测信息,且使用预测信息来产生正被解码的当前视频块的预测性块。例如,运动补偿单元820使用所接收的语法元素中的一些来确定用以译码视频切片的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一或多者的构建信息、切片的每一经帧间编码视频块的运动向量、切片的每一经帧间译码视频块的帧间预测状态和用以解码当前视频切片中的视频块的其它信息。
运动补偿单元820也可基于内插滤波器执行内插。运动补偿单元820可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的次整数像素的内插值。在此状况下,运动补偿单元820可根据所接收的语法元素确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。
反量化处理单元860对在位流中所提供且由熵解码单元800解码的经量化变换系数进行反量化(即,解量化)。反量化过程可包含使用由视频编码器20针对视频切片中的每一视频块所计算的量化参数确定量化的程度,且同样地确定应所述应用的反量化的程度。反变换处理单元880将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数以便在像素域中产生残余块。
在运动补偿单元820基于运动向量和其它语法元素产生当前视频块的预测性块之后,视频解码器30通过将来自反变换处理单元880的残余块与由运动补偿单元820产生的对应预测性块求和来形成经解码视频块。求和器900表示执行此求和运算的一或多个组件。在需要时,也可应用解块滤波器来对经解码块滤波以便去除方块效应伪影。其它回路滤波器(在译码回路中抑或在译码回路之后)也可用以使像素转变平滑,或以其它方式改善视频质量。给定帧或图片中的经解码视频块接着被存储于参考图片存储器920中,参考图片存储器920存储用于后续运动补偿的参考图片。参考图片存储器920也存储经解码视频以供稍后呈现于例如图4的显示装置32的显示装置上。
以此方式,视频解码器30为经配置以实施本发明中所描述的实例技术的视频解码器的实例。例如,视频解码器30可包含一或多个处理器,且可经配置以实施本发明中所描述的实例技术。
例如,视频解码器30可从运动向量预测值导出运动向量,所述运动向量被确保顺应运动向量限制。例如,在合并/跳过模式中,视频解码器30将运动向量设定为等于运动向量预测值,且因此,要求运动向量预测值顺应运动向量限制。在AMVP模式中,视频解码器30从位流确定运动向量差,所述运动向量差的值使得当将运动向量差与运动向量预测值相加时,所得运动向量顺应运动向量限制。在此实例中,视频解码器30可通过将运动向量预测值与运动向量差相加而导出运动向量。
在一些实例中,视频解码器30可从所接收的位流确定运动向量限制的具有块大小的垂直运动向量范围。视频解码器30可基于垂直运动向量范围并行解码视图间或层间参考图片和包含当前块的当前图片。
又,在一些实例中,视频解码器30可从所接收的位流确定任何视图间参考图片或任何层间参考图片中的不可用参考区域,所述不可用参考区域无法被当前块用于视图间或层间参考。在这些实例中,视频解码器30可基于位流中的信息导出当前块的运动向量,以使得运动向量不参考任何视图间参考图片或任何层间参考图片中的不可用参考区域。作为一个实例,视频解码器30可按光栅扫描次序确定不可用参考区域。
图7为说明根据本发明中所描述的技术的视图间或层间视频解码的实例操作的流程图。出于说明的目的,关于视频解码器30描述所述技术。例如,视频解码器30可接收位流,所述位流包含用于从运动向量预测值导出当前块的运动向量的信息(1000)。运动向量可参考视图间或层间参考图片。位流可受到约束以使得从位流接收的信息可确保所导出的运动向量顺应运动向量限制。又,运动向量限制会限制运动向量的范围以参考视图间或层间参考图片的子部分。
视频解码器30可基于位流中的信息导出当前块的运动向量(1002)。视频解码器30可基于所导出的运动向量视图间或层间预测解码当前块(1004)。
图8为说明根据本发明中所描述的技术的视图间或层间视频编码的实例操作的流程图。出于说明的目的,关于视频解码器30描述所述技术。例如,视频编码器20可确定用于从运动向量预测值导出当前块的运动向量的信息,所述信息确保所导出的运动向量顺应运动向量限制(1006)。类似于上文,运动向量参考视图间或层间参考图片,且运动向量限制会限制运动向量的范围以参考视图间或层间参考图片的子部分。
视频编码器20可基于信息导出当前块的运动向量(1008)。视频编码器20可基于所导出的运动向量视图间或层间预测编码当前块(1010)。视频编码器20可产生用于导出运动向量的所确定的信息以用于输出(1012)。
在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体来传输,且由基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体或通信媒体,计算机可读存储媒体对应于例如数据存储媒体的有形媒体,通信媒体包含促进计算机程序(例如)根据通信协议从一处传送到另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器,或可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。又,任何连接被适当地称作计算机可读媒体。例如,如果使用同轴电缆、光纤缆线、双绞线、数字用户线(DSL),或例如红外线、无线电和微波的无线技术而从网站、服务器或其它远端源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL,或例如红外线、无线电和微波的无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬态媒体,而是针对非瞬态有形存储媒体。如本文中所使用,磁盘和光盘包含紧密光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘通过激光以光学方式再生数据。以上各物的组合也应包含于计算机可读媒体的范围内。
可由例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路的一或多个处理器来执行指令。因此,如本文中所使用,术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文所描述的功能性提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入于组合式编码解码器中。又,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,包含无线手机、集成电路(IC)或IC的集合(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必要求由不同硬件单元实现。更确切来说,如上文所描述,各种单元可组合于编码解码器硬件单元中或由结合合适的软件和/或固件的交互操作的硬件单元的集合(包含如上文所描述的一或多个处理器)来提供。
已描述各种实例。这些和其它实例在以下权利要求书的范围内。

Claims (39)

1.一种视图间视频解码或层间视频解码的方法,所述方法包括:
构建候选运动向量预测值的列表;
接收位流,所述位流包含将索引包含在候选运动向量预测值的所述列表中以从候选运动向量预测值的所述列表中选择运动向量预测值的信息和用于从所选择的运动向量预测值导出当前块的运动向量的信息,其中所述运动向量参考视图间参考图片或层间参考图片中的块,其中所述位流受到约束以使得所导出的运动向量顺应运动向量限制,其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间参考图片或层间参考图片的子部分,其中基于候选运动向量预测值的所述列表用于合并模式,所述位流受到约束以使得候选运动向量预测值的所述列表中的所述索引选择等于零的所述运动向量预测值,且其中基于候选运动向量预测值的所述列表用于先进运动向量预测(AMVP)模式,所述位流受到约束以使得候选运动向量预测值的所述列表中的所述索引选择与运动向量差值相加等于零的所述运动向量预测值;
基于所述位流中的所述信息导出所述当前块的所述运动向量;以及
基于由所述所导出的运动向量参考的所述块的像素值,视图间预测解码或层间预测解码所述当前块。
2.根据权利要求1所述的方法,其中所述信息包含所述位流中的语法元素。
3.根据权利要求1所述的方法,
其中导出所述运动向量包括将所述运动向量设定为等于所述运动向量预测值,且其中要求所述运动向量预测值顺应所述运动向量限制。
4.根据权利要求1所述的方法,其进一步包括:
从所述所接收的位流确定所述运动向量差,所述运动向量差的值使得当将所述运动向量差与所述运动向量预测值相加时,所得运动向量顺应所述运动向量限制,
其中导出所述运动向量包括将所述运动向量预测值与所述运动向量差相加。
5.根据权利要求1所述的方法,其进一步包括:
从所述所接收的位流确定指示在参考图片列表中所识别的图片的运动向量差是否为零的旗标值,其中所述旗标值总是指示在所述参考图片列表中的所述图片的所述运动向量差不为零。
6.根据权利要求1所述的方法,其中当所述运动向量参考所述层间参考图片时,所述运动向量限制指示所述所导出的运动向量应等于零。
7.根据权利要求1所述的方法,其进一步包括:
从所述所接收的位流确定所述运动向量限制的以块大小为单位的垂直运动向量范围;以及
基于所述垂直运动向量范围并行解码所述视图间参考图片或层间参考图片和包含所述当前块的当前图片。
8.根据权利要求7所述的方法,其中所述块大小单位包括最大译码单元高度单位和最小译码单元高度单位中的一者。
9.根据权利要求1所述的方法,其中所述视图间参考图片或层间参考图片包含第一视图间参考图片或层间参考图片,所述方法进一步包括:
从所述所接收的位流确定包含所述第一视图间参考图片或层间参考图片的任何视图间参考图片或任何层间参考图片中的不可用参考区域,所述不可用参考区域无法被所述当前块用于视图间参考或层间参考,
其中导出所述运动向量包括基于所述位流中的所述信息导出所述当前块的所述运动向量,以使得所述运动向量不参考任何视图间参考图片或任何层间参考图片中的所述不可用参考区域。
10.根据权利要求9所述的方法,其中确定所述不可用参考区域包括按光栅扫描次序确定所述不可用参考区域。
11.一种视图间视频编码或层间视频编码的方法,所述方法包括:
构建候选运动向量预测值的列表;
确定当前块的参考图片为视图间参考图片或者层间参考图片;
基于所述当前块的所述参考图片为所述视图间参考图片或者层间参考图片,而确定所述当前块的运动向量等于零以使得所述运动向量顺应运动向量限制,其中所述运动向量参考所述视图间参考图片或层间参考图片中的块;
确定所述当前块是使用合并模式或者先进运动向量预测(AMVP)模式而被视图间预测编码的或者层间预测编码的;
基于所述当前块是使用合并模式而被编码的,从候选运动向量预测值的所述列表中选择等于零的第一运动向量预测值,或者
基于所述当前块是使用AMVP模式而被编码的,从候选运动向量预测值的所述列表中选择与运动向量差值相加等于零的第二运动向量预测值;
确定信息,其包括基于所述第一运动向量预测值或者所述第二运动向量预测值中所选择的一者而确定候选运动向量预测值的所述列表中的索引,所述信息用于从所选择的第一运动向量预测值或者所选择的第二运动向量预测值中导出所述当前块的所述运动向量;
基于由所述运动向量参考的所述块的像素值,视图间预测编码或层间预测编码所述当前块;以及
产生用于导出所述运动向量的所述所确定的信息以用于输出。
12.根据权利要求11所述的方法,其中所述信息包含经产生以用于输出的语法元素。
13.根据权利要求11所述的方法,
其中确定信息包括确定候选运动向量预测值的所述列表的所述索引,所述索引识别用以导出所述运动向量的所述第一运动向量预测值,所述运动向量的值顺应所述运动向量限制,且
其中产生以用于输出包括产生候选运动向量预测值的所述列表的所述索引以用于输出。
14.根据权利要求11所述的方法,
其中确定信息包括:
确定候选运动向量预测值的所述列表的所述索引,所述索引识别用以导出所述运动向量的所述第二运动向量预测值;以及
确定所述运动向量差以使得当将所述运动向量差与所述第二运动向量预测值相加时,所述所得运动向量顺应所述运动向量限制,且
其中产生以用于输出包括产生候选运动向量预测值的所述列表的所述索引和所述运动向量差以用于输出。
15.根据权利要求11所述的方法,其中确定信息包括确定旗标的值总是指示在参考图片列表中的图片的运动向量差不为零,且其中产生以用于输出包括产生所述旗标的所述值以用于输出。
16.根据权利要求11所述的方法,其中当所述运动向量参考所述层间参考图片时,所述运动向量限制指示所述所导出的运动向量应等于零。
17.根据权利要求11所述的方法,其进一步包括:
产生所述运动向量限制的以块大小为单位的垂直运动向量范围以用于输出。
18.根据权利要求17所述的方法,其中所述块大小单位包括最大译码单元高度单位和最小译码单元高度单位中的一者。
19.根据权利要求11所述的方法,其中所述视图间参考图片或层间参考图片包含第一视图间参考图片或层间参考图片,所述方法进一步包括:
确定包含所述第一视图间参考图片或层间参考图片的任何视图间参考图片或任何层间参考图片中的不可用参考区域,所述不可用参考区域无法被所述当前块用于视图间参考或层间参考,
其中导出所述运动向量包括基于所述所确定的不可用的区域导出所述当前块的所述运动向量,以使得所述运动向量不参考任何视图间参考图片或层间参考图片中的所述不可用参考区域;以及
产生指示所述不可用参考区域的信息以用于输出。
20.根据权利要求19所述的方法,其中产生指示所述不可用参考区域的信息以用于输出包括产生按光栅扫描次序指示所述不可用参考区域的信息以用于输出。
21.一种用于视图间视频解码或层间视频解码的装置,所述装置包括:
存储器,其经配置以存储视图间参考图片或层间参考图片;和
视频解码器,所述视频解码器包括一或多个处理器且经配置以:
构建候选运动向量预测值的列表;
接收位流,所述位流包含将索引包含在候选运动向量预测值的所述列表中以从候选运动向量预测值的所述列表中选择运动向量预测值的信息和用于从所选择的运动向量预测值导出当前块的运动向量的信息,其中所述运动向量参考所述视图间参考图片或所述层间参考图片中的块,其中所述位流受到约束以使得所导出的运动向量顺应运动向量限制,其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间参考图片或层间参考图片的子部分,其中基于候选运动向量预测值的所述列表用于合并模式,所述位流受到约束以使得候选运动向量预测值的所述列表中的所述索引选择等于零的所述运动向量预测值,且其中基于候选运动向量预测值的所述列表用于先进运动向量预测(AMVP)模式,所述位流受到约束以使得候选运动向量预测值的所述列表中的所述索引选择与运动向量差值相加等于零的所述运动向量预测值;
基于所述位流中的所述信息导出所述当前块的所述运动向量;以及
基于由所述所导出的运动向量参考的所述块的像素值,视图间预测解码或层间预测解码所述当前块。
22.根据权利要求21所述的装置,其中所述信息包含所述位流中的语法元素。
23.根据权利要求21所述的装置,
其中为了导出所述运动向量,所述视频解码器经配置以将所述运动向量设定为等于所述运动向量预测值,且
其中要求所述运动向量预测值顺应所述运动向量限制。
24.根据权利要求21所述的装置,其中所述视频解码器经配置以:
从所述所接收的位流确定所述运动向量差,所述运动向量差的值使得当将所述运动向量差与所述运动向量预测值相加时,所得运动向量顺应所述运动向量限制,
其中为了导出所述运动向量,所述视频解码器经配置以将所述运动向量预测值与所述运动向量差相加。
25.根据权利要求21所述的装置,其中所述视频解码器经配置以:
从所述所接收的位流确定指示在参考图片列表中所识别的图片的运动向量差是否为零的旗标值,其中所述旗标值总是指示在所述参考图片列表中的所述图片的所述运动向量差不为零。
26.根据权利要求21所述的装置,其中所述视频解码器经配置以:
从所述所接收的位流确定所述运动向量限制的以块大小为单位的垂直运动向量范围;以及
基于所述垂直运动向量范围并行解码所述视图间参考图片或层间参考图片和包含所述当前块的当前图片。
27.根据权利要求21所述的装置,其中所述视图间参考图片或层间参考图片包含第一视图间参考图片或层间参考图片,且其中所述视频解码器经配置以:
从所述所接收的位流确定包含所述第一视图间参考图片或层间参考图片的任何视图间参考图片或任何层间参考图片中的不可用参考区域,所述不可用参考区域无法被所述当前块用于视图间参考或层间参考,
其中为了导出所述运动向量,所述视频解码器经配置以基于所述位流中的所述信息导出所述当前块的所述运动向量,以使得所述运动向量不参考任何视图间参考图片或任何层间参考图片中的所述不可用参考区域。
28.根据权利要求27所述的装置,其中为了确定所述不可用参考区域,所述视频解码器经配置以按光栅扫描次序确定所述不可用参考区域。
29.根据权利要求21所述的装置,其中所述装置包括以下各者中的一者:
无线通信装置;
微处理器;或
集成电路。
30.一种用于视图间视频编码或层间视频编码的装置,所述装置包括:
存储器,其经配置以存储视图间参考图片或层间参考图片;和
视频编码器,所述视频编码器包括一或多个处理器且经配置以:
构建候选运动向量预测值的列表;
确定当前块的参考图片为视图间参考图片或者层间参考图片;
基于所述当前块的所述参考图片为所述视图间参考图片或者层间参考图片,而确定所述当前块的运动向量等于零以使得所述运动向量顺应运动向量限制,其中所述运动向量参考所述视图间参考图片或层间参考图片中的块;
确定所述当前块是使用合并模式或者先进运动向量预测(AMVP)模式而被视图间预测编码的或者层间预测编码的;
基于所述当前块是使用合并模式而被编码的,从候选运动向量预测值的所述列表中选择等于零的第一运动向量预测值,或者
基于所述当前块是使用AMVP模式而被编码的,从候选运动向量预测值的所述列表中选择与运动向量差值相加等于零的第二运动向量预测值;
确定信息,其包括基于所述第一运动向量预测值或者所述第二运动向量预测值中所选择的一者而确定候选运动向量预测值的所述列表中的索引,所述信息用于从所选择的第一运动向量预测值或者所选择的第二运动向量预测值中导出所述当前块的所述运动向量;基于由所述运动向量参考的所述块的像素值,视图间预测编码或层间预测编码所述当前块;以及
产生用于导出所述运动向量的所述所确定的信息以用于输出。
31.根据权利要求30所述的装置,其中所述信息包含经产生以用于输出的语法元素。
32.根据权利要求30所述的装置,
其中为了确定信息,所述视频编码器经配置以确定候选运动向量预测值的所述列表的所述索引,所述索引识别用以导出所述运动向量的所述第一运动向量预测值,所述运动向量的值顺应所述运动向量限制,且
其中为了产生以用于输出,所述视频编码器经配置以产生候选运动向量预测值的所述列表的所述索引以用于输出。
33.根据权利要求30所述的装置,
其中为了确定信息,所述视频编码器经配置以:
确定候选运动向量预测值的所述列表的所述索引,所述索引识别用以导出所述运动向量的所述第二运动向量预测值;以及
确定所述运动向量差以使得当将所述运动向量差与所述第二运动向量预测值相加时,所得运动向量顺应所述运动向量限制,且
其中为了产生以用于输出,所述视频编码器经配置以产生候选运动向量预测值的所述列表的所述索引和所述运动向量差以用于输出。
34.根据权利要求30所述的装置,其中为了确定信息,所述视频编码器经配置以确定旗标的值总是指示在参考图片列表中的图片的运动向量差不为零,且其中为了产生以用于输出,所述视频编码器经配置以产生所述旗标的所述值以用于输出。
35.根据权利要求34所述的装置,其中所述视频编码器经配置以:
产生所述运动向量限制的以块大小为单位的垂直运动向量范围以用于输出。
36.根据权利要求30所述的装置,其中所述视图间参考图片或层间参考图片包含第一视图间参考图片或层间参考图片,且其中所述视频编码器经配置以:
确定包含所述第一视图间参考图片或层间参考图片的任何视图间参考图片或任何层间参考图片中的不可用参考区域,所述不可用参考区域无法被所述当前块用于视图间参考或层间参考,
其中为了导出所述运动向量,所述视频编码器经配置以基于所述所确定的不可用的区域导出所述当前块的所述运动向量,以使得所述运动向量不参考任何视图间参考图片或层间参考图片中的所述不可用参考区域;以及
产生指示所述不可用参考区域的信息以用于输出。
37.根据权利要求36所述的装置,其中为了产生指示所述不可用参考区域的信息以用于输出,所述视频编码器经配置以产生按光栅扫描次序指示所述不可用参考区域的信息以用于输出。
38.一种非暂时性计算机可读存储媒体,其具有存储于其上的指令,所述指令在执行时致使用于解码视频数据的装置的一或多个处理器:
构建候选运动向量预测值的列表;
接收位流,所述位流包含将索引包含在候选运动向量预测值的所述列表中以从候选运动向量预测值的所述列表中选择运动向量预测值的信息和用于从所选择的运动向量预测值导出当前块的运动向量的信息,其中所述运动向量参考视图间参考图片或层间参考图片中的块,其中所述位流受到约束以使得所导出的运动向量顺应运动向量限制,其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间参考图片或层间参考图片的子部分,其中基于候选运动向量预测值的所述列表用于合并模式,所述位流受到约束以使得候选运动向量预测值的所述列表中的所述索引选择等于零的所述运动向量预测值,且其中基于候选运动向量预测值的所述列表用于先进运动向量预测(AMVP)模式,所述位流受到约束以使得候选运动向量预测值的所述列表中的所述索引选择与运动向量差值相加等于零的所述运动向量预测值;
基于所述位流中的所述信息导出所述当前块的所述运动向量;以及
基于由所述所导出的运动向量参考的所述块的像素值,视图间预测解码或层间预测解码所述当前块。
39.一种用于视图间视频解码或层间视频解码的装置,所述装置包括:
用于构建候选运动向量预测值的列表的装置;
用于接收位流的装置,所述位流包含将索引包含在候选运动向量预测值的所述列表中以从候选运动向量预测值的所述列表中选择运动向量预测值的信息和用于从所选择的运动向量预测值导出当前块的运动向量的信息,其中所述运动向量参考视图间参考图片或层间参考图片中的块,其中所述位流受到约束以使得所导出的运动向量顺应运动向量限制,其中所述运动向量限制会限制所述运动向量的范围以参考所述视图间参考图片或层间参考图片的子部分,其中基于候选运动向量预测值的所述列表用于合并模式,所述位流受到约束以使得候选运动向量预测值的所述列表中的所述索引选择等于零的所述运动向量预测值,且其中基于候选运动向量预测值的所述列表用于先进运动向量预测(AMVP)模式,所述位流受到约束以使得候选运动向量预测值的所述列表中的所述索引选择与运动向量差值相加等于零的所述运动向量预测值;
用于基于所述位流中的所述信息导出所述当前块的所述运动向量的装置;以及用于基于由所述所导出的运动向量参考的所述块的像素值而视图间预测解码或层间预测解码所述当前块的装置。
CN201480003846.9A 2013-01-04 2014-01-03 用于视图间或层间参考图片的位流约束和运动向量限制 Active CN104885458B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201361749213P 2013-01-04 2013-01-04
US61/749,213 2013-01-04
US201361754864P 2013-01-21 2013-01-21
US61/754,864 2013-01-21
US201361755274P 2013-01-22 2013-01-22
US61/755,274 2013-01-22
US201361758206P 2013-01-29 2013-01-29
US61/758,206 2013-01-29
US14/146,149 US10021414B2 (en) 2013-01-04 2014-01-02 Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures
US14/146,149 2014-01-02
PCT/US2014/010161 WO2014107565A1 (en) 2013-01-04 2014-01-03 Bitstream constraints and motion vector restriction for inter-view or inter-layer reference pictures

Publications (2)

Publication Number Publication Date
CN104885458A CN104885458A (zh) 2015-09-02
CN104885458B true CN104885458B (zh) 2019-05-28

Family

ID=51060935

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480003846.9A Active CN104885458B (zh) 2013-01-04 2014-01-03 用于视图间或层间参考图片的位流约束和运动向量限制

Country Status (8)

Country Link
US (1) US10021414B2 (zh)
EP (1) EP2941875A1 (zh)
JP (1) JP6416115B2 (zh)
KR (1) KR102266364B1 (zh)
CN (1) CN104885458B (zh)
BR (1) BR112015016011B1 (zh)
TW (1) TWI544788B (zh)
WO (1) WO2014107565A1 (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108337522B (zh) * 2011-06-15 2022-04-19 韩国电子通信研究院 可伸缩解码方法/设备、可伸缩编码方法/设备和介质
KR102309086B1 (ko) * 2013-03-21 2021-10-06 소니그룹주식회사 화상 부호화 장치 및 방법과, 화상 복호 장치 및 방법
KR20140121315A (ko) 2013-04-04 2014-10-15 한국전자통신연구원 참조 픽처 리스트를 이용한 다 계층 기반의 영상 부호화/복호화 방법 및 그 장치
KR20140129624A (ko) * 2013-04-30 2014-11-07 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
KR20160054530A (ko) * 2013-09-06 2016-05-16 미쓰비시덴키 가부시키가이샤 동화상 부호화 장치, 동화상 트랜스코드 장치, 동화상 부호화 방법, 동화상 트랜스코드 방법 및 동화상 스트림 전송 시스템
GB201405649D0 (en) * 2014-03-28 2014-05-14 Sony Corp Data encoding and decoding
US20150326875A1 (en) * 2014-05-06 2015-11-12 Mediatek Inc. Video processing method for determining position of reference block of resized reference frame and related video processing apparatus
HUE063996T2 (hu) * 2014-12-03 2024-02-28 panasonic intellectual property Adatgeneráló eszköz
AU2016269362A1 (en) * 2015-05-28 2017-12-07 Hfi Innovation Inc. Method and apparatus for using a current picture as a reference picture
JP2018533298A (ja) * 2015-09-24 2018-11-08 エルジー エレクトロニクス インコーポレイティド 映像コーディングシステムにおけるamvrに基づく映像コーディング方法及び装置
CN108737841B (zh) * 2017-04-21 2020-11-24 腾讯科技(深圳)有限公司 编码单元深度确定方法及装置
CA3063746A1 (en) * 2017-05-18 2018-11-22 Mediatek, Inc. Method and apparatus of motion vector constraint for video coding
US10841794B2 (en) * 2017-09-18 2020-11-17 Futurewei Technologies, Inc. Adaptive motion vector resolution
WO2019183906A1 (zh) * 2018-03-29 2019-10-03 华为技术有限公司 帧间预测的方法和装置
CN118354099A (zh) * 2018-04-02 2024-07-16 寰发股份有限公司 用于视频编解码系统中的子块运动补偿的视频处理方法和装置
CN110662039B (zh) 2018-06-29 2022-06-07 北京字节跳动网络技术有限公司 查找表的更新:fifo、约束的fifo
CN114125450B (zh) * 2018-06-29 2023-11-17 北京字节跳动网络技术有限公司 一种用于处理视频数据的方法、装置和计算机可读介质
KR20210025537A (ko) 2018-06-29 2021-03-09 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 하나 또는 다수의 룩업 테이블들을 사용하여 이전에 코딩된 모션 정보를 순서대로 저장하고 이를 사용하여 후속 블록들을 코딩하는 개념
GB2588006B (en) 2018-06-29 2023-03-22 Beijing Bytedance Network Tech Co Ltd Number of motion candidates in a look up table to be checked according to mode
JP7328330B2 (ja) 2018-06-29 2023-08-16 北京字節跳動網絡技術有限公司 Lutにおける動き候補のチェック順序
CN110662052B (zh) 2018-06-29 2022-07-08 北京字节跳动网络技术有限公司 更新查找表(lut)的条件
CN114900694A (zh) 2018-06-29 2022-08-12 抖音视界(北京)有限公司 哪个查找表需要更新或不更新
CN115988203A (zh) 2018-06-29 2023-04-18 北京字节跳动网络技术有限公司 用于视频处理的方法、装置、计算机可读存储介质
TWI723446B (zh) 2018-07-02 2021-04-01 大陸商北京字節跳動網絡技術有限公司 具有lic的lut
KR102643422B1 (ko) 2018-08-29 2024-03-04 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 서브블록 기반 시간적 모션 벡터 예측을 사용한 비디오 코딩의 방법 및 장치
US10375416B1 (en) 2018-09-05 2019-08-06 Tencent America LLC Segment types in video coding
WO2020053800A1 (en) 2018-09-12 2020-03-19 Beijing Bytedance Network Technology Co., Ltd. How many hmvp candidates to be checked
EP3888355A4 (en) 2019-01-10 2022-03-23 Beijing Bytedance Network Technology Co., Ltd. LOOKUP TABLE UPDATE INVOCATION
WO2020143824A1 (en) 2019-01-13 2020-07-16 Beijing Bytedance Network Technology Co., Ltd. Interaction between lut and shared merge list
CN113330739A (zh) 2019-01-16 2021-08-31 北京字节跳动网络技术有限公司 Lut中的运动候选的插入顺序
WO2020192611A1 (en) 2019-03-22 2020-10-01 Beijing Bytedance Network Technology Co., Ltd. Interaction between merge list construction and other tools
CN113647108A (zh) 2019-03-27 2021-11-12 北京字节跳动网络技术有限公司 基于历史的运动矢量预测
JP7303329B2 (ja) 2019-04-25 2023-07-04 北京字節跳動網絡技術有限公司 動きベクトルの差に関する制限
US11109064B2 (en) 2019-05-22 2021-08-31 Mediatek Inc. Signaling of motion vector difference derivation
JP7436527B2 (ja) * 2019-06-25 2024-02-21 北京字節跳動網絡技術有限公司 動きベクトルの差に関する制限
JP7465128B2 (ja) 2020-03-24 2024-04-10 シャープ株式会社 動画像符号化装置及び動画像復号装置
WO2021197445A1 (en) * 2020-04-01 2021-10-07 Beijing Bytedance Network Technology Co., Ltd. Constraints on adaptation parameter set syntax elements
EP4115609A4 (en) 2020-04-07 2023-10-25 Beijing Bytedance Network Technology Co., Ltd. SIGNALING FOR INTER-PREDICTION IN HIGH-LEVEL SYNTAX
EP4118825A4 (en) 2020-04-09 2023-08-09 Beijing Bytedance Network Technology Co., Ltd. UNLOCKING SIGNALING IN VIDEO CODING
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
WO2021209061A1 (en) 2020-04-17 2021-10-21 Beijing Bytedance Network Technology Co., Ltd. Presence of adaptation parameter set units
EP4128775A4 (en) * 2020-04-26 2024-03-27 ByteDance Inc. CONDITIONAL SIGNALING OF SYNTAX ELEMENTS OF A VIDEO CODING

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102461171A (zh) * 2009-05-01 2012-05-16 汤姆森特许公司 三维视频的参考画面列表
WO2013001730A1 (ja) * 2011-06-30 2013-01-03 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法および画像復号方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8275045B2 (en) 2006-07-12 2012-09-25 Qualcomm Incorporated Video compression using adaptive variable length codes
CN101627634B (zh) 2006-10-16 2014-01-01 诺基亚公司 用于将可并行解码片用于多视点视频编码的系统和方法
US8432975B2 (en) 2008-01-18 2013-04-30 Mediatek Inc. Apparatus and method for processing a picture frame
TWI375472B (en) 2008-02-04 2012-10-21 Ind Tech Res Inst Intra prediction method for luma block of video
EP3512202A1 (en) 2008-04-25 2019-07-17 Interdigital VC Holdings, Inc Inter-view skip modes with depth
US8705624B2 (en) 2009-11-24 2014-04-22 STMicroelectronics International N. V. Parallel decoding for scalable video coding
GB2488159B (en) 2011-02-18 2017-08-16 Advanced Risc Mach Ltd Parallel video decoding
JP5664762B2 (ja) * 2011-03-17 2015-02-04 富士通株式会社 動画像復号方法、動画像符号化方法、動画像復号装置及び動画像復号プログラム
JP6061150B2 (ja) 2011-03-18 2017-01-18 ソニー株式会社 画像処理装置、画像処理方法、及び、プログラム
WO2012176684A1 (ja) 2011-06-22 2012-12-27 ソニー株式会社 画像処理装置および方法
EP2745514A1 (en) 2011-08-19 2014-06-25 Telefonaktiebolaget LM Ericsson (PUBL) Motion vector processing
US9288506B2 (en) 2012-01-05 2016-03-15 Qualcomm Incorporated Signaling view synthesis prediction support in 3D video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102461171A (zh) * 2009-05-01 2012-05-16 汤姆森特许公司 三维视频的参考画面列表
WO2013001730A1 (ja) * 2011-06-30 2013-01-03 三菱電機株式会社 画像符号化装置、画像復号装置、画像符号化方法および画像復号方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
3D-CE5.h related: Restricted motion vector coding for inter-view prediction;Tadashi Uchiumi;《Joint Collaborative Team on 3D Video Coding Extension DevelopmentJCT3V-B0113》;JCT3V-B0113;20121019;第1页第1行至第3页第7行
Disparity vector restrictions;Tomohiro Ikai;《Joint Collaborative Team on 3D Video Coding Extension DevelopmentJCT3V-B0112》;JCT3V-B0112;20121019;第1页第1行至第5页第17行,附图1-4
MV-HEVC: Vertical length restriction of inter-view vector for HEVC simple 3D extension;Ohji Nakagami;《Joint Collaborative Team on 3D Video Coding Extension DevelopmentJCT3V-B0037》;JCT3V-B0037;20121019;全文

Also Published As

Publication number Publication date
BR112015016011A2 (pt) 2017-07-11
BR112015016011B1 (pt) 2023-03-28
US10021414B2 (en) 2018-07-10
JP2016507969A (ja) 2016-03-10
EP2941875A1 (en) 2015-11-11
CN104885458A (zh) 2015-09-02
KR20150104129A (ko) 2015-09-14
WO2014107565A1 (en) 2014-07-10
KR102266364B1 (ko) 2021-06-16
JP6416115B2 (ja) 2018-10-31
US20140192885A1 (en) 2014-07-10
TW201444349A (zh) 2014-11-16
TWI544788B (zh) 2016-08-01

Similar Documents

Publication Publication Date Title
CN104885458B (zh) 用于视图间或层间参考图片的位流约束和运动向量限制
CN105556969B (zh) 视频译码中使用视差向量的块识别
CN104584558B (zh) 用于3d视频的视图间预测的运动向量
CN105637870B (zh) 使用不对称运动分割的视频译码技术
CN104904218B (zh) 视差矢量推导
CN105637878B (zh) 在视频译码中用于基于子解码图片缓冲器(sub-dpb)的dpb操作的传信
CN105379288B (zh) 处理对视频译码的照明补偿
CN104322070B (zh) 用于高效率视频译码的高级别语法扩展
JP6434012B2 (ja) 3d−hevcのための簡素化された高度動き予測
CN104170381B (zh) 在高效率视频译码及其扩展中的运动矢量译码及双向预测
JP6151442B2 (ja) 3dビデオコーディング用の結合双予測マージング候補
CN105874799B (zh) 用于3d视频译码的基于块的高级残差预测
CN104956678B (zh) 用于三维视频的高级合并/跳过模式及高级运动向量预测(amvp)模式
CN104838656B (zh) 解码与编码视频数据的方法、视频译码器以及计算机可读存储媒体
US9948915B2 (en) Sub-PU motion prediction for texture and depth coding
CN104904213B (zh) 可缩放及多视角视频译码中的高级残差预测
CN104904217B (zh) 用于视频译码扩展的时间运动向量预测
JP5992640B2 (ja) ビデオコード化における参照ピクチャリストのためのビュー間予測の無効化
CN105580374B (zh) 一种对多层视频数据进行编解码的方法、视频解码设备及存储媒体
JP2015532067A (ja) 3d映像に関するインタービュー動き予測
TW201440505A (zh) 視訊寫碼中之運動向量預測
JP6352271B2 (ja) 高効率ビデオコーディングに基づくスケーラブルコーディングのための動きフィールドアップサンプリング
CN106105190A (zh) 用于3d‑hevc的简化高级残余预测
CN105393539A (zh) 用于纹理及深度译码的子pu运动预测

Legal Events

Date Code Title Description
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant