CN115086671A - 资源受约束的视频编码 - Google Patents

资源受约束的视频编码 Download PDF

Info

Publication number
CN115086671A
CN115086671A CN202210219216.1A CN202210219216A CN115086671A CN 115086671 A CN115086671 A CN 115086671A CN 202210219216 A CN202210219216 A CN 202210219216A CN 115086671 A CN115086671 A CN 115086671A
Authority
CN
China
Prior art keywords
video
codestream
unit
prediction
current 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.)
Pending
Application number
CN202210219216.1A
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.)
Lemon Inc Cayman Island
Original Assignee
Lemon Inc Cayman Island
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 Lemon Inc Cayman Island filed Critical Lemon Inc Cayman Island
Publication of CN115086671A publication Critical patent/CN115086671A/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/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/186Methods 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 a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/117Filters, e.g. for pre-processing or post-processing
    • 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/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/146Data rate or code amount at the encoder output
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/86Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving reduction of coding artifacts, e.g. of blockiness
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

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

Abstract

本公开的各实施例涉及资源受约束的视频编码。示例实现包括用于视频处理的方法,该方法包括根据规则在视频的当前视频单元和视频的码流之间执行转换,其中该规则指定基于预定义码流执行该转换。

Description

资源受约束的视频编码
技术领域
本公开总体上涉及视频编解码,并且更具体地,涉及在受约束资源上下文中的视频处理。
背景技术
当前,正在努力改善当前视频编解码器技术的性能,以提供更好的压缩率或提供允许较低复杂度或并行实现的视频编解码和解码方案。行业专家最近提出了几种新的视频编解码工具,目前正在进行测试以确定其有效性。
发明内容
以下提供了一个或多个方面的简化概述,以提供对这些方面的基本理解。该概述不是对所有预期方面的广泛概述,并且既不旨在标识所有方面的关键或关键要素,也不旨在描绘任何或所有方面的范围。该概述的唯一目的在于以简化的形式呈现一个或多个方面的一些概念,作为稍后呈现的更详细描述的前序。
示例实现包括一种视频处理的方法,该方法包括:根据规则在视频的当前视频单元与视频的码流之间执行转换;其中该规则指定基于受约束资源上下文来执行该转换。
本公开还提供了一种用于处理视频数据的装置,该装置包括处理器和非暂态存储器,在非暂态存储器上具有指令,其中指令在由处理器执行时使处理器:根据规则,在视频的当前视频单元与视频的码流之间执行转换;其中该规则指定基于受约束资源上下文来执行该转换。
本公开还提供了一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储指令,该指令使处理器:根据规则,在视频的当前视频单元与视频的码流之间执行转换;其中该规则指定基于受约束资源上下文来执行该转换。
本公开还提供了一种非暂态计算机可读记录介质,该非暂态计算机可读记录介质用于存储由视频处理装置执行的方法生成的视频的码流,其中该方法包括:根据规则,基于视频的当前视频单元来生成视频的码流;其中该规则指定基于受约束资源上下文来生成该码流。
为了实现上述和相关的目的,一个或多个方面包括在下文中充分描述并且在权利要求中特别指出的特征。以下描述和附图详细阐述了一个或多个方面的一些说明性特征。然而,这些特征仅指示可以采用各个方面的原理的各种方式中的一些,并且本描述旨在包括所有这些方面及其等同物。
附图说明
图1是示出根据本公开的一些方面的视频编解码系统的示例的框图。
图2是示出根据本公开的一些方面的视频编码器的第一示例的框图。
图3是示出根据本公开的一些方面的视频解码器的示例的框图。
图4是示出根据本公开的一些方面的视频编码器的第二示例的框图。
图5是根据本公开的一些方面的通用视频编解码(VVC)的编码器框图的示例。
图6是根据本公开的一些方面的具有67个帧内预测模式以捕获自然视频中呈现的任意边缘方向的帧内模式编解码的示意图。
图7是示出根据本公开的各个方面的用于具有色度缩放的亮度映射的示例架构的示意图。
图8A是示出根据本公开的各个方面的4参数仿射模型的示例的示意图。
图8B是示出根据本公开的各个方面的6参数仿射模型的示例的示意图。
图9是示出根据本公开的各个方面的每子块的仿射MVF的示例的示意图。
图10是示出根据本公开的各个方面的用于时间合并候选的运动矢量缩放的示例的示意图。
图11是示出根据本公开的各个方面的用于时间合并候选的候选位置的示例的示意图。
图12是示出根据本公开的各个方面的第一计算设备的示意图。
图13是示出根据本公开的各个方面的第二计算设备的示意图。
图14是根据本公开的一些方面的资源受约束的视频处理的示例方法的流程图。
具体实施方式
下面结合附图阐述的详细描述旨在作为对各种配置的描述,并且不旨在表示可以实践本文所述的概念的唯一配置。详细描述包括用于提供对各种概念的透彻理解的特定细节。然而,对于本领域的普通技术人员来说显而易见的是,可以在没有这些具体细节的情况下实践这些概念。在一些情况下,以框图形式显示结构和组件以避免混淆这些概念。
现在将参考各种装置和方法来呈现视频编解码和解码的多个方面。将在以下详细描述中描述这些装置和方法,并在附图中通过各种块、组件、电路、过程、算法以及其它示例(统称为“元素”)进行说明。这些元素可以使用电子硬件、计算机软件或其任何组合来实现。这些元素是作为硬件还是软件实现,这依赖于特定的应用程序和对整个系统施加的设计约束。
举例来说,元素或元素的任何部分或元素的任何组合可以被实现为包括一个或多个处理器的“处理系统”。处理器的示例包括微处理器、微控制器、图形处理单元(GPU)、中央处理单元(CPU)、应用处理器、数字信号处理器(DSP)、精简指令集计算(RISC)处理器、片上系统(SoC)、基带处理器、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、状态机、门控逻辑、分立硬件电路和其它合适的硬件,这些硬件被配置为执行本公开通篇描述的各种功能。处理系统中的一个或多个处理器可执行软件。软件应当广义地解释为指令、指令集、代码、代码段、程序代码、程序、子程序、软件组件、应用程序、软件应用程序、软件包、例程、子例程、对象、可执行文件、执行线程、过程、函数,在其它示例中,无论是被称为软件、固件、中间件、微代码、硬件描述语言或是其它。
因此,在一个或多个示例中,所描述的功能可以以硬件、软件或其任何组合来实现。如果以软件实现,则这些功能可以存储在或编码为计算机可读介质上的一个或多个指令或代码。计算机可读介质包括计算机存储介质,该计算机存储介质可以被称为非暂态计算机可读介质。非暂态计算机可读介质可以排除暂态信号。存储介质可以是计算机可以访问的任何可用介质。作为示例而非限制,此类计算机可读介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、光盘存储器、磁盘存储器、其它磁存储设备、上述类型的计算机可读介质的组合、或可用于以由计算机可访问的指令或数据结构的形式存储计算机可执行代码的任何其它介质。
本方面总体上涉及受约束资源上下文中的视频处理。在一些方面,资源约束可以对视频处理性能产生负面影响。视频处理资源的一些示例包括存储器、处理速度和编码/解码速率。此外,减少资源需求可以降低编解码效率,而向设备添加资源可以是成本高昂的和/或不切实际的。
本公开涉及对视频处理的增强,并且更具体地涉及在受约束资源上下文中有效地提高视频性能。例如,在一些方面,实现视频处理操作(例如,编码或解码)的计算系统可以检测关于计算设备的一个或多个资源的受约束资源上下文。此外,计算设备可以响应于受约束资源上下文来确定要采用的预定义码流。在一些方面,采用预定义码流可以通过使用预定义码流来执行转换步骤以临时地减少视频处理操作的资源需求,以帮助减轻对一个或多个资源的约束。
图1是示出可以利用本发明的技术的视频编解码系统100的示例的框图。如图1所示,视频编解码系统100可以包括源设备110和目的设备120。可以被称为视频编码设备的源设备110可以生成经编码视频数据。可以被称为视频解码设备的目的设备120可以对由源设备110生成的经编码视频数据进行解码。源设备110可以包括视频源112、视频编码器114和输入/输出(I/O)接口116。
视频源112可以包括诸如视频捕获设备的源、从视频内容提供方接收视频数据的接口、和/或用于生成视频数据的计算机图形系统、或这些源的组合。视频数据可以包括一个或多个图片或图像。术语“图片”、“图像”或“帧”始终可以互换使用,以指代产生视频的图像流中的单个图像。视频编码器114对来自视频源112的视频数据进行编码以生成码流。码流可以包括形成视频数据的编解码表示的比特序列。码流可以包括编解码图片和相关联的数据。编解码图片是图片的编解码表示。相关联的数据可以包括序列参数集、图片参数集和其它语法结构。I/O接口116可以包括调制器/解调器(调制解调器)和/或发射器、总线、或支持设备之间或计算设备内的数据传递的基本上任何机制,该计算设备可以包括源设备110和目的设备120(例如,其中计算设备存储通过使用源设备110的功能生成的经编码视频,以用于使用目的设备120的功能进行显示)。在一个示例中,经编码视频数据可以通过网络130a经由I/O接口116直接传输到目的设备120。经编码视频数据也可以被存储到存储介质/服务器130b上,以供目的设备120访问。
目的设备120可以包括I/O接口126、视频解码器124和显示设备122。I/O接口126可以包括接收器和/或调制解调器、总线或支持在设备之间或计算设备内的数据传输的基本上任何机制。I/O接口126可以从源设备110或存储介质/服务器130b获取经编码视频数据。视频解码器124可以对经编码视频数据进行解码。显示设备122可以向用户显示经解码视频数据。显示设备122可以与目的设备120集成,或者可以在目的设备120的外部,该目的设备120被配置为与外部显示设备接口。
视频编码器114和视频解码器124可以根据视频压缩标准操作,视频压缩标准诸如是AVC标准、HEVC标准、VVC标准和其它当前标准和/或另外的标准。
例如,在AVC标准方面,视频编码器114和/或视频解码器124可以被配置为执行多图片图片间预测。在一些方面,AVC内的多图片图片间预测可以以比过去标准更灵活方式使用先前编码图片作为参考,以允许多达16个参考帧(或在隔行编码的情况下、32个参考场)在一些情况下被使用。在支持非IDR帧的配置文件中,大多数级别指定足够的缓冲是可用的,以允许在最大分辨率下至少有4个或5个参考帧。这与以前的标准相反,其中限制通常是一个;或者,在传统的“B图片”(B帧)的情况下为两个。
此外,AVC内的多图片图片间预测可以使用块大小为大至16×16和小至4×4的可变块大小运动补偿(VBSMC),以实现移动区域的精确切分。支持的亮度预测块大小包括16×16、16×8、8×16、8×8、8×4、4×8和4×4,这些块大小中的许多块大小可以在单个宏块中一起使用。在一些方面,当使用色度二次采样时,色度预测块大小相应地更小。
此外,在由16个4×4分区构成的B宏块的情况下,AVC内的多图片图片间预测可以具有如下能力:使用最高达32个的多个运动矢量每宏块(每个分区一个或两个)。针对每个8×8或更大分区区域的运动矢量可以指向不同的参考图片。附加地,AVC可以具有在B帧中使用任何宏块类型的能力,包括I宏块,从而在使用B帧时实现更高效的编码。
此外,AVC内的多图片图片间预测可以使用六抽头滤波,用于半像素亮度样本预测的导出,用于更锐利的子像素运动补偿。在一些方面,四分之一像素运动是由半像素值的线性插值导出的,以节省处理能力。
此外,AVC内的多图片图片间预测可以使用四分之一像素精度进行运动补偿,以实现移动区的位移的精确描述。对于色度,分辨率通常在竖直和水平方向两者上减半(参见4:2:0),因此色度的运动补偿使用八分之一的色度像素网格单元。
此外,AVC内的多图片图片间预测可以使用加权预测,这允许编码器在执行运动补偿时指定缩放和偏移的使用,并且在特殊情况下提供显著的性能优势-诸如淡入到黑色、淡入和交叉淡入过渡。这包括用于B帧的隐式加权预测和用于P帧的显式加权预测。
此外,AVC可以使用来自相邻块边缘的空间预测用于“帧内”编解码,而不是在MPEG-2第2部分中找到的仅“DC”预测以及在H.263v2和MPEG-4第2部分中找到的变换系数预测。这包括16×16、8×8和4×4的亮度预测块大小(其中每个宏块内只能使用一种类型)。
此外,AVC可以使用整数离散余弦变换(整数DCT),这是一种其中变换是标准DCT的整数近似值的离散余弦变换(DCT)。它具有可选择的块大小和精确匹配的整数计算,以降低复杂性。在一些方面,整数DCT可以使用精确匹配的整数4×4空间块变换,允许精确放置残余信号,而几乎没有在现有编码解码器设计中经常发现的“振铃(ringing)”。它类似于以前标准中使用的标准DCT,但使用更小的块大小和简单的整数处理。与早期标准中表达的基于余弦的公式和公差不同,整数处理提供了精确指定的解码结果。此外,在一些方面,整数DCT可以使用精确匹配整数8×8空间块变换,允许比使用4×4变换更有效地压缩高度相关的区域。此设计基于标准DCT,但是经过简化并且提供精确指定的解码。此外,在一些方面,整数DCT可以使用在4×4和8×8变换块大小之间的自适应编码器选择用于整数变换操作。此外,在一些方面,整数DCT可以使用对应用于色度DC系数(以及在一种特殊情况下的亮度)的初级空间变换的“DC”系数执行的次级Hadamard变换,以获得在平滑区域中的甚至更多的压缩。
此外,AVC可以使用包括在其中直接表示视频数据样本的无损“PCM宏块”表示模式的无损宏块编解码特征,这允许完美表示特定区域并且允许针对每个区域的编解码数据量进行严格限制宏块。此外,AVC可以使用包括增强的无损宏块表示模式的无损宏块编解码特征,以允许完美表示特定区域,同时使用比PCM模式少得多的比特。
此外,AVC可以使用包括宏块自适应帧场(MBAFF)编解码的灵活隔行扫描视频编解码特征,该宏块自适应帧场编解码针对被编解码为帧的图片使用宏块对结构,允许在场模式下使用16×16宏块(与MPEG-2相比,其中被编解码为帧的图片中的场模式处理导致处理16×8半宏块)。此外,AVC可以使用包括图片自适应帧场编解码(PAFF或PicAFF)的无损宏块编解码特征,允许自由选择的图片混合,这些图片被编解码为完整的帧(其中两个场组合在一起进行编解码)或单独的单个场。
附加地,AVC可以使用包括对数步长控制的量化设计,用于通过编码器更容易地管理码率和简化的逆量化缩放、以及通过编码器针对基于感知的量化优化选择的频率定制量化缩放矩阵。此外,AVC可以使用环内去块效应滤波器,该环内去块效应滤波器帮助防止其它基于DCT的图像压缩技术常见的块伪影,从而获得更好的视觉外观和压缩效率。
此外,AVC可以使用包括上下文自适应二进制算术编解码(CABAC)的熵编解码设计,该上下文自适应二进制算术编解码是一种在知道给定上下文中语法元素的概率的情况下无损压缩视频流中的语法元素的算法。在一些方面,CABAC比CAVLC更有效地压缩数据,但是需要相当多的处理来解码。此外,在一些方面,AVC的熵编解码设计可以包括上下文自适应可变长度编解码(CAVLC),该上下文自适应可变长度编解码是用于编码量化变换系数值的CABAC的较低复杂度的备选。尽管CAVLC的复杂度低于CABAC,但是CAVLC可以比其它现有设计中通常用于编码系数的方法更精细和更有效。此外,在一些方面,AVC的熵编解码设计可以包括常见简单且高度结构化的可变长度编解码(VLC)技术,称为指数哥伦布编解码(或Exp-Golomb),该技术用于许多未被CABAC或CAVLC编解码的语法元素。
此外,AVC可以使用包括网络抽象层(NAL)定义的损失恢复特征,以允许在许多网络环境中使用相同视频语法。H.264的一个概念是生成自包含分组,以移除MPEG-4的头扩展码(HEC)中的头重复。这是通过从媒体流中解耦与多于一个条带(slice)相关的信息来实现的。更高级别参数的组合称为参数集。H.264规范包括两种类型的参数集:序列参数集(SPS)和图片参数集(PPS)。活动序列参数集在整个编解码视频序列中保持不变,并且活动图片参数集在编解码图片内保持不变。序列和图片参数集结构包含诸如图片大小、所采用的可选编解码模式、以及宏块到条带组映射等信息。与H.264/AVC类似,HEVC和VVC使用基于NAL单元的码流结构。
此外,AVC可以使用包括灵活宏块排序(FMO)(也称为条带组)以及任意条带排序(ASO)的损失恢复特征,该灵活宏块排序和任意条带排序是用于重构图片中基本区域(宏块)表示的排序的技术。FMO和ASO通常被认为是错误/损失鲁棒性特征,FMO和ASO也可以用于其它目的。
此外,AVC可以使用包括数据分区(DP)的损失恢复特征,该特征是提供了将更重要和不太重要的语法元素分离到不同数据分组中的能力、并且可以启用不等差错保护(UEP)和其它类型的错误/损失鲁棒性改进的特征。此外,AVC可以使用包括冗余条带(RS)的熵编解码设计损失恢复特征,该特征是如下的错误/损失鲁棒性特征:让编码器(通常以较低保真度)发送图片区域的额外表示,如果主要表示已损坏或损失,该额外表示可以被使用。附加地,AVC可以使用包括帧编号在内的损失恢复特征,该特征是允许“子序列”的创建、以及整个图片的损失的检测和隐藏的特征,“子序列”的创建通过可选地在其它图片之间包括额外图片来实现时间可缩放性,并且整个图片的损失的检测和隐藏可以是归因于网络分组损失或信道错误而发生。
此外,AVC可以使用切换条带(称为SP和SI条带),这些条带允许编码器引导解码器跳转到正在进行的视频流中,以用于视频流码率切换和“特技模式”操作等目的。在一些方面,当解码器使用SP/SI特征跳到视频流的中间时,尽管使用不同的图片,或者根本没有图片,解码器仍可以获得与视频流中该位置处的经解码图片的精确匹配,以作为切换之前的参考。此外,AVC可以使用简单的自动过程用于防止起始码的意外模拟,这些起始码是编解码数据中的特殊比特序列,这些编解码数据允许随机访问码流并且在可以损失字节同步的系统中恢复字节对齐。
此外,AVC可以使用补充增强信息(SEI)和视频可用性,补充增强信息和视频可用性是可以被插入码流中用于各种目的(诸如指示视频内容使用的色彩空间或适用于编码的各种约束)的额外信息。SEI消息可以包含任意用户定义的元数据有效负载或具有标准中定义的语法和语义的其它消息。此外,在一些方面,AVC可以使用辅助图片,这些辅助图片可以用于诸如alpha合成之类的目的。
此外,AVC可以支持单色度(4:0:0)、4:2:0、4:2:2和4:4:4色度采样(取决于所选配置文件),并且支持采样比特深度每个样本的精度范围为8到14比特(取决于所选配置文件)。附加地,在一些方面,AVC可以提供将各个颜色平面编码为具有其自己的条带结构、宏块模式、运动矢量等的不同图片的能力,从而允许使用简单的并行化结构来设计编码器。此外,AVC可以使用图片排序计数,该图片排序计数是如下特征:服务于保持图片的排序和经解码图片中的样本值与时序信息隔离,并且允许系统单独携带和控制/更改时序信息,而不影响经解码图片内容。
此外,HEVC和VVC是AVC的后继者,并且可以为AVC提供优势。例如,如本文所述,HEVC使用具有4x4和32x32之间的不同块大小的整数DCT和DST变换。作为另一示例,与AVC相比,HEVC受益于使用更大的编码树单元(CTU)大小,这提高了编解码效率,同时也减少了解码时间。
图2是示出根据本公开的一些方面的视频编码器200的示例的框图,其可以是图1中示出的系统100中的视频编码器114的示例。
视频编码器200可以被配置以执行本发明的任何或所有技术。在图2的示例中,视频编码器200包括多个功能组件。本发明中描述的技术可以在视频编码器200的各种组件之间共享。在一些示例中,处理器可以被配置以执行本发明中描述的任何或所有技术,包括视频编码器200的那些。
视频编码器200的功能组件可以包括分区单元201、预测单元202、残差生成单元207、变换单元208、量化单元209、逆量化单元210、逆变换单元211、重构单元212、缓冲器213和熵编码单元214中的一项或多项,预测单元202可以包括模式选择单元203、运动估计单元204、运动补偿单元205和帧内预测单元206。
在其他示例中,视频编码器200可以包括更多、更少或不同的功能组件。在示例中,预测单元202可以包括块内复制(IBC)单元。IBC单元可以在IBC模式下执行预测,其中至少一个参考图片是当前视频块所在的图片。
此外,一些组件(例如运动估计单元204和运动补偿单元205)可以高度集成,但是出于解释的目的在图2的示例中分开表示。
分区单元201可以将图片分区成一个或多个视频块。视频编码器200和视频解码器300可以支持各种视频块大小。
模式选择单元203可以例如基于错误结果来选择编解码模式:帧内(intra)模式或帧间(inter)模式中的一个模式,并且将得到的帧内或帧间编解码块提供给以下一项:残差生成单元207以生成残差块数据,以及重构单元212以重构经编码块来用作参考图片。在一些示例中,模式选择单元203可以选择帧内预测和帧间预测的组合(CIIP)模式,其中预测基于帧间预测信号和帧内预测信号。在帧间预测的情况下,模式选择单元203还可以为块选择运动向量的分辨率(例如,子像素或整数像素精度)。
为了对当前视频块执行帧间预测,运动估计单元204可以通过将来自缓冲器213的一个或多个参考帧与当前视频块进行比较,来生成当前视频块的运动信息。在一个示例中,每个参考帧可以对应于视频的一张图片。运动补偿单元205可以基于运动信息和来自缓冲器213的与当前视频块相关联的图片之外的图片的解码样本,来确定当前视频块的预测视频块。
例如,取决于当前视频块是在I条带、P条带还是B条带中,运动估计单元204和运动补偿单元205可以对当前视频块执行不同的操作。如这里所使用的,在一些方面,“I条带”可以指由宏块组成的图片的部分,所有宏块均基于同一图片内的宏块。此外,如这里所使用的,在一些方面,“P条带”和“B条带”可以指由不依赖于同一图片中的宏块的宏块组成的图片的部分。
在一些示例中,运动估计单元204可以对当前视频块执行单向预测,并且运动估计单元204可以针对当前视频块的参考视频块来搜索列表0或列表1的参考图片。运动估计单元204然后可以产生参考索引和运动向量,参考索引指示列表0或列表1中包含参考视频块的参考图片,运动向量指示当前视频块与参考视频块之间的空间位移。运动估计单元204可以输出参考索引、预测方向指示符和运动向量来作为当前视频块的运动信息。运动补偿单元205可以基于由当前视频块的运动信息指示的参考视频块来生成当前块的预测视频块。
在其他示例中,运动估计单元204可以对当前视频块进行双向预测,其中运动估计单元204可以针对当前视频块的参考视频块来搜索列表0中的参考图片,也可以针对当前视频块的另一参考视频块来搜索列表1中的参考图片。运动估计单元204然后可以生成参考索引以及运动向量,参考索引指示列表0和列表1中包含参考视频块的参考图片;运动向量指示参考视频块和当前视频块之间的空间位移。运动估计单元204可以输出当前视频块的参考索引和运动向量,来作为当前视频块的运动信息。运动补偿单元205可以基于当前视频块的运动信息所指示的参考视频块,来生成当前视频块的预测视频块。
在一些示例中,运动估计单元204可以输出用于解码器的解码处理的完整运动信息集合。
在一些示例中,运动估计单元204可以不输出当前视频的完整运动信息集合。相反,运动估计单元204可以参考另一视频块的运动信息,来信令发送当前视频块的运动信息。例如,运动估计单元204可以确定当前视频块的运动信息与邻近视频块的运动信息足够相似。
在一个示例中,运动估计单元204可以在与当前视频块相关联的语法结构中指示一个值,该值向视频解码器300指示当前视频块具有与另一视频块相同的运动信息。
在另一示例中,运动估计单元204可以在与当前视频块相关联的语法结构中标识另一视频块及运动向量差(MVD)。运动向量差指示当前视频块的运动向量与所指示的视频块的运动向量之间的差。视频解码器300可以使用所指示的视频块的运动向量和运动向量差来确定当前视频块的运动向量。
如上所述,视频编码器200可以预测性地信令发送运动向量。由视频编码器200可以实施的预测信令技术的两个示例包括:高级运动向量预测(AMVP)和合并模式信令。
帧内预测单元206可以对当前视频块执行帧内预测。当帧内预测单元206对当前视频块进行帧内预测时,帧内预测单元206可以基于相同图片中其他视频块的解码样本,来生成当前视频块的预测数据。当前视频块的预测数据可以包括预测视频块或一个或多个语法元素中的至少一个。
残差生成单元207可以通过从当前视频块中减去(例如,由减号指示)当前视频块的预测视频块,来生成当前视频块的残差数据。当前视频块的残差数据可以包括对应于当前视频块中样本的不同样本分量的残差视频块。
在其他示例中,当前视频块的当前视频块可能没有残差数据,例如在跳过模式中,并且残差生成单元207可以不执行减法操作。
变换单元208(也可称为变换处理单元)可以通过将一个或多个变换应用于与当前视频块相关联的残差视频块,来生成用于当前视频块的一个或多个变换系数视频块。
在变换单元208生成与当前视频块相关联的变换系数视频块之后,量化单元209可以基于与当前视频块相关联的一个或多个量化参数(QP)值,来量化与当前视频块相关联的变换系数视频块。
逆量化单元210和逆变换单元211可以分别对变换系数视频块应用逆量化和逆变换,以从变换系数视频块重构残差视频块。重构单元212可以将经重构的残差视频块添加到来自由预测单元202生成的一个或多个预测视频块的对应样本,以产生与当前块相关联的重构视频块,以用于存储在缓冲器213中。
在重构单元212重构视频块之后,可以执行环路滤波操作以减少视频块中的视频块伪像。
熵编码单元214可以从视频编码器200的其他功能组件接收数据。当熵编码单元214接收到数据时,熵编码单元214可以执行一个或多个熵编码操作,以生成熵编码数据并输出包括熵编码数据的码流。
图3是示出根据本公开的一些方面的视频解码器300的示例的框图,其可以是图1中示出的系统100中的视频解码器124的示例。
视频解码器300可以被配置以执行本发明的任何或所有技术。在图3的示例中,视频解码器300包括多个功能组件。本发明中描述的技术可以在视频解码器300的各种组件之间共享。在一些示例中,处理器可以被配置以执行本发明中描述的任何或所有技术,包括视频解码器300的那些。
在图3的示例中,视频解码器300包括熵解码单元301、运动补偿单元302、帧内预测单元303、逆量化单元304、逆变换单元305、重构单元306和缓冲器307中的一项或多项。在一些示例中,视频解码器300可以执行与关于视频编码器200(图2)描述的编码过程大体相反的解码过程。
视频解码器300可以经由熵解码单元301或以其他方式接收经编码码流。经编码码流可以包括熵编码视频数据(例如,视频数据的经编码块)。在此示例中,熵解码单元301可以对经熵经编码的视频数据进行解码。基于经解码的视频数据,无论是熵解码还是以其他方式,运动补偿单元302可以确定运动信息,包括运动向量、运动向量精度、参考图片列表索引和其他运动信息。例如,运动补偿单元302可以通过执行AMVP和合并模式来确定这样的信息。可以使用AMVP,包括基于来自邻近PB和参考图片的数据来导出若干个最可能的候选项。运动信息通常包括水平和竖直运动向量位移值、一个或两个参考图片索引,以及在B条带中的预测区域的情况下,与每个索引相关联的参考图片列表的标识。如本文所用,在一些方面,“合并模式”可指从在空间或时间上邻近的块导出运动信息。
运动补偿单元302可以产生运动补偿块,可能基于插值滤波器执行插值。以子像素精度使用的插值滤波器的标识符可以被包括在随经编码码流接收的语法元素中或被包括在单独的辅助信息中,例如,如在编码视频时由视频编码器指定的。
在编码视频块期间,运动补偿单元302可以使用由视频编码器200所使用的插值滤波器,来计算参考块的子整数像素的内插值。运动补偿单元302可以根据接收的语法信息确定由视频编码器200使用的插值滤波器,并使用该插值滤波器来产生预测块。
运动补偿单元302可以使用一些语法信息来确定:用于对经编码的视频序列的(多个)帧和/或(多个)条带进行编码的块的大小、描述经编码的视频序列的图片的每个宏块如何被分区的分区信息、指示每个分区是如何被编码的模式、每个经帧间编码块的一个或多个参考帧(和参考帧列表)、以及用于解码经编码的视频序列的其他信息。如这里所使用的,在一些方面,“条带”可以指在熵编码、信号预测和残差信号重构方面可以独立于相同图片的其他条带被解码的数据结构。条带可以是整个图片或图片的一个区域。
帧内预测单元303可以使用例如在码流中接收的帧内预测模式,来从空间邻近的块形成预测块。帧内预测在本文中可以称为“帧内”,和/或帧内预测模式在本文中可以称为“帧内模式”。逆量化单元304对码流中所提供的并且由熵解码单元301经解码的量化视频块系数进行逆量化(即,去量化)。逆变换单元305应用逆变换。
重构单元306可以将残差块与由运动补偿单元302或帧内预测单元303产生的对应预测块求和,以形成经解码块。如果需要,还可以应用去块效应滤波器来滤波经解码块,以移除块效应伪像。经解码的视频块然后被存储在缓冲器307中,缓冲器307为随后的运动补偿/帧内预测提供参考块,并且还产生用于在显示设备上呈现的经解码的视频。
尽管以下描述可能集中于高级视频编解码(AVC)、高效视频编解码(HEVC)和/或标准通用视频编解码(VVC),但本文描述的概念可适用于其他编解码标准或视频编码解码器。
图4示出根据本公开的一些方面的HEVC视频编码器和解码器400的框图的示例,该HEVC视频编码器和解码器400可以是图1中所示出的视频编解码系统100中的视频编码器114及视频解码器124、图2中的视频编码器200、以及图3中的视频解码器300,等等。HEVC视频编解码层使用相同“混合”方法,其中该方法使用图片间/图片内预测和2D变换编码。在一些方面,HEVC编码器首先通过将图片分割成用于第一图片或随机访问点的第一图片的块状区域来进行,其使用图片内预测。如本文所用,图片内预测可以指何时图片中的块的预测仅基于该图片中的信息。对于所有其它图片,使用图片间预测,其中使用来自其它图片的预测信息。在预测方法完成并且图片通过环路滤波器之后,最终的图片表示存储在经解码图片缓冲区中。存储在经解码图片缓冲区中的图片可以用于其它图片的预测。
HEVC的设计理念是使用逐行扫描视频,并且没有专门为隔行视频添加编解码工具。HEVC中不支持隔行特定编解码工具(诸如MBAFF和PAFF)。相反,HEVC发送元数据,该元数据说明隔行视频的发送方式。可以通过将每个帧编解码为单独的图片或通过将每个场编解码为单独的图片来发送隔行视频。对于隔行视频,HEVC可以使用序列自适应帧场(SAFF)在帧编解码和场编解码之间切换,这允许为每个视频序列更改编解码模式。这允许使用HEVC发送隔行视频,而无需将特殊的隔行解码过程添加到HEVC解码器。
用于生成符合HEVC的码流的编码算法可以如下进行。每个图片可以被划分为块区域(例如,编码树单元(CTU)),并且精确的块划分为可以被传输到解码器。HEVC用编码树单元(CTU)代替了以前标准中使用的16×16像素宏块,该编码树单元可以使用高达64x64样本的更大块结构,并且可以更好地将图片子分区为可变大小的结构。HEVC最初将图片分为具有通常提高编码效率的、较大的像素块尺寸的CTU,这些CTU可以是64×64、32×32或16×16。
CTU包括亮度编码树块(CTB)和对应的色度CTB和语法元素。亮度CTB的大小L×L可以被选择为L=16、32或64个样本,其中较大的大小可以实现更高的压缩。HEVC然后支持使用树结构和类似四叉树的信令来将CTB分区为更小的块。CTU的四叉树语法指定了其亮度和色度CB的大小和位置。四叉树的根与CTU相关联。因此,亮度CTB的大小是亮度CB支持的最大大小。可以联合地信令发送,来将CTU分成亮度和色度CB。亮度CB和通常两个色度CB连同相关联的语法一起形成编解码单元(CU)。CTB可以只包含CU,也可以被分割为多个CU,并且每个CU具有相关联的被分区为预测单元(PU)的分区和变换单元(TU)的树。
视频序列的第一图片(和/或在进入视频序列的每个干净随机访问点的第一图片)可以仅使用图片内预测,其使用相同的图片内的区域到区域的空间数据预测,但不依赖其他图片对第一图片进行编码。对于顺序或随机访问点之间的剩余图片,可以针对大多数块使用图片间时间预测编码模式。用于图片间预测的编码过程包括选择运动数据,该运动数据包括将被应用于预测每个块的样本的所选参考图片和运动向量(MV)。
可以在CU级别决定是使用图片间预测还是图片内预测来编码图片区域。PU分区结构将其根置于CU级别。根据基本的预测类型决定,亮度和色度CB然后可以在大小上进一步被划分,并且根据亮度和色度预测块(PB)进行预测。HEVC支持从64×64到4×4样本的可变PB大小。使用块变换对预测残差进行编码。TU树结构的根位于CU级别。亮度CB残差可以与亮度变换块(TB)相一致,或者可以进一步被划分为更小的亮度TB。这同样适用于色度TB。
HEVC指定4x4、8x8、16x16和32x32的四个变换单元(TU)大小来对预测残差进行编解码。CTB可以递归地划分为4个或更多个TU。TU使用基于离散余弦变换(DCT)的整数基函数。此外,属于帧内编码区域的4x4亮度变换块使用从离散正弦变换(DST)导出的整数变换进行变换。这提供了1%的码率降低,但由于其它变换情况的边际收益,因此仅限于4x4亮度变换块。色度使用与亮度相同TU大小,因此色度没有2x2变换。
编码器和解码器可以通过使用MV和模式决策数据而应用运动补偿(MC),来生成相同的图片间预测信号,该图片间预测信号作为辅助信息被发送。图片内或图片间预测的残差信号可以通过线性空间变换来变换,这是原始块及其预测之间的差。然后可以对变换系数进行缩放、量化、熵编码,并与预测信息一起传输。
编码器可以复制解码器处理环路,使得两者可以针对后续数据生成相同的预测。因此,经量化的变换系数可以通过逆缩放来构造,并且然后可以被逆变换以复制残差信号的解码近似。然后,残差可以被添加到预测中,并且将添加的结果馈送到一个或两个环路滤波器中,来平滑由逐块处理和量化所引起的伪像。最终图片表示(即,由解码器输出的副本)可以被存储在解码图片缓冲器以用于后续图片预测。通常,图片的编码或解码处理的顺序可以不同于它们从源到达的顺序。这样,在一些示例中,可能有必要在解码器的解码顺序(即,码流顺序)和输出顺序(即,显示顺序)之间进行区分。
在一些方面,HEVC可以包括一个或多个用于并行处理的工具。HEVC中图块(tile)的使用可以允许将图片划分为可以独立解码和/或编码的矩形区域的网格。图块可以被独立解码,并且甚至可以允许随机访问视频流中图片的特定区域。波前并行处理(WPP)可以包括将条带划分为CTU行,其中第一行正常解码,但是每个附加行需要在前一行中做出决定。WPP具有来自前一行CTU的熵编码器使用信息,并且允许并行处理方法,该方法可以允许比图块更好的压缩。在一些方面,如果存在图块,则这些图块必须至少为64像素高和256像素宽,其中对允许的图块数目有特定级别的限制。
在大多数情况下,条带可以彼此独立解码,条带的主要目的是在视频流中数据损失的情况下重新同步。此外,条带可以定义为自包含的,因为预测不跨越条带边界。但是,当对图片进行环内滤波时,可以需要跨条带边界的信息。条带是按照光栅扫描排序解码的CTU,并且条带可以使用不同的编解码类型(诸如I型、P型或B型)。与必须解码整个条带相比,从属条带可以允许系统更快地访问与图块或WPP相关的数据。从属条带的主要目的是允许归因于其较低的延时的低延迟视频编码。
在一些方面,HEVC使用上下文自适应二进制算术编解码(CABAC)算法。在一些情况下,CABAC可以是HEVC中唯一允许的熵编码器方法,而H.264/MPEG-4AVC允许使用两种熵编码器方法。HEVC中的CABAC和变换系数的熵编解码旨在实现比H.264/MPEG-4AVC更高的吞吐量,同时相对于简单扩展、对于更大的变换块大小保持更高的压缩效率。例如,上下文编解码箱(bin)的数目减少了8倍,并且CABAC旁路模式在其设计方面得到了改进,以提高吞吐量。HEVC的另一改进是编码数据之间的依赖关系已经改变,以进一步提高吞吐量。HEVC中的上下文建模也得到了改进,因此与H.264/MPEG-4AVC相比,CABAC可以更好地选择提高效率的上下文。
与H.264/MPEG-4AVC针对帧内预测指定了8种方向模式相比,HEVC针对帧内预测指定了33种方向模式。HEVC还指定DC帧内预测模式和平面预测模式。DC帧内预测模式可以通过对参考样本进行平均来生成平均值并且可以用于平坦表面。HEVC中的平面预测模式可以支持HEVC中定义的所有块大小,而H.264/MPEG-4AVC中的平面预测模式被限制为16x16像素的块大小。帧内预测模式可以使用来自先前已经从同一图片内解码的相邻预测块的数据。
针对分数亮度样本位置的插值,HEVC可以使用具有8抽头滤波器的一维半样本插值或具有7抽头滤波器的四分之一样本插值的可分离应用,相比之下,H.264/MPEG-4AVC使用两阶段过程:首先使用可分离的一维6抽头插值导出半样本位置的值,然后进行整数舍入,并且然后在附近半样本位置的值之间应用线性插值以生成四分之一样本位置的值。由于更长的插值滤波器和中间舍入误差的消除,HEVC提高了精度。针对4:2:0视频,色度样本通过可分离的一维4抽头滤波进行插值,以生成八分之一样本精度,而相比之下,H.264/MPEG-4AVC仅使用2抽头双线性滤波器(也具有八分之一样本精度)。
与在H.264/MPEG-4AVC中一样,HEVC中的加权预测可以与单预测(其中使用单个预测值)或双向预测(其中来自两个预测块的预测值相结合)一起使用。
HEVC指定了两个按顺序应用的环路滤波器,其中首先应用DBF,并且然后应用样本自适应偏移SAO滤波器。这两个环路滤波器应用在图片间预测环路中,即,将滤波后的图像存储在经解码图片缓冲区(DPB)中作为用于图片间预测的参考。
在一些方面,HEVC中的DBF可以类似于H.264/MPEG-4AVC使用的DBF,但是具有更简单的设计和更好的并行处理支持。在HEVC中,DBF可以仅适用于8x8样本网格,而在H.264/MPEG-4AVC中,DBF适用于4x4样本网格。在一些方面,DBF使用8x8样本网格,因为该样本网格不会导致明显的降级,并且显著提高并行处理,因为DBF不再导致与其它操作的级联交互。另一变化是HEVC只允许0到2的三个DBF强度。HEVC还要求DBF首先针对图片的垂直边缘应用水平滤波,然后才对图片的水平边缘应用垂直滤波。这允许为DBF使用多个并行线程。
SAO滤波器可以在DBF之后应用,并且被设计为通过应用存储在码流中查找表中的偏移来更好地重建原始信号幅度。根据CTB,SAO滤波器可以禁用或应用于以下两种模式中的一种模式:边缘偏移模式或带偏移模式。在一些方面,边缘偏移模式通过使用四个方向梯度模式中的一个方向梯度模式将样本的值与其八个邻居中的两个进行比较来操作。基于与这两个邻居的比较,样本被分类为以下五个类别中的一个类别:最小值、最大值、具有较低值的样本的边缘、具有较高值的样本的边缘或单调。对于前四个类别中的每个类别,都会应用一个偏移。带偏移模式基于单个样本的幅度应用偏移。样本按其幅度被分类为32个波段(直方图箱)中的一个波段。针对32个波段中的四个连续波段指定偏移,因为在容易出现条带状伪影的平坦区域中,样本幅度往往聚集在一个小范围内。SAO滤波器被设计为提高图片质量、减少条带状伪影和减少振铃伪影。
MPEG中的范围扩展是支持消费者视频回放之外的需求的附加配置文件、级别和技术。在一些方面,HEVC在图片大小或复杂性没有任何限制(8.5级)的情况下可以包括:支持超过10的比特深度和不同亮度/色度比特深度的配置文件、当文件大小远不如随机访问解码速度重要时的帧内配置文件、以及形成高效率图像文件格式(HEIF)的基础的静态图片配置文件。在一些方面,与所有其它级别不同,不需要最小解码器容量,只需要具有合理回退的尽力而为。
在一些方面,上述配置文件提供了增强的编解码特征,该特征可以支持高效的屏幕编码或高速处理(例如,持久速率适应),该屏幕编码或高速处理包括熵编解码的一般优化、在高比特深度下更高精度的加权预测、允许不完美的YCbCr颜色去相关以让亮度匹配设置预测的色度匹配且导致针对YCbCr 4:4:4的增益高达7%与针对RGB视频的增益高达26%的跨分量预测、以及允许编码器按块而不是按帧打开或关闭平滑的帧内平滑控制。此外,配置文件可以提供:与典型的之字形相比可以允许对残余数据进行更优化的编解码的变换跳过的修改(例如,残余DPCM(RDPCM))、与版本1中的4x4变换跳过支持相比可以支持高达32x32的块大小的块大小灵活性、可以提供潜在效率的4x4旋转、使得DCT和RDPCM块能够携带单独的上下文的变换跳过上下文。此外,配置文件可以提供:提供低比特深度视频用于更准确的解码的扩展的精度处理、以及提供特定于高吞吐量4:4:4 16帧内配置文件的解码优化的CABAC旁路对齐。
一些版本的HEVC(例如,版本2)可以提供包括以下信息的多个补充增强信息(SEI)消息:从一个颜色空间映射到另一颜色空间的颜色重新映射、提供动态范围之间(例如,HDR到SDR)的转换的提示的拐点功能、掌握显示色彩量、以及用于存档目的的时间码信息。此外,一些版本的HEVC可以包括用于自适应颜色变换、自适应运动矢量分辨率、块内复制和调色板模式的屏幕内容编解码扩展。附加地,一些版本的HEVC可以包括支持Hybrid Log-Gamma(HLG)传递函数和ICtCp颜色矩阵,Hybrid Log-Gamma传递函数和ICtCp颜色矩阵提供针对HDR传递函数的支持。
此外,一些版本的HEVC(例如,版本4)可以提供包括以下信息的多个SEI消息:提供有关要使用的首选传递函数的信息的备选传递特性信息SEI消息、以及提供有关用于创作视频的观看环境的环境光的信息的环境查看环境SEI消息。在一些方面,备选传递特性信息的主要使用案例可以以与传统设备向后兼容的方式来传送HLG视频。
由HEVC编码的视频素材可以作为逐行图像输入(例如,因为源视频源自这种格式,或在编码前通过去隔行生成)。HEVC设计中不存在支持采用隔行扫描的明确编解码功能,因为隔行扫描不再用于显示器并且对于分发变得非常不常见。然而,在HEVC中已经提供了元数据语法,以允许编码器通过将隔行视频的每个区域(即,每个视频帧的偶数行或奇数行)编码为单独的图像隔行视频,或者通过将每个隔行帧编码为HEVC编码图像,以指示其已经被发送。这可以提供一种有效的用于编码经隔行视频的方法,而无需支持针对经隔行视频的特殊解码过程。
HEVC标准支持通用胶片(film)、NTSC、PAL、Rec.601、Rec.709、Rec.2020、Rec.2100、SMPTE 170M、SMPTE 240M、sRGB、sYCC、xvYCC、XYZ以及外部指定的色彩空间。HEVC支持RGB、YCbCr和YCoCg等颜色编码表示。
图5是VVC的编码器框图500的示例,其可以包括多个环路内滤波块:例如,去块效应滤波器(DBF)、样本自适应偏移(SAO)、自适应环路滤波器(ALF)等。
与使用预定义的滤波器的DBF不同的是,SAO和ALF可以利用当前图片的原始样本,通过分别添加偏移量和应用有限脉冲响应(FIR)滤波器来减少原始样本和重构样本之间的均方误差,利用编解码侧信息来信令发送偏移量和滤波器系数。ALF可以位于每个图片的最后一个处理阶段,并且可以看作是捕获和修复由先前阶段产生的伪像的工具。
图6是具有67个帧内预测模式以捕获自然视频中呈现的任意边缘方向的帧内预测模式编码的示意图600。在一些示例中,定向(directional)内模式的数目可以从HEVC中使用的33个扩展到65个,而平面模式和DC模式保持不变。
在一些示例中,更密集的定向帧内预测模式可以被应用于块大小以及亮度和色度帧内预测。在HEVC中,每个帧内预测模式的经编解码块可以包括正方形形状(例如,大小为N×N的经编解码块)并且其每侧的长度可以是2的幂(例如,其中N是2的幂)。因此,不需要除法操作来使用DC模式生成帧内预测项(predictor)。在VVC中,块可以具有矩形形状,这在一般情况下可能需要对每个块使用除法操作。为避免DC预测的除法操作,较长侧可以用于计算非方形块的均值。
尽管在VVC中定义了67个模式,针对给定帧内预测模式索引的准确预测方向可以进一步取决于块形状。传统的角度帧内预测方向定义为沿顺时针方向从45度到-135度。在VVC中,对于非正方块,可以用广角帧内预测模式自适应地替换若干种常规的角度帧内预测模式。替换的模式可以使用原始模式索引来被信令发送,原始模式索引在解析之后被重新映射到广角模式的索引。在一些示例中,帧内预测模式的总数可以保持不变,即67个,帧内模式编解码方法也可以保持不变。
图7示出了根据本公开的各个方面的用于具有色度缩放的亮度映射的LMCS架构700的示例。如图所示。参照图7,在VTM4中,被称为具有色度缩放的亮度映射(LMCS)的编解码工具可以被并入作为环路滤波器之前的处理块。LMCS有两个主要组成部分:1)基于自适应分段线性模型的亮度分量的环内映射;2)针对色度分量,应用与亮度相关的色度残差缩放。如本文所述,编解码过程可以启用或禁用LMCS以提高性能。
特别地,图7从解码器的角度图示了LMCS架构700的示例。此外,图7中的块701至703指示处理在映射域中应用的位置;这些包括逆量化和逆变换701、亮度帧内预测702、以及亮度预测与亮度残差703的相加。此外,图7中的块710至717指示在原始(即非映射)域中应用处理的位置;并且这些处理包括诸如去块效应滤波器、ALF和SAO的环路滤波器710至711、运动补偿预测712至713、色度帧内预测714、色度预测与色度残差715的相加、以及将经解码图片存储为参考图片716至717。图7中的块720至722是新的LMCS功能块,包括亮度信号的前向和反向映射720至721以及依赖于亮度的色度缩放过程722。与VVC中的大多数其它工具一样,LMCS可以使用SPS在序列级别启用/禁用标志。
图8A至图8B示出了根据本公开的各个方面的6参数仿射模型800和4参数仿射模型802的示例。在HEVC中,仅平移运动模型用于运动补偿预测(MCP)。而在现实世界中,存在多种运动,例如放大/缩小、旋转、透视运动和其它不规则运动。在VVC中,采用4参数仿射模型和6参数仿射模型应用简化的仿射变换运动补偿预测。如图8A至图8B所示,块的仿射运动场由用于4参数仿射模型的两个控制点运动矢量(CPMV)和用于6参数仿射模型的3个CPMV来描述。
块的运动矢量场(MVF)分别具有式子1中的4参数仿射模型(其中4参数定义为变量a、b、e和f)、以及具有式子2中的6参数仿射模型中(其中4参数定义为变量a、b、c、d、e和f)的以下式子描述:
Figure BDA0003536302300000251
Figure BDA0003536302300000252
其中(mvh0,mvh0)是左上角控制点的运动矢量,并且(mvh1,mvh1)是右上角控制点的运动矢量,(mvh2,mvh2)是左下角的运动矢量控制点,所有三个运动矢量称为控制点运动矢量(CPMV),(x,y)表示代表点相对于当前块内左上角样本的坐标,(mvh(x,y),mvv(x,y))是为位于(x,y)处的样本导出的运动矢量。CP运动矢量可以用信号发送(如仿射AMVP模式)或即时(on-the-fly)导出(如仿射合并模式)。在一些方面,w和h分别是当前块的宽度和高度。在实践中,除法是通过右移和舍入操作来实现的。在VTM中,代表点被定义为子块的中心位置,例如,当子块的左上角相对于当前块内的左上角样本的坐标为(xs,ys),代表点的坐标定义为(xs+2,ys+2)。对于每个子块(即,VTM中的4x4),代表点用于导出整个子块的运动矢量。
为了进一步简化运动补偿预测,应用了基于子块的仿射变换预测。为了导出每个M×N(在当前VVC中M和N两者被设置为4)子块的运动矢量,如图9所示,每个子块904的中心样本的运动矢量902根据式子(1)和(2)计算,并且四舍五入到1/16分的精度。然后应用针对1/16像素的运动补偿插值滤波器来生成具有导出运动矢量的每个子块的预测。1/16像素的插值滤波器由仿射模式引入。
图10是示出根据本公开的各个方面的用于时间合并候选的候选位置的示例的示意图1000。在一些方面,视频编解码器可以实施时间运动矢量预测(TMVP)过程,该过程采用先前编码帧中的运动矢量来预测当前运动矢量。特别地,在该时间候选的导出中,缩放运动矢量是基于属于并置参考图片的共置CU来导出的。将用于导出共置(co-located)CU的参考图片列表在条带头中明确地用信号通知。
如图10中的虚线所示,获得针对时间合并候选1002的缩放运动矢量,该缩放运动矢量使用POC距离、tb和td从共置CU的运动矢量而被缩放,其中tb被定义为当前图片的参考图片与当前图片之间的POC差,并且td被定义为共置图片的参考图片与共置图片之间的POC差。时间合并候选的参考图片索引被设置为零。
此外,如图11的示意图1100所示,在候选项C0和C1之间选择针对时间候选的位置。如果在位置C0处的CU不可用、该CU被帧内编码或该CU在CTU的当前行之外,则使用位置C1。否则,在时间合并候选的导出中使用位置C0。
参考图12至图14,在操作中,计算设备1302可以经由通过处理器1304和/或存储器1306执行解码组件1310、视频解码器124、视频解码器300或HEVC视频编码器和解码器400来执行视频处理的方法1300。此外,计算设备1202可以经由通过处理器1304和/或存储器1306执行编码组件1210、视频编码器114或HEVC视频编码器和解码器400,来执行视频处理的方法1300。
在框1402,方法1300包括:根据规则,在视频的当前视频单元与视频的码流之间执行转换;其中规则指定基于预定义码流来执行该转换,其中规则指定基于受约束资源上下文来执行该转换。例如,在一方面,计算设备1202、处理器1204、存储器1206、编码组件1210、码流生成组件1214、和/或上下文检测组件1216可以被配置为根据规则在视频的当前视频单元与视频的码流之间执行转换、或可以包括用于根据规则在视频的当前视频单元与视频的码流之间执行转换的部件;其中规则指定基于预定义码流来执行该转换,其中规则指定基于受约束资源上下文来执行该转换。作为另一示例,在一方面,计算设备1302、计算设备1302、处理器1304、存储器1306、解码组件1310和/或上下文检测组件1312可以被配置为根据规则在视频的当前视频单元与视频的码流之间执行转换、或可以包括用于根据规则在视频的当前视频单元与视频的码流之间执行转换的部件;其中规则指定基于预定义码流来执行该转换,其中规则指定基于受约束资源上下文来执行该转换。
在一些方面,码流生成组件1214可以对多个图片1220进行编码以生成经编码码流1230。此外,当码流生成组件1214从多个图片1220的视频单元生成经编码码流1230的部分时,上下文检测组件1216可以检测受约束资源上下文。视频单元的一些示例可以包括块、图片、子图片、图块、条带、CTU、VPDU、CTU行、CU或PU。此外,在一些方面,受约束资源上下文可以对应于以下至少一项:在由编码组件1210执行的编码过程期间使用的视频分辨率低于预定义阈值、由编码组件1210执行的编码过程的码率低于预定义阈值、和/或由编码组件1210执行的编码过程的编码时间低于预定义阈值。附加地,上下文检测组件1216可以基于计算设备1202的资源(例如,处理器1204、存储器1206等)的一个或多个属性来检测受约束资源上下文。例如,在一些方面,受约束资源上下文可以对应于存储器1206的低于预定义阈值的可用存储器资源量。
此外,码流生成组件1214可以通过在对应于视频单元的经编码码流1230的部分的生成期间应用编码规则来确定预定义码流1218。
作为示例,码流生成组件1214可以为具有如下限制(例如,编码规则)的视频单元生成预定义码流1218:多个样本(例如,视频单元中的所有样本、当前视频单元中的所有帧间编解码样本等)利用相同预测模式(例如,帧间预测模式)。在一些其它方面,码流生成组件1214可以为具有如下限制的视频单元生成预定义码流1218:多个样本(例如,视频单元中的所有样本、当前视频单元中的所有帧间编解码样本等)选择跳过模式。在一些其他方面,码流生成组件1214可以为具有如下限制的视频单元生成预定义码流1218:多个样本(例如,视频单元中的所有样本、当前视频单元中的所有帧间编解码样本等)选择合并模式。在一些其他方面,码流生成组件1214可以为具有如下限制的视频单元生成预定义码流1218:多个样本(例如,视频单元中的所有样本、当前视频单元中的所有帧间编解码样本等)除了视频单元中的第一编解码块/预测块之外选择相同的合并候选索引。在又一些其他方面,码流生成组件1214可以为具有如下限制的视频单元生成预定义码流1218:多个样本(例如,视频单元中的所有样本、当前视频单元中的所有帧间编解码样本等)选择相同的合并候选索引,例如等于0或1。在一些实例中,样本可以对应帧间编码样本。
在一些方面,码流生成组件1214可以为具有如下限制的视频单元生成预定义码流1218:多个编解码单元(例如,视频单元内的所有CU)共享相同大小。此外,在一些示例中,可以将CU的大小设置为最大CTU。
在一些方面,码流生成组件1214可以通过禁用用于多个样本(例如,视频单元中的所有样本)的工具来生成视频单元的预定义码流1218。在一些情况下,被禁用的工具可以包括一种或多种滤波方法,例如DBF、SAO、ALF、CC-ALF、LMCS等。附加地或备选地,被禁用的工具可以包括TMVP。
在一些方面,码流生成组件1214可以通过为视频单元中待编码的第一编解码单元或第一预测单元设置具有等于K的固定候选索引的合并候选,来生成视频单元的预定义码流1218,其中K不等于0。在某些示例中,K可以被设置为1。
在H.264编码解码器实现中,码流生成组件1214可以使用零运动矢量为针对当前视频单元(例如,所有帧间宏块)的多个区域的帧间视频单元(例如,帧间条带)生成预定义码流1218。在一些示例中,帧间视频单元中的运动矢量可以指向相同参考图片或相同多个参考图片。附加地,在一些示例中,视频单元中的宏块可以没有残差。此外,在一些示例中,视频单元中的宏块可以使DBF和/或SAO被禁用。
在H.265编码解码器实现中,码流生成组件1214可以使用零运动矢量为针对当前视频单元(例如,所有帧间宏块)的多个区域的帧间视频单元(例如,帧间条带或图块)生成预定义码流1218。在一些示例中,帧间视频单元中的运动矢量可以指向相同参考图片或相同的多个参考图片。附加地,在一些示例中,视频单元中的宏块可以没有残差。此外,在一些示例中,视频单元中的宏块可以使DBF和/或SAO被禁用。
在H.266编码解码器实现中,码流生成组件1214可以使用零运动矢量为针对当前视频单元的多个区域(例如,所有帧间宏块)的帧间视频单元(例如,帧间条带、图块、子图片)生成预定义码流1218。在一些示例中,帧间视频单元中的运动矢量可以指向相同参考图片或相同的多个参考图片。附加地,在一些示例中,视频单元中的宏块可以没有残差。此外,在一些示例中,视频单元中的宏块可以使DBF、SAO、ALF、颜色分量ALF、跨分量自适应环路滤波器、和/或参考图片重采样被禁用。
在一些方面,码流生成组件1214可以通过从并置图片或最近邻图片复制帧间视频单元(例如,帧间条带)来生成或标识视频单元的预定义码流1218。在一些方面,例如双向预测中,最近邻图片可以被定义为最近的前向图片或最近的后向图片。
在一些方面,对应于视频单元的预定义码流1218可以在视频单元的编码之前而被生成,并且码流生成组件1214可以标识预先存在的预定义码流1218。作为示例,在一些方面,码流生成组件1214可以使用等于K的固定QP来生成预定义码流1218。此外,可以将K设置为由编码组件1210应用的视频编码解码器或编解码标准的最大允许QP值,例如,对于H.264或H.265编解码标准为51,对于H.266编解码标准为63等。作为另一示例,在一些方面,码流生成组件1214可以基于与编码过程相关联的分辨率来生成或标识在编码过程中采用的预定义码流1218。例如,码流生成组件1214可以基于第一分辨率生成或标识第一预定义码流1218(1),并且基于第二分辨率生成或标识第二预定义码流1218(2)。附加地或备选地,码流生成组件1214可以基于在编码过程中被编码的特定图片来生成或标识在编码过程中使用的预定义码流1218。例如,码流生成组件1214可以基于图片1220(1)生成或标识第一预定义码流1218(1),并且基于第二图片1220(2)生成或标识第二预定义码流1218(2)。
在一些方面,码流生成组件1214可以基于会话生成或标识预定义码流1218。例如,第一会话可以与第一预定义码流1218(1)相关联,并且第二会话可以与第二预定义码流1218(2)相关联。如本文所用,在一些方面,“会话”可以指一个或多个连续图块、一个或多个连续条带和/或一个或多个连续图片。
附加地,计算设备1202可以对多个图片1220(1)至1220(N)进行编码,以生成经编码码流1230。此外,编码组件1210可以响应于受约束资源上下文针对经编码码流1230的部分采用预定义码流1218。特别地,对应于视频单元的编码表示的经编码码流1230的部分可以是预定义码流1212(1)。作为另一示例,计算设备1302可以对经编码码流1320进行解码,以生成解码视频表示1322(1)至1322(N)。附加地,解码组件1310可以响应于受约束资源上下文采用预定义码流1318(1),用于对经编码码流1320的部分进行解码。特别地,当确定解码视频表示1322时,预定义码流1318(1)可以用于补充经编码码流1320的部分。如本文所述,预定义码流1218或预定义码流1318的使用可以在受约束资源上下文期间提供编解码效率收益。
在一些示例码流中,等于1的sps_temporal_mvp_enabled_flag可以指定时间运动矢量预测器被启用以用于逐层编码的视频序列(CLVS)。如本文所用,CLVS可以指描述视频序列所需的图片序列和与图片无关的关联数据(例如,图片的大小、视频的帧速率、图片样本的比特深度)。此外,等于0的sps_temporal_mvp_enabled_flag指定时间运动矢量预测器针对CLVS被禁用。在一些方面,sps_temporal_mvp_enabled_flag在预定义码流中应该被推断为等于0。
在一些示例码流中,general_merge_flag[x0][y0]指定当前编解码单元的帧间预测参数是否从相邻帧间预测分区推断。数组索引x0,y0指定所考虑的编解码块的左上亮度样本相对于图片的左上亮度样本的位置(x0,y0)。在一些方面,general_merge_flag[x0][y0]应当被推断为在预定义码流中等于1。
在一些示例码流中,merge_idx[x0][y0]指定合并候选列表的合并候选索引,其中x0,y0指定所考虑的编解码块的左上亮度样本相对于图片的左上亮度样本。当merge_idx[x0][y0]不存在时,推断如下:如果mmvd_merge_flag[x0][y0]等于1,merge_idx[x0][y0]被推断为等于mmvd_cand_flag[x0][y0]。否则(mmvd_merge_flag[x0][y0]等于0),merge_idx[x0][y0]被推断为等于0。在一些方面,merge_idx[x0][y0]在预定义码流中应该被推断为等于0。
以下详细的发明应被视为解释一般概念的示例。不应以狭隘的方式解释这些发明。此外,这些发明可以以任何方式组合。
提议添加如下限制:一个视频单元(例如,条带/图块/CTU行)中的所有样本可以使用相同预测模式,例如,帧间预测模式。
备选地,此外,限制视频单元(例如,条带/图块/CTU行)中的所有样本可以选择跳过模式。
备选地,此外,限制视频单元(例如,条带/图块/CTU行)中的所有样本可以选择合并模式。
备选地,此外,限制视频单元(例如,条带/图块/CTU行)中的所有样本可以选择相同的合并候选索引,除了视频单元(例如,条带/图块/CTU行)中的第一编解码块/预测块之外。
备选地,此外,限制视频单元(例如,条带/图块/CTU行)中的所有样本可以选择相同的合并候选索引,诸如等于0或1。
备选地,此外,上述“所有样本”可以由“所有帧间编码样本”替换。
提议添加如下限制:一个视频单元(例如,条带/图块/CTU行)内的所有CU共享相同大小。
在一个示例中,将大小设置为最大CTU。
提议始终为一个视频单元(例如,条带/图块/CTU行)中的所有样本禁用某个工具。
备选地,此外,特定工具包括滤波方法(例如,去块效应滤波器、SAO、ALF、CC-ALF、LMCS)。
备选地,此外,特定工具包括时间运动矢量预测。
提议视频单元(例如,条带/图块/CTU行)中的要编码/解码的第一编解码单元/预测单元应该使用具有等于K的固定候选索引的合并候选,其中K不等于0。
在一个示例中,K被设置为1。
针对H.264帧间视频单元(例如,帧间条带),可以建议所有帧间宏块都应该利用全零运动矢量而被生成。
在一个示例中,视频单元中的所有运动矢量都应该指向同一参考图片。
在一个示例中,视频单元中的所有运动矢量都应该指向相同的参考图片。
在一个示例中,视频单元中的所有宏块都应该没有残差。
在一个示例中,视频单元中的所有宏块都应该禁用去块效应滤波。
在一个示例中,视频单元中的所有宏块都应该禁用样本自适应偏移。
在一个示例中,可以满足如上所示的一个或多个约束。
对于H.265帧间视频单元(例如,帧间条带或图块),可以建议所有帧间编解码单元应该利用全零运动矢量而被生成。
在一个示例中,视频单元中的所有运动矢量都应该指向同一参考图片。
在一个示例中,视频单元中的所有运动矢量都应该指向相同的参考图片。
在一个示例中,视频单元中的所有编解码单元都应该没有残差。
在一个示例中,视频单元中的所有编解码单元都应该禁用去块效应滤波。
在一个示例中,视频单元中的所有编解码单元都应该禁用样本自适应偏移。
在一个示例中,可以满足如上所示的一个或多个约束。
对于H.266帧间视频单元(例如,帧间条带或图块或子图片),可以建议所有帧间编解码单元都应该利用全零运动矢量而被生成。
在一个示例中,视频单元中的所有运动矢量都应该指向同一参考图片。
在一个示例中,视频单元中的所有运动矢量都应该指向相同的参考图片。
在一个示例中,视频单元中的所有编解码单元都应该没有残差。
在一个示例中,视频单元中的所有编解码单元都应该禁用去块效应滤波。
在一个示例中,视频单元中的所有编解码单元都应禁用样本自适应偏移。
在一个示例中,视频单元中的所有编解码单元都应该禁用自适应环路滤波器。
在一个示例中,视频单元中的所有编解码单元都应该禁用颜色分量自适应环路滤波器。
在一个示例中,应该禁用参考图片重采样。
在一个示例中,可以满足如上所示的一个或多个约束。
可以建议帧间视频单元(例如,帧间条带)从并置图片复制。
可以建议帧间视频单元(例如,帧间条带)从最近邻图片复制。
在双向预测的情况下,最近邻图片可以定义为最近的前向图片。
备选地,在双向预测的情况下,最近邻图片可以被定义为最近的后向图片。
可以建议例如在编码视频单元(例如,条带或图片或序列或CTU行)之前生成的一个或多个预定义码流可以被生成。
在一个示例中,可以通过等于K的固定QP来生成预定义码流。
在一个示例中,K被设置为最大允许QP值,例如,对于H.264/H.265为51,对于H.266为63。
在一个示例中,预定义码流可以基于分辨率。
在一个示例中,不同的分辨率可以具有不同的预定义码流。
在一个示例中,预定义码流可以基于图片,例如,一个图片可以具有其自己的预定义码流。
在一个示例中,当资源(例如编码时间、码率)受到限制时,可以使用预定义码流。
在一个示例中,预定义码流可以通过以下在项目符号1至9中描述的规则来生成。
可以建议码流的不同会话可以使用不同的预定义码流。
在一个示例中,一个会话可以被定义为一个图块或连续的图块。
在一个示例中,一个会话可以被定义为一个条带或连续的条带。
在一个示例中,一个会话可以被定义为一个图片或连续的图片。
在以上示例中,帧间视频单元可以用于表示视频单元内的至少一个样本以帧间模式被编码的视频单元。
实施例1:
预定义码流可以定义如下。
sps_temporal_mvp_enabled_flag等于1指定为CLVS启用时间运动矢量预测器。sps_temporal_mvp_enabled_flag等于0指定为CLVS禁用时间运动矢量预测器。在预定义码流中,sps_temporal_mvp_enabled_flag应被推断为等于0。
general_merge_flag[x0][y0]指定当前编解码单元的帧间预测参数是否是从相邻的帧间预测分区中推断出来的。数组索引x0,y0指定所考虑的编解码块的左上亮度样本相对于图片的左上亮度样本的位置(x0,y0)。general_merge_flag[x0][y0]在预定义码流中应该被推断为等于1。
merge_idx[x0][y0]指定合并候选列表的合并候选索引,其中x0,y0指定所考虑的编解码块的左上亮度样本相对于左上亮度样本的位置(x0,y0)图片。
当merge_idx[x0][y0]不存在时,推断如下:
如果mmvd_merge_flag[x0][y0]等于1,merge_idx[x0][y0]被推断为等于mmvd_cand_flag[x0][y0]。
否则(mmvd_merge_flag[x0][y0]等于0),merge_idx[x0][y0]被推断为等于0。
merge_idx[x0][y0]在预定义码流中应该被推断为等于0。
实施例2:
对于HEVC,当先前图片都是P图片的时候,有新的图片进来,并且资源受限制。则可以应用:对于固定的WxH图片,如下准备预定义码流。首先,分区信息是划分64x64的块,直到该分区信息到达边界。其次,所有块CBF都设置为0。
示例解决方案
接下来提供一些实施例优选的解决方案的列表。
1.一种用于视频处理的方法,包括:根据规则,在视频的当前视频单元与视频的码流之间执行转换;其中规则指定基于受约束上下文来执行转换。
2.根据解决方案1的方法,其中受约束上下文包括低于预定义阈值的码率或编码时间。
3.根据解决方案1或解决方案2的方法,其中受约束上下文包括低于预定义阈值的可用存储器资源。
4.根据解决方案1至3中任一项的方法,其中受约束上下文包括将当前视频单元内的多个样本限制为相同的预测模式。
5.根据解决方案4的方法,其中多个样本包括当前视频单元中的所有样本、或当前视频单元中的所有帧间编解码样本。
6.根据解决方案4或解决方案5的方法,其中预测模式包括以下至少一项:帧间预测模式、跳过模式、合并模式、除了当前视频单元中的第一编解码块/第一预测块之外使用相同的合并候选索引、或使用相同的合并候选索引(诸如等于0或1)。
7.根据解决方案1至6中任一项的方法,其中受约束上下文包括将当前视频单元内的多个编解码单元限制为相同大小。
8.根据权利要求7的方法,其中大小被设置为编码树单元(CTU)的最大大小。
9.根据解决方案1至8中任一项的方法,其中受约束上下文包括禁用对当前视频单元内的多个样本的工具的应用。
10.根据解决方案9的方法,其中工具包括以下至少一项:滤波方法或时间运动矢量预测。
11.根据解决方案10的方法,其中滤波方法包括以下至少一项:去块效应滤波器、样本自适应偏移(SAO)、自适应环路滤波器(ALF)、跨分量自适应环路滤波器(CC-ALF)、具有色度缩放的亮度映射(LMCS)。
12.根据解决方案1至11中任一项的方法,其中受约束上下文包括将当前视频单元的第一编解码块和/或第一预测块的合并候选设置为不等于0的固定候选索引。
13.根据解决方案12的方法,其中固定候选索引被设置为1。
14.根据解决方案1至13中任一项的方法,其中响应于当前视频单元是帧间视频单元,受约束上下文包括针对当前视频单元的多个区域使用零运动矢量。
15.根据解决方案14的方法,当前视频单元中的所有运动矢量指向一个或多个相同的参考图片。
16.根据解决方案14或解决方案15的方法,其中当前视频单元中的所有编解码单元满足以下至少一项:没有残差、禁用去块效应滤波、禁用样本自适应偏移、禁用自适应环路滤波器、禁用跨分量自适应环路滤波器、禁用参考图片重采样。
17.根据解决方案1至16中任一项的方法,其中响应于当前视频单元是帧间视频单元,受约束上下文包括复制针对当前视频单元的并置图片或最近邻图片。
18.根据解决方案1至17中任一项的方法,其中该方法还包括:在执行转换之前,确定受约束上下文,并且响应于受约束上下文确定预定义码流;并且其中执行转换包括基于预定义码流执行转换。
19.根据解决方案18的方法,其中预定义码流基于固定量化参数,固定量化参数等于K,并且其中K是整数。
20.根据解决方案19的方法,其中K被设置为量化参数的最大允许值。
21.根据解决方案20的方法,其中K被设置为51或63。
22.根据解决方案1至21中任一项的方法,其中预定义码流基于当前分辨率值而被使用,并且另一预定义码流被用于另一分辨率值。
23.根据解决方案1至22中任一项的方法,其中预定义码流被用于一个会话,并且另一预定义码流被用于另一会话。
24.根据解决方案23的方法,其中会话被定义为一个或多个连续图块、或一个或多个连续条带、或一个或多个连续图片。
25.根据解决方案1至24中任一项的方法,其中转换包括将当前视频单元编码到码流中。
26.根据解决方案1至24中任一项的方法,其中转换包括从码流解码当前视频单元。
27.根据解决方案1至24中任一项的方法,其中转换包括生成视频的码流;并且该方法还包括将码流存储在非暂态计算机可读记录介质中。
28.一种用于处理视频数据的装置,该装置包括处理器和非暂态存储器,在非暂态存储器上具有指令,其中指令在由处理器执行时使处理器实现解决方案1至27中任一项的方法。
29.一种视频解码装置,包括处理器,该处理器被配置为实现解决方案1至27中的一个或多个解决方案的方法。
30.一种视频编码装置,包括处理器,该处理器被配置为实现解决方案1至27中的一个或多个解决方案的方法。
31.一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质存储指令,该指令使处理器实现解决方案1至27中任一项的方法。
32.一种计算机程序产品,其上存储有计算机代码,代码在由处理器执行时使处理器实现解决方案1至27中任一项的方法。
33.一种非暂态计算机可读记录介质,该非暂态计算机可读记录介质存储由视频处理装置执行的、根据解决方案1至27中任一项的方法生成的视频的码流。
本文档中描述的方法、装置或系统。
尽管前述公开讨论了说明性方面和/或实施方式,但应当注意,在不脱离由所附权利要求限定的所描述的方面和/或实施方式的范围的情况下,可以在本文中进行各种改变和修改。此外,尽管所描述的方面和/或实施方式的元素可以以单数形式描述或要求保护,但除非明确声明限制为单数,否则复数形式是预期的。此外,除非另有说明,否则可以与任何其他方面和/或实施方式的全部或一部分一起使用任何方面和/或实施方式的全部或一部分。
提供先前的描述以使得本领域普通技术人员能够实践本文描述的各个方面。对这些方面的各种修改对于本领域普通技术人员来说将是显而易见的,并且这里定义的一般原理可以应用于其他方面。权利要求并不旨在限于本文所示的方面,而是应符合与权利要求语言一致的全部范围,其中除非特别如此陈述,对单数形式的元素的引用并不旨在表示“一个且仅一个”,而是表示“一个或多个”。除非另有特别说明,术语“一些”是指一个或多个。组合(例如“A、B或C中的至少一个”、“A、B或C中的一个或多个”、“A、B和C中的至少一个”、“A、B和C中的一个或多个”和“A、B、C或其任意组合”)包括A、B或C的任意组合,并且可以包括A的倍数、B的倍数或C的倍数。具体地,组合(例如“A、B或C中的至少一个”,“A、B或C中的一个或多个”,“A、B和C中的至少一个”,“A、B和C中的一个或多个”和“A、B、C或其任何组合”)可以是仅A、仅B、仅C、A和B、A和C、B和C,或A和B和C,其中任何此类组合可以包含A、B或C的一个或多个成员。以引用的方式明确地并入本文并且旨在被权利要求所涵盖的、贯穿本公开内容中描述的各个方面的元素的所有结构和功能等效物都是本领域普通技术人员已知的、或将在未来知道的。此外,无论权利要求中是否明确引用了此类公开,本文所公开的任何内容均不旨在专门由公众使用。“模块”、“机制”、“元素”、“设备”等词语可能不能代替词语“装置”。因此,除非使用短语“用于…的装置”明确描述要素,否则任何权利要求要素均不得解释为功能性限定。

Claims (23)

1.一种用于视频处理的方法,包括:
根据规则,在视频的当前视频单元与所述视频的码流之间执行转换;
其中所述规则指定基于受约束资源上下文来执行所述转换。
2.根据权利要求1所述的方法,其中所述受约束资源上下文包括低于预定义阈值的码率或编码时间。
3.根据权利要求1所述的方法,其中所述受约束资源上下文包括低于预定义阈值的可用存储器资源。
4.根据权利要求1所述的方法,其中所述受约束资源上下文包括将所述当前视频单元内的多个样本限制为相同的预测模式。
5.根据权利要求4所述的方法,其中所述多个样本包括所述当前视频单元中的所有样本、或所述当前视频单元中的所有帧间编解码样本。
6.根据权利要求4所述的方法,其中所述预测模式包括以下至少一项:帧间预测模式、跳过模式、合并模式、除了所述当前视频单元中的第一编解码块/第一预测块之外使用相同的合并候选索引、或使用相同的合并候选索引。
7.根据权利要求1所述的方法,其中所述受约束资源上下文包括将所述当前视频单元内的多个编解码单元限制为相同大小。
8.根据权利要求1所述的方法,其中所述受约束资源上下文包括禁用对所述当前视频单元内的多个样本的工具的应用。
9.根据权利要求8所述的方法,其中所述工具包括以下至少一项:滤波方法或时间运动矢量预测。
10.根据权利要求9所述的方法,其中所述滤波方法包括以下至少一项:去块效应滤波器、样本自适应偏移(SAO)、自适应环路滤波器(ALF)、跨分量自适应环路滤波器(CC-ALF)、具有色度缩放的亮度映射(LMCS)。
11.根据权利要求1所述的方法,其中所述受约束资源上下文包括:将所述当前视频单元的第一编解码块和/或第一预测块的合并候选设置为不等于0的固定候选索引。
12.根据权利要求1所述的方法,其中响应于所述当前视频单元是帧间视频单元,所述受约束资源上下文包括针对所述当前视频单元的多个区域使用零运动矢量。
13.根据权利要求12所述的方法,其中所述当前视频单元中的所有运动矢量指向一个或多个相同的参考图片、和/或所述当前视频单元中的所有编解码单元满足以下至少一项:没有残差、禁用去块效应滤波、禁用样本自适应偏移、禁用自适应环路滤波器、禁用跨分量自适应环路滤波器、禁用参考图片重采样。
14.根据权利要求1所述的方法,其中响应于所述当前视频单元是帧间视频单元,所述受约束资源上下文包括复制针对所述当前视频单元的并置图片或最近邻图片。
15.根据权利要求1所述的方法,其中所述方法还包括:在执行所述转换之前,确定所述受约束资源上下文,并且响应于所述受约束资源上下文确定预定义码流;
其中执行所述转换包括基于所述预定义码流执行所述转换。
16.根据权利要求15所述的方法,其中所述预定义码流基于固定量化参数,所述固定量化参数等于K,并且其中K是整数。
17.根据权利要求15所述的方法,其中所述预定义码流基于当前分辨率值而被使用,并且另一预定义码流被用于另一分辨率值。
18.根据权利要求15所述的方法,其中所述预定义码流被用于一个会话,并且另一预定义码流被用于另一会话,并且其中所述会话被定义为一个或多个连续图块、或一个或多个连续条带、或一个或多个连续图片。
19.根据权利要求1所述的方法,其中所述转换包括将所述当前视频单元编码到所述码流中。
20.根据权利要求1所述的方法,其中所述转换包括从所述码流解码所述当前视频单元。
21.一种用于处理视频数据的装置,所述装置包括处理器和非暂态存储器,在所述非暂态存储器上具有指令,其中所述指令在由所述处理器执行时使所述处理器执行根据权利要求1至20中任一项所述的方法。
22.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储指令,所述指令使处理器执行根据权利要求1至20中任一项所述的方法。
23.一种非暂态计算机可读记录介质,所述非暂态计算机可读记录介质存储由视频处理装置执行的、根据权利要求1至20中任一项所述的方法生成的视频的码流。
CN202210219216.1A 2021-03-10 2022-03-08 资源受约束的视频编码 Pending CN115086671A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/198,194 US20220295075A1 (en) 2021-03-10 2021-03-10 Resource constrained video encoding
US17/198,194 2021-03-10

