CN112118443A - 视频解码方法、系统、计算机设备以及存储介质 - Google Patents

视频解码方法、系统、计算机设备以及存储介质 Download PDF

Info

Publication number
CN112118443A
CN112118443A CN202010563465.3A CN202010563465A CN112118443A CN 112118443 A CN112118443 A CN 112118443A CN 202010563465 A CN202010563465 A CN 202010563465A CN 112118443 A CN112118443 A CN 112118443A
Authority
CN
China
Prior art keywords
picture
sub
pictures
parameter set
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010563465.3A
Other languages
English (en)
Other versions
CN112118443B (zh
Inventor
崔秉斗
刘杉
文格尔史蒂芬
索达加伊拉吉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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
Priority claimed from US16/902,801 external-priority patent/US11483558B2/en
Application filed by Tencent America LLC filed Critical Tencent America LLC
Publication of CN112118443A publication Critical patent/CN112118443A/zh
Application granted granted Critical
Publication of CN112118443B publication Critical patent/CN112118443B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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
    • 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
    • H04N19/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • 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/176Methods 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 block, e.g. a macroblock
    • 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/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/98Adaptive-dynamic-range coding [ADRC]

Landscapes

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

Abstract

本申请实施例提供了视频解码方法、系统、计算机设备以及存储介质。该方法包括:接收已编码视频码流,所述已编码视频码流包括被分区成至少两个子图片的图片,并且进一步包括自适应分辨率变化ARC信息,其中,在所述至少两个子图片中的子图片的头内直接获取所述ARC信息,或者在已编码视频码流的参数集内直接或间接获取所述ARC信息;以及基于所述ARC信息,自适应地改变所述子图片的分辨率。

Description

视频解码方法、系统、计算机设备以及存储介质
相关申请的交叉引用
本申请要求于2019年6月21日提交的第62/865,131号美国临时申请以及于2020年6月16日提交的第16/902,801号美国正式申请的优先权,其公开内容通过引用整体并入本文。
技术领域
本申请的实施例涉及视频编码和解码,并且更具体地,涉及视频解码方法、系统、计算机设备以及存储介质。
背景技术
带有运动补偿的帧间图片预测可被用于视频编码和解码。未压缩的数字视频可以包括一连串的图片,每个图片具有例如1920×1080个亮度样本和相关联的色度样本的空间维度。该一连串的图片可以具有固定的或可变的图片速率(非正式地也被称为帧速率),例如每秒60个图片或60Hz。未压缩的视频具有显著的比特率需求。例如,每样本8比特的1080p60 4:2:0视频(在60Hz帧速率的1920×1080亮度样本分辨率)需要接近于1.5Gbit/s带宽。一小时这样的视频需要超过600千兆的存储空间。
视频编码和解码的一个目的可以是通过压缩减少输入视频信号中的冗余。压缩能够帮助降低上述的带宽或存储空间需求,在某些情况下减少两个数量级或更多。无损压缩和有损压缩,以及这两者的组合都可被采用。无损压缩指的是可从压缩的原始信号重建原始信号的精确副本的技术。当使用有损压缩时,重建的信号可能与原始信号不相同,但是原始信号和重建的信号之间的失真足够小以使重建的信号可用于预定应用。在视频中广泛地采用有损压缩。可被容忍的失真量取决于应用;例如,与电视发行应用的用户相比,某些消费者流媒体应用的用户可以容忍较高的失真。可实现的压缩比可反映出较高容许的/可容忍的失真能够产生较高的压缩比。
视频编码器和解码器能够利用例如包括运动补偿、变换、量化和熵编码的若干大类中的技术,这些技术中的一些将在下文中被介绍。
以前,视频编码器和解码器倾向于对给定的图片大小进行操作,在大多数情况下,该给定的图片大小是为已编码视频序列(CVS)、图片组(GOP)或类似的多图片时间帧定义的并且保持恒定。例如,在MPEG-2中,已知系统设计根据诸如场景的活动性之类的因素仅在I图片处改变水平分辨率(以及由此改变图片大小),因此这通常用于GOP。例如,根据ITU-TRec.H.263附录P,在CVS内使用不同分辨率对参考图片进行重采样是已知的。然而,这里图片大小没有改变,只有参考图片被重采样,可能会导致只有部分图片画布被使用(在下采样的情况下),或者只有部分场景被捕获(在上采样的情况下)。进一步地,H.263附录Q允许对单个宏块向上或向下按两倍(在每个维度上)重采样。同样,图片大小保持相同。宏块的大小在H.263中是固定的,并且因此不需要由信号通知。
在现代视频编码中,预测的图片中的图片大小的改变已成为主流。例如,VP9允许参考图片重采样和改变整个图片的分辨率。类似地,对VVC提出的某些建议(包括例如Hendry等人的“关于VVC的自适应分辨率变化(On adaptive resolution change(ARC)forVVC)”,联合视频小组文件JVET-M0135-v1,2019年1月9日至19日,其整体并入本文中)允许将整个参考图片重采样为不同的(更高的或更低的)分辨率。在该文献中,建议将不同的候选分辨率编码在序列参数集中,并由图片参数集中的每图片语法元素来引用。
近来,将至少两个语义独立的图片部分压缩域聚集或提取为单个视频图片已经引起了一些关注。具体地,在例如360编码或某些监视应用的上下文中,至少两个语义独立的源图片(例如立方体投影的360场景的六个立方体表面,或者在多摄像机监视设置的情况下的各个摄像机输入)可能需要单独的自适应分辨率设置来处理给定时间点处的不同的每场景活动。换句话说,在给定的时间点,编码器可以选择对组成整个360或监视场景的不同的语义独立图片使用不同的重采样因子。当被组合成单个图片时,这又要求执行参考图片重采样,并且自适应分辨率编码信令对于已编码图片的部分是可用的。因此,降低了视频解码的效率。
发明内容
本申请的一些实施例是用于在视频码流中用信号通知自适应图片大小的技术。
本申请实施例提供了一种视频解码方法,包括:
接收已编码视频码流,所述已编码视频码流包括被分区成至少两个子图片的图片,并且进一步包括自适应分辨率变化ARC信息,其中,在所述至少两个子图片中的子图片的头内直接获取所述ARC信息,或者在已编码视频码流的参数集内直接或间接获取所述ARC信息;以及
基于所述ARC信息,自适应地改变所述子图片的分辨率。
本申请实施例提供了一种视频解码系统,包括:
接收模块,用于接收已编码视频码流,所述已编码视频码流包括被分区成至少两个子图片的图片,并且进一步包括自适应分辨率变化ARC信息,其中,在所述至少两个子图片中的子图片的头内直接获取所述ARC信息,或者在已编码视频码流的参数集内直接或间接获取所述ARC信息;以及
自适应分辨率改变模块,用于基于所述ARC信息,自适应地改变所述子图片的分辨率。
本申请实施例提供了一种计算机设备,所述计算机设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有至少一条指令,所述至少一条指令由所述至少一个处理器加载并执行以实现本申请任一实施例所述的方法。
本申请实施例提供了一种存储计算机指令的非暂时性计算机可读介质,所述计算机指令在由至少一个处理器执行时使得所述至少一个处理器执行本申请任一实施例所述的方法。
本申请实施例可以在视频码流中用信号通知自适应图片大小,提高了视频解码的效率。
附图说明
根据以下详细说明和附图,所公开的主题的其它特征、性质和各种优点将更加显而易见,在附图中:
图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-图15B所图示的子图片的相应图片预测结构。
图17图示了根据实施例的被划分为可以用至少一个层编码的至少两个子区域的输入图片的示例。
图18图示了图17所图示的子区域的具有局部区域的空间可缩放性模态的相应层和图片预测结构。
图19A是根据实施例的视频参数集的摘录的示意图。
图19B是根据实施例的序列参数集的摘录的示意图。
图20是根据实施例的子图片布局信息的语法表的示例。
图21是适用于实现实施例的计算机系统的示意图。
具体实施方式
图1是根据本申请公开的实施例的通信系统(100)的简化框图。通信系统(100)可以包括至少两个终端装置(110、120),所述终端装置可通过网络(150)彼此互连。对于数据的单向传输,第一终端装置(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)定制可能不同的码流。在实施例中,可以在流式传输系统(200)中与流式传输服务器(205)分开地提供MANE。
流式传输客户端(206)可包括视频解码器(210)和显示器(212)。视频解码器(210)可以例如对视频码流(209)进行解码(该视频码流(209)是已编码的视频码流(204)的传入副本),并且产生可在显示器(212)或另一呈现装置(未描绘)上呈现的输出视频样本流(211)。在一些流式传输系统中,可根据某些视频编码/压缩标准对视频码流(204、209)进行编码。该些标准的实施例包括但不限于ITU-T H.265。正在开发的视频编码标准非正式地称为下一代视频编码(Versatile Video Coding,VVC),本申请的实施例可被用于VVC标准的上下文中。
图3图示了根据本申请的实施例的附接到显示器(212)的视频解码器(210)的功能框图的示例。
视频解码器(210)可以包括信道(312)、接收器(310)、缓冲存储器(315)、熵解码器/解析器(320)、缩放器/逆变换单元(351)、帧内预测单元(352)、运动补偿预测单元(353)、聚合器(355)、环路滤波器单元(356)、参考图片存储器(357)和当前图片存储器(358)。在至少一个实施例中,视频解码器(210)可以包括集成电路、一系列集成电路和/或其它电子电路。视频解码器(210)也可以部分地或全部地体现在运行在具有关联的存储器的至少一个CPU上的软件中。
在该实施例中,接收器(310)可接收将由解码器(210)解码的至少一个已编码视频序列;一次接收一个已编码视频序列,其中每个已编码视频序列的解码独立于其它已编码视频序列。可从信道(312)接收已编码视频序列,所述信道可以是通向存储已编码的视频数据的存储装置的硬件/软件链路。接收器(310)可接收已编码的视频数据以及其它数据,例如,可转发到它们各自的使用实体(未标示)的已编码音频数据和/或辅助数据流。接收器(310)可将已编码视频序列与其它数据分开。为了防止网络抖动,缓冲存储器(315)可耦接在接收器(310)与熵解码器/解析器(320)(此后称为“解析器”)之间。当接收器(310)从具有足够带宽和可控性的存储/转发装置或从等时网络接收数据时,也可能不需要配置缓冲存储器(315),或可以将所述缓冲存储器做得较小。当然,为了在互联网等业务分组网络上使用,也可能需要缓冲存储器(315),所述缓冲存储器可相对较大且可具有自适应性大小。
视频解码器(210)可包括解析器(320)以根据熵编码的视频序列重建符号(321)。这些符号的类别包括例如用于管理解码器(210)的操作的信息,以及用于控制诸如显示器(212)的显示装置的潜在信息,所述显示装置可被耦接到图2中所示的解码器。用于显示装置的控制信息可以例如是辅助增强信息(Supplemental Enhancement Information,SEI)消息或视频可用性信息(Video Usability Information,VUI)参数集片段(未标示)。解析器(320)可对接收到的已编码视频序列进行解析/熵解码。已编码视频序列的编码可根据视频编码技术或标准进行,且可遵循本领域技术人员公知的原理,包括可变长度编码、霍夫曼编码(Huffman coding)、具有或不具有上下文灵敏度的算术编码等等。解析器(320)可基于对应于群组的至少一个参数,从已编码视频序列提取用于视频解码器中的像素的子群中的至少一个子群的子群参数集。子群可包括图片群组(Group of Pictures,GOP)、图片、图块、条带、宏块、编码单元(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)的输出(在这种情况下被称作残差样本或残差信号),从而生成输出样本信息。运动补偿预测单元(353)从参考图片存储器(357)内的地址获取预测样本可受到运动矢量的控制。所述运动矢量以所述符号(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)用以对数据进行适当解码和/或较准确地重建原始视频数据。附加数据可呈例如时间、空间或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 CrCb4:2:0、Y CrCb 4:4:4)。在媒体服务系统中,视频源(201)可以是存储先前已准备的视频的存储装置。在视频会议系统中,视频源(201)可以是采集本地图像信息作为视频序列的相机。可将视频数据提供为至少两个单独的图片,当按顺序观看时,这些图片被赋予运动。图片自身可构建为空间像素阵列,其中取决于所用的取样结构、色彩空间等,每个像素可包括至少一个样本。所属领域的技术人员可以很容易理解像素与样本之间的关系。下文侧重于描述样本。
根据实施例,编码器(203)可实时或在由应用所要求的任何其它时间约束下,将源视频序列的图片编码且压缩成已编码视频序列(443)。施行适当的编码速度是控制器(450)的一个功能。控制器(450)还可以控制如下文所描述的其它功能单元并且可在功能上耦接到这些单元。为了简洁起见,图中未标示耦接。由控制器(450)设置的参数可包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值等)、图片大小、图片群组(group ofpictures,GOP)布局,最大运动矢量搜索范围等。本领域技术人员可以容易地识别控制器(450)的其它功能,因为这些功能可以涉及针对某一系统设计优化的视频编码器(203)。
一些视频编码器以本领域技术人员容易理解为“编码环路”的方式进行操作。作为简单的描述,编码环路可包括源编码器(430)(负责基于待编码的输入图片和参考图片创建符号)的编码部分和嵌入于编码器(203)中的(本地)解码器(433)。当在特定的视频压缩技术中,符号与已编码视频码流之间的压缩是无损的情况下,解码器(433)以类似于(远程)解码器创建样本数据的方式重建符号以创建样本数据。可将重建的样本流(样本数据)输入到参考图片存储器(434)。由于符号流的解码产生与解码器位置(本地或远程)无关的位精确结果,因此参考图片存储器内容在本地编码器与远程编码器之间也是按比特位精确对应的。换句话说,编码器的预测部分“看到”的参考图片样本与解码器将在解码期间使用预测时所“看到”的样本值完全相同。这种参考图片同步性基本原理(以及在例如因信道误差而无法维持同步性的情况下产生的漂移)对于本领域技术人员来说是公知的。
“本地”解码器(433)的操作可与例如已在上文结合图3详细描述视频解码器(210)的“远程”解码器相同。然而,当符号可用且熵编码器(445)和解析器(320)能够无损地将符号编码/解码为已编码视频序列时,包括信道(312)、接收器(310)、缓冲存储器(315)和解析器(320)在内的解码器(210)的熵解码部分,可能无法完全在本地解码器(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至图6C,示出了用于发信号通知ARC参数的几个新颖的示例实施例。如每个实施例所指出的,从编码效率、复杂度和体系结构的观点来看,它们具有某些优点。视频编码标准或技术可以实现这些实施例中的至少一个,并且还可以包括从比较技术中已知的用于发信号通知ARC参数的实施例。比较技术实施例包括图5A至图5B所示的示例。这些新颖的实施例可以不是相互排斥的,并且可以想到可以被包括在也包括比较技术实施例的标准或技术中,使得可以基于应用需要、所涉及的标准技术或编码器的选择来使用任一个实施例。
ARC参数的类别可以包括:(1)在X和Y维度上分离或组合的上采样/下采样因子,或(2)加上时间维度的指示对于给定数量的图片的恒速放大/缩小的上采样/下采样因子。以上两者中的任一者可以涉及可指向含有所述因子的表的至少一个语法元素的编码或解码。在实施例中,此类语法元素的长度可能较短。
—“分辨率”可以指以输入图片、输出图片、参考图片、已编码图片的样本、块、宏块、CU或任何其它合适的粒度为单位的组合的或分离的X或Y维度中的分辨率。如果存在多于一个分辨率(例如,一个用于输入图片,一个用于参考图片),则在某些情况下,可以从另一组值推断出一组值。分辨率可以例如通过使用标志来选通。分辨率的更详细的示例请参阅下文。
—“翘曲”坐标类似于在H.263附录P中使用的坐标,同样用如上所述的适当粒度。H.263附录P定义了一种对这种翘曲坐标进行编码的有效方式,但是也可以设想出其它可能更有效的方式。例如,附录P的翘曲坐标的可变长度可逆的“霍夫曼”风格编码可以用适当长度的二进制编码来代替,其中,二进制码字的长度可以例如从最大图片大小导出,可能乘以某个因子并偏移某个值,以便允许在最大图片大小的边界之外的“翘曲”。
—参考上采样滤波器参数或下采样滤波器参数,在最简单的情况下,可以只有单个滤波器用于上采样和/或下采样。然而,在某些情况下,在滤波器设计中允许更大的灵活性可能是有利的,这可以通过用信号通知滤波器参数来实现。可以通过可能的滤波器设计的列表中的索引来选择此类参数,可以完全指定滤波器(例如使用适当的熵编码技术通过滤波器系数的列表),和/或可以通过上采样/下采样比例来隐含地选择滤波器,根据上述机制中的任何机制来用信号通知所述上采样/下采样比例,等等。
此后,本说明书假设通过码字指示的上/下采样因子(将在X和Y两个维度中使用的相同的因子)的有限集合的编码的示例情况。该码字可以有利地通过例如使用视频编码规范(例如H.264和H.265)中的某些语法元素所共有的Ext-Golomb编码进行可变长度编码。值到上/下采样因子的一个合适的映射可以例如根据下表1所示。
表1
Figure BDA0002546882640000161
Figure BDA0002546882640000171
可以根据应用的需要以及视频压缩技术或标准中可用的放大和缩小机制的能力来设计许多类似的映射。该表可以扩展到更多的值。值还可以由除Ext-Golomb编码以外的熵编码机制(例如,使用二进制编码)来表示。当重采样因子在视频处理引擎(最重要的是编码器和解码器)本身之外(例如通过MANE)受到关注时,该熵编码机制可能具有一定的优势。应当注意,对于(大概)最常见的不需要分辨率变化的情况,可以选择简短的Ext-Golomb编码(例如,如表1的第二行中所示的仅单个比特),其对于最常见的情况可以具有优于使用二进制码的编码效率优势。
表中条目的数量及其语义可以是完全或部分可配置的。例如,表的基本轮廓可以在诸如序列或解码器参数集的“高”参数集中被传送。可替换地或另外,至少一个此类表可以在视频编码技术或标准中定义,并且可以通过例如解码器或序列参数集来选择。
下面描述如上所述编码的上采样因子/下采样因子(ARC信息)如何被包括在视频编码技术或标准语法中。类似的考虑可应用于控制上采样滤波器/下采样滤波器的一个或几个码字。下面还提供了关于滤波器或其它数据结构何时需要相对大量的数据的描述。
参考图5A,H.263附录P在图片头(501)内(具体地,在H.263 PLUSPTYPE(503)头扩展中)以四个翘曲坐标的形式包括ARC信息(502)。当(a)存在可用的图片头并且(b)期望ARC信息频繁改变时,此类设计可以是合理的。然而,当使用H.263型信令时的开销可能相当高,并且由于图片头可能具有瞬时性质,因此缩放因子可能与图片边界不相关。
参考图5B,包括位于图片参数集(504)中的ARC参考信息(505)(索引),其对包括目标分辨率的表(506)进行索引,该表位于序列参数集(507)内。通过在能力交换期间使用SPS(507)作为互操作性协商点可证明在序列参数集(507)中的表(506)中布置了可能的分辨率。通过参考适当的图片参数集(504),分辨率可以在由表(506)中的值设置的限制内随图片变化。
参考图6A至图6C,本申请的以下实施例可以将视频码流中的ARC信息传送到例如本申请的解码器。这些实施例中的每一个都具有优于上述的比较技术的某些优点。这些实施例可以同时存在于相同的视频编码技术或标准中。
在参考图6A的实施例中,诸如重采样(缩放)因子的ARC信息(509)可以存在于诸如条带头、块组GOB(group of block)头、图块头或图块组头的头(508)中。作为示例,图6A将头(508)图示为图块组头。如果ARC信息很小,例如单个可变长度ue(v)或几个比特的固定长度码字,如表1所示,则这种配置是足够的。将ARC信息直接放在图块组头中具有额外的优点,即ARC信息可以应用于由例如对应于图块组头的图块组所表示的子图片,而不是整个图片。另外,即使视频压缩技术或标准仅使用整个图片自适应分辨率变化(与例如基于图块组的自适应分辨率变化相反),从差错复原的观点来看,将ARC信息放入图块组头(例如放入H.263型图片头)具有某些优点。虽然以上描述了存在于图块组头中的ARC信息(509),但是应当理解,以上描述也可以类似地应用于ARC信息(509)存在于例如条带头、GOB头或图块头中的情况。
在参考图6B的同一或另一个实施例中,ARC信息(512)本身可以存在于适当的参数集(511)中,例如图片参数集、头参数集、图块参数集、自适应参数集等等。作为示例,图6B将参数集(511)图示为自适应参数集(APS)。该参数集的范围可以有利地不大于图片。例如,该参数集的范围可以是图块组。ARC信息(512)的使用可以通过激活相关参数集而隐含。例如,当视频编码技术或标准只考虑基于图片的ARC时,则图片参数集或等同参数集可以适合作为相关参数集。
在参考图6C的同一或另一实施例中,ARC参考信息(513)可以存在于图块组头(514)或类似的数据结构中。该ARC参考信息(513)可以指在范围超出单个图片的参数集(516)中可用的ARC信息(515)的子集。例如,参数集(516)可以是序列参数集(SPS)或解码器参数集(DPS)。
对来自图块组头、PPS或SPS的PPS的间接隐含的激活的附加级别可以是不必要的,因为图片参数集,正如序列参数集一样,可以被用于能力协商或通告。然而,如果ARC信息应当适用于也由例如图块组表示的子图片,则具有限于图块组的激活范围的参数集(例如,自适应参数集或头参数集)可能是更好的选择。而且,如果ARC信息的大小可以忽略不计——例如包含诸如至少两个滤波器系数的滤波器控制信息——则从编码效率的角度来看,与直接使用头相比,参数集可能是更好的选择,因为那些设置可以通过参考相同的参数集由将来的图片或子图片复用。
当使用具有跨至少两个图片的范围的序列参数集或另一更高的参数集时,可能需要考虑以下几点:
(1)用于在表中存储ARC信息(515)的参数集(516)在一些情况下可以是序列参数集,但是在其它情况下,解码器参数集可能更有利。解码器参数集可以具有至少两个CVS的激活范围,即已编码视频流,也就是说,从会话开始直到会话断开的所有已编码视频比特。这样的范围可能是更合适的,因为可能的ARC因子可以是可能由硬件实现的解码器特征,并且硬件特征倾向于不随任何CVS(其在至少一些娱乐系统中是长度为一秒或更短的图片组)而改变。然而,一些实施例可以在本文描述的尤其是结合下面的点(2)的序列参数集中包括ARC信息表。
(2)ARC参考信息(513)可以有利地被直接放置在头(514)中(例如,图片头/条带头/图块头/GOB头/图块组头;下文为图块组头),而不是像在JVCET-M0135-v1中那样被放置在图片参数集中。原因如下:当编码器想要改变图片参数集中的单个值时,例如ARC参考信息,则编码器可能必须创建新的PPS并参考该新的PPS。在仅ARC参考信息改变的情况下,但是诸如PPS中的量化矩阵信息的其它信息保留,此类信息可能很大,并且需要被重新发送以使新的PPS完整。由于ARC参考信息可以是单个码字(例如ARC信息表中的索引),其将是变化的唯一值,因此重新发送例如所有的量化矩阵信息将是麻烦且浪费的。因此,从编码效率的角度来看,将ARC参考信息直接放置到头(例如,头(514))中可能会更好,因为可以避免如在标准提案JVET-M0135-v1中所建议的通过PPS的间接存取。而且,将ARC参考信息放入PPS具有附加的缺点,即由于图片参数集激活的范围是图片,因此由ARC参考信息参考的ARC信息必须应用于整个图片而不是子图片。
在同一或另一实施例中,ARC参数的信令可以遵循图7A至图7B中概述的详细示例。图7A至图7B描述了语法图。此类语法图的表示方法大致遵循C风格的编程。粗体线表示码流中存在的语法元素,而没有加粗的线通常表示控制流或变量的设置。
作为可应用于图片的(可能是矩形的)部分的头的示例语法结构,图块组头(600)可以有条件地包含可变长度的Exp-Golomb编码的语法元素dec_pic_size_idx(602)(以粗体示出)。可使用自适应分辨率(603)来选通图块组头(600)中的此语法元素的存在。这里,未用粗体描绘自适应分辨率标志的值,这意味着该标志在码流中展示的位置是其在语法表中出现的位置。可以以码流内部或外部的任何高级语法结构来发信号通知自适应分辨率是否用于该图片或其部分。在图7A-7B中示出的示例中,在如下所述的序列参数集(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”可以指该语法元素的值的解释。例如,如果语法元素的已编码值为零,则存在一个表条目。如果已编码值为五,则存在六个表条目。对于表中的每个“行”,已解码图片的宽度和高度则被包括在作为表条目(617)的语法中。
所呈现的表条目(617)可以使用图块组头(600)中的语法元素dec_pic_size_idx(602)来索引,从而允许不同的每图块组已解码大小(实际上,是缩放因子)。
某些视频编码技术或标准(例如VP9)通过结合时间可缩放性实施某些形式的参考图片重采样(其可以以与本申请实施例完全不同的方式用信号通知)来支持空间可缩放性,以便实现空间可缩放性。具体地,可以使用ARC风格的技术将某些参考图片上采样到更高的分辨率,以形成空间增强层的基础。这些上采样的图片可以使用高分辨率的正常预测机制来细化,以添加细节。
本申请的实施例可以用于这种环境。在某些情况下,在相同或另一实施例中,NAL单元头中的值(例如,Temporal ID字段)可被用于不仅指示时间层还指示空间层。这样做对于某些系统设计具有某些优点;例如,基于NAL单元头Temporal ID值为时间层选定转发而创建和优化的现有的选定转发单元(SFU)在没有修改的情况下可被用于可缩放环境。为了实现这一点,本申请的实施例可以包括已编码图片大小和将由NAL单元头中的temporal ID字段指示的时间层之间的映射。
在一些视频编码技术中,存取单元(AU)可以指在给定时间点被捕获并被组成相应的图片/条带/图块/NAL单元码流的已编码图片、条带、图块、NAL单元等。此类时间点可以是合成时间。
在HEVC和某些其它视频编码技术中,图片序列号(POC)值可被用于指示存储在已解码图片缓冲器(DPB)中的至少两个参考图片中的所选参考图片。当存取单元(AU)包括至少一个图片、条带或图块时,属于相同AU的每个图片、条带或图块可以携带相同的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)值。
在同一实施例中,每AU的POC周期的值(例如,语法元素poc_cycle_au)可以在高级语法结构(例如,NAL单元头、条带头、图块组头、SEI消息、参数集或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相关联。因此,AUC的值可以由本申请的实施例通过将POC值除以poc_cycle_au的值来推断。
在同一或另一实施例中,poc_cycle_au的值可以从例如位于视频参数集(VPS)中的标识已编码视频序列中的空间或SNR层的数量的信息中推导出。下面简要描述此类可能的关系。虽然如上所述的推导可以在VPS中节省几个比特,并且因此可以提高编码效率,但是以分层地低于视频参数集的适当高级语法结构来显式地对poc_cycle_au进行编码可能是有利的,从而能够针对码流的给定小部分(例如图片)来最小化poc_cycle_au。由于POC值(和/或间接引用POC的语法元素的值)可以用低级语法结构进行编码,因此与通过上述推导过程所节省的比特相比,这种优化可以节省更多的比特。
在同一或另一实施例中,图9A图示了用于发信号通知VPS(630)或SPS中的vps_poc_cycle_au(632)的语法元素的语法表的示例,其指示了用于已编码视频序列中的所有图片/条带的poc_cycle_au,并且图9B图示了用于发信号通知slice_poc_cycle_au(642)的语法元素的语法表的示例,其指示了条带头(640)中的当前条带的poc_cycle_au。如果POC值每AU均匀地增加,则将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值。如果POC值没有每AU均匀地增加,则将在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中的图片、条带或图块上没有任何帧间解析/解码依赖性的情况下,与相同的AU相关联的图片、条带或图块的全部或子集可以被并行解码,并且可以在相同时间点被输出。
在同一或其它实施例中,即使图片、条带或图块的POC的值可以不同,对应于具有相同AUC值的AU的图片、条带或图块也可以与相同的合成/显示时间点相关联。当合成时间被包含在容器格式中时,即使图片对应于不同的AU,如果图片具有相同的合成时间,也可以在相同的时间点显示图片。
在同一或其它实施例中,每个图片、条带或图块可以在相同的AU中具有相同的时间标识符(时间ID)(例如,语法元素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、TID0和LID 1的B-条带(686)。
在上述实施例中,可以通过使用HEVC中的现有参考图片集(RPS)信令或参考图片列表(RPL)信令来支持图片间或层间预测结构和参考图片指示的全部或子集。在RPS或RPL中,通过发信号通知POC的值或当前图片和所选参考图片之间的POC的Δ值来指示所选的参考图片。在本申请的实施例中,RPS和RPL可以被用于指示图片间或层间预测结构而不改变信令,但是具有以下限制。如果参考图片的temporal_id的值大于当前图片的temporal_id的值,则当前图片可以不使用参考图片进行运动补偿或其它预测。如果参考图片的layer_id的值大于当前图片的layer_id的值,则当前图片可以不使用参考图片进行运动补偿或其它预测。
在同一和其它实施例中,可以在存取单元内的至少两个图片上禁用基于用于时间运动矢量预测的POC差异的运动矢量缩放。因此,虽然每个图片在存取单元内可以具有不同的POC值,但是运动矢量可以不被缩放并且不被用于存取单元内的时间运动矢量预测,因为在相同AU中具有不同POC的参考图片可以被认为是具有相同时间点的参考图片。因此,在该实施例中,当参考图片属于与当前图片相关联的AU时,运动矢量缩放函数可以返回1。
在同一和其它实施例中,当参考图片的空间分辨率不同于当前图片的空间分辨率时,可以可选地在至少两个图片上禁用基于用于时间运动矢量预测的POC差异的运动矢量缩放。当允许运动矢量缩放时,可以基于POC差异和当前图片与参考图片之间的空间分辨率比值两者来缩放运动矢量。
在同一或另一实施例中,可基于AUC差异而不是POC差异来缩放运动矢量以用于时间运动矢量预测,尤其是当poc_cycle_au具有非均匀值时(当vps_contant_poc_cycle_per_au==0时)。否则(当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,则重采样等于下采样。
在同一或另一实施例中,层中的已编码子图片可以具有与相同子图片或不同子图片中的另一层中的已编码子图片不同的视觉质量。例如,用量化参数Qi,n对层n中的子图片i进行编码,而用量化参数Qj,m对层m中的子图片j进行编码。
在同一或另一实施例中,层中的已编码子图片可以是可独立解码的,而不需要来自相同局部区域的另一层中的已编码子图片的任何解析或解码依赖性。可被独立解码而不参考相同局部区域的另一子图片层的子图片层是独立子图片层。独立子图片层中的已编码子图片可以具有或可以不具有来自相同子图片层中的先前已编码子图片的解码或解析依赖性,但是已编码子图片可以不具有来自另一子图片层中的已编码图片的任何依赖性。
在同一或另一实施例中,层中的已编码子图片可以是可依赖解码的,具有来自相同局部区域的另一层中的已编码子图片的任何解析或解码依赖性。可通过参考相同局部区域的另一子图片层而可依赖解码的子图片层是依赖性子图片层。依赖性子图片中的已编码子图片可以参考属于相同子图片的已编码子图片、相同子图片层中的先前已编码子图片、或者参考子图片两者。
在同一或另一实施例中,已编码子图片可以包括至少一个独立子图片层和至少一个依赖性子图片层。然而,对于已编码子图片,可以存在至少一个独立子图片层。独立子图片层可以具有存在于NAL单元头或另一高级语法结构中的等于0的层标识符(例如,语法元素layer_id)的值。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层可具有与另一CSPS层不同的时间分辨率(例如,帧速率)。原始(未压缩的)子图片序列可以在时间上被重采样(上采样或下采样)、用不同的时间分辨率参数进行编码、并且被包含在对应于层的码流中。
在同一或另一个实施例中,具有帧速率F的子图片序列可以被编码并且被包含在对应于层0的已编码码流中,而来自具有F*St,k的原始子图片序列的时间上采样(或下采样)的子图片序列可以被编码并且被包含在对应于层k的已编码码流中,其中St,k指示层k的时间采样比值。如果St,k的值大于1,则时间重采样过程等于帧速率上转换。然而,如果St,k的值小于1,则时间重采样过程等于帧速率下转换。
在同一或另一实施例中,当具有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)进行解码。当当前视口与所选的子图片(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-15B和图16的扩展情况。当输入图片被划分成至少两个(例如,四个)子区域时,每个局部区域可以用至少一个层进行编码。在这种情况下,独立层的数量可以等于子区域的数量,并且至少一个层可以对应于子区域。因此,每个子区域可以用至少一个独立层以及零个或至少两个依赖性层进行编码。
在同一实施例中,参考图17,输入图片可以被划分为四个子区域,包括左上子区域(762)、右上子区域(763)、左下子区域(764)和右下子区域(765)。右上子区域(763)可以被编码为两个层,即层1和层4,而右下子区域(765)可以被编码为两个层,即层3和层5。在这种情况下,层4可以参考层1以进行运动补偿预测,而层5可以参考层3以进行运动补偿。
在同一或另一实施例中,可以(可选地)禁止跨层边界的环路内滤波(例如解块滤波、自适应环路内滤波、整形器、双边滤波或任何基于深度学习的滤波)。
在同一或另一实施例中,可以(可选地)禁止跨层边界的运动补偿预测或块内复制。
在同一或另一实施例中,可以可选地处理用于运动补偿预测的边界填充或子图片的边界处的环路内滤波。可在诸如参数集(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的已编码视频序列中的输入图片可以不被划分为至少两个子区域。在这种情况下,输入图片大小可以等于在SPS(680)中用信号通知的已编码图片大小(pic_width_in_luma_samples(786),pic_height_in_luma_samples(788))。当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个子区域的宽度和高度。
本申请实施例提供了一种视频解码方法,包括:
接收已编码视频码流,所述已编码视频码流包括被分区成至少两个子图片的图片,并且进一步包括自适应分辨率变化ARC信息,其中,在所述至少两个子图片中的子图片的头内直接获取所述ARC信息,或者在已编码视频码流的参数集内直接或间接获取所述ARC信息;以及
基于所述ARC信息,自适应地改变所述子图片的分辨率。
在本申请实施例中,每个所述子图片包括至少两个第一层或子层,所述第一层或子层的质量或分辨率与所述至少两个子图片中的其它子图片不同。
在本申请实施例中,从所述已编码视频码流中提取所述至少两个子图片中的每个子图片以及与每个子图片相关联的第一层,并对所述每个子图片以及与每个子图片相关联的第一层进行独立解码。
在本申请实施例中,所接收的已编码视频码流包括所述图片的至少两个第二层,并且所述至少两个第二层中的每个层包括不同数量的子图片或不同的子图片分区布局。
在本申请实施例中,所述第二层中的一个层的每个子图片与所述第二层中的另一层的至少一个子图片具有依赖性,以用于解码。
本申请实施例提供了一种视频解码系统,包括:
接收模块,用于接收已编码视频码流,所述已编码视频码流包括被分区成至少两个子图片的图片,并且进一步包括自适应分辨率变化ARC信息,其中,在所述至少两个子图片中的子图片的头内直接获取所述ARC信息,或者在已编码视频码流的参数集内直接或间接获取所述ARC信息;以及
自适应分辨率改变模块,用于基于所述ARC信息,自适应地改变所述子图片的分辨率。
本申请实施例提供了一种计算机设备,所述计算机设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有至少一条指令,所述至少一条指令由所述至少一个处理器加载并执行以实现本申请任一实施例所述的方法。
本申请实施例提供了一种存储计算机指令的非暂时性计算机可读介质,所述计算机指令在由至少一个处理器执行时使得所述至少一个处理器执行本申请任一实施例所述的方法。
上述用于用信号通知自适应分辨率参数的技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在至少一个计算机可读介质中。例如,图21示出了适于实现所公开主题的实施例的计算机系统(900)。
所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或通过译码、微代码等方式执行。
所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
图21所示的用于计算机系统(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)、随机存取存储器(946)、内部大容量存储器(例如内部非用户可存取硬盘驱动器、SSD等)(947)等可通过系统总线(948)进行连接。在某些计算机系统中,可以以至少一个物理插头的形式访问系统总线(948),以便通过额外的CPU、GPU等进行扩展。外围装置可直接附接到内核的系统总线(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 (16)

1.一种视频解码方法,其特征在于,所述方法包括:
接收已编码视频码流,所述已编码视频码流包括被分区成至少两个子图片的图片,并且进一步包括自适应分辨率变化ARC信息,其中,在所述至少两个子图片中的子图片的头内直接获取所述ARC信息,或者在已编码视频码流的参数集内直接或间接获取所述ARC信息;以及
基于所述ARC信息,自适应地改变所述子图片的分辨率。
2.根据权利要求1所述的方法,其特征在于,所述在所述子图片的头内直接获取所述ARC信息,包括:
在所述子图片的所述头内直接用信号通知所述ARC信息;以及
解码所述ARC信息。
3.根据权利要求2所述的方法,其特征在于,所述子图片的所述头是条带头、块组GOB头、图块头或图块组头。
4.根据权利要求1所述的方法,其特征在于,所述在参数集内直接或间接获取所述ARC信息包括:
在所述参数集内直接用信号通知所述ARC信息,而无需在任何头或其它参数集中参考所述参数集内的任何所述ARC信息;以及
直接解码所述ARC信息;
或者
在所述参数集内提供所述ARC信息,并且在所述头中参考所述ARC信息。
5.根据权利要求4所述的方法,其特征在于,所述参数集是图片参数集、头参数集、图块参数集或自适应参数集。
6.根据权利要求4所述的方法,其特征在于,所述参数集的范围等于或小于所述图片。
7.根据权利要求1所述的方法,其特征在于,每个所述子图片包括至少两个第一层或子层,所述第一层或子层的质量或分辨率与所述至少两个子图片中的其它子图片不同。
8.根据权利要求1所述的方法,其特征在于,还包括:
从所述已编码视频码流中提取所述至少两个子图片中的每个子图片以及与每个子图片相关联的第一层,并对所述每个子图片以及与每个子图片相关联的第一层进行独立解码。
9.根据权利要求1所述的方法,其特征在于,所接收的已编码视频码流包括所述图片的至少两个第二层,并且所述至少两个第二层中的每个层包括不同数量的子图片或不同的子图片分区布局。
10.根据权利要求9所述的方法,其特征在于,所述第二层中的一个层的每个子图片与所述第二层中的另一层的至少一个子图片具有依赖性,以用于解码。
11.根据权利要求1所述的方法,其特征在于,所述参数集的范围大于所述图片,其中,所述参数集的范围超出单个图片。
12.根据权利要求11所述的方法,其特征在于,所述参数集是序列参数集SPS或解码器参数集DPS。
13.根据权利要求1所述的方法,其特征在于,
所接收的已编码视频码流进一步包括所述子图片的所述头内的ARC参考信息,所述ARC参考信息参考所述参数集内的所述ARC信息;
所述基于所述ARC信息,自适应地改变所述子图片的分辨率,包括:
基于所述ARC参考信息,通过使用所述ARC信息执行自适应地改变所述子图片的所述分辨率。
14.一种视频解码系统,其特征在于,所述系统包括:
接收模块,用于接收已编码视频码流,所述已编码视频码流包括被分区成至少两个子图片的图片,并且进一步包括自适应分辨率变化ARC信息,其中,在所述至少两个子图片中的子图片的头内直接获取所述ARC信息,或者在已编码视频码流的参数集内直接或间接获取所述ARC信息;以及
自适应分辨率改变模块,用于基于所述ARC信息,自适应地改变所述子图片的分辨率。
15.一种计算机设备,其特征在于,所述计算机设备包括至少一个处理器和至少一个存储器,所述至少一个存储器中存储有至少一条指令,所述至少一条指令由所述至少一个处理器加载并执行以实现如权利要求1至13中的任一项所述的方法。
16.一种存储计算机指令的非暂时性计算机可读介质,其特征在于,所述计算机指令在由至少一个处理器执行时使得所述至少一个处理器执行如权利要求1至13中的任一项所述的方法。
CN202010563465.3A 2019-06-21 2020-06-19 视频解码方法、系统、计算机设备以及存储介质 Active CN112118443B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962865131P 2019-06-21 2019-06-21
US62/865,131 2019-06-21
US16/902,801 2020-06-16
US16/902,801 US11483558B2 (en) 2019-06-21 2020-06-16 Method for region-wise scalability with adaptive resolution change

Publications (2)

Publication Number Publication Date
CN112118443A true CN112118443A (zh) 2020-12-22
CN112118443B CN112118443B (zh) 2022-04-26

Family

ID=73799520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010563465.3A Active CN112118443B (zh) 2019-06-21 2020-06-19 视频解码方法、系统、计算机设备以及存储介质

Country Status (2)

Country Link
US (1) US20230013085A1 (zh)
CN (1) CN112118443B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022199469A1 (en) * 2021-03-26 2022-09-29 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116416483A (zh) * 2021-12-31 2023-07-11 戴尔产品有限公司 计算机实现的方法、设备和计算机程序产品

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027567A (zh) * 2013-01-07 2015-11-04 诺基亚技术有限公司 用于视频编码和解码的方法和装置
CN107431819A (zh) * 2014-12-31 2017-12-01 诺基亚技术有限公司 用于可伸缩视频编码和解码的层间预测
CN108076351A (zh) * 2016-11-16 2018-05-25 杭州海康威视数字技术股份有限公司 一种音视频数据编码方法、装置及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027567A (zh) * 2013-01-07 2015-11-04 诺基亚技术有限公司 用于视频编码和解码的方法和装置
CN107431819A (zh) * 2014-12-31 2017-12-01 诺基亚技术有限公司 用于可伸缩视频编码和解码的层间预测
CN108076351A (zh) * 2016-11-16 2018-05-25 杭州海康威视数字技术股份有限公司 一种音视频数据编码方法、装置及电子设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MISKA M. HANNUKSELA等: "AHG19: On adaptive resolution changing", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11,JVET-N0048》 *
STEPHAN WENGER等: "[AHG19] On Signaling of Adaptive Resolution Change", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11,JVET-N0052》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022199469A1 (en) * 2021-03-26 2022-09-29 Beijing Bytedance Network Technology Co., Ltd. Method, device, and medium for video processing

Also Published As

Publication number Publication date
US20230013085A1 (en) 2023-01-19
CN112118443B (zh) 2022-04-26

Similar Documents

Publication Publication Date Title
CN113796080A (zh) 用于以子图片发信号通知输出层集的方法
US11356681B2 (en) Coded video sub-bitstream extraction
US11483558B2 (en) Method for region-wise scalability with adaptive resolution change
CN113692744A (zh) 用信号通知具有子图片的输出层集的方法
US11765371B2 (en) Method for adaptation parameter set reference and constraints in coded video stream
CN114223199A (zh) 用于视频编解码的方法和设备
CN114586364A (zh) 用于多层视频流中的输出层集模式的方法
CN113632463A (zh) 用视频码流中的偏移对参考图片进行重采样的方法
CN114270819A (zh) 用于用信号通知参考图片重采样和空间可缩放性的组合的技术
US20230013085A1 (en) Region-wise scalability with adaptive resolution change
CN111953996A (zh) 视频解码的方法和装置
CN114127800A (zh) 已编码视频流中跨层对齐的方法
CN113950841A (zh) 用于多层视频码流的输出层集合的方法
US20240080467A1 (en) Method for parameter set reference in coded video stream
CN112118454B (zh) 视频解码方法、设备和计算机可读存储介质
CN114342371A (zh) 用于编码视频流中的子图片的比特流提取技术
CN113994664A (zh) 具有输出层集的图片输出方法
CN113826401B (zh) 视频编码或解码方法、装置以及电子设备
US11381841B2 (en) Method for signaling subpicture identifier in tiled video stream
CN113966615A (zh) 基于子层输出层集的推导方法
CN114514742A (zh) 采用已编码视频流中的子图片进行信号发送的用信号发送虚拟边界的方法
CN114041289A (zh) 用于指示多层视频流中的子层数目的方法
CN112118453A (zh) 视频解码方法和设备、计算机设备以及存储介质
CN113055668B (zh) 从已编码视频比特流中提取子比特流的方法和设备
CN113940080A (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: 40035354

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant