CN116830574A - 具有指定比特深度精度的调色板模式代码化 - Google Patents

具有指定比特深度精度的调色板模式代码化 Download PDF

Info

Publication number
CN116830574A
CN116830574A CN202180093207.6A CN202180093207A CN116830574A CN 116830574 A CN116830574 A CN 116830574A CN 202180093207 A CN202180093207 A CN 202180093207A CN 116830574 A CN116830574 A CN 116830574A
Authority
CN
China
Prior art keywords
value
bit depth
palette mode
encoded
palette
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
CN202180093207.6A
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.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN116830574A publication Critical patent/CN116830574A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial 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/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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/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/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

Landscapes

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

Abstract

将语法元素写入比特流以指定视频块的调色板模式代码化的比特深度精度。在编码期间,用于对当前块进行调色板模式代码化的比特深度可以基于包括当前块的输入视频信号或基于比特深度精度的一些变化。将当前块的预测残差与指示用于当前块的调色板模式代码化的比特深度的语法元素一起编码到比特流。具体地,语法元素包括指示所使用的调色板模式代码化比特深度的第一元素和指示是否对调色板模式代码化比特深度应用比特偏移的第二元素。在解码期间,语法元素的值从比特流读取并用于确定对编码块进行调色板模式代码化的比特深度。

Description

具有指定比特深度精度的调色板模式代码化
背景技术
数字视频流可以使用帧或静止图像的序列表示视频。数字视频可以用于各种应用,包括例如视频会议、高清视频娱乐、视频广告或用户生成的视频共享。数字视频流可以包含大量数据,并且消耗计算设备用于处理、发送或存储视频数据的大量计算或通信资源。已经提出各种方法以减少视频流中的数据量,包括编码或解码技术。
发明内容
根据本公开的实施方式的一种用于从比特流解码编码块的方法包括:从比特流读取第一值,所述第一值指示用于对编码块进行编码的调色板模式代码化比特深度。还从比特流读取第二值,所述第二值指示是否对调色板模式代码化比特深度应用比特偏移。使用基于第一值和第二值确定的调色板颜色集合生成用于编码块的调色板模式预测块。使用调色板模式预测块生成重构块。输出重构块以用于存储或显示。
在方法的一些实施方式中,当第二值指示应用比特偏移时,调色板颜色集合基于最大调色板模式代码化比特深度而受到限制。
在方法的一些实施方式中,方法进一步包括:根据比特偏移来移位调色板模式代码化比特深度以确定编码块的比特深度,其中调色板颜色集合基于比特深度大于最大调色板模式代码化比特深度而受到限制。
在方法的一些实施方式中,最大调色板模式代码化比特深度为8比特。
在方法的一些实施方式中,当第二值指示不应用比特偏移时,调色板颜色集合基于调色板模式代码化比特深度。
在方法的一些实施方式中,第一值和第二值被编码到比特流内的序列标头。
在方法的一些实施方式中,第一值和第二值被编码到比特流内的帧标头。
在方法的一些实施方式中,第一值使用三个比特写入比特流中,并且第二值使用一个比特写入比特流中。
根据本公开的实施方式的一种用于从比特流解码编码块的装置包括:存储器;以及被配置成执行存储在存储器中的指令的处理器。指令包括用于进行以下操作的指令:从比特流读取第一值,所述第一值指示用于对编码块进行编码的调色板模式代码化比特深度;从比特流读取第二值,所述第二值指示是否对调色板模式代码化比特深度应用比特偏移;使用基于第一值和第二值确定的调色板颜色集合生成用于编码块的调色板模式预测块;使用调色板模式预测块生成重构块;以及输出重构块以用于存储或显示。当第二值指示应用比特偏移时,调色板颜色集合基于最大调色板模式代码化比特深度而受到限制。当第二值指示不应用比特偏移时,调色板颜色集合基于调色板模式代码化比特深度。
在装置的一些实施方式中,指令包括用于进行以下操作的指令:当第二值指示应用比特偏移时,根据比特偏移来移位调色板模式代码化比特深度以确定编码块的比特深度,其中调色板颜色集合基于比特深度大于最大调色板模式代码化比特深度而受到限制。
在装置的一些实施方式中,最大调色板模式代码化比特深度为8比特。
在装置的一些实施方式中,第一值和第二值被编码到比特流内的序列标头。
在装置的一些实施方式中,第一值和第二值被编码到比特流内的帧标头。
根据本公开的实施方式的一种非暂时性计算机可读存储设备包括可由一个或多个处理器执行的程序指令,程序指令在被执行时使一个或多个处理器执行用于从比特流解码编码块的操作,其中操作包括:从比特流读取指示用于对编码块进行编码的调色板模式代码化比特深度的第一值和指示是否对调色板模式代码化比特深度应用比特偏移的第二值。使用基于第一值和第二值确定的调色板颜色集合生成用于编码块的预测块。输出使用预测块生成的重构块以用于存储或显示。
在非暂时性计算机可读存储设备的一些实施方式中,当第二值指示应用比特偏移时,调色板颜色集合基于最大调色板模式代码化比特深度而受到限制。
在非暂时性计算机可读存储设备的一些实施方式中,操作进一步包括:根据比特偏移来偏移调色板模式代码化比特深度以确定编码块的比特深度,其中调色板颜色集合基于比特深度大于最大调色板模式代码化比特深度而受到限制。
在非暂时性计算机可读存储设备的一些实施方式中,最大调色板模式代码化比特深度为8比特。
在非暂时性计算机可读存储设备的一些实施方式中,当第二值指示不应用比特偏移时,调色板颜色集合基于调色板模式代码化比特深度。
在非暂时性计算机可读存储设备的一些实施方式中,第一值和第二值被编码到比特流内的序列标头。
在非暂时性计算机可读存储设备的一些实施方式中,第一值和第二值被编码到比特流内的帧标头。
在以下实施方式、所附权利要求和附图的详细描述中公开本公开的这些和其他方面。
附图说明
本文中的描述参考以下描述的附图,其中在几个视图中,相同的附图标记指代相同的部分。
图1是视频编码和解码***的示例的示意图。
图2是可以实施发送站或接收站的计算设备的示例的框图。
图3是要被编码和解码的视频流的示例的图。
图4是编码器的示例的框图。
图5是解码器的示例的框图。
图6是用于当前块的调色板模式代码化的编码器的预测级的框图。
图7是用于当前块的调色板模式代码化的解码器的预测级的框图。
图8是用于使用具有指定比特深度精度的调色板模式代码化对当前块进行编码的技术的示例的流程图。
图9是用于使用具有指定比特深度精度的调色板模式代码化对编码块进行解码的技术的示例的流程图。
具体实施方式
视频压缩方案可以包括将相应图像或视频帧分解成诸如视频块的更小的部分,并且使用技术生成编码比特流以限制其相应视频块所包括的信息。可以对编码比特流进行解码以根据有限信息重新创建源图像。对视频块进行编码或解码可以包括预测所述视频块内的运动,诸如相对于同一视频帧或不同视频帧中的一个或多个其他视频块。
对于某些类型的视频内容,例如,屏幕捕捉或视频游戏的视频,可以使用相对少量的颜色预测块信息。AV1编解码器引入了调色板模式帧内预测以解决这些使用情况,在这些使用情况中,被称为基色的几个像素值用于表示给定块的每个像素中的像素值。具体地,块的每个平面的调色板预测器由具有块的像素的两到八个颜色和颜色索引的调色板指定。与使用其他预测方法相比,在具有相对较少的独特颜色的视频内容中使用调色板模式帧内预测通常可以使得代码化效率提高。
AV1支持输入视频信号的8比特、10比特和12比特代码化。其还支持低比特深度输入信号的内部高比特深度编码,其中输入的8比特信号被转换为10比特或12比特信号。通常,内部高比特深度在精度更高的情况下实现高压缩效率和更大色彩保真度,但计算开销更大。因此,内部高比特深度管线的调色板模式帧内预测的代码化效率可能视为是不令人满意的。例如,在输入信号是8比特并且被转换为10比特或12比特的情况下,代码化性能(例如,使用峰值信噪比(PSNR)测量)可能比在未首先被转换为更高比特深度时对8比特信号进行编码的情况下在可测量程度上差得多。
这种性能倒退是由于比特流开销造成的。具体地,代码化性能的不足是由于在AV1中将调色板颜色写入比特流的方式造成的。在AV1中,对于每个块,将所选择的颜色按升序排序,并且将第一颜色写入比特流,从而消耗N个比特,其中N的值是经转换比特深度。然后,将两个相邻颜色的增量写入比特流的之后的比特中,其中每个增量消耗M个比特,其中M的值取决于当前颜色与等于2^N-1的最大值之间的差。假定颜色值在代码化期间增大,则当前颜色与最大值之间的差在代码化期间减小,使得M的值也不增大。
因为AV1从字面上将调色板颜色代码化信息代码化成比特流(即,没有熵代码化),所以10比特和12比特的经转换信号的调色板颜色将比8比特信号消耗更多的比特,这是由于基色具有更大的范围并且需要更多的比特。因此,即使比特深度精度提高了使用AV1调色板模式帧内预测工具的块预测的整体精度,但是比特消耗开销最终使得整体压缩效率更差。
本公开的实施方式解决诸如使用用于调色板模式代码化的指定比特深度精度技术的问题。本公开引入语法元素palette_bit_depth和palette_bit_offset并将其编码到序列级别或帧级别的比特流,以指示用于编码块的调色板模式代码化的比特深度精度。具体地,palette_bit_depth的值指示用于对编码块进行编码的调色板模式代码化比特深度,并且palette_bit_offset的值指示是否对调色板模式代码化比特深度应用比特偏移。然后基于那些语法元素的值确定可用于在编码块的解码期间生成调色板模式代码化预测块的调色板颜色集合。
在一些情况下,palette_bit_depth的值可以与当前编码比特深度相同,在这种情况下,可以如AV1中所阐述的执行调色板模式代码化。然而,在其他情况下,诸如当palette_bit_offset的值指示应用比特偏移时,palette_bit_depth的值可以低于当前编码比特深度,在这种情况下,可以在比特流中强制调色板颜色的8比特表示,以限制或防止不必要的开销。例如,在编码比特深度为12的情况下,可以将palette_bit_depth的值设置为8。这将要求调色板颜色缩小到8比特范围,而不是原始的比特深度范围。因此,当palette_bit_offset的值指示应用比特偏移时,可用于生成调色板模式代码化预测块的调色板颜色集合受到限制。
现将描述如何使用本公开的实施方式的示例。在第一示例中,原始输入信号可以是8比特并且被转换为10比特或12比特以用于编码。在这种情况下,不使用语法元素palette_bit_depth和palete_bit_offset时性能倒退是不可避免的。因此,在确定原始输入信号是8比特并且被转换为更高比特深度时,可以将palette_bit_depth的值设置为8,并且将palette_bit_offset的值设置为1,以指示移位用以实现值8的palette_bit_depth的三比特值(例如,使得palette_bit_offset用作palette_bit_depth最左边的第四比特)。这确保所选择的调色板颜色可以由8比特整数表示,并且8比特精度相应地用于一个或多个对应块的调色板颜色的编码。在第二示例中,原始输入信号可以是10比特或12比特。在这种情况下,8比特颜色表示可能足以也可能不足以精确地表示信号值。可以使用编码器特定的方法确定是否使用语法元素palette_bit_depth来帮助提高代码化效率。
本文首先参考可以在其中实施此类技术的***来描述用于具有指定比特深度精度的调色板模式代码化的技术的进一步细节。图1是视频编码和解码***100的示例的示意图。例如,发送站102可以是具有诸如图2中所描述的硬件的内部配置的计算机。然而,发送站102的其他实施方式也是可能的。例如,发送站102的处理可以分布在多个设备之间。
网络104可以连接发送站102和接收站106,用于对视频流进行编码和解码。具体地,可以在发送站102中对视频流进行编码,并且可以在接收站106中对编码视频流进行解码。网络104可以是例如因特网。网络104也可以是局域网(LAN)、广域网(WAN)、虚拟专用网(VPN)、蜂窝电话网络,或将视频流从发送站102传输到此示例中的接收站106的任何其他方式。
在一个示例中,接收站106可以是具有诸如图2中所描述的硬件的内部配置的计算机。然而,接收站106的其他合适的实施方式也是可能的。例如,接收站106的处理可以分布在多个设备之间。
视频编码和解码***100的其他实施方式也是可能的。例如,一种实施方式可以省略网络104。在另一种实施方式中,可以对视频流进行编码,然后存储视频流以供稍后发送到接收站106或具有存储器的任何其他设备。在一种实施方式中,接收站106接收(例如,经由网络104、计算机总线和/或一些通信路径)编码视频流,并且存储视频流以供稍后解码。在示例实施方式中,可以使用实时传输协议(RTP)通过网络104发送编码视频。在另一种实施方式中,可以使用RTP以外的传输协议(例如,基于超文本传输协议(基于HTTP)的视频流协议)。
当在视频会议***中使用时,例如,发送站102和/或接收站106可以包括如下所述对视频流进行编码和解码的能力。例如,接收站106可以是视频会议参与者,其从视频会议服务器(例如,发送站102)接收编码视频比特流以进行解码和观看,并且进一步对他或她自己的视频比特流进行编码并发送到视频会议服务器以供其他参与者解码和观看。
在一些实施方式中,视频编码和解码***100可以替代地用于对除视频数据之外的数据进行编码和解码。例如,视频编码和解码***100可以用于处理图像数据。图像数据可以包括来自图像的数据块。在此类实施方式中,发送站102可以用于对图像数据进行编码,并且接收站106可以用于对图像数据进行解码。
可替代地,接收站106可以表示诸如在从发送站102接收编码或经预编码图像数据之后存储编码图像数据以供后续使用的计算设备。作为另一替代方案,发送站102可以表示诸如在将经解码图像数据发送到接收站106以用于显示之前对图像数据进行解码的计算设备。
图2是可以实施发送站或接收站的计算设备200的示例的框图。例如,计算设备200可以实施图1的发送站102和接收站106中的一个或两个。计算设备200可以是包括多个计算设备的计算***的形式,或是例如移动电话、平板计算机、膝上型计算机、笔记本计算机、台式计算机等的一个计算设备的形式。
计算设备200中的处理器202可以是传统的中央处理单元。可替代地,处理器202可以是能够操纵或处理现在存在的或以后开发的信息的另一类型的设备,或多个设备。例如,尽管所公开的实施方式可以用所示的一个处理器(例如,处理器202)实践,但是可以通过使用多于一个处理器来实现速度和效率方面的优势。
在一种实施方式中,计算设备200中的存储器204可以是只读存储器(ROM)设备或随机存取存储器(RAM)设备。然而,其他合适类型的存储设备可以用作存储器204。存储器204可以包括由处理器202使用总线212访问的代码和数据206。存储器204可以进一步包括操作***208和应用程序210,应用程序210包括允许处理器202执行本文描述的技术的至少一个程序。例如,应用程序210可以包括应用程序1到N,其进一步包括执行本文描述的一些或全部技术的编码和/或解码软件。
计算设备200还可以包括辅助存储214,辅助存储214例如可以是与移动计算设备一起使用的存储器卡。因为视频通信会话可能包含大量信息,所以它们可以全部或部分存储在辅助存储214中,并且根据需要加载到存储器204中进行处理。
计算设备200还可以包括一个或多个输出设备,诸如显示器218。在一个示例中,显示器218可以是将显示器与可用于感测触摸输入的触敏元件相结合的触敏显示器。显示器218可以经由总线212耦合到处理器202。除了显示器218之外或作为显示器218的替代,可以提供允许用户对计算设备200进行编程或以其他方式使用计算设备200的其他输出设备。当输出设备是或包括显示器时,显示器可以以各种方式实施,包括通过液晶显示器(LCD)、阴极射线管(CRT)显示器,或诸如有机LED(OLED)显示器的发光二极管(LED)显示器实施。
计算设备200还可以包括图像感测设备220或与图像感测设备220通信,所述图像感测设备220例如是相机、或现在存在的或以后开发的可以感测诸如操作计算设备200的用户的图像的图像的任何其他图像感测设备220。图像感测设备220可以被定位为使得其指向操作计算设备200的用户。在一个示例中,图像感测设备220的位置和光轴可以被配置成使得视野包括与显示器218直接相邻并且显示器218自其可见的区域。
计算设备200还可以包括声音感测设备222或与声音感测设备222通信,所述声音感测设备222例如是麦克风、或现在存在的或以后开发的能够感测计算设备200附近的声音的任何其他声音感测设备。声音感测设备222可以被定位为使得其指向操作计算设备200的用户,并且可以被配置成接收在用户操作计算设备时用户发出的声音,例如语音或其他话语。
尽管图2将计算设备200的处理器202和存储器204描绘为集成到一个单元中,但是也可以使用其他配置。处理器202的操作可以跨多个机器(其中各个机器可以具有一个或多个处理器)分布,这些机器可以直接耦合或跨局域网或其他网络耦合。存储器204可以跨多个机器分布,诸如基于网络的存储器或执行计算设备200的操作的多个机器中的存储器。
尽管这里描述为一个总线,但是计算设备200的总线212可以由多个总线组成。此外,辅助存储214可以直接耦合到计算设备200的其他组件或可以经由网络访问,并且可以包括诸如存储器卡的集成单元或诸如多个存储器卡的多个单元。因此,计算设备200可以以各种各样的配置实施。
图3是要被编码和解码的视频流300的示例的图。视频流300包括视频序列302。在下一级别,视频序列302包括多个相邻帧304。虽然三个帧被描绘为相邻帧304,但是视频序列302可以包括任何数量的相邻帧304。然后可以将相邻帧304进一步细分为单独的帧,例如帧306。
在下一级别,帧306可以被划分为一系列平面或片段308。片段308可以是例如允许并行处理的帧的子集。片段308也可以是可以将视频数据分离成单独颜色的帧的子集。例如,彩***数据的帧306可以包括亮度平面和两个色度平面。片段308可以以不同的分辨率进行采样。
无论帧306是否被划分为片段308,帧306都可以被进一步细分为块310,块310可以包含与例如帧306中的NxM像素相对应的数据,其中N和M可以指相同的整数值或不同的整数值。块310还可以被布置成包括来自像素数据的一个或多个片段308的数据。块310可以是任何合适的大小,诸如4x4像素、8x8像素、16x8像素、8x16像素、16x16像素,或更大直到最大块大小,其可以是128x128像素或另一NxM像素大小。
图4是编码器400的示例的框图。如上所述,编码器400可以诸如通过提供存储在存储器(例如存储器204)中的计算机软件程序而在发送站102中实施。计算机软件程序可以包括机器指令,当由诸如处理器202之类的处理器执行时,机器指令使得发送站102以图4中描述的方式对视频数据进行编码。编码器400还可以被实施为在例如发送站102中包括的专用硬件。在一些实施方式中,编码器400是硬件编码器。
编码器400具有执行前向路径(由实线连接线示出)中的各种功能以使用视频流300作为输入产生编码或压缩比特流420的以下级:帧内/帧间预测级402、变换级404、量化级406和熵编码级408。编码器400还可以包括重构路径(由虚线连接线示出),以重构用于对未来块进行编码的帧。在图4中,编码器400具有执行重构路径中的各种功能的以下级:去量化级410、逆变换级412、重构级414和环路滤波级416。编码器400的其他结构变化可以用于对视频流300进行编码。
在一些情况下,编码器400执行的功能可以在视频流300的滤波之后发生。也就是说,在编码器400接收视频流300之前,视频流300可以根据本公开的一个或多个实施方式经过预处理。可替代地,在继续执行关于图4描述的功能之前,诸如在帧内/帧间预测级402处的视频流300的处理之前,编码器400本身可以针对视频流300执行此类预处理。
当在执行预处理之后呈现视频流300进行编码时,可以以块为单位处理相应相邻帧304,诸如帧306。在帧内/帧间预测级402,可以使用帧内预测(也称为帧内预测)或帧间预测(也称为帧间预测)对相应块进行编码。在任何情况下,都可以形成预测块。在帧内预测的情况下,预测块可以由先前已编码和重构的当前帧中的样本形成。在帧间预测的情况下,预测块可以由一个或多个先前构建的参考帧中的样本形成。
接下来,可以在帧内/帧间预测级402从当前块减去预测块,以产生残差块(也称为残差)。变换级404使用基于块的变换将残差变换为例如频域中的变换系数。量化级406使用量化器值或量化级别将变换系数转换为离散量子值,离散量子值被称为经量化变换系数。例如,可以将变换系数除以量化器值并进行截断。
然后,通过熵编码级408对经量化变换系数进行熵编码。将经熵编码系数与用于对块进行解码的其他信息(其可以包括例如语法元素,诸如用于指示所使用的预测类型、变换类型、运动矢量、量化器值等)一起输出到压缩比特流420。可以使用诸如可变长度代码化或算术代码化的各种技术来格式化压缩比特流420。压缩比特流420也可以被称为编码视频流或编码视频比特流,并且这些术语将在本文中可互换地使用。
重构路径(由虚线连接线示出)可以用于确保编码器400和解码器500(下文参考图5描述)使用相同的参考帧对压缩比特流420进行解码。重构路径执行与解码过程(下文参考图5描述)中发生的功能类似的功能,包括在去量化级410对经量化变换系数进行去量化,以及在逆变换级412对经去量化变换系数进行逆变换以产生导数残差块(也称为导数残差)。
在重构级414,可以将在帧内/帧间预测级402预测的预测块添加到导数残差以创建重构块。环路滤波级416可以将环路内滤波器或其他滤波器应用于重构块,以减少诸如块伪影之类的失真。可以在环路滤波级416处应用的滤波器的示例包括但不限于去块滤波器、定向增强滤波器和环路恢复滤波器。
编码器400的其他变体可以用于对压缩比特流420进行编码。在一些实施方式中,非基于变换的编码器可以直接量化残差信号,而不需要针对某些块或帧的变换级404。在一些实施方式中,编码器可以具有组合在公共级中的量化级406和去量化级410。
图5是解码器500的示例的框图。解码器500可以在接收站106中例如通过提供存储在存储器204中的计算机软件程序来实施。计算机软件程序可以包括机器指令,当由诸如处理器202之类的处理器执行时,机器指令使得接收站106以图5中描述的方式对视频数据进行解码。解码器500还可以用在例如发送站102或接收站106中包括的硬件来实施。在一些实施方式中,解码器500是硬件解码器。
类似于上文讨论的编码器400的重构路径,解码器500在一个示例中包括执行各种功能以从压缩比特流420产生输出视频流516的以下级:熵解码级502、去量化级504、逆变换级506、帧内/帧间预测级508、重构级510、环路滤波级512和后滤波级514。解码器500的其他结构变化可以用于对压缩比特流420进行解码。
当呈现压缩比特流420进行解码时,熵解码级502可以对压缩比特流420内的数据元素进行解码以产生经量化变换系数集合。去量化级504对经量化变换系数进行去量化(例如,通过将经量化变换系数乘以量化器值),并且逆变换级506对经去量化变换系数进行逆变换以产生导数残差,导数残差可以与编码器400中的逆变换级412所创建的导数残差相同。使用从压缩比特流420解码的标头信息,解码器500可以使用帧内/帧间预测级508来创建与在编码器400中(例如,在帧内/帧间预测级402)创建的相同的预测块。
在重构级510,可以将预测块添加到导数残差以创建重构块。可以将环路滤波级512应用于重构块以减少块伪影。可以在环路滤波级512处应用的滤波器的示例包括但不限于去块滤波器、定向增强滤波器和环路恢复滤波器。可以将其他滤波应用于重构块。在此示例中,将后滤波级514应用于重构块以减少块失真,并且将结果输出为输出视频流516。输出视频流516也可以被称为经解码视频流,并且这些术语将在本文中可互换地使用。
解码器500的其他变体可以用于对压缩比特流420进行解码。在一些实施方式中,解码器500可以在没有后滤波级514或以其他方式省略后滤波级514的情况下产生输出视频流516。
图6是用于当前块的调色板模式代码化的编码器的预测级600的框图。预测级600例如可以是图4中所示的编码器400的帧内/帧间预测级402。预测级600包括用于对输入视频流的当前块进行调色板模式代码化的功能。如所示,预测级600包括预测模式代码化比特深度确定工具602、调色板颜色确定工具604和调色板模式代码化预测工具606。
调色板模式代码化比特深度确定工具602使用与输入视频信号相关联的比特深度信息608来确定用于当前块的调色板模式代码化的比特深度。例如,调色板模式代码化比特深度确定工具602可以基于比特深度信息608来确定初始比特深度。例如,初始比特深度可以是用于表示当前块的颜色的比特精度。用于当前块的调色板模式代码化的比特深度可以与初始比特深度相同或与初始比特深度不同。具体地,最大调色板模式代码化比特深度可以被定义为例如8比特。在初始比特深度大于最大调色板模式代码化比特深度的情况下,可以基于最大调色板模式代码化比特深度将初始比特深度限制为例如8比特的最大比特深度。然而,在初始比特深度小于或等于最大调色板模式代码化比特深度的情况下,初始比特深度可以用作调色板模式代码化的比特深度。
调色板颜色确定工具604基于调色板模式代码化比特深度确定工具602所确定的比特深度确定可用于当前块的调色板模式代码化的调色板颜色集合。具体地,调色板颜色集合被限制为与最大调色板模式代码化比特深度相关联的颜色范围。调色板颜色确定工具604从为当前块的邻域内的其他块确定的颜色调色板中确定用于当前块的调色板颜色集合。
调色板模式代码化预测工具606接收由调色板颜色确定工具604所确定的调色板颜色集合和表示当前块的块信息610,并且使用这些生成用于当前块的调色板模式预测块。具体地,调色板模式代码化预测工具606使用块信息610和调色板颜色集合来执行调色板模式预测,以生成调色板模式预测块,调色板模式预测块是当前块的预测块。然后可以使用调色板模式预测块确定预测残差612。可以在编码器处对预测残差612进行进一步处理,以准备将其写入比特流中。
包括指示用于预测级600处的调色板模式代码化的比特深度的语法元素的语法信息614也被写入预测残差612一旦被编码就被写入到的比特流。语法元素包括指示块的调色板模式代码化比特深度的第一值和指示是否对调色板模式代码化比特深度应用比特偏移的第二值。例如,第一值可以是变量palette_bit_depth的值,而第二值可以是变量palette_bit_offset的值。
第一值消耗比特流的三个比特,并且第二值消耗比特流的一个比特。第一值的可能值包括000、001、010、011、100、101、110和111,它们本身可以分别信号化0、1、2、3、4、5、6和7的比特深度。第二值的可能值包括0和1。在第二值具有值0的情况下,第一值的值用作当前块的比特深度。然而,在第二值具有值1的情况下,第二值的值移位8。因此,在第二值具有值1的情况下,第一值的可能值包括000、001、010、011、100、101、110和111,当被移位第二值时,这些值可以分别信号化8、9、10、11、12、13、14和15的比特深度。在一些实施方式中,可以不使用第一值的某些值。例如,可以针对调色板模式代码化定义比特深度的有效范围。在一些此类实施方式中,可以被定义为对当前块的调色板模式代码化有效的比特深度可以包括2、3、4、5、6、7、8、9、10、11和12。例如,可以不考虑低于2和高于12的比特深度。
可以在第二值之前写入第一值。可替代地,可以在第二值之后写入第一值。可以将语法元素写入比特流内的标头。在一个示例中,可以将语法元素写入序列标头。在此类情况下,语法元素可以用于与序列标头相关联的一系列连续帧内的块的调色板模式代码化。以这种方式,可以将相同的调色板模式值重复用于多个帧。在另一示例中,可以将语法元素写入帧标头。在此类情况下,语法元素可以用于与帧标头相关联的帧的块的调色板模式代码化。以此方式,针对各个帧确定调色板模式值。
调色板模式代码化比特深度确定工具602可以表示对于输入视频流的整个帧执行一次或对于输入视频流的帧序列执行一次的功能。例如,可以在帧级别或序列级别确定用于调色板模式代码化块的比特深度和调色板颜色集合。例如,初始比特深度和在调色板模式代码化比特深度确定工具602处确定的比特深度可以是针对帧或帧序列而不是针对块来确定的。例如,初始比特深度可以表示用于表示帧或帧序列的颜色的比特精度。
图7是用于当前块的调色板模式代码化的解码器的预测级700的框图。预测级700例如可以是图5所示的解码器500的帧内/帧间预测级508。预测级700包括用于从比特流对编码块进行调色板模式代码化的功能。如图所示,预测级700包括预测模式代码化比特深度确定工具702、调色板颜色确定工具704和调色板模式代码化预测工具706。
调色板模式代码化比特深度确定工具702接收表示写入比特流的语法元素的语法信息708,并且读取那些语法元素的值以确定用于编码块的调色板模式代码化的比特深度。具体地,调色板模式代码化比特深度确定工具702从比特流读取那些语法元素的值,并且使用那些值来确定比特深度。这些值包括指示块的调色板模式代码化比特深度的第一值和指示是否对调色板模式代码化比特深度应用比特偏移的第二值。例如,第一值可以是变量palette_bit_depth的值,而第二值可以是变量palette_bit_offset的值。
调色板模式代码化比特深度确定工具702基于第二值确定是否应用比特偏移,然后基于所述确定使用第一值。具体地,在第二值指示应用比特偏移的情况下,调色板模式代码化比特深度确定工具702根据比特偏移来移位比特深度以确定编码块的比特深度。如上所述,比特偏移的应用是基于已经被例如8比特的最大调色板模式代码化比特深度限制的调色板模式代码化的比特深度。可以在第二值之前读取第一值。可替代地,可以在第一值之前读取第二值。
可用于在预测模式代码化比特深度确定工具702处确定编码块的调色板模式代码化的比特深度的伪代码的示例如下:
在伪代码的上述示例中,函数color_config()是指本文关于调色板模式代码化比特深度确定工具702描述的功能,并且high_bitdepth、twelve_bit和palette_bit_depth都是指写入比特流的变量。变量high_bitdepth和twelve_bit各自消耗比特流的一个比特,并且变量palette_bit_depth消耗比特流的三个比特。if子句检查编码块的比特深度是否为12比特。如果是,则将编码块的比特深度理解为12比特。否则,假设编码块的比特深度为10比特。else if子句检查是否信号化变量high_bitdepth以用于编码块。例如,可以信号化变量high_bitdepth,其中编码块的编码使用比可以是例如8比特的最大调色板模式代码化比特深度更大的比特深度。如果未信号化变量high_bitdepth以用于编码块,则假设编码块的比特深度为8比特。
变量seq_profile是指解码器在处理某些类型的视频数据方面的能力。seq_profile的不同值可能需要支持某些特征,其中通常,值越高,需要的特征越多。在一些实施方式中,变量seq_profile可以从上述伪代码中省略。
调色板颜色确定工具704基于调色板模式代码化比特深度确定工具702所确定的比特深度确定可用于编码块的调色板模式代码化的调色板颜色集合。具体地,调色板颜色集合被限制为与最大调色板模式代码化比特深度相关联的颜色范围。调色板颜色确定工具704从为当前块的邻域内的其他块确定的调色板中确定用于编码块的调色板颜色集合。
调色板模式代码化预测工具706接收由调色板颜色确定工具704所确定的调色板颜色集合和编码块的预测残差710,并且使用那些生成用于当前块的调色板模式预测块。具体地,调色板模式代码化预测工具706使用预测残差710和调色板颜色集合来执行调色板模式预测,以生成调色板模式预测块,调色板模式预测块是编码块的预测块。然后可以使用调色板模式预测块确定重构块612。可以在解码器处对重构块612进行进一步处理,以准备将其输出用于存储或显示。
调色板模式代码化比特深度确定工具702可以表示对于写入比特流的整个编码帧执行一次或对于写入比特流的编码帧序列执行一次的功能。例如,可以在帧级别或序列级别确定用于调色板模式代码化块的比特深度和调色板颜色集合。例如,初始比特深度和在调色板模式代码化比特深度确定工具702处确定的比特深度可以是针对帧或帧序列而不是针对块来确定的。例如,语法信息708可以表示用于确定整个帧或帧序列的调色板模式代码化的比特深度的值。
现在描述用于利用指定比特深度精度的调色板模式代码化的技术的进一步细节。图8是用于使用利用指定比特深度精度的调色板模式代码化对当前块进行编码的技术800的示例的流程图。图9是用于使用指定比特深度精度的调色板模式代码化对编码块进行解码的技术900的示例的流程图。
技术800和/或技术900可以被实施为例如可以由诸如发送站102或接收站106之类的计算设备执行的软件程序。例如,软件程序可以包括机器可读指令,其可以存储在诸如存储器204或辅助存储设备214之类的存储器中,并且当由诸如处理器202之类的处理器执行时,可以使得计算设备执行技术800和/或技术900。技术800和/或技术900可以使用专用硬件或固件来实施。例如,被配置成执行技术800和/或技术900的硬件组件。如上所述,一些计算设备可以具有多个存储器或处理器,并且在技术800和/或技术900中描述的操作可以使用多个处理器、存储器或两者来分布。
为了解释的简单性,本文将技术800和900都描绘和描述为一系列步骤或操作。然而,根据本公开的步骤或操作可以以各种顺序和/或同时发生。此外,可以使用本文中未呈现和描述的其他步骤或操作。此外,并非可能需要所有图示的步骤或操作来实施根据所公开的主题的技术。
首先参考图8,示出了用于使用利用指定比特深度精度的调色板模式代码化对当前块进行编码的技术800。在802,基于包括当前块的输入视频信号确定当前块的初始比特深度。初始比特深度是用于表示当前块的颜色的比特精度。例如,输入视频信号可以包括具有使用特定比特精度表达的颜色的视频数据。所述特定比特精度是基于输入视频信号内的信息来检测的,并且被确定为当前块的初始比特深度。例如,输入视频信号可以指示使用8比特、10比特、12比特或其他比特范围的调色板颜色集合来表示当前块的颜色。
在804,确定用于当前块的调色板模式代码化的比特深度。在初始比特深度等于或小于例如8比特的最大调色板模式代码化比特深度的情况下,初始比特深度可以用作当前块的调色板模式代码化的比特深度。可替代地,在初始比特深度大于最大调色板模式代码化比特深度的情况下,当前块的调色板模式代码化的比特深度可以被设置为等于最大调色板模式代码化比特深度。
在一些实施方式中,初始比特深度可以小于或等于最大调色板模式代码化比特深度,但是在使用调色板模式代码化的预测开始之前扩大到更高的比特深度以进行处理。在此类情况下,基于扩大的比特深度是否大于最大调色板模式代码化比特深度来确定当前块的调色板模式代码化的比特深度。例如,在扩大的比特深度等于或小于最大调色板模式代码化比特深度的情况下,扩大的比特深度可以用作当前块的调色板模式代码化的比特深度。可替代地,在扩大的比特深度大于最大调色板模式代码化比特深度的情况下,当前块的调色板模式代码化的比特深度可以被设置为等于最大调色板模式代码化比特深度。在其他此类情况下,即使扩大的比特深度大于最大调色板模式代码化比特深度,当前块的调色板模式代码化的比特深度也可以是扩大的比特深度。
在806,使用基于比特深度确定的调色板颜色集合生成调色板模式预测块。因此,调色板颜色集合包括针对所确定的比特深度的比特范围内的颜色。给定对基于最大调色板模式代码化比特深度的比特深度的限制,调色板颜色集合基于最大调色板模式代码化比特深度而受到限制。基于最大调色板模式代码化比特深度来限制调色板颜色集合包括将调色板颜色集合缩小到8比特范围,而不是使用初始或扩大的比特深度范围的调色板颜色集合。例如,要写入当前块的比特流的调色板颜色集合可以使用8比特的比特深度来指示其第一基色。可以使用具有最大可能值255的增量值将当前块的调色板颜色集合的其他颜色写入比特流。以这种方式,可以实施使用8比特来表示比特流中的块的调色板颜色集合的策略,以减少开销。
然后,例如如AV1中所描述,但是使用基于当前块的比特深度确定的调色板颜色集合来执行调色板模式代码化。调色板模式代码化的输出是调色板模式预测块。在808,使用调色板模式预测块生成预测残差。例如,可以生成预测残差以表示当前块与调色板模式预测块之间的差。
在810,将预测残差和指示比特深度的语法元素编码为比特流。对预测残差进行编码可以包括对预测残差执行变换、量化或熵编码操作中的一个或多个,以准备将被写入比特流的预测残差。语法元素包括指示针对块的调色板模式代码化确定的比特深度的诸如变量palette_bit_depth的第一值,以及指示是否对调色板模式代码化比特深度应用比特偏移的诸如变量palette_bit_offset的第二值。在所述比特深度不同于初始或扩大的比特深度时应用比特偏移。
语法元素可以被写入与当前块相关联的序列标头。可替代地,语法元素可以被写入与当前块相关联的帧标头。语法元素可以进一步识别一个或多个调色板颜色以用于编码块的解码,例如,如上文所描述。
在一些实施方式中,第一值和第二值可以作为单个值写入比特流。例如,单个值可以是识别调色板模式代码化比特深度和比特偏移两者的四个比特。
首先参考图9,示出了用于使用具有指定比特深度精度的调色板模式代码化对编码块进行解码的技术900。在902,从包括编码块的比特流读取指示用于对编码块进行编码的调色板模式代码化比特深度的第一值,诸如变量palette_bit_depth。例如,可以使用三个比特将第一值写入比特流中。在904,从比特流读取指示是否对调色板模式代码化比特深度应用比特偏移的第二值,诸如变量palette_bit_offset。例如,可以使用一个比特将第二值写入比特流中。
在一些实施方式中,第一值和第二值可以被编码到比特流内的序列标头。例如,语法元素可以用于与序列标头相关联的一系列连续帧内的块的调色板模式代码化。以这种方式,可以将相同的调色板模式值重复用于多个帧。在一些实施方式中,第一值和第二值可以被编码到比特流内的帧标头。例如,语法元素可以用于与帧标头相关联的帧的块的调色板模式代码化。以此方式,针对各个帧确定调色板模式值。在一些实施方式中,在第二值之前从比特流读取第一值。在一些实施方式中,在第一值之前从比特流读取第二值。
在一些实施方式中,可以作为单个值从比特流中读取第一值和第二值。例如,单个值可以是识别调色板模式代码化比特深度和比特偏移的四个比特。
在906,使用基于第一值和第二值确定的调色板颜色集合生成调色板模式预测块。具体地,基于编码块的比特深度是否大于最大调色板模式代码化比特深度来确定调色板颜色集合。可以通过根据比特偏移来移位调色板模式代码化比特深度而确定编码块的比特深度。当第二值指示应用比特偏移时,这意味着比特深度大于最大调色板模式代码化比特深度。在此类情况下,基于最大调色板模式代码化比特深度来限制调色板颜色集合。例如,在最大调色板模式代码化比特深度为8比特的情况下,调色板颜色集合被限制为8比特精度的调色板。然而,当第二值指示不应用比特偏移时,调色板颜色集合可以替代地基于调色板模式代码化比特深度。这是因为当不应用比特偏移时,编码块的比特深度等于或小于最大调色板模式代码化比特深度。
然后,例如如AV1中所描述,但是使用基于第一值和第二值确定的调色板颜色集合来执行调色板模式代码化。调色板模式代码化的输出是调色板模式预测块。在908,使用调色板模式预测块生成重构块。例如,可以通过使用调色板模式预测块重构与编码块相关联的预测残差来生成重构块。在910,输出重构块以用于存储或显示。
上文描述的编码和解码的方面示出了编码和解码技术的一些示例。然而,应理解,如权利要求中所使用的那些术语,编码和解码可以意味着压缩、解压缩、变换或对数据的任何其他处理或改变。
“示例”一词在本文中用于表示充当示例、实例或说明。本文中描述为“示例”的任何方面或设计不一定被解释为比其他方面或设计更优选或更有利。相反,使用“示例”一词是为了以具体的方式提出概念。如本申请中所使用的,术语“或”旨在表示包含性的“或”而不是排他性的“或。也就是说,除非上下文另有规定或明确指出,否则“X包括A或B”的陈述旨在指其任何自然包含性排列。也就是说,如果X包括A;X包括B;或X包括A和B,则在上述任何情况下满足“X包括A或B”。此外,本申请和所附权利要求书中使用的冠词“一”和“一个”通常应解释为“一个或多个”,除非上下文另有规定或明确指出为单数形式。此外,除非如此描述,否则在整个本公开中使用术语“实施方式”或术语“一个实施方式”并不意味着相同的实施方式。
发送站102和/或接收站106的实施方式(以及存储在其上和/或由此执行的算法、方法、指令等,包括通过编码器400和解码器500,或如本文公开的另一编码器或解码器执行的)可以以硬件、软件或其任何组合来实现。硬件可以包括例如计算机、知识产权(IP)核心、专用集成电路(ASIC)、可编程逻辑阵列、光学处理器、可编程逻辑控制器、微代码、微控制器、服务器、微处理器、数字信号处理器或任何其他合适的电路。在权利要求书中,术语“处理器”应理解为包括任何前述硬件,无论是单独的还是组合的。术语“信号”和“数据”可互换地使用。此外,发送站102和接收站106的部分不一定必须以相同的方式实施。
此外,在一个方面,例如,发送站102或接收站106可以使用具有计算机程序的通用计算机或通用处理器实施,计算机程序在被执行时执行本文所描述的相应方法、算法和/或指令中的任何一个。附加地或可替代地,例如,可以使用可以包含用于执行本文所描述的任何方法、算法或指令的其他硬件的专用计算机/处理器。
发送站102和接收站106例如可以在视频会议***中的计算机上实施。可替代地,发送站102可以在服务器上实施,并且接收站106可以在与服务器分离的诸如手持通信设备的设备上实施。在这种情况下,发送站102可以将内容编码为编码视频信号,并将编码视频信号发送到通信设备。继而,通信设备可以对编码视频信号进行解码。可替代地,通信设备可以对本地存储在通信设备上的内容进行解码,例如,未由发送站102发送的内容。其他合适的发送和接收实施方式是可用的。例如,接收站106可以是一般固定的个人计算机,而不是便携式通信设备。
此外,本公开的全部或部分实施方式可以采用可从例如计算机可用或计算机可读介质访问的计算机程序产品的形式。计算机可用或计算机可读介质可以是例如可以有形地包含、存储、传送或传输程序以供任何处理器使用或与任何处理器结合使用的任何设备。介质可以是例如电子、磁性、光学、电磁或半导体设备。其他合适的介质也是可用的。
已经描述了上述实施方式和其他方面,以便于容易理解本公开,而不限制本公开。相反,本公开旨在涵盖包括在所附权利要求的范围内的各种修改和等效布置,所述范围应被赋予法律允许的最广泛的解释,以涵盖所有此类修改和等效布置。

Claims (20)

1.一种用于从比特流中解码编码块的方法,所述方法包括:
从所述比特流读取第一值,所述第一值指示被用来对所述编码块进行编码的调色板模式代码化比特深度;
从所述比特流读取第二值,所述第二值指示是否对所述调色板模式代码化比特深度应用比特偏移;
使用基于所述第一值和所述第二值所确定的调色板颜色集合来生成用于所述编码块的调色板模式预测块;
使用所述调色板模式预测块来生成重构块;以及
输出所述重构块以用于存储或显示。
2.根据权利要求1所述的方法,其中,当所述第二值指示应用所述比特偏移时,基于最大调色板模式代码化比特深度来限制所述调色板颜色集合。
3.根据权利要求2所述的方法,进一步包括:
根据所述比特偏移来移位所述调色板模式代码化比特深度以确定所述编码块的比特深度,其中,基于所述比特深度大于所述最大调色板模式代码化比特深度来限制所述调色板颜色集合。
4.根据权利要求2所述的方法,其中,所述最大调色板模式代码化比特深度为8比特。
5.根据权利要求1所述的方法,其中,当所述第二值指示不应用所述比特偏移时,所述调色板颜色集合是基于所述调色板模式代码化比特深度。
6.根据权利要求1所述的方法,其中,所述第一值和所述第二值被编码到所述比特流内的序列标头。
7.根据权利要求1所述的方法,其中,所述第一值和所述第二值被编码到所述比特流内的帧标头。
8.根据权利要求1所述的方法,其中,使用三个比特将所述第一值写入所述比特流中,并且使用一个比特将所述第二值写入所述比特流中。
9.一种用于从比特流中解码编码块的装置,所述装置包括:
存储器;以及
处理器,所述处理器被配置成执行存储在所述存储器中的指令以用于:
从所述比特流读取第一值,所述第一值指示被用来对所述编码块进行编码的调色板模式代码化比特深度;
从所述比特流读取第二值,所述第二值指示是否对所述调色板模式代码化比特深度应用比特偏移;
使用基于所述第一值和所述第二值所确定的调色板颜色集合生成用于所述编码块的调色板模式预测块;
使用所述调色板模式预测块来生成重构块;以及
输出所述重构块以用于存储或显示,
其中,当所述第二值指示应用所述比特偏移时,基于最大调色板模式代码化比特深度来限制所述调色板颜色集合,并且
其中,当所述第二值指示不应用所述比特偏移时,所述调色板颜色集合是基于所述调色板模式代码化比特深度。
10.根据权利要求9所述的装置,其中,所述指令包括用于进行以下操作的指令:
当所述第二值指示应用所述比特偏移时,根据所述比特偏移来移位所述调色板模式代码化比特深度以确定所述编码块的比特深度,
其中,基于所述比特深度大于所述最大调色板模式代码化比特深度来限制所述调色板颜色集合。
11.根据权利要求9所述的装置,其中,所述最大调色板模式代码化比特深度为8比特。
12.根据权利要求9所述的装置,其中,所述第一值和所述第二值被编码到所述比特流内的序列标头。
13.根据权利要求9所述的装置,其中,所述第一值和所述第二值被编码到所述比特流内的帧标头。
14.一种非暂时性计算机可读存储设备,所述非暂时性计算机可读存储设备包括能由一个或多个处理器执行的程序指令,所述程序指令在被执行时使所述一个或多个处理器执行用于从比特流中解码编码块的操作,所述操作包括:
从所述比特流读取第一值和第二值,所述第一值指示被用来对所述编码块进行编码的调色板模式代码化比特深度,所述第二值指示是否对所述调色板模式代码化比特深度应用比特偏移;
使用基于所述第一值和所述第二值所确定的调色板颜色集合生成用于所述编码块的预测块;以及
输出使用所述预测块所生成的重构块以用于存储或显示。
15.根据权利要求14所述的非暂时性计算机可读存储设备,其中,当所述第二值指示应用所述比特偏移时,基于最大调色板模式代码化比特深度来限制所述调色板颜色集合。
16.根据权利要求15所述的非暂时性计算机可读存储设备,所述操作进一步包括:
根据所述比特偏移来移位所述调色板模式代码化比特深度以确定所述编码块的比特深度,其中,基于所述比特深度大于所述最大调色板模式代码化比特深度来限制所述调色板颜色集合。
17.根据权利要求15所述的非暂时性计算机可读存储设备,其中,所述最大调色板模式代码化比特深度为8比特。
18.根据权利要求14所述的非暂时性计算机可读存储设备,其中,当所述第二值指示不应用所述比特偏移时,所述调色板颜色集合是基于所述调色板模式代码化比特深度。
19.根据权利要求14所述的非暂时性计算机可读存储设备,其中,所述第一值和所述第二值被编码到所述比特流内的序列标头。
20.根据权利要求14所述的非暂时性计算机可读存储设备,其中,所述第一值和所述第二值被编码到所述比特流内的帧标头。
CN202180093207.6A 2021-02-09 2021-02-09 具有指定比特深度精度的调色板模式代码化 Pending CN116830574A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2021/017206 WO2022173417A1 (en) 2021-02-09 2021-02-09 Palette mode coding with designated bit depth precision

Publications (1)

Publication Number Publication Date
CN116830574A true CN116830574A (zh) 2023-09-29

Family

ID=74845121

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180093207.6A Pending CN116830574A (zh) 2021-02-09 2021-02-09 具有指定比特深度精度的调色板模式代码化

Country Status (3)

Country Link
EP (1) EP4264943A1 (zh)
CN (1) CN116830574A (zh)
WO (1) WO2022173417A1 (zh)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020207421A1 (en) * 2019-04-09 2020-10-15 Beijing Bytedance Network Technology Co., Ltd. Entry construction for palette mode coding

Also Published As

Publication number Publication date
EP4264943A1 (en) 2023-10-25
WO2022173417A1 (en) 2022-08-18
WO2022173417A9 (en) 2023-08-24

Similar Documents

Publication Publication Date Title
US10798408B2 (en) Last frame motion vector partitioning
CN113287306B (zh) 用于从比特流中解码编码的视频块的方法、装置和解码器
CN110169068B (zh) Dc系数符号代码化方案
US10506240B2 (en) Smart reordering in recursive block partitioning for advanced intra prediction in video coding
US10382767B2 (en) Video coding using frame rotation
CN110692244B (zh) 基于最大概率符号的二进制位串编译
CN110169059B (zh) 视频代码化的复合预测
US20170164007A1 (en) Mixed boolean-token ans coefficient coding
US11095890B2 (en) Memory-efficient filtering approach for image and video coding
KR102668253B1 (ko) 비트레이트 감소를 위한 비디오 스트림 적응형 필터링
US10491923B2 (en) Directional deblocking filter
US11870993B2 (en) Transforms for large video and image blocks
CN110692247B (zh) 复合运动补偿的预测
CN116830574A (zh) 具有指定比特深度精度的调色板模式代码化
WO2019112669A1 (en) Context derivation for coefficient coding
WO2024020119A1 (en) Bit stream syntax for partition types
WO2024081011A1 (en) Filter coefficient derivation simplification for cross-component prediction

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