CN116016936A - 使用调色板模式的视频编解码的方法和装置 - Google Patents

使用调色板模式的视频编解码的方法和装置 Download PDF

Info

Publication number
CN116016936A
CN116016936A CN202210791658.3A CN202210791658A CN116016936A CN 116016936 A CN116016936 A CN 116016936A CN 202210791658 A CN202210791658 A CN 202210791658A CN 116016936 A CN116016936 A CN 116016936A
Authority
CN
China
Prior art keywords
video
palette
codec
block
binarization process
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
CN202210791658.3A
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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Publication of CN116016936A publication Critical patent/CN116016936A/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/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/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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
    • 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
    • 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/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

Landscapes

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

Abstract

电子装置执行一种编码视频数据的方法。该方法包括:在第一编解码级别处,确定用于第一组调色板模式编解码单元的第一语法元素;如果确定第一语法元素具有第一预定义值:选择用于第一组调色板模式编解码单元的第一二值化过程;使用第一二值化过程,将第一组调色板模式编解码单元编码到比特流中;如果确定第一语法元素不具有第一预定义值:选择用于第一组调色板模式编解码单元的第二二值化过程,第二二值化过程不同于第一二值化过程;以及使用第二二值化过程,将第一组调色板模式编解码单元编码到比特流中。

Description

