CN101080932A - 具有基于上下文的参数缓冲器的图像解码器 - Google Patents

具有基于上下文的参数缓冲器的图像解码器 Download PDF

Info

Publication number
CN101080932A
CN101080932A CNA2005800429603A CN200580042960A CN101080932A CN 101080932 A CN101080932 A CN 101080932A CN A2005800429603 A CNA2005800429603 A CN A2005800429603A CN 200580042960 A CN200580042960 A CN 200580042960A CN 101080932 A CN101080932 A CN 101080932A
Authority
CN
China
Prior art keywords
relevant
context
macro block
parameter type
group
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
CNA2005800429603A
Other languages
English (en)
Inventor
R·萨克塞纳
M·哈克
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN101080932A publication Critical patent/CN101080932A/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
    • H04N19/423Methods 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 characterised by memory arrangements
    • H04N19/426Methods 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 characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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
    • 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/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • 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/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

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

Abstract

根据一些实施例,接收与表示图像一部分的宏块相关的第一参数类型的第一值。所述宏块可以被分割成第一组子部分,所述第一参数类型的不同值可以与所述第一组中不同的子部分相关。然后,将所述第一值存储在上下文缓冲器中,所述上下文缓冲器包括与所述第一参数类型相关的第一上下文区域和与第二参数类型相关的第二上下文区域。和所述第二上下文区域相比,所述第一上下文区域用于存储较少的每个参数类型的值。

Description

具有基于上下文的参数缓冲器的图像解码器
背景技术
媒体播放器可以将运动图像输出到显示设备。例如,媒体播放器可以获得本地存储的图像信息或者从媒体服务器接收图像信息流(例如,内容提供商可以通过电缆或者卫星网络将包括高清晰度图像帧的流传输到电视、机顶盒或者数字视频录像机)。一些情况下,对图像信息进行编码,以减少表示图像所用的数据量。例如,可以将图像分割为较小的图像部分,例如宏块,从而使得对于一个图像部分所编码的信息不必对于另一图像部分重复(例如,因为多个相邻的图像部分可能经常会具有类似的颜色和亮度特性)。因此,在对特定图像部分进行解码时,媒体播放器需要本地存储和访问关于相邻图像部分的信息。然而,随着图像部分的大小和形状更加复杂,存储关于这些相邻图像部分的信息可能需要很大的存储空间,否则就难于实现。
附图说明
图1是媒体系统的框图;
图2示出被分割为宏块的显示;
图3示出被分割为宏块、宏块分区(macroblock partition)和子宏块的显示;
图4示出了单个宏块;
图5和图6示出了被分割为两个宏块分区的宏块;
图7示出了被分割为四个宏块分区的宏块;
图8示出了被分割为多个子宏块分区(sub-macroblock partition)的子宏块;
图9是根据一些实施例的设备框图;
图10是说明根据一些实施例的方法的流程图;
图11示出根据一些实施例的上下文(context)缓冲器的一部分;
图12示出根据一些实施例,用于第II组参数的上下文映射编号;
图13到17示出根据一些实施例,结合宏块、宏块分区和子宏块的用于第II组参数的上下文映射;
图18示出根据一些实施例,用于第III组参数的上下文映射编号;
图19到23示出根据一些实施例,结合宏块、宏块分区和子宏块的用于第III组参数的上下文映射;以及
图24是根据一些实施例的系统框图。
具体实施方式
媒体播放器可以接收图像信息、解码该信息,并向显示设备输出信号。例如,数字视频录像机(DVR)可以获得本地存储的图像信息,或者,机顶盒可以从远程设备接收图像信息流(例如,内容提供商可以通过电缆或者卫星网络将包含高清晰度图像帧的流传输到机顶盒)。图1是媒体系统100的框图,包括媒体服务器100,该系统包括通过通信网络130给远程媒体服务器120提供图像信息的媒体服务器110。
在发射机116将数据作为图像信息流发射之前,编码器114可以减少用于表示图像内容112的数据的量。如这里所用的,可以根据多个不同协议中的任何一种,对信息进行编码和/或解码。例如,可以根据国际电信联盟—电信标准化部门(ITU-T)推荐的题为″AdvancedVideo Coding for Generic Audiovisual Services(用于通用音视频服务的先进视频编码)″(2004)的H.264,或者国际标准化组织(ISO)/国际工程联合会(IEC)运动图像专家组(MPEG)的题为″Advanced VideoCoding(Part 10)(先进视频编码(第10部分))″(2004)的标准,来处理图像信息。作为其它的例子,可以根据ISO/IEC的编号为14496、题为″MPEG-4 Information Technology-Coding of Audio-VisualObiects(MPEG-4信息技术-音频视频对象编码)″(2001)的文档,或者由ISO/IEC的编号为13818-1、题为″Information Technology-Generic Coding of Moving Pictures and Associated Audio Information(信息技术-运动图像及其相关音频信息的通用编码)″(2000)的文档所定义的MPEG2协议,来处理图像信息。
图像可以分割成较小的图像部分,针对一个图像部分所编码的信息可以对另一个图像部分再次使用。因此,媒体播放器120的输出引擎122在对接收到的图像信息流进行解码时,可以将关于相邻部分的信息存储到基于块的参数缓冲器124中,并且从该参数缓冲器124中访问所述信息。基于块的参数缓冲器124可以包括,例如,位于输出引擎122本地或外部的存储结构。
例如,考虑H.264图像信息。如图2所示,显示图像200可以被分割成多个“宏块”210。此外,关于一个宏块210的信息可以使用关于相邻宏块的信息进行编码(例如,因为多个相邻的宏块210可能经常具有类似特性)。
因此,当对特定的宏块210进行解码和/或解压缩时,关于该宏块210的信息可以使用来自一个或多个相邻块的预测值推导出来。在一些情况下,从单个相邻块的参数中推导出预测参数,而在另一些情况下则从与多个相邻块相关的参数推导出来。可以从接收到的图像信息流中获得预测的值和实际值之间的差异,然后输出引擎122使用该差异来产生表示原始图像内容112的输出。
这样,在对特定的宏块210进行解码时,可以存储和访问关于相邻宏块的信息。然而,随着宏块的大小和划分变得更加复杂,存储关于相邻宏块的信息可能需要很大的存储空间,否则就难于实现。
例如,图3示出了显示300。在这种情况下,显示300的基本上类似的部分(例如,背景区域)可以作为多个宏块310进行编码。然而,如参考图4-7所述,包括更多详细图像信息的其他部分可以进一步被分割成宏块分区320和子宏块330。此外,随着图像改变,显示300可以以不同方式分割。尽管划分上的灵活性可以提高压缩和/或提高呈现给用户的图像质量,但是对于关于显示300相邻区域的信息的存储和访问可能很复杂。此外,这会大幅度增加存储相邻参数值所需的片上存储结构(例如,缓冲器)的数量。
图4示出了表示一个16×16个图像信息采样的组(例如,总共256个图像采样或者像素)的单个宏块400。每个宏块400可以进一步分割成宏块分区。例如,如图5所示,单个宏块500可以分割成第一宏块分区510(例如,表示宏块500上半部的16×8个采样)和第二宏块分区520(表示宏块500下半部的16×8个采样)。根据H.264,第一宏块分区510标注为0,第二宏块分区520标注为1。
根据原始图像,还可以如图6所示划分宏块。这种情况下,宏块600被分割成第一宏块分区610(例如,表示宏块600左半部的8×16个采样)和第二宏块分区620(表示宏块600右半部的8×16个采样)。与前文类似,第一宏块分区610标注为0,第二宏块分区620标准为1。
如图7所示,显示的更复杂的区域可以进一步被分割成子宏块。这种情况下,宏块700被分割成(i)第一子宏块,编号为”0”(例如,表示宏块700左上四分之一区域的8×8个采样);(ii)第二子宏块,编号为“1”(例如,表示宏块700右上四分之一区域的8×8个采样);(iii)第三子宏块,编号为“2”(例如,表示宏块700左下四分之一区域的8×8个采样);(iv)第四子宏块,编号为“3”(例如,表示宏块700右下四分之一区域的8×8个采样)。
如图8所示,每个子宏块可以进一步分割。这里,如参照图7所述,单个宏块800被分割成四个子宏块810、820、830、840。此外,第二子宏块820被分割成两个子宏块分区,每个表示一个8×4个采样的组。类似地,第三子宏块830被分割两个子宏块分区,每个表示一个4×8个采样的组。最后,第四子宏块840被分割成四个子宏块分区,每个表示原始宏块800的一个4×4个采样的组。如上文,根据H.264提供编号来标注这些子宏块分区。
请注意,可以针对宏块的不同大小的区域来定义不同类型的图像参数。例如,一些类型的图像参数可以始终应用于所有宏块,其他类型的参数可以应用于特定的子宏块(或宏块分区),另外的类型可以应用于子宏块分区。
图9是根据一些实施例的设备900的框图。设备900例如可以与媒体播放器、电视、个人计算机(PC)、游戏设备、DVR和/或机顶盒相关联。设备900包括输出引擎910。输出引擎910例如可以解码图像信息流并产生要提供给显示设备的输出。
为了解码图像信息,输出引擎910可以将信息存储到本地上下文缓冲器和/或访问本地上下文缓冲器的信息。例如,上下文缓冲器可以存储和与当前进行解码的宏块*相邻的宏块A、B、C和D相关的H.264参数。上下文缓冲器还可以存储关于其他宏块的信息(例如,可以将一整行宏块的信息存储在上下文缓冲器中)。根据一些实施例,上下文缓冲器和输出引擎910形成在同一管芯(die)上。还可以提供在输出引擎910外部的存储单元920,该存储单元920可以根据此处所述的任何实施例存储信息。外部存储单元920可以是,例如,双倍数据速率(DDR)同步动态随机存取存储器(SDRAM)单元。
根据一些实施例,上下文缓冲器和/或外部存储单元920包括与第一参数类型相关的第一上下文区域921。具体而言,正在解码的宏块可以被分割成第一组子部分,第一参数类型的不同值可以和该第一组中不同的子部分相关。例如,可以将能够被指定到子宏块级别(例如,特定的8×8采样区域)的参数存储在该第一上下文区域921中。
类似地,上下文缓冲器和/或外部存储单元920包括与宏块的第二参数类型相关的第二上下文区域922。这种情况下,宏块还可以被分割成第二组子部分,其中,第二参数类型的不同值可以和该第二组中不同的子部分相关。此外,第二组中的子部分的数量可以大于第一组中的子部分数量。例如,将能够被指定到特定子宏块级别(例如,特定的4×4采样区域)的参数存储在第二上下文区域922中。注意,尽管图9示出了两个上下文区域921、922,实施例可以与两个以上的上下文区域相关(例如,可以提供三个上下文区域来存储H.264信息)。还要注意,尽管图9示出了宏块A的单独一组上下文区域921、922,但是,可以在上下文缓冲器和/或外部存储单元920中为每个宏块提供类似的上下文区域。
此外,上下文区域921、922可以是不连续的。例如,第一上下文区域921可以在物理上存储在第二上下文区域922的多个部分之间。此外,一个宏块的第一上下文区域可以在物理上存储的与另一个宏块的第一上下文区域相距甚远。
然后,输出引擎910根据上下文缓冲器中的信息,解码接收到的图像信息(例如,从远程媒体服务器或者本地存储设备接收)。根据一些实施例,上下文缓冲器和输出引擎910位于同一管芯上。
图10的流程图说明根据一些实施例的方法。该方法可以例如由图9的输出引擎910执行。这里描述的流程图不一定意味着动作的固定顺序,可以以任何切合实际的顺序执行实施例。注意,这里描述的任何方法可以由硬件、软件(包括微代码)、固件或这些手段的任意组合来执行。例如,存储介质可以在其上存储指令,当机器执行该指令时,引起根据这里描述的任何实施例的执行。
在1002,接收第一参数类型的第一值。第一参数类型例如可以与表示图像一部分的宏块相关。此外,宏块可被分割成第一组子部分(例如子宏块),第一参数类型的不同值可以与该第一组中不同的子部分相关。
在1004,接收宏块的第二参数类型的第二值。宏块还可以被分割成第二组子部分(例如子宏块分区),第二参数类型的不同值可以与该第二组中不同的子部分相关。此外,第一组中的子部分表示比第二组中的子部分更大的图像区域。
在1006,第一和第二参数类型被映射到上下文缓冲器内。具体而言,上下文缓冲器具有与第一参数类型相关的第一上下文区域和第二参数类型相关的第二上下文区域。此外,和第二上下文区域相比,第一上下文区域用于存储的每个参数类型的值较少。
然后,在步骤1008,基于该映射,将第一值存储到第一上下文区域,将第二值存储到第二上下文区域。根据一些实施例,然后使用上下文缓冲器中的信息来对宏块进行解码并产生与图像相关的输出。
图11示出了根据一些实施例的上下文缓冲器1100的一部分,其可用来存储宏块的参数。具体而言,上下文缓冲器1100用于存储三种不同类型的参数。这些数值现在可用来以宏块、宏块分区和/或子宏块为基础而对第II组参数值命名,和/或将第II组参数值映射到上下文缓冲器区域。注意,上下文缓冲器1100可以存储图11所示的多个宏块的信息。
在此,上下文缓冲器1100中的第一参数类型称为”第I组”参数。第I组参数可以为例如,只能以宏块为基础定义的参数。即,该参数的单个值始终用于整个宏块。这样,只需要在上下文缓冲器1100中存储该类型每个参数的单个值或“上下文”。针对H.264解码,第I组参数的例子包括SKIPMB(例如,要跳过宏块)、PMODE(例如,帧内预测模式信息或帧间预测模式信息)和/或INTRLCMB(例如,与宏块相关的帧模式信息或场模式信息)。
在此,上下文缓冲器1100中存储的第二参数类型称为“第II组”参数。第II组参数可以为例如,应用于不考虑实际宏块分区而映射到8×8区域的采样的参数。即,该参数类型最多有4个不同值可用于一个宏块。这样,上下文缓冲器1100中为这些参数的每一个存储4个值或“上下文”(例如,cntx_0到cntx_3)。针对H.264解码,第II组参数的例子包括参考索引(reference index)和/或推理标记(inference flag)。
在此,上下文缓冲器1100中存储的第三参数类型称为“第III组”参数。第III组参数可以为例如,应用于不考虑实际宏块分区而映射到4×4区域的采样的参数。即,该参数类型最多有16个不同值的可用于一个宏块。这样,上下文缓冲器1100中为这些参数的每一个存储16个值或“上下文”(例如,cntx_0到cntx_15)。针对H.264解码,第III组参数的例子包括在x或y方向运动矢量、帧内预测模式信息和/或编码位标记。
通过以这种方式划分参数或者上下文缓冲器1100,实施例可以减少用于协助解码的存储结构数量。下面将参考图12到22描述一些用来将参数值映射到/出上下文缓冲器1100的方式。
图12示出根据一些实施例的第II组参数上下文映射编号1200。具体而言,宏块中的四个可能子宏块的每一个编号为从0到3。
尽管第II组参数的四个不同值可以应用于单个宏块,一些情况下,可将单个值用于整个宏块(例如,当宏块和图像的背景区域相关并选择了更大的划分时)。这种情况下,在上下文缓冲器的全部四个上下文中存储一个值(如图13的映射1300中的(1-3)所示)。例如,在为该参数预留的上下文缓冲器部分内的cntx_0到cntx_3中写入该值。此外,根据宏块左上角下方处的子宏块(如图12所定义)的标号,该组四个值可以设为0。
类似地,一个第II组参数值可应用于整个宏块分区。例如,考虑图14,其中示出在宏块被分割成两个水平的划分0和2时的映射1400(同样,根据宏块分区的左上角下方处的子宏块标号命名)。这种情况下,宏块分区0的值映射到上下文0和1,宏块分区2的值映射到上下文2和3。注意,一个第II组参数值可以被映射并存储到多个上下文中。
图15示出了当宏块被垂直分割成两个划分0和1时的映射1500(同样,根据宏块分区的左上角下方处的子宏块标号命名)。这种情况下,宏块分区0的值映射到上下文0和2,宏块分区1的值映射到上下文1和3。
当宏块被分割成四个不同子宏块时,用于第II组参数的四个上下文中的每一个可以存储不同的值。例如,图15示出了映射1600,其中,上下文0存储用于子宏块0的值,上下文1存储用于子宏块1的值,上下文2存储用于子宏块2的值,上下文3存储用于子宏块3的值。
图17示出了当对宏块的不同部分按照不同方式进行划分时的映射1700。具体而言,左上和左下的子宏块分别映射到上下文0和2。右边的两个宏块形成划分0,并且将划分0的值映射到上下文0和2。
图18示出了根据一些实施例的第III组参数的上下文映射编号1800。具体而言,宏块中的16个可能子宏块分区中的每一个编号为0到15。现在,以宏块、宏块分区、子宏块和/或子宏块分区为基础,而对第III组参数值命名和/或将第III组参数值映射到上下文缓冲器区域。
尽管第III组参数的16个不同值可以应用于单个宏块,一些情况下,可将单个值用于整个宏块(例如,当宏块和图像的背景区域相关时)。这种情况下,在上下文缓冲器的全部16个上下文(如图19的映射1900中的(1-15)所示)中存储一个值。此外,根据宏块的左上角下方处的子宏块分区(如图18所定义)的标号,该组16个值可以设为0。
类似地,一个第III组参数值可应用于整个宏块分区。例如,考虑图20,其中示出当宏块被分割成两个水平的划分0和8时的映射2000(同样,根据宏块分区的左上角下方处的子宏块标号命名)。这种情况下,宏块分区0的值映射到上下文0到7,宏块分区8的值映射到上下文8和15。注意,一个第III组参数值已经被映射并存储到多个上下文中。
图21示出了当宏块被垂直分割成两个划分0和4时的映射1500(同样,根据宏块分区的左上角下方处的子宏块标号命名)。这种情况下,宏块分区0的值映射到上下文0到3和8到11,宏块分区4的值映射到上下文4和7和12到15。
第III组参数也可以被定义到子宏块级别。这种情况下,如图22的映射2200所示,子宏块0映射到上下文0到3,子宏块4映射到上下文4到7,子宏块8映射到宏块8到11,子宏块12映射到宏块12到15。
最后,图23示出了当对宏块的不同子宏块按照不同方式进行划分时的映射2300。具体而言,左上的子宏块未被划分,因此映射到上下文0到3。右上的子宏块被划分成子宏块分区4(映射到上下文4和5)和子宏块分区6(映射到子宏块6和7)。
左下的子宏块被划分成子宏块分区8(映射到上下文8和10)和子宏块分区9(映射到子宏块9和11)。右下的子宏块被划分成四个子宏块分区12到15,每个子宏块分区都被存储在相关的上下文中。在最坏情况下,一个第III组参数与16个不同值相关(图23未示出)。这种情况下,每个值都存储在不同的上下文中。
注意,参考图11到23描述的映射可用于将信息存储在上下文缓冲器中或从上下文缓冲器中获得信息。此外,根据一些实施例,表格和/或逻辑电路可用于实现映射方案。
图24是根据一些实施例的系统2400的框图。系统2400可以与例如数字显示设备、电视机(如高清晰电视(HDTV)单元)、DVR、游戏控制台、PC或膝上型电脑、和/或机顶盒(例如,电缆或卫星解码器)相关。
系统2400包括数据存储设备2420,如片上缓冲器或外部SDRAM单元,该数据存储设备根据这里描述的任何实施例工作。例如,数据存储设备2420可以包括与运动图像区域(如宏块)的整个区域参数类型相关的整个区域存储部分,其中,整个区域参数类型的单个值与图像区域相关。整个区域存储部分可以例如,用于存储这里描述的第I组H.264参数。
数据存储设备2420还可以包括和图像区域的第一参数类型相关的第一存储部分,图像区域可以被分割成第一组子区域。注意,第一参数类型的不同值可以与该第一组中不同的子区域相关。第一存储部分可以,例如,用来存储这里所描述的第II组H.264参数(例如,可用于子宏块)。数据存储设备2420还可以包括与图像区域的第二参数类型相关的第二存储部分,图像区域可以被分割成第二组子区域。此外,第二参数类型的不同值可以和该第二组中不同的子区域相关。注意,在第二组中的子区域的数目可以不同于在第一组中的子区域的数目。例如,第二存储部分可用于存储这里所描述的第III组H.264参数(例如,可用于子宏块分区)。数据存储设备可以为多个宏块(如,当前正在构造的宏块、相邻宏块和/或另外的宏块)存储图24所示的第一、第二和第三部分。
系统2400还可以包括输出引擎2410,如H.264解码器,用于根据数据存储设备2420中的信息对接收到的图像信息流进行解码。例如,输出引擎2410可以至少部分地根据与显示的相邻区域相关的参数,对H.264宏块或H.264宏块的一部分进行解码。根据一些实施例,输出引擎2410产生通过数字输出2430提供给显示设备的信息。
以下阐述各种附加的实施例。这里并不是构成要所有可行实施例的定义,且本领域技术人员将理解许多其它的实施例也是可行的。此外,虽然为清楚起见简短描述以下实施例,但本领域技术人员可以理解,如果需要,将怎样对上面的描述做出任何改变以适应这些及其它实施例和应用。
例如,尽管这里描述了特定的上下文缓冲器编号和映射方法,但是,实施例可以和任何其他类型的缓冲器编号和映射技术相关联。例如,特定的解码方法可以包括与这里作为例子而描述的具有不同大小的图像信息块。
此外,虽然这里使用了特定图像处理协议和网络作为例子(例如,H.264和MPEG4),但可以结合任何其它类型的图像处理协议或网络,诸如数字地面电视广播(DTTB)和社区接入电视(CATV)系统来使用实施例。
这里所描述的若干实施例仅为阐述之目的。本领域技术人员通过这些描述可知,也可以实现其它实施例,所述其他实施例的修改或改变仅由权利要求所限定。

Claims (21)

1、一种方法,包括:
接收与表示图像一部分的宏块相关的第一参数类型的第一值,所述宏块可以被分割成第一组子部分,其中,所述第一参数类型的不同值可以与所述第一组中不同的子部分相关;以及
将所述第一值存储在上下文缓冲器中,所述上下文缓冲器包括与所述第一参数类型相关的第一上下文区域和与第二参数类型相关的第二上下文区域,与所述第二上下文区域相比,所述第一上下文区域适合于存储较小的每个参数类型的值。
2、如权利要求1所述的方法,还包括:
接收与所述宏块相关的所述第二参数类型的第二值,所述宏块可以被进一步分割成第二组子部分,其中,所述第二参数类型的不同值可以与所述第二组中不同的子部分相关,并且其中,与所述第二组中的子部分相比,所述第一组中的子部分表示所述图像的较大区域;以及
将所述第二值存储在所述上下文缓冲器中。
3、如权利要求2所述的方法,还包括:
接收与所述整个宏块相关的第三参数类型的第三值;以及
将所述第三值存储在所述上下文缓冲器的第三上下文区域中,所述第三上下文区域用于存储每个参数类型的单个值。
4、如权利要求2所述的方法,还包括:
将所述第一和第二参数类型映射到所述上下文缓冲器;以及
根据所述映射,将所述第一值存储在所述上下文缓冲器的第一上下文区域,将所述第二值存储在所述上下文缓冲器的第二上下文区域。
5、如权利要求4所述的方法,其中,所述映射包括:
将所述第一值映射到与所述第一组中多个子部分相关的所述第一上下文区域。
6、如权利要求4所述的方法,其中,所述映射还包括:
将所述第二值映射到与所述第二组中多个子部分相关的所述第二上下文区域。
7、如权利要求1所述的方法,其中,所述宏块与下列至少一个相关:(i)H.264信息,(ii)运动图像专家组2信息,或者(iii)运动图像专家组4信息。
8、如权利要求1所述的方法,其中,所述宏块是H.264宏块,并且所述第一组子部分中的每一个都表示具有8×8个图像采样的子宏块。
9、如权利要求8所述的方法,其中,所述第二组子部分中的每一个都表示具有4×4个图像采样和相关色度采样的子宏块分区。
10、如权利要求1所述的方法,其中,所述接收与下列至少一个相关:(i)数字显示设备,(ii)电视机;(iii)数字视频录像机,(iv)游戏设备,(v)个人计算机,或(vi)机顶盒。
11、一种设备,包括:
上下文缓冲器,其包括:
与表示图像一部分的宏块的第一参数类型相关的第一上下文区域,所述宏块可以被分割成第一组子部分,其中,所述第一参数类型的不同值可以与所述第一组中不同的子部分相关;以及
与所述宏块的第二参数类型相关的第二上下文区域,所述宏块可以被分割成第二组子部分,其中,所述第二参数类型的不同值可以与所述第二组中不同的子部分相关,并且其中,所述第一组中的子部分的数量比所述第二组中的子部分的数量少;以及
输出引擎,用于根据所述上下文缓冲器中的信息,对接收到的图像信息流进行解码。
12、如权利要求11所述的设备,其中,所述上下文缓冲器至少是下列之一:(i)与所述输出引擎位于同一管芯上,或者(ii)位于所述输出引擎之外。
13、如权利要求11所述的设备,其中,所述输出引擎包括解码引擎。
14、一种设备,包括:
存储介质,其上存储有指令,在机器执行所述指令时引起下面操作:
接收与表示图像一部分的H.264宏块相关的第一参数类型的第一值,所述宏块可以被分割成4个子宏块,其中,所述第一参数类型的不同值可以与不同的子宏块相关;以及
接收与所述宏块相关的第二参数类型的第二值,所述宏块可以被进一步分割成16个子宏块分区,其中,所述第二参数类型的不同值可以与不同的子宏块分区相关,以及
在上下文缓冲器中存储所述第一和第二值,所述上下文缓冲器包括与所述第一参数类型相关的第一上下文区域和与所述第二参数类型相关的第二上下文区域,所述第一上下文区域用于存储所述第一参数类型的4个值,所述第二上下文区域用于存储所述第二参数类型的16个值。
15、如权利要求14所述的设备,其中,所述指令的执行还引起:
将所述第一和第二参数类型映射到所述上下文缓冲器;以及
根据所述映射,将所述第一值存储在所述上下文缓冲器的第一上下文区域,将所述第二值存储在所述上下文缓冲器的第二上下文区域。
16、如权利要求15所述的设备,其中,所述第一参数类型与下述至少一个相关:(i)参考索引,或者(ii)推理标记。
17、如权利要求16所述的设备,其中,第二参数类型与下述至少一个相关:(i)x方向运动矢量,(ii)y方向运动矢量,(iii)帧内预测模式,或(iv)编码位标记。
18、一种系统,包括:
数据存储设备,包括:
与运动图像区域的整个区域参数类型相关的整个区域存储部分,其中,所述整个区域参数类型的单个值将会与所述图像区域相关,
与所述图像区域的第一参数类型相关的第一存储部分,所述图像区域可以被分割成第一组子区域,其中,所述第一参数类型的不同值可以与所述第一组中不同的子区域相关,以及
与所述图像区域的第二参数类型相关的第二存储部分,所述图像区域可以被分割成第二组子区域,其中,所述第二参数类型的不同值可以与所述第二组中不同的子区域相关,并且其中,所述第二组中的子区域的数量与所述第一组中的子区域的数量不同;
输出引擎,用于根据所述数据存储设备中的信息,对接收到的图像信息流进行解码;以及
数字输出,用于将数字信号从所述输出引擎提供到数字显示设备。
19、如权利要求18所述的系统,其中,所述数据存储单元是双倍数据速率随机存取存储器。
20、如权利要求18所述的系统,其中,所述数据存储单元是所述输出引擎的一部分。
21、如权利要求18所述的系统,其中,所述系统与下列至少一个相关:(i)数字显示设备,(ii)电视机;(iii)数字视频录像机,(iv)游戏设备,(v)个人计算机,或(vi)机顶盒。
CNA2005800429603A 2004-12-17 2005-12-16 具有基于上下文的参数缓冲器的图像解码器 Pending CN101080932A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/015,776 US20060133494A1 (en) 2004-12-17 2004-12-17 Image decoder with context-based parameter buffer
US11/015,776 2004-12-17

