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

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

Info

Publication number
CN101841711B
CN101841711B CN 201010148836 CN201010148836A CN101841711B CN 101841711 B CN101841711 B CN 101841711B CN 201010148836 CN201010148836 CN 201010148836 CN 201010148836 A CN201010148836 A CN 201010148836A CN 101841711 B CN101841711 B CN 101841711B
Authority
CN
China
Prior art keywords
residual error
error data
module
hadamard transform
direct current
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
Application number
CN 201010148836
Other languages
English (en)
Other versions
CN101841711A (zh
Inventor
曹虎林
王俊
张然
刘佩林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN 201010148836 priority Critical patent/CN101841711B/zh
Publication of CN101841711A publication Critical patent/CN101841711A/zh
Application granted granted Critical
Publication of CN101841711B publication Critical patent/CN101841711B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种数字视频技术领域的用于视频解码的反量化装置及其实现方法,包括:控制模块、逆扫描模块、反哈达玛变换模块、参数计算模块、查表模块和运算模块,控制模块向逆扫描模块、反哈达玛模块、查表模块和参数计算模块传递已经接收的残差数据、参数信息和控制信号;逆扫描模块输出已经读入残差数据对应的基地址;反哈达玛模块输出经过反哈达玛变换的直流残差数据;查表模块输出已读入残差数据对应的增量参数和移位参数;参数计算根据当前已读入的残差数据、当前残差数据的基地址和经过反哈达玛变换后的直流残差系数,计算残差数据对应的加权参数;运算模块根据查表模块和参数计算模块的输出计算得到残差数据的反量化结果,兼容MPEG2/AVS/H.264并节省硬件资源。

Description

用于视频解码的反量化装置及其实现方法
技术领域
本发明涉及的是一种数字视频编解码技术领域的装置及方法,具体是一种用于视频解码的反量化装置及其实现方法。
背景技术
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×8数据块的第数据作为DC系数,单独进行反量化,其余的数据根据共同的反量化公式和查表操作进行反量化。AVS标准的视频部分中,在进行逆扫描操作后,对于8×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标准中的量化过程将每帧图像划分为4×4大小的残差数据块或者8×8大小的残差数据块;AVS标准和MPEG2标准均将每帧图像划分为8×8大小的残差数据块。单位残差数据块对于H.264标准是指4×4或者8×8大小的残差数据块;对于AVS标准、MPEG2标准是指8×8大小的残差数据块。
所述的残差数据是指:在视频编码时,预测编码产生的预测残差经过变换编码、量化、重排序、游程编码得到的数据。
所述的直流残差数据是指:在H.264标准中,对于帧内预测的16×16大小的亮度残差数据块,其中每个4×4单位残差数据块的第数据为直流残差数据,共有4×4个直流残差数据;对于8×8大小的色度残差数据块,每个4×4单位残差数据块的第数据为直流残差数据,共有2×2直流残差数据;H.264标准中的直流残差数据相对于标准中的其他残差数据的区别是:直流残差数据的反量化过程需要经过反哈达玛变换,而其他的残差数据不需要进行反哈达玛变换。在MPEG2标准中,每个8×8单位残差数据块中的第数据为直流残差数据;MPEG2标准中的直流残差数据相对于标准中的其他残差数据的区别是:MPEG2标准中的单位残差数据块的直流残差数据需要经过特殊的反量化过程,具体实现方法在本发明装置的实施方法中有详细说明。
所述的逆扫描处理是指:根据MPEG2、AVS和H.264视频编解码标准中的逆扫描顺序,将一维数据转换为二维数据,将一维地址转换为基地址;
所述的基地址是指残差数据在二维残差数据块中的地址,在经过变换编码、量化、重排序和游程编码后的残差数据为一维数据。
所述的加权参数是指对反量化过程中所需的加权参数,反量化的计算过程是对残差数和加权参数求积进行加权,然后对加权后的残差数据与增量参数进行求和,最后根据移位参数对所得的求和结果进行移位操作。
所述的增量参数是反量化过程中,用来与加权后的残差数据进行求和的参数。
所述的移位参数是指反量化过程中,用来对加权后的残差数据与增量参数求和后的结果进行移位所需要的参数。
所述的控制模块包括:状态机、第一寄存器、第二寄存器、残差数据解析模块、第一计数器和第二计数器、对逆扫描模块的控制单元、对反哈达玛模块的控制单元、对查表模块的控制单元和对参数计算模块的控制单元,其中:状态机与第一计数器、第二计数器相连,两个计数器的当前计数值控制状态机的不同状态之间的转移;第一寄存器和第二寄存器分别存储单位残差数据块以及当前码流类型;残差数据解析模块与第一寄存器相连,残差数据解析模块负责解析收到的残差数据内的参数信息;第一计数器、第二计数器相连残差数据解析模块,第一计数器记录当前单位残差数据块中已经读入的的残差数据个数,第二计数器记录当前已经读入的单位残差数据块的个数;逆扫描模块的控制单元与状态机、第二寄存器、第一计数器相连,根据状态机的当前状态、第二寄存器所保存的码流类型及第一计数器的当前计数器产生对逆扫描模块的控制信号;反哈达玛变换模块的控制单元与状态机、残差数据解析模块相连,反哈达玛变换模块的控制单元根据状态机的当前状态控制反哈达玛变换模块,并将残差数据解析模块解析出的残差数据传输给反哈达玛变换模块;查表模块的控制单元与状态机、残差数据解析模块、第二寄存器、第一计数器相连,查表模块的控制单元根据状态机的当前状态、第二寄存器所保存的当前码流类型、残差数据解析模块解析出的码流参数、第一计数器的计数值来产生对查表模块的控制信号;参数计算模块的控制单元与状态机、残差数据解析模块及第二寄存器相连,参数计算模块的控制单元根据状态机的当前状态、第二寄存器所保存的当前码流类型、残差数据解析模块解析出的码流参数来产生对参数计算模块的控制信号。
所述的码流类型是指:H.264标准的码流、AVS标准的码流及MPEG2标准的码流,共三种码流类型。
所述的逆扫描模块包括:逆扫描单元、第三寄存器;其中逆扫描单元与控制模块中逆扫描模块的控制单元相连,逆扫描单元根据控制模块中逆扫描模块的控制单元所获取的状态机的当前状态、当前的码流类型、第一计数器所记录的当前残差数据块中已读入的残差数据的个数来进行逆扫描过程,并计算得到当前读入的残差数据的基地址;第三寄存器与逆扫描单元相连,用于保存逆扫描单元计算得到的当前读入残差数据的基地址。
所述的残差数据的基地址是指:H.264标准、AVS标准及MPEG2标准中为了实现更高的视频数据压缩比,反量化过程所读入的残差数据的顺序是经过特定的扫描过程,具体的扫描方式详见各个标准。基地址就是指在经过扫描之前残差数据在单位残差数据块中对应的位置信息。
所述的反哈达玛变换模块包括:反哈达玛变换单元、第四寄存器;其中反哈达玛变换单元与控制模块中反哈达玛变换模块的控制单元相连,根据控制模块中反哈达玛变换模块的控制单元输出的控制信号及直流残差数据进行反哈达玛变换过程,计算得到经过反哈达玛变换变换之后的直流残差数据;第四寄存器与反哈达玛变换单元相连,用于储存经过反量化变换之后的直流残差数据。
所述的参数计算模块包括:参数计算单元、第五寄存器、第六寄存器;其中参数计算单元与控制模块中参数计算模块的控制单元、逆扫描模块、反哈达玛变换模块相连,参数计算单元从控制模块中参数计算模块的控制单元获取当前码流类型、经过解析的残差数据、状态机的当前状态,从逆扫描模块获取当前读入残差数据的基地址,从反哈达玛模块获取经过反哈达玛变换后的直流残差数据,根据获得的参数及数据进行参数计算过程,计算得到残差数据对应的加权参数;第五寄存器和参数计算单元相连,用于保存计算得到的加权参数;第六寄存器和参数计算单元相连,用于保存包含经过反哈达玛变换后的直流残差数据的残差数据。
所述的查表模块包括:查表单元、第七寄存器、第八寄存器;其中查表单元与控制模块中查表模块的控制单元相连,根据从控制模块中查表模块的控制单元获取的当前状态机的状态、码流类型、当前读入残差数据的基地址、解析出的码流参数进行查表操作,得到与当前读入残差数据对应的移位参数和增量参数;第七寄存器与查表单元相连,用于保存查表单元得到的移位参数;第八寄存器与查表单元相连,用于保存查表单元得到的增量参数。
所述的运算模块包括:反量化运算单元、第十寄存器;其中反量化运算单元与查表模块、参数计算模块相连,根据从查表模块获取的残差数据对应的移位参数和增量参数、从参数计算模块获取的包括残差数据对应的加权参数和经过反哈达玛变换后的直流残差数据的残差数据来进行反量化计算过程,计算得到反量化的残差数据;第十寄存器与反量化运算单元相连,用于保存经过反量化后的残差数据。
本发明涉及上述用于视频解码的反量化装置的实现方法,包括如下步骤:
第一步,控制模块从视频解码系统中反量化装置的前级装置依次读取所需的码流类型、当前宏块残差数据的参数信息以及经过重排序、游程编码的残差数据并保存在寄存器中;
所述的码流类型包括MPEG2标准、AVS标准以及H.264标准。
所述的残差数据,是指:在视频编码时,预测编码产生的预测残差经过变换编码、量化、重排序、游程编码得到的数据。其中:重排序是指在视频编码时,对已经经过变换的二维残差数据按照一定的顺序进行扫描,使二维残差数据变为一维的数据;游程编码是指在视频编码时,已经过重排序的一维残差数据的开始包含或多个非零的系数,其后跟着一串零系数。为了方便传输,使用一组(run,level)对表示数组,其中run表示非零残差数据前的零的个数,level表示非零残差系数的大小。
所述的参数信息包括当前残差块的预测方式、亮度块直流残差数据标志、8×8块标志、量化参数。其中:当前残差块的预测方式是指帧内预测和帧间预测;亮度直流系数标志是指当前宏块中的亮度块是否有直流残差系数;8×8块标志表示当前残差块是否以8×8数据块为变换单位;量化参数是指即将收到的残差系数宏块的量化参数。
所述的重排序是指:在视频编码时,对已经经过变换的二维残差数据按照一定的顺序进行扫描,使二维残差数据变为一维的数据。
所述的游程编码是指:在视频编码时,已经过重排序的一维残差数据的开始包含或多个非零的系数,其后跟着一串零系数。为了方便传输,使用一组(run,level)对表示数组,其中run表示非零残差数据前的零的个数,level表示非零残差数据的大小。
第二步,控制模块记录当前已读入的单位残差数据块内的残差数据的个数,具体步骤为:利用初值为0的计数器记录已经读入当前单位残差数据块内的残差数据的个数,每读入残差数据,计数器增加1,当单位残差数据块读入完毕时,计数器重新清零。
第三步,逆扫描模块、反哈达玛变换模块、查表模块和参数计算模块根据控制模块输出的残差数据、参数信息、已读入残差数据的序号、已读入单位残差数据块的个数分别进行逆扫描过程、反哈达玛变换过程、查表过程和参数计算过程。其中,MPEG2标准和AVS标准中的反量化过程不需要进行反哈达玛变换过程。
所述残差数据的序号是指:控制模块中已读入的当前单位残差数据块内的残差数据的个数。
所述的逆扫描过程是指:控制模块读入的残差数据是经过逆扫描和游程编码的一维残差数据,逆扫描过程是根据MPEG2、AVS和H.264标准中的规定逆扫描顺序,以控制模块输出的当前残差数据的序号为索引输出对应当前残差数据在残差数据块中的基地址。
所述的反哈达玛变换过程是指:在H.264标准中需要实现对直流残差数据进行反哈达玛变换,包括如下四个步骤:
步骤一,根据当前单位残差数据块的类型及控制模块输出的参数信息中的亮度块直流残差数据标志判断是否需要进行反哈达玛变换。如果亮度块直流残差数据标志位有效,则需要进行反哈达玛变换;而色度块中一定存在直流残差系数,需要进行反哈达玛变换。
步骤二,根据控制模块输出的对反哈达玛变换模块的写寄存器控制信号,读入需要进行反哈达玛变换的直流残差数据,存入到寄存器中。
所述的控制模块输出的对反哈达玛变换模块的写寄存器控制信号是指:控制模块根据当前已读入当前单位残差数据块内的残差数据的个数、当前读入单位残差数据块的个数来产生对反哈达玛变换的控制信号,包括写寄存器控制信号,计算控制信号、输出控制信号。
步骤三,根据控制模块输出的对反哈达玛变换模块的计算控制信号,对读入的直流残差数据进行反哈达玛变换的计算。
步骤四,根据控制模块输出的对反哈达玛模块的输出控制信号,将反哈达玛变换后的直流残差数据进行输出。
第四步,运算模块根据控制模块、反哈达玛变换模块、查表模块、参数计算模块输出的非直流残差数据、经过反哈达玛变换后的直流残差数据、移位参数、增量参数和加权参数进行反量化最终处理。
所述的非直流残差数据是指残差数据中除去直流残差数据后的残差数据。
所述的反量化最终处理是指将所述的非直流残差数据、直流残差数据、移位参数、增量参数和加权参数代入到统一的反量化公式里进行反量化过程中最后的计算,其中统一的反量化公式如下:
反量化结果=(残差数据×加权参数+增量参数)>>移位参数;
其中:符号“>>”是指逻辑运算中的右移运算。
本发明充分利用了MPEG2、AVS、H.264三种标准中反量化过程的相似性,将三种标准的反量化过程总结为统一的反量化公式,对于不同的标准的区别仅是查找表、参数计算的方法不同,稍加改变就可以在同架构下兼容三种标准的反量化过程,极大地节省了硬件资源。用本发明与杨意仲等人论文中提出的方案相比,本发明不仅很好的兼容了MPEG2的反量化过程,而且整体架构具有很高的灵活性,稍加改动就可以实现单个标准的反量化过程。
附图说明
图1为本发明结构示意图。
图2为实施例中控制模块的状态转移图。
图3为实施例中残差数据块的扫描顺序示意图。
具体实施方式
下面对本发明的实施例作详细说明,本实施例在以本发明技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示,本实施包括:控制模块、逆扫描模块、反哈达玛变换模块、查表模块、参数计算模块和运算模块。其中:控制模块与逆扫描模块、反哈达玛模块、查表模块和参数计算模块连接,控制模块向逆扫描模块、反哈达玛模块、查表模块和参数计算模块传递已经接收的残差数据、当前已经读入的当前单位残差数据块内的残差数据的个数、当前已经读入单位残差数据块的个数、已经解析出的当前残差数据宏块的量化参数等信息;逆扫描模块与控制模块、参数计算模块连接,控制模块向逆扫描模块传输控制信号,逆扫描模块向查表模块传输已经读入残差数据对应的基地址;反哈达玛模块与参数计算模块连接,反哈达玛模块向参数计算模块传输经过反哈达玛变换的直流残差数据;查表模块与运算模块连接,查表模块向运算模块传输已读入残差数据对应的增量参数和移位参数;参数计算模块与控制模块、逆扫描模块、反哈达玛变换模块和运算模块连接,参数计算从控制模块接收控制信号和当前已读入的残差数据,从逆扫描模块接收当前残差数据的基地址用来计算反量化所需的加权参数,从反哈达玛模块接收经过反哈达玛变换后的直流残差系数,向运算模块传输当前包含直流残差数据的残差数据和已读入残差数据对应的加权参数;运算模块与查表模块、参数计算模块连接,将查表模块输出的增量参数和移位参数,参数计算模块输出的包含直流残差数据的残差数据和加权参数代入到统一的反量化公式中,计算得到已读入残差数据经过反量化后的结果,并作为本装置的最后输出。
所述的控制模块包括:状态机、第一计数器和第二计数器、第一寄存器、对逆扫描模块的控制单元、对反哈达玛模块的控制单元、对查表模块的控制单元和对参数计算模块的控制单元。
所述的状态机有空闲状态、处理亮度块直流残差数据状态、处理亮度块非直流残差数据状态、处理色度块直流残差系数状态和处理色度块非直流残差数据状态,共5个状态。根据已经读入的当前单位残差数据块内的残差数据的个数和已经读入的单位残差数据块的个数来确定不同状态间的跳转。
所述的第一计数器和第二计数器是指:第一计数器用来记录已经读入的当前单位残差数据块内的残差数据的个数;第二计数器用来记录已经读入的单位残差数据块的个数。
所述的第一寄存器用来保存当前已经读入的残差数据。
所述的对逆扫描模块的控制单元是指:该控制单元根据已经读入的当前单位残差数据块内的残差数据的个数和已经读入单位残差数据块的个数来产生对逆扫描模块的控制信号。
所述的对反哈达玛模块的控制单元是指:该控制单元根据已经读入的当前单位残差数据块内的残差数据的个数和已经读入单位残差数据块的个数来产生对反哈达玛模块的控制信号。
所述的对查表模块的控制单元是指:该控制单元根据控制模块解析出的当前单位残差数据块对应的量化参数和已经读入单位残差数据块的个数产生对查表模块的控制信号。
所述的参数计算模块的控制单元是指:该控制单元根据已经读入的当前单位残差数据块内的残差数据的个数和已经读入单位残差数据块的个数产生对参数计算模块的控制单元。
下面结合图2和图3,对本实施例进一步详细描述:
第一步,控制模块状态机启动,从视频解码系统反量化装置的前级装置读取数据,根据读取俄数据决定状态之间的跳转。具体步骤如下:
步骤一,控制模块的状态机处于空闲状态。
控制模块从视频解码系统中反量化装置的前级装置读取当前码流类型和当前宏块残差数据的参数信息并保存在寄存器中。
所述的码流类型包括MPEG2、AVS和H.264三种类型。
所述的参数信息包括当前残差块的预测方式、亮度块直流残差数据标志、8×8块标志、量化参数。其中:当前残差块的预测方式是指帧内预测和帧间预测;亮度块直流残差数据标志是指当前宏块中的亮度块是否有直流残差数据;8×8块标志表示当前单位残差数据块的大小是否是8×8;量化参数是指即将收到的残差宏块的量化参数。
步骤二,控制模块的状态机处于处理亮度块直流残差数据的状态。
如图2所示,如果当前读入的是MPEG2标准或AVS标准的码流类型,或者当前读入的是H.264标准的码流类型且参数信息中的亮度直流系数标志无效,则直接跳到步骤三。
如图3所示,H.264标准中的每个残差数据宏块包括了16×16的亮度块和2个8×8的色度块,单位残差数据块是4×4大小的残差数据块。如果当前亮度块直流残差数据标志位有效,则每个单位残差数据块的左上角的残差数据为直流残差数据,所以亮度块中共有4×4个直流残差数据。2个8×8色度块均存在直流残差数据,每个4×4块的左上角的残差数据为直流残差数据,所以色度块共有2个2×2的直流残差数据。
在控制模块的状态机处于处理亮度直流残差数据的状态时,控制模块读入亮度块直流残差数据,并记录已读入的当前单位残差数据块内的残差数据的个数。控制模块根据已读入的当前单位残差数据块内的残差数据的个数输出对反哈达玛变换模块的控制信号,并将已读入的直流残差数据传输给反哈达玛变换模块。当读入4×4个亮度直流残差数据并且反哈达玛变换完成时,步骤二执行完毕,跳转到步骤三。
步骤三,控制模块的状态机处于处理亮度非直流残差数据的状态。
控制模块读入亮度块非直流残差数据。控制模块需要读入的亮度块非直流残差数据共有16×16个。
在H.264标准中,单位残差数据块为4×4块,亮度块非直流残差数据共有16个4×4块,控制模块在读入时需要记录当前读入残差数据在当前单位残差数据块中的序号,读完4×4个残差数据,即读入了单位残差数据块,此时更新当前读入单位残差数据块的个数。当读完16个单位残差数据块时,本步骤结束。
在MPEG2和AVS标准中,单位残差数据块为8×8块,亮度块非直流残差数据块共有4个8×8块,控制模块在读入非直流残差数据的同时记录当前读入残差数据在当前单位残差数据块中的序号,读完8×8个残差数据,即读完了单位残差数据块,此时更新当前读入单位残差数据块的个数。当读完4个单位残差数据块时,本步骤结束。
所述的当前读入残差数据在单位残差数据块中的序号是指在控制模块中用于记录已经读入当前单位残差数据块内的残差数据的个数的计数器的值。
步骤四,控制模块的状态机处于处理色度块直流残差数据的状态。
对于MPEG2标准和AVS标准,跳过本步骤。
如图3所示,H.264标准中,色度Cb块、色度Cr块分别有2×2大小的色度直流残差数据块。控制模块的状态机处于处理色度直流残差数据的状态时,控制模块读入色度直流残差数据,记录当前读入残差数据在2×2色度直流残差数据块中的位置,当读入4个色度直流残差数据时,处理完2×2大小的色度直流残差数据块。以相同的方法处理第二个2×2大小的色度直流残差数据块。
步骤五,控制模块的状态机处于处理色度非直流残差数据的状态。
控制模块读入色度块非直流残差数据。控制模块需要读入2个色度块非直流残差数据块,每个色度非直流残差数据块共有8×8个色度块非直流残差数据。
在H.264标准中,单位残差数据块为4×4块,2个色度块非直流残差数据共有8个4×4块,控制模块在读入时需要记录当前读入残差数据在当前单位残差数据块中的序号,读完4×4个残差数据,即读入了单位残差数据块,此时更新已读入单位残差数据块的个数。当读完8个单位残差数据块时,本步骤结束。
在MPEG2和AVS标准中,单位残差数据块为8×8块,2个色度块非直流残差数据块共有2个8×8块,控制模块在读入非直流残差数据的同时记录当前读入残差数据在当前单位残差数据块中的序号,读完8×8个残差数据,即读完了单位残差数据块,此时更新已读入单位残差数据块的个数。当读完2个单位残差数据块时,本步骤结束。
步骤六,控制模块完成上述5个步骤后,完成了对宏块的残差数据的读入,重新回到步骤一。
第二步,逆扫描模块根据控制模块输出的当前残差数据在当前单位残差数据块中的序号进行逆扫描过程,输出当前残差数据的基地址。
所述的当前残差数据在当前单位残差数据块中的序号是指在控制模块中已读入的当前单位残差数据块内的残差数据的个数。
MPEG2、AVS和H.264的逆扫描过程都是将控制模块读入的残差数据的一维地址重新还原到在未经过重排序和游程编码的残差数据的基地址。
所述的残差数据的一维地址是指控制模块输出的已读入的当前残差数据块内的残差数据的个数。
第三步,反哈达玛变换模块对从控制模块读入的亮度块直流残差数据和色度块直流残差数据进行反哈达玛变换。
反哈达玛变换的过程如下:
步骤1:从控制模块读入亮度块直流残差数据或者色度块Cb直流残差数据或者色度块Cr直流残差数据。其中:亮度块直流残差数据共有16个,色度块Cb、色度块Cr均有4个直流残差数据。
步骤2:利用H.264标准中规定的亮度块反哈达玛变换公式和色度块反哈达玛变换公式对已经读入的直流残差数据进行反哈达玛变换。
所述的亮度块反哈达玛变换公式为:
Y = H 4 XH 4 T
其中:H4表示4维的哈达玛矩阵,H4 T表示H4的转置,X表示输入的4×4个亮度块直流残差数据,Y表示经过反哈达玛变换后的输出结果。H4如下所示:
H 4 = 1 1 1 1 1 1 - 1 - 1 1 - 1 - 1 1 1 - 1 1 - 1
所述的色度反哈达玛变换公式为:
Y = H 2 XH 2 T
其中:H2表示2维的哈达玛矩阵,H2 T表示H2的转置,X表示输入的2×2个色度块直流残差数据,Y表示经过反哈达玛变换后的输出结果。H2如下所示:
H 2 = 1 1 - 1 - 1
步骤3:将经过反哈达玛变换的直流残差数据存入寄存器中,并输出到参数计算模块。
第四步,查表模块根据控制模块输出的量化参数,通过查表和计算得出当前残差数据对应的增量参数和移位参数。
所述的查表和计算是指:AVS标准中残差数据对应的增量参数和移位参数都是通过以量化参数为索引进行查表得到;H.264标准中的增量参数和移位参数需要根据控制模块输出的量化参数计算得知;MPEG2标准中对应的增量参数为0,移位参数为常数值,无需查表;
第五步,参数计算模块根据控制模块输出的当前残差数据、逆扫描模块输出的当前残差数据的基地址、反哈达玛变换模块输出的经过反哈达玛变换后的直流残差数据进行计算反量化计算过程中所需的加权参数和包含直流残差数据的残差数据。其中:AVS标准中残差数据所需的加权参数直接通过查表得到;MPEG2标准和H.264标准的残差数据所需的加权参数均通过残差数据的基地址计算得到。
所述的包含直流残差数据的残差数据是指:H.264标准中,帧内16×16模式下,每个4×4残差数据块的左上角均为直流残差数据,共有4×4个直流残差数据。这4×4个直流残差数据是经过哈达玛变换过的残差数据,在反量化运算时,需要将这4×4个直流残差数据经过反哈达玛变换之后重新填入原先该直流残差数据所在的位置,即对应的4×4残差数据块的左上角。对于MPEG2标准和AVS标准在编码时,没有对直流数据进行哈达玛变换的过程,所以没有将直流残差数据重新填入单位残差数据块的过程。
第六步,运算模块根据查表模块输出的移位参数和增量参数、参数计算模块输出的包含直流残差数据的残差数据和加权参数进行最后的反量化运算。
所述的反量化运算是指:将包含直流残差数据的残差数据、残差数据对应的移位参数、残差数据对应的增量参数、残差数据对应的加权参数代入到统一的量化公式内计算得到反量化后的残差数据。
具体步骤如下:
步骤1,运算模块从查表模块、参数计算模块接收包含直流残差数据的残差数据、残差数据对应的加权参数、残差数据对应的增量参数、残差数据对应的移位参数。
步骤2,根据反量化公式对已接收的包含直流残差数据的残差数据、残差数据对应的加权参数、残差数据对应的增量参数、残差数据对应的移位参数进行反量化运算。
所述的反量化公式是指:将MPEG2标准、AVS标准和H.264标准三个标准中的量化公式进行统一的通用量化公式。该量化公式如下:
反量化结果=(残差值×加权参数+增量参数)>>移位参数;
步骤3,运算模块输出经过反量化运算后的残差数据,该输出作为本装置最后的输出结果。
本实施例通过对按照MPEG2标准、AVS标准和H.264标准规定压缩的12个高清视频码流进行测试,可以顺利完成相应标准规定的反量化操作。本发明所提供的装置可以很好的兼容MPEG2、AVS和H.264标准规定的不同的反量化运算,并且满足高清视频解码时的实时解码要求。

Claims (2)

1.一种用于视频解码的兼容MPEG2、AVS和H.264的反量化装置,其特征在于,包括:控制模块、逆扫描模块、反哈达玛变换模块、参数计算模块、查表模块和运算模块,其中:控制模块将单位残差数据块分别发送至逆扫描模块、反哈达玛变换模块和查表模块,同时控制模块根据单位残差数据块中单位残差数据的类型及个数向逆扫描模块、反哈达玛变换模块、参数计算模块和查表模块分别输出控制信号,逆扫描模块对单位残差数据块进行逆扫描处理并得到基地址后输出至参数计算模块,当采用H.264标准时,反哈达玛变换模块对直流残差数据进行反哈达玛变换,得到经过反哈达玛变换后的直流残差数据后输出至参数计算模块,查表模块对残差数据通过查表操作得到残差数据对应的移位参数和增量参数并输出至运算模块,参数计算模块将计算得到的加权参数、从控制模块获取的残差数据及从反哈达玛变换模块获取的经过反哈达玛变换之后的直流残差数据输出至运算模块,运算模块进行反量化运算操作;
所述的单位残差数据块是指:H.264标准、AVS标准及MPEG2标准中,每一帧图像通过划分为不同的残差数据后进行独立的反量化过程,不同的标准划分的残差数据块是不同的,其中H.264标准中的量化过程将每帧图像划分为4x4大小的残差数据块或者8x8大小的残差数据块;AVS标准和MPEG2标准均将每帧图像划分为8x8大小的残差数据块,单位残差数据块对于H.264标准是指4x4或者8x8大小的残差数据块;对于AVS标准、MPEG2标准是指8x8大小的残差数据块;
所述的残差数据是指:在视频编码时,预测编码产生的预测残差经过变换编码、量化、重排序、游程编码得到的数据;
所述的直流残差数据是指:在H.264标准中,对于帧内预测的16x16大小的亮度残差数据块,其中每个4x4单位残差数据块的第一个数据为直流残差数据,共有4x4个直流残差数据;对于8x8大小的色度残差数据块,每个4x4单位残差数据块的第一个数据为直流残差数据,共有2x2直流残差数据;H.264标准中的直流残差数据相对于标准中的其他残差数据的区别是:直流残差数据的反量化过程需要经过反哈达玛变换,而其他的残差数据不需要进行反哈达玛变换;在MPEG2标准中,每个8x8单位残差数据块中的第一个数据为直流残差数据;MPEG2标准中的直流残差数据相对于标准中的其他残差数据的区别是:MPEG2标准中的单位残差数据块的直流残差数据需要经过特殊的反量化过程;
所述的基地址是指残差数据在二维残差数据块中的地址,在经过变换编码、量化、重排序和游程编码后的残差数据为一维数据;
所述的加权参数是指对反量化过程中所需的加权参数,反量化的计算过程是对残差数和加权参数求积进行加权,然后对加权后的残差数据与增量参数进行求和,最后根据移位参数对所得的求和结果进行移位操作;
所述的增量参数是反量化过程中,用来与加权后的残差数据进行求和的参数;
所述的移位参数是指反量化过程中,用来对加权后的残差数据与增量参数求和后的结果进行移位所需要的参数;
所述的控制模块包括:状态机、第一寄存器、第二寄存器、残差数据解析模块、第一计数器和第二计数器、对逆扫描模块的控制单元、对反哈达玛变换模块的控制单元、对查表模块的控制单元和对参数计算模块的控制单元,其中:状态机与第一计数器、第二计数器相连,两个计数器的当前计数值控制状态机的不同状态之间的转移;第一寄存器和第二寄存器分别存储单位残差数据块以及当前码流类型;残差数据解析模块与第一寄存器相连,残差数据解析模块负责解析收到的残差数据内的参数信息;第一计数器、第二计数器相连残差数据解析模块,第一计数器记录当前单位残差数据块中已经读入的的残差数据个数,第二计数器记录当前已经读入的单位残差数据块的个数;逆扫描模块的控制单元与状态机、第二寄存器、第一计数器相连,根据状态机的当前状态、第二寄存器所保存的码流类型及第一计数器的当前计数器产生对逆扫描模块的控制信号;反哈达玛变换模块的控制单元与状态机、残差数据解析模块相连,反哈达玛变换模块的控制单元根据状态机的当前状态控制反哈达玛变换模块,并将残差数据解析模块解析出的残差数据传输给反哈达玛变换模块;查表模块的控制单元与状态机、残差数据解析模块、第二寄存器、第一计数器相连,查表模块的控制单元根据状态机的当前状态、第二寄存器所保存的当前码流类型、残差数据解析模块解析出的码流参数、第一计数器的计数值来产生对查表模块的控制信号;参数计算模块的控制单元与状态机、残差数据解析模块及第二寄存器相连,参数计算模块的控制单元根据状态机的当前状态、第二寄存器所保存的当前码流类型、残差数据解析模块解析出的码流参数来产生对参数计算模块的控制信号;
所述的状态机有空闲状态、处理亮度块直流残差数据状态、处理亮度块非直流残差数据状态、处理色度块直流残差系数状态和处理色度块非直流残差数据状态,共5个状态,根据已经读入的当前单位残差数据块内的残差数据的个数和已经读入的单位残差数据块的个数来确定不同状态间的跳转;
所述的逆扫描模块包括:逆扫描单元和第三寄存器,其中:逆扫描单元与控制模块中逆扫描模块的控制单元相连,逆扫描单元根据控制模块中逆扫描模块的控制单元所获取的状态机的当前状态、当前的码流类型、第一计数器所记录的当前残差数据块中已读入的残差数据的个数来进行逆扫描过程,并计算得到当前读入的残差数据的基地址;第三寄存器与逆扫描单元相连,用于保存逆扫描单元计算得到的当前读入残差数据的基地址;
所述的反哈达玛变换模块包括:反哈达玛变换单元和第四寄存器,其中:反哈达玛变换单元与控制模块中反哈达玛变换模块的控制单元相连,根据控制模块中反哈达玛变换模块的控制单元输出的控制信号及直流残差数据进行反哈达玛变换过程,计算得到经过反哈达玛变换变换之后的直流残差数据;第四寄存器与反哈达玛变换单元相连,用于储存经过反量化变换之后的直流残差数据;
所述的运算模块包括:反量化运算单元和第十寄存器,其中:反量化运算单元与查表模块、参数计算模块相连,根据从查表模块获取的残差数据对应的移位参数和增量参数、从参数计算模块获取的包括残差数据对应的加权参数和经过反哈达玛变换后的直流残差数据的残差数据来进行反量化计算过程,计算得到反量化的残差数据;第十寄存器与反量化运算单元相连,用于保存经过反量化后的残差数据。
2.一种根据权利要求1所述装置的视频解码的反量化实现方法,其特征在于,包括如下步骤:
第一步,控制模块从视频解码系统中反量化装置的前级装置依次读取所需的码流类型、当前宏块残差数据的参数信息以及经过重排序、游程编码的残差数据并保存在寄存器中;
第二步,控制模块记录当前已读入的单位残差数据块内的残差数据的个数;
第三步,逆扫描模块、反哈达玛变换模块、查表模块和参数计算模块根据控制模块输出的残差数据、参数信息、已读入残差数据的序号、已读入单位残差数据块的个数分别进行逆扫描过程、反哈达玛变换过程、查表过程和参数计算过程;
第四步,运算模块根据控制模块、反哈达玛变换模块、查表模块、参数计算模块输出的非直流残差数据、经过反哈达玛变换后的直流残差数据、移位参数、增量参数和加权参数进行反量化最终处理;
所述的重排序是指:在视频编码时,对已经经过变换的二维残差数据按照一定的顺序进行扫描,使二维残差数据变为一维的数据;
所述的游程编码是指:在视频编码时,已经过重排序的一维残差数据的开始包含多个非零的系数,其后跟着一串零系数,为了方便传输,使用一组(run,level)对表示数组,其中run表示非零残差数据前的零的个数,level表示非零残差数据的大小;
所述的第二步具体是指:控制模块记录当前已读入的单位残差数据块内的残差数据的个数,具体步骤为:利用初值为0的计数器记录已经读入当前单位残差数据块内的残差数据的个数,每读入残差数据,计数器增加1,当单位残差数据块读入完毕时,计数器重新清零;
所述的反哈达玛变换过程是指:在H.264标准中需要实现对直流残差数据进行反哈达玛变换,包括如下四个步骤:
步骤一,根据当前单位残差数据块的类型及控制模块输出的参数信息中的亮度块直流残差数据标志判断是否需要进行反哈达玛变换,如果亮度块直流残差数据标志位有效,则需要进行反哈达玛变换;而色度块中一定存在直流残差系数,需要进行反哈达玛变换;
步骤二,根据控制模块输出的对反哈达玛变换模块的写寄存器控制信号,读入需要进行反哈达玛变换的直流残差数据,存入到寄存器中;
所述的控制模块输出的对反哈达玛变换模块的写寄存器控制信号是指:控制模块根据当前已读入当前单位残差数据块内的残差数据的个数、当前读入单位残差数据块的个数来产生对反哈达玛变换的控制信号,包括写寄存器控制信号、计算控制信号、输出控制信号;
步骤三,根据控制模块输出的对反哈达玛变换模块的计算控制信号,对读入的直流残差数据进行反哈达玛变换的计算;
步骤四,根据控制模块输出的对反哈达玛模块的输出控制信号,将反哈达玛变换后的直流残差数据进行输出。
CN 201010148836 2010-04-17 2010-04-17 用于视频解码的反量化装置及其实现方法 Expired - Fee Related CN101841711B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201010148836 CN101841711B (zh) 2010-04-17 2010-04-17 用于视频解码的反量化装置及其实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201010148836 CN101841711B (zh) 2010-04-17 2010-04-17 用于视频解码的反量化装置及其实现方法

Publications (2)

Publication Number Publication Date
CN101841711A CN101841711A (zh) 2010-09-22
CN101841711B true CN101841711B (zh) 2012-01-04

Family

ID=42744782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010148836 Expired - Fee Related CN101841711B (zh) 2010-04-17 2010-04-17 用于视频解码的反量化装置及其实现方法

Country Status (1)

Country Link
CN (1) CN101841711B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130049524A (ko) * 2011-11-04 2013-05-14 오수미 인트라 예측 블록 생성 방법
CN103686173B (zh) 2014-01-09 2017-03-01 英特尔公司 变换与反变换电路
CN106708532B (zh) * 2016-12-30 2020-12-04 中国人民解放军国防科学技术大学 基于tcam的多层次正则表达式匹配方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1302126A (zh) * 1999-12-24 2001-07-04 日本电气株式会社 快速哈达玛变换装置
CN101080014A (zh) * 2006-03-28 2007-11-28 株式会社东芝 视频解码方法和装置
CN101237574A (zh) * 2007-02-01 2008-08-06 扬智科技股份有限公司 图像数据的译码运算系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4933405B2 (ja) * 2007-11-13 2012-05-16 キヤノン株式会社 データ変換装置及びその制御方法
US8369638B2 (en) * 2008-05-27 2013-02-05 Microsoft Corporation Reducing DC leakage in HD photo transform

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1302126A (zh) * 1999-12-24 2001-07-04 日本电气株式会社 快速哈达玛变换装置
CN101080014A (zh) * 2006-03-28 2007-11-28 株式会社东芝 视频解码方法和装置
CN101237574A (zh) * 2007-02-01 2008-08-06 扬智科技股份有限公司 图像数据的译码运算系统

Also Published As

Publication number Publication date
CN101841711A (zh) 2010-09-22

Similar Documents

Publication Publication Date Title
CN103190147B (zh) 用于视频译码的语法元素的联合译码方法及设备
CN100355288C (zh) 图象数据的自适应可变长度编码方法
CN103299620B (zh) 在视频译码中使用最可能扫描次序对用于视频块的扫描次序信息进行有效译码
CN1998152B (zh) 条件交叠变换方法
CN101969563B (zh) 图像处理装置以及图像处理方法
CN100407224C (zh) 用于宏块半帧/帧编码类型信息的位平面编码和解码
CN104041031B (zh) 视频编码和解码方法和使用该方法的装置
TWI471013B (zh) 轉換式數位媒體編解碼器之計算複雜度及精確性控制
CN102484714B (zh) 图像处理装置和方法
CN100499810C (zh) 图像的编码方法和装置、译码方法和装置、以及传送系统
CN101252694B (zh) 基于块的视频解码的帧存储压缩和地址映射系统
CN105103548A (zh) 根据输入数据的位深选择变换数据的最大动态范围和变换矩阵的数据精度
CN100576195C (zh) 以无损方式对数字图像和音频数据解码的系统和方法
CN102804172A (zh) 用于媒体数据译码的16点变换
CN107071494B (zh) 视频图像帧的二进制语法元素的生成方法和系统
CN101500160B (zh) 一种码流标识方法、装置及编解码系统
WO2006006564A1 (ja) 符号化方法、符号化装置、復号方法、復号装置およびそれらのプログラム
WO2008067500A2 (en) Parallel deblocking filter for h.264 video codec
CN1934869A (zh) 转换器协助的视频编码器
CN102804171A (zh) 用于媒体数据译码的16点变换
CN103686173B (zh) 变换与反变换电路
CN100407791C (zh) 图像编码、译码方法、图像编码、译码装置及图像传送系统
CN102484699A (zh) 对图像进行编码和解码的方法、用于编码和解码的对应装置以及计算机程序
CN101841711B (zh) 用于视频解码的反量化装置及其实现方法
CN104581154A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120104

Termination date: 20170417