影像解块过滤器及使用其的影像处理装置的制作方法

文档序号:7724286阅读:125来源:国知局
专利名称:影像解块过滤器及使用其的影像处理装置的制作方法
技术领域
本发明涉及影像处理技术,尤其涉及一种影解块过滤器及使用所述影像解块过滤 器的影像处理装置。
背景技术
目前的视频编码技术标准处理影像时通常把视频帧当作是由视频区块(video block)所构成的组合,而每一个区块就是帧内(intra frame)编码或帧间(inter frame) 编码的基本单位。举例来说,由运动图像专家组(Moving Picture Experts Group,简称 MPEG)所发展出来的MPEG-4标准把视频帧分为宏区块(Macroblock)。不同的标准技援不 同尺寸的视频区块。H. 264标准支持16X16、16X8、8X16、8X8、8X4、4X8及4X4像素的 视频区块。以视频区块为基础的帧内或帧间编码虽然利用视频帧在时间及空间上的相似性 来获取高压缩比,却会在视频序列中区块间的边界上造成块状的不连续现象。不同的视频 编码技术,例如H. ^4、VC-1及MPEG2,会使用不同的解块(deblocking)方法以缓和所述块 状现象。在单一个特定的视频编码技术中也会使用多种解块公式。不同的解块方法通常设计有专属的解块电路。若要将这些专属电路整合在一个 装置中以支持不同的视频编码方法,可能使得电路设计复杂并且在电路微型化上增加困难 度,当装置欲支持新的解块方法时,电路设计势必需再更改。若使用通用处理器来执行不同 的视频编码方法是较有弹性的,但相对而言较缺乏效率。

发明内容
为了解决上述问题,本发明提出了一种影像解块过滤器,包括指令内存、执行单元 及决定单元。所述指令内存用于储存多个指令,其中所述多个指令中的第一指令代表作用 于三个变量操作数及二个常数操作数的三个算术运算及二个按位运算。所述执行单元用于 执行储存于所述指令内存的指令,并包含第一算术逻辑单元,其中所述第一算术逻辑单元 用于在单一频率周期内执行所述第一指令。所述决定单元用于执行储存于所述指令内存的 指令,藉以决定将所述多个指令中的一部分指令从所述指令内存提取至所述执行单元的第 一提取路径及第二提取路径的其中一提取路径。其中当所述执行单元依据所述第一提取路 径或所述第二提取路径执行指令时,分别执行第一或第二影像压缩标准中的解块公式,且 被决定的所述提取路径包含所述第一指令。本发明的实施方式也提出一种影像处理装置,包含一影像解块过滤器,所述影像 解块过滤器包含指令内存、执行单元及决定单元。所述指令内存用于储存多个指令,所述多 个指令中的第一指令代表作用于三个变量操作数及二个常数操作数的三个算术运算及二 个按位运算。所述执行单元用于执行储存于所述指令内存的指令,并包含第一算术逻辑单 元,所述第一算术逻辑单元用于在单一频率周期内执行所述第一指令。所述决定单元用于 执行储存于所述指令内存的指令,以决定将所述多个指令中的一部分指令从所述指令内存提取至所述执行单元的第一提取路径及第二提取路径中的一个。其中当所述执行单元依据 所述第一提取路径或所述第二提取路径执行指令时,分别执行第一或第二影像压缩标准中 的解块公式,且被决定的所述提取路径包含所述第一指令。利用计算级指令构成个多个影像编码标准的解块公式。所述影像处理装置可以储 存各种实作各种影像或视频技术或压缩标准(例如VC-1、MPEG2及H. 264)的解块方法的指 令。所述影像处理装置整合越多影像或视频技术或标准的对应指令,就可以提供越多的标 准支持弹性。


