CN101529914A - 用于多视角视频编码的图像管理 - Google Patents
用于多视角视频编码的图像管理 Download PDFInfo
- Publication number
- CN101529914A CN101529914A CN 200780039819 CN200780039819A CN101529914A CN 101529914 A CN101529914 A CN 101529914A CN 200780039819 CN200780039819 CN 200780039819 CN 200780039819 A CN200780039819 A CN 200780039819A CN 101529914 A CN101529914 A CN 101529914A
- Authority
- CN
- China
- Prior art keywords
- visual angle
- image
- decoded
- picture
- dependency information
- 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.)
- Pending
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
根据总的方面,基于描述经解码图像的一个或多个间隔视角依赖性关系的依赖性信息从存储器删除该图像。实现方式还可以包括访问来自第一视角的图像和依赖性信息。该依赖性信息可以描述来自第一视角的图像的一个或多个间隔视角依赖性关系。来自第一视角的图像可以被解码以产生经解码图像。该经解码图像可以被存储在存储器中。一种应用领域涉及当经解码图像不再需要作为参考图像时从经解码图像缓冲器中删除这种图像。
Description
相关申请的交叉引用
本申请要求下述每个申请的优先权:(1)2006年10月24日提交的、题为“Decoded Reference Picture Management for MVC”的美国临时申请No.60/853,932,以及(2)2006年11月21日提交的、题为“Inter-View and Temporal Refernece Picture Identification for MVC”的美国临时申请No.60/860,367。这两个在先申请中的每个都通过引用整体结合于此。
技术领域
本发明的原理一般地涉及视频编码和解码。
背景技术
视频解码器可以解码图像,并且将该图像存储到存储器中,直到解码器确定不再需要该已解码的图像。这种已解码的图像可能需要例如用来对基于该已解码的图像而被编码的后续图像进行解码。在各种***中,图像被编码为与被称作“参考图像”的前一图像的差异,并且解码后的参考图像被存储在解码器处,直到使用了该参考图像的所有后续图像都已被解码为止。对参考图像的存储消耗了解码器处宝贵的存储器。
发明内容
根据一个总的方面,访问来自第一视角的图像和依赖性信息二者。该依赖性信息描述来自第一视角的图像的一个或多个间隔视角(inter-view)依赖性关系。来自第一视角的图像被解码来产生经解码图像。经解码图像被存储到存储器中。此外,基于该依赖性信息,所存储的经解码图像被从存储器删除。
根据另一个总的方面,基于描述图像的一个或多个间隔视角依赖性关系的依赖性信息,经解码图像被从存储器删除。
在附图和下面的描述中阐述了一种或多种实现方式的细节。即使以一种特定方式进行了描述,但是也应当清楚可以以多种方式来配置或实施这些实现方式。例如,一种实现方式可以作为方法执行,或者实施为被配置来执行一组操作的装置,或者实施为存储用于执行一组操作的指令的装置,或者实施在信号中。结合附图和权利要求书,从下面的详细描述中可以清楚其他方面和特征。
附图说明
图1是示例性编码器的框图。
图2是示例性解码器的框图。
图3是基于MPEG-4AVC标准并且具有8个视角的示例性间隔视角时间预测结构的图。
图4是用于对参考图像管理数据进行编码的示例性方法的图。
图5是用于对参考图像管理数据进行解码的示例性方法的图。
图6是用于确定间隔视角依赖性的示例性方法的图。
图7是用于确定间隔视角依赖性的另一种示例性方法的图。
图8是示例性编码器的高级别视图。
图9是示例性解码器的高级别视图。
图10是用于确定依赖性的方法的实现方式的流程图。
图11是用于删除存储的图像的方法的实现方式的流程图。
具体实施方式
这里所述的至少一种实现方式提供了一种基于间隔视角依赖性信息从存储器删除给定的经解码图像的视频编码器和/或视频解码器。间隔视角依赖性信息描述了给定经解码图像的一个或多个间隔视角依赖性关系。因此,通过访问例如对依赖于作为参考图像的给定经解码图像的所有后续图像进行描述的信息,视频解码器(例如)将在对所有那些后续图像进行解码后删除该给定经解码图像。另外的实现方式在所有那些后续图像都被解码后标记该给定经解码图像,而不立即删除该给定经解码图像。可以按照例如(下面定义的)基于MPEG-4AVC标准的MVC的高级语法对依赖性信息进行编码。
在基于国际标准化组织/国际电工委员会(ISO/IEC)运动图像专家组-4(MPEG-4)第10部分高级视频编码(AVC)标准/国际电信联盟电信部门(ITU-T)H.264推荐(下文中称为“MPEG-4AVC标准”)的多视角视频编码的当前实现方式中,参考软件通过利用单个编码器来对每个视角进行编码并且考虑了交叉视角(cross-view)参考从而实现多视角预测。另外,基于MPEG-4AVC标准的MVC(下文称作“基于MPEG-4AVC标准的MVC”)的当前实现方式还对不同视角之间的图像顺序计数(POC)和帧/图像号(frame_num)去耦合,从而允许具有相同frame_num和POC的图像出现在经解码图像缓冲器(DPB)中。利用与这些图像相关联的视角标识符(view_id)区分这些图像。
为了管理经解码图像缓冲器,基于MPEG-4AVC标准的MVC使用MPEG-4AVC兼容存储器管理控制操作(MMCO)命令。这些MMCO命令仅对具有与用来携带这些MMCO命令的图像相同view_id的多个图像操作。
这可能过于受限,并且还可能效率低下,因为不允许MMCO命令标记view_id与其自身不同的图像,所以所需经解码图像缓冲器大小一般较大。因此,为了允许较小的经解码图像缓冲器大小(从而使用较少的存储器),应当以更高效的方式来管理图像。
根据MPEG-4AVC标准,被编码或解码并且可用于参考的图像被存储到经解码图像缓冲器中。该图像随后被标记为(a)短期参考图像或(b)长期参考图像。短期参考图像可以在稍后时刻被指派一个LongTermPicNum(而“被改变”为长期参考图像)。这种标记过程是利用表1所示的MMCO命令完成的。表1示出了经解码参考图像标记语法。利用MMCO命令可以实现高效的经解码图像缓冲器管理。
表1
dec_ref_pic_marking(){ | C | 描述符 |
if(nal_unit_type==5||nal_unit_type==21){/*nal_unit_type21在附录G中指定*/ | ||
no_output_of_prior_pics_flag | 2|5 | u(1) |
long_term_reference_flag | 2|5 | u(1) |
}else{ | ||
adaptive_ref_pic_marking_mode_flag | 2|5 | u(1) |
if(adaptive_ref_pic_marking_mode_flag) | ||
do{ | ||
memory_management_control_operation | 2|5 | ue(v) |
if(memory_management_control_operation==1||memory_management_control_operation==3) | ||
difference_of_pic_nums_minus1 | 2|5 | ue(v) |
if(memory_management_control_operation==2) | ||
long_term_pic_num | 2|5 | ue(v) |
if(memory_management_control_operation==3||memory_management_control_operation==6) | ||
long_term_frame_idx | 2|5 | ue(v) |
if(memory_management_control_operation==4) | ||
max_long_term_frame_idx_plus1 | 2|5 | ue(v) |
}while(memory_management_control_operation!=0) | ||
} | ||
} |
自适应参考图像管理和滑动窗口标记之间的选择是利用片段头部中出现的adaptive_ref_pic_marking_mode_flag实现的。表2中示出了对adaptive_ref_pic_marking_mode_flag的解释。
表2
adaptive_ref_pic_marking_mode_flag | 所指定的参考图像标记模式 |
0 | 滑动窗参考图像标记模式:对于短期 |
参考图像提供了先入先出机制的一种标记模式 | |
1 | 自适应参考图像标记模式:提供语法元素来指定将参考图像标记为“不用于参考”并且指派长期帧索引的一种参考图像标记模式 |
表3中示出了对每个存储器管理控制操作命令的解释。表3示出了存储器管理控制操作(memory_management_control_operation)值。
表3
memory_management_control_operation | 存储器管理控制操作 |
0 | 结束memory_management_control_operation语法元素循环 |
1 | 将短期参考图像标记为“不用于参考” |
2 | 将长期参考图像标记为“不用于参考” |
3 | 将短期参考图像标记为“用于长期参考”,并且向其指派长期帧索引 |
4 | 指定最大长期帧索引,并且将长期帧索引大于该最大值的所有长期参考图像标记为“不用于参考” |
5 | 将所有参考图像标记为“不用于参考”,并且将MaxLongTermFrameIdx变量设置为“非长期帧索引” |
6 | 将当前图像标记为“用于长期参考”,并且向其指派长期帧索引 |
在一种用于多视角视频编码的MPEG-4AVC标准兼容解决方案中,所有视频序列被交织成单个序列。这单个交织后的序列被馈送到MPEG-4AVC标准兼容编码器中,产生了MPEG-4AVC标准兼容比特流。
由于这是一种MPEG-4AVC标准兼容实现方式,所以无法标识任一图像所属的视角。由于在未考虑这点的情况下指派了帧号(frame_num)和图像顺序计数,所以MPEG-4AVC标准兼容MMCO命令可以实现高效的经解码图像缓冲器大小管理。
在基于MPEG-4AVC标准的MVC中,额外的语法已被添加到序列参数集中,如表4所示,用来告知交叉视角参考。表4示出了序列参数集(SPS)多视角视频编码扩展语法。该语法用来指示将以下述方式用于锚定和非锚定图像的交叉视角参考。
表4
seq_parameter_set_mvc_extension(){ | C | 描述符 |
num_views_minus_1 | ue(v) | |
for(i=0;i<=num_minus_1;i++) | ||
view_id[i] | ue(v) | |
for(i=0;i<=num_views_minus_1;i++){ | ||
num_anchor_refs_10[i] | ue(v) | |
for(j=0;j<num_anchor_refs_10[i];j++) | ||
anchor_ref_10[i][j] | ue(v) | |
num_anchor_refs_11[i] | ue(v) | |
for(j=0;j<num_anchor_refs_11[i];j++) | ||
anchor_ref_11[i][j] | ue(v) | |
} | ||
for(i=0;i<=num_views_minus_1;i++){ | ||
num_non_anchor_refs_10[i] | ue(v) | |
for(j=0;j<num_non_anchor_refs_10[i];j++) | ||
non_anchor_ref_10[i][j] | ue(v) | |
num_non_anchor_refs_11[i] | ue(v) |
for(j=0;j<num_non_anchor_refs_11[i];j++) | ||
non_anchor_ref_11[i][j] | ue(v) | |
} | ||
} |
下面的过程应当被执行来将来自与当前视角不同的视角的参考图像放置到参考预测列表中:
-如果当前图像是锚定图像或V-IDR图像,则对于i从0到num_anchor_refs_IX-1的每个值,具有等于anchor_ref_IX[i]的view_id、等于1的inter_view_flag、以及与当前图像相同的PicOrderCnt()的图像应当被附加到RefPicListX。
-否则(当前图像不是锚定图像并且不是V-IDR图像),则对于i从0到num_no_anchor_refs_IX-1的每个值,具有等于non_anchor_ref_IX[i]的view_id、等于1的inter_view_flag、以及与当前图像相同的PicOrderCnt()的图像应当被附加到RefPicListX。
在该实现方式中,存储器管理控制操作命令仅被与各个视角相关联,而不标记其他视角中的图像。直接结果是,交叉视角参考图像可以在经解码图像缓冲器中保存比必要时间长的时间,这是因为给定的交叉视角参考图像只能被比特流中稍后其自己的视角的图像标记为“不用于参考”。
在基于MPEG-4AVC标准的MVC中,未指定如何区分下面的情形(如表5所示):图像仅被用于间隔视角参考;图像仅被用于时间参考;图像被用于间隔视角参考和时间参考两者;以及图像不被用于参考。表5示出了针对时间参考和间隔视角参考的参考图像情形。
表5
时间参考 | 间隔视角参考 |
0 | 0 |
0 | 1 |
1 | 0 |
1 | 1 |
联合多视角视频模型(JMVM)的当前实现方式指定了出现在除当前视角之外的一个视角中的图像在特定条件下将被标记为“不用于参考”的条件。这些条件如下:
-如果当前图像是锚定图像,则满足下面条件的所有参考图像都应被标记为“不用于参考”:
-参考图像具有与当前图像相同的PicOrderCnt()。
-参考图像对于对来自由anchor_ref_IX(X为0或1)指示的不同视角的解码顺序中的后续图像进行解码不是必需的。
-参考图像对于对其自己的视角中的后续图像的解码不是必需的。
-如果当前图像不是锚定图像,则满足下面条件的所有参考图像都应被标记为“不用于参考”:
-参考图像具有与当前图像相同的PicOrderCnt();并且
-参考图像对于对来自由noo_anchor_ref_IX(X为0或1)指示的不同视角的解码顺序中的后续图像进行解码不是必需的。
-参考图像对于对其自己的视角中的后续图像的解码不是必需的。
对满足上面条件的图像进行标记被称作“隐式标记”。更一般而言,隐式标记指利用现有语法而不利用附加显式信令执行的标记。对于利用上述隐式标记的高效经解码图像缓冲器管理,区分表5中示出的情形是重要的。但是在基于MPEG-4AVC标准的MVC中并未清楚指定如何可以实现这种区别。
表4所示用于多视角视频编码扩展的序列参数集包括对于特定视角哪些视角被用作参考的信息。该信息可用来生成参考表或其他数据结构,以指示哪些视角被用作间隔视角参考、哪些不被用作间隔视角参考。此外,该信息可以已知对于锚定图像和非锚定图像是分开的。
在另一种方法中,一个新的标志指示图像是否被用作间隔视角预测参考。这在可扩展视频编码/多视角视频编码扩展的网络抽象层(NAL)单元头部中告知,并且语法元素nal_ref_idc仅仅指示一图像是否被用于间隔视角预测(也称作“时间”)参考。nal_ref_idc在表6示出的网络抽象层单元语法表中被告知。
表6
nal_unit(NumBytesInNALunit){ | C | 描述符 |
forbidden_zero_bit | 全部 | f(1) |
nal_ref_idc | 全部 | u(2) |
nal_unit_type | 全部 | u(5) |
NumBytesInRBSP=0 | ||
for(i=1;i<NumBytesInNALunit;i++){ | ||
if(i+2<NumBytesInNALunit&&next_bits(24)==0x000003){ | ||
rbsp_byte[NumBytesInRBSP++] | 全部 | b(8) |
rbsp_byte[NumBytesInRBSP++] | 全部 | b(8) |
i+=2 | ||
emulation_prevention_three_byte/*等于0x03*/ | 全部 | f(8) |
}else | ||
rbsp_byte[NumBytesInRBSP++] | 全部 | b(8) |
} | ue(v) | |
} |
nal_ref_idc当前利用下面的语义来定义:
不等于0的nal_ref_idc指定包括序列参数集或者图像参数集或者参考图像的片段或者参考图像的片段数据划分的NAL单元的内容。
对于包括片段或片段数据划分的NAL单元,等于0的nal_ref_idc指示该片段或片段书划分是非参考图像的一部分。
对于序列参数集或序列参数集扩展或者图像参数集NAL单元,nal_ref_idc不应等于0。当对于特定图像的一个片段或片段数据划分NAL单元nal_ref_idc等于0时,对于该图像的所有片段和片段数据划分NAL单元它都应当等于0。
对于IDR NAL单元,即,nal_unit_type等于5的NAL单元,nal_ref_idc不应当等于0。
对于nal_unit_type等于6、9、10、11或12的所有NAL单元,nal_ref_idc应当等于0。
下面的表7中示出了语法修改。表7示出了网络抽象层(NAL)可扩展视频编码(SVC)多视角视频编码扩展语法。
表7
nal_unit_header_svc_mvc_extension(){ | C | 描述符 |
svc_mvc_falg | 全部 | u(1) |
if(!svc_mvc_flag){ | ||
priority_id | 全部 | u(6) |
discardable_flag | 全部 | u(1) |
temporal_level | 全部 | u(3) |
dependency_id | 全部 | u(3) |
quality_level | 全部 | u(2) |
layer_base_flag | 全部 | u(1) |
use_base_prediction_flag | 全部 | u(1) |
fragmented_flag | 全部 | u(1) |
last_fragment_flag | 全部 | u(1) |
fragment_order | 全部 | u(2) |
reserved_zero_two_bits | 全部 | u(2) |
}else{ | ||
inter_view_reference_flag | 全部 | u(1) |
temporal_level | 全部 | u(3) |
view_level | 全部 | u(3) |
anchor_pic_flag | 全部 | u(1) |
view_id | 全部 | u(10) |
reserved_zero_five_bits | 全部 | u(5) |
} | ||
nalUnitHeaderBytes+=3 |
} |
inter_view_reference_flag的语义定义如下:
等于0的inter_view_reference_flag指示当前图像未被用于间隔视角预测参考。等于1的inter_view_reference_flag指示当前图像被用于间隔视角预测参考。
因此,通过查看nal_ref_idc和inter_view_reference_flag的组合,可以确定给定参考图像的类型。表8示出了针对参考图像类型的nal_ref_idc和inter_view_reference_flag。
表8
nal_ref_idc | inter_view_reference_flag | 类型 |
0 | 0 | 不用作参考 |
0 | 1 | 仅间隔视角参考 |
不等于0 | 0 | 仅时间参考 |
不等于0 | 1 | 时间和间隔视角参考 |
该方法明显使用了附加语法。
这里的描述说明了本发明的原理。因而,将会意识到,本领域技术人员能够设计各种布置,这些布置尽管在这里没有明确描述或示出,但是也能实现本发明的原理并且被包括在其精神和范围内。
这里所记载的所有示例和条件性语言都是为了教导目的,以帮助阅读者理解作为本发明的发明人对现有技术的贡献的本发明的原理和概念,并且被解释为不以任何方式限制这里具体记载的示例和条件。
而且,这里记载本发明的原理的各方面和实施例以及其特定示例的所有陈述都是为了包含其结构和功能等同物两者。另外,希望这些等同物既包括当前已知的等同物,又包括在未来开发的等同物,即,开发来执行相同功能(无论结构如何)的任何元素。
因而,例如,本领域技术人员将意识到,这里给出的框图表示实现本发明的原理的说明性电路的概念图。类似地,将会意识到,任何的流程表、流程图、状态转变图、伪代码等等都表示可以实质表示在计算机可读介质中并因此被计算机或处理器执行的各种过程,无论这种计算机或处理器是否明确示出。
附图中所示的各种元素的功能可以通过使用专用硬件以及能够与适当软件相关联地运行软件的硬件来提供。当由处理器提供时,这些功能可以由单个专用处理器提供,由单个共享处理器提供,或者由多个独立处理器提供,其中这多个处理器中的一些可以被共享。而且,术语“处理器”或“控制器”的明确使用不应当被解释为专有地指代能够运行软件的硬件,而是可以隐含地包括但不限于数字信号处理器(DSP)硬件、用于存储软件的只读存储器(ROM)、随机访问存储器(RAM)和非易失性存储装置。
也可包括其他硬件(常规的和/或定制的)。类似地,附图中所示的任何开关都只是概念性的。它们的功能可以通过程序逻辑的操作、通过专用逻辑、通过程序控制和专用逻辑的交互或者甚至手工地来执行,实施者可选择的特定技术可以从上下文中得到更具体的理解。
在其权利要求中,表达为用于执行特定功能的装置的任何元素都是为了包含执行该功能的任何方式,例如包括a)执行该功能的电路元素的组合或者b)任何形式的软件(包括固件、微代码等等)与用于执行该软件以实现功能的适当电路的组合。这些权利要求中所定义的本发明的原理体现了这样一个事实,即所记载的各种装置所提供的功能被组合并以权利要求所引用的方式被结合在一起。因而,可以认为可提供这些功能的任何装置都等同于这里所示出的内容。
说明书中提到本发明的原理的“一个实施例”或“实施例”是指结合实施例所描述的特定特征、结构、特性等等被包括在本发明的原理的至少一个实施例中。因而,在说明书中各处出现的术语“在一个实施例中”或“在实施例中”并不一定指的是同一实施例。
将意识到例如在“A和/或B”的情形中使用术语“和/或”是要包括对列出的第一选项(A)的选择、对列出的第二选项(B)的选择、或者对这两个选项(A和B)的选择。作为又一个示例,在“A、B、和/或C”的情形中,这种语句是要包括对列出的第一选项(A)的选择、对列出的第二选项(B)的选择、对列出的第三选项(C)的选择、对列出的第一和第二选项(A和B)的选择、对列出的第一和第三选项(A和C)的选择、对列出的第二和第三选项(B和C)的选择、或者对所有三个选项(A和B和C)的选择。对于列出的多个项目,这都可以被扩展,本领域和相关技术领域人员很容易明白。
这里所用的“高级语法”是指在比特流中存在的语法,其在分级结构中位于宏块层之上。例如,这里所用的高级语法可以指(但不限于)在片段头部级别、在补充增强信息(SEI)级别、在图像参数集(PPS)级别、在序列参数集(SPS)级别、以及在网络抽象层(NAL)单元头部级别的语法。
而且,将要意识到,尽管这里本发明的原理的一个或多个实施例是针对MPEG-4AVC标准描述的,但是本发明的原理并不仅限于这一标准或者限于任意标准。因而,对于其他视频编码实现方式和***(包括其他视频编码标准、推荐及其扩展(包括MPEG-4AVC标准的扩展)),也可以利用本发明的原理。
转到图1,标号100总地示出了示例性MVC编码器。编码器100包括组合器105,组合器105具有与变换器110的输入相连以进行信号传输的输出。变换器110的输出与量化器115的输入相连以进行信号传输。量化器115的输出与熵编码器120的输入和逆量化器125的输入相连以进行信号传输。逆量化器125的输出与逆变换器130的输入相连以进行信号传输。逆变换器130的输出与组合器135的第一非反相输入相连以进行信号传输。组合器135的输出与内预测器145的输入和解块滤波器150的输入相连以进行信号传输。解块滤波器150的输出与参考图像存储装置155(用于视角i)的输入相连以进行信号传输。参考图像存储装置155的输出与运动补偿器175的第一输入和运动估计器180的第一输入相连以进行信号传输。运动估计器180的输出与运动补偿器175的第二输入相连以进行信号传输。
参考图像存储装置160(用于其他视角)与差异估计器170的第一输入和差异补偿器165的第一输入相连以进行信号传输。差异估计器170的输出与差异补偿器165的第二输入相连以进行信号传输。
熵编码器120的输出可用作编码器100的输出。组合器105的非反相输入可用作编码器100的输入,并且与差异估计器170的第二输入和运动估计器180的第二输入相连以进行信号传输。开关185的输出与组合器135的第二非反相输入和组合器105的反相输入相连以进行信号传输。开关185包括与运动补偿器175的输出相连以进行信号传输的第一输入、与差异补偿器165的输出相连以进行信号传输的第二输入、以及与内预测器145的输出相连以进行信号传输的第三输入。
转到图2,标号200总地指示一种示例性MVC解码器。注意,编码器100和解码器200可配置来执行本公开中所述的各种方法。另外,编码器100可以在重构处理期间执行标记和/或删除功能。例如,编码器100可以维持经解码图像缓冲器的当前状态,从而镜像解码器的预期动作。从而,编码器100基本可以执行解码器200所执行的所有操作。
解码器200包括熵解码器205,熵解码器205具有与逆量化器210的输入相连以进行信号传输的输出。逆量化器的输出与逆变换器215的输入相连以进行信号传输。逆变换器215的输出与组合器220的第一非反相输入相连以进行信号传输。组合器220的输出与解块滤波器225的输入和内预测器230的输入相连以进行信号传输。解块滤波器225的输出与参考图像存储装置240(用于视角i)的输入相连以进行信号传输。参考图像存储装置240的输出与运动补偿器235的第一输入相连以进行信号传输。
参考图像存储装置245(用于其他视角)与差异补偿器250的第一输入相连以进行信号传输。
熵解码器205的输入可用作对解码器200的输入,用于接收残留比特流。此外,模式模块260的输入也可用作对解码器200的输入,用于接收控制语法以控制哪一个输入被开关255选择。另外,运动补偿器235的第二输入可用作解码器200的输入,用于接收运动向量。另外,差异补偿器250的第二输入可用作对解码器200的输入,用于接收差异向量。
开关255的输出与组合器220的第二非反相输入相连以进行信号传输。开关255的第一输入与差异补偿器250的输出相连以进行信号传输。开关255的第二输入与运动补偿器235的输出相连以进行信号传输。开关255的第三输入与内预测器230的输出相连以进行信号传输。模式模块260的输出与开关255相连以进行信号传输,用于控制哪一个输入被开关255选择。解块滤波器225的输出可用作解码器的输出。
一个或多个实施例为高效管理经解码参考图像提供了用于MPEG-4AVC标准的多视角视频编码扩展的隐式参考图像标记过程。对经解码参考图像的该隐式标记是基于在解码器方可用的信息导出的,不需要明确地告知标记命令。所提出的隐式标记过程可利用高级语法实现。
还提供了基于依赖性信息从存储器删除经解码图像的一种或多种实现方式(无需明确告知这种依赖性信息)。这种删除可以结合标记进行或者不结合标记进行。
在基于MPEG-4AVC标准的多视角视频编码的当前实现方式中,参考软件通过利用单个编码器对每个视角进行编码并且考虑到交叉视角参考来实现多视角预测。另外,该多视角视频编码的当前实现方式还将不同视角之间的图像顺序计数(POC)和帧号(frame_num)去耦合,从而允许具有相同frame_num和POC的图像出现在经编码图像缓冲器(DPB)中,这些图像利用与它们相关联的view_id区分。
转到图3,标号300总地示出了具有8个视角(S0至S7)并且基于MPEG-4AVC标准的间隔视角时间预测结构。在图3中,视角S0中的图像T0-T11仅对于视角S1和S2是需要的,因此在解码了视角S1和S2之后就不再需要那些图像。但是,在基于MPEG-4AVC标准的多视角视频编码(MVC)的当前实现方式中,这些图像仍被标记为用于参考,并且因此要求较大的经解码图像缓冲器。这些图像仅在该视角的下一图像组(GOP)中的1st图像中被标记(因为未被用于参考)。因此,基于MPEG-4AVC标准的MVC的当前实现方式不能高效地管理经解码图像缓冲器。
为了管理经解码图像缓冲器,该当前实现方式使用MPEG-4AVC标准兼容MMCO命令。这些MMCO命令仅对具有与用来携带这些MMCO命令的图像具有相同view_id的图像进行操作。
在多视角视频编码中,有不同的方法来对视角组进行编码。一种方法称作时间优先编码(time-first coding)。这可以被描述为首先对来自在同一时刻采样的所有视角的所有图像进行编码。返回图3,这隐含了对在T0采样的S0-S7编码,然后对在T8采样的S0-S7编码、再对在T4采样的S0-S7编码,等等。
另一种方法称作视角优先编码。这可以描述为首先对来自在不同时刻采样的单个视角的一组图像进行编码,随后对来自另一个视角的一组图像进行编码。再次参考图3,这意味着对视角S0的T0-T8进行编码,随后对视角S2的T0-T8编码、再对视角S1的T0-T8编码,等等。
为了高效管理经解码参考图像,至少一种实现方式在不明确告知标记命令的情况下对具有与当前视角不同的view_id的经解码参考图像进行标记(就好像不需要作为参考图像一样)。对于用作交叉视角参考但不用作时间参考的图像,解码器可以在对将该图像作为交叉视角参考进行参考的所有图像解码后将该图像标记为“不用作参考”。
将意识到,在给出了这里提供的对本发明的原理的教导的情况下,本领域和相关领域技术人员可以容易地将所提出的关于隐式经解码参考标记想法扩展到其他标记命令,例如“标记为长期参考图像”,同时保持本发明的原理的精神。
序列参数集(SPS)定义了对不同视角之间的依赖性结构进行描述的语法。这在表4中示出。根据表4,隐式标记过程可以导出依赖性图/表,它可以指示视角的完整依赖性。因此,在任意给定时刻,可以查找所导出的图/表来确定来自一个视角的哪些图像可以被标记为“不用作参考”。
作为一个简单示例,可以从表4中的信息生成图3的间隔视角依赖性信息。对于图3中采用的实现方式,视角数将是已知的。另外,对于给定视角(view_id[i]):(1)对于每个锚定时间所有间隔视角参考相同,并且(2)对于每个非锚定时间所有间隔视角参考相同。
随后,对于一个给定视角,间隔视角锚定参考的数目由num_anchor_refs_I0[i](例如具有值j1)和num_anchor_refs_I1[i](例如具有值j2)的总和指示。对于给定视角“i”的各个锚定参考在由anchor_ref_I0[i][j](例如,对于j=1至j1)和anchor_ref_I1[i][j](例如,对于j=1至j2)索引的两个列表中列出。
类似地,对于一个给定视角,间隔视角非锚定参考的数目由num_non_anchor_refs_I0[i](例如具有值j1)和num_non_anchor_refs_I1[i](例如具有值j2)的总和指示。对于给定视角“i”的各个非锚定参考在由anchor_ref_I0[i][j](例如,对于j=1至j1)和anchor_ref_I1[i][j](例如,对于j=1至j2)索引的两个列表中列出。
关于一幅图像是否被需要用于时间参考的状态可以多种方式来告知。例如,该状态可以在nal单元头部的nal_ref_idc语法中告知。此外,该状态还可以在时间级别中指示(如果对于时间可扩展性存在这种信息的话)。在这种情形中,具有最高时间级别的图像不被用作时间参考。此外,还可以利用一些其他高级语法来指示该状态,例如,明确表明该图像仅用作时间参考的语法。
下面是用于执行隐式经解码参考标记的一个实施例。如果一幅图像未用作时间参考而是用作交叉视角参考,则解码器在满足以下条件示将其标记为“不用作参考”:使用当前图像作为交叉视角参考图像的所有图像都已被编码。
通过启用隐式参考图像标记,可以在不改变现有标记过程并且不改变MPEG-4AVC标准中的语法的情况下,高效管理交叉视角参考图像。
确定将多视角视频编码序列作为时间优先还是视角优先进行编码是编码器的一个选择。该信息需要被传送给解码器来使得可以导出正确的隐式标记。因此,提出了包括一标志作为高级语法来告知编码方案的类型。该标志称作mvc_coding_mode_flag。在一个实施例中,该标志如表9所示在序列参数集(SPS)中被告知。表9示出了序列参数集(SPS)多视角视频编码(MVC)扩展语法。该标志的语义可以如下描述:
mvc_coding_mode_flag指示MVC序列使用时间优先还是视角优先编码方案。当mvc_coding_mode_flag等于1时,MVC序列是时间优先编码的。当mvc_coding_mode_flag等于0时,MVC序列是视角优先编码的。
表9
seq_parameter_set_mvc_extension(){ | C | 描述符 |
num_views_minus_1 | ue(v) | |
mvc_coding_mode_flag | u(1) | |
implicit_marking | u(1) | |
for(i=0;i<=num_views_minus_1;i++) | ||
view_id[i] | ue(v) | |
for(i=0;I<=num_views_minus_1;i++){ | ||
num_anchor_refs_I0[i] | ue(v) | |
for(j=0;j<num_anchor_refs_I0[i];j++) | ||
anchor_ref_I0[i][j] | ue(v) | |
num_anchor_refs_I1[i] | ue(v) | |
for(j=0;j<num_anchorrefs_I1[i];j++) | ||
anchor_ref_I1[i][j] | ue(v) | |
} | ||
for(i=0;i<num_views_minus_1;i++){ | ||
num_non_anchor_refs_I0[i] | ue(v) | |
for(j=0;j<num_non_anchorrefs_I0[i];j++) | ||
non_anchor_ref_I0[i][j] | ue(v) | |
num_non_anchor_refs_I1[i] | ue(v) | |
for(j=0;j<num_non_anchor_refs_I1[i];j++) | ||
non_anchor_ref_I1[i][j] | ue(v) | |
} | ||
} |
假设用于对多视角视频编码序列的方法是时间优先。从图3可以看出在偶数视角(S0,S2…)中存在一些图像(T1,T3…),这些图像仅用作交叉视角(也称为“间隔视角”)参考而未用作时间参考。这些图像将具有最高的时间级别。这些图像可以被比特流中的特定标志标识,该标志指示这些图像仅是交叉视角图像。可以看出,一旦这些图像已被用作交叉视角参考,就不再需要它们,并且可以将它们标记为既不用于时间参考也不用于交叉视角参考。例如,一旦(S1,T1)已参考了(S0,T1),就不再需要(S0,T1)。
另外,在奇数视角(S1,S3)中存在一些图像(T1,T3),这些图像未被用作时间参考或交叉视角参考。这些图像也将具有最高时间级别,并且可以是非参考图像。利用隐式标记,可以将这些图像标记为不用于参考(时间参考或间隔视角参考)。
在一个实施例中,提出了引入一标记作为高级语法,该标记将启用或禁用这种隐式标记过程。该标记被称作implicit_marking。在一个实施例中,该标记如表9所示在序列参数集(SPS)中被告知。
implicit_marking标志也可以受所使用的编码方案的约束。例如,implicit_marking标志可以仅在编码方案是时间优先编码时被使用。这如表10所示。表10示出了序列参数集(SPS)多视角视频编码(MVC)扩展语法。
implicit_marking指示隐式标记过程是否被用来将图像标记为“不用于参考”。当implicit_marking等于1时,隐式标记被启用。当implicit_marking等于0时,隐式标记被禁用。
表10
seq_parameter_set_mvc_extension(){ | C | 描述符 |
num_views_minus_1 | ue(v) | |
mvc_coding_mode_flag | u(1) | |
if(mvc_coding_mode_flag) | ||
implicit_marking | u(1) | |
for(i=0;i<=num_views_minus_1;i++) | ||
view_id[i] | ue(v) | |
for(i=0;i<=num_views_minus_1;i++){ | ||
num_anehor_refs_I0[i] | ue(v) | |
for(j=0;j<num_anchor_refs_I0[i];j++) |
anchor_ref_I0[i][j] | ue(v) | |
num_anchor_refs_I1[i] | ue(v) | |
for(j=0;j<num_anchor_refs_I1[i];j++) | ||
anchor_ref_I1[i][j] | ue(v) | |
} | ||
for(i=0;i<num_views_minus_1;i++){ | ||
num_non_anchor_refs_I0[i] | ue(v) | |
for(j=0;j<num_non_anchorrefs_I0[i];j++) | ||
non_anchor_ref_I0[i][j] | ue(v) | |
num_non_anchor_refs_I1[i] | ue(v) | |
for(j=0;j<num_non_anchor_refs_I1[i];j++) | ||
non_anchor_ref_I1[i][j] | ue(v) | |
} | ||
} |
根据一个或多个实施例,提出了一种方法,用于隐式导出关于参考图像的类型的信息。该方法不要求额外的语法,而是使用联合多视角视频模型(JMVM)的当前实现方式中的现有语法。
联合多视角视频模型(JMVM)的当前实现方式包括序列参数集中的高级语法来指示对于视角的间隔视角参考。这通过分开发送参考视角标识符从而进一步区分了锚定图像和非锚定图像的依赖性。这在表4中示出,表4包括有关对于特定视角哪些视角被用作参考的信息。该信息可以用来生成参考表或其他数据结构,以指示哪些视角被用作间隔视角参考而哪些未被使用。此外,该信息可以已知对于锚定图像和非锚定图像是分开的。总之,通过利用序列参数集中的参考视角信息,可以导出一幅图像对于间隔视角预测是否需要。
在MPEG-4AVC标准中,可以利用网络抽象层单元头部中的nal_ref_idc将一幅图像标识为参考图像。在多视角视频编码的上下文中,仅使用nal_ref_idc来指示该图像是否被用作时间参考(即,其自身视角的参考)。
利用来自联合多视角视频模型(JMVM)的当前实现方式的序列参数集的信息和网络抽象层单元头部中的nal_ref_idc(表7),可以区分表5中示出的情形。因此,利用nal_ref_idc的值以及来自序列参数集的参考视角信息,可以寻址表5的所有组合。
例如,返回图3,考虑下面的不同情形。假设视角S0具有view_id=0,S1具有view_id=1,并且S2具有view_id=2。
对于S0:
SPS语法将具有以下值,其中“i”具有与S0相对应的值:
num_anchor_refs_I0[i],num_anchor_refs_I1[i],num_non anchor_refs_I0[i],num_non_anchor_refs_I1[i]都等于0。
对于S1:
序列参数集语法将具有以下值,其中“i”具有与S1相对应的值,j=0:
num_anchor_refs_I0[i]=1,num_anchor_refs_I1[i]=1,num_non_anchor_refs_I0[i]=1,num_non_anchor_refs_I1[i]=1。
anchor_ref_I0[i][j]=0,anchor_ref_I1[i][j]=2,non_anchor_ref_I0[i][j]=0,non_anchor_ref_I1[i][j]=2
对于S2:
序列参数集语法将具有指示对于锚定图像该视角使用间隔视角参考的值。索引可以被设置为具有与S2相对应的值的“i”,并且j=0。
num_anchor_refs_I0[i]=1,num_anchor_refs_I1[i]=0,num_non_anchor_refs_I0[i]=0,num_non_anchor_refs_I1[i]=0。
anchor_ref_I0[i][j]=0。
对于S3至S7,依此类推。
对于所有视角,时刻T1和T3处的图像将具有等于0的nal_ref_idc。此外,在时刻T0/T2/T4处的图像将具有不等于0的nal_ref_idc。
利用上述信息,可以看出可导出下面如表11所示的信息。注意,来自所有视角的所有图像都可以利用上述方法被分类,尽管对于四种类别中的每种仅提供了一个示例。
表11
时间参考(nal_ref_idc) | 间隔视角参考(来自SPS) | 图像类型 | 图像 |
0 | 0 | 不用作参考 | S1,T1 |
0 | 1 | 仅间隔视角参考 | S2,T1 |
不等于0 | 0 | 仅时间参考 | S1,T2 |
不等于0 | 1 | 时间和间隔视角参考 | S2,T4 |
因此,不需要额外信令来识别需要针对表5中的条件进行区分的图像。
该导出信息的一种应用是上述隐式标记过程。当然,本发明的原理不仅限于涉及上述隐式标记过程的应用,本领域和相关领域的技术人员将预见到本发明的原理可以应用到的这个应用和其他应用,同时保持本发明的原理的精神。
上述方法还可以用来确定何时从存储器(例如,经编码图像缓冲器)删除一幅图像。注意,不需要执行标记但是可以执行标记。例如,考虑图像S2,T1,该图像仅是间隔视角参考。假设一种使用时间优先编码的实现方式,给定时间的视角(对于该实现方式,等同于具有相同的图像顺序计数)按照下述顺序被编码:S0、S2、S1、S4、S3、S6、S5和S7。一种实现方式利用下述算法从经编码图像缓冲器删除S2,T1:
-在解码了T1中的图像(例如S1,T1)后,确定在经解码图像缓冲器中是否还存储有来自T1的其他图像。这将揭示S2,T1存储在经解码图像缓冲器中。
-如果存在任何这种其他图像,则确定它们是否仅是间隔视角参考。这将揭示S2,T1仅是间隔视角参考图像。
-对于作为仅是间隔视角参考的每个这种图像,考虑在T1处剩余要被解码的所有视角,并且确定那些视角中的任意视角是否参考所存储的图像。例如,确定是否有任何剩余的视角参考S2。
对于锚定图像和非锚定图像,可以分别执行考虑所有剩余视角的最后步骤。即,对于锚定图像和非锚定图像可以对不同的语法进行求值。例如,S2,T1是非锚定视角,所以对于所有后续视角“i”下面的语法可能被求值:num_non_anchor_refs_I0[i],num_non_anchor_refs_I1[i],non_anchor_ref_I0[i][j],以及non_anchor_ref_I1[i][j]。S1(当前被解码的视角)后续的视角为S4、S3、S6、S5和S7。这些视角的语法将揭示S3依赖于S2。因此,不删除S2。但是,在解码了S3后,上述算法将再次考虑所存储的S2图像,并且将揭示不再有剩余视角(S6、S5和S7)参考S2。因此,在解码了S3后,从经解码图像缓冲器删除S2。这将在解码了S0、S2、S1、S4和S3后发生。
转回到图4,标号400总地示出了用于对多视角视频编码的参考图像管理数据进行编码的示例性方法。
方法400包括开始框402,开始框402将控制传递给功能框404。功能框404读取编码器配置文件,并将控制传递给功能框406。功能框406在序列参数集(SPS)扩展中设置锚定和非锚定图像参考,并将控制传递给功能框408。功能框408设置mvc_coding_mode来指示时间优先还是视角优先编码,并将控制传递给判决框410。判决框410判断mvc_coding_mode是否等于1。如果是,则控制被传递给功能框412。否则,控制被传递给功能框414。
功能框412将implicit_marking设置为1或0,并将控制传递给功能框414。
功能框414将视角数目设置为等于变量N,并将变量i和变量j都设置为0,再将控制传递给判决框416。判决框416判断变量i是否小于变量N。如果是,则控制被传递到判决框418。否则,控制被传递到判决框442。
判决框418判断变量j是否小于视角i中的图像数目。如果是,则控制被传递到功能框420。否则,控制被传递到功能框440。可以看出,图4的实现方式是视角优先编码实现方式。图4可用来提供执行时间优先编码的类似过程。
功能框420开始对视角i中具有给定frame_num和POC的图像的当前宏块进行编码,并将控制传递给功能框422。功能框422挑选宏块模式,并将控制传递给功能框424。功能框424对该宏块进行编码,并将控制传递给判决框426。判决框426判断是否所有宏块都已被编码。如果是,则控制被传递到功能框428。否则,控制被返回到功能框420。
功能框428递增变量j,并将控制传递给功能框430。功能框430递增frame_num和图像顺序计数(POC),并将控制传递给判决框432。判决框432判断implicit_marking是否等于1。如果是,则控制被传递到功能框434。否则,控制被返回到判决框418。
功能框434基于在(该实现方式中)以高级别指示的依赖性信息来判断是否需要(当前求值的)参考视角作为将来视角的参考。如果是,则控制被返回到判决框418。否则,控制被传递到功能框436。
功能框440递增变量i,重置frame_num、POC和变量j,并将控制返回到判决框416。
功能框436将参考视角图像标记为“不用于参考”,并将控制返回到判决框418。
判决框442判断是否在带内告知序列参数集(SPS)、图像参数集(PPS)和视角参数集(VPS)。如果是,则控制被传递到功能框444。否则,控制被传递到功能框446。
功能框444在带内发送SPS、PPS和VPS,并将控制传递给功能框448。
功能框446在带外发送SPS、PPS和VPS,并将控制传递给功能框448。
功能框448将比特流写到文件或者通过网络流式传输比特流,并将控制传递给结束框499。应当理解,如果在带内告知SPS、PPS或VPS,则这种信令将与视频数据比特流一起被发送。
转到图5,标号500总地示出了用于对多视角视频编码的参考图像管理数据进行解码的示例性方法。
方法500包括开始框502,开始框502将控制传递给功能框504。功能框504对来自序列参数集(SPS)、图像参数集(PPS)、视角参数集(VPS)、片段头部、或者网络抽象层(NAL)单元头部的view_id进行解析,并将控制传递给功能框506。功能框506对来自SPS、PPS、NAL头部单元、片段头部或补充增强信息(SEI)消息的mvc_coding_mode进行解析以指示时间优先或视角优先编码,并将控制传递给功能框508。功能框508解析其他SPS参数,并将控制传递给判决框510。判决框510判断mvc_coding_mode是否等于1。如果是,则控制被传递给功能框512。否则,控制被传递给判决框514。
功能框512解析implicit_marking,并将控制传递给判决框514。判决框514判断当前图像是否需要解码。如果是,则控制被传递给功能框528。否则,控制被传递给功能框546。
功能框528解析片段头部,并将控制传递给功能框530。功能框530解析宏块模式、运动向量和ref_idx,并将控制传递给功能框532。功能框532解码当前宏块(MB),并将控制传递给判决框534。判决框534判断是否完成了所有宏块。如果是,则控制被传递到功能框536。否则,控制被返回到功能框530。
功能框536将当前图像***到经解码图像缓冲器(DPB)中,并将控制传递给判决框538。判决框538判断implicit_marking是否等于1。如果是,则控制被传递到判决框540。否则,控制被传递到判决框544。
判决框540基于以高级别指示的依赖性信息来判断是否需要当前参考视角作为用于将来视角的参考。如果是,则控制被传递到判决框544。否则,控制被传递到功能框542。
判决框544判断是否所有图像都已被解码。如果是,则控制被传递到结束框599。否则,控制被返回到功能框546。
功能框546获得下一图像,并将控制返回给判决框514。
图5提供了既可与视角优先编码数据又可与时间优先编码数据一起使用的解码器实现方式。
转到图6,标号600总地指示用于确定多视角视频内容的间隔视角依赖性的示例性方法。在一个实施例中,方法600由编码器(例如图1的编码器100)实施。
方法600包括开始框602,开始框602将控制传递给功能框604。功能框604读取编码器配置文件,并将控制传递给功能框606。功能框606在序列参数集(SPS)扩展中设置锚定和非锚定图像参考,并将控制传递给功能框608。功能框608基于该编码器配置文件设置其他SPS参数,并将控制传递给判决框610。判决框610判断当前(锚定/非锚定)图像是否是时间参考。如果是,则控制被传递给功能框612。否则,控制被传递给功能框624。
功能框612将nal_ref_idc设置为等于1,并将控制传递给判决框614。判决框614基于SPS语法判断当前视角是否被用作任何其他视角的参考。如果是,则控制被传递到功能框616。否则,控制被传递到功能框626。
功能框616将当前图像标记为间隔视角参考图像,并将控制传递给判决框618。判决框618判断nal_ref_idc是否等于0。如果是,则控制被传递到判决框620。否则,控制被传递到判决框630。
判决框620判断当前图像是否是间隔视角参考图像。如果是,则控制被传递到功能框622。否则,控制被传递到功能框628。
功能框622将当前图像设置为仅间隔视角参考图像,并将控制传递给结束框699。
功能框624将hal_ref_idc设置为等于0,并将控制传递给判决框614。
功能框626将当前图像标记为不用于任何间隔视角参考图像,并将控制传递给判决框618。
功能框628将当前图像设置为不用于参考,并将控制传递给结束框699。
判决框630判断当前图像是否是间隔视角参考图像。如果是,则控制被传递到功能框632。否则,控制被传递到功能框634。
功能框632将当前图像设置为时间和间隔视角参考图像,并将控制传递给结束框699。
功能框634将当前图像设置为仅时间参考,并将控制传递给结束框699。
转到图7,标号700总地指示了用于确定多时间视频内容的间隔视角依赖性的示例性方法。在一个实施例中,方法700由解码器(例如图2的解码器200)实施。
方法700包括开始框702,开始框702将控制传递给功能框704。功能框70读取序列参数集(SPS)(读取视角依赖性结构)、图像参数集(PPS)、网络抽象层(NAL)头部以及片段头部,并将控制传递给判决框706。判决框706基于SPS语法判断当前视角是否被用作任何其他视角的参考。如果是,则控制被传递给功能框708。否则,控制被传递给功能框716。
功能框708将当前图像标记为间隔视角参考图像,并将控制传递给判决框710。判决框710判断nal_ref_idc是否等于0。如果是,则控制被传递给判决框712。否则,控制被传递给判决框720。
判决框712判断当前图像是否是间隔视角参考图像。如果是,则控制被传递到功能框714。否则,控制被传递到功能框718。
功能框714将当前图像设置为仅间隔视角参考图像,并将控制传递给结束框799。
功能框718将当前图像设置为不用于参考,并将控制传递给结束框799。
功能框716将当前图像标记为不用于间隔视角参考图像,并将控制传递给判决框710。
判决框720判断当前图像是否是间隔视角参考图像。如果是,则控制被传递到功能框722。否则,控制被传递到功能框724。
功能框722将当前图像设置为时间和间隔视角参考图像,并将控制传递给结束框799。
功能框724将当前图像设置为仅时间参考,并将控制传递给结束框799。
转到图8,标号800总地指示本发明的原理可应用到的示例性编码器的高级别视图。
编码器800包括高级语法生成器810,高级语法生成器810的输出与视频数据编码器820的输入相连以进行信号传输。视频数据编码器820的输出可用作编码器800的输出,用于输出比特流并可选地与该比特流一起在带内输出一个或多个高级语法元素。高级语法生成器810的输出也可用作编码器800的输出,用于相对于该比特流在带外输出一个或多个高级语法元素。视频数据编码器的输入和高级语法生成器810的输入可用作编码器800的输入,用于接收输入视频数据。
高级语法生成器810用于生成一个或多个高级语法元素。如上所述,这里所使用的“高级语法”是指在比特流中存在的语法,其在分级结构中位于宏块层之上。例如,这里所用的高级语法可以指(但不限于)在片段头部级别、在补充增强信息(SEI)级别、在图像参数集(PPS)级别、在序列参数集(SPS)级别和在网络抽象层(NAL)单元头部级别的语法。视频数据编码器820用于对视频数据进行编码。
转到图9,标号900总地指示了本发明的原理可应用到的示例性解码器的高级别视图。
解码器900包括高级语法读取器910,高级语法读取器910的输出与视频数据解码器920的输入相连以进行信号传输。视频数据解码器920的输出可用作解码器900的输出,用于输出图像。视频数据解码器920的输入可用作解码器900的输出,用于接收比特流。高级语法读取器910的输入可用作解码器900的输入,用于可选地相对于比特流在带外接收一个或多个高级语法元素。
视频数据解码器920用于解码视频数据,包括读取高级语法。因此,如果在比特流中接收到带内语法,则视频数据解码器920完全可以解码数据,包括读取高级语法。如果发送了带外高级语法,则这种语法可被高级语法读取器910(或直接被视频数据解码器920)接收。
参考图10,示出了过程1000。过程1000包括访问数据(1010)并基于所访问的数据确定依赖性(1020)。在一种特定实现方式中,被访问(1010)的数据包括来自第一视角的图像、来自第二视角的图像、以及依赖性信息。该依赖性信息描述来自第一视角的图像的一个或多个间隔视角依赖性关系。例如,该依赖性关系可以描述来自第一视角的图像是用于来自第二视角的图像的参考图像。在该特定实现方式中,所确定(1020)的依赖性包括有关来自第一视角的图像是否是用于来自第二视角的图像的参考图像的判断。
参考图11,示出了过程1100。过程1100包括访问数据(1110),解码图像(1120),存储经解码图像(1130),以及删除所存储的图像(1140)。在一种特定实现方式中,被访问(1010)的数据包括来自第一视角的图像和依赖性信息。该依赖性信息描述来自第一视角的图像的一个或多个间隔视角依赖性关系。例如,该依赖性信息可以描述来自第一视角的图像不是用于尚未被解码的具有相同图像顺序计数的任何图像的参考图像。在该特定实现方式中,来自第一视角的图像在操作1120中被解码,并且在操作1130中被存储到存储器中。在该特定实现方式中,所存储的经解码图像基于依赖性信息被从存储器删除(1140)。例如,该依赖性信息可以指示来自第一视角的图像不是用于尚未被解码的具有相同图像顺序计数的任何图像的参考图像。在这种情形中,来自第一视角的图像不再需要作为参考图像,并且可以从存储器中删除。
还要注意在另一种实现方式中,操作1110-1130是可选的并不被包括。即,一种实现方式在于执行操作1140。或者,操作1110-1130可由一个设备执行,而操作1140可由独立的设备执行。
注意,术语“编码器”和“解码器”意指一般结构,而不限于任何特定功能或特征。例如,解码器可以接收携带经编码比特流的经调制载波、解调该经调制比特流、以及对该比特流进行解码。
此外,在数种实现方式中还参考了用来发送特定信息的高级语法。然而应当理解,其他实现方式可以使用低级语法、或者实际上与其他机制一起(例如,将该信息作为经编码数据的一部分来发送)来提供相同信息(或者该信息的变体)。
另外,数种实现方式被描述为从存储器“删除”图像。术语“删除”包括多种动作中的任何一种,这些动作具有例如删除图像、消除图像、删掉图像、从列表去除图像、或者不再参考一幅图像、或者使该图像不可用或不可访问的效果。例如,可以通过不再分配与图像相关联的存储器并将该存储器返回给操作***、或者将存储器返回给存储器池,从而可以“删除”该图像。
各种实现方式描述了一幅图像可以依赖于另一幅图像(参考图像)。这种依赖可以是基于“参考图像”的若干个变体之一的。例如,图像可以被形成为该图像与未编码原始参考图像或经解码参考图像之间的差异。此外,不管参考图像的哪个变体被用作对给定图像进行编码的基础,解码器都可以使用实际可用的变体。例如,解码器仅可以访问未完美解码的参考图像。术语“参考图像”要包括存在的多种可能性。
这里所述的实现方式可以被实现在例如一种方法或过程、装置或软件程序中。即使仅在一种形式的实现方式的上下文中进行了讨论(例如,仅作为方法被讨论),所述特征的实现方式也可以以其他形式实现(例如,装置或程序)。装置可以例如实现为适当的硬件、软件和固件的形式。方法可以被实现在例如装置中,该装置例如是处理器,处理器一般指处理器件,包括例如计算机、微处理器、集成电路或者可编程逻辑器件。处理器件还包括通信设备,例如计算机、蜂窝电话、便携式/个人数字助理(“PDA”)以及可以实现最终用户之间的信息通信的其他设备。
这里所述的各种过程和特征的实现方式可以被实现在各种不同的设备或应用中,尤其是例如与数据编码和解码相关联的设备或应用。设备的示例包括视频编码器、视频解码器、视频编解码器、web服务器、机顶盒、膝上电脑、个人计算机、蜂窝电话、PDA以及其他通信设备。应当清楚,设备可以是移动的,甚至被安装在移动交通工具中。
另外,这些方法可利用由处理器执行的指令实现,并且这种指令可以被存储在处理器可读介质中,处理器可读介质例如是集成电路、软件载体或其他存储设备,例如硬盘、致密盘、随机存取存储器(“RAM”)或只读存储器(ROM”)。指令可以形成有形地包含在处理器可读介质中的应用程序。应当清楚,处理器可以包括具有例如用于执行过程的指令的处理器可读介质。这种应用程序可被上传到包括任意适当体系结构的机器并被该机器执行。优选地,该机器可在具有硬件的计算机平台上实现,所述硬件例如是一个或多个中央处理单元(“CPU”)、随机存取存储器(“RAM”)和输入/输出(“I/O”)接口。计算机平台还可包括操作***和微指令代码。这里描述的各种过程和功能可以是微指令代码的一部分,或者可以是应用程序的一部分,或者是其任何组合,其可以由CPU执行。另外,各种其他***单元可以连接到计算机平台,例如额外的数据存储单元和打印单元。
本领域技术人员还应明白,实现方式还可以产生格式化来承载可被例如存储或传输的信息的信号。信息可以包括例如用于执行方法的指令、或者这里所述的实现方式中的一种所产生的数据。这种信号可被格式化为例如电磁波(例如,利用频谱的射频部分)或基带信号。格式化可以包括例如编码数据流、产生语法、以及利用经编码数据流和语法来调制载波。信号所承载的信息可以是例如模拟或数字信息。可以通过多种已知的、不同的有线或无线链路传输信号。
还将会理解,因为在附图中示出的某些构成***组件和方法优选地是以软件实现的,所以***组件或过程功能框之间的实际连接可能取决于本发明的原理被编程的方式而有所不同。给定这里的教导,本领域技术人员将能够预期本发明的原理的这些和类似的实现方式或配置。
已描述了多种实现方式。然而,将理解可以作出各种修改。例如,不同实现方式的元素可以被组合、补充、修改或删除来产生其他实现方式。另外,本领域技术人员将理解,其他结构和过程可替换所公开的那些,并且得到的实现方式将至少以基本相同的方式执行至少基本相同的功能,来实现与所公开的实现方式至少基本相同的结果。具体而言,尽管已参考附图描述了说明性实施例,但是将会理解,本发明的原理并不限于这些精确实施例,而且本领域技术人员可以实现各种改变和修改,而不脱离本发明的原理的范围或精神。所有这些改变和修改都意图被包括在权利要求中所给出的本发明的原理的范围内。
权利要求书(按照条约第19条的修改)
将所述经解码图像存储(1130)到存储器中;以及
基于所述依赖性信息从存储器删除(1140)所述经解码图像。
29.一种方法,包括基于描述经解码图像的一个或多个间隔视角依赖性关系的间隔视角依赖性信息来从存储器删除(1140)所述图像。
30.如权利要求1所述的设备,其中所述设备还被配置来基于判断是否删除所述经解码图像的结果来从存储器删除所述经解码图像。
31.如权利要求5所述的方法,还包括基于判断是否删除所述经解码图像的结果来从存储器删除所述经解码图像。
32.如权利要求26所述的设备,还包括用于基于来自用于判断是否删除所述经解码图像的装置的结果来从存储器删除所述经解码图像。
33.如权利要求28所述的设备,其中所述指令包括用于基于判断是否删除所述经解码图像的结果来删除所述经解码图像的指令。
34.如权利要求29所述的方法,还包括基于判断是否删除所述经解码图像的结果来删除所述经解码图像。
Claims (29)
1.一种设备(100、200、800、900),被配置来:
访问(1110)来自第一视角的图像和依赖性信息,所述依赖性信息描述所述来自第一视角的图像的一个或多个间隔视角依赖性关系;
对所述来自第一视角的图像进行解码(1120)以产生经解码图像;
将所述经解码图像存储(1130)到存储器中;以及
基于所述依赖性信息从存储器删除(1140)所述经解码图像。
2.如权利要求1所述的设备,其中所述设备包括用于对所述来自第一视角的图像进行编码的编码器。
3.如权利要求1所述的设备,其中所述设备包括对所述来自第一视角的图像进行解码的解码器。
4.如权利要求1所述的设备,其中所述设备包括所述存储器。
5.一种方法(1100),包括:
访问(1110)来自第一视角的图像和依赖性信息,所述依赖性信息描述所述来自第一视角的图像的一个或多个间隔视角依赖性关系;
对所述来自第一视角的图像进行解码(1120)以产生经解码图像;
将所述经解码图像存储(1130)到存储器中;以及
基于所述依赖性信息从存储器删除(1140)所述经解码图像。
6.如权利要求5所述的方法,其中访问包括对所述来自第一视角的图像进行编码并对所述依赖性信息进行格式化。
7.如权利要求5所述的方法,其中删除是在由编码器执行的重构过程期间由所述编码器执行的。
8.如权利要求5所述的方法,其中访问包括在比特流中接收所述来自第一视角的图像和所述依赖性信息。
9.如权利要求5所述的方法,其中从存储器删除所述经解码图像还基于关于所述来自第一视角的图像不被用作时间参考的判断。
10.如权利要求5所述的方法,其中:
所述依赖性信息指示所述来自第一视角的图像是用于来自第二视角的图像的参考图像,
所述方法还包括判断所述来自第二视角的图像已被解码,并且
从存储器删除所述经解码图像还基于关于所述来自第二视角的图像已被解码的判断。
11.如权利要求5所述的方法,还包括基于高级语法元素创建所述依赖性信息。
12.如权利要求5所述的方法,还包括从高级语法元素读取所述依赖性信息。
13.如权利要求12所述的方法,所述高级语法元素对应于以下至少一个:片段头部级别、序列参数集级别、图像参数集级别、视角参数集级别、网络抽象层单元头部级别、以及与补充增强信息消息相对应的级别。
14.如权利要求5所述的方法,其中所述来自第一视角的图像的依赖性信息被包括在指示以下内容的语法元素中:(1)所述来自第一视角的图像的锚定参考的数目,(2)所述来自第一视角的图像的非锚定参考的数目,(3)所述来自第一视角的图像的锚定参考的视角数目,以及(4)所述来自第一视角的图像的非锚定参考的视角数目。
15.如权利要求12所述的方法,其中所述高级语法元素对应于国际标准化组织/国际电工委员会运动图像专家组-4第10部分高级视频编码标准/国际电信联盟电信部门H.264推荐的多视角视频编码扩展。
16.如权利要求5所述的方法,还包括对所述依赖性信息求值来判断对所述来自第一视角的图像进行解码所依赖的另一个视角是否已被解码。
17.如权利要求16所述的方法,其中所述另一个视角对应于图像组中与所述第一视角相同的时隙。
18.如权利要求5所述的方法,其中解码步骤通过从至少两种编码过程中进行选择来对所述来自第一视角的图像进行解码。
19.如权利要求5所述的方法,其中解码步骤利用时间优先编码过程来对所述来自第一视角的图像进行解码。
20.如权利要求5所述的方法,其中解码步骤利用视角优先编码过程来对所述来自第一视角的图像进行解码。
21.如权利要求5所述的方法,还包括基于所述依赖性关系对所述来自第一视角的图像进行标记。
22.如权利要求21所述的方法,还包括在解码器处确定所述来自第一视角的图像不是来自已被所述解码器解码的另一个视角的任何图像的参考图像,并且其中所述标记包括将所述来自第一视角的图像标记为不再需要作为间隔视角参考。
23.如权利要求22所述的方法,其中删除所述来自第一视角的图像是基于所述标记的。
24.如权利要求21所述的方法,其中:
所述标记包括利用隐式参考图像标记过程,并且
高级语法元素被用来指示所述隐式标记过程被启用还是被禁用。
25.如权利要求24所述的方法,其中所述高级语法元素对应于以下至少一个:片段头部级别、序列参数集级别、图像参数集级别、视角参数集级别、网络抽象层单元头部级别、以及与补充增强信息消息相对应的级别。
26.一种设备(100、200、800、900),包括:
用于访问来自第一视角的图像和依赖性信息的装置,所述依赖性信息描述所述来自第一视角的图像的一个或多个间隔视角依赖性关系;
用于对所述来自第一视角的图像进行解码以产生经解码图像的装置;
用于将所述经解码图像存储到存储器中的装置;以及
用于基于所述依赖性信息从存储器删除所述经解码图像的装置。
27.如权利要求26所述的设备,还包括:
用于存储以下至少一个的装置:来自第一视角的图像、来自第二视角的图像、或者依赖性信息。
28.一种包括处理器可读介质的设备,该处理器可读介质包括存储在该处理器可读介质中的指令,该指令用于至少执行以下步骤:
访问(1110)来自第一视角的图像和依赖性信息,所述依赖性信息描述所述来自第一视角的图像的一个或多个间隔视角依赖性关系;
对所述来自第一视角的图像进行解码(1120)以产生经解码图像;
将所述经解码图像存储(1130)到存储器中;以及
基于所述依赖性信息从存储器删除(1140)所述经解码图像。
29.一种方法,包括基于描述经解码图像的一个或多个间隔视角依赖性关系的间隔视角依赖性信息来从存储器删除(1140)所述图像。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US85393206P | 2006-10-24 | 2006-10-24 | |
US60/853,932 | 2006-10-24 | ||
US60/860,367 | 2006-11-21 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101529914A true CN101529914A (zh) | 2009-09-09 |
Family
ID=41095900
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200780039739 Pending CN101529913A (zh) | 2006-10-24 | 2007-10-11 | 用于多视角视频编码的图像标识 |
CN 200780039819 Pending CN101529914A (zh) | 2006-10-24 | 2007-10-11 | 用于多视角视频编码的图像管理 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200780039739 Pending CN101529913A (zh) | 2006-10-24 | 2007-10-11 | 用于多视角视频编码的图像标识 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN101529913A (zh) |
ZA (1) | ZA200902051B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107105302A (zh) * | 2011-08-25 | 2017-08-29 | 太阳专利托管公司 | 视频编码装置及视频编码方法 |
WO2018014545A1 (zh) * | 2016-07-18 | 2018-01-25 | 华为技术有限公司 | 一种码流数据的处理方法及装置 |
US10390043B2 (en) | 2011-10-19 | 2019-08-20 | Sun Patent Trust | Image coding method including reference list reordering information for indicating details of reordering pictures included in a reference list |
US10523946B2 (en) | 2011-09-19 | 2019-12-31 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
US10554993B2 (en) | 2011-09-07 | 2020-02-04 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
WO2023016293A1 (zh) * | 2021-08-10 | 2023-02-16 | 腾讯科技(深圳)有限公司 | 自由视角视频的文件封装方法、装置、设备及存储介质 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI616087B (zh) * | 2012-01-31 | 2018-02-21 | Vid衡器股份有限公司 | 可縮放高效率視訊編碼(hevc)參考圖集(rps)傳訊 |
US10334259B2 (en) | 2012-12-07 | 2019-06-25 | Qualcomm Incorporated | Advanced residual prediction in scalable and multi-view video coding |
KR102219909B1 (ko) | 2013-04-05 | 2021-02-24 | 삼성전자주식회사 | 멀티 레이어 비디오의 복호화 방법 및 장치, 멀티 레이어 비디오의 부호화 방법 및 장치 |
CN108377379B (zh) * | 2016-10-20 | 2020-10-09 | 聚晶半导体股份有限公司 | 影像深度信息的优化方法与影像处理装置 |
-
2007
- 2007-10-11 CN CN 200780039739 patent/CN101529913A/zh active Pending
- 2007-10-11 ZA ZA200902051A patent/ZA200902051B/xx unknown
- 2007-10-11 CN CN 200780039819 patent/CN101529914A/zh active Pending
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11428129B2 (en) | 2011-08-25 | 2022-08-30 | Sun Patent Trust | Methods and apparatuses for encoding and decoding video using periodic buffer description |
US10428706B2 (en) | 2011-08-25 | 2019-10-01 | Sun Patent Trust | Methods and apparatuses for encoding and decoding video using periodic buffer description |
US11891932B2 (en) | 2011-08-25 | 2024-02-06 | Sun Patent Trust | Methods and apparatuses for encoding and decoding video using periodic buffer description |
US10883398B2 (en) | 2011-08-25 | 2021-01-05 | Sun Patent Trust | Methods and apparatuses for encoding and decoding video using periodic buffer description |
CN107105302B (zh) * | 2011-08-25 | 2019-12-10 | 太阳专利托管公司 | 视频编码装置及视频编码方法 |
CN107105302A (zh) * | 2011-08-25 | 2017-08-29 | 太阳专利托管公司 | 视频编码装置及视频编码方法 |
US10619537B2 (en) | 2011-08-25 | 2020-04-14 | Sun Patent Trust | Methods and apparatuses for encoding and decoding video using periodic buffer description |
US10820005B2 (en) | 2011-09-07 | 2020-10-27 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
US11758173B2 (en) | 2011-09-07 | 2023-09-12 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
US10554993B2 (en) | 2011-09-07 | 2020-02-04 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
US11356691B2 (en) | 2011-09-07 | 2022-06-07 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
US10523946B2 (en) | 2011-09-19 | 2019-12-31 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
US11019342B2 (en) | 2011-09-19 | 2021-05-25 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
US11533488B2 (en) | 2011-09-19 | 2022-12-20 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
US11956440B2 (en) | 2011-09-19 | 2024-04-09 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
US10390043B2 (en) | 2011-10-19 | 2019-08-20 | Sun Patent Trust | Image coding method including reference list reordering information for indicating details of reordering pictures included in a reference list |
US10602184B2 (en) | 2011-10-19 | 2020-03-24 | Sun Patent Trust | Image coding method, image decoding method, image coding apparatus, image decoding apparatus, and image coding and decoding apparatus |
CN107634928A (zh) * | 2016-07-18 | 2018-01-26 | 华为技术有限公司 | 一种码流数据的处理方法及装置 |
WO2018014545A1 (zh) * | 2016-07-18 | 2018-01-25 | 华为技术有限公司 | 一种码流数据的处理方法及装置 |
CN107634928B (zh) * | 2016-07-18 | 2020-10-23 | 华为技术有限公司 | 一种码流数据的处理方法及装置 |
WO2023016293A1 (zh) * | 2021-08-10 | 2023-02-16 | 腾讯科技(深圳)有限公司 | 自由视角视频的文件封装方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101529913A (zh) | 2009-09-09 |
ZA200902051B (en) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101529914A (zh) | 用于多视角视频编码的图像管理 | |
CN102780883B (zh) | 用于包含多视点视频编码的参考图像管理的方法 | |
KR20090085581A (ko) | 다중-뷰 비디오 코딩을 위한 화상 관리 | |
KR101353193B1 (ko) | 멀티-뷰 비디오 코딩 시스템에서 사용하기 위한 방법 및 장치 | |
CN101496407B (zh) | 用于针对多视角视频编码和解码解耦合帧号和/或图像顺序计数(poc)的方法和装置 | |
US20190379904A1 (en) | Inter-view prediction | |
CN101518086B (zh) | 在多视图视频编码中用信号通知视图可分级性的方法和装置 | |
CN101485208B (zh) | 多视图视频的编码和解码方法及装置 | |
US8982183B2 (en) | Method and apparatus for processing a multiview video signal | |
CA2886688C (en) | Decoding and encoding of pictures of a video sequence | |
CN101523920B (zh) | 在视频操作期间使用网络抽象层单元以信号方式指示即时解码刷新的方法 | |
CN101491079A (zh) | 用在多视角视频编码中的方法和装置 | |
CN101578876A (zh) | 在多视点编码视频中使用高级语法参考视点的视频差错隐藏方法和装置 | |
KR20090099547A (ko) | 멀티뷰 코딩 비디오에서 비디오 에러 정정을 위한 방법 및 장치 | |
AU2012203039B2 (en) | Methods and apparatus for use in a multi-view video coding system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20090909 |