用于视频解码的反量化装置及其实现方法

文档序号:7746283阅读:123来源:国知局
专利名称:用于视频解码的反量化装置及其实现方法
技术领域
本发明涉及的是一种数字视频编解码技术领域的装置及方法,具体是一种用于视 频解码的反量化装置及其实现方法。
背景技术
MPEG2是由国际标准化组织(ISO)于1994年为实现视/音频服务与应用互操作 的可能性而推出的压缩标准。MPEG2是较早推出的适合于广播级数字电视编码和传送的标 准。AVS(数字音视频编解码技术标准)是由AVS工作组制定的一种多媒体信源编码标准。 该技术标准的视频部分于2006年2月22日被颁布为中华人民共和国国家标准,标准号GB/ T 20090. 22006,于2006年3月1日起实施。H. 264是由国际电信联盟(ITU)和国际标准化 组织(ISO)于2003年5月共同发布的新一代视频压缩编解码标准。它目前已经得到了业 界的广泛支持,不仅出现在了不同的行业应用中,而且也涉及各个国家、各个组织。MPEG2、AVS和H. 264具有相似的技术特点,三者都需要对变长码解码后的数据进 行逆扫描和反量化的过程。MPEG2标准的视频部分中,逆扫描后进行反量化时,将每8 X 8数 据块的第数据作为DC系数,单独进行反量化,其余的数据根据共同的反量化公式和查表操 作进行反量化。AVS标准的视频部分中,在进行逆扫描操作后,对于8 X 8数据块均按照共同 的反量化公式和查表操作进行反量化。H. 264标准中,在进行逆扫描操作后,需要对直流残 差数据进行反哈达玛变换,然后将反变换后的直流残差数据填入原先的数据块中,根据反 量化公式和查表操作进行反量化操作。由于三种标准的反量化过程都是经过逆扫描、查表操作、反量化计算这三个步骤, 有很大的相似性。为了使视频解码器支持MPEG2、AVS和H. 264三个标准,如果分别采用3 个只支持单一标准的反量化模块,模块中会有三套相似的部分,这样会大大浪费资源。因此 有必要寻找一种兼容三个标准的反量化架构来实现视频解码的反量化过程。经过对现有技术文件的检索发现,杨意仲等人在“H. 264及AVS视频解码器中IQ/ IDCT的设计与实现”(《电子技术应用》2007年第3期)提出了一种针对反量化实现方案.该 方案中,通过对H. 264标准和AVS标准中反量化过程和反离散余弦变换过程的相似性,设计 了一种可以兼容H. 264标准和AVS标准的反量化和反离散余弦变换方案,从达到节省硬件 资源的目的。但是,该方案仅兼容了 H. 264标准和AVS标准,没有考虑到兼容MPEG2标准中 的反量化过程,而且该方案将反量化过程和反离散余弦变换过程整合在了一起,虽然可以 节省资源,但同时失去了灵活性。

