CN101243611B - 变换块的高效编码和解码 - Google Patents

变换块的高效编码和解码 Download PDF

Info

Publication number
CN101243611B
CN101243611B CN2006800293097A CN200680029309A CN101243611B CN 101243611 B CN101243611 B CN 101243611B CN 2006800293097 A CN2006800293097 A CN 2006800293097A CN 200680029309 A CN200680029309 A CN 200680029309A CN 101243611 B CN101243611 B CN 101243611B
Authority
CN
China
Prior art keywords
code element
zero
coefficient
stroke
conversion coefficient
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.)
Active
Application number
CN2006800293097A
Other languages
English (en)
Other versions
CN101243611A (zh
Inventor
S·斯里尼瓦杉
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN101243611A publication Critical patent/CN101243611A/zh
Application granted granted Critical
Publication of CN101243611B publication Critical patent/CN101243611B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/02Conversion to or from weighted codes, i.e. the weight given to a digit depending on the position of the digit within the block or code word
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/46Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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/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
    • 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/93Run-length coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)

Abstract

一种基于块变换的数字媒体编解码器通过对非零系数以及后续的零值系数行程进行联合编码来更高效地编码变换系数。当非零系数是其块中的最后一个时,在该系数的码元中用最后指示符来替代行程值。在将非零系数与初始和后续零行程联合编码的特殊码元中指示初始非零系数。该编解码器通过识别非零系数行程中的间断并在这一间断的任一侧上单独编码非零系数来允许多个编码上下文。该编解码器还通过在每一码元中指示非零系数是否具有大于1的绝对值以及零行程是否具有正值来减小码表大小,并在码元外部单独编码系数水平和行程长度。

Description

变换块的高效编码和解码
技术领域
本申请涉及变换块的高效编码和解码。
背景技术
基于块变换的编码
变换编码是在许多音频、图像和视频压缩系统中使用的一种压缩技术。未压缩数字图像和视频通常被表示或捕捉为以二维(2D)网格排列的图像或视频帧中各位置处的图元或色彩的样本。这被称为图像或视频的空间域表示。例如,用于图像的典型格式由被排列为网格的24位彩色图元流构成。每一样本是表示诸如RGB或YIQ等色彩空间内该网格中的一个像素位置处的色彩分量的数字。各种图像和视频系统可使用各种不同的色彩、空间和时间分辨率的采样。类似地,数字音频通常被表示为时间采样的音频信号流。例如,典型的音频格式由在有规律的时间间隔处所取的16位音频信号幅度样本流构成。
未压缩数字音频、图像和视频信号可消耗大量的存储和传输能力。变换编码通过将信号的空间域表示变换成频域(或其它类似的变换域)表示,然后降低该变换域表示的某些一般较不可感知的频率分量的分辨率,减小了数字音频、图像和视频的大小。这一般与降低空间域中的图像或视频或时域中的音频的色彩或空间分辨率相比,产生了较不可感知的数字信号劣化。
更具体而言,图1所示的典型的基于块变换的编解码器100将未压缩的数字图像的像素划分成固定大小的二维块(X1,...Xn),每一块可能与其它块重叠。对每一块应用进行空间-频率分析的线性变换120-121,这将块内彼此隔开的样本转换成一般表示块间隔上相应的频带内的数字信号的强度的一组频率(或变换)系数。作为比较,变换系数可被选择性地量化130(即,诸如通过丢弃系数值的最低有效位或将较高分辨率数字集中的值映射到较低分辨率来降低分辨率),并且还被熵或可变长度编码130成压缩的数据流。在解码时,变换系数进行反变换170-171以便几乎重构原始的色彩/空间采样图像/视频信号(重构块)。
块变换120-121可被定义为对大小为N的向量x的数学运算。最通常的是,该运算是线性乘法,从而产生变换域输出y=Mx,M是变换矩阵。当输入数据是任意长时,它被分段成大小为N的向量,并且向每一段应用块变换。出于数据压缩的目的,选择可逆块变换。换言之,矩阵M是可逆的。在多个维度中(例如,对于图像和视频),块变换通常被实现为可分操作。沿数据的每一维(即,行和列)可分地应用矩阵乘法。
对于压缩,变换系数(向量y的分量)可被选择性地量化(即,诸如通过丢弃系数值的最低有效位或将较高分辨率数字集中的值映射到较低分辨率来降低分辨率),并还可被熵或可变长度编码为压缩的数据流。
在解码器150中解码时,如图1所示,在解码器150侧应用这些操作的反过程(反量化/熵解码160和反块变换170-171)。在重构数据时,将逆矩阵M1(反变换170-171)作为乘数应用于变换域数据。当应用于变换域数据时,反变换几乎重构原始时域或空间域数字媒体。
在许多基于块变换达到编码应用中,变换理想地是可逆的以取决于量化因子同时支持有损和无损压缩两者。如果例如没有量化(一般被表示为量化因子1),则利用可逆变换的编解码器可在解码时精确地再现输入数据。然而,这些应用中的可逆性的要求约束了对用于设计编解码器的变换的选择。
诸如MPEG和Windows Media等许多图像和视频压缩系统利用基于离散余弦变换(DCT)的变换。已知DCT具有得到近乎最优的数据压缩的良好能量压缩特性。在这些压缩系统中,在压缩系统的编码器和解码器两者中的重构环路中采用了反DCT(IDCT)来重构各个图像块。
宽范围变换系数的熵编码
宽动态范围输入数据导致在编码图像的过程中生成甚至更宽动态范围的变换系数。例如,由N×N DCT运算生成的变换系数具有比原始数据的动态范围大N倍的动态范围。采用较小或单位量化因子(用于实现低损或无损压缩),经量化的变换系数的范围也很大。在统计上,这些系数具有如图2和3所示的拉普拉斯分布。图2示出了对于宽动态范围系数的拉普拉斯分布。图3示出了对于典型的窄动态范围系数的拉普拉斯分布。
对于小动态范围的输入数据(通常为8位)以及相对较大的量化因子(quantizer)(诸如大于等于4的数值)来调整常规的变换编码。因此,图3代表了在这一常规的变换编码中的变换系数的分布。此外,用于这种常规变换编码的熵编码可以是行程水平(run-level)编码的一种变体,其中将一系列的零与一非零码元一起编码。这可以是表示零(以高概率出现)的行程以及捕捉码元间相关的有效手段。
另一方面,常规的变换编码较不适用于压缩诸如图2所示的宽动态范围分布。尽管码元为零的概率要比任何其它值高得多(即,分布峰值为零),但是系数精确地为零的概率对于宽动态范围分布是微乎其微的。因此,零不会经常出现,并且基于连续的非零系数之间的零的个数的行程长度熵编码技术对于宽动态范围输入数据是非常低效的。
宽动态范围分布与窄范围分布相比还具有增加的码元字母表。由于这一增加的码元字母表,用于编码码元的熵表必须很大。否则,许多码元将最终被遗漏而未被编码,这是低效的。更大的表需要更多存储器,并且还会导致更高的复杂度。
因此,常规的变换编码缺少通用性-对于具有窄动态范围分布的输入数据能起很好的作用,但对宽动态范围分布却不如此。
然而,在窄范围数据上,找到对经量化的变换系数的高效熵编码是一个关键过程。可在这一步中得到的任何性能增益(压缩效率和编码/解码速度两方面的增益)转换成总体质量增益。
不同的熵编码方案按照其成功地利用这些完全不同的效率准则的能力而被标记为:对上下文信息的使用、较高压缩(诸如算术编码)、较低计算要求(诸如哈夫曼(Huffman)编码技术中找到的)、以及使用一组简明的码表来最小化编码器/解码器存储器开销。不满足所有这些特征的常规熵编码方法没有展示出编码变换系数的全面效率。
发明内容
本发明提供一种编码表示数字媒体数据的变换系数系列的方法,包括:将所述变换系数系列表示为一码元系列,其中每一码元包括来自所述变换系数系列的非零系数的指示以及后续的零值系数行程的长度的指示,所述码元系列中的第一个码元另外包括在所述变换系数系列中的第一个非零系数之前的零值系数行程的长度的指示;对于所述码元系列中的每一码元,发送所述码元以便在压缩比特流中编码;以及其中所述变换系数系列中的最后一个非零系数由一码元来表示,其中所述后续的零值系数行程的长度的指示包括所述系数是所述最后一个非零系数的指示符。
本发明提供一种数字媒体解码器,包括:用于储存已编码的数字媒体数据的数据存储缓冲器;以及处理器,它被配置成:接收描述一变换系数系列的一组压缩码元;解压所述码元;以及通过分析所述一组解压缩码元来重构所述变换系数系列;并且其中:所述一组压缩码元包括从根据一上下文模型的一组码表编码的联合编码码元;每一联合编码码元描述了来自所述变换系数系列的非零水平,以及在所述非零水平之后是否有零值系数。
本发明提供一种用于解码压缩数字媒体数据的方法,所述方法包括:接收包括从根据一上下文模型的一组码表编码的压缩的联合编码码元的比特流;解码所述联合编码码元以对每一码元确定变换系数水平和后续变换系数零的行程;以及从所确定的水平和变换系数零的行程来重构一组变换系数。
此处描述的数字媒体编解码器中的数字媒体编码和解码技术以及该技术的实现获得了变换系数的更高效压缩。例如,此处所示的一种示例性基于块变换的数字媒体编解码器通过对非零系数以及后续的零值系数的行程进行联合编码来更高效地编码变换系数。当非零系数是其块中的最后一个系数时,对该系数,用一最后指示符来代替码元中的行程值。初始非零系数在将非零系数与初始和后续的零行程联合编码的特殊码元中指示。
该示例性编解码器通过识别非零系数的行程中的间断并在这一间断的任一侧上单独地对非零系数编码而允许多个编码上下文。通过基于内部、中间和外部变换的上下文切换、以及基于变换是对应于亮度还是色度通道的上下文切换,来提供附加上下文。这允许码表具有较小的熵,而无需创建如此多的上下文从而使其有用性减弱。
该示例性编解码器还通过在每一码元中指示非零系数是否具有大于1的绝对值以及零的行程是否具有正值来减小码表大小,并对码元外的系数的水平和行程的长度单独编码。该编解码器可对这些单独编码的行程和水平充分利用上下文切换。
可组合或单独使用各种技术和系统。
提供本概述以用简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
参考附图阅读以下实施例的详细描述,将清楚其它特征和优点。
附图说明
图1是现有技术中常规的基于块变换的编解码器的框图。
图2是示出具有宽动态范围的变换系数的分布的直方图。
图3是示出窄范围系数的分布的直方图。
图4是包含宽范围系数的自适应编码的代表性编码器的流程图。
图5是包含自适应地编码的宽范围系数的解码的代表性解码器的流程图。
图6是示出诸如图4的编码器等宽范围系数的自适应编码中变换系数的分组和分层的流程图。
图7是示出图4的编码器所执行的对槽中选择的变换系数分组进行变换系数编码的过程的流程图。
图8是示出图5的解码器所执行的对经由图7的过程编码的变换系数进行重构的过程的流程图。
图9是示出用于自适应地改变图6的分组以产生对系数的熵编码的更优化分布的自适应过程的流程图。
图10和11是图9的自适应过程的伪代码清单。
图12示出了现有技术中的已编码变换系数的示例。
图13示出了根据此处所描述的编码技术编码的变换系数的一个示例。
图14是示出由图4的编码器执行的对变换系数进行编码的过程的流程图。
图15示出了用于根据此处所描述的技术对变换系数进行编码的不同码表上下文的示例。
图16是示出由图4的编码器执行的确定在编码变换系数时要使用的编码上下文的过程的流程图。
图17示出了根据此处所描述的技术编码的精简的变换系数的示例。
图18是示出由图4的编码器执行的编码和发送精简形式的初始变换系数的过程的流程图。
图19是示出由图4的编码器执行的编码和发送精简形式的后续系数的过程的流程图。
图20是示出由图5的解码器执行的解码已编码变换系数的过程的流程图。
图21是示出由图5的解码器执行的填充来自己解码码元的变换系数的过程的流程图。
图22是用于实现图6的宽范围系数的自适应编码的合适的计算环境的框图。
具体实施方式
以下描述涉及针对宽范围变换系数的更高效熵编码、以及一般的变换系数的更高效熵编码进行自适应地调整的编码和解码技术。以下描述在数字媒体压缩系统或编解码器的上下文中描述了该技术的一个示例实现。该数字媒体系统以压缩形式对数字媒体数据进行编码以便传输或存储,并解码该数据以供回放或其它处理。出于说明的目的,包含这一宽范围系数的自适应编码的该示例性压缩系统是图像或视频压缩系统。或者,该技术也可被结合到用于其它2D数据的压缩系统或编解码器中。宽范围系数自适应编码技术不要求数字媒体压缩系统以特定的编码格式来编码压缩的数字媒体数据。
1.编码器/解码器
图4和5是在代表性2维(2D)数据编码器400和解码器500中采用的过程的一般化图示。该图呈现了结合了实现宽范围系数自适应编码的2D数据编码器和解码器的压缩系统的一般化或简化的图示。在使用宽范围系数自适应编码的替换压缩系统中,可使用比本代表性编码器和解码器中所示的更多或更少的过程来进行2D数据压缩。例如,某些编码器/解码器还可包括色彩转换、色彩格式、可缩放编码、无损编码、宏块模式等等。取决于量化,压缩系统(编码器和解码器)可提供2D数据的无损和/或有损压缩,量化可基于从无损到有损变化的量化参数。
2D数据编码器400产生压缩比特流420,它是作为输入提供给编码器的2D数据410的更紧凑表示(对于典型输入)。例如,2D数据输入可以是图像、视频序列的一帧、或具有两个维度的其它数据。2D数据编码器将输入数据块化(tile)430成宏块,在本代表性编码器中,宏块的大小为16×16像素。2D数据编码器还将每一宏块块化为4×4的块。对块之间的每一边缘应用“前向重叠”算子440,之后使用块变换450来变换每一4×4的块。该块变换450可以是由Srinivasan在2004年12月17日提交的题为“Reversible Transform For Lossy And Lossless 2-DData Compression”(用于有损和无损2D数据压缩的可逆变换)的美国专利申请第11/015,707号中所描述的可逆的、无缩放的2D变换。重叠算子440可以是由Tu等人在2004年12月17日提交的题为“Reversible Overlap Operator for EfficientLossless Data Compression”(用于高效无损数据压缩的可逆重叠算子)的美国专利申请第11/015,148号;以及Tu等人在2005年1月14日提交的题为“Reversible2-Dimensional Pre-/Post-Filter for Lapped Biorthogonal Transform”(用于重叠双正交变换的可逆2维预/后滤波器)的美国专利申请第11/035,991号中描述的可逆重叠算子。或者,可使用离散余弦变换或其它块变换和重叠算子。在变换之后,令每一4×4的变换块的DC系数460经受一类似的处理链(块化、前向重叠、之后是4×4的块变换)。所得的DC变换系数和AC变换系数被量化470、熵编码480和分组化490。
解码器执行反过程。在解码器侧,从其各自的分组中提取510变换系数位,从中系数本身被解码520和解量化530。DC系数540通过应用反变换来重新生成,并且DC系数的平面使用跨DC块边缘应用的合适的平滑算子来“反重叠”。随后,通过向DC系数应用4×4的反变换550来重新生成整个数据,并从比特流中解码AC系数542。最后,对所得图像平面中的块边缘进行反重叠滤波560。这产生经重构的2D数据输出。
在一个示例性实现中,编码器400(图4)将输入图像压缩成压缩比特流420(例如,文件),而解码器500(图5)基于是采用无损还是有损编码来重构原始输入或其近似。编码过程涉及应用以下所讨论的前向重叠变换(LT),这是用同样在以下更全面描述的可逆2维预/后滤波来实现的。解码过程涉及应用使用可逆2维预/后滤波的反重叠变换(ILT)。
所示的LT和ILT在确切的意义上是彼此的反过程,并且因此可被统称为可逆重叠变换。作为一种可逆变换,LT/ILT对可用于无损图像压缩。
由所示的编码器400/解码器500压缩的输入数据410可以是各种色彩格式(例如,RGB/YUV 4:4:4、YUV 4:2:2或YUV 4:2:0彩色图像格式)的图像。通常,输入图像总是具有亮度(Y)分量。如果它是RGB/YUV 4:4:4、YUV 4:2:2或YUV 4:2:0图像,则该图像还具有色度分量,诸如U分量和V分量。图像的这些单独的色彩平面或分量可具有不同的空间分辨率。在例如YUV 4:2:0色彩格式的输入图像的情况下,U和V分量具有Y分量一半的宽度和高度。
如上所述,编码器400将输入图像或图片块化成宏块。在一个示例性实现中,编码器400将输入图像块化成Y通道中的16×16的宏块(取决于色彩格式,可以是U和V通道中的16×16、16×8或8×8区域)。每一宏块色彩平面被块化成4×4的区域或块。因此,宏块按以下对于本示例性编码器实现的方式由各种色彩格式组成:
1.对于灰度图像,每一宏块包含16个4×4的亮度(Y)块。
2.对于YUV 4:2:0格式彩色图像,每一宏块包含16个4×4的Y块,并且4个各自为4×4的色度(U和V)块。
3.对于YUV 4:2:2格式彩色图像,每一宏块包含16个4×4的Y块,以及8个各自为4×4的色度(U和V)块。
4.对于RGB或YUV 4:4:4彩色图像,每一宏块对Y、U和V通道中的每一个包含16个块。
2.宽范围系数的自适应编码
在宽动态范围数据的情况下,尤其是解相关的变换数据(诸如图4的编码器中的系数460、462),大量的较低顺序位是不可预测且是“有噪声的”。换言之,在较低顺序位中没有太多可用于高效熵编码的相关。位具有较高的熵,大约对每一编码的位有1位的熵。
2.1分组
此外,图3所示的宽范围变换系数的拉普拉斯概率分布函数由下式给出:
λ 2 e - λ | x |
(为方便起见,对应于变换系数的随机变量作为连续值来对待)。对于宽动态范围数据,λ较小,并且绝对均值1/λ较大。这一分布的斜率被界定在±1/2(λ2)内,这是非常小的。这意味着对于较小的位移ξ,变换系数等于x的概率非常接近等于x+ξ的概率。在离散域中,这转换成断言“变换系数具有相邻值j和(j+1)的概率几乎相同。”
现在参考图6,宽范围系数自适应编码将字母表的连续码元分组610成N个码元的“槽”(bin)。每一槽的码元数可以是任何数目N。然而,为实用性起见,数目N理想地是2的幂(即,N=2k),使得一个槽内的系数的索引或地址可被高效地编码为一固定长度码。例如,码元可被分组成对,使得一码元可被标识为该对的索引以及该对内码元的索引。
该分组具有这样的好处:采用对N的适当选择,对宽范围系数的槽索引的概率分布更精确地类似例如图3所示的窄范围数据的概率分布。分组在数学上类似于量化操作。这意味着槽索引可使用对具有窄范围概率分布的数据能起最好作用的可变长度熵编码技术来高效地编码。
基于将系数分组成槽,编码器然后可使用其槽的索引(此处也称为归一化系数620)及其在槽内的地址(此处也称为槽地址625)来对变换系数615进行编码。归一化系数是使用可变长度熵编码来编码的,而槽地址是借助固定长度码来编码的。
对N(或等效地,用于槽地址的固定长度编码的位数k)的选择确定了分组的粒度。一般而言,变换系数的范围越宽,应选择越大的k值。当仔细选择k时,归一化系数Y有很高的概率为零,这匹配用于Y的熵编码方案。
如下所述,值k可在编码器和解码器中自适应地变化(以后向自适应方式)。更具体地,编码器和解码器中的k的值仅基于先前编码/解码的数据来变化。
在图7所示的这一编码的一个特定示例中,编码器如下对变换系数X进行编码。对于初始动作710,编码器计算用于变换系数的归一化系数Y。在此示例实现中,对于槽大小的特定选择N=2k,归一化系数Y被定义为Y=sign(X)*floor(abs(X)/N)。编码器使用熵码单独地或与其它码元联合地对码元Y进行编码(动作720)。接着,在动作730处,编码器确定变换系数X的槽地址(Z)。在此示例实现中,槽地址是abs(X)除以槽大小N的整数除法的余数,即Z=abs(X)%N。编码器在动作740处将该值编码为k位的固定长度码。此外,在非零变换系数的情况下,编码器也对符号进行编码。更具体地,如动作750-760中所指示的,编码器在归一化系数为非零时对归一化系数(Y)的符号进行编码。此外,在归一化系数为零且变换系数非零的情况下,编码器对变换系数(X)的符号进行编码。由于归一化系数是使用可变长度熵码来编码的,因此此处它也被称为可变长度部分,并且槽地址(Z)也被称为固定长度部分。在其它替换实现中,用于变换系数的归一化系数、槽地址和符号的数学定义可以不同。
继续此示例,图8示出了解码器500(图5)执行的重构通过过程700(图7)编码的变换系数的示例过程800。在动作810处,解码器单独地或结合如在块编码过程中定义的其它码元从压缩比特流420(图5)中解码归一化系数(Y)。解码器还在动作820处从压缩比特流中读取用于槽地址和符号(当被编码时)的k位码字。在动作830到870处,解码器然后如下重构变换系数:
1.当Y>0(动作830),则将变换系数重构为X=Y*N+Z(动作(831))。
2.当Y<0(动作840),则将变换系数重构为X=Y*N-Z(动作841)。
3.当Y=0且Z=0(动作850),则将变换系数重构为X=0(动作851)。
4.当Y=0且Z≠0,则解码器从压缩比特流中进一步读取编码的符号(S)(动作860)。如果符号为正(S=0)(动作870),则将变换系数重构为X=Z(动作871)。否则,如果符号为负(S=1),则将变换系数重构为X=-Z(动作872)。
2.2分层
再次参考图6,编码器和解码器理想地提取出固定长度编码的槽地址625和符号到压缩比特流420(图4)中的单独编码的层(此处称为“灵活位(Flexbits)”层645)中。归一化系数620在核心比特流640的一层中编码。这允许编码器和/或解码器具有按需降低编码的这一灵活位部分的等级或完全丢弃这一部分以满足比特率或其它约束的选择。即使编码器完全丢弃该灵活位层,压缩比特流仍解码,然而是以降级的质量来解码的。解码器仍可单独从归一化系数部分来重构该信号。这实际上类似于在编码器中应用更大程度的量化470(图4)。将槽地址和符号编码为单独的灵活位层还具有这样的潜在好处:在某些编码器/解码器实现中,可向该层中的数据应用进一步的可变长度熵编码(例如,算术编码、Lempel-Aiv、Burrows-Wheeler等)以得到进一步改善的压缩。
对于分层,包含灵活位部分的压缩比特流的各部分用单独的层报头或比特流中的其它指示来表示,使得解码器可从核心比特流640中标识并分离(即,解析)出灵活位层645(当未被省略时)。
分层对后向自适应分组(下节中描述)的设计提出了进一步的挑战。由于灵活位层可以在给定比特流中存在或缺乏,因此后向自适应分组模型不能可靠地指示灵活位层中的任何信息。确定固定长度码位数k(对应于槽大小N=2k)所需的所有信息应驻留在因果的核心比特流中。
2.3自适应
编码器和解码器还提供了一后向自适应过程,以在编码和解码期间自适应地调整固定长度码位数k以及相应的上述分组的槽大小N的选择。在一个实现中,该自适应过程可基于将变换系数建模为拉普拉斯分布,使得k的值从拉普拉斯参数λ中导出。然而,这一复杂模型要求解码器在对将来的块建模分布之前执行图6中的分组610的反过程(从核心比特流640中的归一化系数以及灵活位层645中的槽地址/符号重构变换系数)。这一要求将违反解码器应允许从压缩比特流420中丢弃灵活位层的分层约束。
在图9所示的示例实现中,自适应过程900改为基于当约四分之一的系数为非零时获得变换系数的更优化的行程长度编码的观察结果。由此,可用于针对其中大约四分之三的归一化系数为零的“最佳点(sweet spot)”情形来调整分组的自适应参数将提供良好的熵编码性能。因此,块中的非零归一化系数的个数将用作该示例实现中的自适应参数。该自适应参数具有仅依赖于包含在核心比特流中的信息的优点,这满足了变换系数仍可在省略灵活位层的情况下解码的分层约束。该过程在当编码/解码当前块时应用的自适应模型基于来自先前的块的信息的意义上是后向自适应的。
在其自适应过程中,示例编码器/解码器在后向自适应的基础上执行自适应。即,自适应的当前迭代基于先前在编码或解码过程,诸如在前一块或宏块中看到的信息。在示例编码器和解码器中,对给定变换频带,自适应更新对于每一宏块发生一次,这旨在最小化等待时间和交叉依赖性。替换编解码器实现可用不同的间隔,诸如在每一变换块之后执行自适应。
在示例编码器和解码器中,自适应过程900更新值k。如果非零归一化系数的个数太大,则增加k使得该数字在将来的块中趋向于丢弃。如果非零归一化系数的个数太小,则减小k,期望将来的块然后将因槽大小n较小而产生更多非零归一化系数。该示例自适应过程将值k约束在一组数字{0,1,16}内,但是替换实现可对k使用其它值范围。在每次自适应更新时,编码器和解码器或者对k递增,或者对k递减,或者使k保持不变。示例编码器和解码器将k递增或递减1,但是替换实现可使用其它步长。
示例编码器和解码器中的自适应过程900还使用内部模型参数或状态变量(M)来控制具有滞后效果的对分组参数k的更新。该模型参数提供了更新分组参数k之前的滞后,以避免导致分组参数的迅速波动。示例自适应过程中的模型参数具有从-8到8的17个整数步长。
现在参考图9,示例自适应过程900如下进行。本示例自适应过程在图10和11中的伪代码清单中进一步详述。如动作910、990处所指示的,示例编码器和解码器中的自适应过程对在压缩比特流中表示的每一变换频带,包括亮度频带和色度频带、AC和DC系数单独执行。替换编解码器可在变换频带的数目上不同,并且还可向变换频带单独或联合地应用自适应。
在动作920处,该自适应过程然后对前一编码/解码的宏块内的变换频带的非零归一化系数的个数进行计数。在动作930处,将该原始计数归一化以反映常规大小区域中非零系数的整数化个数。该自适应过程然后计算计数与期望模型(即,四分之一的系数为非零的“最佳点”)的偏差(动作940)。例如,图4中所示的示例编码器中的AC系数宏块具有240个系数。因此,期望模型是240个系数中的70个为非零。该偏差被进一步缩放、阈值化并用于更新内部模型参数。
在接下来的动作960、965、970、975处,该自适应过程然后根据内部模型参数的任何变换来对值k进行自适应。如果模型参数小于一负阈值,则递减k值(在其允许的界限内)。该自适应应当产生更多非零系数。另一方面,如果模型参数超过一正阈值,则递增值k(在其允许的界限内)。这一自适应应当产生更少的非零系数。否则,保持值k不变。
再一次,如动作910、980处所指示的,对数据的每一通道和每一子带单独重复该自适应过程,诸如对色度和亮度通道单独重复。
示例自适应过程900在图10和11所示的伪代码清单中进一步详述。
3.高效熵编码
3.1现有技术方法
在各种编码标准中,变换块的编码过程被精简到对一系数串的编码。这一串的一个示例在图12中作为变换系数示例1200给出。在示例1200中,系数C0、C1、C2、C3和C4表示四个非零系数值(要么为正要么为负),而该系列中的其它系数具有零值。
某些属性传统上适用于这一变换系数串:
·系数总数通常是确定的,并且由变换大小给出。
·概率上,大量系数为零。
·至少一个系数非零。在所有系数为零的情况下,该情况通常通过已编码的块模式来表示,如在Srinivasan于2005年8月12日提交的题为“Non-Zero Coefficient Block Pattem Coding”(非零系数块模式编码)的美国申请(待定)中所描述的。
·概率上,非零和较大值的系数在串的开头出现,而零和较小值的系数在接近末尾处出现。
·非零系数取整数值,具有已知的最小/最大值。
各种编码技术利用了通常相当频繁出现的零值系数可用行程长度码来编码的这一事实。然而,当所编码的输入图像为高动态范围数据(例如,大于8位)时,或当量化参数是单位或较小时,较少的变换系数为零,如上所述。在这一情形中,以上描述的自适应编码和解码技术可用于调节数据,使得经调节的数据具有这些特性。其它技术通过诸如设置高量化水平等其它手段也可产生类似于变换系数示例1200的变换系数集。
图12还示出了对诸如变换系数示例1200等变换系数进行编码的两种方法。这些方法利用了对零行程以及后续的非零系数一起联合编码来提供编码益处。2D编码示例1220示出了一种用于这一行程水平编码方案的技术。如示例1220所示,在2D编码中,零值系数的行程(该行程要么长度为零,要么为正的长度)与变换系数序列中后续的非零系数一起编码成码元1225;在所示的情况中,码元<0,C0>指示在非零系数C0前面没有零。称为“块结束”,即EOB的特殊码元1235用于表示最后一个零行程。这通常被称为2D编码,因为每一码元对行程(零值系数的行程)和水平(非零系数值)进行联合编码,并且因此具有两个值,且可被认为是对变换系数数据的两个维度进行编码。这些码元然后可使用哈夫曼码或算术编码来进行熵编码并被发送到图4的压缩比特流420。
另一替换编码方案是3D编码,其一个示例在示例1240中示出。在3D编码中,如2D编码中一样,零的行程通常与后续的非零系数一起联合编码。此外,对指示该非零系数是否是块中的最后一个非零系数的布尔数据元素“最后”进行编码。码元1245因此对行程、水平和最后进行联合编码;在所示的情况中,码元<2,C1,非最后>指示在非零系数C1前有两个零,并且这不是该系列中的最后一个非零系数。由于这些元素中的每一个可自由地取所有值,因此码元对三个独立的维度进行编码,从而使其命名为“3D编码”。
这些技术中的每一种都具有独立的优点。2D编码技术中的每一码元具有比3D编码中使用的码元小的熵,因为前者传达的信息比后者少。由此,给定3D编码方案中的可能码元数将是相应2D编码方案的两倍。这增大了码表大小,并且可减慢对于3D编码方案的编码和解码。然而,在2D编码中,发送一附加码元来表示块结束,并且需要发送整个附加码元从比特流大小的观点来看是昂贵的。实际上,在实践中,3D编码比2D编码更高效,尽管其码表大小更大。
3.2
Figure GSB00000128171600131
编码
尽管图12所示的现有技术利用了非零系数水平以及前导的零行程的联合编码,但是可以证明,非零系数之后的零行程显示出与非零系数的幅值的强相关。这一特性暗示了利用对水平和后续行程的联合编码。
图13示出了一种这样的替换编码技术,它改善了图12概述的2D和3D技术。图13示出了利用对后续零行程进行编码以创建用于示例变换系数系列1300的码元的理念的编码方案。图13示出系数被联合编码成码元1355,该码元包含非零系数值以及在非零系数之后的零行程(如果存在任何零行程)的长度作为一对:<水平,行程>。因此,所示的码元<C1,4>对非零系数C1以及它之后的四个零值系数进行了联合编码。
除了利用非零系数和后续零的行程之间的强相关之外,该方法还通过利用一特殊行程值来表示非零系数是该系列中的最后一个,在非零系数是块中的最后一个非零系数时提供了进一步的优点。由此,在对码元进行联合编码时,所发送的信息是水平值以及要么指示零行程的长度,要么指示“最后”值的另一值。这在图13中由码元1365<C4,最后>来示出,该码元包括一水平值以及“最后”值而非行程长度。由于这些不同情形在码元中的同一处编码,因此行程和“最后”不是独立的;每一码元仅发送其中的一个。由此,码元的维度既不是2也不是3,而是两者之间的某一维。将此编码称为“编码”。
Figure GSB00000128171600142
编码的这一特征不必是组合水平和后续行程的联合编码方案所必需的;在替换实现中,发送的最后码元简单地对最后的零行程的长度进行编码,然而这可能是不合需要的,因为它可能实质上增大了编码的比特流的大小。在另一替换中,可使用如2D编码中所使用的EOB码元。然而,如在3D编码中那样,
Figure GSB00000128171600143
编码对“最后”值的使用具有优于2D编码的优点,因为无需编码一额外的码元来表示块结束。另外,
Figure GSB00000128171600144
编码具有优于3D编码的优点,因为(1)前者的每一码元的熵小于后者的每一码元的熵,以及(2)前者的码表设计比后者的要简单。这两个优点都是具有比3D代码少的可能性的
Figure GSB00000128171600145
代码的结果。
然而,
Figure GSB00000128171600146
编码单独不能描述整个变换系数行程,因为它没有提供发送在第一个非零系数之前的行程长度的方式。如图13所示,为此,使用一特殊码元1375,该码元还对第一个零行程的长度编码。这使得第一个码元是第一个行程、水平和(行程OR最后)的联合编码。在图13中,第一个码元1375<0,C0,2>发送第一个行程(为零)、第一个非零系数的水平、以及第二个行程(为2,并且第一个非零系数不是块中的最后一个非零系数)。因为该码元包括一另外的维度,因此对其的编码被称为“
Figure GSB00000128171600147
编码”。
尽管
Figure GSB00000128171600148
编码中的额外信息乍一看可能消除了编码的某些优点,但是对第一个码元的不同处理从编码效率观点来看实际上是有利的。
Figure GSB000001281716001410
码元必然具有与
Figure GSB00000128171600151
码元不同的字母表,这意味着它与其它码元分开编码并且不会增加
Figure GSB00000128171600152
熵。
图14示出了由编码器400(图4)执行的根据
Figure GSB00000128171600153
编码来编码变换系数的示例过程1400。在一个环境中,过程1400可作为图7的用于编码归一化系数的过程720的一部分被包括在内。在另一环境中,过程1400可用于对通过传统技术量化的变换系数进行编码。在过程1400的各种实现中,各动作可被移除、组合或分割成子动作。
该过程在动作1420处开始,在那里标识第一个非零变换系数。然后,在动作1430处,使用初始的零行程的长度(要么是长度0,要么是正的长度)和第一个非零系数来创建
Figure GSB00000128171600154
码元。此时,该
Figure GSB00000128171600155
码元不是完整的。接着,该过程到达判定动作1435,在那里确定当前标识的非零系数是否是变换系数系列中的最后一个非零系数。如果这是最后一个非零系数,则该过程继续到动作1480,在那里将“最后”指示符而非后续零的行程插入到码元中。该过程然后在动作1490处使用熵编码来对该码元编码,并且该过程结束。编码码元的这一过程的一个示例在以下参考图16给出。
然而,如果该过程在判定动作1435处确定这不是最后一个非零系数,则在动作1440处将后续零行程的长度(要么是0,要么是正数)插入到码元中,并在动作1450处编码该码元。编码码元的这一过程的一个示例在以下参考图16给出。该过程然后在动作1460处标识下一非零系数,已知该非零系数存在,因为前导的非零系数被确定为不是最后一个。在动作1470处,然后使用该非零系数来创建
Figure GSB00000128171600156
码元。此时,与以上码元一样,该码元尚未完成。然后,在判定动作1475处,该过程确定当前非零系数是否为该系列中的最后一个。如果是,则该过程继续到动作1480,在那里包括“最后”指示符并编码该码元。如果不是,则该过程循环返回动作1400,在那里包括下一零行程,编码该码元,并且该过程以下一非零系数继续。
3.3上下文信息
除了根据
Figure GSB00000128171600158
编码来编码码元之外,可使用若干条因果信息来为所编码的码元生成上下文。该上下文可由编码器400(图4)或解码器(图5)用于索引到熵编码表集合之一中以对该码元进行编码和解码。增加上下文的数目给予编解码器更大的灵活性来自适应或使用被修改成适合每一特定上下文的表。然而,定义大量上下文的不利方面在于(1)存在上下文减弱(其中每一上下文仅应用于少量码元,由此降低了自适应效率),以及(2)更多码表意味着更大复杂性以及存储器要求。
考虑了这几点之后,选择此处描述的上下文模型来参考三个因素,以确定对每一码元选择哪一上下文。在一个实现中,这些因素是(1)变换的等级-变换是内部、中间还是外部变换,(2)系数是亮度还是色度通道,以及(3)在系数系列内的非零系数行程中是否有任何间断。在替换实现中,可能不使用这些因素中的一个或多个来确定编码上下文,和/或可考虑其它因素。
由此,按照(1),内部变换使用与中间变换不同的一组码表,中间变换使用与外部变换不同的一组码表。在其它实现中,上下文模型可仅在两级变换之间区分。类似地,按照(2),亮度系数使用与色度系数不同的一组码表。这些上下文因素都不会在给定的一组变换系数内变化。
然而,因素(3)在一组变换系数内变化。图15示出了更好地说明这一上下文切换的三个示例变换系数系列。在所有三个系列1500、1520和1540中,非零系数由字母表示。
如所有三个示例所示,块中的第一个码元为
Figure GSB00000128171600161
码元,它必须用与其它码元不同的表来编码,因为其字母表不同于其它的字母表。这形成了用于第一个码元的“自然”上下文。由此,作为所有三个示例的第一个非零系数的系数A用码来编码。另外,由于
Figure GSB00000128171600163
码元对第一个非零系数周围的前导和后续零行程进行编码,因此示例1520的前两个系数(A、0)和示例1540的前两个系数(0、A)在一
Figure GSB00000128171600164
码元中联合编码。因此,在一个实现中,因素(3)不用于确定
Figure GSB00000128171600165
码元的上下文。
相反,
Figure GSB00000128171600166
码元取决于因素(3)不同地编码。由此,在示例1500中,可以看到由于在系数D之前的非零系数的行程中没有间断,因此用第一上下文模型来对系数B、C和D(以及D之后的零)进行编码。然而,D之后的零构成了非零系数行程中的间断。因此,其余的系数E、F、G、H(以及之后的任何系数)……使用第二上下文模型来编码。这意味着尽管除A之外的每一非零系数是用
Figure GSB00000128171600167
码元来编码的,但将对B、C和D(以及任何相关联的零值行程)使用与对系数E、F、G和H所使用的不同的码表。
相反,在示例1520中,在A和B之间有间断。这构成了非零系数的行程中的间断,因此系数B和所有后续非零系数用第二上下文模型来编码。同样,在示例1540中,在A之前有间断。由此,如在示例1520中一样,系数B、C、D、……用第二上下文模型来编码。
图16示出了由编码器400(图3)执行的编码码元的示例过程1600。在一个实现中,过程1600执行过程1400(图14)的动作1450和1490的过程。在过程1600的各实现中,动作可被移除、组合或分割成子动作。该过程在判定动作1605处开始,在那里编码器确定码元是否为码元。如果是,则该过程继续到动作1610,在那里使用
Figure GSB00000128171600172
表来编码该码元并且该过程结束。在各个实现中,该码元可使用诸如哈夫曼编码或算术编码等熵编码来编码。或者,可使用其它编码方案。
如果该码元不是码元,则该过程继续到判定动作1615,在那里编码器确定在该码元中联合编码的非零系数之前是否有至少一个零。如果不是,则该过程继续到动作1620,在那里使用来自第一上下文模型的
Figure GSB00000128171600174
码表来编码该码元并且该过程结束。如果存在间断,则在动作1630处,使用来自第二上下文模型的
Figure GSB00000128171600175
码表来编码该码元并且该过程结束。
3.4码表大小减小
尽管上述技术带来了优于传统技术的效率,但是它们不能独立地显著减小码表大小。为这些技术所创建的码表应当能够发送对于
Figure GSB00000128171600176
码元的所有(max_level×(max_run+2))个组合,以及对
Figure GSB00000128171600177
码元的所有(max_level×(max_run+1)×(max_run+2))个组合,其中max_level是非零系数的最大(绝对)值,而max_run是零行程的最大可能长度。值(max_run+1)是对
Figure GSB00000128171600178
码元的初始行程导出的,因为对于(max_run+1)的总数,对一零行程的可能值从0一直到max_run。类似地,对总共(max_run+2)个值,每一码元编码了0和max_run之间的长度的后续零行程,以及“最后”码元。即使采用遗漏编码(其中很少出现的码元被分组在一起成一个或多个通过遗漏编码表示的元码元),码表大小也是相当可怕的。
为了减小码表大小,可进一步改进上述技术。首先,每一行程和每一水平被分割成一码元对:
行程=nonZero_run(+run1)
水平=nonOne-level(+level1)
在这一码元对中,码元nonZero_run和nonOne_level是布尔值,分别指示该行程是否大于零以及绝对水平是否大于1。值run1和level1仅在这些布尔值为真时才使用,并指示行程(在1和max_run之间)和水平(在2和max_level之间)。然而,由于也必须编码“最后”的情况,因此联合编码的码元中的任何后续零行程的值(行程OR最后)作为三进制码元nonZero_run_last来发送,它在行程具有零长度时值为0,在行程具有非零长度是值为1,并且在该码元的非零系数是该系列中的最后一个时值为2。
因此,为首先利用这一精简的编码,
Figure GSB00000128171600181
码元采取了<nonZero_run,nonOne_level,nonZero_run_last>的形式。这创建了大小为2×2×3=12的字母表。后续的码元采取了<nonOne_level,nonZero_run_last>的形式,创建了大小为2×3=6的字母表。在一个实现中,这些码元被称为“索引(Index)”。在某些实现中,run1也被称为非零行程(NonzeroRun),而level1也被称为有效水平(SignificantLevel)。
由于索引仅包含关于水平和行程是否有效的信息,因此可能需要连同码元一起发送附加信息来允许解码器准确地重新创建变换系数系列。由此,在来自索引的每一码元之后,如果水平是有效水平,则该水平的值被单独编码并在该码元之后发送。同样,如果一码元指示零行程是非零(正)长度,则该长度被单独编码并在该码元之后发送。
图17示出了精简的
Figure GSB00000128171600183
编码1740的一个示例,它表示变换系数绝对值的示例系列1700。变换系数的符号可在别处编码。如图17所示,示例系数系列1700以“5,0,0”开始。在诸如上述的非精简中,第一码元则是<0,5,2>。然而,在精简编码中,图17示出来自索引的第一码元1745:<0,1,1>。该码元指示在第一个非零系数之前没有零,第一个非零系数具有大于1的绝对值,并且在该非零系数之后有至少一个零。该码元后跟指示非零系数的绝对值是5的有效水平值“leve1_5”(1755),以及指示在该系数之后有两个零的非零行程值“run_2””(1765)。相反,指示绝对值1的非零系数后面不跟零的码元1775<0,0>不需要有其它值跟在其后来提供信息。
由于某些码元需要在它们之后发送附加信息,因此应分析来自索引的码元来确定是否应连同它们一起发送附加信息。图18示出了由编码器400(图4)执行的确定在
Figure GSB00000128171600185
索引码元中包含了什么信息以及在适当时发送附加信息的示例过程1800。在过程1800的各种实现中,动作可被移除、组合或分割成子动作。在对图18的码元的描述中,值“x”是占位符,表示对一码元的该特定部分的任何可能值。该过程在动作1810处开始,在那里发送第一个编码的码元。接着,在判定动作1820处,编码器确定该码元是否为<x,1,x>的形式。这等效于询问由该码元表示的非零系数是否具有大于1的绝对值。如果编码器确定情况如此,则在动作1830处编码并发送该非零系数的值。重要的是注意,尽管图18没有明确讨论对非零系数的符号的编码,但是该符号可在过程1800的若干点处包括。在各个实现中,这可涉及紧接在联合编码的码元之后、在联合编码的码元内、和/或连同水平的绝对值一起发送符号。
不论动作1820处的判定如何,在判定动作1840处,编码器确定码元是否为<1,x,x>的形式。该判定等效于询问由该码元表示的非零系数是否具有任何前导的零。如果是,则在动作1850处,编码器对非零系数之前的零行程的长度进行编码并发送该值。
接着,在判定动作1860处,编码器考虑在码元为<x,x,t>的情况下的t值。该判定等效于询问由该码元表示的非零系数是否具有跟在其后的任何零。如果t=0,则编码器知道没有后续零,并且继续在动作1880处发送更多码元,且过程1800结束。在一个实现中,图19的过程1900然后对下一码元开始。如果t=1,则编码器在动作1870处编码并发送在非零系数之后的零行程的长度,然后继续在动作1880处发送码元,并且过程1800结束。然而,如果t=2,则编码器知道由该码元表示的非零系数是该系列中的最后(且唯一)一个,且因此由变换系数表示的块完成。由此,过程1800结束,并且在适当时可变换和编码下一块。
图19示出了由编码器400(图4)执行的确定索引码元中包含什么信息以及在适当时发送附加信息的示例过程1900。在过程1900的各个实现中,动作可被移除、组合或分割成子动作。如图18中一样,在图19中,值“x”是占位符,表示对一码元的该特定部分的任何可能值。该过程在动作1910处开始,在那里发送下一编码的码元。接着,在判定动作1920处,编码器确定该码元是否为<1,x>的形式。这等效于询问由该码元表示的非零系数是否具有大于1的绝对值。如果编码器确定情况如此,则在动作1930处编码并发送非零系数的值。如在过程1800中一样,重要的是注意,尽管图19没有明确讨论对非零系数的符号的编码,但是该符号可在过程1900中的若干点处包括。
接着,在判定动作1940处,编码器在码元为<x,t>的情况下考虑t值。该判定等效于询问由该码元表示的非零系数后面是否跟有任何零。如果t=0,则编码器知道没有后续零,并且在动作1960处继续发送更多码元,且过程1900结束。在一个实现中,图19的过程1900然后对下一码元重复。如果t=1,则编码器在动作1950处编码并发送跟在非零系数之后的零行程的长度,然后在动作1960处继续发送码元,并且过程1900结束。然而,如果t=2,则编码器知道由该码元表示的非零系数是该系列中的最后一个,并且因此由编码系数表示的块完成。由此,过程1900结束,并且可在适当时变换并编码下一块。
3.5附加系数
除了以上讨论的码表大小减小之外,分解行程和水平码元的一个好处是在发送了
Figure GSB00000128171600201
联合码元之后,解码器可确定在该块中是否有任何前导零。这意味着描述第一或第二上下文是否有效的上下文信息在解码器侧是已知的,并且构成了用于编码第一个非零系数的level1值的有效上下文。这意味着应用于
Figure GSB00000128171600202
码元的level1值的上下文可同样应用于
Figure GSB00000128171600203
码元的level1值,即使联合编码的索引码元利用了不同的字母表。
此外,由于块中的变换系数的总数是常数,因此每一连续行程由一单调递减序列来界定。在一个较佳实现中,在编码行程值时充分利用了这一信息。例如,一码表可包括用于在一组系数的前一半中开始的行程的一组行程值代码,以及用于在后一半中开始的行程的不同的一组行程值代码。由于在后一半中开始的任何可能行程的长度必定小于在前一半中开始的行程的可能长度,因此第二组代码不必如此大,从而减小了熵并改善了编码性能。
其它信息可通过仔细观察系数的位置来收集。例如,如果由一码元表示的非零系数出现在该系数系列中的最后一个位置上,则“最后”总是为真。类似地,如果由一码元表示的非零系数出现在数组的倒数第二位置,则要么“最后”为真,要么后续行程为零。这些观察结果中的每一个都允许经由更短的表来编码。
3.6索引实现示例
第一索引具有大小为12的字母表。在一个实现中,对被定义为第一索引=a+2b+4C的码元有五个哈夫曼表可用,其中码元是<a,b,c>,并且a和b是0或1,c可取值0、1或2。用于每一表的12个码元的码字长度的一种实现如下给出。在一个实现中,标准哈夫曼码构造可用于导出这几组前缀码字:
表1:5,6,7,7,5,3,5,1,5,4,5,3
表2:4,5,6,6,4,3,5,2,3,3,5,3
表3:2,3,7,7,5,3,7,3,3,3,7,4
表4:3,2,7,5,5,3,7,3,5,3,6,3
表5:3,1,7,4,7,3,8,4,7,4,8,5
后续索引码元具有大小为6的字母表。在一个实现中,索引被定义为索引=a+2b,其中码元是<a,b>,a是布尔值,b可取值0、1或2。对索引定义四个哈夫曼表,如下所示:
表1:1,5,3,5,2,4
表2:2,4,2,4,2,3
表3:4,4,2,2,2,3
表4:5,5,2,1,4,3
另外,在一个实现中,为了利用以上第3.5节中所描述的某些信息,当系数位于最后一个数组位置上时,使用一位码(由a定义)(在这一情况中,b唯一地为2)。在一个实现中,当系数在倒数第二的位置上时,使用二位代码,因为已知b≠1。
有效水平的一个实现使用将一水平范围折叠成7个槽的分槽(binning)过程来编码水平。一个槽内的水平使用固定长度码来编码,并且槽本身使用哈夫曼码来编码。在一个实现中,这可通过上述分组技术来完成。类似地,在一个实现中,非零行程使用基于当前码元的位置索引到5个槽的分槽过程来编码。
3.7解码
Figure GSB00000128171600211
码元
图20示出了由解码器500(图5)执行的将一系列码元解码成变换系数的示例过程2000。在过程2000的各个实现中,动作可被移除、组合或分割成子动作。此外,动作可被定义为处理诸如由被破坏的比特流触发的出错条件。该过程在动作2010处开始,在那里解码器接收第一个联合编码的码元,并使用
Figure GSB00000128171600212
码表来解码该码元。接着,在动作2020处,基于所解码的码元(包括同样存在于压缩比特流中的任何水平或行程信息)来填充变换系数。该动作的一个实现将参考图21在以下更详细描述。该过程然后继续到判定动作2030,在那里解码器确定该码元是否指示它是用于最后一个非零系数的。如果是,则该过程继续到动作2090,在那里用零填充其余的未填充系数,并且过程2000结束。
如果该码元不是用于最后一个非零系数的,则该过程继续到判定动作2040,在那里解码器确定迄今为止是否有任何码元指示了任何零系数。如果否,则该过程继续到动作2050,在那里接收下一码元,并使用遵循第一上下文模型的
Figure GSB00000128171600213
码表来解码该码元。如果相反,在判定动作2040处指示了零系数,则在过程2060处,解码器接收下一码元并使用遵循第二上下文模型的
Figure GSB00000128171600221
码表来解码该码元。不论使用哪一上下文模型,该过程然后都前进到动作2070,在那里基于解码的码元(包括同样存在于压缩比特流中的任何水平或行程信息)来填充变换系数。如在动作2020中一样,这一动作的一个实现将参考图21在以下更详细描述。该过程然后继续到判定动作2080,在那里解码器确定该码元是否指示它是用于最后一个非零系数的。如果不是,则该过程返回到判定动作2040并重复。如果是,则该过程继续到动作2090,在那里用零填充任何其余未填充系数并且过程2000结束。
图21示出了由解码器500(图5)执行的填充变换系数的示例过程2100。在过程2100的各个实现中,动作可被移除、组合或分割成子动作。尽管过程2100被配置成解码根据以上第3.4节的技术编码的码元,但是在替换实现中,水平值和行程长度可被包括在
Figure GSB00000128171600222
码元中,这允许过程2100被简化。该过程在动作2110处开始,在那里解码器确定该码元是否为
Figure GSB00000128171600224
码元。如果不是,则该过程跳转到以下描述的判定动作2140。然而,如果该码元是
Figure GSB00000128171600225
码元,则解码器在判定动作2120处确定该码元是否指示正长度的初始零系数行程。这可通过确定
Figure GSB00000128171600226
码元中的nonZero_run值是指示正长度的行程的1还是指示零长度行程的0来完成。如果该码元指示了正长度的零系数行程,则该过程继续到动作2130,在那里基于跟随
Figure GSB00000128171600227
码元的编码的level1来解码行程长度,并且根据该行程长度用零来填充初始变换系数。
接着,该过程继续到判定动作2140,在那里解码器确定该码元是否指示其非零系数具有大于1的绝对值。这可通过确定码元中的nonOne_level值是指示该水平具有大于1的绝对值的1还是指示非零系数要么为-1要么为1的0来完成。如果该码元没有指示具有大于1的绝对值的系数,则该过程继续到动作2150,在那里取决于非零系数的符号,要么用-1要么用1来填充下一系数。如果该码元指示具有大于1的绝对值的系数,则该过程改为继续到动作2160,在那里解码系数的水平并且用该水平值以及其符号来填充该系数。如上所述,符号可用各种方式来指示,因此系数符号的解码没有在动作2150或2160中明确讨论。
接着,在判定动作2170处,解码器确定该码元是否指示正长度的后续零系数行程。这可通过确定码元中的nonZero_run_last值是指示正长度的行程的1还是指示零长度的行程的0来完成。(nonZero_run_last等于2的情况未示出,因为该情况在过程2000中处理。)如果该码元指示正长度的零系数行程,则该过程继续到动作2180,在那里基于跟随该码元的编码的run1来解码行程长度,并且根据该行程长度用零来填充后续的变换系数,且过程2100结束。
4.计算环境
上述编码器400(图4)和解码器500(图5)以及用于高效地编码和解码变换系数的技术可以在其中执行数字媒体信号处理的各种设备中的任一种上执行,这些设备包括计算机;图像和视频记录、传输和接收设备;便携式视频播放器;视频会议;以及其它示例。数字媒体编码技术可以用硬件电路以及诸如在图22所示的计算机或其它计算环境中执行的数字媒体处理软件来实现。
图22示出了其中可实现所描述的实施例的合适的计算环境(2200)的一般化的示例。计算环境(22500)并不对本发明使用范围或功能提出任何局限,因为本发明可在不同的通用或专用计算环境中实现。
参考图22,计算环境(2200)包括至少一个处理单元(2210)和存储器(2220)。在图22中,这一最基本的配置(2230)被包括在虚线内。处理单元(2210)执行计算机可执行指令,并且可以是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。存储器(2220)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或两者的某种组合。存储器(2220)储存实现所描述的编码器和/或解码器以及高效变换系数编码/解码技术的软件(2280)。
计算环境可具有附加特征。例如,计算环境(2200)包括存储(2240)、一个或多个输入设备(2250)、一个或多个输出设备(2260)以及一个或多个通信连接(2270)。诸如总线、控制器或网络等互连机制(未示出)将计算环境(2200)的各组件互连。通常,操作系统软件(未示出)为在计算环境(2200)中执行的其它软件提供了操作环境,并协调计算环境(2200)的各组件的活动。
存储(2240)可以是可移动或不可移动的,并包括磁盘、磁带或磁带盒、CD-ROM、CD-RW、DVD或可用于储存信息并可在计算环境(2200)内访问的任何其它介质。存储(2240)储存用于实现所描述的编码器/解码器和高效变换系数编码/解码技术的软件(2280)的指令。
输入设备(2250)可以是诸如键盘、鼠标、笔或跟踪球等触摸输入设备、语音输入设备、扫描设备或向计算环境(2200)提供输入的另一设备。对于音频,输入设备(2250)可以是声卡或接受模拟或数字形式的音频输入的类似设备、或将音频样本提供给计算环境的CD-ROM读取器。输出设备(2260)可以是显示器、打印机、CD刻录机或提供来自计算环境(2200)的输出的另一设备。
通信连接(2270)允许通过通信介质与另一计算实体的通信。通信介质在已调制数据信号中传达诸如计算机可执行指令、压缩的音频或视频信息、或其它数据等信息。已调制数据信号是其一个或多个特性以对信号中的信息编码的方式来设定或更改的信号。作为示例而非局限,通信介质包括用电、光、RF、红外、声学或其它载体实现的有线或无线技术。
此处的数字媒体处理技术可在计算机可读介质的一般上下文中描述。计算机可读介质可以是可在计算环境内访问的任何可用介质。作为示例而非局限,对于计算环境(2200),计算机可读介质包括存储器(2220)、存储(2240)、通信介质和以上任一种的组合。
此处的数字媒体处理技术可在诸如程序模块中所包括的、在目标真实或虚拟处理器上的计算环境中执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、类、组件、数据结构等。程序模块的功能可如各种实施例中所需地被组合或在程序模块之间拆分。用于程序模块的计算机可执行指令可在本地或分布式计算环境中执行。
出于表示的目的,详细描述使用了如“确定”、“生成”、“调整”和“应用”等术语来描述计算环境中的计算机操作。这些术语是对由计算机执行的操作的高级抽象,并且不应与人类执行的动作混淆。对应于这些术语的实际计算机操作可取决于实现而变化。
鉴于此处描述的主题的许多可能的变型,要求保护落入所附权利要求书及其等效技术范围内的所有这些实施例作为本发明。

Claims (19)

1.一种编码表示数字媒体数据的变换系数系列(1300)的方法,包括:
将所述变换系数系列表示(1400)为一码元系列(1340),其中每一码元(1355)包括来自所述变换系数系列的非零系数的指示以及后续的零值系数行程的长度的指示,所述码元系列中的第一个码元另外包括在所述变换系数系列中的第一个非零系数之前的零值系数行程的长度的指示;
对于所述码元系列中的每一码元,发送(1600)所述码元以便在压缩比特流(420)中编码;以及
其中所述变换系数系列中的最后一个非零系数由一码元(1365)来表示,其中所述后续的零值系数行程的长度的指示包括所述系数是所述最后一个非零系数的指示符。
2.如权利要求1所述的方法,其特征在于,所述变换系数系列从确定一宽范围变换系数系列的归一化部分得到。
3.如权利要求1所述的方法,其特征在于,使用一组码表来编码所述码元系列中的第一个码元,并且使用一组不同的码表来编码所述码元系列中的其它码元。
4.如权利要求1所述的方法,其特征在于,所述码元系列中的每一码元具有一相关联的上下文。
5.如权利要求4所述的方法,其特征在于,用于一码元的上下文至少部分地基于由所述码元表示的非零系数是出现在所述系数系列中的第一个零值系数之前还是之后。
6.如权利要求4所述的方法,其特征在于,用于一码元的上下文至少部分地基于所述变换系数系列是用于亮度还是色度通道。
7.如权利要求4所述的方法,其特征在于,用于一码元的上下文至少部分地基于所述变换系数系列是用于内部变换、中间变换还是外部变换。
8.如权利要求1所述的方法,其特征在于,对于每一码元,所述码元中所述后续的零值系数行程的长度的指示包括指示所述码元上的以下情况之一的三进制码元:
所述零值系数行程为零长度;
所述零值系数行程为正长度;
由所述码元指示的系数是所述变换系数系列中的最后一个系数。
9.如权利要求8所述的方法,其特征在于,所述码元系列中的第一个码元中的第一个非零系数之前的零值系数行程的长度的指示包括指示所述第一个非零系数之前的零值系数的行程是零长度还是正长度的布尔值。
10.如权利要求8所述的方法,其特征在于,还包括在一码元包括零值系数行程为正长度的指示时,发送所述零值系数行程的长度以便在所述压缩比特流中编码。
11.如权利要求1所述的方法,其特征在于,对每一码元,所述码元中对来自所述变换系数系列的非零系数的指示包括指示所述非零系数的绝对值是否大于1的布尔值。
12.如权利要求11所述的方法,其特征在于,还包括在一码元包括非零系数具有大于1的绝对值的指示时,发送所述非零系数的绝对值以便在所述压缩比特流中编码。
13.一种数字媒体解码器,包括:
用于接收描述一变换系数系列的一组压缩码元的装置;
用于将所述一组压缩码元解压成一组解压缩码元的装置;以及
用于通过分析所述一组解压缩码元来重构所述变换系数系列的装置,
其中,所述一组压缩码元包括从根据一上下文模型的一组码表编码的联合编码码元,每一联合编码码元描述了来自所述变换系数系列的非零水平,以及在所述非零水平之后是否有零值系数。
14.如权利要求13所述的数字媒体解码器,其特征在于:
每一联合编码码元通过指示一非零水平的绝对值是否大于1来描述所述非零水平;
所述一组压缩码元另外包括描述每一非零水平的值以及水平符号的指示的水平码元;以及
所述数字媒体解码器还包括用于在分析指示其绝对值大于1的非零水平的联合编码码元时,通过找到描述所述非零水平的值的水平码元来重构所述非零水平的装置。
15.如权利要求13所述的数字媒体解码器,其特征在于,所述一组压缩码元中的第一个码元另外描述在所述变换系数系列中的非零水平之前是否有零值系数。
16.如权利要求13所述的数字媒体解码器,其特征在于:
每一联合编码码元通过指示一零值系数行程的长度是否大于0来描述所述零值系数行程;
所述一组压缩码元另外包括描述其长度大于0的每一零值系数行程的长度的行程码元。
17.一种用于解码压缩数字媒体数据的方法,所述方法包括:
接收(2000)包括从根据一上下文模型的一组码表编码的压缩的联合编码码元(1340)的比特流(420);
解码(2000)所述联合编码码元以对每一码元确定变换系数水平和后续变换系数零的行程;以及
从所确定的水平和变换系数零的行程来重构(2100)一组变换系数。
18.如权利要求17所述的方法,其特征在于,所述比特流还包括初始的联合编码码元,并且所述方法还包括解码所述初始的联合编码码元以确定初始变换系数零的行程、变换系数水平、以及后续变换系数零的行程。
19.如权利要求17所述的方法,其特征在于:
所述联合编码码元对每一变换系数水平指示所述水平是否具有大于1的绝对值;
所述联合编码码元对每一变换系数零的行程指示所述行程是否具有大于0的长度;
所述比特流还包括描述所述变换系数零的行程的长度、以及所述变换系数水平的符号和幅值的压缩码元;以及
解码所述联合编码码元包括:
当解码指示变换系数水平具有大于1的绝对值的联合编码码元时,通过解码所述比特流中指示所述变换系数水平的符号和值的一个或多个码元来确定该变换系数水平;以及
当解码指示变换系数零的行程大于0的联合编码码元时,通过解码所述比特流中指示所述行程的长度的码元来确定所述变换系数零的行程的长度。
CN2006800293097A 2005-08-12 2006-08-03 变换块的高效编码和解码 Active CN101243611B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/203,008 US8599925B2 (en) 2005-08-12 2005-08-12 Efficient coding and decoding of transform blocks
US11/203,008 2005-08-12
PCT/US2006/030308 WO2007021568A2 (en) 2005-08-12 2006-08-03 Efficient coding and decoding of transform blocks

Publications (2)

Publication Number Publication Date
CN101243611A CN101243611A (zh) 2008-08-13
CN101243611B true CN101243611B (zh) 2012-12-05

Family

ID=37742496

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800293097A Active CN101243611B (zh) 2005-08-12 2006-08-03 变换块的高效编码和解码

Country Status (18)

Country Link
US (1) US8599925B2 (zh)
EP (1) EP1913698B1 (zh)
JP (1) JP4906855B2 (zh)
KR (1) KR101176691B1 (zh)
CN (1) CN101243611B (zh)
AU (1) AU2006280226B2 (zh)
BR (1) BRPI0614759A2 (zh)
CA (1) CA2618788C (zh)
EG (1) EG25353A (zh)
IL (1) IL189126A (zh)
MX (1) MX2008001856A (zh)
MY (1) MY145748A (zh)
NO (1) NO20080535L (zh)
NZ (1) NZ565672A (zh)
RU (1) RU2417518C2 (zh)
TW (1) TWI431948B (zh)
WO (1) WO2007021568A2 (zh)
ZA (1) ZA200801177B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106797483A (zh) * 2014-10-06 2017-05-31 佳能株式会社 使用调色板模式的改进编码处理

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060045218A1 (en) * 2004-09-02 2006-03-02 Erik Ordentlich Discrete denoising using blended counts
US8189722B2 (en) * 2004-09-02 2012-05-29 Hewlett-Packard Development Company, L.P. Discrete denoising using blended counts
US7565491B2 (en) * 2005-08-04 2009-07-21 Saffron Technology, Inc. Associative matrix methods, systems and computer program products using bit plane representations of selected segments
JP2008135092A (ja) * 2006-11-27 2008-06-12 Showa Denko Kk 磁気記録媒体の製造方法、及び磁気記録再生装置
US8411734B2 (en) 2007-02-06 2013-04-02 Microsoft Corporation Scalable multi-thread video decoding
US9648325B2 (en) 2007-06-30 2017-05-09 Microsoft Technology Licensing, Llc Video decoding implementations for a graphics processing unit
KR101375662B1 (ko) * 2007-08-06 2014-03-18 삼성전자주식회사 이미지 데이터 압축 방법 및 장치
US7965900B2 (en) * 2007-09-26 2011-06-21 Hewlett-Packard Development Company, L.P. Processing an input image to reduce compression-related artifacts
US8139880B2 (en) * 2008-03-24 2012-03-20 Microsoft Corporation Lifting-based directional lapped transforms
TWI349487B (en) * 2008-03-25 2011-09-21 Novatek Microelectronics Corp Entropy encoding circuit and encoding method thereof
JP5177400B2 (ja) * 2008-04-24 2013-04-03 株式会社メガチップス エンコーダ
TWI376959B (en) * 2008-05-02 2012-11-11 Novatek Microelectronics Corp Entropy decoding circuit, entropy decoding method, and entropy decoding method using a pipeline manner
JP5061330B2 (ja) * 2008-05-12 2012-10-31 株式会社メガチップス 画像処理装置
WO2010003479A1 (en) * 2008-07-11 2010-01-14 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Audio encoder and audio decoder
WO2010007585A2 (en) * 2008-07-16 2010-01-21 Nxp B.V. Low power image compression
KR101485339B1 (ko) * 2008-09-29 2015-01-26 삼성전자주식회사 무손실 부호화/복호화 장치 및 방법
US20100246688A1 (en) * 2009-03-26 2010-09-30 Apple Inc. Blind noise analysis for video compression
JP5529571B2 (ja) * 2010-02-08 2014-06-25 キヤノン株式会社 画像符号化装置及びその制御方法
US8798131B1 (en) 2010-05-18 2014-08-05 Google Inc. Apparatus and method for encoding video using assumed values with intra-prediction
US10091529B2 (en) * 2010-07-09 2018-10-02 Samsung Electronics Co., Ltd. Method and apparatus for entropy encoding/decoding a transform coefficient
KR101733794B1 (ko) 2010-07-09 2017-05-10 삼성전자주식회사 변환 계수의 엔트로피 부호화/복호화 방법 및 장치
CN101938654B (zh) * 2010-08-17 2013-04-10 浙江大学 一种变换系数的优化量化方法及装置
DK2628299T3 (da) 2010-10-14 2019-10-07 Interdigital Vc Holdings Inc Fremgangsmåde og apparat til forbedret entropikodning og -afkodning
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) * 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US20120163448A1 (en) * 2010-12-22 2012-06-28 Qualcomm Incorporated Coding the position of a last significant coefficient of a video block in video coding
US20120163456A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Using a most probable scanning order to efficiently code scanning order information for a video block in video coding
US9706214B2 (en) * 2010-12-24 2017-07-11 Microsoft Technology Licensing, Llc Image and video decoding implementations
US9490839B2 (en) 2011-01-03 2016-11-08 Qualcomm Incorporated Variable length coding of video block coefficients
US9210442B2 (en) 2011-01-12 2015-12-08 Google Technology Holdings LLC Efficient transform unit representation
US9380319B2 (en) 2011-02-04 2016-06-28 Google Technology Holdings LLC Implicit transform unit representation
US9106913B2 (en) 2011-03-08 2015-08-11 Qualcomm Incorporated Coding of transform coefficients for video coding
US10397577B2 (en) 2011-03-08 2019-08-27 Velos Media, Llc Inverse scan order for significance map coding of transform coefficients in video coding
CN102685503B (zh) * 2011-03-10 2014-06-25 华为技术有限公司 变换系数的编码方法、变换系数的解码方法,和装置
US9378560B2 (en) * 2011-06-17 2016-06-28 Advanced Micro Devices, Inc. Real time on-chip texture decompression using shader processors
US9167253B2 (en) 2011-06-28 2015-10-20 Qualcomm Incorporated Derivation of the position in scan order of the last significant transform coefficient in video coding
US9516316B2 (en) 2011-06-29 2016-12-06 Qualcomm Incorporated VLC coefficient coding for large chroma block
US9338456B2 (en) 2011-07-11 2016-05-10 Qualcomm Incorporated Coding syntax elements using VLC codewords
US8731067B2 (en) 2011-08-31 2014-05-20 Microsoft Corporation Memory management for video decoding
US9106927B2 (en) 2011-09-23 2015-08-11 Qualcomm Incorporated Video coding with subsets of a reference picture set
ES2869857T3 (es) * 2011-09-28 2021-10-26 Sun Patent Trust Procedimiento y aparato de codificación de imágenes
US9264717B2 (en) * 2011-10-31 2016-02-16 Qualcomm Incorporated Random access with advanced decoded picture buffer (DPB) management in video coding
KR101598142B1 (ko) 2011-10-31 2016-02-26 삼성전자주식회사 변환 계수 레벨의 엔트로피 부호화 및 복호화를 위한 컨텍스트 모델 결정 방법 및 장치
US9819949B2 (en) 2011-12-16 2017-11-14 Microsoft Technology Licensing, Llc Hardware-accelerated decoding of scalable video bitstreams
CN108600761B (zh) * 2012-01-03 2020-05-08 寰发股份有限公司 重要性群组旗标编码方法与装置
US20130182772A1 (en) * 2012-01-13 2013-07-18 Qualcomm Incorporated Determining contexts for coding transform coefficient data in video coding
US9191670B2 (en) * 2012-01-17 2015-11-17 Qualcomm Incorporated Throughput improvement for CABAC coefficient level coding
WO2013117811A1 (en) 2012-02-06 2013-08-15 Nokia Corporation Method for coding and an apparatus
US9197888B2 (en) 2012-03-13 2015-11-24 Dolby Laboratories Licensing Corporation Overlapped rate control for video splicing applications
CN102752592B (zh) * 2012-06-20 2015-02-11 深圳广晟信源技术有限公司 视频变换系数的熵编码方法
US9002122B2 (en) * 2012-07-19 2015-04-07 Omnivision Technologies, Inc. System and method for improving decoder performance using quantization control
CN102843562B (zh) * 2012-08-21 2016-03-02 西北农林科技大学 一种分组容错熵编码的方法
WO2014038330A1 (ja) * 2012-09-06 2014-03-13 ソニー株式会社 画像処理装置及び画像処理方法
US9374583B2 (en) * 2012-09-20 2016-06-21 Qualcomm Incorporated Video coding with improved random access point picture behaviors
EP2946552B1 (en) * 2013-01-16 2018-03-21 BlackBerry Limited Context determination for entropy coding of run-length encoded transform coefficients
US9219915B1 (en) 2013-01-17 2015-12-22 Google Inc. Selection of transform size in video coding
US9544597B1 (en) 2013-02-11 2017-01-10 Google Inc. Hybrid transform in video encoding and decoding
US9967559B1 (en) 2013-02-11 2018-05-08 Google Llc Motion vector dependent spatial transformation in video coding
CN104104958B (zh) * 2013-04-08 2017-08-25 联发科技(新加坡)私人有限公司 图像解码方法及其图像解码装置
US9674530B1 (en) 2013-04-30 2017-06-06 Google Inc. Hybrid transforms in video coding
US10021419B2 (en) * 2013-07-12 2018-07-10 Qualcomm Incorported Rice parameter initialization for coefficient level coding in video coding process
GB2523348B (en) * 2014-02-20 2016-03-30 Gurulogic Microsystems Oy Encoder, decoder and method
US20150264404A1 (en) * 2014-03-17 2015-09-17 Nokia Technologies Oy Method and apparatus for video coding and decoding
RU2557449C1 (ru) * 2014-04-07 2015-07-20 Федеральное государственное казенное военное образовательное учреждение высшего профессионального образования "Военная академия связи имени Маршала Советского Союза С.М. Буденного" Министерства Обороны Российской Федерации (Минобороны России) Способ кодирования и декодирования видеоинформации на основе трехмерного дискретного косинусного преобразования
GB2527588B (en) 2014-06-27 2016-05-18 Gurulogic Microsystems Oy Encoder and decoder
US9565451B1 (en) 2014-10-31 2017-02-07 Google Inc. Prediction dependent transform coding
US9769499B2 (en) 2015-08-11 2017-09-19 Google Inc. Super-transform video coding
US10277905B2 (en) 2015-09-14 2019-04-30 Google Llc Transform selection for non-baseband signal coding
GB2542858A (en) * 2015-10-02 2017-04-05 Canon Kk Encoder optimizations for palette encoding of content with subsampled colour component
US9807423B1 (en) 2015-11-24 2017-10-31 Google Inc. Hybrid transform scheme for video coding
US9712830B1 (en) 2016-09-15 2017-07-18 Dropbox, Inc. Techniques for image recompression
CN106683036A (zh) * 2016-12-12 2017-05-17 中国航空工业集团公司西安航空计算技术研究所 一种面向gpu高效绘制的帧缓冲区存储编码方法
US10728578B2 (en) 2017-03-06 2020-07-28 Sony Corporation Bias minimization for successive image reconstruction based on embedded codec circuitry
US10298895B1 (en) * 2018-02-15 2019-05-21 Wipro Limited Method and system for performing context-based transformation of a video
US10860399B2 (en) 2018-03-15 2020-12-08 Samsung Display Co., Ltd. Permutation based stress profile compression
US10803791B2 (en) 2018-10-31 2020-10-13 Samsung Display Co., Ltd. Burrows-wheeler based stress profile compression
US11122297B2 (en) 2019-05-03 2021-09-14 Google Llc Using border-aligned block functions for image compression
US11308873B2 (en) 2019-05-23 2022-04-19 Samsung Display Co., Ltd. Redundancy assisted noise control for accumulated iterative compression error
KR20220024500A (ko) 2019-07-12 2022-03-03 엘지전자 주식회사 변환에 기반한 영상 코딩 방법 및 그 장치
US11245931B2 (en) 2019-09-11 2022-02-08 Samsung Display Co., Ltd. System and method for RGBG conversion
KR20210031296A (ko) 2019-09-11 2021-03-19 삼성전자주식회사 전자 장치 및 그 제어 방법
TWI709892B (zh) * 2019-11-07 2020-11-11 大陸商北京集創北方科技股份有限公司 高速傳輸觸控資訊的方法及利用其之觸控系統和電子裝置
CN114697655B (zh) * 2020-12-30 2023-04-11 中国科学院计算技术研究所 均衡流间压缩速度的神经网络量化压缩方法及系统
CN113822371A (zh) * 2021-09-30 2021-12-21 支付宝(杭州)信息技术有限公司 训练分组模型,以及对时序数据进行分组的方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1531209A (zh) * 2003-03-11 2004-09-22 佳能株式会社 编码方法和编码装置、计算机程序以及存储介质

