CN113994664A - 具有输出层集的图片输出方法 - Google Patents

具有输出层集的图片输出方法 Download PDF

Info

Publication number
CN113994664A
CN113994664A CN202080041950.2A CN202080041950A CN113994664A CN 113994664 A CN113994664 A CN 113994664A CN 202080041950 A CN202080041950 A CN 202080041950A CN 113994664 A CN113994664 A CN 113994664A
Authority
CN
China
Prior art keywords
picture
output
layer
sub
output layer
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.)
Pending
Application number
CN202080041950.2A
Other languages
English (en)
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.)
Tencent America LLC
Original Assignee
Tencent America LLC
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 Tencent America LLC filed Critical Tencent America LLC
Publication of CN113994664A publication Critical patent/CN113994664A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/103Selection of coding mode or of prediction mode
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • 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/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)

Abstract

提供了用于编码和解码的系统和方法。一种方法包括:接收已编码视频流,所述已编码视频流包括被划分成多个层的视频数据;以及解码所述已编码视频流的视频数据,所述解码包括:基于指示输出层集信令的模式的语法元素,确定是否输出所述已编码视频流的第一图片。

Description

具有输出层集的图片输出方法
相关申请的交叉引用
本申请要求于2020年1月27日提交的、申请号为62/966,127的美国临时专利申请、以及于2020年10月6日提交的、申请号为17/063,937的美国专利申请的优先权,其全部内容并入本文。
技术领域
本公开的实施例涉及视频编码和解码,更具体地,涉及在具有输出层集的图片输出。
背景技术
使用具有运动补偿的图片间预测来进行视频编码和解码先前就已经被使用。未压缩的数字视频可以包括一系列图片,每个图片具有例如1920×1080亮度样本及相关色度样本的空间维度。所述系列图片可以具有固定的或可变的图片速率(也非正式地称为帧率),例如每秒60个图片或60Hz。未压缩的视频具有很高的比特率要求。例如,每个样本8比特的1080p604:2:0视频(60Hz帧率下1920x1080亮度样本分辨率)要求接近1.5Gbit/s带宽。一小时这样的视频就需要超过600GB的存储空间。
视频编码和解码的一个目的是通过压缩减少输入视频信号的冗余。压缩可以帮助降低对上述带宽或存储空间的要求,在某些情况下可降低两个或更多数量级。无损压缩和有损压缩、以及两者的组合均可采用。无损压缩是指从压缩的原始信号中重建原始信号精确副本的技术。当使用有损压缩时,重建信号可能与原始信号不完全相同,但是原始信号和重建信号之间的失真可以足够小,使得重建信号可用于预期应用。有损压缩广泛应用于视频。容许的失真量取决于应用。例如,相比于电视应用的用户,某些消费流媒体应用的用户可以容忍更高的失真。可实现的压缩比反映出:较高的允许/容许失真可产生较高的压缩比。
视频编码器和解码器可以利用几大类技术,例如包括运动补偿、变换、量化和熵编码,其中的一些技术将会在下文中介绍。
以前,视频编码器和解码器倾向于在给定图片大小上进行操作,在大多数情况下,该给定图片大小是针对已编码视频序列(CVS)、图片群组(GOP)或类似的多图片时间帧定义的,并保持不变。例如,在MPEG-2中,系统设计用于根据诸如场景的活动等因素改变水平分辨率(从而改变图片大小),但是仅在I图片上改变水平分辨率,因此通常用于GOP。例如,在CVS内使用不同分辨率对参考图片进行重采样已经在ITU-T Rec.H.263附录P中使用。然而,这里的图片大小没有改变,只有参考图片被重采样,导致可能只有部分图片画布被使用(在下采样的情况下),或者只有部分场景被捕获(在上采样的情况下)。此外,H.263附录Q允许以因子2(在每个维度中)对单个宏块向上或向下重采样。同样,图片大小保持不变。宏块的大小在H.263中是固定的,因此不需要发信号通知。
在现代视频编解码中,已预测图片中的图片大小的变化越来越成为主流。例如,VP9允许参考图片重采样并改变整个图片的分辨率。类似地,针对VVC提出了某些建议(包括,例如Hendry等人的“关于VVC的自适应分辨率改变(On adaptive resolution change(ARC)for VVC)”,联合视频组文档JVET-M0135-v1,2019年1月9日至18日,其整体并入本文),允许将整个参考图片重采样为不同的更高或更低的分辨率。在这样的文档中,建议在序列参数集中对不同的候选分辨率进行编码,并由图片参数集中的每图片语法元素引用。
发明内容
最近,将多个语义独立的图片部分进行压缩域聚合或提取到单个视频图片中已经引起了一些关注。具体地,在例如360编码或某些监视应用的上下文中,多个语义独立的源图片(例如立方体投影的360场景的六个立方体表面、或在多摄像头监视设置情况下的各个摄像头输入)可能需要单独的自适应分辨率设置,以应对给定时间点的不同场景活动。换句话说,编码器在给定时间点可以对构成整个360场景或监视场景的不同语义独立的图片选择使用不同的重采样因子。当独立的图片被组合成单个图片时,需要对已编码图片的多个部分执行参考图片重采样,并且自适应分辨率编码信令可用。
本公开的实施例可以解决上述需要和/或其他问题。
根据一个或多个实施例,提供了一种由至少一个处理器执行的方法。所述方法包括:接收已编码视频流,所述已编码视频流包括被划分成多个层的视频数据;以及解码所述已编码视频流的视频数据,所述解码包括:基于指示输出层集信令的模式的语法元素,确定是否输出所述已编码视频流的第一图片。
根据实施例,所述确定包括:基于所述指示所述输出层集信令的模式的语法元素,确定不输出所述第一图片,所述模式包括:由参数集指定的多个输出层集的总数等于参考所述参数集的所述已编码视频流的每个已编码视频序列中的最大允许层数,所述多个输出层集中的第i个输出层集包括层索引从0到i(包括0和i)的层,以及对于所述多个输出层集中的每个输出层集,只输出所述输出层集中的最高层。
根据实施例,所述语法元素的值为0,以指示所述输出层集信令的模式。
根据实施例,所述参数集是视频参数集。
根据实施例,所述确定包括:基于以下条件确定不输出所述第一图片:所述指示所述输出层集信令的模式的语法元素,与所述第一图片属于同一访问单元的第二图片被指示为输出,所述第二图片属于比所述第一图片更高的层,以及所述第二图片属于输出层。
根据实施例,所述确定包括:基于所述指示所述输出层集信令的模式的语法元素,确定不输出所述第一图片,所述模式包括:显式地发信号通知由参数集指定的输出层集的总数,显式地发信号通知由所述参数集指定的所述输出层集的输出层,以及所述输出层中的至少一个具有参考层。
根据实施例,所述语法元素的值为2,以指示所述输出层集信令的模式。
根据实施例,所述参数集是视频参数集。
根据实施例,所述确定包括:基于以下条件确定不输出所述第一图片:所述指示所述输出层集信令的模式的语法元素,所述参数集的标识符的值大于0,以及与所述第一图片属于同一访问单元的第二图片被指示为不属于任何输出层。
根据实施例,所述确定包括:确定输出所述第一图片。
根据一个或多个实施例,提供了一种对已编码视频流进行解码的系统,所述已编码视频流包括被划分成多个层的视频数据。所述系统包括:存储器,被配置为存储计算机程序代码;和至少一个处理器,被配置为接收所述已编码视频流,访问所述计算机程序代码,并按照所述计算机程序代码的指令进行操作,所述计算机程序代码包括:解码代码,被配置为使所述至少一个处理器解码所述已编码视频流的视频数据,所述解码代码包括:确定代码,被配置为使所述至少一个处理器基于指示输出层集信令的模式的语法元素,确定是否输出所述已编码视频流的第一图片。
根据实施例,所述确定代码被配置为使所述至少一个处理器基于所述指示所述输出层集信令的模式的语法元素,确定不输出所述第一图片,所述模式包括:由参数集指定的多个输出层集的总数等于参考所述参数集的所述已编码视频流的每个已编码视频序列中的最大允许层数,所述多个输出层集中的第i个输出层集包括层索引从0到i(包括0和i)的层,以及对于所述多个输出层集中的每个输出层集,只输出所述输出层集中的最高层。
根据实施例,所述语法元素的值为0,以指示所述输出层集信令的模式。
根据实施例,所述确定代码被配置为使所述至少一个处理器基于以下条件确定不输出所述第一图片:所述指示所述输出层集信令的模式的语法元素,与所述第一图片属于同一访问单元的第二图片被指示为输出,所述第二图片属于比所述第一图片更高的层,以及所述第二图片属于输出层。
根据实施例,所述确定代码被配置为使所述至少一个处理器基于所述指示所述输出层集信令的模式的语法元素,确定不输出所述第一图片,所述模式包括:显式地发信号通知由参数集指定的输出层集的总数,显式地发信号通知由所述参数集指定的所述输出层集的输出层,以及所述输出层中的至少一个具有参考层。
根据实施例,所述语法元素的值为2,以指示所述输出层集信令的模式。
根据实施例,所述参数集是视频参数集。
根据实施例,所述确定代码被配置为使所述至少一个处理器基于以下条件确定不输出所述第一图片:所述指示所述输出层集信令的模式的语法元素,所述参数集的标识符的值大于0,以及与所述第一图片属于同一访问单元的第二图片被指示为不属于任何输出层。
根据一个或多个实施例,提供了一种用于存储计算机指令的非易失性计算机可读介质。所述计算机指令被配置为使至少一个处理器:解码已编码视频流的视频数据,所述视频数据被划分为多个层,所述解码包括:基于指示输出层集信令的模式的语法元素,确定是否输出所述已编码视频流的第一图片。
附图说明
根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将进一步明确,其中
图1是根据实施例的通信系统的简化框图的示意图。
图2是根据实施例的通信系统的简化框图的示意图。
图3是根据实施例的解码器的简化框图的示意图。
图4是根据实施例的编码器的简化框图的示意图。
图5A是根据相比较现有技术实施例的用于发信号通知ARC参数的第一配置的示意图
图5B是根据相比较现有技术实施例的用于发信号通知ARC参数的第二配置的示意图。
图6A是根据实施例的用于发信号通知ARC参数的第一配置的示意图。
图6B是根据实施例的用于发信号通知ARC参数的第二配置的示意图
图6C是根据实施例的用于发信号通知ARC参数的第三配置的示意图。
图7A是根据实施例的图块组头的摘录的示意图。
图7B是根据实施例的序列参数集的摘录的示意图。
图8是具有自适应分辨率变化的可缩放性的预测结构的示例。
图9A是根据实施例的语法表的示例。
图9B是根据实施例的语法表的示例。
图10是根据实施例的解析和解码每个访问单元的POC周期和访问单元计数值的简化框图的示意图。
图11是根据实施例的包括多层子图片的视频比特流结构的示意图。
图12是根据实施例的具有增强分辨率的所选子图片的显示的示意图。
图13是根据实施例的包括多层子图片的视频比特流的解码和显示过程的框图。
图14是根据实施例的具有子图片的增强层的360视频显示的示意图。
图15A示出了根据实施例的划分的子图片的布局的示例。
图15B示出了根据实施例的一个子图片的相应子图片大小和位置信息的示例。
图16示出了图15A-B中所示的子图片的相应图片预测结构。
图17示出了根据实施例的被划分为多个子区域的输入图片的示例,该多个子区域可以用一个或多个层进行编码。
图18示出了图17中所示的子区域的具有局部区域的空间可缩放性模态的对应层和图片预测结构。
图19A是根据实施例的视频参数集的摘录的示意图。
图19B是根据实施例的序列参数集的摘录的示意图。
图20是根据实施例的用于子图片布局信息的语法表的示例。
图21是根据实施例的语法表的示例,用于指示每个输出层集的输出层和配置文件/层级/级别(profile/tier/level)信息。
图22是根据实施例的语法表的示例,用于指示每个输出层集的输出层模式开启。
图23是语法表的示例,用于指示每个输出层集的每个层的当前子图片。
图24是根据实施例的解码器的示意图。
图25是适用于实现实施例的计算机系统的示意图。
具体实施方式
图1示出了根据本公开实施例的通信系统(100)的简化框图。通信系统(100)可以包括通过网络(150)互联的至少两个终端装置(110,120)。对于单向数据传输,第一终端装置(110)可在本地位置对视频数据进行编码,以通过网络(150)传输到另一终端装置(120)。第二终端装置(120)可从网络(150)接收另一终端装置的已编码视频数据,对已编码视频数据进行解码并显示恢复的视频数据。单向数据传输在媒体服务等应用中是较常见的。
图1示出了支持已编码视频的双向传输的第二对终端装置(130,140),所述双向传输可例如在视频会议期间发生。对于双向数据传输,每个终端装置(130,140)可对在本地位置采集的视频数据进行编码,以通过网络(150)传输到另一终端装置。每个终端装置(130,140)还可接收由另一终端装置传输的已编码视频数据,且可对所述已编码视频数据进行解码并在本地显示设备上显示恢复的视频数据。
在图1中,终端装置(110-140)可为服务器、个人计算机和智能手机,和/或任何其他类型的终端。例如,终端装置(110-140)可以是膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络(150)表示在终端装置(110-140)之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络(150)可在电路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或互联网。出于本讨论的目的,除非在下文中有所解释,否则网络(150)的架构和拓扑对于本公开的操作来说可能是无关紧要的。
作为所公开主题的应用实施例,图2示出了视频解码器和编码器在流式传输环境中的放置方式。所公开的主题可同等地适用于其它支持视频的应用,包括例如视频会议、数字TV、在包括CD、DVD、存储棒等的数字介质上存储压缩视频等等。
如图2所示,流式传输系统(200)可包括采集子系统(213),所述采集子系统可包括视频源(201)和编码器(203)。视频源(201)可以是例如数码相机,并且可以被配置为创建未压缩的视频样本流(202)。较于已编码的视频比特流,未压缩的视频样本流(202)可以提供高数据量,并且可由耦接到相机(201)的编码器(203)处理。编码器(203)可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的所公开主题的各方面。相较于样本流,已编码的视频比特流(204)可以包括较低数据量,并可存储在流式传输服务器(205)上以供将来使用。一个或多个流式传输客户端(206)可访问流式传输服务器(205)以检索视频比特流(209),视频比特流(209)可以是已编码的视频比特流(204)的副本。
在实施例中,流式传输服务器(205)还可以用作媒体感知网络元件(MANE)。例如,流式传输服务器(205)可被配置为修剪已编码的视频比特流(204),以将潜在不同的比特流裁剪到一个或多个流式传输客户端(206)。在实施例中,MANE可以从流式传输系统(200)中的流式传输服务器(205)单独提供。
流式传输客户端(206)可包括视频解码器(210)和显示器(212)。视频解码器(210)可以例如解码视频比特流(209),且产生可在显示器(212)或另一呈现装置(未示出)上呈现的输出视频样本流(211),视频比特流(209)是已编码的视频比特流(204)的传入副本。在一些流式传输系统中,可以根据某些视频编解码/压缩标准对视频比特流(204,209)进行编码。这些标准的示例包括,但不限于ITU-T H.265建议书。正在开发的是被非正式地称为多功能视频编解码(VVC)的视频编解码标准。本公开的实施例可以在VVC的上下文中使用。
图3示出了根据本公开实施例的连接到显示器(212)的视频解码器(210)的示例性功能框图。
视频解码器(210)可以包括信道(312)、接收器(310)、缓冲存储器(315)、熵解码器/解析器(320)、缩放器/逆变换单元(351)、帧内预测单元(352)、运动补偿预测单元(353)、聚合器(355)、环路滤波器单元(356)、参考图片存储器(357)、和当前图片存储器()。在至少一个实施例中,视频解码器(210)可以包括一个集成电路、一系列集成电路、和/或其他电子电路。视频解码器(210)还可以部分或全部以软件来体现,该软件运行在一个或多个具有相关存储器的CPU上。
在本实施例和其他实施例中,接收器(310)可接收将由解码器(210)解码的一个或多个已编码视频序列,一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列。可从信道(312)接收已编码视频序列,所述信道可以是通向存储已编码的视频数据的存储装置的硬件/软件链路。接收器(310)可接收已编码的视频数据以及其它数据,例如,可转发到它们各自的使用实体(未标示)的已编码音频数据和/或辅助数据流。接收器(310)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(315)可耦接在接收器(310)与熵解码器/解析器(320)(此后称为“解析器”)之间。当接收器(310)从具有足够带宽和可控性的存储/转发装置或从等时同步网络接收数据时,也可能不使用缓冲存储器(315),或可以将所述缓冲存储器做得较小。为了在互联网等分组网络上使用,也可能需要缓冲存储器(315),所述缓冲存储器可相对较大并且可具有自适应性大小。
视频解码器(210)可包括解析器(320)以根据熵编码视频序列重建符号(321)。这些符号的类别包括例如用于管理视频解码器(210)的操作的信息,以及用以控制诸如显示器(212)的显示装置的潜在信息,所述显示装置可耦接到解码器,如图2所示。用于显示装置的控制信息可以是例如辅助增强信息(Supplementary Enhancement Information,SEI)消息或视频可用性信息(Video Usability Information,VUI)的参数集片段(未标示)的形式。解析器(320)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编解码可根据视频编解码技术或标准进行,且可遵循本领域技术人员公知的原理,包括可变长度编解码、霍夫曼编解码(Huffman coding)、具有或不具有上下文灵敏度的算术编解码等等。解析器(320)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图片群组(Group ofPictures,GOP)、图片、图块(tile)、切片(slice)、宏块、编码单元(Coding Unit,CU)、块、变换单元(Transform Unit,TU)、预测单元(Prediction Unit,PU)等等。解析器(320)还可从已编码视频序列提取信息,例如变换系数、量化器参数值、运动矢量等等。
解析器(320)可对从缓冲存储器(315)接收的视频序列执行熵解码/解析操作,从而创建符号(321)。
取决于已编码视频图片或一部分已编码视频图片(例如:帧间图片和帧内图片、帧间块和帧内块)的类型以及其它因素,符号(321)的重建可涉及多个不同单元。涉及哪些单元以及它们如何涉及可由解析器(320)从已编码视频序列解析的子群控制信息控制。为了简洁起见,未描述解析器(320)与下文的多个单元之间的此类子群控制信息流。
除已经提及的功能块以外,视频解码器(210)可在概念上细分成如下文所描述的数个功能单元。在商业约束下运行的实际实施中,这些单元中的许多单元彼此紧密交互并且可以至少部分地彼此集成。然而,出于描述所公开的主题的目的,概念上细分成下文的功能单元是适当的。
一个单元可以是缩放器/逆变换单元(351)。缩放器/逆变换单元(351)可以从解析器(320)接收作为符号(321)的量化变换系数以及控制信息,包括使用哪种变换方式、块大小、量化因子、量化缩放矩阵等。缩放器/逆变换单元(351)可输出包括样本值的块,所述样本值可输入到聚合器(355)中。
在一些情况下,缩放器/逆变换单元(351)的输出样本可属于帧内编码块;即:不使用来自先前重建的图片的预测性信息,但可使用来自当前图片的先前重建部分的预测性信息的块。此类预测性信息可由帧内图片预测单元(352)提供。在一些情况下,帧内图片预测单元(352)采用从当前图片存储器(358)中的(部分重建的)当前图片提取的周围已重建的信息,生成大小和形状与正在重建的块相同的块。在一些情况下,聚合器(355)基于每个样本,将帧内预测单元(352)生成的预测信息添加到由缩放器/逆变换单元(351)提供的输出样本信息中。
在其它情况下,缩放器/逆变换单元(351)的输出样本可属于帧间编码和潜在运动补偿块。在此情况下,运动补偿预测单元(353)可访问参考图片存储器(357)以提取用于预测的样本。在根据符号(321)对提取的样本进行运动补偿之后,这些样本可由聚合器(355)添加到缩放器/逆变换单元(351)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。参考图片存储器(357)内的地址(运动补偿预测单元(353)从中获取预测样本)可受到运动矢量控制。所述运动矢量可以以所述符号(321)的形式而供运动补偿预测单元(353)使用,所述符号(321)例如是包括X、Y和参考图片分量。运动补偿还可包括在使用子样本精确运动矢量时,从参考图片存储器(357)提取的样本值的内插、运动矢量预测机制等等。
聚合器(355)的输出样本可在环路滤波器单元(356)中被各种环路滤波技术采用。视频压缩技术可包括环路内滤波器技术,所述环路内滤波器技术受控于包括在已编码视频比特流中的参数,且所述参数作为来自解析器(320)的符号(321)可用于环路滤波器单元(356)。然而,视频压缩技术还可响应于在解码已编码图片或已编码视频序列的先前(按解码次序)部分期间获得的元信息,以及响应于先前重建且经过环路滤波的样本值。
环路滤波器单元(356)的输出可以是样本流,所述样本流可输出到显示装置(例如显示器(212))以及存储在参考图片存储器(357),以用于后续的帧间图片预测。
一旦完全重建,某些已编码图片就可用作参考图片以用于将来预测。一旦已编码图片被完全重建,且已编码图片(通过例如解析器(320))被识别为参考图片,则当前图片可变为参考图片存储器(357)的一部分,且可在开始重建后续已编码图片之前重新分配新的当前图片存储器。
视频解码器(210)可根据例如ITU-T H.265标准中记录的预定视频压缩技术执行解码操作。在已编码视频序列遵循在视频压缩技术文献或标准、特别是配置文件中所规定的视频压缩技术或标准的语法的意义上,已编码视频序列可符合所使用的视频压缩技术或标准指定的语法。此外,为了符合某些视频压缩技术或标准,已编码视频序列的复杂度可以处于视频压缩技术或标准的级别所限定的范围内。在一些情况下,级别限制最大图片大小、最大帧率、最大重建取样率(以例如每秒兆(mega)个样本为单位进行测量)、最大参考图片大小等等。在一些情况下,由级别设定的限制可通过假想参考解码器(HypotheticalReference Decoder,HRD)规范和在已编码视频序列中用信号表示的HRD缓冲器管理的元数据来进一步限定。
在实施例中,接收器(310)可连同已编码视频一起接收附加(冗余)数据。所述附加数据可以是已编码视频序列的一部分。所述附加数据可由视频解码器(210)用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或信噪比(signal noise ratio,SNR)增强层、冗余切片、冗余图片、前向纠错码等形式。
图4示出了根据本公开实施例的与视频源(201)相关联的视频编码器(203)的示例性功能框图。
视频编码器(203)可以包括,例如作为源编码器(430)的编码器、编码引擎(432)、(本地)解码器(433)、参考图片存储器(434)、预测器(435)、传输器(440)、熵编码器(445)、控制器(450)和信道(460)。
视频编码器(203)可从视频源(201)(并非该编码器的一部分)接收视频样本,所述视频源可采集将由视频编码器(203)编码的视频图像。
视频源(201)可提供将由视频编码器(203)编码的呈数字视频样本流形式的源视频序列,所述数字视频样本流可具有任何合适位深度(例如:8位、10位、12位……)、任何色彩空间(例如BT.601Y CrCB、RGB……)和任何合适取样结构(例如Y CrCb 4:2:0、Y CrCb4:4:4)。在媒体服务系统中,视频源(201)可以是存储先前已准备的视频的存储装置。在视频会议系统中,视频源(203)可以为采集本地图像信息作为视频序列的相机。可将视频数据提供为多个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括一个或多个样本。本领域技术人员可以容易地理解像素和样本之间的关系。下文侧重于描述样本。
根据实施例,视频编码器(203)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列(443)。施行适当的编码速度是控制器(450)的一个功能。控制器(450)还可以控制如下文所描述的其它功能单元且可以在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器(450)设置的参数可包括速率控制相关参数(例如,图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(group of pictures,GOP)布局,最大运动矢量搜索范围等。本领域技术人员可以容易地识别控制器(450)的其他功能,因为它们可能属于针对特定系统设计而优化的视频编码器(203)。
一些视频编码器以本领域技术人员容易识别为“编码环路”方式进行操作。作为简单的描述,编码环路可包括源编码器(430)(其负责基于待编码的输入图片和参考图片创建符号)的编码部分、和嵌入于视频编码器(203)中的(本地)解码器(433)。(本地)解码器(433)重建符号以创建样本数据,当在某些视频压缩技术中符号与已编码视频码流之间的压缩无损时,(远程)解码器也将创建这些样本数据。可以将重建的样本流输入到参考图片存储器(434)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器中的内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)是本领域技术人员公知的。
“本地”解码器(433)的操作可与已在上文结合图3详细描述的“远程”解码器(210)相同。然而,当符号可用且熵编码器(445)和解析器(320)能够无损地将符号编码/解码为已编码视频序列时,视频解码器(210)的熵解码部分(包括信道(312)、接收器(310)、缓冲存储器(315)和解析器(320))可能无法完全在本地解码器(433)中实施。
此时可以观察到,除存在于解码器中的解析/熵解码之外的任何解码器技术可能需要以基本上相同的功能形式存在于对应的编码器中。由于这个原因,所公开的主题专注于解码器操作。对编码器技术的描述可以简写,因为它们与全面描述的解码器技术互逆。仅在某些区域中需要更详细的描述,并且在下文提供。
作为操作的一部分,源编码器(430)可执行运动补偿预测编码。参考来自视频序列中被指定为“参考帧”的一个或多个先前已编码帧,所述运动补偿预测编码对输入帧进行预测性编码。以此方式,编码引擎(432)对输入帧的像素块与参考帧的像素块之间的差异进行编码,所述参考帧可被选作所述输入帧的预测参考。
本地视频解码器(433)可基于源编码器(430)创建的符号,对可指定为参考帧的帧的已编码视频数据进行解码。编码引擎(432)的操作可以有利地为有损过程。当已编码视频数据可在视频解码器(图4中未示)处被解码时,重建的视频序列通常可以是带有一些误差的源视频序列的副本。本地视频解码器(433)复制解码过程,所述解码过程可由视频解码器对参考帧执行,且可使重建的参考帧存储在参考图片存储器(434)中。以此方式,编码器(203)可在本地存储重建的参考帧的副本,所述副本与将由远端视频解码器获得的重建参考帧具有共同内容(不存在传输误差)。
预测器(435)可针对编码引擎(432)执行预测搜索。即,对于将要编码的新帧,预测器(435)可在参考图片存储器(434)中搜索可作为所述新图片的适当预测参考的样本数据(作为候选参考像素块)或某些元数据,例如参考图片运动矢量、块形状等。预测器(435)可基于样本块逐像素块操作,以找到合适的预测参考。在一些情况下,根据预测器(435)获得的搜索结果,可确定输入图片可具有从参考图片存储器(434)中存储的多个参考图片取得的预测参考。
控制器(450)可管理视频编码器(430)的编码操作,包括例如设置用于对视频数据进行编码的参数和子群参数。
可在熵编码器(445)中对所有上述功能单元的输出进行熵编码。熵编码器可根据例如霍夫曼编码、可变长度编码、算术编码等本领域技术人员公知的技术对各种功能单元生成的符号进行无损压缩,从而将所述符号转换成已编码视频序列。
传输器(440)可缓冲由熵编码器(445)创建的已编码视频序列,从而为通过通信信道(460)进行传输做准备,所述通信信道可以是通向将存储已编码的视频数据的存储装置的硬件/软件链路。传输器(440)可将来自视频编码器(430)的已编码视频数据与要传输的其它数据合并,所述其它数据例如是已编码音频数据和/或辅助数据流(未示出来源)。
控制器(450)可管理视频编码器(203)的操作。在编码期间,控制器(450)可以为每个已编码图片分配某一已编码图片类型,但这可能影响可应用于相应的图片的编码技术。例如,通常可将图片分配为帧内图片(I图片)、预测性图片(P图片)、或双向预测性图片(B图片)。
帧内图片(I图片),其可以是不将序列中的任何其它帧用作预测源就可被编码和解码的图片。一些视频编解码器容许不同类型的帧内图片,包括例如独立解码器刷新(Independent Decoder Refresh,IDR)图片。本领域技术人员知道I图片的那些变体以及它们各自的应用和特征。
预测性图片(P图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
双向预测性图片(B图片),其可以是可使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多个预测性图片可使用多于两个参考图片和相关联元数据以用于重建单个块。
源图片通常可在空间上细分成多个样本块(例如,4×4、8×8、4×8或16×16个样本的块),且逐块进行编码。这些块可参考其它(已编码)块进行预测编码,根据应用于块的相应图片的编码分配来确定所述其它块。举例来说,I图片的块可进行非预测编码,或所述块可参考同一图片的已经编码的块来进行预测编码(空间预测或帧内预测)。P图片的像素块可参考一个先前编码的参考图片通过空间预测或通过时域预测进行非预测编码。B图片的块可参考一个或两个先前编码的参考图片通过空间预测或通过时域预测进行非预测编码。
视频编码器(203)可根据例如ITU-T H.265建议书的预定视频编码技术或标准执行编码操作。在操作中,视频编码器(203)可执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,已编码视频数据可符合所用视频编码技术或标准指定的语法。
在实施例中,传输器(440)可传输附加数据和已编码的视频。视频编码器(430)可以包括诸如已编码视频序列的一部分的此类数据。附加数据可包括时间/空间/SNR增强层、冗余图片和切片等其它形式的冗余数据、SEI消息、VUI参数集片段等。
在更详细地描述本公开实施例的某些方面之前,下面介绍一些术语,这些术语会在本说明书的其余部分中提及。
下文中的“子图片”在某些情况下可以指样本、块、宏块、编码单元或类似实体的矩形排列,这些实体按语义分组,并且可以以变化的分辨率独立编码。一个或多个子图片可以形成一个图片。一个或多个已编码子图片可以形成一个已编码图片。可以将一个或多个子图片组合成图片,并且可以从图片中提取一个或多个子图片。在某些环境中,一个或多个已编码子图片可以在压缩域中组合,而不需要转码到样本级别成为已编码图片,并且在相同或某些其它情况下,可以从压缩域中的已编码图片中提取一个或多个已编码子图片。
下文中的“自适应分辨率改变”(ARC)是指允许通过例如参考图片重采样来改变已编码视频序列内的图片或子图片的分辨率的机制。此后,ARC参数是指执行自适应分辨率改变所需的控制信息,该控制信息可以包括,例如滤波器参数、缩放因子、输出和/或参考图片的分辨率、各种控制标志等。
以上描述集中于单个语义独立的已编码视频图片的编码和解码。在描述具有独立ARC参数的多个子图片的编码/解码的含义及其隐含的额外复杂度之前,将描述用于发信号通知ARC参数的实施例。
参考图6A-C,示出了发信号通知ARC参数的几个新的示例性实施例。如每个实施例所述,从编解码效率、复杂度和架构的角度来看,它们具有某些优点。视频编解码标准或技术可以实现这些实施例中的一个或多个,并且还可以包括相比较现有技术中已知的实施例,以发信号通知ARC参数。相比较现有技术的实施例包括图5A-B所示的示例。这些新的实施例可以不相互排斥,并且可想而知可以包括在还包括相比较现有技术的实施例的标准和技术中,以便可以基于应用需要、所涉及的标准技术或编码器使用其中一种。
ARC参数的类别可以包括:(1)在X维度和Y维度上分开或组合的上采样/下采样因子,或(2)加上时间维度的上采样/下采样因子,表示对给定数量的图片进行恒速放大/缩小。上述两种类别中的任何一种都可能涉及一个或多个语法元素的编码或解码,该语法元素可以指向包含一个或多个因子的表。在实施例中,这种语法元素的长度可以较短。
“分辨率”可以指以样本、块、宏块、CU或任何其它合适的粒度为单位,输入图片、输出图片、参考图片、已编码图片在X或Y维度上的组合或单独的分辨率。如果存在多于一个的分辨率(例如,一个用于输入图片,一个用于参考图片),则在某些情况下,一组值可以从另一组值推断出来。分辨率可以例如使用标志来选通。下面进一步提供更详细的分辨率示例。
“翘曲”坐标类似于H.263附录P中使用的那些坐标,可以具有如上所述的合适粒度。H.263附录P定义了一种对这种翘曲坐标(warping coordinate)进行编码的有效方式,但也可以设想使用其它可能更有效的方式。例如,附录P的翘曲坐标的可变长度可逆的“霍夫曼(Huffman)”式编码可以由适当长度的二进制编码代替,其中二进制码字的长度例如可以从最大图片大小导出,可能乘以某个因子并偏移某个值,以允许在最大图片大小的边界之外“翘曲”。
关于上采样或下采样滤波器参数。在最简单的情况下,可能只有单个滤波器用于上采样和/或下采样。然而,在某些情况下,在滤波器设计中允许有更大的灵活性可能是有利的,这可以通过滤波器参数的信令来实现。这些参数可以通过可能的滤波器设计列表中的索引来选择,滤波器可以(例如,通过滤波器系数的列表、使用适当的熵编码技术)完全指定,和/或滤波器可以通过上采样/下采样率隐式地选择,该上采样/下采样率又根据上述机制中的任何一种发信号通知,等等。
此后,本说明书假设一种示例情况,其中对一组有限的上采样/下采样因子进行编码(在X维度和Y维度上使用相同的因子),该上采样/下采样因子通过码字表示。可以有利地例如使用对诸如H.264和H.265的视频编解码规范中的某些语法元素通用的指数哥伦布(Ext-Golomb)代码,对该码字进行可变长度编码。例如,一种合适的从值到上采样/下采样因子的映射可以根据下表1:
表1
码字 Ext-Golomb代码 原始/目标分辨率
0 1 1/1
1 010 1/1.5(放大50%)
2 011 1.5/1(缩小50%)
3 00100 1/2(放大100%)
4 00101 2/1(缩小100%)
可以根据应用的需要以及视频压缩技术或标准中可用的放大和缩小机制的能力来设计许多类似的映射。该表可扩展到更多的值。值也可以由除Ext-Golomb代码之外的熵编码机制来表示(例如使用二进制编码来表示)。当例如MANE对视频处理引擎(最重要的是编码器和解码器)本身之外的重采样因子感兴趣时,这可能具有某些优势。应当注意,对于不需要改变分辨率的(大概)最常见的情况,可以选择较短的Ext-Golomb代码(例如,只有一个比特,例如表1的第二行中所示),在最常见的情况下,这比使用二进制码具有编解码效率的优势。
该表中的条目的数量以及它们的语义可以完全或部分可配置。例如,该表的基本轮廓(outline)可以在诸如序列或解码器参数集之类的“高”参数集中传送。可选地或者另外,一个或多个这样的表可以在视频编解码技术或标准中定义,并且可以通过例如解码器或序列参数集来选择。
下面提供了如何在视频编解码技术或标准语法中包括如上所述编码的上采样/下采样因子(ARC信息)。类似的考虑可以应用于一个或几个控制上采样/下采样滤波器的码字。下面还提供了关于何时滤波器或其它数据结构可能需要相对大量的数据的描述。
参考图5A,H.263附录P以四个翘曲坐标形式将ARC信息(502)包括在图片头(501)中,具体包括在H.263PLUSPTYPE(503)头扩展中。当(a)有可用的图片头,并且(b)预计ARC信息频繁改变时,这样设计可能是明智的。然而,当使用H.263样式的信令时,开销可能相当高,并且因为图片头可能具有瞬态性质,缩放因子可能不适用于图片边界。
参考图5B,JVCET-M135-v1包括位于图片参数集(504)中的ARC参考信息(505)(索引),该ARC参考信息(505)对包括目标分辨率的表(506)进行索引,该表(506)位于序列参数集(507)内。通过在能力交换期间使用SPS(507)作为互操作性协商点(interoperabilitynegotiation point),可以证明在序列参数集(507)的表(506)中,可能的分辨率的放置。通过参考适当的图片参数集(504),分辨率可以在表(506)中的值所设置的限制内随图片的变化而变化。
参考图6A-C,本公开的以下实施例可以在视频比特流中向例如本公开的解码器传送ARC信息。这些实施例中的每一个都具有优于上述相比较现有技术的某些优点。这些实施例可以同时存在于同一视频编解码技术或标准中。
在参考图6A的实施例中,诸如重采样(缩放)因子之类的ARC信息(509)可以存在于头(508)中,例如切片头、GOB头、图块头或图块组头。作为示例,图6A示出了作为图块组头的头(508)。如果ARC信息很小,例如单个可变长度ue(v)或几个比特的固定长度码字,例如如表1所示,这样的配置是足够的。将ARC信息直接放在图块组头中具有额外的优点,即ARC信息可以应用于例如由该图块组头对应的图块组表示的子图片,而不是整个图片。另外,即使视频压缩技术或标准仅使用整个图片的自适应分辨率的改变(例如与基于图块组的自适应分辨率的改变相比),从差错修复的角度来看,将ARC信息放入图块组头(例如放入H.263格式的图片头)仍然具有一定的优势。虽然以上描述描述了ARC信息(509)存在于图块组头中,但应理解,以上描述也可以类似地应用于ARC信息(509)存在于例如切片头、GOB头或图块头中的情况。
在参考图6B的同一或另一实施例中,ARC信息(512)本身可以存在于适当的参数集(511)中,例如图片参数集、头参数集、图块参数集、自适应参数集等。作为示例,图6B示出了作为自适应参数集(APS)的参数集(511)。更有利地,该参数集的范围可以不大于图片。例如,参数集的范围可以是图块组。通过激活相关参数集,ARC信息(512)的使用可以是隐式的。例如,当视频编解码技术或标准仅考虑基于图片的ARC时,则图片参数集或等效参数可能适合作为相关参数集。
在参考图6C的同一或另一实施例中,ARC参考信息(513)可以存在于图块组头(514)或类似的数据结构中。ARC参考信息(513)可以指参数集(516)中可用的ARC信息(515)的子集,该参数集的范围超出单个图片。例如,参数集(516)可以是序列参数集(SPS)或解码器参数集(DPS)。
因为图片参数集与序列参数集一样,可用于能力协商或公告,所以从图块组头、PPS、或SPS间接隐含地激活PPS的附加级别(如JVET-M0135-v1中所使用的)可能是不必要的。然而,如果ARC信息应适用于例如也由图块组表示的子图片,则激活范围限于图块组的参数集(例如自适应参数集或头参数集)可能是更好的选择。此外,如果ARC信息的大小超过可忽略的大小——例如包含诸如多个滤波器系数之类的滤波器控制信息——则从编解码效率的角度来看,参数可能是比直接使用头更好的选择,因为这些设置可以通过参考相同的参数集由未来的图片或子图片重复使用。
当使用序列参数集或另一个范围跨越多个图片的更高的参数集时,某些注意事项可能适用:
(1)在一些情况下,在表中存储ARC信息(515)的参数集(516)可以是序列参数集,但在其它情况下,解码器参数集更有利。解码器参数集可以具有多个CVS的激活范围,即已编码视频比特流,即从会话开始到会话拆除的所有已编码视频比特。这样的范围可能更合适,因为可能的ARC因子可以是解码器特征,其可能在硬件中实现,并且硬件特征往往不会随任何CVS(其在至少一些娱乐系统中是一组图片,长度为一秒或更短)而改变。然而,一些实施例可以将ARC信息表包括在本文所述的序列参数集中,特别是结合下面的第(2)点。
(2)ARC参考信息(513)可以有利地直接放置在头(514)(例如下面的图片/切片/图块/GOB/图块组头)中,而不是像JVCET-M0135-v1中那样放置在图片参数集中。原因如下:当编码器想要改变图片参数集中的单个值(例如ARC参考信息)时,编码器必须创建新的PPS并参考该新的PPS。在只有ARC参考信息改变的情况下,而其它信息(例如PPS中的量化矩阵信息)保留。此类信息可能很大,需要重新传输才能使新的PPS完整。由于ARC参考信息可以是单个码字,例如ARC信息表中的索引,这将是唯一改变的值,因此重传例如所有的量化矩阵信息将会很麻烦并且浪费。因此,从编解码效率的角度来看,将ARC参考信息直接放入头(例如,头(514))中可能会好得多,因为可以避免通过PPS进行间接访问,如JVET-M0135-v1中所建议的那样。此外,将ARC参考信息放入PPS具有另外的缺点,即由于图片参数集激活的范围是图片,因此ARC参考信息所参考的ARC信息必须应用于整个图片而不是子图片。
在同一或另一实施例中,ARC参数的信令可以遵循如图7A-B中概述的详细示例。图7A-7B描绘了语法图。这种语法图的符号大致遵循C格式编程。加粗字体的行表示比特流中存在的语法元素,不加粗字体的行通常表示控制流或变量设置。
作为可应用于图片的一部分(可能是矩形的)的头的示例性语法结构,图块组头(600)可以有条件地包含可变长度的、Exp-Golomb编码的语法元素dec_pic_size_idx(602)(以粗体字表示)。图块组头(600)中该语法元素的存在可以通过自适应分辨率(603)的使用来选通。在这里,自适应分辨率标志的值未以加粗字体表示,这意味着该标志在它在语法图中出现的点处存在于比特流中。是否对该图片或其部分使用自适应分辨率可以在比特流内部或外部的任何高级语法结构中发信号通知。在图7A-B所示的示例中,自适应分辨率在序列参数集(610)中发信号通知,如下所述。
图7B示出了序列参数集(610)的摘录。所示的第一语法元素是adaptive_pic_resolution_change_flag(611)。当为真时,这样的标志可以指示使用自适应分辨率,这反过来可能需要某些控制信息。在该示例中,这种控制信息基于该标志的值有条件地出现,该标志的值基于序列参数集(610)和图块组头(600)中的if()语句(612)。
当使用自适应分辨率时,在该示例中,被编码的是以样本为单位的输出分辨率(613)。该示例实施例中的输出分辨率(613)是指语法元素output_pic_width_in_luma_samples和output_pic_height_in_luma_samples,它们可以共同定义输出图片的分辨率。在视频编解码技术或标准的其它地方,可以定义对任一个值的某些限制。例如,级别定义可以限制总输出样本的数量,该数量可以是上述两个语法元素的值的乘积。而且,某些视频编解码技术或标准、或外部技术或标准(例如系统标准)可能会限制编号范围(例如,一个或两个维度必须能够被2的幂整除)或宽高比(例如,宽度和高度必须是例如4:3或16:9的关系)。可以引入此类限制以促进硬件实现,或出于其它原因引入此类限制。
在某些应用中,可以建议编码器指示解码器使用某个参考图片大小,而不是隐式地假设该大小为输出图片大小。在该示例中,语法元素reference_pic_size_present_flag(614)选通参考图片维度(615)的有条件存在(同样,在该示例实施例中该数字指的是宽度和高度)。
图7B进一步示出了可能的解码图片宽度和高度的表。可以例如通过表指示(616)(例如,语法元素num_dec_pic_size_in_luma_samples_minus1)来表示这样的表。语法元素的“minus1”可以指对该语法元素的值的解释。例如,如果语法元素的编码值为零,则存在一个表条目。如果该编码值为5,则存在六个表条目。对于表中的每一“行”,已解码图片宽度和高度则作为表条目(617)包括在语法中。
可以使用图块组头(600)中的语法元素dec_pic_size_idx(602)对所呈现的表条目(617)进行索引,从而允许每个图块群组具有不同的已解码大小——实际上是缩放因子。
某些视频编解码技术或标准(例如VP9)通过结合时间可缩放性实施某些形式的参考图片重采样(其可以以与本公开实施例完全不同的方式发信号通知)来支持空间可缩放性,从而实现空间可缩放性。具体地,某些参考图片可以使用ARC样式的技术上采样到更高的分辨率,以形成空间增强层的基础。这种上采样的图片可以使用高分辨率的正常预测机制来修正,以增加细节。
本公开的实施例可以在这样的环境中使用。在某些情况下,在相同或另一实施例中,网络抽象层(NAL)单元头中的值(例如时间ID字段)不仅可用于指示时间层,还可用于指示空间层。这样做对于某些系统设计有一定的好处。例如,基于NAL单元头时间ID值为时间层选择转发创建和优化的现有的选择转发单元(SFU,Selected Forwarding Unit)可以在不进行修改的情况下用于可缩放环境。为了实现这一点,本公开实施例可以包括已编码图片大小和由NAL单元头中的时间ID字段指示的时间层之间的映射。
在一些视频编解码技术中,访问单元(AU)可以指在给定的时间实例处捕获的并组合成相应的图片/切片/图块/NAL单元比特流的一个或多个已编码图片、一个或多个切片、一个或多个图块、一个或多个NAL单元等。这种时间实例可以是合成时间。
在HEVC和某些其他视频编解码技术中,图片顺序计数(POC)值可用于指示从解码图片缓冲器(DPB)存储的多个参考图片中选择的参考图片。当访问单元(AU)包括一个或多个图片、切片或图块时,属于同一AU的每个图片、切片或图块可以携带相同的POC值,从该POC值可以导出,它们是根据同一合成时间的内容创建的。换言之,在两个图片/切片/图块携带相同的给定POC值的情况下,可以确定这两个图片/切片/图块属于同一AU并且具有相同合成时间。相反地,具有不同POC值的两个图片/切片/图块可以指示属于不同AU并且具有不同合成时间的那些图片/切片/图块。
在本公开的实施例中,因为访问单元可以包括具有不同POC值的图片、切片或图块,因此可以放宽上述刚性关系。通过允许在一个AU内使用不同的POC值,可以使用POC值来识别具有相同呈现时间的可能独立解码的图片/切片/图块。因此,本公开实施例可以支持多个可缩放层而无需改变参考图片选择信令(例如,参考图片集信令或参考图片列表信令),如下面更详细的描述。
在实施例中,对于具有不同POC值的其他图片/切片/图块,仍然希望能够仅根据POC值来识别图片/切片/图块所属的AU。这在如下所述的实施例中是可以实现的。
在同一或其它实施例中,可以在高级语法结构(例如NAL单元头、切片头、图块组头、SEI消息、参数集或AU定界符)中发信号通知访问单元计数(AUC)。AUC值可用于识别哪些NAL单元、图片、切片或图块属于给定的AU。AUC值可以对应于不同的合成时间实例。AUC值可以等于POC值的倍数。通过将POC值除以一个整数值,可以计算AUC值。在某些情况下,除法运算会给解码器实现带来一定的负担。在这种情况下,在AUC值的编号空间中做一些小的限制可以允许用本公开实施例中执行的移位运算代替除法运算。例如,AUC值可以等于POC值范围内的最高有效位(MSB)值。
在同一实施例中,可以在高级语法结构(例如NAL单元头、切片头、图块组头、SEI消息、参数集或AU定界符)中发信号通知每个AU的POC周期的值(例如,语法元素poc_cycle_au)。语法元素poc_cycle_au可以指示多少个不同且连续的POC值可与同一AU相关联。例如,如果poc_cycle_au的值等于4,则POC值等于0到3(包括0和3)的图片、切片或图块与AUC值等于0的AU相关联,并且POC值等于4到7(包括4和7)的图片、切片或图块可以与AUC值等于1的AU相关联。因此,本公开的实施例可以通过将POC值除以poc_cycle_au的值来推断AUC的值。
在同一或另一实施例中,poc_cycle_au的值可以从例如位于视频参数集(VPS)中的信息导出,该信息标识已编码视频序列中的空间或SNR层的数量。下面简要描述这种可能的关系。尽管如上所述的推导可以在VPS中节省几个比特,并因此可以提高编解码效率,但是,以层级低于视频参数集的、适当的高级语法结构来显式地对poc_cycle_au进行编码,以便能够针对给定的一小部分比特流(例如图片)来最小化poc_cycle_au可能是有利的。由于POC值(和/或间接引用POC的语法元素的值)可以用低级语法结构来编码,所以与通过上述推导过程所能节省的比特相比,这种优化可以节省更多的比特。
在同一或另一实施例中,图9A示出了语法表的示例。该语法表用于在VPS(630)(或SPS)中发信号通知vps_poc_cycle_au(632)的语法元素,其中vps_poc_cycle_au指示用于已编码视频序列中的所有图片/切片的poc_cycle_au。图9B示出了语法表的示例。该语法表用于发信号通知slice_poc_cycle_au(642)的语法元素,其中slice_poc_cycle_au在切片头(640)中指示当前切片的poc_cycle_au。如果每个AU的POC值均匀增加,则VPS(630)中的vps_contant_poc_cycle_per_au(634)可以设置为1,并且可以在VPS(630)中发信号通知vps_poc_cycle_au(632)。在这种情况下,可以不显式地发信号通知slice_poc_cycle_au(642),并且通过将POC值除以vps_poc_cycle_au(632)来计算每个AU的AUC值。如果每个AU的POC值不是均匀增加,则VPS(630)中的vps_contant_poc_cycle_per_au(634)设置为0。在这种情况下,不发信号通知vps_access_unit_cnt,而是针对每个切片或图片在切片头中发信号通知slice_access_unit_cnt。每个切片或图片可以具有不同的slice_access_unit_cnt值。通过将POC值除以slice_poc_cycle_au(642)来计算每个AU的AUC值。
图10示出了描述实施例的相关工作流程的框图。例如,解码器(或编码器)解析VPS/SPS,并确定每个AU的POC周期是否恒定(652)。随后,解码器(或编码器)基于每个AU的POC周期在已编码视频序列内是否恒定来做出决定(654)。也就是说,如果每个AU的POC周期是恒定的,则解码器(或编码器)根据序列级别的poc_cycle_au的值和POC值计算访问单元计数的值(656)。或者,如果每个AU的POC周期不是恒定的,则解码器(或编码器)根据图片级别的poc_cycle_au的值和POC值计算访问单元计数的值(658)。在任一情况下,解码器(或编码器)然后可以通过例如解析VPS/SPS并确定每个AU的POC周期是否恒定来重复该过程(662)。
在同一或其它实施例中,即使图片、切片或图块的POC值可能不同,与具有相同AUC值的AU对应的图片、切片或图块也可以与同一解码或输出时间实例相关联。因此,在同一AU中的图片、切片或图块之间没有任何帧间解析/解码依赖性(dependency)的情况下,与该同一AU相关联的图片、切片或图块的全部或子集可以并行解码,并且可以在同一时间实例处输出。
在同一或其它实施例中,即使图片、切片或图块的POC值可能不同,与具有相同AUC值的AU对应的图片、切片或图块也可以与同一合成/显示时间实例相关联。当合成时间包含在容器格式中时,即使图片对应于不同的AU,但如果图片具有相同的合成时间,也可以在同一时间实例处显示。
在同一或其它实施例中,每个图片、切片或图块在同一AU中可以具有相同的时间标识符(例如,语法元素temporal_id)。与时间实例对应的图片、切片或图块的全部或子集可以与同一时间子层相关联。在同一或其它实施例中,每个图片、切片或图块在同一AU中可以具有相同或不同的空间层id(例如,语法元素layer_id)。与时间实例对应的图片、切片或图块的全部或子集可以与相同或不同的空间层相关联。
图8示出了具有自适应分辨率改变的temporal_id、layer_id、POC值和AUC值的组合的视频序列结构(680)的示例。在该示例中,AUC=0的第一AU中的图片、切片或图块可以具有temporal_id=0和layer_id=0或1,而AUC=1的第二AU中的图片、切片或图块可以分别具有temporal_id=1和layer_id=0或1。不管temporal_id和layer_id的值如何,每个图片的POC值都增加1。在该示例中,poc_cycle_au的值可以等于2。在实施例中,可以将poc_cycle_au的值设置为等于(空间可缩放性)层的数量。因此,在该示例中,POC的值增加2,而AUC的值增加1。作为示例,图8示出了在第一AU(AUC=0)内,具有POC 0、TID 0和LID 0的I切片(681)和具有POC 1、TID 0和LID 1的B切片(682)。在第二AU(AUC=1)内,图8示出了具有POC 2、TID 1和LID 0的B切片(683)和具有POC 3、TID 1和LID 1的B切片(684)。在第三AU(AUC=3)内,图8示出了具有POC 4、TID 0和LID 0的B切片(685)和具有POC 5、TID 0和LID1的B切片(686)。
在以上实施例中,可以通过使用HEVC中的现有参考图片集(RPS)信令或参考图片列表(RPL)信令来支持图片间或层间预测结构和参考图片指示的全部或子集。在RPS或RPL中,该所选参考图片通过发信号通知当前图片和所选参考图片之间的POC值或POC的增量值来指示。在本公开的实施例中,RPS和RPL可用于指示图片间或层间预测结构而无需改变信令,但是具有以下限制。如果参考图片的temporal_id的值大于当前图片的temporal_i的值,则当前图片可以不使用参考图片进行运动补偿或其他预测。如果参考图片的layer_id的值大于当前图片的layer_id的值,则当前图片可以不使用参考图片进行运动补偿或其他预测。
在同一或其它实施例中,可以在访问单元内的多个图片之间禁止将基于POC差的运动矢量缩放用于时间运动矢量预测。因此,尽管每个图片在访问单元内可以具有不同的POC值,但是运动矢量可以不被缩放并用于访问单元内的时间运动矢量预测。这是因为在同一AU中具有不同POC的参考图片可以被认为具有相同的时间实例。因此,在该实施例中,当参考图片属于与当前图片相关联的AU时,运动矢量缩放功能可以返回1。
在同一或其它实施例中,当参考图片的空间分辨率不同于当前图片的空间分辨率时,可选地可以在多个图片之间禁止将基于POC差的运动矢量缩放用于时间运动矢量预测。当允许运动矢量缩放时,可以基于POC差和当前图片与参考图片之间的空间分辨率之比来缩放运动矢量。
在同一或另一实施例中,对于时间运动矢量预测,尤其是在poc_cycle_au具有非均匀值时(当vps_contant_poc_cycle_per_au==0时),可以基于AUC差而不是POC差来缩放运动矢量。否则(当vps_contant_poc_cycle_per_au==1时),基于AUC差的运动矢量缩放可能与基于POC差的运动矢量缩放相同。
在同一或另一实施例中,当基于AUC差对运动矢量进行缩放时,与当前图片相同的AU(具有相同的AUC值)中的参考运动矢量不基于AUC差进行缩放,而是无需缩放就用于运动矢量预测或者基于当前图片和参考图片之间的空间分辨率之比进行缩放后用于运动矢量预测。
在同一或其它实施例中,AUC值用于识别AU的边界,并用于假想参考解码器(HRD)操作,这需要输入和输出具有AU粒度的定时。在多数情况下,可以输出具有AU中最高层的已解码图片以进行显示。AUC值和layer_id值可用于识别输出图片。
在实施例中,图片可以包括一个或多个子图片。每个子图片可以覆盖该图片的局部区域或整个区域。一个子图片支持的区域可以与另一个子图片支持的区域重叠或不重叠。一个或多个子图片组成的区域可以覆盖或不覆盖图片的整个区域。如果一个图片包括一个子图片,则该子图片支持的区域可以与该图片支持的区域相同。
在同一实施例中,可以通过与用于已编码图片的类似的编码方法对子图片进行编码。子图片可以独立地进行编码,或者可以根据另一个子图片或已编码图片进行编码。子图片可以对另一个子图片或已编码图片具有或不具有任何解析依赖性。
在同一实施例中,已编码子图片可以包含在一个或多个层中。层中的已编码子图片可以具有不同的空间分辨率。原始子图片可以在空间上重新采样(上采样或下采样),用不同的空间分辨率参数进行编码,并且包含在与层对应的比特流中。
在同一或另一实施例中,具有(W,H)的子图片可以被编码并包含在与层0对应的已编码比特流中,其中W指示子图片的宽度,H指示子图片的高度。从具有原始空间分辨率的子图片上采样(或下采样)的子图片(具有(W*Sw,k,H*Sh,k))可以被编码并包含在与层k对应的已编码比特流中,其中Sw,k、Sh,k指示水平和垂直方向的重采样率。如果Sw,k、Sh,k的值大于1,则重采样可以是上采样。然而,如果Sw,k、Sh,k的值小于1,则重采样可以是下采样。
在同一或另一实施例中,一个层中的已编码子图片的视觉质量可能与同一子图片或不同子图片中的另一层中的已编码子图片的视觉质量不同。例如,层n中的子图片i用量化参数Qi,n进行编码,而层m中的子图片j用量化参数Qj,m进行编码。
在同一或另一实施例中,一个层中的已编码子图片可以是可独立解码的(independently decodable),其对相同局部区域的另一层中的已编码子图片没有任何解析或解码依赖性。可以在不参考相同局部区域的另一子图片层的情况下独立解码的子图片层是独立子图片层。独立子图片层中的已编码子图片对同一子图片层中的先前已编码子图片可以具有或不具有解码或解析依赖性,但是该已编码子图片对另一子图片层中的已编码图片可以不具有任何依赖性。
在同一或另一实施例中,一个层中的已编码子图片可以是从属解码的(dependently decodable),其对相同局部区域的另一层中的已编码子图片具有任何解析或解码依赖性。可以在参考相同局部区域的另一子图片层的情况下从属解码的子图片层是从属(dependent)子图片层。从属子图片中的已编码子图片可以参考属于同一子图片的已编码子图片、同一子图片层中的先前已编码子图片、或者两种参考子图片。
在同一或另一实施例中,已编码子图片包括一个或多个独立子图片层和一个或多个从属子图片层。然而,对于已编码子图片,可以存在至少一个独立子图片层。独立子图片层可以具有层标识符(例如语法元素layer_id)的值,该值可以存在于NAL单元头或另一高级语法结构中,并等于0。layer_id等于0的子图片层可以是基础子图片层。
在同一或另一实施例中,图片可以包括一个或多个前景子图片和一个背景子图片。背景子图片支持的区域可以等于图片的区域。前景子图片支持的区域可以与背景子图片支持的区域重叠。背景子图片可以是基础子图片层,而前景子图片可以是非基础(增强)子图片层。一个或多个非基础子图片层可以参考同一基础层进行解码。
每个layer_id等于a的非基础子图片层可以参考layer_id等于b的非基础子图片层,其中a大于b。
在同一或另一实施例中,图片可以包括具有或不具有背景子图片的一个或多个前景子图片。每个子图片可以具有其自己的基础子图片层和一个或多个非基础(增强)层。每个基础子图片层都可以被一个或多个非基础子图片层参考。每个layer_id等于a的非基础子图片层可以参考layer_id等于b的非基础子图片层,其中a大于b。
在同一或另一实施例中,图片可以包括具有或不具有背景子图片的一个或多个前景子图片。(基础或非基础)子图片层中的每个已编码子图片可以被属于同一子图片的一个或多个非基础层子图片和不属于同一子图片的一个或多个非基础层子图片参考。
在同一或另一实施例中,图片可以包括具有或不具有背景子图片的一个或多个前景子图片。层a中的子图片可以被进一步划分为同一层中的多个子图片。层b中的一个或多个已编码子图片可以参考层a中划分后的子图片。
在同一或另一实施例中,已编码视频序列(CVS)可以是一组已编码图片。CVS可以包括一个或多个已编码子图片序列(CSPS),其中CSPS可以是覆盖图片的相同局部区域的一组已编码子图片。CSPS可以具有与已编码视频序列相同或不同的时间分辨率。
在同一或另一实施例中,CSPS可以被编码并包含在一个或多个层中。CSPS可以包括一个或多个CSPS层。对与CSPS对应的一个或多个CSPS层进行解码可以重建对应于相同局部区域的子图片序列。
在同一或另一实施例中,与CSPS对应的CSPS层的数量可以与与另一CSPS对应的CSPS层的数量相同或不同。
在同一或另一实施例中,CSPS层可以具有与另一CSPS层不同的时间分辨率(例如帧速率)。原始(未压缩的)子图片序列可以在时间上重新采样(上采样或下采样),用不同的时间分辨率参数进行编码,并且包含在与层对应的比特流中。
在同一或另一实施例中,具有帧速率F的子图片序列可以被编码并包含在与层0对应的已编码比特流中,而原始子图片序列中的具有F*St,k的时间上采样(或下采样)子图片序列可以被编码并包含在与层k对应的已编码比特流中,其中St,k指示层k的时间采样率。如果St,k的值大于1,则时间重采样过程等于帧速率上变换(frame rate up conversion)。然而,如果St,k的值小于1,则时间重采样过程等于帧速率下变换(frame rate downconversion)。
在同一或另一实施例中,当具有CSPS层a的子图片被具有CSPS层b的子图片参考以进行运动补偿或任何层间预测时,如果CSPS层a的空间分辨率不同于CSPS层b的空间分辨率,则CSPS层a中的已解码像素被重新采样并用作参考。重采样过程可能需要上采样滤波或下采样滤波。
图11示出了示例视频流,该示例视频流包括layer_id等于0的背景视频CSPS和多个前景CSPS层。虽然已编码子图片可以包括一个或多个增强CSPS层(704),但是不属于任何前景CSPS层的背景区域可以包括基础层(702)。基础层(702)可以包含背景区域和前景区域,而增强CSPS层(704)包含前景区域。在同一区域,增强CSPS层(704)可能比基础层(702)具有更好的视觉质量。增强CSPS层(704)可以参考对应同一区域的重建像素和基础层(702)的运动矢量。
在同一或另一实施例中,在视频文件中,与基础层(702)对应的视频比特流包含在轨道中,而与每个子图片对应的CSPS层(704)包含在单独的轨道中。
在同一或另一实施例中,与基础层(702)对应的视频比特流包含在轨道中,而具有相同layer_id的CSPS层(704)包含在单独的轨道中。在该示例中,与层k对应的轨道仅包括与层k对应的CSPS层(704)。
在同一或另一实施例中,每个子图片的每个CSPS层(704)存储在单独的轨道中。每个轨道对一个或多个其他轨道可以具有或不具有任何解析或解码依赖性。
在同一或另一实施例中,每个轨道可以包含与子图片的全部或子集的CSPS层(704)的层i至层j对应的比特流,其中0<i=<j=<k,k是CSPS的最高层。
在同一或另一实施例中,图片包括一个或多个相关联的媒体数据,这些相关联的媒体数据包括深度图、阿尔法(α)图、3D几何数据、占用图等。这种相关联的定时媒体数据可以被划分成一个或多个数据子流,每个数据子流对应一个子图片。
在同一或另一实施例中,图12示出了基于多层子图片方法的视频会议的示例。在视频流中,包含与背景图片对应的一个基础层视频比特流和与前景子图片对应的一个或多个增强层视频比特流。每个增强层视频比特流可以对应一个CSPS层。在显示器中,默认显示与基础层(712)对应的图片。基础层(712)可以包含一个或多个用户的画中画(PIP)。当通过客户端的控件选择了特定用户时,与所选择的用户对应的增强CSPS层(714)被解码并以增强的质量或空间分辨率进行显示。
图13示出了实施例的操作的示意图。在实施例中,解码器可以解码包括多个层的视频比特流,例如一个基础层和一个或多个增强CSPS层(722)。随后,解码器可以识别背景区域和一个或多个前景子图片(724),并做出关于是否选择特定子图片区域的决定(726)。如果选择了对应于例如用户的PIP的特定子图片区域(是),则解码器可以解码并显示对应于所选择用户的增强子图片(728)。例如,解码器可以解码并显示对应于增强CSPS层(714)的图像。如果没有选择特定子图片区域(否),则解码器可以解码并显示背景区域(730)。例如,解码器可以解码并显示对应于基础层(712)的图像。
在同一或另一实施例中,网络中间盒(例如路由器)可以根据其带宽选择要发送给用户的层的子集。图片/子图片组织可用于带宽适配。例如,如果用户没有带宽,则路由器会由于其重要性或基于所使用的设置而剥离层或选择一些子图片。在实施例中,可以动态地这样的过程以适应带宽。
图14示出了涉及360视频的示例使用情况的实施例。当球形360图片(742)被投影到平面图片上时,被投影的球形360图片(742)可以被划分成多个子图片(745)作为基础层(744)。该多个子图片(745)中特定的一个子图片的增强层(746)可以被编码并发送到客户端。解码器可以对包括所有子图片(745)的基础层(744)和子图片(745)中所选择的一个子图片的增强层(746)进行解码。当当前视口(viewport)与子图片(745)中所选择的一个子图片相同时,所显示的图片与具有增强层(746)的已解码子图片(745)相比可能具有更高的质量。否则,可以以较低质量显示具有基础层(744)的已解码图片。
在同一或另一实施例中,用于显示的任何布局信息可以作为补充信息(例如SEI消息或元数据)存在于文件中。一个或多个已解码子图片可以根据用信号通知的布局信息重新定位和显示。布局信息可以由流式传输服务器或广播设备发信号通知,或者可以由网络实体或云服务器重新生成,或者可以由用户的定制设置来确定。
在实施例中,当输入图片被划分成一个或多个(矩形)子区域时,每个子区域可以被编码为独立层。与局部区域对应的每个独立层可以具有唯一的layer_id值。对于每个独立层,可以发信号通知子图片大小和位置信息。例如,可以发信号通知图片大小(宽度,高度)和左上角的偏移信息(x_offset,y_offset)。图15A示出了划分的多个子图片(752)的布局,图15B示出了相应的子图片大小和多个子图片(752)中的一个的位置信息的示例,图16示出了相应的图片预测结构。包括一个或多个子图片大小和一个或多个子图片位置的布局信息可以在高级语法结构(例如一个或多个参数集、切片头或图块组头、或SEI消息)中发信号通知。
在同一或另一实施例中,与独立层对应的每个子图片可以在AU内具有唯一的POC值。当通过使用RPS或RPL结构中的语法元素来指示存储在DPB中的图片中的参考图片时,可以使用与层对应的每个子图片的POC值。
在同一或另一实施例中,为了指示(层间)预测结构,可以不使用layer_id并且可以使用POC(增量)值。
在同一实施例中,与层(或局部区域)对应的、POC值等于N的子图片可以用作或可以不用作与同一层(或同一局部区域)对应的、POC值等于K+N的子图片的参考图片,以进行运动补偿预测。在大多数情况下,数量K的值可以等于(独立)层的最大数量,该数量可以与子区域的数量相同。
在同一或另一实施例中,图17-18示出了图15A-B和图16的扩展情况。当输入图片被划分成多个(例如四个)子区域时,每个局部区域可以以一个或多个层来编码。在这种情况下,独立层的数量可以等于子区域的数量,并且一个或多个层可以对应于子区域。因此,每个子区域可以以一个或多个独立层以及零个或多个从属层来编码。
在同一实施例中,参考图17,输入图片可以被划分成四个子区域,包括左上子区域(762)、右上子区域(763)、左下子区域(764)和右下子区域(765)。右上子区域(763)可以被编码为两个层,即层1和层4,而右下子区域(765)可以被编码为两个层,即层3和层5。在这种情况下,层4可以参考层1进行运动补偿预测,而层5可以参考层3进行运动补偿。
在同一或另一实施例中,可以(可选地)禁用跨层边界的环路内(in-loop)滤波(例如解块滤波、自适应环路内滤波、整形器、双边滤波或任何基于深度学习的滤波)。
在同一或另一实施例中,可以(可选地)禁用跨层边界的运动补偿预测或块内复制。
在同一或另一实施例中,可以可选地处理用于运动补偿预测的边界填充或子图片边界处的环路内滤波。可以在高级语法结构(例如一个或多个参数集(VPS、SPS、PPS或APS)、切片头或图块组头、或SEI消息)中发信号通知一个标志,以指示边界填充是否被处理。
在同一或另一实施例中,可以在VPS或SPS中发信号通知一个或多个子区域(或者一个或多个子图片)的布局信息。图19A示出了VPS(770)中的语法元素的示例,图19B示出了SPS(780)中的语法元素的示例。在该示例中,在VPS(770)中发信号通知vps_sub_picture_dividing_flag(772)。该标志可以指示一个或多个输入图片是否被划分成多个子区域。当vps_sub_picture_dividing_flag(772)的值等于0时,与当前VPS对应的一个或多个已编码视频序列中的一个或多个输入图片可以不被划分成多个子区域。在这种情况下,输入图片大小可以等于已编码图片大小(pic_width_in_luma_samples(786),pic_height_in_luma_samples(788)),该已编码图片大小在SPS(680)中发信号通知。当vps_sub_picture_dividing_flag(772)的值等于1时,该一个或多个输入图片可以被划分成多个子区域。在这种情况下,在VPS(770)中发信号通知语法元素vps_full_pic_width_in_luma_samples(774)和vps_full_pic_height_in_luma_samples(776)。vps_full_pic_width_in_luma_samples(774)和vps_full_pic_height_in_luma_samples(776)的值可以分别等于该一个或多个输入图片的宽度和高度。
在同一实施例中,vps_full_pic_width_in_luma_samples(774)和vps_full_pic_height_in_luma_samples(776)的值可以不用于解码,而是用于合成和显示。
在同一实施例中,当vps_sub_picture_dividing_flag(772)的值等于1时,可以在SPS(780)中发信号通知语法元素pic_offset_x(782)和pic_offset_y(784),该语法元素对应于一个或多个特定层。在这种情况下,在SPS(780)中发信号通知的已编码图片大小(pic_width_in_luma_samples(786),pic_height_in_luma_samples(788))可以等于与特定层对应的子区域的宽度和高度。而且,可以在SPS(780)中发信号通知子区域的左上角的位置(pic_offset_x(782),pic_offset_y(784))。
在同一实施例中,子区域的左上角的位置信息(pic_offset_x(782),pic_offset_y(784))可以不用于解码,而是用于合成和显示。
在同一或另一实施例中,可以在参数集或SEI消息中发信号通知一个或多个输入图片的全部或子集子区域的布局信息(大小和位置)、以及层之间的从属性信息。图20示出了语法元素的示例,这些语法元素指示子区域的布局、层之间的从属性以及子区域与一个或多个层之间的关系的信息。在该示例中,语法元素num_sub_region(791)指示当前已编码视频序列中(矩形)子区域的数量。语法元素num_layers(792)指示当前已编码视频序列中层的数量。num_layers(792)的值可以等于或大于num_sub_region(791)的值。当任何子区域以单个层进行编码时,num_layers(792)的值可以等于num_sub_region(791)的值。当一个或多个子区域以多个层进行编码时,num_layers(792)的值可以大于num_sub_region(791)的值。语法元素direct_dependency_flag[i][j](793)指示从第j层到第i层的从属性。语法元素num_layers_for_region[i](794)指示与第i个子区域相关联的层的数量。语法元素sub_region_layer_id[i][j](795)指示与第i个子区域相关联的第j层的layer_id。语法元素sub_region_offset_x[i](796)和sub_region_offset_y[i](797)分别指示第i个子区域的左上角的水平和垂直位置。语法元素sub_region_width[i](798)和sub_region_height[i](799)分别指示第i个子区域的宽度和高度。
在一个实施例中,可以在高级语法结构(例如VPS、DPS、SPS、PPS、APS或SEI消息)中发信号通知一个或多个语法元素,该一个或多个语法元素指定输出层集,以指示要输出的具有或不具有配置文件层级(profile tier level)信息的多个层中的一个。参考图21,可以在VPS中发信号通知语法元素num_output_layer_sets(804),该语法元素num_output_layer_sets指示参考VPS的已编码视频序列中的输出层集(OLS)的数量。对于每个输出层集,可以发信号通知与输出层的数量一样多的语法元素output_layer_flag(810)。
在同一实施例中,语法元素output_layer_flag(810)等于1指定输出第i层。语法元素vps_output_layer_flag(810)等于0指定不输出第i层。
在同一或另一实施例中,可以在高级语法结构(例如VPS、DPS、SPS、PPS、APS或SEI消息)中发信号通知一个或多个语法元素,该一个或多个语法元素指定每个输出层集的配置文件层级信息。仍然参考图21,可以在VPS中发信号通知语法元素num_profile_tier_level(806),该语法元素num_profile_tier_level指示参考VPS的已编码视频序列中的每个OLS的配置文件层级信息的数量。对于每个输出层集,可以发信号通知与输出层的数量一样多的用于配置文件层级信息的语法元素集或指示配置文件层级信息中的条目的特定配置文件层级信息的索引。
在同一实施例中,语法元素profile_tier_level_idx[i][j](812)指定应用于第i个OLS的第j层的profile_tier_level()(808)语法结构在VPS中的profile_tier_level()(808)语法结构的列表中的索引。
配置文件、层级和级别(及其对应的信息)可以指定对比特流的限制,从而限制解码比特流所需的能力。配置文件、层级和级别(及其对应的信息)也可用于指示各个解码器实现之间的互操作性点。配置文件可以是例如标准的整个比特流语法的子集。每个配置文件(及其对应的信息)可以指定符合该配置文件的所有解码器可支持的算法特征和限制的子集。可以在每个配置文件中指定层级和级别,并且一个层级的级别可以是施加在比特流中的语法元素的值上的一组指定约束。一个层级的每个级别(及其对应的信息)可以指定对值的一组限制和/或对本公开的语法元素可以采用的值的算术组合的限制。同一组层级和级别定义可用于所有配置文件,但是单个实现可以支持不同的层级,并且在一个层级内,每个被支持的配置文件支持不同的级别。对于任何给定的配置文件,一个层级的级别可以对应于特定的解码器处理负载和存储器能力。为较低层级指定的级别可能比为较高层级指定的级别更受约束。
在同一或另一实施例中,参考图22,当最大层数大于1(vps_max_layers_minus1>0)时,可以发信号通知语法元素num_profile_tier_level(806)和/或num_output_layer_sets(804)。
在同一或另一实施例中,参考图22,指示第i个输出层集的输出层信令的模式的语法元素vps_output_layers_mode[i](822)可以存在于VPS中。
在同一实施例中,语法元素vps_output_layers_mode[i](822)等于0指定使用第i个输出层集仅输出最高层。语法元素vps_output_layers_mode[i](822)等于1指定使用第i个输出层集输出所有层。语法元素vps_output_layers_mode[i](822)等于2指定输出的层是vps_output_layer_flag[i][j]等于1且使用第i个输出层集的层。可以保留更多的值。
在同一实施例中,根据用于第i个输出层集的语法元素vps_output_layers_mode[i](822)的值,可以发信号通知或不发信号通知语法元素output_layer_flag[i][j](810)。
在同一或另一实施例中,参考图22,对于第i个输出层集,可以存在标志vps_ptl_signal_flag[i](824)。根据vps_ptl_signal_flag[i](824)的值,可以发信号通知或不发信号通知第i个输出层集的配置文件层级信息。
在同一或另一实施例中,参考图23,可以在高级语法结构(例如VPS、DPS、SPS、PPS、APS或SEI消息)中发信号通知当前CVS中的子图片的数量max_subpics_minus1。
在同一实施例中,参考图23,当子图片的数量大于1(max_subpics_minus1>0)时,可以发信号通知第i个子图片的子图片标识符sub_pic_id[i](821)。
在同一或另一实施例中,可以在VPS中发信号通知一个或多个语法元素,该一个或多个语法元素指示属于每个输出层集的每个层的子图片标识符。参考图23,标识符sub_pic_id_layer[i][j][k](826)指示存在于第i个输出层集的第j层中的第k个子图片。利用标识符sub_pic_id_layer[i][j][k](826)的信息,解码器可以识别出对于特定输出层集的每个层哪个子图片被解码和输出。
在实施例中,标识待解码的目标OLS的OLS索引的变量TargetOlsIdx和标识待解码的最高时间子层的变量Htid通过一些外部手段来设置。比特流BitstreamToDecode可以不包含除目标OLS中包含的层之外的任何其它层,并且可以不包括TemporalId大于Htid的任何NAL单元。
在同一或另一实施例中,ols_output_layer_flag[i][j]等于1指定当ols_mode_idc(864)等于2时,nuh_layer_id等于vps_layer_id[j]的层是第i个OLS的输出层。语法元素ols_output_layer_flag[i][j]等于0指定当语法元素ols_mode_idc等于2时,nuh_layer_id等于vps_layer_id[j]的层不是第i个OLS的输出层。语法元素nuh_layer_id可以指定非视频编码层(VCL,non-video coding layer)NAL单元所属的层的标识符或非VCLNAL单元所应用的层的标识符。对于已编码图片的所有VCL NAL单元,nuh_layer_id的值可以相同。已编码图片或图片单元(PU)的nuh_layer_id的值可以是已编码图片或PU的VCLNAL单元的nuh_layer_id的值。对于已编码视频序列起始(CVSS,coded video sequencestart)AU的所有图片,语法元素nal_unit_type的值可以相同。
指定第i个OLS中的输出层的数量的变量NumOutputLayersInOls[i]、指定第i个OLS中的第j层中的子层的数量的变量NumSubLayersInLayerInOLS[i][j]、指定第i个OLS中的第j个输出层的nuh_layer_id值的变量OutputLayerIdInOls[i][j]、以及指定第k个层是否用作至少一个OLS中的输出层的变量LayerUsedAsOutputLayerFlag[k]可以导出如下:
Figure BDA0003395888980000241
Figure BDA0003395888980000251
对于0到vps_max_layers_minus1(包括0和vps_max_layers_minus1)范围内的每个i值,LayerUsedAsRefLayerFlag[i]和LayerUsedAsOutputLayerFlag[i]的值可以不都等于0。换句话说,可能不存在既不是至少一个OLS的输出层也不是任何其它层的直接参考层的层。
对于每个OLS,可以有至少一个层是输出层。换句话说,对于0到TotalNumOlss-1(包括0和TotalNumOlss-1)范围内的任何i值,NumOutputLayersInOls[i]的值可以大于或等于1。
指定第i个OLS中的层的数量的变量NumLayersInOls[i]和指定第i个OLS中的第j层的nuh_layer_id值的变量LayerIdInOls[i][j]可以导出如下:
Figure BDA0003395888980000252
Figure BDA0003395888980000261
第0个OLS可以仅包含最低层(即,nuh_layer_id等于vps_layer_id[0]的层),并且对于第0个OLS,可以输出该唯一包含的层。
指定nuh_layer_id等于LayerIdInOls[i][j]的层的OLS层索引的变量OlsLayerIdx[i][j]导出如下:
for(i=0;i<TotalNumOlss;i++)
for(j=0;j<NumLayersInOls[i];j++)
OlsLayerIdx[i][LayerIdInOls[i][j]]=j
每个OLS中的最低层可以是独立层。换句话说,对于0到TotalNumOlss-1(包括0和TotalNumOlss-1)范围内的每个i,vps_independent_layer_flag[GeneralLayerIdx[LayerIdInOls[i][0]]]的值可以等于1。
每个层可以包括在由VPS指定的至少一个OLS中。换句话说,对于具有nuh_layer_id的特定值、nuhLayerId等于vps_layer_id[k]中的一个(k在0到vps_max_layers_minus1(包括0和vps_max_layers_minus1)的范围内)的每个层,可以存在至少一对i和j的值,其中i在0到TotalNumOlss-1(包括0和TotalNumOlss-1)的范围内,j在NumLayersInOls[i]-1(包括端值)的范围内,使得LayerIdInOls[i][j]的值等于nuhLayerId。
语法元素ols_mode_idc(864)等于0可以指定由VPS指定的OLS的总数等于vps_max_layers_minus1+1,第i个OLS包括层索引从0到i(包括0和i)的层,并且对于每个OLS,仅输出OLS中的最高层。
语法元素ols_mode_idc(864)等于1可以指定由VPS指定的OLS的总数等于vps_max_layers_minus1+1,第i个OLS包括层索引从0到i(包括0和i)的层,并且对于每个OLS,输出OLS中的所有层。
语法元素ols_mode_idc(864)等于2可以指定显式地发信号通知由VPS指定的OLS的总数,并且对于每个OLS,显式地发信号通知输出层,其它层是OLS的输出层的直接或间接参考层。
语法元素ols_mode_idc(864)的值可以在0到2(包括0和2)的范围内。可以保留语法元素ols_mode_idc(864)的值3,以供ITU-T|ISO/IEC将来使用。
在同一或另一实施例中,可以如下所述执行解码过程。
Bross等人的“通用视频编解码(草案8)”,联合视频专家组文献JVET-Q2001-vA,2020年1月7日至17日,其整体并入本文,并在下文中称为“文献1”。
解码过程可应用于比特流BitstreamToDecode中的每个已编码图片。每个已编码图片可以称为当前图片并由变量CurrPic表示。比特流BitstreamToDecode可以是解码过程的输入。
可以通过编码器或解码器获得语法元素chroma_format_idc。语法元素chroma_format_idc可以指定相对于亮度采样的色度采样。根据语法元素chroma_format_idc的值,当前图片的样本阵列的数量可以如下(例如由解码器确定):
(A)如果语法元素chroma_format_idc等于0,则当前图片由1个样本阵列SL组成。
(B)否则(chroma_format_idc不等于0),当前图片由3个样本阵列SL、SCb、SCr组成。
当前图片的解码过程可以将文献1的条款7的语法元素和大写变量作为输入。当解释每个NAL单元中的每个语法元素的语义时,以及在文献1的条款8的剩余部分中,术语“比特流”(或其一部分,例如比特流的CVS)是指BitstreamToDecode(或其一部分)。
语法元素separate_colour_plane_flag可以指示是否使用单独颜色平面(separate color plane)对图片进行编码。例如,当语法元素separate_colour_plane_flag等于1时,语法元素可以指示使用三个单独颜色平面对图片进行编码。当使用三个单独颜色平面对图片进行编码时,一个切片可以只包含一个颜色分量的编码树单元(CTU),该颜色分量由colour_plane_id的相应值标识,并且图片的每个颜色分量阵列可以由具有相同colour_plane_id值的切片组成。图片中具有不同colour_plane_id值的已编码切片可以在如下约束下相互交织,即对于colour_plane_id的每个值,具有该color_plane_id值的已编码切片NAL单元可以是按照每个已编码切片NAL单元的第一个CTU的图块扫描顺序增加CTU地址的顺序。当语法元素separate_colour_plane_flag等于1时,颜色分量的每个CTU可以正好包含在一个切片中(即,图片的每个CTU的信息正好存在于三个切片中,并且这三个切片具有不同的colour_plane_id值)。当语法元素separate_colour_plane_flag等于0时,图片的每个CTU可以正好包含在一个切片中。
根据语法元素separate_colour_plane_flag的值,解码过程可以构造如下:
(A)如果separate_colour_plane_flag等于0,则以当前图片为输出调用解码过程一次。
(B)否则(separate_colour_plane_flag等于1),可以调用解码过程三次。解码过程的输入是具有相同colour_plane_id值的已编码图片的所有NAL单元。可以指定具有colour_plane_id的特定值的NAL单元的解码过程,就好像比特流中只存在具有colour_plane_id的特定值的单色颜色格式的CVS一样。三个解码过程中的每一个的输出可以分配给当前图片的3个样本阵列中的一个,其中colour_plane_id等于0、1和2的NAL单元分别分配给SL、SCb和SCr
当语法元素separate_colour_plane_flag等于1并且chroma_format_idc等于3时,可以推导出变量ChromaArrayType等于0。在解码过程中,可以评估变量ChromaArrayType的值,这可以导致与单色图片的操作相同的操作(当chroma_format_idc等于0时)。
对于当前图片CurrPic,解码过程可以如下操作:
(A)NAL单元的解码可以根据文献1的条款8.2来执行。例如,解码的输入可以是当前图片的NAL单元及其相关联的非VCL NAL单元。解码的输出可以是封装在NAL单元内的解析出的原始字节序列有效载荷(RBSP)语法结构。每个NAL单元的解码可以从NAL单元中提取RBSP语法结构,然后解析该RBSP语法结构。
(B)使用切片头层及以上中的语法元素的解码过程可以根据例如文献1的条款8.3来执行:
(1)与图片顺序计数相关的变量和函数可以根据文献1的条款8.3.1导出。这只能对图片的第一切片调用。
(2)根据文献1的条款8.3.2,可以在非IDR图片的每个切片的解码过程的开始处,调用参考图片列表构造的解码过程,以推导参考图片列表0(RefPicList[0])和参考图片列表1(RefPicList[1])。
(3)参考图片标记的解码过程可以根据文献1的条款8.3.3来执行,其中参考图片可以标记为“未用于参考”或“用于长期参考”。参考图片标记的解码过程只能对图片的第一切片调用。
(4)当当前图片是NoOutputBeforeRecoveryFlag等于1的CRA图片或NoOutputBeforeRecoveryFlag等于1的GDR图片时,可以根据文献1的子条款8.3.4调用用于生成不可用参考图片的解码过程,该解码过程只能对图片的第一切片调用。
(5)PictureOutputFlag可以设置(例如由解码器)如下:
如果确定以下条件之一为真,则当前图片的PictureOutputFlag可以设置为等于0,使得该图片被标记为“不需要输出”并且不被输出:
(a)当前图片是RASL图片,并且相关联的IRAP图片的语法元素NoOutputBeforeRecoveryFlag等于1。
(b)语法元素gdr_enabled_flag等于1,并且当前图片是NoOutputBeforeRecoveryFlag等于1的GDR图片。
(c)语法元素gdr_enabled_flag等于1,当前图片与NoOutputBeforeRecoveryFlag等于1的GDR图片相关联,并且当前图片的PicOrderCntVal小于相关联的GDR图片的RpPicOrderCntVal。
(d)语法元素sps_video_parameter_set_id大于0,ols_mode_idc等于0,并且当前AU包含满足以下所有条件的图片picA:PicA的PictureOutputFlag等于1;PicA的nuh_layer_id nuhLid大于当前图片的nuh_layer_id nuhLid;以及PicA属于输出层(例如ols_output_layer_flag[TargetOlsIdx][GeneralLayerIdx[nuh_layer_id]]等于1)。
(e)语法元素sps_video_parameter_set_id大于0,ols_mode_idc等于2,并且语法元素ols_output_layer_flag[TargetOlsIdx][GeneralLayerIdx[nuh_layer_id]]等于0。
否则,PictureOutputFlag设置为等于pic_output_flag。
根据文献1的条款8.4、8.5、8.6、8.7和8.8,可以使用所有语法结构层中的语法元素来执行解码过程。例如,可以对以帧内预测模式、帧间预测模式和IBC预测模式编码的编码单元执行解码过程;可以执行缩放、变换和阵列过程;并且可以执行环路内滤波过程。比特流一致性的要求可以是图片的已编码切片应包含图片的每个CTU的切片数据,以便将图片划分为切片,并将切片划分为CTU,每个CTU都形成图片的分区。
在当前图片的所有切片都被解码之后,当前已解码图片可以被标记为“用于短期参考”,并且RefPicList[0]或RefPicList[1]中的每个ILRP条目可以被标记为“用于短期参考”。
指定nuh_layer_id等于vps_layer_id[i]的层的层索引的变量GeneralLayerIdx[i]可以导出如下:
for(i=0;i<=vps_max_layers_minus1;i++)
GeneralLayerIdx[vps_layer_id[i]]=i
根据一个或多个实施例,NAL单元和其中的语法元素(例如本公开中所描述的)可以由本公开的解码器接收,以从已编码视频流中解码视频数据。本公开的解码器可以从已编码视频流中解码视频数据。例如,参考图24,解码器(880)可以包括解码代码(885),被配置为使解码器(880)的至少一个处理器解码视频数据。根据实施例,解码代码(885)可以包括确定代码(887),被配置为使所述至少一个处理器基于语法元素(例如,ols_mode_idc)确定是否要输出已编码视频流的第一图片(例如,PictureOutputFlag=0或1),所述语法元素指示输出层集信令的模式(例如,ols_mode_idc=0或ols_mode_idc=2)。可选地或另外地,确定代码(885)可以被配置为使所述至少一个处理器基于本公开所描述的其他条件确定是否要输出已编码视频流的第一图片。
上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图25示出了计算机系统(900),其适于实现所公开主题的一些实施例。
所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由一个或多个计算机中央处理单元(CPU),图形处理单元(GPU)等直接执行或通过译码、微代码等方式执行。
所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
图25所示的用于计算机系统(900)的组件本质上是示例性的,并不用于对实现本公开实施例的计算机软件的使用范围或功能进行任何限制。也不应将组件的配置解释为与计算机系统(900)的示例性实施例中所示的任一组件或其组合具有任何依赖性或要求。
计算机系统(900)可以包括某些人机界面输入设备。这种人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入(未示出),对一个或多个人类用户的输入做出响应。所述人机界面设备还可用于捕获某些媒体,气与人类有意识的输入不必直接相关,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
人机界面输入设备可包括以下中的一个或多个(仅绘出其中一个):键盘(901)、鼠标(902)、触控板(903)、触摸屏(910)、数据手套、操纵杆(905)、麦克风(906)、扫描仪(907)、照相机(908)。
计算机系统(900)还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。这样的人机界面输出设备可包括触觉输出设备(例如通过触摸屏(910)、数据手套或操纵杆(905)的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)。例如,这样的设备可以是音频输出设备(例如,扬声器(909)、耳机(未示出))、视觉输出设备(例如,包括阴极射线管(CRT)屏幕、液晶显示(LCD)屏幕、等离子屏幕、有机发光二极管(OLED)屏幕的屏幕(910),其中每一个都具有或没有触摸屏输入功能、每一个都具有或没有触觉反馈功能——其中一些可通过诸如立体画面输出的手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜(未示出)、全息显示器和放烟箱(未示出))以及打印机(未示出)。
计算机系统(900)还可以包括人可访问的存储设备及其相关介质,如包括具有CD/DVD的高密度只读/可重写式光盘(CD/DVD ROM/RW)(920)或类似介质(921)的光学介质、拇指驱动器(922)、可移动硬盘驱动器或固体状态驱动器(923),诸如磁带和软盘(未示出)的传统磁介质,诸如安全软件保护器(未示出)等的基于ROM/ASIC/PLD的专用设备,等等。
本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
计算机系统(900)还可以包括通往一个或多个通信网络的接口。例如,网络可以是无线的、有线的、光学的。网络还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。网络还包括诸如以太网、无线局域网、蜂窝网络(包括全球移动通信系统(GSM)、第三代(3G)、第四代(4G)、第五代(5G)、长期演进(LTE)等)等的局域网、电视有线或无线广域数字网络(包括有线电视、卫星电视、和地面广播电视)、车载和工业网络(包括CANBus)等等。某些网络通常需要外部网络接口适配器,用于连接到某些通用数据端口或外围总线(949)(例如,计算机系统(900)的通用串行总线(USB)端口);其它系统通常通过连接到如下所述的系统总线集成到计算机系统(900)的核心(例如,以太网接口集成到PC计算机系统或蜂窝网络接口集成到智能电话计算机系统)。通过使用这些网络中的任何一个,计算机系统(900)可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如CAN总线到某些CAN总线设备),或双向的,例如通过局域或广域数字网络到其它计算机系统。这种通信可以包括到云计算环境的通信(955)。上述的每个网络和网络接口可使用某些协议和协议栈。
上述的人机界面设备、人可访问的存储设备以及网络接口(954)可以连接到计算机系统(900)的核心(940)。
核心(940)可包括一个或多个中央处理单元(CPU)(941)、图形处理单元(GPU)(942)、以现场可编程门阵列(FPGA)(943)形式的专用可编程处理单元、用于特定任务的硬件加速器(944)等。这些设备以及只读存储器(ROM)(945)、随机存取存储器(RAM)(946)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、固态硬盘(SSD)等)(947)等可通过系统总线(948)进行连接。在某些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(948),以便可通过额外的中央处理单元、图形处理单元等进行扩展。外围装置可直接附接到核心的系统总线(948),或通过外围总线(949)进行连接。外围总线的体系结构包括外围组件互联(PCI)、通用串行总线USB等。图形适配器(950)可以包括在核心(940)中。
CPU(941)、GPU(942)、FPGA(943)和加速器(944)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(945)或RAM(946)中。过渡数据也可以存储在RAM(946)中,而永久数据可以存储在例如内部大容量存储器(947)中。通过使用高速缓冲存储器可实现对任何存储器设备的快速存储和检索,高速缓冲存储器可与一个或多个CPU(941)、GPU(942)、大容量存储器(947)、ROM(945)、RAM(946)等紧密关联。
所述计算机可读介质上可具有计算机代码,用于执行各种计算机实现的操作。介质和计算机代码可以是为本公开的目的而特别设计和构造,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
作为实施例而非限制,具有体系结构(900)的计算机系统,特别是核心(940),可以作为处理器(包括CPU、GPU、FPGA、加速器等)提供执行包含在一个或多个有形的计算机可读介质中的软件的功能。这种计算机可读介质可以是与上述的用户可访问的大容量存储器相关联的介质,以及具有非易失性的核心(940)的特定存储器,例如核心内部大容量存储器(947)或ROM(945)。实现本申请的各种实施例的软件可以存储在这种设备中并且由核心(940)执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心(940)特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在RAM(946)中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机系统可以提供逻辑硬连线或以其它方式包含在电路(例如,加速器(944))中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(IC)),包含执行逻辑的电路,或两者兼备。本公开包括任何合适的硬件和软件组合。
虽然本公开已对多个非限制的示例性实施例进行了描述,但实施例的各种变更、排列和各种等同替换均属于本公开的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确示出或描述,但其体现了本公开的原则,因此属于本公开的精神和范围之内。

