CN101909212B - 可重构多媒体SoC的多标准宏块预测系统 - Google Patents
可重构多媒体SoC的多标准宏块预测系统 Download PDFInfo
- Publication number
- CN101909212B CN101909212B CN 201010245491 CN201010245491A CN101909212B CN 101909212 B CN101909212 B CN 101909212B CN 201010245491 CN201010245491 CN 201010245491 CN 201010245491 A CN201010245491 A CN 201010245491A CN 101909212 B CN101909212 B CN 101909212B
- Authority
- CN
- China
- Prior art keywords
- module
- information
- prediction
- links
- block
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
一种视频处理技术领域的可重构多媒体SoC的多标准宏块预测系统,包括:输入读取控制模块、宏块解析主控制器模块、寄存器接口模块、宏块预测模块、边界滤波强度计算模块、行缓存模块、输出控制模块以及参考帧存储控制器模块。本发明实现兼容H.264和AVS标准的帧内模式预测、帧间运动矢量预测以及边界滤波强度计算,能有效减少存储空间并复用硬件设计,提高解码效率,满足多媒体SoC系统的高性能要求。
Description
技术领域
本发明涉及的是一种视频处理技术领域的系统,具体是一种可重构多媒体SoC(片上系统)的多标准宏块预测系统。
背景技术
由于手持设备的日益发展,要求手持设备具备高性能的多媒体处理能力和较低的功耗消耗。多媒体处理涉及各种媒体格式和标准,如视频处理里面的H.26x,MPEG.x系列标准以及中国自主知识产权的视频编解码标准AVS(Advanced Video Standard,高级视频标准)。H.264和AVS作为高清视频编解码的典型标准,具有压缩率远远高于其他标准的优点,相应的解码器也比其它标准更为复杂,涉及大量复杂的方法,对实现实时解码带来较大困难。
多媒体实时处理一般采用专用集成电路(ASIC)来实现,ASIC虽然可以达到很高的性能,但如果要处理多种媒体格式,将会带来很高的成本。而通用处理器(GPP)虽然具有很高的灵活性,但却很难满足实时处理的性能要求。可重构SoC系统一般由一个或者多个主处理器、可重构运算阵列和存储器以及通信总线构成。主处理器执行串行的非关键代码,而将具有并行性的关键代码映射到可重构计算阵列上执行。可重构计算系统具有很强的可编程性和灵活性,填补了GPP和ASIC之间的间隙,在性能、成本和可编程性等多方面得到了均衡。
H.264和AVS视频解码方法从流程上分类,大致可以分为四个部分:(1)熵解码(EntropyDecoder);(2)反扫描/量化/变换;(3)帧内和帧间预测;(4)去块滤波;(5)图像重建。按照方法类型分类,可以分为控制占优的方法和运算占优的方法。对于控制占优的方法,方法过程十分复杂,需要复杂的控制才能完成,但是运算量相对较小;对于运算占优的方法,涉及大量的运算过程,但是控制较为简单。第一种分类里面的(2)和(4)属于计算占优的方法,通过分析H.264和AVS标准的代码,这两部分分别约占整个解码过程的14.5%和31%。其中,去块滤波又可以分为边界滤波强度计算和滤波,两部分分别约占9%和22%;(1)属于控制占优的方法,在整个解码过程中约占13.2%的比例。对于(3)来说,帧内预测和帧间预测均可以分为两个部分,其中帧内预测分为帧内模式预测与样点预测,帧间预测分为运动矢量预测和运动补偿(Motion Compensation)。帧内模式预测和运动矢量预测均属于控制占优的方法,占整个解码过程比例约为7.8%;帧内样点预测和运动补偿属于运算占优方法,占整个解码过程的比例约为31.5%。从上述分析可以看出,运算占优方法占据解码器约68%的复杂度,宏块预测(包括帧内模式预测,帧间运动矢量预测和边界滤波强度计算)占据了约16.8%的复杂度,如果单独由主控核来实现控制占优的方法,很难满足实时处理的要求。
H.264和AVS标准虽然存在较大差异,比如在宏块划分上,AVS只存在16x16,8x16,16x8和8x8四种,而H.264标准除了上述四种划分方式外,还存在8x4,4x8和4x4的划分方式。但是,H.264和AVS在解码器结构上却十分相似,尤其是帧内和帧间预测等部分,因此可以考虑抽取其中的共同点,设计可复用的硬件结构。
帧内模式预测与帧间运动矢量预测在方法上有很大的相似度,都采用相邻宏块的信息来预测当前宏块的信息。因此,在硬件实现上可以采用同一套数据和控制通路,通过解析宏块类型,选择进行帧内模式预测还是帧间运动矢量预测。边界强度计算需要利用运动矢量和参考索引来计算当前宏块的边界滤波强度。本设计之前的解码器在计算边界滤波强度时采用的过程是先进行运动矢量预测,然后将运动矢量和参考索引存入外部或内部存储器,最后在进行去块滤波过程中计算边界滤波强度。这样就需要存储和读取大量运动矢量与参考索引的信息,既浪费了存储空间,又造成了存取存储器的时间等待开销,降低了整个解码过程的效率。
经对现有的文献检索发现,H.B.Yin等人在2008年International Conference on Audio,Language and Image Processing(音频语言与图像处理国际会议)上发表的“An efficient MVprediction VLSI architecture for H.264video decoder”(一种H.264视频解码器中高效运动矢量预测的超大规模集成电路结构)一文中提出了一种高效的H.264运动矢量预测系统结构,但是该系统只针对H.264Baseline(基准),并且只实现了帧间运动矢量的预测。而J.H.Zheng等人在Advances in Multimedia Information Processing(多媒体信息处理发展会议)上发表的“A motion vector predictor architecture for AVS and MPEG-2 HDTV decoder”一文中提出了一种兼容AVS和MPEG-2标准的帧间运动矢量预测系统,但不能支持H.264标准,并且没有实现帧内模式预测和边界滤波强度计算。
又经检索发现,中国专利公开号为:CN1801941A,名称为:多模标准解码器中运动矢量预测复用设计方法,公开日期为:2006-07-12,该技术提出了一种兼容H.264和AVS标准的运动矢量预测复用设计的方法,可以实现H.264和AVS的帧间运动矢量预测,但是没有提出将帧内模式预测和边界滤波强度计算与之相结合设计的系统。
上述技术都只对视频解码中一种标准或者多种标准的帧间运动矢量预测提出了硬件设计的系统或方法,如果要考虑整个视频解码流程,将帧内模式预测、帧间运动矢量预测和边界滤波强度计算这三部分具有关联和紧密依赖程度的任务分别进行硬件设计,将付出较大的硬件代价。
发明内容
本发明的目的在于克服现有技术存在的上述不足,提供一种可重构多媒体Soc的多标准宏块预测系统。本发明实现兼容H.264和AVS标准的帧内模式预测、帧间运动矢量预测以及边界滤波强度计算,能有效减少存储空间并复用硬件设计,提高解码效率,满足多媒体SoC系统的高性能要求。
本发明是通过以下技术方案实现的:
本发明包括:输入读取控制模块、宏块解析主控制器模块、寄存器接口模块、宏块预测模块、边界滤波强度计算模块、行缓存模块、输出控制模块以及参考帧存储控制器模块,其中:输入读取控制模块与外部输入缓存相连传输当前宏块的信息,输入读取控制模块与宏块解析主控制器模块相连传输宏块类型与子宏块类型以及帧内预测模式信息,输入读取控制模块与宏块预测模块相连传输帧内模式预测模式和运动矢量残差信息,寄存器接口模块与外部总线相连传输寄存器配置信息,寄存器接口模块与宏块解析主控制器模块相连传输视频解码的寄存器配置信息,宏块解析主控制器模块分别与宏块预测模块、边界滤波强度计算模块、输出控制模块相连传输状态机控制信息,宏块预测模块与输出控制模块相连传输预测得到的帧内预测模式、运动矢量和参考索引信息,行缓存模块与宏块预测模块相连传输相邻宏块的信息,输出控制模块与行缓存模块相连传输当前宏块的运动矢量与参考索引信息,输出控制模块与参考帧存储控制器模块相连传输预测得到的当前块运动矢量和参考索引信息,输出控制模块与外部输出缓存相连传输当前宏块预测得到的帧内预测模式、边界滤波强度、运动矢量与参考索引信息,参考帧存储控制器模块与宏块预测模块相连传输参考块信息,参考帧存储控制器模块与外部存储器相连传输参考帧信息,边界滤波强度计算模块与输出控制模块相连传输运动矢量、参考索引和残差非零系数信息信息以及当前宏快的边界滤波强度信息。
所述的宏块预测模块包括:帧内模式预测子模块、空域预测子模块、时域预测子模块和对称预测子模块,其中:帧内模式预测子模块与输入读取控制模块相连传输帧内预测模式信息,空域预测子模块与输入读取控制模块相连传输参考索引和运动矢量残差信息,时域预测子模块与输入读取控制模块相连传输宏块预测控制信息,空域预测子模块与对称预测子模块相连传输 对称模式预测中前向运动矢量信息,时域预测子模块与参考帧存储控制器模块相连传输参考块信息,帧内模式预测子模块与输出控制模块相连传输帧内预测模式信息,空域预测子模块、时域预测子模块和对称预测子模块分别与输出控制模块相连传输运动矢量和参考索引信息,帧内模式预测子模块和空域预测子模块分别与行缓存模块相连传输相邻宏块的信息,帧内模式预测子模块、空域预测子模块和时域预测子模块分别与宏块解析主控制器模块相连传输状态机控制信息。
所述的输出控制模块包括:输出缓存控制单元、参考块存储控制单元和相邻块信息更新单元,其中:输出缓存控制单元与外部输出缓存相连传输当前宏块的预测结果信息,参考块存储控制单元与参考帧存储控制器模块相连传输当前宏块的运动矢量和参考索引信息,相邻块信息更新单元与行缓存模块相连传输当前预测得到的宏块信息,相邻块信息更新单元与边界滤波强度计算模块相连传输运动矢量、参考索引和残差非零系数标志信息,输出缓存控制单元与宏块预测模块相连传输帧内预测模式、运动矢量和参考索引信息。
所述的边界滤波强度计算模块包括:运动信息解析单元、垂直边界滤波强度计算单元和水平边界滤波强度计算单元,其中:运动信息解析单元与输出控制模块相连传输当前块、当前块的左邻块和当前块的上邻块的运动矢量、参考索引以及残差非零系数标志信息,垂直边界滤波强度计算单元输入端与运动信息解析单元相连传输当前块和当前块的左邻块的运动矢量、参考索引以及残差非零系数标志信息,垂直边界滤波强度计算单元输出端与输出控制模块相连传输垂直边界滤波强度信息,水平边界滤波强度计算单元输入端与运动信息解析单元相连传输当前块和当前块的上邻块的运动矢量、参考索引以及残差非零系数标志信息,水平边界滤波强度计算单元输出端与输出控制模块相连传输水平边界滤波强度信息。
所述的参考帧存储控制器模块包括:控制单元、存储FIFO(先进先出队列)单元和快速缓存单元(Cache),其中:控制单元分别与存储FIFO单元和快速缓存单元相连传输控制信息,存储FIFO单元与输出控制模块相连传输当前块的运动矢量、参考索引和宏块编码类型信息,存储FIFO单元与外部存储器相连传输运动矢量和参考索引信息,快速缓存单元与宏块预测模块相连传输参考块运动矢量和参考索引信息,快速缓存单元与外部存储器相连传输存储器数据信息,控制单元与外部存储器相连传输存储器读写地址、读写使能和读写请求信息。
与现有技术相比,本发明的有益效果是:特别适用于当前的可重构多媒体SoC系统,将H.264和AVS标准中控制占优并且在方法上具有共性与依赖性的帧内模式预测、帧间运动矢量预测以及边界滤波强度计算相结合设计,减少了38%~41%的内部存储开销,复用了硬件设计。通过 配置寄存器可以选择猝发读取的数据个数为8/16/32,这样申请到总线后,一次可以将8/16/32个数据读取并存入Cache,提高了总线的使用效率,减少了总线申请频率和访存的等待开销。
附图说明
图1是本发明的系统组成连接示意图。
具体实施方式
下面结合附图和对本发明的实施例做进一步详细描述:本实施例在本发明技术方案的基础上进行实施,给出了详细的实施方式和过程,但本发明的保护范围不限于下述的实施例。
实施例
如图1所示,本实施例包括以下模块:输入读取控制模块、宏块解析主控制器模块、寄存器接口模块、宏块预测模块、边界滤波强度计算模块、行缓存模块、输出控制模块以及参考帧存储控制器模块,其中:输入读取控制模块与外部输入缓存相连传输当前宏块的信息,输入读取控制模块与宏块解析主控制器模块相连传输宏块类型与子宏块类型以及帧内预测模式信息,输入读取控制模块与宏块预测模块相连传输帧内模式预测模式和运动矢量残差信息,寄存器接口模块与外部AMBA(高级微控制器总线架构)总线相连传输寄存器配置信息,寄存器接口模块与宏块解析主控制器模块相连传输视频解码的寄存器配置信息,宏块解析主控制器模块分别与宏块预测模块、边界滤波强度计算模块、输出控制模块相连传输状态机控制信息,宏块预测模块与输出控制模块相连传输预测得到的帧内预测模式、运动矢量和参考索引信息,行缓存模块与宏块预测模块相连传输相邻宏块的信息,输出控制模块与行缓存模块相连传输当前宏块的运动矢量与参考索引信息,输出控制模块与参考帧存储控制器模块相连传输预测得到的当前块运动矢量和参考索引信息,输出控制模块与外部输出缓存相连传输当前宏块预测得到的帧内预测模式、边界滤波强度、运动矢量与参考索引信息,参考帧存储控制器模块与宏块预测模块相连传输参考块信息,参考帧存储控制器模块与外部存储器模块相连传输参考帧信息,边界滤波强度计算模块的输入端与输出控制模块相连传输运动矢量、参考索引和残差非零系数信息信息,边界滤波强度计算模块的输出端与输出控制模块相连传输当前宏快的边界滤波强度信息。
所述的寄存器接口模块用于配置解码器的类型和解码关键参数。寄存器接口模块与宏块解析主控制器模块相连传输解码控制信号和解码器参数,寄存器接口模块的输入端与外部AMBA总线相连传输总线地址和数据信息。
所述的解码器类型是指:H.264码流,或者是AVS码流。寄存器接口模块中is_avc位表示当前解码的码流:is_avc为1表示当前解码码流为H.264码流,is_avc为0表示当前解码码 流为AVS码流。
所述的解码关键参数是指:用于配置H.264或AVS解码器的必要参数,包括解码图像宽度(width)、图像高度(height)、图像编码类型(picture coding type)、条带类型(slicetype)、帧场自适应标志(MBAFF)等信息。
所述的输入读取控制模块用于从外部乒乓结构的缓存中读入当前宏块信息,包括宏块类型、子宏块类型、帧内模式预测模式以及运动矢量残差。
所述的宏块预测模块用于对宏块进行解码预测,包括:帧内模式预测子模块、空域预测子模块、时域预测子模块和对称预测子模块,其中:帧内模式预测子模块与输入读取控制模块相连传输帧内预测模式信息,空域预测子模块与输入读取控制模块相连传输参考索引和运动矢量残差信息,时域预测子模块与输入读取控制模块相连传输宏块预测控制信息,空域预测子模块与对称预测子模块相连传输对称模式预测中前向运动矢量信息,时域预测子模块与参考帧存储控制器模块相连传输参考块信息,帧内模式预测子模块与输出控制模块相连传输帧内预测模式信息;空域预测子模块、时域预测子模块和对称预测子模块分别与输出控制模块相连传输运动矢量和参考索引信息,帧内模式预测子模块和空域预测子模块分别与行缓存模块相连传输相邻宏块的信息,帧内模式预测子模块、空域预测子模块和时域预测子模块分别与宏块解析主控制器模块相连传输状态机控制信息。
所述的空域预测子模块用于完成H.264和AVS标准的空域模式预测,包括:P_Skip模式预测(P条带跳过模式)、直接模式空域预测、对称模式的前向运动矢量预测(AVS标准特有)和一般模式空域预测。该子模块包括:状态机控制单元、相邻块信息解析单元和空域运动矢量计算单元,其中:状态机控制单元分别与相邻块信息解析单元和空域运动矢量计算单元相连传输状态机控制信息,状态机控制单元的输入端分别与宏块信息解析主控制器模块、时域预测子模块相连传输空域预测控制信息,相邻块信息解析单元的输入端与行缓存单元相连传输相邻当前块的左邻块、当前块的上邻块、右上块C和左上块D的信息,相邻块解析单元的输出端与空域运动矢量计算单元相连传输相邻块运动矢量和参考索引信息,空域运动矢量计算单元的输入端与输入读取控制模块相连传输运动矢量残差信息,空域运动矢量计算单元的输出端与输出控制模块相连传输空域预测的运动矢量和参考索引信息。
所述的空域预测控制信息包括:空域预测状态机开始标志、空域预测模式标志(P_Skip模式预测、直接模式空域预测、对称模式的前向运动矢量预测和一般模式空域预测)、空域预测方向信息。
所述的时域预测子模块用于完成H.264和AVS标准的时域模式预测,包括:参考块地址产生单元、参考块信息解析单元和时域运动矢量计算单元。其中:参考块地址产生单元与参考帧存储控制器模块相连传输参考帧存储的地址和数据,参考块信息解析单元的输入端与参考帧存储器模块相连传输参考块信息,参考块信息解析单元的输出端与空域预测子模块相连传输时空预测控制信息,时域运动矢量计算单元与参考块地址产生单元相连传输参考块的信息时域运动矢量计算单元与输出控制相连传输运动矢量和参考索引信息。
所述的时空预测控制信号包括:参考块帧内标志信息和直接零预测标志信息(direct_zero_flag)。
所述的帧内模式预测子模块用于完成H.264和AVS标准的帧内模式预测,包括:亮度模式预测单元、色度模式预测单元和直流模式扩展单元,其中:亮度模式预测单元与输入读取控制模块相连传输亮度预测模式信息,色度模式预测单元与输入读取控制模块相连传输色度预测模式信息;直流模式扩展单元输入端分别与亮度模式预测单元和色度模式预测单元相连传输预测得到的亮度与色度预测模式,直流模式扩展单元的输出端与输出控制模块相连传输帧内预测模式信息。
所述的直流模式扩展单元用于完成对帧内直流预测模式的扩展,包括相邻块判断和模式扩展。通过对相邻块可用性的判断,将预测得到的帧内模式进行扩展,以得到精确的直流模式方便后续处理。
H.264标准中提供9种8x8亮度预测模式,9种4x4亮度预测模式,4种16x16亮度预测模式以及4种色度预测模式,进行直流扩展后可以得到12种8x8亮度预测模式,12种4x4亮度预测模式,7种16x16亮度预测模式以及7种色度预测模式。AVS标准提供5种8x8亮度预测模式和4种色度预测模式,进行直流扩展后可以得到8种8x8亮度预测模和7种色度预测模式。进行直流模式扩展可以明确得到更为准确的直流预测模式,方便后续帧内样点预测的处理。
所述的输出控制模块用于完成输出控制、更新相邻寄存器和行缓存,包括:输出缓存控制单元、参考块存储控制单元和相邻块信息更新单元,其中:输出缓存控制单元与外部输出缓存相连传输当前宏块的预测结果信息,参考块存储控制单元与参考帧存储控制器模块相连传输当前宏块的运动矢量和参考索引信息,相邻块信息更新单元与行缓存模块相连传输当前预测得到的宏块信息,相邻块信息更新单元与边界滤波强度计算模块相连传输运动矢量、参考索引和残差非零系数标志信息,输出缓存控制单元与宏块预测模块相连传输帧内预测模式、运动矢量和参考索引信息。
所述的输出缓存控制单元用于控制输出当前宏块的信息,包括:预测得到的帧内预测模式、运动矢量和参考索引,以及边界滤波强度。H.264每个宏块输出27个数据,AVS每个宏块输出7个数据。数据输出结束后,当前宏块预测完成。
所述的参考块存储控制单元用于控制将当前宏块信息存入参考帧存储控制器的数据FIFO中。当前宏块预测完成后,将每个4x4块的运动矢量和参考索引信息存入参考帧存储控制器模块的数据FIFO中。
所述的相邻块信息更新单元用于更新相邻块寄存器信息和行缓存信息。每次宏块预测开始,先将行缓存(Line Buffer)里的对应数据读入,存到相邻块寄存器中;每次宏块预测完成后,将当前宏块的最下边的4个4x4块更新到行缓存,最右边的4个4x4块更新至左边相邻块寄存器。
所述的相邻块均按照4x4块划分,相邻块存储器包括4个左相邻块寄存器和6个上相邻块寄存器,每个相邻块寄存器中保存前后向运动矢量、前后向参考索引和预测方向等信息。
所述的行缓存用于保存上一行宏块的运动信息,按照4x4块大小划分,为了支持H.264和AVS标准的高清格式(1920x1080)码流解码,该缓存存储单元个数为480个。
所述的边界滤波强度计算模块用于完成计算边界滤波强度,包括:运动信息解析单元、垂直边界滤波强度计算单元和水平边界滤波强度计算单元,其中:运动信息解析单元与输出控制模块相连传输当前块、当前块的左邻块和当前块的上邻块的运动矢量、参考索引以及残差非零系数标志信息。垂直边界滤波强度计算单元输入端与运动信息解析单元相连传输当前块和当前块的左邻块的运动矢量、参考索引以及残差非零系数标志信息,垂直边界滤波强度计算单元输出端与输出控制模块相连传输垂直边界滤波强度信息,水平边界滤波强度计算单元输入端与运动信息解析单元相连传输当前块和当前块的上邻块的运动矢量、参考索引以及残差非零系数标志信息,水平边界滤波强度计算单元输出端与输出控制模块相连传输水平边界滤波强度信息。
本实施例中边界滤波强度的计算按照4x4块划分计算,对于AVS标准,只需要在计算完成后选择8x8块的边界滤波强度值即可。
所述的参考帧存储控制器模块用于控制参考帧信息的存储和读取,包括:控制单元、存储FIFO单元和快速缓存单元,其中:控制单元分别与存储FIFO单元和快速缓存单元相连传输控制信息,存储FIFO单元与输出控制模块相连传输当前块的运动矢量和参考索引信息,存储FIFO单元与外部存储器相连传输运动矢量和参考索引信息,,快速缓存单元与宏块预测模块相连传输参考块运动矢量和参考索引信息,快速缓存单元与外部存储器相连传输存储器数据信息,控 制单元与外部存储器相连传输存储器读写地址、读写使能和读写请求信息。
所述的存储FIFO单元用于缓存当前块运动矢量、参考索引和宏块编码类型信息,当前宏块预测完成后,将宏块的信息存入FIFO中;存储FIFO单元与外部存储器模块相连传输运动矢量和参考索引信息,当FIFO内数据个数达到配置的猝发写入数据个数时,控制单元将数据写入外部存储器中。
所述的猝发写入数据个数通过寄存器接口模块配置为8或16或32。
所述的快速缓存单元用于缓存帧信息,包括运动矢量、参考索引和宏块编码类型信息。当时域预测子模块读取Cache失效时,控制单元以配置的猝发读取数据个数为单位,一次性读取读取数据存入快速缓存单元中,当时域预测子模块读取Cache命中时,则根据读地址直接取Cache内参考块的信息。
所述的猝发读取数据个数通过寄存器接口模块配置为8或16或32。
本实施例对兼容H.264和AVS标准的帧内模式预测、帧间运动矢量预测与边界滤波强度计算的实现,包括以下步骤:
(1)寄存器配置与系统初始化。首先通过寄存器接口模块配置寄存器中1bit的is_avc标志,当is_avc为1时,表示当前解码码流为H.264码流,否则为AVS码流。另外还需要配置H.264与AVS解码的一些关键参数,如图像类型(picture_type)、以宏块为单位的图像宽度(mb_width)与图像高度(mb_height)等;当所有寄存器初始化完成后,寄存器的mbp_enable(使能信号)标志置1,系统的状态机进入工作模式;然后外部输入发出一个mb_start(宏块启动)信号启动主状态机开始进行宏块预测;
(2)宏块信息获取与解析。输入读取控制模块从外部输入缓存中取得熵解码得到的宏块数据,包括宏块类型,运动矢量残差和参考索引等,然后由宏块解析主控制器模块对宏块信息进行解析,得到当前宏块的形状、预测模式、预测方向等;
(3)宏块预测。宏块预测分为帧内模式预测和帧间运动矢量预测,根据(2)中的宏块信息,决定当前进行帧内模式预测或者帧间运动矢量预测。当宏块类型是I宏块时,帧内模式预测子模块启动,预测帧内模式,包括帧内亮度模式预测和帧内色度模式预测;当宏块类型是P或者B宏块时,根据宏块类型选择空域、时域或者对称预测模式进行运动矢量的预测。当前块预测完成后需要将当前帧信息存入参考帧存储器中,以供B帧宏块直接模式的预测;当进行B宏块的直接模式预测时,需要通过参考帧存储控制器模块读取参考帧存储器内相应参考宏块的信息,用于对当前宏块进行预测。
(4)边界滤波强度计算。当宏块预测完成后,根据宏块类型、预测得到的运动矢量和参考索引信息计算边界滤波强度。若当前宏块为I宏块,则直接给出边界滤波强度;若当前宏块为P宏块或者B宏块,则根据预测得到的运动矢量和参考索引信息计算边界滤波强度。
(5)更新行缓存。宏块预测与边界滤波强度计算完成后,需要更新相邻块寄存器的信息和行缓存,以供下一行的宏块预测使用。用当前宏块预测得到的最下方4个4x4块的信息更新对应的行缓存单元,作为下一行对应位置宏块的上相邻块;将预测得到的当前宏块的最右边4个4x4块更新左相邻块寄存器的信息,作为下一个预测宏块的左相邻块。
(6)数据输出。预测得到的帧内预测模式,运动矢量和边界滤波强度,存入外部输出缓存中,供可重构计算阵列读取以进行运动补偿或环路滤波等。
实施效果
在寄存器开销上,相邻块寄存器大小为:84x10=840比特;
当前宏块寄存器大小为:84x16=1344比特;
总共大小为:840+1344=2184比特。
在缓存开销上,先进先出队列大小为:64x64=4096比特;
快速缓存大小为:32x64=2048比特;
支持高清标准(1920x1080)需要行缓存大小为:(1920/4)x84=40320比特;
缓存总大小为:4096+2048+40320=46464比特;
所以总共需要的内部缓存开销为:46464+2184=48648比特。
本实施例系统将H.264与AVS标准的帧内模式预测、帧间运动矢量预测和边界滤波强度计算结合设计,如果将两种标准分开设计,需要占用内部缓存大小为:69x26+82x26+4096+2048+480x82+480x69=82550比特,这表明本实施例系统可以减少内部存储约41%。
如果将帧内模式预测和边界强度计算分开设计,帧内模式预测需要占用内部缓存大小为:6x26+6x480=3036比特,边界强度计算需要占用内部缓存大小为:61x26+61x480=30866比特, 这表明本实施例的系统可以减少内部存储约38.8%。
背景技术“An efficient MV prediction VLSI architecture for H.264 video decoder”中的技术仅支持H.264 Baseline的运动矢量预测系统每个宏块解码的最大时钟周期数为260个时钟周期,平均时钟周期数为160个时钟周期。而“Amotion vector predictor architecture for AVS and MPEG-2 HDTV decoder”一文中提出的一种兼容AVS和MPEG-2标准的运动矢量预测系统解码每个宏块最大时钟周期数为310。对于相同测试码流和工作频率,本实施例的系统解码AVS每个宏块最大时钟周期数为327,平均时钟周期数为180,。解码H.264每个宏块最大时钟周期数为535,平均时钟周期数为278。本实施例系统在处理AVS码流上性能显然远胜于J.H.Zheng等人提出的系统,并且还包括了帧内模式预测和边界滤波强度计算。虽然本系统解码H.264一个宏块的最大时钟周期数和平均时钟周期数比H.B.Yin等人提出的系统大,但是H.B.Yin等人提出的系统只支持H.264 baseline,而且未实现帧内模式预测和边界滤波强度的计算。
Claims (5)
1.一种可重构多媒体SoC的多标准宏块预测系统,其特征在于,包括:输入读取控制模块、宏块解析主控制器模块、寄存器接口模块、宏块预测模块、边界滤波强度计算模块、行缓存模块、输出控制模块以及参考帧存储控制器模块,其中:
所述输入读取控制模块与外部输入缓存相连传输当前宏块的信息,输入读取控制模块与宏块解析主控制器模块相连传输宏块类型与子宏块类型以及帧内预测模式信息,输入读取控制模块与宏块预测模块相连传输帧内模式预测模式和运动矢量残差信息;
所述寄存器接口模块与外部总线相连传输寄存器配置信息,寄存器接口模块与宏块解析主控制器模块相连传输视频解码的寄存器配置信息;
所述宏块解析主控制器模块分别与宏块预测模块、边界滤波强度计算模块、输出控制模块相连传输状态机控制信息;
所述宏块预测模块与输出控制模块相连传输预测得到的帧内预测模式、运动矢量和参考索引信息;
所述行缓存模块与宏块预测模块相连传输相邻宏块的信息;
所述输出控制模块与行缓存模块相连传输当前宏块的运动矢量与参考索引信息,输出控制模块与参考帧存储控制器模块相连传输预测得到的当前块运动矢量和参考索引信息,输出控制模块与外部输出缓存相连传输当前宏块预测得到的帧内预测模式、边界滤波强度、运动矢量与参考索引信息;
所述参考帧存储控制器模块与宏块预测模块相连传输参考块信息,参考帧存储控制器模块与外部存储器相连传输参考帧信息;
所述边界滤波强度计算模块与输出控制模块相连传输运动矢量、参考索引和残差非零系数信息信息以及当前宏块的边界滤波强度信息。
2.根据权利要求1所述的可重构多媒体SoC的多标准宏块预测系统,其特征是,所述的宏块预测模块包括:帧内模式预测子模块、空域预测子模块、时域预测子模块和对称预测子模块,其中:帧内模式预测子模块与输入读取控制模块相连传输帧内预测模式信息,空域预测子模块与输入读取控制模块相连传输参考索引和运动矢量残差信息,时域预测子模块与输入读取控制模块相连传输宏块预测控制信息,空域预测子模块与对称预测子模块相连传输对称模式预测中前向运动矢量信息,时域预测子模块与参考帧存储控制器模块相连传输参考块信息,帧内模式预测子模块与输出控制模块相连传输帧内预测模式信息,空域预测子模块、时域预测子模块和对称预测子模块分别与输出控制模块相连传输运动矢量和参考索引信息,帧内模式预测子模块和空域预测子模块分别与行缓存模块相连传输相邻宏块的信息,帧内模式预测子模块、空域预测子模块和时域预测子模块分别与宏块解析主控制器模块相连传输状态机控制信息。
3.根据权利要求1所述的可重构多媒体SoC的多标准宏块预测系统,其特征是,所述的输出控制模块包括:输出缓存控制单元、参考块存储控制单元和相邻块信息更新单元,其中:输出缓存控制单元与外部输出缓存相连传输当前宏块的预测结果信息,参考块存储控制单元与参考帧存储控制器模块相连传输当前宏块的运动矢量和参考索引信息,相邻块信息更新单元与行缓存模块相连传输当前预测得到的宏块信息,相邻块信息更新单元与边界滤波强度计算模块相连传输运动矢量、参考索引和残差非零系数标志信息,输出缓存控制单元与宏块预测模块相连传输帧内预测模式、运动矢量和参考索引信息。
4.根据权利要求1所述的可重构多媒体SoC的多标准宏块预测系统,其特征是,所述的边界滤波强度计算模块包括:运动信息解析单元、垂直边界滤波强度计算单元和水平边界滤波强度计算单元,其中:运动信息解析单元与输出控制模块相连传输当前块、当前块的左邻块和当前块的上邻块的运动矢量、参考索引以及残差非零系数标志信息,垂直边界滤波强度计算单元输入端与运动信息解析单元相连传输当前块和当前块的左邻块的运动矢量、参考索引以及残差非零系数标志信息,垂直边界滤波强度计算单元输出端与输出控制模块相连传输垂直边界滤波强度信息,水平边界滤波强度计算单元输入端与运动信息解析单元相连传输当前块和当前块的上邻块的运动矢量、参考索引以及残差非零系数标志信息,水平边界滤波强度计算单元输出端与输出控制模块相连传输水平边界滤波强度信息。
5.根据权利要求1所述的可重构多媒体SoC的多标准宏块预测系统,其特征是,所述的参考帧存储控制器模块包括:控制单元、存储FIFO单元和快速缓存单元,其中:控制单元分别与存储FIFO单元和快速缓存单元相连传输控制信息,存储FIFO单元与输出控制模块相连传输当前块的运动矢量、参考索引和宏块编码类型信息,存储FIFO单元与外部存储器相连传输运动矢量和参考索引信息,快速缓存单元与宏块预测模块相连传输参考块运动矢量和参考索引信息,快速缓存单元与外部存储器相连传输存储器数据信息,控制单元与外部存储器相连传输存储器读写地址、读写使能和读写请求信息。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 201010245491 CN101909212B (zh) | 2010-08-05 | 2010-08-05 | 可重构多媒体SoC的多标准宏块预测系统 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN 201010245491 CN101909212B (zh) | 2010-08-05 | 2010-08-05 | 可重构多媒体SoC的多标准宏块预测系统 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101909212A CN101909212A (zh) | 2010-12-08 |
| CN101909212B true CN101909212B (zh) | 2012-08-22 |
Family
ID=43264506
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN 201010245491 Expired - Fee Related CN101909212B (zh) | 2010-08-05 | 2010-08-05 | 可重构多媒体SoC的多标准宏块预测系统 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN101909212B (zh) |
Families Citing this family (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR102080892B1 (ko) | 2010-09-02 | 2020-02-24 | 엘지전자 주식회사 | 영상 부호화 및 복호화 방법과 이를 이용한 장치 |
| CN101945289B (zh) * | 2010-10-22 | 2013-04-03 | 上海交通大学 | 全搜索扩展可变块运动估计电路 |
| US8854382B2 (en) * | 2010-12-10 | 2014-10-07 | Vixs Systems, Inc. | Multi-function encoder and decoder devices, and methods thereof |
| CN102855197A (zh) * | 2011-11-08 | 2013-01-02 | 东南大学 | 一种面向大规模粗粒度可重构系统存储系统的实现方法 |
| CN103281536B (zh) * | 2013-05-22 | 2016-10-26 | 福建星网视易信息系统有限公司 | 一种兼容avs及h.264的去块滤波方法及装置 |
| US20160227222A1 (en) * | 2015-02-02 | 2016-08-04 | Mediatek Inc. | Multi-Standard Video Decoder with Novel Intra Prediction Decoding |
| JP7418152B2 (ja) * | 2018-12-17 | 2024-01-19 | キヤノン株式会社 | 画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1761323A (zh) * | 2005-09-25 | 2006-04-19 | 海信集团有限公司 | AVS,h.264视频帧间编码基于边缘方向的帧内预测方法 |
| CN101115207A (zh) * | 2007-08-30 | 2008-01-30 | 上海交通大学 | 基于预测点间相关性的帧内预测实现的方法及装置 |
| CN101472176A (zh) * | 2007-12-29 | 2009-07-01 | 智多微电子(上海)有限公司 | 基于边界强度因子进行去块效应滤波的解码方法和装置 |
| CN101631242A (zh) * | 2009-07-30 | 2010-01-20 | 上海交通大学 | 视频加权预测系统及其编码解码方法 |
-
2010
- 2010-08-05 CN CN 201010245491 patent/CN101909212B/zh not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1761323A (zh) * | 2005-09-25 | 2006-04-19 | 海信集团有限公司 | AVS,h.264视频帧间编码基于边缘方向的帧内预测方法 |
| CN101115207A (zh) * | 2007-08-30 | 2008-01-30 | 上海交通大学 | 基于预测点间相关性的帧内预测实现的方法及装置 |
| CN101472176A (zh) * | 2007-12-29 | 2009-07-01 | 智多微电子(上海)有限公司 | 基于边界强度因子进行去块效应滤波的解码方法和装置 |
| CN101631242A (zh) * | 2009-07-30 | 2010-01-20 | 上海交通大学 | 视频加权预测系统及其编码解码方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101909212A (zh) | 2010-12-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101909212B (zh) | 可重构多媒体SoC的多标准宏块预测系统 | |
| Tikekar et al. | A 249-Mpixel/s HEVC video-decoder chip for 4K ultra-HD applications | |
| US9351003B2 (en) | Context re-mapping in CABAC encoder | |
| CN101150719B (zh) | 并行视频编码的方法及装置 | |
| Abeydeera et al. | 4K real-time HEVC decoder on an FPGA | |
| US8213511B2 (en) | Video encoder software architecture for VLIW cores incorporating inter prediction and intra prediction | |
| KR101177666B1 (ko) | 디코딩된 픽처의 지능적 버퍼링 | |
| CN106973297A (zh) | 视频编码方法和混合视频编码器 | |
| KR20120091413A (ko) | 비디오 인코딩 및 디코딩에서 인터 프레임을 위한 개선된 색차 변환을 위한 방법 및 장치 | |
| CN103533366B (zh) | 用于视频运动补偿的缓存方法与装置 | |
| TWI583180B (zh) | 具有上下文切換之視訊編碼器 | |
| CN101729893B (zh) | 基于软硬件协同处理的mpeg多格式兼容解码方法及其装置 | |
| CN1589028B (zh) | 基于像素流水的帧内预测装置及预测方法 | |
| CN102148990B (zh) | 一种运动矢量预测装置和方法 | |
| CN102238383B (zh) | 用于视频编解码器的多总线体系结构 | |
| CN102143361A (zh) | 一种视频编码方法和装置 | |
| CN101883276B (zh) | 软硬件联合解码的多格式高清视频解码器结构 | |
| CN1937773B (zh) | 外部存储装置、存储图像数据的方法及图像处理器 | |
| Tsai et al. | Encoder hardware architecture for HEVC | |
| CN101513067B (zh) | 用于处理视频数据的设备 | |
| KR102171119B1 (ko) | 복수개의 블록 기반의 파이프라인을 이용한 데이터 처리 속도 개선 장치 및 그 동작 방법 | |
| CN102348114B (zh) | 多模视频解码器中帧内预测器结构 | |
| CN102186082B (zh) | 基于h.264协议中对于帧内编码压缩技术的优化解码方法 | |
| Sze | Parallel algorithms and architectures for low power video decoding | |
| CN115996295B (zh) | 多媒体数据处理方法、装置、设备及存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| C14 | Grant of patent or utility model | ||
| GR01 | Patent grant | ||
| CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120822 Termination date: 20150805 |
|
| EXPY | Termination of patent right or utility model |