CN100379251C - 一种静态图像压缩的编码方法 - Google Patents

一种静态图像压缩的编码方法 Download PDF

Info

Publication number
CN100379251C
CN100379251C CNB2005100252022A CN200510025202A CN100379251C CN 100379251 C CN100379251 C CN 100379251C CN B2005100252022 A CNB2005100252022 A CN B2005100252022A CN 200510025202 A CN200510025202 A CN 200510025202A CN 100379251 C CN100379251 C CN 100379251C
Authority
CN
China
Prior art keywords
sub
coding
macro block
block
data
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
Application number
CNB2005100252022A
Other languages
English (en)
Other versions
CN1855996A (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.)
Xiamen Ziguang exhibition Rui Technology Co. Ltd.
Original Assignee
Spreadtrum Communications Shanghai Co Ltd
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 Spreadtrum Communications Shanghai Co Ltd filed Critical Spreadtrum Communications Shanghai Co Ltd
Priority to CNB2005100252022A priority Critical patent/CN100379251C/zh
Publication of CN1855996A publication Critical patent/CN1855996A/zh
Application granted granted Critical
Publication of CN100379251C publication Critical patent/CN100379251C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供一种静态图像压缩的编码方法,其包括如下步骤:图像分块步骤:将图像的宏块分成上、下两个子宏块,并将上子宏块的下半部用0填充,下子宏块的上半部用0填充,整幅图像被分成上子宏块和下子宏块互相间隔的条带;编码步骤:以子宏块为单位进行编码,然后根据子宏块编码的结果重新组合成符合静态图像要的码流。由于本发明是以子宏块为单位进行编码,子宏块的大小为16×8,所以实际上只需要8条行缓冲区,降低了硬件成本,且易于软硬件的实现。

Description