Publications (1)

Publication Number Publication Date
CN101080932A true CN101080932A (zh) 2007-11-28

Family

ID=36168562

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800429603A Pending CN101080932A (zh) 2004-12-17 2005-12-16 具有基于上下文的参数缓冲器的图像解码器

Country Status (7)

Country Link
US (1) US20060133494A1 (zh)
EP (1) EP1832121A1 (zh)
JP (1) JP2008524932A (zh)
KR (1) KR20070088738A (zh)
CN (1) CN101080932A (zh)
TW (1) TW200629904A (zh)
WO (1) WO2006066179A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327316A (zh) * 2012-03-22 2013-09-25 上海算芯微电子有限公司 视频宏块的上下文信息存取方法和系统

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4515922B2 (ja) * 2005-01-11 2010-08-04 パナソニック株式会社 データ保持装置、画像符号化装置および画像復号化装置
US7864864B2 (en) * 2005-06-27 2011-01-04 Intel Corporation Context buffer address determination using a plurality of modular indexes
US20070258346A1 (en) * 2006-05-02 2007-11-08 Zing Systems, Inc. Pc peripheral devices used with mobile media devices
US8243798B2 (en) * 2006-12-20 2012-08-14 Intel Corporation Methods and apparatus for scalable video bitstreams
TWI364222B (en) * 2007-09-05 2012-05-11 Via Tech Inc Method and device for generating prediction mode parameter
US8964851B2 (en) * 2009-06-09 2015-02-24 Sony Corporation Dual-mode compression of images and videos for reliable real-time transmission
US8457425B2 (en) * 2009-06-09 2013-06-04 Sony Corporation Embedded graphics coding for images with sparse histograms
US10602178B1 (en) * 2017-12-21 2020-03-24 Mozilla Corporation Systems and methods for frame context selection
CN109242758A (zh) * 2018-09-18 2019-01-18 珠海金山网络游戏科技有限公司 一种材质参数存储、材质参数获取方法及装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6970504B1 (en) * 1996-12-18 2005-11-29 Thomson Licensing Parallel decoding of interleaved data streams within an MPEG decoder
US6836838B1 (en) * 1998-06-29 2004-12-28 Cisco Technology, Inc. Architecture for a processor complex of an arrayed pipelined processing engine
US6189714B1 (en) * 1998-10-19 2001-02-20 Westinghouse Air Brake Company Apparatus for connecting a device into a brake pipe hose connection between railway cars and/or locomotives
US6700893B1 (en) * 1999-11-15 2004-03-02 Koninklijke Philips Electronics N.V. System and method for controlling the delay budget of a decoder buffer in a streaming data receiver
US7164844B1 (en) * 2000-03-02 2007-01-16 The Directv Group, Inc. Method and apparatus for facilitating reverse playback
SE0004736D0 (sv) * 2000-12-20 2000-12-20 Ericsson Telefon Ab L M Mapping system and method
US7428023B2 (en) * 2001-04-19 2008-09-23 Digeo, Inc. Remote control device with integrated display screen for controlling a digital video recorder
US7646816B2 (en) * 2001-09-19 2010-01-12 Microsoft Corporation Generalized reference decoder for image or video processing
US6980596B2 (en) * 2001-11-27 2005-12-27 General Instrument Corporation Macroblock level adaptive frame/field coding for digital video content
JP2003319391A (ja) * 2002-04-26 2003-11-07 Sony Corp 符号化装置および方法、復号装置および方法、記録媒体、並びにプログラム
EP1582063B1 (en) * 2003-01-07 2018-03-07 Thomson Licensing DTV Mixed inter/intra video coding of macroblock partitions
KR20050045746A (ko) * 2003-11-12 2005-05-17 삼성전자주식회사 계층 구조의 가변 블록 크기를 이용한 움직임 추정 방법및 장치
US7469070B2 (en) * 2004-02-09 2008-12-23 Lsi Corporation Method for selection of contexts for arithmetic coding of reference picture and motion vector residual bitstream syntax elements

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327316A (zh) * 2012-03-22 2013-09-25 上海算芯微电子有限公司 视频宏块的上下文信息存取方法和系统
CN103327316B (zh) * 2012-03-22 2016-08-10 上海算芯微电子有限公司 视频宏块的上下文信息存取方法和系统

Also Published As

Publication number Publication date
KR20070088738A (ko) 2007-08-29
US20060133494A1 (en) 2006-06-22
WO2006066179A1 (en) 2006-06-22
TW200629904A (en) 2006-08-16
EP1832121A1 (en) 2007-09-12
JP2008524932A (ja) 2008-07-10

Similar Documents

Publication Publication Date Title
JP7368414B2 (ja) 画像予測方法および装置
US11082703B2 (en) Neighbor based signaling of intra prediction modes
CN101341757B (zh) 本地宏块信息缓冲器
CN101080932A (zh) 具有基于上下文的参数缓冲器的图像解码器
TWI575936B (zh) 用於高效率視訊寫碼(hevc)及延伸之視訊參數集
TWI686076B (zh) 用於預測剩餘之增強型多重轉變
TWI689197B (zh) 用於次取樣格式之調色模式
US9866873B2 (en) Method for entropy-encoding slice segment and apparatus therefor, and method for entropy-decoding slice segment and apparatus therefor
TWI666920B (zh) 用於視訊寫碼之具有執行長度碼之調色盤預測器信令
TWI587708B (zh) 用於視訊寫碼之交錯視訊資料之指示
TWI520584B (zh) 用信號發送用於一葉層級編碼單元之子集的轉換係數的語法元素
TWI827606B (zh) 網格寫碼之量化係數寫碼
TW201722164A (zh) 調色盤模式視訊寫碼中脫逃像素訊號值之限制
US20080025623A1 (en) Coding and Decoding Method and Apparatus Using Plural Scanning Patterns
KR20140029533A (ko) 비디오 코딩에서 최종 유의 변환 계수의 스캔 순서의 위치 도출
KR20050032113A (ko) 역방향 적응을 사용하는 비디오 코딩을 위한 속도-왜곡최적화된 데이터 분할 시스템 및 방법
CN103609112A (zh) 视频译码中的内部位深度增加
TW202133616A (zh) 視訊編解碼中的畫面標頭訊框內隨機存取畫面和漸進解碼器刷新訊號傳遞
JP2021519050A (ja) ビデオシーケンスを復号する方法、装置及びコンピュータプログラム
JP2005532768A (ja) ビデオ・データのイントラ符号化方法及び装置
CN1631043A (zh) 用于数字视频内容的自适应通用可变长度码字编码
TW202126040A (zh) 用於視訊編碼的簡化的調色板預測器更新
CN116708825A (zh) 图像解码方法、图像编码方法和数据发送方法
KR20080077430A (ko) 공간임의접근을 지원하는 영상 코덱 시스템과 이를구성하는 영상 부호화/복호화 장치 및 방법
RU2804871C2 (ru) Способ и устройство предсказания изображений

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication