CN104025599B - 参考图片处理 - Google Patents

参考图片处理 Download PDF

Info

Publication number
CN104025599B
CN104025599B CN201280065869.3A CN201280065869A CN104025599B CN 104025599 B CN104025599 B CN 104025599B CN 201280065869 A CN201280065869 A CN 201280065869A CN 104025599 B CN104025599 B CN 104025599B
Authority
CN
China
Prior art keywords
reference picture
picture list
list
instruction
decoded
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201280065869.3A
Other languages
English (en)
Other versions
CN104025599A (zh
Inventor
M·M·安尼克塞拉
S·M·戈帕拉克施纳里
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nokia Technologies Oy
Original Assignee
Nokia Technologies Oy
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=48223703&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=CN104025599(B) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN104025599A publication Critical patent/CN104025599A/zh
Application granted granted Critical
Publication of CN104025599B publication Critical patent/CN104025599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Abstract

在统一的参考图片标记和参考图片列表管理过程中处理参考图片标记过程和参考图片列表管理过程。新空闲参考图片列表可以用于处理在当前图片中未用于参考的参考图片。图片序列号的差分译码可以用来增加译码效率。可以在图片参数集中发送参考图片管理语法结构用于例如在规则GOP(图片组)布置中提高译码效率。

Description

参考图片处理
背景技术
在许多视频译码系统中,已经更早解码的图片可以用于预测更晚图片的图像数据,从而仅需对差值进行编码。如在本领域中所知,这一预测大量减少译码的数据的大小。为了能够执行预测,需要向存储器经常暂时存储存储更早解码的图片,从而可以快速取回它们用于预测。在对越来越多的图片进行解码时,需要从存储器丢弃更旧参考图片以例如为新参考图片腾出空间。也就是说,已经解码的一些新图片被标记以指示它们将用于参考并且被保持于参考图片存储器中。一些解码的图片被标记未用于参考,并且可以从存储器丢弃它们。为了有效执行这一过程,在视频传输中用信号发送将用于参考的图片。然而,在视频传输中的附加信号发送增添需要发送的数据量。
因此需要如下解决方案,这些解决方案改进参考图片处理过程而未降低译码效率。
发明内容
现在已经发明一种改进的方法和实施该方法的技术设备,通过该方法和设备缓解以上问题。本发明的各种方面包括一种特征在于在独立权利要求中陈述的特征的方法、设备、服务器、客户端和包括在其中存储的计算机程序的计算机可读介质。在从属权利要求中公开本发明的各种实施例。
在示例实施例中,可以在统一的参考图片标记和参考图片列表管理过程中处理参考图片标记过程和参考图片列表管理过程。新空闲参考图片列表可以用于处理在当前图片中未用于参考的参考图片。图片序列号的差分译码可以用来增加译码效率。可以在图片参数集中发送参考图片管理语法结构用于例如在规则GOP(图片组)布置中提高译码效率。
根据第一方面,提供一种用于视频译码的方法,该方法包括:在语法元素中提供指示,所述指示是指示将在解码中用作参考图片的图片,并且在所述语法元素中提供指令,所述指令指示参考图片列表结构,所述参考图片列表将在解码中被使用。
根据一个实施例,该方法还包括:在用于解码的图片参数集中提供所述指示和所述指令中的至少一项,所述图片参数集对于待解码的多个图片分片是公共的。根据一个实施例,该方法还包括:使用诸如诸如图片序列号(POC)的图片标识符的差分译码对所述指令进行译码。根据一个实施例,所述指令指示包括有序参考图片列表的参考图片列表结构。根据一个实施例,该方法还包括:在所述语法元素中提供空闲参考图片列表指令,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的另一图片进行解码时用作参考图片。根据一个实施例,该方法还包括:提供将用于在可以至少部分省略提供或者传输所述空闲参考图片列表的情况下添加和从所述空闲参考图片列表去除图片的算法的标识。
根据第二方面,提供一种用于视频译码的方法,该方法包括:在语法元素中提供空闲参考图片列表指令,所述空闲参考图片列表列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的另一图片进行解码时用作参考图片。根据一个实施例,该方法包括:提供将用于在可以至少部分省略提供或者传输所述空闲参考图片列表的情况下从所述空闲参考图片列表添加和去除图片的算法的标识。
根据第三方面,提供一种用于对视频数据进行解码的方法,该方法包括:从比特流对来自语法元素的指示进行解码,所述指示是指示将在解码中用作参考图片的图片,从所述语法元素对指令进行解码,所述指令指示参考图片列表结构,所述参考图片列表将在解码中被使用,并且在对视频数据的解码中处理参考图片时使用所述指示和所述指令。
根据一个实施例,该方法还包括:从用于解码的图片参数集对所述指示和所述指令中的至少一项进行解码,所述图片参数集对于待解码的多个图片分片是公共的。根据一个实施例,该方法还包括:使用诸如诸如图片序列号(POC)的图片标识符的差分解码对所述指令进行解码。根据一个实施例,所述指令指示包括有序参考图片列表的参考图片列表结构。根据一个实施例,该方法包括:对在所述语法元素中的空闲参考图片列表指令进行解码,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的图片进行解码时用作参考图片。根据一个实施例,该方法包括:从比特流对算法的标识进行解码,该算法用于在可以至少部分省略提供或者传输所述空闲参考图片列表的情况下从所述空闲参考图片列表添加和去除图片。
根据第四方面,提供一种用于对视频数据进行解码的方法,该方法包括:对在语法元素中的空闲参考图片列表指令进行解码,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的另一图片进行解码时用作参考图片。根据一个实施例,该方法包括:从比特流对算法的标识进行解码,该算法用于在可以至少部分省略提供或者传输所述空闲参考图片列表的情况下从所述空闲参考图片列表添加和去除图片。
根据第五方面,提供一种设备,该设备包括处理器、包括计算机程序代码的存储器,存储器和计算机程序代码被配置为与处理器一起使该设备:在语法元素中提供指示,所述指示是指示将在解码中用作参考图片的图片,并且在所述语法元素中提供指令,所述指令指示参考图片列表结构,所述参考图片列表将在解码中被使用。
根据一个实施例,该设备包括被配置为与处理器一起使该设备在用于解码的图片参数集中提供所述指示和所述指令中的至少一项的计算机程序代码,所述图片参数集对于待解码的多个图片分片是公共的。根据一个实施例,该设备包括计算机程序代码,该计算机程序代码被配置为与处理器一起使该设备使用诸如诸如图片序列号(POC)的图片标识符的差分译码对所述指令进行译码。根据一个实施例,所述指令指示包括有序参考图片列表的参考图片列表结构。根据一个实施例,该设备包括被配置为与处理器一起使该设备在所述语法元素中提供空闲参考图片列表指令的计算机程序代码,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的另一图片进行解码时用作参考图片。根据一个实施例,该设备包括计算机程序代码,该计算机程序代码被配置为与处理器一起使该设备提供将用于在可以至少部分省略提供或者传输所述空闲参考图片列表的情况下从所述空闲参考图片列表添加和去除图片的算法的标识。
根据第六方面,提供一种设备,该设备包括处理器、包括计算机程序代码的存储器,存储器和计算机程序代码被配置为与处理器一起使该设备:在语法元素中提供空闲参考图片列表指令,所述空闲参考图片列表列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的另一图片进行解码时用作参考图片。
根据一个实施例,该设备包括被配置为与处理器一起使该设备提供将用于在可以至少部分省略提供或者传输所述空闲参考图片列表的情况下从所述空闲参考图片列表添加和去除图片的算法的标识。
根据第七方面,提供一种用于对视频数据进行解码的设备,该设备包括处理器、包括计算机程序代码的存储器,存储器和计算机程序代码被配置为与处理器一起使该设备:从比特流对来自语法元素的指示进行解码,所述指示是指示将在解码中用作参考图片的图片,从所述语法元素对指令进行解码,所述指令指示参考图片列表结构,所述参考图片列表将在解码中被使用,并且在对视频数据的解码中处理参考图片时使用所述指示和所述指令。
根据一个实施例,该设备包括被配置为与处理器一起使该设备从用于解码的图片参数集对所述指示和所述指令中的至少一项进行解码的计算机程序代码,所述图片参数集对于待解码的多个图片分片是公共的。根据一个实施例,该设备包括计算机程序代码,所述计算机程序代码被配置为与处理器一起使该设备使用诸如诸如图片序列号(POC)的图片标识符的差分解码对所述指令进行解码。根据一个实施例,所述指令指示包括有序参考图片列表的参考图片列表结构。根据一个实施例,该设备包括被配置为与处理器一起使该设备对在所述语法元素中的空闲参考图片列表指令进行解码的计算机程序代码,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的图片进行解码时用作参考图片。根据一个实施例,该设备包括被配置为与处理器一起使设备从比特流对算法的标识进行解码的计算机程序代码,该算法用于在可以至少部分省略提供或者传输所述空闲参考图片列表的情况下从所述空闲参考图片列表添加和去除图片。
根据第八方面,提供一种设备,该设备包括包括处理器、包括计算机程序代码的存储器,存储器和计算机程序代码被配置为与处理器一起使该设备:对在语法元素中的空闲参考图片列表指令进行解码,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的另一图片进行解码时用作参考图片。
根据一个实施例,该设备包括被配置为与处理器一起使该设备从比特流对算法的标识进行解码的计算机程序代码,该算法用于在可以至少部分省略提供或者传输所述空闲参考图片列表的情况下从所述空闲参考图片列表添加和去除图片。
根据第九方面,以上描述的设备是在网络中的代码转换器单元。
根据第十方面,提供一种用于视频译码的模块,该模块包括用于实现根据方面1至4中的任一方面的方法的装置。
根据第十一方面,提供一种系统,该系统包括用于实现根据方面1至4中的任一方面的方法的装置。
根据第十二方面,提供一种用于对视频数据进行编码的设备,该设备包括:用于在语法元素中提供指示的装置,所述指示是指示将在解码中用作参考图片的图片,以及用于在所述语法元素中提供指令的装置,所述指令指示参考图片列表结构,所述参考图片列表将在解码中被使用。
根据第十三方面,提供一种用于对视频数据进行编码的设备,该设备包括:用于在语法元素中提供空闲参考图片列表指令的装置,所述空闲参考图片列表列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的另一图片进行解码时用作参考图片。
根据第十四方面,提供一种用于对视频数据进行编码的设备,该设备包括用于实现根据第一或者第二方面的方法的装置。
根据第十五方面,提供一种用于对视频数据进行解码的设备,该设备包括:用于从比特流对来自语法元素的指示进行解码的装置,所述指示是指示将在解码中用作参考图片的图片,用于从所述语法元素对指令进行解码的装置,所述指令指示参考图片列表结构,所述参考图片列表将在解码中被使用,以及用于在对视频数据的解码中处理参考图片时使用所述指示和所述指令的装置。
根据第十六方面,提供一种用于对视频数据进行解码的设备,该设备包括:用于对在语法元素中的空闲参考图片列表指令进行解码的装置,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的另一图片进行解码时用作参考图片。
根据第十七方面,提供一种用于对视频数据进行解码的设备,该设备包括用于实现根据第三或者第四方面的方法的装置。
根据第十八方面,提供一种计算机程序产品,该计算机程序产品包括在非瞬态计算机可读存储器上实施的计算机程序代码,所述计算机程序代码包括:用于在语法元素中提供指示的计算机程序代码段,所述指示是指示将在解码中用作参考图片的图片,以及用于在所述语法元素中提供指令的计算机程序代码段,指所述令指示参考图片列表结构,所述参考图片列表将在解码中被使用。
根据第十九方面,提供一种计算机程序产品,该计算机程序产品包括在非瞬态计算机可读存储器上实施的计算机程序代码,所述计算机程序代码包括:用于在语法元素中提供空闲参考图片列表指令的计算机程序代码段,所述空闲参考图片列表列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片将在对除了当前图片之外的另一图片进行解码时用作参考图片。
根据第二十方面,提供一种计算机程序产品,该计算机程序产品包括在非瞬态计算机可读存储器上实施的计算机程序代码,所述计算机程序代码包括:用于从比特流对来自语法元素的指示进行解码的计算机程序代码段,所述指示是指示将在解码中用作参考图片的图片,用于从所述语法元素对指令进行解码的计算机程序代码段,所述指令指示参考图片列表结构,所述参考图片列表将在解码中被使用,以及用于在对视频数据的解码中处理参考图片时使用所述指示和所述指令的计算机程序代码段。
根据第二十一方面,提供一种计算机程序产品,该计算机程序产品包括在非瞬态计算机可读存储器上实施的计算机程序代码,所述计算机程序代码包括:用于对在语法元素中的空闲参考图片列表指令进行解码的计算机程序代码段,所述空闲参考图片列表指令指示空闲参考图片列表结构,在所述空闲参考图片列表中的图片将在对除了当前图片之外的另一图片进行解码时用作参考图片。
根据第二十二方面,提供一种计算机程序产品,该计算机程序产品包括在非瞬态计算机可读存储器上实施的计算机程序代码,所述计算机程序代码包括可以在计算机的至少一个处理器上被执行时使计算机实现根据方面1至4中的任一方面的方法的指令。
附图说明
在下文中,将参照附图更具体描述本发明的各种实施例,在附图中:
图1示出根据一个示例实施例的视频译码系统的框图;
图2示出根据一个示例实施例的用于视频译码的装置;
图3示出根据一个示例实施例的包括多个设备、网络和网元的用于视频译码的布置;
图4a和4b示出根据一个示例实施例的用于视频编码和解码的框图;
图5图示根据一个示例实施例的参考图片处理;
图6a和6b示出根据一个示例实施例的用于处理参考图片的方法的流程图;并且
图7示出根据示例实施例的用于处理参考图片的方法的流程图。
具体实施方式
在下文中,将在一个视频译码布置的背景中描述本发明的若干实施例。然而将指出本发明不限于这一具体布置。事实上,不同实施例广泛地在其中需要改进参考图片处理的任何环境中具有应用。例如本发明可以适用于视频译码系统、比如流式系统、DVD和DB播放器、在个人计算机、手持计算机和通信设备上的系统和计算机程序以及其中处理视频数据的网元、比如代码转换器和云计算布置。
H.264/AVC标准由国际电信联盟(ITU-T)的电信标准化部门的视频译码专家组(VCEG)和国际标准化组织(ISO)/国际电工委员会(IEC)的运动图片专家组(MPEG)的联合视频团队(JVT)开发。H.264/AVC标准由两个母标准组织发布,并且它被称为ITU-T推荐H.264和ISO/IEC国际标准14496-10、也称为MPEG-4部分10高级视频译码(AVC)。已经有H.264/AVC标准的多个版本,每个版本向规范集成新扩展或者特征。这些扩展包括可缩放视频译码(SVC)和多视图视频译码(MVC)。
有VCEG和MPEG的联合协作团队-视频译码(JCT-VC)对高效率视频译码(HEVC)的当前进行中的标准化项目。
在这一节中描述H.264/AVC和HEVC的一些关键定义、比特流和译码结构以及概念作为其中可以对实施例进行实施的视频编码器、解码器、编码方法、解码方法和比特流结构的示例。H.264/AVC的关键定义、比特流和译码结构以及概念中的一些关键定义、比特流和译码结构以及概念与在HEVC的当前工作草案中相同——因此,以下共同地描述它们。本发明的方面不限于H.264/AVC或者HEVC,但是实际上对于本发明可以在其上面被部分或者完全实现的一个可能基础给出描述。
与许多更早视频译码标准相似地,在H.264/AVC和HEVC中指定比特流语法和语义以及用于无错比特流的解码过程。未指定编码过程,但是编码器必须生成顺应的比特流。可以用假设参考解码器(HRD)验证比特流和解码器顺应性。标准包含有助于应对传输错误和丢失的译码工具,但是在编码时使用工具是可选的,并且对于错误比特流尚未指定解码过程。
分别用于向H.264/AVC或者HEVC编码器的输入和H.264/AVC或者HEVC解码器的输出的基本单位是图片。在H.264/AVC中,图片可以是帧或者场。在HEVC的当前工作草案中,图片是帧。帧包括照度采样和对应色度采样的矩阵。场在源信号被交织时是帧的交替采样行的集合并且可以用作编码器输入。色度图片在与照度图片比较时可以被子采样。例如在4:2:0采样模式中,色度图片的空间分辨率是照度图片沿着两个坐标轴的空间分辨率的一半。
在H.264/AVC中,宏块是16x16照度采样块和对应色度采样块。例如在4:2:0采样模式中,宏块包含每个色度分量的一个8x8色度采样块。在H.264/AVC中,图片被分割成一个或者多个分片组,并且分片组包含一个或者多个分片。在H.264/AVC中,分片由在特定分片组内的光栅扫描中连续排序的整数数目的宏块构成。
在草案HEVC中,视频图片被划分成覆盖图片的区域的译码单元(CU)。CU由定义用于在CU内的采样的预测过程的一个或者多个预测单元(PU)和定义用于在所述CU中的采样的预测误差译码过程的一个或者多个变换单元(TU)构成。通常,CU由具有从可能CU大小的预定义集合可选择的大小的采样方块构成。具有最大允许大小的CU通常称为LCU(最大译码单元),并且视频图片被划分成非重叠LCU。LCU可以例如通过递归地拆分LCU和所得CU来进一步拆分成更小CU的组合。每个所得CU通常具有至少一个PU和与它关联的至少一个TU。每个PU和TU可以被进一步拆分成更小PU和TU以便分别增加预测和预测误差译码过程的粒度。PU拆分可以通过将CU拆分成四个相等大小的方形PU、或者以对称或者不对称方式将CU竖直或者水平拆分成两个矩形PU来实现。通常在比特流中用信号发送将图像划分成CU以及将CU划分成PU和TU从而允许解码器再现这些单元的既定结构。
在草案HEVC中,可以在矩形并且包含整数数目的LCU的分块(tiles)中分割图片。在HEVC的当前工作草案中,划分成分块形成矩形网格,其中分块的高度和宽度互不相同最多一个LCU。在草案HEVC中,分片由整数数目的CU构成。如果未使用分块,则在分块内或者在图片内按照LCU的光栅扫描顺序扫描CU。在LCU内,CU具有具体扫描顺序。
在H.264/AVC和HEVC中,可以跨越分片边界停用图片内预测。因此,分片可以视为一种用于将译码图片拆分成独立可解码片的方式,并且分片因此通常视为用于传输的基本单元。在许多情况下,编码器可以在比特流中指示跨越分片边界关闭哪些类型的图片内预测,并且解码器操作例如在推断哪些预测源可用时考虑这一信息。例如,如果邻近宏块或者CU在不同分片中驻留,则来自邻近宏块或者CU的采样可以视为不可用于帧内预测。
分别用于H.264/AVC或者HEVC编码器的输出和H.264/AVC或者HEVC解码器的输入的基本单位是网络抽象化层(NAL)单元。为了通过面向分组的网络传送或者存储成结构化的文件,NAL单元通常被封装成分组或者相似结构。已经在H.264/AVC和HEVC中为未提供成帧结构的传输或者存储环境指定字节流格式。字节流格式通过在每个NAL单元前面附着开始码将NAL单元相互分离。为了避免错误检测NAL单元边界,编码器运行面向字节的开始码模拟预防算法,如果开始码原本会出现,则该算法向NAL单元净荷添加模拟预防字节。为了实现在面向分组与面向流的系统之间的简单直接网关操作,无论字节流格式是否使用,总是执行开始码模拟预防。
NAL单元由头部和净荷构成。在H.264/AVC和HEVC中,NLC单元头部指示NAL单元的类型和在NAL单元中包含的译码的分片是否为参考图片或者非参考图片的部分。H.264/AVC包括2位nal_ref_idc语法元素,该语法元素在等于0时指示在NAL单元中包含的译码分片为非参考图片的部分并且在大于0时指示在NAL单元中包含的译码分片为参考图片的部分。草案HEVC包括1位nal_ref_idc语法元素,该语法元素在等于0时指示在NAL单元中包含的译码分片为非参考图片的部分并且在等于1时指示在NAL单元中包含的译码分片为参考图片的部分。用于SVC和MVC NAL单元的头部还包含与可缩放性和多视图分级有关的各种指示。在HEVC中,NAL单元头部包括temporal_id语法元素,该语法元素指定用于NAL单元的时间标识符。通过排除具有大于或者等于选择的值的temporal_id的所有VCL NAL单元并且包括所有其它VCL NAL单元而创建的比特流保持顺应。因而,具有等于TID的temporal_id的图片未使用具有大于TID的temporal_id的任何图片作为帧间预测参考。在草案HEVC中,参考图片列表初始化仅限于如下参考图片,这些参考图片被标记为“用于参考”并且具有小于或者等于当前图片的temporal_id的temporal_id。
NAL单元可以被分类成视频译码层(VCL)NAL单元和非VCL NAL单元。VCN NAL单元通常是译码分片NAL单元。在H.264/AVC中,译码分片NAL单元包含表示一个或者多个译码的宏块的语法元素,该一个或者多个译码的宏块中的每个译码的宏块对应于在未压缩的图片中的采样块。在HEVC中,译码的分片NAL单元包含表示一个或者多个CU的语法元素。在H.264/AVC和HEVC中,可以指示译码的分片NAL单元为在瞬时解码刷新(IDR)图片中的译码的分片或者在非IDR图片中的译码的分片。在HEVC中,可以指示译码的分片NAL单元为在干净解码刷新(CDR)图片(也可以称为干净随机访问图片)中的译码的分片。
非VCL NAL单元可以例如是以下类型之一:序列参数集、图片参数集、补充增强信息(SEI)NAL单元、访问单元定界符、序列结束NAL单元、流结束NAL单元或者填充符数据NAL单元。参数集对于重建解码的图片是必需的,而其它非VCL NAL单元中的许多其它非VCLNAL单元对于重建解码的采样值不是必需的。
在序列参数集中包括经过译码的视频序列保持不变的参数。除了解码过程必需的参数之外,序列参数集还可以可选地包含视频可用性信息(VUI),该VUI包括对于缓冲、图片输出定时、渲染和资源保留而言重要的参数。图片参数集包含可能在若干译码的图片中不变的这样的参数。在草案HEVC中,也有这里称为自适应参数集(APS)的第三类型的参数集,该第三类型的参数集包括可能在若干译码的分片中不变的参数。
H.264/AVC和HEVC语法允许参数集的多个实例,并且每个实例用唯一标识符来标识。在H.264/AVC中,每个片头部包括对于包含分片的图片的解码而言活跃的图片参数集的标识符,并且每个图片参数集包含活跃序列参数集的标识符。因而,图片和序列参数集的传输无需与分片的传输准确同步。取而代之,活跃序列和图片参数集在它们被参考之前的任何时刻被接收就足够了,这允许使用与用于分片数据的协议比较的更可靠传输机制来传输参数集。例如可以包括参数集作为在用于实时传送协议(RTP)会话的会话描述中的参数。如果带内传输参数集,则可以重复它们以提高抗错强健性。
SEI NAL单元包含一个或者多个SEI消息,该一个或者多个SEI消息不是输出图片的解码所必需的、但是辅助有关过程、比如图片输出定时、渲染、错误检测、错误隐藏和资源保留。在H.264/AVC和HEVC中指定若干SEI消息,并且用户数据SEI消息使组织和公司能够指定用于它们自己使用的SEI消息。H.264/AVC和HEVC包含用于指定的SEI消息的语法和语义,但是未定义用于在接收者中处理消息的过程。因而,要求编码器在它们创建消息时遵循H.264/AVC标准或者HEVC标准,并且未要求分别顺应H.264/AVC标准或者HEVC标准的解码器为了输出顺序顺应而处理SEI消息。在H.264/AVC和HEVC中包括SEI消息的语法和语义的原因之一是允许不同系统规范等同地解释补充信息并且因此互操作。旨在于系统规范可能需要在编码端中和在解码端中二者使用特定SEI消息,并且还可以指定用于在接收者中处理特定SEI消息的过程。
译码的图片是图片的译码表示。在H.264/AVC中的译码的图片由图片的解码所必需的VCL NAL单元构成。在H.264/AVC中,译码的图片可以是主要译码的图片或者冗余译码的图片。在有效比特流的解码过程中使用主要译码的图片,而冗余译码的图片是应当仅在主要译码的图片不能被成功解码时解码的冗余表示。在草案HEVC中,尚未指定冗余译码的图片。
在H.264/AVC和HEVC中,访问单元由主要译码的图片和与它关联的那些NAL单元构成。在H.264/AVC中,约束NAL单元在访问单元内的出现顺序如下。可选访问单元定界符NAL单元可以指示访问单元的开始。零个或者更多SEI NAL单元跟随它。主要译码的图片的译码的分片接着出现、跟随有用于零个或者更多冗余译码的图片的译码的分片。
定义译码的视频序列为按照从IDR访问单元(包括IDR访问单元)到无论哪个更早出现的下一IDR访问单元(不含下一IDR访问单元)或者到比特流的结束的解码顺序的连续访问单元序列。
可以定义图片组(GOP)及其特性如下。GOP无论任何先前图片是否被解码都可以被解码。开放GOP是这样的图片组,在该图片组中,按照输出顺序在初始帧内图片之前的图片可能在解码从开放GOP的初始帧内图片开始时未正确地可解码。换而言之,开放GOP的图片可以参考(在帧内预测时)属于先前GOP的图片。H.264/AVC解码器可以从在H.264/AVC比特流中的恢复点SEI消息识别开始开放GOP的帧内图片。HEVC解码器可以识别开始开放GOP的帧内图片,因为CDR NAL单元类型这一具体NAL单元类型用于它的译码的分片。封闭GOP是这样的图片组,在该图片组中,所有图片可以在解码从封闭GOP的初始帧内图片开始时被正确解码。换而言之,在封闭GOP中的图片未参考在先前GOP中的任何图片。在H.264/AVC和HEVC中,封闭GOP从IDR访问单元开始。作为结果,封闭GOP结构与开放GOP结构比较具有更多差错恢复可能性、然而代价是可能减少压缩效率。开放GOP译码结构由于在选择参考图片时的更大灵活性而在压缩时潜在地更高效。
H.264/AVC和HEVC的比特流语法指示特定图片是否为用于任何其它图片的帧间预测的参考图片。任何译码类型(I、P、B)的图片可以是在H.264/AVC和HEVC中的参考图片或者非参考图片。NAL单元头部指示NAL单元的类型和在NAL单元中包含的译码的分片是否为参考图片或者非参考图片的部分。
包括H.264/AVC和HEVC的许多混合视频编码解码器在两个阶段中对视频信息进行编码。在第一阶段中,预测在某个图片区域或者“块”中的像素或者采样值。例如可以通过运动补偿机制来预测这些像素或者采样值,这些运动补偿机制涉及到发现和指示在先前编码的视频帧之一中的与译码的块接近地对应的区域。此外,可以通过涉及到发现和指示空间区域关系的空间机制来预测像素或者采样值。
使用来自先前译码的图像的图像信息的预测方式也可以称为帧间预测方法,这些帧间预测方法也可以称为时间预测和运动补偿。使用在相同图像内的图像信息的预测方式也可以称为帧内预测方法。
第二阶段是对在预测的像素或者采样块与原有像素或者采样块之间的误差进行译码之一。这可以通过使用指定的变换对像素或者采样值的差值进行变换来实现。这一变换可以是离散余弦变换(DCT)或者其变体。在变换差值之后,变换的差值被量化和熵编码。
通过变化量化过程的保真性,编码器可以控制在像素或者采样表示的准确性(即图片的可视质量)与所得编码的视频表示的大小(即文件大小或者传输比特率)之间的平衡。
解码器通过应用与编码器为了形成像素或者采样块的预测的表示而使用的预测机制相似的预测机制(使用由编码器创建的并且在图像的压缩的表示中存储的运动或者空间信息)和预测误差解码(预测误差译码的用于在空间域中恢复量化的预测误差信号的逆操作)来重构输出视频。
在应用像素或者采样预测和误差解码过程之后,解码器组合预测和预测误差信号(像素或者采样值)以形成输出视频帧。
解码器(和编码器)也可以应用附加滤波过程以便在传递输出视频用于显示和/或存储为用于在视频序列中的即将来临的图片的预测参考之前提高它的质量。
在包括H.264/AVC和HEVC的许多视频编码器中,运动信息由与每个运动补偿的图像块关联的运动矢量指示。这些运动矢量中的每个运动矢量表示在待译码(在编码器中)或者解码(在解码器)的图片中的图像块和在先前译码或者解码的图像(或者图片)之一中的预测源块的移位。H.264/AVC和HEVC如同许多其它视频压缩标准将图片划分成矩形网格,对于这些矩形中的每个矩形指示在参考图片之一的相似块用于帧间预测。预测块的位置被译码为运动矢量,该运动矢量指示预测的块与译码的块比较的位置。
可以使用以下因素中的一个或者多个因素来表征帧间预测过程。
运动矢量表示的准确性。例如运动矢量可以是四分之一像素准确性,并且可以使用有限冲激响应(FIR)滤波器来获得在分数像素位置中的采样值。
用于帧间预测的块分割。包括H.264/AVC和HEVC的许多译码标准允许选择块(对于该块应用运动矢量用于在编码器中的运动补偿)的大小和形状,并且在比特流中指示选择的大小和形状,从而解码器可以再现在编码器中完成的运动补偿的预测。
用于帧间预测的参考图片数目。帧间预测源是先前解码的图片。包括H.264/AVC和HEVC的许多译码标准实现存储用于帧间预测的多个参考图片和在块基础上选择使用的参考图片。例如可以在H.264/AVC中在宏块或者宏块分割基础上和在HEVC中在PU或者CU基础上选择参考图片。许多译码标准、比如H.264/AVC和HEVC在比特流中包括语法结构,这些语法结构使解码器能够创建一个或者多个参考图片列表。指向参考图片列表的参考图片索引可以用来指示多个参考图片中的哪个参考图片用于特定块的帧内预测。参考图片索引可以在一些帧间译码模式中由编码器译码到位流中,或者它可以在一些其它帧间译码模式中(由编码器和解码器)例如使用邻近块来推导。
运动矢量预测。为了在位流中高效表示运动矢量,可以相对于块专属预测的运动矢量对运动矢量进行差分译码。在许多视频编码解码器中,以预定义的方式、例如通过计算相邻块的编码或者解码的运动矢量的中值来创建预测的运动矢量。用于创建运动矢量预测的另一方式是从在时间参考图片中的相邻块和/或共同位置的块生成候选预测列表并且用信号发送选择的候选作为运动矢量预测器。除了预测运动矢量值之外,还可以预测先前译码/解码的图片的参考索引。通常从在时间参考图片中的相邻块和/或共同位置的块预测参考索引。通常跨越分片边界停用运动矢量的差分译码。
多假设、运动补偿的预测。H.264/AVC和HEVC实现在P分片中使用单个预测块(这里称为单预测分片)或者将两个运动补偿的预测块的线性组合用于也称为B分片的双预测分片。在B分片中的个别块可以被双预测、单预测或者帧内预测,并且在P分片中的个别块可以被单预测或者帧内预测。用于双预测图片的参考图片可以不限于按照输出顺序的后续图片和先前图片,但是实际上可以使用任何参考图片。在许多译码标准、比如H.264/AVC和HEVC中,为P分片构造称为参考图片列表0的一个参考图片列表,并且为B分片构造列表0和列表1这两个参考图片列表。对于B分片,即使用于预测的参考图片可以具有与彼此或者当前图片有关的任何解码或者输出顺序,在前向方向上的预测可以是指从在参考图片列表0中的参考图片预测时,而在向后方向上的预测可以是指从在参考图片列表1中的参考图片预测。
加权的预测。许多译码标准将预测权值1用于帧间(P)图片的预测块而0.5用于B图片的每个预测块(导致求平均)。H.264/AVC允许用于P和B分片的加权的预测。在隐式加权的预测中,权值与图片序列号成比例,而在显式加权的预测中,显式地指示预测权值。
在许多视频编码解码器中,在运动补偿之后的预测残差先用变换内核(比如DCT)来变换、然后被译码。这一点的原因是在残差之中经常仍有一些相关性并且变换可以在许多情况下帮助减少这一相关性并且提供更高效译码。
在草案HEVC中,每个PU具有与它关联的预测信息,该预测信息定义什么种类的预测将被应用于在该PU内的像素(例如用于帧间预测的PU的运动矢量信息和用于帧内预测的PU的帧内预测方向性信息)。相似地,每个TU与如下信息关联,该信息描述用于在所述TU内的采样的预测误差解码过程(例如包括DCT系数信息)。通常在CU级用信号发送预测误差译码是否被应用于每个CU。在没有与CU关联的预测误差残差的情况下,可以认为没有用于所述CU的TU。
在一些译码格式和编码解码器中,在所谓短期与长期参考图片之间进行区分。这一区分可以影响一些解码过程、比如在时间直接模式中的运动矢量缩放或者隐式加权的预测。如果用于时间直接模式的使用的参考图片二者为短期参考图片,则可以根据在当前图片与参考图片中的每个参考图片之间的POC差值来缩放在预测中使用的运动矢量。然而,如果用于时间直接模式的至少一个参考图片是长期参考图片,则使用运动矢量的默认缩放、例如可以使用将运动缩放至一半。相似地,如果短期参考图片用于隐式加权的预测,则可以根据在当前图片的POC与参考图片的POC之间的POC差值来缩放预测权值。然而,如果长期参考图片用于隐式加权的预测,则可以使用默认预测权值、比如在用于双预测的块的隐私加权的预测中为0.5。
一些视频译码格式、比如H.264/AVC包括frame_num语法元素,该语法元素用于与多个参考图片有关的各种解码过程。在H.264/AVC中,用于IDR图片的frame_num的值为0。用于非IDR图片的frame_num的值等于被递增1的按照解码顺序的先前参考图片的frame_num(在模算术中、即在frame_num的最大值之后卷绕至0的frame_num值)。
H.264/AVC和HEVC包括图片序列号(POC)概念。POC的值是对于每个图片而推导的,并且随着按照输出顺序的增加图片位置而未减少。POC因此指示图片的输出顺序。POC可以在解码过程中例如用于在双预测分片的时间直接模式中的运动矢量的隐式缩放、用于在加权的预测中的隐式地推导的权值和用于参考图片列表初始化。另外,可以在验证输出顺序顺应性时使用POC。在H.264/AVC中,相对于先前IDR图片或者如下图片指定POC,该图片包含存储器管理控制操作,该存储器管理控制操作标记所有图片为“未用于参考”。
H.264/AVC和草案HEVC指定用于解码的参考图片标记的过程以便控制在解码器中的存储器消耗。在序列参数集中确定称为M的用于帧间预测的参考图片的最大数目。在参考图片被解码时,标记它为“用于参考”。如果参考图片的解码引起标记为“用于参考”的多于M个图片,则标记至少一个图片为“未用于参考”。有用于解码的参考图片标记的两个操作类型:自适应存储器控制和滑动窗。在图片基础上选择用于解码的参考图片标记的操作模式。自适应存储器控制实现用信号显式发送哪些图片被标记为“未用于参考”并且也可以向短期参考图片指派长期索引。自适应存储器控制要求在比特流中存在存储器管理控制操作(MMCO)参数。如果滑动窗操作模式在使用中并且有标记为“用于参考”的M个图片,则在标记为“用于参考”的那些短期参考图片之中是第一解码的图片的短期参考图片被标记为“未用于参考”。换而言之,滑动窗操作模式产生在短期参考图片之中的先入先出缓冲操作。
在H.264/AVC和HEVC中的存储器管理控制操作之一使除了当前图片之外的所有参考图片被标记为“未用于参考”。瞬时解码刷新(IDR)图片距离包含帧内译码的分片并且引起参考图片的相似“重置”。
可以在编码器中和/或在解码器中使用解码的图片缓冲器(DPB)。缓冲解码的图片有用于在帧间预测中的参考和用于将解码的图片重新排序成输出顺序这两个原因。由于H.264/AVC和HEVC为参考图片标记和输出重新排序二者提供大量灵活性,所以用于参考图片缓冲和输出图片缓冲的分离缓冲器可能浪费存储器资源。因此,DPB可以包括用于参考图片和输出重新排序的统一的解码的图片缓冲过程。解码的图片可以在它不再用作参考并且需要输出时从DPB被去除。
在H.264/AVC和HEVC的许多译码模式中,用指向参考图片列表的索引指示用于帧间预测的参考图片。用可变长度译码对索引进行译码、即索引越小,对应语法元素就变得越短。为每个双预测(B)分片生成两个参考图片列表(参考图片列表0和参考图片列表1),并且为每个帧间译码(P)的分片形成一个参考图片列表(参考图片列表0)。
典型高效率视频编码解码器、比如草案HEVC编码解码器运用一种常称为合并化/合并模式/过程/机制的附加运动信息译码/解码机制,其中预测和使用块/PU的所有运动场信息而无任何修改或者校正。用于PU的前述运动信息包括1)是否“仅使用参考图片列表0来单预测PU”或者“仅使用参考图片列表1来单预测PU”或者“使用参考图片列表0和1二者来双预测PU”这样的信息、2)与参考图片列表0对应的运动矢量值、3)在参考图片列表0中的参考图片索引、4)与参考图片列表1对应的运动矢量值、5)在参考图片列表1中的参考图片索引。相似地,使用时间参考图片中的相邻块和/或共同位置的块的运动信息来实现预测运动信息。通常,通过包括与可用相邻/共同位置的块关联的运动预测候选来构造常称为合并列表的列表,并且用信号发送选择的运动预测候选在列表中的索引。然后向当前PU的运动信息复制选择的候选的运动信息。在合并机制被运用于整个CU并且用于CU的预测信号用作重构信号、即未处理预测残差时,这一类型的对CU进行译码/解码通常称为跳跃模式或者基于合并的跳跃模式。除了跳跃模式之外,合并机制也被运用于个别PU(未必如在跳跃模式中那样的整个CU),并且在这一情况下,可以利用预测残差以提高预测质量。这一类型的预测模式通常命名为帧间合并模式。
通常在两个步骤中构造参考图片列表、比如参考图片列表0和参考图片列表1:首先生成初始参考图片列表。可以例如基于frame_num、POC、temporal_id或者关于预测分级的信息、比如GOP结构或者其任何组合生成初始参考图片列表。其次可以按照在分片头部中包含的参考图片列表重新排序(RPLR)命令对初始参考图片列表进行重新排序。RPLR命令指示向相应参考图片列表的开头排序的图片。这一第二步骤也可以称为参考图片列表修改过程,并且可以在参考图片列表修改语法结构中包括RPLR命令。
可以基于参考图片列表0和/或参考图片列表1、例如使用在分片头部语法中包括的参考图片列表组合语法结构来生成合并列表。可以存在由编码器创建到比特流中并且解码器从比特流解码的参考图片列表组合语法结构,该参考图片列表组合语法结构指示合并列表的内容。语法结构可以指示参考图片列表0和参考图片列表1被组合成用于单向预测的预测单元的附加参考图片列表组合。语法结构可以包括标志,该标志在等于某个值时指示参考图片列表0和参考图片列表1相同,因此参考图片列表0用作参考图片列表组合。语法结构可以包括条目列表,每个条目指定参考图片列表(列表0或者列表1)和指向指定的列表的参考索引,其中条目指定将在合并列表中包括的参考图片。
用于参考图片标记的语法结构可以在视频译码系统中存在。例如在已经完成图片的解码时,解码的参考图片标记语法结构如果存在则可以用来自适应地标记图片为“未用于参考”或者“用于长期参考”。如果解码的参考图片标记语法结构不存在并且标记为“用于参考”的图片的数目不再能够增加,则可以使用基本上标记最早(按照解码顺序)解码的参考图片为未用于参考的滑动窗参考图片标记。
这里已经注意令人惊讶的是可以用某种方式修改参考图片标记布置,从而在相同过程中可以构造和/或管理至少一个参考图片列表。对于本领域技术人员,向标记布置仅添加列表管理系统将导致在译码方面低效率的系统。然而在当前示例实施例中,已经令人惊讶地通过运用在参考图片标记过程与列表管理过程之间的协作和/或通过运用各种其它译码改进来实现高效率。
参考图片列表语法结构可以包括用于P和B分片的参考图片列表0描述、用于B分片的参考图片列表1描述以及用于包括如下那些参考图片的任何分片的空闲参考图片列表描述这三个部分,那些参考图片未被包括在参考图片列表0或者1中、但是仍然被保持标记为“用于参考”。换而言之,可以例如有为参考图片标记和参考图片列表构造二者提供信息的一个语法结构(而不是多于一个)。
在分片的解码开始时,可以解析参考图片列表语法结构。对于P和B分片,语法结构包括解码的用于列表0的参考图片列表描述。参考图片列表描述语法结构可以列举图片,这些图片由它们的按照它们在参考图片列表中出现的顺序的图片序列号(POC)标识。对于B分片,参考图片列表语法结构可以解码的包括用于列表1的参考图片列表描述。
可以省略参考图片列表初始化过程和/或参考图片列表修改过程,并且可以在语法结构中直接描述参考图片列表。
附加地或者取而代之,参考图片列表语法结构可以包括如果存在则解码的用于空闲参考图片列表的参考图片列表描述。
可以标记在参考图片列表中的任何参考图片列表中的图片为“用于参考”。可以标记未在参考图片列表中的图片为“未用于参考”。
换而言之,可以在单个统一的过程和语法结构中处理参考图片列表构造和参考图片标记过程以及语法结构。
图1示出根据一个示例实施例的视频译码系统的框图为示例装置或者电子设备50的示意框图,该装置或者电子设备可以并入根据本发明的一个实施例的编码解码器。图2示出根据一个示例实施例的装置的布局。接着将说明图1和2的单元。
电子设备50可以例如是无线通信系统的移动终端或者用户设备。然而将理解可以在可能需要对视频图像进行编码和解码或者编码或者解码的任何电子设备或者装置内实施本发明的实施例。
装置50可以包括用于并入和保护设备的壳30。装置50还可以包括形式为液晶显示器的显示器32。在本发明的其它实施例中,显示器可以是适合于显示图像或者视频的任何适当显示器技术。装置50还可以包括键区34。在本发明的其它实施例中,可以运用任何适当数据或者用户接口机制。例如可以实施用户接口为虚拟键盘或者数据录入系统作为触敏显示器的部分。装置可以包括麦克风36或者任何适当音频输入,该音频输入可以是数字或者模拟信号输入。装置50还可以包括如下音频输出设备,该音频输出设备在本发明的实施例中可以是以下各项中的任何一项:耳机38、扬声器或者模拟音频或者数字音频输出连接。装置50也可以包括电池40(或者在本发明的其它实施例中,设备可以由任何适当移动能量设备、比如太阳能电池、燃料电池或者时钟机构生成器供电)。装置还可以包括用于与其它设备的近程视线通信的红外线端口42。在其它实施例中,装置50还可以包括任何适当近程通信解决方案、如比如蓝牙无线连接或者USB/火线有线连接。
装置50可以包括用于控制装置50的控制器56或者处理器。控制器56可以连接到存储器58,该存储器在本发明的实施例中可以存储形式为图像的数据和音频数据二者和/或也可以存储用于在控制器56上实施的指令。控制器56还可以连接到适合于实现音频和/或视频数据的译码和解码或者辅助由控制器56实现的译码和解码的编码解码器电路装置54。
装置50还可以包括用于提供用户信息并且适合于提供用于在网络认证和授权用户的认证信息的读卡器48和智能卡46、例如UICC和UICC读取器。
装置50可以包括无线电接口电路装置52,该无线电接口电路装置52连接到控制器并且适合于生成例如用于与蜂窝通信网络、无线通信系统或者无线局域网通信的无线通信信号。装置50还可以包括天线44,该天线44连接到无线电接口电路装置52用于向其它装置发送在无线电接口电路装置52生成的射频信号以及用于从其它装置接收射频信号。
在本发明的一些实施例中,装置50包括能够记录或者检测个别帧的相机,这些帧然后向编码解码器54或者控制器传递用于处理。在本发明的一些实施例中,装置可以在传输和/或存储之前从另一设备接收视频图像数据用于处理。在本发明的一些实施例中,装置50可以无线或者通过有线连接接收图像用于译码/解码。
图3示出根据一个示例实施例的包括多个装置、网络和网元的用于视频译码的布置。关于图3,示出可以在其中利用本发明的实施例的系统的示例。系统10包括可以通过一个或者多个网络通信的多个通信设备。系统10可以包括有线或者无线网络的任何组合、这些有线或者无线网络包括但不限于无线蜂窝电话网络(比如GSM、UMTS、CDMA网络等)、比如IEEE802.x标准中的任何标准定义的无线局域网(WLAN)、蓝牙专用网络、以太网局域网、令牌环局域网、广域网和因特网。
系统10可以包括适合用于实施本发明的实施例的有线和无线通信设备二者或者装置50。例如图3中所示系统示出移动电话网络11并且示出因特网28的表示。与因特网28的连通可以包括但不限于远程无线连接、近程无线连接和各种有线连接,这些有线连接包括但不限于电话线路、线缆线路、功率线路和相似通信途径。
系统10中所示示例通信设备可以包括但不限于电子设备或者装置50、个人数字助理(PDA)和移动电话14的组合、PDA16、集成消息接发设备(IMD)18、桌面型计算机20、笔记本计算机22。装置50可以静止或者在由移动的个人携带时可移动。装置50也可以位于运输模式中,该运输模式包括但不限于小汽车、卡车、出租车、公共汽车、火车、船只、飞机、自行车、摩托车或者任何相似的适当运输模式。
一些或者更多装置可以发送和接收呼叫和消息并且通过与基站24的无线连接25与服务提供商通信。基站24可以连接到网络服务器26,该网络服务器允许在移动电话网络11与因特网28之间的通信。系统可以包括附加通信设备和各种类型的通信设备。
通信设备可以使用各种传输技术来通信,这些传输技术包括但不限于码分多址(CDMA)、全球移动通信系统(GSM)、通用移动电信系统(UMTS)、时分多址(TDMA)、频分多址(FDMA)、传输控制协议-网际协议(TCP-IP)、短消息接发服务(SMS)、多媒体消息接发服务(MMS)、电子邮件、即时消息接发服务(IMS)、蓝牙、IEEE802.11和任何相似无线通信技术。参与实施本发明的各种实施例的通信设备可以使用各种介质来通信,这些介质包括但不限于无线电、红外、激光、线缆连接和任何适当连接。
图4a和4b示出根据一个示例实施例的用于视频编码和解码的框图。
图4a示出编码器为包括像素预测器302、预测误差编码器303和预测误差解码器304。图4a也示出像素预测器302的一个实施例为包括帧间预测器306、帧内预测器308、模式选择器310、滤波器316和参考帧存储器318。在这一实施例中,模式选择器310包括块处理器381和成本评估器382。编码器还可以包括用于对比特流进行熵编码的熵编码器330。
图4b描绘帧间预测器306的一个实施例。帧间预测器306包括用于选择一个或者多个参考帧的参考帧选择器360、运动矢量定义器361、预测列表形成器363和运动矢量选择器364。这些单元或者它们中的一些单元可以是预测处理器362的部分或者可以通过使用其它装置来实施它们。
像素预测器302接收将在帧间预测器306(该帧间预测器确定在图像与运动补偿的参考帧318之间的差值)和帧内预测器308(该帧内预测器仅基于当前帧或者图片的已经处理的部分确定用于图像块的预测)二者编码的图像300。向模式选择器310传递帧间预测器和帧内预测器二者的输出。帧间预测器306和帧内预测器308二者可以具有多于一个帧内预测模式。因此,可以对于每个模式执行帧间预测和帧内预测并且向模式选择器310提供预测的信号。模式选择器310也接收图片300的副本。
模式选择器310确定使用哪个编码模式对当前块进行编码。如果模式选择器310判定使用帧间预测模式,则它将向模式选择器310的输出传递帧间预测器306的输出。如果模式选择器310判定使用帧内预测模式,则它将向模式选择器310的输出传递帧内预测器模式之一的输出。
模式选择器310可以在成本评估器块382中例如使用拉格朗日成本函数以通常在块基础上在译码模式及其参数值之间选择,该参数值比如运动矢量、参考索引和帧内预测方向。这一种类的成本函数使用加权因子λ以将由于有损译码方法所致的(确切或者估计的)图像失真与为了表示在图像区域中的像素值而需要的(确切或者估计的)信息量连结在一起:C=D+λR,其中C是待最小化的拉格朗日成本,D是在考虑模式及其参数时的图像失真(例如均方误差),并且R是为了表示所需数据以在解码器中重构图像块而需要的位数(例如包括用于表示候选运动矢量的数据量)。
向第一求和设备321传递模式选择器的输出。第一求和设备可以从图像300减去像素预测器302的输出以产生向预测误差编码器303输入的第一预测误差信号320。
像素预测302还从初步重构器339接收图像块312的预测表示和预测误差解码器304的输出338的组合。可以向帧内预测器308和向滤波器316传递初步重构的图像314。接收初步表示的滤波器316可以对初步表示进行滤波并且输出可以在参考帧存储器318中保存的最终重构的图像340。参考帧存储器318可以连接到帧间预测器306以用作另外的图片300在帧间预测操作中与之比较的参考图片。在许多实施例中,参考帧存储器318可以能够存储多于一个解码的图片,并且它们中的一个或者多个解码的图片可以由帧间预测器306用作另外的图片300在帧间预测操作中与之比较的参考图片。参考帧存储器318可以在一些情况下也称为解码的图片缓冲器。
像素预测器302的操作可以被配置用于执行本领域已知的任何已知像素预测算法。
像素预测器302也可以包括用于在从像素预测器302输出预测的值之前对它们进行滤波。
下文将进一步具体描述预测误差编码器302和预测误差解码器304的操作。在下文中,编码器按照将要形成全图像或者图片的16x16像素宏块生成图像。然而指出图4a不限于块大小16x16,但是一般可以使用任何块大小和形状,并且类似地,图4a不限于将图片分割成宏块,但是可以使用任何其它将图片分割成块、比如译码单元。因此,对于以下示例,像素预测器302输出大小为16x16个像素的系列预测的宏块,并且第一求和设备321输出系列16x16像素残差数据宏块,这些残差数据宏块可以表示在图像300中的第一宏块与预测的宏块(像素预测器302的输出)之间的差值。
预测误差编码器303包括变换块342和量化器344。变换块342将第一预测误差信号320变换到变换域。变换例如是DCT变换或者其它的变体。量化器344量化变换域信号、例如DCT系数以形成量化的系数。
预测误差解码器304从预测误差编码器303接收输出并且产生解码的预测误差信号338,该解码的预测误差信号338在第二求和设备339与图像块312的预测表示组合时产生初步重构的图像314。可以认为预测误差解码器包括去量化器346和逆变换块348,该去量化器将量化的系数值、例如DCT系数去量化以近似地重构变换信号,该逆变换块348对重构的变换信号执行逆变换,其中逆变换块348的输出包含重构的块。预测误差解码器也可以包括可以根据进一步解码的信息和滤波器参数对重构的宏块进行滤波的宏块滤波器(未示出)。
在下文中,将更具体描述帧间预测器306的一个示例实施例的操作。帧间预测器306接收用于帧间预测的当前块。假设对于当前块,已经存在已经编码的一个或者多个邻近块,并且已经为它们定义运动矢量。例如在当前块的左侧上的块和/或以上的块可以是这样的块。可以例如通过使用在相同切片或者帧中的编码的邻近块和/或非邻居块的运动矢量、使用空间运动矢量预测的线性或者非线性函数、使用各种运动矢量与线性或者非线性运算的组合或者通过未利用时间参考信息的任何其它适当手段来形成用于当前块的空间运动矢量预测。也可以有可能通过组合一个或者多个编码的块的空间和时间预测信息二者来获得运动矢量预测。这些种类的运动矢量预测器也可以称为空间-时间运动矢量预测器。
可以向参考帧缓冲器存储在编码中使用的参考帧。可以在参考图片列表中的一个或者多个参考图片列表中包括每个参考帧,在参考图片列表内,每个条目具有标识参考帧的参考索引。在参考帧不再用作参考帧时,它可以从参考帧存储器被去除或者被标记为“未用于参考”或者非参考帧,其中该参考帧的存储位置可以被占用用于新参考帧。
参考图片标记可以基于在参考图片列表中的任何参考图片列表、例如参考图片列表0、参考图片列表1和空闲参考图片列表中存在图片。可以标记未在这些列表中的任何列表中存在的图片为“未用于参考”。可以在编码、传输和解码中无需解码的参考图片标记语法,这可以简化译码过程并且也减少对于信号发送的需要、由此可能增加译码效率。
图5图示根据一个示例实施例的在解码器中的参考图片处理。
作为先前图片的解码结果,在具有等于X6的POC的译码的图片的解码过程530将要开始时,有标记为“用于参考”的五个解码的参考图片510。五个解码的参考图片510分别具有等于X1、X2、X3、X4和X5的POC值。
具有等于X6的POC的译码的图片包含用于参考图片列表0、参考图片列表1和空闲参考图片列表的参考图片列表描述语法结构520。这些语法结构520包括将在相应参考图片列表中包括的POC值。更具体而言,语法结构指示在参考图片列表0中包括按照该指示的顺序具有等于X1和X3的POC值的解码的参考图片、在参考图片列表1中包括具有等于X2的POC值的解码的参考图片并且在空闲参考图片列表中包括具有等于X5的POC值的解码的参考图片。
用于具有等于X6的POC的译码的图片的解码过程530包括统一的参考图片列表构造和参考图片标记过程。从参考图片列表语法结构构造参考图片列表(由向内虚线箭头所示)。在三个列表中的任何列表(参考图片列表0、参考图片列表1或者空闲参考图片列表)中的参考图片被标记为“用于参考”(由向外虚线箭头所示)、因此也可用作用于对后续译码的图片进行解码的参考图片。未在三个列表之一中的参考图片、即在这一情况下具有等于X4的POC的参考图片被标记为“未用于参考”、因此未用作用于对任何后续译码的图片进行解码的参考图片。如果图片被标记为“未用于参考”并且已经从解码器被输出,则它可以从存储器空间被去除或者它可以被重用于另一解码的图片。
用于具有等于X6的POC的译码的图片的译码过程使用参考图片列表0和1,并且可以使用在这两个列表中的任何解码的参考图片。具有等于X6的POC的译码的图片的解码过程未使用在空闲参考图片列表中或者被标记为“未用于参考”的解码的参考图片,这二者在图5中是灰影线图示的。
在这一示例中,具有等于X6的POC的译码的图片是参考图片(即nal_ref_idc大于0)。因此,具有等于X6的POC的解码的参考图片被标记为“用于参考”并且可用于对后续译码的图片进行解码。
解码过程然后以与用于具有等于X6的POC的译码的图片的解码过程530相似的方式对于后续图片、即具有等于X7的POC的译码的图片550继续560。
可以通过参考图片列表描述语法结构指定参考图片列表。一个参考图片列表描述结构可以对于在参考图片列表ref_pic_lists()语法结构中的每个参考图片列表存在。ref_pic_lists()语法结构可以例如在图片参数集(PPS)中或者在分片头部中驻留。可以省略参考图片列表初始化过程、由此提供简单性和译码效率。也可以去除参考图片列表修改语法结构和用于参考图片列表修改语法结构的解码过程以便通过统一的列表管理和参考图片标记过程提供简单性。
取代无序参考图片列表,可以提供有序参考图片列表(0、1和空闲)。利用这一布置,参考图片列表初始化修改可能变成不必要,并且可以避免对应编码和解码过程以及语法元素。
注意即使在空闲参考图片列表中的参考图片具有由参考图片列表描述语法结构确定的指定的顺序,仍然未总是有编码器应当按照哪个顺序列举参考图片列表的具体要求。在某种意义上,空闲参考图片列表可以经常视为有序列表或者集合。
一般而言,解码器可能出于两个原因而未接收译码的图片,该译码的图片已经是编码的比特流的部分:已经在传输期间或者在存储介质中意外地丢失译码的图片、或者已经有意地去除译码的图片以例如调整比特率或者解码复杂性或者提供特殊功能、比如快进播放。解码器对遗漏的译码的图片的响应经常应当基于图片丢失为意外或者有意的事实而不同。例如,如果图片丢失为意外,则解码器可以隐藏丢失的图片、请求重传丢失的图片或者通知远端编码器不使用丢失的图片作为用于后续译码的图片的参考图片。对照而言,如果图片丢失为有意,则解码器通常应当仅继续解码。为了在意外与有意遗漏的译码的图片之间区分,未排序的参考图片列表应当也包含每个参考图片的附加信息、比如参考图片的temporal_id或者参考图片是否用作用于待解码的当前图片的参考这样的信息。然后,如果无需参考图片列表包括参考图片,该参考图片例如通过具有低于当前图片的temporal_id值的temporal_id值来被指示为用于待解码的当前图片的潜在参考图片,并且该参考图片尚未被解码,则可以推断已经意外丢失参考图片。与在无需参考图片列表和后续参考图片列表初始化中不同,可以无需为参考图片给定时间标识temporal_id或者参考图片是否用作用于待解码的当前图片的参考,因为例如通过POC值显式地指定参考图片列表。因此,如果显式地指定的参考图片列表包含尚未解码的参考图片,则可以推断已经意外丢失参考图片。
在图片参数集PPS中包括参考图片列表ref_pic_lists()语法结构可以例如有益于普通图片组GOP和/或预测结构。换热言之,描述的参考图片标记和/或参考图片列表处理结构可以被形成为可以用于多于一个图片分片和/或用于多于一个图片的图片参数集或者另一结构中,并且在该图片参数集或者另一结构中被传输。在图片组(GOP)的结构保持相同或者实质上相同的情况下,参考图片列表描述(标记和列表管理)可以对于多个分片、多个图片并且甚至对于多个图片组(GOP)保持实质上相同。取代PPS或者除了PPS之外,还可以在其它类型的参数集、比如序列参数集SPS或者自适应参数集APS中包括参考图片列表ref_pic_lists()语法结构。
如果ref_pic_lists()语法结构在活跃或者生效的多级语法结构中、比如在PPS和分片头部二者中存在,则可以有语法结构的哪一级或者多级语法结构生效并且在解码器中被使用的具体规则。例如可以指定在图片头部中的ref_pic_lists()(如果存在)覆写在APS中的ref_pic_lists()(如果存在)。在一些实施例中,在译码结构分级的一级中的ref_pic_lists()语法元素可以仅包括参考图片列表中的一些参考图片列表,在该情况下可以有从哪个语法结构集成其它参考图片列表的具体规则。例如可以指定可以从在活跃PPS的ref_pic_lists()中的相应参考图片列表继承在分片头部的ref_pic_lists()中的如果有的任何遗漏参考图片列表。
可以向语法添加空闲参考图片列表,从而空闲参考图片列表可以在编码器用来向解码器传达空闲参考图片的信息。空闲参考图片列表可以包含在当前图片中未用于参考、但是可以在按照解码顺序的后续图片中用于参考的参考图片。换而言之,空闲参考图片列表可以用作如下结构,参考图片被放入该结构中用于以后使用,因为它们可能尚未被标记为“未用于参考”。在与比较在参考图片列表0和1中的至少一个参考图片列表中包括标记为“用于参考”的所有图片时,向另一列表、比如空闲参考图片列表中放入参考图片中的一些参考图片可以例如提高用于当前图片的译码效率,因为仅用作用于当前图片的参考的图片在活跃参考图片列表、例如列表0和列表1上。空闲参考图片列表概念可以与传统参考图片列表管理和标记过程和/或与这里描述的统一参考图片列表管理和标记过程使用。
在一些实施例中,参考图片列表0和列表1可以包含被至少未用于当前分片的参考的参考图片。例如超出num_ref_idx_10_active_minus1的参考索引可以未用于当前分片的参考。可以指定标记在参考图片列表0和1中的这样的未参考的参考图片为“用于参考”。备选地,可以指定如果仅在列表0或者列表1中、但是未在空闲参考图片列表中包括参考图片作为未参考的参考图片、或者在列表0或者列表1中作为参考的参考图片,则标记它为“未用于参考”。备选地,在两个以上提到的标记规则之间的希望的标记规则或者任何其它确定性的标记规则可以由编码器控制并且在比特流中例如在后续参数集SPS语法中被指示。如果在编码中消耗更少位,则可以比在空闲参考图片列表中包括参考图片优选在列表0或者列表1中包括它作为未参考的参考图片。
在一些实施例中,如果参考图片列表0和1已经包含最大数目的唯一参考图片,则编码器可以省略向比特流中包括用于空闲参考图片列表的参考图片列表描述。换而言之,可以使空闲参考图片列表描述的存在以参考图片列表0和列表1是否包含少于最大数量的唯一参考图片为条件。
在一些实施例中,可以避免形成结构和传输空闲参考图片列表,或者可以可选地发送它。在这一情况下,解码器从先前解码的图片继承标记为“用于参考”或者“未用于参考”的参考图片。如果参考图片数目等于(或者大于)如在活跃序列参数集SPS中和/或由使用的译码简档和级别确定的参考图片最大数目并且当前图片是参考图片,则选择被标记为“用于参考”的参考图片被标记为“未用于参考”。出于这一目的(即如果需要在空闲参考图片列表中的一个或者多个新时隙),则可以有如下规则,根据该规则标记参考图片为“未用于参考”。这样的规则或者算法可以在解码器中固有地存在,或者可以用规则标识符从编码器向解码器传达它。例如在参考图片列表(例如参考图片列表0、参考图片列表1和空闲参考图片列表)中的任何参考图片列表中的参考图片先被省略考虑,然后选择在其余参考图片之中按照解码顺序为第一的参考图片被标记为“未用于参考”。因而,仅如果未在其它参考图片列表中包括它,如果标记它为“未用于参考”而未在空闲参考图片列表中包括它,并且如果编码器想要保持它标记为“用于参考”,则要求在空闲参考图片列表语法结构中包括它。因而,可以无需向解码器发送空闲参考图片列表或者可以更低频率发送它或者它可以包含更少图片。也可以延迟检测图片丢失直至下一图片,该下一图片具有等于或者高于丢失的图片的时间标识(例如temporal_id),因为仅那些图片可以在帧间预测过程中参考丢失的图片、因此在参考图片列表0或者列表1中具有丢失的图片。
在一些实施例中,用于从空闲参考图片列表选择将被标记为“未用于参考”的图片的算法可以在比特流中例如在序列参数集SPS语法中由编码器指示。例如一个指示或者语法元素值可以指示标记未在参考图片列表0、参考图片列表1或者空闲参考图片列表中的任何图片为“未用于参考”。另一指示或者语法元素值可以指示空闲参考图片列表的传输是可选的并且选择将被标记为“未用于参考”的参考图片为在未在任何参考图片列表中包括的那些参考图片中最早(按照解码顺序)。
在一些实施例中,在空闲参考图片列表中为后续图片默认添加新解码的参考图片(例如在HEVC中具有大于0的nal_ref_idx的图片)。在一些实施例中,用于选择将在空闲参考图片列表中包括的图片的算法可以在比特流中例如在SPS语法中由编码器指示。例如可以在SPS中指示嵌套的时间可缩放性在使用中,因此在等于TID的temporal_id的图片未使用具有相同或者更高temporal_id的任何图片作为参考。因而,可以在SPS中指示仅如果图片具有低于比特流的最大temporal_id的temporal_id则在空闲参考图片列表中包括它。
可以在参考图片列表描述中用图片序列号(POC)标识参考图片。可以在分片头部中用语法元素指示当前图片的POC。在一些实施例中,用于POC的一个编码模式可以例如用来减少实施选项,而在其它实施例中,可以运行用于对POC进行译码的多于一种方法,例如如在H.264/AVC中指定的三个选项可以用来提高译码效率。因此可以从语法去除与其它POC类型有关的语法元素,并且可以简化译码。可以从例如来自H.264/AVC编码解码器的现有过程适配POC解码过程、与POC有关的方程(例如POC差值)和在假设参考解码器HRD中的图片输出。
在一些实施例中,可以在参考图片列表描述中用除了图片序列号(POC)之外的另一或者附加图片标识符标识参考图片。例如一些实施例可以使用frame_num。一些实施例可以将POC和视图标识符的组合用于多视图视频译码。
可以在处理和传输中去除和避免在语法中的与帧编号有关的一些元素、比如帧编号frame_num和允许的帧编号间隙gaps_in_frame_num_allowed语法元素,因为它们可能不再是图片序列号(POC)解码或者解码的参考图片标记所需要的。
例如可以在当前图片具有与参考图片中的许多或者多数参考图片不同的图片序列号最高有效位(POC MSB)值时在开销方面优化参考图片列表描述语法结构。这可以例如通过在参考图片列表描述中使用增量或者差分信号发送来实现,从而相对于基本图片序列号(POC)值标识参考图片,并且仅需发送差值。这一布置可以允许也例如在图片参数集(PPS)中灵活放置参考图片列表描述。
参考图片列表描述语法结构可以为了压缩效率以及为了实现在图片参数集PPS中包括结构而使用图片序列号值(POC)的差分译码。另外,可以在指定的粒度对POC差值进行译码,并且可以在序列参数集SPS中提供在每个时间标识temporal_id的粒度。在某个temporal_id值为连续图片指定POC值的粒度或者恒定间隔可以在使用恒定GOP结构时是可能的并且可以提高压缩效率。另外,如果在单个参考图片列表描述语法结构中的所有POC差值具有相同符号,则可以用标志等控制它。例如可以指定用于参考图片列表0的POC差值与当前POC比较为负、即在参考图片列表0中的参考图片的POC字小于当前图片的POC值。最后可以在两个部分中对差分POC进行译码,其中第一部分被固定长度译码并且第二部分被可变长度译码以便实现压缩改进。固定长度译码的部分可以被译码为无符号整数,并且固定长度译码的部分的长度或者位数可以由在序列参数集SPS中的参数控制。例如固定长度部分的长度可以由在序列参数集SPS中的poc_granularity_minus1语法元素控制。固定长度译码的部分的长度或者位数也确定用于一个POC周期的POC差值。可变长度译码的部分可以指示在当前图片的POC与在描述的参考图片列表中的图片的POC之间的POC周期数目。换而言之,可以从按照差分“短期”固定长度的POC差值获得的POC值添加/减去可变长度译码的POC周期来处理“长期”图片。可变长度部分可以可选地存在,并且如果可变长度部分对于图片不存在,则该图片的POC周期与用于当前图片的POC周期相同。
在一些实施例中,编码器可以通过选择用于图片的POC值和选择POC周期的大小来控制指派图片作为长期参考图片(或者标记为“用于长期参考”的图片)。可以确定在参考图片列表0或者列表1中包括的并且在与当前图片相同的POC周期中的参考图片为短期参考图片(或者标记为“用于短期参考”的图片),而确定在列表0和列表1中的其余参考图片(在与当前图片不同的POC周期中)为长期参考图片(或者标记为“用于长期参考”的图片)。在编码器中并且也在解码器中基于在比特流中包括的参考图片列表描述执行相同标记。标记为“用于长期参考”可以用来与在H.264/AVC中完成的控制相似地例如控制例如在时间直接模式中的时间运动矢量预测中的运动矢量缩放或者在隐式加权的预测模式中的预测权值。在一些实施例中,可以例如在参考图片列表描述语法元素中包括用于标记图片为长期参考图片的具体指示、比如标志。
图6a示出根据示例实施例的用于处理参考图片的方法的流程图。
在编码器处,并且为了生成视频译码信号,在阶段600提供将用作参考的图片的指示。这一指示可以包括向参考图片列表之一(用于当前图片的列表0和列表1或者用于其它图片的空闲列表)插入参考图片。可以无需在信号中的分离标记语法或者元素,因为在列表上存在图片可以足以让它未被太早丢弃。
在可以在阶段600之前或者之后或者同时发生的阶段610,可以提供用于形成参考图片列表的指令。指令可以包括例如指定一个或者多个有序或者无序参考图片列表的数据。换而言之,例如用图片序列号POC标识符标识将放入列表中的图片。
在可以在先前描述的阶段之前或者之后或者同时发生的阶段620,在单个语法中提供指示和指令。这可以例如通过提供将放入一个或者多个列表中的参考图片的有序列表进行解码来发生,其中可以确定其它图片为未在当前或者更晚图片的解码中用作参考。
在解码器处,并且为了对视频译码信号进行解码,在阶段600从比特流对将用作参考的图片的指示进行解码。这一指示可以包括向参考图片列表之一(用于当前图片的列表0和列表1或者用于其它图片的空闲列表)插入参考图片。可以无需在信号中的分离标记语法或者元素,因为在列表上存在图片可以足以让它未被太早丢弃。解码器可以如更早描述的那样将这一指示用于维持参考图片存储器。
在可以在阶段600之前或者之后或者同时发生的阶段610,可以从比特流(通常为与以上描述的比特流相同的比特流)对用于形成参考图片列表的指令进行解码。指令可以包括例如指定一个或者多个有序或者无序参考图片列表的数据。换而言之,例如用图片序列号POC标识符标识将放入列表中的图片。
在可以在先前描述的阶段之前或者之后或者同时发生的阶段620,从单个语法对指示和指令进行解码。这可以例如通过对将放入一个或者多个列表中的参考图片标识符的有序列表进行解码来发生,其中可以确定其它图片为未在当前或者更晚图片的解码中用作参考。
图6b示出根据示例实施例的用于处理参考图片的方法的流程图。
与以上阶段一起或者独立地,在编码器处,或者为了生成视频数据信号,可以处理将用于对除了当前图片之外的图片进行解码的参考图片如下。
在阶段650中,可以标识将用于对除了当前图片之外的其它图片进行解码的至少一个参考图片。在阶段660中,可以形成所谓空闲参考图片列表或者空闲列表。在阶段670中,可以向列表中插入标识的图片,并且可以生成信号,该信号描述空闲列表的结构和内容。通过这一过程,可以无需将用于参考的图片的分离标记,因为在空闲列表上存在图片可以向解码器传达不能丢弃图片,因为它将以后用作用于对除了当前图片之外的其它图片进行解码的参考图片。
与以上阶段一起或者独立地,在解码器或者为了对视频数据信号进行解码,可以处理将用于对除了当前图片之外的图片进行解码的参考图片如下。
在阶段650中,可以标识将用于对除了当前图片之外的其它图片进行解码的至少一个参考图片标识符。在阶段660中,可以从视频数据信号对所谓空闲参考图片列表或者空闲列表进行解码。在阶段670中,可以向列表中插入解码的图片标识符。解码顺序可以变化,也就是说,可以按照不同顺序执行阶段650、660和670。通过这一过程,可以无需将用于参考的图片的分离标记和跟踪,因为在空闲列表上存在图片可以向解码器传达不能丢弃图片,因为它将以后用作用于对除了当前图片之外的其它图片进行解码的参考图片。
图7示出根据一个示例实施例的用于处理参考图片的方法的流程图。
在编码器处,并且为了生成视频译码信号,在阶段700提供图片是否将用作参考的指示。这一指示如果指示参考图片则可以引起向参考图片列表之一(用于当前图片的列表0和列表1或者用于其它图片的空闲列表)插入参考图片。可以无需在信号中的分离标记语法或者元素,因为在列表上存在图片可以足以让它未被太早丢弃。换而言之,阶段700生成用于当前图片的nal_ref_idc,该nal_ref_idc指示当前图片是否为参考图片(nal_ref_idc==1)或者非参考图片(nal_ref_idc==0)。
可以对于每个图片执行块700,而可以对于P和B图片/分片执行阶段710-750。即使ref_pic_lists()语法结构仅需如果它改变(例如差分译码的POC值改变)则被创建,仍然可以分离地为每个P和B图片形成参考图片列表本身。
块700可以在阶段710-760中的任何阶段之前或者之后或者同时发生。当前图片的参考图片标记可以在它的编码或者解码之后发生。
在阶段710,可以向比特流中提供用于形成参考图片列表的指令。指令可以包括例如指定一个或者多个有序或者无需参考图片列表的数据。换而言之,例如用图片序列号POC标识符标识将放入列表中的图片。例如指令可以提供关于用于对当前图片进行解码的两个参考图片列表(列表0和列表1)以及一个空闲参考图片列表这三个参考图片列表的信息。列表可以是有序列表。
在阶段720,可以用差分译码对POC标识符进行编码以提高压缩效率。可以提供译码的粒度和基线POC值,并且可以对与PC基值的差值进行编码,也就是说,可以执行图片序列号POC的差分编码。
在可以在先前描述的阶段之前或者之后或者同时发生的阶段730,在单个语法中对指示和指令进行编码。这可以例如通过对将放入一个或者多个参考图片列表中的参考图片标识符的有序列表进行编码来发生。
与以上阶段一起或者独立地,在编码器或者为了生成视频数据信号,可以处理将用于对除了当前图片之外的其它图片进行解码的参考图片如下。
在阶段740中,可以标识将用于对除了当前图片之外的其它图片进行解码的至少一个参考图片。可以形成所谓空闲参考图片列表或者空闲列表。可以向列表中插入标识的图片,并且可以生成信号,该信号描述空闲列表的结构和内容。通过这一过程,可以无需将用于参考的图片的分离标记,因为图片在空闲列表上存在可以向解码器传达不能丢弃图片,因为它将以后用作用于对除了当前图片之外的其它图片进行解码的参考图片。
在阶段750中,可以在图片参数集PPS中或者在图片头部中提供参考图片列表。在图片参数集PPS中包括参考图片列表ref_pic_lists()语法结构可以例如有益于普通图片组GOP和/或预测结构。换而言之,描述的参考图片标记和/或参考图片列表处理结构可以被形成到可以用于多于一个图片分片和/或用于多于一个图片的图片参数集或者另一结构中并且在该图片参数集或者另一结构中被传输。在图片组(GOP)的结构保持相同或者实质上相同的情况下,参考图片列表描述(标记和列表管理)可以对于多个分片、多个图片并且甚至对于多个图片组(GOP)保持实质上相同。
在阶段760中,使用更早描述的编码器或者另一编码器对视频数据进行编码。这里描述的示例实施例的优点是如果编码结构保持相同,则可以例如由于图片标识符(POC值)的差分编码而无需向解码器重传关于参考图片的信息。
在解码器处,并且为了对视频译码信号进行解码,在阶段700对图片是否将用作参考的指示进行解码。这一指示可以包括向参考图片列表之一(用于当前图片的列表0和列表1或者用于其它图片的空闲列表)插入参考图片。可以无需在信号中的分离标记语法或者元素,因为在列表上存在图片可以足以让它未被太早丢弃。
块700可以在阶段710-760中的任何阶段之前或者同时发生。
在可以在阶段700之前或者之后或者同时发生的阶段710,可以从比特流对用于形成参考图片列表的指令进行解码。指令可以包括例如指定一个或者多个有序或者无需参考图片列表的数据。换而言之,例如用图片序列号POC标识符标识将放入列表中的图片。例如指令可以提供关于用于对当前图片进行解码的两个参考图片列表(列表0和列表1)以及一个空闲参考图片列表这三个参考图片列表的信息。列表可以是有序列表。
在阶段720,可以对差分译码的POC标识符进行解码。可以提供译码的粒度和基线POC值,并且可以对与POC基值的差值进行解码,也就是说,可以执行图片序列号POC的差分解码。
在可以在先前描述的阶段之前或者之后或者同时发生的阶段730,从单个语法对指示和指令进行解码。这可以例如通过对将放入一个或者多个参考图片列表中的参考图片标识符的有序列表进行解码来发生,其中可以确定其它图片为未在当前或者更晚图片的解码中用作参考。
与以上阶段一起或者独立地,在编码器处,或者为了对视频数据信号进行解码,可以处理将用于对除了当前图片之外的图片进行解码的参考图片如下。
在阶段740中,可以通过从比特流解码来标识将用于对除了当前图片之外的其它图片进行解码的至少一个参考图片。可以形成所谓空闲参考图片列表或者空闲列表。可以向列表中插入标识的图片列表,并且可以生成信号,该信号描述空闲列表的结构和内容。通过这一过程,可以无需将用于参考的图片的分离标记,因为在空闲列表上存在图片可以向解码器传达不能丢弃图片,因为它将以后用作用于对除了当前图片之外的其它图片进行解码的参考图片。
在阶段750中(按照参照步骤700-740的任何顺序),可以从图片参数集PPS或者从分片头部对参考图片列表进行解码。
在阶段760中,使用更早描述的解码器或者另一解码器对视频数据进行解码可以从比特流接收新参考图片列表信息。这里描述的示例实施例的优点是如果编码结构保持相同,则可以例如由于图片标识符(POC值)的差分编码而无需在解码器重传或者重新解码关于图片列表的信息。
接着描述实施以上示例实施例的特征的一些示例。在表中,ue(v)指示可变长度编码编码的无符号整数元素,并且例如u(1)指示1位固定长度编码的无符号整数元素,并且u(v)指示固定长度编码的无符号整数元素,其中位数由其它源元素值确定。已经根据示例实施例向语法添加带下划线的元素,并且已经省略划掉的元素。
可以如图表1中所示修改序列参数集语法、编码和解码。可以去除与帧编号有关的语法元素、比如最大帧编号(log2_max_framenum_minus4)和指示在帧编号中允许间隙的标志(gaps_in_frame_num_value_allowed_flag)。为每个时间层给定用于当前图片的参考图片中(poc_granularity_minusl和max_shortterm_poc_diff_minusl)以及用于长期参考图片、即空闲参考图片的图片序列号(poc_granularity_idle_idx和max_poc_diff_idle_minusl)的粒度和最大差值。
表1.序列参数集RBSP语法。
可以如表2中所示修改图片参数集语法、编码和解码。可以修改图片参数集以包括标志,该标志指示在差分模式中对图片序列号进行编码(pps_ref_pic_lists_flag)。如果标志(pps_ref_pic_lists_flag)指示参考图片列表在图片参数集中存在,则插入参考图片列表语法ref_pic_lists()。稍后描述这一语法。
表2.图片参数集RBSP语法。
pic_parameter_set_rbsp(){ 描述符
pic_parameter_set_id ue(v)
seq_parameter_set_id ue(v)
... ...
poc_diff_mode_flag u(1)
pps_ref_pic_lists_flag u(1)
if(pps_ref_pic_lists_flag==1)
ref_pic_lists()
... ...
}
可以如表3中修改分片头部语法、编码和解码。可以修改分片头部以省略帧编号元素(frame_Bum)。如果仅使用一个图片序列号POC类型,则无需标识类型或者在处理中使用它(pic_order_cnt_type),并且可以直接给定图片序列号的最低有效位(pic_order_cnt_lsb)。如果图片参数集包含参考图片列表结构,则在分片头部中无需参考图片列表结构,否则(pps_ref_pic_lists_flag==0),参考图片列表结构ref_pic_lists()存在。可以从分片头部省略参考图片列表修改元素ref_pic_lists_modification()和解码的参考图片标记dec_ref_pic_marking()元素。也在语法中无需它们的确切实施方式并且可以去除对应语法定义。
表3.分片头部语法
可以修改序列参数集RBSP语法如下。
可以去除log2_max_frame_num_minus4,该元素指定在与frame_num有关的推导中使用的变量MaxFrameNum的值。
以下元素可以存在以描述在固定长度译码中用具体粒度和码字长度对图片序列号的编码。
poc_granularity_minusl[i]+1指定具有等于或者小于i的temporal_id的按照输出顺序的任何两个连续图片的POC值间隔应当是j*(poc_granularity_minusl[i]+1),其中j为正整数。(poc_granularity_minusl[i]+1)应当等于k*(poc_granularity_minusl[i+1]+1),其中k为正整数并且i大于0。
max_shortterm_poc_diff_minusl[i]+1指定关于在参考图片列表0和参考图片列表1中的图片的以下约束。令picI为具有等于i的temporal_id的图片并且absPocDiff为以poc_granularity_minusl[i]+1为单位的、picI的POC值与在picI的参考图片列表0和参考图片列表1的POC值的绝对差值。max_shortterm_poc_diff_minusl[i]+1应当对于具有等于i的temporal_id的任何picI大于或者等于absPocDiff的值。
poc_granularity_idle_idx[i]指用于空闲参考图片列表的参考图片列表描述和用于等于i的temporal_id的POC差值粒度。
max_poc_diff_idle_minusl[i]指定最大绝对POC差值,该最大绝对POC差值将固定长度译码用于参考图片列表的参考图片列表描述和用于等于i的temporal_id。
可以去除delta_pic_order_always_zero_flag。
max_num_ref_frames指定可以由解码过程用于在序列中的任何图片的帧间预测的短期和长期参考帧、互补参考字段对、非配对参考字段的最大数目。max_num_ref_frames的值应当在包含0和MaxDpbFrames的范围0至MaxDpbFrames中。
可以去除gaps_in_frame_num_value_allowed_flag。
可以修改图片参数集RBSP语义如下。
等于0的poc_diff_mode_flag指定在用于参考图片列表0和列表1的参考图片列表描述中的所有POC差值具有相同符号。等于1的poc_diff_mode_flag指定为在用于参考图片列表0和列表1的参考图片列表描述中的每个POC差值指示符号。
等于0的pps_ref_pic_lists_flag指示在分片头部中包括ref_pic_lists()语法结构。等于1的pps_ref_pic_lists_flag指示在图片参数中包括而未在分片头部中包括ref_pic_lists()语法结构。
可以修改分片头部语义如下。
等于1的lightweight_slice_flag指定推断不存在的分片语法元素的值等于在继续分片中的分片头部语法元素的值,其中定义继续分片为包含具有位置(LCUAddress-1)的树块的分片。lightweight_slice_flag在LCUAddress等于0时应当等于0。
slice_type指定根据表4指定分片的译码类型。
表4-名称与slice_type的关联
slice_type slice_type的名称
0 P(P slice)
1 B(B slice)
2 I(I slice)
在nal_unit_type等于5(IDR图片)时,slice_type应当等于2。
当max_num_ref_frames等于0,slice_type应当等于2。
pic_parameter_set_id指定在使用中的图片参数集。pic_parameter_set_id的值应当在包括0和255的范围0至255中。
可以去除与帧编号标识符有关的元素、比如frame_num以及对应过程和变量、比如PrevRefFrameNum。
idr_pic_id标识IDR图片。在IDR图片的所有分片中的idr_pic_id的值应当保持不变。在按照解码顺序的两个连续访问单元均为IDR访问单元时,在第一这样的IDR访问单元的分片中的idr_pic_id值应当不同于在第二这样的IDR访问单元中的idr_pic_id。idr_pic_id的值应当在包括0和65535的范围0至65535中。
pic_order_cnt_lsb指定以用于译码的帧的MaxPicOrderCntLsb为模的图片序列号。pic_order_cnt_lsb语法元素的长度为log2_max_pic_order_cnt_lsb_minus4+4位。pic_order_cnt_lsb的值应当在包括0和MaxPicOrderCntLsb-1的范围0至MaxPicOrderCntLsb-1中。
等于1的num_ref_idx_active_override_flag指定语法元素num_ref_idx_l0_active_minusl对于P和B分片存在并且语法元素num_ref_idx_l1_active_minusl对于B分片存在。等于0的num_ref_idx_active_override_flag指定语法元素num_ref_idx_l0_active_minusl和num_ref_idx_l1_active_minusl不存在。
在当前分片为P和B分片并且field_pic_flag等于0并且在图片参数集中的num_ref_idx_l0_defult_active_minusl超过15时,num_ref_idx_active_override_flag应当等于1.
在当前分片为B分片并且field_pic_flag等于0并且在图片参数集中的num_ref_idx_l1_defult_active_minusl超过15时,num_ref_idx_active_override_flag应当等于1.
num_ref_idx_l0_active_minusl指定用于应当用来对分片进行解码的参考图片列表0的最大参考索引。在当前分片为P或者B分片并且num_ref_idx_l0_active_minusl不存在时,应当推断num_ref_idx_l0_active_minusl等于num_ref_idx_l0_defult_active_minusl。
num_ref_idx_l1_active_minusl指定用于应当用来对分片进行解码的参考图片列表1的最大参考索引。在当前分片为B分片并且num_ref_idx_l1_active_minusl不存在时,应当推断num_ref_idx_l1_active_minusl等于num_ref_idx_l1_defult_active_minusl。
可以去除参考图片列表修改语义,因为如果根据示例实施例使用参考图片列表语义,则无需参考图片列表修改。
相似地,可以去除解码的参考图片标记语义,因为如果根据示例实施例使用参考图片列表语义,则无需参考图片标记。
可以添加参考图片列表描述语法如下。
可以添加参考图片列表描述语义如下。
poc_diff_sign[i]指定在参考图片列表描述过程中使用的POC差值的符号。
poc_diff_param[i]指定在参考图片列表描述过程中使用的绝对POC差值。poc_diff_param[i]由Ceil(Log2(maxPocDiff))位表示。
定义函数Ceil(x)以返回大于或者等于x的最小整数。定义函数Log2(x)以返回x的以2为底的对数。
num_longterm_pics指定在参考图片列表中的被标记为“用于长期参考”的参考图片的数目。
abs_diff_ref_pic_idx指定与参考索引预测值比较的绝对差值。
abs_diff_poc_cycle_minusl指定在参考图片列表描述过程中使用的绝对POC差值。
可以添加参考图片列表语法如下。
可以添加参考图片列表语义如下。
语法结构可以包含上至三个参考图片列表描述语法结构,其中第一参考图片列表描述语法结构用于初始参考图片列表0并且对于P和B分片存在,第二参考图片列表描述语法结构用于初始参考图片列表1并且对于B分片存在,并且第三参考图片列表描述语法结构用于空闲参考图片列表并且如果num_ref_pics_idle大于0则存在。
num_ref_pics_10_minusl+1指定在用于参考图片列表描述过程的参考图片列表0中的参考图片数目。
num_ref_pics_11_minusl+1指定在用于参考图片列表描述过程的参考图片列表1中的参考图片数目。
等于1的ref_pic_list_copy_flag指定初始参考图片列表0被附加用于初始参考图片列表1的在参考图片列表描述中的参考图片,并且初始参考图片列表1被附加用于初始参考图片列表0的在参考图片列表描述中的参考图片
num_ref_pics_idle指定在空闲参考图片列表中的参考图片数目。
poc_diff_mode_idle指定是否为在参考图片列表描述过程中的空闲参考图片列表提供有符号或者无符号差值。
参考图片列表组合语义可以如下。
等于1的ref_pic_list_combination_flag指示组合参考图片列表0和参考图片列表1为用于单向预测的预测单元的附加参考图片列表组合。等于0的这一标志指示参考图片列表0和参考图片列表1相同,因此参考图片列表0用作参考图片列表组合。在这一表格中定义的循环开始时设置参考图片列表组合为空。
num_ref_idx lc_active_minusl+l指定从在参考图片列表组合中的参考图片列表0或者参考图片列表1选择的参考图片数目。
等于1的ref_pic_list_modification_flag_lc指定用于指定用于参考图片列表组合的条目到参考图片列表0和参考图片列表1的条目的映射的语法元素pic_from_list_0_flag和ref_idx_list_curr存在。
等于0的ref_pic_list_modification_flag_lc指定这些语法元素不存在。初始化参考图片列表组合。
pic_from_list_0_flag指示向参考图片列表组合中添加的当前参考图片来自参考图片列表0或者参考图片列表1。在这一标志等于1时,图片来自参考图片列表0,并且CurrRefPicList为参考图片列表0;在这一标志等于0时,图片来自参考图片列表1,并且CurrRefPicList为参考图片列表1;
ref_idx_list_curr指示将在参考图片列表组合的末尾附加的图片在CurrRefPicList中的参考索引。
可以简化用于图片序列号(POC)的解码过程如下。
例如可以去除用于字段标识的TopFieldOrderCnt和用于场标识的BottomFieldOrderCnt,并且简化的过程对应地包括仅一个图片序列号。例如可以使用仅一个图片序列号类型。
这一过程的输出是PicOrderCnt。
图片序列号用来确定用于在对B分片进行解码时用于参考图片的初始图片排序、用来确定用于在时间或者空间直接模式中推导运动参数、用于在B分片中的隐式模式加权的预测和用于解码器顺应性校验的共同位置的图片。
为每帧推导图片序列号信息PicOrderCnt。PicOrderCnt指示对应帧相对于先前IDR图片的图片顺序。
比特流不应包含如下数据,该数据产生在如以下指定的解码过程中使用的超过包括–231和231–1的从–231至231–1的值范围的PicOrderCnt或者PicOrderCntMsb值。
指定函数PicOrderCnt(picX)如下:
PicOrderCnt(picX)=帧picX的PicOrderCnt
然后指定DiffPicOrderCnt(picA,picB)如下:
DiffPicOrderCnt(picA,picB)=PicOrderCnt(picA)–PicOrderCnt(picB)
比特流不应包含如下数据,该数据产生在解码过程中使用的超过包括–215和215–1的范围–215至215–1的DiffPicOrderCnt(picA,picB)值。
推导变量prevPicOrderCntMsb和prevPicOrderCntLsb如下。
–如果当前图片是IDR图片,则prevPicOrderCntMsb被设置等于0,并且prevPicOrderCntLsb被设置等于0。
–否则(当前图片不是IDR图片),则prevPicOrderCntMsb被设置等于按照解码顺序的先前参考图片的PicOrderCntMsb,并且prevPicOrderCntLsb被设置等于按照解码顺序的先前参考图片的pic_order_cnt_lsb的值。
如以下伪代码指定的那样推导当前图片的PicOrderCntMsb:
推导PicOrderCnt如下:
PicOrderCnt=PicOrderCntMsb+pic_order_cnt_lsb。
在一些实施例中,可以在分片头部中通过除了使用如以上呈现的pic_order_cnt_lsb之外的其它手段对POC进行译码。例如可以使用在H.264/AVC中指定的任何其它POC类型,并且可以存在相应语法元素。
在一些实施例中,可以在分片头部中对POC进行译码如下而不是使用pic_order_cnt_lsb或者在H.264/AVC中的任何其它POC类型。分片头部可以包括语法元素poc_lsb_for_temporal_id,该语法元素为类型u(v)。在poc_lsb_for_temporal_id中的位数使用在等于0的temporal_id的POC周期来确定或者可以由另一(个或者多个)语法元素指示,POC周期这里表示为pocCycleTid0,该POC周期可以与(max_shortterm_poc_diff_minusl[0]+1)*(poc_granularity_minusl[0]+1)相等或者成比例。每POC周期的POC量化步进数目然后对于每个temporal_id由pocStepsPerCycle[i]=pocCycleTid0/(poc_granularity_minusl[i]+1)确定。在poc_lsb_for_temporal_id中的位数然后由Ceil(Log2(pocStepsPerCycle[temporal_id]))确定。
用于统一的参考图片列表构造和参考图片标记的解码过程可以如下。
例如可以省略用于标记用于短期参考和长期参考的图片的过程。例如可以省略参考图片列表修改过程。
在用于每个P、B或者I分片的解码过程开始时调用这一过程。
通过参考索引对参考图片进行寻址。参考索引是进入参考图片列表中的索引。在对P分片进行解码时,有单个参考图片列表RefPicList0。在对B分片进行解码时,除了RefPicList0之外还有第二独立参考图片列表RefPicList1。此外,还有空闲参考图片列表RefPicListIdle,该空闲参考图片列表可以包含未用作用于当前图片的参考、但是可以在按照解码顺序的后续图片中用于参考的零个或者更多参考图片。
在参考图片列表RefPicList0、RefPicList1和RefPicListIdle中的每个参考图片与变量RefPicPoc[lX,refIdx]关联,其中lX是l0、l1或者lIdle之一,并且refIdx是在参考图片列表内的参考索引。以下指定RefPicPoc[lX,refIdx]的推导。
在用于每个分片的解码过程开始时,如例如以下步骤指定的那样推导参考图片列表:
1.RefPicList0、RefPicList1和RefPicListIdle初始地为空。
2.对于P和B分片,通过以参考图片列表RefPicList0和等于(poc_granularity_minusl[temporal_id]+1)的pocGranularity为输入的参考图片列表描述过程初始化RefPicList0。
3.对于B分片,通过以参考图片列表RefPicList1和等于(poc_granularity_minusl[temporal_id]+1)的pocGranularity为输入的参考图片列表描述过程初始化RefPicList1。
4.如果当前分片是B分片并且ref_pic_list_copy_flag等于1,则向tempRefPicList0复制RefPicList0并且向tempRefPicList1复制RefPicList1。然后重置RefPicList0以包含tempRefPicList0和tempRefPicList1的级联,并且重置RefPicList1以包含tempRefPicList1和tempRefPicList0的级联。
5.设置用于空闲参考图片列表的pocGranularity等于poc_granularity_minusl[temporal_id-poc_granularity_idle_idx[temporal_id]]+1。然后通过以RefPicListIdle和推导的pocGranularity为输入的参考图片列表描述过程指定RefPicListIdle。
6.标记未在空闲参考图片列表、参考图片列表RefPicList0和对于B分片为RefPicList1中的任何参考图片列表中的任何图片为“未用于参考”。
7.设置在参考图片列表RefPicList0中的条目数目为num_ref_idx_l0_active_minusl+1,并且对于B分片,设置在参考图片列表RefPicList1中的条目数目为num_ref_idx_l1_active_minusl+1。
参考图片可以在参考图片列表RefPicList0或者RefPicList1中的多于一个索引出现。
参考图片列表描述过程可以如下。
例如可以省略基于图片编号的用于帧编号的解码过程。
向参考图片列表描述过程的输入是ref_pic_list_description()结构、变量numRefPics、pocDiffModeFlag、maxPocDiff和pocGranularity以及参考图片列表refPicListX(RefPicList0、RefPicListl或者RefPicListIdle)。
这一过程的输出是参考图片列表RefPicList0、RefPicListl或者RefPicListIdle。也就是说,用于对当前图片进行解码的两个参考图片列表RefPicList0和RefPicListl以及用于对更晚图片进行解码的空闲参考图片列表RefPicListIdle。
如果参考图片数目numRefPics大于0,则对于循环条目i执行以下步骤:
–指定变量pocDiffSign[i]如下:
–如果poc_diff_sign[i]存在,则设置变量pocDiffSign[i]等于poc_diff_sign[i]。
–否则,如果向这一过程的输入是RefPicList0或者RefPicListldle,则设置pocDiffSign[i]等于0。
–否则(向这一过程的输入是RefPicList1),则设置pocDiffSign[i]等于1。
–如果poc_diff_param[i]存在,则设置变量absPocDiff等于poc_diff_param[i]+1。
否则,设置变量absPocDiff等于1。
–变量refPicPoc[refPicListX,i]由以下伪代码指定:
设置变量currRefIdx等于0。
对于每个循环条目j,执行以下有序步骤:
–currRefIdx+=abs_diff_ref_pic_idx[j]
–变量refPicPoc[refPicListX,currRefIdx]由以下伪代码更新:
–标记具有循环条目currRefIdx的图片为“用于长期参考”。
在RefPicListX中的未被标记为“用于长期参考”的所有图片被标记为“用于短期参考”。
用于在B分片中的参考图片列表的映射过程可以如下。
例如可以省略用于P分片的参考图片列表的初始化过程。
在对B分片头部进行解码时调用这一映射过程。
向这一过程的输入是参考图片列表RefPicListX和num_ref_idx_lX_active_minusl而X为0或者1。也就是说,两个参考图片列表可以用于对B分片进行解码。
这一过程的输出是数组PredLCToPredLx和RefIdxLCToRefIdxLx。
在当前分片是B分片并且ref_pic_list_modification_flag_lc等于0时,以下步骤适用:
1.令refIdxL0和refIdxL1为进入参考图片列表RefPicList0和RefPicList1中的索引。初始地设置它们等于0。
2.令refIdxLC为进入PredLCToPredLx和RefIdxLCToRefIdxLx中的索引。初始地设置它等于0
3.重复以下过程直至refIdxL0和refIdxL1均分别大于num_ref_idx_l0_active_minusl和num_ref_idx_l1_active_minusl:
–如果refIdxL0小于或者等于num_ref_idx_l0_active_minusl,则:
–如果条目RefPicListL0[refIdxL0]是参考图片的第一出现,则:
PredLCToPredLx[RefIdxLC]=Pred_L0,
RefIdxLCToRefIdxLx[refIdxLC++]=RefIdxL0。
–refIdxL0++。
–如果refIdxL1小于或者等于num_ref_idx_l1_active_minusl并且ref_pic_list_combination_flag等于1,则:
–如果条目RefPicListL1[refIdxL1]是参考图片的第一出现,则:
PredLCToPredLx[RefIdxLC]=Pred_L1,
RefIdxLCToRefIdxLx[refIdxLC++]=refIdxL1。
–refIdxL1++。
在当前分片是B分片并且ref_pic_list_modification_flag_lc等于1时,以下步骤适用:
1.令refIdxLC为进入参考图片列表PredLCToPredLx和RefIdxLCToRefIdxLx中的索引。初始地设置它等于0。
2.按照对应语法元素pic_from_list_0_flag和ref_idx_list_curr在比特流中出现的顺序处理它们。对于这些语法元素对中的每个语法元素对,以下各项使用。
–如果pic_from_list_0_flag等于1,
PredLCToPredLx[refIdxLC]=Pred_L0,
–否则,
PredLCToPredLx[refIdxLC]=Pred_L1
–RefIdxLCToRefIdxLx[refIdxLC++]=ref_idx_list_curr
在refIdxLC大于num_com_ref_list_active_minusl+1时,从PredLCToPredLx和RefIdxLCToRefIdxLx丢弃经过位置num_com_ref_list_active_minusl的额外条目。
在refIdxLC小于num_com_ref_list_active_minusl+1时,分别设置在PredLCToPredLx和RefIdxLCToRefIdxLx中的其余条目为Pred_L0和0。
可以省略解码的参考图片标记过程,因为参考图片列表过程已经通过让参考图片在列表上来指示哪些图片将用于参考。
在一些实施例中,可以在ref_pic_lists()语法结构中包括相同类型(参考图片列表0、参考图片列表1、空闲参考图片列表)的多于一个参考图片列表,并且可以用标识符或者参考列表索引标识每个参考图片列表。可以在语法中显式地提供参考列表索引,或者可以使用基于在包含语法结构中的出现顺序的编号规则、比如向特定类型的第一参考图片列表给定参考列表索引0并且按照出现或者比特流顺序对于相同类型的每个参考图片列表将参考列表索引递增1。例如,如果ref_pic_lists()结构在图片参数集PPS中驻留并且通过在分片头部中包括参考列表索引来进行参考图片列表描述的选择,则参考列表索引可以特别有帮助。在一些实施例中,参考图片列表0和参考图片列表1视为相同类型、因此将相同编号空间用于图片列表索引。
例如在各种实施例中,可以添加以下参考图片列表描述语法。
在各种实施例中,可以添加在图片参考集中的用于参考图片列表的以下语法:
在各种实施例中,可以添加在分片头部中的用于参考图片列表的以下语法。
在各种实施例中,可以添加在图片参数集中的用于参考图片列表的以下语义。
语法结构可以包含用于参考图片列表0、参考图片列表1和空闲参考图片列表的参考图片列表描述语法结构。
等于0的poc_diff_mode_flag指定默认符号用于在用于参考图片列表0和1的参考图片列表描述语法中指示的POC差值。等于1的poc_diff_mode_flag指定在参考图片列表描述语法结构中包括用于在用于参考图片列表0和1的参考图片列表描述语法中指示的每个POC差值的符号。
等于1的same_ref_pic_list_idx_flag指示在分片头部中包括如果有的任何参考图片列表索引以标识在这一语法结构中提供的哪个参考图片列表描述结构用来构造如果存在的参考图片列表0和参考图片列表1。等于0的same_ref_pic_list_idx_flag指示在分片头部中包括用于参考图片列表0和参考图片列表1的如果存在的分离参考图片列表索引以标识在这一语法结构中提供的哪个参考图片列表描述结构用来构造如果存在的参考图片列表0和参考图片列表1。
num_l0_lists指示用于参考图片列表0的参考图片列表描述结构数目。
num_ref_pics_l0_minus1+1指定在参考图片列表0中的用于参考图片列表描述过程的参考图片数目。
num_l1_lists指示用于参考图片列表1的参考图片列表描述结构数目。
num_ref_pics_l1_minus1+1指定在参考图片列表1中的用于参考图片列表描述过程的参考图片数目。
等于1的ref_pic_list_copy_flag指定初始参考图片列表0被附加用于初始参考图片列表1的在参考图片列表描述中的参考图片,并且初始参考图片列表1被附加用于初始参考图片列表0的在参考图片列表描述中的参考图片。
num_idle_lists指示用于空闲参考图片列表的参考图片列表描述结构数目。
num_ref_pics_idle指定在空闲参考图片列表中的参考图片数目。
poc_diff_mode_idle指定是否在参考图片列表描述过程中为空闲参考图片列表提供有符号或者无符号差值。
在各种实施例中,可以添加在分片头部中的用于参考图片列表的以下语法。
语法结构可以包含上至三个参考图片列表描述语法结构,其中第一参考图片列表描述语法结构用于初始参考图片列表0并且对于P和B分片存在,第二参考图片列表描述语法结构用于初始参考图片列表1并且对于B分片存在,并且第三参考图片列表描述语法结构用于空闲参考图片列表并且如果num_ref_pics_idle大于0则存在。三个参考图片列表描述语法结构中的任一参考图片列表描述语法结构也可以由在活跃图片参数集中包括的指向参考图片列表描述语法结构的参考图片列表索引指示。
等于0的ref_pic_l0l1_in_pps_flag指示参考图片列表描述语法结构对于参考图片列表0存在,而对于B分片为参考图片列表1存在。等于1的ref_pic_l0l1_in_pps_flag指示为参考图片列表0而对于B分片为参考图片列表1提供参考图片列表索引。
num_ref_pics_l0_minus1+1指定在参考图片列表0中的用于参考图片列表描述过程的参考图片数目。
ref_pic_l0_idx指示在活跃图片参数集中为参考图片列表0指定的用于参考图片列表描述语法结构的参考图片列表索引。
num_ref_pics_l1_minus1+1指定在参考图片列表1中的用于参考图片列表描述过程的参考图片数目。
等于1的ref_pic_list_copy_flag指定初始参考图片列表0被附加用于初始参考图片列表1的在参考图片列表描述中的参考图片并且初始参考图片列表1被附加用于参考图片列表0的在参考图片列表描述中的参考图片。
ref_pic_l1_idx指示在活跃图片参数集中为参考图片列表1指定的用于参考图片列表描述语法结构的参考图片列表索引。如果same_ref_pic_list_idx_flag等于1,则推断ref_pic_l1_idx等于ref_pic_l0_idx。
等于0的idle_ref_pic_list_in_pps_flag指示参考图片列表描述语法结构对于空闲参考图片列表存在。等于1的idle_ref_pic_list_in_pps_flag指示为空闲参考图片列表提供索引。
num_ref_pics_idle指定在空闲参考图片列表中的参考图片数目。
poc_diff_mode_idle指定在参考图片列表描述过程中为空闲参考图片列表提供有符号或者无符号差值。
idle_ref_pic_list_idx指示在活跃参考图片列表中为空闲参考图片列表指定的用于参考图片列表描述语法结构的参考图片列表索引。
在各种实施例中,指定用于参考图片列表描述的解码过程如下。
向这一过程的输入是ref_pic_list_description()结构、变量idx、numRefPics、pocDiffModeFlag、maxPocDiff和pocGranularity以及描述的参考图片列表refPicListX(RefPicList0、RefPicListl或者RefPicListIdle)。
这一过程的输出是具有指定的参考图片列表索引idx的参考图片列表RefPicList0、RefPicListl或者RefPicListIdle。
如果idx为-1,则参考图片列表描述在分片头部中被给定并且对于相应分片的解码有效。如果idx大于或者等于0,则参考图片列表描述在图片参数集中被给定并且在分片头部包含引用它的索引时被解码。
如果numRefPics大于0,则为每个循环条目i执行以下有序步骤:
–指定变量pocDiffSign[i]如下:
–如果poc_diff_sign[i]存在,则设置变量pocDiffSign[i]等于poc_diff_sign[i]。
–否则,如果向这一过程的输入是RefPicList0或者RefPicListldle,则设置pocDiffSign[i]等于0。
–否则(向这一过程的输入是RefPicList1),则设置pocDiffSign[i]等于1。
–如果poc_diff_param[i]存在,则设置变量absPocDiff等于poc_diff_param[i]+1。
否则,设置变量absPocDiff等于1。
–变量refPicPoc[refPicListX,i]由以下伪代码指定:
设置变量currRefIdx等于0。
对于每个循环条目j,执行以下有序步骤:
–currRefIdx+=abs_diff_ref_pic_idx[j]
–变量refPicPoc[refPicListX,currRefIdx]由以下伪代码更新:
–标记具有循环条目currRefIdx的图片为“用于长期参考”。
在RefPicListX中的未被标记为“用于长期参考”的所有图片被标记为“用于短期参考”。
在一些实施例中,可以使用用于在参考图片列表描述中指示图片序列号POC值的不同译码。例如在一些实施例中,序列参数集SPS或者图片参数集PPS可以包括模式或者POC差值列表。在参考图片列表描述中,然后可以给定指向这一列表的索引以指示用于将在描述的参考图片列表中包括的参考图片列表的POC差值。在可以取代或者补充先前示例的另一示例中,相对于POC预测值而不是当前图片的POC完成在参考图片列表描述中的POC值的差分译码。然后可以在用于参考图片列表描述的解码过程开始时先初始化POC预测值为当前图片的POC。然后可以在对每个POC差值进行解码之后更新POC预测值为通过将POC差值和POC预测值求和而产生的解码的POC值。在另一示例中,在图片参数集PPS中的特定参考图片列表描述可以用作在分片头部中的用于参考图片列表描述的POC值的预测符。先从活跃PPS的参考图片列表描述获得用于在参考图片列表中的每个参考索引的POC值预测符。然后将在分片头部中包括的间接POC值差值与POC值预测符求和,并且求和的结果是在参考图片列表列表中包括的参考图片的POC值。推导POC值预测符的多种方式可以是可能的。例如在为参考图片列表中的在参考索引i的参考图片推导POC值时,可以通过将用于参考图片列表描述的解码过程应用于在活跃PPS中包括的参考图片列表描述中的参考索引来获得POC值预测符。推导间接POC值差值的多种方式可以是可能的。例如可以对于参考图片列表给定恒定间接POC值差值。在另一示例中,使用参考图片列表描述语法为每个参考索引对间接POC值差值进行译码。
在一些实施例中,可以用以下语法添加在参考图片列表描述中的图片序列号POC值:
ref_pic_list_description(minRefPics){ 描述符
num_ref_pics_param ue(v)
numRefPics=minRefPics+num_ref_pics_param
if(numRefPics>0){
for(i=O;i>numRefPics;i++)
poc_lsb_param[i] u(v)
num_differing_msb_values ue(v)
for(j=0;j<num_differing_msb_values;j++){
abs_diff_ref_pic_idx ue(v)
abs_diff_poc_msb_minus1 uc(v)
}
}
}
可以添加参考图片列表描述语义如下。
num_ref_pics_param与向参考图片列表描述过程的输入minRefPics一起指定在参考图片列表中的参考图片数目。
poc_lsb_param[i]与temporal_id和poc_granularlty_minus1一起指定POC的LSB值。poc_lsb_param[i]由用于参考图片列表0和参考图片列表1的ceil(Log2(MaxPicOrdercntLsb÷(poc_granularity_minus1[i]+1))))位以及用于空闲参考图片列表的Ceil(Log2(MaxPicOrderCntLsb))位表示。
num_differing_msb_values指定在参考图片列表中的具有与当前图片的用于POC的MSB值不同的用于POC的MSB值的参考图片的数目。
abs_diff_ref_pic_idx指定与参考索引预测比较的绝对差值。
abs_diff_poc_msb_minus1指定POC的MSB与当前图片的POC的MSB值比较的差值。
在各种实施例中,可以添加ref_pic_lists()语法如下。
ref_pic_lists(){ 描述符
if(slice_type%5!=2){
ref_pic_list_description(1)//for10
}
if(slice_type%5==1){
ref_pic_list_description(1)//for11
ref_pic_list_copy_flag u(1)
}
ref_pic_list_description(0)//for idle reference picture list
}
可以添加ref_pic_lists()的语义如下。
语法结构可以包含上至三个参考图片列表描述语法结构,其中第一参考图片列表描述语法结构用于初始参考图片列表0并且对于P和B分片存在,第二参考图片列表描述语法结构用于初始参考图片列表1并且对于B分片存在,并且第三参考图片列表描述语法结构用于空闲参考图片列表并且总是存在。
等于1的ref_pic_list_copy_flag指定初始参考图片列表0被附加用于初始参考图片列表1的在参考图片列表描述中的参考图片并且初始参考图片列表1被附加用于参考图片列表0的在参考图片列表描述中的参考图片。
在各种实施例中的用于参考图片列表构造和参考图片标记的解码过程可以如下。
在参考图片列表RefPicList0、RefPicList1和RefPicListIdle中的每个参考图片与变量RefPicPoc[lX,refIdx]关联,其中lX是10、l1或者lIdle之一,并且refIdx是在参考图片列表内的参考索引。以下指定RefPicPoc[lX,refIdx]的推导。
在用于每个分片的解码过程开始时,如例如以下步骤指定的那样推导参考图片列表:
1.RefPicList0、RefPicList1和RefPicListIdle初始地为空。
2.对于P和B分片,通过以RefPicList0为输入的参考图片列表描述过程初始化RefPicList0。
3.对于B分片,通过以参考图片列表RefPicList1的pocGranularity为输入的参考图片列表描述过程初始化RefPicList1。
4.如果当前分片是B分片并且ref_pic_list_copy_flag等于1,则向tempRefPicList0复制RefPicList0并且向tempRefPicList1复制RefPicList1。然后重置RefPicList0以包含tempRefPicList0和tempRefPicList1的级联,并且重置RefPicList1以包含tempRefPicList1和tempRefPicList0的级联。
5.通过以RefPicListIdle为输入的参考图片列表描述过程指定RefPicListIdle。
在修改的参考图片列表RefPicList0中的条目数目是num_ref_idx_l0_active_minus1+1,并且对于B分片,在修改的参考图片列表RefPicList1中的条目数目为num_ref_idx_l1_active_minusl+1。参考图片可以在修改的参考图片列表RefPicList0或者RefPicList1中的多于一个索引出现。
标记在空闲参考图片列表、参考图片列表RefPicList0和对于B分片为RefPicList1中的至少一个参考图片列表中包括的图片为“未用于参考”。标记未在空闲参考图片列表、参考图片列表RefPicList0和对于B分片为RefPicList1中的任何参考图片列表中的任何图片为“未用于参考”。
参考图片列表描述过程可以如下。
向这一过程的输入是ref_pic_list_description()结构和描述的参考图片列表refPicListX(RefPicList0、RefPicListl或者RefPicListIdle)。
设置变量pocOffset为pic_order_cnt_lsb%(poc_granularity_minusl[temporal_id]+2)。如果输入是RefPicList0或者RefPicList1,则设置变量pocGranularity为poc_granularity_minusl[temporal_id]+1。如果输入是RefPicListIdle,则设置变量pocGranularity为1。
对于每个循环条目i,执行以下有序步骤:
–设置变量pocLsb[i]为pocOffset+poc_lsb_param[i]*pocGranularity
–设置变量pocMsb[i]为PicOrderCntMsb
设置变量currRefIdx等于0。
对于每个循环条目j,执行以下有序步骤:
–currRefIdx+=abs_diff_ref_pic_idx[j]
–设置变量pocMsb[currRefIdx]为PicOrderCntMsb-(abs_diff_poc_msb_minusl+1)*MaxPicOrderCntLsb
对于从0(包括0)至在参考图片列表中的条目数目(未包括条目数目)的每个循环条目k,设置refPicPoc[refPicListX,k]为pocMsb[k]+pocLsb[k]。
在一些实施例中,未在图片参数集语法中包括语法元素num_ref_idx_l0_default_active_minusl和num_ref_idx_l1_default_active_minusl,并且未在分片头部语法中包括语法元素ref_idx_active_override_flag、num_ref_idx_l0_active_minusl和num_ref_idx_l1_active_minusl。在这些实施例中,在参考图片列表语法结构中的解码的列表条目数目可以用来确定活跃参考索引数目。
在一些实施例中,描述的参考图片列表0也可以包括未在用于P分片或者用于B分片的前向方向的帧间预测过程中参考的参考图片。可以例如使用num_ref_idx_l0_default_active_minus1语法元素以限制最终参考图片列表0中的参考图片数目来从列表0排除这样的未参考的参考图片。然而,在列表0中包括这些参考图片以便能够通过仅列举指向列表0的参考索引来描述参考图片列表1。换而言之,取代列举用于列表1中的参考图片的POC值或者POC差值,通过列举参考索引或者与预测值比较的参考索引差值来描述参考图片列表1,其中参考索引或者参考索引差值引用列表1。可以初始化预测值例如为0或者num_ref_idx_l0_default_active_minus1+1(即从列表0排除的第一索引)。可以在对每个参考索引差值进行解码之后更新预测值为分辨的参考索引。在一些实施例中,通过指示在合并列表中包括的参考图片的POC值来描述合并列表,并且通过指向合并列表的参考索引描述参考图片列表0和列表1。
在一些实施例中,用于参考图片列表0的参考图片列表描述可以包括用于每个循环条目的标志,该标志指示是否在列表0中包括标识的参考图片。相似地,用于参考图片列表1的参考图片列表描述可以包括用于每个循环条目的标志,该标志指示是否在列表1中包括标识的参考图片。可以推断在用于参考图片列表0或者1的参考图片列表描述结构之一中标识的、但是未在列表0或者1中包括的参考图片属于空闲参考图片列表。
在一些实施例中,多于两个帧间预测块用于当前块在多假设预测中的的预测。因而,可以有用来指示帧间预测参考的多于两个参考图片列表(例如0、1、2、…),并且ref_pic_lists语法结构可以包括这些参考图片列表中的每个参考图片列表。另外,图片如果它未被包括在ref_pic_lists()语法结构中的参考图片列表中的任何参考图片列表中则被标记为“未用于参考”,并且如果它被包括在ref_pic_lists()语法结构中的至少一个参考图片列表中则可以被标记为“用于参考”。
在一些实施例中,可以至少在一些帧间译码模式中以未在比特流中显式地包括参考索引这样的方式实现运动矢量预测。取而代之,编码器和解码器可以使用相同方法以例如基于在相邻块中选择的参考图片和相应运动矢量向候选列表中选择一对或者多对参考图片(标记为“用于参考”)和相应运动矢量。编码器然后可以选择使用来自候选列表的哪一对并且将指示选择的对的语法元素编码到比特流中。在这些实施例中,无需对参考图片列表0和1进行排序,但是可以与在无需参考图片集合0中的参考图片列表0相似地指示可用于P分片和用于B分片的所谓前向方向预测的参考图片。相似地,编码器可以在比特流中包括参考图片集合1的描述。用于P分片和用于B分片的前向预测的候选列表可以包括如下对,在这些对中,参考图片是在参考图片集合0中的参考图片之中。相似地,用于B分片的向后方向的候选列表可以包括如下对,在这些对中,参考图片是在参考图片集合1中的参考图片之中。可以与其它实施例相似地实现参考图片标记、即标记未在参考图片集合中的参考图片为“未用于参考”并且标记在至少一个参考图片集合中的参考图片为“用于参考”。
在上文中,已经借助比特流的语法描述示例实施例。然而需要理解对应结构和/或计算机程序可以在用于生成比特流的编码器和/或在用于对比特流进行解码的解码器驻留。类似地,在已经参照编码器描述示例实施例时,需要理解所得比特流和解码器在它们中具有对应要素和单元。类似地,在已经借助解码器描述示例实施例时,需要理解编码器具有用于生成将由解码器解码的比特流的结构和/或计算机程序。
可以借助在存储器中驻留并且使相关装置实现本发明的计算机程序代码实施本发明的各种实施例。例如终端设备可以包括用于处理、接收和传输数据、在存储器中的计算机程序代码和处理器的电路装置和电子装置,该处理器在运行计算机程序代码时使终端设备实现一个实施例的特征。进而另外,网络设备可以可以包括用于处理、接收和传输数据、在存储器中的计算机程序代码和处理器的电路装置和电子装置,该处理器在运行计算机程序代码时使网络设备实现一个实施例的特征。
显而易见的是本发明未仅限于以上描述的实施例,但是可以在所附权利要求的范围内修改它。