Claims (20)

1.一种由至少一个处理器执行的方法,其特征在于,所述方法包括:
接收已编码视频流,所述已编码视频流包括被划分成多个层的视频数据;以及
解码所述已编码视频流的视频数据,所述解码包括:
基于指示输出层集信令的模式的语法元素,确定是否输出所述已编码视频流的第一图片。
2.根据权利要求1所述的方法,其特征在于,
所述确定包括:基于所述指示所述输出层集信令的模式的语法元素,确定不输出所述第一图片,
所述模式包括:由参数集指定的多个输出层集的总数等于参考所述参数集的所述已编码视频流的每个已编码视频序列中的最大允许层数,所述多个输出层集中的第i个输出层集包括层索引从0到i(包括0和i)的层,以及对于所述多个输出层集中的每个输出层集,只输出所述输出层集中的最高层。
3.根据权利要求2所述的方法,其特征在于,所述语法元素的值为0,以指示所述输出层集信令的模式。
4.根据权利要求2所述的方法,其特征在于,所述参数集是视频参数集。
5.根据权利要求2所述的方法,其特征在于,所述确定包括:
基于以下条件确定不输出所述第一图片:
所述指示所述输出层集信令的模式的语法元素,
与所述第一图片属于同一访问单元的第二图片被指示为输出,
所述第二图片属于比所述第一图片更高的层,以及
所述第二图片属于输出层。
6.根据权利要求1所述的方法,其特征在于,
所述确定包括:基于所述指示所述输出层集信令的模式的语法元素,确定不输出所述第一图片,
所述模式包括:显式地发信号通知由参数集指定的输出层集的总数,显式地发信号通知由所述参数集指定的所述输出层集的输出层,以及所述输出层中的至少一个具有参考层。
7.根据权利要求6所述的方法,其特征在于,所述语法元素的值为2,以指示所述输出层集信令的模式。
8.根据权利要求6所述的方法,其特征在于,所述参数集是视频参数集。
9.根据权利要求6所述的方法,其特征在于,所述确定包括:基于以下条件确定不输出所述第一图片:
所述指示所述输出层集信令的模式的语法元素,
所述参数集的标识符的值大于0,以及
与所述第一图片属于同一访问单元的第二图片被指示为不属于任何输出层。
10.根据权利要求1所述的方法,其特征在于,所述确定包括:确定输出所述第一图片。
11.一种对已编码视频流进行解码的系统,其特征在于,所述已编码视频流包括被划分成多个层的视频数据,所述系统包括:
存储器,被配置为存储计算机程序代码;和
至少一个处理器,被配置为接收所述已编码视频流,访问所述计算机程序代码,并按照所述计算机程序代码的指令进行操作,所述计算机程序代码包括:
解码代码,被配置为使所述至少一个处理器解码所述已编码视频流的视频数据,所述解码代码包括:确定代码,被配置为使所述至少一个处理器基于指示输出层集信令的模式的语法元素,确定是否输出所述已编码视频流的第一图片。
12.根据权利要求11所述的系统,其特征在于,
所述确定代码被配置为使所述至少一个处理器基于所述指示所述输出层集信令的模式的语法元素,确定不输出所述第一图片,
所述模式包括:由参数集指定的多个输出层集的总数等于参考所述参数集的所述已编码视频流的每个已编码视频序列中的最大允许层数,所述多个输出层集中的第i个输出层集包括层索引从0到i(包括0和i)的层,以及对于所述多个输出层集中的每个输出层集,只输出所述输出层集中的最高层。
13.根据权利要求12所述的系统,其特征在于,所述语法元素的值为0,以指示所述输出层集信令的模式。
14.根据权利要求12所述的系统,其特征在于,所述参数集是视频参数集。
15.根据权利要求12所述的系统,其特征在于,所述确定代码被配置为使所述至少一个处理器基于以下条件确定不输出所述第一图片:
所述指示所述输出层集信令的模式的语法元素,
与所述第一图片属于同一访问单元的第二图片被指示为输出,
所述第二图片属于比所述第一图片更高的层,以及
所述第二图片属于输出层。
16.根据权利要求11所述的系统,其特征在于,
所述确定代码被配置为使所述至少一个处理器基于所述指示所述输出层集信令的模式的语法元素,确定不输出所述第一图片,
所述模式包括:显式地发信号通知由参数集指定的输出层集的总数,显式地发信号通知由所述参数集指定的所述输出层集的输出层,以及所述输出层中的至少一个具有参考层。
17.根据权利要求16所述的系统,其特征在于,所述语法元素的值为2,以指示所述输出层集信令的模式。
18.根据权利要求16所述的系统,其特征在于,所述参数集是视频参数集。
19.根据权利要求16所述的系统,其特征在于,所述确定代码被配置为使所述至少一个处理器基于以下条件确定不输出所述第一图片:
所述指示所述输出层集信令的模式的语法元素,
所述参数集的标识符的值大于0,以及
与所述第一图片属于同一访问单元的第二图片被指示为不属于任何输出层。
20.一种非易失性计算机可读介质,其特征在于,用于存储计算机指令,所述计算机指令被配置为使至少一个处理器:
解码已编码视频流的视频数据,所述视频数据被划分为多个层,所述解码包括:
基于指示输出层集信令的模式的语法元素,确定是否输出所述已编码视频流的第一图片。
CN202080041950.2A 2020-01-27 2020-10-15 具有输出层集的图片输出方法 Pending CN113994664A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202062966127P 2020-01-27 2020-01-27
US62/966,127 2020-01-27
US17/063,937 US11272214B2 (en) 2020-01-27 2020-10-06 Method for picture output with output layer set
US17/063,937 2020-10-06
PCT/US2020/055760 WO2021154348A1 (en) 2020-01-27 2020-10-15 Method for picture output with output layer set

