CN107241602B - 一种应用于JPEG2000的Tier1接口设计方法 - Google Patents
一种应用于JPEG2000的Tier1接口设计方法 Download PDFInfo
- Publication number
- CN107241602B CN107241602B CN201710373129.0A CN201710373129A CN107241602B CN 107241602 B CN107241602 B CN 107241602B CN 201710373129 A CN201710373129 A CN 201710373129A CN 107241602 B CN107241602 B CN 107241602B
- Authority
- CN
- China
- Prior art keywords
- cxd
- write
- fifo
- context
- encoder
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明涉及一种应用于JPEG2000的Tier1接口设计方法,设置三个MQ编码器,在BPC编码器输出之前根据通道属性对混在在一起的上下文判决对CXD进行区分,被分开的上下文判决对CXD将根据各自的通道属性,并行的进入对应的接口,分别输入到3个MQ编码器;每个编码器单独进行一种编码通道的上下文判决对CXD编码工作;BPC编码器产生的上下文判决对CXD是不连续的,多个有效值之间会夹杂一部分无效值,设计一种重排电路来对输出的上下文判决对CXD重新排序,将上下文判决对CXD当中的有效值与无效值区分开。
Description
技术领域
本发明属于图像压缩编码领域,涉及静态图像压缩标准JPEG2000。
背景技术
图像信息是人类社会信息组成部分当中极为重要的一部分,有统计表明,一个人一生大概有75%的信息是由视觉获得的,因此图像处理技术的研究一直以来是一个热门领域。图像压缩技术是图像处理领域的一个重要研究课题。在不影响图像信息获取的前提下,对原始图像进行一定程度的压缩,去除冗余信息,可以节省大量的传输资源以及存储资源。
JPEG2000是国际标准化组织(ISO)于2000年发布的新一代静态图像压缩标准。该标准在原有JPEG标准的基础上,采用了DWT(离散小波变换)和EBOCT(最优截断嵌入式块编码)两种新的技术,因此具有:(1)在低码率下保持着较高的压缩质量;(2)具有良好的容错纠错能力;(3)支持“感兴趣区域”(ROI);(4)支持渐进传输等优点,但编码复杂程度也随之上升,其中EBOCT(最优截断嵌入式块编码)部分的编码占据整体编码时间的80%以上,复杂度也较高,是当前JPEG2000算法结构优化的主要关注点。
EBOCT(最优截断嵌入式块编码)编码包括Tier1编码以及Tier2编码两部分,前者承担主要的编码工作。Tier1编码由BPC编码器和MQ编码器组成,前者产生上下文判决对CXD,后者根据二进制编码原理对上下文判决对CXD进行编码产生压缩码流。BPC编码器的优化目前已实现较大的突破,“skip scanning method”等改进方法的提出大大提高了BPC编码器的处理速度,使其在一个时钟周期可以产生10个以上的上下文判决对CXD。然而MQ编码器由于本身严格串行的编码特点以及前后上下文判决对CXD输入之间强烈的关联性,吞吐率一直难以提高。目前大部分的MQ编码器结构一个时钟周期只能处理1个上下文判决对CXD。
Tier1编码处理速度是由BPC编码器和MQ编码器共同决定的。因此,仅仅提升BPC编码器的吞吐量通常不能取得整体Tier1编码性能的提升。基于全局的考虑,必须根据BPC编码器与MQ编码器各自编码的特点,对两者的接口进行优化,从而达到二者速度较好匹配,最终提高Tier1编码的整体速度。
BPC编码器的编码工作由3种编码通道(重要性通道、幅度细化通道、清除通道)根据4种编码原语来完成(ZC原语、SC原语、RLC原语、MRP原语)完成。三种通道产生的上下文判决对CXD有所区别。因此MQ编码器在进行编码处理时需要根据编码通道的不同分开处理。
目前针对Tier1编码的优化主要集中在于BPC编码器和MQ编码器自身的优化,而对于两者之间接口设计的优化较少。大部分的结构都是采用简单的FIFO设计连接两个编码器,将BPC输出的3种不同编码通道的上下文判决对CXD混合在一起输入到同一个MQ编码器进行处理。MQ编码器内部采用三套编码机制来处理对应通道的上下文判决对CXD。因为MQ编码器的吞吐率不高,这样简单的设计将会造成BPC速度的极大浪费。
发明内容
本发明的目的是提供一种可以提高Tier1编码的整体编码效率的应用于JPEG2000的Tier1接口设计方法。技术方案如下:
一种应用于JPEG2000的Tier1接口设计方法,其特征在于,设置三个MQ编码器,在BPC编码器输出之前根据通道属性对混在一起的上下文判决对CXD进行区分,被分开的上下文判决对CXD将根据各自的通道属性,并行的进入对应的接口,分别输入到3个MQ编码器;每个编码器单独进行一种编码通道的上下文判决对CXD编码工作;BPC编码器产生的上下文判决对CXD是不连续的,多个有效值之间会夹杂一部分无效值,设计一种重排电路来对输出的上下文判决对CXD重新排序,将上下文判决对CXD当中的有效值与无效值区分开;接口工作流程如下:
(1)BPC编码器产生的上下文判决对CXD根据其自身所带的通道属性被分成重要性通道、幅度
细化通道、清除通道三组;
(2)上下文判决对CXD根据各自通道属性进入对应的重排电路,以向量阵列的形式输出;
重排电路包括多个重排单元,有效上下文判决对CXD集中在一起,占据低位向量,优先输出,无效的上下文判决对CXD被清零,同时放到高位向量处,以免影响后续MQ编码的处理;
(3)输出的上下文判决对CXD向量阵列进入异步并入串出FIFO部分,首先进入Write_FIFO写
控制模块,该模块具有两个功能:
A.产生后面FIFO组所需要的写数据和写信号:Write_FIFO模块当中的写数据个数与FIFO组当中的FIFO数目一致且一一对应,写信号的位宽与写数据的个数一致,其每一位表示对应的写数据是否有数据写入;Write_FIFO模块设置一个写指针;当前进入模块的上下文判决对CXD成功写入对应的多个写数据之后,写指针将指向下一个空的写数据,接下来进入模块的上下文判决对CXD就将从写指针指向的空的写数据开始写入,写信号也随之产生;
B.产生BPC编码器的使能控制信号:当剩余的空FIFO数目充足时,位平面编码器的使能
信号保持高电平,位平面编码器持续工作,当空的FIFO数目小于当前产生的有效CXD数目的时候,Write_FIFO模块会将位平面编码的使能信号拉低,从而暂停位平面编码器的工作,防止FIFO溢出;
(4)每个写数据被写入FIFO组的对应FIFO当中;
(5)Read_FIFO读控制模块采用循环取数的方式,每个时钟周期从FIFO组取出一个上下文判决对CXD输出给MQ编码器。
附图说明
图1 JPEG2000的编码流程
图2本发明的结构图
图3 PCXD数据结构
图4重排电路结构图
图5重排单元结构图
具体实施方式
JPEG2000的工作流程如图1所示,本发明主要针对BPC编码器通过三种编码通道产生三种上下文判决对CXD这一工作特点,设计了一种高效率的接口设计,能显著提高MQ编码的吞吐率,从而提升Tier1编码部分的效率。接口设计包括重排电路以及异步并入串出FIFO两部分,结构图如图2所示。下面介绍设计的具体实施方式。
1.上下文判决对CXD的归类
如前文所述,BPC通过三种编码通道产生三种不同的上下文判决对CXD。每个编码通道工作时又采用了4种编码原语来完成(ZC原语、SC原语、RLC原语、MRP原语)。上下文判决对CXD是一个6位的数据,为了表明通道属性,每个编码原语产生上下文判决对CXD时会在最高位向左扩展两位,添加上所属通道说明。扩展后的8位上下文判决对CXD数据结构如图3所示,本发明称之为通道PASS-上下文判决对CXD(Pass-CXD),下文简称为PCXD对。
根据PCXD对最高两位值即可判断其通道属性:00——重要性通道、01——幅度细化通道、10——清除通道。
2.重排电路
根据三种编码通道,重排电路也分为三套。每套重排电路又由多个重排单元组成。重排电路的工作原理采用了类似冒泡排序的方法。电路结构图如图4、图5所示。
每个PCXD对在产生的同时,都会伴随一个有效性状态标志vld。标志为1表示该PCXD对有效,反之则为无效数据。相邻的两个PCXD对会进入重排单元进行比较。重排单元根据当前两个PCXD对的有效性状态(vld_m、vld_r)以及前一个PCXD对的有效性(vld_l)状态来判断当前两个PCXD对的顺序,无效数据将被置零并且向后移位,排列规则如表1所示。经过重排单元排布之后,BPC编码器产生的PCXD对会形成一个数据宽度为8的向量阵列,其中有效数据将集中优先占据低位优先输出,而无效数据则被放到高位。三套重排电路产生向量阵列的数据深度并不一致,取决于每个编码通道每个时钟周期能产生的最大PCXD对数目。如本发明采用的BPC编码器一个时钟周期最多能产生10个PCXD对,根据所用编码原语的不同,表2对PCXD对进行了归类,从而得出每个编码通道生成的向量阵列的数据深度。重排电路输出向量阵列的同时,还会输出一个表示有效数据个数的信号vld_sum。
表1重排单元重排规则
Vld_m | Vld_l | Vld_r | Sel_CXD |
1 | 1 | - | CXD_M |
1 | 0 | - | 0 |
0 | - | 1 | CXD_R |
0 | - | 0 | 0 |
表2上下文判决对CXD归类
3.FIFO部分
经重排电路输出的PCXD向量阵列对以及有效PCXD数目信号vld_sum将进入FIFO组部分。由于MQ编码器的吞吐量与BPC编码器存在不匹配,本发明采用了异步并入串出FIFO来完成传输。
FIFO部分,分为Write_FIFO(写控制模块)、FIFO组以及Read_FIFO(读控制模块)三部分。
(1)Write_FIFO(写控制模块)
如前文所述,该模块主要完成两个功能:产生给异步FIFO组的写数据和写信号、产生位平面编码的使能控制信号。
由于三个编码通道重排电路输出的PCXD对向量阵列的深度不同,因此对应的Write_FIFO设置的写数据数目也不同。以本发明应用的10输出BPC为例,重要性通道的Write_FIFO设置8个写数据,幅度细化通道设置4个,清除通道设置10个。此外,每个编码通道在每个时钟实际产生的PCXD数目并不固定(不一定是最大数目),所以还需要设置一个写信号FIFO_wr。写信号的位宽等于写数据的个数,每一位用来表明对应的写数据是否有值。为了使得每个写数据都可以被赋值,而不被浪费,Write_FIFO模块采用从低到高循环的并行写入,每个写数据都被编号,并设置一个写指针start_point来记录每次写入的写数据编号。
以清除通道为例,该通道一共设置10个写数据(0~9)。假设此时进入的Write_FIFO模块的有效PCXD对数目是6个,而start_point指向的写数据位置是第8个写数据,那么本次应该被写入数值的写数据为第8、9、0、1、2、3个。首先将有效的PCXD对写入对应的写数据当中,并将写信号FIFO_wr[10:0]的低6位置拉高(10’b 0000111111);然后根据start_point,FIFO_wr向左移8位,被移出的4位再补回到最低4位,最终形成新的FIFO_wr(10’b1100001111),表明第8、9、0、1、2、3个数据有数据。最后start_point指向第4个写数据,表明下一次PCXD对的写入从第4个写数据开始。
当FIFO组的空余FIFO能够满足有效PCXD对存储时,Write_FIFO模块产生的BPC编码器使能信号bpc_en保持高电平,BPC编码器正常工作。如果FIFO组剩余空FIFO的数目小于有效PCXD数目,此时应该暂停BPC编码器的编码,防止FIFO溢出。因此使能信号bpc_en就会被拉低,暂停BPC编码器工作。
Claims (1)
1.一种应用于JPEG2000的Tier1接口设计方法,其特征在于,设置三个MQ编码器,在BPC编码器输出之前根据通道属性对混在一起的上下文判决对CXD进行区分,被分开的上下文判决对CXD将根据各自的通道属性,并行的进入对应的接口,分别输入到3个MQ编码器;每个编码器单独进行一种编码通道的上下文判决对CXD编码工作;BPC编码器产生的上下文判决对CXD是不连续的,多个有效值之间会夹杂一部分无效值,设计一种重排电路来对输出的上下文判决对CXD重新排序,将上下文判决对CXD当中的有效值与无效值区分开;接口工作流程如下:
(1)BPC编码器产生的上下文判决对CXD根据其自身所带的通道属性被分成重要性通道、幅度细化通道、清除通道三组;
(2)上下文判决对CXD根据各自通道属性进入对应的重排电路,以向量阵列的形式输出;
重排电路包括多个重排单元,有效上下文判决对CXD集中在一起,占据低位向量,优先输出,无效的上下文判决对CXD被清零,同时放到高位向量处,以免影响后续MQ编码的处理;
(3)输出的上下文判决对CXD向量阵列进入异步并入串出FIFO部分,首先进入Write_FIFO写控制模块,该模块具有两个功能:
A.产生后面FIFO组所需要的写数据和写信号:Write_FIFO模块当中的写数据个数与FIFO组当中的FIFO数目一致且一一对应,写信号的位宽与写数据的个数一致,其每一位表示对应的写数据是否有数据写入;Write_FIFO模块设置一个写指针;当前进入模块的上下文判决对CXD成功写入对应的多个写数据之后,写指针将指向下一个空的写数据,接下来进入模块的上下文判决对CXD就将从写指针指向的空的写数据开始写入,写信号也随之产生;
B.产生BPC编码器的使能控制信号:当剩余的空FIFO数目充足时,位平面编码器的使能信号保持高电平,位平面编码器持续工作,当空的FIFO数目小于当前产生的有效CXD数目的时候,Write_FIFO模块会将位平面编码的使能信号拉低,从而暂停位平面编码器的工作,防止FIFO溢出;
(4)每个写数据被写入FIFO组的对应FIFO当中;
(5)Read_FIFO读控制模块采用循环取数的方式,每个时钟周期从FIFO组取出一个上下文判决对CXD输出给MQ编码器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710373129.0A CN107241602B (zh) | 2017-05-24 | 2017-05-24 | 一种应用于JPEG2000的Tier1接口设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710373129.0A CN107241602B (zh) | 2017-05-24 | 2017-05-24 | 一种应用于JPEG2000的Tier1接口设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107241602A CN107241602A (zh) | 2017-10-10 |
CN107241602B true CN107241602B (zh) | 2020-05-12 |
Family
ID=59985170
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710373129.0A Expired - Fee Related CN107241602B (zh) | 2017-05-24 | 2017-05-24 | 一种应用于JPEG2000的Tier1接口设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107241602B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848311A (zh) * | 2010-02-21 | 2010-09-29 | 哈尔滨工业大学 | 基于Avalon总线JPEG2000的EBCOT编码器 |
-
2017
- 2017-05-24 CN CN201710373129.0A patent/CN107241602B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101848311A (zh) * | 2010-02-21 | 2010-09-29 | 哈尔滨工业大学 | 基于Avalon总线JPEG2000的EBCOT编码器 |
Non-Patent Citations (4)
Title |
---|
JPEG2000全通道并行EBCOT-Tier1编码结构设计;朱悦心,张静,王勇,郑南宁;《电子与信息学报》;20061231;全文 * |
JPEG2000算术编码器的算法优化和VLSI设计;刘文松,朱恩,等;《电子学报》;20111130;全文 * |
Low-cost, high performance VISI design of an MQ coder for JPEG 2000;Kishor Sarawadekar, Swapna Banerjee,et.al.;《IEEE 10th INTERNATION CONFERENCE ON SIGNAL PROCESSING PROCEEDINGS》;20101028;全文 * |
VLSI design of memory-efficient, high-speed baseline MQ coder for JPEG 2000;Sarawadekar,Kishor,and Swapna Banerjee;《Integration》;20120131;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107241602A (zh) | 2017-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101079317A (zh) | 使用数据总线反转的低功率平衡编码 | |
Sun et al. | Real-time implementation of a new low-memory SPIHT image coding algorithm using DSP chip | |
CN102968390A (zh) | 基于预先解码分析的配置信息缓存管理方法及系统 | |
CN104112053A (zh) | 一种面向图像处理的可重构架构平台设计方法 | |
CN1921625A (zh) | 去块效应滤波器的滤波方法与系统 | |
KR20190025928A (ko) | 델타 컬러 압축을 위한 비트 패킹 | |
CN112950656A (zh) | 一种基于fpga平台的按通道进行预读取数据的分块卷积方法 | |
CN1862972A (zh) | Turbo编码方法及编码装置 | |
CN101848311B (zh) | 基于Avalon总线JPEG2000的EBCOT编码器 | |
US6721918B2 (en) | Method and apparatus for encoding a bus to minimize simultaneous switching outputs effect | |
CN107241602B (zh) | 一种应用于JPEG2000的Tier1接口设计方法 | |
CN1335562A (zh) | 判优器及其总线系统 | |
CN107005657A (zh) | 处理数据的方法、装置、芯片和摄像头 | |
CN108513130B (zh) | 一种Tag-Tree编码的实现系统及方法 | |
US6538583B1 (en) | Method and apparatus for context modeling | |
CN101154957B (zh) | Turbo码交织器及交织地址传输方法 | |
CN104809747B (zh) | 图像直方图的统计方法及其系统 | |
CN1713369A (zh) | 用于半导体集成器件的设计方法、设计程序和存储介质 | |
CN101895374A (zh) | 速率匹配方法及装置 | |
Brebner et al. | Use of reconfigurability in variable-length code detection at video rates | |
CN1703090A (zh) | 高速多变长码并行解码器 | |
CN1096116A (zh) | 分类装置 | |
CN1483382A (zh) | 针对原始ct图像数据的压缩方法 | |
CN1219363C (zh) | 一种用于码分多址通信系统的速率匹配装置 | |
CN1187699C (zh) | Tagtree编码器的vlsi设计方法 |
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 | ||
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: 20200512 Termination date: 20210524 |