CN105430419B - 一种适用于hevc标准的基于脏位的两级dct系数存储方法 - Google Patents
一种适用于hevc标准的基于脏位的两级dct系数存储方法 Download PDFInfo
- Publication number
- CN105430419B CN105430419B CN201510787966.9A CN201510787966A CN105430419B CN 105430419 B CN105430419 B CN 105430419B CN 201510787966 A CN201510787966 A CN 201510787966A CN 105430419 B CN105430419 B CN 105430419B
- Authority
- CN
- China
- Prior art keywords
- data
- high position
- dirty
- sign bit
- counter
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明属于高清数字视频压缩编解码技术领域,具体为一种适用于HEVC标准的基于脏位的两级DCT系数存储方法。本发明将DCT系数分成三个部分:符号位、高位数据和低位数据,并将数据位的较高部分划归为高位数据,剩余比特划归为低位数据;同时采用SRAM作为存储层次中的第一级,用来存储符号位、低位数据和表征该高位是否涵盖信息的脏位;采用寄存器作为存储层次中的第二级,用来存储一些需要存储的高位数据;并且使用计数器推算高位指针并进行索引。本发明通过层次化的存储策略减少硬件代价。
Description
技术领域
本发明属于高清数字视频压缩编解码技术领域,具体为一种适用于HEVC标准中基于脏位的两级DCT系数存储方法。
背景技术
HEVC(High Efficiency Video Coding)是由国际电信组织(ITU)和运动图像专家组(MPEG)联合成立的组织JCTVC提出的下一代视频编解码标准。目标是在相同的视觉效果的前提下,相比于上一代标准,即H.264/AVC标准,压缩率提高一倍。
基于HEVC的视频编码器,主要由以下模块组成:帧内预测、帧间预测、变换、量化、反量化、反变换、重建、去方块滤波器、自适应样点补偿等。其中,离散余弦变换(DCT)是编码器必不可少的一部分,负责集中残差数据的能量,以供随后的量化和熵编码。由于HEVC标准下图像处理块的大小已经到达了64×64,离散余弦变换(DCT)处理块的大小也到达了32×32。这使得常用的行列变换架构中所需要的转置存储器变得异常庞大,如图1所示。对于如此庞大的存储需求,传统的基于寄存器的和基于静态随机存储器的存储方式已经变得不再适用。
发明内容
本发明的目的在于提出一种可以克服现有技术不足的、能有效适用于HEVC标准中基于脏位的两级离散余弦变换(DCT)系数存储方法。
本发明提出的适用于HEVC标准的两级离散余弦变换(DCT)系数存储方法,是基于脏位的存储方法。具体步骤为:
首先,将离散余弦变换(DCT)系数(以下简称系数),分成三个部分:符号位,高位数据和低位数据。在补码表示的方式下,HEVC标准中的系数可以用16比特表示。其中,最高位是符号位,剩余比特是数据位。而更进一步地本发明将数据位的较高部分划归为高位数据,剩余比特划归为低位数据。具体的划分方法可以选择不同的比重,如图2所示的将高11位划为高位数据,低4位划为低位数据。
接着,采用静态随机访问存储器(SRAM)作为存储层次中的第一级,这一级用来存储符号位、低位数据和表征该高位是否涵盖信息的脏位;采用寄存器作为存储层次中的第二级,这一级用来存储一些需要存储的高位数据。
此处,是否涵盖信息取决于该高位内的所有比特是否都等于符号位。在补码表示下,如果一个数接近于0,那么该数较高几个比特都将是符号位的扩展。而残差经过离散余弦变换(DCT)之后,大量的数据都将接近于0。对于这些数,只要知道了其符号位,就可以得到高位数据,因此,它们是不涵盖信息的。本发明约定在这种情况下,脏位无效,等于某个特定值,如0。那么,当脏位等于0时,高位数据就是符号位的扩展。而对于涵盖信息的高位数据,则他们将通过第二级存储层次,即寄存器存储,并且使用计数器推算高位指针并进行索引。以上描述的存储层次如图3所示。
为了简单地建立索引关系,本发明采用(但不仅限于)计数器。在建立索引关系时,硬件可以使用一个计数器计数需要存储的高位数据的数目。该计数器从0开始记录,当且仅当一个新的需要存储的高位数据出现,硬件处理器就将该数据存储于当前计数器所对应的寄存器中,脏位置为1,接着计数器自增1。
本发明通过层次化的存储策略减少硬件代价。
附图说明
图1:离散余弦变换(DCT)与转置存储器。
图2:对于系数的划分。
图3:两级存储策略图示。
具体实施方式
下面通过实施例,进一步具体描述本发明方法。
假设当前需要存储的16×16系数矩阵如下表所示,且按照光栅顺序存储。
那么,本发明将有如下写入过程:
初始情况下,所有静态随机存储器(SRAM)和寄存器的存储空间都是0,计数器是0。
对于第0行第0列的系数24,它所对应的二进制补码是0000_0000_0001_1000,其中,符号位为0,高位数据为000_0000_0001,低位数据为1000。由于高位数据不是符号位的扩展,因此,高位数据被存储在0号寄存器中;符号位0,脏位1和低位数据1000被存储在静态随机存储器(SRAM)的0地址中;计数器随后自增1,变为1。
对于第0行第1列的系数2,它所对应的二进制补码是0000_0000_0000_0010,其中,符号位为0,高位数据为000_0000_0000,低位数据为0010。由于高位数据是符号位的扩展,因此,不需要存储高位数据;符号位0,脏位0和低位数据0010被存储在静态随机存储器(SRAM)的1地址中;计数器不变。
对于第0行第2列的系数-7,它所对应的二进制补码是1111_1111_1111_1001,其中,符号位为1,高位数据为111_1111_1111,低位数据为1001。由于高位数据是符号位的扩展,因此,不需要存储高位数据;符号位1,脏位0和低位数据1001被存储在静态随机存储器(SRAM)的1地址中;计数器不变。
对于第0行第3列的系数-1,它所对应的二进制补码是1111_1111_1111_1111,其中,符号位为1,高位数据为111_1111_1111,低位数据为1111。由于高位数据是符号位的扩展,因此,不需要存储高位数据;符号位1,脏位0和低位数据1111被存储在静态随机存储器(SRAM)的3地址中;计数器不变。
……。
对于第1行第0列的系数7,它所对应的二进制补码是0000_0000_0000_0111,其中,符号位为0,高位数据为000_0000_0000,低位数据为0111。由于高位数据是符号位的扩展,因此,不需要存储高位数据;符号位0,脏位0和低位数据0111被存储在静态随机存储器(SRAM)的16地址中;计数器不变。
对于第1行第1列的系数-17,它所对应的二进制补码是1111_1111_1110_1111,其中,符号位为1,高位数据为111_1111_1110,低位数据为1111。由于高位数据不是符号位的扩展,因此,高位数据被存储在1号寄存器中;符号位1,脏位1和低位数据1111被存储在静态随机存储器(SRAM)的17地址中;计数器随后自增1,变为2。
对于第1行第2列的系数21,它所对应的二进制补码是0000_0000_0001_0101,其中,符号位为0,高位数据为000_0000_0001,低位数据为0101。由于高位数据不是符号位的扩展,因此,高位数据被存储在2号寄存器中;符号位0,脏位1和低位数据0101被存储在静态随机存储器(SRAM)的18地址中;计数器随后自增1,变为3。
……。
本发明将有如下读出过程:
对于第0行第0列的系数24,它被存储在静态随机存储器(SRAM)的0地址,符号位是0,脏位是1,低位数据是1000;由于脏位是1,因此,高位数据被存储在当前计数器所对应的寄存器,即,0号寄存器,内容是000_0000_0001。所以,最后的值是0_000_0000_0001_1000,也就是24,接着计数器,即高位数据的索引指针,自增1,变为1。
对于第0行第1列的系数2,它被存储在静态随机存储器(SRAM)的1地址,符号位是0,脏位是0,低位数据是0010;由于脏位是0,因此,高位数据就是符号位的扩展,也就是000_0000_0000。所以,最后的值是0_000_0000_0000_0010,也就是2。
对于第0行第2列的系数-7,它被存储在静态随机存储器(SRAM)的2地址,符号位是1,脏位是0,低位数据是1001;由于脏位是0,因此,高位数据就是符号位的扩展,也就是111_1111_1111。所以,最后的值是1_111_1111_1111_1001,也就是-7。
对于第0行第3列的系数-1,它被存储在静态随机存储器(SRAM)的3地址,符号位是1,脏位是0,低位数据是1111;由于脏位是0,因此,高位数据就是符号位的扩展,也就是111_1111_1111。所以,最后的值是1_111_1111_1111_1111,也就是-1。
……。
对于第1行第0列的系数7,它被存储在静态随机存储器(SRAM)的16地址,符号位0,脏位是0,低位数据是0111;由于脏位是0,因此,高位数据就是符号位的扩展,也就是000_0000_0000。所以,最后的值是0_000_0000_0000_0000,也就是7。
对于第1行第1列的系数-17,它被存储在静态随机存储器(SRAM)的17地址,符号位1,脏位是1,低位数据是1111;由于脏位是1,因此,高位数据被存储在当前计数器所对应的寄存器,即,1号寄存器,内容是111_1111_1110。所以,最后的值是1_111_1111_1110_1111,也就是-17,变为2。
对于第1行第2列的系数21,它被存储在静态随机存储器(SRAM)的18地址,符号位0,脏位是1,低位数据是0101;由于脏位是1,因此,高位数据被存储在当前计数器所对应的寄存器,即,2号寄存器,内容是000_0000_0001。所以,最后的值是0_000_0000_0001_0101,也就是21,变为3。
……。
Claims (2)
1.一种适用于HEVC标准的基于脏位的两级DCT系数存储方法,其特征在于具体步骤为:
首先,将DCT系数分成三个部分:符号位、高位数据和低位数据;在补码表示的方式下,HEVC标准中的系数用16比特表示,其中,最高位是符号位,剩余比特是数据位;现将数据位的较高部分划归为高位数据,剩余比特划归为低位数据;
接着,采用SRAM作为存储层次中的第一级,用来存储符号位、低位数据和表征该高位是否涵盖信息的脏位;采用寄存器作为存储层次中的第二级,用来存储一些需要存储的高位数据;
当脏位等于0即脏位无效时,高位数据就是符号位的扩展;而对于涵盖信息的高位数据,则通过第二级存储层次即寄存器存储,并且使用计数器推算高位数据的索引指针并进行索引。
2.根据权利要求1所述的适用于HEVC标准的基于脏位的两级DCT系数存储方法,其特征在于,在建立索引关系时,硬件使用一个计数器计数需要存储的高位数据的数目,该计数器从0开始记录,当且仅当一个新的需要存储的高位数据出现,硬件处理器就将该数据存储于当前计数器所对应的寄存器中,脏位置为1,接着计数器自增1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510787966.9A CN105430419B (zh) | 2015-11-17 | 2015-11-17 | 一种适用于hevc标准的基于脏位的两级dct系数存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510787966.9A CN105430419B (zh) | 2015-11-17 | 2015-11-17 | 一种适用于hevc标准的基于脏位的两级dct系数存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105430419A CN105430419A (zh) | 2016-03-23 |
CN105430419B true CN105430419B (zh) | 2018-12-11 |
Family
ID=55508304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510787966.9A Active CN105430419B (zh) | 2015-11-17 | 2015-11-17 | 一种适用于hevc标准的基于脏位的两级dct系数存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105430419B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110058A (zh) * | 2009-12-25 | 2011-06-29 | 上海芯豪微电子有限公司 | 一种低缺失率、低缺失惩罚的缓存方法和装置 |
CN103327331A (zh) * | 2013-06-18 | 2013-09-25 | 复旦大学 | 一种hevc标准中8×8dct变换的实现方法 |
CN104253998A (zh) * | 2014-09-25 | 2014-12-31 | 复旦大学 | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003199019A (ja) * | 2001-12-26 | 2003-07-11 | Sony Corp | 撮像装置および方法、記録媒体、並びにプログラム |
-
2015
- 2015-11-17 CN CN201510787966.9A patent/CN105430419B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102110058A (zh) * | 2009-12-25 | 2011-06-29 | 上海芯豪微电子有限公司 | 一种低缺失率、低缺失惩罚的缓存方法和装置 |
CN103327331A (zh) * | 2013-06-18 | 2013-09-25 | 复旦大学 | 一种hevc标准中8×8dct变换的实现方法 |
CN104253998A (zh) * | 2014-09-25 | 2014-12-31 | 复旦大学 | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 |
Non-Patent Citations (3)
Title |
---|
"The use of WAGA to search the best polarity of XNOR/OR logic";Lu Jin-gang; Wang Peng-jun; Zeng Xiao-yang;《IEEE Conferences》;20071231;全文 * |
"一个并行的三维DCT硬件核的设计";代镭,罗玉平,施业斌,陈海涛,尹杜广;《通信技术》;20031102;全文 * |
"基于H.264的复杂度可分级的DCT算法研究";张淑芳,李华,刘义明,刘亚欣;《电子测量技术》;20090130;第32卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105430419A (zh) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI536811B (zh) | 影像處理方法與系統、解碼方法、編碼器與解碼器 | |
CN107710761B (zh) | 图像预测方法和相关设备 | |
CA2797569C (en) | Method and device for video predictive encoding | |
JP5815853B2 (ja) | ビデオコーディングにおける量子化マトリクスに従うトランスフォームブロック処理の方法及びシステム | |
CN111405287B (zh) | 色度块的预测方法和装置 | |
WO2020103800A1 (zh) | 视频解码方法和视频解码器 | |
US8565312B2 (en) | Image processing method and image information coding apparatus using the same | |
US20140010469A1 (en) | Picture encoding and decoding method, picture encoding and decoding device and network system | |
US20240107050A1 (en) | Image coding/decoding method, coder, decoder, and storage medium | |
CN103618898A (zh) | 一种支持随机访问的复杂度图像无损压缩方法 | |
CN104253998A (zh) | 一种适用于hevc标准的去方块效应滤波器的硬件片上存储方法 | |
US8325798B1 (en) | Adaptive motion estimation cache organization | |
WO2020140215A1 (zh) | 色度帧内预测方法和装置、及计算机存储介质 | |
CN105376581B (zh) | 一种适用于hevc标准的基于指针的两级dct系数存储方法 | |
CN105430419B (zh) | 一种适用于hevc标准的基于脏位的两级dct系数存储方法 | |
US8837585B2 (en) | Tertiary content addressable memory based motion estimator | |
CN110225344A (zh) | 一种适用于hevc标准中的有损压缩方法 | |
CN105376586A (zh) | 一种适用于hevc标准中整数运动估计的三级流水线硬件架构 | |
CN104602026B (zh) | 一种适用于hevc标准下编码器中全复用的重建环路结构 | |
CN104363455A (zh) | 一种适用于hevc标准中帧内预测的参考像素的硬件片上存储方法 | |
US10085016B1 (en) | Video prediction cache indexing systems and methods | |
Sanghvi | 2D cache architecture for motion compensation in a 4K ultra-HD AVC and HEVC video codec system | |
CN105376582B (zh) | 适用于hevc标准的基于sram的dct输入输出数据缓存方法 | |
US20130127887A1 (en) | Method for storing interpolation data | |
CN110662079B (zh) | 一种基于h.265hevc帧内预测的参考像素片上存储方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |