首页> 中国专利> 关于视频译码中的帧内随机接入点图像和前置图像

关于视频译码中的帧内随机接入点图像和前置图像

摘要

本申请公开了一种由视频编码器实现的对视频码流进行编码的方法。所述方法包括:将视频数据可用的一个少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合存储在所述视频编码器的存储器中;所述视频编码器的处理器从所述少于5种NAL单元类型的集合中为所述视频数据中的一个图像选择一种NAL单元类型;所述视频编码器的所述处理器生成视频码流,其中,所述视频码流包括与所选NAL单元类型对应的NAL单元和标识所选NAL单元类型的标识符;所述视频编码器的发送器向视频解码器发送所述视频码流。本申请还公开了一种对所述视频码流进行解码的对应方法。

著录项

  • 公开/公告号CN113228588A

    专利类型发明专利

  • 公开/公告日2021-08-06

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201980087023.1

  • 发明设计人 弗努·亨德里;王业奎;

    申请日2019-12-23

  • 分类号H04L29/06(20060101);H04N19/46(20140101);

  • 代理机构

  • 代理人

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 12:07:15

说明书

相关申请交叉引用

本专利申请要求Fnu Hendry等人于2018年12月27日提交的申请号为62/785,515、发明名称为“关于视频译码中的帧内随机接入点图像和前置图像(On Intra RandomAccess Point Pictures and Leading Pictures in Video Coding)”的美国临时专利申请的权益,其全部内容通过引用并入本申请中。

技术领域

本发明大体上描述用于处理前置图像和帧内随机接入点(intra random accesspoint,IRAP)图像的网络抽象层(network abstraction layer,NAL)单元类型的技术。更具体地,本发明描述用于限制可用NAL单元类型的数量和用于使用标志来表示图像在还未通过NAL单元类型标识时是否可解码的技术。

背景技术

即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量受限的通信网络中进行流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备上存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,由解码视频数据的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。

发明内容

第一方面涉及一种由视频编码器实现的对视频码流进行编码的方法。所述方法包括:将视频数据可用的一个少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合存储在所述视频编码器的存储器中;所述视频编码器的处理器从所述少于5种NAL单元类型的集合中为所述视频数据中的一个图像选择一种NAL单元类型;所述视频编码器的所述处理器生成视频码流,其中,所述视频码流包括与所选NAL单元类型对应的NAL单元和标识所选NAL单元类型的标识符;所述视频编码器的发送器向视频解码器发送所述视频码流。

所述方法提供了将视频数据可用的一个NAL单元类型集合限制到5种以下的具体NAL单元类型(例如,将NAL单元类型的数量限制到4)的技术。这样使得前置和后置图像(又称为非IRAP图像)可以共用相同的NAL单元类型。这样还使得NAL单元类型可以表示I-RAP图像是否与RADL图像和/或RASL图像关联。另外,所述具体NAL单元类型可以映射到DASH中的不同SAP类型。通过限制所述NAL单元类型集合,视频译码中的编码器/解码器(又称为“编解码器”)相比于目前的编解码器有所改进(例如,使用更少的比特、需要更少的带宽、效率更高等)。实际上,当视频在发送、接收和/或观看时,改进的视频译码过程为用户提供了更好的用户体验。

根据所述第一方面,在所述方法的第一种实现方式中,所述少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合包括前置和后置图像的NAL单元类型、伴随跳过随机接入前置(random access skipped leading,RASL)图像的帧内随机接入点(intra random access point,IRAP)图像的NAL单元类型、伴随可解码随机接入前置(random access decodable leading,RADL)图像的IRAP图像的NAL单元类型和未伴随前置图像的IRAP图像的NAL单元类型。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第二种实现方式中,所述少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合由前置和后置图像的NAL单元类型、伴随跳过随机接入前置(random access skippedleading,RASL)图像的帧内随机接入点(intra random access point,IRAP)图像的NAL单元类型、伴随可解码随机接入前置(random access decodable leading,RADL)图像的IRAP图像的NAL单元类型和未伴随前置图像的IRAP图像的NAL单元类型组成。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第三种实现方式中,为前置和后置图像指定的都是所述前置和后置图像的NAL单元类型。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第四种实现方式中,为解码顺序在一个或多个RASL图像和0个以上RADL图像之前的一个IRAP图像选择的是所述伴随RASL图像的IRAP图像的NAL单元类型。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第五种实现方式中,所述IRAP图像称为清理随机接入(clean random access,CRA)图像。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第六种实现方式中,所述伴随RASL图像的IRAP图像的NAL单元类型称为清理随机接入(clean randomaccess,CRA)图像的NAL单元类型。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第七种实现方式中,所述伴随RASL图像的IRAP图像的NAL单元类型表示为IRAP_W_RASL。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第八种实现方式中,所述IRAP_W_RASL表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streaming over hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型3。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第九种实现方式中,为解码顺序在一个或多个RADL图像和0个RADL图像之前的一个IRAP图像选择的是所述伴随RADL图像的IRAP图像的NAL单元类型。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第十种实现方式中,所述IRAP图像称为伴随RADL图像的即时解码器刷新(instantaneous decoderrefresh,IDR)图像。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第十一种实现方式中,所述伴随RADL图像的IRAP图像的NAL单元类型称为伴随RADL图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第十二种实现方式中,所述伴随RADL图像的IRAP图像的NAL单元类型表示为IRAP_W_RADL。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第十三种实现方式中,所述IRAP_W_RADL对应于基于超文本传输协议的动态自适应流媒体(dynamicadaptive streaming over hypertext transfer protocol,DASH)中的流接入点(streamaccess point,SAP)类型2。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第十四种实现方式中,为解码顺序不在前置图像之前的一个IRAP图像选择的是所述未伴随前置图像的IRAP图像的NAL单元类型。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第十五种实现方式中,所述IRAP图像称为未伴随前置图像的即时解码器刷新(instantaneousdecoder refresh,IDR)图像。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第十六种实现方式中,所述未伴随前置图像的IRAP图像的NAL单元类型称为未伴随前置图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第十七种实现方式中,所述未伴随前置图像的IRAP图像的NAL单元类型表示为IRAP_N_LP。

根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的第十八种实现方式中,所述IRAP_N_LP表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streaming over hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型1。

第二方面涉及一种由视频解码器实现的对经译码视频码流进行解码的方法。所述方法包括:将视频数据可用的一个少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合存储在所述视频解码器的存储器中;所述视频解码器的接收器接收包括NAL单元和标识符的经译码视频码流;所述视频解码器的处理器根据所述标识符,从所述少于5种NAL单元类型的集合中确定用于对所述NAL单元进行编码的一种NAL单元类型;所述视频解码器的所述处理器根据所述确定的NAL单元类型,为所述NAL单元中包括的多个图像指定呈现顺序。

所述方法提供了将视频数据可用的一个NAL单元类型集合限制到5种以下的具体NAL单元类型(例如,将NAL单元类型的数量限制到4)的技术。这样使得前置和后置图像(又称为非IRAP图像)可以共用相同的NAL单元类型。这样还使得NAL单元类型可以表示I-RAP图像是否与RADL图像和/或RASL图像关联。另外,所述具体NAL单元类型可以映射到DASH中的不同SAP类型。通过限制所述NAL单元类型集合,视频译码中的编码器/解码器(又称为“编解码器”)相比于目前的编解码器有所改进(例如,使用更少的比特、需要更少的带宽、效率更高等)。实际上,当视频在发送、接收和/或观看时,改进的视频译码过程为用户提供了更好的用户体验。

根据所述第二方面,在所述方法的第一种实现方式中,所述少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合包括前置和后置图像的NAL单元类型、伴随跳过随机接入前置(random access skipped leading,RASL)图像的帧内随机接入点(intra random access point,IRAP)图像的NAL单元类型、伴随可解码随机接入前置(random access decodable leading,RADL)图像的IRAP图像的NAL单元类型和未伴随前置图像的IRAP图像的NAL单元类型。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第二种实现方式中,所述少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合由前置和后置图像的NAL单元类型、伴随跳过随机接入前置(random access skippedleading,RASL)图像的帧内随机接入点(intra random access point,IRAP)图像的NAL单元类型、伴随可解码随机接入前置(random access decodable leading,RADL)图像的IRAP图像的NAL单元类型和未伴随前置图像的IRAP图像的NAL单元类型组成。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第三种实现方式中,为前置和后置图像指定的都是所述前置和后置图像的NAL单元类型。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第四种实现方式中,为解码顺序在一个或多个RASL图像和0个以上RADL图像之前的一个IRAP图像确定的是所述伴随RASL图像的IRAP图像的NAL单元类型。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第五种实现方式中,所述IRAP图像称为清理随机接入(clean random access,CRA)图像。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第六种实现方式中,所述伴随RASL图像的IRAP图像的NAL单元类型称为清理随机接入(clean randomaccess,CRA)图像的NAL单元类型。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第七种实现方式中,所述伴随RASL图像的IRAP图像的NAL单元类型表示为IRAP_W_RASL。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第八种实现方式中,所述IRAP_W_RASL表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streaming over hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型3。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第九种实现方式中,为解码顺序在一个或多个RADL图像和0个RADL图像之前的一个IRAP图像确定的是所述伴随RADL图像的IRAP图像的NAL单元类型。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第十种实现方式中,所述IRAP图像称为伴随RADL图像的即时解码器刷新(instantaneous decoderrefresh,IDR)图像。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第十一种实现方式中,所述伴随RADL图像的IRAP图像的NAL单元类型称为伴随RADL图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第十二种实现方式中,所述伴随RADL图像的IRAP图像的NAL单元类型表示为IRAP_W_RADL。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第十三种实现方式中,所述IRAP_W_RADL对应于基于超文本传输协议的动态自适应流媒体(dynamicadaptive streaming over hypertext transfer protocol,DASH)中的流接入点(streamaccess point,SAP)类型2。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第十四种实现方式中,为解码顺序不在前置图像之前的一个IRAP图像确定的是所述未伴随前置图像的IRAP图像的NAL单元类型。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第十五种实现方式中,所述IRAP图像称为未伴随前置图像的即时解码器刷新(instantaneousdecoder refresh,IDR)图像。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第十六种实现方式中,所述未伴随前置图像的IRAP图像的NAL单元类型称为未伴随前置图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第十七种实现方式中,所述未伴随前置图像的IRAP图像的NAL单元类型表示为IRAP_N_LP。

根据所述第二方面或所述第二方面的任一上述实现方式,在所述方法的第十八种实现方式中,所述IRAP_N_LP表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streaming over hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型1。

第三方面涉及一种编码设备。所述编码设备包括:存储器,包括指令和视频数据可用的一个少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合;与所述存储器耦合的处理器,其中,所述处理器用于执行所述指令以使得所述编码设备执行以下操作:从所述少于5种NAL单元类型的集合中为所述视频数据中的一个图像选择一种NAL单元类型;生成视频码流,其中,所述视频码流包括与所选NAL单元类型对应的NAL单元和标识所选NAL单元类型的标识符;与所述处理器耦合的发送器,其中,所述发送器用于向视频解码器发送所述视频码流。

所述编码设备提供了将视频数据可用的一个NAL单元类型集合限制到5种以下的具体NAL单元类型(例如,将NAL单元类型的数量限制到4)的技术。这样使得前置和后置图像(又称为非IRAP图像)可以共用相同的NAL单元类型。这样还使得NAL单元类型可以表示I-RAP图像是否与RADL图像和/或RASL图像关联。另外,所述具体NAL单元类型可以映射到DASH中的不同SAP类型。通过限制所述NAL单元类型集合,视频译码中的编码器/解码器(又称为“编解码器”)相比于目前的编解码器有所改进(例如,使用更少的比特、需要更少的带宽、效率更高等)。实际上,当视频在发送、接收和/或观看时,改进的视频译码过程为用户提供了更好的用户体验。

根据所述第三方面,在所述编码设备的第一种实现方式中,所述少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合包括前置和后置图像的NAL单元类型、伴随跳过随机接入前置(random access skipped leading,RASL)图像的帧内随机接入点(intra random access point,IRAP)图像的NAL单元类型、伴随可解码随机接入前置(random access decodable leading,RADL)图像的IRAP图像的NAL单元类型和未伴随前置图像的IRAP图像的NAL单元类型。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第二种实现方式中,所述少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合由前置和后置图像的NAL单元类型、伴随跳过随机接入前置(random access skippedleading,RASL)图像的帧内随机接入点(intra random access point,IRAP)图像的NAL单元类型、伴随可解码随机接入前置(random access decodable leading,RADL)图像的IRAP图像的NAL单元类型和未伴随前置图像的IRAP图像的NAL单元类型组成。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第三种实现方式中,为前置和后置图像指定的都是所述前置和后置图像的NAL单元类型。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第四种实现方式中,为解码顺序在一个或多个RASL图像和0个以上RADL图像之前的一个IRAP图像选择的是所述伴随RASL图像的IRAP图像的NAL单元类型。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第五种实现方式中,所述IRAP图像称为清理随机接入(clean random access,CRA)图像。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第六种实现方式中,所述伴随RASL图像的IRAP图像的NAL单元类型称为清理随机接入(cleanrandom access,CRA)图像的NAL单元类型。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第七种实现方式中,所述伴随RASL图像的IRAP图像的NAL单元类型表示为IRAP_W_RASL。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第八种实现方式中,所述IRAP_W_RASL表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streaming over hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型3。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第九种实现方式中,为解码顺序在一个或多个RADL图像和0个RADL图像之前的一个IRAP图像选择的是所述伴随RADL图像的IRAP图像的NAL单元类型。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第十种实现方式中,所述IRAP图像称为伴随RADL图像的即时解码器刷新(instantaneousdecoder refresh,IDR)图像。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第十一种实现方式中,所述伴随RADL图像的IRAP图像的NAL单元类型称为伴随RADL图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第十二种实现方式中,所述伴随RADL图像的IRAP图像的NAL单元类型表示为IRAP_W_RADL。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第十三种实现方式中,所述IRAP_W_RADL对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streaming over hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型2。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第十四种实现方式中,为解码顺序不在前置图像之前的一个IRAP图像选择的是所述未伴随前置图像的IRAP图像的NAL单元类型。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第十五种实现方式中,所述IRAP图像称为未伴随前置图像的即时解码器刷新(instantaneousdecoder refresh,IDR)图像。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第十六种实现方式中,所述未伴随前置图像的IRAP图像的NAL单元类型称为未伴随前置图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第十七种实现方式中,所述未伴随前置图像的IRAP图像的NAL单元类型表示为IRAP_N_LP。

根据所述第三方面或所述第三方面的任一上述实现方式,在所述编码设备的第十八种实现方式中,所述IRAP_N_LP表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streaming over hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型1。

第四方面涉及一种解码设备。所述解码设备包括:接收器,用于接收包括NAL单元和标识符的经译码视频码流;与所述接收器耦合的存储器,其中,所述存储器存储指令和视频数据可用的一个少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合;与所述存储器耦合的处理器,其中,所述处理器用于执行所述指令,以使得所述解码设备执行以下操作:根据所述标识符,从所述少于5种NAL单元类型的集合中确定用于对所述NAL单元进行编码的一种NAL单元类型;根据所述确定的NAL单元类型,为所述NAL单元中包括的多个图像指定呈现顺序。

所述解码设备提供了将视频数据可用的一个NAL单元类型集合限制到5种以下的具体NAL单元类型(例如,将NAL单元类型的数量限制到4)的技术。这样使得前置和后置图像(又称为非IRAP图像)可以共用相同的NAL单元类型。这样还使得NAL单元类型可以表示I-RAP图像是否与RADL图像和/或RASL图像关联。另外,所述具体NAL单元类型可以映射到DASH中的不同SAP类型。通过限制所述NAL单元类型集合,视频译码中的编码器/解码器(又称为“编解码器”)相比于目前的编解码器有所改进(例如,使用更少的比特、需要更少的带宽、效率更高等)。实际上,当视频在发送、接收和/或观看时,改进的视频译码过程为用户提供了更好的用户体验。

根据所述第四方面,在所述解码设备的第一种实现方式中,所述少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合包括前置和后置图像的NAL单元类型、伴随跳过随机接入前置(random access skipped leading,RASL)图像的帧内随机接入点(intra random access point,IRAP)图像的NAL单元类型、伴随可解码随机接入前置(random access decodable leading,RADL)图像的IRAP图像的NAL单元类型和未伴随前置图像的IRAP图像的NAL单元类型。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第二种实现方式中,所述少于5种网络抽象层(network abstraction layer,NAL)单元类型的集合由前置和后置图像的NAL单元类型、伴随跳过随机接入前置(random access skippedleading,RASL)图像的帧内随机接入点(intra random access point,IRAP)图像的NAL单元类型、伴随可解码随机接入前置(random access decodable leading,RADL)图像的IRAP图像的NAL单元类型和未伴随前置图像的IRAP图像的NAL单元类型组成。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第三种实现方式中,为前置和后置图像指定的都是所述前置和后置图像的NAL单元类型。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第四种实现方式中,为解码顺序在一个或多个RASL图像和0个以上RADL图像之前的一个IRAP图像选择的是所述伴随RASL图像的IRAP图像的NAL单元类型。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第五种实现方式中,所述IRAP图像称为清理随机接入(clean random access,CRA)图像。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第六种实现方式中,所述伴随RASL图像的IRAP图像的NAL单元类型称为清理随机接入(cleanrandom access,CRA)图像的NAL单元类型。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第七种实现方式中,所述伴随RASL图像的IRAP图像的NAL单元类型表示为IRAP_W_RASL。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第八种实现方式中,所述IRAP_W_RASL表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streaming over hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型3。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第九种实现方式中,为解码顺序在一个或多个RADL图像和0个RADL图像之前的一个IRAP图像选择的是所述伴随RADL图像的IRAP图像的NAL单元类型。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第十种实现方式中,所述IRAP图像称为伴随RADL图像的即时解码器刷新(instantaneousdecoder refresh,IDR)图像。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第十一种实现方式中,所述伴随RADL图像的IRAP图像的NAL单元类型称为伴随RADL图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第十二种实现方式中,所述伴随RADL图像的IRAP图像的NAL单元类型表示为IRAP_W_RADL。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第十三种实现方式中,所述IRAP_W_RADL对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streaming over hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型2。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第十四种实现方式中,为解码顺序不在前置图像之前的一个IRAP图像选择的是所述未伴随前置图像的IRAP图像的NAL单元类型。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第十五种实现方式中,所述IRAP图像称为未伴随前置图像的即时解码器刷新(instantaneousdecoder refresh,IDR)图像。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第十六种实现方式中,所述未伴随前置图像的IRAP图像的NAL单元类型称为未伴随前置图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第十七种实现方式中,所述未伴随前置图像的IRAP图像的NAL单元类型表示为IRAP_N_LP。

根据所述第四方面或所述第四方面的任一上述实现方式,在所述解码设备的第十八种实现方式中,所述IRAP_N_LP表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streaming over hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型1。

第五方面涉及一种由视频编码器实现的对视频码流进行编码的方法。所述方法包括:所述视频编码器的处理器生成码流,其中,所述码流包括用于与帧内随机接入点(intrarandom access point,IRAP)图像关联的非帧内随机接入点(non-intra random accesspoint,non-IRAP)图像的网络抽象层(network abstraction layer,NAL)单元;当用于所述非IRAP图像的所述NAL单元包括可解码随机接入前置(random access decodableleading,RADL)图像时,所述视频编码器的所述处理器将所述码流中的第一标志设置为第一值;当用于所述非IRAP图像的所述NAL单元包括跳过随机接入前置(random accessskipped leading,RASL)图像时,所述视频编码器的所述处理器将所述码流中的第二标志设置为所述第一值;所述视频编码器的发送器向视频解码器发送所述视频码流。

所述编码方法提供了用于非IRAP图像不通过所述NAL单元类型标识的情况下的技术。在这类情况下,码流中的标志被设置为特定值,以表示IRAP图像是否与RADL图像或RASL图像关联。

根据所述第五方面,在所述方法的第一种实现方式中,所述第一标志表示为RadlPictureFlag,所述第二标志表示为RaslPictureFlag。

根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的第二种实现方式中,所述第一值为1(1)。

根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的第三种实现方式中,所述非IRAP图像包括前置图像。

根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的第四种实现方式中,所述非IRAP图像包括后置图像。

根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的第五种实现方式中,当所述非IRAP图像的图像顺序编号(picture order count,POC)值小于所述IRAP图像的POC值时,所述第一标志被设置为所述第一值。

根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的第六种实现方式中,当所述非IRAP图像的每个参考图像列表不包括除与所述非IRAP图像关联的所述IRAP图像以外的任何图像或不包括与所述IRAP图像关联的另一RADL图像时,所述第一标志被设置为所述第一值。

根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的第七种实现方式中,当所述非IRAP图像的图像顺序编号(picture order count,POC)值小于所述IRAP图像的POC值时,所述第二标志被设置为所述第一值。

根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的第八种实现方式中,当所述非IRAP图像的任一参考图像列表包括解码顺序在与所述非IRAP图像关联的所述IRAP图像或与所述IRAP图像关联的另一RASL图像之前的至少一个参考图像时,所述第二标志被设置为所述第一值。

根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的第九种实现方式中,所述方法还包括:将所述第一标志和所述第二标志设置为第二值,以表示用于所述非IRAP图像的所述NAL单元不包括所述RADL图像或所述RASL图像。

根据所述第五方面或所述第五方面的任一上述实现方式,在所述方法的第十种实现方式中,对于所述非IRAP图像,所述第一标志和所述第二标志都不被设置为所述第一值。

第六方面涉及一种由视频解码器实现的对视频码流进行解码的方法。所述方法包括:所述视频解码器的接收器接收经译码视频码流,其中,所述经译码视频码流包括第一标志、第二标志和用于与帧内随机接入点(intra random access point,IRAP)图像关联的非帧内随机接入点(non-intra random access point,non-IRAP)图像的网络抽象层(network abstraction layer,NAL)单元;当所述码流中的所述第一标志已经设置为第一值时,所述视频解码器的处理器确定用于所述非IRAP图像的所述NAL单元包括可解码随机接入前置(random access decodable leading,RADL)图像;当所述码流中的所述第二标志已经设置为所述第一值时,所述视频解码器的处理器确定用于所述非IRAP图像的所述NAL单元包括跳过随机接入前置(random access skipped leading,RASL)图像;所述视频解码器的所述处理器根据所述第一标志或所述第二标志具有所述第一值,为所述NAL单元中包括的多个图像指定呈现顺序,并根据所述指定的呈现顺序,对所述NAL单元进行解码。

所述解码方法提供了用于非IRAP图像不通过所述NAL单元类型标识的情况下的技术。在这类情况下,码流中的标志被设置为特定值,以表示IRAP图像是否与RADL图像或RASL图像关联。

根据所述第六方面,在所述方法的第一种实现方式中,所述第一标志表示为RadlPictureFlag,所述第二标志表示为RaslPictureFlag。

根据所述第六方面或所述第六方面的任一上述实现方式,在所述方法的第二种实现方式中,所述第一值为1(1)。

根据所述第六方面或所述第六方面的任一上述实现方式,在所述方法的第三种实现方式中,所述非IRAP图像包括前置图像。

根据所述第六方面或所述第六方面的任一上述实现方式,在所述方法的第四种实现方式中,所述非IRAP图像包括后置图像。

根据所述第六方面或所述第六方面的任一上述实现方式,在所述方法的第五种实现方式中,当所述非IRAP图像的图像顺序编号(picture order count,POC)值小于所述IRAP图像的POC值时,所述第一标志被设置为所述第一值。

根据所述第六方面或所述第六方面的任一上述实现方式,在所述方法的第六种实现方式中,当所述非IRAP图像的每个参考图像列表不包括除与所述非IRAP图像关联的所述IRAP图像以外的任何图像或不包括与所述IRAP图像关联的另一RADL图像时,所述第一标志被设置为所述第一值。

根据所述第六方面或所述第六方面的任一上述实现方式,在所述方法的第七种实现方式中,当所述非IRAP图像的图像顺序编号(picture order count,POC)值小于所述IRAP图像的POC值时,所述第二标志被设置为所述第一值。

根据所述第六方面或所述第六方面的任一上述实现方式,在所述方法的第八种实现方式中,当所述非IRAP图像的任一参考图像列表包括解码顺序在与所述非IRAP图像关联的所述IRAP图像或与所述IRAP图像关联的另一RASL图像之前的至少一个参考图像时,所述第二标志被设置为所述第一值。

根据所述第六方面或所述第六方面的任一上述实现方式,在所述方法的第九种实现方式中,所述方法还包括:将所述第一标志和所述第二标志设置为第二值,以表示用于所述非IRAP图像的所述NAL单元不包括所述RADL图像或所述RASL图像。

根据所述第六方面或所述第六方面的任一上述实现方式,在所述方法的第十种实现方式中,对于所述非IRAP图像,所述第一标志和所述第二标志都不被设置为所述第一值。

第七方面涉及一种译码装置。所述译码装置包括:接收器,用于接收码流进行解码;与所述接收器耦合的发送器,其中,所述发送器用于向显示器发送经解码图像;与所述接收器或所述发送器中的至少一个耦合的存储器,其中,所述存储器用于存储指令;与所述存储器耦合的处理器,其中,所述处理器用于执行存储在所述存储器中的所述指令,以执行本文公开的实施例中任一个提供的方法。

所述译码装置提供了将视频数据可用的一个NAL单元类型集合限制到5种以下的具体NAL单元类型(例如,将NAL单元类型的数量限制到4)的技术。这样使得前置和后置图像(又称为非IRAP图像)可以共用相同的NAL单元类型。这样还使得NAL单元类型可以表示I-RAP图像是否与RADL图像和/或RASL图像关联。另外,所述具体NAL单元类型可以映射到DASH中的不同SAP类型。通过限制所述NAL单元类型集合,视频译码中的编码器/解码器(又称为“编解码器”)相比于目前的编解码器有所改进(例如,使用更少的比特、需要更少的带宽、效率更高等)。实际上,当视频在发送、接收和/或观看时,改进的视频译码过程为用户提供了更好的用户体验。

所述译码装置还提供了用于非IRAP图像不通过所述NAL单元类型标识的情况下的技术。在这类情况下,码流中的标志被设置为特定值,以表示IRAP图像是否与RADL图像或RASL图像关联。

第八方面涉及一种系统。所述系统包括:编码器;与所述编码器通信的解码器,其中,所述编码器或所述解码器包括本文公开的解码设备、编码设备或译码装置。

所述系统提供了将视频数据可用的一个NAL单元类型集合限制到5种以下的具体NAL单元类型(例如,将NAL单元类型的数量限制到4)的技术。这样使得前置和后置图像(又称为非IRAP图像)可以共用相同的NAL单元类型。这样还使得NAL单元类型可以表示I-RAP图像是否与RADL图像和/或RASL图像关联。另外,所述具体NAL单元类型可以映射到DASH中的不同SAP类型。通过限制所述NAL单元类型集合,视频译码中的编码器/解码器(又称为“编解码器”)相比于目前的编解码器有所改进(例如,使用更少的比特、需要更少的带宽、效率更高等)。实际上,当视频在发送、接收和/或观看时,改进的视频译码过程为用户提供了更好的用户体验。

所述系统还提供了用于非IRAP图像不通过所述NAL单元类型标识的情况下的技术。在这类情况下,码流中的标志被设置为特定值,以表示IRAP图像是否与RADL图像或RASL图像关联。

第九方面涉及一种译码模块。所述译码模块包括:接收模块,用于接收码流进行解码;与所述接收模块耦合的发送模块,其中,所述发送模块用于向显示模块发送经解码图像;与所述接收模块或所述发送模块中的至少一个耦合的存储模块,其中,所述存储模块用于存储指令;与所述存储模块耦合的处理模块,其中,所述处理模块用于执行存储在所述存储模块中的所述指令,以执行本文公开的方法。

所述译码模块提供了将视频数据可用的一个NAL单元类型集合限制到5种以下的具体NAL单元类型(例如,将NAL单元类型的数量限制到4)的技术。这样使得前置和后置图像(又称为非IRAP图像)可以共用相同的NAL单元类型。这样还使得NAL单元类型可以表示I-RAP图像是否与RADL图像和/或RASL图像关联。另外,所述具体NAL单元类型可以映射到DASH中的不同SAP类型。通过限制所述NAL单元类型集合,视频译码中的编码器/解码器(又称为“编解码器”)相比于目前的编解码器有所改进(例如,使用更少的比特、需要更少的带宽、效率更高等)。实际上,当视频在发送、接收和/或观看时,改进的视频译码过程为用户提供了更好的用户体验。

所述译码模块还提供了用于非IRAP图像不通过所述NAL单元类型标识的情况下的技术。在这类情况下,码流中的标志被设置为特定值,以表示IRAP图像是否与RADL图像或RASL图像关联。

附图说明

为了更全面地理解本发明,下面参考结合附图和具体实施方式进行的简要描述,其中,相似的附图标记表示相似的部件。

图1为可以采用双向预测技术的示例性译码系统的框图。

图2为可以实现双向预测技术的示例性视频编码器的框图。

图3为可以实现双向预测技术的示例性视频解码器的框图。

图4为视频码流的一个实施例的示意图。

图5为I-RAP图像在解码顺序和呈现顺序上与前置图像和后置图像之间关系的图示。

图6为对视频码流进行编码的方法的一个实施例。

图7为对经译码视频码流进行解码的方法的一个实施例。

图8为对视频码流进行编码的方法的一个实施例。

图9为对经译码视频码流进行解码的方法的一个实施例。

图10为视频译码设备的示意图。

图11为译码模块的一个实施例的示意图。

具体实施方式

以下是本文采用的各种缩略语:编码树块(Coding Tree Block,CTB)、编码树单元(Coding Tree Unit,CTU)、编码单元(Coding Unit,CU)、编码视频序列(Coded VideoSequence,CVS)、联合视频专家组(Joint Video Experts Team,JVET)、运动约束分块集(Motion-Constrained Tile Set,MCTS)、最大传输单元(Maximum Transfer Unit,MTU)、网络抽象层(Network Abstraction Layer,NAL)、图像顺序编号(Picture Order Count,POC)、图像参数集(Picture Parameter Set,PPS)、原始字节序列载荷(Raw Byte SequencePayload,RBSP)、序列参数集(Sequence Parameter Set,SPS)、通用视频编码(VersatileVideo Coding,VVC)和工作草案(Working Draft,WD)。

图1为可以采用本文描述的视频译码技术的示例性译码系统10的框图。如图1所示,译码系统10包括源设备12,源设备12提供稍后由目的地设备14待解码的经编码视频数据。具体地,源设备12可以通过计算机可读介质16将视频数据提供给目的地设备14。源设备12和目的地设备14可以包括各种设备中的任一个,包括台式电脑、笔记本(例如,膝上型)电脑、平板电脑、机顶盒、“智能”手机和“智能”板(pad)等电话手机、电视、摄像机、显示设备、数字媒体播放器、视频游戏机、视频流设备等。在一些情况下,源设备12和目的地设备14可以用于无线通信。

目的地设备14可以通过计算机可读介质16接收待解码的经编码视频数据。计算机可读介质16可以包括任何类型的能够将经编码视频数据从源设备12移动到目的地设备14的介质或设备。在一个示例中,计算机可读介质16可以包括一个通信介质,以使源设备12能够实时将经编码视频数据直接发送给目的地设备14。经编码视频数据可以根据通信标准(例如,无线通信协议)来调制,然后发送给目的地设备14。该通信介质可以包括任何无线或有线通信介质,例如,射频(radio frequency,RF)频谱或一个或多个物理传输线。该通信介质可以形成基于分组的网络的一部分,基于分组的网络例如为局域网、广域网或全球网络(例如,因特网)。该通信介质可以包括路由器、交换机、基站或任何其它可以促进源设备12与目的地设备14之间通信的设备。

在一些示例中,经编码数据可以从输出接口22输出到存储设备。类似地,经编码数据可以通过输入接口从存储设备中存取。该存储设备可以包括各种分布式或本地存取的数据存储介质中的任一个,例如,硬盘驱动器、蓝光光盘、数字视频光盘(digital videodisk,DVD)、只读光盘存储器(Compact Disc Read-Only Memory,CD-ROM)、闪存、易失性或非易失性存储器,或任何其它合适的用于存储经编码视频数据的数字存储介质。在又一示例中,存储设备可以对应于文件服务器或可以存储由源设备12生成的经编码视频的另一中间存储设备。目的地设备14可以通过流式传输或下载方式从存储设备中存取所存储的视频数据。文件服务器可以是任何类型的能够存储经编码视频数据并将该经编码视频数据发送给目的地设备14的服务器。示例性文件服务器包括万维网服务器(例如,用于网站)、文件传输协议(file transfer protocol,FTP)服务器、网络附属存储(network attachedstorage,NAS)设备或本地磁盘驱动器。目的地设备14可以通过包括因特网连接的任何标准数据连接存取经编码视频数据。标准数据连接可以包括无线信道(例如,Wi-Fi连接)、有线连接(例如,数字用户线(digital subscriber line,DSL)、电缆调制解调器等)或适于存取在文件服务器中存储的经编码视频数据的两者组合。经编码视频数据从存储设备的传输可以是流式传输、下载传输或其组合。

本发明中的技术不一定限于无线应用或设置。这些技术可以应用于视频译码以支持各种多媒体应用中的任一种,例如,空中电视广播、有线电视传输、卫星电视传输、HTTP动态自适应流媒体(dynamic adaptive streaming over HTTP,DASH)等互联网流式视频传输、将数字视频编码以存储于数据存储介质中、对存储于数据存储介质上的数字视频解码,或其它应用。在一些示例中,译码系统10可以用于支持单向或双向视频传输,以支持视频流式传输、视频回放、视频广播和/或视频电话等应用。

在图1的示例中,源设备12包括视频源18、视频编码器20和输出接口22。目的地设备14包括输入接口28、视频解码器30和显示设备32。根据本发明,源设备12中的视频编码器20和/或目的地设备14中的视频解码器30可以用于应用上述视频译码技术。在其它示例中,源设备和目的地设备可以包括其它组件或装置。例如,源设备12可以从外部视频源(例如,外部相机)接收视频数据。类似地,目的地设备14可以与外部显示设备连接,而不是包括集成显示设备。

图1所示的译码系统10仅仅是一个示例。视频译码技术可以由任何数字视频编码和/或解码设备执行。尽管本发明中的技术通常由视频译码设备执行,但这些技术还可以由视频编码器/解码器(通常称为“编解码器(CODEC)”)执行。此外,本发明中的技术还可以由视频预处理器执行。视频编码器和/或解码器可以是图形处理单元(graphics processingunit,GPU)或类似设备。

源设备12和目的地设备14仅仅是此类译码设备的示例,其中,源设备12生成经译码视频数据,以发送给目的地设备14。在一些示例中,源设备12和目的地设备14可以基本上对称地操作,使得源设备12和目的地设备14都包括视频编码和解码组件。因此,译码系统10可以支持视频设备12和14之间的单向或双向视频传输,例如,用于视频流式传输、视频回放、视频广播或视频电话。

源设备12中的视频源18可以包括视频捕获设备(例如,摄像机)、包括先前捕获的视频的视频档案库,和/或从视频内容提供方接收视频的视频输入接口。或者,视频源18可以生成基于计算机图形的数据作为源视频,或作为直播视频、存档视频和计算机生成视频的组合。

在一些情况下,当视频源18是摄像机时,源设备12和目的地设备14可以组成摄像头手机或可视电话。然而,如上所述,本发明中描述的技术通常可以适用于视频译码,并且可以应用于无线应用和/或有线应用。在每种情况下,所捕获、预捕获或计算机生成的视频都可以由视频编码器20进行编码。然后,经编码视频信息可以通过输出接口22输出到计算机可读介质16。

