CN114125461B - 通用视频编码变换电路和通用视频编码设备 - Google Patents
通用视频编码变换电路和通用视频编码设备 Download PDFInfo
- Publication number
- CN114125461B CN114125461B CN202111435475.XA CN202111435475A CN114125461B CN 114125461 B CN114125461 B CN 114125461B CN 202111435475 A CN202111435475 A CN 202111435475A CN 114125461 B CN114125461 B CN 114125461B
- Authority
- CN
- China
- Prior art keywords
- point
- computing unit
- odd
- selection signal
- line
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Complex Calculations (AREA)
Abstract
本申请公开一种通用视频编码变换电路和通用视频编码设备,变换电路包括:八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元、六十四点奇数行计算单元、四点奇数行余弦计算单元、四点偶数行余弦计算单元、变换类型选择端、点数选择端、输入端和输出端;并根据变换类型选择端输入的变换类型选择信号和点数选择端输入的点数选择信号,以实现八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元、六十四点奇数行计算单元、四点奇数行余弦计算单元和四点偶数行余弦计算单元的复用。该电路可实现通用视频编码变换,并且该电路设计简单,易于实现,研发成本低。
Description
技术领域
本发明涉及视频编解码技术领域,尤其涉及一种通用视频编码变换电路和通用视频编码设备。
背景技术
通用视频编码设备(Versatile Video Coding,VVC),也称为H.266,是由联合视频专家组确定的继高级视频编码(Advanced Video Coding,AVC)和高效视频编码(HighEfficiency Video Coding,HEVC)之后的新一代视频编解码标准。其中,高级视频编码也称为H.264,高效视频编码也称为H.265。和之前的标准类似,VVC采用基于块结构的混合编码框架,融合了帧内和帧间预测、变化编码和熵编码等模块。除了HEVC中的DCT-II变换,VVC允许变换的最大尺寸为64x64,并且引进了两种新的变换方式DST-VII和DCT-VIII。即VVC的变换电路需要支持4点、8点、16点、32点、64点DCT-II变换,4点、8点、16点、32点DCT-VIII变换和4点、8点、16点、32点DST-VII变换。其中,DCT为离散余弦变换(Discrete CosineTransform),DCT-II为第二型离散余弦变换,DCT-VIII为第八型离散余弦变换,DST-VII为第七型离散正弦变换(Discrete sine Transform)。
VVC是一个正在发展、不断完善的新标准,而因为变换尺寸和类型的差异,之前关于HEVC变换的相关工作无法直接应用于VVC变换。有部分研究是在现有HEVC变换的基础上做的,例如,现有的通用视频编码设备设计方案中,不修改已有的HEVC的4~32点DCT-II变换模块,直接增加4~32点DCT-VIII变换模块、4~32点DST-VII变换模块和64点DCT-II变换模块,但这种设计导致通用视频编码设备器的电路面积增加很大;或者,不修改已有的HEVC的4~32点DCT-II变换模块,只增加64点DCT-II变换模块,4~32点DCT-VIII和4~32点DST-VII复用64点DCT-II变换模块,但这种设计方案设计难度大,研发成本高。
发明内容
鉴于上述问题,本申请提出一种通用视频编码变换电路和通用视频编码设备。
本申请实施例提出一种通用视频编码变换电路,所述变换电路包括:
八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元、六十四点奇数行计算单元、四点奇数行余弦计算单元、四点偶数行余弦计算单元、变换类型选择端、点数选择端、用于输入残差矩阵及变换系数矩阵的输入端和用于输出视频编码结果的输出端;
所述变换类型选择端用于输入变换类型选择信号,所述点数选择端用于输入点数选择信号,以根据所述变换类型选择信号和所述点数选择信号使所述八点奇数行计算单元、所述十六点奇数行计算单元、所述三十二点奇数行计算单元、所述六十四点奇数行计算单元、所述四点奇数行余弦计算单元和所述四点偶数行余弦计算单元在所述视频编码变换计算时被复用。
本申请实施例所述的通用视频编码变换电路,所述八点奇数行计算单元、所述十六点奇数行计算单元、所述三十二点奇数行计算单元和所述六十四点奇数行计算单元均包括多个四点奇数行计算单元,所述四点奇数行计算单元包括多个选择器,所述选择器的一端用于接收所述变换类型选择信号。
本申请实施例所述的通用视频编码变换电路,所述八点奇数行计算单元包括4个所述四点奇数行计算单元,所述十六点奇数行计算单元包括8个所述四点奇数行计算单元,所述三十二点奇数行计算单元包括16个所述四点奇数行计算单元,所述六十四点奇数行计算单元包括32个所述四点奇数行计算单元。
本申请实施例所述的通用视频编码变换电路,四点奇数行计算单元还包括:多个第一减法器、多个第一乘法器和多个第一加法器;
每一个所述第一减法器用于对所述残差矩阵的两个残差元素做第一减法运算,并将所述第一减法运算的结果输入至相应的选择器;
每一个所述第一乘法器用于对相应的所述选择器输出的选择结果和所述变换系数矩阵的系数值做第一乘法运算;
每一个所述第一加法器用于对两个所述第一乘法运算的相乘结果做第一加法运算。
本申请实施例所述的通用视频编码变换电路,所述四点奇数行计算单元包括2个第一减法器、4个选择器、4个第一乘法器和2个第一加法器。
本申请实施例所述的通用视频编码变换电路,所述四点奇数行计算单元包括4个第一减法器、4个选择器、4个第一乘法器和2个第一加法器。
本申请实施例所述的通用视频编码变换电路,所述四点偶数行余弦计算单元包括2个第二加法器、2个第二乘法器、1个第三加法器和1个第二减法器;
每一个所述第二加法器用于对所述残差矩阵的两个残差元素做第二加法运算;
每一个所述第二乘法器用于对相应的所述第二加法器输出的所述第二加法运算的结果和所述变换系数矩阵的系数值做第二乘法运算;
所述第三加法器用于对两个所述第二乘法运算的相乘结果做第三加法运算;
所述第二减法器用于对两个所述第二乘法运算的相乘结果做第二减法运算。
本申请实施例所述的通用视频编码变换电路,所述四点奇数行余弦计算单元包括多个第四加法器、多个第三乘法器和多个第三减法器;
每一个所述第三减法器用于对所述残差矩阵的两个残差元素第三减法运算;
每一个所述第三乘法器用于对相应的所述第三减法器输出的所述第三减法运算的结果和所述变换系数矩阵的系数值做第三乘法运算;
每一个所述第四加法器用于对两个所述第三乘法运算的相乘结果做第四加法运算。
本申请实施例所述的通用视频编码变换电路,所述变换类型选择信号包括DCT-II类型选择信号、DST-VII类型选择信号和DCT-VIII类型选择信号中的至少一种;
所述点数选择信号包括四点选择信号、八点选择信号、十六点选择信号、三十二点选择信号和六十四点选择信号中的至少一种。
本申请实施例还包括一种通用视频编码设备,包括本申请实施例所述的通用视频编码变换电路。
本申请通过八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元、六十四点奇数行计算单元、四点奇数行余弦计算单元、四点偶数行余弦计算单元、变换类型选择端、点数选择端、用于输入残差矩阵及变换系数矩阵的输入端和用于输出视频编码结果的输出端;变换类型选择端用于输入变换类型选择信号,所述点数选择端用于输入点数选择信号,以根据变换类型选择信号和点数选择信号实现八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元、六十四点奇数行计算单元、四点奇数行余弦计算单元和四点偶数行余弦计算单元的复用。本申请提供的通用视频编码电路可实现通用视频编码变换,该电路设计简单,易于实现,研发成本低。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例提出的一种通用视频编码变换电路的结构示意图;
图2示出了本申请实施例提出的一种四点奇数行计算单元的结构示意图;
图3示出了本申请实施例提出的另一种四点奇数行计算单元的结构示意图;
图4示出了本申请实施例提出的一种四点偶数行余弦计算单元的结构示意图;
图5示出了本申请实施例提出的一种四点奇数行余弦计算单元的结构示意图;
图6示出了本申请实施例提出的另一种四点奇数行余弦计算单元的结构示意图;
图7示出了本申请实施例提出的一种八点偶数行余弦计算单元的结构示意图;
图8示出了本申请实施例提出的一种八点奇数行计算单元的结构示意图;
图9示出了本申请实施例提出的另一种八点奇数行计算单元的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
通用视频编码变换电路的输入为残差矩阵,残差矩阵是预测值与原始YUV像素相减得到的,因为绝大多数图像都包含有较多的内容变换缓慢的平坦区域,通过变换编码计算可以使图像能量由空间域的分散分布转变为变换域的相对集中的分布:变换后系数中的低频分量集中在块的左上角,高频分量集中在块的右下角。因此,再通过后序的量化和熵编码过程,可以达到进一步去除空间冗余的目的。
从背景技术的介绍中可知,HEVC视频编码计算包括4点DCT-II、8点DCT-II、16点DCT-II、32点DCT-II。VVC视频编码除了HEVC视频编码中所有计算外,还包括64点DCT-II和4点DCT-VIII、8点DCT-VIII、16点DCT-VIII、32点DCT-VIII、4点DST-VII、8点DST-VII、16点DST-VII和32点DST-VII。
总的来说,VVC的变换电路需要支持4点、8点、16点、32点、64点DCT-II,4点、8点、16点、32点DCT-VIII和DST-VII。其中,DCT为离散余弦变换(Discrete Cosine Transform),第二型离散余弦变换(DCT-II)与第八型离散余弦变换(DCT-VIII)相比,对应的变换系数矩阵不同,DST为离散正弦变换(Discrete sine Transform)。VVC的一维DCT-II计算除了增加64点变换,其它与HEVC完全一样。
具体地,本申请根据DCT-II变换系数矩阵的对称性拆解矩阵乘法运算,得到四点偶数行余弦计算单元(EVEN4)、四点奇数行余弦计算单元(ODD4)、八点奇数行余弦计算单元(ODD8)、十六点奇数行余弦计算单元(ODD16)、三十二点奇数行余弦计算单元(ODD32)、六十四点奇数行余弦计算单元(ODD64)。
根据DCT-II变换系数矩阵的包含特性,八点偶数行余弦计算单元(EVEN8)可用EVEN4+ODD4实现,十六点偶数行余弦计算单元(EVEN16)可用EVEN8+ODD8实现,三十二点偶数行余弦计算单元(EVEN32)可用EVEN16+ODD16实现,六十四点偶数行余弦计算单元(EVEN64)可用EVEN32+ODD32实现。
请参见图1,本申请示出一种通用视频编码变换电路包括:八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元、六十四点奇数行计算单元、四点偶数行余弦计算单元、四点奇数行余弦计算单元、变换类型选择端、点数选择端、用于输入残差矩阵及变换系数矩阵的输入端和用于输出视频编码结果的输出端。
其中,所述变换类型选择端用于输入变换类型选择信号,所述点数选择端用于输入点数选择信号,以根据所述变换类型选择信号和所述点数选择信号使所述八点奇数行计算单元、所述十六点奇数行计算单元、所述三十二点奇数行计算单元、所述六十四点奇数行计算单元、所述四点奇数行余弦计算单元和所述四点偶数行余弦计算单元在所述视频编码变换计算时被复用。
本申请提供的通用视频编码电路可以实现VVC视频编码变换,即通用视频编码电路的变换类型选择端输入的变换类型选择信号可以是DCT-II类型选择信号、DST-VII类型选择信号和DCT-VIII类型选择信号中的至少一种,通用视频编码电路的点数选择端输入的点数选择信号可以是四点选择信号、八点选择信号、十六点选择信号、三十二点选择信号和六十四点选择信号中的至少一种。
下面分别举例介绍在VVC视频编码过程中,通用视频编码变换电路各个模块的复用过程:
例如,64点DCT-II的计算过程中,变换类型选择端的类型选择信号为DCT-II,点数选择端的输入的点数选择信号为64点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括六十四点奇数行计算单元和三十二点奇数行计算单元、十六点奇数行计算单元、八点奇数行计算单元、四点奇数行余弦计算单元、四点偶数行余弦计算单元。
32点DCT-II的计算过程中,变换类型选择端的类型选择信号为DCT-II,点数选择端的输入的点数选择信号为32点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括三十二点奇数行计算单元、十六点奇数行计算单元、八点奇数行计算单元、四点奇数行余弦计算单元、四点偶数行余弦计算单元。
16点DCT-II的计算过程中,变换类型选择端的类型选择信号为DCT-II,点数选择端的输入的点数选择信号为16点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括十六点奇数行计算单元、八点奇数行计算单元、四点奇数行余弦计算单元、四点偶数行余弦计算单元。
8点DCT-II的计算过程中,变换类型选择端的类型选择信号为DCT-II,点数选择端的输入的点数选择信号为8点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括八点奇数行计算单元、四点奇数行余弦计算单元、四点偶数行余弦计算单元。
4点DCT-II的计算过程中,变换类型选择端的类型选择信号为DCT-II,点数选择端的输入的点数选择信号为4点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括四点奇数行余弦计算单元、四点偶数行余弦计算单元。
32点DST-VII的计算过程中,变换类型选择端的类型选择信号为DST-VII,点数选择端的输入的点数选择信号为32点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括六十四点奇数行计算单元。
16点DST-VII的计算过程中,变换类型选择端的类型选择信号为DST-VII,点数选择端的输入的点数选择信号为16点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括32点奇数行计算单元。
8点DST-VII的计算过程中,变换类型选择端的类型选择信号为DST-VII,点数选择端的输入的点数选择信号为8点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括16点奇数行计算单元。
4点DST-VII的计算过程中,变换类型选择端的类型选择信号为DST-VII,点数选择端的输入的点数选择信号为4点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括8点奇数行计算单元。
32点DCT-VIII的计算过程中,变换类型选择端的类型选择信号为DCT-VIII,点数选择端的输入的点数选择信号为32点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括六十四点奇数行计算单元。
16点DCT-VIII的计算过程中,变换类型选择端的类型选择信号为DCT-VIII,点数选择端的输入的点数选择信号为16点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括32点奇数行计算单元。
8点DCT-VIII的计算过程中,变换类型选择端的类型选择信号为DCT-VIII,点数选择端的输入的点数选择信号为8点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括16点奇数行计算单元。
4点DCT-VIII的计算过程中,变换类型选择端的类型选择信号为DCT-VIII,点数选择端的输入的点数选择信号为4点,根据类型选择信号和点数选择信号确定所需要用到的计算单元包括8点奇数行计算单元。
在具体的视频编码过程中,根据类型选择信号和点数选择信号确定好所需要用到的计算单元后,可获取输入端的残差矩阵及变换系数矩阵输入以上确定好的计算单元进行相应的计算,得到视频编码结果输出到输出端,不同的变换类型对应不同的变换系数矩阵。
进一步的,通用视频编码变换电路中,所述八点奇数行计算单元、所述十六点奇数行计算单元、所述三十二点奇数行计算单元和所述六十四点奇数行计算单元均包括多个四点奇数行计算单元,所述四点奇数行计算单元包括多个选择器,所述选择器的一端用于接收所述变换类型选择信号。
进一步的,八点奇数行计算单元包括4个四点奇数行计算单元,十六点奇数行计算单元包括8个四点奇数行计算单元,三十二点奇数行计算单元包括16个四点奇数行计算单元,六十四点奇数行计算单元包括32个四点奇数行计算单元。
进一步的,四点奇数行计算单元除了包括多个选择器以外,还包括:多个第一减法器、多个第一乘法器和多个第一加法器;每一个所述第一减法器用于对所述残差矩阵的两个残差元素做第一减法运算,并将所述第一减法运算的结果输入至相应的选择器;每一个所述第一乘法器用于对相应的所述选择器输出的选择结果和所述变换系数矩阵的系数值做第一乘法运算;每一个所述第一加法器用于对两个所述第一乘法运算的相乘结果做第一加法运算。
示范性的,以4*4的残差矩阵的DCT-II变换为例,已知DCT-II变换的变换系数矩阵若输入的残差矩阵为/>二维DCT-II变换计算公式为Y=AXA’=(X’A’)’A’,则一维行变换和一维列变换统一为X’A’的矩阵乘法形式,可以分时复用相同的电路,所以只用设计一维变换的电路即可。矩阵乘法结果的第0行的y0、y1、y2和y3分别为y0=64(x0+x3)+64(x1+x2),y1=83(x0-x3)+36(x1-x2),y2=64(x0+x3)-64(x1+x2),y3=36(x0-x3)-83(x1-x2);把x0~x3替换为x4~x7、x8~x11、x12~x15即可得到第1~3行的结果。
基于上述变换计算公式,为了使八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元和六十四点奇数行计算单元可以执行DCT-II、DST-VII和DCT-VIII中的任一种变换,本申请的一个实施例,请参见图2,提出一种由4个第一减法器(J11、J12、J13、J14)、4个选择器(Xz1、Xz2、Xz3、Xz4)、4个第一乘法器(X11、X12、X13、X14)和2个第一加法器(G11和G12)组成的四点奇数行计算单元。
进一步的,考虑到图2所示的第一个第一减法器J11和第三个第一减法器J13输入的残差元素相同,第二个第一减法器J12和第四个第一减法器J14输入的残差元素相同,因此,可以减少第一减法器的使用。
示例性的,请参见图3,本申请的一个实施例,提出一种由2个第一减法器(J11、J12)、4个选择器(Xz1、Xz2、Xz3、Xz4)、4个第一乘法器(X11、X12、X13、X14)和2个第一加法器(G11和G12)组成的四点奇数行计算单元。
具体地,每一个四点奇数行计算单元中的每一个选择器包括变换类型选择端(is-dct2),每一选择器用于根据变换类型选择端(is-dct2)接收的变换类型选择信号控制选择器的输出端输出选择器的第一接收端接收的信息或者选择器的第二接收端接收的信息,并且每一个乘法器根据另一个输入端接收的变换矩阵系数值进行相应的变换类型的变换计算。
例如,当图3中的变换类型选择端(is_dct2)输入的变换类型选择信号为1时,Xz1和Xz3的输出端输出各自的第一接收端1接收的信息(即x0和x3之差),Xz2和Xz4的输出端输出各自的第一接收端1接收的信息(即x1和x2之差),以基于各个选择器的输出端的输出信息和输入的变换矩阵系数进行DCT-II变换;当变换类型选择端(is_dct2)输入的变换类型选择信号为0时,Xz1和Xz3的输出端输出各自的第二接收端0接收的信息(即x0),Xz2和Xz4的输出端输出各自的第二接收端0接收的信息(即x1),以基于各个选择器的输出端的输出信息和输入的变换矩阵系数进行DST-VII变换和/或DCT-VIII变换。
基于上述变换计算公式,本申请的一个实施例,请参见图4,提出一种四点偶数行余弦计算单元包括2个第二加法器(G21和G22)、2个第二乘法器(X21和X22)、1个第三加法器G31和1个第二减法器J21,以用于执行上述计算中的偶数行余弦变换,即y0=64(x0+x3)+64(x1+x2)和y2=64(x0+x3)-64(x1+x2)。
其中,每一个所述第二加法器用于对所述残差矩阵的两个残差元素做第二加法运算;每一个所述第二乘法器用于对相应的所述第二加法器输出的所述第二加法运算的结果和所述变换系数矩阵的系数值做第二乘法运算;所述第三加法器用于对两个所述第二乘法运算的相乘结果做第三加法运算;所述第二减法器用于对两个所述第二乘法运算的相乘结果做第二减法运算。
基于上述变换计算公式,本申请实施例,提出一种四点奇数行余弦计算单元包括多个第四加法器、多个第三乘法器和多个第三减法器;每一个所述第三减法器用于对所述残差矩阵的两个残差元素第三减法运算;每一个所述第三乘法器用于对相应的所述第三减法器输出的所述第三减法运算的结果和所述变换系数矩阵的系数值做第三乘法运算;每一个所述第四加法器用于对两个所述第三乘法运算的相乘结果做第四加法运算。
示例性的,请参见图5,四点奇数行余弦计算单元由2个第四加法器(G41和G42)、4个第三乘法器(X31、X32、X33、X34)和4个第三减法器(J31、J32、J33、J34)组成,以用于执行上述计算中的奇数行余弦变换,即y1=83(x0-x3)+36(x1-x2)和y3=36(x0-x3)-83(x1-x2)。
进一步的,考虑到图5所示的第一个第三减法器J31和第三个第三减法器J33输入的残差元素相同,第二个第三减法器J32和第四个第三减法器J34输入的残差元素相同,可以减少第三减法器的使用。因此,本申请的一个实施例,请参见图6,提出一种四点奇数行余弦计算单元还可以由2个第四加法器(G41和G42)、4个第三乘法器(X31、X32、X33、X34)和2个第三减法器(J31、J32)组成,以用于执行上述计算中的奇数行余弦变换,即y1=83(x0-x3)+36(x1-x2)和y3=36(x0-x3)-83(x1-x2)。
可以理解,本申请通过八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元和六十四点奇数行计算单元中的选择器,实现八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元和六十四点奇数行计算单元可以选择性的进行DCT-II、DST-VII和DCT-VIII中的任意一种变换,可以在原有HEVC的DCT-II电路的基础上进行修改,电路修改非常简单,不需要修改原有HEVC的DCT-II电路的乘法器、加法器和输出通路。
需要说明的是,在所述四点奇数行计算单元中:每一个乘法器的另一个输入端接收的变换矩阵系数值随着所述变换类型的变化而变化。
示范性的,已知8点DCT-II的变换系数矩阵为:
对比A4和A8可知,A8偶数行的前4列合起来即等于A4,第0行和第4行的后4列与前4列相等,第2行和第6行的后4列数字与前4列一样,符号相反。
由此,四点偶数行余弦计算单元(EVEN4)和四点奇数行余弦计算单元(ODD4)可用于对8*8的残差矩阵的偶数行进行DCT-II变换,即可以将两个四点偶数行余弦计算单元(EVEN4)和两个四点奇数行余弦计算单元(ODD4)组成八点偶数行余弦计算单元(EVEN8),即8*8的残差矩阵的第一个偶数行对应的y0=64(x0+x3)+64(x1+x2)+64(x4+x7)+64(x5+x6),8*8的残差矩阵的第二个偶数行对应的y2=83(x0-x3)+36(x1-x2)+83(x4-x7)+36(x5-x6),8*8的残差矩阵的第三个偶数行对应的y4=64(x0+x3)-64(x1+x2)+64(x4+x7)-64(x5+x6),8*8的残差矩阵的第四个偶数行对应的y6=36(x0-x3)-83(x1-x2)+36(x4-x7)-83(x5-x6),具体的电路如图7所示。
进一步的,请参见图8,由4个四点奇数行计算单元(ODD4')组成的八点奇数行计算单元可对8*8的残差矩阵的奇数行进行DCT-II变换,还可以对8*8的残差矩阵的奇数行进行DCT-VIII变换,还可以对8*8的残差矩阵的奇数行进行DST-VII变换。
可以理解,由于y1和y5对应的输入相同,由于y3和y7对应的输入相同,因此,y5对应的四点奇数行计算单元(ODD4')可以复用y1的四点奇数行计算单元(ODD4')的减法器,y7对应的四点奇数行计算单元(ODD4')可以复用y3的四点奇数行计算单元(ODD4')的减法器,y5和y7对应的四点奇数行计算单元(ODD4')中可以省去两个减法器,省去减法器的四点奇数行计算单元可以表示为ODD4”,如图9所示。
以DCT-II变换为例,八点奇数行计算单元与四点奇数行计算单元中的DCT-II变换的变换矩阵系数值不同,比如,原始四点奇数行计算单元的DCT-II变换的变换系数值为[83,36,36,-83],而在八点奇数行计算单元中,左边两个四点奇数行计算单元的输入系数矩阵应该是[89,75,75,18]和[50,18,-89,-50],右边两个四点奇数行计算单元的输入系数矩阵应该是[50,-89,18,-50]和[18,75,75,-89]。
需要说明的是,由于八点奇数行计算单元具有八点奇数行余弦计算单元(ODD8)的功能,基于图7所示的八点偶数行余弦计算单元(EVEN8)和图8(或图9)所示的八点奇数行计算单元可以实现十六点偶数行余弦计算单元(EVEN16)的功能;同样的,十六点偶数行余弦计算单元(EVEN16)和十六点奇数行计算单元可以实现三十二点偶数行余弦计算单元(EVEN32)的功能;三十二点偶数行余弦计算单元(EVEN32)和三十二点奇数行计算单元可以实现六十四点偶数行余弦计算单元(EVEN64)的功能。
需要说明的是,图8(或图9)所示的八点奇数行计算单元用于计算4点DST-VII时,左边两个ODD4'计算上两行,输入变换系数矩阵应该为[29,55,74,74]和[74,84,0,-74],右边两个ODD4'(或ODD4”)计算下两行,输入变换系数矩阵应该为[84,-29,55,-84]和[-74,55,74,-29];同样,计算4点DCT-VIII时,左边两个ODD4'的输入变换系数矩阵应该是[84,74,74,0]和[55,29,-74,-74],右边两个ODD4'(或ODD4”)输入系数矩阵应该是[55,-74,29,-74]和[-29,84,84,-55]。
同理可得,32点DCT-VIII/DST-VII可以复用六十四点奇数行计算单元,16点DCT-VIII/DST-VII可以复用三十二点奇数行计算单元,8点DCT-VIII/DST-VII可以复用十六点奇数行计算单元。
可以理解,本申请提供的通用视频编码变换电路,包括八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元、六十四点奇数行计算单元、四点奇数行余弦计算单元和四点偶数行余弦计算单元,变换类型选择端、点数选择端、用于输入残差矩阵及变换系数矩阵的输入端和用于输出视频编码结果的输出端;变换类型选择端用于输入变换类型选择信号,所述点数选择端用于输入点数选择信号,以根据变换类型选择信号和点数选择信号实现八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元、六十四点奇数行计算单元、四点奇数行余弦计算单元和四点偶数行余弦计算单元在所述视频编码变换计算时被复用。本申请通过在原有HEVC的DCT-II电路的基础上进行修改得到视频编码电路,在此电路上可实现通用视频编码变换,该电路设计简单,易于实现,研发成本低。
进一步的,本申请提出一种通用视频编码设备,包括本申请上述实施例中所述的通用视频编码变换电路。
在本申请所提供的几个实施例中,应该理解到,所揭露的电路和设备,也可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,附图中的结构图显示了根据本发明的多个实施例的产品的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。也要注意的是,结构图的每个方框、以及结构图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种通用视频编码变换电路,其特征在于,所述变换电路包括:
八点奇数行计算单元、十六点奇数行计算单元、三十二点奇数行计算单元、六十四点奇数行计算单元、四点奇数行余弦计算单元、四点偶数行余弦计算单元、变换类型选择端、点数选择端、用于输入残差矩阵及变换系数矩阵的输入端和用于输出视频编码结果的输出端;
所述变换类型选择端用于输入变换类型选择信号,所述点数选择端用于输入点数选择信号,以根据所述变换类型选择信号和所述点数选择信号使所述八点奇数行计算单元、所述十六点奇数行计算单元、所述三十二点奇数行计算单元、所述六十四点奇数行计算单元、所述四点奇数行余弦计算单元和所述四点偶数行余弦计算单元在所述视频编码变换计算时被复用。
2.根据权利要求1所述的通用视频编码变换电路,其特征在于,所述八点奇数行计算单元、所述十六点奇数行计算单元、所述三十二点奇数行计算单元和所述六十四点奇数行计算单元均包括多个四点奇数行计算单元,所述四点奇数行计算单元包括多个选择器,所述选择器的一端用于接收所述变换类型选择信号。
3.根据权利要求2所述的通用视频编码变换电路,其特征在于,所述八点奇数行计算单元包括4个所述四点奇数行计算单元,所述十六点奇数行计算单元包括8个所述四点奇数行计算单元,所述三十二点奇数行计算单元包括16个所述四点奇数行计算单元,所述六十四点奇数行计算单元包括32个所述四点奇数行计算单元。
4.根据权利要求2所述的通用视频编码变换电路,其特征在于,四点奇数行计算单元还包括:多个第一减法器、多个第一乘法器和多个第一加法器;
每一个所述第一减法器用于对所述残差矩阵的两个残差元素做第一减法运算,并将所述第一减法运算的结果输入至相应的选择器;
每一个所述第一乘法器用于对相应的所述选择器输出的选择结果和所述变换系数矩阵的系数值做第一乘法运算;
每一个所述第一加法器用于对两个所述第一乘法运算的相乘结果做第一加法运算。
5.根据权利要求4所述的通用视频编码变换电路,其特征在于,所述四点奇数行计算单元包括2个第一减法器、4个选择器、4个第一乘法器和2个第一加法器。
6.根据权利要求4所述的通用视频编码变换电路,其特征在于,所述四点奇数行计算单元包括4个第一减法器、4个选择器、4个第一乘法器和2个第一加法器。
7.根据权利要求1所述的通用视频编码变换电路,其特征在于,所述四点偶数行余弦计算单元包括2个第二加法器、2个第二乘法器、1个第三加法器和1个第二减法器;
每一个所述第二加法器用于对所述残差矩阵的两个残差元素做第二加法运算;
每一个所述第二乘法器用于对相应的所述第二加法器输出的所述第二加法运算的结果和所述变换系数矩阵的系数值做第二乘法运算;
所述第三加法器用于对两个所述第二乘法运算的相乘结果做第三加法运算;
所述第二减法器用于对两个所述第二乘法运算的相乘结果做第二减法运算。
8.根据权利要求1所述的通用视频编码变换电路,其特征在于,所述四点奇数行余弦计算单元包括多个第四加法器、多个第三乘法器和多个第三减法器;
每一个所述第三减法器用于对所述残差矩阵的两个残差元素第三减法运算;
每一个所述第三乘法器用于对相应的所述第三减法器输出的所述第三减法运算的结果和所述变换系数矩阵的系数值做第三乘法运算;
每一个所述第四加法器用于对两个所述第三乘法运算的相乘结果做第四加法运算。
9.根据权利要求1至8任一项所述的通用视频编码变换电路,其特征在于,所述变换类型选择信号包括DCT-II类型选择信号、DST-VII类型选择信号和DCT-VIII类型选择信号中的至少一种;
所述点数选择信号包括四点选择信号、八点选择信号、十六点选择信号、三十二点选择信号和六十四点选择信号中的至少一种。
10.一种通用视频编码设备,其特征在于,包括权利要求1至9任一项所述的通用视频编码变换电路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111435475.XA CN114125461B (zh) | 2021-11-29 | 2021-11-29 | 通用视频编码变换电路和通用视频编码设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111435475.XA CN114125461B (zh) | 2021-11-29 | 2021-11-29 | 通用视频编码变换电路和通用视频编码设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114125461A CN114125461A (zh) | 2022-03-01 |
CN114125461B true CN114125461B (zh) | 2023-07-14 |
Family
ID=80371495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111435475.XA Active CN114125461B (zh) | 2021-11-29 | 2021-11-29 | 通用视频编码变换电路和通用视频编码设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114125461B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102714714A (zh) * | 2009-06-24 | 2012-10-03 | 高通股份有限公司 | 用于媒体数据译码的8点变换 |
CN102857756A (zh) * | 2012-07-19 | 2013-01-02 | 西安电子科技大学 | 适于hevc标准的变换编码器 |
CN107027039A (zh) * | 2017-04-14 | 2017-08-08 | 西安电子科技大学 | 基于高效视频编码标准的离散余弦变换实现方法 |
WO2020071736A1 (ko) * | 2018-10-01 | 2020-04-09 | 엘지전자 주식회사 | 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치 |
CN113170179A (zh) * | 2018-12-21 | 2021-07-23 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法和解码方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001346213A (ja) * | 2000-06-02 | 2001-12-14 | Nec Corp | 離散コサイン変換装置及びその離散コサイン変換方法 |
WO2019235491A1 (ja) * | 2018-06-08 | 2019-12-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置、復号装置、符号化方法及び復号方法 |
WO2020013514A1 (ko) * | 2018-07-08 | 2020-01-16 | 엘지전자 주식회사 | 비디오 신호를 처리하기 위한 방법 및 장치 |
-
2021
- 2021-11-29 CN CN202111435475.XA patent/CN114125461B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102714714A (zh) * | 2009-06-24 | 2012-10-03 | 高通股份有限公司 | 用于媒体数据译码的8点变换 |
CN102857756A (zh) * | 2012-07-19 | 2013-01-02 | 西安电子科技大学 | 适于hevc标准的变换编码器 |
CN107027039A (zh) * | 2017-04-14 | 2017-08-08 | 西安电子科技大学 | 基于高效视频编码标准的离散余弦变换实现方法 |
WO2020071736A1 (ko) * | 2018-10-01 | 2020-04-09 | 엘지전자 주식회사 | 비디오 신호의 부호화/복호화 방법 및 이를 위한 장치 |
CN113170179A (zh) * | 2018-12-21 | 2021-07-23 | 松下电器(美国)知识产权公司 | 编码装置、解码装置、编码方法和解码方法 |
Non-Patent Citations (1)
Title |
---|
H.264/AVC标准中关键技术的研究;杨奇泽;《中国优秀硕士论文电子期刊》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114125461A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4924904B2 (ja) | データフレームのシーケンスの効率的な符号化/復号 | |
RU2413983C2 (ru) | Обратимое преобразование для сжатия двумерных данных с потерями и без потерь | |
KR20140053155A (ko) | 낮은 지연을 갖는 영상 부호화를 위한 모드 종속 변환 | |
JP2014509108A (ja) | メディアデータコーディングのための32点変換 | |
US8254700B1 (en) | Optimized method and system for entropy coding | |
JP3902990B2 (ja) | アダマール変換処理方法及びその装置 | |
CN104244010B (zh) | 提高数字信号变换性能的方法及数字信号变换方法和装置 | |
CN111836050A (zh) | 一种视频编码中绝对变换差和的计算方法及装置 | |
TWI412281B (zh) | A Method of Calculating Reverse Conversion of Low Complexity | |
CN114125461B (zh) | 通用视频编码变换电路和通用视频编码设备 | |
CN114007079A (zh) | 变换电路、方法、装置和编码器 | |
US20030133507A1 (en) | Adaptive inverse transformation device | |
US9819969B2 (en) | Generalization of methods and systems for image compression while encoding at least one extra bit | |
WO2020060832A1 (en) | Fast implementation of odd one dimensional transforms | |
JPH10283343A (ja) | データ処理方法 | |
CN101562744B (zh) | 二维反变换装置 | |
KR20180018253A (ko) | 웨이블릿 변환 매트릭스의 적응 정밀도 및 정량화 | |
CN114554225B (zh) | 图像编码方法、装置、设备及计算机可读介质 | |
JP5546329B2 (ja) | データ変換装置 | |
JP4266512B2 (ja) | データ処理装置 | |
CN113068033B (zh) | 一种多媒体的反量化处理方法、装置、设备及存储介质 | |
JP2003030174A (ja) | Dct行列分解方法及びdct装置 | |
Vayalil et al. | An efficient ASIC design of variable-length discrete cosine transform for HEVC | |
JP5451171B2 (ja) | データ変換処理装置およびデータ変換処理方法 | |
WO2009095959A1 (ja) | 直交変換装置および集積回路 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |