针对具有混合nal单元类型的视频的高级语法
1.本技术要求2020年3月20日提交的美国临时专利申请62/992,676、2020年4月2日提交的美国临时专利申请63/004,105和2021年3月18日提交的美国申请17/205,578的优先权,每个申请的全部内容通过引用并入本文。
技术领域
2.本公开涉及视频编码(encoding)和视频解码(decoding)。
背景技术:3.数字视频能力可以集成到各种设备中,包括数字电视、数字直接广播系统、无线广播系统、个人数字助理(pda)、膝上式或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝或卫星无线电电话、所谓的“智能电话”、视频电话会议设备、视频流设备等。数字视频设备实施视频编解码(coding)技术,例如由mpeg-2,mpeg-4,itu-th.263,itu-t h.264/mpeg-4第10部分规定的标准,高级视频编解码(avc)规定的标准,itu-t h.265/高效视频编解码(hevc)规定的标准以及此类标准的扩展所描述的技术。通过实施此类视频编解码技术,视频设备可以更有效地发送,接收,编码,解码和/或存储数字视频信息。
4.视频编解码技术包括空间(图片内)预测和/或时间(图片间)预测,以减少或消除视频序列中固有的冗余。对于基于块的视频编解码,可以将视频条带(例如,视频图片或视频图片的一部分)分区为视频块,这些视频块也可以称为编解码树单元(ctu)、编解码单元(cu)和/或编解码节点。相对于同一图片中相邻块中的参考样点,使用空间预测对图片的帧内编解码(i)条带中的视频块进行编码。图片的帧间编解码(p或b)条带中的视频块可使用相对于同一图片中相邻块中参考样点的空间预测,或针对其他参考图片中的参考样点进行时间预测。图片可以被称为帧,并且参考图片可以被称为参考帧。
技术实现要素:5.视频处理设备可以从不同图片的子图片形成新的图片。要求图片的所有子图片在条带头中具有相同的rpl条目。因此,本公开的技术通过确保具有子图片的idr图片包括rpl语法元素,使得合并的图片能够使用idr图片的子图片形成。通过使用本公开的技术对视频数据进行编码,视频处理设备可以例如从源自随机接入图片的子图片和源自非随机接入图片的另一子图片生成合并的图片。也就是说,视频处理设备可以将源自随机接入图片的子图片和源自非随机接入图片的另一子图片合并到符合vvc的同一个编解码的图片中。通过以本文描述的方式编码视频数据,当视频解码器接收到这样的合并图片时,则视频解码器具有适当的参考图片列表来解码这样的合并图片。
6.根据一个示例,一种对视频数据进行编码的方法包括维护第一参考图片列表;维护第二参考图片列表;确定图片是瞬时解码刷新(idr)图片;确定参考图片列表语法元素存在于idr图片的条带头中;以及响应于确定该图片是idr图片并且该参考图片列表语法元素
存在于idr图片的条带头中,更新第一参考图片列表和第二参考图片列表使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点(irap)图片之前的图片。
7.根据另一个示例,一种对视频数据进行解码的设备包括存储器,该存储器被配置为存储视频数据;以及一个或多个处理器,该一个或多个处理器在电路中实施并且被配置为:维护第一参考图片列表;维护第二参考图片列表;确定图片是瞬时解码刷新(idr)图片;确定参考图片列表语法元素存在于idr图片的条带头中;以及响应于确定该图片是idr图片并且该参考图片列表语法元素存在于idr图片的条带头中,更新第一参考图片列表和第二参考图片列表使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点(irap)图片之前的图片。
8.根据另一个示例,一种计算机可读存储介质存储指令,当由一个或多个处理器执行时,这些指令使得该一个或多个处理器维护第一参考图片列表;维护第二参考图片列表;确定图片是瞬时解码刷新(idr)图片;确定参考图片列表语法元素存在于idr图片的条带头中;以及响应于确定该图片是idr图片并且该参考图片列表语法元素存在于idr图片的条带头中,更新第一参考图片列表和第二参考图片列表使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点(irap)图片之前的图片。
9.根据另一个示例,一种对视频进行编码的装置包括用于维护第一参考图片列表的部件;用于维护第二参考图片列表的部件;用于确定图片是瞬时解码刷新(idr)图片的部件;用于确定参考图片列表语法元素存在于idr图片的条带头中的部件;以及用于响应于确定该图片是idr图片并且该参考图片列表语法元素存在于idr图片的条带头中,更新第一参考图片列表和第二参考图片列表,使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点(irap)图片之前的图片的部件。
10.在附图和以下说明书中将详细阐述一个或多个示例。根据说明书、附图和权利要求书,其他特征,目的和优点将是显而易见的。
附图说明
11.图1是示出了可以执行本公开的技术的示例视频编码和解码系统的框图。
12.图2a和图2b是示出了示例性四叉树二叉树(qtbt)结构以及对应的编解码树单元(ctu)的概念图。
13.图3是视口相关的360度视频流的示例性用例。
14.图4显示了所提出的约束的示例。
15.图5是示出了可执行本公开的技术的示例视频编码器的框图。
16.图6是示出了可执行本公开的技术的示例视频解码器的框图。
17.图7是示出了示例视频编码过程的流程图。
18.图8是示出了示例视频解码过程的流程图。
19.图9是示出了示例视频编码过程的流程图。
具体实施方式
20.视频编解码(例如,视频编码和/或视频解码)通常涉及根据同一图片中的视频数据的经编解码的块(例如,帧内预测)或不同图片中的视频数据的经编解码的块(例如,帧间预测)来预测视频数据的块。为了执行帧间预测,视频编码器和视频解码器被配置为维护,例如,构建、更新和/或存储参考图片列表(rpl)。rpl包括经编解码图片的列表,这些图片可用于对当前正在被编解码的图片进行编解码。
21.在一些情况下,视频编码器还通过将预测块与原始块进行比较来计算残差(residual)数据。因此,残差数据表示预测块的样点和原始块的样点之间的差。为了减少信令通知残差数据所需的比特的数量,视频编码器对残差数据进行变换和量化,并在将编码的比特流中信令通知经变换和经量化的残差数据。通过变换和量化处理实现的压缩可能是有损的,这意味着变换和量化处理可能为经解码的视频数据引入失真。
22.视频解码器对残差数据进行解码并添加到预测块,以产生比单独的预测块更接近地匹配原始视频块的重构视频块。由于残差数据的变换和量化引入的损失,第一重构块可能存在失真或伪像。为了进一步改进经解码视频的质量,视频解码器可以对重构的视频块执行一个或多个滤波操作。
23.视频被编码为一系列图片,每张图片被分成一个或多个条带。条带可以包括整数个块,例如,编解码树单元(ctu)。在一些情况下,条带内的块可以被分组成片或一些其他这样的分组。对于一些应用,如二维电影或电视,一张图片通常对应一个单一的、连续的场景。对于其他类型的应用,诸如360度视频,一张图片可以包括多个子图片,其中每个子图片可以对应于单一的、连续的场景,而整个图片不对应单一的、连续的场景。子图片一般是指图片内由一个或多个条带组成的矩形区域。作为一个示例性用例,在一些实施方式中,可以从96个不同的子图片修补360度图片。96个不同的子图片在边界之间可以是连续的或不连续的。在流送(streaming)360度视频时,用户可能只会接收到子图片中的一些。
24.为了支持360度视频,通用视频编解码(vvc)标准支持子图片。本公开描述使视频编解码器(例如,视频编码器或视频解码器)能够支持子图片的参考图片缩放比率的技术。本公开还描述使视频编解码器能够同时支持参考图片重采样和子图片的技术。
25.如以下更详细解释的,在没有子图片的图片中,该图片的所有视频编解码层(vcl)网络抽象层(nal)单元具有相同的nal单元类型,例如,vvc中nal_unit_type的相同值。nal单元指语法结构,该语法结构包含要遵循的数据类型的指示和以原始字节序列有效载荷(rbsp)并且必要时穿插有防竞争字节的形式包含该数据的字节。然而,对于具有子图片的图片,不同的子图片可能包括不同类型的vcl nal单元。如以下将更详细解释的,图片内混合nal单元类型的现有实施方式可能导致编解码当前图片所需的某些参考图片不可用的编解码场景。本公开描述了用于以避免此类编解码场景的方式支持混合nal单元类型的技术。更具体地,响应于确定图片是瞬时解码刷新(idr)图片并且参考图片列表语法元素存在于idr图片的条带头中,通过配置视频编码器和视频解码器以更新第一参考图片列表和第二参考图片列表,使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点(irap)图片之前的图片。
26.视频处理设备可以从不同图片的子图片形成新的图片。要求图片的所有子图片在条带头中具有相同的rpl条目。因此,本公开的技术通过确保具有子图片的idr图片包括rpl
语法元素,使得合并的图片能够使用idr图片的子图片形成。通过使用本公开的技术编码视频数据,视频处理设备可以例如从源自随机接入图片的子图片和源自非随机接入图片的另一子图片生成合并的图片。也就是说,视频处理设备可以将源自随机接入图片的子图片和源自非随机接入图片的另一子图片合并到符合vvc的同一个经编解码图片中。通过以本文描述的方式对视频数据进行编码,当视频解码器接收到这样的合并图片时,视频解码器具有适当的参考图片列表来解码这样的合并图片。
27.图1是示出可以执行本公开的技术的示例视频编码和解码系统100的框图。本公开的技术一般针对编解码(编码和/或解码)视频数据。通常,视频数据包括用于处理视频的任何数据。因此,视频数据可以包括原始的未编码的视频、经编码视频、经解码(例如,重构的)视频、以及视频元数据(诸如信令数据)。
28.如图1所示,在此示例中,系统100包括源设备102,该源设备102提供要由目标设备116解码和显示的经编码视频数据。具体地,源设备102经由计算机可读介质110向目标设备116提供视频数据。源设备102和目标设备116可以包括多种设备中的任何一种,多种设备包括桌上型计算机、笔记本(即,膝上型)计算机、移动设备、平板计算机、机顶盒、诸如智能电话的电话手持机、电视、摄像机、显示设备、数字媒体播放器、视频游戏控制台、视频流送设备、广播接收器设备或类似设备。在一些情况下,源设备102和目标设备116可以被配备用于无线通信,并因此可以被称为无线通信设备。
29.在图1的示例中,源设备102包括视频源104、存储器106、视频编码器200和输出接口108。目标设备116包括输入接口122、视频解码器300、存储器120和显示设备118。根据本公开,源设备102的视频编码器200和目标设备116的视频解码器300可以被配置为应用用于信号通知和解析具有混合nal单元类型的视频的高级语法的技术。因此,源设备102表示视频编码设备的示例,而目标设备116表示视频解码设备的示例。在其他示例中,源设备和目标设备可以包括其他组件或配置。例如,源设备102可以从诸如外部摄像机的外部视频源接收视频数据。同样,目标设备116可以与外部显示设备连接,而不包括集成的显示设备。
30.如图1所示的系统100仅是一个示例。一般而言,任何数字视频编码和/或解码设备都可以执行用于信号通知和解析具有混合nal单元类型的视频的高级语法的技术。源设备102和目标设备116仅仅是其中源设备102生成经编解码视频数据以传输到目标设备116的这种编解码设备的示例。本公开用“编解码”设备指代执行数据的编解码(编码和/或解码)的设备。因此,视频编码器200和视频解码器300表示编解码设备的示例,具体地分别是视频编码器和视频解码器的示例。在一些示例中,源设备102和目标设备116可以以基本对称的方式进行操作,使得源设备102和目标设备116中的每一个都包括视频编码和解码组件。因此,系统100可以支持源设备102和目标设备116之间的单向或双向视频传输,例如用于视频流送、视频回放、视频广播或视频电话。
31.通常,视频源104表示视频数据(即,原始的、未编码的视频数据)的源,并向视频编码器200提供视频数据的一系列顺序图片(也称为“帧”),该视频编码器200对用于图片的数据进行编码。源设备102的视频源104可以包括视频捕获设备,诸如摄像机、包含先前捕获的原始视频的视频档案、和/或从视频内容提供商接收视频的视频馈送接口。作为进一步的选择,视频源104可以生成基于计算机图形的数据作为源视频,或者实况视频、存档视频和计算机生成视频的组合。在每种情况下,视频编码器200对捕获的、预捕获的或计算机生成的
视频数据进行编码。视频编码器200可以将图片从接收的顺序(有时称为“显示顺序”)重新排列为用于编解码的编解码顺序。视频编码器200可以生成包括经编码视频数据的比特流。然后源设备102可以经由输出接口108将经编码视频数据输出到计算机可读介质110上,用于由例如目标设备116的输入接口122接收和/或检索。
32.源设备102的存储器106和目标设备116的存储器120表示通用存储器。在一些示例中,存储器106、120可以存储原始视频数据,例如来自视频源104的原始视频和来自视频解码器300的原始的经解码视频数据。附加地或可替代地,存储器106、120可以分别存储可由例如视频编码器200和视频解码器300运行的软件指令。尽管在此示例中存储器106和存储器120被示为与视频编码器200和视频解码器300分离,但是应当理解,视频编码器200和视频解码器300也可以包括用于功能类似或等同目的的内部存储器。此外,存储器106、120可以存储经编码视频数据,例如,从视频编码器200输出并输入到视频解码器300的经编码视频数据。在一些示例中,存储器106、120中的部分可以被分配为一个或多个视频缓冲器,例如,以存储原始的、经解码视频数据和/或经编码视频数据。
33.计算机可读介质110可以表示能够将经编码视频数据从源设备102输送到目标设备116的任何类型的介质或设备。在一个示例中,计算机可读介质110表示使源设备102能够经由例如射频网络或基于计算机的网络实时地向目标设备116直接发送经编码视频数据的通信介质。根据诸如无线通信协议的通信标准,输出接口108可以调制包括经编码视频数据的传输信号,并且输入接口122可以解调接收的传输信号。通信介质可以包括任何无线或有线的通信介质,诸如射频(rf)频谱或者一条或多条物理传输线。通信介质可以形成基于分组的网络中的部分,诸如局域网、广域网、或诸如互联网的全球网络。通信介质可以包括路由器、交换器、基站、或可以有助于促进从源设备102到目标设备116的通信的任何其他设备。
34.在一些示例中,源设备102可以从输出接口108向存储设备112输出经编码数据。类似地,目标设备116可以经由输入接口122从存储设备112存取经编码数据。存储设备112可以包括多种分布式或本地存取的数据储存介质中的任何一种,诸如硬盘驱动器、蓝光光盘、dvd、cd-rom、闪存、易失性或非易失性存储器、或者用于存储经编码视频数据的任何其他合适的数字储存介质。
35.在一些示例中,源设备102可以向文件服务器114或可存储由源设备102生成的经编码视频数据的另一中间存储设备输出经编码视频数据。目标设备116可以经由流送或下载从文件服务器114存取存储的视频数据。
36.文件服务器114可以是能够存储经编码视频数据并向目标设备116发送该经编码视频数据的任何类型的服务器设备。文件服务器114可以表示网页服务器(例如,用于网站)、被配置为提供文件传输协议服务(例如文件传输协议(ftp)或单向传输文件传送(flute)协议)的服务器、内容传送网络(cdn)设备、超文本传输协议(http)服务器、多媒体广播多播服务(mbms)或增强型mbms(embms)服务器和/或网络附加存储(nas)设备。文件服务器114可以附加地或可替代地实施一个或多个http流送协议,诸如http上的动态自适应流送(dash)、http实时流送(hls)、实时流送协议(rtsp)、http动态流送等。
37.目标设备116可以通过任何标准数据连接(包括互联网连接)从文件服务器114存取经编码视频数据。这可以包括适合于存取在文件服务器114上存储的经编码视频数据的
无线信道(例如,wi-fi连接)、有线连接(例如,数字订户(dsl),电缆调制解调器等)或两者的组合。输入接口122可以被配置为根据上面讨论的用于从文件服务器114检索或接收媒体数据的各种协议中的任何一个或多个,或者用于检索媒体数据的其他这样的协议来操作。
38.输出接口108和输入接口122可以表示无线发送器/接收器、调制解调器、有线网络组件(例如,以太网卡)、根据多种ieee 802.11标准中的任何一种进行操作的无线通信组件、或其他物理组件。在输出接口108和输入接口122包括无线组件的示例中,输出接口108和输入接口122可以被配置为根据诸如4g、4g-lte(长期演进)、高级lte、5g等的蜂窝通信标准来传输诸如经编码视频数据的数据。在输出接口108包括无线发送器的一些示例中,输出接口108和输入接口122可以被配置为根据诸如ieee 802.11规范、ieee 802.15规范(例如,zigbee
tm
)、蓝牙
tm
标准等的其他无线标准来传送诸如经编码视频数据的数据。在一些示例中,源设备102和/或目标设备116可以包括各自的片上系统(soc)设备。例如,源设备102可以包括执行属于视频编码器200和/或输出接口108的功能的soc设备,并且目标设备116可以包括执行属于视频解码器300和/或输入接口122的功能的soc设备。
39.本公开的技术可以应用于视频编解码,以支持多种多媒体应用中的任何一种,诸如空中电视广播、有线电视传输、卫星电视传输、诸如基于http的动态自适应流送(dash)的互联网流送视频传输、编码到数据储存介质上的数字视频、存储在数据储存介质上的数字视频的解码、或其他应用。
40.目标设备116的输入接口122从计算机可读介质110(例如,通信介质、存储设备112、文件服务器114等)接收经编码视频比特流。经编码视频比特流可以包括由视频编码器200定义的信令信息,其也由视频解码器300使用,该信令信息诸如具有描述视频块或其他编解码单元(例如,条带、图片、图片组、序列等)的特性和/或处理的值的语法元素。显示设备118向用户显示经解码视频数据的经解码图片。显示设备118可以表示多种显示设备中的任何一种,诸如液晶显示器(lcd)、等离子显示器、有机发光二极管(oled)显示器、或另一类型的显示设备。
41.尽管图1中未示出,但在一些示例中,视频编码器200和视频解码器300可以各自与音频编码器和/或音频解码器集成,并且可以包括适当的mux-demux单元或其他硬件和/或软件,以处理公共数据流中包括音频和视频的多路复用流。如果适用,mux-demux单元可以依照itu h.223多路复用器协议,或诸如用户数据报协议(udp)的其他协议。
42.视频编码器200和视频解码器300各自可被实施为多种合适的编码器和/或解码器电路中的任何一种,诸如一个或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、软件、硬件、固件或其任何组合。在以软件来部分地实施这些技术时,设备可以将软件的指令存储在合适的非暂时性计算机可读介质中,并且使用一个或多个处理器在硬件中执行这些指令来执行本公开的技术。视频编码器200和视频解码器300中的每一个可以被包括在一个或多个编码器或解码器中,其中任一个都可以被集成为相应设备中的组合编码器/解码器(codec)中的部分。包括视频编码器200和/或视频解码器300的设备可以包括集成电路、微处理器、和/或诸如蜂窝电话的无线通信设备。
43.视频编码器200和视频解码器300可以根据视频编解码标准进行操作,视频编码标准诸如itu-t h.265(也称为高效视频编解码(hevc))或其诸如多视图和/或可缩放视频编
解码扩展的扩展。可替代地,视频编码器200和视频解码器300可以根据其他专有或行业标准进行操作,诸如itu-t h.266,也称为通用视频编解码(vvc)。vvc标准的草案在bross等人于2020年1月7日-17日在itu-t sg 16wp 3和iso/iec jtc 1/sc 29/wg 11的联合视频专家小组(jvet)的比利时布鲁塞尔第17次会议的jvet-q2001-v15(以下简称“vvc草案8”)的“通用视频编解码(草案8)”中进行了描述。然而,本公开的技术不限于任何特定的编解码标准。
44.通常,视频编码器200和视频解码器300可以执行基于块的图片编解码。术语“块”通常是指包括要处理的数据(例如,经编码数据、经解码数据、或者另外在编码和/或解码处理中使用的数据)的结构。例如,块可以包括亮度和/或色度数据的样点的二维矩阵。通常,视频编码器200和视频解码器300可以对以yuv(例如,y、cb、cr)格式表示的视频数据进行编解码。也就是说,视频编码器200和视频解码器300可以对亮度和色度分量进行编解码,而不是对图片样点的红、绿和蓝(rgb)数据进行编解码,其中色度分量可以包括红色调(hue)和蓝色调色度分量。在一些示例中,视频编码器200在编码之前将接收到的rgb格式的数据转换成yuv表示,并且视频解码器300将yuv表示转换成rgb格式。可替代地,预处理和后处理单元(未示出)可以执行这些转换。
45.本公开通常可涉及图片的编解码(例如,编码和解码),以包括对图片的数据进行编码或解码的处理。类似地,本公开可以涉及图片块的编解码,以包括对块的数据进行编码或解码的处理,例如预测和/或残差编解码。经编码视频比特流通常包括表示编解码决策(例如,编解码模式)和将图片分区为块的语法元素的一系列值。因此,对编解码图片或块的引用通常应理解为对形成图片或块的语法元素的值的编解码。
46.hevc定义了各种块,包括编解码单元(cu)、预测单元(pu)和变换单元(tu)。根据hevc,视频编解码器(诸如视频编码器200)根据四叉树结构将编解码树单元(ctu)分区为多个cu。也就是说,视频编解码器将ctu和cu分区为四个相等的、不重叠的正方形,并且四叉树的每个节点有零个或四个子节点。没有子节点的节点可以被称为“叶节点”,并且这种叶节点的cu可以包括一个或多个pu和/或一个或多个tu。视频编解码器可以进一步分区pu和tu。例如,在hevc中,残差四叉树(rqt)表示对tu的分区。在hevc中,pu表示帧间预测数据,而tu表示残差数据。帧内预测的cu包括帧内预测信息,诸如帧内模式指示。
47.作为另一示例,视频编码器200和视频解码器300可以被配置为根据vvc进行操作。根据vvc,视频编解码器(诸如视频编码器200)将图片分区为多个编解码树单元(ctu)。视频编码器200可以根据树结构来分区ctu,诸如四叉树二叉树(qtbt)结构或多类型树(mtt)结构。qtbt结构消除了多个分区类型的概念,诸如hevc的cu、pu和tu间的分离。qtbt结构包括两个层级:根据四叉树分区所分区的第一层级,以及根据二叉树分区的第二层级。qtbt结构的根节点对应于ctu。二叉树的叶节点对应于编解码单元(cu)。
48.在mtt分区结构中,可以使用四叉树(qt)分区、二叉树(bt)分区、和一种或多种三叉树(tt)(也称为三元树(tt))分区来对块进行分区。三叉或三元树分区是将块分割成三个子块的分区。在一些示例中,三叉或三元树分区在不通过中心来划分原始块的情况下将块划分成三个子块。mtt中的分区类型(例如,qt、bt和tt)可以是对称的或非对称的。
49.在一些示例中,视频编码器200和视频解码器300可以使用单个qtbt或mtt结构来表示亮度和色度分量中的每一个,而在其他示例中,视频编码器200和视频解码器300可以使用两个或更多个qtbt或mtt结构,诸如用于亮度分量的一个qtbt/mtt结构,以及用于两个
色度分量的另一qtbt/mtt结构(或者两个qtbt/mtt结构用于相应的色度分量)。
50.视频编码器200和视频解码器300可以被配置为使用按照hevc的四叉树分区、qtbt分区、mtt分区、或其他分区结构。出于说明的目的,本公开的技术的描述是针对qtbt分区来呈现的。然而,应当理解,本公开的技术也可以应用于被配置为使用四叉树分区或其他类型的分区的视频编解码器。
51.在一些示例中,ctu包括亮度样点的编解码树块(ctb)、具有三个样点阵列的图片的色度样点的两个对应的ctb、或者单色图片或使用三个单独的颜色平面和用于对样点进行编解码的语法结构来进行编解码的图片的样点的ctb。ctb可以是n为某个值的n
×
n样点块,使得分区为将分量划分为多个ctb。分量是以4:2:0、4:2:2或4:4:4彩色格式组成图片的三个阵列(亮度和两个色度)之一的阵列或单个样点,或者是以单色格式组成图片的阵列或阵列的单个样点。在一些示例中,编解码块是m为某个值和n为某个值的m
×
n样点块,使得分区是将ctb划分成多个编解码块。
52.可以在图片中以各种方式对块(例如,ctu或cu)进行分组。作为一个示例,砖(brick)可以指图片中特定片内的ctu行的矩形区域。片可以是图片中特定片列和特定片行内的矩形区域。片列指具有与图片的高度相等的高度和由语法元素(例如,在图片参数集中的语法元素)指定的宽度的ctu的矩形区域。片行指具有由语法元素(例如,在图片参数集中的语法元素)指定的高度和与图片的宽度相等的宽度的ctu的矩形区域。
53.在一些示例中,片可以被分区为多个砖,其中的每个砖可以包括该片内的一个或多个ctu行。未被分区为多个砖的片也可以被称为砖。然而,作为片的真实子集的砖不能被称为片。
54.图片中的砖还可以按条带排列。条带可以是图片的可以排他地在单个网络抽象层(nal)单元中包含的整数数量的砖。在一些示例中,条带包括多个完整的片或者仅包括一个片的完整砖的连续序列。
55.本公开可以互换地使用“nxn”和“n乘n”来指代块(诸如cu或其他视频块)在垂直和水平维度方面的样点维度,例如16x16样点或16乘16样点。通常,一个16x16 cu在垂直方向上将有16个样点(y=16),并且在水平方向上将有16个样点(x=16)。同样地,nxn cu通常在垂直方向上具有n个样点,并且在水平方向上具有n个样点,其中n表示非负整数值。cu中的样点可以按行和列排列。此外,cu不一定需要在水平方向上和在垂直方向上具有相同数量的样点。例如,cu可以包括nxm个样点,其中m不一定等于n。
56.视频编码器200对表示预测和/或残差信息以及其他信息的cu的视频数据进行编码。预测信息指示如何预测该cu,以便针对该cu形成预测块。残差信息通常表示编码之前的cu的样点与预测块之间的逐样点差。
57.为了预测cu,视频编码器200通常可以通过帧间预测或帧内预测来形成cu的预测块。帧间预测通常是指根据先前编解码的图片的数据来预测cu,而帧内预测通常是指根据同一图片的先前编解码的数据来预测cu。为了执行帧间预测,视频编码器200可以使用一个或多个运动矢量来生成预测块。视频编码器200通常可以执行运动搜索以例如根据cu和参考块之间的差来识别与cu紧密匹配的参考块。视频编码器200可使用绝对差之和(sad)、平方差之和(ssd)、平均绝对差(mad)、均方差(msd)或其他此类差计算来计算差度量,以确定参考块是否与当前cu紧密匹配。在一些示例中,视频编码器200可以使用单向预测或双向预
测来预测当前cu。
58.vvc的一些示例也提供仿射(affine)运动补偿模式,其可以被认为是帧间预测模式。在仿射运动补偿模式下,视频编码器200可以确定表示非平移运动的两个或更多个运动矢量,非平移运动诸如放大或缩小、旋转、透视运动、或其他不规则运动类型。
59.为了执行帧内预测,视频编码器200可以选择帧内预测模式来生成预测块。vvc的一些示例提供了六十七种帧内预测模式,包括各种方向模式,以及平面模式和dc模式。通常,视频编码器200选择描述当前块(例如,cu的块)的相邻样点的帧内预测模式,从该相邻样点来预测当前块的样点。假设视频编码器200以光栅扫描顺序(从左到右、从上到下)对ctu和cu进行编解码,这种样点在与当前块相同的图片中通常可以在当前块的上方、上方和左侧、或者左侧。
60.视频编码器200对表示当前块的预测模式的数据进行编码。例如,对于帧间预测模式,视频编码器200可以对表示使用各种可用帧间预测模式中的哪一种的数据、以及对应模式的运动信息进行编码。例如,对于单向或双向帧间预测,视频编码器200可以使用高级运动矢量预测(amvp)或合并模式来对运动矢量进行编码。视频编码器200可以使用类似的模式来对仿射运动补偿模式的运动矢量进行编码。
61.在预测(诸如块的帧内预测或帧间预测)之后,视频编码器200可以计算块的残差数据。残差数据,例如残差块,表示该块与使用对应的预测模式形成的该块的预测块之间的逐样点差异。视频编码器200可以对残差块应用一个或多个变换,以产生变换域而不是样点域中的变换数据。例如,视频编码器200可以对残差视频数据应用离散余弦变换(dct)、整数变换、小波变换、或概念上类似的变换。此外,视频编码器200可以在第一变换之后应用二次变换,诸如模式相关的不可分离二次变换(mdnsst)、信号相关变换、卡尔亨-洛夫(karhunen-loeve)变换(klt)等。视频编码器200在应用一个或多个变换后产生变换系数。
62.如上所述,在任何变换产生变换系数之后,视频编码器200可以执行变换系数的量化。量化通常是指量化变换系数以尽可能减少用于表示变换系数的数据的量从而提供进一步压缩的处理。通过执行量化处理,视频编码器200可以减少与变换系数中的一些或全部相关联的比特深度。例如,视频编码器200可在量化期间将n-位值向下舍入为m-位值,其中n大于m。在一些示例中,为了执行量化,视频编码器200可以对要量化的值执行按位右移位。
63.在量化之后,视频编码器200可以扫描变换系数,根据包括经量化的变换系数的二维矩阵产生一维矢量。扫描可以被设计为将更高能量(并因此更低频率)的变换系数放置在矢量的前部,并将更低能量(并因此更高频率)的变换系数放置在矢量的后部。在一些示例中,视频编码器200可以利用预定义的扫描顺序来扫描经量化的变换系数以产生串行化的矢量,然后对矢量的经量化的变换系数进行熵编码。在其他示例中,视频编码器200可以执行自适应扫描。在扫描经量化的变换系数以形成一维矢量之后,视频编码器200可以例如根据上下文自适应二进制算术编解码(cabac)对该一维矢量进行熵编码。视频编码器200还可以对描述与经编码视频数据相关联的元数据的语法元素的值进行熵编码,以供视频解码器300在解码视频数据时使用。
64.为了执行cabac,视频编码器200可以将上下文模型内的上下文分配给要发送的符号。该上下文可以关于例如符号的相邻值是否为零值。概率确定可以基于分配给符号的上下文。
65.视频编码器200还可以在例如图片头、块头、条带头中为视频解码器300生成语法数据,诸如基于块的语法数据、基于图片的语法数据和基于序列的语法数据,或其他语法数据,诸如序列参数集(sps)、图片参数集(pps)或视频参数集(vps)。同样地,视频解码器300可类似地解码此类语法数据以确定如何解码对应的视频数据。
66.以此方式,视频编码器200可以生成包括经编码视频数据的比特流,例如,描述将图片划分成块(例如,cu)的语法元素以及用于该块的预测信息和/或残差信息。最终,视频解码器300可以接收比特流并对经编码视频数据进行解码。
67.通常,视频解码器300执行与视频编码器200所执行的相逆(reciprocal)的处理以对比特流的经编码视频数据进行解码。例如,视频解码器300可以使用cabac以与视频编码器200的cabac编码处理基本相似但相逆的方式来解码比特流的语法元素的值。语法元素可以定义将图片分区为ctu的分区信息,和根据对应的分区结构(诸如qtbt结构)对每个ctu进行分区,以定义ctu的cu。语法元素可以进一步定义视频数据的块(例如,cu)的预测和残差信息。
68.残差信息可以由例如经量化的变换系数来表示。视频解码器300可对块的经量化的变换系数进行逆量化和逆变换以再现该块的残差块。视频解码器300使用信号通知的预测模式(帧内或帧间预测)和相关的预测信息(例如,用于帧间预测的运动信息)来形成用于块的预测块。然后视频解码器300可以(在逐样点的基础上)组合预测块和残差块,以再现原始块。视频解码器300可执行附加处理,诸如执行去方块处理以减少沿着块的边界的视觉伪像。
69.本公开通常可以涉及“信号通知”某些信息,诸如语法元素。术语“信号通知”通常可以指用于对经编码视频数据进行解码的语法元素和/或其他数据的值的通信传达。也就是说,视频编码器200可以在比特流中信号通知语法元素的值。通常,信号通知涉及在比特流中生成值。如上所述,源设备102可以基本上实时地或不实时地将比特流传送到目标设备116,例如,在将语法元素存储到存储设备112以供稍后由目标设备116检索时可能会发生这种情况。
70.图2a和图2b是图示示例四叉树二叉树(qtbt)结构130和对应的编解码树单元(ctu)132的概念图。实线表示四叉树分割(splitting),并且虚线指示二叉树分割。在二叉树的每个分割节点(即,非叶节点)中,信号通知一个标志以指示使用哪种分割类型(即,水平还是垂直),其中在本示例中,0指示水平分割,并且1指示垂直分割。对于四叉树分割,不需要指示分割类型,因为四叉树节点将块水平和垂直分割为4个具有相等大小的子块。因此,视频编码器200可以编码并且视频解码器300可以解码qtbt结构130的区域树层的语法元素(诸如分割信息)(即,实线)和qtbt结构130的预测树层的语法元素(诸如分割信息)(即,虚线)。视频编码器200可以编码并且视频解码器300可以解码针对由qtbt结构130的终端叶节点表示的cu的视频数据,例如预测和变换数据。
71.通常,图2b的ctu 132可以与定义对应于qtbt结构130的第一和第二层级的节点的块的大小的参数相关联。这些参数可以包括ctu大小(表示样点中ctu 132的大小)、最小四叉树大小(minqtsize,表示最小允许的四叉树叶节点大小)、最大二叉树大小(maxbtsize,表示最大允许的二叉树根节点大小)、最大二叉树深度(maxbtdepth,表示最大允许的二叉树深度)和最小二叉树大小(minbtsize,表示最小允许的二叉树叶节点大小)。
72.对应于ctu的qtbt结构的根节点可以在qtbt结构的第一层级具有四个子节点,其中每个子节点可以根据四叉树分区来进行分区。也就是说,第一层级的节点是叶节点(没有子节点),或者具有四个子节点。qtbt结构130的示例将这种节点表示为包括父节点和具有针对分支的实线的子节点。如果第一层级的节点不大于最大允许的二叉树根节点大小(maxbtsize),则节点可以由相应的二叉树进一步分区。可以迭代一个节点的二叉树分割,直到分割产生的节点达到最小允许的二叉树叶节点大小(minbtsize)或最大允许的二叉树深度(maxbtdepth)。qtbt结构130的示例将这种节点表示为具有针对分支的虚线。二叉树叶节点被称为编解码单元(cu),其用于预测(例如,图片内或图片间预测)和变换,而无需任何进一步的分区。如上所述,cu也可以被称为“视频块”或“块”。
73.在qtbt分区结构的一个示例中,ctu大小被设置为128x128(亮度样点和两个对应的64x64色度样点),minqtsize被设置为16x16,maxbtsize被设置为64x64,(宽度和高度两者的)minbtsize被设置为4,并且maxbtdepth被设置为4。首先将四叉树分区应用于ctu,以生成四叉树叶节点。四叉树叶节点可以具有从16x16(即,minqtsize)到128x128(即,ctu大小)的大小。如果四叉树叶节点是128x128,则叶四叉树节点不会被二叉树进一步分割,因为其大小超过了maxbtsize(即,在本示例中为64x64)。否则,四叉树叶节点将被二叉树进一步分区。因此,四叉树叶节点也是二叉树的根节点,并且二叉树深度为0。当二叉树深度达到maxbtdepth(在本示例中为4)时,不允许进一步分割。具有宽度等于minbtsize(在本示例中为4)的二叉树节点意味着不允许对二叉树节点进行进一步垂直分割(即,对宽度的划分)。类似地,具有高度等于minbtsize的二叉树节点意味着不允许对二叉树节点进行进一步的水平分割(即,对高度的划分)。如上所述,二叉树的叶节点被称为cu,并且根据预测和变换被进一步处理,而无需进一步分区。
74.vvc草案8指定了规范的比特流和图片格式、高级语法(hls)和语义,以及解析和解码过程。vvc还在附录中指定了轮廓/层/级(ptl)限制、字节流格式、假设参考解码器和补充增强信息(sei)。
75.vvc从hevc继承了许多高级特性,诸如网络抽象层(nal)单元和参数集概念、平铺和波前并行处理、分层编解码以及使用sei消息进行补充数据信令。vvc中引入了更多新的高级特性,包括矩形条带和子图片的概念、图片分辨率自适应、混合nal单元类型、图片头(ph)、渐进解码刷新(gdr)图片、虚拟边界、和针对参考图片管理的参考图片列表(rpl)。
76.在视口相关的360度视频流中,通常以更小的irap图片间隔对内容的一个版本进行编码,以提供快速的视口切换能力。vvc草案8允许不同的vcl nal单元类型在图片中共存以实现视口自适应360度流送的多个质量编解码表示之间的快速视口变化。
77.图3显示视口相关的360度视频流的示例性用例。子图片a是始终呈现的背景视频,而前景子图片b和子图片c可以根据用户的观看方向呈现给用户。子图片b和c具有比子图片a更频繁的随机接入图片,以便快速切换视口。用户可以从子图片b切换到子图片c,然后切换回子图片b,如图3所示。vvc允许源自随机接入图片的子图片和源自非随机接入图片的另一子图片合并到符合vvc的相同的经编解码图片中。
78.idr图片在解码过程中不使用帧间预测,并且可能是以解码顺序排列的比特流中的第一个图片,或者可能出现在比特流中的后面部分。每个idr图片是以解码顺序排列的cvs的第一张图片。当针对idr图片的每个vcl nal单元的nal_unit_type等于idr_w_radl
时,该图片可能具有相关联的radl图片。当针对idr图片的每个vcl nal单元的nal_unit_type等于idr_n_lp时,该图片没有任何相关联的前置图片。idr图片没有相关联的rasl图片。
79.sps语法元素sps_idr_rpl_present_flag用于指定参考图片列表语法元素存在于idr图片的条带头中以促进参考图片列表解析和构建。
80.pps语法元素mixed_nalu_types_in_pic_flag用于指示每个引用pps的图片具有多于一个的vcl nal单元,vcl nal单元不具有相同的nal_unit_type值,并且该图片不是irap图片。图片中混合nal单元类型的约束指定如下:
81.针对任何特定图片的vcl nal单元,以下内容适用:
[0082]-如果mixed_nalu_types_in_pic_flag等于0,则nal_unit_type的值针对图片的所有经编解码条带nal单元应相同。图片或pu被称为具有与图片或pu的经编解码条带nal单元相同的nal单元类型。
[0083]-否则(mixed_nalu_types_in_pic_flag等于1),图片的一个或多个子图片的vcl nal单元都有nal_unit_type的特定值,其等于stsa_nut、radl_nut、rasl_nut、idr_w_radl、idr_n_lp或cra_nut,而该图片中的其他vcl nal单元都有不同的nal_unit_type的特定值,其等于trail_nut、radl_nut或rasl_nut。
[0084]
vvc草案8中的混合nal单元类型的设计有一些潜在的缺点。
[0085]
现在将讨论nal单元类型定义内容。vcl nal单元类型在表1中定义。假设同一接入单元的所有vcl nal单元必须具有相同的nal单元类型值,并且该值定义了接入单元的类型及其经编解码图片。
[0086]
表1 nal单元类型代码和类别
[0087][0088]
hevc中有三种基本类型图片:帧内随机接入点(irap)图片、前置图片和后置图片。对于混合nal单元类型,一些nal单元类型可能在所有三个类别中都可用,因此可能需要更新nal单元类型定义。
[0089]
现在将讨论idr参考图片列表呈现的各方面。sps_idr_rpl_present_flag的语义指定如下。
[0090]
sps_idr_rpl_present_flag等于1指定idr图片的条带头中存在参考图片列表语法元素。sps_idr_rpl_present_flag等于0指定idr图片的条带头中不存在参考图片列表语法元素。
[0091]
由于idr图片被定义为每个vcl nal单元的nal_unit_type等于idr_w_radl或idr_n_lp的irap图片,因此该定义可能不适用于具有混合idr和非irap nal单元类型的图片。
[0092]
此外,针对用于参考图片列表构建的cra图片,比特流一致性要求如下:
[0093]-当当前图片是cra图片时,以输出顺序或解码顺序排列的refpiclist[0]或refpiclist[1]中的条目不应引用在以解码顺序排列的任何前面的irap图片之前的任何图片(如果存在)。
[0094]
类似的约束也适用于sps_idr_rpl_present_flag等于1的idr图片。
[0095]
现在将讨论非irap图片中的混合rasl nal单元的各方面。随机接入跳过前置(rasl)图片是每个vcl nal单元的nal_unit_type等于rasl_nut的经编解码图片。rasl图片是在从关联的irap图片执行随机接入时可能无法解码的前置图片。rasl图片的约束如下:
[0096]-每张图片都依赖于rasl图片,也必须是rasl图片。radl和rasl图片可以按解码顺序混合,但rasl图片必须在以输出顺序排列的radl图片之前。
[0097]-所有rasl图片都是关联的cra图片的前置图片。当关联的cra图片的nooutputbeforerecoveryflag等于1时,rasl图片不输出并且可能无法正确解码,因为rasl图片可能包含对比特流中不存在的图片的引用。rasl图片不用作非rasl图片解码过程的参考图片。当field_seq_flag等于0时,所有rasl图片(如果存在)以解码顺序位于同一关联cra图片的所有非前置图片之前。
[0098]
vvc草案8中的一般解码过程指定针对比特流中的每个irap图片,以下内容适用:
[0099]-如果图片是比特流中以解码顺序排列的层的第一张图片、idr图片、或以解码顺序排列的层的eos nal单元之后的层的第一张图片,则图片的变量nooutputbeforerecoveryflag设置为等于1。
[0100]-否则,当图片是cra图片时,以下内容适用:
[0101]
ο如果本规范中未指定的一些外部手段可用于将图片的变量handlecraascvsstartflag设置为一个值,则将图片的handlecraascvsstartflag设置为等于由外部手段提供的值,并且将nooutputbeforerecoveryflag设置为等于handlecraascvsstartflag。
[0102]
ο否则,针对图片,handlecraascvsstartflag和nooutputbeforerecoveryflag都设置为等于0。
[0103]
当当前图片是rasl图片并且关联的irap图片的nooutputbeforerecoveryflag等于1时,pictureoutputflag设置为等于0。
[0104]
针对混合nal单元类型,rasl nal单元可以在图3所示的前置图片或后置图片中使用。到目前为止,解码过程还没有被指定来处理带有rasl_nut但不是rasl图片的图片。
[0105]
现在将讨论参考图片条目约束的各方面。逐步时间子层接入(stsa)图片、后置图片和radl图片的比特流一致性要求如下:
[0106]-当当前条带的nal_unit_type等于stsa_nut时,refpiclist[0]或refpiclist[1]中不应有temporalid等于当前图片的temporalid且nuh_layer_id等于当前图片的nuh_layer_id的活动条目。
[0107]-当当前图片是以解码顺序排列的跟随stsa图片的图片时,其中stsa图片的temporalid等于当前图片的temporalid且nuh_layer_id等于当前图片的nuh_layer_id,在解码顺序中,在stsa图片之前不应该有其temporalid等于当前图片的temporalid且nuh_layer_id等于当前图片的nuh_layer_id的图片,该当前图片作为refpiclist[0]或refpiclist[1]中的活动条目。
[0108]-当当前图片是cra图片时,以输出顺序或解码顺序排列的refpiclist[0]或refpiclist[1]中的条目不应引用在以解码顺序排列的任何前面的irap图片之前(如果存在)的图片。
[0109]-当当前图片是后置图片时,refpiclist[0]或refpiclist[1]中的活动条目不应引用由用于为与当前图片相关联的irap图片生成不可用的参考图片的解码过程生成的图片。
[0110]-当当前图片是以解码顺序和输出顺序跟随与同一个irap图片相关联的一个或多
个前置图片(如果有)的后置图片时,refpiclist[0]或refpiclist[1]中的条目不应引用由用于为与当前图片相关联的irap图片生成不可用的参考图片的解码过程生成的图片。
[0111]-当当前图片是恢复点图片或以输出顺序跟随恢复点图片的图片时,refpiclist[0]或refpiclist[1]中不应有包含由用于为恢复点图片的gdr图片生成不可用的参考图片的解码过程生成的图片的条目。
[0112]-当当前图片是后置图片时,refpiclist[0]或refpiclist[1]中的活动条目不应引用以输出顺序或解码顺序排列在相关联的irap图片之前的图片。
[0113]-当当前图片是以解码顺序和输出顺序跟随与同一个irap图片相关联的一个或多个前置图片(如果有)的后置图片时,refpiclist[0]或refpiclist[1]中的条目不应引用以输出顺序或解码顺序排列在相关联的irap图片之前的图片。
[0114]-当当前图片为radl图片时,在refpiclist[0]或refpiclist[1]中不应有以下任何活动条目:
[0115]
οrasl图片
[0116]
ο由用于生成不可用的参考图片的解码过程生成的图片
[0117]
ο在解码顺序中在相关联的irap图片之前的图片
[0118]
vvc草案8将irap vcl nal单元约束为混合nal单元类型,如下所示:
[0119]
对于具有在idr_w_radl到cra_nut(包含idr_w_radl和cra_nut)范围内的nal_unit_type值nalunittypea的每个条带,在图片pica中还包含具有另一个值nal_unit_type的一个或多个条带(即,图片pica的mixed_nalu_types_in_pic_flag的值等于1),以下内容适用:
[0120]-条带应属于对应的subpic_treatment_as_pic_flag[i]的值等于1的子图片subpica。
[0121]-条带不应属于pica的包含具有的nal_unit_type不等于nalunittypea的vcl nal单元的子图片。
[0122]-如果nalunittypea等于cra,针对clvs中以解码顺序和输出顺序跟随当前图片的所有后续pu,那些pu中subpica中条带的refpiclist[0]和refpiclist[1]均不应包括在活动条目中以解码顺序排列在pica之前的任何图片。
[0123]
但是,混合nal单元类型的图片没有任何约束。
[0124]
现在将讨论混合nal单元类型指示的各方面。vvc草案8在pps中信号通知mixed_nalu_types_in_pic_flag,解码器必须解析ph并跟踪每张图片的参考pps以评估当前图片的混合类型属性。对于没有混合类型的常见情况,更高级别的指示符可能有助于简化此类识别过程。语法元素no_mixed_nalu_types_in_pic_constraint_flag在profile_tier_level()语法结构中被信号通知,该语法元素指定何时没有混合nal单元类型应用于输出层集。但是在层级(例如,经编解码的层视频序列(clvs))具有该指示符以容易地识别图片类型是有用的。
[0125]
表2显示了pps中的语法元素mixed_nalu_types_in_pic_flag。
[0126]
表2图片参数集rbsp语法
[0127][0128]
本公开提出了用于信号通知高级语法以支持vvc混合nal单元类型的多种技术。
[0129]
本公开提出与nal单元类型相关的技术。
[0130]
基于vvc草案8的混合nal单元类型概念,nal单元类型定义可以按如下表3所示的方式进行更新。在整个本公开中,《add》和《/add》之间显示的文本表示添加的文本,并且《del》和《/del》之间显示的文本表示相对于原始文本删除的,即去除的文本。
[0131]
表3提出的nal单元类型代码和类别
[0132][0133]
前置图片或后置图片可以包括nal单元类型等于idr_w_radl、idr_n_lp、cra_nut、rasl_nut、radl_nut和/或stsa_nut的nal单元。
[0134]
在本发明的另一示例中,gdr图片可以是irap图片。irap图片可能具有混合的idr、cra和gdr子图片或nal单元。当随机接入发生在相关联的irap图片或以解码顺序的前面的idr、cra或gdr nal单元时,可能无法正确解码前导图片或后置图片的图片以供输出。
[0135]
可以信号通知新的ph nal单元类型、或图片类型、或标志语法元素以指示可以跳过该图片,因为当随机接入发生在包含idr、cra或gdr nal单位的前面的图片时,该图片可能未被正确解码。可以信号通知新的ph nal单元类型、或图片类型、或标志语法元素以指示该图片是前置图片或后置图片。
[0136]
本公开描述与idr参考图片列表呈现有关的技术。sps_idr_rpl_present_flag的语义可以更新如下:
[0137]
sps_idr_rpl_present_flag等于1指定idr《del》图片
[0138]
《/del》《add》vcl nal单元《/add》的条带头中存在参考图片列表语法元素。sps_idr_rpl_present_flag等于0指定idr《del》图片
[0139]
《/del》《add》vcl nal单元《/add》的条带头中不存在参考图片列表语法元素。
[0140]
提出应用以下约束作为idr图片的比特流一致性要求:
[0141]
《add》当当前图片是idr图片并且sps_idr_rpl_present_flag等于1时,以输出顺序或解码顺序排列的refpiclist[0]或refpiclist[1]中的条目不应引用在以解码顺序排列的任何前面的irap图片(如果存在)之前的图片。《/add》
[0142]
本公开描述与非irap图片中的混合rasl nal单元有关的技术。rasl nal单元可以在非irap图片但不是rasl图片中与诸如idr_w_radl、idr_n_lp、cra_nut、radl_nut、stsa_nut和trail_nut的其他nal单元类型混合。当基于子图片的比特流合并发生在相关联的cra子图片时,rasl子图片可能无法正确解码。
[0143]
vvc草案8使用nooutputbeforerecoveryflag来控制rasl图片的输出,这种控制可能不适用于rasl子图片,因为合并可能不会发生在相关联的irap图片上。
[0144]
本公开提出用于在pps或ph中信号通知标志以指示参考pps的图片的一个或多个子图片可能由于从相关联的irap子图片执行的随机接入而不能正确解码的技术。结果,当基于子图片的比特流合并发生时,相关联的图片可能不会被输出。
[0145]
表4提出的pps中的随机接入跳过图片标志
[0146][0147]
pps_random_access_skipped_picture_flag等于1指定引用pps的图片具有nal_unit_type值等于rasl_nut的一个或多个vcl nal单元。pps_random_access_skipped_picture_flag等于0指定引用pps的图片没有nal_unit_type值等于rasl_nut的vcl nal单元。
[0148]
一般解码过程更新如下:
[0149]
针对比特流中的每张图片,以下内容适用:
[0150]-如果图片是以解码顺序排列比特流中的层的第一张图片、idr图片、或以解码顺
序排列的层的eos nal单元之后的层的第一张图片,则图片的变量nooutputbeforerecoveryflag设置为等于1。
[0151]
《add》
[0152]-否则,当vcl nal单元类型等于cra_nut时,以下内容适用:
[0153]-如果本规范中未指定的一些外部手段可用于将第i个子图片的变量handlecraascvsstartflag[i]设置为一个值,则将第i个子图片的handlecraascvsstartflag[i]设置为等于由外部手段提供的值。
[0154]-否则,将handlecraascvsstartflag[i]设置为等于0。
[0155]-如果至少一个handlecraascvsstartflag[i](其中i的范围从0到sps_num_subpics_minus1)等于1,则nooutputbeforerecoveryflag设置为1,否则,nooutputbeforerecoveryflag设置为0。
[0156]
《/add》
[0157]
当当前图片是rasl图片《add》或引用pps_random_access_skipped_picture_flag值等于1的pps的图片《/add》时,pictureoutputflag设置为0,并且《del》相关联irap图片《/del》的nooutputbeforerecoveryflag等于1。
[0158]
在另一示例中,可以为每个子图片设置变量nooutputbeforerecoveryflag。当第i个irap或gdr子图片的nooutputbeforerecoveryflag[i]等于1时,解码器不输出以解码顺序跟随irap或gdr子图片且不可解码的相关联的子图片,并且包含不可解码的子图片的图片也可能不会输出。包含不能正确解码的子图片的图片可以由图片类型、ph或sh nal单元类型、或参数集或ph/sh中的语法元素指示来指示。
[0159]
针对单层比特流,以下约束更新如下:
[0160]-任何rasl图片《add》或引用与cra图片相关联的pps_random_access_skipped_picture_flag等于1《/add》的pps的前置图片以输出顺序应排列在与cra图片相关联的任何radl图片之前。
[0161]
在一个示例中,可以为nal_unity_type等于rasl_nut的一个或多个nal单元的前置图片定义新的图片类型pictypea,并且当当前图片是rasl或pictypea图片时,pictureoutputflag设置为等于0并且相关联的irap图片的nooutputbeforerecoveryflag等于1。
[0162]
在另一个示例中,可以为nal_unit_type等于rasl_nut的一个或多个nal单元的图片定义新的图片类型pictypeb,并且当当前图片是rasl或pictypeb图片时,pictureoutputflag设置为等于0并且nooutputbeforerecoveryflag等于1。
[0163]
在另一个示例中,提出不允许rasl_nut vcl nal单元与具有不同nal单元类型的vcl nal单元混合。混合nal单元类型的约束如下更新。
[0164]
针对任何特定图片的vcl nal单元,以下内容适用:
[0165]-如果mixed_nalu_types_in_pic_flag等于0,则nal_unit_type的值针对图片的所有经编解码条带nal单元应相同。图片或pu被称为具有与图片或pu的经编解码条带nal单元相同的nal单元类型。
[0166]-否则(mixed_nalu_types_in_pic_flag等于1),图片的一个或多个子图片的vcl nal单元都有nal_unit_type的特定值,其等于stsa_nut、radl_nut、《del》rasl_nut、《/del》
idr_w_radl、idr_n_lp或cra_nut,而该图片中的其他vcl nal单元都有不同的nal_unit_type的特定值,其等于trail_nut、radl_nut、《del》或rasl_nut《/del》。
[0167]
本公开描述与参考图片列表条目约束有关的技术。radl图片的约束可能会如下更新:
[0168]
当当前图片为radl图片时,在refpiclist[0]或refpiclist[1]中应没有作为rasl图片《add》或包含rasl_nut vcl nal单元的图片《/add》的活动条目。
[0169]
在另一个示例中,约束可以表示如下:
[0170]
针对具有nal_unit_type值radl_nut的每个条带,在还包含具有另一个nal_unit_type值的一个或多个条带的图片pica中(即,图片pica的mixed_nalu_types_in_pic_flag的值等于1),subpica中的条带的refpiclist[0]和refpiclist[1]都不应在活动条目中包括以下任何图片:
[0171]-rasl图片或包含rasl_nut vcl nal单元的图片
[0172]-由用于生成不可用的参考图片的解码过程生成的图片
[0173]-以解码顺序排列在相关联的irap图片之前的图片
[0174]
图4显示了被所提议的约束禁止的两种帧间预测。
[0175]
本公开描述与混合nal单元类型指示相关的技术。信号通知sps混合nal单元类型标志以在clvs层级启用或禁用混合nal单元类型。所提议的语法如表5所示。
[0176]
表5所提议的sps混合nal单元类型语法
[0177][0178]
sps_mixed_nalu_types_flag等于1指定在引用sps的clvs中的每个图片都具有一个或多个vcl nal单元,并且当图片中有多于一个vclnal单元时,vcl nal单元可能具有或可能不具有相同的nal_unit_type值。sps_mixed_nalu_types_flag等于0指定在引用sps的clvs内的每个图片具有一个或多个vcl nal单元,并且在引用sps的clvs内的每个图片的vcl nal单元具有相同的nal_unit_type值。当sps_mixed_nalu_types_flag等于0时,mixed_nalu_types_in_pic_flag的值应等于0。
[0179]
在一些示例中,语义可以指定如下:
[0180]
sps_mixed_nalu_types_flag等于1指定在引用sps的clvs内的每个图片都具有多
于一个vcl nal单元,并且vcl nal单元可能不具有相同的nal_unit_type值。sps_mixed_nalu_types_flag等于0指定在引用sps的clvs内的每个图片具有一个或多个vcl nal单元,并且在引用sps的clvs内的每个图片的vcl nal单元具有相同的nal_unit_type值。当sps_mixed_nalu_types_flag等于0时,mixed_nalu_types_in_pic_flag的值应等于0。
[0181]
图5为示出了可以执行本公开的技术的示例视频编码器200的框图。提供图5是为了说明,不应认为是对本公开中广泛例示和描述的技术的限制。出于说明的目的,本公开根据vvc(正在开发的itu-t h.266)和hevc(itu-th.265)的技术来描述视频编码器200。然而,本公开的技术可以由被配置为其他视频编码标准的视频编码设备来执行。
[0182]
在图5的示例中,视频编码器200包括视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波器单元216、经解码图片缓冲器(dpb)218和熵编码单元220。可以在一个或多个处理器中或在处理电路中实施视频数据存储器230、模式选择单元202、残差生成单元204、变换处理单元206、量化单元208、逆量化单元210、逆变换处理单元212、重构单元214、滤波器单元216、dpb 218和熵编码单元220中的任何一个或全部。例如,视频编码器200的单元可以被实施为一个或多个电路或逻辑元件,作为硬件电路的一部分,或者作为处理器、asic、fpga的一部分。此外,视频编码器200可以包括附加的或可替代的处理器或处理电路来执行这些和其他功能。
[0183]
视频数据存储器230可以存储要由视频编码器200的组件编码的视频数据。视频编码器200可以从例如视频源104(图1)接收存储在视频数据存储器230中的视频数据。dpb 218可以用作参考图片存储器,该参考图片存储器存储参考视频数据,以供视频编码器200预测后续视频数据时使用。视频数据存储器230和dpb 218可以由多种存储设备中的任何一种形成,例如动态随机存取存储器(dram),包括同步dram(sdram),磁阻ram(mram),电阻性ram(rram)或其他存储设备的类型。视频数据存储器230和dpb 218可以由相同的存储设备或单独的存储设备提供。在各种示例中,视频数据存储器230可以与视频编码器200的其他组件在芯片上,如图所示,或者相对于那些组件在芯片外。
[0184]
在本公开中,对视频数据存储器230的引用不应被解释为限于视频编码器200内部的存储器(除非如此具体描述),或者限于视频编码器200外部的存储器(除非如此具体描述)。相反,对视频数据存储器230的引用应被理解为存储视频编码器200所接收的用于编码的视频数据(例如,要编码的当前块的视频数据)的参考存储器。图1的存储器106还可对来自视频编码器200的各个单元的输出进行临时存储。
[0185]
示出了图5中各个单元以帮助理解由视频编码器200执行的各项操作。这些单元可以被实施为固定功能电路、可编程电路或其组合。固定功能电路涉及提供特定功能的电路,并被预设为可以执行的操作。可编程电路是指可被编程以执行各种任务并在可执行的操作中提供灵活功能的电路。例如,可编程电路可以运行软件或固件,使得可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可以运行软件指令(例如,接收参数或输出参数),但是固定功能电路执行的操作的类型通常是不可变的。在一些示例中,这些单元中的一个或多个可以是不同的电路块(固定功能的或可编程的),并且在一些示例中,这些单元中的一个或多个可以是集成电路。
[0186]
视频编码器200可以包括算术逻辑单元(alu)、基本功能单元(efu)、数字电路、模
拟电路、和/或由可编程电路形成的可编程核心。在使用由可编程电路运行的软件来执行视频编码器200的操作的示例中,存储器106(图1)可以存储视频编码器200接收并运行的软件的指令(例如,目标代码),或者视频编码器200内的另一存储器(未示出)可以存储这样的指令。
[0187]
视频数据存储器230被配置为存储接收的视频数据。视频编码器200可以从视频数据存储器230检索视频数据的图片,并将视频数据提供到残差生成单元204和模式选择单元202。视频数据存储器230中的视频数据可以是待编码的原始视频数据。
[0188]
模式选择单元202包括运动估计单元222、运动补偿单元224和帧内预测单元226。模式选择单元202可以包括附加的功能单元,以根据其他预测模式来执行视频预测。作为示例,模式选择单元202可以包括调色板单元、块内复制单元(其可以是运动估计单元222和/或运动补偿单元224的一部分)、仿射单元、线性模型(lm)单元,或类似的单元。
[0189]
模式选择单元202通常配合多次编码,以测试编码参数的组合以及针对这种组合的结果率失真值。编码参数可以包括将ctu分区为cu、用于cu的预测模式、用于cu的残差数据的变换类型、用于cu的残差数据的量化参数等。模式选择单元202可以最终选择具有比其他测试组合更好的率失真值的编码参数的组合。
[0190]
视频编码器200可以将从视频数据存储器230中检索到的图片分区为一系列ctu,并将一个或多个ctu封装在条带内。模式选择单元202可以根据树结构(诸如上述hevc的qtbt结构或四叉树结构)来分区图片的ctu。如上所述,视频编码器200可以通过根据树结构分区ctu来形成一个或多个cu。这样的cu通常也可以被称为“视频块”或“块”。
[0191]
通常,模式选择单元202还控制其组件(例如,运动估计单元222、运动补偿单元224和帧内预测单元226),以生成当前块(例如,当前cu、或在hevc中、pu和tu的重叠部分)的预测块。对于当前块的帧间预测,运动估计单元222可以执行运动搜索以识别一个或多个参考图片(例如,在dpb218中存储的一个或多个先前的经编解码图片)中的一个或多个紧密匹配的参考块。具体地,运动估计单元222可以计算表示潜在的参考块与当前块如何相似的值,例如根据绝对差之和(sad)、平方差之和(ssd)、平均绝对差(mad)、均方差(msd)等。运动估计单元222通常可以使用当前块和所考虑的参考块之间的逐样点差来执行这些计算。运动估计单元222可以识别具有由这些计算产生的最低值的参考块,该最低值指示最紧密匹配当前块的参考块。
[0192]
运动估计单元222可以形成一个或多个运动矢量(mv),该运动矢量定义参考图片中的参考块的位置相对于当前图片中的当前块的位置。然后运动估计单元222可以向运动补偿单元224提供运动矢量。例如,对于单向帧间预测,运动估计单元222可以提供单个运动矢量,而对于双向帧间预测,运动估计单元222可以提供两个运动矢量。然后运动补偿单元224可以使用运动矢量来生成预测块。例如,运动补偿单元224可以使用运动矢量来检索参考块的数据。作为另一示例,如果运动矢量具有分数采样精度,则运动补偿单元224可以根据一个或多个插值滤波器对预测块的值进行插值。此外,对于双向帧间预测,运动补偿单元224可以检索由相应运动矢量识别的两个参考块的数据,并通过例如逐样点平均或加权平均来组合检索的数据。
[0193]
作为另一示例,对于帧内预测、或帧内预测编解码,帧内预测单元226可以从与当前块相邻的样点生成预测块。例如,对于方向模式,帧内预测单元226通常可数学地组合相
邻样点的值,并在当前块上沿定义的方向填充这些计算值,以产生预测块。作为另一示例,对于dc模式,帧内预测单元226可以计算到当前块的相邻样点的平均值,并且生成预测块以包括针对预测块的每个样点的该得到的平均值。
[0194]
模式选择单元202将预测块提供到残差生成单元204。残差生成单元204从视频数据存储器230接收当前块的原始未编码版本,并从模式选择单元202接收预测块。残差生成单元204计算当前块和预测块之间的逐样点差。所得的逐样点差异定义了当前块的残差块。在一些示例中,残差生成单元204还可以确定残差块中的样点值之间的差,以使用残差差分脉冲编解码调制(rdpcm)来生成残差块。在一些示例中,可以使用执行二进制减法的一个或多个减法器电路来形成残差生成单元204。
[0195]
在模式选择单元202将cu分区为pu的示例中,每个pu可以与亮度预测单元和对应的色度预测单元相关联。视频编码器200和视频解码器300可以支持具有各种大小的pu。如上所述,cu的大小可以指cu的亮度编解码块的大小,并且pu的大小可以指pu的亮度预测单元的大小。假设特定cu的大小为2nx2n,视频编码器200可支持用于帧内预测的2nx2n或nxn的pu大小,以及用于帧间预测的2nx2n、2nxn、nx2n、nxn或类似的对称pu大小。视频编码器200和视频解码器300还可以支持用于帧间预测的2nxnu、2nxnd、nlx2n和nrx2n的pu大小的非对称分区。
[0196]
在模式选择单元202未进一步将cu分区为pu的示例中,每个cu可以与亮度编解码块和对应的色度编码块相关联。如上所述,cu的大小可以指cu的亮度编解码块的大小。视频编码器200和视频解码器300可以支持2nx2n、2nxn或nx2n的cu大小。
[0197]
对于其他视频编解码技术,诸如帧内块复制模式编解码、仿射模式编解码和线性模型(lm)模式编解码(作为少数示例),模式选择单元202经由与编解码技术相关联的相应单元,针对正在被编码的当前块生成预测块。在一些示例中,诸如调色板模式编解码,模式选择单元202可以不生成预测块,而是生成指示基于所选调色板来重构块的方式的语法元素。在这种模式下,模式选择单元202可以将这些语法元素提供到熵编码单元220以进行编码。
[0198]
如上所述,残差生成单元204接收当前块和对应预测块的视频数据。然后残差生成单元204生成针对当前块的残差块。为了生成残差块,残差生成单元204计算预测块和当前块之间的逐样点差。
[0199]
变换处理单元206对残差块应用一个或多个变换,以生成变换系数的块(本文称为“变换系数块”)。变换处理单元206可以对残差块应用各种变换,以形成变换系数块。例如,变换处理单元206可以将离散余弦变换(dct)、方向变换、karhunen-loeve变换(klt)或概念上类似的变换应用于残差块。在一些示例中,变换处理单元206可以对残差块执行多个变换,例如主变换和副变换,例如旋转变换。在一些示例中,变换处理单元206不对残差块应用变换。
[0200]
量化单元208可以量化变换系数块中的变换系数,以产生经量化的变换系数块。量化单元208可以根据与当前块相关联的量化参数(qp)值来量化变换系数块的变换系数。视频编码器200(例如,经由模式选择单元202)可以通过调整与cu相关联的qp值来调整应用于与当前块相关联的变换系数块的量化的程度。量化可能引入信息损失,因此,经量化的变换系数可能比由变换处理单元206产生的原始变换系数具有更低的精度。
[0201]
逆量化单元210和逆变换处理单元212可以分别对经量化的变换系数块应用逆量化和逆变换,以从变换系数块重构残差块。重构单元214可以基于重构的残差块和由模式选择单元202生成的预测块来产生对应于当前块的重构块(尽管可能具有一定程度的失真)。例如,重构单元214可以将重构的残差块的样点添加到来自模式选择单元202所生成的预测块的对应样点中,以产生重构块。
[0202]
滤波器单元216可以对重构块执行一个或多个滤波操作。例如,滤波器单元216可以执行去方块操作以减少沿cu边缘的块效应伪像。在一些示例中,可以跳过过滤单元216的操作。
[0203]
视频编码器200在dpb 218中存储重构块。例如,在不需要滤波器单元216的操作的示例中,重构单元214可以将重构块存储到dpb 218。在需要滤波器单元216操作的示例中,滤波器单元216可以将滤波后的重构块存储到dpb 218。运动估计单元222和运动补偿单元224可从dpb 218检索参考图片,该参考图片由重构的(并且可能滤波的)块形成,以帧间预测随后经编码图片的块。另外,帧内预测单元226可使用当前图片的dpb 218中的重构块来对当前图片中的其他块进行帧内预测。
[0204]
通常,熵编码单元220可以对从视频编码器200的其他功能组件接收的语法元素进行熵编码。例如,熵编码单元220可以对来自量化单元208的经量化的变换系数块进行熵编码。作为另一个示例,熵编码单元220可以对来自模式选择单元202的预测语法元素(例如,用于帧间预测的运动信息或用于帧内预测的帧内模式信息)进行熵编码。熵编码单元220可以对作为视频数据的另一示例的语法元素执行一个或多个熵编码操作,以生成熵编码的数据。例如,熵编码单元220可以对数据执行上下文自适应可变长度编解码(cavlc)操作、cabac操作、变量到变量(v2v)编解码操作、基于语法的上下文自适应二进制算术编解码(sbac)操作、概率区间分区熵(pipe)编解码操作、指数-哥伦布(exponential-golomb)编码操作、或另一种类型的熵编码操作。在一些示例中,熵编码单元220可以在语法元素未被熵编码的旁路模式下操作。
[0205]
视频编码器200可以输出包括条带或图片的重构块所需的经熵编码的语法元素的比特流。具体地,熵编码单元220可以输出比特流。
[0206]
以上描述的操作是针对块进行描述的。这种描述应该理解为用于亮度编解码块和/或色度编解码块的操作。如上所述,在一些示例中,亮度编解码块和色度编解码块是cu的亮度和色度分量。在一些示例中,亮度编解码块和色度编解码块是pu的亮度和色度分量。
[0207]
在一些示例中,不需要对色度编解码块重复针对亮度编解码块执行的操作。作为一个示例,不需要为了识别色度块的mv和参考图片而重复识别亮度编解码块的运动矢量(mv)和参考图片的操作。相反,亮度编解码块的mv可以被缩放以确定色度块的mv,并且参考图片可以是相同的。作为另一示例,帧内预测过程对于亮度编解码块和色度编解码块可以是相同的。
[0208]
视频编码器200表示被配置为对视频数据进行熵编码的设备的示例,该设备包括被配置为存储视频数据的存储器,以及在电路中实施并被配置为针对具有混合nal单元类型的视频信号通知高级语法的一个或多个处理单元。
[0209]
图6示出了可执行本公开的技术的示例视频解码器300的框图。图6是为了解释的目的,并且不限制本公开中广泛例示和描述的技术。出于说明的目的,本公开根据vvc(正在
开发的itu-t h.266)和hevc(itu-t h.265)的技术来描述视频解码器300。然而,本公开的技术可以由被配置为其他视频编解码标准的视频编解码设备来执行。
[0210]
在图6的示例中,视频解码器300包括经编解码图片缓冲器(cpb)存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波器单元312和经解码图片缓冲器(dpb)314。可以在一个或多个处理器中或在处理电路中实施cpb存储器320、熵解码单元302、预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310、滤波器单元312和dpb 314中的任何一个或全部。例如,视频解码器300的单元可以被实施为一个或多个电路或逻辑元件,作为硬件电路的一部分,或者作为处理器、asic、fpga的一部分。此外,视频解码器300可以包括附加的或可替代的处理器或处理电路来执行这些和其他功能。
[0211]
预测处理单元304包括运动补偿单元316和帧内预测单元318。预测处理单元304可以包括附加单元,以根据其他预测模式执行预测。作为示例,预测处理单元304可以包括调色板单元、帧内块复制单元(其可以形成运动补偿单元316的一部分)、仿射单元、线性模型(lm)单元等。在其他示例中,视频解码器300可以包括更多,更少或不同的功能组件。
[0212]
cpb存储器320可以存储要由视频解码器300的组件解码的视频数据,诸如经编码的视频比特流。例如,可以从计算机可读介质110(图1)获得存储在cpb存储器320中的视频数据。cpb存储器320可以包括存储来自经编码视频比特流的经编码视频数据(例如,语法元素)的cpb。此外,cpb存储器320可以存储除编解码的图片的语法元素外的视频数据,诸如表示来自视频解码器300的各个单元的输出的临时数据。dpb 314通常存储经解码图片,视频解码器300可以在解码经编码视频比特流的后续数据或图片时输出该经解码图片和/或将其用作参考视频数据。cpb存储器320和dpb 314可以由多种存储器设备中的任何一种形成,诸如dram,包括sdram、mram、rram或其他类型的存储器设备。cpb存储器320和dpb 314可以由相同的存储设备或分离的存储设备提供。在各种示例中,cpb存储器320可以与视频解码器300的其他组件在芯片上,或者相对于那些组件在芯片外。
[0213]
附加地或可替代地,在一些示例中,视频解码器300可以从存储器120(图1)检索经编解码视频数据。也就是说,存储器120可以如上所述利用cpb存储器320存储数据。同样,在以要由视频解码器300的处理电路运行的软件实施视频解码器300的功能中的一些或全部时,存储器120可以存储要由视频解码器300运行的指令。
[0214]
示出了图6所示的各种单元以帮助理解由视频解码器300执行的各项操作。这些单元可以被实现为固定功能电路、可编程电路或其组合。与图5类似,固定功能电路是指提供特定功能并且在可以执行的操作上预设的电路。可编程电路是指可被编程以执行各种任务并在可执行的操作中提供灵活功能的电路。例如,可编程电路可以运行软件或固件,使得可编程电路以由软件或固件的指令定义的方式操作。固定功能电路可以运行软件指令(例如,接收参数或输出参数),但是固定功能电路执行的操作的类型通常是不可变的。在一些示例中,这些单元中的一个或多个可以是不同的电路块(固定功能的或可编程的),并且在一些示例中,这些单元中的一个或多个可以是集成电路。
[0215]
视频解码器300可以包括alu、efu、数字电路、模拟电路、和/或由可编程电路形成的可编程核心。在由在可编程电路上运行的软件来执行视频解码器300的操作的示例中,片上或片外存储器可以存储视频解码器300接收和运行的软件的指令(例如,目标代码)。
[0216]
熵解码单元302可以从cpb接收经编码视频数据,并对视频数据进行熵解码以再现语法元素。预测处理单元304、逆量化单元306、逆变换处理单元308、重构单元310和滤波器单元312可以基于从比特流提取的语法元素来生成经解码视频数据。
[0217]
通常,视频解码器300在逐块的基础上重构图片。视频解码器300可以对每个块单独执行重构操作(其中当前正在重构(即解码)的块可以被称为“当前块”)。
[0218]
熵解码单元302可以对定义经量化的变换系数块的经量化的变换系数的语法元素、以及变换信息(诸如量化参数(qp)和/或(一个或多个)变换模式指示)进行熵解码。逆量化单元306可以使用与经量化变换系数块相关联的qp来确定量化的程度,并且类似地,确定逆量化单元306要应用的逆量化的程度。逆量化单元306可以例如执行逐位左移位操作来对经量化变换系数进行逆量化。逆量化单元306可以由此形成包括变换系数的变换系数块。
[0219]
在逆量化单元306形成变换系数块之后,逆变换处理单元308可以对变换系数块应用一个或多个逆变换,以生成与当前块相关联的残差块。例如,逆变换处理单元308可以对变换系数块应用逆dct、逆整数变换、逆卡尔亨-洛夫变换(klt)、逆旋转变换、逆方向变换、或另一逆变换。
[0220]
此外,预测处理单元304根据由熵解码单元302熵解码的预测信息语法元素生成预测块。例如,如果预测信息语法元素指示当前块是帧间预测的,则运动补偿单元316可以生成预测块。在这种情况下,预测信息语法元素可以指示从中检索参考块的dpb 314中的参考图片,以及识别参考图片中的参考块的位置相对于当前图片中的当前块的位置的运动矢量。运动补偿单元316通常可以以与关于运动补偿单元224(图5)所描述的方式基本上相似的方式来执行帧间预测处理。
[0221]
作为另一示例,如果预测信息语法元素指示当前块是帧内预测的,则帧内预测单元318可以根据由预测信息语法元素指示的帧内预测模式来生成预测块。再次,帧内预测单元318通常可以以与关于帧内预测单元226(图5)所描述的方式基本上相似的方式来执行帧内预测处理。帧内预测单元318可以从dpb 314检索到当前块的相邻样点的数据。
[0222]
重构单元310可以使用预测块和残差块来重构当前块。例如,重构单元310可以将残差块的样点添加到预测块的对应样点以重构当前块。
[0223]
滤波器单元312可以对重构块执行一个或多个滤波操作。例如,滤波器单元312可以执行去方块操作以减少沿着重构块的边缘的块效应伪像。滤波器单元312的操作不一定在所有示例中执行。
[0224]
视频解码器300可以将重构块存储在dpb 314中。例如,在不执行滤波器单元312的操作的示例中,重构单元310可以将重构块存储到dpb 314。在执行滤波器单元312的操作的示例中,滤波器单元312可以将经滤波的重构块存储到dpb 314。如上所述,dpb 314可以向预测处理单元304提供参考信息,诸如用于帧内预测的当前图片的样点和用于后续运动补偿的先前解码的图片。此外,视频解码器300可以从dpb 314输出经解码图片(例如,经解码视频),用于在显示设备(诸如图1的显示设备118)上随后呈现。
[0225]
以这种方式,视频解码器300表示视频解码设备的示例,该视频解码设备包括被配置为存储视频数据的存储器,以及在电路中实施并被配置为解析具有混合nal单元类型的视频的高级语法的一个或多个处理单元。
[0226]
图7示出了用于对当前块进行编码的示例方法的流程图。当前块可以包括当前cu。
尽管对视频编码器200(图1和图5)进行了描述,但是应当理解,可以将其他设备配置为执行与图7类似的方法。
[0227]
在该示例中,视频编码器200最初预测当前块(350)。例如,视频编码器200可以形成当前块的预测块。然后视频编码器200可以计算当前块的残差块(352)。为了计算残差块,视频编码器200可以计算原始未编码块与当前块的预测块之间的差。然后视频编码器200可以变换残差块并量化残差块的变换系数(354)。接下来,视频编码器200可以扫描残差块的经量化的变换系数(356)。在扫描期间,或在扫描之后,视频编码器200可以对变换系数进行熵编码(358)。例如,视频编码器200可以使用cavlc或cabac对变换系数进行编码。然后视频编码器200可以输出块的经熵编码数据(360)。
[0228]
图8是示出用于解码视频数据的当前块的示例方法的流程图。当前块可以包括当前cu。尽管对视频解码器300(图1和6)进行了描述,但是应当理解,可以将其他设备配置为执行与图8类似的方法。
[0229]
视频解码器300可以接收当前块的经熵编码数据(370),诸如用于对应于当前块的残差块的变换系数的经熵编码预测信息和经熵编码数据。视频解码器300可以对经熵编码数据进行熵解码,以确定当前块的预测信息,并再现残差块的变换系数(372)。视频解码器300可预测当前块(374),例如,使用由当前块的预测信息指示的帧内或帧间预测模式来计算当前块的预测块。然后视频解码器300可以逆扫描再现的变换系数(376),以创建经量化变换系数的块。然后视频解码器300可以对变换系数进行逆量化,并且将逆变换应用于变换系数以产生残差块(378)。最终,视频解码器300可通过组合预测块和残差块来解码当前块(380)。
[0230]
图9是示出了编码视频数据的示例方法的流程图。尽管对视频编码器200(图1和图5)进行了描述,但是应当理解,可以将其他设备配置为执行与图9类似的方法。
[0231]
在图9的示例中,视频编码器200维护第一参考图片列表(402)。视频编码器200维护第二参考图片列表(404)。例如,第一参考图片列表和第二参考图片列表可以是上面讨论的refpiclist[0]和refpiclist[1]。
[0232]
视频编码器200确定图片是瞬时解码刷新(idr)图片(406)。idr图片可以包括idr视频编解码层(vcl)网络抽象层(nal)单元。图片可以包括至少一个idr子图片,并且可以在没有帧间预测的情况下对至少一个idr子图片的所有块进行编解码。至少一个idr子图片可以具有关联的前置图片。视频编码器200确定参考图片列表语法元素存在于idr图片的条带头中(408)。
[0233]
响应于确定图片是idr图片并且参考图片列表语法元素存在于该idr图片的条带头中,视频编码器200更新第一参考图片列表和第二参考图片列表使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点(irap)图片之前的图片(410)。前面的irap图片可以包括前面的idr图片或前面的cra图片之一。
[0234]
视频编码器200可以在经编码视频数据的比特流中输出语法元素,该语法元素包括参考图片列表语法元素和指示参考图片列表语法元素存在于对应于idr vcl nal单元的条带头中的语法元素。视频编码器200可以在经编码视频数据的比特流中输出语法元素,其中语法元素指示图片包括具有不同nal单元类型的多个vcl nal单元。
[0235]
以下各条款(clause)表示了上述技术和设备的示例性表示说明。
[0236]
条款1:一种对视频数据进行解码的方法,该方法包括:接收视频数据的网络抽象层(nal)单元;确定针对nal单元的nal单元类型;以及基于确定的nal单元类型确定nal单元的内容。
[0237]
条款2:对视频数据进行解码的方法还包括:接收一个或多个语法元素,该一个或多个语法元素与nal单元分开并指示针对nal单元的允许nal单元类型。
[0238]
条款3:根据条款1或2所述的方法,还包括:构建一个或多个参考图片列表,其中至少部分地基于nal单元类型来选择一个或多个参考图片列表的条目。
[0239]
条款4:一种对视频数据进行编码的方法,该方法包括:确定nal单元的nal单元类型;基于确定的nal单元类型确定nal单元的内容;以及在视频数据的经编码比特流中输出nal单元。
[0240]
条款5:一种对视频数据进行编码的方法,该方法包括:确定nal单元的内容;基于确定的内容确定nal单元的nal单元类型;以及在视频数据的经编码比特流中输出nal单元。
[0241]
条款6:一种对视频数据进行编解码的方法,该方法包括:确定视频数据的图片的图片类型;以及构建一个或多个参考图片列表,其中至少部分地基于图片类型来选择一个或多个参考图片列表的条目。
[0242]
条款7:根据条款6所述的方法,其中编解码包括解码。
[0243]
条款8:根据条款6所述的方法,其中编解码包括编码。
[0244]
条款9:一种用于对视频数据进行编解码的设备,该设备包括用于执行条款1-8条中任一项所述方法的一个或多个部件。
[0245]
条款10:根据条款9所述的设备,其中,该一个或多个部件包括在电路中实施的一个或多个处理器。
[0246]
条款11:根据条款9或10所述的设备,还包括用于存储视频数据的存储器。
[0247]
条款12:根据条款9-11中任一项所述的设备,还包括配置为显示经解码视频数据的显示器。
[0248]
条款13:根据条款9-12中任一项所述的设备,其中,该设备包括摄像机、计算机、移动设备、广播接收器设备或机顶盒中的一个或多个。
[0249]
条款14:根据条款9-13中任一项所述的设备,其中,该设备包括视频解码器。
[0250]
条款15:根据条款9-14中任一项所述的设备,其中,该设备包括视频编码器。
[0251]
条款16:一种其上存储有指令的计算机可读存储介质,该指令在被执行时使一个或多个处理器执行条款1-8中任一项所述的方法。
[0252]
条款17:一种对视频数据进行编码的方法,该方法包括:维护第一参考图片列表;维护第二参考图片列表;确定图片是瞬时解码刷新(idr)图片;确定参考图片列表语法元素存在于idr图片的条带头中;响应于确定该图片是idr图片并且该参考图片列表语法元素存在于idr图片的条带头中,更新第一参考图片列表和第二参考图片列表使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有图片在以解码顺序排列的任何前面的即时随机接入点(irap)图片之前的图片。
[0253]
条款18:根据条款17所述的方法,其中,该idr图片包括idr视频编解码层(vcl)网络抽象层(nal)单元。
[0254]
条款19:根据条款17或18所述的方法,还包括:在经编码视频数据的比特流中输出语法元素,其中该语法元素包括参考图片列表语法元素和指示参考图片列表语法元素存在于对应于idr vcl nal单元的条带头中的语法元素。
[0255]
条款20:根据条款19所述的方法,还包括:在经编码视频数据的比特流中输出语法元素,该语法元素指示图片包括具有不同nal单元类型的多个vcl nal单元。
[0256]
条款21:根据条款17-20所述的方法,其中,该图片包括至少一个idr子图片。
[0257]
条款22:根据条款21所述的方法,其中,该至少一个idr子图片的所有块在没有帧间预测的情况下被编解码。
[0258]
条款23:根据条款21或22所述的方法,其中,该至少一个idr子图片具有相关联的前置图片。
[0259]
条款24:根据条款17-23中任一项所述的方法,其中,该前面的irap图片包括前面的idr图片或前面的干净随机接入(cra)图片之一。
[0260]
条款25:一种对视频数据进行解码的设备,该设备包括:存储器,该存储器被配置为存储视频数据;一个或多个处理器,该一个或多个处理器在电路中实施并且被配置为:维护第一参考图片列表;维护第二参考图片列表;确定图片是瞬时解码刷新(idr)图片;确定参考图片列表语法元素存在于idr图片的条带头中;以及响应于确定该图片是idr图片并且该参考图片列表语法元素存在于idr图片的条带头中,更新第一参考图片列表和第二参考图片列表使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点(irap)图片之前的图片。
[0261]
条款26:根据条款25所述的设备,其中,该idr图片包括idr视频编解码层(vcl)网络抽象层(nal)单元。
[0262]
条款27:根据条款26所述的设备,其中该一个或多个处理器还被配置为:在经编码视频数据的比特流中输出语法元素,其中该语法元素包括参考图片列表语法元素和指示参考图片列表语法元素存在于对应于idr vcl nal单元的条带头中的语法元素。
[0263]
条款28:根据条款27所述的设备,其中该一个或多个处理器还被配置为:在经编码视频数据的比特流中输出语法元素,该语法元素指示图片包括具有不同nal单元类型的多个vcl nal单元。
[0264]
条款29:根据条款25-28中任一项所述的设备,其中,该图片包括至少一个idr子图片。
[0265]
条款30:根据条款29所述的设备,其中,该至少一个idr子图片的所有块在没有帧间预测的情况下被编解码。
[0266]
条款31:根据条款29所述的设备,其中,该至少一个idr子图片具有相关联的前置图片。
[0267]
条款32:根据条款25-31中任一项所述的设备,其中,该前面的irap图片包括前面的idr图片或前面的干净随机接入(cra)图片之一。
[0268]
条款33:根据条款25-32中任一项所述的设备,其中,该设备包括无线通信设备,还包括被配置为发送经编码视频数据的发送器。
[0269]
条款34:根据条款33所述的设备,其中,该无线通信设备包括电话手持机,并且其中,该发送器被配置为根据无线通信标准对包括经编码视频数据的信号进行调制。
[0270]
条款35:根据条款25-34中任一项所述的设备,还包括被配置为捕获视频数据的摄像机。
[0271]
条款36:根据条款25-35中任一项所述的设备,其中,该设备包括摄像机、计算机、移动设备、广播接收器设备或机顶盒中的一个或多个。
[0272]
条款37:一种存储指令的计算机可读存储介质,当由一个或多个处理器执行时,这些指令使得该一个或多个处理器:维护第一参考图片列表;维护第二参考图片列表;确定图片是瞬时解码刷新(idr)图片;确定参考图片列表语法元素存在于idr图片的条带头中;以及响应于确定该图片是idr图片并且该参考图片列表语法元素存在于idr图片的条带头中,更新第一参考图片列表和第二参考图片列表使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点(irap)图片之前的图片。
[0273]
条款38:根据条款37所述的计算机可读存储介质,其中,该idr图片包括idr视频编解码层(vcl)网络抽象层(nal)单元。
[0274]
条款39:根据条款37或38所述的计算机可读存储介质,其中,该图片包括至少一个idr子图片。
[0275]
条款40:根据条款37-39中任一项所述的计算机可读存储介质,其中,该前面的irap图片包括前面的idr图片或前面的干净随机接入(cra)图片之一。
[0276]
条款41:一种对视频数据进行编码的装置,该装置包括用于维护第一参考图片列表的部件;用于维护第二参考图片列表的部件;用于确定图片是瞬时解码刷新(idr)图片的部件;用于确定参考图片列表语法元素存在于idr图片的条带头中的部件;以及用于响应于确定该图片是idr图片并且该参考图片列表语法元素存在于idr图片的条带头中,更新第一参考图片列表和第二参考图片列表使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点(irap)图片之前的图片的部件。
[0277]
条款42:根据条款41所述的装置,其中,该idr图片包括idr视频编解码层(vcl)网络抽象层(nal)单元。
[0278]
条款43:根据条款42所述的装置,还包括:用于在经编码视频数据的比特流中输出语法元素的部件,该语法元素包括参考图片列表语法元素和指示参考图片列表语法元素存在于对应于idr vcl nal单元的条带头中的语法元素。
[0279]
条款44:根据条款43所述的装置,还包括:用于在经编码视频数据的比特流中输出语法元素的部件,该语法元素指示图片包括具有不同nal单元类型的多个vcl nal单元。
[0280]
条款45:根据条款41-44中任一项所述的装置,其中,该图片包括至少一个idr子图片。
[0281]
条款46:根据条款41-45中任一项所述的装置,其中,该前面的irap图片包括前面的idr图片或前面的干净随机接入(cra)图片之一。
[0282]
应当认识到,根据示例,本文描述的任何技术的某些动作或事件可以以不同的顺序执行,可以被添加,合并或完全省略(例如,并非所有描述的动作或事件都是技术实践所必需的)。此外,在某些示例中,动作或事件可以例如通过多线程处理,中断处理或多个处理器并发地而不是顺序地执行。
[0283]
在一个或多个示例中,可以以硬件,软件,固件或其任何组合来实现所描述的功能。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质发送,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据存储介质的有形介质,或者通信介质,包括例如根据通信协议来促进将计算机程序从一个地方转移到另一个地方的任何介质。以此方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质,或者(2)诸如信号或载波的通信介质。数据存储介质可以是可以由一台或多台计算机或一个或多个处理器存取以检索指令、代码和/或数据结构以实现本公开中描述的技术的任何可用介质。计算机程序产品可以包括计算机可读介质。
[0284]
作为示例而非限制,这种计算机可读存储介质可以包括ram、rom、eeprom、cd-rom或其他光盘存储、磁盘存储或其他磁性存储装置,闪存或任何其他可以用来以指令或数据结构的形式存储所需的程序代码,并且可以由计算机存取。而且,任何连接都适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(dsl)或无线技术(例如红外,无线电和微波)从网站,服务器或其他远程源发送指令,则介质的定义包括同轴电缆、光纤电缆、双绞线、数字用户线或诸如红外、无线电和微波之类的无线技术。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬时介质,而是针对非瞬时的有形存储介质。本文使用的磁盘和光盘包括压缩盘(cd)、激光光盘、光盘、数字多功能光盘(dvd)、软盘和蓝光光盘,其中磁盘通常以磁性方式复制数据,而光盘则通过激光光学方式复制数据。上述的组合也应包括在计算机可读介质的范围内。
[0285]
指令可以由一个或多个处理器执行,例如一个或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)或其他等效的集成或离散逻辑电路。因此,如本文所使用的术语“处理器”和“处理电路”可以指任何前述结构或适合于实现本文描述的技术的任何其他结构。另外,在一些方面,本文描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或结合在组合编解码器中。同样,该技术可以在一个或多个电路或逻辑元件中完全实现。
[0286]
本公开的技术可以在包括无线手持机、集成电路(ic)或一组集成电路(例如,芯片组)的多种设备或装置中实现。本公开中描述各种组件、模块或单元以强调被配置来执行所公开的技术的设备的功能方面,但不需要由不同硬件单元实现。而是,如上文所描述,各种单元可结合合适的软件和/或固件组合在编解码器硬件单元中或由一些互操作硬件单元来提供,该硬件单元包括如上文所描述的一个或多个处理器。
[0287]
已经对各种示例进行了描述。这些和其它示例均在下述权利要求书的范围内。
技术特征:1.一种对视频数据进行编码的方法,所述方法包括:维护第一参考图片列表;维护第二参考图片列表;确定图片是瞬时解码刷新idr图片;确定参考图片列表语法元素存在于所述idr图片的条带头中;以及响应于确定所述图片是所述idr图片并且所述参考图片列表语法元素存在于所述idr图片的所述条带头中,更新所述第一参考图片列表和所述第二参考图片列表使得以输出顺序或解码顺序排列的所述第一参考图片列表和所述第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点irap图片之前的图片。2.根据权利要求1所述的方法,其中,所述idr图片包括idr视频编解码层vcl网络抽象层nal单元。3.根据权利要求2所述的方法,还包括:在经编码视频数据的比特流中输出语法元素,所述语法元素包括所述参考图片列表语法元素和指示所述参考图片列表语法元素存在于对应于所述idr vcl nal单元的条带头中的语法元素。4.根据权利要求3所述的方法,还包括:在经编码视频数据的所述比特流中输出语法元素,所述语法元素指示所述图片包括具有不同nal单元类型的多个vcl nal单元。5.根据权利要求1所述的方法,其中,所述图片包括至少一个idr子图片。6.根据权利要求5所述的方法,其中,所述至少一个idr子图片的所有块在没有帧间预测的情况下被编解码。7.根据权利要求5所述的方法,其中,所述至少一个idr子图片具有相关联的前置图片。8.根据权利要求1所述的方法,其中,所述前面的irap图片包括前面的idr图片或前面的干净随机接入cra图片之一。9.一种用于对视频数据进行解码的设备,所述设备包括:存储器,被配置为存储视频数据;和一个或多个处理器,所述一个或多个处理器在电路中实施并被配置为:维护第一参考图片列表;维护第二参考图片列表;确定图片是瞬时解码刷新idr图片;确定参考图片列表语法元素存在于所述idr图片的条带头中;以及响应于确定所述图片是所述idr图片并且所述参考图片列表语法元素存在于所述idr图片的所述条带头中,更新所述第一参考图片列表和所述第二参考图片列表使得以输出顺序或解码顺序排列的所述第一参考图片列表和所述第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点irap图片之前的图片。10.根据权利要求9所述的设备,其中,所述idr图片包括idr视频编解码层vcl网络抽象层nal单元。11.根据权利要求10所述的设备,其中,所述一个或多个处理器还被配置为:在经编码视频数据的比特流中输出语法元素,所述语法元素包括所述参考图片列表语
法元素和指示所述参考图片列表语法元素存在于对应于所述idr vcl nal单元的条带头中的语法元素。12.根据权利要求11所述的设备,其中,所述一个或多个处理器还被配置为:在经编码视频数据的所述比特流中输出语法元素,所述语法元素指示所述图片包括具有不同nal单元类型的多个vcl nal单元。13.根据权利要求9所述的设备,其中,所述图片包括至少一个idr子图片。14.根据权利要求13所述的设备,其中,所述至少一个idr子图片的所有块在没有帧间预测的情况下被编解码。15.根据权利要求13所述的设备,其中,所述至少一个idr子图片具有相关联的前置图片。16.根据权利要求9所述的设备,其中,所述前面的irap图片包括前面的idr图片或前面的干净随机接入cra图片之一。17.根据权利要求9所述的设备,其中,所述设备包括无线通信设备,还包括被配置为发送经编码视频数据的发送器。18.根据权利要求17所述的设备,其中,所述无线通信设备包括电话手持机,并且其中,所述发送器被配置为根据无线通信标准对包括所述经编码视频数据的信号进行调制。19.根据权利要求9所述的设备,还包括:摄像机,被配置为捕获所述视频数据。20.根据权利要求9所述的设备,其中,所述设备包括摄像机、计算机、移动设备、广播接收器设备或机顶盒中的一个或多个。21.一种存储指令的计算机可读存储介质,所述指令由一个或多个处理器执行时导致所述一个或多个处理器执行以下操作:维护第一参考图片列表;维护第二参考图片列表;确定图片是瞬时解码刷新idr图片;确定参考图片列表语法元素存在于所述idr图片的条带头中;以及响应于确定所述图片是所述idr图片并且所述参考图片列表语法元素存在于所述idr图片的所述条带头中,更新所述第一参考图片列表和所述第二参考图片列表使得以输出顺序或解码顺序排列的所述第一参考图片列表和所述第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点irap图片之前的图片。22.根据权利要求21所述的计算机可读存储介质,其中,所述idr图片包括idr视频编解码层vcl网络抽象层nal单元。23.根据权利要求21所述的计算机可读存储介质,其中,所述图片包括至少一个idr子图片。24.根据权利要求21所述的计算机可读存储介质,其中,所述前面的irap图片包括前面的idr图片或前面的干净随机接入cra图片之一。25.一种用于对视频数据进行编码的装置,所述装置包括:用于维护第一参考图片列表的部件;用于维护第二参考图片列表的部件;
用于确定图片是瞬时解码刷新idr图片的部件;用于确定参考图片列表语法元素存在于idr图片的条带头中的部件;以及用于响应于确定所述图片是所述idr图片并且所述参考图片列表语法元素存在于所述idr图片的所述条带头中,更新所述第一参考图片列表和所述第二参考图片列表使得以输出顺序或解码顺序排列的所述第一参考图片列表和所述第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点irap图片之前的图片的部件。26.根据权利要求25所述的装置,其中,所述idr图片包括idr视频编解码层vcl网络抽象层nal单元。27.根据权利要求26所述的装置,还包括:用于在经编码视频数据的比特流中输出语法元素的部件,其中所述语法元素包括所述参考图片列表语法元素和指示所述参考图片列表语法元素存在于对应于所述idr vcl nal单元的条带头中的语法元素。28.根据权利要求27所述的装置,还包括:用于在经编码视频数据的所述比特流中输出语法元素的部件,其中所述语法元素指示所述图片包括具有不同nal单元类型的多个vcl nal单元。29.根据权利要求25所述的装置,其中,所述图片包括至少一个idr子图片。30.根据权利要求25所述的装置,其中,所述前面的irap图片包括前面的idr图片或前面的干净随机接入cra图片之一。
技术总结一种视频编码器维护第一参考图片列表;维护第二参考图片列表;确定图片是瞬时解码刷新(IDR)图片;确定参考图片列表语法元素存在于IDR图片的条带头中;以及响应于确定该图片是IDR图片并且该参考图片列表语法元素存在于IDR图片的条带头中,更新第一参考图片列表和第二参考图片列表使得以输出顺序或解码顺序排列的第一参考图片列表和第二参考图片列表中都没有在以解码顺序排列的任何前面的即时随机接入点(IRAP)图片之前的图片。随机接入点(IRAP)图片之前的图片。随机接入点(IRAP)图片之前的图片。
技术研发人员:Y.何 V.塞雷金 M.Z.科班 A.K.拉马苏布拉蒙尼亚 M.卡尔切维茨
受保护的技术使用者:高通股份有限公司
技术研发日:2021.03.19
技术公布日:2022/11/1