计算机可读介质16可以包括瞬态介质,例如,无线广播或有线网络传输,还可以包括存储介质(即,非瞬时性存储介质),例如,硬盘、闪存盘、光盘、数字视频光盘、蓝光光盘或其它计算机可读介质。在一些示例中,网络服务器(未示出)可以从源设备12接收经编码视频数据,并且通过网络传输等将经编码视频数据提供给目的地设备14。类似地,介质生产设施(例如,光盘冲压设施)中的计算设备可以从源设备12接收经编码视频数据,并产生包括经编码视频数据的光盘。因此,在各种示例中,计算机可读介质16可以理解为包括一个或多个各种形式的计算机可读介质。

目的地设备14中的输入接口28从计算机可读介质16接收信息。计算机可读介质16的信息可以包括由视频编码器20定义的语法信息。该语法信息还由视频解码器30使用,包括描述块和其它编码单元(例如,图像组(group of picture,GOP))的特征和/或处理方式的语法元素。显示设备32将经解码视频数据显示给用户,并且可以包括各种显示设备中的任一个,例如,阴极射线管(cathode ray tube,CRT)、液晶显示器(liquid crystaldisplay,LCD)、等离子体显示器、有机发光二极管(organic light emitting diode,OLED)显示器或其它类型的显示设备。

视频编码器20和视频解码器30可以根据视频编码标准(例如,目前开发的高效视频编码(Efficiency Video Coding,HEVC)标准)进行操作,并且可以遵守HEVC测试模型(HEVC Test Model,HM)。可选地,视频编码器20和视频解码器30可以根据其它专有或行业标准进行操作,这些标准例如为国际电信联盟电信标准化部门(InternatioNALTelecommunications Union Telecommunication Standardization Sector,ITU-T)H.264标准(还称为运动图像专家组(Motion Picture Expert Group,MPEG)-4第10部分、高级视频编码(Advanced Video Coding,AVC))、H.265/HEVC及此类标准的扩展版本。然而,本发明中的技术不限于任何特定的编码标准。视频编码标准的其它示例包括MPEG-2和ITU-TH.263。尽管图1未示出,但是在一些方面中,视频编码器20和视频解码器30可以分别与音频编码器和音频解码器集成,并且可以包括合适的复用器-解复用器(multiplexer-demultiplexer,MUX-DEMUX)单元或其它硬件和软件,以处理共同数据流或独立数据流中的音频和视频两者的编码。如果适用,MUX-DEMUX单元可以遵守ITU H.223复用器协议,或用户数据报协议(user datagram protocol,UDP)等其它协议。

视频编码器20和视频解码器30可以分别实现为各种合适的编码器电路中的任一个,例如,一个或多个微处理器、一个或多个数字信号处理器(digital signal processor,DSP)、一个或多个专用集成电路(application specific integrated circuit,ASIC)、一个或多个现场可编程门阵列(field programmable gate array,FPGA)、一个或多个离散逻辑、一个或多个软件、一个或多个硬件、一个或多个固件或其任何组合。当上述技术部分以软件实现时,一种设备可以将该软件的指令存储在合适的非瞬时性计算机可读介质中,并且在硬件中使用一个或多个处理器来执行这些指令,以执行本发明中的技术。视频编码器20和视频解码器30都可以包括在一个或多个编码器或解码器中,其中任一者可以集成为相应设备中的经组合编码器/解码器(encoder/decoder,CODEC)的部分。一种包括视频编码器20和/或视频解码器30的设备可以包括集成电路、微处理器和/或诸如蜂窝电话之类的无线通信设备。

图2为可以实现视频译码技术的示例性视频编码器20的框图。视频编码器20可以对视频条带(slice)内的视频块执行帧内译码和帧间译码。帧内译码依赖于空间预测来减少或去除给定视频帧或图像内的视频中的空间冗余。帧间译码依赖于时间预测来减少或去除视频序列的相邻帧或图像内的视频中的时间冗余。帧内模式(I模式)可以指代若干种基于空间的译码模式中的任一种。帧间模式(例如,单向预测(uni-directioNAL/uniprediction)(P模式)或双向预测(bi-prediction/bi prediction)(B模式)可以指代若干种基于时间的译码模式中的任一种。

如图2所示,视频编码器20接收待编码的视频帧内的当前视频块。在图2的示例中,视频编码器20包括模式选择单元40、参考帧存储器64、加法器50、变换处理单元52、量化单元54和熵编码单元56。模式选择单元40又包括运动补偿单元44、运动估计单元42、帧内预测(intra-predition/intra prediction)单元46和分割单元48。为了视频块重建,视频编码器20还包括反量化单元58、逆变换单元60和加法器62。去块效应滤波器(图2中未示出)也包括在内,以对块边界进行滤波,从而从重建视频中去除块效应。如果需要,去块效应滤波器通常对加法器62的输出进行滤波。除去块效应滤波器之外,还可以使用其它(环内或环后)滤波器。为了简洁起见而未示出此类滤波器,但是如果需要,此类滤波器(作为环内滤波器)可以对加法器50的输出进行滤波。

在编码过程期间,视频编码器20接收待译码的视频帧或条带(slice)。可以将帧或条带划分成多个视频块。运动估计单元42和运动补偿单元44相对于一个或多个参考帧中的一个或多个块对接收到的视频块执行帧间预测译码,以提供时间预测。帧内预测单元46还可以相对于与待译码块位于同一帧或条带中的一个或多个相邻块对接收到的视频块执行帧内预测译码,以提供空间预测。视频编码器20可以执行多个译码回合,(例如)以选择用于视频数据的每一块的适当译码模式。

此外,分割单元48可以基于先前译码回合中对先前分割方案的评估而将视频数据的块分割成子块。例如,分割单元48可以最初将一帧或条带分割成多个最大编码单元(largest coding unit,LCU),并且根据率失真分析(例如,率失真优化)将多个LCU中的每一个分割成多个子编码单元(sub-coding unit,sub-CU)。模式选择单元40可以进一步产生指示LCU至子CU的分割的四叉树数据结构。四叉树中的叶节点CU可以包括一个或多个预测单元(prediction unit,PU)和一个或多个变换单元(transform unit,TU)。

本发明使用术语“块”来指代HEVC上下文中的CU、PU或TU中的任一个或其它标准上下文中的类似数据结构(例如,H.264/AVC中的宏块及其子块)。一个CU包括编码节点、与该编码节点相关联的PU和TU。CU的大小与编码节点的大小对应,呈正方形。CU的大小范围可以为8×8个像素到最大值为64×64个像素或更大的树块大小。每个CU可以包括一个或多个PU和一个或多个TU。与CU相关联的语法数据可以描述(例如)CU到一个或多个PU的分割。对CU进行跳过模式或直接模式编码、进行帧内预测模式编码或进行帧间预测(inter-predictio/inter prediction)模式编码,分割模式可能有所不同。PU可以分割成非正方形。与CU相关联的语法数据还可以描述(例如)根据四叉树的CU到一个或多个TU的分割。一个TU可以是正方形或非正方形(例如,矩形)。

模式选择单元40可以根据误差结果等选择帧内或帧间译码模式中的一种,将所得到的经帧内或帧间译码块提供给加法器50以生成残差块数据,并提供给加法器62以重建经编码块以用作参考帧。模式选择单元40还将语法元素(例如,运动向量、帧内模式指示符、分割信息和其它此类语法信息)提供给熵编码单元56。

运动估计单元42和运动补偿单元44可以高度集成,但出于概念目的而分别说明。由运动估计单元42执行的运动估计为生成运动矢量的过程,这些运动矢量估计视频块的运动。例如,运动向量可以表示当前视频帧或图像内的视频块的PU相对于参考帧(或其它经译码单元)内的预测块(其相对于当前帧(或其它经译码单元)内的正被译码的当前块)的位移。预测块为发现在像素差方面与待译码块高度匹配的块。所述像素差可以通过绝对差和(sum of absolute difference,SAD)、平方差和(sum of square difference,SSD)或其它差度量进行确定。在一些示例中,视频编码器20可以计算存储于参考帧存储器64中的参考图像的子整数像素位置的值。例如,视频编码器20可以内插参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可以执行相对于整数像素位置和分数像素位置的运动搜索,并以分数像素精度输出运动矢量。

运动估计单元42通过将经帧间译码条带中的视频块的PU的位置与参考图像的预测块的位置进行比较而计算该PU的运动矢量。参考图像可以选自第一参考图像列表(列表0)或第二参考图像列表(列表1),其中每一个列表标识存储于参考帧存储器64中的一个或多个参考图像。运动估计单元42将计算得到的运动矢量发送给熵编码单元56和运动补偿单元44。

由运动补偿单元44执行的运动补偿可以包括根据运动估计单元42确定的运动矢量来提取或生成预测块。另外,在一些示例中,运动估计单元42和运动补偿单元44可以在功能上集成。在接收到当前视频块的PU的运动矢量时,运动补偿单元44可以其中一个参考图像列表中找到运动矢量所指向的预测块。加法器50通过从正被译码的当前视频块的像素值中减去预测块的像素值,从而形成像素差值来形成残差视频块,如下所述。一般来说,运动估计单元42执行关于亮度分量的运动估计,运动补偿单元44将根据亮度分量计算得到的运动矢量用于色度分量和亮度分量两者。模式选择单元40还可以生成与视频块和视频条带相关联的语法元素,以供视频解码器30在解码视频条带的视频块时使用。

帧内预测单元46可以对当前块进行帧内预测,以替代由运动估计单元42和运动补偿单元44执行的帧间预测,如上文所述。具体地,帧内预测单元46可以确定帧内预测模式,以用于编码当前块。在一些示例中,帧内预测单元46可以(例如)在单独的编码回合期间使用各种帧内预测模式来编码当前块,而且帧内预测单元46(或在一些示例中,模式选择单元40)可以从经测试的模式中选择要使用的合适帧内预测模式。

例如,帧内预测单元46可以使用针对各种经测试的帧内预测模式的速率失真分析而计算率失真值,并在经测试模式中选择具有最佳率失真特性的帧内预测模式。率失真分析通常确定经编码块与原始未经编码块(曾经被编码以产生经编码块)之间的失真(或误差)量以及用以产生经编码块的码率(即比特数)。帧内预测单元46可以根据各个经编码块的失真和速率计算比率,以判断哪种帧内预测模式对于该块表现最佳率失真值。

另外,帧内预测单元46可以用于使用深度建模模式(depth modeling mode,DMM)对深度图像的深度块进行译码。模式选择单元40可以判断可用DMM模式是否比帧内预测模式和其它DMM模式(例如,使用率失真优化(rate-distortion optimization,RDO))产生更好的译码结果。与深度图像对应的纹理图像的数据可以存储于参考帧存储器64中。运动估计单元42和运动补偿单元44还可以用于对深度图像的深度块进行帧间预测。

在选择块的帧内预测模式(例如,传统的帧内预测模式或其中一个DMM模式)之后,帧内预测单元46可以将信息提供给熵编码单元56,该信息表示为块选择的帧内预测模式。熵编码单元56可以对表示所选帧内预测模式的信息进行编码。视频编码器20可以在所发送的码流中携带配置数据,所述配置数据可以包括多个帧内预测模式索引表和多个经修改的帧内预测模式索引表(也称为码字映射表),各种块的编码上下文的定义,待用于每个编码上下文的最有可能帧内预测模式、帧内预测模式索引表和经修改的帧内预测模式索引表的指示。

视频编码器20通过从正被译码的原始视频块中减去来自模式选择单元40的预测数据而形成残差视频块。求和器50表示执行这种减法运算的一个或多个组件。

变换处理单元52将离散余弦变换(discrete cosine transform,DCT)或概念上类似的变换等变换应用于残差块,从而产生包括残差变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。还可以使用小波变换、整数变换、子频带变换或其它类型的变换。

变换处理单元52将变换应用于残差块,从而产生残差变换系数块。变换可以将残差信息从像素值域转换到变换域,例如,频域。变换处理单元52可以将所得到的变换系数发送给量化单元54。量化单元54对变换系数进行量化以进一步降低码率。该量化过程可以减小与部分或全部系数关联的位深度。可以通过调整量化参数来修改量化程度。在一些示例中,量化单元54可以接着对包括量化变换系数的矩阵执行扫描。或者,熵编码单元56可以执行扫描。

在量化之后,熵编码单元56对量化变换系数进行熵编码。例如,熵编码单元56可以执行上下文自适应可变长度编码(context adaptive variable length coding,CAVLC)、上下文自适应二进制算术编码(context adaptive binary arithmetic coding,CABAC)、基于语法的上下文自适应二进制算术编码(syntax-based context-adaptive binaryarithmetic coding,SBAC)、概率区间分割熵(probability interval partitioningentropy,PIPE)编码或其它熵编码技术。在基于上下文的熵编码的情况中,上下文可以基于相邻块。在由熵编码单元56执行熵编码之后,经编码码流可以发送给另一设备(例如,视频解码器30)或存档以供稍后发送或检索。

反量化单元58和逆变换单元60分别应用反量化和逆变换,以在像素域中重建残差块,(例如)以供稍后用作参考块。运动补偿单元44可以通过将残差块加到参考帧存储器64内的其中一个帧的预测块中来计算参考块。运动补偿单元44还可以将一个或多个插值滤波器应用于重建残差块,以计算子整数像素值以供用于运动估计中。加法器62将重建残差块加到由运动补偿单元44产生的运动补偿预测块中,以产生重建视频块以供存储于参考帧存储器64中。重建视频块可以由运动估计单元42和运动补偿单元44用作参考块,以对后续视频帧中的块进行帧间译码。

图3为可以实现视频译码技术的示例性视频解码器30的框图。在图3的示例中,视频解码器30包括熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、逆变换单元78、参考帧存储器82和加法器80。在一些示例中,视频解码器30可以执行与参照视频编码器20(图2)描述的编码回合大体互逆的解码回合。运动补偿单元72可以根据从熵解码单元70接收到的运动矢量来生成预测数据,而帧内预测单元74可以根据从熵解码单元70接收到的帧内预测模式指示符来生成预测数据。

在解码过程期间,视频解码器30从视频编码器20接收经编码视频码流,该经编码视频码流表示经编码视频条带(slice)的视频块及相关联的语法元素。视频解码器30中的熵解码单元70对码流进行熵解码以生成量化系数、运动向量或帧内预测模式指示符和其它语法元素。熵解码单元70将运动矢量和其它语法元素转发给运动补偿单元72。视频解码器30可以接收视频条带级和/或视频块级的语法元素。

当视频条带经译码为帧内译码(I)条带时,帧内预测单元74可以根据指示的帧内预测模式和来自当前帧或图像中的先前经解码块的数据为当前视频条带的视频块生成预测数据。当视频帧经译码为帧间译码(例如,B、P或GPB)条带时,运动补偿单元72根据从熵解码单元70接收到的运动矢量和其它语法元素为当前视频条带的视频块产生预测块。这些预测块可以根据其中一个参考图像列表内的其中一个参考图像而产生。视频解码器30可以根据存储于参考帧存储器82中的参考图像,使用默认构建技术来构建参考帧列表0和列表1。

运动补偿单元72通过解析运动向量和其它语法元素为当前视频条带的视频块确定预测信息,并使用所述预测信息为正被解码的当前视频块产生预测块。例如,运动补偿单元72使用接收到的一些语法元素来确定用于对视频条带中的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测条带类型(例如,B条带、P条带或GPB条带)、条带的一个或多个参考图像列表的构建信息、条带中的每个经帧间编码视频块的运动矢量、条带中的每个经帧间译码视频块的帧间预测状态和用于对当前视频条带中的视频块进行解码的其它信息。

运动补偿单元72还可以根据插值滤波器进行插值。运动补偿单元72可以使用由视频编码器20在视频块的编码期间使用的插值滤波器来计算参考块的子整数像素的内插值。在这种情况下,运动补偿单元72可以根据接收到的语法元素来确定由视频编码器20使用的插值滤波器,并使用这些插值滤波器来产生预测块。

与深度图像对应的纹理图像的数据可以存储于参考帧存储器82中。运动补偿单元72还可以用于对深度图像的深度块进行帧间预测。

图像和视频压缩发展迅速,由此产生了各种译码标准。这些视频译码标准包括ITU-TH.261,ISO/IEC MPEG-1第2部分、ITU-T H.262或ISO/IEC MPEG-2第2部分、ITU-TH.263、ISO/IEC MPEG-4第2部分、高级视频编码(Advanced Video Coding,AVC)(也称为ITU-T H.264或ISO/IEC MPEG-4第10部分)以及高效视频编码(High Efficiency VideoCoding,HEVC)(也称为ITU-T H.265或MPEG-H第2部分)。AVC包括可分级的视频编码(Scalable Video Coding,SVC)、多视图视频编码(Multiview Video Coding,MVC)和多视图视频编码加深度(Multiview Video Coding plus Depth,MVC+D)、3D AVC(3D-AVC)等扩展版。HEVC包括可分级HEVC(scalable HEVC,SHVC)、多视图HEVC(multiview HEVC,MV-HEVC)和3D HEVC(3D-HEVC)等扩展版。

还存在由ITU-T和ISO/IEC的联合视频专家组(joint video experts team,JVET)开发的一种新视频译码标准,即通用视频编码(Versatile Video Coding,VVC)。VVC的最新工作草案(Working Draft,WD)包括在JVET-L1001-v5中,可以通过http://phenix.it-sudparis.eu/jvet/doc_end_user/documents/12_Macao/wg11/JVET-L1001-v11.zip公开获取。

下面论述了帧内随机接入点(intra random access point,IRAP)图像和前置图像。

在HEVC中,认为以下图像是帧内随机接入点(intra random access point,IRAP)图像:IDR图像、BLA图像和CRA图像。对于VVC,在2018年10月的第12次JVET会议上,同意将IDR图像和CRA图像都作为IRAP图像。

IRAP图像提供了以下两个重要功能/优点。第一,IRAP图像的存在可以表示解码过程可以从该图像开始。这个功能支持随机接入功能,表示只要IRAP图像存在于码流中的一个位置上,解码过程就从该位置开始,而不必从码流的起始处开始。第二,IRAP图像的存在可以刷新解码过程,使得从IRAP图像开始的经译码图像,不包括跳过随机接入前置(RandomAccess Skipped Leading,RASL)图像,在不参考前面图像的情况下进行译码。因此,使码流中存在IRAP图像可以避免在解码位于IRAP图像之前的经译码图像的过程中可能发生的任何错误传播到IRAP图像和解码顺序在IRAP图像之后的图像中。

虽然IRAP图像提供了重要功能,但同时降低了压缩效率。IRAP图像的存在会导致码率激增。压缩效率降低有两个原因:第一,由于IRAP图像是帧内预测图像,因此与其它帧间预测图像相比,IRAP图像需要相对多的比特来表示;第二,由于IRAP图像的存在会破坏时间预测(这是因为解码器会刷新解码过程,解码过程中为此进行的操作之一是删除DPB中前面的参考图像),因此会导致解码顺序在IRAP图像之后的图像的译码效率降低(即需要更多的比特来表示),因为这些图像进行帧间预测译码的参考图像较少。

在认为是IRAP图像的图像类型中,HEVC中的IDR图像与其它图像类型相比具有不同的指示和推导方式。其中一些差异如下所述:

对于IDR图像的POC值的指示和推导,POC的最高有效位(most significant bit,MSB)部分不是根据前一关键图像推导出的,而是简单地设置为0。

对于参考图像管理所需的指示信息,IDR图像的条带(slice)头不包括需要被指示以辅助参考图像管理的信息。对于其它图像类型(即CRA图像、后置图像、时间子层接入(Temporal Sublayer Access,TSA)图像等),参考图像标识过程(即确定DPB中参考图像的状态(用于参考或不用于参考)的过程)需要下面章节描述的参考图像集(referencepicture set,RPS)等信息或其它形式的类似信息(例如,参考图像列表)。然而,对于IDR图像,不需要指示这样的信息,因为IDR的存在可以表示解码过程会简单地将DPB中的所有参考图像标识为不用于参考。

除IRAP图像概念之外,还存在前置图像,如果前置图像存在,则前置图像与IRAP图像关联。前置图像是解码顺序在其关联的IRAP图像之后但输出顺序在IRAP图像之前的图像。根据译码配置和图像参考结构,前置图像进一步为为两种类型。第一种类型是在解码过程从关联IRAP图像开始的情况下可能无法正确解码的前置图像。这是因为这些前置图像的译码参考了解码顺序在IRAP图像之前的图像。这样的前置图像称为跳过随机接入前置(random access skipped leading,RASL)图像。第二种类型是即使在解码过程从关联IRAP图像开始的情况下也可以正确解码的前置图像。这可能是因为这些前置图像的译码没有直接或间接参考解码顺序在IRAP图像之前的图像。这样的前置图像称为可解码随机接入前置(random access decodable leading,RADL)图像。在HEVC中,当存在RASL图像和RADL图像时,约束如下:对于与相同IRAP图像关联的RASL图像和RADL图像,RASL图像在输出顺序上处于RADL图像之前。

在HEVC和VVC中,为IRAP图像和前置图像指定不同的NAL单元类型,以便系统级应用可以容易标识。例如,尤其为了从非IRAP图像中标识出IRAP图像以及从后置图像中标识出前置图像,包括确定RASL图像和RADL图像,一种视频拼接器需要了解经译码图像类型,而不必了解经译码码流中的语法元素的太多详细内容。后置图像是与IRAP图像关联且输出顺序在IRAP图像之后的图像。与某个IRAP图像关联的图像是解码顺序在该IRAP图像之后且解码顺序在任何其它IRAP图像之前的图像。为此,为IRAP图像和前置图像指定各自的NAL单元类型有助于此类应用。

对于HEVC,IRAP图像的NAL单元类型包括:

伴随前置图像的BLA图像(BLA_W_LP):解码顺序可以在一个或多个前置图像之前的断点连接接入(Broken Link Access,BLA)图像的NAL单元。

伴随RADL图像的BLA图像(BLA_W_RADL):解码顺序可以在一个或多个RADL之前但不存在RASL图像的BLA图像的NAL单元。

未伴随前置图像的BLA图像(BLA_N_LP):解码顺序不在前置图像之前的BLA图像的NAL单元。

伴随RADL图像的IDR图像(IDR_W_RADL):解码顺序可以在一个或多个RADL图像之前但不存在RASL图像的IDR图像的NAL单元。

未伴随前置图像的IDR图像(IDR_N_LP):解码顺序不在前置图像之前的IDR图像的NAL单元。

CRA图像:可以在前置图像(即RASL图像和RADL图像中的一个或两个)之前的清理随机接入(Clean Random Access,CRA)图像的NAL单元。

RADL图像:RADL图像的NAL单元。

RASL图像:RASL图像的NAL单元。

对于VVC,根据本文档的撰写,IRAP图像和前置图像的NAL单元类型尚不清楚/尚未确定。

下面论述了文件格式标准。

文件格式标准包括ISO基本媒体文件格式(ISO base media file format,ISOBMFF)(ISO/IEC 14496-12,下文称“ISO/IEC 14996-12”)和源自ISOBMFF的其它文件格式标准,包括MPEG-4文件格式(ISO/IEC 14496-14)、3GPP文件格式(3GPP TS 26.244)和AVC文件格式(ISO/IEC 14496-15,下文称“ISO/IEC 14996-15”)。因此,ISO/IEC 14496-12规定了ISO基本媒体文件格式。其它文档针对具体应用扩展ISO基本媒体文件格式。例如,ISO/IEC 14496-15描述了ISO基本媒体文件格式中的NAL单元结构化视频的封装(carriage)。H.264/AVC和HEVC及两者的扩展版本是NAL单元结构视频的示例。ISO/IEC 14496-15包括描述H.264/AVC NAL单元封装的章节。另外,ISO/IEC 14496-15的第8节描述了HEVC NAL单元的封装。因此,称ISO/IEC 14496-15的第8节描述了HEVC文件格式。

ISOBMFF是许多编解码封装格式(例如,AVC文件格式)以及许多多媒体容器格式(例如,MPEG-4文件格式、3GPP文件格式(3GP)和DVB文件格式)的基础。除音频和视频等连续媒体之外,图像等静态媒体以及元数据可以存储于符合ISOBMFF的文件中。根据ISOBMFF创建的文件可以有许多用途,包括播放本地媒体文件、渐进式下载远程文件、HTTP动态自适应流媒体(Dynamic Adaptive Streaming over HTTP,DASH)的分段、待流式传输的内容的容器及其打包指令,以及记录接收到的实时媒体流。因此,尽管ISOBMFF最初是为了存储而设计的,但事实证明ISOBMFF可以用于流式传输,例如,用于渐进式下载或DASH。为了进行流式传输,可以使用以ISOBMFF定义的影片片段。除音频和视频等连续媒体之外,图像等静态媒体以及元数据可以存储于符合ISOBMFF的文件中。

符合HEVC文件格式的文件可以包括一系列称为盒子(box)的对象。盒子可以是面向对象的构建块,由唯一的类型标识符和长度定义。盒子是ISOBMFF中的基本语法结构,可以包括四字符译码的盒子类型、盒子的字节数和有效载荷。换句话说,盒子可以是包括译码盒子的类型、盒子的字节数和有效载荷的语法结构。在一些实例中,符合HEVC文件格式的文件中的所有数据都可以包括在盒子中,并且文件中可能不存在不在盒子中的数据。因此,ISOBMFF文件可以包括一系列盒子,而盒子可以包括其它盒子。例如,盒子的有效载荷可以包括一个或多个附加盒子。

符合ISOBMFF的文件可以包括各种类型的盒子。例如,符合ISOBMFF的文件可以包括文件类型盒子、媒体数据盒子、影片盒子、影片片段盒子等等。在该示例中,文件类型盒子包括文件类型和兼容性信息。媒体数据盒子可以包括样本(例如,经译码图像)。影片盒子("moov")包括文件中存在的连续媒体流的元数据。每个连续媒体流可以在文件中表示为一个轨迹(track)。例如,影片盒子可以包括关于影片的元数据(例如,样本之间的逻辑和时序关系以及指向样本位置的指针(pointer))。影片盒子可以包括若干种类型的子盒。影片盒子中的子盒可以包括一个或多个轨迹盒子。轨迹盒子可以包括影片的单个轨迹的信息。轨迹盒子可以包括表示单个轨迹的整体信息的轨迹头盒子。另外,轨迹盒子可以包括媒体盒子,该媒体盒子包括媒体信息盒子。该媒体信息盒子可以包括样本表盒子,该样本表盒子包括对轨迹中的媒体样本进行索引的数据。样本表盒子中的信息可以用于及时找到样本,以及为轨迹中的每个样本确定类型、大小、容器和该样本的容器内的偏移。因此,轨迹的元数据被封装在轨迹盒子("trak")中,而轨迹的媒体内容被封装在媒体数据盒子("mdat")中或直接被封装在单独的文件中。轨迹的媒体内容包括一系列样本,例如,音频或视频接入单元。

ISOBMFF指定以下类型的轨迹:媒体轨迹,包括基本媒体流;提示轨迹,包括媒体传输指令或表示接收到的数据包流;有时间属性的元数据轨迹,包括时间同步元数据。每个轨迹的元数据包括一列样本描述入口,每个样本描述入口提供轨迹中使用的译码或封装格式以及用于处理该格式的初始化数据。每个样本都与轨迹的其中一个样本描述入口关联。

ISOBMFF能够使用各种机制规定样本特定元数据。样本表盒子("stbl")内的具体盒子已经标准化,以满足常见需求。样本表盒子包括样本表,该样本表包括轨迹中媒体样本的所有时间和数据索引。使用样本表盒子中的表格,可以及时找到样本,确定样本的类型(例如,是否为I帧),并确定样本的大小、容器和该容器内的偏移。

影片片段盒子是最高层盒子。每个影片片段盒子都提供之前存在于影片盒子中的信息。影片片段盒子可以包括一个或多个轨迹片段("traf")盒子。影片片段中包括一个轨迹片段集合,集合中有一个或多个轨迹,或者每个影片片段包括一个或多个轨迹。轨迹片段又包括0个以上轨迹行程,每个轨迹行程记录该轨迹的样本的连续行程。例如,每个轨迹行程可以包括按一定顺序(例如,解码顺序)连续的图像样本。轨迹片段盒子定义在14996-12规范中,包括一个或多个轨迹片段的元数据。例如,轨迹片段盒子可以包括轨迹片段头盒子,该轨迹片段头盒子指示轨迹标识符(identifier,ID)、基础数据偏移、样本描述索引、默认样本持续时间、默认样本大小和默认样本标志。轨迹片段盒子可以包括一个或多个轨迹片段行程盒子,每个轨迹片段行程盒子记录轨迹的连续样本集。例如,轨迹片段盒子可以包括语法元素,这些语法元素指示样本数、数据偏移、样本标志、样本持续时间、样本大小、样本合成时间偏移等等。在这些结构中,许多字段是可选的,并且可以是默认值。

下面论述了流接入点(stream access point,SAP)。

ISO基本媒体文件格式(ISO base media file format,ISOBMFF)定义了一个称为流接入点(stream access point,SAP)的概念。SAP支持一个或多个媒体流的容器内的随机接入。一个容器可以包括多个媒体流,每个媒体流为某种媒体类型的连续媒体的经编码版本。SAP是容器中的一个位置,支持只使用(a)容器中包括的从该位置开始的信息和(b)来自容器中的一个或多个其它部分或容器外部的可用部分的可能初始化数据,播放待开始的已标识媒体流。派生规范需要规定接入SAP中的容器是否需要初始化数据以及如何接入这些初始化数据。

存在6种定义好的SAP类型,如下所述:

类型1对应于一些译码方案中的“封闭(Closed)GoP随机接入点”(其中,从改进的基于样本的角度帧内预测(improved sample-based angular intra prediction,ISAP)开始,解码顺序上的所有接入单元都可以被正确解码,使得正确解码的接入单元的时序是连续无间隙的);另外,解码顺序上的接入单元也是组合顺序上的第一个接入单元。

类型2对应于一些译码方案中的“封闭GoP随机接入点”,其中,媒体流中的解码顺序上的第一个接入单元不是组合顺序上的第一个接入单元。

类型3对应于一些译码方案中的“开放(Open)GoP随机接入点”,其中,存在一些接入单元在解码顺序上处于无法正确解码的随机接入单元之后,并且该随机接入点接入单元可以不是组合顺序上的第一个接入单元。

类型4对应于一些译码方案中的“逐步解码器刷新(Gradual Decoding Refresh,GDR)起点”。

类型5对应于以下情况:解码顺序上存在从用于解码的第一个接入单元开始的至少一个接入单元无法正确解码并且具有大于TDEC的呈现时间,其中,TDEC是从用于解码的第一个接入单元开始的任何接入单元的最早呈现时间。

类型6对应于以下情况:解码顺序上存在从用于解码的第一个接入单元开始的至少一个接入单元无法正确解码并且具有大于TDEC的呈现时间,其中,TDEC不是从用于解码的第一个接入单元开始的任何接入单元的最早呈现时间。

对于HEVC,为IRAP图像设计NAL单元类型的目的之一是方便在IRAP类型和SAP类型(具体是SAP类型1至类型3)之间进行映射。

下面论述了HTTP动态自适应流媒体(dynamic adaptive streaming over HTTP,DASH)。

ISO/IEC 23009-1中规定的HTTP动态自适应流媒体(dynamic adaptivestreaming over HTTP,DASH)是HTTP(自适应)流媒体应用的标准。DASH主要规定了媒体描述文件(media presentation description,MPD)(也称为manifest)的格式和媒体片段格式。MPD描述了服务器中可用的媒体,并使DASH客户端在媒体时间自动下载客户端感兴趣的媒体版本。

DASH以层次数据模型为基础。呈现(presentation)通过MPD文档描述,该MPD文档描述构成媒体呈现的时间周期(period)的顺序。一个周期(period)通常表示媒体内容周期,在该媒体内容周期内,可获得媒体内容的一组前后一致的经编码版本,例如,在一个周期内,一组可用码率、语言、字幕(caption/subtitle)等不会改变。

在一个周期内,媒体材料(material)设置成自适应集(adaptation set)。自适应集表示一个或多个媒体内容分量的一组可互换的经编码版本。例如,主视频分量可以有一个自适应集,主音频分量可以有独立的自适应集。其它可用媒体材料(例如,字幕或音频描述)可以各自具有独立的自适应集。媒体材料也可以以复用形式提供,在这种情况下,复用媒体材料的可互换版本可以描述为单个自适应集,例如,包括周期内的主音频和主视频的自适应集。每个复用分量都可以通过媒体内容分量描述分别描述。

一个自适应集包括一组表示(representation)。一个表示描述一个或多个媒体内容分量的可传送的经编码版本。一个表示包括一个或多个媒体流(一个媒体流对应复用媒体材料中的每个媒体内容分量)。一个自适应集内的任一个表示都足以显示所包括的媒体内容分量。通过收集一个自适应集中的不同表示,媒体描述作者对这些表示感知上等效的内容的表示进行表达。通常,这意味着客户端可以动态地切换自适应集内的各个表示,以便适应网络条件或其它因素。切换是指呈现经解码数据直到时间t,并从时间t开始呈现另一个表示的经解码数据。如果将表示包括在一个自适应集中,并且客户端正确切换,则可以实现媒体呈现的无缝切换。客户端可以忽略依赖于它们不支持的编解码器或其它显示技术的表示,或者忽略在其它方面不合适的表示。在一个表示内,内容可以按时间划分为分段,以实现正确接入和传送。为了接入分段,为每个段提供了URL。因此,分段是可以通过单个HTTP请求检索到的最大数据单元。

基于DASH的HTTP流传输的典型流程包括以下步骤。

(1)客户端获取流媒体内容(例如,影片)的MPD。MPD包括不同可选表示的信息,可选表示例如为流媒体内容的码率、视频分辨率、帧率和/或音频语言,以及HTTP资源(初始化分段和媒体分段)的URL。

(2)根据MPD中的信息和客户端的本地信息,例如,网络带宽、解码/显示能力和用户偏好,客户端请求一个或多个预期表示,每次一个分段(或其一部分)。

(3)当客户端检测到网络带宽发生变化时,客户端请求码率匹配更好的一个不同表示中的分段,理想情况下,先请求以随机接入点开始的分段。

在HTTP流传输“会话”期间,为了响应用户请求后退查找过去位置或前进查找未来位置,客户端从靠近期望位置且理想地以随机接入点开始的分段开始,请求过去或未来分段。用户也可以请求快进内容,这可以通过请求足以用于仅对经帧内译码的视频图像进行解码或仅对视频流的时间子集进行解码的数据来实现。

下面论述了现有IRAP图像和前置图像的问题。

前置图像和IRAP图像的NAL单元类型的目前设计存在以下问题:

给出了两种NAL单元类型,以在NAL单元头级标识出前置图像(即RASL图像和RADL图像),目的是在解码从关联IRAP图像开始时,通过简单地解析NAL单元头,帮助系统级应用标识出RASL图像并从码流中移除。然而,实际上,系统应用很少执行这种移除,因为前置图像及其关联的IRAP图像都是封装在同一DASH媒体分段中,并且在基于HTTP的自适应流传输中,这样的DASH媒体分段是由客户端请求的,因此,不分别请求前置图像及其关联的IRAP图像,从而可以避免请求RASL图像。此外,系统应用可以移除或不移除RASL图像,因此需要视频译码规范来处理两种可能性,即伴随和未伴随RASL图像,并且需要规定两种情况下的码流一致性,包括规定假想解码器参考(hypothetical decoder reference,HRD),该HRD包括两个可选HRD参数集。

对于IRAP图像,给出了若干种NAL单元类型,以根据前置图像的存在区分IRAP图像,目的是方便将NAL单元类型映射到SAP类型1至3。然而,由于IRAP NAL单元类型可以灵活定义,特别是CRA类型,在许多情况下,IRAP图像类型到SAP类型之间的映射不能只通过了解NAL单元类型来进行。仍然需要检查在IRAP图像之后的接入单元。例如,当CRA图像的后面可以是0个以上RASL图或者0个以上RADL图像或者都不是时,CRA图像可以映射为SAP类型1、类型2或类型3。了解如何将CRA图像映射到SAP类型的唯一方法是解析以下接入单元,以查看是否存在前置图像,如果存在前置图像,则确定类型。

本文公开了将视频数据可用的一个NAL单元类型集合限制到5种以下的具体NAL单元类型(例如,将NAL单元类型的数量限制为4)的视频译码技术。每个NAL单元都有一个头,由标识符(identifier,ID)标识。NAL类型越少,表示ID可以越小。因此,每个NAL单元的大小可以减小,这显著减小了码流的大小(节省内存)。这样也减小用于发送码流的每个报文的大小,从而降低了网络资源利用率。此外,5种以下的具体NAL单元类型使得前置图像和后置图像(还称为非IRAP图像)可以共用相同的NAL单元类型。这样还使得NAL单元类型可以表示I-RAP图像是否与RADL图像和/或RASL图像关联。另外,所述具体NAL单元类型可以映射到DASH中的不同SAP类型。本文还公开了用于非IRAP图像不通过NAL单元类型标识的情况下的视频译码技术。在这类情况下,码流中的标志被设置为特定值,以表示IRAP图像是否与RADL图像或RASL图像关联。

图4为视频码流400的一个实施例的示意图。本文使用的视频码流400还可以称为经译码视频码流、码流或其变体。如图4所示,码流400包括序列参数集(sequenceparameter set,SPS)410、图像参数集(picture parameter set,PPS)412、条带(slice)头414和图像数据420。在这种情况下,条带头414可以称为分块(tile)组头。

SPS 410包括图像序列(sequence of picture,SOP)中的所有图像共有的数据。相比之下,PPS 412包括整个图像共有的数据。条带头414包括当前条带的信息,例如,条带类型、要使用的参考图像等。SPS 410和PPS 412可以统称为参数集。SPS 410、PPS 412和条带头414是网络抽象层(Network Abstraction Layer,NAL)单元的类型。图像数据420包括与正被编码或解码的图像或视频关联的数据。图像数据420可以简单地称为码流400中携带的有效载荷或数据。

在一个实施例中,码流400中的SPS 410、PPS 412、条带头414或其它部分携带多个参考图像列表结构,每个参考图像列表结构包括多个参考图像条目。本领域技术人员将理解,码流400在实际应用中可以包括其它参数和信息。

图5为I-RAP图像502在解码顺序508和呈现顺序510上与前置图像504和后置图像506之间关系的图示500。在一个实施例中,I-RAP图像502称为清理随机接入(clean randomaccess,CRA)图像或称为伴随RADL图像的即时解码器刷新(instantaneous decoderrefresh,IDR)图像。

如图5所示,前置图像504(例如,图像2和图像3)在解码顺序508上处于I-RAP图像502之后,但在呈现顺序510上处于I-RAP图像502之前。后置图像506在解码顺序508和呈现顺序510上都处于I-RAP图像502之后。虽然图5示出了两个前置图像504和一个后置图像506,但本领域技术人员将理解,在实际应用中,解码顺序508和呈现顺序510上可以存在更多或更少的前置图像504和/或后置图像506。

图5中的前置图像504分成两种类型,即RASL图像和RADL图像。当解码从I-RAP图像502(例如,图像1)开始时,RADL图像(例如,图像3)可以被正确解码;然而,RASL图像(例如,图像2)无法被正确解码,因此,丢弃该RASL图像。鉴于RADL图像和RASL图像之间的区别,与I-RAP图像关联的前置图像的类型应该标识为RADL图像或RASL图像,以实现高效和正确译码。

图6为由视频编码器(例如,视频编码器20)实现的对视频码流(例如,码流400)进行编码的方法600的一个实施例。方法600可以在(例如,视频中的)图像要编码到视频码流中并发送给视频解码器(例如,视频解码器30)时执行。因为使用了有限个NAL单元类型的一个集合来标识与I-RAP图像关联的前置图像的类型,方法600改进了编码过程(例如,使得编码过程比传统编码过程更高效、更快等)。因此,实际上,提高了编解码器的性能,从而提供了更好的用户体验。

在步骤602中,将视频数据可用的一个少于5种NAL单元类型的集合存储于视频编码器的存储器中。在一个实施例中,所述少于5种NAL单元类型的集合包括前置和后置图像的NAL单元类型、伴随跳过随机接入前置(random access skipped leading,RASL)图像的帧内随机接入点(intra random access point,IRAP)图像的NAL单元类型、伴随可解码随机接入前置(random access decodable leading,RADL)图像的IRAP图像的NAL单元类型和未伴随前置图像的IRAP图像的NAL单元类型。在一个实施例中,所述少于5种NAL单元类型的集合只限于这4种NAL单元类型。在一个实施例中,为前置图像和后置图像(例如,前置图像504和后置图像506)指定的都是所述前置和后置图像的NAL单元类型。

在步骤604中,从所述少于5种NAL单元类型的集合中为所述视频数据中的一个图像(例如,图5中的图像2或图像3)选择一种NAL单元类型。例如,图5中的图像2的NAL单元类型可以是伴随RSAL图像的IRAP图像的NAL单元类型。再如,图5中的图像3的NAL单元类型可以是伴随RADL图像的IRAP图像的NAL单元类型。

在一个实施例中,为解码顺序在一个或多个RASL图像和0个以上RADL图像之前的一个IRAP图像选择的是所述伴随RASL图像的IRAP图像的NAL单元类型。在一个实施例中,所述IRAP图像称为CRA图像。在一个实施例中,所述伴随RASL图像的IRAP图像的NAL单元类型称为清理随机接入(clean random access,CRA)图像的NAL单元类型。在一个实施例中,所述伴随RASL图像的IRAP图像的NAL单元类型表示为IRAP_W_RASL。在一个实施例中,所述IRAP_W_RASL表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptivestreaming over hypertext transfer protocol,DASH)中的流接入点(stream accesspoint,SAP)类型3。

在一个实施例中,为解码顺序在一个或多个RADL图像和0个RADL图像之前的一个IRAP图像选择的是所述伴随RADL图像的IRAP图像的NAL单元类型。在一个实施例中,所述IRAP图像称为伴随RADL图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像。在一个实施例中,所述伴随RADL图像的IRAP图像的NAL单元类型称为伴随RADL图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。在一个实施例中,所述伴随RADL图像的IRAP图像的NAL单元类型表示为IRAP_W_RADL。在一个实施例中,所述IRAP_W_RADL对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptivestreaming over hypertext transfer protocol,DASH)中的流接入点(stream accesspoint,SAP)类型2。

在一个实施例中,为解码顺序不在前置图像之前的一个IRAP图像选择的是所述未伴随前置图像的IRAP图像的NAL单元类型。在一个实施例中,所述IRAP图像称为未伴随前置图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像。在一个实施例中,所述未伴随前置图像的IRAP图像的NAL单元类型称为未伴随前置图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。在一个实施例中,所述未伴随前置图像的IRAP图像的NAL单元类型表示为IRAP_N_LP。在一个实施例中,所述IRAP_N_LP表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streamingover hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型1。

在步骤606中,生成视频码流(例如,图4中的码流400)。所述视频码流包括与所选NAL单元类型对应的NAL单元和标识所选NAL单元类型的标识符。所述标识符可以是标志或比特数等。

