发明内容
H.264/AVC可分级性扩展SVC还提供其他类型的可分级性,如空间可分级性。在空间可分级性中,BL和EL中像素的数目是不同的。因此,出现了如何将位深度可分级性与其他可分级性相结合尤其是与空间可分级性结合的问题。本发明提供该问题的解决方案。
权利要求1公开了一种编码方法,该方法允许位深度可分级性与其他可分级性相结合。权利要求5公开了相应的解码方法。
利用编码方法的设备在权利要求9中公开,利用解码方法的设备在权利要求10中公开。
根据本发明,在层间预测中使用基于逆色调映射技术(inversetone mapping)的查询表(LUT)以提高编码效率。当BL片的类型是I片(I-slice)时使用基于逆色调映射技术的LUT。基于在编码器所重构的BLI片和所配置的原始EL片来创建LUT,整个方案可以在SVC的结构中实施,并且支持对其他类型的可分级性、时间、空间以及SNR可分级性的兼容性。
在一个实施例中,在两个逻辑步骤中对BL信息增采样,一个逻辑步骤是纹理增采样,另一个逻辑步骤是深度增采样。纹理增采样是增加像素数目的过程,深度增采样是增加每个像素可以具有的值的数目的过程。该值对应于像素的色彩强度。增采样的BL单元被用来预测所配置(collocated)的EL单元,编码器由EL视频数据产生残差,并且该残差可以进一步被编码(通常被熵编码)和传送。将被增采样的BL信息可以是任何粒度,例如单像素单元、像素块、宏块(MBs)或者整个图像。此外,可以在单个步骤中执行两个逻辑增采样步骤。在编码器侧增采样基本层信息,在解码器侧也以同样的方式增采样基本层信息,其中,增采样涉及空间和位深度的特征。
而且,可以为帧内编码的图像和帧间编码的图像执行所组合的空间和位深度增采样。
具体地,用于对具有基本层和增强层的视频数据进行编码的方法,其中,基本层的像素具有比增强层的像素低的位深度和空间分辨率(resolution),该方法包括以下步骤:
以片为层级对基本层数据进行编码,其中,第一基本层片被帧内编码,第二基本层片被帧间编码,
重构经编码的基本层片,
对所重构的基本层片进行增采样,其中,获得相应增强层片的第一预测形式(version),其具有比基本层片高的空间、时间或SNR分辨率,
为第一帧内编码的基本层片生成色调映射表(LUT),色调映射表定义了增采样的重构的第一基本层片和相应的原始增强层片之间的各映射,其中,两片被互相比较,其中,不为第二帧间编码的基本层片生成色调映射表,
基于该色调映射对增强层片的第一预测形式(version)进行位深度增采样,其中,获得相应增强层片的第二预测形式,其具有比增强层片的第一预测形式高的位深度分辨率,
产生增强层残差,该增强层残差是原始增强层片与相应增强层片的第二预测形式之间的差,以及
将增强层残差编码成增强层片,其中,增强层片在其片头中包括其相应的色调映射表。
根据本发明的一个方面,一种用于对视频数据进行解码的方法包括以下步骤:
接收增强层信息和基本层信息,
从增强层信息中提取色调映射数据,该色调映射数据来自帧内编码的增强层片的片头,
对所接收的信息执行逆量化(inverse quantization)以及逆变换(inverse transformation)(例如DCT),其中,经逆量化和逆变换的增强层信息包括残差信息,
重构帧内编码的基本层片,
对基本层信息进行增采样,其中,像素的数目增加,并且由于增加的像素数目,每个像素的值深度也增加,其中,所重构的基本层片和所提取的色调映射数据被用于帧内编码片,其中,获得预测的增强层信息,以及
由预测的增强层信息和经逆量化和逆变换的增强层信息,对重构的增强层视频信息进行重构。
在本发明的一个实施例中,用于编码的方法包括以下步骤:对BL信息进行帧内编码;重构帧内编码的BL信息;对所重构的BL信息执行空间增采样和色彩位深度增采样;以及产生EL残差,EL残差是当前EL信息(即图像数据)与经空间增采样和色彩位深度增采样的BL信息(即图像数据)之间的差。
在本发明的一个实施例中,用于编码的方法包括以下步骤:产生BL残差,该BL残差是当前BL图像数据与所预测BL图像数据之间的差(通常用于帧间编码的BL),其中,预测的BL图像数据可由当前或在前的BL图像预测;对所述BL残差进行编码(即变换和量化),对编码的BL残差进行重构(逆变换和逆量化),对重构的BL残差执行残差(空间)增采样和色彩位深度增采样,并生成EL层间残差,EL层间残差为当前EL残差数据与所述空间及色彩位深度增采样的重构的BL残差之间的差。
有利地,两种提到的编码器实施例可以组合到一个组合编码器中,该组合编码器可以自适应地对帧内和帧间编码的视频数据进行编码。
在本发明的一个实施例中,解码方法还包括以下步骤(隐含地):检测所接收的BL信息被帧内编码;由所接收的经逆量化和逆变换的BL信息重构BL视频;对重构的BL视频进行增采样,其中,增采样包括纹理(空间)增采样和位深度增采样,且其中,获得预测的EL信息;以及由所预测的EL信息和所接收的经逆量化和逆变换的EL信息对重构的EL层视频信息进行重构。
在本发明的一个实施例中,解码的方法还包括以下步骤(隐含地):检测所接到的BL信息被帧间编码;从所接收的BL数据中提取BL残差;对所提取的BL残差执行残差(空间)增采样和色彩位深度增采样;从逆量化的和逆变换的EL信息中提取EL残差;由EL残差和增采样的BL残差对重构的EL残差进行重构,并由重构的EL残差和在前重构的EL信息重构EL视频信息。
有利地,两种提到的解码器实施例可以组合到一个组合解码器中,该组合解码器自适应地对帧内和帧间编码的视频数据进行解码。
根据本发明的另一个方面,一种用于对具有基本层和增强层的视频数据进行编码的设备,其中,基本层具有比增强层低的色彩分辨率和空间分辨率,该设备包括:用于以片未层级对基本层数据进行编码的装置,其中,第一基本层片被帧内编码,第二基本层片被帧间编码;用于重构经编码的基本层片的装置;用于对所重构的基本层片进行增采样的装置,其中,获得相应增强层片的第一预测形式,其具有比所述基本层片高的空间、时间或SNR分辨率;用于为第一帧内编码的基本层片生成色调映射表的装置,所述色调映射表定义了增采样的重构的第一基本层片与相应的原始增强层片之间的各映射,其中,两片被相互比较,其中,不为第二帧间编码的基本层片生成色调映射表;用于基于所述色调映射对所述增强层片的第一预测形式进行位深度增采样的装置,其中,获得相应增强层片的第二预测形式,其具有比所述增强层片的第一预测形式高的位深度分辨率;用于产生增强层残差的装置,所述增强层残差是原始增强层片与所述相应增强层片的第二预测形式之间的差;以及用于将所述增强层残差编码成增强层片的装置,其中,所述增强层片在其片头中包括其相应的色调映射表。
在本发明的一个实施例中,用于对视频数据进行编码或解码的设备包括用于执行空间(残差或纹理)增采样的装置和执行色彩位深度增采样的装置,其中用于空间增采样的装置增加BL信息中的值的数目,以及用于色彩位深度增采样的装置增大这些值的色彩范围,其中,获得所空间增采样和色彩位深度增采样的BL数据。
根据本发明的另一个方面,编码的可分级视频信号包括帧内编码BL数据和帧内编码EL数据,其中,帧内编码EL数据包括残差,该残差是增采样的BL图像与EL图像之间的差,其中该残差包括差分(differential)纹理信息和差分深度信息。
本发明提供的不同实施例的编码解决方案可与H.264/AVC和目前在H.264/AVC可分级扩展(SVC)中定义的所有类型的可分级性兼容。
本发明有利的实施例在所附的权利要求、以下的说明和附图中公开。
具体实施方式
如图1所示,两个视频用作视频编码器的输入:N位原始视频和M位(M<N,通常M=8)视频。M位视频可以由N位原始视频分解获得或者通过其他方式提供。通过利用BL图像,可分级解决方案可以减少两层之间的冗余。一个具有8位色彩、另一个具有N位色彩(N>8)的两个视频流输入到编码器,且输出是可分级的比特流。仅输入一个N位色彩数据流也是可能的,从该N位色彩数据流为BL内部生成M位(M<N)色彩数据流。用所包括的H.264/AVC解码器将M位视频编码为BL。BL的信息可用于提高EL的编码效率。这就是本文中所谓的层间预测。每个画面——一组MB——具有两个接入单元(access unit),一个用于BL,另一个用于EL。经编码的比特流被多路复用以形成可分级的比特流。BL编码器包括例如H.264/AVC编码器,利用重构预测用于EL编码的N位色彩视频。
如图1所示,可分级比特流示例性包含AVC兼容的BL比特流,其可由BL解码器(传统AVC解码器)解码。然后将在解码器侧执行与在编码器中同样的预测(在评估各指令后),从而得到预测的N位视频。借助N位预测的视频,EL解码器将使用该N位预测为高质量显示HQ生成最终的N位视频。
下面,当使用术语色彩位深度时,其意味着位深度,即每个值的比特数。这通常相应于色彩强度(color intensity)。
在一个实施例中,本发明以SVC空间、时间以及质量可分级性的当前结构为基础,并且由用于增强色彩位深度的位深度可分级性来增强。因此,该实施例与当前的SVC标准是完全兼容的。然而,本领域技术人员很容易将其应用于其他标准。位深度可分级性的关键是位深度层间预测。通过使用层间预测,N位视频与M位视频之间的差被作为EL编码。为了方便说明,下文中将使用如下符号:
BLorg:基本层原始MB
BLres:基本层残差MB
BLrec:基本层重构MB
ELorg:增强层原始MB
ELrec:增强层重构MB
EL’res:增强层残差MB
Prec{}:色彩位深度层间预测算符(operator)
Pret{}:纹理(空间)层间预测算符
Prer{}:残差(空间)层间预测算符
本发明应用基于逆色调映射技术(inverse tone mapping)(在位深度可分级编码的层间预测中使用)的LUT提高编码效率。基于所重构的BL片与所配置的原始EL片之间的关系在编码器一端创建LUT。通常,为每个亮度/色度通道(Y、Cb和Cr)创建一个LUT。在实践中,不同通道可以共享同一个LUT。然后在层间预测期间在解码器处使用所创建的LUT去相关(decorrelate)BL与EL之间的冗余。LUT插入到位流中,并且可以在解码器一端还原。解码器在层间预测中将使用相同的LUT,从而可以重构高质量的EL。
根据本发明的一个方面,仅当BL片被帧内编码(I片)时使用基于逆色调映射技术的LUT。这样具有以下优点:与同在当前SVC标准中使用的一样的帧内编码片的单循环解码相兼容,并且与同在当前SVC标准中支持的一样的其他类型可分级性相兼容。
示例性地,SVC兼容的MB级位深度可分级编码方案是基于当前的SVC空间可分级性的。下面提供帧内编码和帧间编码的空间可分级性到位深度可分级性的扩展的详细说明。SVC兼容的位深度可分级编码的第一步是如同H.264/AVC FRExt扩展(目前每样点10到14比特)在EL编码和解码中那样支持高比特编码。
帧内编码
图2示出用于从如同当前SVC标准中使用的空间可分级性到位深度可分级性的帧内纹理层间预测(intra texture inter-layerprediction)扩展的编码器。位深度增采样块BDUp表示到位深度可分级性的扩展,而其他块表示当前的SVC标准中的空间可分级性。该块BDUp是传统SVC帧内编码器和根据本发明的帧内编码器之间的差别(difference)。在图2中,M位基本层MB被输入到BL编码器,而N位增强层MB被输入到EL编码器(N>M)。在当前的SVC标准中,纹理增采样是为空间帧内纹理层间预测设计的。在图2中,纹理增采样TUp的输入是重构的BL宏块BLrec,而输出是EL宏块的空间(纹理)预测形式(prediction version)Pret{BLrec}。位深度可分级性是通过紧随纹理增采样TUp之后的位深度增采样BDUp(在该实例中)的步骤实现的。在实践中,首先应用纹理增采样作为空间层间预测是有利的,然后位深度增采样BDUp作为位深度层间预测执行。通过纹理增采样TUp和位深度增采样BDUp,获取N位EL宏块的预测形式Prec{Pret{BLrec}}。类似的残差可通过预测的逆序步骤获得。
原始N位EL宏块ELorg与其预测形式Prec{Pret{BLrec}}之间的残差EL’res通过差值发生器DEL获得。在本发明一个实施例中,与在SVC中一样,残差进一步被变换T、量化Q和熵编码ECEL从而形成EL子比特流。在数学表达中,色彩位深度帧内增采样的残差为:
EL′res=ELorg-Prec{Pret{BLrec}}, (等式1)
其中,Pret{}表示纹理增采样算符。
不同形式的编码过程都是可能的,并可通过控制参数来控制。在图2中示出了示例性标记base_mode_flag,该标记判定EL残差是基于重构的EL信息还是基于增采样的BL信息预测的。
下文中,给出了在SVC位深度可分级性中使基于LUT的逆色调映射可行的技术方案的说明性实施例。详细地,如表1第46-71行示例性地示出的,一些新的语法元素添加到可分级扩展中的片头内。并且使用下面的表达式:
inv_tone_map_flag等于1表示将在Y通道的层间预测中调用逆色调映射过程。inv_tone_map_flag等于0表示将在Y通道的层间预测中不调用逆色调映射流程(缺省)。
lookup_table_luma_inv_tone_map_flag等于1表示在Y通道的层间预测中使用基于逆色调映射的查询表。
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
1 |
first_mb_in_slice |
2 |
ue(v) |
2 |
slice_type |
2 |
ue(v) |
3 |
pic_parameter_set_id |
2 |
ue(v) |
4 |
frame_num |
2 |
u(v) |
5 |
if(!frame_mbs_only_flag){ |
|
|
6 |
field_pic_flag |
2 |
u(l) |
7 |
if(field_pic_flag) |
|
|
8 |
bottom_field_flag |
2 |
u(l) |
9 |
} |
|
|
10 |
if(nal_unit_type==21) |
|
|
11 |
idr_pic_id |
2 |
ue(v) |
12 |
if(pic_order_cnt_type==0){ |
|
|
13 |
pic_order_cnt_lsb |
2 |
u(v) |
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
14 |
if(pic_order_present_flag&&!field_pic_flag) |
|
|
15 |
delta_pic_order_cnt_bottom |
2 |
se(v) |
16 |
} |
|
|
17 |
if(pic_order_cnt_type==1&&!delta_pic_order_always_zero_flag){ |
|
|
18 |
delta_pic_order_cnt[0] |
2 |
se(v) |
19 |
if(pic_order_present_flag&&!field_pic_flag) |
|
|
20 |
delta_pic_order_cnt[1] |
2 |
se(v) |
21 |
} |
|
|
22 |
if(redundant_pic_cnt_present_flag) |
|
|
23 |
redundant_pic_cnt |
2 |
ue(v) |
24 |
if(slice_type==EB) |
|
|
25 |
direct_spatial_mv_pred_flag |
2 |
u(l) |
26 |
if(quality_id==0){ |
|
|
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
27 |
if(slice_type==EP||slice_type==EB){ |
|
|
28 |
num_ref_idx_active_override_flag |
2 |
u(l) |
29 |
if(num_ref_idx_active_override_flag){ |
|
|
30 |
num_ref_idx_l0_active_minus1 |
2 |
ue(v) |
31 |
if(slice_type==EB) |
|
|
32 |
num_ref_idx_l1_active_minus1 |
2 |
ue(v) |
33 |
} |
|
|
34 |
} |
|
|
35 |
Ref_pic_list_reordering() |
2 |
|
36 |
if(!layer_base_flag){ |
|
|
37 |
base_id |
2 |
ue(v) |
38 |
adaptive_prediction_flag |
2 |
u(l) |
39 |
if(!adaptive_prediction_flag){ |
|
|
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
40 |
default_base_mode_flag |
2 |
u(l) |
41 |
if(!default_base_mode_flag){ |
|
|
42 |
adaptive_motion_prediction_flag |
2 |
u(l) |
43 |
if(!adaptive_motion_prediction_flag) |
|
|
44 |
default_motion_prediction_flag |
2 |
u(l) |
45 |
} |
|
|
46 |
inv_tone_map_flag |
1 |
u(l) |
47 |
if(inv_tone_map_flag){ |
|
|
48 |
lookup_table_luma_inv_tone_map_flag |
1 |
u(l) |
49 |
if(lookup_table_luma_inv_tone_map_flag){ |
|
|
50 |
level_lookup_table_luma_minus8 |
1 |
u(v) |
51 |
for(i=0;i<(1<<(8+level_lookup_table_luma_minus8));i++){ |
|
|
52 |
offset_val_lookup_table_luma[i] |
1 |
u(v) |
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
53 |
} |
|
|
54 |
} |
|
|
55 |
lookup_table_chroma_inv_tone_map_flag |
1 |
u(l) |
56 |
if(lookup_table_chroma_inv_tone_map_flag){ |
1 |
u(l) |
57 |
lookup_table_chrom_inv_tone_map_override_flag |
1 |
u(l) |
58 |
if(lookup_table_chroma_inv_tone_map_override_flag|| |
|
|
59 |
!lookup_table_luma_inv_tone_map_flag){ |
|
|
60 |
level_lookup_table_chroma_minus8 |
1 |
u(v) |
61 |
for(i=0;i<(1<<(8+level_lookup_table_chroma_minus8)); |
|
|
62 |
i++){ |
|
|
63 |
offset_val_lookup_table_cb[i] |
1 |
u(v) |
64 |
} |
|
|
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
65 |
for(i=0;i<(1<<(8+level_lookup_table_chroma_minus8)); |
|
|
66 |
i++){ |
|
|
67 |
offset_val_lookup_table_cr[i] |
1 |
u(v) |
68 |
} |
|
|
69 |
} |
|
|
70 |
} |
|
|
71 |
} |
|
|
72 |
} |
|
|
73 |
adaptive_residual_prediction_flag |
2 |
u(l) |
74 |
} |
|
|
75 |
if((weighted_pred_flag&&slice_type==EP)||(weighted_bipred_idc==1&&slice_type==EB)){ |
|
|
76 |
if(adaptive_prediction_flag) |
|
|
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
77 |
base_pred_weight_table_flag |
2 |
u(l) |
78 |
if(layer_base_flag||base_pred_weight_table_flag==0) |
|
|
79 |
pred_weight_table() |
|
|
80 |
} |
|
|
81 |
if(nal_ref_idc!=0){ |
|
|
82 |
dec_ref_pic_marking() |
2 |
|
83 |
if(use_base_prediction_flag&&nal_unit_type!=21) |
|
|
84 |
dec_ref_pic_marking_base() |
|
|
85 |
} |
|
|
86 |
} |
|
|
87 |
if(entropy_coding_mode_flag&&slice_type!=EI) |
|
|
88 |
cabac_init_idc |
2 |
ue(v) |
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
89 |
slice_qp_delta |
2 |
se(v) |
90 |
if(deblocking_filter_control_present_flag){ |
|
|
91 |
disable_deblocking_filter_idc |
2 |
ue(v) |
92 |
if(disable_deblocking_filter_idc!=1){ |
|
|
93 |
slice_alpha_c0_offset_div2 |
2 |
se(v) |
94 |
slice_beta_offset_div2 |
2 |
se(v) |
95 |
} |
|
|
96 |
} |
|
|
97 |
if(interlayer_deblocking_filter_control_present_flag){ |
|
|
98 |
disable_interlayer_deblocking_filter_idc |
2 |
ue(v) |
99 |
if(disable_interlayer_deblocking_filter_idc!=1){ |
|
|
100 |
interlayer_slice__alpha_c0_offset_div2 |
2 |
se(v) |
101 |
interlayer_slice_beta_offset_div2 |
2 |
se(v) |
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
102 |
} |
|
|
103 |
} |
|
|
104 |
constrained_intra_upsampling_flag |
2 |
u(l) |
105 |
if(quality_id==0) |
|
|
106 |
if(num_slice_groups_minus1>0&&slice_group_map_type>=3&&slice_group_map_type<=5) |
|
|
107 |
slice_group_change_cycle |
2 |
u(v) |
108 |
if(quality_id==0&&extended_spatial_scalability>0){ |
|
|
109 |
if(chroma_format_idc>0){ |
|
|
110 |
base_chroma_phase_x_plus1 |
2 |
u(2) |
111 |
base_chroma_phase_y_plus1 |
2 |
u(2) |
112 |
} |
|
|
113 |
if(extended_spatial_scalability==2){ |
|
|
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
114 |
scaled_base_left_offset |
2 |
se(v) |
115 |
scaled_base_top_offset |
2 |
se(v) |
116 |
scaled_base_right_offset |
2 |
se(v) |
117 |
scaled_base_bottom_offset |
2 |
se(v) |
118 |
} |
|
|
119 |
} |
|
|
120 |
if(use_base_prediction_flag) |
|
|
121 |
store_base_rep_flag |
2 |
u(l) |
122 |
if(quality_id==0){ |
|
|
123 |
if(BaseFrameMbsOnlyFlag&&!frame_mbs_only_flag&&!field_pic_flag) |
|
|
124 |
base_frame_and_bottom_field_coincided_flag |
2 |
u(l) |
# |
slice_header_in_scalable_extension(){ |
C |
描述符 |
125 |
else if(frame_mbs_only_flag&&!BaseFrameMbsOnlyFlag&&!BaseFieldPicFlag) |
|
|
126 |
base_bottom_field_coincided_flag |
2 |
u(l) |
127 |
} |
|
|
128 |
SpatialScalabilityType=spatial_scalability_type() |
|
|
129 |
} |
|
|
表1:可分级扩展中片头内的示例性实施
lookup_table_luma_inv_tone_map_flag等于0表示在Y通道的层间预测中不使用基于查询表的逆色调映射(缺省)。
level_lookup_table_luma_minus8加上8表示Y通道的查询表的层数(level number)。
offset_val_lookup_table_luma[i]表示Y通道的查询表中的层i通过以下方式所映射到的值:
如果i不等于0,则Y通道查询表中的层i所映射到的值s[i]等于s[i-1]加上offset_val_lookup_table_luma[i],其中,s[i-1]是Y通道查询表中的层i-1所映射到的值。
如果i等于0,则Y通道查询表中的层i所映射到的值s[i]等于offset_val_lookup_table_luma[i]。
lookup_table_chroma_inv_tone_map_flag等于1表示在Cb和Cr通道的层间预测中使用基于逆色调映射的查询表。lookup_table_luma_inv_tone_map_flag等于0表示在Cb和Cr通道的层间预测中不使用基于逆色调映射的查询表(缺省)。
lookup_table_chrom_inv_tone_map_override_flag等于0表示在Cb和Cr通道的层间预测中再次使用Y通道的查询表(缺省)。lookup_table_chrom_inv_tone_map_override_flag等于1表示在Cb和Cr通道的层间预测中使用除Y通道的查询表外的不同查询表。
level_lookup_table_chroma_minus8加上8表示Cb和Cr通道的查询表的层数。
offset_val_lookup_table_cb[i]表示Cb通道的查询表中层i通过以下方式所映射到的值:
如果i不等于0,则Cb通道的查询表中层i所映射到值s[i]等于s[i-1]加上offset_val_lookup_table_cb[i],其中s[i-1]是Cb通道的查询表中的层i-1所映射到的值。
如果i等于0,则Cb通道的查询表中层i所映射到的值s[i]等于offset_val_lookup_table_cb[i]。
offset_val_lookup_table_cr[i]表示Cr通道的查询表中层i通过以下方式所映射到的值:
如果i不等于0,则Cr通道的查询表中层i所映射到的值s[i]等于s[i-1]加上offset_val_lookup_table_cr[i],其中,s[i-1]是Cr通道的查询表中层i-1所映射到的值。
如果i等于0,则Cr通道的查询表中层i所映射到的值s[i]等于offset_val_lookup_table_cr[i]。
LUT是基于原始EL片和增采样重构的BL片产生,因此LUT可以用于在解码器处将增采样重构的BL片映射至EL片。这具有以下优点:LUT定义在解码器处可用的片,即(增采样)重构的BL片,与具有最高可用质量的EL片,即原始EL片,之间的映射。因此,该方法最佳地适于解码器的需求。
在编码器和解码器处,重构帧内编码的BL并且在原始EL和增采样重构的BL之间应用层间预测。对于帧内编码片,如果BL是I片,则为BL/EL片对分别产生LUT,并且LUT与EL片一起被传送。在编码器处通过使用该LUT由重构的BL片预测EL片,并且对残差进行帧内编码和传送。然后在解码器处用LUT重构BL片(I片),并且与残差相加,其结果是具有更高色彩位深度的EL片(I片)。对于P片和B片,由于原始BL和EL之间的可能非线性变换,对重构的BL和原始EL效果良好的LUTs可能对残差的效果并不好,所以应该使用LUT之外的另一项技术。
关于支持基于逆色调映射的LUT的所添加的语法元素,将所添加的语法元素插入到slice_header_in_scalable_extension存在以下两个优点:
首先,在实践中,不同的片可以具有不同的LUT。在片级中添加新的语法元素允许使用逆色调映射的灵活性。例如,在基于对象的片分割的情况下,由于不同的片具有不同的特征,并且BL片和所配置的EL片之间的关系在不同片中可能是完全不同的。因此,为不同的片创建不同LUTs有利的。
另外,当在JSVM中片级语法元素被写入位流时,重构的BL是可用的,然后可以创建LUT。例如,如果LUT信息被写入序列参数集(SPS)或者图像参数集(PPS),将需要JSVM发生显著改变。
帧间编码
帧间编码的位深度可分级性的实现不同于帧内编码的位深度可分级性。在当前的SVC标准中,为空间帧间纹理层间预测设计有运动增采样(motion upsampling)和残差增采样。
对于帧间编码片(P片和B片),层间预测不以重构的BL为基础。这使得帧间编码片能够与SVC的空间可分级性兼容。因此,与在空间可分级性中所做的一样,将运动补偿预测应用在EL处。接着对重构的BL和原始EL之间的残差进行变换、量化以及熵编码。
关于P片和B片,应用图3和图5所示的技术。也可以使用与I片之一相同的LUT由BL残差预测EL残差,但是由于原始BL与EL之间的可能非线性变换,因此结果不是很好。因此,对重构的BL和原始EL效果良好的LUTs可能对残差的效果不是很好。
图3示出用于帧间编码的(P和B)宏块的残差层间预测扩展的编码器。位深度可分级性是通过紧随(空间)残差增采样RUp之后的位深度增采样BDUp步骤实现的。残差增采样RUp的输入是重构的BL残差BLres,rec,k,该重构的残差BLres,rec,k是将被传输的BL残差BLres,k的重构形式(如在下面的等式3中所表示的)。在实践中,首先执行运动增采样MUp,然后作为一种空间层间预测执行残差增采样RUp。最后,作为位深度层间预测执行位深度增采样BDUp。通过运动增采样MUp、残差增采样RUp和色彩位深度增采样BDUp,获得N位EL宏块的预测形式Prec{Prer{BLres,rec,k}}。与在SVC中一样,最后得到的增强层残差EL’res,k(如在下面(等式3中)定义的)被进一步变换T、量化Q和熵编码从而形成EL子比特流。
不同形式的编码过程都是可能的,并可通过控制参数控制。图3中示出了标记base_mode_flag和residual_pred_flag,标记base_mode_flag控制EL运动补偿是基于从EL获得的运动矢量还是基于从BL增采样的运动矢量,标记residual_pred_flag控制BL残差是否被用于预测EL残差。如图2所示,base_mode_flag还用于控制帧内纹理层间预测。
图4示出了用于帧内编码的BL图像的示例性解码器,其利用层间预测。在接收经编码的BL和EL信息后,如在多路复用的包化比特流(packetized bitstream)中,分离BL信息和EL信息,BL信息和EL信息被熵解码。然后应用逆量化Q-1和逆变换T-1。对于BL,其处理与传统SVC的一样:使用空间帧内预测重构图像,即基于同一图像的先前的重构信息。在去块后,最后生成的BL信号BLrec可显示在如上所述的8位色彩深度的标准SVC显示器上。然而,可替换地,该信号也可用来生成配置的EL图像的预测形式Prec{Pret{BLrec}}:为了该目的,信号BLrec被纹理增采样TUp,获得EL图像的纹理预测形式Pret{BLrec},然后使用摘录的查找表进行位深度增采样BDUp。然后,纹理和位深度增采样重构的BL图像Prec{Pret{BLrec}}用于更新A2,EL——改善的经逆量化和逆变换的EL残差EL’res,从而获得在去块后可作为由HQ显示的EL视频ELrec输出的信号。
当然,以EL模式运行的解码器也内部产生BL视频BLrec,因为EL预测需要该视频,但BL视频不必在解码器输出端可用。在一个实施例中,解码器具有两个输出端:一个用于BL视频BLrec,一个用于EL视频ELrec,而在另一个是实例中,解码器仅有一个用于EL视频ELrec的输出。
如上文对图2的帧内编码器的说明,解码器也可以相应于编码器以不同模式工作。因此,从位流中提取并评估(evaluate)相应的标记,例如,决定是否使用层间预测的指示base_mode_flag。否则,使用去块化、空间预测以及空间预测图像的更新A1,EL传统地重构EL图像。
图5示出了帧间编码单元如帧间编码的MBs的示例性解码器。在一个实施例中,从可能已经被熵编码并相应解码的BL位流中检测并提取运动数据,以及如果需要可以为EL增采样这些数据。这可以由包括在BL或EL位流中的指示指明。进一步,BL比特流数据被逆量化Q-1以及逆变换T-1,从而获得重构的BL残差BLres,k。如果需要BL视频信号BLdec,则BL处理进一步包括包含去块化的传统SVC解码、在帧存储器中存储、运动补偿和以残差BLres,k更新运动补偿的预测图像。如果仅需要EL视频信号,那么可以省略这些步骤。
残差BLres,k用于预测EL数据:残差BLres,k被残差增采样RUp和位深度增采样BDUp增采样以生成预测信号Prec{Prer{BLres,k}},其中,残差增采样RUp是一种空间增采样,即值的数目增加,位深度增采样BDUp即位深度增加、因而每个值的可能范围增加。如果配置的EL单元如由标记residual_pred_flag所指示的已经用残差层间预测进行了编码,则预测的残差Prec{Pret{BLrec}}被用来更新A’1——接收的经逆量化和逆变换的EL残差EL’res,k,从而获得实际EL残差ELres,k。所接收的经逆量化和逆变换的EL残差EL’res,k大体上等于传统空间EL残差Rorg和残差Rrec,k-1(αΔx,αΔy)之间的差,残差Rrec,k-1(αΔx,αΔy)是由前一单元k-1在编码器中重构然后被增采样的。
进一步的EL处理大体上与SVC中的处理类似(然而使用增强的位深度):被用来按照如下步骤更新预测的EL图像S_ELrec,k-1=ELrec,k-1(αΔx,αΔy):即去块化DeblkEL、在帧存储器FM中存储和重构图像ELrec,k-1的运动补偿MC。如果所接收的增强层数据ELenc包含运动信息ELMI,则提取该运动信息并将其提供给运动补偿单元MC。可选地,可以使用由BL增采样的运动信息MUp。
显然根据本发明的改进的EL残差与SVC空间可分级性中定义的残差不同。然而,如图6所示,其编码大体上相当于帧间编码原始EL宏块ELorg,k与纹理(空间)和位深度增采样BL宏块Prec{Prer{BLorg,k}}之间的差。
所提出的空间可分级性到位深度可分级性的扩展的一个优点是实现至色彩位深度可分级性的扩展不需要新的预测模式。
另一个优点是,特别对于帧间编码,可获得高编码效率,因为最后编码的EL残差是“残差的残差”,因此相当于如(等式3)中定义的层间残差的帧间编码。在实践中,帧间编码中最终编码的EL残差等于原始EL宏块减去运动(增采样运动)补偿重构基准EL宏块,然后减去经运动补偿、残差增采样、随后经位深度增采样形式的配置的BL重构残差。
另一个优点是对于帧间编码的情况不需要重构BL宏块。因此可以省略BL重构,从而使得解码器更简单。
有利地,色彩位深度可分级性的帧内编码是通过本发明提出的帧内色彩位深度层间预测实现的,在一个实施例中,帧内色彩位深度层间预测紧随帧内纹理层间预测之后。
本发明进一步的优点是对其他类型可分级性的完全兼容性、鲁棒性以及对高级技术的可扩展性(extendibility)。具体地,本发明提高了编码效率,同时还保持了单循环解码框架,以将基于LUT的逆色调映射仅应用于基本层的I片。
还有一个优点就是重构片用于帧间编码片的增采样,由于仅重构的BL而不是原始BL在解码器处可用。因此在编码器一侧的预测更好地适于在解码器一侧的预测,以便残差更好并且在解码器一侧可以达到更好的预测和重构结果。
本发明可以用于可分级的编码器、可分级的解码器以及可分级的信号,尤其可用于视频信号或具有不同质量层和高层间冗余的其他类型信号。
应该理解本发明仅以实例的方式进行了说明,在不背离本发明范围的情况下可以对细节进行修改。在说明书和(适当处)权利要求及附图中公开的每个特征可以独立地或以任何合适的组合方式提供。这些特征可以以硬件、软件或者二者的组合(在适当处)实现。权利要求书中出现的标号仅为了说明而不应对权利要求的范围有限制效果。