Claims (16)

1.一种用于视频译码的方法,包括:
在语法元素中提供指示,所述指示指明将在解码中用作参考图片的图片,以及
在所述语法元素中提供指令,所述指令包括参考图片列表结构的参考图片的有序列表,所述参考图片列表将在对当前图片进行解码时被使用;以及
在所述语法元素中提供空闲参考图片列表指令,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片在对所述当前图片进行解码时不被用作参考图片,而是将在对除了所述当前图片之外的另一图片进行解码时用作参考图片。
2.根据权利要求1所述的方法,还包括:
使用诸如图片序列号(POC)的图片标识符的差分译码对所述指令进行译码。
3.根据权利要求1所述的方法,还包括:
提供如下算法的标识,所述算法将用于在能够至少部分地省略对所述空闲参考图片列表的提供或者传输的情况下从所述空闲参考图片列表添加和去除图片。
4.一种用于对视频数据解码的方法,包括:
从比特流解码来自语法元素的指示,所述指示指明将在解码中用作参考图片的图片,
从所述语法元素解码指令,所述指令包括参考图片列表结构的参考图片的有序列表,所述参考图片列表将在对当前图片进行解码时被使用,
解码在所述语法元素中的空闲参考图片列表指令,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片在对所述当前图片进行解码时不被用作参考图片,而是将在对除了所述当前图片之外的另一图片进行解码时用作参考图片;以及
在对视频数据的解码中处理参考图片时使用所述指示和所述指令。
5.根据权利要求4所述的方法,还包括:
使用诸如图片序列号(POC)的图片标识符的差分解码对所述指令进行解码。
6.根据权利要求4所述的方法,包括:
从比特流解码如下算法的标识,所述算法将用于在已经至少部分地省略对所述空闲参考图片的提供或者传输的情况下从所述空闲参考图片列表添加和去除图片。
7.一种用于视频译码的设备,包括处理器、包括计算机程序代码的存储器,所述存储器和所述计算机程序代码被配置为与所述处理器一起使所述设备至少执行以下操作:
在语法元素中提供指示,所述指示指明将在解码中用作参考图片的图片,以及
在所述语法元素中提供指令,所述指令包括参考图片列表结构的参考图片的有序列表,所述参考图片列表将在对当前图片进行解码时被使用;以及
在所述语法元素中提供空闲参考图片列表指令,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片在对所述当前图片进行解码时不被用作参考图片,而是将在对除了所述当前图片之外的另一图片进行解码时用作参考图片。
8.根据权利要求7所述的设备,还包括被配置为与所述处理器一起使所述设备至少执行以下操作的计算机程序代码:
使用诸如图片序列号(POC)的图片标识符的差分译码对所述指令进行译码。
9.根据权利要求7所述的设备,还包括被配置为与所述处理器一起使所述设备至少执行以下操作的计算机程序代码:
提供如下算法的标识,所述算法将用于在能够至少部分地省略对所述空闲参考图片列表的提供或者传输的情况下从所述空闲参考图片列表添加和去除图片。
10.一种用于对视频数据解码的设备,包括处理器、包括计算机程序代码的存储器,所述存储器和所述计算机程序代码被配置为与所述处理器一起使所述设备至少执行以下操作:
从比特流解码来自语法元素的指示,所述指示指明将在解码中用作参考图片的图片,
从所述语法元素解码指令,所述指令包括参考图片列表结构的参考图片的有序列表,所述参考图片列表将在对当前图片进行解码时被使用,
解码在所述语法元素中的空闲参考图片列表指令,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片在对所述当前图片进行解码时不被用作参考图片,而是将在对除了所述当前图片之外的另一图片进行解码时用作参考图片,以及
在对视频数据的解码中处理参考图片时使用所述指示和所述指令。
11.根据权利要求10所述的设备,还包括被配置为与所述处理器一起使所述设备至少执行以下操作的计算机程序代码:
使用诸如图片序列号(POC)的图片标识符的差分解码对所述指令进行解码。
12.根据权利要求10所述的设备,还包括被配置为与所述处理器一起使所述设备至少执行以下操作的计算机程序代码:
从比特流解码如下算法的标识,所述算法将用于在已经至少部分地省略对所述空闲参考图片的提供或者传输的情况下从所述空闲参考图片列表添加和去除图片。
13.一种用于对视频数据编码的设备,包括:
用于在语法元素中提供指示的装置,所述指示指明将在解码中用作参考图片的图片,以及
用于在所述语法元素中提供指令的装置,所述指令包括参考图片列表结构的参考图片的有序列表,所述参考图片列表将在对当前图片进行解码时被使用;以及
在所述语法元素中提供空闲参考图片列表指令的装置,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片在对所述当前图片进行解码时不被用作参考图片,而是将在对除了所述当前图片之外的另一图片进行解码时用作参考图片。
14.一种用于对视频数据解码的设备,包括:
用于从比特流解码来自语法元素的指示的装置,所述指示指明将在解码中用作参考图片的图片,
用于从所述语法元素解码指令的装置,所述指令包括参考图片列表结构的参考图片的有序列表,所述参考图片列表将在对当前图片进行解码时被使用,
解码在所述语法元素中的空闲参考图片列表指令,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片在对所述当前图片进行解码时不被用作参考图片,而是将在对除了所述当前图片之外的另一图片进行解码时用作参考图片;以及
用于在对视频数据的解码中处理参考图片时使用所述指示和所述指令的装置。
15.一种具有计算机可读指令的计算机可读介质,当所述计算机可读指令由一个或多个处理器执行时使一或多个处理器执行如下:
在语法元素中提供指示,所述指示指明将在解码中用作参考图片的图片,以及
在所述语法元素中提供指令,所述指令包括参考图片列表结构的参考图片的有序列表,所述参考图片列表将在对当前图片进行解码时被使用;以及
在所述语法元素中提供空闲参考图片列表指令,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片在对所述当前图片进行解码时不被用作参考图片,而是将在对除了所述当前图片之外的另一图片进行解码时用作参考图片。
16.一种具有计算机可读指令的计算机可读介质,当所述计算机可读指令由一个或多个处理器执行时使一或多个处理器执行如下:
从比特流解码来自语法元素的指示,所述指示指明将在解码中用作参考图片的图片,
从所述语法元素解码指令,所述指令包括参考图片列表结构的参考图片的有序列表,所述参考图片列表将在对当前图片进行解码时被使用,
解码在所述语法元素中的空闲参考图片列表指令,所述空闲参考图片列表指令指示空闲参考图片列表结构,所述空闲参考图片列表中的图片在对所述当前图片进行解码时不被用作参考图片,而是将在对除了所述当前图片之外的另一图片进行解码时用作参考图片;以及
在对视频数据的解码中处理参考图片时使用所述指示和所述指令。
CN201280065869.3A 2011-11-08 2012-11-07 参考图片处理 Active CN104025599B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161557386P 2011-11-08 2011-11-08
US61/557,386 2011-11-08
PCT/FI2012/051090 WO2013068647A1 (en) 2011-11-08 2012-11-07 Reference picture handling

Publications (2)

Publication Number Publication Date
CN104025599A CN104025599A (zh) 2014-09-03
CN104025599B true CN104025599B (zh) 2018-12-14

Family

ID=48223703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280065869.3A Active CN104025599B (zh) 2011-11-08 2012-11-07 参考图片处理

Country Status (7)

Country Link
US (4) US9918080B2 (zh)
EP (3) EP3576412B1 (zh)
CN (1) CN104025599B (zh)
ES (1) ES2898887T3 (zh)
PL (1) PL3576412T3 (zh)
PT (1) PT3576412T (zh)
WO (1) WO2013068647A1 (zh)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013042995A2 (ko) 2011-09-22 2013-03-28 엘지전자 주식회사 영상 정보 시그널링 방법 및 장치와 이를 이용한 디코딩 방법 및 장치
CN104025599B (zh) 2011-11-08 2018-12-14 诺基亚技术有限公司 参考图片处理
US20130114710A1 (en) * 2011-11-08 2013-05-09 Samsung Electronics Co., Ltd. Method and apparatus for encoding video by prediction using reference picture list, and method and apparatus for decoding video by performing compensation using reference picture list
US20130188709A1 (en) * 2012-01-25 2013-07-25 Sachin G. Deshpande Video decoder for tiles with absolute signaling
WO2013157783A1 (ko) * 2012-04-15 2013-10-24 삼성전자 주식회사 참조픽처리스트 변경이 가능한 인터 예측 방법과 그 장치
US9609341B1 (en) * 2012-04-23 2017-03-28 Google Inc. Video data encoding and decoding using reference picture lists
US10491913B2 (en) * 2012-04-24 2019-11-26 Telefonaktiebolaget L M Ericsson (Publ) Identifying a parameter set for decoding a multi-layer video representation
US9813705B2 (en) 2012-04-26 2017-11-07 Qualcomm Incorporated Parameter set coding
JP5613846B2 (ja) 2012-05-09 2014-10-29 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動きベクトル予測方法及び動きベクトル予測装置
US9762903B2 (en) * 2012-06-01 2017-09-12 Qualcomm Incorporated External pictures in video coding
US9420286B2 (en) 2012-06-15 2016-08-16 Qualcomm Incorporated Temporal motion vector prediction in HEVC and its extensions
US9167248B2 (en) 2012-07-13 2015-10-20 Qualcomm Incorporated Reference picture list modification for video coding
US9392268B2 (en) 2012-09-28 2016-07-12 Qualcomm Incorporated Using base layer motion information
US9674542B2 (en) * 2013-01-02 2017-06-06 Qualcomm Incorporated Motion vector prediction for video coding
US11438609B2 (en) 2013-04-08 2022-09-06 Qualcomm Incorporated Inter-layer picture signaling and related processes
US10158876B2 (en) * 2013-04-10 2018-12-18 Qualcomm Incorporated Backward view synthesis prediction
WO2015006281A2 (en) * 2013-07-09 2015-01-15 Sony Corporation High level syntax improvement on inter-layer prediction for shvc/mv-hevc
JP6397421B2 (ja) * 2013-10-08 2018-09-26 シャープ株式会社 画像復号装置及び画像符号化装置
US20160249056A1 (en) * 2013-10-10 2016-08-25 Sharp Kabushiki Kaisha Image decoding device, image coding device, and coded data
JP6393317B2 (ja) * 2013-10-10 2018-09-19 シャープ株式会社 復号方法及び符号化方法
US10187641B2 (en) * 2013-12-24 2019-01-22 Kt Corporation Method and apparatus for encoding/decoding multilayer video signal
US10708606B2 (en) 2014-03-24 2020-07-07 Kt Corporation Multilayer video signal encoding/decoding method and device
CN105516729B (zh) * 2014-09-23 2019-12-31 浙江大学 视频编解码方法、装置及生成的视频码流
GB2531271A (en) * 2014-10-14 2016-04-20 Nokia Technologies Oy An apparatus, a method and a computer program for image sequence coding and decoding
US10638140B2 (en) * 2015-05-29 2020-04-28 Qualcomm Incorporated Slice level intra block copy and other video coding improvements
FR3046321B1 (fr) * 2015-12-29 2018-01-26 B<>Com Procede de codage d'une image numerique, procede de decodage, dispositifs, terminal d'utilisateur et programmes d'ordinateurs associes
CN107770542A (zh) * 2016-08-21 2018-03-06 上海天荷电子信息有限公司 采用编码参数基值的数据压缩方法和装置
US20180109810A1 (en) * 2016-10-17 2018-04-19 Mediatek Inc. Method and Apparatus for Reference Picture Generation and Management in 3D Video Compression
US10798145B1 (en) * 2017-04-25 2020-10-06 Benjamin J. Garney Analyzing data streams
CN107368566A (zh) * 2017-07-10 2017-11-21 Tcl移动通信科技(宁波)有限公司 一种图片查看方法、终端设备及存储介质
CN117294837A (zh) 2018-04-02 2023-12-26 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
EP3815380A4 (en) * 2018-07-01 2022-03-30 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR SIGNALING PICTURE ORDER COUNT VALUES FOR PICTURES CONTAINED IN ENCODED VIDEO
MX2021001743A (es) 2018-08-17 2021-06-23 Huawei Tech Co Ltd Gestión de imágenes de referencia en codificación de video.
KR102585975B1 (ko) * 2018-09-12 2023-10-05 후아웨이 테크놀러지 컴퍼니 리미티드 참조 화상 리스트 구조를 위한 인덱스 시그널링
EP3854099A4 (en) * 2018-09-21 2022-06-29 Sharp Kabushiki Kaisha Systems and methods for signaling reference pictures in video coding
US11196988B2 (en) * 2018-12-17 2021-12-07 Apple Inc. Reference picture management and list construction
EP4018670A4 (en) * 2019-08-22 2023-08-16 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR SIGNALING IMAGE INFORMATION IN VIDEO CODING
BR112022005495A2 (pt) * 2019-09-24 2022-06-14 Huawei Tech Co Ltd Sinalização de cabeçalho de imagem em codificação de vídeo
AR121126A1 (es) 2020-02-29 2022-04-20 Beijing Bytedance Network Tech Co Ltd Señalización de elementos de sintaxis para indicación de imagen de referencia
EP4128791A4 (en) * 2020-04-02 2023-07-19 Telefonaktiebolaget LM ERICSSON (PUBL) DECODING BASED ON A BIDIRECTIONAL IMAGE STATE
CN115443653A (zh) 2020-04-07 2022-12-06 抖音视界有限公司 高级别语法中的帧间预测的信令通知
WO2021204233A1 (en) 2020-04-09 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Constraints on adaptation parameter set based on color format
WO2021204251A1 (en) 2020-04-10 2021-10-14 Beijing Bytedance Network Technology Co., Ltd. Use of header syntax elements and adaptation parameter set
CN115868159A (zh) 2020-04-17 2023-03-28 抖音视界有限公司 自适应参数集单元的存在
WO2021222036A1 (en) * 2020-04-26 2021-11-04 Bytedance Inc. Conditional signaling of video coding syntax elements
CN115552885A (zh) * 2020-04-27 2022-12-30 字节跳动有限公司 视频编解码中的子层信息
US11743503B2 (en) * 2020-05-14 2023-08-29 Qualcomm Incorporated Reference picture list constraints and signaling in video coding
KR20230017819A (ko) * 2020-05-22 2023-02-06 엘지전자 주식회사 영상 코딩 방법 및 그 장치
WO2023237119A1 (en) * 2022-06-10 2023-12-14 Beijing Bytedance Network Technology Co., Ltd. Method, apparatus, and medium for video processing

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102160381A (zh) * 2008-09-24 2011-08-17 索尼公司 图像处理设备和方法
CN102160382A (zh) * 2008-09-24 2011-08-17 索尼公司 图像处理设备和图像处理方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1196319C (zh) * 1996-07-31 2005-04-06 松下电器产业株式会社 图象解码装置和图象解码方法
US8255956B2 (en) * 1999-06-28 2012-08-28 Cox Communications, Inc. System and method for delivery of short-time duration video segments
US20130107938A9 (en) * 2003-05-28 2013-05-02 Chad Fogg Method And Apparatus For Scalable Video Decoder Using An Enhancement Stream
US20050207490A1 (en) * 2004-03-18 2005-09-22 Wang Jason N Stored picture index for AVC coding
US20060083298A1 (en) 2004-10-14 2006-04-20 Nokia Corporation Reference picture management in video coding
EP1806930A1 (en) 2006-01-10 2007-07-11 Thomson Licensing Method and apparatus for constructing reference picture lists for scalable video
US20100091845A1 (en) 2006-03-30 2010-04-15 Byeong Moon Jeon Method and apparatus for decoding/encoding a video signal
WO2008048499A2 (en) 2006-10-13 2008-04-24 Thomson Licensing Reference picture list management syntax for multiple view video coding
CA2666452C (en) * 2006-10-16 2014-12-16 Nokia Corporation System and method for implementing efficient decoded buffer management in multi-view video coding
EP2087737A2 (en) 2006-10-24 2009-08-12 Thomson Licensing Picture management for multi-view video coding
EP2215844A2 (en) 2007-10-15 2010-08-11 Nokia Corporation Motion skip and single-loop encoding for multi-view video content
US8902996B2 (en) * 2008-02-26 2014-12-02 Richwave Technology Corp. Adaptive wireless video transmission systems and methods
US8855199B2 (en) 2008-04-21 2014-10-07 Nokia Corporation Method and device for video coding and decoding
US8385404B2 (en) * 2008-09-11 2013-02-26 Google Inc. System and method for video encoding using constructed reference frame
US8861586B2 (en) 2008-10-14 2014-10-14 Nvidia Corporation Adaptive deblocking in a decoding pipeline
WO2010086501A1 (en) * 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
WO2010086500A1 (en) * 2009-01-28 2010-08-05 Nokia Corporation Method and apparatus for video coding and decoding
US20110026593A1 (en) * 2009-02-10 2011-02-03 New Wei Lee Image processing apparatus, image processing method, program and integrated circuit
US8693539B2 (en) * 2009-03-26 2014-04-08 Panasonic Corporation Coding method, error detecting method, decoding method, coding apparatus, error detecting apparatus, and decoding apparatus
US9066102B2 (en) 2010-11-17 2015-06-23 Qualcomm Incorporated Reference picture list construction for generalized P/B frames in video coding
US8842723B2 (en) * 2011-01-03 2014-09-23 Apple Inc. Video coding system using implied reference frames
JP5988252B2 (ja) * 2011-01-12 2016-09-07 サン パテント トラスト 複数の参照ピクチャを用いた、動画像符号化方法、動画像復号方法、動画像符号化装置、及び、動画像復号装置
US9532066B2 (en) * 2011-01-21 2016-12-27 Qualcomm Incorporated Motion vector prediction
TW201246943A (en) * 2011-01-26 2012-11-16 Panasonic Corp Video image encoding method, video image encoding device, video image decoding method, video image decoding device, and video image encoding and decoding device
MX2013008691A (es) * 2011-02-10 2013-08-21 Panasonic Corp Metodo de codificacion de imagenes en movimiento, aparato de codificacion de imagenes en movimiento, metodo de decodificacion de imagenes en movimiento, aparato de decodificacion de imagenes en movimiento y aparato de codificacion y decodificacion de imagenes en movimiento.
US9131239B2 (en) * 2011-06-20 2015-09-08 Qualcomm Incorporated Unified merge mode and adaptive motion vector prediction mode candidates selection
EP2727342B1 (en) 2011-06-30 2016-06-29 Telefonaktiebolaget LM Ericsson (publ) Reference picture signaling
US9131245B2 (en) 2011-09-23 2015-09-08 Qualcomm Incorporated Reference picture list construction for video coding
US8787688B2 (en) 2011-10-13 2014-07-22 Sharp Laboratories Of America, Inc. Tracking a reference picture based on a designated picture on an electronic device
RU2646328C1 (ru) * 2011-10-28 2018-03-02 Сан Пэтент Траст Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений и устройство декодирования изображений
CN104025599B (zh) 2011-11-08 2018-12-14 诺基亚技术有限公司 参考图片处理

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102160381A (zh) * 2008-09-24 2011-08-17 索尼公司 图像处理设备和方法
CN102160382A (zh) * 2008-09-24 2011-08-17 索尼公司 图像处理设备和图像处理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Rickard Sjöberg et al..Absolute signaling of reference pictures.《Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11 6th Meeting: Torino, 2011, Document: JCTVC-F493 WG11 Number: m20923》.2011,3、第5-13页. *

