多层视频流编码和解码的制作方法

文档序号:9292086阅读:443来源:国知局
多层视频流编码和解码的制作方法
【技术领域】
[0001] 实施例大体上涉及多层视频流的处理,并且具体地涉及这种多层视频流的解码和 编码。
【背景技术】
[0002] HEVC(高效视频编码)是标准化中当前正在开发的下一代视频编码标准。与现有 技术状态的H. 264/高级视频编码(AVC)相比,HEVC将实质上改进编码效率。HEVC发展初 始关注于以固定质量和比特率(即不可伸缩)的单视频,即一个摄像机视角。现在正在准 备对HEVC标准的多层扩展,例如可伸缩扩展、多视角扩展和3D扩展。那些扩展需要多层支 持。不能扩展的ffiVC比特流可以被认为是单层比特流,即其以单个表示(例如单视频视 角、单分辨率和单质量)来表示视频。在多层扩展中,一般作为"基层"包括HEVC单层比特 流。在多视角或3D扩展中,附加层可以表示从不同摄像机位置捕捉的附加视频视角或例如 深度信息。在可伸缩性扩展中,附加层可以以相对于基层提供改进视频质量的附加的(一 般更高的)视频画面分辨率或更高的像素保真度或其他颜色空间等来表示视频。
[0003] 特定解码器用于对具有多层的HEVC比特流进行解码,即可伸缩或多视角/3D HEVC解码器。为了对多层比特流进行解码,关于层之间解码依赖关系的信息是必需的。需 要在比特流中发信号通知该信息。该信息还可以由网元用于识别如果需要比特率自适应 (例如在网络拥塞的情况下)或格式自适应(例如在目标设备仅可以对某个最大分辨率进 行解码或显示的情况下)或2D/3D自适应(例如在目标设备仅可以对某个数量的视角进行 解码和显示的情况下)则可以从发送中丢弃的层。
[0004] -般在所谓的参数集合(例如画面参数集合(PPS)、序列参数集合(SPS)或视频参 数集合(VPS)连同其他信息)中获得HEVC中的依赖关系信息。一般地,每个参数集合被封 装在网络抽象层(NAL)单元(即视频比特流中的分组)中。因为参数集合包含对解码至关 重要的信息,该信息可以在比特流中重复地发送或可以通过"带外"发送来传送,即例如通 过可靠连接与剩余比特流分离地发送。这种带外发送可以例如在会话建立期间使用会话描 述协议(SDP)来发生。
[0005] 如果在会话建立时发送参数集合,则参数集合中的数据量对发送持续时间并因此 对会话建立时间有影响。如果在"带内"(即在比特流中)发送参数集合,则参数集合的大小 对总体比特率有影响,并且当针对错误回弹原因在比特流中重复参数集合时该影响更高。 针对这些原因,以压缩方式表示在参数集合中传送的信息是重要的。
[0006] 2012 年 10 月 10 日-19 日在中国上海举行的ITU-TSG16WP3andIS0/IECJTC 1/SC29/WG11的视频编码联合协作组(JCT-VC)第11次会议中与针对HEVC扩展的NAL 单元首部和参数集合设计有关的表示为JCTVC-K1007的文档包括针对HEVC多视角/3D和 可伸缩编码扩展的参数集合设计的规范。根据该文档,发信号通知层依赖关系作为vps_ extension句法结构的部分,如以下所指示:
[0007]
[0008] num_direct_ref_layers[i]指定第i层直接依赖的层数。
[0009] ref_layer_id[i] [j]指定第i层直接依赖的第j层。
[0010] 上述解决方案需要许多比特来在VPS中发信号通知层依赖关系。具体地,对于基 层以上正在使用的每一个层,使用六个比特来对参考层的数量进行编码,并使用另外六个 比特来标识每一个参考层。这允许针对相关情况发信号通知依赖关系,然而就比特使用率 而言这可能是无效率的。

【发明内容】