一种静态图像压缩的编码方法
技术领域
本发明涉及一种静态图像压缩和编码方法。
背景技术
目前绝大部分的静态图像采用的是JPEG(联合图像专家组,一种静态图像的压缩算法)压缩技术,JPEG压缩技术总的是采用离散余弦变换+量化+游程编码+霍夫曼编码(或算术编码)。对于静态图像来说图像的YUV(在NTSC颜色系统中,一个颜色可以由灰度Y,和两个色差U、V一起表示)数据格式有YUV444、YUV422、YUV420、YUV411。采用标准的JPEG压缩流程,对于YUV444、YUV422和YUV411需要8linebuffer(行缓冲器),而对于YUV420来说就要16linebuffer。采用这种压缩流程,在ASIC实现上,无形中增加了硬件成本。
发明内容
本发明所要解决的技术问题是提供一种静态图像压缩的编码方法,其支持所有的YUV格式的图片的JPEG压缩,将行缓冲器的数目从16条减少到8条。
为了解决上述技术问题,本发明提供一种静态图像压缩的编码方法,其包括如下步骤:
图像分块步骤:将图像的宏块分成上、下两个子宏块,并将上子宏块的下半部用0填充,下子宏块的上半部用0填充,整幅图像被分成上子宏块和下子宏块互相间隔的条带;
编码步骤:以子宏块为单位进行编码,然后根据子宏块编码的结果重新组合成符合静态图像要的码流。
进一步地,本发明的编码步骤可以是分开编码的也可是隔行编码。所谓分开的就是对整个图像的sub-MCU进行编码,然后再对sub-MCU编码的结果进行重组;所述的编码方法为隔行编码方法,即:先编一行的上子宏块,编码结果存放在临时压缩数据库中,然后再编一行的下子宏块,编码的结果存放在目标压缩数据缓存中,在对下子宏块进行编码的同时,抽取出相应的上子宏块的码流,重新组合成符合静态图像要求的码流。
由于本发明是以子宏块(sub-MCU)为单位进行编码,子宏块的大小为16×8,所以实际上只需要8条linebuffer(行缓冲区),降低了硬件成本,且易于软硬件的实现。
附图说明
图1是基本的JPEG压缩流程图。
图2是图1所示编码的流程图。
图3是图像分块示意图。
图4是图3所示的宏块、子宏块的示意图。
图5是填充上、下子宏块的示意图。
图6是本发明的隔行编码的示意图。
图7是本发明的分开编码的示意图。
具体实施方式
如果输入的图像格式是YUV444、YUV422、YUV411则采用基本的JPEG压缩流程(如图1所示)。图像被分成大小为16×8的MCU(宏块),从左到右对图像中的宏块进行编码,而每个MCU又分解成若干个8×8的Y(灰度)数据块,U、V(色差)数据块,按照Y U V的顺序对8x8的数据块进行离散余弦变换、量化、对直流分量进行差分编码+霍夫曼编码,对交流分量进行ZigZag扫描(如图2所示)+游程编码+霍夫曼编码。
如果输入的图像格式是YUV420则采用下面所描述的步骤进行:
1、图像分块步骤(如图3所示)
YUV420图像的MCU(16×16,包含有4个Y数据块(blocks),1个U数据块(block)和1个V数据块(block))被分成上下两个sub-MCU(子宏块,16×8,2个Y blocks,1/2个U block和1/2个V block),(如图3、4所示),其中U/V block采用图5描述的方法将其填充成8×8大小的上、下子宏块,其中上子宏块的下半部(四行)用0填充,下子宏块的上半部(四行)用0填充。这样整幅图像被分成top sub-MCU(上子宏块)和bottomsub-MCU(下子宏块)互相间隔的条带。
2、编码步骤:
首先以子宏块(sub-MCU)为单位进行编码,由于sub-MCU是大小是16×8,所以实际上只需要8条linebuffer。然后根据sub-MCU编码的结果重新组合成符合JPEG要求的码流。所述编码步骤可以采用分开编码也可以采用隔行编码。所述分开编码的就是对整个图像的sub-MCU进行编码,然后再对sub-MCU编码的结果进行重组。所谓隔行编码就是先编一行的top sub-MCU,然后再编一行的bottom sub-MCU,在对bottom sub-MCU编码的同时,抽取出相应的top sub-MCU的码流,重新组合成符合JPEG要求的码流。
下面结合图6详细描述本发明的隔行编码的具体实施方式:
所述的隔行编码具体为:先编一行的上子宏块,编码结果存放在临时压缩数据库中,然后再编一行的下子宏块,在对下子宏块进行编码的同时,抽取出相应的上子宏块的码流,重新组合成符合静态图像要求的码流。上子宏块条带的编码方法与下子宏块条带的编码是不相同的。具体的描述如下。
1、子宏块条带的编码
从左到右顺序对每个tops sub-MCU进行编码。每个sub-MCU按照一定的顺序(YY U V)对2个Y blocks,1个U block(填充以后的)和1个V block(填充以后的)采用以下方法分别进行编码,编码的结果存放在临时压缩数据缓存中:
步骤a,离散余弦(DCT)变换;
步骤b,对DCT系数进行量化,UV量化因子使用的是预期的1/4;实际U(V)量化后的DCT系数为qdct[]=round((qdct_bottom[]+qdct_top[])/4),其中qdct[]是实际需要求得的该MCU的UV数据块量化后的DCT系数,qdct_top[]是top sub-MCU中UV数据块量化后的DCT系数,qdct_bottom[]是bottom sub-MCU中UV数据块量化后的DCT系数。
步骤c,如果是第2个Y block的DC,则进行差分+霍夫曼编码,否则直接存储量化后的DC系数。
对量化后的AC系数进行ZigZag(之字型)扫描,并且进行游程编码+熵编码.
步骤d,对游程编码结果进行霍夫曼编码。(该步骤可选,其目标是进一步减少缓冲区大小)
2、下子宏块条带的编码
从左到右顺序对每个bottom sub-MCU进行编码。每个sub-MCU按照下面给出的方法进行编码。在该步骤中编码的结果存放在目标压缩数据缓存中。
Y blocks编码:
步骤a,该步骤的目的是从临时压缩数据缓存中抽取bottom sub-MCU相应的topsub-MCU中的Y数据,将重新编码后的结果存储到目标数据压缩数据缓存中。做法如下:
步骤a-1,从缓冲区中获取这个bottom sub-MCU相应的top sub-MCU的第1个个Yblock的DC系数进行,对其进行差分编码和霍夫曼编码,然后对于AC部分进行霍夫曼编码(如果已经熵编码过则直接拷贝)
步骤a-2,从缓冲区中获取这个bottom sub-MCU相应的top sub-MCU第2个Y block的编码结果,对其进行霍夫曼编码(如果已经熵编码过则直接拷贝)
步骤b,对于该bottom sub-MCU中的两个Y blocks进行编码,编码后的结果存放到目标压缩数据缓存中。做法采用以下步骤进行:
步骤b-1,DCT变换;
步骤b-2,DCT系数进行量化;
步骤b-3,对量化后的DC系数进行差分+霍夫曼编码;
步骤b-4,对量化后的AC系数进行ZigZag扫描+游程编码+霍夫曼编码U(V)block编码:
步骤a,DCT变换;
步骤b,对DCT系数进行量化,UV量化因子使用的是预期的1/4,设得到的结果是qdct_bottom[];
步骤c,从临时压缩数据缓存中得到这个bottom sub-MCU相应的top sub-MCU的U(V)block的量化后的DCT系数qdct_top[];
步骤d,实际该bottom sub-MCU对应的MCU的量化后的DCT系数qdct[]
qdct[]=round((qdct_bottom[]+qdct_top[])/4)
步骤e,对量化后的DC系数进行差分+霍夫曼编码;
步骤f,对量化后的AC系数进行ZigZag扫描+游程编码+霍夫曼编码.
下面结合图7详细描述本发明的分开编码方法的具体实施方式:
步骤a,对图像中的所有子宏块采用一定的编码方式(例如类似隔行编码中的上子宏块的编码方式)进行编码的结果存放到临时压缩数据缓冲中。
步骤b,从临时压缩数据缓存中抽取出每一个宏块对应的两个子宏块的压缩数据,重新组合,并将重新组合的数据存放在目标压缩数据缓冲中。
比较所述分开编码方法和隔行编码方法的实现,可以看到,分开编码方法需要缓存一幅图像的所有的临时压缩数据。而隔行编码方法只要缓存一子宏块条带的临时压缩数据,并且实际证明了这个临时压缩数据缓存的大小远远小于8条linebuffer的大小,所以隔行编码方法可以用在完全硬件解决方案。而分开编码方法可以用在软硬件相结合的解决方案中,硬件完成临时压缩数据的生成,软件完成临时压缩数据的重组。
本发明的保护范围并不局限于上述具体实施方式,凡本领域内技术人员所熟知的技术变换均落在本发明的保护范围内,比如,上述的编码方法除了采用霍夫曼编码熵编码外还可能采用其它的熵编码。

Claims (10)

1.一种静态图像压缩的编码方法,对YUV420格式图像进行编码,其特征在于,包括如下步骤:
图像分块步骤:将图像的宏块分成上、下两个子宏块,并将上子宏块的下半部用0填充,下子宏块的上半部用0填充,整幅图像被分成上子宏块和下子宏块互相间隔的条带;编码步骤:以子宏块为单位进行编码,然后根据子宏块编码的结果重新组合成符合静态图像要的码流。
2.根据权利要求1所述的静态图像压缩的编码方法,其特征在于,所述的编码方法为分开编码方法,即:对上、下子宏块进行分别编码,然后对上、下子宏块的编码结果进行重组。
3.根据权利要求2所述的静态图像压缩的编码方法,其特征在于,所述的分开编码方法包括如下步骤:
步骤a,对图像中的所有子宏块进行编码,并将结果存放到临时压缩数据缓冲中;
步骤b,从临时压缩数据缓存中抽取出每一个宏块对应的两个子宏块的压缩数据,重新组合,并将重新组合的数据存放在目标压缩数据缓冲中。
4.根据权利要求1所述的静态图像压缩的编码方法,其特征在于,所述的编码方法为隔行编码方法,即:先编一行的上子宏块,编码结果存放在临时压缩数据库中,然后再编一行的下子宏块,编码的结果存放在目标压缩数据缓存中,在对下子宏块进行编码的同时,抽取出相应的上子宏块的码流,重新组合成符合静态图像要求的码流。
5.根据权利要求4所述的静态图像压缩的编码方法,其特征在于,所述的上子宏块的编码方法为:
步骤a,离散余弦变换;
步骤b,对DCT系数进行量化,UV量化因子使用的是预期的1/4;
步骤c,如果是第2个Y数据块的DC,则进行差分+霍夫曼编码,否则直接存储量化后的DC系数;
对量化后的AC系数进行之字型扫描,并且进行游程编码。
6.根据权利要求5所述的静态图像压缩的编码方法,其特征在于,还包括步骤d:可以对游程编码结果进行霍夫曼编码,进一步减少临时压缩数据缓冲区的大小。
7.根据权利要求4所述的静态图像压缩的编码方法,其特征在于,所述的对下子宏块的编码包括对Y数据块的编码、U数据块的编码、V数据块的编码。
8.根据权利要求7所述的静态图像压缩的编码方法,其特征在于,所述的Y数据块的编码方法包括如下步骤:
步骤a、从临时压缩数据缓存中抽取下子宏块相应的上子宏块中的Y数据,将重新编码后的结果存储到目标数据压缩数据缓存中;
步骤b,对于该下子宏块中的两个Y数据块进行编码,编码后的结果存放到目标压缩数据缓存中。
9.根据权利要求8所述的静态图像压缩的编码方法,其特征在于,所述的步骤a包括;步骤a-1,从缓冲区中获取这个下子宏块相应的上子宏块的第1个Y数据块的DC系数进行,对其进行差分编码和霍夫曼编码,然后对于AC部分进行霍夫曼编码,如果已经熵编码过则直接拷贝;
步骤a-2,从缓冲区中获取这个下子宏块相应的上子宏块第2个Y数据块的编码结果,对其进行霍夫曼编码,如果已经熵编码过则直接拷贝。
10.根据权利要求7所述的静态图像压缩的编码方法,其特征在于,所述的U数据块及V数据块的编码方法包括如下步骤:
步骤a,DCT变换;
步骤b,对DCT系数进行量化,UV量化因子使用的是预期的1/4,设得到的结果是qdct_bottom[];
步骤c,从临时压缩数据缓存中得到这个下子宏块相应的上子宏块的U(V)数据块的量化后的DCT系数qdct_top[];
步骤d,实际该下子宏块对应的MCU的量化后的DCT系数qdct[];
qdct[]=round((qdct_bottom[]+qdct_top[])/4);
步骤e,对量化后的DC系数进行差分+霍夫曼编码;
步骤f,对量化后的AC系数进行之字型扫描+游程编码+霍夫曼编码。
CNB2005100252022A 2005-04-19 2005-04-19 一种静态图像压缩的编码方法 Active CN100379251C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100252022A CN100379251C (zh) 2005-04-19 2005-04-19 一种静态图像压缩的编码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100252022A CN100379251C (zh) 2005-04-19 2005-04-19 一种静态图像压缩的编码方法

Publications (2)

Publication Number Publication Date
CN1855996A CN1855996A (zh) 2006-11-01
CN100379251C true CN100379251C (zh) 2008-04-02

Family

ID=37195800

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100252022A Active CN100379251C (zh) 2005-04-19 2005-04-19 一种静态图像压缩的编码方法

Country Status (1)

Country Link
CN (1) CN100379251C (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101777366B (zh) * 2010-01-07 2011-12-07 浙江大学 一种基于rle原理的行程压缩方法和装置
CN109842803B (zh) * 2018-09-19 2021-06-29 华为技术有限公司 一种图像压缩的方法及装置
CN112004095B (zh) * 2020-08-26 2022-07-15 深圳市迪威码半导体有限公司 一种无存储介质的静止图像帧间无损恢复方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1271494A (zh) * 1997-09-23 2000-10-25 艾利森电话股份有限公司 嵌入的离散余弦变换式静止图像编码算法
CN1314659A (zh) * 2000-03-17 2001-09-26 松下电器产业株式会社 图像信号编码装置和图像信号编码方法
EP1296288A2 (en) * 2001-09-21 2003-03-26 Interuniversitair Microelektronica Centrum Vzw A 2D FIFO device and method for use in block based coding applications
CN1469249A (zh) * 2002-06-28 2004-01-21 松下电器产业株式会社 像素数据块生成装置及像素数据块生成方法
CN1477871A (zh) * 2002-07-19 2004-02-25 三星电子株式会社 图像处理装置和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1271494A (zh) * 1997-09-23 2000-10-25 艾利森电话股份有限公司 嵌入的离散余弦变换式静止图像编码算法
CN1314659A (zh) * 2000-03-17 2001-09-26 松下电器产业株式会社 图像信号编码装置和图像信号编码方法
EP1296288A2 (en) * 2001-09-21 2003-03-26 Interuniversitair Microelektronica Centrum Vzw A 2D FIFO device and method for use in block based coding applications
CN1469249A (zh) * 2002-06-28 2004-01-21 松下电器产业株式会社 像素数据块生成装置及像素数据块生成方法
CN1477871A (zh) * 2002-07-19 2004-02-25 三星电子株式会社 图像处理装置和方法

Also Published As

Publication number Publication date
CN1855996A (zh) 2006-11-01

Similar Documents

Publication Publication Date Title
CN102771125B (zh) 使用树形结构的编码/解码方法和装置
CN104041035B (zh) 用于复合视频的无损编码及相关信号表示方法
US10812829B2 (en) 2D block image encoding
TW278299B (zh)
CN101889447B (zh) 扩展avc标准以与视频串行地对高分辨率数字静止画面编码
CN104853211A (zh) 使用多种形式的参考像素存储空间的图像压缩方法和装置
EP2433264B1 (en) Hierarchical lossless compression
CN103404141A (zh) 使用变换的视频编码和解码
US20140294089A1 (en) Hybrid Transform-Based Compression
EP2191652A2 (en) A method and an apparatus for processing a video signal
CN101366282B (zh) 用于以组为基础编码和解码视频信号的方法和设备
CN107277530A (zh) 用于解码视频的方法
GB2457262A (en) Compression / decompression of data blocks, applicable to video reference frames
CN104935945B (zh) 扩展参考像素样值集的图像编码或解码方法
CN100553151C (zh) 用于多种描述编码的设备和方法
CN105847842A (zh) 图像编码方法及装置、图像解码方法及装置
CN100379251C (zh) 一种静态图像压缩的编码方法
CN102771126A (zh) 图像编码装置、图像解码装置及数据结构
WO2022078339A1 (zh) 参考像素候选列表构建方法、装置、设备及存储介质
JP3518733B2 (ja) 物体単位映像信号符号化/復号化装置及び方法
CN105791868B (zh) 视频编码的方法和设备
CN104811731A (zh) 多层次子块匹配图像压缩方法
CN101951524A (zh) 彩色数字图像的jpeg压缩方法和装置
CN103299638B (zh) 自适应扫描装置及其扫描方法
CN106559668B (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
TR01 Transfer of patent right

Effective date of registration: 20161223

Address after: 361015 Xiamen Fujian torch hi tech Zone Pioneering Park Cheng Yip Building Room 201

Patentee after: Xiamen Ziguang exhibition Rui Technology Co. Ltd.

Address before: 201203 Shanghai City Songtao road Pudong Zhangjiang hi tech Park No. 696 3-5

Patentee before: Spreadtrum Communications (Shanghai) Co.,Ltd.

TR01 Transfer of patent right