Family Cites Families (123)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4420771A (en) 1981-02-09 1983-12-13 Bell Telephone Laboratories, Incorporated Technique for encoding multi-level signals
US4684923A (en) * 1984-09-17 1987-08-04 Nec Corporation Encoder with selective indication of compression encoding and decoder therefor
ATE108587T1 (de) * 1986-09-13 1994-07-15 Philips Nv Verfahren und schaltungsanordung zur bitratenreduktion.
US4698672A (en) * 1986-10-27 1987-10-06 Compression Labs, Inc. Coding system for reducing redundancy
US4968135A (en) 1987-08-17 1990-11-06 Digital Equipment Corporation System for producing pixel image data from CCITT encoded pixel data
US4792981A (en) 1987-09-21 1988-12-20 Am International, Inc. Manipulation of run-length encoded images
US4813056A (en) 1987-12-08 1989-03-14 General Electric Company Modified statistical coding of digital signals
US5043919A (en) 1988-12-19 1991-08-27 International Business Machines Corporation Method of and system for updating a display unit
DE3943880B4 (de) 1989-04-17 2008-07-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Digitales Codierverfahren
FR2646978B1 (fr) 1989-05-11 1991-08-23 France Etat Procede et installation a codage de signaux sonores
US5179442A (en) 1989-06-02 1993-01-12 North American Philips Corporation Method and apparatus for digitally processing a high definition television augmentation signal
US5128758A (en) 1989-06-02 1992-07-07 North American Philips Corporation Method and apparatus for digitally processing a high definition television augmentation signal
JPH0832039B2 (ja) 1989-08-19 1996-03-27 日本ビクター株式会社 可変長符号化方法及びその装置
US5040217A (en) 1989-10-18 1991-08-13 At&T Bell Laboratories Perceptual coding of audio signals
US5146324A (en) 1990-07-31 1992-09-08 Ampex Corporation Data compression using a feedforward quantization estimator
JPH04199981A (ja) 1990-11-29 1992-07-21 Nec Corp 即時処理型1次元符号器
US5266941A (en) 1991-02-15 1993-11-30 Silicon Graphics, Inc. Apparatus and method for controlling storage of display information in a computer system
KR100312664B1 (ko) 1991-03-29 2002-12-26 소니 가부시끼 가이샤 디지탈신호부호화방법
JP2586260B2 (ja) 1991-10-22 1997-02-26 三菱電機株式会社 適応的ブロッキング画像符号化装置
JP3134424B2 (ja) 1991-10-31 2001-02-13 ソニー株式会社 可変長符号化方法及び装置
US5227878A (en) 1991-11-15 1993-07-13 At&T Bell Laboratories Adaptive coding and decoding of frames and fields of video
DE69228983T2 (de) 1991-12-18 1999-10-28 Koninkl Philips Electronics Nv System zum Übertragen und/oder Speichern von Signalen von texturierten Bildern
US5227788A (en) 1992-03-02 1993-07-13 At&T Bell Laboratories Method and apparatus for two-component signal compression
NO175080B (no) * 1992-03-11 1994-05-16 Teledirektoratets Forskningsav Fremgangsmåte for koding av bildedata
KR950010913B1 (ko) 1992-07-23 1995-09-25 삼성전자주식회사 가변장부호화 및 복호화시스템
JP3348310B2 (ja) * 1992-09-28 2002-11-20 ソニー株式会社 動画像符号化方法および動画像符号化装置
US5982437A (en) 1992-10-26 1999-11-09 Sony Corporation Coding method and system, and decoding method and system
JP2959916B2 (ja) 1992-10-28 1999-10-06 松下電器産業株式会社 デジタル・ビデオ・コーダ用のバーサタイルなエスケープ・ラン・レベル・コーダ
KR0166722B1 (ko) 1992-11-30 1999-03-20 윤종용 부호화 및 복호화방법 및 그 장치
US5467134A (en) 1992-12-22 1995-11-14 Microsoft Corporation Method and system for compressing video data
US5400075A (en) 1993-01-13 1995-03-21 Thomson Consumer Electronics, Inc. Adaptive variable length encoder/decoder
US5544286A (en) 1993-01-29 1996-08-06 Microsoft Corporation Digital video data compression technique
TW224553B (en) 1993-03-01 1994-06-01 Sony Co Ltd Method and apparatus for inverse discrete consine transform and coding/decoding of moving picture
ATE211326T1 (de) 1993-05-31 2002-01-15 Sony Corp Verfahren und vorrichtung zum kodieren oder dekodieren von signalen und aufzeichnungsmedium
US5504591A (en) 1994-04-25 1996-04-02 Microsoft Corporation System and method for compressing graphic images
US5457495A (en) 1994-05-25 1995-10-10 At&T Ipm Corp. Adaptive video coder with dynamic bit allocation
JP3237089B2 (ja) 1994-07-28 2001-12-10 株式会社日立製作所 音響信号符号化復号方法
JP3220598B2 (ja) * 1994-08-31 2001-10-22 三菱電機株式会社 可変長符号テーブルおよび可変長符号化装置
US5568167A (en) 1994-09-23 1996-10-22 C-Cube Microsystems, Inc. System for providing antialiased video overlays
JP3474005B2 (ja) 1994-10-13 2003-12-08 沖電気工業株式会社 動画像符号化方法及び動画像復号方法
ATE214524T1 (de) 1994-11-04 2002-03-15 Koninkl Philips Electronics Nv Kodierung und dekodierung eines breitbandigen digitalen informationssignals
KR0141875B1 (ko) 1994-11-30 1998-06-15 배순훈 줄길이복호화기
KR100254402B1 (ko) 1994-12-19 2000-05-01 전주범 줄-길이 부호화방법 및 줄-길이 부호화기
US5574449A (en) 1995-02-24 1996-11-12 Intel Corporation Signal processing with hybrid variable-length and entropy encodidng
US6104754A (en) 1995-03-15 2000-08-15 Kabushiki Kaisha Toshiba Moving picture coding and/or decoding systems, and variable-length coding and/or decoding system
US5991451A (en) 1995-03-23 1999-11-23 Intel Corporation Variable-length encoding using code swapping
KR100209410B1 (ko) 1995-03-28 1999-07-15 전주범 영상 신호 부호화 장치
JP3766426B2 (ja) 1995-04-14 2006-04-12 株式会社東芝 可変長符号化方法及び装置
US5884269A (en) 1995-04-17 1999-03-16 Merging Technologies Lossless compression/decompression of digital audio data
US5864711A (en) 1995-07-05 1999-01-26 Microsoft Corporation System for determining more accurate translation between first and second translator, and providing translated data to second computer if first translator is more accurate
US5825830A (en) 1995-08-17 1998-10-20 Kopf; David A. Method and apparatus for the compression of audio, video or other data
US5933535A (en) 1995-10-05 1999-08-03 Microsoft Corporation Object-based video compression process employing arbitrarily-shaped features
US5819215A (en) 1995-10-13 1998-10-06 Dobson; Kurt Method and apparatus for wavelet based data compression having adaptive bit rate control for compression of digital audio or other sensory data
US6957350B1 (en) 1996-01-30 2005-10-18 Dolby Laboratories Licensing Corporation Encrypted and watermarked temporal and resolution layering in advanced television
US5682152A (en) 1996-03-19 1997-10-28 Johnson-Grace Company Data compression using adaptive bit allocation and hybrid lossless entropy encoding
US6215910B1 (en) 1996-03-28 2001-04-10 Microsoft Corporation Table-based compression with embedded coding
KR100324610B1 (ko) 1996-05-28 2002-02-27 모리시타 요이찌 화상예측 복호화장치 및 방법
DE19628292B4 (de) 1996-07-12 2007-08-02 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Verfahren zum Codieren und Decodieren von Stereoaudiospektralwerten
DE19628293C1 (de) 1996-07-12 1997-12-11 Fraunhofer Ges Forschung Codieren und Decodieren von Audiosignalen unter Verwendung von Intensity-Stereo und Prädiktion
US5828426A (en) 1996-08-20 1998-10-27 Samsung Electronics Co., Ltd. Apparatus for decoding variable length coded data of both MPEG-1 and MPEG-2 standards
US6233017B1 (en) 1996-09-16 2001-05-15 Microsoft Corporation Multimedia compression system with adaptive block sizes
US5748789A (en) 1996-10-31 1998-05-05 Microsoft Corporation Transparent block skipping in object-based video coding systems
DE69739536D1 (de) 1996-11-06 2009-09-24 Panasonic Corp Methode zur Bilddekodierung mit Kodes variabler Länge
US6011498A (en) 1996-12-20 2000-01-04 Philips Electronics North America Corporation Dual-speed variable length decoding architecture for MPEG-2 video data
JP3484310B2 (ja) 1997-01-17 2004-01-06 松下電器産業株式会社 可変長符号器
NL1005084C2 (nl) 1997-01-24 1998-07-27 Oce Tech Bv Werkwijze voor het uitvoeren van een beeldbewerkingsoperatie op looplengte gecodeerde bitmaps.
US6272175B1 (en) 1997-02-13 2001-08-07 Conexant Systems, Inc. Video signal coding systems and processes using adaptive quantization
US5974184A (en) 1997-03-07 1999-10-26 General Instrument Corporation Intra-macroblock DC and AC coefficient prediction for interlaced digital video
FI114248B (fi) 1997-03-14 2004-09-15 Nokia Corp Menetelmä ja laite audiokoodaukseen ja audiodekoodaukseen
US6728775B1 (en) 1997-03-17 2004-04-27 Microsoft Corporation Multiple multicasting of multimedia streams
US5883633A (en) 1997-04-15 1999-03-16 Microsoft Corporation Method and system of variable run length image encoding using sub-palette
US6259810B1 (en) 1997-04-15 2001-07-10 Microsoft Corporation Method and system of decoding compressed image data
SE512719C2 (sv) 1997-06-10 2000-05-02 Lars Gustaf Liljeryd En metod och anordning för reduktion av dataflöde baserad på harmonisk bandbreddsexpansion
DE19730129C2 (de) 1997-07-14 2002-03-07 Fraunhofer Ges Forschung Verfahren zum Signalisieren einer Rauschsubstitution beim Codieren eines Audiosignals
US6421738B1 (en) 1997-07-15 2002-07-16 Microsoft Corporation Method and system for capturing and encoding full-screen video graphics
WO1999022525A1 (en) 1997-10-23 1999-05-06 Mitsubishi Denki Kabushiki Kaisha Image encoding method, image encoder, image decoding method, and image decoder
JPH11161782A (ja) 1997-11-27 1999-06-18 Seiko Epson Corp カラー画像の符号化方法およびその符号化装置ならびにカラー画像の復号化方法およびその復号化装置
US6111914A (en) 1997-12-01 2000-08-29 Conexant Systems, Inc. Adaptive entropy coding in adaptive quantization framework for video signal coding systems and processes
US5946043A (en) 1997-12-31 1999-08-31 Microsoft Corporation Video coding using adaptive coding of block parameters for coded/uncoded blocks
US6226407B1 (en) 1998-03-18 2001-05-01 Microsoft Corporation Method and apparatus for analyzing computer screens
US6054943A (en) 1998-03-25 2000-04-25 Lawrence; John Clifton Multilevel digital information compression based on lawrence algorithm
JP3097665B2 (ja) 1998-06-19 2000-10-10 日本電気株式会社 異常検出機能を備えたタイムラプスレコーダ
US6253165B1 (en) 1998-06-30 2001-06-26 Microsoft Corporation System and method for modeling probability distribution functions of transform coefficients of encoded signal
US6704705B1 (en) 1998-09-04 2004-03-09 Nortel Networks Limited Perceptual audio coding
DE19840835C2 (de) 1998-09-07 2003-01-09 Fraunhofer Ges Forschung Vorrichtung und Verfahren zum Entropiecodieren von Informationswörtern und Vorrichtung und Verfahren zum Decodieren von Entropie-codierten Informationswörtern
JP3723740B2 (ja) 1998-10-06 2005-12-07 松下電器産業株式会社 ロスレス圧縮符号方法とその装置およびロスレス圧縮復号方法とその装置
US6377930B1 (en) 1998-12-14 2002-04-23 Microsoft Corporation Variable to variable length entropy encoding
US6300888B1 (en) 1998-12-14 2001-10-09 Microsoft Corporation Entrophy code mode switching for frequency-domain audio coding
US6404931B1 (en) 1998-12-14 2002-06-11 Microsoft Corporation Code book construction for variable to variable length entropy encoding
US6223162B1 (en) 1998-12-14 2001-04-24 Microsoft Corporation Multi-level run length coding for frequency-domain audio coding
US6975254B1 (en) 1998-12-28 2005-12-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Methods and devices for coding or decoding an audio signal or bit stream
US6100825A (en) 1998-12-31 2000-08-08 Microsoft Corporation Cluster-based data compression system and method
US6678419B1 (en) 1999-03-26 2004-01-13 Microsoft Corporation Reordering wavelet coefficients for improved encoding
US6477280B1 (en) 1999-03-26 2002-11-05 Microsoft Corporation Lossless adaptive encoding of finite alphabet data
US6573915B1 (en) 1999-12-08 2003-06-03 International Business Machines Corporation Efficient capture of computer screens
US6499010B1 (en) 2000-01-04 2002-12-24 Agere Systems Inc. Perceptual audio coder bit allocation scheme providing improved perceptual quality consistency
US6542863B1 (en) 2000-06-14 2003-04-01 Intervideo, Inc. Fast codebook search method for MPEG audio encoding
EP1199812A1 (en) 2000-10-20 2002-04-24 Telefonaktiebolaget Lm Ericsson Perceptually improved encoding of acoustic signals
US6735339B1 (en) 2000-10-27 2004-05-11 Dolby Laboratories Licensing Corporation Multi-stage encoding of signal components that are classified according to component value
US6757439B2 (en) 2000-12-15 2004-06-29 International Business Machines Corporation JPEG packed block structure
JP2002246914A (ja) 2001-02-15 2002-08-30 Nippon Telegr & Teleph Corp <Ntt> 符号変換装置と符号変換方法および符号変換プログラムを記録した記録媒体と符号変換プログラム
US6968091B2 (en) 2001-09-18 2005-11-22 Emc Corporation Insertion of noise for reduction in the number of bits for variable-length coding of (run, level) pairs
KR101030862B1 (ko) 2001-11-22 2011-04-22 파나소닉 주식회사 부호화 방법 및 부호화 장치
US6825847B1 (en) 2001-11-30 2004-11-30 Nvidia Corporation System and method for real-time compression of pixel colors
CN101448162B (zh) 2001-12-17 2013-01-02 微软公司 处理视频图像的方法
EP1472882A1 (en) 2002-01-22 2004-11-03 Koninklijke Philips Electronics N.V. Reducing bit rate of already compressed multimedia
US6690307B2 (en) 2002-01-22 2004-02-10 Nokia Corporation Adaptive variable length coding of digital video
AU2003213149A1 (en) 2002-02-21 2003-09-09 The Regents Of The University Of California Scalable compression of audio and other signals
US7099387B2 (en) 2002-03-22 2006-08-29 Realnetorks, Inc. Context-adaptive VLC video transform coefficients encoding/decoding methods and apparatuses
US7302387B2 (en) 2002-06-04 2007-11-27 Texas Instruments Incorporated Modification of fixed codebook search in G.729 Annex E audio coding
US7016547B1 (en) 2002-06-28 2006-03-21 Microsoft Corporation Adaptive entropy encoding/decoding for screen capture content
US7502743B2 (en) 2002-09-04 2009-03-10 Microsoft Corporation Multi-channel audio encoding and decoding with multi-channel transform selection
US7433824B2 (en) 2002-09-04 2008-10-07 Microsoft Corporation Entropy coding by adapting coding between level and run-length/level modes
US7328150B2 (en) 2002-09-04 2008-02-05 Microsoft Corporation Innovations in pure lossless audio compression
US6795584B2 (en) 2002-10-03 2004-09-21 Nokia Corporation Context-based adaptive variable length coding for adaptive block transforms
AU2003290536A1 (en) 2002-10-23 2004-05-13 Divxnetworks, Inc. Method and system for supercompression of compressed digital video
US6646578B1 (en) * 2002-11-22 2003-11-11 Ub Video Inc. Context adaptive variable length decoding system and method
US7724827B2 (en) 2003-09-07 2010-05-25 Microsoft Corporation Multi-layer run level encoding and decoding
CN1214649C (zh) * 2003-09-18 2005-08-10 中国科学院计算技术研究所 用于视频预测残差系数编码的熵编码方法
US7132963B2 (en) * 2004-09-13 2006-11-07 Ati Technologies Inc. Methods and apparatus for processing variable length coded data
US7831434B2 (en) 2006-01-20 2010-11-09 Microsoft Corporation Complex-transform channel coding with extended-band frequency coding
US8190425B2 (en) 2006-01-20 2012-05-29 Microsoft Corporation Complex cross-correlation parameters for multi-channel audio
US8278779B2 (en) 2011-02-07 2012-10-02 General Electric Company System and method for providing redundant power to a device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1531209A (zh) * 2003-03-11 2004-09-22 佳能株式会社 编码方法和编码装置、计算机程序以及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106797483A (zh) * 2014-10-06 2017-05-31 佳能株式会社 使用调色板模式的改进编码处理
CN106797483B (zh) * 2014-10-06 2019-11-19 佳能株式会社 使用调色板模式的改进编码处理

Also Published As

Publication number Publication date
CA2618788A1 (en) 2007-02-22
NZ565672A (en) 2011-07-29
TWI431948B (zh) 2014-03-21
WO2007021568A3 (en) 2008-01-03
US20070036223A1 (en) 2007-02-15
CN101243611A (zh) 2008-08-13
JP4906855B2 (ja) 2012-03-28
RU2417518C2 (ru) 2011-04-27
CA2618788C (en) 2014-07-15
KR101176691B1 (ko) 2012-08-23
EP1913698B1 (en) 2018-03-14
EP1913698A4 (en) 2011-12-21
EG25353A (en) 2011-12-18
NO20080535L (no) 2008-05-09
US8599925B2 (en) 2013-12-03
WO2007021568A2 (en) 2007-02-22
JP2009505494A (ja) 2009-02-05
AU2006280226B2 (en) 2011-03-17
EP1913698A2 (en) 2008-04-23
ZA200801177B (en) 2010-08-25
IL189126A0 (en) 2008-08-07
RU2008105046A (ru) 2009-08-20
BRPI0614759A2 (pt) 2011-04-12
AU2006280226A1 (en) 2007-02-22
MX2008001856A (es) 2008-04-14
IL189126A (en) 2015-03-31
TW200711324A (en) 2007-03-16
KR20080042809A (ko) 2008-05-15
MY145748A (en) 2012-03-30

Similar Documents

Publication Publication Date Title
CN101243611B (zh) 变换块的高效编码和解码
Jayasankar et al. A survey on data compression techniques: From the perspective of data quality, coding schemes, data type and applications
CN101243459B (zh) 宽范围系数的自适应编码和解码
US6885320B2 (en) Apparatus and method for selecting length of variable length coding bit stream using neural network
WO1997034375A1 (en) Method for reducing storage requirements for digital data
US9077960B2 (en) Non-zero coefficient block pattern coding
RU2567988C2 (ru) Кодер, способ кодирования данных, декодер, способ декодирования данных, система передачи данных, способ передачи данных и программный продукт
CN101653004A (zh) 从编码比特流选择性地解码预定数据单元的解码器
Wei et al. Three-sided side match finite-state vector quantization
Arora et al. Review of Image Compression Techniques
Kumar et al. An optimized block estimation based image compression and decompression algorithm
He et al. How Can Spiral Architecture Improve Image Compression?
CN115880379A (zh) 语义可伸缩图像编码方法、系统、设备及存储介质
Shanbehzadeh et al. Index compressed image adaptive vector quantisation
Ponlatha et al. High Quality Video Compression for Noise Removal Classification using Discrete Cosine Transforms based Spatial Detection
Bhosale et al. A Modified Image Template for FELICS Algorithm for Lossless Image Compression
Alsous et al. Developing a High Performance Adjustable Quality Data Compression Scheme for Multimedia Messaging
Ahmed New Method to Reduce the Size of Codebook in Vector Quantization of Images
WO1998059495A1 (en) Device and method for iterative conversion encoding of images, device and method for iterative conversion decoding of images, and providing medium
JPH1118088A (ja) 画像の反復変換符号化装置及び方法、並びに復号化装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150505

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150505

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.