[0011] 一般目的是提供多层视频流的高效处理。
[0012] 具体目的是以高效方式发信号通知针对多层视频流的层依赖关系。
[0013] 通过本文所公开的实施例满足这些和其他目的。
[0014] 实施例的一个方面涉及确定编码多层视频流的解码关系的方法,编码多层视频流 定义了多层画面。该方法包括:基于编码多层视频流,获取至少一个直接解码标记,直接 解码标记指示多层中具有层索引i的层和多层中具有层索引j的层之间的直接编码关系, i辛j。该方法还包括:基于至少一个直接解码标记,确定定义多层之间的任意解码关系的 fg息。
[0015] 在本方面的一个实施例中,获取步骤包括:基于编码多层视频流,针对具有层索引 i的层,获取针对每一个层索引j的相应直接依赖关系标记。在本实施例中,j<i和直接 依赖关系标记指示具有层索引j的层是否是针对具有层索引i的层的直接参考层。在本实 施例中,确定步骤包括:基于直接依赖关系标记,确定定义具有层索引i的层依赖的具有层 索引j<i的任意层的信息。
[0016] 在本方面的实施例中,获取步骤包括:从与编码多层视频流相关联的视频参数集 合或视频参数集合扩展获取至少一个直接解码标记,直接解码标记指示具有层索引i的层 和具有层索引j的层之间的直接编码关系。
[0017] 实施例的相关方面定义了用于确定编码多层视频流的解码关系的方法,编码多层 视频流定义了多层画面。设备包括:标记获取器,被配置为基于编码多层视频流,获取至少 一个直接解码标记,直接解码标记指示多层中具有层索引i的层和多层中具有层索引j的 层之间的直接编码关系,i辛j。设备还包括:信息确定器,被配置为基于至少一个直接解码 标记,确定定义多层之间的任意解码关系的信息。
[0018] 在本相关方面的一个实施例中,标记获取器被配置为:基于编码多层视频流,针对 具有层索引i的层,获取针对每一个层索引j的相应直接依赖关系标记。在本实施例中,j <1和直接依赖关系标记指示具有层索引j的层是否是针对具有层索引i的层的直接参考 层。在本实施例中,信息确定器被配置为:基于直接依赖关系标记,确定定义具有层索引i 的层依赖的具有层索引j<i的任意层的信息。
[0019] 在本相关方面的实施例中,标记获取器被配置为:从与编码多层视频流相关联的 视频参数集合或视频参数集合扩展获取至少一个直接解码标记,直接解码标记指示具有层 索引i的层和具有层索引j的层之间的直接编码关系。
[0020] 实施例的该相关方面的变体定义了用于确定编码多层视频流的解码关系的设备, 编码多层视频流定义了多层画面。该设备包括处理器,被配置为对计算机可读介质中存储 的计算机程序的代码装置进行处理。代码装置在处理器上运行时使处理器基于编码多层视 频流,获取至少一个直接解码标记,直接解码标记指示多层中具有层索引i的层和多层中 具有层索引j的层之间的直接编码关系,i辛j。代码装置还使处理器基于至少一个直接解 码标记,确定定义多层之间的任意解码关系的信息。
[0021] 实施例的另一方面涉及一种对定义多层画面的编码多层视频流进行解码的方法, 多层中的每一个层具有相应的层标识符。该方法包括:对于多层中具有层索引的层,基于编 码多层视频流,获取解码关系信息。解码关系信息定义层直接依赖的多层中任意参考层的 相应层索引。该方法还包括:对于每一个参考层并对于层,基于层标识符和层索引之间的层 级映射关系的映射信息,将其层索引映射到层标识符。映射信息是基于编码多层视频流获 取的。该方法还包括:基于多层中的层中的至少一个先前解码画面,对层的画面进行解码, 多层中的层是基于从层索引映射的层标识符识别的。
[0022] 在该另一方面的实施例中,获取步骤包括:基于编码多层视频流,获取至少一个直 接解码标记,直接解码标记指示多层中具有层索引i的层和多层中具有层索引j的层之间 的直接编码关系,i辛j。在本实施例中,获取步骤还包括:基于至少一个直接解码标记,确 定解码关系信息。
[0023] 在该另一方面的一个实施例中,映射步骤包括:基于编码多层视频流,获取标记 vps_nuh_layer_id_present_flag。映射步骤还包括:对于每一个参考层并对于层且如果 vps_nuh_layer_id_present_flag= 0,将其层标识符设置为等于其层索引。映射步骤S2 还包括:对于每一个参考层并对于层且如果vps_nuh_layer_id_present_flag= 1,从向量 layer_id_in_nuh [i],i G [1,vps_max_layers_minusl]获取其层标识符,其中vps_max_ layers_minusl+l指示层的最大数量,并且layer_id_in_nuh[i]指示针对具有层索引i的 层的层标识符。
[0024] 实施例的另一相关方面定义了一种解码器,被配置为对定义多层画面的编码多层 视频流进行解码,多层中的每一个层具有相应的层标识符。解码器包括:解码关系信息获取 器,被配置为对于多层中具有层索引的层,基于编码多层视频流,获取解码关系信息。解码 关系信息定义层直接依赖的多层的任意参考层的相应层索引。索引至标识符映射单元被配 置为:对于每一个参考层并对于层,基于层标识符和层索引之间的层级映射关系的映射信 息,将其层索引映射到层标识符。映射信息是基于编码多层视频流获取的。解码器还包括: 解码单元,被配置为基于多层中的层中的至少一个实现解码画面,对层的画面进行解码,多 层中的层是基于从层索引映射的层标识符识别的。
[0025] 在该另一方面的实施例中,解码关系信息获取器包括标记获取器,被配置为:基于 编码多层视频流,获取至少一个直接解码标记,直接解码标记指示多层中具有层索引i的 层和多层中具有层索引j的层之间的直接编码关系,i辛j。在本实施例中,解码关系信息 获取器还包括信息确定器,信息确定器被配置为:基于至少一个直接解码标记,确定解码关 系信息。
[0026] 在该另一相关方面的一个实施例中,索引至标识符映射单元被配置为:基于编码 多层视频流,获取标记vps_nuh_layer_id_present_flag。索引至标识符映射单元还被配 置为:对于每一个参考层并对于层且如果vps_nuh_layer_id_present_flag= 0,将其层 标识符设置为等于其层索引。索引至标识符映射单元还被配置为:对于每一个参考层并对 于层且如果vps_nuh_layer_id_present_flag= 1,从向量layer_id_in_nuh[i],iG[1,vps_max_layers_minusl]获取其层标识符,其中vps_max_layers_minusl+l指示层的最大 数量,并且layer_id_in_nuh[i]指示针对具有层索引i的层的层标识符。
[0027] 实施例的该另一相关方面的变体定义了一种解码器,被配置为对定义多层画面的 编码多层视频流进行解码,多层中的每一个层具有相应的层标识符。解码器包括处理器,被 配置为对计算机可读介质中存储的计算机程序的代码装置进行处理。代码装置在处理器上 运行时使处理器对于多层中具有层索引的层,基于编码多层视频流获取解码关系信息。解 码关系信息定义层直接依赖的多层的任意参考层的相应层索引。代码装置还使处理器:对 于每一个参考层并对于层,基于层标识符和层索引之间的层级映射关系的映射信息,将其 层索引映射到层标识符。映射信息是基于编码多层视频流获取的。代码装置还使处理器基 于多层中的层中的至少一个先前解码画面,对层的画面进行解码,多层中的层是基于从层 索引映射的层标识符识别的。
[0028] 实施例的另一方面涉及确定多层视频流的编码关系的方法,多层视频流定义了多 层画面。方法包括确定多层之间的任意编码关系。方法还包括:针对多层中具有层索引i 的层并基于编码关系,确定至少一个直接解码标记,直接解码标记指示多层的具有层索引i 的层和具有层索引j的层之间的直接编码关系,其中i辛j。方法还包括:将至少一个直接 解码标记和多层视频流的编码表示相关联。
[0029] 实施例的另一相关方面定义了用于确定定义了多层画面的多层视频流的编码关 系的设备。该设备包括:关系确定器,被配置为确定多层之间的任意编码关系。该设备还包 括标记确定器,被配置为:针对多层的具有层索引i的层并基于编码关系,确定至少一个直 接解码标记,直接解码标记指示多层的具有层索引i的层和具有层索引j的层之间的直接 编码关系,其中i辛j。该设备还包括:关联单元,被配置为将至少一个直接解码标记和多 层视频流的编码表示相关联。
[0030] 实施例的该另一相关方面的变体定义了用于确定定义了多层画面的多层视频流 的编码关系的设备。该设备包括处理器,被配置为对计算机可读介质中存储的计算机程序 的代码装置进行处理。代码装置在处理器上运行时,使处理器确定多层之间的任意编码关 系。代码装置还使处理器:针对多层的具有层索引i的层并基于编码关系,确定至少一个直 接解码标记,直接解码标记指示多层的具有层索引i的层和具有层索引j的层之间的直接 编码关系,其中i辛j。代码装置还使处理器:将至少一个直接解码标记和多层视频流的编 码表示相关联。
[0031] 实施例的又一方面涉及一种对定义多层画面的多层视频流进行解码的方法,多层 中的每一个层具有相应的层标识符。方法包括:对于多层中的每一个层,基于多层之间的编 码依赖关系,将层的层标识符映射到层索引。方法还包括:确定编码关系信息,该编码关系 信息定义多层的层直接依赖的多层的任意参考层的相应层索引。方法还包括:通过基于编 码依赖关系来对多层的画面进行编码来生成编码多层视频流,并将编码关系信息与编码多 层视频流相关联。
[0032] 在该另一方面的实施例中,确定步骤包括:确定多层之间的任意编码关系,并针对 多层的具有层索引i的层并基于编码关系,确定至少一个直接解码标记,直接解码标记指 示多层的具有层索引i的层和具有层索引j的层之间的直接编码关系,i辛j。在本实施例 中,关联步骤包括:将至少一个直接解码标记和编码多层视频流相关联。
[0033] 实施例的又一相关方面定义了一种编码器,被配置为对定义多层画面的多层视频 流进行解码,多层中的每一个层具有相应的层标识符。编码器包括映射单元,被配置为:对 于多层中的每一个层,基于多层之间的编码依赖关系,将层的层标识符映射到层索引。编码 器还包括信息确定器,被配置为:确定编码关系信息,该编码关系信息定义多层的层直接依 赖的多层的任意参考层的相应层索引。编码器还包括:编码单元,被配置为通过基于编码依 赖关系来对多层的画面进行编码来生成编码多层视频流;以及关联单元,被配置为将编码 关系信息与编码多层视频流相关联。
[0034] 在该又一相关方面的实施例中,信息确定器包括关系确定器,所述关系确定器被 配置为:确定多层之间的任意编码关系;以及,标记确定器,被配置为针对多层的具有层索 弓丨i的层并基于编码关系,确定至少一个直接解码标记,直接解码标记指示多层的具有层 索引i的层和具有层索引j的层之间的直接编码关系,i辛j。在本实施例中,关联单元被 配置为:将至少一个直接解码标记和编码多层视频流相关联。
[0035] 实施例的又一相关方面的变体定义了一种编码器,被配置为对定义多层画面的多 层视频流进行编码,多层中的每一个层具有相应的层标识符。编码器包括:处理器,被配置 为对计算机可读介质中存储的计算机程序的代码装置进行处理。代码装置在处理器上运行 时,使处理器:对于多层中的每一个层,基于多层之间的编码依赖关系,将层的层标识符映 射到层索引。代码装置还使处理器:确定编码关系信息,该编码关系信息定义多层的层直接 依赖的多层的任意参考层的相应层索引。代码装置还使处理器:通过基于编码依赖关系来 对多层的画面进行编码,生成编码多层视频流。编码装置附加地使处理器:将编码关系信息 与编码多层视频流相关联。
[0036] 实施例的其他方面定义了用户设备和网络节点,包括根据上文用于确定解码关系 的设备和/或根据上文的解码器,以及包括根据上文用于确定编码关系的设备和/或根据 上文的编码器的用户设备。
【附图说明】
[0037] 可以参考以下说明书并结合附图来最好地理解实施例连同其他对象及其优点,在 附图中:
[0038] 图1示意性地示出了多层视频流的示例;
[0039] 图2示意性地示出了多层视频流的另一示例;
[0040] 图3示出了多层视频流中画面的编码部分的示例;
[0041] 图4示出了多层视频流的数据分组的示例;
[0042] 图5是示出了根据实施例的对编码多层视频流进行解码的方法的流程图;
[0043] 图6是示出了根据实施例的确定针对编码多层视频流的解码关系的方法的流程 图;
[0044] 图7是示出了根据另一实施例的确定针对编码多层视频流的解码关系的方法的 流程图;
[0045] 图8是示出了图7中方法的附加、可选步骤的流程图;
[0046] 图9是示出了根据实施例的对多层视频流进行编码的方法的流程图;
[0047] 图10是示出了根据实施例的确定针对多层视频流的编码关系的方法的流程图;
[0048] 图11是示出了根据另一实施例的确定针对多层视频流的编码关系的方法的流程 图;
[0049] 图12是根据实施例的解码器的示意性框图;
[0050] 图13是根据实施例的用于确定解码关系的设备的示意性框图;
[0051] 图14是根据另一实施例的用于确定解码关系的设备的示意性框图;
[0052] 图15是根据实施例的编码器的示意性框图;
[0053] 图16是根据实施例的用于确定编码关系的设备的示意性框图;
[0054] 图17是根据另一实施例的用于确定编码关系的设备的示意性框图;
[0055] 图18是示出了根据实施例的设备的特定实现示例的示意性框图;
[0056] 图19是对多层视频流进行
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1