CN100596203C - 一种图像编解码方法及系统 - Google Patents
一种图像编解码方法及系统 Download PDFInfo
- Publication number
- CN100596203C CN100596203C CN 200610092124 CN200610092124A CN100596203C CN 100596203 C CN100596203 C CN 100596203C CN 200610092124 CN200610092124 CN 200610092124 CN 200610092124 A CN200610092124 A CN 200610092124A CN 100596203 C CN100596203 C CN 100596203C
- Authority
- CN
- China
- Prior art keywords
- coding
- pattern
- unit
- identification information
- mode
- 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
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种图像编解码方法,包括:A、在图像编码信息的保留比特中设置复杂度伸缩性模式编码标识信息;B、根据复杂度伸缩性模式编码标识信息确定对应的模式所用比特数,并根据确定的比特数对所述图像进行编码;C、将所述编码后的码流发送至接收端;D、接收端根据所述复杂度伸缩性模式编码标识信息,选择对应的解码模式对所述码流进行解码,获取图像。本发明还公开了一种图像编解码系统。本发明通过定义复杂度等级标识和伸缩性的模式编码方法,在现有图像编解码标准中提供一种模式编码的伸缩特性,提升用户采用模式子集时的编码效率,并不影响完整模式集下的系统性能。
Description
技术领域
本发明涉及通信领域,尤其涉及一种图像编解码方法及系统。
背景技术
图像编码中通常采用固定长度的多个比特标识宏块编码的相关模式信息,例如,在H.264中,采用4比特标识9种亮度4×4块的帧内预测模式,采用指数哥伦布码编码9种宏块类型;在AVS1.0中,采用3比特标识5种亮度8×8块的帧内预测模式。这些编码模式通常由编码器的率失真优化决定,这也是导致标准编码器复杂度比较高的原因。因此,在实现过程中,很多视频编码器的制造厂家选择仅实现部分使用概率较高的模式,也就是说,在编码端仅使用标准定义的模式子集,而并非是标准定义的全部模式。例如,在实现H.264编码器时,使用亮度4×4块的前3种帧内预测模式,使用16×16,16×8,8×16,8×8和Intra4×4等5种宏块模式。
上述复杂度伸缩性编码是单纯的编码器优化技术,是在不改变语法结构的前提下,寻求优化的模式选择方法,在使用较少的编码模式时,提高编码综合性能。这种实现方法虽然将导致编码性能有一定程度的下降,却能有效的降低编码复杂度。
上述技术通常基于统计信息,对于不同序列和不同内容的输入视频图像的有效性无法保证。同时,优化算法自身的复杂度往往高于直接使用模式子集时的复杂度,而且没有从标准本身为用户提供一种伸缩性模式编码的能力,当编码器仅采用标准定义的模式子集时,用来承载预测模式的比特数是固定不变的,这样就导致现有技术对预测模式的编码比特数存在浪费。
发明内容
本发明的目的在于提供一种复杂度可伸缩模式的图像编解码方法及系统,以解决现有技术中存在的对预测模式的编码比特数存在浪费的问题。
本发明方法包括:一种图像编解码方法,包括:
A、在图像编码信息的保留比特中设置复杂度伸缩性模式编码标识信息,所述复杂度伸缩性模式编码标识信息表征当前图像编码时是否采用低复杂度模式编码方法,当存在多级伸缩选择时,所述复杂度伸缩性模式编码标识信息表征复杂度级别;
B、根据复杂度伸缩性模式编码标识信息确定对应的模式所用比特数,并根据确定的比特数对所述图像进行编码;
C、将所述编码后的码流发送至接收端;
D、接收端根据所述复杂度伸缩性模式编码标识信息,选择对应的解码模式对所述码流进行解码,获取图像。
所述的复杂度伸缩性模式编码标识信息,设置于头信息中。所述的复杂度伸缩性模式编码标识信息,设置为多个等级。所述的模式编码,为帧内预测模式或宏块模式。
本发明图像编解码系统包括:一种图像编解码系统,包括编码单元与解码单元,还包括:
复杂度伸缩性模式编码标识设置单元,位于所述编码单元,用于在编码信息的保留比特中携带复杂度伸缩性模式编码标识信息,所述复杂度伸缩性模式编码标识信息表征当前图像编码时是否采用低复杂度模式编码方法,当存在多级伸缩选择时,所述复杂度伸缩性模式编码标识信息表征复杂度级别;
模式信息设置单元,位于所述编码单元,用于在编码信息中设置所述复杂度伸缩性模式编码标识对应的模式;
复杂度伸缩性模式编码标识信息解析单元,位于所述解码单元,用于解析所述复杂度伸缩性模式编码标识信息;
模式信息解析单元,位于所述解码单元,用于解析所述的模式信息。
所述的模式信息设置单元为帧内预测模式设置单元或宏块模式设置单元;
所述的模式信息解析单元为对应的帧内预测模式解析单元或宏块模式解析单元。
本发明通过定义复杂度等级标识和伸缩性的模式编码方法,在现有图像编解码标准中提供一种模式编码的伸缩特性,提升用户采用模式子集时的编码效率,并不影响完整模式集下的系统性能。
本发明方案为编解码标准提供了具有复杂度伸缩能力的码流支持,相对于传统图像编解码方法,在使用模式子集时,无论是采用变长编码方法还是算术编码方法都能明显节省编码比特,提升性能。
本发明方案对于类似模式信息的其他负载信息具有一致的通用性,对于采用标准完全模式集时的系统性能没有影响。
附图说明
图1为本发明方案的流程示意图;
图2为本发明实施例中复杂度伸缩模式编码图像头解析流程图;
图3为本发明实施例中复杂度伸缩性模式解码流程图;
图4为本发明的系统结构示意图。
具体实施方式
下面结合说明书附图来说明本发明的具体实施方式。
如图1所示,是本发明的流程示意图,从图中可见,本发明主要包括以下步骤:
S110、在图像编码信息中设置复杂度伸缩性模式编码标识信息;
采用本发明方案,在编码过程中,利用码流图像头信息中的部分保留比特,作为复杂度伸缩性模式编码标识comp_scalable_flag,表征当前图像编码时是否采用低复杂度模式编码方法。当存在多级伸缩选择时,comp_scalable_flag可表征复杂度级别。
以AVS1-P2或AVS1-P2Xprofile的8×8亮度帧内预测模式的复杂度伸缩编码为例,取图像头信息中的1位保留比特,定义为comp_scalable_flag,当comp_scalable_flag等于0时表征不采用低复杂度编码,即使用全部5种帧内预测模式的情况;当comp_scalable_flag等于1时表征采用低复杂度编码,即仅使用前3种帧内预测模式的情况。
以H.264或AVS1-P7的4×4亮度帧内预测模式的复杂度伸缩编码为例,取图像头信息中的2位保留比特,定义为comp_scalable_flag,当comp_scalable_flag等于0时表征不采用低复杂度编码,即对应使用全部9种帧内预测模式的情况;当comp_scalable_flag等于1时表征采用第一级复杂度伸缩模式编码,即对应仅使用前5种帧内预测模式的情况;当comp_scalable_flag等于2时表征采用第二级复杂度伸缩模式编码,即对应仅使用前3种帧内预测模式的情况。
S120、根据复杂度伸缩性模式编码标识信息确定对应模式编码所用比特数并对所述模式信息及图像进行编码;
该步骤根据头信息中定义的comp_scalable_flag的取值,确定相应模式编解码使用的比特数。
以AVS1-P2或AVS1-P2Xprofile的8×8亮度帧内预测模式的复杂度伸缩编码为例,当comp_scalable_flag等于0时,采用3比特表征5种帧内预测模式;当comp_scalable_flag等于1时,采用2比特表征3种帧内预测模式。
以H.264或AVS1-P7的4×4亮度帧内预测模式的复杂度伸缩编码为例,当comp_scalable_flag等于0时,使用4比特表征全部9种帧内预测模式;当comp_scalable_flag等于1时,使用3比特表征前5种模式;当comp_scalable_flag等于2时,使用2比特表征前3种预测模式。
根据选定的比特数,将所述模式信息及图像信息进行编码。
S130、将所述编码后的码流发送至接收端;
该步骤中图像的编码可以采用常规方法,在此不再赘述。
S140、接收端根据所述复杂度伸缩性模式编码标识信息,选择对应的解码模式对所述码流进行解码,获取图像。
接收端接收到码流后,根据复杂度伸缩性模式编码标识信息,先确定对应预测模式编码所用比特数,根据该信息进行模式解码,并根据该模式进行解码。
下面看一个具体的例子:
1、设置复杂度伸缩性模式编码标识:
以AVS1-P2或AVS1-P2Xprfile的8×8亮度帧内预测模式的复杂度伸缩编码为例,在帧内图像和帧间图像头中取1位保留比特,设定其为语法元素comp_scalable_flag,采用1位无符号整数编码。原始的I帧和P帧图像头如表1、3所示,改进的I帧和P帧图像头如表2、4所示:
表1:原始I帧图像头设置
i_picture_header(){ | 描述符 |
i_picture_start_code | f(32) |
...... | |
if(progressive_frame==′0′){ | |
if(picture_structure==′0′){ | |
skip_mode_flag | u(1) |
if(profile_id==0x40)/*Zengqiang profile*/ | |
advanced_pred_mode_disable | u(1) |
} | |
} | |
reserved_bits | ′0000′ |
loop_filter_disable | u(1) |
...... | |
entropy_coding_mode_flag | u(1) |
next_start_code() | |
} |
表2:改进的I帧图像头设置
i_picture_header(){ | 描述符 |
i_picture_start_code | f(32) |
...... | |
if(progressive_frame==′0′){ | |
if(picture_structure==′0′){ | |
skip_mode_flag | u(1) |
if(profile_id==0x40)/*Zengqiang profile*/ | |
advanced_pred_mode_disable | u(1) |
} | |
} | |
comp_scalable_flag | u(1) |
reserved_bits | ′000′ |
loop_filter_disable | u(1) |
...... | |
entropy_coding_mode_flag | u(1) |
next_start_code() | |
} |
表3:原始PB帧图像头设置
pb_picture_header(){ | 描述符 |
pb_picture_start_code | f(32) |
...... | |
picture_qp | u(6) |
if(!(picture_coding_type==′10′&&PictureStructure==1)) | |
picture_reference_flag | u(1) |
reserved_bits | ′0000′ |
skip_mode_flag | u(1) |
loop_filter_disable | u(1) |
...... | |
entropy_coding_mode_flag | u(1) |
next_start_code() | |
} |
表4:改进的PB帧图像头设置
pb_picture_header(){ | 描述符 |
pb_picture_start_code | f(32) |
...... | |
picture_qp | u(6) |
if(!(picture_coding_type==′10′&&PictureStructure==1)) | |
picture_reference_flag | u(1) |
comp_scalable_flag | u(1) |
reserved_bits | ′000′ |
skip_mode_flag | u(1) |
loop_filter_disable | u(1) |
...... | |
entropy_eoding_mode_flag | u(1) |
next_start_code() | |
} |
相应的复杂度伸缩性模式编码图像头解析流程如图2所示,包括以下步骤:
S210、解析图像头信息;
S220、解析复杂度伸缩控制比特comp_scalable_flag;
S230、判断comp_scalable_flag是否等于1?如果是进入步骤S240,否则进入步骤S250;
S240、宏块帧内亮度预测模式采用2比特解析;
S250、宏块帧内亮度预测模式采用3比特解析。
上述流程中可见,在所述的步骤S240和步骤S250中,采用了该comp_scalable_flag值所对应的比特数进行解析,即可获取相关的模式信息。
2、复杂度伸缩性模式编码信息:
根据前面定义的comp_scalable_flag,确定模式编码的比特数。
以AVS1-P2或AVS1-P2Xprfile的8×8亮度帧内预测模式的复杂度伸缩编码为例,当图像头信息中的语法元素comp_scalable_flag等于0时,帧内预测模式采用3比特编解码;当comp_scalable_flag等于1时,帧内预测模式采用2比特编解码。相应的帧内预测模式解码流程如图3所示,包括以下步骤:
S310、解析宏块信息;
S320、判断comp_scalable_flag是否等于1?如果是进入步骤S330,否则进入步骤S340;
S330、读取2比特宏块帧内亮度预测模式并解析;
S340、读取3比特宏块帧内亮度预测模式并解析。
相应的,在编码端,comp_scalable_flag等于0时,从全部5种帧内预测模式中选取最优的用于当前块的帧内编码,否则,从前3种帧内预测模式中选取最优的模式。
宏块编码信息的语法变化如下,其中表5为原始宏块语法,表6为改进的宏块语法。
表5:原始宏块设置
macroblock(){ | 描述符 |
if(PictureType!=0||(PictureStructure==0&& MbIndex>=MbWidth×MbHeight/2)) | |
mb_type | ue(v)|ae(v) |
...... | |
if(MbType==′I_8×8′){ | |
for(i=0;i<4;i++){ | |
pred_mode_flag | u(1)|ae(v) |
if(!pred_mode_flag) | |
intra_luma_pred_mode | u(2)|ae(v) |
} | |
intra_chroma_pred_mode | ue(v)|ae(v) |
...... | |
if(chroma_format==′10′){ | |
for(i=6;i<8;i++) | |
block(i) | |
} | |
} | |
} |
表6:改进的宏块设置
macroblock(){ | 描述符 |
if(PictureType!=0||(PictureStructure==0&& MbIndex>=MbWidth×MbHeight/2)) | |
mb_type | ue(v)|ae(v) |
...... | |
if(MbType==′I_8×8′){ | |
for(i=0;i<4;i++){ | |
pred_mode_flag | u(1)|ae(v) |
if(!pred_mode_flag) | |
if(comp_scalable_flag) | |
intra_luma_pred_mode | u(1)|ae(v) |
else | |
intra_luma_pred_mode | u(2)|ae(v) |
} | |
intra_chroma_pred_mode | ue(v)|ae(v) |
...... | |
if(chroma_format==′10′){ | |
for(i=6;i<8;i++) | |
block(i) | |
} | |
} | |
} |
该方法可应用于类似模式信息的复杂度伸缩性编码和改进现有标准中。
如图4所示,是本发明编解码系统的结构示意图,从图中可见,本发明的编解码系统包括编码单元410与解码单元420,其中,
在编码单元410设置有:
复杂度伸缩性模式编码标识设置单元411,用于在编码信息中设置复杂度伸缩性模式编码标识信息;
模式信息设置单元412,用于在编码信息中设置所述复杂度伸缩性模式编码标识对应的模式。
在解码单元420设置有:
复杂度伸缩性模式编码标识信息解析单元421,用于解析所述复杂度伸缩性模式编码标识信息;
模式信息解析单元422,用于解析所述的模式信息。
所述的模式信息设置单元为帧内预测模式设置单元或宏块模式设置单元;
所述的模式信息解析单元为对应的帧内预测模式解析单元或宏块模式解析单元。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (6)
1、一种图像编解码方法,其特征在于,包括:
A、在图像编码信息的保留比特中设置复杂度伸缩性模式编码标识信息,所述复杂度伸缩性模式编码标识信息表征当前图像编码时是否采用低复杂度模式编码方法,当存在多级伸缩选择时,所述复杂度伸缩性模式编码标识信息表征复杂度级别;
B、根据复杂度伸缩性模式编码标识信息确定对应的模式所用比特数,并根据确定的比特数对所述图像进行编码;
C、将所述编码后的码流发送至接收端;
D、接收端根据所述复杂度伸缩性模式编码标识信息,选择对应的解码模式对所述码流进行解码,获取图像。
2、如权利要求1所述的方法,其特征在于,所述的复杂度伸缩性模式编码标识信息,设置于头信息中。
3、如权利要求1或2所述的方法,其特征在于,所述的复杂度伸缩性模式编码标识信息,设置为多个等级。
4、如权利要求1所述的方法,其特征在于,所述的模式编码,为帧内预测模式或宏块模式。
5、一种图像编解码系统,包括编码单元与解码单元,其特征在于,还包括:
复杂度伸缩性模式编码标识设置单元,位于所述编码单元,用于在编码信息的保留比特中设置复杂度伸缩性模式编码标识信息,所述复杂度伸缩性模式编码标识信息表征当前图像编码时是否采用低复杂度模式编码方法,当存在多级伸缩选择时,所述复杂度伸缩性模式编码标识信息表征复杂度级别;
模式信息设置单元,位于所述编码单元,用于在编码信息中设置所述复杂度伸缩性模式编码标识对应的模式;
复杂度伸缩性模式编码标识信息解析单元,位于所述解码单元,用于解析所述复杂度伸缩性模式编码标识信息;
模式信息解析单元,位于所述解码单元,用于解析所述的模式信息。
6、如权利要求5所述的系统,其特征在于,
所述的模式信息设置单元为帧内预测模式设置单元或宏块模式设置单元;
所述的模式信息解析单元为对应的帧内预测模式解析单元或宏块模式解析单元。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610092124 CN100596203C (zh) | 2006-06-05 | 2006-06-05 | 一种图像编解码方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610092124 CN100596203C (zh) | 2006-06-05 | 2006-06-05 | 一种图像编解码方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101043632A CN101043632A (zh) | 2007-09-26 |
CN100596203C true CN100596203C (zh) | 2010-03-24 |
Family
ID=38808781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610092124 Active CN100596203C (zh) | 2006-06-05 | 2006-06-05 | 一种图像编解码方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100596203C (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101453642B (zh) * | 2007-11-30 | 2012-12-26 | 华为技术有限公司 | 图像编/解码方法、装置和系统 |
US9462233B2 (en) | 2009-03-13 | 2016-10-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods of and arrangements for processing an encoded bit stream |
CN102196254B (zh) * | 2010-03-11 | 2013-03-13 | 中国科学院微电子研究所 | 一种视频编码复杂度自适应调整方法及装置 |
US9204155B2 (en) * | 2010-09-30 | 2015-12-01 | Futurewei Technologies, Inc. | Multiple predictor set for intra coding with intra mode prediction |
HUE038712T2 (hu) | 2011-06-28 | 2018-11-28 | Samsung Electronics Co Ltd | Eljárás video dekódolására intra predikcióval |
-
2006
- 2006-06-05 CN CN 200610092124 patent/CN100596203C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101043632A (zh) | 2007-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101411196B (zh) | 用于对与视频压缩相关联的信息进行编码及解码的方法及设备 | |
CN100488254C (zh) | 一种基于上下文的熵编码方法及解码方法 | |
CN101252686B (zh) | 基于交织预测的视频帧内无损编解码方法及系统 | |
CN101605255B (zh) | 一种视频编解码的方法及装置 | |
CN1332563C (zh) | 一种视频图像跳过宏块的编码方法 | |
CN102685474B (zh) | 预测模式的编解码方法、编解码设备及网络系统 | |
CN101584218B (zh) | 基于帧内预测的编码和解码方法及设备 | |
CN101098473B (zh) | 一种图像编码方法及装置 | |
CN101677406B (zh) | 一种视频编解码的方法及装置 | |
CN1361991A (zh) | 视频编码 | |
CN100596203C (zh) | 一种图像编解码方法及系统 | |
CN101500160B (zh) | 一种码流标识方法、装置及编解码系统 | |
CN101711481A (zh) | 使用预测数据精选进行视频编码的方法和装置 | |
CN1810038A (zh) | 检测压缩视频比特流中的水印的解码方法和设备 | |
CN101198051A (zh) | 基于h.264的熵解码器的实现方法及装置 | |
CN102835107A (zh) | 高性能视频编码的超块 | |
CN103843341A (zh) | 用于管理视频解码过程中的画面的解码器及其方法 | |
CN102752592B (zh) | 视频变换系数的熵编码方法 | |
CN101127919B (zh) | 一种视频序列的编码方法 | |
WO2010083743A1 (zh) | 基于二重预测的编解码方法及装置 | |
CN101198054A (zh) | 变长编解码方法及其编解码器 | |
CN101867818B (zh) | 宏块模式的选择方法和装置 | |
CN101267567A (zh) | 帧内预测、编解码方法及装置 | |
CN100551064C (zh) | 变长编码方法及装置 | |
CN101686398A (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 |