发明内容
本发明针对现有技术存在的上述不足,提供一种用于视频解码的反量化装置及其实现方法,得以兼容MPEG2、AVS和H. 264三种视频编解码标准中规定的反量化过程,从而达 到节省资源的目的。本发明是通过以下技术方案实现的
本发明涉及一种用于视频解码的反量化装置,包括控制模块、逆扫描模块、反哈 达玛变换模块、参数计算模块、查表模块和运算模块,其中控制模块将单位残差数据块分 别发送至逆扫描模块、反哈达玛变换模块和查表模块,同时控制模块根据单位残差数据块 中单位残差数据的类型及个数向逆扫描模块、反哈达玛变换模块、参数计算模块和查表模 块分别输出控制信号,逆扫描模块对单位残差数据块进行逆扫描处理并得到基地址后输出 至参数计算模块,反哈达玛变换模块对直流残差数据进行反哈达玛变换,得到经过反哈达 玛变换后的直流残差数据后输出至参数计算模块,查表模块对残差数据通过查表操作得到 残差数据对应的移位参数和增量参数并输出至运算模块,参数计算模块将计算得到的加权 参数、从控制模块获取的残差数据及从反哈达玛变换模块获取的经过反哈达玛变换之后的 直流残差数据输出至运算模块,运算模块进行反量化运算操作。所述的单位残差数据块是指H. 264标准、AVS标准及MPEG2标准中,每一帧图像 通过划分为不同的残差数据后进行独立的反量化过程,不同的标准划分的残差数据块是不 同的。其中H. 264标准中的量化过程将每帧图像划分为4X4大小的残差数据块或者8X8 大小的残差数据块;AVS标准和MPEG2标准均将每帧图像划分为8X8大小的残差数据块。 单位残差数据块对于H. 264标准是指4X4或者8X8大小的残差数据块;对于AVS标准、 MPEG2标准是指8X8大小的残差数据块。所述的残差数据是指在视频编码时,预测编码产生的预测残差经过变换编码、量 化、重排序、游程编码得到的数据。所述的直流残差数据是指在H. 264标准中,对于帧内预测的16X16大小的亮度 残差数 据块,其中每个4 X 4单位残差数据块的第数据为直流残差数据,共有4 X 4个直流残 差数据;对于8 X 8大小的色度残差数据块,每个4 X 4单位残差数据块的第数据为直流残差 数据,共有2X2直流残差数据;H. 264标准中的直流残差数据相对于标准中的其他残差数 据的区别是直流残差数据的反量化过程需要经过反哈达玛变换,而其他的残差数据不需 要进行反哈达玛变换。在MPEG2标准中,每个8 X 8单位残差数据块中的第数据为直流残差 数据;MPEG2标准中的直流残差数据相对于标准中的其他残差数据的区别是MPEG2标准中 的单位残差数据块的直流残差数据需要经过特殊的反量化过程,具体实现方法在本发明装 置的实施方法中有详细说明。所述的逆扫描处理是指根据MPEG2、AVS和H. 264视频编解码标准中的逆扫描顺 序,将一维数据转换为二维数据,将一维地址转换为基地址;所述的基地址是指残差数据在二维残差数据块中的地址,在经过变换编码、量化、 重排序和游程编码后的残差数据为一维数据。所述的加权参数是指对反量化过程中所需的加权参数,反量化的计算过程是对残 差数和加权参数求积进行加权,然后对加权后的残差数据与增量参数进行求和,最后根据 移位参数对所得的求和结果进行移位操作。所述的增量参数是反量化过程中,用来与加权后的残差数据进行求和的参数。所述的移位参数是指反量化过程中,用来对加权后的残差数据与增量参数求和后 的结果进行移位所需要的参数。所述的控制模块包括状态机、第一寄存器、第二寄存器、残差数据解析模块、第一 计数器和第二计数器、对逆扫描模块的控制单元、对反哈达玛模块的控制单元、对查表模块的控制单元和对参数计算模块的控制单元,其中状态机与第一计数器、第二计数器相连,两个计数器的当前计数值控制状态机的不同状态之间的转移;第一寄存器和第二寄存器分 别存储单位残差数据块以及当前码流类型;残差数据解析模块与第一寄存器相连,残差数 据解析模块负责解析收到的残差数据内的参数信息;第一计数器、第二计数器相连残差数 据解析模块,第一计数器记录当前单位残差数据块中已经读入的的残差数据个数,第二计 数器记录当前已经读入的单位残差数据块的个数;逆扫描模块的控制单元与状态机、第二 寄存器、第一计数器相连,根据状态机的当前状态、第二寄存器所保存的码流类型及第一计 数器的当前计数器产生对逆扫描模块的控制信号;反哈达玛变换模块的控制单元与状态 机、残差数据解析模块相连,反哈达玛变换模块的控制单元根据状态机的当前状态控制反 哈达玛变换模块,并将残差数据解析模块解析出的残差数据传输给反哈达玛变换模块;查 表模块的控制单元与状态机、残差数据解析模块、第二寄存器、第一计数器相连,查表模块 的控制单元根据状态机的当前状态、第二寄存器所保存的当前码流类型、残差数据解析模 块解析出的码流参数、第一计数器的计数值来产生对查表模块的控制信号;参数计算模块 的控制单元与状态机、残差数据解析模块及第二寄存器相连,参数计算模块的控制单元根 据状态机的当前状态、第二寄存器所保存的当前码流类型、残差数据解析模块解析出的码 流参数来产生对参数计算模块的控制信号。所述的码流类型是指H. 264标准的码流、AVS标准的码流及MPEG2标准的码流,共
三种码流类型。所述的逆扫描模块包括逆扫描单元、第三寄存器;其中逆扫描单元与控制模块 中逆扫描模块的控制单元相连,逆扫描单元根据控制模块中逆扫描模块的控制单元所获取 的状态机的当前状态、当前的码流类型、第一计数器所记录的当前残差数据块中已读入的 残差数据的个数来进行逆扫描过程,并计算得到当前读入的残差数据的基地址;第三寄存 器与逆扫描单元相连,用于保存逆扫描单元计算得到的当前读入残差数据的基地址。所述的残差数据的基地址是指H. 264标准、AVS标准及MPEG2标准中为了实现更 高的视频数据压缩比,反量化过程所读入的残差数据的顺序是经过特定的扫描过程,具体 的扫描方式详见各个标准。基地址就是指在经过扫描之前残差数据在单位残差数据块中对 应的位置信息。所述的反哈达玛变换模块包括反哈达玛变换单元、第四寄存器;其中反哈达玛 变换单元与控制模块中反哈达玛变换模块的控制单元相连,根据控制模块中反哈达玛变换 模块的控制单元输出的控制信号及直流残差数据进行反哈达玛变换过程,计算得到经过反 哈达玛变换变换之后的直流残差数据;第四寄存器与反哈达玛变换单元相连,用于储存经 过反量化变换之后的直流残差数据。所述的参数计算模块包括参数计算单元、第五寄存器、第六寄存器;其中参数计 算单元与控制模块中参数计算模块的控制单元、逆扫描模块、反哈达玛变换模块相连,参数 计算单元从控制模块中参数计算模块的控制单元获取当前码流类型、经过解析的残差数 据、状态机的当前状态,从逆扫描模块获取当前读入残差数据的基地址,从反哈达玛模块获 取经过反哈达玛变换后的直流残差数据,根据获得的参数及数据进行参数计算过程,计算 得到残差数据对应的加权参数;第五寄存器和参数计算单元相连,用于保存计算得到的加 权参数;第六寄存器和参数计算单元相连,用于保存包含经过反哈达玛变换后的直流残差数据的残差数据。所述的查表模块包括查表单元、第七寄存器、第八寄存器;其中查表单元与控制 模块中查表模块的控制单元相连,根据从控制模块中查表模块的控制单元获取的当前状态 机的状态、码流类型、当前读入残差数据的基地址、解析出的码流参数进行查表操作,得到 与当前读入残差数据对应的移位参数和增量参数;第七寄存器与查表单元相连,用于保存 查表单元得到的移位参数;第八寄存器与查表单元相连,用于保存查表单元得到的增量参 数。所述的运算模块包括反量化运算单元、第十寄存器;其中反量化运算单元与查 表模块、参数计算模块相连,根据从查表模块获取的残差数据对应的移位参数和增量参数、 从参数计算模块获取的包括残差数据对应的加权参数和经过反哈达玛变换后的直流残差 数据的残差数据来进行反量化计算过程,计算得到反量化的残差数据;第十寄存器与反量 化运算单元相连,用于保存经过反量化后的残差数据。本发明涉及上述用于视频解码的反量化装置的实现方法,包括如下步骤第一步,控制模块从视频解码系统中反量化装置的前级装置依次读取所需的码流 类型、当前宏块残差数据的参数信息以及经过重排序、游程编码的残差数据并保存在寄存 器中;
所述的码流类型包括MPEG2标准、AVS标准以及H. 264标准。所述的残差数据,是指在视频编码时,预测编码产生的预测残差经过变换编码、 量化、重排序、游程编码得到的数据。其中重排序是指在视频编码时,对已经经过变换的二 维残差数据按照一定的顺序进行扫描,使二维残差数据变为一维的数据;游程编码是指在 视频编码时,已经过重排序的一维残差数据的开始包含或多个非零的系数,其后跟着一串 零系数。为了方便传输,使用一组(rim,leVel)对表示数组,其中rim表示非零残差数据前 的零的个数,level表示非零残差系数的大小。所述的参数信息包括当前残差块的预测方式、亮度块直流残差数据标志、8X8块 标志、量化参数。其中当前残差块的预测方式是指帧内预测和帧间预测;亮度直流系数 标志是指当前宏块中的亮度块是否有直流残差系数;8X8块标志表示当前残差块是否以 8X8数据块为变换单位;量化参数是指即将收到的残差系数宏块的量化参数。所述的重排序是指在视频编码时,对已经经过变换的二维残差数据按照一定的 顺序进行扫描,使二维残差数据变为一维的数据。所述的游程编码是指在视频编码时,已经过重排序的一维残差数据的开始包含 或多个非零的系数,其后跟着一串零系数。为了方便传输,使用一组(rumlevel)对表示数 组,其中rim表示非零残差数据前的零的个数,level表示非零残差数据的大小。第二步,控制模块记录当前已读入的单位残差数据块内的残差数据的个数,具体 步骤为利用初值为0的计数器记录已经读入当前单位残差数据块内的残差数据的个数, 每读入残差数据,计数器增加1,当单位残差数据块读入完毕时,计数器重新清零。第三步,逆扫描模块、反哈达玛变换模块、查表模块和参数计算模块根据控制模块 输出的残差数据、参数信息、已读入残差数据的序号、已读入单位残差数据块的个数分别进 行逆扫描过程、反哈达玛变换过程、查表过程和参数计算过程。其中,MPEG2标准和AVS标 准中的反量化过程不需要进行反哈达玛变换过程。
所述残差数据的序号是指控制模块中已读入的当前单位残差数据块内的残差数 据的个数。所述的逆扫描过程是指控制模块读入的残差数据是经过逆扫描和游程编码的一 维残差数据,逆扫描过程是根据MPEG2、AVS和H. 264标准中的规定逆扫描顺序,以控制模块 输出的当前残差数据的序号为索引输出对应当前残差数据在残差数据块中的基地址。所述的反哈达玛变换过程是指在H. 264标准中需要实现对直流残差数据进行反 哈达玛变换,包括如下四个步骤步骤一,根据当前单位残差数据块的类型及控制模块输出的参数信息中的亮度块 直流残差数据标志判断是否需要进行反哈达玛变换。如果亮度块直流残差数据标志位有 效,则需要进行反哈达玛变换;而色度块中一定存在直流残差系数,需要进行反哈达玛变 换。步骤二,根据控制模块输出的对反哈达玛变换模块的写寄存器控制信号,读入需 要进行反哈达玛变换的直流残差数据,存入到寄存器中。所述的控制模块输出的对反哈达玛变换模块的写寄存器控制信号是指控制模块 根据当前已读入当前单位残差数据块内的残差数据的个数、当前读入单位残差数据块的个 数来产生对反哈达玛变换的控制信号,包括写寄存器控制信号,计算控制信号、输出控制信 号。步骤三,根据控制模块输出的对反哈达玛变换模块的计算控制信号,对读入的直 流残差数据进行反哈达玛变换的计算。步骤四,根据控制模块输出的对反哈达玛模块的输出控制信号,将反哈达玛变换 后的直流残差数据进行输出。第四步,运算模块根据控制模块、反哈达玛变换模块、查表模块、参数计算模块输 出的非直流残差数据、经过反哈达玛变换后的直流残差数据、移位参数、增量参数和加权参 数进行反量化最终处理。所述的非直流残差数据是指残差数据中除去直流残差数据后的残差数据。所述的反量化最终处理是指将所述的非直流残差数据、直流残差数据、移位参数、 增量参数和加权参数代入到统一的反量化公式里进行反量化过程中最后的计算,其中统一 的反量化公式如下反量化结果=(残差数据X加权参数+增量参数)>>移位参数;其中符号“>>”是指逻辑运算中的右移运算。本发明充分利用了 MPEG2、AVS、H. 264三种标准中反量化过程的相似性,将三种标 准的反量化过程总结为统一的反量化公式,对于不同的标准的区别仅是查找表、参数计算 的方法不同,稍加改变就可以在同架构下兼容三种标准的反量化过程,极大地节省了硬件 资源。用本发明与杨意仲等人论文中提出的方案相比,本发明不仅很好的兼容了 MPEG2的 反量化过程,而且整体架构具有很高的灵活性,稍加改动就可以实现单个标准的反量化过 程。


