多重标准视频解码系统的制作方法

文档序号:7724301阅读:129来源:国知局
专利名称:多重标准视频解码系统的制作方法
技术领域
本发明涉及一种视频解码系统,尤其涉及一种多重标准视频解码系统。
背景技术
为使得影音及视频应用之大量原始数据得以在有限的网络频宽中迅速传送,将原 始数据于传送前先经过编码压缩,接收端收到后再行解码还原成原始数据已为必要之举。 随着多媒体数字应用日渐广泛,消费者对影像分辨率的要求与日俱增,视频编解码的运算 量也随之提升。就视频解码技术而言,为达到高画质视频实时解码的需求,一般通过硬件方式加 以实现,以硬件设计应付高分辨率画质所产生的庞大运算量。然而硬件设计通常针对单一 视频解码标准,若要支持其它不同的视频解码标准,必须移除或增加硬件设计中的电路,缺 乏弹性与扩充性。若使用软件方式实现视频解码,虽可支持多种视频解码标准,但通用处理 器之效能提升受限于大量的数据总线存取,很难符合高画质视频实时解码的需求。

发明内容
有鉴于此,需提供一种软、硬件整合的多重标准视频解码系统。本发明提供一种多重标准视频解码系统,包括内存、多重主端桥接接口、多个处理 器以及多个硬件加速器。所述内存用来储存比特流及解碼过程中的暂时性数据。所述多重 主端桥接接口,连接至所述内存。所述多个处理器所述多个处理器包含至少一处理器,经由 所述多重主端桥接接口,从所述内存接收所述比特流;以及各所述多个硬件加速器接收来 自所述多个处理器中一处理器的指令而执行视频解码相关流程,并经由所述多重主端桥接 接口,存取所述内存。本发明还提供一种多重标准视频解码系统,包括内存、多重主端桥接接口、点对点 总线、多个处理器以及多个硬件加速器。所述多个处理器包含至少一处理器,经由所述多重 主端桥接接口,从所述内存接收所述比特流。各所述多个硬件加速器接收来自所述多个处 理器中一处理器的指令而执行视频解码相关流程,经由所述多重主端桥接接口,存取所述 内存,并经由点对点总线连结至各所述多个处理器。本发明还提供一种多重标准视频解码方法,执行于多重标准视频解码系系统中。 所述多重标准视频解码系系统的第一处理器接收比特流,通过所述多重标准视频解码系系 统的第一硬件加速器执行可变长度编码,通过所述多重标准视频解码系系统的第二硬件加 速器执行离散余弦反转换,通过所述多重标准视频解码系系统的第三硬件加速器执行运动 补偿,最后通过所述多重标准视频解码系系统的第四硬件加速器执行去区块过滤。[加上一段有益效果说明]


