CN113115049A - 对图像内容进行编码和解码的方法及传输图像内容的系统 - Google Patents

对图像内容进行编码和解码的方法及传输图像内容的系统 Download PDF

Info

Publication number
CN113115049A
CN113115049A CN202110043153.4A CN202110043153A CN113115049A CN 113115049 A CN113115049 A CN 113115049A CN 202110043153 A CN202110043153 A CN 202110043153A CN 113115049 A CN113115049 A CN 113115049A
Authority
CN
China
Prior art keywords
samples
block
groups
encoded
image content
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
CN202110043153.4A
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.)
Samsung Display Co Ltd
Original Assignee
Samsung Display 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 Samsung Display Co Ltd filed Critical Samsung Display Co Ltd
Publication of CN113115049A publication Critical patent/CN113115049A/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/18Methods 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 set of transform coefficients
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Discrete Mathematics (AREA)
  • Computing Systems (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本公开涉及对图像内容进行编码和解码的方法及传输图像内容的系统,具体涉及一种用于从包括多个块的编码后的码流解码图像内容的方法,包括:将包括图像内容的一个或多个分量的块划分为与分量中的一个相对应的N个单样本和M个样本组,其中,N和M大于或等于1;使用符号可变长度码对N个单样本中的每一个进行解码,以生成一个或多个解码后的单样本;使用公共前缀熵码对M个样本组中的每一个进行解码,以生成一个或多个解码后的样本组,M个样本组中的每一个包括可变长度前缀和表示多个样本的一个或多个固定长度后缀;将解码后的单样本和解码后的样本组串接成残差的块;并且基于先前重建的相邻块和残差的块重建图像内容。

Description

对图像内容进行编码和解码的方法及传输图像内容的系统
相关申请的交叉引用
本申请要求于2020年1月13日在美国专利和商标局提交的第62/960,517号美国临时专利申请以及于2020年3月30日提交的第16/835,092号美国正式专利申请的优先权和权益,这些专利申请的全部公开内容通过引用合并在本文中。
技术领域
本公开的实施例的方面涉及用于可扩展吞吐量熵编码器的系统和方法。
背景技术
数据压缩涉及编码信息,其中编码后的信息与信息的原始表示相比使用更少的比特。无损数据压缩通过去除信息的原始表示中的统计冗余来实现编码。因此,在无损数据压缩中,没有信息丢失,并且信息的原始表示可以被解码器或解压缩器重建。另一方面,有损数据压缩通过去除不必要的或不太重要的信息来减少所使用的比特。因此,在许多情况下,信息的原始表示不能从使用有损压缩算法压缩的数据完美地重建。
熵编码是其中使用更少的比特对最可能的符号进行编码并且使用更多的比特对最不可能的符号进行编码的数据压缩形式。换句话说,在熵编码系统中,用于表示符号的比特数可以基于符号将出现在信息的原始表示中的概率而变化。熵编码的示例包括霍夫曼码和莫尔斯码(例如,其中单个比特被用于对英语中最常见的字母“E”和“T”进行编码,而4个比特被用于表示诸如“Q”和“Z”的不常见的字母)。
发明内容
本公开的实施例的方面涉及用于实施可扩展吞吐量熵编码器的系统和方法。
根据本公开的一个实施例,一种用于从包括多个块的编码后的码流解码图像内容的方法包括:由解码器电路将包括图像内容的一个或多个分量的块划分为与一个或多个分量中的一个相对应的N个单样本和M个样本组,其中,N大于或等于1并且M大于或等于1;由解码器电路使用符号可变长度码(SVLC)对N个单样本中的每一个进行解码,以生成一个或多个解码后的单样本;由解码器电路使用公共前缀熵码(CPEC)对M个样本组中的每一个进行解码,以生成一个或多个解码后的样本组,M个样本组中的每一个包括可变长度前缀和表示多个样本的一个或多个固定长度后缀;由解码器电路将解码后的单样本和解码后的样本组串接成残差的块;并且由解码器电路基于图像内容的先前重建的相邻块和残差的块重建图像内容。
N和M可以通过以下方式根据目标解码器吞吐量来设置:基于块的样本的数量和最高可用吞吐量计算M的上限;基于块的样本的数量和目标解码器吞吐量计算可变长度码的数量;并且基于可变长度码的数量和的M的上限计算N。
块的M个采样组中的每一个可以具有相同数量的固定长度后缀。块可以以变换跳过块预测模式被预测编码。
块的M个采样组中的至少两个可以具有不同数量的固定长度后缀。块可以以变换模式或以变换跳过块预测模式被预测编码。
块可以包括图像内容的多个分量。
编码后的码流可以进一步包括分量跳过标志,分量跳过标志指示编码后的码流的块的对应分量的多个样本中的全部都为零。
编码后的码流可以进一步包括组跳过标志,组跳过标志指示M个样本组中的组的多个样本中的全部都为零。
根据本公开的一个实施例,一种用于对图像内容进行编码的方法包括:由编码器电路将接收到的图像内容划分成一个或多个块,一个或多个块中的每一个包括来自图像内容的一个或多个分量的多个样本;由编码器电路对每个块进行预测编码,以生成残差的块;由编码器电路将残差的块中的每一个分区成N个单样本和M个样本组,其中,N大于或等于1并且M大于或等于1;由编码器电路使用符号可变长度码(SVLC)对N个单样本中的每一个进行编码,以生成一个或多个SVLC编码后的样本;由编码器电路使用公共前缀熵码(CPEC)对M个样本组中的每一个进行编码,以生成一个或多个CPEC编码后的样本组,M个样本组中的每一个包括可变长度前缀和一个或多个固定长度后缀;并且由编码器电路将SVLC编码后的样本和CPEC编码后的样本组进行组合,以输出编码后的码流。
N和M可以通过以下方式根据目标解码器吞吐量来设置:基于一个或多个块的每块的样本的数量和最高可用吞吐量计算M的上限;基于每块的样本的数量和目标解码器吞吐量计算可变长度码的数量;并且基于可变长度码的数量和M的上限计算N。
对残差的块中的每一个进行分区可以包括:使用均匀分区来划分残差的块中的至少一个残差的块,其中,至少一个残差的块的M个样本组中的每一个可以具有相同数量的固定长度后缀。至少一个残差的块可以以变换跳过块预测模式被预测编码。
对残差的块中的每一个进行分区可以包括:使用非均匀分区来划分残差的块中的至少一个残差的块,其中,至少一个残差的块的M个样本组中的至少两个可以具有不同数量的固定长度后缀。至少一个残差的块可以以变换模式或以变换跳过块预测模式被预测编码。
每个块可以包括图像内容的多个分量。
编码后的码流可以进一步包括分量跳过标志,分量跳过标志指示块的至少一个对应分量的多个样本中的全部都为零。
编码后的码流可以进一步包括组跳过标志,组跳过标志指示M个样本组中的组的多个样本中的全部都为零。
根据本公开的一个实施例,一种用于传输图像内容的系统包括:编码器电路,被配置成:将接收到的包括多个分量的图像内容划分为一个或多个块,一个或多个块中的每一个包括来自多个分量中的一个的多个样本;对每个块进行预测编码,以生成预测编码后的块;将预测编码后的块中的每一个分区成N个单样本和M个样本组,其中,N大于或等于1并且M大于或等于1;使用符号可变长度码(SVLC)对N个单样本中的每一个进行编码,以生成一个或多个SVLC编码后的样本;使用公共前缀熵码(CPEC)对M个样本组中的每一个进行编码,以生成一个或多个CPEC编码后的样本组,M个样本组中的每一个包括可变长度前缀和一个或多个固定长度后缀;并且将SVLC编码后的样本和CPEC编码后的样本组进行组合,以输出编码后的码流;以及解码器电路,被配置成:从编码器电路接收编码后的码流;将编码后的码流的块划分为N个单样本和M个样本组;使用SVLC对N个单样本中的每一个进行解码,以生成一个或多个解码后的单样本;使用CPEC对M个样本组中的每一个进行解码,以生成一个或多个解码后的样本组;从解码后的单样本和解码后的样本组重建预测编码后的块;应用预测编码以对预测编码后的块进行解码;并且从被解码的预测编码后块解码图像内容。
N和M可以通过以下方式根据目标解码器吞吐量来设置:基于块的样本的数量和最高可用吞吐量计算M的上限;基于块的样本的数量和目标解码器吞吐量计算可变长度码的数量;并且基于可变长度码的数量和M的上限计算N。
编码器电路可以被进一步配置成:检测编码器电路和解码器电路中的至少一个正在其中操作的通信环境的一个或多个因素;并且基于一个或多个因素动态地更新N和M的值。
一个或多个因素可以包括以下项中的一个或多个:电力、处理器能力、解码器电路中的并行工作的解码器的数量、内部带宽、解码器电路的温度状况以及编码器电路与解码器电路之间的物理介质中的噪声。
附图说明
附图与说明书一起图示了本公开的示例性实施例,并且与说明书一起用于解释本公开的原理。
图1是包括编码器和解码器的系统的框图,其中编码器被配置成对图像内容进行编码,并且解码器被配置成对图像内容进行解码以在显示装置上显示。
图2是图像的一个块的示意图,其中块具有8×2的尺寸(具有16个样本)并且被划分成4组,每组4个样本。
图3是具有N=4个样本的组的公共前缀熵码(CPEC)结构的示意描绘。
图4是3×1块及其在显示流压缩(DSC)的情况下使用CPEC的编码后的形式的示意描绘。
图5A是将8×2块划分成4个大小均匀的组(每个组是块的与4个样本相对应的2×2部分)的示意描绘。
图5B是将8×2块划分成4个大小不均匀的组的示意描绘。
图6是根据本公开的一个实施例的用于针对给定的目标解码器吞吐量计算使用符号可变长度码(SVLC)编码的样本的数量N和使用CPEC编码的样本组的数量M的方法的流程图。
图7是根据本公开的一个实施例的对图像内容进行编码的方法的流程图。
图8是根据本公开的一个实施例的对图像内容进行解码的方法的流程图。
图9A是根据本公开的一个实施例的使用均匀的组对块进行编码的示意描绘。
图9B是根据本公开的一个实施例的使用非均匀的组对块进行编码的示意描绘。
图9C是根据本公开的一个实施例的使用非均匀的组根据变换跳过块预测模式对块进行编码的示意描绘。
具体实施方式
在下面的详细描述中,通过说明的方式仅示出和描述了本公开的某些示例性实施例。如本领域技术人员将认识到的,本公开可以以许多不同的形式被实施,并且不应被解释为受限于本文中明确阐述的实施例。相反,这些实施例被提供作为示例,使得本公开将是彻底和完整的,并且将向本领域技术人员充分传达本公开的方面和特征。因此,对于本领域普通技术人员完全理解本公开的方面和特征来说不是必需的过程、元件和技术可以不被描述。除非另外说明,否则遍及附图和书面描述,相同的附图标记表示相同的元件,并且因此,其描述将不再被重复。
压缩可以被应用于诸如数据存档的广泛范围的上下文中的数据存储和数据传输,以及通过计算机网络和通过本地连接进行的有线和无线数据通信。这些本地连接可以包括例如沿着计算装置(例如,智能电话、平板计算机、膝上型计算机和台式计算机)内的数据总线的数据传输和/或例如通过诸如数字显示接口(例如,显示端口(DP)或显示器串行接口(DSI))的有线连接的与外部装置的连接。
为了方便起见,本公开的实施例在本文中将在数字显示数据的上下文中呈现,更具体地,在显示装置的显示面板上显示图像内容。然而,本公开的实施例不限于此,并且在本文中描述的原理可以被应用于为其它应用提供可扩展吞吐量熵编码器。
图1是包括编码器和解码器的系统的框图,其中编码器被配置成对图像内容进行编码,并且解码器被配置成对图像内容进行解码以在显示装置上显示。如图1中所示,图像内容10(例如,单个图像或单个帧或多个帧图像的位图表示)被供给到主机1的应用处理器(AP)100(例如,计算装置的中央处理单元(CPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)和/或图形处理单元(GPU)),其中AP 100可以包括编码器110。编码器110被配置成将图像内容10的原始表示编码为编码后的(或压缩的)码流30。然后,编码后的(或压缩的)码流30可以通过有线连接或无线连接被传输。在本文中讨论的实施例中,描述了经由有线连接的传输,但是本文中描述的技术在涉及经由无线连接的传输的实施方式中也是可适用的。在图1中所示的实施例中,编码后的(或压缩的)码流30可以通过物理介质50(例如,通过诸如数据总线或电缆或其它连接器的配线或通过无线连接)被传输到显示装置2(例如,外部监视器、电视或者智能电话、平板计算机或膝上型计算机的集成显示面板)的显示驱动器集成电路(DDIC)200。DDIC 200包括用于在编码后的码流30通过物理介质50到达时接收和存储编码后的码流30的帧缓冲器202(或帧缓冲器,例如,诸如动态随机存取存储器的随机存取存储器),以及被配置成将来自帧缓冲器202的编码后的(或压缩的)码流30解码成解压缩的表示(或解码后的表示)18的解码器210。在无损编码的情况下,解压缩的表示18与图像内容10的原始表示相同(或基本上相同)。在有损编码的情况下,解压缩的表示18可以基本上类似于(例如,在视觉上类似于)图像内容10的原始表示,使得所得到的数据在视觉上看起来是无损的。然后,DDIC 200可以诸如通过将驱动波形供给到显示面板20以根据图像内容10的解码后的表示18控制显示面板20的各个像素的亮度,来控制显示面板20显示图像内容10的解码后的表示18。
DDIC 200可以包括或可以被连接到用于对通过物理介质50接收的信号进行解调的部件(例如,以基于施加到物理介质50的电压生成编码后的码流30的数字表示)。同样,AP100可以包括或被连接到用于基于编码后的码流30对将被施加到物理介质50的信号进行调制的部件。
根据本公开的各种实施例,编码器110和解码器210可以被分别称为编码器电路和解码器电路,并且可以使用各种类型的处理电路来实施,如本领域技术人员将理解的,并且编码器电路可以使用与解码器电路不同类型的处理电路来实施。这些类型的处理电路可以包括例如通用计算机处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或其组合(例如,其中,使用不同类型的处理电路来实施编码过程或流水线或者解码过程或流水线的不同部分)。另外,如本领域技术人员将理解的,各种处理电路可以是同一集成电路的部件(例如,作为芯片或SoC上的同一系统的部件),或者可以是可以通过印刷电路板上的引脚和线路被连接的不同集成电路的部件。
通常,使用位图表示图像数据或图像内容10,其中位图中的每个位置对应于单个像素。为了清楚起见,术语“像素”在本文中将被用于指代具有多个分量(或通道)的图片元素。例如,在红绿蓝(RGB)颜色空间中,这些分量包括红色分量(或红色通道)、绿色分量(或绿色通道)和蓝色分量(或蓝色通道)。作为另一示例,在YCbCr颜色空间中,这些分量可以包括亮度(Y)分量、色度蓝色(Cb)分量和色度红色(Cr)分量。作为另一示例,在YCoCg颜色空间中,这些分量可以包括亮度(Y)分量、色度绿色(Cg)分量和色度橙色(Co)分量。然而,本公开的实施例不限于此。位图中的每个位置处的值表示该位置处的分量的级别(例如,灰度级)。因此,图像内容10或图像数据可以被认为表示图像中的每个位置处的颜色和亮度。
为了本文中的讨论,图像内容10的每个通道将被独立处理。如本领域技术人员通常理解的,术语“样本”指代与图像内容10的一个像素的一个分量相关联的数字值(例如,“样本”可以是标量值),术语“块”指代样本的集合(例如,与图像内容10的邻接部分相对应的样本),并且每个块可以被分区成样本的一个或多个“组”。图2是鸟的图像(图像内容10)的一个块12的示意图,其中,块12具有8×2的尺寸(16个样本14)并且被分区成4个组16A、16B、16C和16D,每个组具有4个样本。
可以使用图像内容10内的空间预测对块进行编码(例如,可以基于从图像中的相邻样本(诸如图像中的像素上方和左侧的像素)对样本的值进行预测来对样本的值进行编码)。重建的值被用于预测,而不是使用原始的相邻值。样本的预测值与样本的实际值之间的差被称为量化的残差,并且这些量化的残差可以进一步被用于表示图像内容10的编码后的表示中的样本。
对于每个块,可以使用多种不同的预测编码模式中的一种,其中,可以基于测试来选择特定的预测编码模式以确定哪种模式产生受速率控制约束影响或者换句话说受速率-失真成本影响的最小失真量,其中,速率与该模式对块进行编码所需的数据量有关,并且失真指代编码之后的质量损失(例如,输入块与被解码之后的编码后的块之间的差的大小)。这些预测编码模式可以包括:包括可以更适合于自然内容的变换(例如,到频域)操作的“变换模式”;以及跳过(或排除)变换并执行块预测操作并且可以被用于人造的或图示的图形内容的“变换跳过块预测模式”。对于每个块,存在可用于对该块进行编码的多种模式(或选项),并且编码器110可以为该块选择最佳模式(或选项)。
在以变换模式操作时,在一些实施例中,编码器110为每个块(在本文中被表示为X)测试一组帧内预测器以确定哪个帧内预测器产生最小的速率-失真成本。在码流中明确地通知所选择的帧内预测模式,使得解码器210只需要解析信息并执行单个解码操作。在块X处于RGB颜色空间中的情况下,数据可被变换到YCoCg颜色空间中。在一些情况下,如果块X处于YCbCr颜色空间中,则不应用颜色空间变换,并且过程在YCbCr空间中继续。
在一些实施例中,编码器110根据给定的一组帧内预测模式为变换空间计算帧内预测块P。帧内预测的输出是残差块R(在本文中也被称为残差R),残差块R是块X与帧内预测块P之间的差。在一些实施例中,然后对残差块R应用离散余弦变换(DCT),产生变换系数T的块。然后,变换系数T被量化以产生量化的变换系数块QT(在本文中也被称为量化的变换系数QT)。这些量化的变换系数QT是在码流中传输的值,如嵌入在熵编码组中。逆量化
Figure BDA0002896666510000081
和逆变换
Figure BDA0002896666510000082
被应用,使得可以在残差块R与重建的残差块
Figure BDA0002896666510000083
(在本文中也被称为重建的残差
Figure BDA0002896666510000084
)之间计算失真。(相同的逆量化和逆变换操作可以由解码器210执行。)根据上面提到的速率和失真来计算每种模式的速率-失真成本信息。
在以变换跳过块预测(BP)模式操作时,在一些实施例中,根据一组重建的相邻样本(BP搜索范围)对当前块进行空间预测。在预测之前,当前块被分区成一组子块(例如,在8×2块的情况下,被分区成4个2×2子块)。
根据一个实施例,使用或者2×2分区或者一对2×1分区根据BP搜索范围预测每个子块。在前一种情况下,2×2子块由将根据搜索范围生成2×2预测块P的单个块预测向量(BPV)表示。在一对2×1分区被选择的情况下,子块将由两个不同的BPV表示。第一BPV将针对子块中的上面两个样本生成2×1预测块P,而第二BPV将针对下面两个样本生成2×1预测块P。编码器110执行搜索以找到使当前块内的每个2×2分区和2×1分区的失真最小化的BPV。其结果是用于两种分区类型的预测块P和一组BPV。接下来,残差R被计算为R=X-P。由于分区类型有两个选项,所以将计算两个残差块R;一个与2×2分区相关联,并且一个与2×1分区相关联。然后,可以如下(例如,并行地)处理两个残差块R:首先,对所有残差样本进行前向量化,并且量化的残差QR被用于计算每个2×2子块的熵编码成本;执行第二逆量化以获得重建的残差
Figure BDA0002896666510000091
根据重建的残差
Figure BDA0002896666510000092
可以计算每个子块的失真。最后,对于每个2×2子块,编码器110可以基于速率/失真折衷在2×2分区与2×1分区之间进行选择。BP模式的语法包括该组BPV以及针对3个颜色分量的熵编码后的量化的残差QR。
根据一个实施例,解码器210从码流接收包括量化的残差QR的BP编码后的块。具体地,解码器210应用熵解码器来解码量化的残差QR,同时BPV值和分区结构被直接解析。BP搜索范围在编码器110与解码器210之间是相同的,因为它包括因果上可用的重建的样本。分区结构和BPV值被用于生成预测块P,而量化的残差QR被逆量化以获得重建的残差
Figure BDA0002896666510000093
最后,将预测块P和重建的残差
Figure BDA0002896666510000094
加在一起以生成重建块,如果需要,对重建块进行颜色空间变换。对于RGB源内容,在YCoCg颜色空间中计算BP。对于YCbCr源内容,将在YCbCr颜色空间中本地计算BP。
在以变换模式操作时,诸如离散余弦变换(DCT)的变换被进一步应用于残差,并且变换的系数被表示为块中的值。在其它情况下,诸如以变换跳过块预测模式操作,变换被省略并且残差本身被表示为块中的值。在一些情况下,在使用无损压缩时,变换模式可以被省略。在一些情况下,在应用有损压缩时,变换系数或残差(分别在变换模式或变换跳过块预测模式的情况下)被量化。
公共前缀熵码(CPEC)是一种用于对一组N个样本(例如,在有损压缩的情况下的量化的残差或量化的变换系数)进行熵编码的技术,其中,单个前缀与N个后缀一起使用。在CPEC中,使用表示被用于对N个后缀中的每一个进行编码的比特数的可变长度码(例如,一元码)对前缀进行编码。N个后缀中的每一个用相同的比特数进行编码(例如,使用固定长度码)。图3是具有N=4个样本的组的CPEC结构的示意描绘。因此,如图3中所示,CPEC结构300包括前缀302以及4个后缀304A、304B、304C和304D。
熵解码器可以采用完整的时钟周期来解析CPEC编码后的组的前缀,因为该前缀具有可变长度。然而,一旦表示后缀中的每一个中的比特数的前缀被解码,N个后缀就可以被移位到另一个缓冲器中,以解析各个样本,而不占用熵解码器的额外时间,并且熵解码器可以在帧缓冲器202中(例如,按照解码后的比特数乘以N)向前跳跃,以对下一组进行解码。
关于熵编码的额外信息可以在例如Jacobson、Natan等人所著的“VESA正在开发的新的显示流压缩标准。(A new display stream compression standard underdevelopment in VESA.)”(数字图像处理的应用XL,第10396卷,国际光学和光子学学会,2017年)中找到。
熵编码器和公共前缀熵码(CPEC)被用于诸如显示流压缩(DSC)的一些标准中。图4是3×1块及其在显示流压缩(DSC)中使用的增量大小单位可变长度编码(DSU-VLC)的情况下使用公共前缀熵码(CPEC)的编码后的形式的示意描绘。如图4中所示,一组中块大小为3×1(例如,一行的3个相邻样本:s0、s1以及s2)可以使用具有一个前缀(p0)402以及3个后缀404A、404B和404C(分别是后缀0、后缀1和后缀2)的CPEC进行熵编码。因此,因为对可变长度前缀(p0)402的解析可以花费完整的时钟周期,但是可以从熵解码器解码3个后缀而无需额外时间,所以3个样本/时钟的吞吐量是可实现的,例如,因为对于每3个样本(s0、s1和s2,如分别由后缀0、后缀1和后缀2表示)(在前缀402中)有一个可变长度二进制字(VLB)。
作为另一示例,在VESA显示压缩-M(VDC-M)的情况下,使用8×2的块大小,其中,块的每个分量被分区成4个组。在一些模式中,8×2块被分区成均匀的组。图5A是将8×2块510划分成4个大小均匀的组(每个组是块510的与4个样本相对应的2×2部分)的示意描绘,该4个组被标记为组0、组1、组2和组3。块510的16个样本被标记为S0到S15。如图5A中所示,使用具有4个后缀和对应的可变长度前缀的CPEC对每个组进行熵编码,以生成对应的熵编码组520、521、522和523。具体地,组0包括表示样本S0、S1、S8和S9的符号,并且使用前缀P0被熵编码为熵编码组520;组1包括表示样本S2、S3、S10和S11的符号,并且使用前缀P1被熵编码为熵编码组521;组2包括表示样本S4、S5、S12和S13的符号,并且使用前缀P2被熵编码为熵编码组522;以及组3包括表示样本S6、S7、S14和S15的符号,并且使用前缀P3被熵编码为熵编码组523。图5A使用不同宽度的框描绘了前缀P0、P1、P2和P3,以表明这些可变长度前缀可以具有不同的长度(例如,对被用于对其各自组中的后缀中的每一个进行编码的比特数进行编码)。同样,组中的每一个的后缀具有可以根据由其对应的前缀编码的值而变化的长度。
在其它模式中,8×2块被分区成非均匀的组。图5B是将8×2块530划分成4个大小不均匀的组的示意描绘,该4个组被标记为组0、组1、组2和组3。块530的16个样本被标记为S0到S15。在图5B中所示的布置中,组0具有1个样本的大小,组1具有3个样本的大小,组2具有5个样本的大小,并且组3具有7个样本的大小。具体地,组0包括表示样本S0的符号,并且使用前缀P0被熵编码为熵编码组540;组1包括表示样本S1、S2和S8的符号,并且使用前缀P1被熵编码为熵编码组541;组2包括表示样本S3、S4、S9、S10和S11的符号,并且使用前缀P2被熵编码为熵编码组542;以及组3包括表示样本S5、S6、S7、S12、S13、S14和S15的符号,并且使用前缀P3被熵编码为熵编码组543。如与图5A中一样,图5B使用不同宽度的框描绘了前缀P0、P1、P2和P3,以表明这些可变长度前缀可以具有不同的长度(例如,对被用于对其各自组中的后缀中的每一个进行编码的比特数进行编码)。同样,组中的每一个的后缀具有可以根据由其对应的前缀编码的值而变化的长度。
当在VDC-M中使用均匀的组和非均匀的组两者时,CPEC以每组为基础而被应用。因此,在VDC-M中,4个样本/时钟的平均吞吐量是可实现的,例如,因为在两种情况下,4个时钟周期被用于对4个组的一起对块的16个样本进行编码的可变长度前缀进行解码(例如,16/4=4)。
不同的应用可以施加不同的设计约束,例如物理介质50上的可用带宽、图像内容10的图像分辨率、图像内容10的帧速率、解码器时钟速度以及电力要求或约束(例如,与诸如膝上型计算机的更大的移动装置相比以及与诸如电视的插入到电网中的装置相比,对诸如智能电话的手持式移动装置中的电力消耗的更严格的约束)。例如,在许多情况下,显示装置2的DDIC 200与例如AP 100或实现编码器110的其它部件相比慢得多,或者可以被建立在更老的技术上。在为各种应用设计通信通道时,可以在吞吐量(TP)与压缩效率(CE)之间进行一种设计折衷,其中更高的吞吐量通常对应于更低的压缩效率,并且更高的压缩效率通常对应于更低的吞吐量。如以上所提到的,DSC的DSU-VLC编码对每3个样本使用一个可变长度码,从而实现每时钟3个样本的吞吐量,并且VDC-M编码对每16个样本的块使用4个可变长度码,从而实现每时钟4个样本的吞吐量。虽然DSC和VDC-M所使用的这些方法使系统能够实现特定的吞吐量,但是它们不允许调整编码方案来改变吞吐量以满足特定应用的设计约束(例如,压缩效率要求、解码时钟速度、电力要求)。
因此,本公开的实施例的方面涉及用于熵编码方法和/或协议的系统和方法,其中熵编码方法的吞吐量可以通过控制协议的设计参数来调节。如以上所提到的,解码器210的吞吐量(以解码器210的每时钟的样本数为单位)通常基于需要为样本的每个块解析的可变长度码的数量而受到限制。因此,本公开的实施例的一些方面涉及通过设置在对多个样本进行编码(或编码)时使用的可变长度码的数量(例如,被用于对16个样本的块进行编码的可变长度码的数量)来控制吞吐量。
更详细地,本公开的实施例的一些方面涉及混合熵编码方案,其中块的(例如,红色分量、绿色分量和蓝色分量中的或者亮度分量和色度分量中的)每个分量以如下方式被编码,即,块的样本中的一个或多个使用符号可变长度码被独立地编码,并且块的剩余样本被分区成组并使用每组分配可变长度二进制字的CPEC被编码。符号可变长度码(SVLC)的示例包括:一元码、霍夫曼码、指数哥伦布(Exponential-Golumb)编码、莱斯(Rice)编码以及指数哥伦布与Rice码的串接等。在下面的讨论中,块可以被称为具有使用SVLC编码的N个样本和使用CPEC编码的M个样本,其中N和M大于或等于零。本公开的一些实施例涉及N和M均大于或等于1的块。
因此,在根据本公开的实施例的混合编码方法中,每块每分量的可变长度二进制字(VLB)的总数可以由参数N和M控制,从而允许以每时钟的样本数为单位的解码器吞吐量的设计控制。
更详细地,解码器吞吐量取决于块中每分量的样本数量和块中VLB的总数:
Figure BDA0002896666510000121
Figure BDA0002896666510000122
其中k≠0。
块中每分量使用的可变长度二进制字的总数取决于使用SVLC编码的样本的数量N和使用CPEC编码后的组编码的样本的数量M:
#VLBs=N+M
图6是根据本公开的一个实施例的用于针对给定的目标解码器吞吐量计算使用SVLC编码的样本的数量N和使用CPEC编码的样本组的数量M的方法的流程图。在一些实施例中,使用诸如包括处理器和存储器的计算机系统的适当的计算装置来实施图6中所示的方法,其中存储器存储指令,该指令在由处理器执行时,使处理器执行与图6相关联的方法的操作并输出计算出的设计参数N和M。
在操作610中,根据一个实施例的计算机系统计算CPEC编码后的样本组的数量M的上限。这可以通过将吞吐量设置为可以取决于可用技术的估计的最高可用吞吐量TPmax来计算。
Figure BDA0002896666510000131
例如,在一些情况下,每时钟TPmax=4个样本表示性能与复杂度(或压缩效率)之间的良好折衷:
Figure BDA0002896666510000132
然而,本公开的实施例不限于最高可用吞吐量TPmax为每时钟4个样本的情况。例如,半导体技术和压缩的改进可以导致这样的情况,其中高于每时钟4个样本的TPmax值表示性能与复杂性之间的良好折衷。
在操作630中,计算系统计算实现输入的目标解码器吞吐量TPtarget所需的可变长度二进制字的数量(#VLBs):
Figure BDA0002896666510000133
在操作650中,计算系统基于先前计算的VLB的所需数量(#VLBs)和先前计算的M的值来计算用于实现目标解码器吞吐量TPtarget的SVLC编码后的样本的数量N:
#VLBs=N+M
N=#VLBs-M
因此,以上参考图6描述的方法提供了用于基于目标解码器吞吐量计算设计参数N和M的方法。
例如,假设每分量8×2的块大小的样本,并且假设TPmax=4,M和N的值可以被计算如下:
对于每时钟2个样本的目标解码器吞吐量,每操作610:
Figure BDA0002896666510000141
每操作630:
Figure BDA0002896666510000142
并且每操作650:
N=VLBs-M
=8-4
=4
对于每时钟3个样本的目标解码器吞吐量,每操作610:
Figure BDA0002896666510000143
每操作630:
Figure BDA0002896666510000144
并且每操作650:
N=VLBs-M
=5-4
=1
对于每时钟4个样本的目标解码器吞吐量,每操作610:
Figure BDA0002896666510000151
每操作630:
Figure BDA0002896666510000152
并且每操作650
N=VLBs-M
=4-4
=0
对于每时钟1个样本的目标解码器吞吐量,每操作610:
Figure BDA0002896666510000153
每操作630:
Figure BDA0002896666510000154
并且每操作650:
N=VLBs-M
=16-4
=12
在本公开的一些实施例中,计算系统根据特定的目标压缩效率计算参数N和M,而不是计算用于实现特定的输入的目标解码器吞吐量TPtarget的参数N和M。更详细地,压缩效率可以取决于:1)压缩比;2)吞吐量;以及3)编解码器的复杂度(其也可以取决于吞吐量)。对于给定的编解码器的复杂度(例如,保持编解码器的复杂度不变),更高的压缩比将折衷吞吐量以获得与具有更低的压缩比和高吞吐量的方案相同的性能。(例如,假设存在复杂度和性能大致相同的两个编解码器A和B,则编解码器A可以以1像素/时钟的吞吐量以6:1的压缩比操作,而编解码器B可以以4像素/时钟的吞吐量以4∶1的压缩比操作。)
根据一些实施例,这些设计参数在系统的设计阶段期间被选择,并且被固定以用于成品的生产。然而,本公开的实施例不限于此,并且在一些实施例中,在系统的使用期间响应于变化的状况(例如,变化的通信环境,其中吞吐量可以由于需要附加纠错编码而被降低)来动态地设置控制SVLC样本和CPEC组的数量的参数N和M。
根据本公开的一个实施例,编码器110和/或解码器210基于与其中编码器110和解码器210中的至少一个(例如,编码器110和解码器210中的一个或者编码器110和解码器210两者)正在操作的通信环境相关的某些因素来动态地确定目标解码器吞吐量或压缩效率,并且(例如,根据更新的目标解码器吞吐量、基于因素)相应地设置协议的参数M和N。在一些实施例中,这些因素包括电力(例如,装置是被插入到外部电力还是被插入到电池电力)、处理器能力(例如,由于热状况和/或电力消耗设置所致的节流)、并行工作的解码器210的数量、内部带宽、解码器电路的热状况或温度状况以及编码器110与解码器210之间的物理介质50中的噪声或干扰。
为了使编码器110配置或设置参数M和N以基于这些因素确定目标解码器吞吐量或压缩效率,本公开的一些实施例提供了用于向编码器110反馈的机制。在一些实施例中,这被实时地执行(例如,在直播流期间,其中目标可以在中间流改变),或在编码器110首先开始针对特定的解码器210进行编码时被执行(并且然后编码器110可以考虑解码器210的规范或其它因素,并使用那些规范来设置目标)。反馈类型的示例包括解码器210的时钟速率、解码器210的当前温度、包括解码器210的系统的电力状况(例如,电池电量或外部电力状况),以及编码器110和解码器210通过其进行通信的物理介质50的当前状况(例如,有线连接或无线连接,以及由于干扰导致的物理介质50的可用带宽或吞吐量)。反馈可以是例如直接从解码器侧系统200(即DDIC200)(例如,经由物理介质50)到编码器侧系统100(即AP100),或者可以经由第三系统(例如,监测装置,被配置成监测解码器侧系统200的诸如温度及电力状况的状况并且被配置成向编码器侧系统100提供表示所监测的状况的信息)被间接提供。
根据本公开的一些实施例,解码器210还根据由编码器110对参数进行的改变来动态地更新编码方案的参数(M和N的值),因此它可以实现适当的解码方案。在一些实施例中,编码器110向解码器210明确地指示改变(改变何时发生,或改变将在时间T发生),并且明确指示可以在带内(例如,在编码后的码流30内作为编码后的图像内容)或带外(例如,在相同的物理介质50或不同的物理介质之上的诸如与编码后的码流30并行的单独的通信流的单独的通道中)提供。在一些实施例中,解码器210独立地考虑与由编码器110所考虑的相同的因素,并且执行与编码器110相同的分析,以预测编码器110何时以及如何更新编码方案的参数(例如,M和N的值)。
图7是根据本公开的一个实施例的对图像内容进行编码的方法的流程图。根据一些实施例,参考图7描述的操作由编码器110执行,以基于供给的图像内容10生成编码后的码流30。在操作710中,将图像内容10的每个通道划分成连续的样本(例如,来自相邻像素的区域的样本)的多个块。在一些实施例中,图像内容10在不同的颜色空间之间被转换,诸如从RGB到YCoCg或YCbCr。在操作730中,编码器110对每个块进行预测编码,其中预测编码可以是例如变换模式编码、变换跳过块预测模式编码等。更详细地,操作730中的预测编码可以包括使用预测器基于来自相邻块(例如,图像内容10的先前行和/或先前列)的重建的样本值来预测块的每个分量(例如,Y分量、Cb分量和Cr分量)的值。然后,编码器110基于预测值与实际值之间的差计算残差。在一些实施例中,在使用有损编码方案时,残差被量化以生成量化的残差的块。如以上所提到的,相同图像内容的不同块可以应用不同类型的预测编码(例如,一些块可以使用变换模式,而来自相同图像的其它块可以使用变换跳过块预测模式-在一些实施例中,在编码器110处,每个预测编码模式被应用于每个块以生成多个编码后的块,每个编码后的块用于不同的模式中的每一种,并且编码器110输出具有最低速率-失真成本的编码后的块)。在操作750处,编码器110将每个编码后的块分区成N个单样本和M个样本组(例如,编码器110从块取N个样本并将剩余样本分组成M个组,其中M个组中的每一个包括一个或多个样本,并且其中块的样本中的每一个在N个单样本和M个样本组中仅出现一次)。例如,在一些实施例中,解码器210取块的前N个样本(例如,样本S0到S(N-1))作为N个单样本,并且将剩余样本分区成M个样本组。
在操作770中,编码器110对残差应用熵编码。在操作772中,编码器110使用符号可变长度码(SVLC)(诸如一元编码、霍夫曼编码、指数哥伦布编码、Rice编码以及指数哥伦布与Rice码的串接等)来对N个单样本中的每一个进行编码,以生成编码后的单样本。同样,在操作774处,编码器110使用公共前缀熵码(CPEC)(或一些其它代码,其中一个或多个样本使用正好一个可变长度前缀和一个或多个固定长度后缀来编码)对M个样本组进行编码,以生成编码后的样本组。
在操作790处,编码器110将编码后的单样本与编码后的样本组进行组合(例如,串接)以生成数据流(例如,编码后的码流30)。
图8是根据本公开的一个实施例的对图像内容进行解码的方法的流程图。根据一些实施例,关于图8描述的操作由解码器210执行,以基于接收到的编码后的码流30生成重建的图像内容18(即解压缩的表示18或解码后的表示18)。特定的预测编码技术(例如,变换模式与变换跳过块预测模式)可以根据由编码器110(例如,根据使速率-失真成本最小化)选择的技术而在块与块之间变化。因此,在一些实施例中,编码器110在编码后的码流30中生成预测编码模式的明确指示(例如,标志),并且在一些实施例中,解码器210根据编码后的码流30自动确定预测编码模式。在操作806中,解码器210诸如通过确定多个不同的编码模式中的哪一种针对编码后的码流30的当前块在编码后的码流30中诸如通过标志或其它标识符被指示来确定编码后的码流30的当前块的预测编码模式。在操作810中,解码器210将接收到的编码后的码流30分区成N个单样本和M个样本组(例如,前N个VLB可以被视为N个单样本,并且剩余数据可以被解析为CPEC编码后的组)。如以上所提到的,为了接收单个块,操作810可以采用与用于对块进行编码的可变长度二进制字(VLB)的数量相等的多个时钟,因为每个VLB采用一个时钟周期来进行解析,但是如果VLB充当组(例如,样本组)的前缀,则固定长度后缀可以被移位到另一缓冲器以进行进一步的处理,而不会减慢解码器210的速度。
在操作830中,解码器210对残差进行熵解码。在操作832中,解码器210使用以上讨论的SVLC(例如,一元码或霍夫曼码)对N个单样本中的每一个进行解码,并且在操作834中,使用CPEC对M个样本组中的每一个进行解码,其中,可以通过在操作806处确定的块的预测编码模式来确定M个样本组中的每一个中的样本的数量(例如,M个样本组是使用均匀的组进行编码还是使用非均匀的组进行编码,如下面参考图9A和图9B更详细讨论的)。在一些情况下,N是零并且操作832被省略。然后,在操作850中,解码器210可以将来自N个单样本和M个样本组的样本串接成残差的块(例如,编码后的块),并且然后在操作870中应用对应的预测编码(例如,由编码器110执行的适当的逆运算)以重建块的每个分量(例如,Y分量、Cb分量和Cr分量)。通常,重建过程是上面关于图7描述的编码过程的逆过程,并且包括执行熵解码、解量化以生成重建的残差,执行逆变换(如果变换模式在该块中被使用),基于相邻样本(例如,先前重建的相邻块,诸如图像内容10的先前行和/或先前列的块)计算预测的样本,以及然后将残差添加到预测器的输出。
下面将在16个样本的8×2块和每时钟2个样本的目标解码器吞吐量TPtarget的上下文中更详细地描述根据本公开的实施例的数据的块的编码的示例。然而,本公开的实施例不限于以下呈现的特定上下文。例如,本公开的实施例还可以被应用于诸如3×1、4×8和8×8等的不同大小和/或尺寸的块,并且还可以通过选择如上面关于图6所讨论的参数N和M而被应用于诸如每时钟3个样本的不同的目标解码器吞吐量TPtarget值。另外,样本可以使用2的补码或符号-幅度表示来进行编码。
用于含有具有样本值{1,-2,-1,0}的4个样本的熵编码组的一个示例CPEC输出被如下呈现。在此示例中,2的补码表示被用于生成熵编码组中的样本值的比特。忠实地重建该组所需的比特数为2。具体地,在2的补码表示中,需要n个比特来表示在范围[-2n-1,2n-1-1]中的数据。每个样本值在2的补码表示中由2个比特表示。因此,前缀将通知值2。对于样本值{1,-2,-1,0}的组,由CPEC操作输出的比特将是前缀110(2的一元码)和4个后缀,其中,每个样本使用诸如“01101100”的2个比特编码。在此示例中,CPEC操作的输出仅是说明性的,并且CPEC操作的实际输出可以根据实际实现而不同。
在符号-幅度表示被使用时,每个样本需要n个比特,其中,组中的所有采样的绝对值(或幅度)在[0,2n-1]的数据范围内。在符号-幅度表示中,符号比特仅针对非零值被通知。作为示例,对于样本值{1,-2,-1,0}的输入组,符号-幅度表示中的CPEC操作的输出将是前缀110(2的一元码),随后是使用诸如“01100100”的2个比特对每个样本的绝对值进行编码的后缀,以及最后是使用1来表示正符号(针对第一值1)并且使用0来表示负符号(针对第二值-2和第三值-1)的符号比特“100”。(注意,在这个示例中,符号0的符号值未被通知。)在一些实施例中,0被用于表示正符号,并且1被用于表示负符号。
可以以均匀的方式或非均匀的方式将块分区成M个组。在均匀的分区中,M个组中的每一个中的样本(或固定长度后缀)的数量是相同的。在非均匀的分区中,样本的数量从一个组到另一个组而变化(例如,M个组中的至少两个具有不同数量的样本)。可以基于用于对块进行编码的预测编码模式来进行分区成均匀的组与非均匀的组的选择。例如,使用变换模式编码的块通常更适合于非均匀的组。
图9A是根据本公开的一个实施例的使用均匀的组对块进行编码的示意描绘。在图9A中所示的特定示例中,块910表示从输入图像的一个分量(例如,从图像内容10的一个分量)取得的样本的8×2矩形。在使用变换跳过块预测模式(例如,其中块910的样本S0到S15表示图像的分量的基础样本的量化的残差,而不是图像的一部分的诸如DCT的变换的系数)对块910进行预测编码时,可以应用均匀的组。
在图9A中所示的示例中,编码方案被设计用于每时钟2个样本的吞吐量。因此,按照以上关于图6描述的计算,使用符号可变长度码(SVLC)编码的样本的数量N是4,并且样本组的数量M也是4。M个样本组中的每一个包括1个前缀和3个后缀。这导致每16个样本(N+M*3=16)的块在码流中总共有8(N+M=8)个可变长度二进制字(VLB),这提供每时钟2个样本的目标解码器吞吐量(16个样本/8个时钟)。使用SVLC编码的N个样本在图9A中被标记为组0920,并且M个样本组被标记为组1921、组2922、组3923和组4924。在下面的表1中总结了图9A中所示的5个组,以及其对应的编码方法和每组中可变长度二进制字(VLB)的总数。
表1
Figure BDA0002896666510000201
Figure BDA0002896666510000211
在图9A和表1中所示的布置中,组0920中的样本S0、S1、S8和S9的比特表示B0、B1、B8和B9被顺序地解码,因为符号之间的边界由于样本中的每一个被编码为VLB而是未知的或模糊的。在图9A中使用不同宽度的框描绘了样本S0、S1、S8和S9的比特表示B0、B1、B8和B9,以表明这些SVLC编码后的符号具有不同的长度。根据图9A中所示的编码方案的实施例,组0920表示样本S0、S1、S8和S9。然而,本公开的实施例不限于此,并且SVLC编码后的样本的组可以表示块910的不同样本。
图9A使用不同宽度的框描绘了前缀P1、P2、P3和P4,以表明这些可变长度前缀可以具有不同的长度(例如,对被用于对其各自组中的后缀中的每一个进行编码的比特数进行编码)。同样,组中的每一个的后缀具有可以根据由其对应的前缀编码的值而变化的长度。一旦其各自的VLB前缀P1、P2、P3和P4被解析,组1、组2、组3和组4中的每一个中的3个后缀就可以被并行地解析。根据图9A中所示的编码方案的实施例,组1921表示样本S2、S3和S10,组2922表示样本S4、S11和S12,组3923表示样本S5、S6和S13,并且组4924表示样本S7、S14和S15。然而,本公开的实施例不限于此,并且样本组可以表示块910的不同样本。
图9B是根据本公开的一个实施例的使用非均匀的组对块进行编码的示意描绘。在图9B中所示的特定示例中,块930表示从输入图像的一个分量(例如,从图像内容10的一个分量)取得的样本的8×2矩形。在根据变换模式(例如,其中块930的样本S0到S15表示块的量化的残差的例如离散余弦变换(DCT)的诸如空间频域的变换的量化的系数)对块930进行预测编码时,可以应用非均匀的组。
在图9B中所示的示例中,编码方案被设计用于每时钟2个样本的吞吐量。因此,按照以上关于图6描述的计算,使用符号可变长度码(SVLC)编码的样本的数量N是4,并且样本组的数量M也是4。使用SVLC编码的4个样本在图9B中被标记为组0940,并且4个样本组被标记为组1941、组2942、组3943和组4944。M个样本组中的每一个包括一个前缀和不同数量的后缀。可以在编码方案的设计期间(例如,在基于目标解码器吞吐量和根据块的大小选择参数N和M的同时)设置后缀的数量。在图9B中所示的特定实施例中,组1941包括前缀P1和仅一个后缀,并且组2942包括前缀P2和仅一个后缀(例如,组1 941和组2 942各自仅包括一个值)。组3 943包括前缀P3和4个后缀,并且组4包括前缀P4和6个后缀。这导致每16个样本(4+1+1+4+6=16)的块在码流中总共有8(N+M=8)个可变长度二进制字(VLB),这提供每时钟2个样本的目标解码器吞吐量(16个样本/8个时钟)。在下面的表2中总结了图9B中所示的5个组,以及其对应的编码方法和每组中可变长度二进制字(VLB)的总数。
表2
组索引 编码方法 样本的数量 总VLB
组0 SVLC 4 4
组1 CPEC 1 1
组2 CPEC 1 1
组3 CPEC 4 1
组4 CPEC 6 1
在图9B和表2中所示的布置中,组0 940中的样本S0、S1、S2和S8的比特表示B0、B1、B2和B8被顺序地解码,因为符号之间的边界由于样本中的每一个被编码为VLB而是未知的或模糊的。在图9B中使用不同宽度的框描绘了样本S0、S1、S2和S8的比特表示B0、B1、B2和B8,以表明这些SVLC编码后的符号具有不同的长度。根据图9B中所示的编码方案的实施例,组0 940表示样本S0、S1、S2和S8。然而,本公开的实施例不限于此,并且SVLC编码后的样本的组可以表示块930的不同样本。
如与图9A中一样,图9B使用不同宽度的框描述了前缀P1、P2、P3和P4,以表明这些可变长度前缀可以具有不同的长度(例如,对被用于对其各自组中的后缀中的每一个进行编码的比特数进行编码)。同样,组中的每一个的后缀具有可以根据由其对应的前缀编码的值而变化的长度。一旦其各自的VLB前缀P1、P2、P3和P4被解析,组1、组2、组3和组4中的每一个中的后缀就可以被并行地解析。根据图9B中所示的编码方案的实施例,组1 941表示样本S3,组2 942表示样本S4,组3 943表示样本S5、S9、S10和S11,并且组4 944表示样本S6、S7、S12、S13、S14和S15。然而,本发明的实施例不限于此,并且样本组可以具有不同大小且可以表示块930的不同样本。
在本公开的一些实施例中,仅包括一个样本的CPEC编码后的组改为使用SVLC来进行编码。例如,参考图9B,组1和组2各自只包括一个样本。因此,不是用对应的可变长度前缀(分别为P1和P2)和对应的后缀对这两个样本中的每一个进行编码,而是可以使用SVLC直接对这两个样本进行编码(参见例如下面描述的图9C)。本公开的实施例的一些方面涉及编码器110在使用SVLC或具有单个值的CPEC组对单个样本进行编码之间进行选择的方法。例如,SVLC或CPEC之间的选择可以取决于样本分布和SVLC编码方法。作为一个示例,假设样本值为-1。使用CPEC编码和2的补码,值-1可以使用具有值1的单个比特来表示。因此,如以上所描述的,指定长度为1的后缀的CPEC组的前缀是“10”,并且后缀是值1,总共3个比特。另一方面,在使用SVLC和例如霍夫曼编码时,可以发现-1是给定环境中非常不可能的样本值,并且因此该环境的特定码本使用多于3个比特来表示-1的样本值。另一方面,可以存在样本值具有高概率并因此在霍夫曼码中具有短表示的情况,但是也可以需要更多比特来使用2的补码和CPEC进行表示。在这种情况下,SVLC可以是用于对该样本值进行编码的更有效的方法。因此,在本公开的一些实施例中,编码器110基于使用两种不同的技术对数据进行编码的效率来动态地选择是使用SVLC还是使用CPEC对单个样本进行编码,并且编码器110可以包括码流中的选定的选择。在一些实施例中,基于包括在编码后的码流30中的标志来确定SVLC或CPEC的选择,作为在操作806中确定块的预测编码模式的一部分,并且在一些实施例中,指示是使用SVLC还是使用CPEC对单个样本进行编码的标志位于编码后的码流30的其它部分中,诸如紧接在M个样本群组之前。下面的表3总结了根据该实施例的图9B中所示的编码的修改版本:
表3
Figure BDA0002896666510000231
Figure BDA0002896666510000241
另外,在本公开的一些实施例中,在使用变换跳过块预测模式对块进行编码时,将块分区为多个非均匀的组也被应用。图9C是根据本公开的一个实施例的使用非均匀的组根据变换跳过块预测模式对块进行编码的示意描绘。在图9C中所示的特定示例中,块950表示从输入图像的一个分量(例如,从图像内容10的一个分量)取得的样本的8×2矩形。在根据变换跳过块预测模式对块950进行预测编码时,也可以应用非均匀的组。
在图9C中所示的示例中,编码方案被设计用于每时钟2个样本的吞吐量。因此,按照以上关于图6描述的计算,使用符号可变长度码(SVLC)编码的样本的数量N是4,并且样本组的数量M也是4。使用SVLC编码的4个样本在图9C中被标记为组0 960,并且4个样本组被标记为组1 961、组2 962、组3 963和组4 964。M个样本组中的每一个包括一个前缀和不同数量的后缀。可以在编码方案的设计期间(例如,在基于目标解码器吞吐量和根据块的大小选择参数N和M的同时)设置后缀的数量。在图9C中所示的特定实施例中,组1 961和组2 962各自仅包括一个值。因此,如以上所描述的和如图9C中所示,在一些实施例中,使用SVLC而不是CPEC对这些样本进行编码。组3 963包括前缀P3和5个后缀,并且组4包括前缀P4和5个后缀。这导致每16个样本(4+1+1+5+5=16)的块在码流中总共有8(N+M=8)个可变长度二进制字(VLB),这提供每时钟2个样本的目标解码器吞吐量(16个样本/8个时钟)。在下面的表4中总结了图9C中所示的5个组,以及其对应的编码方法和每组中可变长度二进制字(VLB)的总数。
表4
Figure BDA0002896666510000242
Figure BDA0002896666510000251
在图9C和表4中所示的布置中,组0 960中的样本S0、S1、S8和S9的比特表示B0、B1、B8和B9被顺序地解码,因为符号之间的边界由于样本中的每一个被编码为VLB而是未知的或模糊的。在图9C中使用不同宽度的框描绘了样本S0、S1、S8和S9的比特表示B0、B1、B8和B9,以表明这些SVLC编码后的符号具有不同的长度。根据图9C中所示的编码方案的实施例,组0 960表示样本S0、S1、S8和S9。然而,本公开的实施例不限于此,并且SVLC编码后的样本组可以表示块950的不同样本。
图9C使用不同宽度的框描绘了前缀P3和P4,以表明这些可变长度前缀可以具有不同的长度(例如,对被用于对其各自组中的后缀中的每一个进行编码的比特数进行编码)。同样,组3和组4中的每一个的后缀具有可以根据由其对应的前缀编码的值而变化的长度。一旦其各自的VLB前缀P3和P4被解析,组3和组4中的每一个中的后缀就可以被并行地解析。根据图9C中所示的编码方案的实施例,组1 961表示样本S2,组2 962表示样本S10,组3 963表示样本S3、S11、S4、S12和S5,并且组4964表示样本S7、S6、S13、S14和S15。然而,本发明的实施例不限于此,并且样本组可以具有不同大小且可以表示块950的不同样本。因为图9C描绘了使用变换跳过块预测模式进行编码的块,所以该组被选择为连续组。
在一些实施例中,跳过标志被用于在组内或分量内的所有样本都为零时进行通知。在一些实施例中,在块的一个分量中的所有样本都为零时(例如,YCoCg颜色空间或YCbCr颜色空间中的色度橙色分量或色度绿色分量,因为亮度分量Y很少都为零),使用分量跳过标志。
在一些实施例中,在一个组中的所有样本都为零时,使用组跳过标志。在一些实施例中,使用SVLC编码的样本被分区成一个或多个组,并且组跳过标志可以被应用于SVLC编码后的样本的组内的所有样本。在一些实施例中,组跳过标志与CPEC编码后的组一起使用。在一些实施例中,组跳过标志仅与CPEC编码后的组一起使用,而不与诸如SVLC编码后的组的其它组一起使用。在使用变换模式对块进行编码时,通常会出现包含全部零的组,因为例如具有低空间频率的块可以导致许多系数为零。
本公开的实施例的一些方面涉及调整编码布置以适应不同的采样格式。例如,在4:2:2色度格式中,色度分量块(例如,YCbCr格式的Cb分量和Cr分量)由于水平子采样而包含亮度(Y)分量块的一半的样本。作为另一示例,在4:2:0色度格式中,色度分量块由于水平子采样和垂直子采样两者而包含亮度(Y)分量块的四分之一的样本数量。
因此,本公开的实施例的一些方面涉及针对4:2:2色度格式和4:2:0色度格式维持相同的解码吞吐量。在一些实施例中,组M的总数和单个值N的数量被计算,使得色度分量的VLB的总数不大于亮度分量的VLB的数量的一半(在4:2:2色度格式的情况下)或四分之一(在4:2:0色度格式的情况下)。例如,参考以上描述的具有总共16个样本的8×2块大小的示例实施例,对于4:2:2内容,亮度样本的数量是16,并且色度样本的数量是8,并且因此,在4:2:2的码流中使用CPEC编码的M的上限对于亮度块是4(16/4=4),并且对于色度块是2(8/4=2)。在4:2:0内容的情况下,亮度样本的数量是16,并且色度样本的数量是4,并且因此4:2:0的码流中的M的上限对于亮度块是4(16/4=4),并且对于色度块是1(4/4=1)。
因此,本公开的实施例的方面涉及用于实施编码方法的系统和方法,其中,以每解码器时钟的符号为单位测量的编码协议的吞吐量是可调整的。本公开的实施例的一些方面涉及通过修改被用于对编码后的码流中的给定块进行编码的可变长度二进制字(VLB)的数量来调整吞吐量。更详细地,假设解码器花费一个完整的时钟周期来解析给定的VLB,并且因此目标解码器吞吐量可以通过将每块的样本的数量除以目标解码器吞吐量以达到每块的VLB的目标数量来实现。然后,VLB的目标数量可以通过使用符号可变长度码(SVLC)对样本中的一些进行编码以及使用其中单个可变长度码由多个样本(该多个样本使用固定长度码(例如,公共前缀熵码或CPEC)编码)共享的码对样本中的一些进行编码来控制。因此,本公开的实施例的方面使得可调整的协议或一类协议满足特定应用的目标解码器吞吐量,从而当在吞吐量与压缩效率之间进行折衷时允许更大的设计灵活性。
虽然已经结合某些示例性实施例描述了本公开,但是将理解,本公开不限于所公开的实施例,而是相反地,旨在覆盖包括在所附权利要求及其等同物的精神和范围内的各种修改和等同布置。

Claims (22)

1.一种用于从包括多个块的编码后的码流解码图像内容的方法,所述方法包括:
由解码器电路将包括所述图像内容的一个或多个分量的块划分为与所述一个或多个分量中的一个相对应的N个单样本和M个样本组,其中,N大于或等于1并且M大于或等于1;
由所述解码器电路使用符号可变长度码对所述N个单样本中的每一个进行解码,以生成一个或多个解码后的单样本;
由所述解码器电路使用公共前缀熵码对所述M个样本组中的每一个进行解码,以生成一个或多个解码后的样本组,所述M个样本组中的每一个包括可变长度前缀和表示多个样本的一个或多个固定长度后缀;
由所述解码器电路将所述解码后的单样本和所述解码后的样本组串接成残差的块;并且
由所述解码器电路基于所述图像内容的先前重建的相邻块和所述残差的块重建所述图像内容。
2.根据权利要求1所述的方法,其中,N和M通过以下方式根据目标解码器吞吐量来设置:
基于所述块的样本的数量和最高可用吞吐量计算M的上限;
基于所述块的样本的所述数量和所述目标解码器吞吐量计算可变长度码的数量;并且
基于可变长度码的所述数量和M的所述上限计算N。
3.根据权利要求1所述的方法,其中,所述块的所述M个样本组中的每一个具有相同数量的固定长度后缀。
4.根据权利要求3所述的方法,其中,所述块以变换跳过块预测模式被预测编码。
5.根据权利要求1所述的方法,其中,所述块的所述M个样本组中的至少两个具有不同数量的固定长度后缀。
6.根据权利要求5所述的方法,其中,所述块以变换模式或以变换跳过块预测模式被预测编码。
7.根据权利要求1所述的方法,其中,所述块包括所述图像内容的多个分量。
8.根据权利要求1所述的方法,其中,所述编码后的码流进一步包括分量跳过标志,所述分量跳过标志指示所述编码后的码流的所述块的对应分量的所述多个样本中的全部都为零。
9.根据权利要求1所述的方法,其中,所述编码后的码流进一步包括组跳过标志,所述组跳过标志指示所述M个样本组中的组的所述多个样本中的全部都为零。
10.一种用于对图像内容进行编码的方法,包括:
由编码器电路将接收到的图像内容划分成一个或多个块,所述一个或多个块中的每一个包括来自所述图像内容的一个或多个分量的多个样本;
由所述编码器电路对每个块进行预测编码,以生成残差的块;
由所述编码器电路将所述残差的块中的每一个分区成N个单样本和M个样本组,其中,N大于或等于1并且M大于或等于1;
由所述编码器电路使用符号可变长度码对所述N个单样本中的每一个进行编码,以生成一个或多个符号可变长度码编码后的样本;
由所述编码器电路使用公共前缀熵码对所述M个样本组中的每一个进行编码,以生成一个或多个公共前缀熵码编码后的样本组,所述M个样本组中的每一个包括可变长度前缀和一个或多个固定长度后缀;并且
由所述编码器电路将所述符号可变长度码编码后的样本和所述公共前缀熵码编码后的样本组进行组合,以输出编码后的码流。
11.根据权利要求10所述的方法,其中,N和M通过以下方式根据目标解码器吞吐量来设置:
基于所述一个或多个块的每块的样本的数量和最高可用吞吐量计算M的上限;
基于每块的样本的所述数量和所述目标解码器吞吐量计算可变长度码的数量;并且
基于可变长度码的所述数量和M的所述上限计算N。
12.根据权利要求10所述的方法,其中,对所述残差的块中的每一个进行分区包括:
使用均匀分区来划分所述残差的块中的至少一个残差的块,其中,所述至少一个残差的块的所述M个样本组中的每一个具有相同数量的固定长度后缀。
13.根据权利要求12所述的方法,其中,所述至少一个残差的块以变换跳过块预测模式被预测编码。
14.根据权利要求10所述的方法,其中,对所述残差的块中的每一个进行分区包括:
使用非均匀分区来划分所述残差的块中的至少一个残差的块,其中,所述至少一个残差的块的所述M个样本组中的至少两个具有不同数量的固定长度后缀。
15.根据权利要求14所述的方法,其中,所述至少一个残差的块以变换模式或以变换跳过块预测模式被预测编码。
16.根据权利要求14所述的方法,其中,每个块包括所述图像内容的多个分量。
17.根据权利要求10所述的方法,其中,所述编码后的码流进一步包括分量跳过标志,所述分量跳过标志指示所述块的至少一个对应分量的所述多个样本中的全部都为零。
18.根据权利要求10所述的方法,其中,所述编码后的码流进一步包括组跳过标志,所述组跳过标志指示所述M个样本组中的组的所述多个样本中的全部都为零。
19.一种用于传输图像内容的系统,包括:
编码器电路,被配置成:
将接收到的包括多个分量的图像内容划分为一个或多个块,所述一个或多个块中的每一个包括来自所述多个分量中的一个的多个样本;
对每个块进行预测编码,以生成预测编码后的块;
将所述预测编码后的块中的每一个分区成N个单样本和M个样本组,其中,N大于或等于1并且M大于或等于1;
使用符号可变长度码对所述N个单样本中的每一个进行编码,以生成一个或多个符号可变长度码编码后的样本;
使用公共前缀熵码对所述M个样本组中的每一个进行编码,以生成一个或多个公共前缀熵码编码后的样本组,所述M个样本组中的每一个包括可变长度前缀和一个或多个固定长度后缀;并且
将所述符号可变长度码编码后的样本和所述公共前缀熵码编码后的样本组进行组合,以输出编码后的码流;以及
解码器电路,被配置成:
从所述编码器电路接收所述编码后的码流;
将所述编码后的码流的块划分为所述N个单样本和所述M个样本组;
使用所述符号可变长度码对所述N个单样本中的每一个进行解码,以生成一个或多个解码后的单样本;
使用所述公共前缀熵码对所述M个样本组中的每一个进行解码,以生成一个或多个解码后的样本组;
从所述解码后的单样本和所述解码后的样本组重建所述预测编码后的块;
应用预测编码以对所述预测编码后的块进行解码;并且
从被解码的预测编码后的块解码所述图像内容。
20.根据权利要求19所述的系统,其中,N和M通过以下方式根据目标解码器吞吐量来设置:
基于所述块的样本的数量和最高可用吞吐量计算M的上限;
基于所述块的样本的所述数量和所述目标解码器吞吐量计算可变长度码的数量;并且
基于可变长度码的所述数量和M的所述上限计算N。
21.根据权利要求20所述的系统,其中,所述编码器电路被进一步配置成:
检测所述编码器电路和所述解码器电路中的至少一个正在其中操作的通信环境的一个或多个因素;并且
基于所述一个或多个因素动态地更新N和M的值。
22.根据权利要求21所述的系统,其中,所述一个或多个因素包括以下项中的一个或多个:电力、处理器能力、所述解码器电路中的并行工作的解码器的数量、内部带宽、所述解码器电路的温度状况以及所述编码器电路与所述解码器电路之间的物理介质中的噪声。
CN202110043153.4A 2020-01-13 2021-01-13 对图像内容进行编码和解码的方法及传输图像内容的系统 Pending CN113115049A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202062960517P 2020-01-13 2020-01-13
US62/960,517 2020-01-13
US16/835,092 2020-03-30
US16/835,092 US11468601B2 (en) 2020-01-13 2020-03-30 Systems and methods for scalable throughput entropy coder

Publications (1)

Publication Number Publication Date
CN113115049A true CN113115049A (zh) 2021-07-13

Family

ID=74104004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110043153.4A Pending CN113115049A (zh) 2020-01-13 2021-01-13 对图像内容进行编码和解码的方法及传输图像内容的系统

Country Status (6)

Country Link
US (3) US11468601B2 (zh)
EP (1) EP3849185A1 (zh)
JP (1) JP2021111975A (zh)
KR (1) KR20210091657A (zh)
CN (1) CN113115049A (zh)
TW (1) TW202135527A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230403415A1 (en) * 2022-06-13 2023-12-14 Advanced Micro Devices, Inc Adaptive Decoder-Driven Encoder Reconfiguration

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5381145A (en) 1993-02-10 1995-01-10 Ricoh Corporation Method and apparatus for parallel decoding and encoding of data
WO2011002914A1 (en) 2009-06-30 2011-01-06 Massachusetts Institute Of Technology System and method for providing high throughput entropy coding using syntax element partitioning
EP3349360B1 (en) 2011-01-14 2019-09-04 GE Video Compression, LLC Entropy encoding and decoding scheme
CN107517384B (zh) 2011-06-16 2020-06-30 Ge视频压缩有限责任公司 解码器、编码器、解码方法、编码方法以及存储介质
US8885706B2 (en) 2011-09-16 2014-11-11 Google Inc. Apparatus and methodology for a video codec system with noise reduction capability
US9503717B2 (en) 2012-01-09 2016-11-22 Texas Instruments Incorporated Context adaptive binary arithmetic coding (CABAC) with scalable throughput and coding efficiency
US9191670B2 (en) 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
US9743116B2 (en) 2012-01-19 2017-08-22 Huawei Technologies Co., Ltd. High throughput coding for CABAC in HEVC
US9571858B2 (en) 2013-07-19 2017-02-14 Futurewei Technologies, Inc. Method and apparatus of derivation for a binary partition pattern
US10743032B2 (en) * 2017-05-24 2020-08-11 Qualcomm Incorporated Substream multiplexing for display stream compression