图1为本发明结构示意图。
图2为实施例中控制模块的状态转移图。图3为实施例中残差数据块的扫描顺序示意图。
具体实施例方式下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施 例。如图1所示,本实施包括控制模块、逆扫描模块、反哈达玛变换模块、查表模块、 参数计算模块和运算模块。其中控制模块与逆扫描模块、反哈达玛模块、查表模块和参数 计算模块连接,控制模块向逆扫描模块、反哈达玛模块、查表模块和参数计算模块传递已经 接收的残差数据、当前已经读入的当前单位残差数据块内的残差数据的个数、当前已经读 入单位残差数据块的个数、已经解析出的当前残差数据宏块的量化参数等信息;逆扫描模 块与控制模块、参数计算模块连接,控制模块向逆扫描模块传输控制信号,逆扫描模块向查 表模块传输已经读入残差数据对应的基地址;反哈达玛模块与参数计算模块连接,反哈达 玛模块向参数计算模块传输经过反哈达玛变换的直流残差数据;查表模块与运算模块连 接,查表模块向运算模块传输已读入残差数据对应的增量参数和移位参数;参数计算模块 与控制模块、逆扫描模块、反哈达玛变换模块和运算模块连接,参数计算从控制模块接收控 制信号和当前已读入的残差数据,从逆扫描模块接收当前残差数据的基地址用来计算反量 化所需的加权参数,从反哈达玛模块接收经过反哈达玛变换后的直流残差系数,向运算模 块传输当前包含直流残差数据的残差数据和已读入残差数据对应的加权参数;运算模块与 查表模块、参数计算模块连接,将查表模块输出的增量参数和移位参数,参数计算模块输出 的包含直流残差数据的残差数据和加权参数代入到统一的反量化公式中,计算得到已读入 残差数据经过反量化后的结果,并作为本装置的最后输出。所述的控制模块包括状态机、第一计数器和第二计数器、第一寄存器、对逆扫描 模块的控制单元、对反哈达玛模块的控制单元、对查表模块的控制单元和对参数计算模块 的控制单元。所述的状态机有空闲状态、处理亮度块直流残差数据状态、处理亮度块非直流残 差数据状态、处理色度块直流残差系数状态和处理色度块非直流残差数据状态,共5个状 态。根据已经读入的当前单位残差数据块内的残差数据的个数和已经读入的单位残差数据 块的个数来确定不同状态间的跳转。所述的第一计数器和第二计数器是指第一计数器用来记录已经读入的当前单位 残差数据块内的残差数据的个数;第二计数器用来记录已经读入的单位残差数据块的个 数。所述的第一寄存器用来保存当前已经读入的残差数据。所述的对逆扫描模块的控制单元是指该控制单元根据已经读入的当前单位残差 数据块内的残差数据的个数和已经读入单位残差数据块的个数来产生对逆扫描模块的控 制信号。所述的对反哈达玛模块的控制单元是指该控制单元根据已经读入的当前单位残 差数据块内的残差数据的个数和已经读入单位残差数据块的个数来产生对反哈达玛模块的控制信号。所述的对查表模块的控制单元是指该控制单元根据控制模块解析出的当前单位 残差数据块对应的量化参数和已经读入单位残差数据块的个数产生对查表模块的控制信号。所述的参数计算模块的控制单元是指该控制单元根据已经读入的当前单位残差 数据块内的残差数据的个数和已经读入单位残差数据块的个数产生对参数计算模块的控 制单元。下面结合图2和图3,对本实施例进一步详细描述第一步,控制模块状态机启动,从视频解码系统反量化装置的前级装置读取数据, 根据读取俄数据决定状态之间的跳转。具体步骤如下步骤一,控制模块的状态机处于空闲状态。控制模块从视频解码系统中反量化装置的前级装置读取当前码流类型和当前宏 块残差数据的参数信息并保存在寄存器中。所述的码流类型包括MPEG2、AVS和H. 264三种类型。所述的参数信息包括当前残差块的预测方式、亮度块直流残差数据标志、8X8块 标志、量化参数。其中当前残差块的预测方式是指帧内预测和帧间预测;亮度块直流残差 数据标志是指当前宏块中的亮度块是否有直流残差数据;8X8块标志表示当前单位残差 数据块的大小是否是8X8 ;量化参数是指即将收到的残差宏块的量化参数。步骤二,控制模块的状态机处于处理亮度块直流残差数据的状态。如图2所示,如果当前读入的是MPEG2标准或AVS标准的码流类型,或者当前读入 的是H. 264标准的码流类型且参数信息中的亮度直流系数标志无效,则直接跳到步骤三。如图3所示,H. 264标准中的每个残差数据宏块包括了 16X16的亮度块和2个 8X8的色度块,单位残差数据块是4X4大小的残差数据块。如果当前亮度块直流残差数据 标志位有效,则每个单位残差数据块的左上角的残差数据为直流残差数据,所以亮度块中 共有4 X 4个直流残差数据。2个8 X 8色度块均存在直流残差数据,每个4 X 4块的左上角 的残差数据为直流残差数据,所以色度块共有2个2X2的直流残差数据。在控制模块的状态机处于处理亮度直流残差数据的状态时,控制模块读入亮度块 直流残差数据,并记录已读入的当前单位残差数据块内的残差数据的个数。控制模块根据 已读入的当前单位残差数据块内的残差数据的个数输出对反哈达玛变换模块的控制信号, 并将已读入的直流残差数据传输给反哈达玛变换模块。当读入4X4个亮度直流残差数据 并且反哈达玛变换完成时,步骤二执行完毕,跳转到步骤三。步骤三,控制模块的状态机处于处理亮度非直流残差数据的状态。控制模块读入亮度块非直流残差数据。控制模块需要读入的亮度块非直流残差数 据共有16X16个。在H. 264标准中,单位残差数据块为4X4块,亮度块非直流残差数据共有16个4X4块,控制模块在读入时需要记录当前读入残差数据在当前单位残差数据块中的序号, 读完4X4个残差数据,即读入了单位残差数据块,此时更新当前读入单位残差数据块的个 数。当读完16个单位残差数据块时,本步骤结束。在MPEG2和AVS标准中,单位残差数据块为8 X 8 ±夬,亮度块非直流残差数据块共有4个8 X 8块,控制模块在读入非直流残差数据的同时记录当前读入残差数据在当前单位残差数据块中的序号,读完8X8个残差数据,即读完了单位残差数据块,此时更新当前读 入单位残差数据块的个数。当读完4个单位残差数据块时,本步骤结束。所述的当前读入残差数据在单位残差数据块中的序号是指在控制模块中用于记 录已经读入当前单位残差数据块内的残差数据的个数的计数器的值。步骤四,控制模块的状态机处于处理色度块直流残差数据的状态。对于MPEG2标准和AVS标准,跳过本步骤。如图3所示,H. 264标准中,色度Cb块、色度Cr块分别有2X2大小的色度直流残 差数据块。控制模块的状态机处于处理色度直流残差数据的状态时,控制模块读入色度直 流残差数据,记录当前读入残差数据在2X2色度直流残差数据块中的位置,当读入4个色 度直流残差数据时,处理完2X2大小的色度直流残差数据块。以相同的方法处理第二个 2X2大小的色度直流残差数据块。步骤五,控制模块的状态机处于处理色度非直流残差数据的状态。控制模块读入色度块非直流残差数据。控制模块需要读入2个色度块非直流残差 数据块,每个色度非直流残差数据块共有8X8个色度块非直流残差数据。在H. 264标准中,单位残差数据块为4X4块,2个色度块非直流残差数据共有8 个4X4块,控制模块在读入时需要记录当前读入残差数据在当前单位残差数据块中的序 号,读完4X4个残差数据,即读入了单位残差数据块,此时更新已读入单位残差数据块的 个数。当读完8个单位残差数据块时,本步骤结束。在MPEG2和AVS标准中,单位残差数据块为8 X 8块,2个色度块非直流残差数据块 共有2个8 X 8块,控制模块在读入非直流残差数据的同时记录当前读入残差数据在当前单 位残差数据块中的序号,读完8X8个残差数据,即读完了单位残差数据块,此时更新已读 入单位残差数据块的个数。当读完2个单位残差数据块时,本步骤结束。步骤六,控制模块完成上述5个步骤后,完成了对宏块的残差数据的读入,重新回 到步骤一。第二步,逆扫描模块根据控制模块输出的当前残差数据在当前单位残差数据块中 的序号进行逆扫描过程,输出当前残差数据的基地址。所述的当前残差数据在当前单位残差数据块中的序号是指在控制模块中已读入 的当前单位残差数据块内的残差数据的个数。MPEG2、AVS和H. 264的逆扫描过程都是将控制模块读入的残差数据的一维地址重 新还原到在未经过重排序和游程编码的残差数据的基地址。所述的残差数据的一维地址是指控制模块输出的已读入的当前残差数据块内的 残差数据的个数。第三步,反哈达玛变换模块对从控制模块读入的亮度块直流残差数据和色度块直 流残差数据进行反哈达玛变换。反哈达玛变换的过程如下步骤1 从控制模块读入亮度块直流残差数据或者色度块Cb直流残差数据或者色 度块Cr直流残差数据。其中亮度块直流残差数据共有16个,色度块Cb、色度块Cr均有4 个直流残差数据。
步骤2 利用H. 264标准中规定的亮度块反哈达玛变换公式和色度块反哈达玛变 换公式对已经读入的直流残差数据进行反哈达玛变换。所述的亮度块反哈达玛变换公式为Y = H4XHj其中H4表示4维的哈达玛矩阵,H/表示H4的转置,X表示输入的4X4个亮度块 直流残差数据,Y表示经过反哈达玛变换后的输出结果。H4如下所示
"1111" 11-1-1H .=
4 1-1-11 1-11-1所述的色度反哈达玛变换公式为
Y = H2XHj其中H2表示2维的哈达玛矩阵,H2t表示H2的转置,X表示输入的2X2个色度块 直流残差数据,Y表示经过反哈达玛变换后的输出结果。H2如下所示
“1 1 “H0 =步骤3 将经过反哈达玛变换的直流残差数据存入寄存器中,并输出到参数计算 模块。第四步,查表模块根据控制模块输出的量化参数,通过查表和计算得出当前残差 数据对应的增量参数和移位参数。所述的查表和计算是指AVS标准中残差数据对应的增量参数和移位参数都是通 过以量化参数为索引进行查表得到;H. 264标准中的增量参数和移位参数需要根据控制模 块输出的量化参数计算得知;MPEG2标准中对应的增量参数为0,移位参数为常数值,无需 查表;第五步,参数计算模块根据控制模块输出的当前残差数据、逆扫描模块输出的当 前残差数据的基地址、反哈达玛变换模块输出的经过反哈达玛变换后的直流残差数据进行 计算反量化计算过程中所需的加权参数和包含直流残差数据的残差数据。其中AVS标准 中残差数据所需的加权参数直接通过查表得到;MPEG2标准和H. 264标准的残差数据所需 的加权参数均通过残差数据的基地址计算得到。所述的包含直流残差数据的残差数据是指H. 264标准中,帧内16X16模式下,每 个4 X 4残差数据块的左上角均为直流残差数据,共有4 X 4个直流残差数据。这4 X 4个直 流残差数据是经过哈达玛变换过的残差数据,在反量化运算时,需要将这4X4个直流残差 数据经过反哈达玛变换之后重新填入原先该直流残差数据所在的位置,即对应的4X4残 差数据块的左上角。对于MPEG2标准和AVS标准在编码时,没有对直流数据进行哈达玛变 换的过程,所以没有将直流残差数据重新填入单位残差数据块的过程。第六步,运算模块根据查表模块输出的移位参数和增量参数、参数计算模块输出 的包含直流残差数据的残差数据和加权参数进行最后的反量化运算。所述的反量化运算是指将包含直流残差数据的残差数据、残差数据对应的移位 参数、残差数据对应的增量参数、残差数据对应的加权参数代入到统一的量化公式内计算得到反量化后的残差数据。具体步骤如下步骤1,运算模块从查表模块、参数计算模块接收包含直流残差数据的残差数据、残差数据对应的加权参数、残差数据对应的增量参数、残差数据对应的移位参数。步骤2,根据反量化公式对已接收的包含直流残差数据的残差数据、残差数据对应 的加权参数、残差数据对应的增量参数、残差数据对应的移位参数进行反量化运算。所述的反量化公式是指将MPEG2标准、AVS标准和H. 264标准三个标准中的量化 公式进行统一的通用量化公式。该量化公式如下反量化结果=(残差值χ加权参数+增量参数)>>移位参数;步骤3,运算模块输出经过反量化运算后的残差数据,该输出作为本装置最后的输 出结果ο本实施例通过对按照MPEG2标准、AVS标准和H. 264标准规定压缩的12个高清视 频码流进行测试,可以顺利完成相应标准规定的反量化操作。本发明所提供的装置可以很 好的兼容MPEG2、AVS和H. 264标准规定的不同的反量化运算,并且满足高清视频解码时的 实时解码要求。
权利要求
一种用于视频解码的反量化装置,其特征在于,包括控制模块、逆扫描模块、反哈达玛变换模块、参数计算模块、查表模块和运算模块,其中控制模块将单位残差数据块分别发送至逆扫描模块、反哈达玛变换模块和查表模块,同时控制模块根据单位残差数据块中单位残差数据的类型及个数向逆扫描模块、反哈达玛变换模块、参数计算模块和查表模块分别输出控制信号,逆扫描模块对单位残差数据块进行逆扫描处理并得到基地址后输出至参数计算模块,反哈达玛变换模块对直流残差数据进行反哈达玛变换,得到经过反哈达玛变换后的直流残差数据后输出至参数计算模块,查表模块对残差数据通过查表操作得到残差数据对应的移位参数和增量参数并输出至运算模块,参数计算模块将计算得到的加权参数、从控制模块获取的残差数据及从反哈达玛变换模块获取的经过反哈达玛变换之后的直流残差数据输出至运算模块,运算模块进行反量化运算操作。
2.根据权利要求1所述的用于视频解码的反量化装置,其特征是,所述的控制模块包 括状态机、第一寄存器、第二寄存器、残差数据解析模块、第一计数器和第二计数器、对逆 扫描模块的控制单元、对反哈达玛模块的控制单元、对查表模块的控制单元和对参数计算 模块的控制单元,其中状态机与第一计数器、第二计数器相连,两个计数器的当前计数值 控制状态机的不同状态之间的转移;第一寄存器和第二寄存器分别存储单位残差数据块以 及当前码流类型;残差数据解析模块与第一寄存器相连,残差数据解析模块负责解析收到 的残差数据内的参数信息;第一计数器、第二计数器相连残差数据解析模块,第一计数器记 录当前单位残差数据块中已经读入的的残差数据个数,第二计数器记录当前已经读入的单 位残差数据块的个数;逆扫描模块的控制单元与状态机、第二寄存器、第一计数器相连,根 据状态机的当前状态、第二寄存器所保存的码流类型及第一计数器的当前计数器产生对逆 扫描模块的控制信号;反哈达玛变换模块的控制单元与状态机、残差数据解析模块相连,反 哈达玛变换模块的控制单元根据状态机的当前状态控制反哈达玛变换模块,并将残差数据 解析模块解析出的残差数据传输给反哈达玛变换模块;查表模块的控制单元与状态机、残 差数据解析模块、第二寄存器、第一计数器相连,查表模块的控制单元根据状态机的当前状 态、第二寄存器所保存的当前码流类型、残差数据解析模块解析出的码流参数、第一计数器 的计数值来产生对查表模块的控制信号;参数计算模块的控制单元与状态机、残差数据解 析模块及第二寄存器相连,参数计算模块的控制单元根据状态机的当前状态、第二寄存器 所保存的当前码流类型、残差数据解析模块解析出的码流参数来产生对参数计算模块的控 制信号。
3.根据权利要求1所述的用于视频解码的反量化装置,其特征是,所述的逆扫描模块 包括逆扫描单元和第三寄存器,其中逆扫描单元与控制模块中逆扫描模块的控制单元 相连,逆扫描单元根据控制模块中逆扫描模块的控制单元所获取的状态机的当前状态、当 前的码流类型、第一计数器所记录的当前残差数据块中已读入的残差数据的个数来进行逆 扫描过程,并计算得到当前读入的残差数据的基地址;第三寄存器与逆扫描单元相连,用于 保存逆扫描单元计算得到的当前读入残差数据的基地址。
4.根据权利要求1所述的用于视频解码的反量化装置,其特征是,所述的反哈达玛变 换模块包括反哈达玛变换单元和第四寄存器,其中反哈达玛变换单元与控制模块中反 哈达玛变换模块的控制单元相连,根据控制模块中反哈达玛变换模块的控制单元输出的控 制信号及直流残差数据进行反哈达玛变换过程,计算得到经过反哈达玛变换变换之后的直流残差数据;第四寄存器与反哈达玛变换单元相连,用于储存经过反量化变换之后的直流 残差数据。
5.根据权利要求1所述的用于视频解码的反量化装置,其特征是,所述的运算模块 包括反量化运算单元和第十寄存器,其中反量化运算单元与查表模块、参数计算模块相 连,根据从查表模块获取的残差数据对应的移位参数和增量参数、从参数计算模块获取的 包括残差数据对应的加权参数和经过反哈达玛变换后的直流残差数据的残差数据来进行 反量化计算过程,计算得到反量化的残差数据;第十寄存器与反量化运算单元相连,用于保 存经过反量化后的残差数据。
6.一种根据权利要求1所述的反量化装置的实现方法,其特征在于,包括如下步骤 第一步,控制模块从视频解码系统中反量化装置的前级装置依次读取所需的码流类型、当前宏块残差数据的参数信息以及经过重排序、游程编码的残差数据并保存在寄存器 中;第二步,控制模块记录当前已读入的单位残差数据块内的残差数据的个数;第三步,逆扫描模块、反哈达玛变换模块、查表模块和参数计算模块根据控制模块输出 的残差数据、参数信息、已读入残差数据的序号、已读入单位残差数据块的个数分别进行逆 扫描过程、反哈达玛变换过程、查表过程和参数计算过程;第四步,运算模块根据控制模块、反哈达玛变换模块、查表模块、参数计算模块输出的 非直流残差数据、经过反哈达玛变换后的直流残差数据、移位参数、增量参数和加权参数进 行反量化最终处理。
7.根据权利要求6所述的反量化装置的实现方法,其特征是,所述的重排序是指在视 频编码时,对已经经过变换的二维残差数据按照一定的顺序进行扫描,使二维残差数据变 为一维的数据。
8.根据权利要求6所述的反量化装置的实现方法,其特征是,所述的游程编码是指在 视频编码时,已经过重排序的一维残差数据的开始包含或多个非零的系数,其后跟着一串 零系数。为了方便传输,使用一组(rim,leVel)对表示数组,其中rim表示非零残差数据前 的零的个数,level表示非零残差数据的大小。
9.根据权利要求6所述的反量化装置的实现方法,其特征是,所述的第二步具体是指 控制模块记录当前已读入的单位残差数据块内的残差数据的个数,具体步骤为利用初值 为O的计数器记录已经读入当前单位残差数据块内的残差数据的个数,每读入残差数据, 计数器增加1,当单位残差数据块读入完毕时,计数器重新清零。
10.根据权利要求6所述的反量化装置的实现方法,其特征是,所述的反哈达玛变换过 程是指在H. 264标准中需要实现对直流残差数据进行反哈达玛变换,包括如下四个步骤步骤一,根据当前单位残差数据块的类型及控制模块输出的参数信息中的亮度块直流 残差数据标志判断是否需要进行反哈达玛变换。如果亮度块直流残差数据标志位有效,则 需要进行反哈达玛变换;而色度块中一定存在直流残差系数,需要进行反哈达玛变换;步骤二,根据控制模块输出的对反哈达玛变换模块的写寄存器控制信号,读入需要进 行反哈达玛变换的直流残差数据,存入到寄存器中;所述的控制模块输出的对反哈达玛变换模块的写寄存器控制信号是指控制模块根据 当前已读入当前单位残差数据块内的残差数据的个数、当前读入单位残差数据块的个数来产生对反哈达玛变换的控制信号,包括写寄存器控制信号,计算控制信号、输出控制信号;步骤三,根据控制模块输出的对反哈达玛变换模块的计算控制信号,对读入的直流残 差数据进行反哈达玛变换的计算;步骤四,根据控制模块输出的对反哈达玛模块的输出控制信号,将反哈达玛变换后的 直流残差数据进行 输出。
全文摘要
一种数字视频技术领域的用于视频解码的反量化装置及其实现方法,包括控制模块、逆扫描模块、反哈达玛变换模块、参数计算模块、查表模块和运算模块,控制模块向逆扫描模块、反哈达玛模块、查表模块和参数计算模块传递已经接收的残差数据、参数信息和控制信号;逆扫描模块输出已经读入残差数据对应的基地址;反哈达玛模块输出经过反哈达玛变换的直流残差数据;查表模块输出已读入残差数据对应的增量参数和移位参数;参数计算根据当前已读入的残差数据、当前残差数据的基地址和经过反哈达玛变换后的直流残差系数,计算残差数据对应的加权参数;运算模块根据查表模块和参数计算模块的输出计算得到残差数据的反量化结果,兼容MPEG2/AVS/H.264并节省硬件资源。
文档编号H04N7/26GK101841711SQ20101014883
公开日2010年9月22日 申请日期2010年4月17日 优先权日2010年4月17日
发明者刘佩林, 张然, 曹虎林, 王俊 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1