图1为硬件模块100之一种实施方式的示意图。
图2为视频解码系统200之一种实施方式的结构方块图。图3为利用图2中视频解码系统200进行一般视频解码的方法示意图。图4为利用图2中视频解码系统200解码H. 264比特流的方法示意图。图5为利用图2中视频解码系统200解码VC-I比特流的方法示意图。
具体实施例方式本发明利用多个处理器分担视频解码过程的运算量,并将不同视频标准常用的解 码流程通过硬件模块加以实现。请参阅图1所示的硬件模块100,包含熵解码(Entropy Decode) 110、反转换(Inverse Transform) 111、运动补偿(Motion Compensation) 112 与区 块噪声过滤(De-Blocking Filter) 113等硬件加速器。所述熵解码110主要进行熵编码 (Entropy Encode)的逆过程,从中取得可变长度编码(Variable Length Code,简称VLC) 与运动向量(Motion Vector)等信息作为其后解码重建影像之用,反转换111则用来将频 率(frequency)域影像数据还原成空间(spatial)域影像数据,运动补偿112利用先前局 部还原的影像数据预测与补偿正在解码的影像数据,最后区块噪声过滤113则进行重建影 像的后置处理。请参阅图2,显示视频解码系统200的结构方块图。视频解码系统200包含多个处 理器210-212、图1中硬件模块100中的多个硬件加速器如熵解码(Entropy Decode) 220、 反转换 Gnverse Transform) 221、运动补偿(Motion Compensation) 222 与区块噪声过 滤(De-Blocking Filter) 223、内存控制器231、内存232、视频输出单元M0、桥接接口 251与点对点总线2521-2528。多个处理器210-212可以是任何类型的通用处理器,如数 字信号处理器(Digital Signal I^rocessor,简称DSP)或精简指令集处理器(Reduced InstructionSet Computing,简称RISC)。视频解码系统200使用点对点总线2521-25 作 为多个处理器210-212以及多个硬件加速器之间的相互连结,使得处理器与处理器之间、 处理器与与其关联的硬件加速器之间不需要通过总线仲裁(bus arbitration)即可传递指 令流及数据流。桥接接口 251则为多重主端桥接接口(Multi-Master Bridge Interface), 经由所述桥接接口 251,多个处理器210-212与多个硬件加速器皆能通过内存控制器231直 接存取内存232。所述内存232可以为随机存取内存(Random Access Memory,简称RAM), 例如静态随机存取内存(Static RAM,简称SRAM)或是动态随机存取内存(Dynamic RAM,简 称DRAM)用来储存解码过程中产生的系数数据与影像数据等。多个硬件加速器于内存232 中,可以有各自的缓冲区供其运作时存取数据,亦可以有一组共享的缓冲区,作为数据交换 使用。视频解码系统200解码所得的影像数据最后经由视频输出单元240格式化后输出。视频解码系统200可实施在具有各种视频应用领域的装置或传输系统,包含无 线多媒体装置、标准分辨率和高分辨率的电视广播应用、因特网的视频应用、传输高分辨 率视频的数字影像光盘、数字机顶盒与手持式电子装置等。需要了解的是,各多个处理器 210-212所负责的解码流程与硬件加速器的运作会依照不同的视频编码标准而有所不同。 为了平衡系统效能与硬件成本,处理器负责的解码程序与硬件加速器负责的解码程序,亦 可作适时的分配以便取得软硬件间的效能平衡点,举例来说,处理器202中的处理程序负 责反量化的解码程序,反转换221则负责将反量化后的影像数据从频率域还原成空间域, 或者也可以由反转换221同时完成反量化与反转换的解码程序。5
请参阅图3,为利用图2中视频解码系统200进行一般视频解码之方法300的示意 图,其中处理器301-303分别为处理器210-212的实施方式,熵解码304、反转换305、运动 补偿306及区块噪声过滤307等分别为熵解码220、反转换221、运动补偿222与区块噪声 过滤223等硬件加速器的实施方式,内存300为内存232的实施方式。处理器301从内存330接收到编码比特流(bit stream) 320,经由语法解析程序 308依语法结构判别比特流使用的视频编码标准。得知视频编码标准后,将数据传送给熵 解码硬件加速器304并命令其进行熵解码,同时通过控制频率周期控制命令流与数据流的 传递速度。熵解码硬件加速器304的输入可以是比特流亦可以是宏区块(macro block), 若为宏区块,则代表比特流中的区块文件头数据已在处理器301的语法解析程序中完成解 码。在另一实施方式中,处理器301可以通过得知视频编码标准,决定是否动态启动内部的 程序。举例而言,处理器301动态启动运动向量重建的程序,以减轻接下来解码程序中其它 处理器的负载。经由熵解码硬件加速器304处理的输出包含运动向量、区块量化参数与量化离散 余弦转换系数矩阵等,由熵解码硬件加速器304传送给处理器302作进一步的解码处理。 处理器302接收到运动向量、区块量化参数与量化离散余弦转换系数矩阵后,以区块量化 参数与量化的离散余弦转换系数矩阵作为反量化程序309的输入数据,以运动向量作为运 动向量重建程序310的输入数据。反量化程序309以接收到的区块量化参数针对量化离散 余弦转换系数矩阵进行反量化的解码程序,输出反量化的离散余弦转换系数矩阵,并传送 给反转换硬件加速器305,同时命令其进行反转换。运动向量重建程序310负责运动向量 预测与重建的解码程序,输出预测的宏区块,并传送给运动补偿硬件加速器306,同时命令 其进行运动补偿的解码程序。反转换硬件加速器305可由蝶形算法实作支持多重视频编码 标准的离散余弦反转换,举例而言,反转换硬件加速器305可支持MPEG-2视频编码标准的 8X8离散余弦反转换、H. 264视频编码标准的4X4整数反转换与WMV9/VC-1视频编码标 准的8X8、8X4、4X8、4X4整数反转换等。反转换硬件加速器305经由离散余弦反转换运 算得到一系数矩阵,所述系数矩阵即为残余系数数据(Residual Values),反转换硬件加速 器305完成离散余弦反转换的运算后,即将所述残余系数数据储存到内存330中的缓冲区 331,所述缓冲区331由反转换硬件加速器305、运动补偿硬件加速器306与区块噪声过滤硬 件加速器307所共享,亦即反转换硬件加速器305、运动补偿硬件加速器306与区块噪声过 滤硬件加速器307皆可存取缓冲区331。运动补偿硬件加速器306接收到处理器302的命令与数据后,从共享缓冲区331 读取反转换硬件加速器输出的上述残余像素数据,并将上述预测的宏区块与上述残余像素 数据相加,即可得到一重建的宏区块,并将之储存到缓冲区331。重建的宏区块尚须经过区 块噪声过滤硬件加速器307去除区块效应(block effect)后,方完成宏区块的完整解码。 所述区块噪声过滤硬件加速器307的运作由处理器303中的过滤控制程序311所控制。过 滤控制器经由监视运动补偿硬件加速器306的状态缓存器得知其是否完成解码程序,一旦 得知运动补偿硬件加速器306完成解码程序,即命令区块噪声过滤硬件加速器307从缓冲 区331读取重建的宏区块,完成去除区块效应后,将宏区块储存至内存330中目前重建的画 面,完成宏区块的完整解码。以下将介绍利用本发明解碼H. 264与VC-I等视频编码比特流的实施方式。
H. 264标准又称为MPEG-4第10部分,为国际电信联盟远程通信标准化组 (ITUTelecommunication Standardization Sector,简称为 ITU-T)与国际标准化组织 (International Organization for Standardization, 1 !^ ISO) / 151 ^% ;^^ 会(Internatiomil Flectrotechnical Commission,简称为 IEC)底下的动态图像专家组 (Motion Picture Experts Group,简称为MPEG)所共同制定的视频编码标准,官方名称为 进阶视频编码(Advanced Video Coding,简称为AVC),以区块为基本单元,相较于先前的 视频编码标准,提供多样化的宏区块类型进行运动估计(Motion Estimation)与运动补偿 (Motion Compensation),最小为4X4大小的宏区块,能够对图像序列中的运动区域进行更 精确的分割。H. 264进行运动补偿计算时,提供以多张已重建画面获得最类似目前解碼宏区块 的参考值,称为画面间预测(inter-frame prediction),参考的已重建画面最多可往前31 张及往后31张。H. 264亦提供不参考其它已重建画面,以外插的方式来取得解码的像素, 称为画面内预测(intra-frame prediction)。于熵编码部份,H. 264对于非转换系数,使 用单一编码表,而对于量化过的转换系数,则使用内容可适性(Context-adaptive)编码技 术,依字码(code word)的出现机率产生合适的编码表提高压缩比率。内容可适性编码技 术分为两种,一种为调适性可变长度编码(Context-adaptive Variable-Length Codes,简 称CAVLC),另一种为基于上下文的自适应式二进制算术编码(Context-based Arithmetic Coding,简称 CBAC)。请参考图4,为利用图2中视频解码系统200解码H. 264比特流之方法400的示意 图,其中处理器401-403分别为处理器210-212的实施方式,熵解码404、反转换405、运动 补偿406及区块噪声过滤407等分别为熵解码220、反转换221、运动补偿222与区块噪声 过滤223等硬件加速器的实施方式,内存430为内存232的实施方式。处理器401从内存430接收H. 264比特流420,经语法解析器程序408得知视频 编码标准为H. 264,下指令给熵解码硬件加速器404对比特流进行解码。熵解码硬件加速 器404将所接收到的比特流依语法架构解码出接下来解码流程所需之主要数据,包括运动 向量、量化系数、画面内预测模式的指针等,并传送给处理器402。处理器402接收到量化系数后,经由反量化程序409得到去量化系数,传送给反转 换硬件加速器405,并命令其进行4X4整数反转换,将上述去量化系数从频率域还原至空 间域像素数据并储存至内存430中之共享缓冲区431,所述空间域像素数据又称为残余像 素数据。处理器402接收到运动向量后,经由运动向量重建程序410,根据运动向量纪录的 偏移量,从内存430中读取来自单数或多个前一解码流程中已重建画面的单数或多个参考 宏区块,并产生画面间预测宏区块,当预测的宏区块像素数据产生后,即传送给运动补偿硬 件加速器406,并命令运动补偿硬件加速器406读取反转换硬件加速器405储存至内存430 中共享缓冲区431的残余像素数据,将所述残余像素数据与接收到预测的宏区块像素数据 相加得到重建的宏区块,之后将重建的宏区块储存到内存中430的共享缓冲区431。当处理器402接收到画面内预测模式的指针,则通知处理器403的反画面内预测 程序412重新产生画面内预测宏区块。一旦画面内预测宏区块产生,则由处理器403传送给 运动补偿硬件加速器406,并命令运动补偿硬件加速器406读取反转换硬件加速器405储存 至内存中所述共享缓冲区的残余像素数据,将所述残余像素数据与接收到预测的宏区块像素数据相加得到重建的宏区块,之后将重建的宏区块储存到内存430中的共享缓冲区431。处理器403的过滤控制程序411监视运动补偿硬件加速器406的状态缓存器,一 旦运动补偿硬件加速器406完成重建宏区块并储存所述宏区块至内存430中的共享缓冲区 431,即命令区块噪声过滤硬件加速器407从内存430中共享缓冲区431读取所述重建宏区 块进行去除区块效应,并将去除区块效应后的重建宏区块写回储存于内存430中目前重建 的画面,完成宏区块的完整解码。VC-I的前身为WMV第9版。WMV全名为Windows Media Video,是微软公司自行开 发的一系列视频编解码格式的通称,微软公司于2003年将WMV第9版提交至美国电影与电 WXfMffiti]^ (Society of Motion Picture and Television Engineers, SMPTE), gjc 使WMV9成为视频编码标准之一,2006年4月WMV9正式成为视频编码标准并由SMPTE命名 为VC-1。VC-I的编码流程与H. 264相似,都是通过空间域与时间域中,人类视觉无法察觉 的部份加以编码,达到视频压缩的效果。VC-I同样以区块做为编码的基本单元,相较于H. 264提供7种不同大小的宏区 块进行运动估计与运动补偿,VC-I则提供16X16、16X8、8X16与8x8等四种大小的宏区 块进行分割。VC-I亦提供画面间预测与画面内预测两种动态预测模式,对于画面间预测, VC-I提供参考的已重建画面最多只可往前1张及往后1张,对于画面内预测,与H. 264使 用空间域像素数据进行画面内预测有所不同,VC-I使用邻近区块经量化的转换系数作为 预测数据,又称为交流/直流预测(AC/DC prediction)。相较于之前的视频编码标准是以 8X8宏区块或是4X4区块作为转换单位,VC-I允许四种不同大小的适应性区块大小转换 (Adaptive Block SizeiTransform)。此外,VC-1还有一个不同的去区块效应解决方式,称 为重迭转换(OverlapTransform)。传统的区块噪声过滤,虽然可以有效降低区块效应,但区 块噪声过滤是在重建还原之后才会进行的步骤,有可能导致影像细节丢失。VC-I的重迭转 换技术则是在编码时,利用在空间域做前处理,且在解码时搭配后置处理来完成,且仅针对 区块型态为I者执行。至于熵编码部份,VC-I对于非转换系数与量化过的转换系数皆以可 变长度编码。
请参阅图5,为利用图2中视频解码系统200解码VC-I比特流之方法500的示意 图,其中处理器501-503分别为处理器210-212的实施方式,熵解码504、反转换505、运动 补偿506及区块噪声过滤507等分别为熵解码220、反转换221、运动补偿222与区块噪声 过滤223等硬件加速器的实施方式,内存530为内存232的实施方式。处理器501从内存530接收比特流520,经语法解析器程序508得知视频编码标准 为VC-I,下指令给熵解码硬件加速器504对比特流进行解码。熵解码硬件加速器504将比 特流依语法架构解码出接下来流程所需之主要数据,包括运动向量、量化系数、交流/直流 预测指标等。熵解码硬件加速器504将运动向量回传给处理器501,其余则传送给处理器 502。处理器502接收到量化系数后,经由反量化程序510得到去量化系数,传送给反 转换硬件加速器505,并命令其进行整数反转换,将上述去量化系数从频率域还原至空间域 像素数据并储存至内存530中一共享缓冲区531,所述空间域像素数据又称为残余像素数 据(ResidualValues)。处理器501接收到运动向量后,经由运动向量重建程序509,根据运 动向量纪录的偏移量,从内存530中读取前一解码流程中已重建画面中的参考宏区块,并产生画面间预测宏区块,当预测的宏区块像素数据产生后,即传送给运动补偿硬件加速器 506,并命令运动补偿硬件加速器506读取反转换硬件加速器505储存至内存530中共享缓 冲区531的上述残余像素数据,将所述残余像素数据与接收到预测的宏区块像素数据相加 得到重建的宏区块,之后将重建的宏区块储存到内存530中共享缓冲区531。当处理器502接收到交流/直流预测指标,则经由反交流/直流预测程序511重新 产生画面内预测宏区块。一旦画面内预测宏区块产生,则由处理器502传送给运动补偿硬 件加速器506,并命令运动补偿硬件加速器506读取反转换硬件加速器505储存至内存530 中共享缓冲区531的上述残余像素数据,将所述残余像素数据与接收到预测的宏区块像素 数据相加得到重建的宏区块,之后将重建的宏区块储存到内存530中共享缓冲区531。处理器503包含两程序,一为重迭转换程序512、另一为过滤控制程序513。重迭转 换程序512用来监视反转换硬件加速器505的状态缓存器,一旦反转换硬件加速器505完 成整数反转换并储存上述残余像素数据于内存530中共享缓冲区531,即读取所述残余像 素数据进行重迭转换,再重新写回内存530中共享缓冲区531。过滤控制程序513监视运动 补偿硬件加速器506的状态缓存器,一旦运动补偿硬件加速器506完成重建宏区块并储存 所述宏区块至内存530中共享缓冲区531,即命令区块噪声过滤硬件加速器507从内存530 中共享缓冲区531读取所述重建宏区块进行去除区块效应(block effect),并于过滤完成 后,将所述重建的宏区块写回储存于内存530中目前重建的画面,完成宏区块的完整解码。
权利要求
1.一种多重标准视频解码系统,其特征在于包括 内存,用来储存比特流及解码过程中的暂时性数据; 多重主端桥接接口,连接至该内存;多个处理器,其中该多个处理器包含至少一处理器,经由该多重主端桥接接口从该内 存接收该比特流;以及多个硬件加速器,每一硬件加速器接收来自所述多个处理器中的一个之指令执行视频 解码流程,并经由该多重主端桥接接口存取于该内存。
2.如权利要求1所述之多重标准视频解码系统,其特征在于,该多个处理器之间经由 点对点总线连结。
3.如权利要求1所述之多重标准视频解码系统,其特征在于,该多个处理器与相应的 硬件加速器之间经由点对点总线连结。
4.如权利要求1所述之多重标准视频解码系统,其特征在于,该多个硬件加速器包含 第一硬件加速器,该第一硬件加速器从该多个处理器中的一个接收解码指令执行可变长度解码。
5.如权利要求1所述之多重标准视频解码系统,其特征在于,该多个硬件加速器包含 第二硬件加速器,该第二硬件加速器从该多个处理器中的另一个接收解码指令执行离散余 弦反转换。
6.如权利要求1所述之多重标准视频解码系统,其特征在于,该多个硬件加速器包含第三硬件加速器,该第三硬件加速器从该多个处理器中的又一个接收解码指令执行运动补 偿。
7.如权利要求1所述之多重标准视频解码系统,其特征在于,该多个硬件加速器包含 第四硬件加速器,该第四硬件加速器从该多个处理器中的还一个接收解码指令执行去区块 过滤。
8.如权利要求1所述之多重标准视频解码系统,其特征在于,该多个硬件加速器与该 内存共享缓冲区,作为数据交换之用。
9.一种多重标准视频解码系统,其特征在于包括 内存;多重主端桥接接口; 点对点总线;多个处理器,其中至少一个处理器经由该多重主端桥接接口从该内存接收该比特流;以及多个硬件加速器,所述多个硬件加速器接收来自该多个处理器中的一个的指令执行视 频解码流程,经由该多重主端桥接接口存取于该内存,并经由点对点总线连结所述处理器。
10.如权利要求9所述之多重标准视频解码系统,其特征在于,该多个处理器之间经由 点对点总线连结。
11.如权利要求9所述之多重标准视频解码系统,其特征在于,该多个硬件加速器包含 第一硬件加速器,该第一硬件加速器从该多个处理器中的一个接收解码指令开始而执行可 变长度解码。
12.如权利要求9所述之多重标准视频解码系统,其特征在于,该多个硬件加速器包含第二硬件加速器,该第二硬件加速器从该多个处理器中的另一个接收解码指令开始而执行 离散余弦反转换。
13.如权利要求9所述之多重标准视频解码系统,其特征在于,该多个硬件加速器包含 第三硬件加速器,该第三硬件加速器从该多个处理器中的又一个接收解码指令而执行运动 补偿。
14.如权利要求9所述之多重标准视频解码系统,其特征在于,该多个硬件加速器包含 第四硬件加速器,该第四硬件加速器从该多个处理器中的还一个接收解码指令而执行去区 块过滤。
15.如权利要求9所述之多重标准视频解码系统,其特征在于,该多个硬件加速器与该 内存共享缓冲区,作为数据交换之用。
16.一种多重标准视频解码方法,执行于一多重标准视频解码系统中,其特征在于包括该多重标准视频解码系统的第一处理器接收比特流; 通过该多重标准视频解码系统的第一硬件加速器执行可变长度编码; 通过该多重标准视频解码系统的第二硬件加速器执行离散余弦反转换; 通过该多重标准视频解码系统的第三硬件加速器执行运动补偿;以及 通过该多重标准视频解码系统的第四硬件加速器执行去区块过滤。
17.如权利要求16所述之多重标准视频解码方法,其特征在于,该第二硬件加速器、该 第三硬件加速器以及该第四硬件加速器共享缓冲区以交换数据。
全文摘要
一种多重标准视频解码系统,包括内存、多重主端桥接接口、多个点对点总线、多个处理器以及多个硬件加速器。所述内存用来储存比特流及解码过程中的暂时性数据。所述多重主端桥接接口连接至所述内存。所述多个处理器中的一个经由所述多重主端桥接接口从所述内存接收所述比特流;以及各所述多个硬件加速器接收来自所述多个处理器中中的一个的指令执行视频解码流程,并经由所述多重主端桥接接口存取所述内存。所述多个处理器与各所述多个硬件加速器间经由所述多个点对点总线相互连结。
文档编号H04N7/26GK102055970SQ20091030946
公开日2011年5月11日 申请日期2009年11月9日 优先权日2009年11月9日
发明者施泽聪, 李一心, 林声伟, 童怡新 申请人:鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1