在步骤608中,所述视频编码器向视频解码器发送所述视频码流(例如,码流400)。所述视频码流还可以称为经译码视频码流或经编码视频码流。在所述视频解码器接收到所述经编码视频码流之后,所述经编码视频码流可以被解码(例如,如下所述),以生成或产生一个图像,在电子设备(例如,智能手机、平板电脑、笔记本电脑、个人计算机等)的显示器或屏幕上显示给用户。

图7为由视频解码器(例如,视频解码器30)实现的对经译码视频码流(例如,码流400)进行解码的方法700的一个实施例。方法700可以在所述经解码码流从视频编码器(例如,视频编码器20)直接或间接接收到之后执行。因为使用了有限个NAL单元类型的一个集合来标识与I-RAP图像关联的前置图像的类型,方法700改进了解码过程(例如,使得解码过程比传统解码过程更高效、更快等)。因此,实际上,提高了编解码器的性能,从而提供了更好的用户体验。

在步骤702中,存储视频数据可用的一个少于5种网络抽象层(networkabstraction layer,NAL)单元类型的集合。在一个实施例中,所述少于5种NAL单元类型的集合包括前置和后置图像的NAL单元类型、伴随跳过随机接入前置(random accessskipped leading,RASL)图像的帧内随机接入点(intra random access point,IRAP)图像的NAL单元类型、伴随可解码随机接入前置(random access decodable leading,RADL)图像的IRAP图像的NAL单元类型和未伴随前置图像的IRAP图像的NAL单元类型。在一个实施例中,所述少于5种NAL单元类型的集合只限于这4种NAL单元类型。在一个实施例中,为前置图像和后置图像(例如,前置图像504和后置图像506)指定的都是所述前置和后置图像的NAL单元类型。

在步骤704中,接收包括NAL单元和标识符的经译码视频码流(例如,码流400)。在步骤706中,根据所述标识符,从所述少于5种NAL单元类型的集合中确定用于对所述NAL单元进行编码的一种NAL单元类型。

例如,图5中的图像2的NAL单元类型可以是伴随RSAL图像的IRAP图像的NAL单元类型。再如,图5中的图像3的NAL单元类型可以是伴随RADL图像的IRAP图像的NAL单元类型。

在一个实施例中,为解码顺序在一个或多个RASL图像和0个以上RADL图像之前的一个IRAP图像选择的是所述伴随RASL图像的IRAP图像的NAL单元类型。在一个实施例中,所述IRAP图像称为CRA图像。在一个实施例中,所述伴随RASL图像的IRAP图像的NAL单元类型称为清理随机接入(clean random access,CRA)图像的NAL单元类型。在一个实施例中,所述伴随RASL图像的IRAP图像的NAL单元类型表示为IRAP_W_RASL。在一个实施例中,所述IRAP_W_RASL表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptivestreaming over hypertext transfer protocol,DASH)中的流接入点(stream accesspoint,SAP)类型3。

在一个实施例中,为解码顺序在一个或多个RADL图像和0个RADL图像之前的一个IRAP图像选择的是所述伴随RADL图像的IRAP图像的NAL单元类型。在一个实施例中,所述IRAP图像称为伴随RADL图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像。在一个实施例中,所述伴随RADL图像的IRAP图像的NAL单元类型称为伴随RADL图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。在一个实施例中,所述伴随RADL图像的IRAP图像的NAL单元类型表示为IRAP_W_RADL。在一个实施例中,所述IRAP_W_RADL对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptivestreaming over hypertext transfer protocol,DASH)中的流接入点(stream accesspoint,SAP)类型2。

在一个实施例中,为解码顺序不在前置图像之前的一个IRAP图像选择的是所述未伴随前置图像的IRAP图像的NAL单元类型。在一个实施例中,所述IRAP图像称为未伴随前置图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像。在一个实施例中,所述未伴随前置图像的IRAP图像的NAL单元类型称为未伴随前置图像的即时解码器刷新(instantaneous decoder refresh,IDR)图像的NAL单元类型。在一个实施例中,所述未伴随前置图像的IRAP图像的NAL单元类型表示为IRAP_N_LP。在一个实施例中,所述IRAP_N_LP表示法对应于基于超文本传输协议的动态自适应流媒体(dynamic adaptive streamingover hypertext transfer protocol,DASH)中的流接入点(stream access point,SAP)类型1。

在步骤708中,根据所述确定的NAL单元类型,为所述NAL单元中包括的多个图像指定呈现顺序(例如,图5中的呈现顺序510)。所述呈现顺序可以用于生成或产生一个图像,在电子设备(例如,智能手机、平板电脑、笔记本电脑、个人计算机等)的显示器或屏幕上显示给用户。

图8为由视频编码器(例如,视频编码器20)实现的对视频码流(例如,码流400)进行编码的方法800的一个实施例。方法800可以在(例如,视频中的)图像要编码到视频码流中并发送给视频解码器(例如,视频解码器30)时执行。因为设置了一个标志来表示例如用于非IRAP图像的NAL单元是RADL或RASL,方法800改进了编码过程(例如,使得编码过程比传统编码过程更高效、更快等)。因此,实际上,提高了编解码器的性能,从而提供了更好的用户体验。

在步骤802中,生成码流,其中,所述码流包括用于与帧内随机接入点(intrarandom access point,IRAP)图像关联的非帧内随机接入点(non-intra random accesspoint,non-IRAP)图像的NAL单元。所述非IRAP图像可以是前置图像(例如,前置图像504)或后置图像(后置图像506)。