Publications (1)

Publication Number Publication Date
CN115086671A true CN115086671A (zh) 2022-09-20

Family

ID=83195369

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210219216.1A Pending CN115086671A (zh) 2021-03-10 2022-03-08 资源受约束的视频编码

Country Status (2)

Country Link
US (1) US20220295075A1 (zh)
CN (1) CN115086671A (zh)

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008077119A2 (en) * 2006-12-19 2008-06-26 Ortiva Wireless Intelligent video signal encoding utilizing regions of interest information
CA2855777C (en) * 2011-12-23 2017-10-24 Electronics And Telecommunications Research Institute Method and apparatus for setting reference picture index of temporal merging candidate
GB201405649D0 (en) * 2014-03-28 2014-05-14 Sony Corp Data encoding and decoding
CN107005708A (zh) * 2014-09-26 2017-08-01 Vid拓展公司 使用时间块向量预测的块内复制译码
US10368074B2 (en) * 2016-03-18 2019-07-30 Microsoft Technology Licensing, Llc Opportunistic frame dropping for variable-frame-rate encoding
US10674151B2 (en) * 2018-07-30 2020-06-02 Intel Corporation Adaptive in-loop filtering for video coding
CN113170126A (zh) * 2018-11-08 2021-07-23 Oppo广东移动通信有限公司 视频信号编码/解码方法以及用于所述方法的设备
US12010305B2 (en) * 2019-03-11 2024-06-11 Apple Inc. Method for encoding/decoding image signal, and device therefor
US10999592B1 (en) * 2020-04-23 2021-05-04 Alibaba Group Holding Limited Estimated optimal video encoding parameter set systems and methods

Also Published As

Publication number Publication date
US20220295075A1 (en) 2022-09-15

Similar Documents

Publication Publication Date Title
US11979601B2 (en) Encoder-side search ranges having horizontal bias or vertical bias
EP3205092B1 (en) Intra block copy prediction restrictions for parallel processing
EP3202150B1 (en) Rules for intra-picture prediction modes when wavefront parallel processing is enabled
EP3058739B1 (en) Features of intra block copy prediction mode for video and image coding and decoding
CN114128259A (zh) 用于视频译码的合并模式译码
TW202123699A (zh) 具有協調的運動場儲存及運動補償的幾何分區模式
US20240121425A1 (en) Motion information storage for video coding and signaling
CN113728629A (zh) 视频译码中的运动向量推导
CN113892264A (zh) 使用非矩形预测模式来减少用于视频数据预测的运动场存储
CN114846796A (zh) 用于视频译码中的参考图片重采样的环绕偏移
CN114208199A (zh) 用于视频译码的色度帧内预测单元
CN115191117A (zh) 视频编码中的参考图片列表和共位图片信令通知
CN114009039A (zh) 视频译码中的时间运动矢量预测候选的推导
CN113615173A (zh) 对仿射译码块进行光流预测修正的方法及装置
CN115398921A (zh) 确定是否对在切片报头中的视频数据的图片的图片报头数据进行译码
CN114846801A (zh) 基于色度变换跳过的用于色度的lfnst信令
US11838551B2 (en) Adaptive block level bit-depth prediction
CN113994675A (zh) 用于bdpcm模式的最大允许块大小
CN114830646A (zh) 图像编码方法和图像解码方法
CN114868398A (zh) 用于视频译码的单色调色板模式
US20220295075A1 (en) Resource constrained video encoding
TWI843809B (zh) 用於視訊寫碼中具有運動向量差之合併模式之信令傳輸
CN114979661A (zh) 利用阿尔法通道对图像/视频进行编解码的方法
WO2023055840A1 (en) Decoder-side intra prediction mode derivation with extended angular modes
WO2024010943A1 (en) Template matching prediction with block vector difference refinement

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