书签 分享 收藏 举报 版权申诉 / 17

本地宏块信息缓冲器.pdf

  • 上传人:e1
  • 文档编号:4317708
  • 上传时间:2018-09-13
  • 格式:PDF
  • 页数:17
  • 大小:654.60KB
  • 摘要
    申请专利号:

    CN201110304589.0

    申请日:

    2005.12.15

    公开号:

    CN102438139A

    公开日:

    2012.05.02

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):H04N 7/26申请日:20051215|||公开

    IPC分类号:

    H04N7/26

    主分类号:

    H04N7/26

    申请人:

    英特尔公司

    发明人:

    R·萨克塞纳; M·哈克

    地址:

    美国加利福尼亚

    优先权:

    2004.12.16 US 11/014,301

    专利代理机构:

    永新专利商标代理有限公司 72002

    代理人:

    李科;王英

    PDF完整版下载: PDF下载
    内容摘要

    根据一些实施例,外部存储单元存储表示图像的多行宏块。可将包括少于一行宏块的一组宏块从外部存储单元传送至本地缓冲器。然后可基于本地缓冲器中的信息对宏块进行解码,以产生图像信号。

    权利要求书

    1: 一种用于解码宏块的方法, 包括 : 在存储单元中存储表示图像的一行或多行宏块信息 ; 将与一组宏块相关的信息从所述存储单元传送至缓冲器, 所述宏块组包含少于一行的 宏块, 所述宏块组包括 (i) 要解码的当前宏块、 (ii) 解码当前宏块所需使用的相邻宏块以 及 (iii) 附加宏块, 其中所述附加宏块的数量至少部分地基于与所述存储单元相关的等待 时间, 并且其中, 附加宏块的数量是零或更多 ; 以及 基于所述缓冲器中的信息对宏块进行解码, 以产生图像信号。2: 如权利要求 1 所述的方法, 其中, 所述解码是基于与正在被解码的宏块相关的信息 以及与至少一个相邻宏块相关的信息的。3: 如权利要求 1 所述的方法, 其中, 所述缓冲器包含循环片上缓冲器。4: 如权利要求 1 所述的方法, 其中, 所述存储单元包含双倍数据速率同步动态随机存 取存储单元。5: 如权利要求 1 所述的方法, 其中, 所述组中的宏块数量与所述存储单元的等待时间 相关。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: 如权利要求 1 所述的方法, 其中, 所述存储器包括外部存储器。10: 一种用于解码图像的装置, 包括 : 用于在存储单元中存储表示图像的多行宏块信息的模块 ; 用于将与一组宏块相关的信息从所述存储单元传送至缓冲器的模块, 所述宏块组包含 少于一行的宏块, 所述宏块组包括 (i) 要解码的当前宏块、 (ii) 解码当前宏块所需使用的 相邻宏块以及 (iii) 附加宏块, 其中所述附加宏块的数量至少部分地基于与所述存储单元 相关的等待时间, 并且其中, 附加宏块的数量是零或更多 ; 以及 用于基于所述缓冲器中的信息对宏块进行解码以产生图像信号的模块。11: 如权利要求 10 所述的装置, 其中, 所述解码是基于与正在被解码的宏块相关的信 息以及与至少一个相邻宏块相关的信息的。12: 如权利要求 10 所述的装置, 其中, 所述缓冲器包含循环片上缓冲器。13: 如权利要求 10 所述的装置, 其中, 所述存储单元包含双倍数据速率同步动态随机 存取存储单元。14: 如权利要求 10 所述的装置, 其中, 所述组中的宏块数量与所述存储单元的等待时 间相关。15: 如权利要求 10 所述的装置, 其中, 所述多行宏块与下列至少一个相关 : (i) 图像自 适应帧 / 场编码、 或 (ii) 宏块自适应帧 / 场编码。16: 如权利要求 10 所述的装置, 其中, 所述宏块与下列至少一个相关 : (i)H.264 信息、 2 (ii) 运动图像专家组 2 信息、 (iii) 运动图像专家组 4 信息、 (iv)Microsoft Windows Media Video 9 信息、 或 (v) 运动图像和电视工程师协会视频编解码器 1 信息。17: 如权利要求 10 所述的装置, 其中, 所述解码由下列至少一个执行 : (i) 数字显示设 备、 (ii) 电视机、 (iii) 数字视频录像机、 (iv) 游戏设备、 (v) 个人计算机、 或 (vi) 机顶盒。18: 如权利要求 10 所述的装置, 其中, 所述存储器包括外部存储器。

    说明书


    本地宏块信息缓冲器

        本申请是申请号为 200580042959.0、 申请日为 2005 年 12 月 15 日、 发明名称为 “本 地宏块信息缓冲器” 的中国专利申请的分案申请。
         背景技术
         媒体播放器可以将运动图像输出到显示设备。例如, 媒体播放器可以获得本地存 储的图像信息或者从媒体服务器接收图像信息流 ( 例如, 内容提供商可以通过电缆或者 卫星网络将包括高清晰度图像帧的流传输到电视、 机顶盒或者数字视频录像机 )。一些情 况下, 对图像信息进行编码, 以减少表示图像所用的数据量。例如, 图像可以被分成更小的 图像部分, 例如宏块, 从而使得对于一个图像部分编码的信息不必对于另一图像部分重复 ( 例如, 因为相邻图像部分可能经常有类似的颜色、 亮度、 和 / 或运动特性 )。因此, 在对特 定图像部分进行解码时, 媒体播放器中的解码引擎可以本地存储和访问关于多个相邻图像 部分的信息。这种方案可能需要很大的本地存储空间量, 否则就难于实现。附图说明 图 1 是媒体系统的框图 ;
         图 2 示出了被分割为宏块的显示 ;
         图 3 是其中宏块信息存储于外部存储单元和本地缓冲器中的系统的框图 ;
         图 4 是示出根据一些实施例的方法的流程图 ;
         图 5 是根据一些实施例的, 其中宏块信息存储在外部存储单元和本地缓冲器中的 系统 300 的框图 ;
         图 6 是示出根据一些实施例的预取等待时间 (pre-fetch latency) 的时序框图 ;
         图 7 是根据一些实施例的, 其中宏块自适应帧 / 场编码信息存储在外部存储单元 和本地缓冲器中的系统的框图 ;
         图 8 示出了根据一些实施例的宏块、 宏块分区和子宏块 ; 以及
         图 9 是根据一些实施例的系统的框图。
         具体实施方式
         媒体播放器可以接收图像信息, 解码该信息, 并向显示设备输出信号。例如, 数字 视频录像机 (DVR) 可以获得本地存储的图像信息, 或者, 机顶盒可以从远程设备接收图像 信息流 ( 例如, 内容提供商可以通过电缆或者卫星网络将包含高清晰度图像帧的流传输到 机顶盒 )。图 1 是媒体系统 100 的框图, 包括媒体服务器 100, 该系统包括通过通信网络 130 给远程媒体服务器 120 提供图像信息的媒体服务器 110。
         在发射机 116 将数据作为图像信息流发射之前, 编码器 114 可以减少用于表示 图像内容 112 的数据的量。如这里所用的, 可以根据多个不同协议中的任何一种, 对信息 进行编码和 / 或解码。例如, 可以根据国际电信联盟 - 电信标准化部门 (ITU-T) 推荐的 题为″ Advanced Video Coding for Generic Audiovisual Services( 用于通用音视频服务的先进视频编码 )″ (2004) 的 H.264, 或者国际标准化组织 (ISO)/ 国际工程联合会 (IEC) 运动图像专家组 (MPEG) 的题为″ 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 Information( 信息技术 - 运动图像及其相关音频信息的通用编 码 )″ (2000) 的文档所定义的 MPEG2 协议, 来处理图像信息。
         作为其它的例子, 可以根据 Microsoft Windows Media Video 9(MSWMV9) 信息或 运动图像和电视工程师协会 (SMPTE) 视频编解码器 1(VC-1) 信息, 来处理图像信息。
         接收到的图像流可以包含与图像的多个部分相关的信息 ( 例如参数值 ), 并且与 那些部分相关的信息可以存储在输出引擎 124 或解码器外部的存储单元 122 中。需要注 意, 针对一个图像部分所编码的信息可以对另一个图像部分再次使用。因此, 输出引擎 124 可以将关于多个相邻部分的信息从外部存储单元 122 传送到基于块的本地参数缓冲器或 高速缓冲存储器 126 中。然后, 输出引擎 124 可以从本地缓冲器 126 访问这些信息, 以重建 或解码每个图像部分。根据一些实施例, 本地缓冲器 124 与输出引擎 124 形成在同一管芯 (die) 上。
         例如, 考虑到 H.264 图像信息。如图 2 所示, 显示图像 200 可以被分割成多个 “宏 块” 210 组成的阵列。每个宏块可表示一个 16x16 个图像样本或像素的组。而且, 该阵列可 以包含行, 每行有例如 120 个宏块 210。
         输出引擎 124 可以从顶部行开始, 在宏块 210 的多个行上, 从左至右对宏块 210 进 行解码。当完成一行后, 输出引擎 124 可以开始对下一行的第一宏块 210 进行解码。
         需要注意, 可能已经使用关于相邻宏块的信息对关于一个宏块 210 的信息进行编 码 ( 例如, 因为多个相邻宏块 210 可能经常会有相似的特性 )。因此, 当对特定的宏块 210 进行解码和 / 或解压缩时, 关于该宏块 210 的信息可以使用来自一个或多个相邻块的预测 值推导出来。 在一些情况下, 从单个相邻块的参数中推导出预测参数, 而在另一些情况下则 从与多个相邻块相关的参数推导出来。
         具体而言, 考虑图 2 所示的宏块 “*” 。为了对宏块 * 进行解码, 输出引擎 124 可以 * 使用先前为相邻宏块 A、 B、 C、 和 / 或 D 确定的参数值来为宏块 确定预测参数值。可以在 图像信息流中接收到预测参数值和实际参数值之间的差异, 并且输出引擎 124 可以使用预 测参数值和此差异来产生实际的参数值。然后, 可使用实际参数值产生表示原始图像内容 112 的输出 ( 也可在为后面的相邻宏块确定实际参数值时使用 )。
         为了有效地解码宏块 210, 输出引擎 124 可以将关于正在进行解码的宏块和一个 或多个相邻宏块的信息从外部存储单元 122 传送到本地缓冲器 126。例如, 图 3 是系统 300 的框图, 其中宏块信息存储在外部存储单元 310 和本地缓冲器 320 中。图 3 中每个方块可 以表示例如包含特定宏块的参考数据或参数的宏块缓冲器。在一些情况下, 可以将至少相 当于一行的宏块信息 ( 如图 3 阴影区域所示 ) 从外部存储单元 310 传送到本地缓冲器 320。 因此, 输出引擎可以使用本地存储的、 与宏块 A、 D、 B、 和 / 或 C 相关的信息来解码宏块 *。可 用此方法处理的信息的例子包括 X 方向运动矢量、 Y 方向运动矢量、 帧内预测模式数据、 和/或参考帧索引列表。
         在宏块 * 被解码之后, 输出引擎可以开始解码宏块 * 右边的宏块 ( 而宏块 * 现在将 成为宏块 A, 宏块 B 将成为宏块 D, 等等 )。
         这种方案可能需要大量的片上存储空间 (on-die storage space), 否则就难于实 现。例如, 考虑含有 1920x1080 个图像样本的高分辨率图像。如果每个宏块为一个 16x16 个图像样本的组, 则一行宏块的数量为 1920/16 = 120。这样, 本地存储器可能需要存储与 120 个宏块以及当前被解码的宏块、 总共为 121 个宏块相关的信息。 假定每个宏块与 256 比 特的信息相关, 则本地缓冲器需要存储 121x256 比特, 或约 31 千比特 (Kbits) 数据。在一 些情况下, 例如当输出引擎 124 与片上系统 (SoC) 设计相关时, 难于实现在本地存储这样数 量的信息。
         图 4 为示出根据一些实施例的方法的流程图。该方法可以与例如图 1 的媒体播放 器 120 相关。这里描述的流程图不一定意味着动作的固定顺序, 可以以任何切合实际的顺 序执行实施例。 注意, 这里描述的任何方法可以由硬件、 软件 ( 包括微代码 )、 固件或这些手 段的任意组合来执行。例如, 存储介质可以在其上存储指令, 当机器执行该指令时, 引起根 据这里描述的任何实施例的执行。 在 402, 表示图像的多行宏块存储在外部存储单元中。该外部存储单元可以包含, 例如媒体播放器的双倍数据速率 (DDR) 同步动态随机存取存储器 (SDRAM) 单元。
         然后, 在 404, 将一组宏块从外部存储单元传送到本地缓冲器, 并且该宏块组可以 包含少于一行的宏块。本地缓冲器可以是例如与输出引擎相关联的片上缓冲器。例如, 图 5 为系统 500 的框图, 其中根据一些实施例, 宏块信息存储在外部存储单元 510 和本地缓冲 器 520 中。在此例子中, 宏块信息可以与图像自适应帧 / 场 (PAFF)H.264 编码相关。
         具体而言, 外部存储单元 510 存储与多行运动图像宏块相关的信息。本地缓冲器 520 可以设置在解码器中, 并且存储少于相当于一行的信息。在图 5 所示例子中, 本地缓冲 * 器 520 存储关于下面所示的参数 : (i) 当前正在解码的宏块 ( )、 (ii) 构建当前宏块所需的 相邻块 (A、 B、 C、 和 D)、 和 (iii) 四个附加的宏块。再次参考图 4, 然后, 在 406, 基于本地缓 * 冲器中的信息对当前宏块 进行解码, 以产生图像信号。
         本地缓冲器 520 可以是, 例如循环缓冲器 (circular buffer), 而缓冲器管理器可 以安排新的信息取代旧的信息 ( 例如, 在不再需要旧的信息后 )。例如, 在宏块 * 被解码之 后, 将不再需要宏块 A 和 D( 而在构建下一宏块期间, 宏块 B 将变为宏块 D, 宏块 * 将变为宏 块 A, 并且宏块 C 将变为宏块 B)。需要注意, 当宏块 * 位于一行的末尾附近时, 可以在本地 缓冲器 520 中存储从下一行开始处的附加宏块。
         本地缓冲器中存储的附加宏块的数量 ( 例如, 除宏块 * 外, 当前正在使用的宏块 A、 B、 C、 和 D) 可以取决于与外部存储单元 510 相关的等待时间。例如, 图 6 是示出根据一些实 施例的预取等待时间的时序框图 600。 具体而言, 在启动从外部存储单元 610 预取附加宏块 的时刻和完成该预取的时刻之间存在等待时间 ( 例如, 而且该信息在本地缓冲器 620 中可 用 )。需要注意, 在操作期间实际的预取等待时间可以变化 ( 例如, 由于带宽或其它因素 ), 并且可以基于例如最大预期等待时间来选取值 L。
         可存储在本地缓冲器 620 中的附加宏块的数量可以基于 L 和对每个宏块进行解码 所需的时间。例如, 如果在 L 期间可以解码四个宏块, 则可以将四个附加宏块存储在本地缓
         冲器 620 中。这样, 在将要对当前宏块进行解码时, 在本地存储器 620 中可以存在四个附加 宏块。此时, 可以启动新宏块的新预取。到本地缓冲器 620 中的当前宏块被解码的时刻, 该 新的宏块将会可用 ( 并且可以启动另一预取 )。 根据另一实施例, 可以预取批量宏块以确保 在本地存储器 620 中至少有合适数量的附加宏块可用。
         再次考虑有 1920x1080 个图像样本、 每个宏块为一个 16x16 个图像样本的组 ( 例 如, 每行有 120 个宏块 ) 的高分辨率图像。此外, 假定在预取等待时间 L 期间可解码 4 个宏 块。这样, 本地存储器 620 可以存储当前被解码宏块、 构建当前宏块所需的四个相邻宏块、 以及四个附加宏块 ( 总共九个宏块的 ) 的参数。如果再次假定每个宏块与 256 个比特信息 相关, 则本地缓冲器 620 将需要存储 9x256 比特或约为 2.3 千比特的数据 ( 与对于图 3 所 描述的 31 千比特相比 )。
         虽然关于 PAFF 帧已经描述了一些实施例, 但是注意, 这些实施例可以与宏块自适 应帧 / 场 (MBAFF) 编码实施方案相关, 该实施方案中可处理多对垂直相邻的宏块。例如, 图 7 是系统 700 的框图, 其中根据一些实施例将 MBAFF 编码信息存储在外部存储单元 710 和本 地缓冲器 720 中。虚线将可以同时构建的多对垂直相邻宏块分开。需要注意, 与 PAFF 实施 方案 ( 例如, 图 5 所示 ) 相比, 可以在本地缓冲器 720 中存储两倍的信息。 此外, 虽然关于宏块描述了一些实施例, 但是实施例也可与其它类型的图像部分 相关。例如, 图 8 示出了显示 800。在此情况下, 显示 800 的基本上类似的部分 ( 例如, 背 景区域 ) 可以作为多个宏块 810 进行编码。然而, 包含更多详细图像信息的其它部分可以 进一步被分割成宏块分区 820 和子宏块 830。此外, 随着图像改变, 显示 800 可以以不同方 式分割。根据一些实施例, 本地存储器中的信息可以与宏块、 宏块分区、 和 / 或子宏块相关。 如这里所用的, 术语 “宏块” 可以指任意的图像部分, 包括有标准 H.264 宏块、 宏块分区、 子 宏块和 / 或由另一标准定义的部分。
         图 9 是根据一些实施例的系统 900 的框图。 该系统 900 可以与例如数字显示设备, 电视机 ( 如高清晰电视 (HDTV) 单元 )、 DVR、 游戏控制台、 个人计算机 (PC) 或膝上型电脑、 和 / 或机顶盒 ( 例如, 电缆或卫星解码器 ) 相关。
         系统 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 中没有示出 ) 的信息。此外, 该 系统 900 还可以包括输入接口 ( 图 9 中没有示出 ), 以接收与下列中至少一个相关的信号 : (i)H.264 信息、 (ii)MPEG 2 信息、 或 (iii)MPEG 4 信息。
         以下阐述各种附加的实施例。这里并不是构成要所有可行实施例的定义, 且本领 域技术人员将理解许多其它的实施例也是可行的。此外, 虽然为清楚起见简短描述以下实 施例, 但本领域技术人员可以理解, 如果需要, 将怎样对上面的描述做出任何改变以适应这 些及其它实施例和应用。
         例如, 虽然描述了单个输出引擎或解码器, 但是实施例可以与多个输出引擎或解
         码器相关联 ( 而且可提供多个或共享本地缓冲器 )。
         此 外, 虽 然 这 里 使 用 了 特 定 图 像 处 理 协 议 和 网 络 作 为 例 子 ( 例 如, H.264 和 MPEG4), 但可以结合任何其它类型的图像处理协议或网络, 诸如数字地面电视广播 (DTTB) 和社区接入电视 (CATV) 系统来使用实施例。
         这里所描述的若干实施例仅为阐述之目的。本领域技术人员通过这些描述可知, 也可以实现其它实施例, 所述其他实施例的修改或改变仅由权利要求所限定。

    关 键  词:
    本地 信息 缓冲器
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:本地宏块信息缓冲器.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4317708.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1