使用调色板模式的视频编解码的方法和装置
本申请是申请日为2020年10月12日,发明名称为“使用调色板模式的视频编解码的方法和装置”,申请号为202080071603.4的专利申请的分案申请。
相关申请
本申请要求享有于2019年10月10日提交的标题为“VIDEO CODING USING PALETTEMODE”的美国临时专利申请号62/913,623的优先权,该美国临时申请通过引用的方式以其全部内容并入本文。
技术领域
本申请总体上涉及视频数据编解码和压缩,并且具体地,涉及使用调色板模式的视频编解码的方法和系统。
背景技术
数字视频由各种电子设备支持,诸如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字录制设备、数字媒体播放器、视频游戏控制台、智能电话、视频电话会议设备、视频流设备等。电子设备通过实施如由MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分、高级视频编解码(AVC)、高效视频编解码(HEVC)和通用视频编解码(VVC)标准定义的视频压缩/解压缩标准,来发送、接收、编码、解码、和/或存储数字视频数据。视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测,以减少或去除视频数据中固有的冗余。针对基于块的视频编解码,视频帧被分割为一个或多个条带,每个条带具有多个视频块,视频块也可以被称为编解码树单元(CTU)。每个CTU可以包含一个编解码单元(CU)或递归地拆分成更小的CU,直到达到预定义的最小CU尺寸。每个CU(也称为叶CU)包含一个或多个变换单元(TU),并且每个CU还包含一个或多个预测单元(PU)。每个CU可以以帧内模式、帧间模式或IBC模式被编解码。视频帧的帧内编解码(I)条带中的视频块是使用空间预测被编码的,空间预测是关于同一视频帧内的相邻块中的参考样本进行的。视频帧的帧间编解码(P或B)条带中的视频块可以使用空间预测或时间预测,空间预测是关于同一视频帧内的相邻块中的参考样本进行的,时间预测是关于其他先前和/或未来参考视频帧中的参考样本进行的。
基于先前已编码的参考块(例如,相邻块)的空间预测或时间预测,得出了针对待编解码的当前视频块的预测块。寻找参考块的过程可以通过块匹配算法来完成。残差数据,其表示待编解码的当前块和预测块之间的像素差异,被称为残差块或预测误差。帧间编解码块根据运动矢量和残差块而被编码,运动矢量指向形成预测块的参考帧中的参考块。确定运动矢量的过程通常被称为运动估计。帧内编解码块根据帧内预测模式和残差块而被编码。为了进一步压缩,残差块从像素域被变换到变换域,例如频域,从而得出残差变换系数,残差变换系数然后可以被量化。最初以二维阵列排列的量化后的变换系数可以被扫描以产生变换系数的一维矢量,并且然后被熵编码到视频比特流中以实现甚至更多的压缩。
已编码的视频比特流然后被保存在计算机可读存储介质(例如,闪存)中,以被具有数字视频能力的另一电子设备访问,或者直接有线地或无线地发送给电子设备。电子设备然后通过以下方式执行视频解压缩(其是上文描述的视频压缩的相反过程):例如,解析已编码的视频比特流以从比特流获得语法元素,以及至少部分地基于从比特流获得的语法元素从已编码的视频比特流将数字视频数据重建为其原始格式,并且电子设备将重建的数字视频数据呈现在电子设备的显示器上。
随着数字视频质量从高清变为4Kx2K或者甚至8Kx4K,要编码/解码的视频数据量呈指数增长。如何在保持已解码视频数据的图像质量的同时,能够更有效率地编码/解码视频数据,是一项持续的挑战。
发明内容
本申请描述了与视频数据编码和解码有关的实施方式,并且更具体地,实施方式有关于使用调色板模式的视频编码和解码的系统和方法。
根据本申请的第一方面,一种编码视频数据的方法包括:在第一编解码级别处,确定用于第一组调色板模式编解码单元的第一语法元素;如果确定第一语法元素具有第一预定义值:选择用于第一组调色板模式编解码单元的第一二值化过程;使用第一二值化过程,将第一组调色板模式编解码单元编码到比特流中;如果确定第一语法元素不具有第一预定义值:选择用于第一组调色板模式编解码单元的第二二值化过程,第二二值化过程不同于第一二值化过程;以及,使用第二二值化过程,将第一组调色板模式编解码单元编码到比特流中。
根据本申请的第二方面,一种电子装置包括一个或多个处理单元、耦接到一个或多个处理单元的存储器、以及存储器中存储的多个程序。这些程序在由一个或多个处理单元执行时,使电子装置执行如上文所描述的编码视频数据的方法。
根据本申请的第三方面,一种非暂时性计算机可读存储介质存储用于由具有一个或多个处理单元的电子装置处理的比特流。这些比特流在由一个或多个处理单元处理时,使电子装置执行如上文所描述的编码视频数据的方法。
根据本申请的第四方面,一种计算机程序产品包括至少一个指令。这些至少一个指令在由至少一个处理器执行时使得至少一个处理器执行如上文所描述的编码视频数据的方法。
根据本申请的第五方面,一种非暂时性计算机可读存储介质存储如上文所描述的编码视频数据的方法生成的比特流。
附图说明
附图,其被包括以提供对实施方式的进一步理解并且被并入本文且构成说明书的一部分,示出了所描述的实施方式并且与描述一起用于解释基本原理。相似的参考标号指代对应的部分。
图1是示出根据本公开的一些实施方式的示例性视频编码和解码系统的框图。
图2是示出根据本公开的一些实施方式的示例性视频编码器的框图。
图3是示出根据本公开的一些实施方式的示例性视频解码器的框图。
图4A到图4E是示出根据本公开的一些实施方式的帧如何被递归地分割成具有不同尺寸和形状的多个视频块的框图。
图5A到图5D是示出根据本公开的一些实施方式的使用调色板表格以用于编解码视频数据的示例的框图。
图6是示出根据本公开的一些实施方式的示例性过程的流程图,通过该示例性过程,视频解码器使用自适应二值化过程来实施对利用基于调色板的方案被编码的视频数据进行解码的技术。
图7是示出根据本公开的一些实施方式的示例上下文自适应二进制算术编解码(CABAC)引擎的框图。
具体实施方式
现在将详细参考具体实施方式,其示例在附图中示出。在下面的详细描述中,阐述了许多非限制性的具体细节以帮助理解本文呈现的主题。但是对于本领域普通技术人员而言将清楚的是,在不脱离权利要求的范围的情况下可以使用各种替代方案,并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员而言将清楚的是,本文呈现的主题可以在具有数字视频能力的许多类型的电子设备上实现。
图1是示出根据本公开的一些实施方式的用于并行地编码和解码视频块的示例性系统10的框图。如图1中所示,系统10包括源设备12,源设备12生成并编码稍后将由目的地设备14解码的视频数据。源设备12和目的地设备14可以包括各种电子设备中的任何电子设备,包括台式计算机或膝上型计算机、平板计算机、智能电话、机顶盒、数字电视、相机、显示设备、数字媒体播放器、视频游戏控制台、视频流设备等。在一些实施方式中,源设备12和目的地设备14配备有无线通信能力。
在一些实施方式中,目的地设备14可以经由链路16接收要解码的已编码视频数据。链路16可以包括能够将已编码视频数据从源设备12移动到目的地设备14的任何类型的通信介质或设备。在一个示例中,链路16可以包括使源设备12能够向目的地设备14实时地直接发送已编码视频数据的通信介质。已编码视频数据可以根据通信标准(诸如无线通信协议)被调制,并向目的地设备14发送。通信介质可以包括任何无线或有线的通信介质,诸如射频(RF)频谱或者一个或更多物理传输线。通信介质可以形成基于分组的网络(诸如局域网、广域网、或者全球网络,诸如因特网)的一部分。通信介质可以包括路由器、交换机、基站、或者可以有助于促进从源设备12到目的地设备14的通信的任何其他装备。
在一些其他实施方式中,已编码视频数据可以从输出接口22发送给存储设备32。随后,存储设备32中的已编码视频数据可以由目的地设备14经由输入接口28访问。存储设备32可以包括各种分布式或本地访问的数据存储介质中的任何数据存储介质,诸如硬盘驱动器、蓝光光盘、DVD、CD-ROM、闪存、易失性或非易失性存储器、或用于存储已编码视频数据的任何其他合适的数字存储介质。在进一步的示例中,存储设备32可以对应于文件服务器或另一中间存储设备,其可以保持由源设备12生成的已编码视频数据。目的地设备14可以经由流传输或下载来访问来自存储设备32的已存储视频数据。文件服务器可以是能够存储已编码视频数据并将已编码视频数据发送给目的地设备14的任何类型的计算机。示例性文件服务器包括web服务器(例如,用于网站)、FTP服务器、网络附加存储(NAS)设备、或本地磁盘驱动器。目的地设备14可以通过适用于访问文件服务器上存储的已编码视频数据的任何标准数据连接来访问已编码视频数据,标准数据连接包括无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)、或两者的组合。来自存储设备32的已编码视频数据的传输可以是流传输、下载传输、或两者的组合。
如图1中所示,源设备12包括视频源18、视频编码器20和输出接口22。视频源18可以包括诸如视频捕获设备之类的源(例如摄像机)、包含先前捕获视频的视频档案、用于从视频内容提供者接收视频的视频馈送接口、和/或用于生成作为源视频的计算机图形数据的计算机图形系统、或此类源的组合。作为一个示例,如果视频源18是安全监视系统的摄像机,则源设备12和目的地设备14可以形成相机电话或视频电话。然而,本申请中描述的实施方式可以一般性地适用于视频编解码,并且可以应用于无线应用和/或有线应用。
捕获的视频、预先捕获的视频、或计算机生成的视频可以由视频编码器20编码。已编码视频数据可以经由源设备12的输出接口22直接发送到目的地设备14。已编码视频数据也可以(或替代地)被存储到存储设备32上,以供目的地设备14或其他设备稍后访问,以用于解码和/或回放。输出接口22还可以包括调制解调器和/或发射机。
目的地设备14包括输入接口28、视频解码器30和显示设备34。输入接口28可以包括接收器和/或调制解调器,并且通过链路16接收已编码视频数据。通过链路16传送的、或在存储设备32上提供的已编码视频数据可以包括由视频编码器20生成的各种语法元素,以供视频解码器30在解码视频数据时使用。这样的语法元素可以被包括在通信介质上发送的、在存储介质上存储的、或在文件服务器上存储的已编码视频数据内。
在一些实施方式中,目的地设备14可以包括显示设备34,显示设备34可以是集成显示设备和被配置为与目的地设备14进行通信的外部显示设备。显示设备34向用户显示已解码视频数据,并且可以包括各种显示设备中的任何显示设备,诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器、或另一类型的显示设备。
视频编码器20和视频解码器30可以根据专属标准或行业标准(诸如VVC、HEVC、MPEG-4第10部分、高级视频编解码AVC、或此类标准的扩展)进行操作。应当理解,本申请不限于具体的视频编解码/解码标准,并且可以适用于其他视频编解码/解码标准。通常预期源设备12的视频编码器20可以被配置为根据这些当前或未来标准中的任何标准来编码视频数据。类似地,通常还预期目的地设备14的视频解码器30可以被配置为根据这些当前或未来标准中的任何标准来解码视频数据。
视频编码器20和视频解码器30均可以被实施为各种合适的编码器电路系统中的任何电路系统,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件、或其任何组合。当部分以软件实现时,电子设备可以将用于软件的指令存储在合适的非暂时性计算机可读介质中,并使用一个或多个处理器在硬件中执行指令,以执行本公开中公开的视频编解码/解码操作。视频编码器20和视频解码器30中的每一个可以被包括在一个或多个编码器或解码器中,其中的任一者可以被集成为相应设备中的组合式编码器/解码器(CODEC)的一部分。
图2是示出根据本申请中描述的一些实施方式的示例性视频编码器20的框图。视频编码器20可以执行视频帧内的视频块的帧内预测编解码和帧间预测编解码。帧内预测编解码依赖于空间预测,以减少或去除给定视频帧或图片内的视频数据中的空间冗余。帧间预测编解码依赖于时间预测,以减少或去除视频序列的邻近视频帧或图片内的视频数据中的时间冗余。
如图2中所示,视频编码器20包括视频数据存储器40、预测处理单元41、解码图片缓冲器(DPB)64、加法器50、变换处理单元52、量化单元54和熵编码单元56。预测处理单元41还包括运动估计单元42、运动补偿单元44、分割单元45、帧内预测处理单元46和帧内块复制(IBC)单元48。在一些实施方式中,视频编码器20还包括反量化单元58、逆变换处理单元60和加法器62,以用于视频块重建。去块滤波器(未示出)可以位于加法器62和DPB 64之间,来对块边界进行滤波以便从重建的视频中去除块效应伪像。除了去块滤波器以外,还可以使用环路滤波器(未示出)来对加法器62的输出进行滤波。视频编码器20可以采用固定硬件单元或可编程硬件单元的形式,或者可以在已说明的固定硬件单元或可编程硬件单元中的一个或多个之间划分。
视频数据存储器40可以存储将由视频编码器20的组件编码的视频数据。视频数据存储器40中的视频数据可以例如从视频源18获得。DPB 64是一种缓冲器,其存储用于由视频编码器20在编码视频数据(例如,在帧内或帧间预测编解码模式中)时使用的参考视频数据。视频数据存储器40和DPB 64可以由各种存储器设备中的任何存储器设备形成。在各种示例中,视频数据存储器40可以与视频编码器20的其他组件一起在芯片上,或者相对于那些组件在芯片外。
如图2中所示,在接收视频数据之后,预测处理单元41内的分割单元45将视频数据分割成视频块。该分割还可以包括根据与视频数据相关联的预定义拆分结构(诸如四叉树结构),将视频帧分割为条带、瓦片、或其他更大的编解码单元(CU)。视频帧可以被划分为多个视频块(或者被称为瓦片的视频块集合)。预测处理单元41可以基于误差结果(例如,编解码速率和失真水平),来针对当前视频块选择多种可能的预测编解码模式之一,诸如多种帧内预测编解码模式之一或多种帧间预测编解码模式之一。预测处理单元41可以将得到的帧内或帧间预测编解码块提供给加法器50以生成残差块,并且提供给加法器62以重建已编码的块以便后续用作参考帧的一部分。预测处理单元41还向熵编码单元56提供语法元素,诸如运动矢量、帧内模式指示符、分割信息、以及其他此类语法信息。
为了针对当前视频块选择合适的帧内预测编解码模式,预测处理单元41内的帧内预测处理单元46可以相对于与待编解码的当前块位于同一帧中的一个或多个相邻块,执行当前视频块的帧内预测编解码以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个预测块,执行当前视频块的帧间预测编解码以提供时间预测。视频编码器20可以执行多个编解码遍次,例如以针对每个视频数据块选择合适的编解码模式。
在一些实施方式中,运动估计单元42通过根据视频帧序列内的预定型式生成运动矢量来确定针对当前视频帧的帧间预测模式,该运动矢量指示当前视频帧内的视频块的预测单元(PU)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动矢量的过程,运动矢量估计针对视频块而言的运动。运动矢量例如可以指示当前视频帧或图片内的视频块的PU相对于参考帧内的预测块(或其他被编解码的单元)的位移,该预测块是相对于当前帧内被编解码的当前块(或其他被编解码的单元)而言的。预定型式可以将序列中的视频帧指定为P帧或B帧。IBC单元48可以以类似于由运动估计单元42为了帧间预测而确定运动矢量的方式,来确定用于IBC编解码的矢量(例如,块矢量),或者可以利用运动估计单元42来确定块矢量。
预测块是在像素差方面被认为与待编解码的视频块的PU紧密匹配的参考帧的块,像素差可以通过绝对差之和(SAD)、平方差之和(SSD)、或其他差值度量来确定。在一些实施方式中,视频编码器20可以计算DPB 64中存储的参考帧的亚整数像素位置的值。例如,视频编码器20可以内插出参考帧的四分之一像素位置、八分之一像素位置、或其他分数像素位置的值。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索,并输出具有分数像素精度的运动矢量。
运动估计单元42通过以下方式来计算帧间预测编解码帧中的视频块的PU的运动矢量:将PU的位置与从第一参考帧列表(列表0)或第二参考帧列表(列表1)中选择的参考帧的预测块的位置进行比较,第一参考帧列表和第二参考帧列表中的每个参考帧列表标识DPB 64中存储的一个或多个参考帧。运动估计单元42将计算的运动矢量发送给运动补偿单元44,并且然后发送给熵编码单元56。
由运动补偿单元44执行的运动补偿可以涉及基于由运动估计单元42确定的运动矢量来获取或生成预测块。一经接收到针对当前视频块的PU的运动矢量,运动补偿单元44可以在参考帧列表之一中定位运动矢量指向的预测块,从DPB 64取回预测块,并将预测块转发给加法器50。加法器50然后通过以下方式来形成像素差值的残差视频块:从正在被编解码的当前视频块的像素值减去由运动补偿单元44所提供的预测块的像素值。形成残差视频块的像素差值可以包括亮度差分量或色度差分量或两者。运动补偿单元44还可以生成与视频帧的视频块相关联的语法元素,以供视频解码器30在解码视频帧的视频块时使用。语法元素可以包括例如定义用于识别预测块的运动矢量的语法元素、指示预测模式的任何标志、或本文描述的任何其他语法信息。注意,运动估计单元42和运动补偿单元44可以高度集成,但是出于概念目的而被单独说明。
在一些实施方式中,IBC单元48可以按照与上文结合运动估计单元42和运动补偿单元44所描述的方式类似的方式来生成矢量并获取预测块,但是预测块位于与正在被编解码的当前块相同的帧中,并且矢量被称为块矢量而非运动矢量。具体而言,IBC单元48可以确定用于编码当前块的帧内预测模式。在一些示例中,IBC单元48可以例如在多个单独编码遍次期间使用各种帧内预测模式来编码当前块,并通过率失真分析来测试它们的性能。接下来,IBC单元48可以在各种被测试的帧内预测模式中选择适当的帧内预测模式来使用,并相应地生成帧内模式指示符。例如,IBC单元48可以针对各种被测试的帧内预测模式使用率失真分析来计算率失真值,并且在被测试的模式中选择具有最佳率失真特性的帧内预测模式作为要使用的合适的帧内预测模式。率失真分析通常确定已编码块与被编码以产生已编码块的原始未编码块之间的失真(或误差)量、以及用于产生已编码块的比特率(即,比特的数量)。IBC单元48可以从针对各种已编码块的失真和速率来计算比率,以确定哪种帧内预测模式针对块展现出最佳率失真值。
在其他示例中,IBC单元48可以全部地或部分地使用运动估计单元42和运动补偿单元44,来执行根据本文描述的实施方式的用于IBC预测的此类功能。在任一情况下,对于帧内块复制,预测块可以是在像素差方面被认为与待编解码块紧密匹配的块,像素差可以由绝对差之和(SAD)、平方差之和(SSD)、或其他差值度量来确定,并且对预测块的识别可以包括针对亚整数像素位置的值计算。
无论预测块是根据帧内预测来自同一帧,还是根据帧间预测来自不同帧,视频编码器20都可以通过从正被编解码的当前视频块的像素值减去预测块的像素值而形成像素差值,来形成残差视频块。形成残差视频块的像素差值可以包括亮度分量差和色度分量差两者。
作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测或由IBC单元48执行的帧内块复制预测的替代方式,帧内预测处理单元46可以对当前视频块进行帧内预测。具体而言,帧内预测处理单元46可以确定用于编码当前块的帧内预测模式。为此,帧内预测处理单元46可以例如在多个单独的编码遍次期间使用各种帧内预测模式来编码当前块,并且帧内预测处理单元46(或在一些示例中,是模式选择单元)可以从被测试的帧内预测模式中选择要使用的合适的帧内预测模式。帧内预测处理单元46可以向熵编码单元56提供信息,该信息指示针对块所选择的帧内预测模式。熵编码单元56可以将指示所选择的帧内预测模式的信息编码在比特流中。
在预测处理单元41经由帧间预测或帧内预测确定针对当前视频块的预测块之后,加法器50通过从当前视频块减去预测块来形成残差视频块。残差块中的残差视频数据可以被包括在一个或多个变换单元(TU)中,并且被提供给变换处理单元52。变换处理单元52使用变换将残差视频数据变换成残差变换系数,变换诸如是离散余弦变换(DCT)或概念上类似的变换。
变换处理单元52可以将得出的变换系数发送给量化单元54。量化单元54对变换系数进行量化以进一步降低比特率。量化过程还可以减少与一些或所有系数相关联的比特深度。量化的程度可以通过调整量化参数来修改。在一些示例中,量化单元54然后可以执行对包括已量化变换系数的矩阵的扫描。备选地,熵编码单元56可以执行扫描。
在量化之后,熵编码单元56使用例如上下文自适应可变长度编解码(CAVLC)、上下文自适应二进制算术编解码(CABAC)、基于语法的上下文自适应二进制算术编解码(SBAC)、概率区间分割熵(PIPE)编解码或另外的熵编码方法或技术,来将已量化的变换系数熵编码成视频比特流。已编码比特流然后可以被发送给视频解码器30,或存档在存储设备32中以供稍后传输给视频解码器30或由视频解码器30取回。熵编码单元56还可以对用于正在被编解码的当前视频帧的运动矢量和其他语法元素进行熵编码。
反量化单元58和逆变换处理单元60分别应用反量化和逆变换来重建像素域中的残差视频块,以生成用于预测其他视频块的参考块。如上文指出的,运动补偿单元44可以从DPB 64中存储的帧的一个或多个参考块来生成经运动补偿的预测块。运动补偿单元44还可以将一个或多个内插滤波器应用于预测块,以计算用于在运动估计中使用的亚整数像素值。
加法器62将重建的残差块加到由运动补偿单元44所产生的经运动补偿的预测块以产生参考块,用于存储在DPB 64中。参考块然后可以由IBC单元48、运动估计单元42和运动补偿单元44用作预测块,以对后续视频帧中的另一视频块进行帧间预测。
图3是示出根据本申请的一些实施方式的示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、反量化单元86、逆变换处理单元88、加法器90和DPB 92。预测处理单元81还包括运动补偿单元82、帧内预测处理单元84和IBC单元85。视频解码器30可以执行解码过程,解码过程大体上与上文结合图2关于视频编码器20所描述的编码过程互逆。例如,运动补偿单元82可以基于从熵解码单元80接收的运动矢量来生成预测数据,而帧内预测单元84可以基于从熵解码单元80接收的帧内预测模式指示符来生成预测数据。
在一些示例中,视频解码器30的单元可以被分配任务以执行本申请的实施方式。此外,在一些示例中,本公开的实施方式可以在视频解码器30的一个或多个单元之间划分。例如,IBC单元85可以单独地或者与视频解码器30的其他单元(诸如运动补偿单元82、帧内预测处理单元84和熵解码单元80)组合地执行本申请的实施方式。在一些示例中,视频解码器30可以不包括IBC单元85,并且IBC单元85的功能可以由预测处理单元81的其他组件(诸如运动补偿单元82)来执行。
视频数据存储器79可以存储要由视频解码器30的其他组件解码的视频数据,诸如已编码视频比特流。视频数据存储器79中存储的视频数据可以例如从存储设备32获得,从本地视频源(诸如相机)获得,经由视频数据的有线或无线网络通信获得,或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)获得。视频数据存储器79可以包括编解码图片缓冲器(CPB),编解码图片缓冲器存储来自已编码视频比特流的已编码视频数据。视频解码器30的解码图片缓冲器(DPB)92存储参考视频数据,以供视频解码器30在解码视频数据时使用(例如,在帧内或帧间预测编解码模式中)。视频数据存储器79和DPB 92可以由各种存储器设备中的任何存储器设备形成,诸如动态随机存取存储器(DRAM)(包括同步DRAM,SDRAM)、磁阻RAM(MRAM)、电阻RAM(RRAM)、或其他类型的存储器设备。为了说明的目的,视频数据存储器79和DPB 92在图3中被描绘为视频解码器30的两个不同组件。但是对于本领域技术人员将清楚的是,视频数据存储器79和DPB 92可以由相同的存储器设备或分开的存储器设备提供。在一些示例中,视频数据存储器79可以与视频解码器30的其他组件一起位于芯片上,或者相对于那些组件位于芯片外。
在解码过程期间,视频解码器30接收已编码视频比特流和相关联的语法元素,已编码视频比特流表示已编码视频帧的视频块。视频解码器30可以在视频帧级别和/或视频块级别接收语法元素。视频解码器30的熵解码单元80对比特流进行熵解码以生成量化后的系数、运动矢量或帧内预测模式指示符、以及其他语法元素。熵解码单元80然后将运动矢量和其他语法元素转发给预测处理单元81。
当视频帧被编解码为帧内预测编解码(I)帧或用于其他类型帧中的帧内编解码预测块时,预测处理单元81的帧内预测处理单元84可以基于用信号发送的帧内预测模式和来自当前帧的先前解码块的参考数据,来生成针对当前视频帧的视频块的预测数据。
当视频帧被编解码为帧间预测编解码(即,B或P)帧时,预测处理单元81的运动补偿单元82基于从熵解码单元80接收到的运动矢量和其他语法元素,来产生针对当前视频帧的视频块的一个或多个预测块。预测块中的每个预测块可以从参考帧列表之一内的参考帧产生。视频解码器30可以基于DPB 92中存储的参考帧,使用默认构建技术来构建参考帧列表:列表0和列表1。
在一些示例中,当视频块根据本文描述的IBC模式被编解码时,预测处理单元81的IBC单元85基于从熵解码单元80接收的块矢量和其他语法元素来产生针对当前视频块的预测块。预测块可以位于与由视频编码器20定义的当前视频块相同的图片的重建区域内。
运动补偿单元82和/或IBC单元85通过解析运动矢量和其他语法元素来确定针对当前视频帧的视频块的预测信息,并且然后使用预测信息来产生针对正在被解码的当前视频块的预测块。例如,运动补偿单元82使用所接收的语法元素中的一些语法元素来确定用于对视频帧的视频块进行编解码的预测模式(例如,帧内预测或帧间预测)、帧间预测帧类型(例如,B或P)、针对帧的一个或多个参考帧列表的构建信息、针对帧的每个帧间预测编码视频块的运动矢量、针对帧的每个帧间预测编解码视频块的帧间预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
类似地,IBC单元85可以使用接收到的语法元素中的一些语法元素(例如,标志),来确定当前视频块是使用IBC模式被预测的、帧的哪些视频块位于重建区域内并且应当被存储在DPB 92中的构建信息、针对帧的每个IBC预测的视频块的块矢量、针对帧的每个IBC预测的视频块的IBC预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
运动补偿单元82还可以使用如在视频块的编码期间由视频编码器20使用的内插滤波器来执行内插,以计算针对参考块的亚整数像素的内插值。在此情况下,运动补偿单元82可以从所接收的语法元素来确定由视频编码器20所使用的内插滤波器,并且使用这些内插滤波器来产生预测块。
反量化单元86使用由视频编码器20为确定量化程度针对视频帧中的每个视频块所计算的相同量化参数,对比特流中提供的并由熵解码单元80熵解码的量化后变换系数进行反量化。逆变换处理单元88对变换系数应用逆变换,例如逆DCT、逆整数变换、或概念上类似的逆变换过程,以便重建像素域中的残差块。
在运动补偿单元82或IBC单元85基于矢量和其他语法元素生成针对当前视频块的预测块之后,加法器90通过对来自逆变换处理单元88的残差块以及由运动补偿单元82和IBC单元85生成的对应预测块进行求和,来重建针对当前视频块的已解码视频块。环路滤波器(未图示)可以位于加法器90和DPB 92之间以进一步处理已解码视频块。给定帧中的已解码视频块然后被存储在DPB 92中,DPB 92存储用于接下来的视频块的后续运动补偿的参考帧。DPB 92或与DPB 92分开的存储器设备也可以存储已解码视频,以便稍后在显示设备(诸如图1的显示设备34)上呈现。
在典型的视频编解码过程中,视频序列通常包括帧或图片的有序集合。每个帧可以包括三个样本阵列,表示为SL、SCb和SCr。SL是亮度样本的二维阵列。SCb是Cb色度样本的二维阵列。SCr是Cr色度样本的二维阵列。在其他情况下,帧可以是单色的并且因此仅包括亮度样本的一个二维阵列。
如图4A中所示,视频编码器20(或更具体地是分割单元45)通过首先将帧分割为一组编解码树单元(CTU),来生成该帧的已编码表示。视频帧可以包括按照从左到右和从上到下的光栅扫描顺序连续排序的整数个CTU。每个CTU是最大的逻辑编解码单元,并且CTU的宽度和高度由视频编码器20在序列参数集中用信号发送,使得视频序列中的所有CTU具有相同的尺寸,即128×128、64×64、32×32和16×16之一。但是应当注意,本申请不必限于特定的尺寸。如图4B中所示,每个CTU可以包括亮度样本的一个编解码树块(CTB)、色度样本的两个对应的编解码树块、以及用于对编解码树块的样本进行编解码的语法元素。语法元素描述已编解码的像素块的不同类型单元的属性以及如何可以在视频解码器30处重建视频序列,包括帧间预测或帧内预测、帧内预测模式、运动矢量和其他参数。在单色图片或具有三个单独色彩平面的图片中,CTU可以包括单个编解码树块和用于对编解码树块的样本进行编解码的语法元素。编解码树块可以是NxN的样本块。
为了实现更好的性能,视频编码器20可以对CTU的编解码树块递归地执行树分割,诸如二叉树分割、三叉树分割、四叉树分割或以上的组合,并且将CTU划分成更小的编解码单元(CU)。如图4C中所描绘的,64x64的CTU 400首先被划分成四个较小的CU,每个较小的CU具有32x32的块尺寸。在四个较小的CU中,CU 410和CU 420均按块尺寸被划分成四个16x16的CU。两个16x16的CU 430和CU 440各自进一步按块尺寸被划分成四个8x8的CU。图4D描绘了四叉树数据结构,四叉树数据结构示出了如图4C中所描绘的CTU 400的分割过程的最终结果,四叉树的每个叶节点对应于范围从32x32到8x8的相应尺寸的一个CU。类似于图4B中所描绘的CTU,每个CU可以包括相同尺寸的帧的亮度样本的编解码块(CB)和色度样本的两个对应的编解码块、以及用于对编解码块的样本进行编解码的语法元素。在单色图片或具有三个单独色彩平面的图片中,CU可以包括单个编解码块和用于对编解码块的样本进行编解码的语法结构。应当注意,图4C和图4D中所描绘的四叉树分割仅用于说明目的,并且一个CTU可以基于四叉/三叉/二叉树分割被拆分成CU以适应不同的局部特性。在多类型树结构中,一个CTU被四叉树结构分割,并且每个四叉树叶CU可以被二叉和三叉树结构进一步分割。如图4E中所示,有五种分割类型,也即,四叉分割、水平二叉分割、垂直二叉分割、水平三叉分割和垂直三叉分割。
在一些实施方式中,视频编码器20可以进一步将CU的编解码块分割成一个或多个MxN预测块(PB)。预测块是对其应用相同预测(帧间或帧内)的矩形(正方形或非正方形)样本块。CU的预测单元(PU)可以包括亮度样本的预测块、色度样本的两个对应预测块、以及用于对预测块进行预测的语法元素。在单色图片或具有三个单独色彩平面的图片中,PU可以包括单个预测块和用于对预测块进行预测的语法结构。视频编码器20可以为CU的每个PU的亮度预测块、Cb预测块和Cr预测块生成预测的亮度块、Cb块和Cr块。
视频编码器20可以使用帧内预测或帧间预测来生成针对PU的预测块。如果视频编码器20使用帧内预测来生成PU的预测块,则视频编码器20可以基于与PU相关联的帧的已解码样本来生成PU的预测块。如果视频编码器20使用帧间预测来生成PU的预测块,则视频编码器20可以基于不同于与PU相关联的帧的一个或多个帧的已解码样本来生成PU的预测块。
在视频编码器20针对CU的一个或多个PU生成预测的亮度块、Cb块和Cr块之后,视频编码器20可以通过将CU的预测亮度块从其原始亮度编解码块中减去来生成针对CU的亮度残差块,使得CU的亮度残差块中的每个样本指示CU的预测亮度块之一中的亮度样本与CU的原始亮度编解码块中的对应样本之间的差异。类似地,视频编码器20可以针对CU分别生成Cb残差块和Cr残差块,使得CU的Cb残差块中的每个样本指示CU的预测Cb块之一中的Cb样本与CU的原始Cb编解码块中的对应样本之间的差异,并且CU的Cr残差块中的每个样本可以指示CU的预测Cr块之一中的Cr样本与CU的原始Cr编解码块中的对应样本之间的差异。
此外,如图4C中所示,视频编码器20可以使用四叉树分割来将CU的亮度残差块、Cb残差块和Cr残差块分解为一个或多个亮度变换块、Cb变换块和Cr变换块。变换块是对其应用相同变换的矩形(正方形或非正方形)样本块。CU的变换单元(TU)可以包括亮度样本的变换块、色度样本的两个对应变换块、以及用于对变换块样本进行变换的语法元素。因此,CU的每个TU可以与亮度变换块、Cb变换块和Cr变换块相关联。在一些示例中,与TU相关联的亮度变换块可以是CU的亮度残差块的子块。Cb变换块可以是CU的Cb残差块的子块。Cr变换块可以是CU的Cr残差块的子块。在单色图片或具有三个单独色彩平面的图片中,TU可以包括单个变换块和用于对变换块的样本进行变换的语法结构。
视频编码器20可以将一个或多个变换应用到TU的亮度变换块,以生成针对TU的亮度系数块。系数块可以是变换系数的二维阵列。变换系数可以是标量。视频编码器20可以将一个或多个变换应用到TU的Cb变换块,以生成针对TU的Cb系数块。视频编码器20可以将一个或多个变换应用到TU的Cr变换块,以生成针对TU的Cr系数块。
在生成系数块(例如,亮度系数块、Cb系数块或Cr系数块)之后,视频编码器20可以对系数块进行量化。量化通常是指一种过程,在该过程中,变换系数被量化以有可能减少用于表示变换系数的数据量,从而提供进一步压缩。在视频编码器20对系数块进行量化之后,视频编码器20可以对指示量化后的变换系数的语法元素进行熵编码。例如,视频编码器20可以对指示量化后的变换系数的语法元素执行上下文自适应二进制算术编解码(CABAC)。最后,视频编码器20可以输出包括比特序列的比特流,该比特序列形成编解码帧和相关联数据的表示,比特流被保存在存储设备32中或被传输给目的地设备14。
在接收到由视频编码器20生成的比特流之后,视频解码器30可以解析比特流以从比特流获得语法元素。视频解码器30可以至少部分地基于从比特流获得的语法元素来重建视频数据的帧。重建视频数据的过程通常与视频编码器20执行的编码过程互逆。例如,视频解码器30可以对与当前CU的TU相关联的系数块执行逆变换,以重建与当前CU的TU相关联的残差块。视频解码器30还通过将针对当前CU的PU的预测块的样本加到当前CU的TU的变换块的对应样本,来重建当前CU的编解码块。在为帧的每个CU重建编解码块之后,视频解码器30可以重建帧。
如上文指出的,视频编解码主要使用两种模式来实现视频压缩,也即,帧内部预测(或帧内预测)和帧之间预测(或帧间预测)。基于调色板的编解码是已经被许多视频编解码标准采用的另一种编解码方案。在基于调色板的编解码(其可能特别适用于屏幕生成内容编解码)中,视频编解码器(例如,视频编码器20或视频解码器30)形成颜色的调色板表格,其表示给定块的视频数据。调色板表格包括给定块中的最主导(例如,频繁使用)的像素值。给定块的视频数据中不频繁表示的像素值不被包括在调色板表格中,或者作为逃逸颜色被包括在调色板表格中。
调色板表格中的每个条目包括针对调色板表格中的对应像素值的索引。针对块中的样本的调色板索引可以被编解码,以指示来自调色板表格的哪个条目将用于预测或重建哪个样本。该调色板模式开始于针对图片、条带、瓦片、或其他此类视频块分组的第一块而生成调色板预测值的过程。如下文将解释的,通常通过更新先前使用的调色板预测值来生成用于后续视频块的调色板预测值。为了说明的目的,假设调色板预测值是在图片级别定义的。换句话说,图片可以包括多个编解码块,每个编解码块具有其自己的调色板表格,但是针对整张图片只有一个调色板预测值。
为了减少在视频比特流中用信号发送调色板条目所需要的比特,视频解码器可以利用调色板预测值来确定用于重建视频块的调色板表格中的新调色板条目。例如,调色板预测值可以包括来自先前使用的调色板表格的调色板条目,或者甚至通过包括最为近期使用的调色板表格的所有条目而利用最为近期使用的调色板表格被初始化。在一些实施方式中,调色板预测值可以包括少于来自最为近期使用的调色板表格的所有条目,并且然后包含来自其他先前使用的调色板表格的一些条目。调色板预测值可以具有与用于对不同块进行编解码的调色板表格相同的尺寸,或者可以大于或小于用于对不同块进行编解码的调色板表格。在一个示例中,调色板预测值被实施为包括64个调色板条目的先进先出(FIFO)表格。
为了从调色板预测值生成用于视频数据块的调色板表格,视频解码器可以从已编码视频比特流接收针对调色板预测值的每个条目的1比特标志。该1比特标志可以具有第一值(例如,二进制1)或者第二值(例如,二进制0),第一值指示调色板预测值的相关联条目将被包括在调色板表格中,第二值指示调色板预测值的相关联条目将不被包括在调色板表格中。如果调色板预测值的尺寸大于用于视频数据块的调色板表格,则一旦达到针对调色板表格的最大尺寸,视频解码器就可以停止接收更多标志。
在一些实施方式中,调色板表格中的一些条目可以在已编码视频比特流中直接以信号发送,而不是使用调色板预测值来确定。对于这样的条目,视频解码器可以从已编码视频比特流接收三个单独的m比特值,三个单独的m比特值指示与条目相关联的亮度分量和两个色度分量的像素值,其中m表示视频数据的比特深度。与直接以信号发送的调色板条目所需的多个m比特值相比,从调色板预测值导出的那些调色板条目只需要1比特标志。因此,使用调色板预测值以信号发送一些或所有调色板条目可以显著地减少以信号发送新调色板表格的条目所需的比特数量,从而提高调色板模式编解码的整体编解码效率。
在许多情况下,针对一个块的调色板预测值是基于用于对一个或多个先前编解码块进行编解码的调色板表格来确定的。但是当对图片、条带或瓦片中的第一编解码树单元进行编解码时,先前编解码块的调色板表格可能是不可用的。因此,调色板预测值不能使用先前使用的调色板表格的条目来生成。在这种情况下,调色板预测值的初始化值的序列可以在序列参数集(SPS)和/或图片参数集(PPS)中用信号被发送,这些初始化值是当先前使用的调色板表格不可用时用于生成调色板预测值的值。SPS通常是指应用于一系列连续已编解码视频图片的语法元素的语法结构,该一系列连续已编解码视频图片被称为已编解码视频序列(CVS),CVS由在每个条带分段头部中找到的语法元素所引用的PPS中找到的语法元素的内容来确定。PPS通常是指应用于CVS内的一个或多个单独图片的语法元素的语法结构,其由每个条带分段头部中找到的语法元素确定。因此,SPS通常被认为是比PPS更高级别的语法结构,意味着与PPS中包括的语法元素相比,SPS中包括的语法元素通常较不频繁地变化并且应用于视频数据的更大部分。
图5A到图5B是示出了根据本公开的一些实施方式的使用调色板表格以用于对视频数据进行编解码的示例的框图。
对于调色板(PLT)模式信令,调色板模式被编解码为用于编解码单元的预测模式,也即,用于编解码单元的预测模式可以是MODE_INTRA、MODE_INTER、MODE_IBC和MODE_PLT。如果使用调色板模式,则CU中的像素值是由一小组代表性颜色值表示的。该组被称为调色板。对于具有接近于调色板颜色的值的像素,用信号发送调色板索引。对于具有调色板之外的值的像素,利用逃逸符号表示像素并且直接用信号发送经量化的像素值。
为了解码调色板模式已编码块,解码器需要从比特流解码调色板颜色和索引。调色板颜色由调色板表格定义并由调色板表格编解码语法(例如,palette_predictor_run、num_signaled_palette_entries、new_palette_entries)来编码。针对每个CU,用信号发送逃逸标志palette_escape_val_present_flag,以指示当前CU中是否存在逃逸符号。如果存在逃逸符号,则调色板表格再增加一个条目,并将最后索引分配给逃逸模式。CU中所有像素的调色板索引形成调色板索引映射,并由调色板索引映射编解码语法(例如,num_palette_indices_minus1、palette_idx_idc、copy_above_indices_for_final_run_flag、palette_transpose_flag、copy_above_palette_indices_flag、palette_run_prefix、palette_run_suffix)进行编码。图5A中示出了调色板模式编解码CU的示例,其中调色板尺寸是4。CU中的前3个样本分别使用调色板条目2、0和3进行重建。CU中的“x”样本表示逃逸符号。CU级别标志palette_escape_val_present_flag指示CU中是否存在任何逃逸符号。如果存在逃逸符号,则调色板尺寸增加1并且最后索引用于指示逃逸符号。因此,在图5A中,索引4被分配给逃逸符号。
为了调色板表格的编解码,维护调色板预测值。调色板预测值在每个条带的开始处被初始化,其中调色板预测值被重置为0。针对调色板预测值中的每个条目,用信号发送重复使用标志以指示它是否为当前调色板的一部分。如图5B中所示,发送重复使用标志palette_predictor_run。此后,通过语法num_signaled_palette_entries,使用0阶指数Golomb码用信号发送新调色板条目的数量。最后,用信号发送用于新调色板条目的分量值new_palette_entries[]。在对当前CU进行编解码后,使用当前调色板来更新调色板预测值,并且当前调色板中未重复使用的来自先前调色板预测值的条目将被添加在新调色板预测值的末尾,直到达到允许的最大尺寸为止。
为了编解码调色板索引映射,如图5C中所示,使用水平或垂直遍历扫描对索引进行编解码。使用palette_transpose_flag在比特流中显式地以信号发送扫描顺序。
调色板索引是使用两种主要调色板样本模式被编解码的:'INDEX'和'COPY_ABOVE'。在“INDEX”模式中,显式地以信号发送调色板索引。在'COPY_ABOVE'模式中,上方行中的样本的调色板索引被复制。针对'INDEX'和'COPY_ABOVE'两种模式,都用信号发送游程值,该游程值指定使用相同模式被编解码的像素数。使用标志以信号发送模式,除外的情况是:当使用水平扫描时的顶行,或者当使用垂直扫描时的第一列,或者当先前模式是“COPY_ABOVE”时。
在一些实施例中,针对索引映射的编解码顺序如下:首先,使用语法num_palette_indices_minus1以信号发送用于CU的索引值的数量,随后是使用语法palette_idx_idc以信号发送用于整个CU的实际索引值。索引数量和索引值两者都是在旁路模式下被编解码的。这会将与索引相关的旁路编解码的二进制位分组在一起。然后,使用语法copy_above_palette_indices_flag、palette_run_prefix和palette_run_suffix,以交织方式用信号发送调色板模式(INDEX或COPY_ABOVE)和游程。copy_above_palette_indices_flag是上下文编解码的标志(只有一个二进制位),palette_run_prefix的码字是通过下面表3中描述的过程来确定的,并且前5个二进制位被上下文编解码。palette_run_suffix被编解码为旁路二进制位。最后,与用于整个CU的逃逸样本相对应的分量逃逸值被分组在一起,并且在旁路模式中被编解码。附加语法元素copy_above_indices_for_final_run_flag在以信号发送索引值之后以信号发送。该语法元素,与索引的数量相结合,消除了以信号发送与块中的最后游程相对应的游程值的需要。
在VVC的参考软件(VTM)中,针对I-条带启用了双树,这使针对亮度分量和色度分量的编解码单元分割分离开。结果,调色板分开地应用于亮度(Y分量)和色度(Cb分量和Cr分量)。如果禁用双树,则调色板将联合地应用于Y分量、Cb分量、Cr分量。
表1调色板编解码的语法
Figure BDA0003730490320000101
Figure BDA0003730490320000111
Figure BDA0003730490320000121
表2调色板编解码的语义
Figure BDA0003730490320000122
Figure BDA0003730490320000131
Figure BDA0003730490320000141
Figure BDA0003730490320000151
表3针对语法palette_run_prefix的二进制码字和CABAC上下文选择
Figure BDA0003730490320000152
Figure BDA0003730490320000161
在第15次JVET会议上,提出了基于行的CG(文档编号为JVET-O0120,并且可以在http://phenix.int-evry.fr/jvet/中访问)以简化VTM6.0中调色板模式中的缓冲器使用和语法。作为在变换系数编解码中使用的系数群组(CG),CU被划分为多个基于行的系数群组,每个系数群组由m个样本组成,其中用于逃逸模式的索引游程、调色板索引值和量化后的颜色针对每个CG被顺序地编码/解析。结果,基于行的CG中的像素可以在解析语法元素(例如,针对CG的索引游程、调色板索引值和逃逸量化颜色)之后被重建,这大大降低了VTM6.0中调色板模式中的缓冲器需求,其中用于整个CU的语法元素必须在重建之前被解析(和存储)。
在本申请中,如图5D中所示,基于遍历扫描模式,调色板模式的每个CU被划分成m个样本的多个分段(在本测试中,m=8)。
每个分段中的用于调色板游程编解码的编码顺序如下:针对每个像素,用信号发送一个上下文编解码的二进制位run_copy_flag=0,其指示:该像素与前一像素具有相同的模式,也即,前一扫描像素和当前像素两者都具有游程类型COPY_ABOVE,或者前一扫描像素和当前像素两者都具有游程类型INDEX和相同的索引值。否则,用信号发送run_copy_flag=1。
如果当前像素和前一像素具有不同的模式,则用信号发送一个上下文编解码的二进制位copy_above_palette_indices_flag,其指示像素的游程类型,也即,INDEX或COPY_ABOVE。在这种情形中,如果样本位于第一行中(水平遍历扫描)或第一列中(垂直遍历扫描),则解码器不必解析游程类型,因为默认使用INDEX模式。如果先前解析的游程类型是COPY_ABOVE,则解码器也不必解析游程类型。
在一个分段中的像素的调色板游程编解码之后,索引值(针对INDEX模式)和量化后的逃逸颜色被编解码为旁路二进制位,并且与上下文编解码二进制位的编码/解析分开地被分组,以便提高每个基于行的CG内的吞吐量。由于索引值现在于游程编解码之后被编解码/解析,所以编码器不必用信号发送索引值的数量num_palette_indices_minus1和最后游程类型copy_above_indices_for_final_run_flag。表4中示出了CG调色板模式的语法。
表4调色板编解码的语法
Figure BDA0003730490320000162
Figure BDA0003730490320000171
Figure BDA0003730490320000181
Figure BDA0003730490320000191
Figure BDA0003730490320000201
图6是示出根据本公开的一些实施方式的示例性过程的流程图600,通过该示例性过程,视频解码器使用自适应二值化过程来实施对利用基于调色板的方案被编码的视频数据进行解码的技术。特别地,视频解码器使用一组调色板模式编解码单元中包括的信息(例如,序列参数集(SPS)中、条带报头等中包括的语法元素),来确定是使用第一二值化过程(例如,固定长度二值化)还是第二二值化过程(例如,具有预定义k阶的EGk二值化)来解码该组调色板模式编解码单元。
在当前VVC设计中,调色板模式编解码单元中的逃逸样本的二值化是通过调用三阶Exp-Golomb二值化过程来推导的。然而,在一些情况下,当有大量逃逸样本更均匀地分布在更广泛的像素值范围内而不是集中在小范围时,使用不同的二值化过程(例如,更高阶的Exp-Golomb二值化过程)可能是更高效的,因为与使用较低阶Exp-Golomb二值化过程相比,使用更高阶Exp-Golomb二值化过程编码更宽范围内的逃逸样本所需要的比特总数可能更低。
在一些实施例中,这些二值化过程也可以在不同的编解码级别上自适应地被切换,诸如序列参数集(SPS)、图片参数集(PPS)、自适应参数集(APS)、条带和/或编解码块的群组。在这种情况下,编码器具有灵活性来动态地选择二值化过程以用信号发送比特流中的信息。解码器然后调用对应的二值化过程来解码接收到的比特流。二进制码字可以使用不同的方法来形成。一些示例性方法列出如下:
1.当前VVC中使用的用于确定abs_remainder的码字的相同过程被使用,但总是具有所选择的固定的rice参数(例如,1、2或3)。
2.固定长度二值化
3.截短Rice二值化
4.截短二进制(TB)二值化过程
5.k阶Exp-Golomb二值化过程(EGk)
6.有限的k阶Exp-Golomb二值化
在一些实施例中,序列参数集(SPS)中的语法元素(例如,一个标志)用于指示是否使用用于逃逸样本的固定长度二值化过程。要指出的是,当语法元素指示不使用固定长度二值化过程时,可以使用任何其他二值化过程(例如,EGk)来生成用于逃逸样本值的二值化码字。解码过程的示例如下所示。
表5序列参数集RBSP语法
Figure BDA0003730490320000202
具体地,sps_escape_fl_enabled_flag等于1指定了固定长度二值化过程可以用于逃逸样本。sps_escape_fl_enabled_flag等于0指定了固定长度二值化过程不用于逃逸样本。当sps_escape_fl_enabled_flag不存在时,其被推断为等于0。
在一些实施例中,在编码期间对二值化过程的输入是语法元素palette_escape_val和sps_escape_fl_enabled_flag。在编码期间的二值化过程的输出是各个语法元素的二值化。当sps_escape_fl_enabled_flag等于1时,以下适用:
–变量bitDepth被推导如下:
bitDepth=(cIdx==0)?BitDepthY:BitDepthC
–变量cMax被推导如下:
cMax=bitDepth
–palette_escape_val的值是通过调用固定长度二值化过程来指定的,其中变量cMax作为输入。
否则,以下适用:
–palette_escape_val的值是通过调用k阶Exp-Golomb二值化过程来指定的,其中k设置为等于3。
在一些实施例中,图片参数集(PPS)中的语法元素(例如,一个标志)用于指示是否使用用于逃逸样本的固定长度二值化过程。VVC草案的解码过程的示例如下所示。
表6图片参数集RBSP语法
Figure BDA0003730490320000211
具体地,pps_palette_enabled_flag等于1指定了pred_mode_plt_flag可以存在于编解码单元语法中。pps_palette_enabled_flag等于0指定了pred_mode_plt_flag不存在于编解码单元语法中。当pps_palette_enabled_flag不存在时,其被推断为等于0。
具体地,pps_escape_fl_enabled_flag等于1指定了固定长度二值化过程可以用于逃逸样本。pps_escape_fl_enabled_flag等于0指定了固定长度二值化过程不用于逃逸样本。当pps_escape_fl_enabled_flag不存在时,其被推断为等于0。
在一些实施例中,在编码期间对该二值化过程的输入是语法元素palette_escape_val、pps_escape_fl_enabled_flag和颜色分量索引cIdx。该过程的输出是palette_escape_val的二值化。当pps_escape_fl_enabled_flag等于1时,以下适用:
–变量bitDepth被推导如下:
bitDepth=(cIdx==0)?BitDepthY:BitDepthC
–变量cMax被推导如下:
cMax=bitDepth
–palette_escape_val的值是通过调用固定长度二值化过程来指定的,其中变量cMax作为输入。
否则,以下适用:
–palette_escape_val的值是通过调用k阶Exp-Golomb二值化过程来指定的,其中k被设置为等于3。
在一些实施例中,自适应参数集(APS)中的语法元素(例如,一个标志)用于指示是否使用用于逃逸样本的固定长度二值化过程。解码过程的示例如下所示。
表7序列参数集RBSP语法
Figure BDA0003730490320000212
具体地,adaptation_parameter_set_id提供用于由其他语法元素参考的APS的标识符。当aps_params_type等于ALF_APS或SCALING_APS时,adaptation_parameter_set_id的值应当在0到7的范围中,包含端点值。当aps_params_type等于LMCS_APS时,adaptation_parameter_set_id的值应当在0到3的范围中,包含端点值。当aps_params_type等于PLT_APS时,adaptation_parameter_set_id的值应当在0到7的范围中,包含端点值。aps_params_type指定了APS中携带的APS参数的类型。当aps_params_type等于1(LMCS_APS)时,adaptation_parameter_set_id的值应当在0到3的范围中,包含端点值。
表8APS参数类型码和APS参数的类型
Figure BDA0003730490320000221
表9调色板数据语法
plt_data(){ 描述符
plt_escape_fl_enabled_flag u(1)
}  
具体地,plt_escape_fl_enabled_flag等于1指定了固定长度二值化过程可以用于逃逸样本。plt_escape_fl_enabled_flag等于0指定了固定长度二值化过程不用于逃逸样本。当plt_escape_fl_enabled_flag不存在时,其被推断为等于0。
在编码期间对该二值化过程的输入包括语法元素palette_escape_val、plt_escape_fl_enabled_flag和颜色分量索引cIdx。该过程的输出是palette_escape_val的二值化。当plt_escape_fl_enabled_flag等于1时,以下适用:
–变量bitDepth被推导如下:
bitDepth=(cIdx==0)?BitDepthY:BitDepthC
–变量cMax被推导如下:
cMax=bitDepth
–palette_escape_val的值是通过调用固定长度二值化过程来指定的,其中变量cMax作为输入。
否则,以下适用:
–palette_escape_val的值是通过调用k阶Exp-Golomb二值化过程来指定的,其中k被设置为等于3。
在一些实施例中,使用编解码块中的语法元素(例如,一个标志)指示是否使用用于逃逸样本的固定长度二值化过程。在一个示例中,如果palette_escape_val_present_flag等于1,则可以存在该标志。解码过程的示例如下所示。
表10固定长度二值化过程
Figure BDA0003730490320000231
具体地,escape_fl_enabled_flag等于1指定固定长度二值化过程用于逃逸样本。escape_fl_enabled_flag等于0指定固定长度二值化过程不用于逃逸样本。当escape_fl_enabled_flag不存在时,其被推断为等于0。
为了视频解码器针对调色板模式编解码单元的逃逸样本执行自适应二值化,视频解码器首先在第一编解码级别(例如,相同序列、图片、条带等的编解码单元)处,从比特流接收与第一组调色板模式编解码单元相关联的第一语法元素(例如,sps_escape_fl_enabled_flag)(610)。
视频解码器然后基于第一语法元素的值来执行解码过程。如果确定第一语法元素具有第一预定义值(例如,sps_escape_fl_enabled_flag==1)(620):视频解码器选择用于第一组调色板模式编解码单元的第一二值化过程(例如,固定长度二值化)(630),以及使用第一二值化过程从比特流中解码第一组调色板模式编解码单元中的逃逸样本(640)。
另一方面,如果确定第一语法元素不具有第一预定义值(例如,sps_escape_fl_enabled_flag==0)(650):视频解码器选择用于第一组调色板模式编解码单元的第二二值化过程(例如,EGk二值化过程),第二二值化过程不同于第一二值化过程(660),以及使用第二二值化过程从比特流中解码第一组调色板模式编解码单元中的逃逸样本(670)。
在一些实施例中,第一语法元素具有第一预定义值(例如,sps_escape_fl_enabled_flag==1),视频解码器在第二编解码级别(例如,图片级别)处,从比特流接收与第二组调色板模式编解码单元相关联的第二语法元素(例如,pps_escape_fl_enalbed_flag),第二组调色板模式编解码单元是第一组调色板模式编解码单元的子集。如果确定第二语法元素具有第二预定义值(例如,sps_escape_fl_enabled_flag==0),视频解码器选择用于第二组调色板模式编解码单元的第二二值化过程(例如,EGk二值化过程),以及使用第二二值化过程从比特流中解码第二组调色板模式编解码单元中的逃逸样本。
可选地,如果第二编解码级别处的与第二组调色板模式编解码单元相关联的第二语法元素(例如,pps_escape_fl_enabled_flag)与第一编解码级别处的与第一组调色板模式编解码单元相关联的第一语法元素是一致的,则如上面结合图6所描述的,视频解码器针对第二组调色板模式编解码单元执行第一二值化过程。
在一些实施例中,在与视频数据相关联的分级结构内,第一编解码级别比第二编解码级别高至少一个级别。
在一些实施例中,第一编解码级别和第二编解码级别中的每一个编解码级别是从由序列参数集、图片参数集、自适应参数集、条带、瓦片、编解码树单元和编解码单元组成的群组中选择的一项。
在一些实施例中,第一二值化过程是固定长度二值化过程,而第二二值化过程是k阶Exp-Golomb二值化过程。
在一些实施例中,k阶Exp-Golomb二值化过程是5阶Exp-Golomb二值化过程。
视频编码器在编码比特流时可以采用上文描述的自适应二值化过程。首先,视频编码器在第一编解码级别处,选择用于第一组调色板模式编解码单元的第一语法元素。如果确定第一语法元素具有第一预定义值,视频编码器选择用于第一组调色板模式编解码单元的第一二值化过程,并且然后使用第一二值化过程将第一组调色板模式编解码单元中的逃逸样本编码到比特流中。如果确定第一语法元素不具有第一预定义值,视频编码器选择用于第一组调色板模式编解码单元的第二二值化过程,第二二值化过程不同于第一二值化过程,以及使用第二二值化过程将第一组调色板模式编解码单元中的逃逸样本编码到比特流中。
在一些实施例中,当第一语法元素具有第一预定义值时:视频编解码器在第二编解码级别处,选择与第二组调色板模式编解码单元相关联的第二语法元素,第二组调色板模式编解码单元是第一组调色板模式编解码单元的子集。如果确定第二语法元素具有第二预定义值,视频编解码器选择用于第二组调色板模式编解码单元的第二二值化过程;以及视频编解码器使用第二二值化过程将第二组调色板模式编解码单元中的逃逸样本编码到比特流中。
在一些实施例中,基于第二组调色板模式编解码单元的率失真分析结果来选择第二语法元素。
在一些实施例中,在与视频数据相关联的分级结构内,第一编解码级别比第二编解码级别至少高一个级别。
在一些实施例中,第一编解码级别和第二编解码级别中的每一个编解码级别是从由序列参数集、图片参数集、自适应参数集、条带、瓦片、编解码树单元和编解码单元组成的群组中选择的一项。
在一些实施例中,第一二值化过程是固定长度二值化过程,而第二二值化过程是k阶Exp-Golomb二值化过程。
在一些实施例中,k阶Exp-Golomb二值化过程是5阶Exp-Golomb二值化过程。
图7是示出根据本公开的一些实施方式的示例性上下文自适应二进制算术编解码(CABAC)引擎的框图。
上下文自适应二进制算术编解码(CABAC)是在许多视频编解码标准(例如,H.264/MPEG-4AVC、高效视频编解码(HEVC)和VVC)中使用的熵编解码的形式。CABAC是基于算术编码的,其具有一些创新和更改以使其适应视频编解码标准的需要。例如,CABAC对二进制符号进行编解码,其保持低复杂性并允许对任何符号的更频繁使用的位进行概率建模。概率模型基于局部上下文自适应地被选择,而允许更好地对概率建模,因为编解码模式通常在局部很好地相关。最后,CABAC通过使用量化后的概率范围和概率状态来使用无乘法的范围划分。
CABAC具有用于不同上下文的多种概率模式。它首先将所有非二进制符号转换为二进制。然后,对于每个二进制位(或称为位),编解码器选择要使用哪个概率模型,然后使用来自附近元素的信息来优化概率估计。算术编解码最后被应用以压缩数据。
上下文建模提供了对编解码符号的条件概率的估计。利用合适的上下文模型,通过根据要编码的当前符号附近的已经编解码的符号而在不同概率模型之间切换,可以利用给定的符号间冗余。对数据符号进行编解码涉及以下阶段。
二值化:CABAC使用二进制算术编解码,这意味着仅二进制决策(1或0)被编码。非二进制取值的符号(例如,变换系数或运动矢量)在算术编解码之前被“二进制化”或转换为二进制码。该过程类似于将数据符号转换为可变长度码的过程,但是二进制码在传输之前(由算术编解码器)进一步编码。阶段针对二值化符号的每个二进制位(或“位”)被重复。
上下文模型选择:“上下文模型”是用于二值化符号的一个或多个二进制位的概率模型。该模型可以依据最近编解码的数据符号的统计而从可用模型的选集中选取。上下文模型存储每个二进制位为“1”或“0”的概率。
算术编码:算术编解码器根据所选择的概率模型对每个二进制位进行编码。注意,针对每个二进制位,只有两个子范围(对应于“0”和“1”)。
概率更新:所选择的上下文模型基于实际编解码值而被更新(例如,如果二进制位的值是“1”,则增加“1”的频率计数)。
通过将每个非二进制语法元素值分解为二进制位的序列,CABAC中的每个二进制位值的进一步处理取决于相关联的编解码模式决策,其可以被选择为常规模式或旁路模式。后者是针对如下的二进制位而被选择的,这些二进制位被假设是均匀分布的,并且因此针对这些二进制位,简单地绕过整个常规二进制算术编码(和解码)过程。在常规编解码模式中,通过使用常规二进制算术编解码引擎来编码每个二进制位值,其中相关联的概率模型是基于语法元素类型和语法元素的二值化表示中的二进制位位置或二进制位索引(binIdx)而通过固定选择被确定的,或者根据相关侧信息(例如,CU/PU/TU的空间邻居、分量、深度或尺寸、或在TU内的位置)从两个或更多个概率模型中自适应地选取的。概率模型的选择被称为上下文建模。作为重要的设计决策,后一种情况通常仅应用于最频繁观测到的二进制位,而其他通常较不频繁观测到的二进制位将使用联合的、通常零阶的概率模型被处理。通过这种方式,CABAC使得在子符号级别上的选择性自适应概率建模成为可能,并且因此,提供了一种高效的工具来以显著降低的整体建模或学习成本而利用符号间冗余。注意,针对固定情况和自适应情况两者,原则上,从一个概率模型到另一个概率模型的切换可以发生在任何两个连续的常规编解码的二进制位之间。通常,CABAC中的上下文模型的设计反映了以下目标:在避免不必要的建模成本开销与在很大程度上利用统计相关性的冲突目的之间找到良好折衷。
CABAC中的概率模型的参数是自适应的,这意味着模型概率对二进制位的源的统计变化的自适应是在逐个二进制位的基础上,以向后自适应和同步方式,在编码器和解码器两者中执行的;该过程被称为概率估计。为此,CABAC中的每个概率模型都可以从126个不同状态中取出一个状态,这126个不同状态具有范围在区间[0:01875;0:98125]中的相关联的模型概率值p。每个概率模型的两个参数作为7位条目被存储在上下文存储器中:6位用于63个概率状态中的每个概率状态,表示最小概率符号(LPS)的模型概率pLPS,并且1位用于nMPS,最大概率符号(MPS)的值。
在一个或多个示例中,所描述的功能可以以硬件、软件、固件或其任何组合来实现。如果以软件实现,则功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质被发送,并由基于硬件的处理单元来执行。计算机可读介质可以包括计算机可读存储介质或通信介质,计算机可读存储介质对应于诸如数据存储介质之类的有形介质,通信介质包括有助于(例如,根据通信协议)将计算机程序从一个地方转移到另一个地方的任何介质。以此方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波之类的通信介质。数据存储介质可以是任何可用介质,其能够由一台或多台计算机或者一个或多个处理器访问以取回指令、代码和/或数据结构,以实现本申请中描述的实施方式。计算机程序产品可以包括计算机可读介质。
在本文实施方式的描述中使用的术语仅用于描述特定实施方式的目的,并且不旨在限制权利要求的范围。如在实施方式的描述和所附权利要求中所使用的,单数形式“一种”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。还将理解,本文所使用的术语“和/或”指代并涵盖一个或多个相关联的所列条目的任何和所有可能的组合。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”,指定所陈述的特征、元素和/或组件的存在,但不排除一个或多个其他特征、元素、组件和/或其群组的存在或添加。
还将理解,虽然在本文中可以使用术语第一、第二等描述各种元件,但这些元件不应当受这些术语的限制。这些术语仅用于将一个元件与另一个元件区分开。例如,在不脱离实施方式的范围的情况下,第一电极可以被称为第二电极,并且类似地,第二电极可以被称为第一电极。第一电极和第二电极两者都是电极,但它们不是同一电极。
本申请的描述是为了说明和描述的目的而呈现的,并且不旨在穷举或限于所公开形式的发明。受益于前述描述和相关附图中呈现的教导,本领域普通技术人员将清楚许多修改、变化和替代的实施方式。选择和描述实施例是为了最好地解释本发明的原理、实际应用,并且使本领域其他技术人员能够理解本发明的各种实施方式,并最好地利用基本原理和具有适用于预期的特定用途的各种修改的各种实施方式。因此,将理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在所附权利要求的范围内。

Claims (11)

1.一种编码视频数据的方法,包括:
在第一编解码级别处,确定用于第一组调色板模式编解码单元的第一语法元素;
如果确定所述第一语法元素具有第一预定义值:
选择用于所述第一组调色板模式编解码单元的第一二值化过程;
使用所述第一二值化过程,将所述第一组调色板模式编解码单元编码到比特流中;
如果确定所述第一语法元素不具有所述第一预定义值:
选择用于所述第一组调色板模式编解码单元的第二二值化过程,所述第二二值化过程不同于所述第一二值化过程;以及
使用所述第二二值化过程,将所述第一组调色板模式编解码单元编码到所述比特流中。
2.根据权利要求1所述的方法,还包括:
当所述第一语法元素具有所述第一预定义值时:
在第二编解码级别处,选择与第二组调色板模式编解码单元相关联的第二语法元素,所述第二组调色板模式编解码单元是所述第一组调色板模式编解码单元的子集;
如果确定所述第二语法元素具有第二预定义值:
选择用于所述第二组调色板模式编解码单元的所述第二二值化过程;以及
使用所述第二二值化过程,将所述第二组调色板模式编解码单元编码到所述比特流中。
3.根据权利要求2所述的方法,其中所述第一二值化过程和所述第二二值化过程用于编码所述第一组调色板模式编解码单元和所述第二组调色板模式编解码单元中的逃逸样本。
4.根据权利要求2所述的方法,其中在与所述视频数据相关联的分级结构内,所述第一编解码级别比所述第二编解码级别高至少一个级别。
5.根据权利要求2所述的方法,其中所述第一编解码级别和所述第二编解码级别中的每一个编解码级别是从由序列、图片、自适应参数集、条带、瓦片、编解码树单元和编解码单元组成的群组中选择的一项。
6.根据权利要求1所述的方法,其中所述第一二值化过程是固定长度二值化过程,而所述第二二值化过程是k阶Exp-Golomb二值化过程。
7.根据权利要求6所述的方法,其中所述k阶Exp-Golomb二值化过程是5阶Exp-Golomb二值化过程。
8.一种电子装置,包括:
一个或多个处理单元;
耦接到所述一个或多个处理单元的存储器;以及
存储在所述存储器中的多个程序,所述多个程序当由所述一个或多个处理单元执行时,使所述电子装置执行如权利要求1-7中任一项所述的方法。
9.一种非暂时性计算机可读存储介质,存储用于由具有一个或多个处理单元的电子装置处理的比特流,其中所述比特流当由所述一个或多个处理单元处理时,使所述电子装置执行如权利要求1-7中任一项所述的方法。
10.一种计算机程序产品,包括至少一个指令,所述至少一个指令在由至少一个处理器执行时使得所述至少一个处理器执行如权利要求1-7中任一项所述的方法。
11.一种非暂时性计算机可读存储介质,存储根据权利要求1-7中的任一项所述的方法生成的比特流。
CN202210791658.3A 2019-10-10 2020-10-12 使用调色板模式的视频编解码的方法和装置 Pending CN116016936A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201962913623P 2019-10-10 2019-10-10
US62/913,623 2019-10-10
CN202080071603.4A CN114930833A (zh) 2019-10-10 2020-10-12 使用调色板模式的视频编解码的方法和装置
PCT/US2020/055228 WO2021072364A1 (en) 2019-10-10 2020-10-12 Methods and apparatus of video coding using palette mode

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202080071603.4A Division CN114930833A (zh) 2019-10-10 2020-10-12 使用调色板模式的视频编解码的方法和装置

Publications (1)

Publication Number Publication Date
CN116016936A true CN116016936A (zh) 2023-04-25

Family

ID=75436816

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202210791658.3A Pending CN116016936A (zh) 2019-10-10 2020-10-12 使用调色板模式的视频编解码的方法和装置
CN202080071603.4A Pending CN114930833A (zh) 2019-10-10 2020-10-12 使用调色板模式的视频编解码的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080071603.4A Pending CN114930833A (zh) 2019-10-10 2020-10-12 使用调色板模式的视频编解码的方法和装置

Country Status (4)

Country Link
US (1) US20220239926A1 (zh)
EP (1) EP4026326A4 (zh)
CN (2) CN116016936A (zh)
WO (1) WO2021072364A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021027773A1 (en) 2019-08-10 2021-02-18 Beijing Bytedance Network Technology Co., Ltd. Subpicture size definition in video processing
BR112022006387A2 (pt) 2019-10-02 2022-07-26 Beijing Bytedance Network Tech Co Ltd Método e aparelho de processamento de vídeo, e, meio legível por computador
EP4032290A4 (en) 2019-10-18 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SYNTAX CONSTRAINTS IN REPORTING SUBPICTURE PARAMETER SETS
JP7454681B2 (ja) * 2020-01-12 2024-03-22 北京字節跳動網絡技術有限公司 ビデオコーディング及び復号の制約

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150189302A1 (en) * 2014-01-02 2015-07-02 Qualcomm Incorporated Color index coding for palette-based video coding
US20160227217A1 (en) * 2015-01-30 2016-08-04 Qualcomm Incorporated Palette index grouping for video coding
US20170085891A1 (en) * 2015-09-18 2017-03-23 Qualcomm Incorporated Restriction of escape pixel signaled values in palette mode video coding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201321851D0 (en) * 2013-12-10 2014-01-22 Canon Kk Run length parameters coding for palette mode
CA2942903A1 (en) * 2014-03-16 2015-09-24 Vid Scale, Inc. Method and apparatus for the signaling of lossless video coding
US9986248B2 (en) * 2015-01-29 2018-05-29 Qualcomm Incorporated Palette mode coding for video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150189302A1 (en) * 2014-01-02 2015-07-02 Qualcomm Incorporated Color index coding for palette-based video coding
US20160227217A1 (en) * 2015-01-30 2016-08-04 Qualcomm Incorporated Palette index grouping for video coding
CN107211138A (zh) * 2015-01-30 2017-09-26 高通股份有限公司 用于高吞吐量cabac译码的调色板索引分组
US20170085891A1 (en) * 2015-09-18 2017-03-23 Qualcomm Incorporated Restriction of escape pixel signaled values in palette mode video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RAJAN JOSHI: "High Efficiency Video Coding (HEVC) Screen Content Coding: Draft 6", JCTVC-W1005-V4, 25 June 2016 (2016-06-25), pages 7 *
YUNG-HSUAN CHAO: "CE8-2.4: Line-based CG Palette Mode", JVET-O0120, 19 June 2019 (2019-06-19) *

Also Published As

Publication number Publication date
CN114930833A (zh) 2022-08-19
EP4026326A4 (en) 2022-11-30
US20220239926A1 (en) 2022-07-28
WO2021072364A1 (en) 2021-04-15
EP4026326A1 (en) 2022-07-13

Similar Documents

Publication Publication Date Title
US20220353538A1 (en) Methods and apparatus of residual and coefficient coding
US20220239926A1 (en) Methods and apparatus of video coding using palette mode
KR102488435B1 (ko) 잔차 및 계수를 코딩하는 방법 및 장치
US20230027818A1 (en) Methods and apparatus of video coding using palette mode
US20220329812A1 (en) Residual and coefficients coding for video coding
US20220286673A1 (en) Deblocking filtering for video coding
JP2023164981A (ja) パレットモードを使用するビデオコーディングの方法及び装置
KR102638578B1 (ko) 변환 및 계수 시그널링에 대한 방법 및 장치
CN114556932B (zh) 用于视频编解码的无损编解码模式
US20220256199A1 (en) Methods and apparatus of residual and coefficients coding
WO2021055970A1 (en) Methods and apparatus of video coding using palette mode
CN115299047A (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