Also Published As

Publication number Publication date
EP3576412B1 (en) 2021-09-01
EP4020989A1 (en) 2022-06-29
PL3576412T3 (pl) 2022-01-24
US20200213607A1 (en) 2020-07-02
US20130114742A1 (en) 2013-05-09
EP3576412A1 (en) 2019-12-04
US9918080B2 (en) 2018-03-13
US20220124360A1 (en) 2022-04-21
US11212546B2 (en) 2021-12-28
CN104025599A (zh) 2014-09-03
PT3576412T (pt) 2021-11-26
US10587887B2 (en) 2020-03-10
WO2013068647A1 (en) 2013-05-16
EP2777276A1 (en) 2014-09-17
ES2898887T3 (es) 2022-03-09
EP2777276A4 (en) 2015-07-22
US20180199051A1 (en) 2018-07-12
EP2777276B1 (en) 2019-05-01

Similar Documents

Publication Publication Date Title
CN104025599B (zh) 参考图片处理
CN104160706B (zh) 对图像进行编码的方法和装置以及对图像比特流进行解码的方法和装置
CN104205819B (zh) 用于视频编码的方法和装置
CN104584549B (zh) 用于视频编码的方法和装置
CN104521238B (zh) 用于3d视频编码的装置和方法
CN104396244B (zh) 用于视频编码和解码的装置、方法和计算机可读存储介质
CN106576171B (zh) 一种对视频数据进行编码、解码的方法以及装置
CN105122812B (zh) 用于三维(3d)视频译码的高级合并模式
CN105556965B (zh) 用于视频编码和解码的方法、装置和计算机程序产品
CN104813660B (zh) 用于视频编码和解码的装置和方法
CN105684448B (zh) 用于高效片头处理的方法和装置
CN104380749A (zh) 用于视频编码的方法和装置
JP6417039B2 (ja) 画像シーケンスのコーディングおよびデコーディングのための装置、方法およびコンピュータ・プログラム
CN106664424A (zh) 参数集编码
CN108184123A (zh) 用于视频译码的参考图像列表构造
CN105325003A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN104641642A (zh) 用于视频编码的方法和装置
CN113711594A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN103959774A (zh) 用于高效视频编码的运动信息的有效存储
TW202042552A (zh) 用於照明補償之區塊大小限制
CN105684444A (zh) 用于单独地界定对基于子层的层间预测的相依性的系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20160203

Address after: Espoo, Finland

Applicant after: Technology Co., Ltd. of Nokia

Address before: Espoo, Finland

Applicant before: Nokia Oyj

GR01 Patent grant
GR01 Patent grant