在步骤804中,将所述码流中的第一标志设置为第一值,以表示用于所述非IRAP图像的所述NAL单元包括可解码随机接入前置(random access decodable leading,RADL)图像。在一个实施例中,所述第一标志表示为RadlPictureFlag,第二标志表示为RaslPictureFlag。

在一个实施例中,所述第一值为1(1)。在一个实施例中,当所述非IRAP图像的图像顺序编号(picture order count,POC)值小于所述IRAP图像的POC值时,所述第一标志被设置为所述第一值。在一个实施例中,当所述非IRAP图像的每个参考图像列表不包括除与所述非IRAP图像关联的所述IRAP图像以外的任何图像或不包括与所述IRAP图像关联的另一RADL图像时,所述第一标志被设置为所述第一值。

在步骤806中,将所述码流中的第二标志设置为所述第一值,以表示用于所述非IRAP图像的所述NAL单元包括跳过随机接入前置(random access skipped leading,RASL)图像。在一个实施例中,当所述非IRAP图像的图像顺序编号(picture order count,POC)值小于所述IRAP图像的POC值时,所述第二标志被设置为所述第一值。在一个实施例中,当所述非IRAP图像的任一参考图像列表包括解码顺序在与所述非IRAP图像关联的所述IRAP图像或与所述IRAP图像关联的另一RASL图像之前的至少一个参考图像时,所述第二标志被设置为所述第一值。

在一个实施例中,可以将所述第一标志和所述第二标志设置为第二值,以表示用于所述非IRAP图像的所述NAL单元不包括所述RADL图像或所述RASL图像。在一个实施例中,所述第二值为0(0)。在一个实施例中,对于所述非IRAP图像,所述第一标志和所述第二标志都不被设置为所述第一值。

在步骤808中,所述视频编码器向视频解码器发送所述视频码流(例如,码流400)。所述视频码流还可以称为经译码视频码流或经编码视频码流。在所述视频解码器接收到所述经编码视频码流之后,所述经编码视频码流可以被解码(例如,如下所述),以生成或产生一个图像,在电子设备(例如,智能手机、平板电脑、笔记本电脑、个人计算机等)的显示器或屏幕上显示给用户。

图9为由视频解码器(例如,视频解码器30)实现的对经译码视频码流(例如,码流400)进行解码的方法900的一个实施例。方法900可以在所述经解码码流从视频编码器(例如,视频编码器20)直接或间接接收到之后执行。因为设置了一个标志来表示,例如,用于非IRAP图像的NAL单元是RADL或RASL,方法900改进了解码过程(例如,使得解码过程比传统解码过程更高效、更快等)。因此,实际上,提高了编解码器的性能,从而提供了更好的用户体验。

在步骤902中,接收经译码码流,其中,所述经译码码流包括第一标志、第二标志和用于与帧内随机接入点(intra random access point,IRAP)图像关联的非帧内随机接入点(non-intra random access point,non-IRAP)图像的NAL单元。所述非IRAP图像可以是前置图像(例如,前置图像504)或后置图像(后置图像506)。

在步骤904中,当所述码流中的所述第一标志已经设置为第一值时,确定用于所述非IRAP图像的所述NAL单元包括可解码随机接入前置(random access decodableleading,RADL)图像。在一个实施例中,所述第一标志表示为RadlPictureFlag,所述第二标志表示为RaslPictureFlag。在一个实施例中,所述第一值为1(1)。在一个实施例中,当所述非IRAP图像的图像顺序编号(picture order count,POC)值小于所述IRAP图像的POC值时,所述第一标志被设置为所述第一值。在一个实施例中,当所述非IRAP图像的每个参考图像列表不包括除与所述非IRAP图像关联的所述IRAP图像以外的任何图像或不包括与所述IRAP图像关联的另一RADL图像时,所述第一标志被设置为所述第一值。

在步骤906中,当所述码流中的所述第二标志已经设置为所述第一值时,确定用于所述非IRAP图像的所述NAL单元包括跳过随机接入前置(random access skippedleading,RASL)图像。在一个实施例中,当所述非IRAP图像的图像顺序编号(picture ordercount,POC)值小于所述IRAP图像的POC值时,所述第二标志被设置为所述第一值。在一个实施例中,当所述非IRAP图像的任一参考图像列表包括解码顺序在与所述非IRAP图像关联的所述IRAP图像或与所述IRAP图像关联的另一RASL图像之前的至少一个参考图像时,所述第二标志被设置为所述第一值。

在一个实施例中,可以将所述第一标志和所述第二标志设置为第二值,以表示用于所述非IRAP图像的所述NAL单元不包括所述RADL图像或所述RASL图像。在一个实施例中,所述第二值为0(0)。在一个实施例中,对于所述非IRAP图像,所述第一标志和所述第二标志都不被设置为所述第一值。

在步骤908中,根据所述第一标志或所述第二标志具有所述第一值,为所述NAL单元中包括的多个图像指定呈现顺序(例如,图5中的呈现顺序510)。所述呈现顺序可以用于生成或产生一个图像,在电子设备(例如,智能手机、平板电脑、笔记本电脑、个人计算机等)的显示器或屏幕上显示给用户。

在一个可选方案中,前置图像和IRAP图像的NAL单元类型指定如下:前置图像存在两种NAL单元类型,即RASL_NUT和RADL_NUT,IRAP图像存在一种NAL单元类型,即IRAP_NUT。

在一个实施例中,IRAP NAL单元类型到SAP类型的映射如下所述。当遇到IRAP NAL单元类型的图像时,应用需要计算IRAP图像和解码顺序在该IRAP图像之后的第一个后置图像(例如,后置NAL单元类型的图像)之间的RASL NAL单元类型图像的数量和RADL NAL单元类型图像的数量。根据RASL图像和RADL图像的数量,规定以下映射。

如果RASL图像的数量大于0,则IRAP图像为SAP类型3。如果RASL图像的数量为0且RADL图像的数量大于0,则IRAP图像为SAP类型2。否则(例如,RASL图像和RADL图像的数量都为0),IRAP图像为SAP类型1。

在另一个可选方案中,前置图像和IRAP图像的NAL单元类型指定如下:前置图像存在两种NAL单元类型,即RASL_NUT和RADL_NUT。IRAP图像的NAL单元类型的定义如下。IDR(IDR_NUT):解码顺序在0个以上RADL图像和0个RASL图像之前的IRAP图像的NAL单元。CRA(CRA_NUT):解码顺序在一个或多个RASL图像和0个以上RADL图像之前的IRAP图像的NAL单元。

IRAP NAL单元类型到SAP类型的映射如下所述:CRA_NUT为SAP类型3。

当遇到IDR_NUT类型的图像时,需要检查解码顺序在IDR图像之后的图像。如果以下图像为RADL_NUT图像,则IDR图像为SAP类型2。否则,IDR图像为SAP类型1。

约束如下:当图像为IDR_NUT类型时,解码顺序紧跟在IDR图像之后的图像为RADL_NUT图像或Trailing_NUT图像。

在又一个可选方案中,前置图像和IRAP图像的NAL单元类型指定如下:前置图像存在一种NAL单元类型,即LP_NUT。IRAP图像的NAL单元类型的定义如下:IDR(IDR_NUT):解码顺序在0个以上为RADL图像的前置图像和0个RASL图像之前的IRAP图像的NAL单元;CRA(CRA_NUT):解码顺序在一个或多个为RASL图像的前置图像和0个以上RADL图像之前的IRAP图像的NAL单元。

IRAP NAL单元类型到SAP的映射如下所述:CRA_NUT为SAP类型3。

当遇到IDR_NUT类型的图像时,需要检查解码顺序在IDR图像之后的图像。如果以下图像为LP_NUT图像,则IDR图像为SAP类型2。否则,IDR图像为SAP类型1。约束如下:当图像为IDR_NUT类型时,解码顺序紧跟在IDR图像之后的图像为LP_NUT图像或Trailing_NUT图像。

图10为本发明一个实施例提供的视频译码设备1000(例如,视频编码器20或视频解码器30)的示意图。视频译码设备1000适用于实现本文描述的公开实施例。视频编码设备1000包括:入端口1010和接收单元(Rx)1020,用于接收数据;处理器、逻辑单元或中央处理单元(central processing unit,CPU)1030,用于处理所述数据;发送单元(Tx)1040和出端口1050,用于发送所述数据;存储器1060,用于存储所述数据。视频编码设备1000还可包括与入端口1010、接收单元1020、发送单元1040和出端口1050耦合的光电(optical-to-electrical,OE)组件和电光(electrical-to-optical,EO)组件,用于光信号或电信号的出口或入口。

处理器1030通过硬件和软件实现。处理器1030可以实现为一个或多个CPU芯片、一个或多个核(例如,多核处理器)、一个或多个现场可编程门阵列(field-programmablegate array,FPGA)、一个或多个专用集成电路(application specific integratedcircuit,ASIC)以及一个或多个数字信号处理器(digital signal processor,DSP)。处理器1030与入端口1010、接收单元1020、发送单元1040、出端口1050和存储器1060通信。处理器1030包括译码模块1070。译码模块1070实现上文描述的公开实施例。例如,译码模块1070执行、处理、准备或提供各种网络连接功能。因此,将译码模块1070包含在内,为视频译码设备1000的功能提供了实质性的改进,并且影响了视频译码设备1000到不同状态的转换。或者,以存储在存储器1060中并由处理器1030执行的指令来实现译码模块1070。

视频译码设备1000还可以包括输入和/或输出(input/output,I/O)设备1080,用于与用户进行数据通信。I/O设备1080可以包括输出设备,例如,显示视频数据的显示器、输出音频数据的扬声器等。I/O设备1080还可以包括键盘、鼠标、轨迹球等输入设备和/或与上述输出设备进行交互的对应接口。

存储器1060包括一个或多个磁盘、一个或多个磁带机以及一个或多个固态硬盘,并且可以用作溢出数据存储设备,以在选择程序来执行时存储此类程序,并且存储在执行程序过程中读取的指令和数据。存储器1060可以是易失性和/或非易失性,并且可以是只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、三态内容寻址存储器(ternary content-addressable memory,TCAM)和/或静态随机存取存储器(static random-access memory,SRAM)。

图11为译码模块1100的一个实施例的示意图。在本实施例中,译码模块1100在视频译码设备1102(例如,视频编码器20或视频解码器30)中实现。视频译码设备1102包括接收模块1101。接收模块1101用于接收图像进行编码或接收码流进行解码。视频译码设备1102包括与接收模块1101耦合的发送模块1107。发送模块1107用于向解码器发送所述码流或者向显示模块(例如,多个I/O设备1080中的一个I/O设备)发送经解码图像。

视频译码设备1102包括存储模块1103。存储模块1103与接收模块1101或发送模块1107中的至少一个耦合。存储模块1103用于存储指令。视频译码设备1102还包括处理模块1105。处理模块1105与存储模块1103耦合。处理模块1105用于执行存储在存储模块1103中的指令,以执行本文公开的方法。

还应理解,本文中阐述的示例性方法的步骤不一定需要按照所描述的顺序执行,并且这些方法的步骤的顺序应理解为仅仅是示例性的。同样地,在与本发明各种实施例相一致的方法中,这些方法可以包括其它步骤,并且某些步骤可以省略或组合。

虽然本发明提供了若干个实施例,但应理解,在不脱离本发明的精神或范围的情况下,所公开的系统和方法可能通过其它多种具体形式体现。本发明示例应被视为说明性而非限制性的,且本发明并不限于本文所给出的详细内容。例如,各种元件或组件可以组合或集成在另一系统中,或者某些特征可以省略或不实现。

另外,在不脱离本发明范围的情况下,各种实施例中描述及图示为独立或分离的技术、系统、子系统和方法可以与其它系统、模块、技术或方法组合或集成。展示或描述为彼此耦合或直接耦合或相互通信的其它项可以采用电方式、机械方式或其它方式通过某种接口、设备或中间组件间接地耦合或通信。变化、替换和变更的其它示例可由本领域技术人员确定,并可以在不脱离本文公开的精神和范围的情况下举例。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号