CN102006478A - 一种视频解码的反变换方法及装置 - Google Patents
一种视频解码的反变换方法及装置 Download PDFInfo
- Publication number
- CN102006478A CN102006478A CN 201010563430 CN201010563430A CN102006478A CN 102006478 A CN102006478 A CN 102006478A CN 201010563430 CN201010563430 CN 201010563430 CN 201010563430 A CN201010563430 A CN 201010563430A CN 102006478 A CN102006478 A CN 102006478A
- Authority
- CN
- China
- Prior art keywords
- data
- parallel data
- time
- clamper
- inverse transformation
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及终端视频解码领域,公开了一种视频解码的反变换方法及装置。本发明首先将反量化数据由串行转换为并行,然后对并行数据进行第一次水平反变换和第一次钳位处理;接着将第一次钳位处理后的并行数据进行转置处理,并将转置处理后的并行数据进行第二次水平反变换和第二次钳位处理;最后将第二次钳位处理后的并行数据作为反变化数据输出。本发明将原先需要分别进行水平和垂直两个方向上的反变换,经过转置处理后只需采用同一算法电路进行两次水平反变换,能够降低系统硬件资源,简化电路的复杂度,提高资源利用率,而且结果准确。
Description
技术领域
本发明涉及视频编解码领域,具体涉及一种视频解码的反变换方法及装置。
背景技术
在视频编码端,变换编码就是要去除系数之间的相关性,使变换后的能量尽量集中在直流系数和较少的几个低频系数上,以便提高压缩效率。在视频解码端,以AVS(Audio Video coding Standard)视频编解码标准为例,反变换就是将反量化后得到的反量化数据进行整数余弦变换(DCT),以便把频域内的反量化数据变换到空间域中。AVS标准基准档的反变换矩阵如下T8所示。
如图1所示,在现有视频解码的反变换中,反量化之后的反量化数据依次经过水平反变换处理、减少中间变量处理、垂直反变换处理、修正结果处理后,输出反变换后的反变换数据。
在实现本发明的过程中,发明人发现现有技术在实现上述反变换过程时,未深入考虑AVS反整数余弦变换的内在特征,解码器同时需要两种类型的电路,一个用以实现水平反变换过程,一个用以实现垂直反变换过程,从而占用了过多的硬件资源,资源利用率较低。
发明内容
为提高资源利用率,本发明提供了一种视频解码的反变换方法及装置。本发明所采用的技术方案是:
一种视频解码的反变换方法,包括:
将读取出的反量化数据由串行数据转换为并行数据,并为转换的并行数据加上宏块子块和像素索引;
对所述转换的并行数据进行第一次水平反变换和第一次钳位处理;
根据所述宏块子块和像素索引,将第一次钳位处理后的并行数据进行转置处理;
将转置处理后的并行数据进行第二次水平反变换和第二次钳位处理;
将第二次钳位处理后的并行数据作为反变化数据输出。
一种视频解码的反变换装置,包括:
串并转换单元,用于将读取出的反量化数据由串行数据转换为并行数据,并为转换的并行数据加上宏块子块和像素索引;将所述转换的并行数据输出至数据标识单元;
数据标识单元,用于将串并转换单元输入的并行数据标识为第一处理数据,将转置处理单元输入的并行数据标识为第二处理数据,并将标识后的并行数据输出至反变换单元;
反变换单元,用于对输入的并行数据进行水平反变换,并将水平反变换后的并行数据输出至钳位处理单元;
钳位处理单元,用于根据并行数据的标识,相应地对输入的并行数据进行第一次钳位处理或第二次钳位处理;并将第一次钳位处理后的并行数据输出至转置处理单元,将第二次钳位处理后的并行数据作为反变化数据输出;
转置处理单元,用于根据输入的所述宏块子块和像素索引,对并行数据进行转置处理,并将转置处理后的并行数据输出至数据标识单元。
由本发明技术方案可知,本发明在反变换处理过程中,通并行地进行数据处理,能够有效地加快处理速度,提高系统的处理效率;通过对并行数据进行转置处理,使得原先需要分别进行水平和垂直两个方向上的反变换,经过转置处理后只需采用同一算法电路进行两次水平反变换,从而降低了系统硬件资源,简化了电路的复杂度,提高了资源利用率,而且结果准确。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。
图1为现有技术的视频解码的反变换方法流程图;
图2为本发明的视频解码的反变换方法的流程图;
图3为本发明的视频解码的反变换装置的结构示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式做详细说明。
参见图2所示,本发明的视频解码反变换方法,包括如下步骤:
S21,将读取出的反量化数据由串行数据转换为并行数据,并为转换的并行数据加上宏块子块和像素索引。
反量化是一般的点乘,反变换是8×8的矩阵乘法。反量化的输入参数是从比特流里面读出的量化系数矩阵(在AVS基准档标准中称为QuantCoeffMatrix),为12比特有符号整数,其取值范围为[-211,211-1];其输出参数是14比特的有符号整数(在AVS基准档标准中称为二维变换系数矩阵CoeffMatrix),取值范围为[-213,213-1]。
根据AVS标准规定,在接收到量化参数后,如果要想还原原图像,需要根据量化参数在反量化查找表DequantTable中进行查找,对幅度(Level)值进行反量化处理,得到反量化数据。
在进行反变换处理时,首先从反量化的输出缓冲寄存器(Buffer)中读取出反量化数据,将串行数据转换为并行数据,并给转换的并行数据标上宏块子块和像素索引,以便后期复位宏块数据。另外,在将读取出的反量化数据由串行数据转换为并行数据的同时,还可以产生读取下一个反量化数据的使能信号,在处理当前宏块的同时,并行下一宏块的先前处理操作,从而能够提高整个视频解码系统的处理效率。
S22,对所述转换的并行数据进行第一次水平反变换和第一次钳位处理。
从第一次水平反变换后的比特流中解码得到的矩阵元素的取值范围为[-215,215-4],是16比特的有符号整数矩阵,该数据处理实际上已经将各矩阵元素的值左移了至少三位,为使得处理结果还能在16比特内,在第一次钳位处理中需要将所得矩阵的每位元素值右移三位,以减少中间变量。
分析反变换的定义,暂不考虑减少中间变量和结果修正步骤,可将反变换公式简写为:MR=T8×MC×T8 T;如果先对输入矩阵MC进行转置,且令NC=MC T,则反变换公式可写为:MR=T8×(T8×NC)T。因此经过转置处理后可只进行两次水平反变换,且都是左乘同一个系数矩阵T8。
在本发明的水平反变换处理中,采用了移位寄存器来代替复杂的乘法运算,这样所有的乘法都可以简化为移位加/减法来实现,从而降低了系统硬件资源,简化了电路的复杂度,提高了系统运行的速度。
S23,根据所述宏块子块和像素索引,将第一次钳位处理后的并行数据进行转置处理。
为实现并行数据的转置,具体处理方法如下:
根据并行数据的宏块子块和像素索引,将第一次钳位处理后的并行数据转换为串行数据,然后将转换的串行数据按照8×8矩阵的行列顺序写入8个双口16bit×8的随机存取存储器(Random Access Memory,RAM)中,当开始写第8行数据的时候,开始并行地从8个RAM中按转置的顺序读出数据。该处理方法能够提高系统的执行效率。
S24,将转置处理后的并行数据进行第二次水平反变换和第二次钳位处理。
从第二次水平反变换后的比特流中解码得到的矩阵元素的取值范围为[-215,215-65],是16比特的有符号整数矩阵,该数据处理实际上已经将各矩阵元素的值左移了至少七位,在第二次钳位处理中将所得矩阵的每位元素值右移七位限制到9比特内,对结果进行修正,以保证处理后不会有截断误差。
S25,将第二次钳位处理后的并行数据作为反变化数据输出。
该输出的反变化数据会与帧内、帧间预测数据进行整合进而得到重构图像。
本发明的反变换方法,通过并行地进行数据处理,能够有效地加快处理速度,提高系统的处理效率;通过对并行数据进行转置处理,使得原先需要分别进行水平和垂直反变换两个方向的反变换,经过转置处理后只需采用同一算法电路进行两次水平反变换,从而降低了系统硬件资源,简化了电路的复杂度,提高了资源利用率,而且结果准确。
参见图3所示,本发明的视频解码的反变换装置,包括:
串并转换单元31,用于对从反量化输出Buffer读取出的反量化数据dq_data,由串行数据转为并行数据,为给转换的并行数据标上宏块子块和像素索引,然后将转换的并行数据s2p_data输出至数据标识单元32。
进一步地,该串并转换单元31在处理当前反量化数据的同时,还可以产生读取下一个反量化数据的使能信号,以便能够在并行处理当前宏块的同时,开始下一宏块的先前处理,从而有效地加快了系统的处理速度,提高处理效率。
数据标识单元32,用于将串并转换单元31输入的并行数据标识为第一处理数据,将转置处理单元35输入的并行数据标识为第二处理数据,并将标识后的并行数据mux_data输出至反变换单元33。
例如,标识的方式可以是产生h_v_trans_mux信号,当h_v_trans_mux=0时,标识为串并转换单元31输入的并行数据,当h_v_trans_mux=1时,标识为转置处理单元35输入的并行数据。
反变换单元33,对输入的并行数据进行水平反变换,并将水平反变换后的并行数据iict_data输出至钳位处理单元34。该反变换单元33为水平和垂直反变换复用的硬件单元,也是整个反整数变换电路中运算量最大的单元。
分析反变换的定义,暂不考虑减少中间变量和结果修正步骤,经过如下数学转换可以把垂直反变换变成水平反变换:对输入矩阵MC,其反变换公式可以简写为:MR=T8×MC×T8 T;如果先对输入矩阵MC进行转置,且令NC=MC T,则反变换公式可写为:MR=T8×(T8×NC)T。
由此可知,原先需要分别进行水平和垂直两个方向上的反变换,经过转置处理后可只进行两次水平反变换,且都是左乘同一个系数矩阵T8。并且通过对系数矩阵的分解,可以采用移位寄存器来代替复杂的乘法运算,将所有的乘法都简化为移位加/减法来实现,从而降低了系统硬件资源,简化了电路的复杂度,提高了系统的运行速度。
钳位处理单元34,用于根据输入的并行数据iict_data的标识,相应地进行第一次钳位处理或第二次钳位处理;并将第一次钳位处理后的并行数据post_data输出至转置处理单元35,将第二次钳位处理后的并行数据res_data作为反变化数据输出。
在第一次水平反变换的过程中,数据处理实际上已经将各矩阵元素的值左移了至少三位,为了让处理结果还能在16比特内,在进行第一次钳位处理时,对标识为第一处理数据的并行数据的每位元素值右移三位,以减少中间变量。
在第二次水平反变换的过程中,数据处理实际上已经将各矩阵元素的值左移了至少七位,因此在进行第二次钳位处理时,把相应的处理进行还原,将标识为第二处理数据的并行数据的每位元素值右移七位限制到9比特内,对结果进行修正,以保证处理后不会有截断误差。
例如,可以根据h_v_trans_mux信号的值对反变换单元33过来的数据进行不同的钳位操作。当h_v_trans_mux=0时,进行第一次钳位处理,并将第一次钳位处理后的并行数据输出至转置处理单元35;当h_v_trans_mux=1时,进行第二次钳位处理,并将第二次钳位处理后的并行数据作为反变化数据输出。
转置处理单元35,用于根据宏块子块和像素索引,对并行数据进行转置处理,并将转置处理后的并行数据trans_data输出至数据标识单元32。
转置处理的过程可以为:根据宏块子块和像素索引对输入的数据进行并行转为串行,并将串行的数据按照8×8矩阵的行列顺序写入8个双口16bit×8的随机存取存储器RAM中,当开始写第8行数据的时候,开始并行地从8个RAM中按转置的顺序读出数据,为此可以提高系统的执行效率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种视频解码的反变换方法,其特征在于,包括:
将读取出的反量化数据由串行数据转换为并行数据,并为转换的并行数据加上宏块子块和像素索引;
对所述转换的并行数据进行第一次水平反变换和第一次钳位处理;
根据所述宏块子块和像素索引,将第一次钳位处理后的并行数据进行转置处理;
将转置处理后的并行数据进行第二次水平反变换和第二次钳位处理;
将第二次钳位处理后的并行数据作为反变化数据输出。
2.根据权利要求1所述的方法,其特征在于,在将读取出的反量化数据由串行数据转换为并行数据,并为转换的并行数据加上宏块子块和像素索引的同时,所述方法还包括:
产生读取下一个反量化数据的使能信号。
3.根据权利要求1所述的方法,其特征在于,所述根据所述宏块子块和像素索引,将第一次钳位处理后的并行数据进行转置处理包括:
根据所述宏块子块和像素索引将第一次钳位处理后的并行数据转换为串行数据;
将所述转换的串行数据按照8×8矩阵的行列顺序写入8个双口16bit×8的随机存取存储器RAM中,并当开始写第8行数据的时候,开始并行地从8个所述RAM中按转置的顺序读出数据。
4.根据权利要求1所述的方法,其特征在于,
所述第一次钳位处理包括:将第一次水平反变换后的并行数据的每位元素值右移三位;
所述第二次钳位处理包括:将第二次水平反变换后的并行数据的每位元素值右移七位。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述水平反变换采用移位加减法实现。
6.一种视频解码的反变换装置,其特征在于,包括:
串并转换单元,用于将读取出的反量化数据由串行数据转换为并行数据,并为转换的并行数据加上宏块子块和像素索引;将所述转换的并行数据输出至数据标识单元;
数据标识单元,用于将串并转换单元输入的并行数据标识为第一处理数据,将转置处理单元输入的并行数据标识为第二处理数据,并将标识后的并行数据输出至反变换单元;
反变换单元,用于对输入的并行数据进行水平反变换,并将水平反变换后的并行数据输出至钳位处理单元;
钳位处理单元,用于根据并行数据的标识,相应地对输入的并行数据进行第一次钳位处理或第二次钳位处理;并将第一次钳位处理后的并行数据输出至转置处理单元,将第二次钳位处理后的并行数据作为反变化数据输出;
转置处理单元,用于根据所述宏块子块和像素索引,对输入的并行数据进行转置处理,并将转置处理后的并行数据输出至数据标识单元。
7.根据权利要求6所述的装置,其特征在于,所述串并转换单元还用于在将读取出的反量化数据由串行数据转换为并行数据,并为转换的并行数据加上宏块子块和像素索引的同时,产生读取下一个反量化数据的使能信号。
8.根据权利要求6所述的装置,其特征在于,所述转置处理单元具体用于,根据所述宏块子块和像素索引将第一次钳位处理后的并行数据转换为串行数据;将所述转换的串行数据按照8×8矩阵的行列顺序写入8个双口16bit×8的随机存取存储器RAM中,并当开始写第8行数据的时候,开始并行地从8个所述RAM中按转置的顺序读出数据。
9.根据权利要求6所述的装置,其特征在于,所述钳位处理单元具体用于,对标识为第一处理数据的并行数据的每位元素值右移三位,对标识为第二处理数据的并行数据的每位元素值右移七位。
10.根据权利要求6-9任一项所述的装置,其特征在于,所述反变换单元具体用于,采用移位寄存器对输入的并行数据进行水平反变换。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010563430 CN102006478A (zh) | 2010-11-29 | 2010-11-29 | 一种视频解码的反变换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010563430 CN102006478A (zh) | 2010-11-29 | 2010-11-29 | 一种视频解码的反变换方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102006478A true CN102006478A (zh) | 2011-04-06 |
Family
ID=43813494
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010563430 Pending CN102006478A (zh) | 2010-11-29 | 2010-11-29 | 一种视频解码的反变换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102006478A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254883A (zh) * | 2016-08-02 | 2016-12-21 | 青岛海信电器股份有限公司 | 一种视频解码中的反变换方法和装置 |
CN111200732A (zh) * | 2018-11-20 | 2020-05-26 | 深圳市中兴微电子技术有限公司 | 一种反量化反变换方法及装置 |
CN115278240A (zh) * | 2017-12-15 | 2022-11-01 | Lg电子株式会社 | 图像编解码方法和发送方法及非暂态计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050057645A1 (en) * | 2003-08-05 | 2005-03-17 | Samsung Electronics Co., Ltd. | Apparatus and method for generating 3D image signal using space-division method |
CN1889689A (zh) * | 2006-06-01 | 2007-01-03 | 上海交通大学 | 游程解码、反扫描、反量化和反变换的方法及装置 |
CN101330616A (zh) * | 2008-07-31 | 2008-12-24 | 上海交通大学 | 视频解码过程中反离散余弦变换的硬件实现装置及方法 |
CN101605259A (zh) * | 2009-05-31 | 2009-12-16 | 华亚微电子(上海)有限公司 | 对多媒体数据进行变换编、解码的装置及方法 |
-
2010
- 2010-11-29 CN CN 201010563430 patent/CN102006478A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050057645A1 (en) * | 2003-08-05 | 2005-03-17 | Samsung Electronics Co., Ltd. | Apparatus and method for generating 3D image signal using space-division method |
CN1889689A (zh) * | 2006-06-01 | 2007-01-03 | 上海交通大学 | 游程解码、反扫描、反量化和反变换的方法及装置 |
CN101330616A (zh) * | 2008-07-31 | 2008-12-24 | 上海交通大学 | 视频解码过程中反离散余弦变换的硬件实现装置及方法 |
CN101605259A (zh) * | 2009-05-31 | 2009-12-16 | 华亚微电子(上海)有限公司 | 对多媒体数据进行变换编、解码的装置及方法 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106254883A (zh) * | 2016-08-02 | 2016-12-21 | 青岛海信电器股份有限公司 | 一种视频解码中的反变换方法和装置 |
CN106254883B (zh) * | 2016-08-02 | 2021-01-22 | 海信视像科技股份有限公司 | 一种视频解码中的反变换方法和装置 |
CN115278240A (zh) * | 2017-12-15 | 2022-11-01 | Lg电子株式会社 | 图像编解码方法和发送方法及非暂态计算机可读存储介质 |
CN115278240B (zh) * | 2017-12-15 | 2024-06-07 | Lg电子株式会社 | 图像编解码方法和发送方法及非暂态计算机可读存储介质 |
CN111200732A (zh) * | 2018-11-20 | 2020-05-26 | 深圳市中兴微电子技术有限公司 | 一种反量化反变换方法及装置 |
US11503297B2 (en) | 2018-11-20 | 2022-11-15 | Zte Corporation | Method and device for inverse quantization and inverse transformation and non-transitory computer-readable storage medium |
CN111200732B (zh) * | 2018-11-20 | 2023-04-07 | 深圳市中兴微电子技术有限公司 | 一种反量化反变换方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103026705B (zh) | 用于对视频信号进行编码的方法和设备以及用于对视频信号进行解码的方法和设备 | |
CN100473161C (zh) | 基于avs的4×4离散余弦变换的快速并行装置及其方法 | |
CN101330616B (zh) | 视频解码过程中反离散余弦变换的硬件实现装置及方法 | |
CN105103549A (zh) | 根据重要系数的参数的重要系数编码和解码 | |
JP6223575B2 (ja) | 信号サンプル点データの処理方法及び装置 | |
CN103873877A (zh) | 远程桌面的图像传输方法及装置 | |
CN113382265B (zh) | 视频数据熵编码硬件实现方法、设备、介质及程序产品 | |
CN106254883B (zh) | 一种视频解码中的反变换方法和装置 | |
CN102387367B (zh) | 适用于多种视频标准、多尺寸二维整数余弦变换的通用方法 | |
CN108200439B (zh) | 提高数字信号变换性能的方法及数字信号变换方法和装置 | |
US20100079312A1 (en) | Apparatus and method of lossless coding and decoding | |
CN102006478A (zh) | 一种视频解码的反变换方法及装置 | |
US20010026642A1 (en) | Method and apparatus for transformation and inverse transformation of image for image compression coding | |
CN102447895B (zh) | 扫描方法及装置、反扫描方法及装置 | |
WO2020060832A1 (en) | Fast implementation of odd one dimensional transforms | |
CN102333222A (zh) | 二维离散小波变换电路及应用该电路的图像压缩方法 | |
CN104270643A (zh) | 基于single-port SRAM的转置矩阵的地址映射算法 | |
CN111130697B (zh) | 一种降低基于自动编码器的通信物理层传输系统复杂度的方法 | |
CN101977318B (zh) | Dct量化的并行装置及其方法 | |
CN1625266A (zh) | 计算绝对差值的设备、运动估计设备和运动图像编码设备 | |
CN206962992U (zh) | 用于数字视频编解码的3乘3整数dct变换量化器 | |
CN105635731A (zh) | 高效视频编码的帧内预测参考点预处理方法 | |
CN101729886B (zh) | 一种视频解码方法、系统和设备 | |
CN1992903A (zh) | Mpeg-2到h.264压缩域视频转码器系数转换方法 | |
CN104581174A (zh) | 一种适用于hevc标准的高吞吐率dct和idct硬件复用结构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20110406 |