CN105637864B - 视频译码中的并行处理的指示 - Google Patents

视频译码中的并行处理的指示 Download PDF

Info

Publication number
CN105637864B
CN105637864B CN201480056256.2A CN201480056256A CN105637864B CN 105637864 B CN105637864 B CN 105637864B CN 201480056256 A CN201480056256 A CN 201480056256A CN 105637864 B CN105637864 B CN 105637864B
Authority
CN
China
Prior art keywords
data
layer
video
vps
picture
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
CN201480056256.2A
Other languages
English (en)
Other versions
CN105637864A (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 CN105637864A publication Critical patent/CN105637864A/zh
Application granted granted Critical
Publication of CN105637864B publication Critical patent/CN105637864B/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/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/43Hardware specially adapted for motion estimation or compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

在一实例中,一种解码视频数据的方法包含:从多层位流的视频参数集VPS解码指示用于所述多层位流的层的图块配置或用于所述多层位流的层的并行处理配置中的至少一者的数据。所述方法还包含根据从所述VPS解码的所述数据解码所述多层位流。

Description

视频译码中的并行处理的指示
本申请案主张2013年10月14日申请的美国临时申请案第61/890,763号的权利,所述美国临时申请案的全部内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码,且更特定地说涉及用于视频译码中的并行处理的技术。
背景技术
数字视频能力可并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电电话(所谓“智能电话”)、视频电话会议装置、视频流式处理装置及其类似者。数字视频装置实施视频压缩技术,诸如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)所定义的标准、目前正在开发的高效率视频译码(HEVC)标准及此类标准的扩展中所描述的那些视频压缩技术。视频装置通过实施此类视频压缩技术可较有效地发射、接收、编码、解码及/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测及/或时间(图片间)预测来减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块(其也可被称作CTB、CU及/或译码节点)。图片的经帧内译码(I)的切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测予以编码。图片的经帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
空间或时间预测产生用于待译码块的预测性块。残余数据表示原始待译码块与预测性块之间的像素差。经帧间译码块是根据指向形成预测性块的参考样本的块的运动矢量及指示经译码块与预测性块之间的差的残余数据予以编码。经帧内译码块是根据帧内译码模式及残余数据予以编码。为了进行进一步压缩,可将残余数据从像素域变换到变换域,从而产生可接着进行量化的残余变换系数。可扫描最初布置成二维阵列的经量化变换系数以便产生变换系数的一维矢量,且可应用熵译码以实现甚至更多的压缩。
发明内容
大体来说,本发明描述用于视频译码的并行处理的技术。举例来说,本发明描述用于多层视频译码过程中的并行处理的技术,包含高效率视频译码(HEVC)标准的多层扩展。本发明的技术包含为视频译码过程提供并行处理工具的使用或可用性的提早指示(例如,以视频参数集(VPS)级别)。
在一实例中,一种解码视频数据的方法包含:从多层位流的视频参数集(VPS)解码指示用于所述多层位流的层的图块配置或用于所述多层位流的层的并行处理配置中的至少一者的数据;及根据从所述VPS解码的所述数据解码所述多层位流。
在另一实例中,一种编码视频数据的方法包含:在多层位流的视频参数集(VPS)中编码指示用于所述多层位流的层的图块配置或用于所述多层位流的层的并行处理配置中的至少一者的数据;及编码所述多层位流,包含编码所述多层位流的所述VPS。
在另一实例中,一种处理视频数据的设备包含:存储器,其存储多层视频数据;及视频译码器,其经配置以进行以下操作:处理指示用于所述多层视频数据的层的图块配置或用于所述多层视频数据的层的并行处理配置中的至少一者的数据,其中所述数据与包含所述多层视频数据的位流的视频参数集(VPS)相关联;及根据所述VPS的所述数据处理所述多层视频数据。
在另一实例中,一种执行视频数据的设备包含:用于处理指示用于多层位流的层的图块配置或用于所述多层位流的层的并行处理配置中的至少一者的数据的装置,其中所述数据与所述多层位流的视频参数集(VPS)相关联;及用于根据所述VPS的所述数据处理所述多层位流的装置。
在另一实例中,一种非暂时性计算机可读存储媒体具有存储在其上的指令,所述指令在执行时致使一或多个处理器进行以下操作:处理指示用于多层位流的层的图块配置或用于所述多层位流的层的并行处理配置中的至少一者的数据,其中所述数据与所述多层位流的视频参数集(VPS)相关联;及根据所述VPS的所述数据处理所述多层位流。
下文在随附图式及描述中阐述本发明的一或多个实例的细节。本发明的其它特征、目标及优势将从描述及图式以及权利要求书显而易见。
附图说明
图1为说明可利用本发明中所描述的技术的实例视频编码及解码系统的框图。
图2为说明可实施本发明中所描述的技术的实例视频编码器的框图。
图3为说明可实施本发明中所描述的技术的实例视频解码器的框图。
图4A为说明用于波前并行处理的同步点的实例的概念图。
图4B为说明用于波前并行处理的同步点的另一实例的概念图。
图5为说明用于视频块行的并行处理的实例同步点的概念图。
图6为说明根据HEVC标准的实例图块的概念图。
图7为说明实例多视图视频译码(MVC)预测样式的概念图。
图8为说明用于可伸缩视频译码(SVC)的各种可伸缩维度的概念图。
图9为说明SVC译码结构的实例的概念图。
图10为说明多层位流中的实例存取单元(AU)的概念图。
图11说明符合本发明的用于处理多层视频数据的技术。
图12说明符合本发明的用于处理多层视频数据的另一技术。
具体实施方式
本发明的方面可涉及用于视频译码中的并行处理工具的提早指示的各种技术,如下文较详细地所描述。在一些情况下,可通过对高效率视频译码(HEVC)标准的多层扩展执行所述技术,诸如对HEVC的多视图视频译码扩展(MV-HEVC)、对HEVC的多视图加上深度视频译码扩展(3D-HEVC)或对HEVC的可伸缩视频译码(SVC)扩展(SHVC),如下文所指出。然而,本发明的技术并不限于任何特定视频译码标准,且也可或替代地与对HEVC的其它扩展、其它多视图译码标准(具有或并无深度分量)及/或其它多层视频标准一起使用。另外,如下文所描述,可独立地或以组合应用本发明的技术。
并行处理工具可用于并行地编码或解码视频数据。举例来说,一些并行处理工具可允许并行地编码或解码单一视频图片的不同空间部分。出于说明的目的,在关于上文所提到的HEVC标准的实例中,可使用波前并行处理(WPP)实现并行处理。WPP为视频译码技术,借此大约在相同时间(即,并行地)编码及/或解码两行或两行以上视频块(例如,经译码树型块(CTB)行,如下文所描述)。
归因于帧内预测、帧间预测及某些语法元素分析中的帧间相依性,可使用WPP同步块行的并行解码。即,当前块行中的视频块可使用来自当前块行上方的块行中的视频块的经译码信息。当并行地处理两个块行时,视频解码器可使两个行中的块之间的处理同步,以确保已在上部块行中译码由下部块行所要求的数据。就此来说,可将WPP过程视为分裂成包含位流分析过程及重构过程的两个主要过程。重构过程可包含块行之间的同步。
另一并行处理技术包含使用所谓图块以用于译码视频。举例来说,HEVC将图块定义为在图块的光栅扫描中连续地排序的共同出现在一个列及一个行中的整数数目个块。每一图片到图块的划分可被称作分割。在图片的图块光栅扫描中连续地排序图片中的图块。可针对整个序列定义或在图片间改变图块的数目及图块的边界的位置。类似于切片边界,图块边界破坏分析及预测相依性,使得可独立于另一图块处理图块。然而,在一些情况下,环路内滤波器(例如,解块及样本自适应偏移(SAO)滤波器)仍可横跨图块边界。
使用图块可增强并行性,这是因为在用于熵解码及运动补偿重构的处理器或处理器核心之间并不需要通信(或需要相对较少通信)。因此,可由不同处理器或处理器核心处理图片的不同图块。另外,相比于切片,图块可展现相对较好的译码效率,这是因为图块允许含有具有可能高于切片的相关性的样本的图片分割形状。图块也可减少切片标头开销。
虽然上文所描述的WPP及图块技术可在特定层内提供并行处理,但在一些情况下,也可并行地编码或解码视频数据的多个层。视频数据的“层”可大体上指具有至少一个共同特性(诸如,视图、帧速率、分辨率或其类似者)的图片序列。举例来说,层可包含与多视图视频数据的特定视图(例如,透视图)相关联的视频数据(例如,如下文关于图7所描述)。作为另一实例,层可包含与可伸缩视频数据的特定层相关联的视频数据(例如,如下文关于图8到10所描述)。因此,本发明可互换地指视频数据的层及视图。即,视频数据的视图可被称作视频数据的层,且反之亦然。此外,术语视图间预测及层间预测可互换地指视频数据的多个层及/或视图之间的预测。另外,多层编解码器(也被称作多层视频译码器或多层编码器-解码器)可共同指多视图编解码器或可伸缩编解码器(例如,经配置以使用MV-HEVC、3D-HEVC、SHVC或另一多层译码技术编码及/或解码视频数据的编解码器)。
在一些情况下,可使用偏移延迟并行地译码视频数据的多个层。偏移延迟可大体上指与并行地处理(例如,编码或解码)多个层相关联的延迟。举例来说,视频解码器可并行地解码多层位流的一个以上层。然而,当使用层间预测技术解码当前层时,视频解码器可存取不同于当前层的参考层的参考数据。参考数据必须可用(例如,经解码)以便用作用于解码当前层的层间参考。因此,大体来说,视频解码器在解码参考多层解码方案中的参考层中的一或多者的层之前结束所有所述参考层的解码。
不是等待结束(例如,解码)整个参考层,而是视频解码器可延迟起始对当前层的解码,直到已解码参考层中的至少一些为止。偏移延迟可大体上指示在视频解码器开始解码当前层之前应解码的参考层的最小量。实施偏移延迟可有助于确保层间参考数据可用于用作参考,但仍允许并行地解码参考层的至少一部分及当前层。举例来说,一旦实现指定参考层偏移延迟,并行解码器就可起始解码增强层。虽然上文实例涉及视频解码(如由并行解码器所执行)加以描述,但应理解,可由视频编码器在并行编码期间应用类似技术。
HEVC及HEVC扩展(例如,MV-HEVC、3D-HEVC或SHVC)的设计可展现某些缺点。举例来说,当横跨层使用时,图块及WPP的某些配置可影响管线设计(例如,横跨层的资源分配)及编解码器的实施。在一些情况下,管线设计可需要针对图块及WPP的不同配置改变。举例来说,当使用图块执行层间预测时,应由同一处理资源(例如,同一处理核心)处理层中具有同一相对空间位置的图块,使得并不需要由不同处理核心存取用于层间预测的数据。另外,在一些情况下,对于不同层,存储器、周期及延迟要求可不同。
可通常通过分析每一层的有效图片参数集(PPS)导出对上文所描述的并行译码工具(例如,图块及/或WPP)的横跨层利用。然而,从PPS分析此类信息可并非直接过程且可引入延迟,这是因为仅在激活过程已开始之后(例如,在解码特定层内的图片时)已知有效PPS的内容。此外,发现用于经译码视频序列的所有相关PPS并分析PPS可要求计算上繁重的分析努力。
HEVC设计及相关扩展(例如,MV-HEVC、3D-HEVC及/或SHVC)的另一潜在问题为:当为并行性而横跨层(例如,在多层视频数据的一个以上层中)使用图块时,可横跨图块边界应用环路滤波器。环路滤波器可包含视频译码过程中所使用以改进视频质量的解块滤波器或其它滤波器。尽管潜在用于改进视频质量,但允许横跨图块边界应用环路滤波器可影响并行性并引入延迟。举例来说,如果横跨图块应用环路滤波,那么归因于环路滤波可改变特定图块的块,此情况可为使用那个图块执行层间预测带来问题。
本发明描述用于发信与并行处理相关的信息的技术。本发明的技术可允许视频解码器在经译码视频序列的解码过程中的相对提早点处横跨经译码视频序列的层确定图块的配置及/或WPP配置。另外,本发明的技术可允许视频解码器在解码过程中的相对提早点处确定是否可横跨图块边界应用环路滤波器。在一些情况下,在解码过程中相对提早确定此类信息可允许视频解码器较有效地指派系统资源并减少延迟(例如,相对于在另一位置(诸如,PPS)中提供此类信息,如上文所描述)。即,并行处理信息允许视频解码器确定是否使用并行译码工具,且如果如此,那么确定实施并行译码工具的方式。
在一些实例中,可在视频参数集(VPS)中提供并行处理信息,如下文较详细地所描述。在其它实例中,可在VPS视频可用性信息(VUI)中提供并行处理信息,如下文较详细地所描述。在解码过程中相对提早解码VPS(例如,相对于PPS)。因此,根据本发明的方面且如下文较详细地所描述,VPS(或VPS VUI)的并行处理信息可提供对译码期间所使用的并行处理信息的提早指示。即,VPS的并行处理信息可补充PPS中可提供且译码期间所使用的其它并行处理信息。举例来说,VPS(或VPS VUI)的并行处理信息可提供对包含在PPS中的并行处理信息的提早指示。以此方式,如下文较详细地所描述,视频解码器可解码来自VPS(或VPSVUI)的并行处理信息、确定并行处理译码工具是否(及/或如何)用于多层位流,及基于来自VPS的并行处理信息的信息分配解码资源。视频解码器可接着使用由VPS所指示的PPS的并行处理信息开始解码多层位流。
根据本发明的方面,视频解码器可经配置以分析对应于视频数据的一或多个语法元素,其中一或多个语法元素指示图块配置、环路滤波器配置及并行处理配置中的一或多者,并根据所述一或多个语法元素对视频数据执行并行解码。
图1为说明可利用本发明中所描述的用于并行视频处理的技术的实例视频编码及解码系统10的框图。如图1所展示,系统10包含源装置12,其产生稍后由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手机(诸如,所谓“智能”电话)、所谓“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式处理装置或其类似者。在一些状况下,源装置12及目的地装置14可经配备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包括使得源装置12能够实时将经编码视频数据直接发射到目的地装置14的通信媒体。可根据通信标准(诸如,无线通信协议)调制经编码视频数据,并将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,诸如射频(RF)频谱或一或多个物理传输线。通信媒体可形成基于分组的网络(诸如,局域网、广域网或诸如因特网的全局网络)的部分。通信媒体可包含路由器、交换机、基站,或可用以促进从源装置12到目的地装置14的通信的任何其它装备。
替代地,可将经编码数据从输出接口22输出到存储装置32。类似地,可由输入接口从存储装置32存取经编码数据。存储装置32可包含多种分布式或本地存取式数据存储媒体中的任一者,诸如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪速存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另一实例中,存储装置32可对应于可保持由源装置12所产生的经编码视频的文件服务器或另一中间存储装置。目的地装置14可经由流式处理或下载从存储装置32存取经存储视频数据。文件服务器可为能够存储经编码视频数据并将那个经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含万维网服务器(例如,用于网站)、FTP服务器、网络连接存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)存取经编码视频数据。此数据连接可包含适合于存取存储在文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等等),或两者的组合。经编码视频数据从存储装置32的发射可为流式处理发射、下载发射或两者的组合。
本发明的技术未必限于无线应用或设置。所述技术可应用于支持多种多媒体应用(诸如,(例如)经由因特网的空中电视广播、有线电视发射、卫星电视发射、流式处理视频发射)中的任一者的视频译码、供存储在数据存储媒体上的数字视频的编码、存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射以支持诸如视频流式处理、视频回放、视频广播及/或视频电话的应用。
在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。在一些状况下,输出接口22可包含调制器/解调器(调制解调器)及/或发射器。在源装置12中,视频源18可包含诸如视频捕获装置(例如,视频相机)、含有先前所捕获视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口,及/或用于将计算机图形数据产生为源视频的计算机图形系统的源,或此类源的组合。作为一个实例,如果视频源18为视频相机,那么源装置12及目的地装置14可形成所谓相机电话或视频电话。然而,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线及/或有线应用。
可由视频编码器20编码所捕获、预捕获或计算机产生的视频数据。可经由源装置12的输出接口22直接将经编码视频数据发射到目的地装置14。经编码视频数据也可(或替代地)存储在存储装置32上,以供稍后由目的地装置14或其它装置存取而用于解码及/或回放。
目的地装置14包含输入接口28、视频解码器30及显示装置33。在一些状况下,输入接口28可包含接收器及/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或在存储装置32上所提供的经编码视频数据可包含由视频编码器20所产生的多种语法元素,其供诸如视频解码器30的视频解码器在解码所述视频数据时使用。此类语法元素可与通信媒体上发射、存储在存储媒体上或存储在文件服务器上的经编码视频数据一起被包含。
显示装置33可与目的地装置14整合在一起或在目的地装置外部。在一些实例中,目的地装置14可包含整合式显示装置且也经配置以与外部显示装置进行接口连接。在其它实例中,目的地装置14可为显示装置。大体来说,显示装置33向用户显示经解码视频数据,且可包括多种显示装置中的任一者,诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器整合,且可包含适当MUX-DEMUX单元或其它硬件及软件,以处置共同数据流或单独数据流中的音频及视频两者的编码。适用时,在一些实例中,MUX-DEMUX单元可符合ITU H.223多路复用器协议或其它协议(诸如,用户数据报协议(UDP))。
视频编码器20及视频解码器30各自可被实施为多种合适编码器电路中的任一者,诸如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当技术部分地以软件予以实施时,装置可将用于软件的指令存储在合适非暂时性计算机可读媒体中,且使用一或多个处理器以硬件执行所述指令,以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含在一或多个编码器或解码器中,编码器或解码器中的任一者可被整合为相应装置中的组合式编码器/解码器(编解码器)的部分。
本发明可大体上涉及视频编码器20将某些信息“发信”到诸如视频解码器30的另一装置。然而,应理解,视频编码器20可通过将某些语法元素与视频数据的各种经编码部分相关联来发信信息。即,视频编码器20可通过将某些语法元素存储到视频数据的各种经编码部分的标头来“发信”数据。在一些状况下,可在由视频解码器30接收并解码之前编码并存储此类语法元素。因此,术语“发信”可大体上指用于解码经压缩视频数据的语法或其它数据的通信,而不管此类通信是实时或几乎实时发生还是历时一时间跨度而发生,诸如,可在编码时在将语法元素存储到媒体时发生发信,接着可由解码装置在将语法元素存储到此媒体之后的任何时间检索语法元素。
视频编码器20及视频解码器30可根据视频压缩标准(诸如,由ITU-T视频译码专家群组(VCEG)及ISO/IEC运动图片专家群组(MPEG)的视频译码联合合作小组(JCT-VC))开发的HEVC标准)而操作。HEVC描述于ITU-T H.265(系列H:视听及多媒体系统,视听服务的基础结构—移动视频的译码,“高效率视频译码”,2013年4月)中。一个HEVC草案规范(且在下文中被称作HEVC WD)可从http://phenix.int-evry.fr/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1003-v1.zip得到。
已提出对HEVC的各种扩展。举例来说,正由JCT-3V开发对HEVC的多视图扩展(即,MV-HEVC)及用于较高级3D视频译码的另一HEVC扩展(3D-HEVC)。同时,正由JCT-VC开发对HEVC的可伸缩视频译码扩展(即,SHVC)。
MV-HEVC的最近工作草案(WD)(在下文中被称作MV-HEVC WD5)可从http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1004-v6.zip得到。3D-HEVC的最近WD(在下文中被称作3D-HEVC WD1)可从http://phenix.it-sudparis.eu/jct2/doc_end_user/documents/5_Vienna/wg11/JCT3V-E1001-v3.zip得到。SHVC的最近WD(且在下文中被称作SHVC WD3)可从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/14_Vienna/wg11/JCTVC-N1008-v3.zip得到。对HEVC的另一扩展为描述于“高效率视频译码(HEVC)范围扩展文字规范:草案4”(JCTVC-N1005_v1,2013年4月)(在下文中为“JCTVC-N1005”)中的HEVC范围扩展。
然而,本发明的技术并不限于任何特定译码标准。因此,本发明的技术可应用于并行处理的指示可合乎需要的多种译码标准中的任一者。
作为一实例,关于HEVC,标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的演进模型。HM根据(例如)ITU-T H.264/AVC假定视频译码装置相对于现有装置的若干额外能力。举例来说,尽管H.264提供九个帧内预测编码模式,但HM可提供多达三十三个帧内预测编码模式。
大体来说,HEVC HM的工作模型描述可将视频帧或图片划分成包含亮度样本及色度样本两者的译码树型块(CTB)或最大译码单元(LCU)序列。在许多实例中,CTB为样本(例如,亮度样本或色度样本)的N×N块。CTB具有类似于H.264标准的宏块的目的。切片包含按译码次序的数个连续CTB。可将视频帧或图片分割成一或多个切片。可根据四叉树将每一CTB分裂成译码单元(CU)。举例来说,作为四叉树的根节点的CTB可分裂成四个子节点,且每一子节点又可为父节点并分裂成另四个子节点。作为四叉树的叶节点的最后未分裂子节点包括译码节点(即,经译码视频块)。与经译码位流相关联的语法数据可定义CTB可分裂的最大次数,且也可定义译码节点的最小大小。
CU包含译码节点以及与所述译码节点相关联的预测单元(PU)及变换单元(TU)。CU的大小大体上对应于译码节点的大小,且通常必须为方形形状。CU的大小可在从8×8像素到高达具有最大64×64像素或大于64×64像素的CTB的大小的范围内。每一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相关联的像素差值可经变换以产生可经量化的变换系数。
大体来说,PU包含与预测过程相关的数据。举例来说,当PU经帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的运动矢量的数据。定义PU的运动矢量的数据可描述(例如)运动矢量的水平分量、运动矢量的垂直分量、运动矢量的分辨率(例如,四分之一像素精确度或八分之一像素精确度)、运动矢量所指向的参考图片,及/或运动矢量的参考图片列表(例如,列表0、列表1或列表C)。
大体来说,TU用于变换及量化过程。具有一或多个PU的给定CU也可包含一或多个变换单元(TU)。在预测之后,视频编码器20可根据PU从由译码节点所识别的视频块计算残余值。接着,更新译码节点以参考残余值而非原始视频块。残余值包括像素差值,可使用TU中所指定的变换及其它变换信息将所述像素差值变换成变换系数,将其量化并扫描,以产生经串行化变换系数以供熵译码。可再次更新译码节点,以指这些经串行化变换系数。本发明通常使用术语“视频块”以指CTB、LCU或包含译码节点以及PU及TU的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%。CU的对应于25%分割的部分是由其后接着“上”、“下”、“左”或“右”的指示的“n”指示。因此,举例来说,“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所指定的变换的残余数据。残余数据可对应于未经编码图片的像素与对应于CU的预测值之间的像素差。视频编码器20可形成用于CU的残余数据,且接着变换残余数据以产生变换系数。
在进行用以产生变换系数的任何变换之后,视频编码器20可对变换系数执行量化。量化大体上是指量化变换系数以可能地减少用以表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位值降值舍位到m位值,其中n大于m。
在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化变换系数以产生可经熵编码的经串行化矢量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化变换系数以形成一维矢量之后,视频编码器20可(例如)根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法来对一维矢量进行熵编码。视频编码器20也可熵编码用于由视频解码器30在解码视频数据时使用的与经编码视频数据相关联的语法元素。
如上文所提到,本发明的技术可用于提供并行译码工具的提早指示,诸如使用图块及/或WPP译码视频数据。举例来说,典型的位流配置可为如下各者:视频参数集(VPS)、VPS扩展、序列参数集(SPS)、SPS扩展、图片参数集(PPS)、PPS扩展、切片标头、视频有效负载。在一些情况下,可在PPS及/或PPS扩展中指示并行译码工具。
在一些情况下,本发明的技术可用于将由视频解码器所接收的(例如)VPS中并行译码工具是否用于多层位流的层内的提早指示提供到视频解码器。举例来说,VPS的并行处理信息可补充PPS中可提供且译码期间所使用的其它并行处理信息,由此提供对包含在PPS中的并行处理信息的提早指示(例如,因为在PPS之前解码VPS的信息)。
根据本发明的方面,所述技术可允许视频解码器(诸如,视频解码器30)有效地指派用于解码多层视频数据的解码资源并减少总解码延迟。举例来说,视频编码器20可编码(且视频解码器30可解码)指示用于多层位流的层的图块配置及/或用于多层位流的层的并行处理配置的VPS及/或VPS VUI的数据。特定地说,关于并行处理配置,数据可指示是否执行并行处理同步(例如,熵译码同步,如WPP中所执行)。
大体来说,VPS可包含描述经译码视频序列的总特性的数据,包含子层之间的相依性。VPS的一个目的可为实现特定标准在系统层处发信方面的兼容可扩展性。VPS通常必须包含在多层位流中以用于解码位流。另外或替代地,VPS可包含定义视频可用性信息(VUI)的数据,诸如视频表示信息、假想参考解码器(HRD)参数及/或位流限制信息。位流限制信息可包含对运动矢量范围、经解码图片缓冲器(DPB)大小(例如,在由DPB保持图片的数目方面)、重新排序帧的数目(即,待从解码次序重新排序到显示次序的帧数目的指示)、经译码块的大小(例如,宏块(MB)或译码树型单元)及经译码图片的大小的限制。VPS可进一步为一或多个VPS扩展提供数据,使得可由未来标准或对即将到来HEVC标准的扩展来扩展VPS。在本发明中,适用时,缩略词VPS可共同指VPS及VPS VUI两者。
下文的表1中说明用于指示每一层的图块及WPP的配置的实例VPS VUI。下文(例如)关于图4A到5较详细地描述WPP。下文(例如)关于图6较详细地描述图块。根据本发明的方面,视频编码器20可编码表1中所展示的语法元素,并将经编码语法元素包含在经编码位流中。同样地,视频解码器30可分析并解码来自经编码位流的语法元素。
表1—VPS VUI实例#1
等于1的值的语法元素tiles_enabled_vps_flag[i]指示对于由VPS所指定的第i层的至少一个图片所参考(例如,相关联)的每一PPS,tiles_enabled_flag的值等于1。等于值0的语法元素tiles_enabled_vps_flag[i]指示对于由VPS所指定的第i层的至少一个图片所参考(例如,相关联)的每一PPS,tiles_enabled_flag的值等于0。
等于1的语法元素tiles_enabled_flag指定参考PPS的每一图片中存在一个以上图块。等于0的值的语法元素tiles_enabled_flag指定参考PPS的每一图片中仅存在一个图块。
等于1的语法元素loop_filter_across_tiles_disabled_vps_flag[i]指示对于由VPS所指定的第i层的至少一个图片参考(例如,相关联)的每一PPS,loop_filter_across_tiles_enabled_flag的值等于0。等于0的值的语法元素loop_filter_across_tiles_enabled_vps_flag[i]指示可或可不应用上文约束。
等于1的语法元素loop_filter_across_tiles_enabled_flag指定正横跨图块边界执行环路内滤波操作。等于0的值的语法元素loop_filter_across_tiles_enabled_flag指定并未横跨图块边界执行环路内滤波操作。环路内滤波操作可包含解块滤波器及样本自适应偏移滤波器操作。当不存在(例如,语法元素loop_filter_across_tiles_enabled_flag并不包含在位流中)时,推断语法元素loop_filter_across_tiles_enabled_flag的值等于1。
等于1的语法元素entropy_coding_sync_enabled_vps_flag[i]指示对于由VPS所指定的第i层的至少一个图片参考(例如,相关联)的每一PPS,entropy_coding_sync_enabled_flag的值等于1。等于0的语法元素entropy_coding_sync_enabled_vps_flag[i]指示对于由VPS所指定的第i层的至少一个图片参考(例如,相关联)的每一PPS,entropy_coding_sync_enabled_flag的值等于0。
等于1的语法元素entropy_coding_sync_enabled_flag指定在解码参考PPS的每一图片中的每一图块中的译码树型块行的第一译码树型块之前调用用于上下文变量的特定同步过程,并在解码参考PPS的每一图片中的每一图块中的译码树型块行的两个译码树型块之后调用用于上下文变量的特定记忆过程。等于0的值的语法元素entropy_coding_sync_enabled_flag指定在解码参考PPS的每一图片中的每一图块中的译码树型块行的第一译码树型块之前并不要求调用用于上下文变量的特定同步过程,且在解码参考PPS的每一图片中的每一图块中的译码树型块行的两个译码树型块之后并不要求调用用于上下文变量的特定记忆过程。
因此,在接收到包含在上文的表1的实例中的语法元素后,视频解码器30就可确定用于多层位流的层的图块配置及/或并行处理配置。举例来说,对于从0到最大数目个层的每一层(例如,对于(i=0;i<=vps_max_layers_minus1;i++),视频解码器30可从经编码位流的VPS获得指示层中的至少一个图片中是否启用图块的数据(例如,tiles_enabled_vps_flag[i]语法元素)。另外,对于启用图块的每一层(例如,if(tiles_enabled_vps_flag[i])),视频解码器30也可获得指示是否横跨图块边界应用环路滤波或是否停用横跨图块边界的环路滤波的数据(例如,loop_filter_across_tiles_disabled_vps_flag[i]语法元素)。
另外,视频解码器30也可获得指示并行处理配置的数据。举例来说,视频解码器30可获得指示是否执行熵译码同步(例如,经由WPP)的数据(例如,entropy_coding_sync_enabled_vps_flag[i])。在其它实例中,具有不同命名约定的语法元素可用于传达图块配置及/或并行处理配置。
在另一实例中,本发明的技术包含发信/读取VPS中的图块跨层对准以及WPP及环路滤波器配置(例如,横跨图块边界的环路滤波器使用,loopfilter_accross_tile_boundary)的指示。在第一实例中,可使用于每一层的图块及WPP配置的指示处于如下文的表2中所展示的经修改VPS VUI中。视频编码器20可编码表2中所展示的语法元素并将经编码语法元素包含在经编码位流中。同样地,视频解码器30可分析并解码来自经编码位流的语法元素。
表2—VPS VUI实例#2
语法元素parallel_tools_vps_idc等于0指示对于图片,语法元素tiles_enabled_flag及语法元素entropy_coding_sync_enabled_flag两者皆等于0。语法元素parallel_tools_vps_idc等于1指示对于所有层中的图片,语法元素entropy_coding_sync_enabled_flag等于1且语法元素tiles_enabled_flag等于0。语法元素parallel_tools_vps_idc等于2指示对于所有层中的图片,语法元素tiles_enabled_flag等于1且语法元素entropy_coding_sync_enabled_flag等于0。语法元素parallel_tools_vps_idc等于3指示对于零或零以上层中的图片,语法元素tiles_enabled_flag可等于1且对于零或零以上层中的图片,语法元素entropy_coding_sync_enabled_flag可等于1。
下文的表3及4展示VPS VUI可经修改以指示图块及WPP的配置的方式的额外实例。根据本发明的方面,视频编码器20可编码表3及表4中所展示的语法元素,并将经编码语法元素包含在经编码位流中。同样地,视频解码器30可分析并解码来自经编码位流的语法元素。
表3—VPS VUI实例#3
等于0的值的语法元素parallel_tools_vps_idc[i]指示对于参考有效PPS的第i层的图片,语法元素tiles_enabled_flag及语法元素entropy_coding_sync_enabled_flag两者皆等于0。等于1的语法元素parallel_tools_vps_idc[i]指示对于参考有效PPS的第i层的图片及其所有直接参考层图片,语法元素entropy_coding_sync_enabled_flag等于1。等于2的语法元素parallel_tools_vps_idc[i]指示对于参考有效PPS的第i层的图片及其所有直接参考层图片,语法元素tiles_enabled_flag等于1。等于3的语法元素parallel_tools_vps_idc[i]指示当对于第i层的图片,语法元素tiles_enabled_flag等于1时,接着其直接参考层中的至少一者具有语法元素entropy_coding_sync_enabled_flag=1,且当对于第i层的图片,语法元素entropy_coding_sync_enabled_flag=1时,接着其直接参考层中的至少一者具有等于1的语法元素tiles_enabled_flag。
表4—VPS VUI实例#4
等于1的语法元素tile_entropy_sync_coding_not_mixed_flag[i][j]指示在CVS内,当对于第i层的有效PPS,语法元素tiles_enabled_flag等于1时,对于第i层的第j直接参考层的有效PPS,语法元素entropy_coding_sync_enabled_flag等于0,或当对于第i层的有效PPS,语法元素entropy_coding_sync_enabled_flag等于1时,对于第i层的第j直接参考层的有效PPS,语法元素tiles_enabled_flag等于0。等于0的值的语法元素tile_entropy_sync_coding_not_mixed_flag[i][j]指示可或可不应用此类限制。在此类实例中,一或多个额外语法元素可用于指示是否应用所述限制。
等于1的语法元素loopfilter_across_tile_boundary_not_mixed_flag[i][j]指示在CVS内,当对于第i层的有效PPS,语法元素loop_filter_across_tiles_enabled_flag等于1时,对于第i层的第j直接参考层的有效PPS,语法元素loop_filter_across_tiles_enabled_flag也等于1。等于0的值的语法元素loopfilter_across_tile_boundary_not_mixed_flag[i][j]指示可或可不应用此类限制。在此类实例中,一或多个额外语法元素可用于指示是否应用所述限制。
以此方式,视频编码器20可在多层位流的视频参数集(VPS)中编码指示用于多层位流的层的图块配置的数据或指示用于多层位流的层的并行处理配置的数据中的至少一者。同样地,视频解码器30可从多层位流的视频参数集(VPS)解码指示用于多层位流的层的图块配置的数据或指示用于多层位流的层的并行处理配置的数据中的至少一者。
图2为说明可实施本发明中所描述的技术的实例视频编码器20的框图。特定地说,视频编码器20可经配置以根据本发明的技术编码多层位流的数据。如上文所提到,视频编码器20可适应于执行多视图及/或可伸缩视频译码。举例来说,视频编码器20可经配置以编码符合一或多个视频译码标准扩展(诸如,SHVC、MV-HEVC或3D-HEVC)的位流。然而,虽然参考特定译码标准,但应理解,所述技术并不特定于任何一个译码标准,且可通过未来及/或尚未开发的标准加以实施。
在图2的实例中,视频编码器20包含分割单元35、视频数据存储器37、预测处理单元41、参考图片存储器64、求和器50、变换处理单元52、量化单元54及熵编码单元56。预测处理单元41包含运动估计单元42、运动补偿单元44及帧内预测处理单元46。为了进行视频块重构,视频编码器20还包含反量化单元58、反变换处理单元60、求和器62及参考图片存储器64(其也可被称作经解码图片缓冲器(DPB))及滤波单元66。
视频数据存储器37可存储待由视频编码器20的组件编码的视频数据。可(例如)从视频源18获得存储在视频数据存储器37中的视频数据。参考图片存储器64可被称作存储参考视频数据以用于由视频编码器20编码视频数据(例如,以帧内或帧间译码模式)的经解码图片缓冲器。视频数据存储器37及参考图片存储器64可由多种存储器装置中的任一者形成,诸如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器37及参考图片存储器64可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器37可与视频编码器20的其它组件一起在芯片上,或相对于那些组件在芯片外。
视频编码器20可对视频切片内的视频块执行帧内译码及帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。帧间模式(诸如,单向预测(P模式)或双向预测(B模式))可指若干基于时间的压缩模式中的任一者。
举例来说,如图2所展示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。此分割也可包含分割成切片、图块或其它较大单元以及(例如)根据LCU及CU的四叉树结构分割的视频块。视频编码器20大体上说明编码待编码视频切片内的视频块的组件。可将切片划分成多个视频块(且可能划分成被称作图块的视频块集合)。预测处理单元41可基于误差结果(例如,译码速率及失真程度)选择用于当前视频块的多个可能译码模式中的一者(诸如,多个帧内译码模式中的一者或多个帧间译码模式中的一者)。预测处理单元41可将所得的经帧内或帧间译码块提供到求和器50以产生残余块数据并提供到求和器62以重构经编码块以用于用作参考图片。
预测处理单元41内的帧内预测处理单元46可执行当前视频块相对于与待译码当前块在同一帧或切片中的一或多个相邻块的帧内预测性译码以提供空间压缩。预测处理单元41内的运动估计单元42及运动补偿单元44执行当前视频块相对于一或多个参考图片中的一或多个预测性块的帧间预测性译码以提供时间压缩。
运动估计单元42可经配置以根据视频序列的预定样式来确定用于视频切片的帧间预测模式。预定样式可将序列中的视频切片指定为P切片或B切片。运动估计单元42及运动补偿单元44可高度地整合,但出于概念目的而被单独地说明。由运动估计单元42所执行的运动估计为产生估计视频块的运动的运动矢量的过程。举例来说,运动矢量可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测性块的位移。
预测性块为发现在像素差方面紧密地匹配于待译码视频块的PU的块,所述像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差量度予以确定。在一些实例中,视频编码器20可计算存储在参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确度的运动矢量。
运动估计单元42通过比较PU的位置与参考图片的预测性块的位置而计算经帧间译码切片中的视频块的PU的运动矢量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述列表中的每一者识别存储在参考图片存储器64中的一或多个参考图片。运动估计单元42将所计算运动矢量发送到熵编码单元56及运动补偿单元44。
由运动补偿单元44所执行的运动补偿可涉及基于由运动估计所确定的运动矢量而提取或产生预测性块,可能执行到子像素精确度的内插。在接收到当前视频块的PU的运动矢量后,运动补偿单元44就可在参考图片列表中的一者中定位运动矢量所指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于块的残余数据,且可包含亮度及色度差分量两者。求和器50表示执行此减法运算的一或多个组件。运动补偿单元44也可产生与视频块及视频切片相关联的语法元素以供视频解码器30在解码视频切片的视频块时使用。
如上文所描述,作为由运动估计单元42及运动补偿单元44所执行的帧间预测的替代方案,帧内预测处理单元46可对当前块进行帧内预测。特定地说,帧内预测处理单元46可确定用以编码当前块的帧内预测模式。在一些实例中,帧内预测处理单元46可(例如)在单独编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测处理单元46(或在一些实例中为模式选择单元40)可从所测试模式选择待使用的适当帧内预测模式。举例来说,帧内预测处理单元46可使用对于各种所测试帧内预测模式的速率-失真分析来计算速率-失真值,且在所测试模式中选择具有最佳速率-失真特性的帧内预测模式。速率-失真分析大体上确定经编码块与原始未经编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测处理单元46可从各种经编码块的失真及速率计算比率以确定哪种帧内预测模式展现所述块的最佳速率-失真值。
在任何状况下,在选择用于块的帧内预测模式之后,帧内预测处理单元46可将指示用于块的所选择帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本发明的技术编码指示所选择帧内预测模式的信息。视频编码器20可在所发射的位流中包含配置数据,其可包含以下各者:多个帧内预测模式索引表及多个经修改帧内预测模式索引表(也被称作码字映射表);各种块的编码上下文的定义;及待用于所述上下文中的每一者的最可能帧内预测模式、帧内预测模式索引表及经修改帧内预测模式索引表的指示。
在预测处理单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含在一或多个TU中且应用于变换处理单元52。变换处理单元52使用诸如离散余弦变换(DCT)或概念上类似变换的变换将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域(诸如,频域)。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减少位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可接着执行对包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法或技术。在由熵编码单元56进行熵编码之后,经编码位流可被发射到视频解码器30,或经存档以供视频解码器30稍后进行发射或检索。熵编码单元56也可熵编码正被译码的当前视频切片的运动矢量及其它语法元素。
反量化单元58及反变换处理单元60分别应用反量化及反变换以重构像素域中的残余块以供稍后用作参考图片的参考块。运动补偿单元44可通过将残余块加到参考图片列表中的一者内的参考图片中的一者的预测性块来计算参考块。运动补偿单元44也可对经重构残余块应用一或多个内插滤波器以计算用于在运动估计中使用的子整数像素值。求和器62将经重构残余块加到由运动补偿单元44所产生的运动补偿预测块以产生用于存储在参考图片存储器64中的参考块。参考块可由运动估计单元42及运动补偿单元44用作参考块以帧间预测后续视频帧或图片中的块。
滤波单元66可执行多种滤波过程。举例来说,滤波单元66可执行解块滤波。即,滤波单元66可接收形成经重构视频的切片或帧的多个经重构视频块及滤波块边界,以从切片或帧移除块效应伪影。在一个实例中,滤波单元66评估视频块的所谓“边界强度”。基于视频块的边界强度,可相对于邻近视频块的边缘像素滤波视频块的边缘像素,使得观察者较难以感知从一个视频块到另一视频块的转变。
在一些情况下,可从经重构视频块导出由解块滤波器所使用的变量,而无需将经重构视频块与原始源视频块比较。因此,视频编码器20及视频解码器30(图3)可各自经编程以对具有关于经译码成位流的原始视频帧的最小额外信息的经重构视频块执行相同解块过程。然而,在一些状况下,滤波单元66可在位流中包含用以指示是否应执行解块及/或是否应执行特定类型的解块模式中的一者的语法元素。在其它实例中,滤波单元66可应用数个额外及/或替代滤波器,诸如样本自适应偏移(SAO)滤波器或其它滤波器。
根据本发明的方面,视频编码器20可经配置以编码指示用于多层位流的层的图块配置及/或并行处理配置的数据。举例来说,视频编码器20可经配置以编码指示用于多层位流的层的图块配置及/或用于多层位流的层的并行处理配置的VPS及/或VPS VUI的数据。特定地说,关于并行处理配置,数据可指示是否执行并行处理同步(例如,熵译码同步,如WPP中所执行)。
在一些实例中,指示图块配置及/或并行处理配置的数据可包含数个语法元素。举例来说,对于多层位流中的视频数据的每一层,视频编码器20可编码指示层中的至少一个图片中是否启用图块的一或多个语法元素(例如,上文的表1的实例中所展示的tiles_enabled_vps_flag[i]语法元素)。另外,对于启用图块的每一层,视频编码器20也可编码指示是否横跨图块边界应用环路滤波,或是否停用横跨图块边界的环路滤波的一或多个语法元素(例如,上文的表1的实例中所展示的loop_filter_across_tiles_disabled_vps_flag[i]语法元素)。在一些情况下,视频编码器20也可编码指示并行处理配置的一或多个语法元素。举例来说,视频编码器20可编码指示是否执行熵译码同步(例如,经由WPP)的一或多个语法元素(例如,上文的表1的实例中所展示的entropy_coding_sync_enabled_vps_flag[i]语法元素)。
图3为说明可实施本发明中所描述的技术的实例视频解码器30的框图。特定地说,视频解码器30可经配置以根据本发明的技术执行对视频数据的波前并行处理。如上文所提到,视频解码器30可适应于执行多视图及/或可伸缩视频译码。举例来说,视频解码器30可经配置以解码符合一或多个视频译码标准扩展(诸如,SHVC、MV-HEVC或3D-HEVC)的位流。然而,虽然参考特定译码标准,但应理解,所述技术并不特定于任何一个译码标准,且可通过未来及/或尚未开发的标准加以实施。
在图3的实例中,视频解码器30包含视频数据存储器79、熵解码单元80、预测处理单元81、反量化单元86、反变换处理单元88、求和器90、参考图片存储器92及滤波单元94。预测处理单元81包含运动补偿单元82及帧内预测处理单元84。在一些实例中,视频解码器30可执行大体上与关于来自图2的视频编码器20所描述的编码遍次可逆的解码遍次。
视频数据存储器79可存储待由视频解码器30的组件解码的视频数据(诸如,经编码视频位流)。可(例如)从计算机可读媒体(例如,从诸如相机的本地视频源),经由视频数据的有线或无线网络通信,或通过存取物理数据存储媒体获得存储在视频数据存储器79中的视频数据。视频数据存储器79可形成存储来自经编码视频位流的经编码视频数据的经译码图片缓冲器(CPB)。参考图片存储器92可被称作经解码图片缓冲器,其存储用于由视频解码器30在(例如)以帧内或帧间译码模式解码视频数据时使用的参考视频数据。视频数据存储器79及参考图片存储器92可由多种存储器装置中的任一者形成,诸如动态随机存取存储器(DRAM),包含同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)或其它类型的存储器装置。视频数据存储器79及参考图片存储器92可由同一存储器装置或单独存储器装置提供。在各种实例中,视频数据存储器79可与视频解码器30的其它组件一起在芯片上,或相对于那些组件在芯片外。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及关联语法元素的经编码视频位流。视频解码器30的熵解码单元80熵解码位流以产生经量化系数、运动矢量及其它语法元素。熵解码单元80将运动矢量及其它语法元素转递到预测处理单元81。视频解码器30可在视频切片级别及/或视频块级别处接收语法元素。
当视频切片经译码为经帧内译码(I)切片时,预测处理单元81的帧内预测处理单元84可基于来自当前帧或图片的先前经解码块的所发信帧内预测模式及数据产生用于当前视频切片的视频块的预测数据。在视频帧经译码为经帧间译码(即,B、P或GPB)切片时,预测处理单元81的运动补偿单元82基于从熵解码单元80所接收的运动矢量及其它语法元素产生当前视频切片的视频块的预测性块。可从参考图片列表中的一者内的参考图片中的一者产生预测性块。视频解码器30可基于存储在参考图片存储器92中的参考图片使用默认构造技术来构造参考帧列表(列表0及列表1)。
运动补偿单元82通过分析运动矢量及其它语法元素来确定用于当前视频切片的视频块的预测信息,并使用所述预测信息以产生经解码当前视频块的预测性块。举例来说,运动补偿单元82使用所接收语法元素中的一些以确定用以译码视频切片的视频块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片或P切片)、用于所述切片的参考图片列表中的一或多者的构造信息、用于所述切片的每一经帧间编码视频块的运动矢量、用于所述切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
运动补偿单元82也可基于内插滤波器执行内插。运动补偿单元82可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器,以计算参考块的子整数像素的内插值。在此状况下,运动补偿单元82可从所接收语法元素确定由视频编码器20所使用的内插滤波器并使用所述内插滤波器以产生预测性块。
反量化单元86反量化(即,解量化)位流中所提供并由熵解码单元80解码的经量化变换系数。反量化过程可包含使用由视频编码器20所计算的视频切片中的每一视频块的量化参数,以确定量化程度且同样地确定应被应用的反量化程度。反变换处理单元88对变换系数应用反变换(例如,反DCT、反整数变换或概念上类似的反变换过程),以便产生像素域中的残余块。
在运动补偿单元82基于运动矢量及其它语法元素产生当前视频块的预测性块之后,视频解码器30通过将来自反变换处理单元88的残余块与由运动补偿单元82所产生的对应预测性块求和而形成经解码视频块。求和器90表示执行此求和运算的一或多个组件。
在一些实例中,可类似于视频编码器20(图2)的滤波单元66而配置滤波单元94。举例来说,当从经编码位流解码并重构视频数据时,滤波单元94可经配置以执行解块、SAO或其它滤波操作。接着,将给定帧或图片中的经解码视频块存储在存储用于后续运动补偿的参考图片的参考图片存储器92中。参考图片存储器92也存储用于稍后在显示装置(诸如,图1的显示装置33)上呈现的经解码视频。
根据本发明的方面,视频解码器30可经配置以解码指示用于多层位流的层的图块配置及/或并行处理配置的数据。举例来说,视频解码器30可经配置以解码指示用于多层位流的层的图块配置及/或用于多层位流的层的并行处理配置的VPS及/或VPS VUI的数据。特定地说,关于并行处理配置,数据可指示是否执行并行处理同步(例如,熵译码同步,如WPP中所执行)。
在一些实例中,指示图块配置及/或并行处理配置的数据可包含数个语法元素。举例来说,对于多层位流中的视频数据的每一层,视频解码器30可解码指示层中的至少一个图片中是否启用图块的一或多个语法元素(例如,上文的表1的实例中所展示的tiles_enabled_vps_flag[i]语法元素)。另外,对于启用图块的每一层,视频解码器30也可解码指示是否横跨图块边界应用环路滤波,或是否停用横跨图块边界的环路滤波的一或多个语法元素(例如,上文的表1的实例中所展示的loop_filter_across_tiles_disabled_vps_flag[i]语法元素)。在一些情况下,视频解码器30也可解码指示并行处理配置的一或多个语法元素。举例来说,视频解码器30可解码指示是否执行熵译码同步(例如,经由WPP)的一或多个语法元素(例如,上文的表1的实例中所展示的entropy_coding_sync_enabled_vps_flag[i]语法元素)。
根据本发明的方面,视频解码器30可根据语法元素对视频数据执行视频解码。举例来说,视频解码器30可基于经解码语法元素指派解码资源并通过解码视频数据继续进行。
图4A及4B描绘展示波前并行处理中的CTB同步的实例的概念图。应注意,出于说明的目的而呈现图4A及图4B的实例。在其它实例中,可并行地处理两个以上CTB行。另外,视频帧可在CTB行中包括比图4A及图4B所描绘的7个CTB多或少的CTB。
图4A展示具有由一个CTB延迟的同步点的波前并行处理的实例。在图4A的实例中,并行地处理(例如,解码)两个CTB行。直到CTB行0的解码也到达同步点A,在同步点A处开始CTB行1中的CTB 0的解码。
在图4A的实例中,同步点A在已完成CTB行0中的CTB 0的解码之后发生。此延迟允许行1中的CTB 0中的语法元素及/或像素信息的解码依赖于在所述CTB正上方或其左上方的CTB中的经解码语法元素及/或像素信息。即,视频解码器30可要求已解码CTB 0行0中的某些语法元素,以便适当地解码CTB 0行1中的语法元素。同步点B到G展示可结束行0的译码的其它点,之后可在对应点处开始译码行1。可看出,在每一CTB处要求同步。在此上下文中,同步未必要求两行中的(例如)点A处的解码同时发生。实情为,同步仅仅要求上部行的解码到达同步点,之后可在对应同步点处开始下部行的解码。
图4B为说明用于波前并行处理的同步点的另一实例的概念图。在此实例中,下部CTB行(例如,CTB行1)中的像素信息及/或语法元素的解码也可取决于位于当前经解码CU的右上方的CU中的经解码像素信息及/或语法元素。因而,必须解码行0中的两个CTB(即,CTB0及CTB 1),之后可开始CTB行1中的解码。如图4B所展示,当已完成CTB行0中的CTB 1的解码时,视频解码器30可开始解码CTB行1中的CTB 0。
如上文所论述,通常由视频编码器20中的熵编码器编码语法元素。举例来说,视频编码器20可使用CABAC编码语法元素。每一语法元素可经二进制化成一或多个二进制以用于应用CABAC。因而,可由单一二进制或由许多二进制发信用于整个CTB的语法元素。期望具有用于CTB之间的分析操作的负载平衡。如果放松分析模块的同步以在每一CTB行的开始处而非每一CTB处执行,那么可实现用于分析波前子流(即,分析每一CTB行)的负载平衡。因此,为了消除预CTB同步的需要,视频编码器20可经配置使得可无需使用来自当前经译码CTB上方的CTB行的任何语法元素信息解码所有语法元素。
可使用一或多个语法元素启用如图4A及4B的实例中所展示的WPP。举例来说,如HEVC规范中所阐述,等于1的语法元素entropy_coding_sync_enabled_flag指定在解码包含参考PPS的每一图片中的每一图块中的译码树型块行的第一译码树型块的译码树型单元之前调用用于上下文变量的特定同步过程,并在解码包含参考PPS的每一图片中的每一图块中的译码树型块行的第二译码树型块的译码树型单元之后调用用于上下文变量的特定存储过程。另外,等于值0的语法元素entropy_coding_sync_enabled_flag指定在解码包含参考PPS的每一图片中的每一图块中的译码树型块行的第一译码树型块的译码树型单元之前并不要求调用用于上下文变量的特定同步过程,且在解码包含参考PPS的每一图片中的每一图块中的译码树型块行的第二译码树型块的译码树型单元之后并不要求调用用于上下文变量的特定存储过程。在一些情况下,entropy_coding_sync_enabled_flag语法元素可用于控制上文关于图4A及4B所描述的同步。
图5为说明用于视频块行的并行处理的同步点的另一实例的概念图。在图5的实例中,视频编码器20及视频解码器30经配置以无需使用来自当前经译码CTB行上方的CTB行的任何信息而分析所有语法元素。因而,波前并行处理的分析部分可从CTB行的开始处的单一同步点继续进行,这是由于分析复杂性及分析时间在行之间的任何差异与另一行无关。
如图5所展示,可在译码CTB行1之前开始CTB行0的译码,这是由于重构过程期间所使用的预测性译码技术(例如,帧间预测或帧内预测)可仍依赖于上方行中的像素信息。如图5所展示,一旦完成CTB行0中的CTB 1的重构,就可开始CTB行1的处理。然而,不同于图4A及图4B的实例,并无用于处理CTB行0及1的另外同步点。因而,可使用两个CTB延迟(仅具有一个同步点(即,同步点A'))并行地处理第一多个CTB行。在处理第一多个CTB行之后,可由视频编码器20或视频解码器30使用单一同步点B'并行地译码第二多个CTB行(即,CTB行2及3)。在图5的实例中,CTB行的第一及第二群组包含两个CTB行。然而,可使用本发明的技术并行地处理两个以上CTB行。
根据本发明的方面,视频编码器20可经配置以编码指示用于多层位流的层的并行处理配置的数据。举例来说,视频编码器20可经配置以编码指示用于多层位流的层的并行处理配置的VPS及/或VPS VUI的数据。特定地说,关于并行处理配置,数据可指示是否执行诸如上文关于图4A到5所描述的那个并行处理同步的并行处理同步。同样地,视频解码器30可经配置以解码(例如)来自VPS及/或VPS VUI的此类数据。
在一些实例中,指示并行处理配置的数据可包含数个语法元素。举例来说,视频编码器20可编码指示是否在多层位流中的层的任何图片中执行熵译码同步的一或多个语法元素。即,视频编码器20可使用VPS提供是否在多层位流的层中启用执行熵译码同步的提早指示(例如,归因于VPS在位流中比实际上启用熵译码同步的参数集(诸如,PPS)相对较早发生)。在出于说明目的的实例中,视频编码器20可编码指示对于由特定层的至少一个图片所参考的每一PPS,语法元素entropy_coding_sync_enabled_flag的值是否等于1的entropy_coding_sync_enabled_vps_flag[i]语法元素。视频解码器30也可经配置以解码来自VPS的此类信息。在一些情况下,视频解码器30可使用此类信息以指派用于解码多层视频数据的系统资源。
图6为说明根据HEVC标准的实例图块的概念图。在一些情况下,使用图6所展示的图块结构可使编解码器较并行友好。HEVC将图块定义为在图块的CTB光栅扫描中连续排序的共同出现于一个列及一个行中的整数数目个CTB。每一图片到图块的划分可被称作分割。图片中的图块在图片的图块光栅扫描中被连续地排序,如图6所展示。
举例来说,图6说明用于图片96的实例CTB译码次序,所述图片经分割成多个图块98A、98B、98C、98D、98E、98F、98G、98H及98I(统称为“图块98”),其中图块边界由粗线指示。图片96中的每一方形块表示与CTB相关联的像素块。像素块中的数目指示对应CTB(例如,LCU)在图片96的图块译码次序中的位置。如图6的实例中所说明,首先译码图块98A中的CTB,接着译码图块98B中的CTB,接着译码图块98C中的CTB,接着译码图块98D中的CTB,接着译码图块98E中的CTB,接着译码图块98F中的CTB,接着译码图块98G中的CTB,接着译码图块98H中的CTB,且接着译码图块98I中的CTB。在图块98中的每一者内,根据光栅扫描次序译码CTB。
可针对整个序列定义或在图片间改变图块的数目及图块的边界的位置。类似于切片边界,图块边界破坏分析及预测相依性,使得可独立地处理图块。然而,在一些情况下,环路内滤波器(例如,解块及样本自适应偏移(SAO)滤波器)仍可横跨图块边界。举例来说,HEVC提供PPS中所指定的loop_filter_across_tiles_enabled_flag语法元素。当loop_filter_across_tiles_enabled_flag语法元素的值等于1时,可横跨参考PPS的图片中的图块边界执行环路内滤波操作。等于0的值的loop_filter_across_tiles_enabled_flag语法元素指定并不横跨参考PPS的图片中的图块边界执行环路内滤波操作。
使用图块可增强并行性,这是因为在用于熵解码及运动补偿重构的处理器或处理器核心之间并不需要通信(或需要相对较少通信)。另外,相比于切片,图块可展现相对较好的译码效率,这是因为图块允许含有具有可能高于切片的相关性的样本的图片分割形状。图块也可减少切片标头开销。
当在单一层译码中使用图块时,可由视频解码器(诸如,视频解码器30)使用语法元素min_spatial_segmentation_idc来计算待由一个处理线程处理的亮度样本的最大数目,从而假定:视频解码器30最大限度地利用并行解码信息。当不等于0时,min_spatial_segmentation_idc语法元素可有助于对经译码视频序列的图片中的相异经译码空间分段区的最大可能大小建立限制范围。在HEVC中,不同线程之间可存在一些图片帧间相依性,例如,归因于熵译码同步或横跨图块或切片边界的解块滤波。此类帧间相依性可影响视频解码器30指派用于解码视频数据的资源的方式,如本文中所描述。
根据本发明的方面,视频编码器20可编码指示用于多层位流的层的图块配置的数据。举例来说,视频编码器20可编码指示对于多层位流的特定层是否启用图块(诸如,上文关于图6所展示并描述的图块)的VPS及/或VPS VUI的数据。另外或替代地,视频编码器20可编码指示启用还是停用横跨图块的环路滤波的数据。视频解码器30可经配置以解码(例如)来自VPS及/或VPS VUI的此类数据。
在一些实例中,指示图块配置的数据可包含数个语法元素。举例来说,对于多层位流中的视频数据的每一层,视频编码器20可编码指示是否在层中的至少一个图片中启用图块的一或多个语法元素。另外,对于启用图块的每一层,视频编码器20也可编码指示是否横跨图块边界应用环路滤波或是否停用横跨图块边界的环路滤波的一或多个语法元素。以此方式,视频编码器20可使用VPS提供用于多层位流的层的图块配置(例如,是否启用图块及/或是否可横跨图块应用滤波)的提早指示(例如,归因于VPS在位流中比实际上启用熵译码同步的参数集(诸如,PPS)相对较早发生)。
在出于说明目的的实例中,视频编码器20可编码指示对于由特定层的至少一个图片所参考的每一PPS,tiles_enabled_flag的值是否等于1的tiles_enabled_vps_flag[i]语法元素。另外或替代地,视频编码器20可编码指示对于由特定层的至少一个图片所参考的每一PPS,loop_filter_across_tiles_enabled_flag的值是否等于0的loop_filter_across_tiles_disabled_vps_flag[i]语法元素。视频解码器30也可经配置以解码来自VPS的此类信息。在一些情况下,视频解码器30可使用此类信息以指派用于解码多层视频数据的系统资源。
图7到10说明可结合本发明的技术使用的多种多层译码技术。举例来说,可将所述技术应用于纹理视图分量、深度视图分量及各种时间、空间及质量层,如本文中所描述。
图7为说明实例MVC预测样式的概念图。虽然关于H.264/AVC及MVC描述图7,但应理解,可通过其它多视图视频译码方案使用类似预测样式,包含MV-HEVC、3D-HEVC(对HEVC的多视图加上深度扩展)及使用可伸缩视频译码的多视图(例如,参见关于图8到10所描述的可伸缩视频译码实例)。因此,下文对多视图译码及/或MVC的参考适用于通用多视图视频译码,且并不限于H.264/MVC。
在图7的实例中,说明八个视图(具有视图ID“S0”到“S7”),且针对每一视图说明12个时间位置(“T0”到“T11”)。即,图7中的每一行对应于视图,而每一列指示时间位置。
尽管MVC具有可由H.264/AVC解码器解码的所谓基础视图且立体视图对也可由MVC支持,但MVC的优势在于其可支持将两个以上视图用作3D视频输入并解码由多个视图表示的此3D视频的实例。具有MVC解码器的客户端呈现器可预期具有多个视图的3D视频内容。
使用包含字母的阴影块来在图7中的每一行及每一列的交叉点处指示图7中的图片,所述字母指定对应图片被帧内译码(即,I帧)、在一个方向上的帧间译码(即,作为P帧)还是在多个方向上的帧间译码(即,作为B帧)。大体来说,通过箭头指示预测,其中向其指向的图片使用从其指向的对象以用于预测参考。举例来说,从时间位置T0处的视图S0的I帧预测时间位置T0处的视图S2的P帧。
如同单一视图视频编码,可相对于不同时间位置处的图片预测性地编码多视图视频译码视频序列的图片。举例来说,在时间位置T1处的视图S0的b帧具有从时间位置T0处的视图S0的I帧指向到其的箭头,其指示从I帧来预测b帧。然而,另外,在多视图视频编码的上下文中,可视图间预测图片。即,视图分量可使用其它视图中的视图分量以用于参考。作为多视图视频译码的实例,在MVC中实现视图间预测,犹如另一视图中的视图分量为帧间预测参考。在序列参数集(SPS)MVC扩展中发信潜在视图间参考且可由参考图片列表构造过程修改所述参考,此情况使得能够灵活排序帧间预测或视图间预测参考。
在MVC中,允许在同一存取单元(即,具有同一时间实例)中的图片当中进行视图间预测。大体来说,存取单元为包含用于共同时间实例的所有视图分量(例如,所有网络抽象层(NAL)单元)的数据单元。因此,在MVC中,准许在同一存取单元中的图片当中进行视图间预测。当译码非基础视图中的一者中的图片时,如果图片在不同视图中但具有同一时间实例(例如,同一POC值,且因此在同一存取单元中),那么可将图片添加到参考图片列表中。视图间预测参考图片可安置在参考图片列表的任何位置中,正如任何帧间预测参考图片一般。
图7提供视图间预测的各种实例。在图7的实例中,将视图S1的图片说明为从视图S1的不同时间位置处的图片预测,以及从同一时间位置处的视图S0及S2的图片视图间预测。举例来说,时间位置T1处的视图S1的b帧是从时间位置T0及T2处的视图S1的b帧以及时间位置T1处的视图S0及S2的b帧中的每一者预测。
在图7的实例中,大写“B”及小写“b”意欲指示图片之间的不同层次关系,而非不同编码方法。大体来说,大写“B”图片的预测层次比小写“b”图片相对较高。图7也使用不同阴影程度说明预测层次的变化,其中较大阴影量(即,相对较暗)的图片的预测层次比具有较少阴影(即,相对较浅)的那些图片高。举例来说,图7中的所有I帧经说明为具有完全阴影,而P帧具有略浅阴影,且B帧(及小写b帧)相对于彼此具有各种阴影程度,但始终比P帧及I帧的阴影浅。
大体来说,预测层次与视图次序索引相关,这在于应在解码层次相对较低的图片之前解码预测层次相对较高的图片,使得在解码层次相对较低的图片期间层次相对较高的那些图片可用作参考图片。视图次序索引为指示存取单元中的视图分量的解码次序的索引。以此方式,可在解码参考参考图片经编码的图片之前解码用作参考图片的图片。
根据本发明的方面,视频编码器20可编码指示用于多层位流的层(诸如,图7的实例中所展示的视图S0到S7)的图块配置及/或并行处理配置的数据。举例来说,视频编码器20可编码指示用于图7的实例中所展示的多视图视频数据的视图的图块配置的VPS及/或VPS VUI的数据。举例来说,视频编码器20可编码指示对于多视图视频数据的特定视图是否启用图块(诸如,上文关于图6所展示及描述的图块)的VPS及/或VPS VUI的数据。另外或替代地,视频编码器20可编码指示启用还是停用横跨图块的环路滤波的数据。视频解码器30可经配置以解码(例如)来自VPS及/或VPS VUI的此类数据。
另外或替代地,视频编码器20可编码指示用于图7的实例中所展示的多视图视频数据的视图的并行处理配置的VPS及/或VPS VUI的数据。举例来说,视频编码器20可编码指示对于多视图视频数据的特定视图的图片是否启用上文关于图4A到5所描述的同步的VPS及/或VPS VUI的数据。视频解码器30可经配置以解码(例如)来自VPS及/或VPS VUI的此类数据。
图8为说明用于可伸缩视频译码(SVC)的各种可伸缩维度的概念图。在此实例中,在三个维度上实现可伸缩性。在时间维度中,可由时间可伸缩性(T)来支持具有7.5Hz、15Hz或30Hz的帧速率。当支持空间可伸缩性(S)时,可启用不同分辨率(诸如,QCIF、CIF及4CIF)。对于每一特定空间分辨率及帧速率,可添加信噪比(SNR)(Q)层以改进图片质量。
一旦已用此类可伸缩方式编码视频内容,就可使用提取器工具来根据可取决于(例如)客户端或发射信道的应用要求而适应实际递送内容。在图8所展示的实例中,每一立方体体积(即,立方体)含有具有相同帧速率(时间级别)、空间分辨率及SNR层的图片。可通过在任何维度上添加那些立方体(图片)来实现较好表示。当启用两个、三个或甚至更多可伸缩性时可支持组合的可伸缩性。
根据SVC规范,具有最低空间及质量层的图片与H.264/AVC兼容,且最低时间级别下的图片形成时间基础层,所述时间基础层可通过较高时间级别下的图片予以增强。除了H.264/AVC兼容层之外,还可添加若干空间及/或SNR增强层以提供空间及/或质量可伸缩性。SNR可伸缩性也被称作质量可伸缩性。每一空间或SNR增强层自身可为时间可伸缩的,具有与H.264/AVC兼容层相同的时间可伸缩性结构。对于一个空间或SNR增强层,其所取决于的下层也被称作那个特定空间或SNR增强层的基础层。
图9为说明SVC译码结构的实例的概念图。在此实例中,具有最低空间及质量层的图片(层0及层1中的图片,具有QCIF分辨率)与H.264/AVC兼容。其中,具有最低时间级别的那些图片形成时间基础层,如图9的层0中所展示。可通过具有较高时间级别的图片(层1)来增强此时间基础层(层0)。除了H.264/AVC兼容层之外,还可添加若干空间及/或SNR增强层以提供空间及/或质量可伸缩性。举例来说,增强层可为具有与层2相同的分辨率的CIF表示。在此实例中,层3为SNR增强层。如此实例中所展示,每一空间或SNR增强层自身可为时间可伸缩的,具有与H.264/AVC兼容层相同的时间可伸缩性结构。此外,增强层可增强空间分辨率及帧速率两者。举例来说,层4提供4CIF增强层,其进一步使帧速率从15Hz增加到30Hz。
图10为说明实例存取单元(AU)的概念图。每一AU包含封装在网络抽象层(NAL)单元内的一或多个切片。每一层的每一存取单元可存在零个或零个以上NAL单元。对应于一个AU内的一个层的NAL单元的集合可被称作“层分量”。图10的实例描绘对应于图9的层分量的层分量。如图10的实例中所展示,同一时间实例中(即,在共同AU内)的经译码切片在位流次序上是连续的,且在SVC的上下文中形成一个AU。那些SVC存取单元接着遵循解码次序,所述解码次序可不同于显示次序且(例如)是由时间预测关系决定。
下文描述H.264/AVC的可伸缩扩展(高级视频译码)。SVC的一些功能性是从H.264/AVC继承。相比于先前可伸缩标准,下文评审对H.264/AVC的SVC扩展的最大优势中的一些(即,层间预测及单一环路解码)。
H.264/AVC的SVC扩展支持单一环路解码。在单一环路解码的情况下,可以单一运动补偿环路来解码每一所支持层。为了实现此目的,对于增强层宏块仅允许使用层间帧内预测,对于所述增强层宏块,帧内译码经共置的参考层信号。进一步要求使用受约束的帧内预测来译码用于对较高层进行层间预测的所有层。
H.264/AVC的SVC扩展也支持层间预测。SVC引入基于纹理、残余及运动进行的用于空间及SNR可伸缩性的层间预测。已将SVC中的空间可伸缩性一般化为两个层之间的任何分辨率比率。可通过粗糙粒度可伸缩性(CGS)或中间粒度可伸缩性(MGS)来实现SNR可伸缩性。在SVC中,两个空间或CGS层属于不同相依性层(由NAL单元标头中的语法元素dependency_id指示),而两个MGS层可在同一相依性层中。一个相依性层包含对应于质量增强层的具有从0的值到较高值的语法元素quality_id的质量层。在SVC中,利用层间预测方法以减少层间冗余。
如上文所提到,类似于H.264/AVC,HEVC也将具有可伸缩视频译码扩展(当前被称为SHVC),其将至少提供时间可伸缩性、SNR可伸缩性及空间可伸缩性。在SHVC中,为了实现层间纹理预测,当参考层的分辨率小于增强层的分辨率时,首先升取样参考层经重构样本。甚至在SNR可伸缩性状况下,仍可在将参考层样本用于层间预测以获得较高译码效率之前对参考层样本进行滤波。可针对整个层图片(也可被称作层分量或简称为图片)执行升取样或层间滤波过程。在SHVC中,可使用多环路解码结构且视频解码器(诸如,视频解码器30)可并行地处理不同层。
根据本发明的方面,视频编码器20可编码指示用于多层位流的层(诸如,图8到10的实例中所展示的可伸缩层)的图块配置及/或并行处理配置的数据。举例来说,视频编码器20可编码指示用于图8到10的实例中所展示的可伸缩视频数据的层的图块配置的VPS及/或VPS VUI的数据。举例来说,视频编码器20可编码指示对于可伸缩视频数据的特定层是否启用图块(诸如,上文关于图6所展示并描述的图块)的VPS及/或VPS VUI的数据。另外或替代地,视频编码器20可编码指示启用还是停用横跨图块的环路滤波的数据。视频解码器30可经配置以解码(例如)来自VPS及/或VPS VUI的此类数据。
另外或替代地,视频编码器20可编码指示用于可伸缩视频数据的层(诸如,图8到10所展示的层)的并行处理配置的VPS及/或VPS VUI的数据。举例来说,视频编码器20可编码指示对于可伸缩视频数据的特定层的图片是否启用上文关于图4A到5所描述的同步的VPS及/或VPS VUI的数据。视频解码器30可经配置以解码(例如)来自VPS及/或VPS VUI的此类数据。
图11说明符合本发明的用于处理视频数据的技术。虽然出于实例的目的而关于视频编码器20(图1及2)进行描述,但可使用多种其它处理器执行本发明的技术。另外,出于实例的目的而提供图11所展示的特定过程。在其它实例中,符合本发明的技术的过程可包含较多、较少或替代布置的步骤。
视频编码器20可确定用于多层视频数据的层的图块配置(110)。举例来说,当编码视频数据的层时,视频编码器20可确定是否使用图块。当编码视频数据的层时,视频编码器20也可确定是否横跨图块边界应用环路滤波器。在一些实例中,视频编码器20可基于速率-失真分析确定是否使用图块及是否横跨图块边界应用环路滤波器。
视频编码器20也可确定用于译码视频数据的层的并行处理配置(112)。举例来说,视频编码器20可确定是否应用WPP,以及执行WPP的方式,如上文关于图4A到5的实例中所描述。视频编码器20可接着使用所确定的图块配置及并行处理配置编码多层视频数据的层(114)。举例来说,视频编码器20可对视频数据执行帧内或帧间预测(包含层间预测),如上文所描述。
根据本发明的方面,视频编码器20也可编码指示图块配置及并行处理配置的数据(116)。举例来说,视频编码器20可编码指示用于多层位流的层的图块配置及用于多层位流的层的并行处理配置的VPS及/或VPS VUI的数据。在出于说明目的的实例中,视频编码器20可编码指示是否在层中的至少一个图片中启用图块的一或多个语法元素(例如,上文的表1的实例中所展示的tiles_enabled_vps_flag[i]语法元素)。另外,对于启用图块的每一层,视频编码器20也可编码指示是否横跨图块边界应用环路滤波,或是否停用横跨图块边界的环路滤波的一或多个语法元素(例如,上文的表1的实例中所展示的loop_filter_across_tiles_disabled_vps_flag[i]语法元素)。视频编码器20也可编码指示并行处理配置的一或多个语法元素。举例来说,视频编码器20可编码指示是否执行熵译码同步(例如,经由WPP)的一或多个语法元素(例如,上文的表1的实例中所展示的entropy_coding_sync_enabled_vps_flag[i]语法元素)。
图12说明符合本发明的用于处理视频数据的另一技术。虽然出于实例的目的而关于视频解码器30(图1及3)进行描述,但可使用多种其它处理器执行本发明的技术。另外,出于实例的目的而提供图12所展示的特定过程。在其它实例中,符合本发明的技术的过程可包含较多、较少或替代布置的步骤。
视频解码器30可接收多层位流(120)。举例来说,视频解码器30可接收符合特定视频译码标准(诸如,HEVC标准或其扩展(例如,MV-HEVC、3D-HEVC、SHVC或其类似者))的位流。
根据本发明的方面,视频解码器30可解码指示图块配置的数据(122)。视频解码器30也可解码指示并行处理配置的数据(124)。举例来说,视频解码器30可解码指示用于多层位流的层的图块配置及用于多层位流的层的并行处理配置的VPS及/或VPS VUI的数据。在出于说明目的的实例中,视频解码器30可解码指示是否在层中的至少一个图片中启用图块的一或多个语法元素(例如,上文的表1的实例中所展示的tiles_enabled_vps_flag[i]语法元素)。另外,对于启用图块的每一层,视频解码器30也可解码指示是否横跨图块边界应用环路滤波,或是否停用横跨图块边界的环路滤波的一或多个语法元素(例如,上文的表1的实例中所展示的loop_filter_across_tiles_disabled_vps_flag[i]语法元素)。在一些情况下,视频解码器30也可解码指示并行处理配置的一或多个语法元素。举例来说,视频解码器30可解码指示是否执行熵译码同步(例如,经由WPP)的一或多个语法元素(例如,上文的表1的实例中所展示的entropy_coding_sync_enabled_vps_flag[i]语法元素)。
在一些情况下,视频解码器30可接着指派用于解码多层数据的解码资源(126)。举例来说,根据本发明的方面,上文所描述的信息可在(例如)解码视频数据的图片之前提供视频数据的图块配置及/或并行处理配置的提早指示。视频解码器30可指派待由特定处理核心解码的视频数据的特定图块(如果被启用)。当指派资源时,视频解码器30可考虑是否可横跨图块边界应用环路滤波。另外,视频解码器30可基于特定层内的图片的并行处理配置(例如,WPP配置)确定解码资源。视频解码器30可接着(例如)使用如由视频编码器20所应用的可逆过程解码多层视频数据(128)。
出于说明的目的,已关于HEVC标准及HEVC标准的扩展描述本发明的某些方面。然而,本发明中所描述的技术可用于其它视频译码过程,包含尚未开发的其它标准或专有视频译码过程。
如本发明中所描述的视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样地,适用时,视频译码可指视频编码或视频解码。
应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列被执行、可被添加、被合并或被完全省略(例如,并非所有所描述动作或事件对于实践所述技术是必要的)。此外,在某些实例中,可(例如)经由多线程处理、中断处理或多个处理器同时而非依序执行动作或事件。
在一个实例中,视频解码器30可经配置以:分析对应于视频数据的一或多个语法元素,其中一或多个语法元素指示图块配置、环路滤波器配置及并行处理配置中的一或多者;及根据所述一或多个语法元素对视频数据执行并行解码。视频解码器30可经配置以接收视频参数集中的一或多个语法元素。
在本发明的一个实例中,一或多个语法元素包含:针对由视频数据的至少一个图片所参考的每一图片参数集指示图块配置的tiles_enabled_vps_flag、针对由视频数据的至少一个图片所参考的每一图片参数集指示环路滤波器配置的loop_filter_across_tiles_disabled_vps_flag,及针对由视频数据的至少一个图片所参考的每一图片参数集指示并行处理配置的entropy_coding_sync_enabled_vps_flag。
在本发明的另一实例中,一或多个语法元素包含parallel_tools_vps_idc语法元素,所述parallel_tools_vps_idc语法元素针对参考视频参数集的视频数据的每一层指示图块配置及并行处理配置两者。
在本发明的另一实例中,一或多个语法元素包含parallel_tools_vps_idc语法元素,所述parallel_tools_vps_idc语法元素针对由视频数据的至少一个图片所参考的每一图片参数集指示图块配置及并行处理配置两者。
在本发明的另一实例中,一或多个语法元素包含tile_entropy_sync_coding_not_mixed_flag及loopfilter_across_tile_boundary_not_mixed_flag,其中tile_entropy_sync_coding_not_mixed_flag针对由视频数据的至少一个图片所参考的每一图片参数集指示图块配置及并行处理配置,且其中loopfilter_across_tile_boundary_not_mixed_flag针对由视频数据的至少一个图片所参考的每一图片参数集指示环路滤波器配置。
在本发明的另一实例中,视频编码器20可经配置以:确定对应于视频数据的一或多个语法元素,其中所述一或多个语法元素指示图块配置、环路滤波器配置及并行处理配置中的一或多者;根据所述一或多个语法元素对视频数据执行并行编码;及发信所述一或多个语法元素。视频编码器20可发信视频参数集中的一或多个语法元素。
在本发明的一个实例中,一或多个语法元素包含:针对由视频数据的至少一个图片所参考的每一图片参数集指示图块配置的tiles_enabled_vps_flag、针对由视频数据的至少一个图片所参考的每一图片参数集指示环路滤波器配置的loop_filter_across_tiles_disabled_vps_flag,及针对由视频数据的至少一个图片所参考的每一图片参数集指示并行处理配置的entropy_coding_sync_enabled_vps_flag。
在本发明的另一实例中,一或多个语法元素包含parallel_tools_vps_idc语法元素,所述parallel_tools_vps_idc语法元素针对参考视频参数集的视频数据的每一层指示图块配置及并行处理配置两者。
在本发明的另一实例中,一或多个语法元素包含parallel_tools_vps_idc语法元素,所述parallel_tools_vps_idc语法元素针对由视频数据的至少一个图片所参考的每一图片参数集指示图块配置及并行处理配置两者。
在本发明的另一实例中,一或多个语法元素包含tile_entropy_sync_coding_not_mixed_flag及loopfilter_across_tile_boundary_not_mixed_flag,其中tile_entropy_sync_coding_not_mixed_flag针对由视频数据的至少一个图片所参考的每一图片参数集指示图块配置及并行处理配置,且其中loopfilter_across_tile_boundary_not_mixed_flag针对由视频数据的至少一个图片所参考的每一图片参数集指示环路滤波器配置。
在一或多个实例中,所描述功能可以硬件、软件、固件或其任何组合予以实施。如果以软件予以实施,那么所述功能可作为一或多个指令或代码而在计算机可读媒体上存储或发射,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于诸如数据存储媒体的有形媒体,或包含促进将计算机程序从一个地点传送到另一地点(例如,根据通信协议)的任何媒体的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性有形计算机可读存储媒体,或(2)通信媒体(诸如,信号或载波)。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本发明中所描述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪速存储器,或可用于存储呈指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。此外,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或诸如红外线、无线电及微波的无线技术从网站、服务器或其它远程源发射指令,那么同轴电缆、光纤电缆、双绞线、DSL或诸如红外线、无线电及微波的无线技术包含在媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂态媒体,而是实际上关于非暂态有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各者的组合也应包含在计算机可读媒体的范围内。
可由一或多个处理器执行指令,所述一或多个处理器是诸如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效整合式或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供在经配置以用于编码及解码的专用硬件及/或软件模块内,或并入在组合式编解码器中。此外,所述技术可完全实施于一或多个电路或逻辑元件中。
本发明的技术可实施于广泛多种装置或设备中,所述装置或设备包含无线手机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。实情为,如上文所描述,可将各种单元组合于编解码器硬件单元中,或由互操作性硬件单元(包含如上文所描述的一或多个处理器)的集合而结合合适软件及/或固件来提供所述单元。
已描述各种实例。这些及其它实例在所附权利要求书的范围内。

Claims (44)

1.一种解码视频数据的方法,所述方法包括:
从多层位流的视频参数集VPS解码指示针对所述多层位流的层的图块配置的数据,其中解码指示所述图块配置的所述数据包括针对所述多层位流的至少一层解码语法元素,且其中当所述语法元素的值等于1时,针对所述至少一层,所述语法元素针对由所述VPS指定的所述至少一层的至少一个图片所参考的每个图片参数集PPS指示第二语法元素的值等于1,所述第二语法元素具有等于1的值指示参考相应PPS的每个图片中存在一个以上图块;及
根据从所述VPS解码的所述数据解码所述多层位流。
2.根据权利要求1所述的方法,其进一步包括解码针对所述多层位流的所述层指示并行处理配置的数据。
3.根据权利要求2所述的方法,其中解码指示所述图块配置的所述数据进一步包括解码针对由所述至少一层的至少一个图片所参考的每一图片参数集指示所述图块配置的tiles_enabled_vps_flag语法元素。
4.根据权利要求3所述的方法,其中解码指示所述图块配置的所述数据进一步包括解码针对由所述至少一层的至少一个图片所参考的每一图片参数集指示环路滤波器配置的loop_filter_across_tiles_disabled_vps_flag语法元素。
5.根据权利要求1所述的方法,其中解码指示所述并行处理配置的所述数据包括解码指示对于所述多层位流的所述至少一层是否执行熵译码同步的数据。
6.根据权利要求5所述的方法,其中解码指示所述并行处理配置的所述数据进一步包括解码针对由所述至少一层的至少一个图片所参考的每一图片参数集指示所述并行处理配置的entropy_coding_sync_enabled_vps_flag语法元素。
7.根据权利要求1所述的方法,其中指示所述图块配置的所述数据包含parallel_tools_vps_idc语法元素,且其中所述parallel_tools_vps_idc语法元素针对所述多层位流的每一层指示所述图块配置及并行处理配置两者。
8.根据权利要求1所述的方法,其中指示所述图块配置的所述数据包含针对由所述视频数据的所述至少一个图片所参考的每一PPS指示所述图块配置及并行处理配置的tile_entropy_sync_coding_not_mixed_flag语法元素,所述方法进一步包括解码针对由所述视频数据的所述至少一个图片所参考的所述每一PPS指示环路滤波器配置的loopfilter_across_tile_boundary_not_mixed_flag语法元素。
9.根据权利要求1所述的方法,其进一步包括基于从所述VPS解码的所述数据指派视频解码器的解码资源。
10.根据权利要求1所述的方法,其中解码所述VPS包括在所述多层位流的图片序列之前解码所述VPS,且其中解码所述多层位流包括根据从所述VPS解码的所述数据解码所述图片序列。
11.一种编码视频数据的方法,所述方法包括:
在多层位流的视频参数集VPS中编码指示针对所述多层位流的层的图块配置的数据,其中编码指示所述图块配置的所述数据包括针对所述多层位流的至少一层编码语法元素,且其中当所述语法元素的值等于1时,针对所述至少一层,所述语法元素针对由所述VPS指定的所述至少一层的至少一个图片所参考的每个图片参数集PPS指示第二语法元素的值等于1,所述第二语法元素具有等于1的值指示参考相应PPS的每个图片中存在一个以上图块;及
编码所述多层位流,包含编码所述多层位流的所述VPS。
12.根据权利要求11所述的方法,其进一步包括编码针对所述多层位流的所述层指示并行处理配置的数据。
13.根据权利要求12所述的方法,其中编码指示所述图块配置的所述数据进一步包括编码针对由所述至少一层的至少一个图片所参考的每一图片参数集指示所述图块配置的tiles_enabled_vps_flag语法元素。
14.根据权利要求13所述的方法,其中编码指示所述图块配置的所述数据进一步包括编码针对由所述至少一层的至少一个图片所参考的每一图片参数集指示环路滤波器配置的loop_filter_across_tiles_disabled_vps_flag语法元素。
15.根据权利要求11所述的方法,其中编码指示所述并行处理配置的所述数据包括编码指示对于所述多层位流的所述至少一层是否执行熵译码同步的数据。
16.根据权利要求15所述的方法,其中编码指示所述并行处理配置的所述数据进一步包括编码针对由所述至少一层的至少一个图片所参考的每一图片参数集指示所述并行处理配置的entropy_coding_sync_enabled_vps_flag语法元素。
17.根据权利要求11所述的方法,其中指示所述图块配置的所述数据包含parallel_tools_vps_idc语法元素,其中所述parallel_tools_vps_idc语法元素针对所述多层位流的每一层指示所述图块配置及并行处理配置两者。
18.根据权利要求11所述的方法,其中指示所述图块配置的所述数据包含针对由所述视频数据的所述至少一个图片所参考的每一PPS指示所述图块配置及并行处理配置的tile_entropy_sync_coding_not_mixed_flag语法元素,所述方法进一步包括编码针对由所述视频数据的所述至少一个图片所参考的所述每一PPS指示环路滤波器配置的loopfilter_across_tile_boundary_not_mixed_flag语法元素。
19.根据权利要求11所述的方法,其进一步包括根据所述VPS的所述数据指派视频编码器的编码资源。
20.根据权利要求11所述的方法,其中编码所述VPS包括在编码所述多层位流的图片序列之前编码所述VPS,且其中编码所述多层位流包括编码所述图片序列。
21.一种处理视频数据的设备,所述设备包括:
存储器,其存储多层视频数据;及
与所述存储器通信的视频译码器,所述视频译码器经配置以进行以下操作:
处理指示针对存储于所述存储器的所述多层视频数据的层的图块配置的数据,其中所述数据与包含所述多层视频数据的位流的视频参数集VPS相关联,其中指示所述图块配置的所述数据包括针对所述多层视频数据的至少一层指示语法元素的数据,且其中当所述语法元素的值等于1时,针对所述至少一层,所述语法元素针对由所述VPS指定的所述至少一层的至少一个图片所参考的每个图片参数集PPS指示第二语法元素的值等于1,所述第二语法元素具有等于1的值指示参考相应PPS的每个图片中存在一个以上图块;及
根据所述VPS的所述数据处理所述多层视频数据。
22.根据权利要求21所述的设备,其中所述视频译码器进一步经配置以处理针对所述多层位流的所述层指示并行处理配置的数据。
23.根据权利要求22所述的设备,其中为了处理指示所述图块配置的所述数据,所述视频译码器经进一步配置以处理针对由所述至少一层的至少一个图片所参考的每一图片参数集指示所述图块配置的tiles_enabled_vps_flag语法元素。
24.根据权利要求23所述的设备,其中为了处理指示所述图块配置的所述数据,所述视频译码器经进一步配置以处理针对由所述至少一层的至少一个图片所参考的每一图片参数集指示环路滤波器配置的loop_filter_across_tiles_disabled_vps_flag语法元素。
25.根据权利要求21所述的设备,其中为了处理指示所述并行处理配置的所述数据,所述视频译码器经配置以处理指示对于所述多层视频数据的所述至少一层是否执行熵译码同步的数据。
26.根据权利要求25所述的设备,其中为了处理指示所述并行处理配置的所述数据,所述视频译码器经进一步配置以处理针对由所述至少一层的至少一个图片所参考的每一图片参数集指示所述并行处理配置的entropy_coding_sync_enabled_vps_flag语法元素。
27.根据权利要求21所述的设备,其中为了处理所述视频数据,所述视频译码器经配置以编码所述视频数据,且其中,为了编码所述视频数据,所述视频译码器经配置以进行以下操作:
确定用于所述多层视频数据的至少一个层的残余视频数据;
变换所述残余数据;及
编码表示所述位流中的所述经变换残余数据的数据。
28.根据权利要求21所述的设备,其中为了处理所述视频数据,所述视频译码器经配置以解码所述视频数据,且其中,为了解码所述视频数据,所述视频译码器经配置以进行以下操作:
分析所述位流的所述VPS;
在分析所述VPS之后及从所述位流分析表示用于所述多层位流的所述至少一个层的残余视频数据的数据;
反变换所述残余数据;及
基于所述经反变换残余数据重构视频数据的所述至少一个层。
29.根据权利要求21所述的设备,其进一步包括经配置以呈现用于显示的所述多层视频数据的所述至少一个层的显示装置。
30.根据权利要求21所述的设备,其进一步包括经配置以接收所述多层视频数据的无线调制解调器。
31.根据权利要求21所述的设备,其中所述设备包括下列至少一者:
一或多个集成电路;
一或多个微处理器;
一或多个数字信号处理器DSP;
一或多个现场可编程逻辑阵列FPGA;
桌上型计算机;
笔记本计算机;
平板计算机;
电话;
电视机;
相机;
显示装置;
数字媒体播放器;
视频游戏控制台;
视频游戏装置;
视频流式处理装置;或者
无线通信装置。
32.一种处理视频数据的设备,所述设备包括:
用于处理指示针对多层位流的层的图块配置的数据的装置,其中所述数据与所述多层位流的视频参数集VPS相关联,其中指示所述图块配置的所述数据包括针对所述多层位流的至少一层指示语法元素的数据,且其中当所述语法元素的值等于1时,针对所述至少一层,所述语法元素针对由所述VPS指定的所述至少一层的至少一个图片所参考的每个图片参数集PPS指示第二语法元素的值等于1,所述第二语法元素具有等于1的值指示参考相应PPS的每个图片中存在一个以上图块;及
用于根据所述VPS的所述数据处理所述多层位流的装置。
33.根据权利要求32所述的设备,其进一步包括用于处理针对所述多层位流的所述层指示并行处理配置的数据的装置。
34.根据权利要求33所述的设备,其中所述用于处理指示所述图块配置的所述数据的装置进一步包括用于处理针对由所述至少一层的至少一个图片所参考的每一图片参数集指示所述图块配置的tiles_enabled_vps_flag语法元素的装置。
35.根据权利要求34所述的设备,其中所述用于处理指示所述图块配置的所述数据的装置进一步包括用于处理针对由所述至少一层的至少一个图片所参考的每一图片参数集指示环路滤波器配置的loop_filter_across_tiles_disabled_vps_flag语法元素的装置。
36.根据权利要求32所述的设备,其中所述用于处理指示所述并行处理配置的所述数据的装置包括用于处理指示对于所述多层位流的所述至少一层是否执行熵译码同步的数据的装置。
37.根据权利要求36所述的设备,其中所述用于处理指示所述并行处理配置的所述数据的装置进一步包括用于处理针对由所述至少一层的至少一个图片所参考的每一图片参数集指示所述并行处理配置的entropy_coding_sync_enabled_vps_flag语法元素的装置。
38.根据权利要求32所述的设备,其中所述设备包括下列至少一者:
一或多个集成电路;
一或多个微处理器;
一或多个数字信号处理器DSP;
一或多个现场可编程逻辑阵列FPGA;
桌上型计算机;
笔记本计算机;
平板计算机;
电话;
电视机;
相机;
显示装置;
数字媒体播放器;
视频游戏控制台;
视频游戏装置;
视频流式处理装置;或者
无线通信装置。
39.一种非暂时性计算机可读存储媒体,其上存储有指令,所述指令在执行时致使一或多个处理器进行以下操作:
处理指示针对多层位流的层的图块配置的数据,其中所述数据与所述多层位流的视频参数集VPS相关联,其中指示所述图块配置的所述数据包括针对所述多层位流的至少一层指示语法元素的数据,且其中当所述语法元素的值等于1时,针对所述至少一层,所述语法元素针对由所述VPS指定的所述至少一层的至少一个图片所参考的每个图片参数集PPS指示第二语法元素的值等于1,所述第二语法元素具有等于1的值指示参考相应PPS的每个图片中存在一个以上图块;及
根据所述VPS的所述数据处理所述多层位流。
40.根据权利要求39所述的非暂时性计算机可读存储媒体,其上进一步存储有致使所述一或多个处理器处理针对所述多层位流的所述层指示并行处理配置的数据的指令。
41.根据权利要求39所述的非暂时性计算机可读存储媒体,其中为了处理指示所述图块配置的所述数据,所述指令进一步致使所述一或多个处理器处理针对由所述至少一层的至少一个图片所参考的每一图片参数集指示所述图块配置的tiles_enabled_vps_flag语法元素。
42.根据权利要求41所述的非暂时性计算机可读存储媒体,其中为了处理指示所述图块配置的所述数据,所述指令进一步致使所述一或多个处理器处理针对由所述至少一层的至少一个图片所参考的每一图片参数集指示环路滤波器配置的loop_filter_across_tiles_disabled_vps_flag语法元素。
43.根据权利要求39所述的非暂时性计算机可读存储媒体,其中为了处理指示所述并行处理配置的所述数据,所述指令致使所述一或多个处理器处理指示对于所述多层位流的所述至少一层是否执行熵译码同步的数据。
44.根据权利要求43所述的非暂时性计算机可读存储媒体,其中为了处理指示所述并行处理配置的所述数据,所述指令进一步致使所述一或多个处理器处理针对由所述至少一层的至少一个图片所参考的每一图片参数集指示所述并行处理配置的entropy_coding_sync_enabled_vps_flag语法元素。
CN201480056256.2A 2013-10-14 2014-10-14 视频译码中的并行处理的指示 Active CN105637864B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361890763P 2013-10-14 2013-10-14
US61/890,763 2013-10-14
US14/512,199 US9936207B2 (en) 2013-10-14 2014-10-10 Indication of parallel processing in video coding
US14/512,199 2014-10-10
PCT/US2014/060445 WO2015057677A1 (en) 2013-10-14 2014-10-14 Indication of parallel processing in video coding

Publications (2)

Publication Number Publication Date
CN105637864A CN105637864A (zh) 2016-06-01
CN105637864B true CN105637864B (zh) 2019-02-15

Family

ID=52809644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480056256.2A Active CN105637864B (zh) 2013-10-14 2014-10-14 视频译码中的并行处理的指示

Country Status (10)

Country Link
US (1) US9936207B2 (zh)
EP (1) EP3058729B1 (zh)
JP (1) JP6461982B2 (zh)
KR (1) KR101991554B1 (zh)
CN (1) CN105637864B (zh)
BR (1) BR112016008241B1 (zh)
ES (1) ES2834114T3 (zh)
MX (1) MX357564B (zh)
TW (1) TWI659643B (zh)
WO (1) WO2015057677A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015037922A1 (ko) * 2013-09-10 2015-03-19 주식회사 케이티 스케일러블 비디오 신호 인코딩/디코딩 방법 및 장치
CN105659598A (zh) * 2013-10-22 2016-06-08 株式会社Kt 用于对多层视频信号进行编码/解码的方法和装置
MX364032B (es) * 2013-10-22 2019-04-11 Kt Corp Metodo y dispositivo para codificar/descodificar una señal de video de multicapa.
MX360338B (es) * 2013-10-29 2018-10-30 Kt Corp Metodo y dispositivo de codificacion/decodificacion de señal de video de multiples capas.
KR101834237B1 (ko) * 2014-02-12 2018-03-06 주식회사 칩스앤미디어 동영상 처리 방법 및 장치
US10277913B2 (en) * 2014-10-22 2019-04-30 Samsung Electronics Co., Ltd. Application processor for performing real time in-loop filtering, method thereof and system including the same
CN106210728B (zh) * 2015-04-10 2019-08-30 上海澜至半导体有限公司 用于视频解码的电路、方法和视频解码器
US10743023B2 (en) * 2015-12-04 2020-08-11 Sony Corporation Image processing apparatus and image processing method
WO2018011042A1 (en) 2016-07-14 2018-01-18 Koninklijke Kpn N.V. Video coding
KR102004247B1 (ko) * 2016-11-25 2019-07-29 경희대학교 산학협력단 영상 병렬 처리 방법 및 장치
WO2018207956A1 (ko) * 2017-05-10 2018-11-15 엘지전자(주) 비디오 신호를 엔트로피 인코딩, 디코딩하는 방법 및 장치
US10873754B2 (en) 2017-12-12 2020-12-22 Coherent Logix, Incorporated Low latency video codec and transmission with parallel processing
DK3847817T3 (da) * 2018-09-14 2024-06-17 Huawei Tech Co Ltd Slicing og tiling i videokodning
KR102572140B1 (ko) * 2018-11-30 2023-08-30 샤프 가부시키가이샤 코딩된 비디오의 픽처들에 대한 타일 구조들을 시그널링하기 위한 시스템들 및 방법들
US11653010B2 (en) * 2018-12-21 2023-05-16 Sharp Kabushiki Kaisha Moving image encoding device and moving image decoding device
GB2585232B (en) * 2019-07-04 2021-12-08 Apical Ltd Image data pre-processing for neural networks
CN113994670B (zh) * 2019-07-25 2023-08-11 寰发股份有限公司 具有虚拟边界的跨分量自适应环路滤波的视频编解码方法及装置
KR20220130149A (ko) 2020-02-14 2022-09-26 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 인 루프 필터링과 비디오 슬라이스들 간의 상호작용

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8345869B2 (en) * 2007-04-11 2013-01-01 The Directv Group, Inc. Method and apparatus for file sharing of missing content between a group of user devices in a peer-to-peer network
US9451252B2 (en) * 2012-01-14 2016-09-20 Qualcomm Incorporated Coding parameter sets and NAL unit headers for video coding
US9648335B2 (en) 2013-07-12 2017-05-09 Qualcomm Incorporated Bitstream restrictions on picture partitions across layers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Kiran Misra.On Tile Alignment.《Joint Collaborative Team on Video Coding (JCT-VC)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11》.2013,

Also Published As

Publication number Publication date
ES2834114T3 (es) 2021-06-16
KR20160070768A (ko) 2016-06-20
US20150103920A1 (en) 2015-04-16
TW201528788A (zh) 2015-07-16
TWI659643B (zh) 2019-05-11
WO2015057677A1 (en) 2015-04-23
EP3058729A1 (en) 2016-08-24
MX2016004644A (es) 2016-08-05
US9936207B2 (en) 2018-04-03
JP2016533696A (ja) 2016-10-27
MX357564B (es) 2018-07-13
KR101991554B1 (ko) 2019-06-20
BR112016008241B1 (pt) 2023-02-14
EP3058729B1 (en) 2020-08-26
BR112016008241A2 (pt) 2017-08-01
JP6461982B2 (ja) 2019-01-30
CN105637864A (zh) 2016-06-01

Similar Documents

Publication Publication Date Title
CN105637864B (zh) 视频译码中的并行处理的指示
CN106105206B (zh) 用于使用置零系数的低复杂度正变换的系统和方法
US9979975B2 (en) Bitstream restrictions on picture partitions across layers
CN106464917B (zh) 用信号表示用于位流分区的hrd参数
CN104025602B (zh) 三维视频译码中用信号通知视图合成预测支持
CN104704833B (zh) 多视图或3维视频译码中的高级视图间残差预测
CN106576171B (zh) 一种对视频数据进行编码、解码的方法以及装置
CN105009588B (zh) 用于视频译码的并行处理
CN105103559B (zh) 三维(3d)视频译码方法及装置
CN105637878B (zh) 在视频译码中用于基于子解码图片缓冲器(sub-dpb)的dpb操作的传信
CN105493507B (zh) 用于帧内块复制的残余预测
CN104488267B (zh) 用于译码视频的方法和装置
CN110024401A (zh) 用于时间扩缩性支持的修改适应性环路滤波器时间预测
CN104704843B (zh) 视频性质的指示
CN109076230A (zh) 二值化二次变换指数
CN105075258B (zh) 针对具有不同纵横比的空间可缩放性的层间参考图片建构
CN110169064A (zh) 具有减低复杂性的视频译码中的双边滤波器
CN104604224B (zh) 可缩放视频译码中的变换基底调整
CN107409218A (zh) 使用块分割的快速视频编码方法
CN105359527A (zh) 用于视频译码的跨层并行处理与偏移延迟参数
CN106233729B (zh) 解码视频数据的方法、装置及编码视频数据的方法、装置
CN108141586A (zh) 经更新的视频区域的信令
CN106134194B (zh) 用于低复杂度编码及后台检测的系统及方法

Legal Events

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