图IA为包含影像解块过滤器165的影像处理装置100的实施方式的结构方块图。图IB为从网络接收数字内容的影像处理装置之第二种实施方式的结构方块图。图2为影解块过滤器实施方式的方块图;图3为影解块过滤器的执行单元实施方式的方块图;图4显示一影像的示意图;图5-8显示计算级指令序列;图9显示计算级结构示意图;以及图10显示算术逻辑单元之示意图;图11显示包含决定级的指令集合的表1 ;以及图12显示包含计算级的指令集合的表2。
具体实施例方式影像解块过滤器及使用其的影像处理装置的实施例说明如下1.系统概述本发明所揭示的影像解块过滤器可以实施在各种不同的影像处理装置,诸如 光盘播放机、多媒体播放器、数字摄影机、机顶盒、个人数字助理(personal digital assistant,简称PDA)、膝上型或桌上型计算机或是任何具有影像处理功能的装置,例如电 视、行动电话或视频会议装置等。图IA为包含影像解块过滤器165之影像处理装置100的 结构方块图。1. 1影像处理装置之实施例影像解块过滤器165整合于影像处理装置100的中央处理单元,即处理器151中。 该处理器151可由单芯片或多芯片封装而成,而所述多芯片可以通过总线连接。电源供应 器158供给电力给影像处理装置100中的各组件。石英振荡器159提供频率信号给处理 器151与影像处理装置100中的其它组件。图IA显示影像处理装置100中各组件的连结 关系,其连结可通过串行总线或并行总线。输入输出装置包括控制按钮、七段显示以及和遥 控器通信的红外线接受器或收发器。多个端口 164之一与外部计算机相连结可用来对影 像处理装置100除错。端口 164可以是符合美国电子工业协会Electronic Industries Association,简称 EIA)所制定的第 232 号推荐标准(Recommended Standard-232,简称 RS-232)及/或第11号推荐标准(Recommended Standard-11,简称RS-11)的实体连接 端口、串行ATA(Serial ATA,简称SATA)及/或高清晰度多媒体接口(High DefinitionMultimedia Interface,简称HDMI)。非挥发性内存153储存处理器151所执行的操作系 统及应用程序。处理器151加载运行程序与数据数据到主存储器152并将数字内容储存于 大量储存装置154中。该主存储器152可以是随机存取内存(Random Access Memory,简 称RAM),例如静态随机存取内存(Static RAM,简称SRAM)或是动态随机存取内存(Dynamic RAM,简称DRAM)。该非挥发性内存153可以是电子可擦除只读存储器(Flectrical Iy Erasable Programmable Read-Only Memory,简称 EEPROM),例如反或(NOR)闪存或是反 及(NAND)闪存。内容保护单元155针对影像处理装置100所产生的数字内容提供存取控 制。该内容保护单元巧5包含实现数字视频广播之通用接口(DVB-CI)及/或条件式存取 (DVB-CA)所需的内存与必要装置。影像处理装置100可从天线165、调谐器157以及解调 器156传递的数字信号取得数字内容。图IB显示另一个实施例,影像处理装置101通过网 络存取接口从因特网等网络中取得数字内容。视频输出单元162包含滤波器和放大器,用 来将处理器151所输出的视频信号加以过滤及放大。音频输出单元161包含数字模拟转换 器用来将处理器151所输出的音频信号从数字格式转换为模拟格式。1. 2影像解块过滤器之实施例图2显示图IA及IB影像解块过滤器165的实施方式影像解块过滤器200的结构 方块图。图2中的影像解块过滤器200的构成组件可以由电路构成。影像解块过滤器200 连接至视频译码器217及外部内存218。所述视频译码器217用于对各种格式的影像或视 频进行译码,例如MPEG所开发的MPEG-1、MPEG-2、及MPEG-4等标准,国际电信联盟-电信 (Internationaltelecommunications union-telecommunication,简禾尔 ITU-T)所开发的 H.沈3及H.沈4,或美国苹果电脑公司(Apple Computer he)所开发的QuickTime ,或美国 微软公司(Microsoft Corporation)所开发的VC-I技术。所述视频译码器217可以在组 态寄存器211中写入设定值,而主有限状态机(main finite state machine,简称FSM) 212 再根据组态寄存器211中的设定值以控制影像解块过滤器200的各个操作。所述外部内存 218可以包含主存储器152或一个内存容量于内部存储器210的高速寄存。所述内部存储 器210的较佳实施方式包含SRAM。所述外部内存218储存解块指令及所述译码器217译 码后的影像数据。动态连结库(dynamic link library,简称DLL)FSM 213从外部内存218 加载解块指令至指令内存214,而数据加载FSM从外部内存218加载影像数据至内部存储器 210。执行单元220从指令内存214取得解块指令,从内部存储器210取得影像数据,执行 并应用取得的指令于所述取得的影像数据以实行解块,并储存解块后的影像数据于内部存 储器210。写回FSM 216储存解块后的影像数据至外部内存218。2.影像解块过滤器之运作实例图3显示执行单元220的实施方式。图3中的执行单元200的构成组件可以由 电路组成。所述指令内存214可以包含内存区域351-353。在译码器217完成一笔影像数 据(例如静态影像、视频帧或宏区块)的译码后,输出该笔影像数据至外部内存218,所述 主FSM 212判定该笔影像数据的格式,并在所述组态寄存器211中写入适合该格式的解块 模式的相应寄存器设定值。数据加载FSM 215将该笔译码后的影像数据加载至内部存储器 210成为影像数据230。—个解块模式包含多个解块决策,而每个解块决策关联于多个解块公式中的一 个。每个解块决策由内存区域351中储存的多个决定级指令构成,而每个解块公式由内存区域352及353的多个计算级指令构成。像素加载FSM 300在模式寄存器312中写入对应 所述解块模式的寄存器设定值,并将所述影像数据230从所述内部存储器210加载至像素 寄存器313。在决定级310中,提取级314基于所述模式寄存器302中的设定值,从内存区 域351取得决定级指令,译码级315译码并且执行级316执行所述取得的决定级指令,从而 决定一笔解块公式所对应的一条指令提取路径,并把所述所决定的路径对应的寄存器设定 值写入在路径寄存器中,例如路径寄存器322及332。所述路径寄存器323的寄存器值可以 转送至路径寄存器333。所述像素寄存器313中的像素数据可以转送至像素寄存器323。在计算级320 中,提取级3M基于所述路径寄存器322中的设定值,从内存区域352取得计算级指令, 译码级325译码并且执行级3 执行所述取得的计算级指令,以产生并储存中间数据 (intermediate data)或已解块像素值于像素寄存器323。所述像素寄存器323中的像素 数据可以被转送至像素寄存器333。所述路径寄存器322中的设定值可以被转送至路径寄 存器332。同理,在计算级330中,提取级334基于所述路径寄存器332中的设定值,从内存 区域353取得计算级指令,译码级335译码并且执行级336执行所述取得的计算级指令,以 产生并储存中间数据或已解块像素值于像素寄存器333。所述路径寄存器332的设定值可 以接收自所述决定级310的执行级316的输出或上路径寄存器322。所述提取级324、译码级325及执行级3 形成所述计算级320中的管线结构 (pipelining)的三级。所述路径寄存器322及所述像素寄存器323可以包含在提取级324 中。所述译码级325及所述执行级3 可以整合成可以在单个频率周期中完成指令译码及 执行的单一级。同理,所述提取级334、译码级335及执行级336形成所述计算级330中的 管线结构的三级。所述路径寄存器332及所述像素寄存器333可以包含在提取级334中。 所述译码级335及所述执行级336可以整合成可以在单个频率周期中完成指令译码及执行 的单一级。像素更新FSM 340储存解块后的像素值于内部存储器210以更新影像数据230。 所述写回FSM 216传送并储存所述更新后的影像数据230于所述外部内存218。所述影像解块过滤器220的指令集将在下列段落中说明。图11中的表1显示决定 级的指令。“描述”栏中的文字以伪码(pseudo code)说明计算级执行各别指令时的操作。指令SAC,APR,及MFA中的每个指令皆附有模式设定位(bit),其中一位指定该 指令是属于dual或non-dual模式,另一位指定该指令为结束指令(end)或非结束指令 (not-end)。当计算级执行在dual模式中的指令时,该指令指导该计算级执行单指令/多 数据(single instruct ion stream and multiple data streams,简禾尔 SIMD)运算。当计算 级执行在结束指令时,该结束指令指导该计算级将该结束指令后的一组指令集合从所述计 算级移至另一个计算级执行。附,1 2,1 33 及1 为寄存器名称,且4^1及42为变量,称为常数操作数。F1-F4 为双态的旗标。符号“=”代表指定或赋值操作(assignment operation),即指定在该符号 “=”右侧的值予该符号“=”左侧的变量或寄存器。"TF= (|R1-R2 <R3) ? 1:0”表示 在执行SAC指令时,如果(I R1-R2 I < R3)为真,TF的值指定为1,如果(| R1-R2 | < R3)非 真,TF的值指定为0。计算级执行JMP指令时,只在旗标Fl为真时,切换至寄存器A所指的 地址执行指令。计算级执行Ara指令时,当旗标Fl为真,指定Al的值予寄存器TP,当旗标
Fl非真,指定A2的值予寄存器TP。符号“&”代表逻辑AND运算。图12中的表2显示计算 级指令。 TR是寄存器名。A及S是变量,称为常数操作数。所述符号“<<”及“>>”分 别代表位左移及右移操作。明确而言,以实数变量X以及正整数变量y所标示的X ((y表示 X为二的补码并向右位移y位。向右位移后填入最高有效位(Most Significant Bit,简称 MSB)的数值应与χ位移前最高有效位的数值相同。相同地,x((y表示χ为二的补码并向左 位移y位。向左位移后填入最低有效位(Least Significant Bit,简称LSB)的数值应为 0。ASH指令附有模式设定位用于指定寄存器R2及R3之间的运算。当所述模式设定位用于 指定加法运算“ + ”时,所述ASH指令表示TR= [(Rl << D+R2+R3+A] >> S。当所述模式 设定位用于指定减法运算“_”时,所述ASH指令表示TR = [(Rl << D+R2-R3+A] >> S。 所述函数ClipO称为剪裁函数,其定义如下
权利要求
1.一种影像解块过滤器,其特征在于包含指令内存,用于储存多个指令,其中所述多个指令中的第一指令代表作用于三个变量 操作数及二个常数操作数的三个算术运算及二个按位运算;执行单元,用于执行储存于所述指令内存的指令,并包含一第一算术逻辑单元,其中所 述第一算术逻辑单元用于在单一频率周期内执行所述第一指令;以及决定单元,用于执行储存于所述指令内存的指令,从而决定将所述多个指令中的一部 分指令从所述指令内存提取至所述执行单元的第一提取路径及第二提取路径的其中一提 取路径;其中当所述执行单元依据所述第一提取路径或所述第二提取路径执行指令时,分别执 行第一或第二影像压缩标准中的解块公式,且被决定的所述提取路径包含所述第一指令。
2.如权利要求1所述之影像解块过滤器,其特征在于当所述执行单元执行所述第一 指令时指导所述影像解块过滤器执行所述三个算术运算及二个按位运算,包含作为第一按位运算的左移运算,实施于第一变量操作数;作为第一算术运算的第一加法运算,实施于左移后的所述第一变量操作数及第二变量 操作数;根据所述第一指令的模式设定以作为第二算术运算的第二加法运算或减法运算,所述 第二加法运算包含所述第一加法运算的结果加第三变量操作数,以及所述减法运算包含所 述第一加法运算的结果减去所述第三变量操作数;作为第三算术运算的第三加法运算,实施于所述第二算术运算的结果及第一常数操作 数;以及作为第二按位运算的右移运算,依据第二常数操作数的值将所述第三加法运算的结果 右移。
3.如权利要求1所述之影像解块过滤器,其特征在于所述多个指令包含附上限值及 下限值的裁剪指令,所述执行单元执行所述裁剪指令时分别执行对二笔变量操作数执行第四加法运算;当所述第四加法运算的结果在所述上限值及下限值所规范的范围内时,输出所述第四 加法运算的结果;当所述第四加法运算的结果大于所述上限值时,输出所述上限值;以及当所述第四加法运算的结果小于所述下限值时,输出所述下限值。
4.如权利要求1所述之影像解块过滤器,其特征在于所述执行单元包含第一及第二 计算级,所述第一计算级包含所述第一算术逻辑单元,且所述第一计算级传送在所述已决 定提取路径中所述第一指令之后的指令集合至所述第二计算级,以响应所述第一指令之模 式设定,以及所述第二计算级执行所述指令集合。
5.如权利要求4所述之影像解块过滤器,其特征在于所述执行单元更包含第二算术 逻辑单元,所述第一及第二算术逻辑单元在同一频率周期中分别合执行所述第一指令的二 个实例,并分别作用于二组操作数集合,以响应所述第一指令的模式设定。
6.如权利要求1所述之影像解块过滤器,其特征在于所述影像解块过滤器运行在一 机顶盒内。
7.一种影像处理装置,包含如权利要求1至6任一项所述之影像解块过滤器。
8.如权利要求7所述之影像处理装置,其特征在于所述影像解块过滤器为机顶盒。
全文摘要
一种影像解块过滤器包含指令内存。决定单元执行储存于所述指令内存中的指令,以决定将所述多个指令中的一部分指令从所述指令内存提取至执行单元的第一提取路径或第二提取路径。所述执行单元在单一频率周期内执行所述被决定的提取路径中的第一指令。所述第一指令代表作用于三个变量操作数及二个常数操作数的三个算术运算及二个按位运算。所述第一提取路径及所述第二提取路径分别用来实现第一或第二影像压缩标准中的解块公式。
文档编号H04N7/26GK102055969SQ20091030916
公开日2011年5月11日 申请日期2009年10月30日 优先权日2009年10月30日
发明者沈游城 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1