Also Published As

Publication number Publication date
US11715239B2 (en) 2023-08-01
US20230008330A1 (en) 2023-01-12
US20210217199A1 (en) 2021-07-15
KR20210091657A (ko) 2021-07-22
US11468601B2 (en) 2022-10-11
EP3849185A1 (en) 2021-07-14
TW202135527A (zh) 2021-09-16
JP2021111975A (ja) 2021-08-02
US20230326087A1 (en) 2023-10-12

Similar Documents

Publication Publication Date Title
US9299166B2 (en) Image compression method and apparatus for bandwidth saving
TWI685245B (zh) 資料編碼及解碼
WO2020253828A1 (zh) 一种编解码方法、装置及存储介质
US8867614B2 (en) Image coding method and image decoding method
TW201725905A (zh) 用於非4:4:4色度子採樣之顯示串流壓縮(dsc)之熵寫碼技術
JP2022510145A (ja) しきい値とライスパラメータとを使用した係数復号のための正規コード化ビン低減
EP3709657A1 (en) Reducing the number of regular coded bins
JP2022516132A (ja) 係数レベルのためのエスケープコーディング
JP3990464B2 (ja) ディジタルビデオ信号プロセッサのためのデータ効率のよい量子化テーブル
CN101180886A (zh) 利用预估值的修正进行压缩和解压缩
US20230326087A1 (en) Systems and methods for scalable throughput entropy coders
TWI705693B (zh) 用於顯示串流壓縮之基於向量之熵寫碼的裝置及方法
TWI815936B (zh) 在顯示介面壓縮技術中形成熵編碼組的方法和系統
US10992937B2 (en) Coefficient coding with grouped bypass bins
CN110708547B (zh) 针对变换模式的有效熵编码组分组方法
KR20100013142A (ko) 프레임 메모리 압축방법
EP4307662A1 (en) Video coding and decoding method and system, and video coder and video decoder
US20240137555A1 (en) Block Vector Difference (BVD) Coding
WO2024044207A1 (en) Magnitude prediction with candidate pruning
GB2496193A (en) Context adaptive data encoding and decoding

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