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

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

Info

Publication number
CN114762329A
CN114762329A CN202080071489.5A CN202080071489A CN114762329A CN 114762329 A CN114762329 A CN 114762329A CN 202080071489 A CN202080071489 A CN 202080071489A CN 114762329 A CN114762329 A CN 114762329A
Authority
CN
China
Prior art keywords
block
palette
video
value
palette mode
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
CN202080071489.5A
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
Priority to CN202211518329.8A priority Critical patent/CN116112667A/zh
Publication of CN114762329A publication Critical patent/CN114762329A/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/124Quantisation
    • 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/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/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/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/182Methods 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 pixel
    • 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/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/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/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

使用调色板模式的视频编解码的方法和装置
技术领域
本申请总体上涉及视频数据编解码和压缩,并且尤其涉及使用调色板模式的视频编解码的方法和***。
背景技术
各种电子设备支持数字视频,诸如数字电视、膝上型计算机或台式计算机、平板计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏机、智能电话、视频电话会议设备、视频流设备等。这些电子设备通过实施由MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分、高级视频编解码(AVC)、高效视频编解码(HEVC)和通用视频编解码(VVC)标准定义的视频压缩/解压缩标准,来传输、接收、编码、解码、和/或存储数字视频数据。视频压缩通常包括执行空间(帧内)预测和/或时间(帧间)预测,以减少或去除视频数据中固有的冗余。对于基于块的视频编解码,视频帧被分割为一个或多个条带,每个条带具有多个视频块,这些视频块也可以称为编解码树单元(CTU)。每个CTU可以包含一个编解码单元(CU)或递归地拆分为更小的CU,直到达到预定义的最小CU大小。每个CU(也称为叶CU)包含一个或多个变换单元(TU),并且每个CU还包含一个或多个预测单元(PU)。每个CU可以用帧内模式、帧间模式或IBC模式被编解码。视频帧的帧内编解码(I)条带中的视频块使用空间预测被编码,空间预测是相对于同一视频帧内的相邻块中的参考样本的。视频帧的帧间编解码(P或B)条带中的视频块可以使用空间预测或时间预测,空间预测是相对于同一视频帧内相邻块中的参考样本的,时间预测是相对于其他先前和/或未来参考视频中的参考样本的。
基于先前已经被编码的参考块(例如,相邻块)的空间预测或时间预测产生了针对要编解码的当前视频块的预测块。寻找参考块的过程可以通过块匹配算法来完成。残差数据,其表示要编解码的当前块与预测块之间的像素差异,被称为残差块或预测误差。帧间编解码块根据运动向量和残差块被编码,运动向量指向形成预测块的参考帧中的参考块。确定运动向量的过程通常称为运动估计。帧内编解码块根据帧内预测模式和残差块被编码。为了进一步压缩,将残差块从像素域变换到变换域(例如,频域),而产生残差变换系数,残差变换系数然后可以被量化。最初以二维阵列排列的这些量化变换系数可以被扫描以产生变换系数的一维向量,并且然后被熵编码到视频比特流中以实现甚至更大的压缩。
编码的视频比特流然后被保存在计算机可读存储介质(例如,闪存)中,以被具有数字视频能力的另一电子设备访问,或者直接以有线或无线方式传输到电子设备。电子设备然后通过以下方式来执行视频解压缩(其是上文描述的视频压缩的相反过程):例如,解析编码的视频比特流以从比特流获得语法元素,以及至少部分地基于从比特流获得的语法元素从编码的视频比特流将数字视频数据重建为其原始格式,并且电子设备将重建的数字视频数据呈现在电子设备的显示器上。
随着数字视频质量从高清变为4K×2K或者甚至8K×4K,要编码/解码的视频数据量呈指数增长。如何在保持解码视频数据的图像质量的同时更有效率地编码/解码视频数据,是一个持续的挑战。
发明内容
本申请描述了与视频数据编码和解码相关的实施方式,并且实施方式尤其涉及使用调色板模式的视频编码和解码的***和方法。
根据本申请的第一方面,一种解码视频数据的方法包括:从比特流接收对应于调色板模式编解码块的视频数据;根据与调色板模式编解码块相关联的参数集中包括的信息,确定量化参数值;识别调色板模式编解码块中的量化后的逃逸样本;如果确定量化参数值大于门限值:根据预定义的公式对量化后的逃逸样本执行反量化,以获得重建的逃逸样本值;以及如果确定量化参数值小于或等于门限值:将重建的逃逸样本设置为量化后的逃逸样本值。
根据本申请的第二方面,一种电子装置包括:一个或多个处理单元、存储器以及存储在存储器中的多个程序。当由一个或多个处理单元执行时,这些程序使得电子装置执行如上文描述的解码视频数据的方法。
根据本申请的第三方面,一种非暂时性计算机可读存储介质存储多个程序,多个程序用于由具有一个或多个处理单元的电子装置执行。当由一个或多个处理单元执行时,这些程序使得电子装置执行如上文描述的解码视频数据的方法。
附图说明
附图被包括以提供对实施方式的进一步理解,并且并入本文中且构成说明书的一部分,附图图示出了所描述的实施方式并且与描述一起用于解释基本原理。相似的参考标号指代对应的部分。
图1是示出了根据本公开的一些实施方式的示例性视频编码和解码***的框图。
图2是示出了根据本公开的一些实施方式的示例性视频编码器的框图。
图3是示出了根据本公开的一些实施方式的示例性视频解码器的框图。
图4A至图4E是示出了根据本公开的一些实施方式的帧如何被递归地分割为不同大小和形状的多个视频块的框图。
图5是示出了根据本公开的一些实施方式的确定和使用调色板表来编解码视频数据的示例的框图。
图6是示出了根据本公开的一些实施方式的示例性过程的流程图,通过该示例性过程,视频解码器使用基于调色板的方案来实施解码视频数据的技术。
具体实施方式
现在将详细参照具体实施方式,其示例在附图中示出。在以下详细描述中,阐述了大量非限制性的具体细节以帮助理解本文呈现的主题。但是对于本领域普通技术人员来说将显而易见的是,在不脱离权利要求的范围的情况下可以使用各种替代方案,并且可以在没有这些具体细节的情况下实践主题。例如,对于本领域普通技术人员来说将显而易见的是,本文呈现的主题可以在具有数字视频能力的许多种类型的电子设备上实现。
图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和帧内块复制(BC)单元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将视频数据分割为视频块。该分割还可以包括根据与视频数据相关联的预定义的拆分结构(诸如四叉树结构)将视频帧分割为条带、瓦片(tile)、或其他更大的编解码单元(CU)。视频帧可以被划分为多个视频块(或视频块集合,称为瓦片)。预测处理单元41可以基于误差结果(例如,编解码速率和失真水平)为当前视频块选择多个可能的预测编解码模式之一,诸如多个帧内预测编解码模式之一或多个帧间预测编解码模式之一。预测处理单元41可以将得到的帧内或帧间预测编解码块提供给加法器50以生成残差块,并且提供给加法器62以重建被编码的块以用于随后用作参考帧的一部分。预测处理单元41还向熵编码单元56提供语法元素,诸如运动向量、帧内模式指示符、分割信息和其他此类语法信息。
为了针对当前视频块选择适当的帧内预测编解码模式,预测处理单元41内的帧内预测处理单元46可以相对于与待编解码的当前块在同一帧中的一个或多个相邻块,来执行当前视频块的帧内预测编解码,以提供空间预测。预测处理单元41内的运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个预测块,来执行当前视频块的帧间预测编解码,以提供时间预测。视频编码器20可以执行多个编解码遍次,例如,来为每个视频数据块选择适当的编解码模式。
在一些实施方式中,运动估计单元42通过根据视频帧序列内的预定型式生成运动向量来为当前视频帧确定帧间预测模式,运动向量指示当前视频帧内的视频块的预测单元(PU)相对于参考视频帧内的预测块的位移。由运动估计单元42执行的运动估计是生成运动向量的过程,运动向量估计了针对视频块的运动。运动向量,例如,可以指示当前视频帧或图片内的视频块PU相对于参考帧(或其他被编解码的单元)内的预测块的位移,预测块是相对于在当前帧(或其他被编解码的单元)内正被编解码的当前块的。预定型式可以将序列中的视频帧指定为P帧或B帧。帧内BC单元48可以以类似于由运动估计单元42为帧间预测确定运动向量的方式来确定用于帧内BC编解码的向量(例如,块向量),或可以利用运动估计单元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可以高度集成,但出于概念目的而分别地图示。
在一些实施方式中,帧内BC单元48可以用与上文结合运动估计单元42和运动补偿单元44所描述的方式类似的方式来生成向量并获取预测块,但是这些预测块与正在被编解码的当前块位于同一帧中,并且这些向量被称为块向量而非运动向量。具体地,帧内BC单元48可以确定用于对当前块进行编码的帧内预测模式。在一些示例中,帧内BC单元48可以例如在多个单独的编码遍次期间使用各种帧内预测模式来对当前块进行编码,并且通过率失真分析来测试它们的性能。接下来,帧内BC单元48可以在各种经过测试的帧内预测模式中选择适当的帧内预测模式来使用,并相应地生成帧内模式指示符。例如,帧内BC单元48可以使用针对各种经过测试的帧内预测模式的率失真分析来计算率失真值,并且在经过测试的模式中选择具有最佳率失真特性的帧内预测模式作为适当的帧内预测模式来使用。率失真分析通常确定已编码块与被编码以产生已编码块的原始未编码块之间的失真(或误差)量、以及用于产生已编码块的比特率(即,比特数)。帧内BC单元48可以从用于各种已编码块的失真和速率来计算比率,以确定哪种帧内预测模式展示出针对块的最佳率失真值。
在其他示例中,帧内BC单元48可以全部或部分地使用运动估计单元42和运动补偿单元44,而根据本文描述的实施方式来执行用于帧内BC预测的此类功能。在任一情况下,对于帧内块复制,预测块可以是在像素差方面被认为与待编解码的块紧密匹配的块,像素差可以由绝对差之和(SAD)、平方差之和(SSD)、或其他差度量来确定,并且预测块的识别可以包括针对亚整数像素位置的值的计算。
无论预测块是根据帧内预测来自同一帧,还是根据帧间预测来自不同帧,视频编码器20可以通过以下方式来形成残差视频块:从正在被编解码的当前视频块的像素值中减去预测块的像素值,从而形成像素差值。形成残差视频块的像素差值可以包括亮度分量差和色度分量差两者。
作为如上文所描述的由运动估计单元42和运动补偿单元44执行的帧间预测、或由帧内BC单元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中。参考块然后可以由帧内BC单元48、运动估计单元42、以及运动补偿单元44用作预测块,以对后续视频帧中的另一视频块进行帧间预测。
图3是示出了根据本申请的一些实施方式的示例性视频解码器30的框图。视频解码器30包括视频数据存储器79、熵解码单元80、预测处理单元81、反量化单元86、逆变换处理单元88、加法器90和DPB 92。预测处理单元81进一步包括运动补偿单元82、帧内预测处理单元84和帧内BC单元85。视频解码器30可以执行解码过程,解码过程大体上与上文结合图2关于视频编码器20所描述的编码过程互反。例如,运动补偿单元82可以基于从熵解码单元80接收的运动向量来生成预测数据,而帧内预测单元84可以基于从熵解码单元80接收的帧内预测模式指示符来生成预测数据。
在一些示例中,视频解码器30的单元可以被分配任务以执行本申请的实施方式。此外,在一些示例中,本公开的实施方式可以在视频解码器30的一个或多个单元之间划分。例如,帧内BC单元85可以单独地,或与视频解码器30的其他单元(诸如运动补偿单元82、帧内预测处理单元84和熵解码单元80)组合地,执行本申请的实施方式。在一些示例中,视频解码器30可以不包括帧内BC单元85,并且帧内BC单元85的功能可以由预测处理单元81的其他组件(诸如运动补偿单元82)执行。
视频数据存储器79可以存储待由视频解码器30的其他组件解码的视频数据,诸如已编码的视频比特流。视频数据存储器79中存储的视频数据可以例如从存储设备32获得,从本地视频源(诸如相机)中获得,经由视频数据的有线或无线网络通信获得,或通过访问物理数据存储介质(例如,闪存驱动器或硬盘)来获得。视频数据存储器79可以包括编解码图片缓冲器(CPB),编解码图片缓冲器存储来自已编码视频比特流的已编码视频数据。视频解码器30的已解码图片缓冲器(DPB)92存储参考视频数据,以在视频解码器30(例如,以帧内或帧间预测编解码模式)解码视频数据时使用。视频数据存储器79和DPB 92可以由各种存储器设备中的任何存储器设备形成,诸如动态随机存取存储器(DRAM),包括同步DRAM(SDRAM)、磁阻式RAM(MRAM)、电阻式RAM(RRAM)、或其他类型的存储器设备。出于说明的目的,在图3中将视频数据存储器79和DPB 92描绘为视频解码器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。
在一些示例中,当视频块根据本文所描述的帧内BC模式被编解码时,预测处理单元81的帧内BC单元85基于从熵解码单元80接收的块向量和其他语法元素,为当前视频块产生预测块。预测块可以在与视频编码器20定义的当前视频块相同的图片的重建区域内。
运动补偿单元82和/或帧内BC单元85通过解析运动向量和其他语法元素来确定用于当前视频帧的视频块的预测信息,并且然后使用预测信息来为正被解码的当前视频块产生预测块。例如,运动补偿单元82使用接收到的语法元素中的一些语法元素,来确定用于对视频帧的视频块进行编解码的预测模式(例如,帧内预测或帧间预测)、帧间预测帧类型(例如,B或P)、针对用于帧的一个或多个参考帧列表的构建信息、针对帧的每个帧间预测编码的视频块的运动向量、针对帧的每个帧间预测编解码的视频块的帧间预测状态、以及用于解码当前视频帧中的视频块的其他信息。
类似地,帧内BC单元85可以使用接收到的语法元素中的一些语法元素,例如标志,来确定当前视频块是使用帧内BC模式被预测的、帧的哪些视频块的构建信息在重建区域内并且应当被存储在DPB于92中、用于帧的每个帧内BC预测的视频块的块向量、用于帧的每个帧内BC预测的视频块的帧内BC预测状态、以及用于对当前视频帧中的视频块进行解码的其他信息。
运动补偿单元82还可以使用如由视频编码器20在视频块的编码期间使用的内插滤波器来执行内插,以计算针对参考块的亚整数像素的内插值。在这种情况下,运动补偿单元82可以从接收到的语法元素来确定由视频编码器20使用的内插滤波器,并且使用这些内插滤波器来产生预测块。
反量化单元86使用由视频编码器20为视频帧中的每个视频块计算以确定量化程度的相同量化参数,对比特流中提供的且由熵解码单元80熵解码的量化变换系数进行反量化。逆变换处理单元88将逆变换(例如,逆DCT、逆整数变换、或概念上类似的逆变换过程)应用于变换系数,以重建像素域中的残差块。
在运动补偿单元82或帧内BC单元85基于向量和其他语法元素生成针对当前视频块的预测块之后,加法器90通过将来自逆变换处理单元88的残差块与由运动补偿单元82和帧内BC单元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可以包括单个编解码树块和用于对编解码树块的样本进行编解码的语法元素。编解码树块可以是N×N的样本块。
为了实现更好的性能,视频编码器20可以对CTU的编解码树块递归地执行树分割,诸如二叉树分割、三叉树分割、四叉树分割或其组合,并且将CTU划分为较小的编解码单元(CU)。如图4C中所描绘的,64×64的CTU 400首先被划分为四个较小的CU,每个较小的CU具有32×32的块尺寸。在四个较小的CU中,CU 410和CU 420均按块大小被划分为四个16×16的CU。两个16×16的CU 430和CU 440均按块大小被进一步划分为四个8×8的CU。图4D描绘了一种四叉树数据结构,其示出了如图4C中所描绘的CTU 400的分割过程的最终结果,四叉树的每个叶节点对应于范围从32×32到8×8的相应尺寸的一个CU。如图4B中描绘的CTU那样,每个CU可以包括相同大小的帧的亮度样本的编解码块(CB)和色度样本的两个对应编解码块、以及用于对编解码块的样本进行编解码的语法元素。在单色图片或具有三个单独颜色平面的图片中,CU可以包括单个编解码块和用于对编解码块的样本进行编解码的语法结构。应当指出,在图4C和图4D中所描绘的四叉树分割仅用于说明的目的,并且一个CTU可以基于四叉树分割/三叉树分割/二叉树分割而被拆分为多个CU以适应于不同的局部特性。在多类型树结构中,一个CTU被四叉树结构分割,并且每个四叉树叶CU可以被二叉和三叉树结构进一步分割。如图4E中所示,有五种分割类型,即四叉分割、水平二叉分割、垂直二叉分割、水平三叉分割和垂直三叉分割。
在一些实施方式中,视频编码器20可以进一步将CU的编解码块分割为一个或多个M×N的预测块(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)或第二值(例如,二进制0),第一值指示调色板预测值的相关联条目将被包括在调色板表中,第二值指示调色板预测值的相关联条目将不被包括在调色板表中。如果调色板预测值的大小大于用于视频数据块的调色板表,则一旦达到针对调色板表的最大大小,视频解码器就可以停止接收更多标志。
在一些实施方式中,调色板表中的一些条目可以在已编码的视频比特流中直接通过信号发送,而不是使用调色板预测值来确定。对于这样的条目,视频解码器可以从已编码的视频比特流接收三个单独的m比特值,这些m比特值指示用于与条目相关联的亮度分量和两个色度分量的像素值,其中m表示视频数据的比特深度。与直接通过信号发送的调色板条目所需的多个m比特值相比,从调色板预测值导出的那些调色板条目仅需要一位标志。因此,使用调色板预测值而通过信号发送一些或所有调色板条目,能够显著减少通过信号发送新调色板表的条目所需的比特数,从而提高调色板模式编解码的整体编解码效率。
在许多情况下,用于一个块的调色板预测值是基于用于对一个或多个先前编解码的块进行编解码的调色板表来确定的。但是当对图片、条带或瓦片中的第一编解码树单元进行编解码时,先前编解码的块的调色板表可能不可用。因此,调色板预测值不能使用先前使用的调色板表的条目来生成。在这种情况下,调色板预测值的初始化值序列可以在序列参数集(SPS)和/或图片参数集(PPS)中通过信号被发送,这些初始化值是在先前使用的调色板表不可用时用于生成调色板预测值的值。SPS通常是指语法元素的一种语法结构,这些语法元素应用于称为编解码视频序列(CVS)的一系列连续编解码视频图片,其由在PPS中找到的语法元素的内容确定,在PPS中找到的该语法元素由在每个条带段头中找到的语法元素引用。PPS通常是指应用于CVS内的一个或多个个体图片的语法元素的语法结构,该一个或多个个体图片由在每个条带段头中找到的语法元素确定。因此,SPS通常被认为是比PPS更高级别的语法结构,这意味着与PPS中包括的语法元素相比,SPS中包括的语法元素通常更不频繁地改变并且应用于视频数据的更大部分。
图5是示出了根据本公开的一些实施方式的确定和使用调色板表对图片500中的视频数据进行编解码的示例的框图。图片500包括与第一调色板表520相关联的第一块510和与第二调色板表540相关联的第二块530。由于第二块530在第一块510的右侧,所以第二调色板表540可以基于第一调色板表520来确定。调色板预测值550与图片500相关联,并且用于从第一调色板表520收集零个或更多个调色板条目并在第二调色板表540中构造零个或更多个调色板条目。注意,图5中所描绘的各个块可以对应于如上文所描述的CTU、CU、PU或TU,并且这些块不限于任何特定的编解码标准的块结构且可以与未来的基于块的编解码标准兼容。
一般来讲,调色板表包括多个像素值,这些像素值对于当前正被编解码的块(例如,图5中的块510或块530)是主导的和/或是代表性的。在一些示例中,视频编解码器(例如,视频编码器20或视频解码器30)可以针对块的每一种颜色分量分别编解码调色板表。例如,视频编码器20可以对用于块的亮度分量的调色板表、用于块的色度Cb分量的另一调色板表、和用于块的色度Cr分量的再一调色板表进行编码。
在这种情况下,第一调色板表520和第二调色板表540均可以成为多个调色板表。在其他示例中,视频编码器20可以对用于块的所有颜色分量的单个调色板表进行编码。在这种情况下,调色板表中的第i个条目是(Yi,Cbi,Cri)的三元组值,其中每个值对应于像素的一个分量。因此,第一调色板表520和第二调色板表540的表示仅仅是一个示例并且不旨在进行限制。
如本文所描述的,视频编解码器(诸如视频编码器20或视频解码器30)可以使用基于调色板的编解码方案,使用索引I1,...,IN对第一块510的像素进行编解码,而不是直接编解码第一块510的实际像素值。例如,对于第一块510中的每个像素,视频编码器20可以对用于像素的索引值进行编码,其中该索引值与第一调色板表520中的像素值相关联。视频编码器20可以对第一调色板表520进行编码,并在已编码的视频数据比特流中将其传送,以供视频解码器30在解码器侧用于基于调色板的解码。一般而言,一个或多个调色板表可以针对每个块传送,或者可以在不同块之间共享。视频解码器30可以从由视频编码器20生成的视频比特流中获得索引值,并且使用第一调色板表520中的索引值的对应像素值来重建像素值。换言之,对于块的每个相应索引值,视频解码器30可以确定第一调色板表520中的条目。视频解码器30然后用第一调色板表520中的被确定的条目所指定的像素值来替代块中的相应索引值。
在一些实施方式中,视频编解码器(例如,视频编码器20或视频解码器30)至少部分地基于与图片500相关联的调色板预测值550来确定第二调色板表540。调色板预测值550可以包括第一调色板表520的一些或所有条目,并且可能还包括来自其他调色板表的条目。在一些示例中,调色板预测值550使用先进先出表来实现,其中一经将第一调色板表520的条目添加到调色板预测值550,当前在调色板预测值550中的最旧条目就被删除,以将调色板预测值550保持在最大尺寸或低于最大尺寸。在其他示例中,调色板预测值550可以使用不同的技术来更新和/或维护。
在一个示例中,视频编码器20可以对用于每一块(例如,第二块530)的pred_palette_flag进行编码,以指示针对该块的调色板表是否为从与一个或多个其他块(诸如相邻块510)相关联的一个或多个调色板表中被预测的。例如,当这种标志的值是二进制1时,视频解码器30可以确定针对第二块530的第二调色板表540是从一个或多个先前解码的调色板表中被预测的,并且因此没有针对第二块530的新调色板表被包括在包含pred_palette_flag的视频比特流中。当这种标志是二进制0时,视频解码器30可以确定针对第二块530的第二调色板表540作为新的调色板表被包括在视频比特流中。在一些示例中,pred_palette_flag可以针对块的每个不同颜色分量单独被编解码(例如,对于在YCbCr空间中的视频块有三个标志,一个用于Y,一个用于Cb,并且一个用于Cr)。在其他示例中,单个pred_palette_flag可以被编解码用于块的所有颜色分量。
在上面的示例中,pred_palette_flag是每块地通过信号发送的,以指示针对当前块的调色板表的每个条目都被预测。这意味着第二调色板表540与第一调色板表520相同,并且没有附加信息被通过信号发送。在其他示例中,一个或多个语法元素可以在每个条目的基础上通过信号发送。也就是说,标志可以针对先前调色板表的每个条目而被通过信号发送,以指示该条目是否存在于当前调色板表中。如果调色板条目未被预测,则该调色板条目可以明确地通过信号被发送。在其他示例中,这两种方法可以组合起来。
当根据第一调色板表520预测第二调色板表540时,视频编码器20和/或视频解码器30可以对块进行定位,从该块确定预测调色板表。预测调色板表可以与当前正被编解码的块(即第二块530)的一个或多个相邻块相关联。如图5中所描绘的,当确定针对第二块530的预测调色板表时,视频编码器20和/或视频解码器30可以定位到左侧相邻块,即第一块510。在其他示例中,视频编码器20和/或视频解码器30可以在相对于第二块530的其他位置定位一个或多个块,诸如图片500中的上方块。在另一示例中,针对按照调色板模式使用的扫描顺序的最后块的调色板表可以用作针对第二块530的预测调色板表。
视频编码器20和/或视频解码器30可以根据块位置的预定顺序来确定用于调色板预测的块。例如,视频编码器20和/或视频解码器30针对调色板预测最初可以识别左侧相邻块,即第一块510。如果左侧相邻块不可用于预测(例如,左侧相邻块利用除了基于调色板的编解码模式以外的模式(诸如帧内预测模式或帧间预测模式)被编解码,或者左侧相邻块位于图片或条带的最左侧边缘),那么视频编码器20和/或视频解码器30可以识别图片500中的上方相邻块。视频编码器20和/或视频解码器30可以根据块位置的预定顺序继续搜索可用块,直到定位到具有可用于调色板预测的调色板表的块。在一些示例中,视频编码器20和/或视频解码器30可以通过以下方式基于多个块和/或相邻块的重建样本来确定预测调色板:基于多个(在空间上或以扫描顺序)相邻块之一或组合的调色板表,而应用一个或多个公式、函数、规则等来生成预测调色板表。在一个示例中,包括来自一个或多个先前编解码的相邻块的调色板条目的预测调色板表包括多个(N)条目。在这种情况下,视频编码器20首先将二进制向量V发送到视频解码器30,该二进制向量V具有与预测调色板表相同的大小,即大小N。该二进制向量中的每个条目指示预测调色板表中的对应条目是否将被重用或被复制到用于当前块的调色板表。例如,V(i)=l意味着用于相邻块的预测调色板表中的第i个条目将被重用或被复制到用于当前块的调色板表,其在当前块中可以具有不同的索引。
在还有其他示例中,视频编码器20和/或视频解码器30可以构建包括用于调色板预测的多个潜在候选的候选列表。在此类示例中,视频编码器20可以对候选列表的索引进行编码以指示如下列表中的候选块,用于调色板预测的当前块从该列表中被选择。视频解码器30可以以相同方式构建候选列表,对索引进行解码,并使用已解码的索引来选择对应块的调色板以供与当前块一起使用。在另一示例中,列表中的被指示的候选块的调色板表可以用作预测调色板表,以用于针对当前块的调色板表的每条目预测。
在一些实施方式中,一个或多个语法元素可以指示调色板表(诸如第二调色板表540)是否完全从预测调色板中(例如,第一调色板表520,其可以由来自一个或多个先前编解码的块的条目组成)预测,或者是否第二调色板表540的特定条目被预测。例如,初始语法元素可以指示第二调色板表540中的所有条目是否都被预测。如果初始语法元素指示并非所有条目都被预测(例如,具有二进制0值的标志),则一个或多个附加语法元素可以指示第二调色板表540的哪些条目是从预测调色板表中被预测的。
在一些实施方式中,调色板表的大小(例如,就包括在调色板表中的像素值的数量而言)可以是固定的,或者可以使用已编码比特流中的一个或多个语法元素来用信号通知。
在一些实施方式中,视频编码器20可以对块的像素进行编解码,而并不将调色板表中的像素值与视频数据的对应块中的实际像素值精确匹配。例如,当条目的像素值在彼此的预定范围内时,视频编码器20和视频解码器30可以合并或组合(即量化)调色板表中的不同条目。换言之,如果已经存在已有的像素值在新像素值的误差幅度内,则新像素值不会被添加到调色板表中,而与新像素值相对应的块中的样本利用已有像素值的索引被编解码。注意,该有损编解码过程对视频解码器30的操作没有影响,视频解码器30可以以相同方式解码像素值,而不管特定调色板表是无损的还是有损的。
在一些实施方式中,视频编码器20可以选择调色板表中的条目作为用于对块中的像素值进行编码的预测像素值。接着,视频编码器20可以将实际像素值与所选条目之间的差确定为残差,并对该残差进行编码。视频编码器20可以生成残差块,残差块包括由调色板表中的条目所预测的块中的像素的残差值,并且视频编码器20然后将变换和量化应用于残差块(如上文结合图2所描述的)。以此方式,视频编码器20可以生成量化的残差变换系数。在另一示例中,残差块可以无损地被编解码(无变换和量化)或无变换地被编解码。视频解码器30可以对这些变换系数进行逆变换和反量化以再现残差块,并且然后使用预测调色板条目值和用于像素值的残差值来重建像素值。
在一些实施方式中,视频编码器20可以确定误差门限,称为delta值,以构建调色板表。例如,如果块中的某个位置的实际像素值在实际像素值与调色板表中的已有像素值条目之间产生小于或等于delta值的绝对差,则视频编码器20可以发送索引值以标识调色板表中像素值条目的相应索引,以用于在重建该位置的实际像素值时使用。如果块中某个位置的实际像素值在实际像素值与调色板表中的已有像素值条目之间产生大于delta值的绝对差值,则视频编码器20可以发送实际像素值,并将该实际像素值作为新条目添加到调色板表。为了构建调色板表,视频解码器30可以使用由编码器通过信号发送的delta值,依赖于固定或已知的delta值,或者推断或导出delta值。
如上文指出的,当对视频数据进行编解码时,视频编码器20和/或视频解码器30可以使用包括帧内预测模式、帧间预测模式、无损编解码调色板模式和有损编解码调色板模式的编解码模式。视频编码器20和视频解码器30可以对指示基于调色板的编解码是否被启用的一个或多个语法元素进行编解码。例如,在每一块处,视频编码器20可以对指示基于调色板的编解码模式是否将被用于块(例如,CU或PU)的语法元素进行编码。例如,该语法元素可以在已编码的视频比特流中在块级别(例如,CU级)用信号发送,并且然后在解码已编码的视频比特流时由视频解码器30接收。
在一些实施方式中,上文描述的语法元素可以在比块级别更高的级别被传输。例如,视频编码器20可以在条带级、瓦片级、PPS级或SPS级通过信号发送此类语法元素。在这种情况下,等于1的值指示在该级别处或该级别以下的所有块都使用调色板模式被编码,从而在块级别没有附加模式信息(例如,调色板模式或其他模式)通过信号被发送。等于0的值指示在此级别处或此级别以下的块都不使用调色板模式被编码。
在一些实施方式中,在更高级别处的语法元素启用调色板模式的事实并不意味着在该更高级别处或该更高级别以下的每个块必须利用调色板模式被编解码。确切地说,可能仍需要另一个CU级别或者甚至TU级别的语法元素,来指示在CU级别或TU级别处的块是否利用调色板模式被编解码,并且如果是,则对应的调色板表将被构建。在一些实施方式中,就最小块大小的块内的样本数量而言,视频编解码器(例如,视频编码器20和视频解码器30)选择门限值(例如,32),以使得调色板模式不被允许用于块大小低于门限值的块。在这种情况下,没有任何语法元素的信令用于这样的块。注意,用于最小块大小的门限值可以在比特流中显式地通过信号发送,或隐式地被设置为视频编码器20和视频解码器30二者都遵从的默认值。
块的一个位置处的像素值可以与块的其他位置处的像素值相同(或在其delta值之内)。例如,常见的是,块的相邻像素位置具有相同的像素值,或者可以被映射到调色板表中的相同索引值。因此,视频编码器20可以对如下的一个或多个语法元素进行编码,该一个或多个语法元素指示具有相同像素值或索引值的、按给定扫描顺序的多个连续像素或索引值。类似取值的像素值或索引值的串在本文中可以称为“游程”。例如,如果按给定扫描顺序的两个连续像素或索引具有不同的值,则游程等于零。如果按给定扫描顺序的两个连续像素或索引具有相同的值,但按扫描顺序的第三个像素或索引具有不同的值,则游程等于1。对于具有相同值的三个连续索引或像素,则游程为2,依此类推。视频解码器30可以从已编码的比特流中获得指示游程的语法元素,并且使用该数据来确定具有相同像素值或索引值的连续位置的数目。
图6是示出了根据本公开的一些实施方式的示例性过程600的流程图,通过示例性过程600,视频解码器30使用基于调色板的方案来实施解码视频数据的技术。具体地,视频解码器30使用与量化参数相关的信息来确定调色板模式编解码块中的逃逸样本(例如,未由上文结合图5所描述的调色板表中的调色板条目表示的、并且在比特流中需要额外开销用于信令的像素)将以无损方式(即,针对逃逸样本的重建像素值与原始像素值相同)还是有损方式(即,针对逃逸样本的重建的像素值不同于用于量化的原始像素值)被解码。
为了实现基于调色板的方案,视频解码器30从比特流接收对应于调色板模式编解码块的视频数据(610)。例如,调色板模式编解码块包括逃逸样本和非逃逸样本(例如,由调色板表中的调色板条目表示的像素值)两者。
接下来,视频解码器30从与调色板模式编解码块相关联的参数集中包括的信息来确定量化参数值(620)。例如,量化参数值可以与多个编解码级别之一相关联,并且可以例如从序列参数集、图片参数集、对应于一组瓦片的组头、瓦片头等中被获得。
在一些实施例中,针对用于逃逸样本的量化设计,在给定特定量化参数的情况下,用于逃逸样本的量化缩放与其他编解码工具(例如,变换跳过情况和/或变换情况下的样本)中的用于样本的常规量化中相同,但针对逃逸样本量化的实际操作与常规量化操作不同地被定义。例如,用于逃逸样本的量化操作涉及与常规量化不同的移位操作和/或偏移操作。
在一些实施例中,量化过程对于逃逸样本和非逃逸样本是相同的。在一个示例中,常规量化过程被用于调色板模式下的逃逸样本的量化。因此,针对逃逸样本的量化设计将与针对变换跳过模式和/或变换模式下的样本的量化过程相同。当使用变换跳过模式的量化/反量化对调色板逃逸颜色进行编解码时,以下等式描述了分别在编码器和解码器处应用的对应量化过程和反量化过程。
编码器:
Figure BDA0003591614950000231
解码器:
Figure BDA0003591614950000232
其中,pResi和pResi’是原始残差系数和重建的残差系数;pLevel是量化的值;transformShift是用于补偿由于2D变换引起的动态范围增加的位移,它等于15-bitDepth-(log2(W)+log2(H))/2,其中W和H是当前变换单元的宽度和高度,bitDepth为编解码比特深度。encScale[]和descale[]是量化和反量化查找表,它们是14比特精度和6比特精度并且被定义为:
QP%6 0 1 2 3 4 5
encScale[QP%6] 26214 23302 20560 18396 16384 14564
decScale[QP%6] 40 45 51 57 64 72
表1
当变换块的大小不是4的幂时,另一个查找表被定义为:
QP%6 0 1 2 3 4 5
encScale[QP%6] 18396 16384 14564 13107 11651 10280
decScale[QP%6] 57 64 72 80 90 102
表2
接下来,视频解码器30识别调色板模式编解码块中的量化后的逃逸样本(630)。例如,量化后的逃逸样本可以与比特流中的额外开销相关联,以区别于由调色板表中的调色板条目表示的那些非逃逸样本。
一旦视频解码器30确定调色板模式编解码块中的逃逸样本,视频解码器30然后基于来自量化参数值的信息来确定对量化后的逃逸样本进行解码的特定方法。如果确定量化参数值大于门限值(640)(例如,量化参数(QP)的值大于4),视频解码器30根据预定义的公式(例如,基于上面列出的等式2和表1或表2)对量化后的逃逸样本进行反量化,以获得重建的逃逸样本值(640-1)。该解码过程通常是有损过程,因为重建的逃逸样本值可能由于量化而不同于原始样本值。如果确定量化参数值小于或等于门限值(650)(例如,QP的值等于或小于4),视频解码器30然后将重建的逃逸样本设置为量化后的逃逸样本值(650-1)。在这种情况下,该解码过程是无损过程,因为重建的逃逸样本值与原始样本值相同。在一些实施例中,视频解码器30并行执行步骤640和步骤650,并且是在从与调色板模式编解码块相关联的参数集中包括的信息来确定量化参数值的同时(例如,在执行步骤620的同时)。
在一些实施例中,视频解码器30对量化参数值被用信号发送的级别之内或之下的所有CU的量化后逃逸样本执行反量化。例如,如果量化参数值是从图片参数集中获得的,则图片内的CU的所有量化后逃逸样本将根据预定义的公式被解码。换言之,当QP的值等于或小于特定值(例如4)时,在量化参数信息被用信号发送的级别处或之下的所有CU可以以无损调色板模式被编解码;当QP的值大于特定值(例如4)时,意味着无损调色板模式不可用于对该QP信息被用信号发送的级别处或之下的任何CU进行编解码。
在一些实施例中,视频解码器30通过以下方式来确定量化参数值:首先从与调色板模式编解码块相关联的参数集中包括的信息来确定delta量化参数值,并且然后将delta量化参数值加到参考量化参数值作为量化参数值。用于通过信号发送针对调色板模式编解码CU的delta量化参数值的示例性代码如下所示:
Figure BDA0003591614950000251
Figure BDA0003591614950000261
表3
在一些实施例中,对于调色板模式编解码块,总是通过信号发送delta量化参数。用于总是通过信号发送针对调色板模式编解码块的delta量化参数的示例代码如下所示:
Figure BDA0003591614950000262
Figure BDA0003591614950000271
表4
在一些实施例中,对于调色板模式编解码块,用于亮度分量和色度分量的delta量化参数总是单独地通过信号发送。用于针对调色板模式编解码块的亮度分量和色度分量分别通过信号发送delta量化参数的示例代码如下所示:
Figure BDA0003591614950000272
Figure BDA0003591614950000281
表5
在一些实施例中,与调色板模式编解码块中的逃逸样本相对应的量化后系数是基于量化参数值和比特深度使用固定长度二值化过程而被二进制编码的。固定长度的二进制长度根据以下两个公式之一确定:
Binary Length=(Bit Depth-Quantization Parameter Value/6) (3)
Binary Length=(Bit Depth-(floor(Quantization Parameter-4)/6))) (4)
在一些实施例中,这些二值化方法在不同的编解码级别处自适应地切换,诸如序列参数集(SPS)、图片参数集(PPS)、条带和/或编解码块组。在这种情况下,编码器具有灵活性来动态地选择二值化方法以通过信号发送比特流中的信息。
在一些实施例中,当调色板模式是无损的时,固定长度二值化过程被用于逃逸样本。在一个示例中,当调色板模式是无损的时,逃逸样本直接基于它们的二进制格式值而被编解码,每个比特都被编解码为CABAC旁路二进制位。
在一些实施例中,与调色板模式编解码块相关联的参数集包括:第一语法元素(例如,palette_max_size),其指定用于调色板模式编解码块的最大允许调色板大小;第二语法元素(例如,palette_max_area),其指定用于调色板模式编解码块的最大允许调色板区域;第三语法元素(例如,palette_max_predictor_size),其指定调色板模式编解码块的最大允许调色板预测值大小;第四语法元素(例如,delta_palette max_predictor_size),其指定用于调色板模式编解码块的最大允许调色板预测值大小和最大允许调色板大小之间的差异;第五语法元素(例如,palette_predictor_initializer_present_flag),其对用于调色板模式编解码块的序列调色板预测值进行初始化;第六语法元素(例如,num_palette_predictor_initializer minus1),其指定用于调色板模式编解码块的调色板预测值的初始化值中的条目数减去1;第七语法元素(例如,palette_predictor_initializers[component][i]),其指定用于对预测值调色板条目阵列进行初始化的第i个调色板条目的分量的值;第八语法元素(例如,luma_bit_depth_entry_minus8_initializers),其指定调色板预测值初始化值的条目的亮度分量的比特深度值减去8;第九语法元素(例如,chroma_bit_depth_entry_minus8_initializers),其指定调色板预测值初始化值的条目的色度分量的比特深度值减去8;第十语法元素(例如,luma_bit_depth_entry_minus8),其指定调色板条目的亮度分量的比特深度值减去8;以及第十一语法元素(例如,chroma_bit_depth_entry_minus8_initializers),其指定调色板条目的色度分量的比特深度值减去8。
在一些实施例中,从与调色板模式编解码块相关联的参数集中包括的信息来确定量化参数值包括:如果确定用于调色板模式编解码块的量化后系数不对应于调色板模式编解码块中的逃逸样本(例如,这些系数在调色板中被编解码):将量化参数值设置为等于与当前CU相对应的参数集中包括的量化参数值(QPcu);并且如果确定用于调色板模式编解码块的量化后系数对应于调色板模式编解码块中的逃逸样本:根据公式MIN(((MAX(4,QPcu)-2)/6)*6+4,61)计算量化后的参数值。
在一些实施例中,视频解码器30如果确定用于调色板模式编解码块的量化后系数对应于调色板模式编解码块中的逃逸样本,而从与调色板模式编解码块相关联的参数集中包括的信息来确定量化参数值,并且然后根据公式MAX(4,QPcu)来限制量化后的参数值。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质传输,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质或通信介质,计算机可读存储介质对应于诸如数据存储介质之类的有形介质,通信介质包括促进将计算机程序从一个地方转移到另一个地方(例如,根据通信协议)的任何介质。以这种方式中,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是任何可用介质,其可以由一个或多个计算机或者一个或多个处理器访问以取回指令、代码和/或数据结构以实现本申请中描述的实施方式。计算机程序产品可以包括计算机可读介质。
在本文的实施方式的描述中使用的术语仅用于描述特定实施方式的目的,并且不旨在限制权利要求的范围。如在实施方式的描述和所附权利要求中使用的,单数形式“一个”、“一种”和“该/所述”也旨在包括复数形式,除非上下文另有明确指示。还将理解,如本文所使用的术语“和/或”指代并且涵盖一个或多个相关联的所列项目的任何和所有可能的组合。将会进一步理解,当在本说明书中使用时,术语“包括”和/或“包括有”指定所陈述的特征、元件和/或组件的存在,但不排除一个或多个其他特征、元件、组件和/或它们的组的存在或添加。
还将理解,虽然术语第一、第二等在本文中可以用于描述各种元件,但这些元件不应当受限于这些术语。这些术语仅用于区分一个元件与另一个元件。例如,在不脱离实施方式的范围的情况下,第一电极可以被称为第二电极,并且类似地,第二电极可以被称为第一电极。第一电极和第二电极两者都是电极,但它们不是同一个电极。
本申请的描述已经被呈现用于说明和描述的目的,并且不旨在穷举或限于所公开形式的发明。受益于前述描述和相关联附图中呈现的教导,许多修改、变化和替代实施方式对本领域的普通技术人员将是明显的。实施例被选择和描述是为了最好地解释本发明的原理、实际应用,并使本领域的其他技术人员能够理解本发明的各种实现方式,并最好地利用基本原理和适用于预期特定用途的具有各种修改的各种实现方式。因此,将理解,权利要求的范围不限于所公开的实施方式的具体示例,并且修改和其他实施方式旨在被包括在所附权利要求的范围内。

Claims (9)

1.一种解码视频数据的方法,所述方法包括:
从比特流接收对应于调色板模式编解码块的视频数据;
从与所述调色板模式编解码块相关联的参数集中包括的信息来确定量化参数值;
识别所述调色板模式编解码块中的量化后的逃逸样本;
如果确定所述量化参数值大于门限值:
根据预定义的公式对量化后的逃逸样本执行反量化,以获得重建的逃逸样本值;以及
如果确定所述量化参数值小于或等于所述门限值:
将所述重建的逃逸样本设置为所述量化后的逃逸样本值。
2.根据权利要求1所述的方法,其中确定所述量化参数值包括:
从与所述调色板模式编解码块相关联的所述参数集中包括的所述信息来确定delta量化参数值;以及
将所述delta量化参数值加到参考量化参数值,作为用于所述调色板模式编解码块的所述量化参数值。
3.根据权利要求1所述的方法,其中,当所述量化参数值大于所述门限值时,所述量化后的逃逸样本包括与所述调色板模式编解码块中的逃逸样本相对应的量化后系数,并且其中所述预定义的公式包括:
Figure FDA0003591614940000011
其中:
pResi’是与所述逃逸模式编解码像素相对应的重建的残差系数;
transformShift是移位操作,包括:15–bitDepth–(log2(W)+log2(H))/2;
W和H是所述调色板模式编解码块的宽度和高度,bitDepth是编解码比特深度;以及
encScale[]和deScale[]是量化和反量化查找表,它们是14比特精度和6比特精度并且被定义为:
Figure FDA0003591614940000012
Figure FDA0003591614940000021
4.根据权利要求3所述的方法,其中用于所述调色板模式编解码块的所述量化后系数对应于所述调色板模式编解码块中的逃逸样本,并且所述量化后系数基于所述量化参数值和比特深度使用固定长度二值化过程被编码为二进制,并且所述固定长度二值化过程的二进制长度根据第一公式或者第二公式确定,所述第一公式为:Binary Length=(BitDepth–Quantization Parameter Value/6),所述第二公式为:Binary Length=(BitDepth–(floor(Quantization Parameter–4)/6)))。
5.根据权利要求1所述的方法,其中与所述调色板模式编解码块相关联的所述参数集包括以下一项或多项:
第一语法元素,指示用于所述调色板模式编解码块的最大允许调色板大小;
第二语法元素,指示用于所述调色板模式编解码块的最大允许调色板区域;
第三语法元素,指示所述调色板模式编解码块的最大允许调色板预测值大小;
第四语法元素,指示用于所述调色板模式编解码块的所述最大允许调色板预测值大小与所述最大允许调色板大小之间的差异;
第五语法元素,用以对用于所述调色板模式编解码块的序列调色板预测值进行初始化;
第六语法元素,指示用于所述调色板模式编解码块的调色板预测值的初始化值中的条目数减去1;
第七语法元素,指示用于对预测值调色板条目阵列进行初始化的第i个调色板条目的分量的值;
第八语法元素,指示所述调色板预测值的初始化值的条目的亮度分量的比特深度值减去8;
第九语法元素,指示所述调色板预测值的初始化值的所述条目的色度分量的比特深度值减去8;
第十语法元素,指示所述调色板的所述条目的所述亮度分量的比特深度值减去8;以及
第十一语法元素,指示所述调色板的所述条目的所述色度分量的比特深度值减去8。
6.根据权利要求1所述的方法,其中从与所述调色板模式编解码块相关联的所述参数集中包括的所述信息来确定所述量化参数值包括:
如果确定用于所述调色板模式编解码块的量化后系数不对应于所述调色板模式编解码块中的逃逸样本:
将所述量化参数值设置为与所述调色板模式编解码块相对应的量化参数值(QPcu);以及
如果确定用于所述调色板模式编解码块的所述量化后系数对应于所述调色板模式编解码块中的逃逸样本:
根据以下公式计算所述量化后的参数值:MIN(((MAX(4,QPcu)–2)/6)*6+4,61)。
7.根据权利要求1所述的方法,其中从与所述调色板模式编解码块相关联的所述参数集中包括的所述信息来确定所述量化参数值包括:
如果确定用于所述调色板模式编解码块的量化后系数对应于所述调色板模式编解码块中的逃逸样本:
根据公式MAX(4,QPcu)来限制所述量化后的参数值,其中QPcu表示与所述调色板模式编解码块相对应的量化参数值(QPcu)。
8.一种电子装置,包括:
一个或多个处理单元;
耦合到所述一个或多个处理单元的存储器;以及
存储在所述存储器中的多个程序,当由所述一个或多个处理单元执行时,所述多个程序使得所述电子装置执行权利要求1-7所述的方法。
9.一种非暂时性计算机可读存储介质,存储供具有一个或多个处理单元的电子装置执行的多个程序,其中所述多个程序在由所述一个或多个处理单元执行时,使得所述电子装置执行权利要求1-7所述的方法。
CN202080071489.5A 2019-08-15 2020-08-14 使用调色板模式的视频编解码的方法和装置 Pending CN114762329A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211518329.8A CN116112667A (zh) 2019-08-15 2020-08-14 使用调色板模式的视频编解码的方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962887660P 2019-08-15 2019-08-15
US62/887,660 2019-08-15
PCT/US2020/046321 WO2021030667A1 (en) 2019-08-15 2020-08-14 Methods and apparatus of video coding using palette mode

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202211518329.8A Division CN116112667A (zh) 2019-08-15 2020-08-14 使用调色板模式的视频编解码的方法和装置

Publications (1)

Publication Number Publication Date
CN114762329A true CN114762329A (zh) 2022-07-15

Family

ID=74570436

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080071489.5A Pending CN114762329A (zh) 2019-08-15 2020-08-14 使用调色板模式的视频编解码的方法和装置
CN202211518329.8A Pending CN116112667A (zh) 2019-08-15 2020-08-14 使用调色板模式的视频编解码的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202211518329.8A Pending CN116112667A (zh) 2019-08-15 2020-08-14 使用调色板模式的视频编解码的方法和装置

Country Status (7)

Country Link
US (1) US20220174301A1 (zh)
EP (1) EP4014491A4 (zh)
JP (2) JP7256595B2 (zh)
KR (2) KR102521034B1 (zh)
CN (2) CN114762329A (zh)
MX (1) MX2022001928A (zh)
WO (1) WO2021030667A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021040460A1 (ko) * 2019-08-30 2021-03-04 주식회사 케이티 비디오 신호 처리 방법 및 장치
EP4035368A4 (en) 2019-09-23 2022-11-30 Beijing Dajia Internet Information Technology Co., Ltd. METHODS AND DEVICES FOR DESIGNING QUANTIFICATION AND DEQUANTIFICATION IN VIDEO CODING
US11683489B2 (en) * 2019-12-26 2023-06-20 Qualcomm Incorporated Monochrome palette mode for video coding

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120016980A (ko) * 2010-08-17 2012-02-27 한국전자통신연구원 영상 부호화 방법 및 장치, 그리고 복호화 방법 및 장치
WO2015091879A2 (en) * 2013-12-19 2015-06-25 Canon Kabushiki Kaisha Improved encoding process using a palette mode
KR101845462B1 (ko) * 2014-03-14 2018-04-04 브이아이디 스케일, 인크. 스크린 콘텐츠 코딩을 위한 팔레트 코딩
US9826242B2 (en) * 2014-03-14 2017-11-21 Qualcomm Incorporated Palette-based video coding
WO2016123262A1 (en) * 2015-01-29 2016-08-04 Vid Scale, Inc. Escape color coding for palette coding mode
US10425659B2 (en) 2015-01-30 2019-09-24 Qualcomm Incorporated Coding escape pixels for palette coding
US10057587B2 (en) 2015-01-31 2018-08-21 Qualcomm Incorporated Coding escape pixels for palette mode coding
WO2016197314A1 (en) 2015-06-09 2016-12-15 Microsoft Technology Licensing, Llc Robust encoding/decoding of escape-coded pixels in palette mode
US10097842B2 (en) * 2015-09-18 2018-10-09 Qualcomm Incorporated Restriction of escape pixel signaled values in palette mode video coding
CA3147923A1 (en) * 2019-07-20 2021-01-28 Beijing Bytedance Network Technology Co., Ltd. Quantization process for palette mode

Also Published As

Publication number Publication date
JP7490106B2 (ja) 2024-05-24
KR20230049764A (ko) 2023-04-13
EP4014491A4 (en) 2022-09-28
MX2022001928A (es) 2022-05-24
JP7256595B2 (ja) 2023-04-12
JP2023078462A (ja) 2023-06-06
EP4014491A1 (en) 2022-06-22
JP2022535163A (ja) 2022-08-04
KR102521034B1 (ko) 2023-04-13
KR20220044344A (ko) 2022-04-07
US20220174301A1 (en) 2022-06-02
CN116112667A (zh) 2023-05-12
WO2021030667A1 (en) 2021-02-18

Similar Documents

Publication Publication Date Title
CN114710679B (zh) 视频编解码中的小色度块大小限制
JP7490106B2 (ja) ビデオ符号化方法、電子機器、およびプログラム
CN114567786B (zh) 以4:4:4色度格式进行视频编解码的方法和装置
CN116016936A (zh) 使用调色板模式的视频编解码的方法和装置
US20220086464A1 (en) Methods and apparatus of segment-based video coding using palette mode
CN115802061B (zh) 对视频数据进行编码的方法、电子装置和存储介质
CN115209139B (zh) 视频编解码中的预测模式信令
CN115086681A (zh) 4:4:4色度格式的视频编解码的方法和装置
CN115004706A (zh) 关于变换和系数信令的方法和装置
CN115004704A (zh) 变换与系数信令的方法和装置
JP7401631B2 (ja) パレットモードを用いたビデオコーディングの方法および装置
CN114208172A (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