《本地宏块信息缓冲器.pdf》由会员分享,可在线阅读,更多相关《本地宏块信息缓冲器.pdf(17页完整版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102438139 A (43)申请公布日 2012.05.02 C N 1 0 2 4 3 8 1 3 9 A *CN102438139A* (21)申请号 201110304589.0 (22)申请日 2005.12.15 11/014,301 2004.12.16 US 200580042959.0 2005.12.15 H04N 7/26(2006.01) (71)申请人英特尔公司 地址美国加利福尼亚 (72)发明人 R萨克塞纳 M哈克 (74)专利代理机构永新专利商标代理有限公司 72002 代理人李科 王英 (54) 发明名称 本地宏块信息缓冲器 (57)。
2、 摘要 根据一些实施例,外部存储单元存储表示图 像的多行宏块。可将包括少于一行宏块的一组宏 块从外部存储单元传送至本地缓冲器。然后可基 于本地缓冲器中的信息对宏块进行解码,以产生 图像信号。 (30)优先权数据 (62)分案原申请数据 (51)Int.Cl. (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 5 页 附图 9 页 CN 102438147 A 1/2页 2 1.一种用于解码宏块的方法,包括: 在存储单元中存储表示图像的一行或多行宏块信息; 将与一组宏块相关的信息从所述存储单元传送至缓冲器,所述宏块组包含少于一行的 宏块,所述宏块组包括(i)。
3、要解码的当前宏块、(ii)解码当前宏块所需使用的相邻宏块以 及(iii)附加宏块,其中所述附加宏块的数量至少部分地基于与所述存储单元相关的等待 时间,并且其中,附加宏块的数量是零或更多;以及 基于所述缓冲器中的信息对宏块进行解码,以产生图像信号。 2.如权利要求1所述的方法,其中,所述解码是基于与正在被解码的宏块相关的信息 以及与至少一个相邻宏块相关的信息的。 3.如权利要求1所述的方法,其中,所述缓冲器包含循环片上缓冲器。 4.如权利要求1所述的方法,其中,所述存储单元包含双倍数据速率同步动态随机存 取存储单元。 5.如权利要求1所述的方法,其中,所述组中的宏块数量与所述存储单元的等待时间 。
4、相关。 6.如权利要求1所述的方法,其中,所述多行宏块与下列至少一个相关:(i)图像自适 应帧/场编码或(ii)宏块自适应帧/场编码。 7.如权利要求1所述的方法,其中,所述宏块与下列至少一个相关:(i)H.264信息、 (ii)运动图像专家组2信息、(iii)运动图像专家组4信息、(iv)Microsoft Windows Media Video 9信息、或(v)运动图像和电视工程师协会视频编解码器1信息。 8.如权利要求1所述的方法,其中,所述解码由下列至少一个执行:(i)数字显示设备、 (ii)电视机、(iii)数字视频录像机、(iv)游戏设备、(v)个人计算机、或(vi)机顶盒。 9.。
5、如权利要求1所述的方法,其中,所述存储器包括外部存储器。 10.一种用于解码图像的装置,包括: 用于在存储单元中存储表示图像的多行宏块信息的模块; 用于将与一组宏块相关的信息从所述存储单元传送至缓冲器的模块,所述宏块组包含 少于一行的宏块,所述宏块组包括(i)要解码的当前宏块、(ii)解码当前宏块所需使用的 相邻宏块以及(iii)附加宏块,其中所述附加宏块的数量至少部分地基于与所述存储单元 相关的等待时间,并且其中,附加宏块的数量是零或更多;以及 用于基于所述缓冲器中的信息对宏块进行解码以产生图像信号的模块。 11.如权利要求10所述的装置,其中,所述解码是基于与正在被解码的宏块相关的信 息以。
6、及与至少一个相邻宏块相关的信息的。 12.如权利要求10所述的装置,其中,所述缓冲器包含循环片上缓冲器。 13.如权利要求10所述的装置,其中,所述存储单元包含双倍数据速率同步动态随机 存取存储单元。 14.如权利要求10所述的装置,其中,所述组中的宏块数量与所述存储单元的等待时 间相关。 15.如权利要求10所述的装置,其中,所述多行宏块与下列至少一个相关:(i)图像自 适应帧/场编码、或(ii)宏块自适应帧/场编码。 16.如权利要求10所述的装置,其中,所述宏块与下列至少一个相关:(i)H.264信息、 权 利 要 求 书CN 102438139 A CN 102438147 A 2/2。
7、页 3 (ii)运动图像专家组2信息、(iii)运动图像专家组4信息、(iv)Microsoft Windows Media Video 9信息、或(v)运动图像和电视工程师协会视频编解码器1信息。 17.如权利要求10所述的装置,其中,所述解码由下列至少一个执行:(i)数字显示设 备、(ii)电视机、(iii)数字视频录像机、(iv)游戏设备、(v)个人计算机、或(vi)机顶盒。 18.如权利要求10所述的装置,其中,所述存储器包括外部存储器。 权 利 要 求 书CN 102438139 A CN 102438147 A 1/5页 4 本地宏块信息缓冲器 0001 本申请是申请号为20058。
8、0042959.0、申请日为2005年12月15日、发明名称为“本 地宏块信息缓冲器”的中国专利申请的分案申请。 背景技术 0002 媒体播放器可以将运动图像输出到显示设备。例如,媒体播放器可以获得本地存 储的图像信息或者从媒体服务器接收图像信息流(例如,内容提供商可以通过电缆或者 卫星网络将包括高清晰度图像帧的流传输到电视、机顶盒或者数字视频录像机)。一些情 况下,对图像信息进行编码,以减少表示图像所用的数据量。例如,图像可以被分成更小的 图像部分,例如宏块,从而使得对于一个图像部分编码的信息不必对于另一图像部分重复 (例如,因为相邻图像部分可能经常有类似的颜色、亮度、和/或运动特性)。因此。
9、,在对特 定图像部分进行解码时,媒体播放器中的解码引擎可以本地存储和访问关于多个相邻图像 部分的信息。这种方案可能需要很大的本地存储空间量,否则就难于实现。 附图说明 0003 图1是媒体系统的框图; 0004 图2示出了被分割为宏块的显示; 0005 图3是其中宏块信息存储于外部存储单元和本地缓冲器中的系统的框图; 0006 图4是示出根据一些实施例的方法的流程图; 0007 图5是根据一些实施例的,其中宏块信息存储在外部存储单元和本地缓冲器中的 系统300的框图; 0008 图6是示出根据一些实施例的预取等待时间(pre-fetch latency)的时序框图; 0009 图7是根据一些实。
10、施例的,其中宏块自适应帧/场编码信息存储在外部存储单元 和本地缓冲器中的系统的框图; 0010 图8示出了根据一些实施例的宏块、宏块分区和子宏块;以及 0011 图9是根据一些实施例的系统的框图。 具体实施方式 0012 媒体播放器可以接收图像信息,解码该信息,并向显示设备输出信号。例如,数字 视频录像机(DVR)可以获得本地存储的图像信息,或者,机顶盒可以从远程设备接收图像 信息流(例如,内容提供商可以通过电缆或者卫星网络将包含高清晰度图像帧的流传输到 机顶盒)。图1是媒体系统100的框图,包括媒体服务器100,该系统包括通过通信网络130 给远程媒体服务器120提供图像信息的媒体服务器11。
11、0。 0013 在发射机116将数据作为图像信息流发射之前,编码器114可以减少用于表示 图像内容112的数据的量。如这里所用的,可以根据多个不同协议中的任何一种,对信息 进行编码和/或解码。例如,可以根据国际电信联盟-电信标准化部门(ITU-T)推荐的 题为Advanced Video Coding for Generic Audiovisual Services(用于通用音视频 说 明 书CN 102438139 A CN 102438147 A 2/5页 5 服务的先进视频编码)(2004)的H.264,或者国际标准化组织(ISO)/国际工程联合会 (IEC)运动图像专家组(MPEG)的。
12、题为Advanced Video Coding(Part 10)(先进视频编 码(第10部分)(2004)的标准,来处理图像信息。作为其它的例子,可以根据ISO/ IEC的编号为14496、题为MPEG-4 Information Technology-Coding of Audio-Visual Objects(MPEG-4信息技术-音频视频对象编码)(2001)的文档,或者由ISO/IEC的编 号为13818-1、题为Information Technology-Generic Coding of Moving Pictures and Associated Audio Informati。
13、on(信息技术-运动图像及其相关音频信息的通用编 码)(2000)的文档所定义的MPEG2协议,来处理图像信息。 0014 作为其它的例子,可以根据Microsoft Windows Media Video 9(MSWMV9)信息或 运动图像和电视工程师协会(SMPTE)视频编解码器1(VC-1)信息,来处理图像信息。 0015 接收到的图像流可以包含与图像的多个部分相关的信息(例如参数值),并且与 那些部分相关的信息可以存储在输出引擎124或解码器外部的存储单元122中。需要注 意,针对一个图像部分所编码的信息可以对另一个图像部分再次使用。因此,输出引擎124 可以将关于多个相邻部分的信息从。
14、外部存储单元122传送到基于块的本地参数缓冲器或 高速缓冲存储器126中。然后,输出引擎124可以从本地缓冲器126访问这些信息,以重建 或解码每个图像部分。根据一些实施例,本地缓冲器124与输出引擎124形成在同一管芯 (die)上。 0016 例如,考虑到H.264图像信息。如图2所示,显示图像200可以被分割成多个“宏 块”210组成的阵列。每个宏块可表示一个16x16个图像样本或像素的组。而且,该阵列可 以包含行,每行有例如120个宏块210。 0017 输出引擎124可以从顶部行开始,在宏块210的多个行上,从左至右对宏块210进 行解码。当完成一行后,输出引擎124可以开始对下一行。
15、的第一宏块210进行解码。 0018 需要注意,可能已经使用关于相邻宏块的信息对关于一个宏块210的信息进行编 码(例如,因为多个相邻宏块210可能经常会有相似的特性)。因此,当对特定的宏块210 进行解码和/或解压缩时,关于该宏块210的信息可以使用来自一个或多个相邻块的预测 值推导出来。在一些情况下,从单个相邻块的参数中推导出预测参数,而在另一些情况下则 从与多个相邻块相关的参数推导出来。 0019 具体而言,考虑图2所示的宏块“ * ”。为了对宏块 * 进行解码,输出引擎124可以 使用先前为相邻宏块A、B、C、和/或D确定的参数值来为宏块 * 确定预测参数值。可以在 图像信息流中接收到。
16、预测参数值和实际参数值之间的差异,并且输出引擎124可以使用预 测参数值和此差异来产生实际的参数值。然后,可使用实际参数值产生表示原始图像内容 112的输出(也可在为后面的相邻宏块确定实际参数值时使用)。 0020 为了有效地解码宏块210,输出引擎124可以将关于正在进行解码的宏块和一个 或多个相邻宏块的信息从外部存储单元122传送到本地缓冲器126。例如,图3是系统300 的框图,其中宏块信息存储在外部存储单元310和本地缓冲器320中。图3中每个方块可 以表示例如包含特定宏块的参考数据或参数的宏块缓冲器。在一些情况下,可以将至少相 当于一行的宏块信息(如图3阴影区域所示)从外部存储单元3。
17、10传送到本地缓冲器320。 因此,输出引擎可以使用本地存储的、与宏块A、D、B、和/或C相关的信息来解码宏块 * 。可 用此方法处理的信息的例子包括X方向运动矢量、Y方向运动矢量、帧内预测模式数据、和/ 说 明 书CN 102438139 A CN 102438147 A 3/5页 6 或参考帧索引列表。 0021 在宏块 * 被解码之后,输出引擎可以开始解码宏块 * 右边的宏块(而宏块 * 现在将 成为宏块A,宏块B将成为宏块D,等等)。 0022 这种方案可能需要大量的片上存储空间(on-die storage space),否则就难于实 现。例如,考虑含有1920x1080个图像样本的。
18、高分辨率图像。如果每个宏块为一个16x16 个图像样本的组,则一行宏块的数量为1920/16120。这样,本地存储器可能需要存储与 120个宏块以及当前被解码的宏块、总共为121个宏块相关的信息。假定每个宏块与256比 特的信息相关,则本地缓冲器需要存储121x256比特,或约31千比特(Kbits)数据。在一 些情况下,例如当输出引擎124与片上系统(SoC)设计相关时,难于实现在本地存储这样数 量的信息。 0023 图4为示出根据一些实施例的方法的流程图。该方法可以与例如图1的媒体播放 器120相关。这里描述的流程图不一定意味着动作的固定顺序,可以以任何切合实际的顺 序执行实施例。注意,这。
19、里描述的任何方法可以由硬件、软件(包括微代码)、固件或这些手 段的任意组合来执行。例如,存储介质可以在其上存储指令,当机器执行该指令时,引起根 据这里描述的任何实施例的执行。 0024 在402,表示图像的多行宏块存储在外部存储单元中。该外部存储单元可以包含, 例如媒体播放器的双倍数据速率(DDR)同步动态随机存取存储器(SDRAM)单元。 0025 然后,在404,将一组宏块从外部存储单元传送到本地缓冲器,并且该宏块组可以 包含少于一行的宏块。本地缓冲器可以是例如与输出引擎相关联的片上缓冲器。例如,图 5为系统500的框图,其中根据一些实施例,宏块信息存储在外部存储单元510和本地缓冲 器5。
20、20中。在此例子中,宏块信息可以与图像自适应帧/场(PAFF)H.264编码相关。 0026 具体而言,外部存储单元510存储与多行运动图像宏块相关的信息。本地缓冲器 520可以设置在解码器中,并且存储少于相当于一行的信息。在图5所示例子中,本地缓冲 器520存储关于下面所示的参数:(i)当前正在解码的宏块( * )、(ii)构建当前宏块所需的 相邻块(A、B、C、和D)、和(iii)四个附加的宏块。再次参考图4,然后,在406,基于本地缓 冲器中的信息对当前宏块 * 进行解码,以产生图像信号。 0027 本地缓冲器520可以是,例如循环缓冲器(circular buffer),而缓冲器管理器。
21、可 以安排新的信息取代旧的信息(例如,在不再需要旧的信息后)。例如,在宏块 * 被解码之 后,将不再需要宏块A和D(而在构建下一宏块期间,宏块B将变为宏块D,宏块 * 将变为宏 块A,并且宏块C将变为宏块B)。需要注意,当宏块 * 位于一行的末尾附近时,可以在本地 缓冲器520中存储从下一行开始处的附加宏块。 0028 本地缓冲器中存储的附加宏块的数量(例如,除宏块 * 外,当前正在使用的宏块A、 B、C、和D)可以取决于与外部存储单元510相关的等待时间。例如,图6是示出根据一些实 施例的预取等待时间的时序框图600。具体而言,在启动从外部存储单元610预取附加宏块 的时刻和完成该预取的时刻。
22、之间存在等待时间(例如,而且该信息在本地缓冲器620中可 用)。需要注意,在操作期间实际的预取等待时间可以变化(例如,由于带宽或其它因素), 并且可以基于例如最大预期等待时间来选取值L。 0029 可存储在本地缓冲器620中的附加宏块的数量可以基于L和对每个宏块进行解码 所需的时间。例如,如果在L期间可以解码四个宏块,则可以将四个附加宏块存储在本地缓 说 明 书CN 102438139 A CN 102438147 A 4/5页 7 冲器620中。这样,在将要对当前宏块进行解码时,在本地存储器620中可以存在四个附加 宏块。此时,可以启动新宏块的新预取。到本地缓冲器620中的当前宏块被解码的时。
23、刻,该 新的宏块将会可用(并且可以启动另一预取)。根据另一实施例,可以预取批量宏块以确保 在本地存储器620中至少有合适数量的附加宏块可用。 0030 再次考虑有1920x1080个图像样本、每个宏块为一个16x16个图像样本的组(例 如,每行有120个宏块)的高分辨率图像。此外,假定在预取等待时间L期间可解码4个宏 块。这样,本地存储器620可以存储当前被解码宏块、构建当前宏块所需的四个相邻宏块、 以及四个附加宏块(总共九个宏块的)的参数。如果再次假定每个宏块与256个比特信息 相关,则本地缓冲器620将需要存储9x256比特或约为2.3千比特的数据(与对于图3所 描述的31千比特相比)。 。
24、0031 虽然关于PAFF帧已经描述了一些实施例,但是注意,这些实施例可以与宏块自适 应帧/场(MBAFF)编码实施方案相关,该实施方案中可处理多对垂直相邻的宏块。例如,图 7是系统700的框图,其中根据一些实施例将MBAFF编码信息存储在外部存储单元710和本 地缓冲器720中。虚线将可以同时构建的多对垂直相邻宏块分开。需要注意,与PAFF实施 方案(例如,图5所示)相比,可以在本地缓冲器720中存储两倍的信息。 0032 此外,虽然关于宏块描述了一些实施例,但是实施例也可与其它类型的图像部分 相关。例如,图8示出了显示800。在此情况下,显示800的基本上类似的部分(例如,背 景区域)可以。
25、作为多个宏块810进行编码。然而,包含更多详细图像信息的其它部分可以 进一步被分割成宏块分区820和子宏块830。此外,随着图像改变,显示800可以以不同方 式分割。根据一些实施例,本地存储器中的信息可以与宏块、宏块分区、和/或子宏块相关。 如这里所用的,术语“宏块”可以指任意的图像部分,包括有标准H.264宏块、宏块分区、子 宏块和/或由另一标准定义的部分。 0033 图9是根据一些实施例的系统900的框图。该系统900可以与例如数字显示设备, 电视机(如高清晰电视(HDTV)单元)、DVR、游戏控制台、个人计算机(PC)或膝上型电脑、 和/或机顶盒(例如,电缆或卫星解码器)相关。 0034。
26、 系统900包含数字存储设备910,诸如DDR SDRAM器件,以及与H.264解码器930 相关联的缓冲器920,H.264解码器930可以根据这里所描述的任意实施例来工作。例如, 数据存储设备910可以存储与多行运动图像宏块相关的信息。缓冲器920和H.264解码器 930可以包含集成电路(IC),而缓冲器920可以存储从数据存储设备910接收的一组宏块 的信息,其中该宏块组包含少于一行的宏块。然后,该H.264解码器930可以根据缓冲器920 中的信息(包含与相邻宏块相关的参数),产生图像信号。根据一些实施例,输出端H.264 解码器930产生通过数字输出940提供给显示设备(图9中没有。
27、示出)的信息。此外,该 系统900还可以包括输入接口(图9中没有示出),以接收与下列中至少一个相关的信号: (i)H.264信息、(ii)MPEG 2信息、或(iii)MPEG 4信息。 0035 以下阐述各种附加的实施例。这里并不是构成要所有可行实施例的定义,且本领 域技术人员将理解许多其它的实施例也是可行的。此外,虽然为清楚起见简短描述以下实 施例,但本领域技术人员可以理解,如果需要,将怎样对上面的描述做出任何改变以适应这 些及其它实施例和应用。 0036 例如,虽然描述了单个输出引擎或解码器,但是实施例可以与多个输出引擎或解 说 明 书CN 102438139 A CN 10243814。
28、7 A 5/5页 8 码器相关联(而且可提供多个或共享本地缓冲器)。 0037 此外,虽然这里使用了特定图像处理协议和网络作为例子(例如,H.264和 MPEG4),但可以结合任何其它类型的图像处理协议或网络,诸如数字地面电视广播(DTTB) 和社区接入电视(CATV)系统来使用实施例。 0038 这里所描述的若干实施例仅为阐述之目的。本领域技术人员通过这些描述可知, 也可以实现其它实施例,所述其他实施例的修改或改变仅由权利要求所限定。 说 明 书CN 102438139 A CN 102438147 A 1/9页 9 图1 说 明 书 附 图CN 102438139 A CN 1024381。
29、47 A 2/9页 10 图2 说 明 书 附 图CN 102438139 A CN 102438147 A 3/9页 11 图3 说 明 书 附 图CN 102438139 A CN 102438147 A 4/9页 12 图4 说 明 书 附 图CN 102438139 A CN 102438147 A 5/9页 13 图5 说 明 书 附 图CN 102438139 A CN 102438147 A 6/9页 14 图6 说 明 书 附 图CN 102438139 A CN 102438147 A 7/9页 15 图7 说 明 书 附 图CN 102438139 A CN 102438147 A 8/9页 16 图8 说 明 书 附 图CN 102438139 A CN 102438147 A 9/9页 17 图9 说 明 书 附 图CN 102438139 A 。