Publications (1)

Publication Number Publication Date
CN113994664A true CN113994664A (zh) 2022-01-28

Family

ID=76970432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080041950.2A Pending CN113994664A (zh) 2020-01-27 2020-10-15 具有输出层集的图片输出方法

Country Status (9)

Country Link
US (3) US11272214B2 (zh)
EP (1) EP4097972A4 (zh)
JP (1) JP2022526439A (zh)
KR (1) KR20210137203A (zh)
CN (1) CN113994664A (zh)
AU (2) AU2020426060B2 (zh)
CA (1) CA3138519A1 (zh)
SG (1) SG11202111958UA (zh)
WO (1) WO2021154348A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021246840A1 (ko) * 2020-06-06 2021-12-09 엘지전자 주식회사 스케일러빌리티를 위한 서브-비트스트림 추출 기반 영상 코딩 장치 및 방법
WO2021257529A1 (en) * 2020-06-17 2021-12-23 Bytedance Inc. Decoded picture buffer management and subpictures in video coding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140301484A1 (en) * 2013-04-08 2014-10-09 Qualcomm Incorporated Parameter set designs for video coding extensions
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9819941B2 (en) * 2013-10-10 2017-11-14 Qualcomm Incorporated Signaling for sub-decoded picture buffer (sub-DPB) based DPB operations in video coding
WO2015102044A1 (en) 2014-01-02 2015-07-09 Sharp Kabushiki Kaisha Signaling and derivation of decoded picture buffer parameters
JP2015195543A (ja) * 2014-03-26 2015-11-05 シャープ株式会社 画像復号装置、画像符号化装置
WO2015194183A1 (en) * 2014-06-18 2015-12-23 Sharp Kabushiki Kaisha Slice Type and Decoder Conformance
US10250884B2 (en) * 2014-06-20 2019-04-02 Qualcomm Incorporated Systems and methods for signaling information for layer sets in a parameter set
EP3241352B1 (en) * 2014-12-31 2021-11-24 Nokia Technologies Oy Inter-layer prediction for scalable video coding and decoding
US10491912B1 (en) 2018-07-09 2019-11-26 Tencent America LLC Method and apparatus for video coding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140301484A1 (en) * 2013-04-08 2014-10-09 Qualcomm Incorporated Parameter set designs for video coding extensions
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BENJAMIN BROSS等: "Versatile Video Coding (Draft 7)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 》, pages 3 - 7 *
BENJAMIN BROSS等: "Versatile Video Coding (Draft 7)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11》, 17 October 2019 (2019-10-17), pages 3 - 7 *
BENJAMIN BROSS等: "Versatile Video Coding (Draft 8)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 》, pages 3 - 7 *
BENJAMIN BROSS等: "Versatile Video Coding (Draft 8)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11》, 23 January 2020 (2020-01-23), pages 1 - 412 *

Also Published As

Publication number Publication date
AU2020426060A1 (en) 2021-11-11
AU2023202725A1 (en) 2023-05-18
EP4097972A1 (en) 2022-12-07
US11272214B2 (en) 2022-03-08
SG11202111958UA (en) 2021-11-29
US20220159305A1 (en) 2022-05-19
CA3138519A1 (en) 2021-08-05
JP2022526439A (ja) 2022-05-24
AU2020426060B2 (en) 2023-02-02
KR20210137203A (ko) 2021-11-17
US20210235123A1 (en) 2021-07-29
US11729429B2 (en) 2023-08-15
US20230319313A1 (en) 2023-10-05
EP4097972A4 (en) 2023-09-06
WO2021154348A1 (en) 2021-08-05

Similar Documents

Publication Publication Date Title
CN113796080A (zh) 用于以子图片发信号通知输出层集的方法
CN113692744A (zh) 用信号通知具有子图片的输出层集的方法
US11765371B2 (en) Method for adaptation parameter set reference and constraints in coded video stream
CN114223199A (zh) 用于视频编解码的方法和设备
CN113632463B (zh) 视频的解码方法、编码方法、解码设备以及电子设备
CN113950841B (zh) 视频编解码的方法、系统、装置及可读介质
CN113632482B (zh) 视频解码方法、装置、计算机设备和存储介质
CN114586364A (zh) 用于多层视频流中的输出层集模式的方法
CN113678451A (zh) 视频比特流中层间预测的信令
CN113678432A (zh) 视频比特流中具有恒定窗口大小指示的参考图片重采样信令
CN114270819A (zh) 用于用信号通知参考图片重采样和空间可缩放性的组合的技术
CN113678458B (zh) 对已编码视频比特流进行解码的方法
CN114127800A (zh) 已编码视频流中跨层对齐的方法
CN113661707A (zh) 视频比特流中层间预测的信令
CN111953996A (zh) 视频解码的方法和装置
CN114342371A (zh) 用于编码视频流中的子图片的比特流提取技术
CN113099239A (zh) 对视频比特流进行编码的方法、设备和介质
CN112118443B (zh) 视频解码方法、系统、计算机设备以及存储介质
CN113994664A (zh) 具有输出层集的图片输出方法
CN112118454B (zh) 视频解码方法、设备和计算机可读存储介质
CN114514742A (zh) 采用已编码视频流中的子图片进行信号发送的用信号发送虚拟边界的方法
CN113966615A (zh) 基于子层输出层集的推导方法
CN114258682A (zh) 具有参考图片重采样的环绕运动补偿方法
CN113826401B (zh) 视频编码或解码方法、装置以及电子设备
CN113875229B (zh) 视频编解码的方法、装置和电子设备

Legal Events

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

Ref country code: HK

Ref legal event code: DE

Ref document number: 40065716

Country of ref document: HK