CN105308965A - 用于3d视频编码的协调视图间和视图合成预测 - Google Patents

用于3d视频编码的协调视图间和视图合成预测 Download PDF

Info

Publication number
CN105308965A
CN105308965A CN201480033590.6A CN201480033590A CN105308965A CN 105308965 A CN105308965 A CN 105308965A CN 201480033590 A CN201480033590 A CN 201480033590A CN 105308965 A CN105308965 A CN 105308965A
Authority
CN
China
Prior art keywords
prediction
picture
view
instruction
motion vector
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.)
Granted
Application number
CN201480033590.6A
Other languages
English (en)
Other versions
CN105308965B (zh
Inventor
D·拉萨诺维斯基
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 Oyj
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
Application filed by Nokia Technologies Oy filed Critical Nokia Technologies Oy
Publication of CN105308965A publication Critical patent/CN105308965A/zh
Application granted granted Critical
Publication of CN105308965B publication Critical patent/CN105308965B/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain
    • 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/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

公开了用于视频编码的各种方法、装置和计算机程序产品。用于参考图片索引的预测类型可以在视频比特流中信号传输。针对某些图像元素从视频比特流省略运动矢量可以被信号传输;信号传输可以向解码器指示预测中使用的运动矢量将在解码器构建。运动矢量的构建可以通过使用已经从被用作参考的图片的景深信息获得的视差信息进行。

Description

用于3D视频编码的协调视图间和视图合成预测
技术领域
本申请描述的各实施方式涉及景深增强的视频编码以及其中使用的视图合成预测。在不同方面,描述了用于景深增强的视频编码的方法、装置、系统和计算机程序产品,以及用于景深增强的视频编码的信号或数据结构。
背景技术
本节旨在于提供在权利要求中记载的本发明的背景或者上下文。这里的描述可以包括如下概念,这些概念可以被探求但是未必是先前已经设想或者探求的概念。因此,除非这里另有指示,在本节中描述的内容不是在本申请中的说明书和权利要求书之前的现有技术并且不因包含于本节中而被承认为现有技术。
现代视频编解码器利用各种预测方案来减少需要被存储或者从编码器发送到解码器的冗余信息的量。预测可以跨时间进行(时间上),使得早先的图片被用作参考图片。在多视图视频编码中,预测还可以通过使用另一视图的图片作为参考图片或者通过使用由视图合成形成的合成图片作为参考图片来进行(空间上)。预测通常使得参考图片中块的图片信息(诸如像素值)用于预测当前图片中的图片信息,即,形成预测块。所谓的运动矢量可以在预测中采用,并且其指示参考图片中针对正被预测的当前块的图片信息的源。待时用的参考图片被保存在存储器中,并且参考图片列表被用于管理参考图片的使用。
各种不同类型的预测方案使得其在技术上更复杂以设计编码器和解码器,并且其可能对编码和解码的速度造成挑战,或者要求比更简单的布置更多的存储器。但同时,不同类型的预测方案目标在于降低3D视频编码传输所需的带宽。因此,需要为3D视频开发出新的视频编码布置。
发明内容
某些实施方式提供了一种用于编码和解码视频信息的方法,以及对应的装置和由编码产生并且可用于解码的信号。编码或编码器可以将元素产生为信号,并且对应的解码步骤或解码器元件可以被用于解码元素。因此,需要理解虽然示例是针对仅一个实体(如编码器)给出的,但是对应的解码器结构和信号元素及其目的可以从该示例中导出。在具体实施方式中提供了本发明示例的各个方面。
根据第一方面,提供了根据权利要求1至17所述的编码方法。根据第二方面,提供了根据权利要求18至34所述的解码方法。根据第三方面,提供了根据权利要求35至45所述的数据结构(信号)。根据第四方面,提供了根据权利要求46至63所述的编码器。根据第四方面,提供了根据权利要求65至83所述的解码器。根据第六方面,提供了根据权利要求64至83所述的计算机程序产品。
下面,给出各实施方式的某些标签示例。
E1.一种用于提供编码视频数据的方法,包括:
-形成用于管理在编码所述视频数据中待使用的参考图片的参考图片列表,
-使用另一视图的至少一个图片作为所述编码中的参考图片,另一视图的所述图片对应于所述参考图片列表的索引,
-针对所述参考图片列表的所述索引,提供待使用的预测类型的指示,以及
-将预测类型的所述指示编码在编码视频数据中。
E2.根据示例E1所述的方法,其中由所述指示来指示的所述预测类型是视图间预测。
E3.根据示例E1所述的方法,其中由所述指示来指示的所述预测类型是基于视差补偿的预测,诸如视图合成预测。
E4.根据示例E1至E3中任一项所述的方法,其中所述指示是指示是否使用来自具有视差补偿的另一视图的所述图片的预测的语法元素。
E5.根据示例E4所述的方法,其中所述语法元素作为二进制标志被编码至所述编码视频数据或者算术上被编码至所述编码视频数据。
E6.一种用于提供编码视频数据的方法,包括:
-通过使用来自另一视图的图片的预测来形成视频块的编码视频数据,其中所述预测包括使用用于所述预测的运动矢量,
-在所述编码视频数据中提供在所述编码视频数据中没有为所述视频块提供运动矢量信息的指示,以及
-通过采用为所述视频块提供的景深信息来形成运动矢量信息。
E7.根据示例E6所述的方法,包括:
-通过使用来自另一视图的图片的预测来形成视频块的编码视频数据,其中所述预测包括使用为所述预测所形成的运动矢量信息。
E8.根据示例E6或E7所述的方法,其中所述方法包括:
-提供关于所述景深信息的使用粒度的指示。
E9.根据示例E6或E7所述的方法,其中所述方法包括:
-指示针对视频块的单个预测模式,
-将视频块分成一个或多个块分区,
-分别为一个或多个块分区的每个块分区形成运动矢量信息。
E10.根据示例E6至E9中任一项所述的方法,包括:
-在所述编码视频数据中提供省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在比所述视频块更高的层次中提供。
E11.根据示例E6至E10中任一项所述的方法,包括:
-在所述编码视频数据中提供省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在来自切片报头、图片参数集和序列参数集分组中的至少一个中提供。
E12.根据示例E6所述的方法,其中所述指示是指示运动矢量信息是否应当由解码器通过采用块的邻居的运动矢量信息来形成的标志。
E13.一种用于提供编码视频数据的方法,包括:
-通过使用来自另一可缩放性层或视图的第二图片的预测来形成第一可缩放性层或第一视图的第一图片的视频块的编码视频数据,
-向所述编码视频数据中形成编码模式的指示,所述编码模式采用来自另一可缩放性层或视图的图片的预测,
-向所述编码视频数据中形成其他可缩放性层或视图的多个图片的参考列表中第一图片的参考标识符。
E14.一种用于提供编码视频数据的方法,包括:
-形成第一视频块的编码视频数据,其中所述第一视频块与第一运动信息相关联;
-通过采用为所述第一视频块提供的景深信息来调整第一运动信息以获得经调整的第一运动信息;
-通过使用经调整的第一运动信息来预测第二运动信息,所述第二运动信息与第二视频块相关联。
E15.根据示例E14所述的方法,其中第一视频块的所述编码视频数据包括标识参考图片和差分运动矢量的参考索引分组中的至少一个。
E16.根据示例E14所述的方法,其中
经调整的第一运动信息包括以下分组中的至少一个参数:
-用于视图间预测的第一视频块的预测类型;
-用于指示视图间参考图片的参考索引;
-与从景深信息导出的视差相等的运动矢量;
-根据从所述景深信息导出的所述视差的粒度的块分区;以及该方法包括:
-在调整中设置所述至少一个参数的值。
E17.根据示例E14至E16中任一项所述的方法,包括:
-形成与第二运动信息相关联的所述第二视频块的编码视频数据,其中所述第一视频块驻留在第一图片中并且所述第二视频块驻留在不同于第一图片的第二图片中。
D1.一种用于解码编码视频数据的方法,包括:
-形成用于管理在解码所述视频数据中待使用的参考图片的参考图片列表,
-使用另一视图的至少一个图片作为所述编码中的参考图片,另一视图的所述图片对应于所述参考图片列表的索引,
-针对所述参考图片列表的所述索引,从所述编码视频数据获取待使用的预测类型的指示。
D2.根据示例D1所述的方法,其中由所述指示来指示的所述预测类型是视图间预测。
D3.根据示例D1所述的方法,其中由所述指示来指示的所述预测类型是基于视差补偿的预测,诸如视图合成预测。
D4.根据示例D1至D3中任一项所述的方法,其中所述指示是指示是否使用来自具有视差补偿的另一视图的所述图片的预测的语法元素。
D5.根据示例D4所述的方法,其中所述语法元素作为二进制标志被编码至所述编码视频数据或者算术上被编码至所述编码视频数据。
D6.一种用于解码编码视频数据的方法,包括:
-通过使用来自另一视图的图片的预测来解码视频块的编码视频数据,其中所述预测包括使用用于所述预测的运动矢量,
-从所述编码视频数据中获取在所述编码视频数据中没有为所述视频块提供运动矢量信息的指示,以及
-通过采用为所述视频块提供的景深信息来形成运动矢量信息。
D7.根据示例D6所述的方法,包括:
-通过使用来自另一视图的图片的预测来解码视频块的编码视频数据,其中所述预测包括使用为所述预测所形成的运动矢量信息。
D8.根据示例D6或D7所述的方法,其中所述方法包括:
-提供关于所述景深信息的使用粒度的指示。
D9.根据示例D6或D7所述的方法,其中所述方法包括:
-从所述编码视频数据中获取针对视频块的单个预测模式的指示,
-将视频块分成一个或多个块分区,
-分别为一个或多个块分区的每个块分区形成运动矢量信息。
D10.根据示例D6至D9中任一项所述的方法,包括:
-从所述编码视频数据中获取省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在比所述视频块更高的层次中提供。
D11.根据示例D6至D10中任一项所述的方法,包括:
-从所述编码视频数据中获取省略运动矢量信息的指示,其中省略运动矢量信息的所述指示从切片报头、图片参数集和序列参数集分组中的至少一个中获取。
D12.根据示例D6所述的方法,其中所述指示是指示运动矢量信息是否应当由解码器通过采用块的邻居的运动矢量信息来形成的标志。
D13.一种用于解码编码视频数据的方法,包括:
-通过使用来自另一可缩放性层或视图的第二图片的预测来解码第一可缩放性层或第一视图的第一图片的视频块的编码视频数据,
-从所述编码视频数据中解码编码模式的指示,所述编码模式采用来自另一可缩放性层或视图的图片的预测,
-从所述编码视频数据中解码在解码中使用的其他可缩放性层或视图的多个图片的参考列表中第一图片的参考标识符。
D14.一种用于解码编码视频数据的方法,包括:
-解码第一视频块的编码视频数据,其中所述第一视频块与第一运动信息相关联;
-通过采用为所述第一视频块提供的景深信息来调整第一运动信息以获得经调整的第一运动信息;
-通过使用经调整的第一运动信息来预测第二运动信息,所述第二运动信息与第二视频块相关联。
D15.根据示例D14所述的方法,其中第一视频块的所述编码视频数据包括标识参考图片和差分运动矢量的参考索引分组中的至少一个。
D16.根据示例D14所述的方法,其中
经调整的第一运动信息包括以下分组中的至少一个参数:
-用于视图间预测的第一视频块的预测类型;
-用于指示视图间参考图片的参考索引;
-与从景深信息导出的视差相等的运动矢量;
-根据从所述景深信息导出的所述视差的粒度的块分区;以及该方法包括:
-在调整中设置所述至少一个参数的值。
D17.根据示例D14至D16中任一项所述的方法,包括:
-解码与第二运动信息相关联的所述第二视频块的编码视频数据,其中所述第一视频块驻留在第一图片中并且所述第二视频块驻留在不同于第一图片的第二图片中。
S1.一种体现在非瞬态计算机可读介质上的数据结构,所述数据结构包括用于控制计算机上编码视频数据的解码的指令元素,所述数据结构包括用于选择在解码图片元素中使用的预测类型的第一指令元素,所述预测使用另一视图的至少一个图片作为所述解码中的参考图片,所述另一视图的图片对应于参考图片列表的索引,所述参考图片列表用于管理在解码所述编码视频数据中待使用的参考图片。
S2.根据示例S1所述的数据结构,其中由所述第一指令元素指示的所述预测类型是视图间预测。
S3.根据示例S1所述的数据结构,其中由所述第一指令元素指示的所述预测类型是基于视差补偿的预测,诸如视图合成预测。
S4.根据示例S1至S3中任一项所述的数据结构,其中所述第一指令元素是指示是否使用来自具有视差补偿的另一视图的所述图片的预测的语法元素。
S5.根据示例S4所述的数据结构,其中所述语法元素作为二进制标志被编码至所述编码视频数据或者算术上被编码至所述编码视频数据。
S6.一种体现在非瞬态计算机可读介质上的数据结构,所述数据结构包括用于控制计算机上编码视频数据的解码的指令元素,所述数据结构包括指示在所述编码视频数据中没有为正被解码的视频块提供运动矢量信息以及运动矢量信息应当通过采用为所述视频块提供的景深信息来形成的第二指令元素。
S7.根据示例S6所述的数据结构,包括关于所述景深信息的使用粒度的指示。
S8.根据示例S6或S7所述的数据结构,其中所述数据结构包括省略运动矢量信息的指示的指令元素,其中省略运动矢量信息的所述指示在比所述视频块更高的层次中提供。
S9.根据示例S8所述的数据结构,其中省略运动矢量信息的所述指示在来自切片报头、图片参数集和序列参数集分组中的至少一个中提供。
S10.根据示例S8所述的数据结构,其中所述指示是指示运动矢量信息是否应当由解码器通过采用块的邻居的运动矢量信息来形成的标志。
S11.一种体现在非瞬态计算机可读介质上的数据结构,所述数据结构包括编码模式的指示,以及其他可缩放性层或视图的多个图片的参考列表中的图片的参考标识符,所述编码模式采用来自另一可缩放性层或视图的图片的预测。
ED1.一种包括至少一个处理器、存储器和所述存储器中计算机程序代码的装置,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-形成用于管理在编码所述视频数据中待使用的参考图片的参考图片列表,
-使用另一视图的至少一个图片作为所述编码中的参考图片,另一视图的所述图片对应于所述参考图片列表的索引,
-针对所述参考图片列表的所述索引,提供待使用的预测类型的指示,以及
-将预测类型的所述指示编码在编码视频数据中。
ED2.根据示例ED1所述的装置,其中由所述指示来指示的所述预测类型是视图间预测。
ED3.根据示例ED1所述的装置,其中由所述指示来指示的所述预测类型是基于视差补偿的预测,诸如视图合成预测。
ED4.根据示例ED1至ED3中任一项所述的装置,其中所述指示是指示是否使用来自具有视差补偿的另一视图的所述图片的预测的语法元素。
ED5.根据示例ED4所述的装置,其中所述语法元素作为二进制标志被编码至所述编码视频数据或者算术上被编码至所述编码视频数据。
ED6.一种包括至少一个处理器、存储器和所述存储器中计算机程序代码的装置,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-通过使用来自另一视图的图片的预测来形成视频块的编码视频数据,其中所述预测包括使用用于所述预测的运动矢量,
-在所述编码视频数据中提供在所述编码视频数据中没有为所述视频块提供运动矢量信息的指示,以及
-通过采用为所述视频块提供的景深信息来形成运动矢量信息。
ED7.根据示例ED6所述的装置,包括计算机程序代码被布置为使得所述装置:
-通过使用来自另一视图的图片的预测来形成视频块的编码视频数据,其中所述预测包括使用为所述预测所形成的运动矢量信息。
ED8.根据示例ED6或ED7所述的装置,包括计算机程序代码被布置为使得所述装置:
-提供关于所述景深信息的使用粒度的指示。
ED9.根据示例ED6或ED7所述的装置,包括计算机程序代码被布置为使得所述装置:
-指示针对视频块的单个预测模式,
-将视频块分成一个或多个块分区,
-分别为一个或多个块分区的每个块分区形成运动矢量信息。
ED10.根据示例ED6至ED9中任一项所述的装置,包括计算机程序代码被布置为使得所述装置:
-在所述编码视频数据中提供省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在比所述视频块更高的层次中提供。
ED11.根据示例ED6至ED10中任一项所述的装置,包括计算机程序代码被布置为使得所述装置:
-在所述编码视频数据中提供省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在来自切片报头、图片参数集和序列参数集分组中的至少一个中提供。
ED12.根据示例ED6所述的装置,其中所述指示是指示运动矢量信息是否应当由解码器通过采用块的邻居的运动矢量信息来形成的标志。
ED13.一种包括至少一个处理器、存储器和所述存储器中计算机程序代码的装置,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-通过使用来自另一可缩放性层或视图的第二图片的预测来形成第一可缩放性层或第一视图的第一图片的视频块的编码视频数据,
-向所述编码视频数据中形成编码模式的指示,所述编码模式采用来自另一可缩放性层或视图的图片的预测,
-向所述编码视频数据中形成其他可缩放性层或视图的多个图片的参考列表中第一图片的参考标识符。
ED14.一种包括至少一个处理器、存储器和所述存储器中计算机程序代码的装置,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-形成第一视频块的编码视频数据,其中所述第一视频块与第一运动信息相关联;
-通过采用为所述第一视频块提供的景深信息来调整第一运动信息以获得经调整的第一运动信息;
-通过使用经调整的第一运动信息来预测第二运动信息,所述第二运动信息与第二视频块相关联。
ED15.根据示例ED14所述的装置,其中第一视频块的所述编码视频数据包括标识参考图片和差分运动矢量的参考索引分组中的至少一个。
ED16.根据示例ED14所述的装置,其中
经调整的第一运动信息包括以下分组中的至少一个参数:
-用于视图间预测的第一视频块的预测类型;
-用于指示视图间参考图片的参考索引;
-与从景深信息导出的视差相等的运动矢量;
-根据从所述景深信息导出的所述视差的粒度的块分区;以及该装置包括计算机程序代码使得所述装置:
-在调整中设置所述至少一个参数的值。
ED17.根据示例ED14至ED16中任一项所述的装置,包括计算机程序代码被布置为使得所述装置:
-形成与第二运动信息相关联的所述第二视频块的编码视频数据,其中所述第一视频块驻留在第一图片中并且所述第二视频块驻留在不同于第一图片的第二图片中。
ED18.一种包括用于实行根据示例E1至E17中任一项所述的方法的装置的设备。
EC1.一种用于编码体现在非瞬态计算机可读介质上的视频数据的计算机程序产品,所述计算机程序产品包括计算机程序代码被布置为在所述计算机程序代码在处理器上执行时使得装置实行根据示例E1至E17中任一项所述的方法。
DD1.一种包括至少一个处理器、存储器和所述存储器中计算机程序代码的装置,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-形成用于管理在解码所述视频数据中待使用的参考图片的参考图片列表,
-使用另一视图的至少一个图片作为所述编码中的参考图片,另一视图的所述图片对应于所述参考图片列表的索引,
-针对所述参考图片列表的所述索引,从所述编码视频数据获取待使用的预测类型的指示。
DD2.根据示例DD1所述的装置,其中由所述指示来指示的所述预测类型是视图间预测。
DD3.根据示例DD1所述的装置,其中由所述指示来指示的所述预测类型是基于视差补偿的预测,诸如视图合成预测。
DD4.根据示例DD1至DD3中任一项所述的装置,其中所述指示是指示是否使用来自具有视差补偿的另一视图的所述图片的预测的语法元素。
DD5.根据示例DD4所述的装置,其中所述语法元素作为二进制标志被编码至所述编码视频数据或者算术上被编码至所述编码视频数据。
DD6.一种包括至少一个处理器、存储器和所述存储器中计算机程序代码的装置,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-通过使用来自另一视图的图片的预测来解码视频块的编码视频数据,其中所述预测包括使用用于所述预测的运动矢量,
-从所述编码视频数据中获取在所述编码视频数据中没有为所述视频块提供运动矢量信息的指示,以及
-通过采用为所述视频块提供的景深信息来形成运动矢量信息。
DD7.根据示例DD6所述的装置,包括计算机程序代码被布置为使得所述装置:
-通过使用来自另一视图的图片的预测来解码视频块的编码视频数据,其中所述预测包括使用为所述预测所形成的运动矢量信息。
DD8.根据示例DD6或DD7所述的装置,包括计算机程序代码被布置为使得所述装置:
-提供关于所述景深信息的使用粒度的指示。
DD9.根据示例DD6或DD7所述的装置,包括计算机程序代码被布置为使得所述装置:
-从所述编码视频数据中获取针对视频块的单个预测模式的指示,
-将视频块分成一个或多个块分区,
-分别为一个或多个块分区的每个块分区形成运动矢量信息。
DD10.根据示例DD6至DD9中任一项所述的装置,包括:
-从所述编码视频数据中获取省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在比所述视频块更高的层次中提供。
DD11.根据示例DD6至DD10中任一项所述的装置,包括计算机程序代码被布置为使得所述装置:
-从所述编码视频数据中获取省略运动矢量信息的指示,其中省略运动矢量信息的所述指示从切片报头、图片参数集和序列参数集分组中的至少一个中获取。
DD12.根据示例DD6所述的装置,其中所述指示是指示运动矢量信息是否应当由解码器通过采用块的邻居的运动矢量信息来形成的标志。
DD13.一种包括至少一个处理器、存储器和所述存储器中计算机程序代码的装置,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-通过使用来自另一可缩放性层或视图的第二图片的预测来解码第一可缩放性层或第一视图的第一图片的视频块的编码视频数据,
-从所述编码视频数据中解码编码模式的指示,所述编码模式采用来自另一可缩放性层或视图的图片的预测,
-从所述编码视频数据中解码在解码中使用的其他可缩放性层或视图的多个图片的参考列表中第一图片的参考标识符。
DD14.一种包括至少一个处理器、存储器和所述存储器中计算机程序代码的装置,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-解码第一视频块的编码视频数据,其中所述第一视频块与第一运动信息相关联;
-通过采用为所述第一视频块提供的景深信息来调整第一运动信息以获得经调整的第一运动信息;
-通过使用经调整的第一运动信息来预测第二运动信息,所述第二运动信息与第二视频块相关联。
DD15.根据示例DD14所述的装置,其中第一视频块的所述编码视频数据包括标识参考图片和差分运动矢量的参考索引分组中的至少一个。
DD16.根据示例DD14所述的装置,其中
经调整的第一运动信息包括以下分组中的至少一个参数:
-用于视图间预测的第一视频块的预测类型;
-用于指示视图间参考图片的参考索引;
-与从景深信息导出的视差相等的运动矢量;
-根据从所述景深信息导出的所述视差的粒度的块分区;以及该装置包括计算机程序代码被布置为使得所述装置:
-在调整中设置所述至少一个参数的值。
DD17.根据示例DD14至DD16中任一项所述的装置,包括计算机程序代码被布置为使得所述装置:
-解码与第二运动信息相关联的所述第二视频块的编码视频数据,其中所述第一视频块驻留在第一图片中并且所述第二视频块驻留在不同于第一图片的第二图片中。
DD18.一种包括用于实行根据示例D1至D17中任一项所述的方法的装置的设备。
DC1.一种用于解码体现在非瞬态计算机可读介质上的视频数据的计算机程序产品,所述计算机程序产品包括计算机程序代码被布置为在所述计算机程序代码在处理器上执行时使得装置实行根据示例D1至D17中任一项所述的方法。
SS1.一种用于视频传输的系统,包括根据示例ED1至ED18中任一项所述的一个或多个装置以及根据示例DD1至DD18中任一项所述的一个或多个装置。
上述示例应当被理解为非限制性的,从而可以进行不同示例实施方式的特征的组合。例如,指示待使用的预测类型与从信号传输中省略运动矢量信息可以被一起应用。作为另一示例,指示预测类型与调整用于预测的运动信息可以被一起应用。在技术上可行的情况下,可以在此描述的范围内进行单独特征的任意组合。例如,指示预测类型可以与某些或所有其他可行实施方式组合采用,或者其可以单独实行。作为另一示例,从信号传输中省略运动矢量可以与某些或所有其他可行实施方式组合采用,或者其可以单独实行。作为又一示例,指示基于视差补偿的预测可以单独或者与采用用于调整针对预测的运动信息的景深信息一起使用,或者其可以单独使用。通过类似方式,本领域技术人员可以理解在不存在不一起使用任何特征的特定技术原因的情况下,这些特征可以一起使用。
附图说明
为了更完整理解本发明的示例实施方式,现结合附图参考以下描述,其中:
图1a和图1b图示了根据一个实施方式用于当前编码宏块(cb)的运动矢量预测的空间(a)和时间(b)邻居的使用;
图1c图示了根据一个实施方式在8×16和16×8宏块分区的特定情况中的运动矢量预测;
图2a图示了为其执行运动矢量预测的当前块Cb的空间邻居的示例;
图2b图示了为其执行运动矢量预测的当前块Cb的时间邻居的示例;
图3a示出了根据一个实施方式的立体相机设置的2D模型;
图3b示出了根据一个实施方式的多视图相机设置的简化2D模型;
图4示出了根据一个实施方式的多视图自动立体显示器(ASD)的简化模型;
图5a图示了根据一个实施方式在邻居块中使用的基于视差推导的命名约定;
图5b和图5c示出了根据一个实施方式用于跳过/直接运动矢量预测的差分矢量推导过程;
图6示出了用于多视图应用的基于DIBR的3DV解决方案的示例;
图7示出了根据一个实施方式VSP使能的多视图视频编码器的流程图;
图8a示出了根据一个实施方式用于基于VSP编码的ME/MCP链的流程图;
图8b示出了根据一个实施方式用于基于VSP解码的ME/MCP链的流程图;
图9图示了根据一个实施方式景深数据与视频数据一起的使用;
图10a、图10b、图10c和图10d示出了根据一个或多个实施方式用于视频编码的流程图;
图11示出了根据一个实施方式用于视频编码的流程图;以及
图12a和图12b示出了根据示例实施方式用于实行视频编码的系统和装置。
具体实施方式
高级视频编码标准(H.264/AVC)和高效视频编码标准(H.265/HEVC)的某些定义、比特流和编码结构以及概念在此章节中被描述为视频编码器、解码器、编码方法、解码方法和比特流结构的示例。本发明不限于H.264/AVC或H.265/HEVC,而在于描述是在本发明可以部分或完全实现的一个可能基础上给出。下面将提供某些示例。这些示例不应当被理解为限制权利要求书的范围而是提供用于进行或使用本发明的描述。可以执行不同示例的特征的组合,或者单独示例的特征可以单独使用。
在描述H.264/AVC和HEVC时以及在示例实施方式中,可能使用算术操作符、逻辑操作符、关系操作符、按位操作符、赋值操作符和范围注释的常用注释,如H.264/AVC或HEVC中指定的。此外,可以使用例如如H.264/AVC或HEVC中指定的常见数学函数并且可以使用例如如H.264/AVC或HEVC中指定的操作符的优先执行顺序(从左到右或从右到左)的常见顺序。
在描述H.264/AVC和HEVC时以及在示例实施方式中,以下描述符可以用于指定每个语法元素的解析过程。
-b(8):具有任意模式位串(8位)的字节。
-se(v):具有左位优先的有符号整数Exp-Golomb编码的语法元素。
-u(n):使用n位的无符号整数。当n是语法表中的“v”时,位的数目以取决于其他语法元素的值的方式变化。针对此描述符的解析过程由比特流中解释为具有最高有效位写入优先的无符号整数的二进制表示的接下来n位指定。
-ue(v):具有左位优先的无符号整数Exp-Golomb编码的语法元素。
-ae(v):上下文自适应算数熵编码语法元素。
-te(v):具有左位优先的截位Exp-Golomb编码的语法元素。
Exp-Golomb位串可以例如使用下表转换成代码编号(codeNum):
位串 代码编号
1 0
0 1 0 1
0 1 1 2
0 0 1 0 0 3
0 0 1 0 1 4
0 0 1 1 0 5
0 0 1 1 1 6
0 0 0 1 0 0 0 7
0 0 0 1 0 0 1 8
0 0 0 1 0 1 0 9
... ...
对应于Exp-Golomb位串的代码编号可以例如使用下表转换成se(v):
在描述H.264/AVC和HEVC时以及在示例实施方式中,语法结构、语法元素的语义和解码过程可以被指定如下。比特流中的语法元素以粗体类型表示。每个语法元素通过其名称(具有下划线字符的所有小写字母)、可选地其一个或两个语法分类和针对其编码表示方法的一个或两个描述符进行描述。解码过程根据语法元素的值以及先前解码的语法元素的值进行。当语法元素的值在语法表或文本中使用时,其以常规(即,非粗体)类型出现。在某些情况下,语法表可以使用从语法元素值导出的其他变量的值。语法表或文本中出现的这种变量由小写字母与大写字母的混合命名而不需要任何下划线字符。从大写字母开始的变量针对当前语法结构的解码导出并且全部依赖于语法结构。从大写字母开始的变量可以在针对后者语法结构的解码过程中使用而不需要提及该变量的原始语法结构。从小写字母开始的变量仅在其被导出的上下文中使用。在某些情况下,针对语法元素值或变量值的“助记符”名称与其数值客户化使用。某些时候,“助记符”名称可以在不需要任何相关联数值的情况下使用。值与名称的关联性在文本中指定。名称从由下划线字符分隔的一个或多个字母群构建。每个群从大写字母开始并且可以包含更多大写字母。
在描述H.264/AVC和HEVC时以及在示例实施方式中,语法结构可以使用以下内容指定。波形括号中包含的语句群是复合语句并且功能上被视为单个语句。“while”结构指定条件是否为真的测试,并且如果为真,则重复指定语句(或复合语句)的计值直到该条件不再为真。“do…while”结构指定语句的计值一次,然后是条件是否为真的测试,并且如果为真,则指定语句的重复计值直到该条件不再为真。“if…else”结构指定条件是否为真的测试,并且如果该条件为真,则指定原语句的计值,否则,指定备选语句的计值。如果不需要备选语句计值,则省略该结构的“else”部分和相关联的备选语句。“for”结构指定最初语句的计值,然后是条件的测试,并且如果该条件为真,则指定原语句然后后续语句的重复计值直到该条件不再为真。
缩略词表
下面,解释在本描述中使用的缩略词
H.264/AVC-高级视频编码,视频编码标准
MVC-多视图视频编码,编码标准
HEVC-高效视频编码,由JCT-VC组开发的视频编码技术
3DV-三维视频
DIBR-基于景深图像的渲染
MCP-运动补偿预测
MVP-运动矢量预测或运动矢量预测符
VSP-视图合成预测(视图合成在循环中实现)
MVD-多视图视频+景深
MVC-VSP-在编码循环中具有视频合成预测的MVC
3DV-ATM-针对AVC兼容3D视频标准开发的参考软件和/或编解码器描述
视频编码概念
视频编解码器可以包括编码实体(编码器)和解码实体(解码器),编码器将输入数据压缩成适于存储/传输的表示并且解码器执行相反操作。在以下描述中,编解码器可以指的是编码器或解码器或者编码器和解码器两者。
数据压缩可以通过采用多维数据(诸如视频)中继承的空间、时间和统计冗余来实现。通常,现有技术的编解码器的显著压缩效率通过有损编码实现,其对视频表现的保真度与比特率进行妥协。
大多数现有技术编码标准(诸如,ITU-TH.261、H.263、H.264和H.265)以相同混合视频编码概念建立并且利用以下元素:
1)图片级处理
2D视频被编码为具有清楚指定和重复过程的图片序列。2D图片可以通过不同编码模式(诸如内部编码)编码和/或从早先编码的图片中预测。
2)块处理
每个2D图片被编码为非覆盖的视频采样块的序列。处理块的大小通常可以由编码器选择和/或可以由编码标准约束以促进更高效的编码和实现,例如,4×4块被用于H.264/AVC的运动分区并且例如64×64块可以被用作H.265设计中的编码单元(CU)。虽然编解码器可以利用从视频数据的不同块继承的冗余,但每个块大多数情况下仍独立处理。利用这种冗余的工具的非限制示例是运动补偿预测(MCP)和运动矢量预测(MVP)。
在某些视频编解码器中,图片可以包括亮度采样阵列(当使用单色格式时)或者亮度采样阵列和两个对应的色度采样阵列。在图片包括三个采样阵列的情况下,图片可以在某些情况下编码为单独颜色平面,其中每个采样阵列可以被类似编码成单色图片。
在某些视频编解码器中,编码树单元(CTU)包括具有三个采样阵列的图片的亮度采样的编码树块和两个对应的色度采样的编码树块。CTU包括单色图片或使用三个单独颜色平面编码的图片的采样的编码树块和用于编码采样的语法结构。编码树块(CTB)是N的某些值的采样的N×N块,使得分量向编码树块的划分是分区。分区可以被限定为集向子集的划分,使得集中的每个元素恰好是子集中的一个。
在某些视频编解码器中,编码单元是具有三个采样阵列的图片的亮度采样的编码块和两个对应的色度采样的编码块,或者单色图片或使用三个单独颜色平面编码的图片的采样的编码块。编码块是N的某些值的采样的N×N块,使得编码树块向编码块的划分是分区。
在某些视频编解码器中,预测单元是具有三个采样阵列的图片的亮度采样的预测块和两个对应的色度采样的预测块,或者单色图片或使用三个单独颜色平面编码的图片的采样的预测块。预测块可以被限定为其上应用相同预测的矩形M×N采样块。
在某些视频编解码器中,转换单元是具有三个采样阵列的图片的亮度采样的一个或多个转换块和对应的色度采样的转换块,或者单色图片或使用三个单独颜色平面编码的图片的亮度采样的一个或多个转换块。针对转换单元的亮度采样块的可用块大小和数目可以例如由编码标准约束。例如,在H.265中,转换单元是具有三个采样阵列的图片的大小8×8、16×16或32×32的亮度采样的转换块或大小4×4的亮度采样的四个转换块,两个对应的色度采样的转换块,或者大小8×8、16×16或32×32的亮度采样的转换块或单色图片或使用三个单独颜色平面编码的图片的大小4×4的亮度采样的四个转换块。
在某些视频编解码器中,可以理解图片被划分成覆盖图片区域的编码单元(CU)。CU包括限定CU中采样的预测过程的一个或多个预测单元(PU)和限定所述CU中采样的预测错误编码过程的一个或多个转换单元(TU)。通常,CU包括具有从可能CU大小的预定集可选择的大小的采样的方块。具有最大允许大小的CU通常被命名为CTU(编码树单元),并且图片可以被划分成非重叠的CTU。CTU可以例如通过递归地分离CTU和结果CU被进一步分成更小CU的组合。每个产生的CU通常具有至少一个PU和与其相关联的至少一个TU。CU可以被分成一个或多个PU和TU以便分别获得预测和预测错误编码过程的更细粒度。每个PU具有与其相关联的预测信息,从而限定针对该PU中的像素应用哪种预测类型(例如,针对视图间预测PU的运动矢量信息以及针对帧内预测PU的内部预测方向性信息)。类似地,每个TU与描述所述TU中采样的预测错误解码过程的信息相关联(包括例如DCT系数信息)。无论是否向每个CU应用预测错误编码,通常在CU级进行信号传输。在不存在与CU相关联的预测错误残差的情况下,可以认为不存在针对所述CU的TU。图片向CU的划分以及CU向PU和TU的划分通常在比特流中信号传输,从而允许解码器重新产生这些单元的期望结构。
在某些视频编解码器中,宏块可以被限定为具有三个采样阵列的图片的亮度采样的16×16块和两个对应的色度采样的块,或者单色图片或使用三个单独颜色平面编码的图片的采样的16×16块。图片可以被认为被分成覆盖该图片区域的宏块。
在某些视频编解码器中,宏块分区可以被限定为从针对具有三个采样阵列的图片的视图间预测的宏块的分区产生的亮度采样的块和两个对应的色度采样的块,或者从针对单色图片或使用三个单独颜色平面编码的图片的视图间预测的宏块的分区产生的亮度采样的块。
在某些视频编解码器中,子宏块可以被限定为具有三个采样阵列的图片的宏块的采样的四分之一块(即,8×8亮度块)和两个对应的一角位于该宏块的角落的色度块,或者一角位于单色图片或使用三个单独颜色平面编码的图片的宏块的角落的8×8亮度块。
在某些视频编解码器中,子宏块分区可以被限定为从针对具有三个采样阵列的图片的视图间预测的子宏块的分区产生的亮度采样的块和两个对应的色度采样的块,或者从针对单色图片或使用三个单独颜色平面编码的图片的视图间预测的子宏块的分区产生的亮度采样的块。
3)数据预测
此概念被用于从视频数据中呈现的空间、时间或视图间/层间中受益。
视频采样的块可以例如在某些内部编码模式中单独编码,以及其可以被预测。可以应用不同的预测类型,诸如:
采样预测
采样预测支持根据参考块(Rb)的采样值来预测当前块(Cb)的采样值。
采样预测可以包括运动补偿预测,其中运动信息被应用以确定参考块的位置。运动信息通常利用与每个运动补偿的块Cb相关联的运动矢量来指示。这些运动矢量的每个运动矢量表示待编码(在编码器侧)或解码(在解码器侧)的图片中的块Cb与先前编码、解码或合成图片之一中的参考块Rb的位移或位置差。
这种预测的不同版本包括帧内预测,当Cb和Rb位于不同图片或帧内预测时,当Cb和Rb的采样位于相同图片时。
帧间预测可以进一步被分类在视图间预测中,当早先的编码/解码图片被用作参考时,对角线视图间预测,当另一编码视图中呈现但在时间上不与当前图片一致(例如,与当前图片具有不相同的捕获或输出时间)的图片被用作参考时,视图合成预测,当合成(渲染)图片被用作参考时,层间预测,其中编码层中呈现的图片被用作参考。
运动参数预测
运动参数预测-当可应用于Cb的运动模型的参数根据用于Rb编码的运动模型预测时。这种预测的示例包括MVP或运动矢量继承(MVI)。
在典型视频编解码器中,预测运动矢量通过预定方式创建,例如通过计算邻接块的编码或解码运动矢量的中值。另一用于创建运动矢量预测的方式是从时间参考图片中的邻接块和/或同位块中生成候选预测的列表并且将选中的候选作为运动矢量预测符进行信号传输。为了有效表示运动矢量,针对块特定预测运动矢量通常进行不同地编码。除了预测运动矢量值,还可以预测指向或参考先前编码/解码图片的参考索引。参考索引通常根据参考图片中的邻接块和/或同位块进行预测。此外,视频编解码器可以采用附加运动信息编码/解码机制(通常被称为归并/合并模式),其中包括针对每个可用或使用(例如,由编码模式确定)的参考图片列表的运动矢量和对应参考图片索引的所有运动场信息被预测并使用而不需要任何修改/校正。类似地,预测运动场信息使用参考图片中邻接块和/或同位块的运动场信息来实行,并且经使用的运动场信息在由可用邻接/同位块的运动场信息填充的运动场候选列表的列表中信号传输。
在编码多分量数据类型(诸如多视图视频加景深)的情况下,可用利用分量间预测。例如,描述视频数据模型的运动信息可以用于预测描述景深数据的运动信息。
变换编码
此概念通常被用于从视频数据中呈现的空间冗余中受益。
视频采样的块(原始或预测)通常用1D、3D或3D变换进行处理以产生更紧凑的基于频率的表现。用于此目的的变换类型通常被选择用以提供针对特定信号类型的高编码增益以及以最小量的非零变换系数表示采样的输入块。这种变换的示例是2D可分离离散余弦变换(DCT)、正弦变换或其他变体。
熵编码
一旦视频数据的采样由预测和变换系数和/或变量建模,此模型的参数可能仍保存统计冗余。各种熵编码方法被用于以更紧凑的方式表示此信息。这种方法的非限制示例包括可变长度编码(VLC)或上下文自适应二进制算术编码(CABAC)。
视频编码中的运动补偿预测(MCP)
在MCP中,当前块Cb的采样根据参考块Rb的采样预测。MCP的参数可以包括运动信息,其可以包括标识源(参考图片)、块大小(分区或预测单元PU)以及一个或多个运动矢量的一个或多个参考索引。这些运动矢量中的每个运动矢量可以表示待编码(编码器侧)或解码(解码器侧)图片中块与先前重构或解码图片之一中的预测源块的位移。针对使用帧间预测的预测单元,可以指示参考图片之一中的相似块,并且如果使用了双预测,则还可以指示参考图片之一中的第二相似块。预测块的位置被编码为指示预测块相对于正被编码的块的位置的运动矢量。
为了高效表示运动矢量,其可以针对特定块预测的运动矢量进行差异编码。在许多视频编解码器中,预测运动矢量以预定方式创建,例如通过计算邻接块的编码或解码运动矢量的中值。某些时候被称为高级运动矢量预测(AMVP)的用于创建运动矢量预测的另一方式用于根据参考图片中的邻接块和/或同位块生成候选预测列表,并且将选定的候选作为运动矢量预测符进行信号传输。
许多编码标准允许使用多个参考图片进行帧间预测。许多编码标准(诸如H.264/AVC和HEVC)包括比特流中使得解码器能够在不止一个参考图片可以被使用时创建待在帧间预测中使用的一个或多个参考图片列表。对参考图片列表的参考图片索引可以用于指示多个参考图片中的哪个参考图片用于针对特定块的帧间预测。标识参考图片的参考图片索引或任意其他类似信息因此可以与运动矢量相关联或者认为是其一部分。参考图片索引可以被编码器编码至比特流是某些帧间编码模式或者其可以例如使用某些其他帧间编码模式中的邻居块(由编码器和解码器)导出。在H.264/AVC和HEVC的许多编码模式中,针对帧间预测的参考图片通过索引指示到参考图片列表。索引可以利用可变长度编码进行编码,其通常使得较小索引具有针对对应语法元素的较短值。在H.264/AVC和HEVC中,两个参考图片列表(参考图片列表0和参考图片列表1)针对每个双预测或双预测的(B)切片生成,并且一个参考图片列表(参考图片列表0)针对每个帧间编码或单预测(P)切片形成。另外,针对草案HEVC标准中的B切片,组合列表(列表C)可以在最终参考图片列表(列表0和列表1)已经被构建之后进行构建。组合列表可以用于B切片中的单预测(也被称为单向预测)。
AMVP可以例如操作如下,虽然AMVP的其他类似实现也可以例如具有不同的候选位置集以及具有候选位置集的候选场地。两个空间运动矢量预测符(MVP)可以被导出并且空间运动矢量预测符(TMVP)可以被导出。其在图2a中所示的位置中被选择:位于当前预测块上的三个空间MVP候选位置(B0、B1、B2)以及位于当前预测块左边的两个空间MVP候选位置(A0、A1)。在每个候选位置集(B0、B1、B2)或(A0、A1)的预定顺序中可用的(例如,驻留在相同切片,是帧间编码等)第一运动矢量预测符可用被选择以表示运动矢量补偿中的预测位置(上或左)。针对TMVP的参考索引可以由编码器指示在切片报头(例如,collocated_ref_idx语法元素)中。从同位图片获得的运动矢量可以根据TMVP的参考图片、同位图片和当前图片的图片顺序计数差异的比例进行缩放。此外,冗余检测可以在候选之间执行以移除相同候选,这可以使得候选列表中包括零个MV。运动矢量预测符例如通过指示空间MVP的方向(上或左)或者TMVP候选的选择在比特流中进行指示。
除了预测运动矢量值,还可以预测先前编码/解码图片的参考索引。参考索引可以根据时间参考图片中的邻接块和/或同位块进行预测。
此外,许多高效视频编解码器采用附加运动信息编码/解码机制,通常被称为归并/合并模式,其中包括针对每个可用参考图片列表的对应参考图片索引和运动矢量的所有运动场信息被预测并使用而不需要任何修改/校正。类似地,预测运动场信息使用时间参考图片中的邻接块和/或同位块的运动场信息实行,并且所使用的运动场信息在由可用邻接/同位块的运动场信息填充的运动场候选列表的列表中进行信号传输。
在合并模式中,块/PU的所有运动信息可以被预测并使用而不需要任何修改/校正。前文提到的针对PU的运动信息可以包括
1.PU是仅使用参考图片列表0的单预测或者PU是仅使用参考图片列表1的单预测或者PU是使用参考图片列表0和参考图片列表1两者的双预测的信息
2.对应于参考图片列表0的运动矢量值
3.参考图片列表0中的参考图片索引
4.对应于参考图片列表1的运动矢量值
5.参考图片列表1中的参考图片索引
类似地,预测运动信息使用时间参考图片中的邻接块和/或同位块的运动信息实行。通常,列表(经常被称为合并列表)通过包括与可用邻接/同位块相关联的运动预测来构建,并且该列表中选定的运动预测候选的索引被信号传输。继而,选定的候选的运动信息被拷贝至当前PU的运动信息。当合并机制被用于整个CU并且针对CU的预测信号被用作重构信号时(即,预测残差不被处理),此编码/解码CU的类型通常被命名为跳跃模式或基于跳跃模式的合并。除了跳跃模式,合并机制还被用于单独PU(不必整个CU像在跳跃模式中),并且在此情况下,预测残差可以被用于改进预测质量。此类预测模式通常被命名为帧间合并模式。
合并列表中候选之一可以是TMVP候选,其可以从指示或推测的参考图片(诸如例如使用collocated_ref_idx语法元素等例如在切片报头中指示的参考图片)中的同位块导出。
在HEVC中,当运动编码模式是合并模式时,被称为针对合并列表中时间运动矢量预测的目标参考索引被设置为0。当HEVC中利用时间运动矢量预测的运动编码模式是高级运动矢量预测模式时,明确指示(例如,针对每个PU)目标参考索引值。
当目标参考索引值已经被确定时,时间运动矢量预测的运动矢量值可以被导出如下:计算位于与当前预测单元的右下角邻居同位的块的运动矢量。其中同位块驻留的图片可以例如根据如上文所述切片报头中的信号传输的参考索引(collocated_ref_idx)确定。在同位块确定的运动矢量针对第一图片顺序计数差异与第二图片顺序计数差异的比率进行缩放。第一图片顺序计数差异在包含同位块的图片与该同位块的运动矢量的参考图片之间导出。第二图片顺序计数差异在当前图片与目标参考图片之间导出。如果目标参考图片与同位块的运动矢量的参考图片之一但不是两者是长期参考图片(而另一个是短期参考图片),则TMVP候选可以被认为不可用。如果目标参考图片与同位块的运动矢量的参考图片两者都是长期参考图片,则没有基于POC的运动矢量缩放可以被应用。
可缩放视频编码
可缩放视频编码指的是其中一个比特流可以包含内容以不同比特率、分辨率或帧率的多个表示。在这些情况下,接收器可以取决于其特性(例如,与显示器设备匹配最好的分辨率)提取期望的表示。备选地,服务器或网络元件可以取决于例如网络特性或接收器的处理能力提取待向接收器传输的比特流的各部分。可缩放比特流通常包括提供可用的最低质量视频的“基础层”以及在与更低层一起接收和解码时增强视频质量的一个或多个增强层。为了改进针对增强层的编码效率,该层的编码表示通常取决于更低层。例如,增强层的运动和模式信息可以从更低层预测。类似地,更低层的像素数据可以用于创建增强层的预测。
针对质量可缩放性(还被称为信噪比或SNR)和/或空间可缩放性的可缩放视频编解码器可以实现如下。针对基础层,使用常见的非可缩放视频编码器和解码器。基础层的重构/解码图片被包括在针对增强层的参考图片缓冲器中。在H.264/AVC、HEVC和使用帧间预测的参考图片列表的类似编解码器中,基础层解码图片可以被插入参考图片列表用于增强层图片(类似于增强层的解码参考图片)的编码/解码。因此,编码器可以选择基础层参考图片作为帧间预测参考并且指示其通常与编码比特流中的参考图片一起使用。解码器从比特流(例如,参考图片索引)解码基础层图片被用作针对增强层的帧间预测参考。当解码基础层图片被用作针对增强层的预测参考时,其被称为层间参考图片。
另一类型的缩放性是标准可缩放性。在此类型中,基础层和增强层属于不同视频编码标准。示例情况是其中基础层用H.264/AVC编码而增强层用HEVC编码。此类可缩放性背后的动机是通过此方式,相同比特流可以由传统基于H.264/AVC的系统以及新的基于HEVC的系统两者解码。
可缩放视频编码和/或解码方案可以使用多循环编码和/或解码,其特征如下。在编码/解码中,基础层图片可以被重构/解码以被用作针对相同层中以编码/解码顺序的后续图片的运动补偿参考图片,或者用作层间(或视图间或分量间)预测的参考。重构/解码基础层图片可以被存储在DPB中。增强层图片同样可以被重构/解码以被用作针对相同层中以编码/解码顺序的后续图片的运动补偿参考图片,或者用作针对更高增强层(如果有的话)的层间(或视图间或分量间)预测的参考。除了重构/解码采样值,基础/参考层的语法元素值或从基础/参考层的语法元素值导出的变量可以被用于层间/分量间/视图间预测。
虽然上文描述了具有包括增强层和基础层的两个缩放性层的可缩放视频编解码器,但是应当理解该描述可以被推广至具有不止两个层的可缩放性层级中的任意两个层。在此情况下,第二增强层可以取决于编码和/或解码处理中的第一增强层,并且该第一增强层因此可以被认为是针对第二增强层的编码和/或解码的基础层。此外,应当理解层间参考图片可能来自参考图片缓冲器中的不止一个层或者增强层的参考图片列表,并且这些层间参考图片中的每个层间参考图片可以被认为驻留在针对正被编码和/或解码的增强层的基础层或参考层中。
在可缩放多视图编码中,相同比特流可以包含多个视图的编码视图分量,并且至少某些编码视图分量可以使用质量和/或空间可缩放性进行编码。
现在正在努力指定对HEVC标准的可缩放和多视图扩展。HEVC的多视图扩展(被称为MV-HEVC)类似于H.264/AVC的MVC扩展。类似于MVC,在MV-HEVC中,视图间参考图片可以包括在正被编码或解码的当前图片的参考图片列表中。HEVC的可缩放扩展(被称为SHVC)计划被指定,使得其使用多循环解码操作(不同于H.264/AVC的SVC扩展)。目前,用于实现可缩放性的两个设计是针对SHVC研究的。一个是基于参考索引,其中层间参考图片可以包括在正被编码或解码的当前图片的一个或多个参考图片列表中(如上文所述)。另一个可以被称为IntraBL或TextureRL,其中特定编码模式(例如,在CU级)用于使用针对增强层图片中预测的参考层图片的解码/重构采样值。SHVC开发关注于空间和粗粒度质量可缩放性的开发。
可以使用许多针对MV-HEVC和基于参考索引的SHVC的相同语法结构、语义和解码处理。此外,还可以使用用于景深编码的相同语法结构、语义和解码处理。以下,术语HEVC的可缩放多视图扩展(SMV-HEVC)用于指编码处理,解码处理、语法和语义,其中大部分相同(解)编码工具被使用而不考虑可缩放类型并且其中基于参考索引的方法被使用而不需要在切片报头下的语法、语义或解码过程中进行任何改变。SMV-HEVC可以不限于多视图、空间和粗粒度质量可缩放性但还可以支持其他类型的可缩放性,诸如景深增强视频。
针对增强层编码,HEVC的相同概念和编码工具可以用于SHVC、MV-HEVC和/或SMV-HEVC。然而,附加层间预测工具可以被集成到SHVC、MV-HEVC和/或SMV-HEVC编解码器,该附加层间预测工具采用参考层中已经编码的数据(包括重构图片采样和运动参数又被称为运动信息)用于高效编码增强层。
在MV-HEVC、SMV-HEVC和基于参考索引的SHVC解决方案中,块级语法和解码处理不改变以支持层间纹理预测。仅高级语法被修改(相对于HEVC的语法),使得来自相同访问单元的参考层的重构图片(上采样如果需要)可以被用作用于编码当前增强层图片的参考图片。层间参考图片以及时间参考图片被包括在参考图片列表中。信号传输的参考图片索引用于指示当前预测单元(PU)是否根据时间参考图片或层间参考图片预测。此特征的使用可以由编码器控制,并且在比特流中(例如,在视频参数集、序列参数集、图片参数和/或切片报头中)指示。例如,指示可以特定于增强层、参考层、增强层和参考层对、特定时间ID值、特定图片类型(例如,RAP图片)、特定切片类型(例如,P和B切片而没有I切片)、特定POC值的图片和/或特定访问单元。指示的范围和/或持久性可以连同指示本身被指示和/或可以被推测。
MV-HEVC、SMV-HEVC和基于参考索引的SHVC解决方案中的参考列表可以使用特定处理初始化,其中层间参考图片(如果有的话)可以包括在如下构建的初始参考图片列表中。例如,时间参考可以通过与HEVC中参考列表构建相同的方式首先被添加至参考列表(L0、L1)。在这之后,层间参考可以在时间参考之后被添加。层间参考图片可以例如从层依赖性信息推测,诸如如上文所述从VPS扩展中导出的RefLayerId[i]变量。如果当前增强层切片是P切片,则层间参考图片可以被添加至初始参考图片列表L0,并且如果当前增强层切片是B切片,则可以被添加至初始参考图片列表L0和L1两者。层间参考图片可以以特定顺序被添加至参考图片列表,针对两个参考图片列表该顺序可以但不是必须相同。例如,相比于初始参考图片列表0的顺序,向初始参考图片列表1添加层间参考图片的顺序可以与之相反使用。例如,层间参考图片可以通过nuh_layer_id的升序插入初始参考图片0,而相反顺序可以用于初始化初始参考图片列表1。
在编码和/或解码处理中,层间参考图片可以被视为长期参考图片。
在SMV-HEVC和基于参考索引的SHVC解决方案中,层间运动参数预测可以通过将层间参考图片设置为针对TMVP推导的同位参考图片来执行。两个层之间的运动场映射处理可以被执行例如以避免TMVP推导中的块级解码处理修改。运动场映射还可以被执行用于多视图编码,但是MV-HEVC的现有草案不包括这种处理。运动场映射特征的使用可以由编码器控制并且在比特流中(例如,在视频参数集、序列参数集、图片参数和/或切片报头中)指示。指示可以特定于增强层、参考层、增强层和参考层对、特定时间ID值、特定图片类型(例如,RAP图片)、特定切片类型(例如,P和B切片而没有I切片)、特定POC值的图片和/或特定访问单元。指示的范围和/或持久性可以连同指示本身被指示和/或可以被推测。
在针对空间可缩放性的运动场映射处理中,上采样的层间参考图片的运动场基于相应参考层图片的运动场取得。针对上采样层间参考图片的每个块的运动参数(其可以例如包括水平和/或垂直运动矢量值和参考索引)和/或预测模式可以从参考层图片中同位块的对应运动参数和/或预测模式导出。用于上采样层间参考图片中运动参数和/或预测模式的推导的块大小可以例如是16×16。该16×16块大小与HEVCTMVP推导过程中的相同,其中使用了参考图片的压缩运动场。
HEVC的TMVP处理限于合并模式中的每切片一个目标图片和一个同位图片(每切片)。当在HEVC顶部应用基于参考索引的可缩放性时,HEVC的TMVP处理具有如在以下合并模式的情况下解释的受限可应用性。在该示例中,目标参考图片(具有参考图片列表中的索引0)是短期参考图片。如果指的是短期(ST)参考图片,则同位PU中的运动矢量被缩放以形成当前PU(PU0)的合并候选,其中在合并模式处理期间MV0被缩放到MV0’。然而,如果同位PU具有关于视图间参考图片的运动矢量(MV1)(标记为长期),则该运动矢量不用于预测当前PU(PU1)。
存在大量包含关于视图间参考图片的运动矢量的同位PU(在同位图片中),而目标参考索引(等于0)指示短期参考图片。因此,禁用来自那些运动矢量的预测使得合并模式效率更低。存在克服此问题的建议,其中某些建议将在以下段落中解释。
附加目标参考索引可以在比特流中由编码器指示,并且由解码器从比特流中解码和/或由编码器和/或解码器推测。PU1的同位块的MV1可以用于形成视差运动矢量合并候选。通常,当参考索引等于0表示短期参考图片时,附加目标参考索引用于表示长期参考图片。当参考索引等于0表示长期参考图片时,附加目标参考索引用于表示短期参考图片。
用于指示或推测附加参考索引的方法包括但不限于:
-指示比特流中例如切片片段报头语法结构内的附加目标参考索引。
-导出等于最小参考索引的改变目标参考索引,其具有与参考索引0的标记不同的标记(如用作短期或长期参考)。
-在同位PU指向具有与参考索引0不同的层标识符(等于层A)的参考图片的情况下,导出改变的目标参考索引等于具有等于层A的层标识符的最小参考索引。
在合并模式处理中,在默认目标图片(具有参考索引0)的标记(如短期或长期参考图片)与同位块的参考图片的标记相同时,使用该默认目标图片。否则(即,对应于附加参考索引的参考图片的标记(如短期或长期参考图片)与同位块的参考图片的标记相同时),使用由附加参考索引标识的目标图片。
访问单元和编码图片可以例如通过各种HEVC扩展中的以下方式之一进行限定:
-编码图片可以被限定为包括具有nuh_layer_id的特定值的VCLNAL单元的图片的编码表示,并且包含该图片的所有编码树单元。访问单元可以被限定为根据指定分类规则彼此相关联、在解码顺序上连贯的NAL单元集,并且包含正好一个编码图片。
-编码图片可以被限定为包括具有nuh_layer_id的特定值的VCLNAL单元的图片的编码表示,并且包含该图片的所有编码树单元。访问单元可以被限定为包括具有nuh_layer_id等于0的编码图片以及具有非零nuh_layer_id的零个或更多编码图片。
-编码图片可以被限定为用于(仅)包括nuh_layer_id等于0的VCLNAL单元的编码图片,层图片可以被限定以包括特定非零nuh_layer_id的VCLNAL单元。访问单元可以被限定为包括编码图片和零个或更多层图片。
术语时间瞬间或时间点或时间实体或时间实例可以被定义为表示相同的捕获时间或输出时间或输出顺序。例如,如果第一视图的第一视图分量与第二视图中的第二视图分量同时被捕获,这两个视图分量可以被认为是具有相同时间点。访问单元可以被定义为包含相同时间点的图片(或视图分量),并且因此在这种情况下驻存在访问单元中的图片可以被认为是具有相同时间点。具有相同时间点的图片可以(例如,由编码器)使用多种手段来指示并且可以(例如,通过解码)使用诸如图片顺序数(POC)值或时间戳(例如,输出时间戳)的多种手段来识别。
H.264/AVC的多视图扩展
H.264/AVC标准由国际电信联盟(ITU-T)的电信标准化部的视频编码专家组(VCEG)的联合视频组(JVT)和国际标准化组织(ISO)/国际电工委员会(IEC)的活动图像专家组(MPEG)开发。H.264/AVC标准由两个父标准化组织发布,并且其被称为ITU-T推荐H.264和ISO/IEC国际标准14496-10,还被称为MPEG-4部分10高级视频编码(AVC)。已经存在多个版本的H.264/AVC标准,将新缩放或特征集成到该规范。这些缩放包括可缩放视频编码(SVC)和多视图视频编码(MVC)。
类似于较早的视频编码标准,在H.264/AVC中规定了比特流语法和语义以及针对无差错比特流的解码过程。该编码过程不是特定的,但是编码器必须生成一致的比特流。比特流和解码器一致性可以利用假想的参考解码器(HRD)来验证,其在H.264/AVC的附件C中指定。该标准包含有助于处置传输错误和丢失的编码工具,但是在编码中对工具的使用是可选的并且没有解码过程已经被规定用于错误的比特流。
针对H.264/AVC编码器的输入和H.264/AVC解码器的输出的基本单元是图片。图片可以是帧或字段。帧包括亮度采样以及可能还有对应的色度采样的矩阵。字段是帧的备选采样行的集合并且可以在源信号被交错时被用作编码器输入。宏块是亮度采样的16x16块和色度采样的对应块。图片被分割为一个或多个切片组,并且切片组包含一个或多个切片。切片包括在光栅扫描中连续排序在特定切片组内的整数个宏块。
针对H.264/AVC编码器的输出和H.264/AVC解码器的输入的基本单元是网络抽象层(NAL)单元。部分丢失或毁坏的NAL单元的解码通常是困难的。用于通过面向分组的网络传输或存储到结构文件中,NAL单元可以被封装成分组或类似的结构。比特流格式已经被规定在H.264/AVC和HEVC中以用于不提供帧结构的传输或存储环境。比特流格式通过将启动代码附接在每个NAL单元的前面来将NAL单元彼此分开。为了避免对NAL单元边界的错误检测,编码器运行面向字节的启动代码仿真预防算法,其在启动代码将不会发生时已经仿真预防字节添加到NAL单元载荷。为了实现在面向分组的系统和面向流的系统之家的直接网关操作,启动代码仿真预防可以总是被执行,无论是否使用比特流格式。
切片和切片组
H.264/AVC如许多其他视频编码标准允许将编码图片拆分成切片。图片中预测跨切片边界被禁用。因此,切片能够被认为是将编码图片拆分成独立可解码的片的方式,并且切片因此通常被认为是用于传输的基本单元。
H.264/AVC的某些配置文件支持每编码图片使用多达八个切片组。当使用不止一个切片组时,图片被分成切片组映射单元,其在使用宏块自适应帧字段(MBAFF)编码时等同于两个垂直连续宏块,否则等同于宏块。图片参数集包含如下数据,基于此数据,图片的每个切片组映射单元与特定切片组相关联。切片组可以包含任意切片组映射单元,包括非邻接映射单元。当针对图片指定不止一个切片分组时,使用标准的灵活宏块排序(FMO)特征。
在H.264/AVC中,切片包括在特定切片组内以光栅扫描顺序的一个或多个连续宏块(或宏块对,当使用MBAFF时)。如果仅使用了一个切片组,则H.264/AVC切片包含以光栅扫描顺序的连续宏块并且因此类似于许多先前编码标准中的切片。在H.264/AVC的某些配置文件中,编码图片的切片可以在比特流中相对于彼此以任意顺序出现,其被称为任意切片排序(ASO)特征。否则,切片必须在特定切片组中以光栅扫描顺序。
在HEVC中,图片可以被分割成图块,图块是矩形的并且包含整数个CTU。到图块的分割形成规则网格,其中图块的高度和宽度最多彼此相差一个LCU。CTU的解码顺序(和比特流顺序)使得图块的CTU以解码顺序(和比特流顺序)连续。在图块中,CTU的解码顺序(和比特流顺序)被称为光栅扫描顺序。然而,应当注意HEVC包括被称为波前编码工具,其可以使得CTU行能够在图块中并行解码。图块的默认解码顺序(和比特流顺序,还被称为图块扫描顺序)还是光栅扫描顺序。然而,图块可以彼此独立解码,除了跨图块边界的潜在过滤(其使用可以由编码器在比特流中控制并指示)。
在HEVC中,切片可以被定义为包含在一个独立切片片段和在相同访问单元内的下一独立切片(如果有的话)前面的所有随后从属切片片段(如果有的话)中的整数个编码树单元。在HEVC中,切片片段可以被定义为在图块扫描中连续排序的并且包含在单个NAL单元中的整数个编码树单元。将每个图片划分成切片片段是分割。在HEVC中,独立的切片片段可以被定义为针对其切片片段报头的语法元素的值不是从前面的切片片段的值推出的切片片段,并且从属的切片片段被定义为针对其切片片段报头的一些语法元素的值是从在解码顺序中的前面的独立切片片段的值推出的切片片段。在HEVC中,切片报头可以被定义为是当前切片片段的独立切片片段或是在当前从属切片片段前面的独立切片片段的切片片段报头,并且切片片段报头被定义为包含与表示在切片片段中的第一编码树单元或所有编码树单元有关的数据元素的编码切片片段的一部分。
网络抽象层(NAL)单元
H.264/AVC及其扩展的NAL单元包括报头和净荷。在H.264/AVC及其扩展中,NAL单元报头指示NAL单元的类型以及NAL单元中包含的编码切片是参考图片还是非参考图片的一部分。针对SVC和MVCNAL单元的报头附加地包含与缩放性和多视图层级有关的各种指示。
在H.264/AVC及其扩展中,NAL单元可以被分类成视频编码层(VCL)NAL单元和非VCLNAL单元。VCLNAL单元是编码切片NAL单元、编码切片数据部分NAL单元或者VCL前缀NAL单元。编码切片NAL单元包含表示一个或多个编码宏块的语法元素,其中每个语法元素对应于未压缩图片中的采样块。存在四种类型的编码切片NAL单元:瞬间解码刷新(IDR)图片中的编码切片、非IDR图片中的编码切片、辅助编码图片的编码切片(诸如阿尔法平面)和编码切片扩展(SVC切片不在基础层中或者MVC切片不在基础视图中)。三个编码切片数据分区NAL单元的集合包含与编码切片相同的语法元素。编码切片数据分区A包括切片的宏块报头和运动矢量,而编码切片数据分区B和C分别包括针对帧内宏块和帧间宏块的编码残差数据。应当注意,对切片数据分区的支持仅包括在H.264/AVC的某些配置文件中。VCL前缀NAL单元先于SVC和MVC比特流中基础层的编码切片,并且包含相关联编码切片的可缩放层间的指示。
非VCLNAL单元可以是以下类型之一:序列参数集、图片参数集、辅助增强信息(SEI)NAL单元、访问单元分界符、序列NAL单元的结尾、流NAL单元的结尾或填充器数据NAL单元。对解码的图片的重建可能需要参数集,然而其他非VCLNAL单元对于对解码的采样值的重建不是必要的并且服务以下呈现的其他目的。
通过编码的视频序列保持未改变的参数被包括在序列参数集中。除了可能由解码过程需要的参数,序列参数集可以可选地包含视频可用性信息(VUI),其包括对于缓冲、图片输出定时、渲染和资源预留重要的参数。图片参数集包含这样的参数,其有可能在若干经编码的图片中未被改变。H.264/AVC比特流中不存在图片报头但是频繁改变的图片级数据在每个切片报头中重复并且图片参数集承载剩余的图片级参数。H.264/AVC语法允许序列和图片参数集的许多实例,并且每个实例利用唯一的标识符来标识。每个切片报头包括针对包含该切片的图片的解码活动的图片参数集的标识符,并且每个图片参数集包含活动的序列参数集的标识符。因此,对图片和序列参数集的传输不一定必须与切片的传输准确地同步。相反,在它们被参考之前的任何时刻接收活动序列和图片参数集是足够的,这允许使用与用于切片数据的协议相比更可靠的传输机制对“带外”参数集的传输。例如,参数集能够被包括作为用于H.264/AVCRTP会话的会话描述中的参数。如果在带内传输参数集,则它们能够被重复以改进误差鲁棒性。
SEINAL单元包含一个或多个SEI消息,其不是输出图片的解码所要求的但是可以辅助相关的过程,例如图片输出定时、渲染、误差检测、误差掩盖以及资源预留。若干SEI消息在H.264/AVC中被指定,并且用户数据SEI消息使得组织和公司能够指定用于其自己使用的SEI消息。H.264/AVC包含针对指定的SEI消息的语法和语义但是没有定义用于在接收方中处理消息的过程。因此,编码器需要在它们创建SEI消息时遵循H.264/AVC标准,并且符合H.264/AVC标准的解码器不需要处理SEI消息以获得输出顺序一致性。将SEI消息的语法和语义包括在H.264/AVC中的原因之一在于允许不同系统规范相同地解释辅助信息并且因此交互操作。意图在于系统规范能够要求在编码端中和在解码端中两者使用特定SEI消息,并且附加地,能够指定用于在接收方中处理特定SEI消息的过程。
在H.264/AVC及其扩展中,经编码的图片包括图片的解码所需要的VCLNAL单元。经编码的图片可以是基本编码图片或冗余编码图片。基本编码图片被使用在对有效比特流的解码过程中,然而,冗余编码图片是应当仅仅在基本编码图片不能够被成功地解码时被解码的冗余表示。
在H.264/AVC及其扩展中,访问单元包括基本编码图片和与其相关联的那些NAL单元。NAL单元在访问单元内的出现顺序被约束如下。可选的访问单元分界符NAL单元可以指示访问单元的开始。其跟随有零个或多个SEINAL单元。接下来,基本编码图片的经编码的切片出现,跟随有针对零个或多个冗余编码图片的经编码的切片。
在H.264/AVC及其扩展中,经编码的视频序列被定义为在解码顺序中从IDR访问单元(包括IDR访问单元)到下一IDR访问单元(不包括下一IDR访问单元)或到比特流的结尾(无论之前是否出现)的连续的访问单元的序列。
图片组(GOP)和其特性可以被定义如下。无论任何前面的图片是否被解码,GOP能够被解码。开放的GOP这样的图片组,其中在解码从开放GOP的初始内部图片开始时在输出顺序中在初始内部图片前面的图片可能不是可正确解码的。换言之,开放GOP的图片可以(在帧间预测中)指代属于前面的GOP的图片。H.264/AVC解码器能够从H.264/AVC比特流中的恢复点SEI消息识别开始开放GOP的内部图片。HEVC解码器能够识别开始开放GOP的内部图片,因为特定的NAL单元类型、CRANAL单元类型能够被用于其经编码的切片。封闭GOP是这样的图片组,其中在解码从封闭GOP的初始内部图片开始时所有图片能够被正确解码。换言之,封闭GOP中的图片不指代之前GOP中的任何图片。在H.264/AVC和HEVC中,封闭GOP可以被认为从IDR访问单元开始。因此,封闭GOP结构具有与开放GOP结构相比更多误差恢复潜力,然而以压缩效率的可能降低为代价。开放GOP编码结构可能在压缩中是更有效的,由于在参考图片的选择中的更大灵活性。
参考图片缓冲器构建
在H.264/AVC中,参考图片列表用于存储用于P、B或SP切片的帧间预测的参考图片集。针对P或SP切片,存在一个参考图片列表,表示为列表0。针对B切片,存在两个参考图片列表,表示为列表0和列表1。播放顺序中早于当前图片的参考图片根据降序被放入列表0,并且晚于当前图片的参考图片根据升序被放入列表1。参考图片根据参考图片与当前图片之间的距离分类。
由于多视图视频向编解码器提供了利用视图间冗余的可能性,解码的视图间帧也被包括在参考图片缓冲器中。
根据H.264/MVC扩展,时间参考图片首先被输入至参考图片列表,继而如果视图间预测可用,则视图间预测图片被附加在列表的尾部。另外,MVC提供了参考图片列表重新排序(RPLR)机制,其例如允许编码器和解码器移动(切换)参考图片列表中时间参考图片之前的视图间参考图片。
运动矢量
在许多视频编解码器中,包括H.264/AVC和HEVC,运动信息由与每个经运动补偿的图像块相关联的运动矢量来指示。这些运动矢量中的每个运动矢量表示将(在编码器侧)被编码或(在解码器侧)被解码的图片中的图像块和先前编码或解码的图像(图片)中的一个图像(图片)中的预测源块的位移。H.264/AVC和HEVC(如许多其他视频压缩标准)将图片分成矩形网,针对每个矩形参考图片之一中的较小块用于帧间预测。预测块的位置被编码为指示预测块相对于正被编码块的位置的运动矢量。
帧间预测过程的特征在于例如使用了一个或多个以下因素。
运动矢量表示的精度
例如,运动矢量可以是四分之一像素精度、二分之一像素精度或者全像素精度,并且可以使用有限脉冲响应(FIR)滤波器来获得分数像素位置中的采样值。取决于相对于整数采样位置的小数采样位置可以使用不同滤波器和/或不同滤波器抽头值以及/或者可以级联滤波器。例如,6抽头滤波器可以用于在二分之一像素位置获得采样值,而双线性滤波器可以用于获得在整数和二分之一像素位置的采样值外的在四分之一像素位置的采样值。不同滤波器和/或不同滤波器抽头值可以用于不同颜色分量。例如,双线性滤波器可以用于色度分量,而具有更多数目抽头的滤波器可以用于亮度分量。
用于帧间预测的块分区
很多编码标准(包括H.264/AVC和HEVC)使得能够在编码器中选择其运动矢量应用于运动补偿预测的块的尺寸和形状,并且在比特流中指示所选择的尺寸和形状使得解码器能够重新产生在编码器中做出的运动补偿预测。
用于帧间预测的参考图片的数目
帧间预测的源是先前解码的图片。很多编码标准(包括H.264/AVC和HEVC)使得能够存储多个参考图片用于帧间预测并且使得能够基于块来选择所使用的参考图片。例如,在H.264/AVC中,可以基于宏块或者宏块分区来选择参考图片,在HEVC中,可以基于PU或者CU来选择参考图片。很多编码标准(诸如H.264/AVC和HEVC)在比特流中包括使得编码器能够创建一个或多个参考图片列表的语法结构。可以使用到参考图片列表的参考图片索引来指示多个参考图片中的哪个用于特定块的帧间预测。可以通过编码器在一些帧间编码模式下将参考图片索引编码到比特流中,或者可以例如通过在一些其他帧间编码模式中使用相邻的块来(通过编码器和解码器)导出参考图片索引。
使用多参考图片的功能可以用于标识或标签图片,使得其可以由语法元素和过程指代。例如,图片或帧数或图片顺序计数(POC)可以用于标识或标签图片等。这些概念在以下段落中简要描述。
一些视频编码格式(诸如H.264/AVC)包括语法元素frame_num,其用于与多个参考图片相关的各种解码过程。在H.264/AVC中,用于IDR图片的frame_num的值为0。用于非IDR图片的frame_num的值等于按照解码顺序以1渐增的在前的参考图片的frame_num(在模运算中,即frame_num的值在frame_num的最大值之后包绕到0)。
H.264/AVC和HEVC包括图片顺序计数(POC)的概念。POC的值针对每个图片被取得并且按照输出顺序随着图片位置的增加而不减小。POC因此指示图片的输出顺序。POC可以用在例如用于双预测切片的时间直接模式的运动矢量的隐含缩放的解码过程中,用于隐含地得到的加权预测的权重的解码过程中,以及用于参考图片列表初始化的解码过程中。另外,POC可以用于验证输出顺序一致性。在H.264/AVC中,相对于在前的IDR图片或者包含将所有的图片标记为“未用于参考”的存储器管理控制操作的图片来规定POC。
运动矢量预测
为了在比特流中高效地表示运动矢量,可以关于块特定的预测运动矢量对运动矢量差异地编码。在很多视频编解码器中,以预定义的方式(例如通过计算相邻块的已编码或已解码运动矢量的中值)来创建预测运动矢量。创建运动矢量预测的另一方式(有时被称为高级运动矢量预测(AMVP))是根据时间参考图片中的相邻的块和/或共同定位的块来生成候选预测的列表并且以信号传输所选择的候选作为运动矢量预测。除了预测运动矢量值,还可以预测先前已编码/已解码图片的参考索引。通常根据时间参考图片中的相邻的块和/或共同定位的块来预测参考索引。通常跨切片边界禁用对运动矢量的差异编码。
多假设运动补偿预测
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。
运动参数类型或运动信息可以包括但不限于以下类型中的一个或多个:
1)预测类型(例如,帧内预测、单预测、双预测)和/或参考图片的数目的指示;
2)预测方向的指示,诸如帧内(还被称为时间)预测、层间预测、视图间预测、视图合成预测(VSP)和帧间分量(其可以每参考图片和/或每预测类型进行指示并且在某些实施例中视图间和视图合成预测可以一起被认为是一个预测方向)和/或
3)参考图片类型的指示,诸如短期参考图片和/或长期参考图片和/或层间参考图片(其可以例如每参考图片进行指示)
4)对参考图片列表的参考索引和/或参考图片的任意其他标识符(其可以例如每参考图片进行指示并且其类型可以取决于预测方向和/或参考图片类型并且其可以伴有其他相关信息片,诸如参考索引向其应用的参考图片列表等)
5)水平运动矢量分量(其可以例如每预测块或每参考索引等进行指示)
6)垂直运动矢量分量(其可以例如每预测块或每参考索引等进行指示)
7)一个或多个参数,诸如包含或与运动参数相关联的图片与其参考图片之间的图片顺序计数差和/或相对相机分离,其可以用于在一个或多个运动矢量预测过程中缩放水平运动矢量分量和/或垂直运动矢量分量(其中所述一个或多个参数可以例如每每个参考图片或每个参考索引等进行指示)
8)运动参数和/或运动信息向其应用的块的坐标,例如,亮度采样单元中块的左上方采样的坐标
9)运动参数和/或运动信息向其应用的块的扩展(例如,宽和高)。
与图片相关联的运动字段可以被认为包括针对图片的每个编码块(诸如预测单元)产生的运动信息集。例如,运动字段可以由块的坐标访问。运动字段可以用于例如时间运动矢量预测(TMVP)或任意其他运动预测机制,其中除了当前(解)编码图片还使用用于预测的源或参考。
不同空间粒度或单元可以被应用于表示和/或存储运动字段。例如,可以使用空间单元的规则网格。例如,图片可以被分成特定大小的矩形块(在图片的边缘可能存在块的异常,诸如右边和底边)。例如,空间单元的大小可以等于比特流中编码器可以指示不同运动的最小大小,诸如亮度采样单元中的4×4块。例如,可以使用被称为压缩运动字段,其中空间单元可以等于预定或指示大小,诸如亮度采样单元中的16×16块,其大小可以大于用于指示不同运动的最小大小。例如,HEVC编码器和/或解码器可以通过如下方式实现,其中运动数据存储冗余(MDSR)针对每个解码运动字段执行(在使用针对图片间任何预测的运动字段之前)。在HEVC实现方式中,MDSR可以通过将可应用于16×16块的左上方采样的运动保持在压缩运动字段来将运动数据的粒度减小到亮度采样单元中的16×16块。编码器可以将与压缩运动字段的空间单元有关的指示编码为例如序列级语法结构中的一个或多个语法元素和/或语法元素值,诸如视频参数集或序列参数集。在某些(解)编码方法和/或设备中,运动字段可以根据运动预测的块分区(例如,根据HEVC标准的预测单元)来表示和/或存储。在某些(解)编码方法和/或设备中,规则网格和块分区的组合可以被应用使得与大于预定或指示空间单元大小的分区相关联的运动与那些分区相关联表示和/或存储,而与小于或未对齐预定或指示空间单元大小或网格的分区相关联的运动针对预定或指示单元进行表示和/或存储。
H.264/AVC和扩展中的运动矢量(MV)预测
H.264/AVC/MVC中指定的运动矢量(MV)预测利用相同图像的邻居块中出现的相关(空间相关)或先前编码图像中出现的相关(时间相关)。
图1示出了当前编码块(cb)的时空邻居用于H.264/AVC中MVP的候选。图1a示出了当前块cb的空间邻居块:A是紧靠左边的块,B是上面的块并且C是当前块cb对角线上面的块。图1b图示了时间邻居关系:当前块的时间邻居块针对图片与该当前块同位在相同位置,但是在不同时刻出现。应当理解,运动矢量MV指示对应块在(参考)图片中的位置。在许多编码方案中,运动矢量可以被认为包括参考图片的指示或与其相关联。在单预测情况下,一个运动矢量可以与预测单元等相关联。在双预测情况下,两个运动矢量可以与预测单元等相关联。
cb的MV可以通过编码器中的运动估计和运动补偿过程进行估计,并且可以利用差分脉冲编码调制进行编码以及可以通过运动矢量预测(MVp)与实际MV之间的残差的形式(如MVd(x,y)=MV(x,y)-MVp(x,y))包括在比特流中。
H.264/AVC中的通用MVP
在H.264/AVC和MVC的MVP中,可以计算当前分区或子分区紧靠上面(块B)、对角线上面靠右(块C)以及紧靠左边(块A)的宏块分区或子宏块分区的运动矢量的中值。
更具体地,H.264/AVC中MVp估计的通用过程可以描述如下:
1.当空间邻居块(A,B,C)中的仅一个块具有与当前块(cb)相同的参考索引时:
MVp=mvLXN(2)
2.当空间邻居块(A,B,C)中的不止一个块具有与cb相同的参考索引时:
MVp=median{mvLXA,mvLXB,mvLXC}(3)
其中mvLXA,mvLXB,mvLXC是空间邻居块的水平或垂直运动矢量分量(而不需要参考帧id)
3.图1c中示出了16×8和8×16宏块分区的特定情况,其中箭头指示待用于预测当前宏块分区的运动矢量的宏块分区。
除此之外,H.264/AVC指定了可以描述如下的若干特定情况。
P_SKIP模式
1)cb的参考帧索引总是0并且使用的列表是0(refIdxL0=0)
2)MV的利用(2)中指定的过程进行估计并且仅受限于块A和块B
3)如果没有可用的A和B邻居,则使用零值MVp
4)比特流中不包括dMV。cb的MV等于MVp
B_Skip(B_Direct_16×16和B_Direct_8×8)
1)以下两个MVP估计过程之一可以被使用:
a)空间直接模式:从空间邻居块计算MVP
b)时间直接模式:从时间邻居块计算MVP
2)MVP过程包括以下值的估计:
a)参考索引refIdxL0,refIdxL1
b)运动矢量mvL0和mvL1
3)空间直接模式估计如下:
a)参考索引预测和运动矢量预测的过程针对参考图片列表0和参考图片列表独立运行
b)在每个列表中选择最小正参考索引
c)针对每个参考图片列表应用(2)和(3)中描述的通用MVP过程以产生mvpL0和mvpL1。运动矢量预测mvpLX的每个分量由运动矢量mvpLXA、mvpLXB和mvpLXC的对应运动矢量分量的中值给出:
mvpLX[0]=Median(mvpLXA[0],mvpLXB[0],mvpLXC[0])
mvpLX[1]=Median(mvpLXA[1],mvpLXB[1],mvpLXC[1])
4)时间直接模式估计如下:
a)当前块对于列表0和列表1的MV通过MV的时间插值从邻居(时间方向)块计算
b)针对图1b,从当前帧到参考帧的POC距离被用作插值的因子:
mvL0=MVlist0=MV*(TDB/TDD)
mvL1=MVlist1=MV*(TDB-TDD)/TDD
其中
TDB是列表0中当前帧与参考帧之间的POC距离
TDB是列表0和列表1中参考帧之间的POC距离
MV是参考图片列表1的同位块的运动矢量
HEVC及扩展中的运动矢量预测(MVP)
HEVC指定两个运动矢量预测模式:AMVP和MERGE。
HEVC中的AMVP
HEVC指定当前块(Cb)的运动从位于该Cb的时空邻居的预测单元(PU块)中预测。图2a中示出了块布局以及所用的命名约定,其中当前编码块(Cb)的运动信息(矢量)从位于空间靠近Cb的PU(A0…B2)的运动信息预测。图2b示出了AMVP中使用的针对时间同位块的块布局和命名约定。此命名约定使用如下,其中符号参考图2a和图2b。
来自空间邻居关系的MVP推导
空间邻居关系中的运动信息使用如下。
考虑当前块Cb利用参考索引refIdx(Cb)和运动矢量MV(Cb)预测。在此注释中,refIdx(*)和MV(*)是返回用于当前块的参考索引和运动矢量的真实值的函数。AMVP解析块A0…B2并且产生针对运动矢量预测MVP0和MVP1的两个候选。这些候选通过以下逻辑确定:
MVP0=fun1(Cb,A0,A1)(1)
MVP1=fun1(Cb,B0,B1,B2)(2)
其中fun是执行针对Cb与块Ax和Bx的参考索引匹配并且如果那些参考索引匹配则返回块Ax(Bx)的运动矢量:
MVPx=fun1(Cb,x1,x2,x3)(3)
一旦MVP0和MVP1被导出,编码器选择待在比特流中对其进行指示的预测符(例如,关于MVP0或MVP1的索引)。例如,编码器可以计算这些预测符和解码器侧信号最佳预测符的损失,诸如比率失真损失。从比特流接收MVP索引等,解码器可以通过执行(1)或(2)导出运动矢量预测符。
在某些情况下,例如如果块{A0…B2}中没有块共享与Cb相同的refIdx,则表达式(1)或(2)可以不进行运动矢量预测符的确定。在此情况下,针对不可用MVP候选的运动矢量确定执行如下:
IfMPV0==Null
MVP0=fun2(Cb,A0,A1)(4)
IfMPV1==Null
MVP1=fun2(Cb,B0,B1,B2)(5)
其中函数fun2被确定:
MVPx=fun2(Cb,x1,x2,x3)(6)
其中scaleMV是返回邻居块的运动信息的函数,缩放以满足由refIdx(Cb)覆盖的POC距离。
MVP=scaleMV(x,refIdx(Cb),refIdx(x))(7)
其中dPOC(x)是返回托管块x的图片与运动预测通过refIdx项参考用于当前块x的图片之间的POC距离的函数。
Distance=dPOC(x)
{returnabs(POC(x)-POC(refIdx(x));}
因此,如果当前Cb的POC是C并且用于Cb的参考索引的POC是R:
dPOC=abs(C-R);
作为此章节描述的结束,其提到了由等式(1-2)和(4-5)指定的处理产生运动矢量,如果范围中的块是帧间编码,则使得refIdx!=-1。
来自时间邻居关系的MVP推导
由HEVC指定的AMVP要求导出两个MVP候选。如果某些情况下,一个或两个空间MVP候选仍然不可用,则来自时间同位块的运动信息被用作MVP。
在HEVC中,针对时间MVP(TMVP)选择的同位图片可以使用collocated_from_10_flag和collocated_ref_idx语法元素,两者均包括在切片片段报头语法结构中。
假设当前块Cb的左上角位于空间坐标(x,y),同位块ColocB的位置通过以下过程导出:
refIdx_ColocB=collocated_from_l0_flag?
RefList0[collocated_ref_idx]:RefList1[collocated_ref_idx];
{y_ColocB,x_ColocB}={y,x};
为了将运动信息MV(ColocB)调节到运动信息mV(Cb),可以执行运动矢量缩放,其中缩放因子是两个POC差值的比率,第一个是同位运动矢量的POC差值(即,同位图片与同位运动矢量指向的参考图片的POC差值)并且第二个是当前图片与由当前块的参考索引标识的图片(即,被称为目标图片)之间的POC差值。如果MVP1/MVP2不可用,则产生的时间MVP代替任意MVP1/MVP2。在时间MVP不可用的情况下,或者仍有一个MVP不可用的情况下,零运动矢量被用作预测符。
景深增强视频
假设期望在立体显示器上观看立体视频内容。
立体视频内容可以被认为包括分别向观众的左眼和右眼示出的图像对。这些图像对可以由特定立体相机设置捕获,其在相机之间具有特定立体基线距离。
图3示出了这种立体相机设置的简化2D模型。术语C1、C2表示相机中心位置,b是两个相机中心之间的距离(立体基线),f是相机的焦距以及X是真实3D场景中正被捕获的对象。真实世界对象X被投影到相机C1和C2捕获图像中的不同位置,这些位置分别为x1和x2。图像绝对坐标中x1与x2之间的水平距离可以被称为视差。
通过这种相机设置捕获的图像可以被称为立体图像。这些图像中出现的视差可能产生景深的错觉或印象的创建或增强。
然而,当前可用立体显示器可能在如观看距离和视差偏移之类的特性方面彼此显著不同。因此,所显示的立体视频中的景深或视差范围可能不匹配观看设备上的合适景深范围。这些参数的失配可能导致立体体验减少甚至使得观众的眼睛疲劳或恶心。为了避免这些不期望的影响,立体显示器和/或与立体显示器连接的视频播放器设备等应当能够自动适配立体内容中的视差,或者按需向观众提供此功能。
然而视差适配不是简单直接的过程。它需要具有不同基线距离的附加相机视图(即b可变)或者渲染在现实中不可用的虚拟相机视图。图4示出与这一解决方案相适的这样的多视图相机设置的简化模型。这一设置能够与若干用于立体基线的离散值一起提供捕获的立体视频内容并且因此允许立体显示器选择与查看条件相适的一对相机。
用于3D视觉的更高级方式是具有无需眼镜的多视图自动立体显示器(ASD)。见图4,ASD一次发射不止一个视图,但是该发射以如图所示查看者仅看见来自特定视点的立体对这样的方式被局限在空间中。另外,查看者能够从不同视点看见另一立体对,因此,如果连续视图是立体对并且它们被恰当地管理,则支持运动像差查看。
ASD技术可以能够在相同时间示出例如52或者更多不同图像,在这些图像中,仅一个立体对从具体视点可见。这支持例如在起居室环境中的无眼镜的多用户3D视觉。
以上描述的立体和ASD应用需要多视图视频在显示器可用。
H.264/AVC视频编码标准的多视图扩展(被称为多视图视频编码(MVC))已经标准化为H.264/AVC的注释。MVC比特流的基本视图可以由任何H.264/AVC解码器解码,这有助于向现有服务中引入立体和多视图内容。MVC允许视图间预测,这可以取决于相邻视图的相关程度而产生与对所有视图的独立编码相比的显著比特率节省。MVC中没有引入新的低级编码工具,H.264/AVC的现有硬件实现通常同样可应用于MVC。
3D视频(3DV)编码
然而,H.264/MVC对上述问题提供了有限的解决方案。尽管H.264/MVC比H.264/AVC同时广播更有效,但是MVC编码视频的速率与视图的数目成比例。考虑到ASD可能需要例如52个视图作为输入,针对这种视图数目的总比特率将在许多情况下克服在传输信道带宽上的约束。另外,应当注意当大量视图需要同时被捕获、编码和传输时,内容产生中可能的并发症。
运动图像专家组(MPEG)的三维视频(3DV)项目组以及随后对3D视频编码扩展研发的联合协作组(JCT-3V)已经探索了针对对视图应用的解决方案。已经发现一种用于一些多视图3D视频(3DV)应用的解决方案是具有有限数目的输入视图,例如单一或者立体视图加上一些补充数据并且在解码器侧本地渲染(即合成)所有需要的视图。根据用于视图渲染的若干可用技术,基于景深图像的渲染(DIBR)已经表现为一种有竞争力的备选。DIBR的通常实现方式采取立体视频和具有立体基线b0的对应景深信息作为输入并且合成在具有基线(bi<b0)的两个输入视图之间期望数目的虚拟视图。然而,为了实现基于DIBR的多视图渲染,纹理数据应当与对应景深数据一起在解码器侧可用。
在这样的3DV系统中,在编码器侧为纹理视图以景深图片(也称为景深图)的形式产生景深信息。景深图是具有每像素景深信息或类似的图像。景深图中的每个采样表示来自相机位于其上的平面的相应纹理采样的距离。换言之,如果z轴沿着相机的拍摄轴(并且因此与相机位于其上的平面正交),则景深图中的采样表示z轴上的值。用于特定视图表示的测距信息表示距离相机传感器的纹理采样的距离信息、纹理采样与另一视图中的相应的纹理采样之间的视差或位差信息、或者类似的信息。
景深增强视频是指具有与具有一个或多个景深视图的景深视频关联的一个或多个视图的纹理视频。可以使用大量方法用于表示景深增强视频,包括使用视频加景深(V+D)、多视图视频加景深(MVD)和分层景深视频(LDV)的使用。在视频加景深(V+D)表示中,单个纹理视图以及相应的景深视图分别被表示为纹理图片和景深图片的序列。MVD表示包含大量纹理视图和相应的景深视图。在LDV表示中,中央视图的纹理和景深以传统方式来表示,而其他视图的纹理和景深被部分表示并且仅覆盖需要用于中间视图的正确的视图合成的打开的区域。
在被称为未配对多视图视频加景深(MVD)的方案中,可以有不等数目的纹理视图和景深视图,和/或其中一些纹理视图可能没有共同定位的景深视图,和/或其中一些景深视图可能没有共同定位的纹理视图,其中一些景深视图分量可能暂时与纹理视图分量不一致,反之亦然,共同定位的纹理视图和景深视图可能覆盖不同的空间区域,和/或可以存在多于一个类型的景深视图分量。可以通过景深增强视频编码、解码和/或处理方案来促进未配对的MVD信号的编码、解码和/或处理。
术语“共同定位”、“并列”和“交叠”可以被可互换地使用以指示纹理视图部分中的某一采样或区域表示相同物理对象或3D场景的片段作为景深视图部分中的某一共同定位/并列/交叠的采样或区域。在一些实施例中,纹理视图部分的采样网格可以与景深视图部分的采样网格相同,即纹理视图部分的部分图像的一个采样(诸如亮度图像)与景深视图部分的一个采样相对应,即采样的物理维度在纹理视图部分的一个部分图像(诸如亮度图像)与对应的景深视图部分之间匹配。在一些实施例中,纹理视图部分的一个部分图像(诸如亮度图像)的采样网格的采样维度(twidth×theight)可以是景深视图部分的采样网格的采样维度(dwidth×dheight)的整数倍,即twidth=m×dwidth以及theight=n×dheight,其中m和n是正整数。在一些实施例中,twidth=m×dwidth以及theight=n×dheight或者备选地dwidth=m×twidth以及dheight=n×theight,其中m和n是正值并且可能是非整数。在这些实施例中,可以在编码器和在解码器中以及在视图合成处理和其他处理中使用内插协议来获取纹理和景深之间的共同定位采样值。在一些实施例中,纹理视图部分的部分图像(诸如亮度图像)的采样网格的物理位置可以与对应的景深视图的物理位置匹配,并且纹理视图部分的部分图像(诸如亮度图像)的采样维度可以是景深视图部分的采样网格的采样维度(dwidth×dheight)的整数倍(或反之亦然),然后,纹理视图部分和景深视图部分可以考虑被共同定位并表示相同的视点。在一些实施例中,纹理视图部分的部分图像(诸如亮度图像)的采样网格的位置可以具有相对于景深视图部分的采样网格位置的整数采样偏移,或反之亦然。换言之,纹理视图部分的部分图像(诸如亮度图像)的采样网格的左上采样可以与景深视图部分的采样网格中位置(x,y)处的采样相对应,或反之亦然,其中x和y是具有仅非负值和左上角中起点的两维笛卡尔坐标系统中的非负整数。在一些实施例中,x和/或y的值可以是非整数,并且因此可以在编码器和在解码器中以及在视图合成处理和其它处理中使用内插协议以获得纹理和景深之间的共同定位采样值。在一些实施例中,纹理视图部分的部分图像(诸如亮度图像)的采样网格可以具有相较于景深视图部分的采样网格的那些相等的范围。换言之,纹理视图部分的部分图像(诸如亮度图像)的采样网格中的水平和/或垂直方向中的采样的数量分别可以不同于景深视图部分的采样网格中水平和/或垂直方向中的采样的数量,和/或纹理视图部分的部分图像(诸如亮度图像)的采样网格的物理宽度和/或高度可以分别不同于景深视图部分的采样网格的物理宽度和/或高度。在一些实施例中,非统一的和/或非匹配的采样网格可以被利用用于纹理和/或景深部分。当纹理视图部分的部分图像(诸如亮度图像)的采样网格不是景深视图部分的采样网格的采样维度(dwidth×dheight)的整数倍、或者纹理视图部分的部分图像(诸如亮度图像)的采样网格位置具有相较于景深视图部分的采样网格位置的非整数偏移、或者景深视图部分和纹理视图部分的采样网格是非对齐/校正时,景深视图部分的采样网格是与纹理视图部分的采样网格布匹配的。这会发生在例如有意地减少部分之一中的数据的冗余或者由于景深传感器和彩色图像传感器之间校准/校正过程不准确。
真实世界3D场景的测距信息取决于内容并且例如可以从0到无限大变化。可以利用这样的测距信息的不同类型的表示。下面给出这种表示的某些非限制示例。
景深值。真实世界3D场景的测距信息可以用浮点或固定点算术表示中固定数目的比特中的景深值(Z)直接表示。此表示(类型和精度)可以是内容和应用特定的。如下文所述,Z值可以被转换成景深图和视差。
景深图值。为了使用有限数目的比特(例如,8比特)来表示真实世界景深值,景深值Z可以被非线性量化以产生如下所示的景深图值d并且所示Z的动态范围由景深范围参数Znear/Zfar限制。
在这种表示中,N是比特的数目用于表示当前景深图的量化级别,最近和最远真实世界景深值Znear和Zfar分别对应于景深图中的景深值(2N-1)和0。上述等式可以通过用量化级别的数目替代2N来适配任意数目的量化级别。为了执行景深与景深图之间的前向和后向转换,可能需要景深图参数(Znear/Zfar,比特数N用于表示量化级别)。
视差图值。测距数据的每个采样可以被表示为两个给定立体视图之间当前图像采样位置的视差值或矢量(差值)。为了从景深向视差的转换,可能要求某些相机设置参数(例如,焦距f和两个相机之间的平移距离l):
D = f &CenterDot; l Z
视差D可以通过以下等式在景深图值v之外计算:
D = f &CenterDot; l &CenterDot; ( d ( 2 2 - 1 ) ( 1 Z n e a r - 1 Z f a r ) + 1 Z f a r )
视差D可以通过以下等式在景深图值v之外计算:
D=(w*v-o)>>n,
其中w是缩放因子,o是偏移值,并且n是取决于所需视差矢量的精度的偏移参数。针对每对示图可能都需要此转换所需的参数w、o和n的独立集。
考虑到真实世界3D场景,可以开发测距信息表示的其他形式。
景深视图是指表示来自相机传感器的纹理采样的距离信息、纹理采样与另一视图中的相应的纹理采样之间的不一致或视差信息、或者类似的信息的视图。类似于纹理视图的亮度分量,景深视图可以包括具有一个分量的景深图片(还被称为景深映射图)。景深映射图是具有每像素景深信息等的图像。例如,景深映射图中的每个采样表示一个或多个相应的纹理采样距离相机位于其上的平面的距离。换言之,如果z轴沿着相机的拍摄轴(并且因此正交于相机位于其上的平面),则景深映射图中的采样表示z轴上的值。景深映射图的值的语义可以包括例如以下内容:
-已编码景深视图分量中的每个亮度采样值表示在用于8比特亮度表示的亮度采样的动态范围(诸如0到255的范围,包括性的)内归一化的真实世界距离(Z)值的逆,即1/Z。可以按照其中量化1/Z在视差方面唯一的形式来进行归一化。
-已编码景深视图分量中的每个亮度采样值表示使用映射函数f(1/Z)或者表格(诸如逐片段线性映射)映射到用于8比特亮度表示的亮度采样的动态范围(诸如0到255的范围,包括性的)的真实世界距离(Z)值的逆,即1/Z。换言之,景深映射图的值产生对函数f(1/Z)的应用。
-已编码景深视图分量中的每个亮度采样值表示在用于8比特亮度表示的亮度采样的动态范围(诸如0到255的范围,包括性的)内归一化的真实世界距离(Z)值。
-已编码景深视图分量中的每个亮度采样值表示从当前景深视图到另一所指示或者所得到的景深视图或者视图位置的视差或者位差值。
景深图值的语义可以在例如视频参数集语法结构、序列参数集语法结构、视频可用性信息语法结构、图片参数集语法结构、相机/景深/适配参数集语法结构、补充增强信息消息等中的比特流中指示。
虽然使用诸如景深视图、景深视图分量、景深图片和景深映射图等短语来描述各个实施例,然而应当理解,可以在各种实施例(包括但不限于以上描述的实施例)中使用景深映射图的值的任何语义。例如,可以将本发明的实施例应用于其中采样值表示视差值的景深图片。
编码系统或者创建或修改包括已编码景深映射图的比特流的任何其他实体可以向比特流中创建和包括关于景深采样的语法的信息以及关于景深采样的量化方案。可以将这样的关于景深采样的语义的信息以及关于景深采样的量化方案的信息包括在例如视频参数集合结构中,在序列参数集合结构中,或者在SEI消息中。
可以将纹理视图分量定义为单个访问单元中的视图的纹理的编码表示。可以按照与单视图纹理比特流或者多视图纹理比特流兼容的方式来对景深增强视频比特流中的纹理视图分量编码,使得单视图或者多视图解码器即使在其不具有解码景深视图的能力的情况下仍然能够对纹理视图解码。例如,H.264/AVC解码器可以对来自景深增强的H.264/AVC比特流的单个纹理视图解码。替选地,可以按照如下方式来对纹理视图分量编码:其中能够单视图或者多视图纹理解码的解码器(诸如H.264/AVC或者MVC解码器)由于使用基于景深的编码工具而不能够解码例如纹理视图分量。可以将景深视图分量定义为单个访问单元中的视图的景深的编码表示。可以将视图分量对定义为相同的访问单元内的相同的视图的纹理视图分量和景深视图分量。
可以按照如下方式来对景深增强视频编码:其中彼此独立地对纹理和景深编码。例如,可以将纹理视图编码为一个MVC比特流,而可以将景深视图编码为另一MVC比特流。还可以按照如下方式来对景深增强视频编码:其中对纹理和景深联合编码。在对纹理和景深视图的一种形式的联合编码中,根据景深图片的一些解码采样或者在景深图片的解码过程中获得的数据元素来预测或者取得纹理图片的一些解码采样或者用于解码纹理图片的数据元素。替选地或者另外地,根据纹理图片的一些解码采样或者在纹理图片的解码过程中获得的数据元素来预测或者取得景深图片的一些解码采样或者用于解码景深图片的数据元素。在另一选项中,没有根据彼此来预测纹理的已编码视频数据和景深的已编码视频数据,或者没有基于其中一个来对另一个编码/解码,但是可以将已编码的纹理和景深视图复用成编码中的相同的比特流并且根据解码中的比特流来对其解复用。在另一选项中,虽然没有根据例如下面的切片层中的景深的已编码视频数据来预测纹理的已编码视频数据,然而可以彼此共享或者预测纹理视图和景深视图的高水平编码结构中的一些结构。例如,可以根据已编码纹理切片的切片头部来预测已编码景深切片的切片头部。另外,可以由已编码纹理视图和已编码景深视图二者来使用其中一些参数集合。
纹理视图和景深视图可以被编码至单个比特流,其中某些纹理视图可以与一个或多个视频标准(诸如H.264/AVC和/或MVC)。换言之,解码器能够解码这种比特流中的某些纹理视图并且可以省略剩余的纹理视图和景深视图。
修订已经针对H.264/AVC进行了详细说明用于景深图编码。该修订被称为MVC扩展用于包括景深图并且可以被称为MVC+D。该MVC+D修订详细说明了纹理视图和景深视图通过纹理视图仍然与H.264/AVC和MVC兼容的方式封装至相同比特流,使得MVC解码器能够解码MVC+D比特流的所有纹理视图并且H.264/AVC解码器能够解码MVC+D比特流的基础纹理视图。此外,景深视图的VCLNAL单元对NAL单元报头下面的那些纹理视图使用相同语法、语义和解码过程。
针对H.264/AVC的另一修订的开发在撰写本专利申请时还在进行。此修订(被称为3D-AVC)要求至少一个纹理视图是H.264/AVC可兼容的,而其他纹理视图可以(但不需要)是MVC可兼容的。
将一个或多个纹理和景深视图编码成单个H.264/AVC和/或MVC可兼容比特流的编码器可以被称为3DV-ATM编码器。由这种编码器生成的比特流可以被称为3DV-ATM比特流并且可以是MVC+D比特流或3D-AVC比特流。3DV-ATM比特流的纹理视图与H.264/AVC兼容(针对基础视图)并且可以与MVC兼容(总是在MVC+D比特流的情况下并且由编码器在3D-AVC比特流中选择)。3DV-ATM比特流的景深视图可以与MVC+D兼容(总是在MVC+D比特流的情况下并且由编码器在3D-AVC比特流中选择)。3D-AVC比特流可以包括选定数目的AVC/MVC兼容纹理视图。此外,3D-AVC比特流可以包括选定数目的仅使用AVC/MVC标准的编码工具编码的景深视图。3D-AVC比特流的其他纹理视图(还被称为增强纹理视图)可以从纹理和景深视图共同预测和/或3D-AVC比特流的其他景深视图可以使用目前没有包括在AVC/MVC/MVC+D标准中的景深编码方法。能够将所有视图从3DV-ATM比特流中解码的解码器可以被称作3DV-ATM解码器。
针对多视图视频加景深(MVD)的编解码器可以包括用于纹理的基于景深的编码工具和/或用于景深的基于纹理的编码工具。例如,可以应用下文所述的视图合成预测。
分量间预测可以被定义为包括对从一种类型的分量图片到另一类型的分量图片的解码过程中所使用的语法元素值、采样值、变量值等的预测。用于多视图视频加景深(MVD)的编解码器可以利用纹理到景深之间的分量间预测,反之亦然。例如,分量间预测可以包括来自景深视图分量的纹理视图分量的预测,反之亦然。
3DV编码中的前向视图合成预测
视图合成可以用于编解码器的循环中,从而提供视图合成预测(VSP)。参见图7,视图合成图片(其还可以被称为合成参考分量)由编码纹理视图和景深视图合成并且包含可以用于VSP的采样。
3DV-ATM中支持循环视图合成预测(VSP)用于增强纹理编码,即使其在概念上还可以被用作景深编码工具。为了实现用于当前纹理视图分量的编码的VSP,相同访问单元的先前编码的纹理和景深视图分量可以用于视图合成。使用相同访问单元的先前编码的纹理和景深视图分量的这样的视图合成可以被称为前向视图合成或者前向投影视图合成,并且类似地,使用这样的视图合成的VSP可以被称为前向VSP或者前向投影VSP。
VSP的视图合成算法可以通过源图片s(x,y)在合成的目标图像t(x+D,y)中的新像素位置中的以下映射像素来使用景深映射(d)到视差(D)的转换。
D ( s ( x , y ) ) = f &CenterDot; l z
z = ( d ( s ( x , y ) ) 255 ( 1 Z n e a r - 1 Z f a r ) + 1 Z f a r ) - 1
在纹理图片的投影的情况下,s(x,y)是纹理图像的采样,并且d(s(x,y))是与s(x,y)相关联的景深图值。如果用于合成的参考帧使用4:2:0采样(即,色度分量图片具有空间分辨率,该空间分辨率是亮度分量图片沿着两个坐标轴的空间分辨率的一半),则可以通过重复采样值将色度分量上采样成4:4:4:
其中s′chroma(·,·)是全分辨率的色度采样值,并且schroma(·,·)是半分辨率的色度采样值。
在景深映射值的投影的情况下,s(x,y)=d(x,y),并且这一采样使用它自己的值d(s(x,y))=d(x,y)来投影。
视图合成预测可以包括按照子像素准确度的规整,对于该规整,可以在规整之前执行对参考帧的上采样,并且合成的帧可以被下采样回到原有分辨率。
视图合成过程可以包括两个概念性步骤:前向规整和孔填充。在前向规整中,参考图像的每个像素被映射到合成图像。在来自参考帧的多个像素被映射到在合成视图中的相同采样位置时,可以在映射竞争中选择与较大景深值(与相机较近)关联的像素。在规整所有像素之后,可以有留下的一些孔像素而无从参考帧映射的采样值,并且可以例如用基于线的有向孔填充来填充这些孔像素,其中定义“孔”为在两个非孔像素之间的水平线中的连续孔像素。孔像素可以由具有较小景深采样值(距离相机较远)的两个相邻非孔像素之一填充。
规整和孔填充可以例如在单个处理循环中如下被执行。输入参考图像的每个像素行例如从左至右被横穿,并且输入参考图像中的每个像素如下被处理:
1.当前像素根据以上的景深到视差映射/规整公式被映射到目标合成图像。景深边界周围的像素可以使用抛雪球法,其中一个像素被映射到两个相邻位置。在参考图像的每行中,可以每N个像素执行边界检测。如果像素的景深采样值与相同行(其是像素右侧N像素的)中的相邻像素的景深采样值之间的差超过阈值(对应于针对合成图像的整数规整精度的M个像素的视差差),则像素可以被视为景深边界像素。景深边界像素与景深边界像素右边的K个相邻像素可以使用抛雪球法。更具体地,N=4×UpRefs,M=4,K=16×UpRefs-1,其中UpRefs是规整前参考图像的上采样率。
2.在当前像素赢得z缓冲时,即,在当前像素被规整到没有先前规整的像素或者有具有较小景深采样值的先前规整的像素的位置时,迭代被定义为有效的并且可以执行以下步骤。否则,迭代是无效的并且该处理从输入参考图像中的下一个像素继续进行。
·如果在该迭代与先前有效迭代的映射位置之间存在空隙,则可以标识孔。
·如果孔被标识并且当前映射位置处于先前映射位置的右侧,则可以填充该孔。
·如果孔被标识并且当前迭代将像素映射到先前有效迭代的映射位置的左侧,则紧邻该映射位置左侧的连续像素在它们是孔的情况下可以被更新。
为了从左侧参考视图生成视图合成画面,参考图像可以首先被翻转,并且然后以上的规整和孔填充过程可以用来生成中间合成画面。中间合成画面可以被翻转以获得合成画面。备选地,以上过程可以被变更为执行景深到视差映射、边界意识抛雪球法以及基本上使用关于水平方向和顺序的逆向假设的用于视图合成预测的其它过程。
下面提供视图合成预测的另一描述。
用于此过程的输入是解码的纹理视图分量的亮度分量srcPicY、被上采样至srcPicY的分辨率的两个色度分量srcPicCb和srcPicCr以及景深画面DisPic。
用于此过程的输出是合成参考分量vspPic的采样阵列,其通过基于视差的规整而产生:
其中函数“Disparity()”将在空间位置i,j的景深图值转换为视差值dX。
考虑相机设置(诸如两个视图之间的平移b、相机的焦距长度f以及景深图表示的参数(Znear,Zfar))来计算视差:
d X ( i , j ) = f &CenterDot; b z ( i , j ) ;
z ( i , j ) = 1 D i s P i c ( i , j ) 255 - ( 1 Z n e a r - 1 Z f a r ) + 1 Z f a r - - - ( 1 )
从上述过程得出的vspPic画面可以以各种规整伪像(诸如孔和/或闭塞)为特征,并且为了抑制那些伪像,可以应用各种后处理操作。
然而,这些操作可以被避免以降低计算复杂度,因为视图合成画面vspPic被用于预测的参考画面并且可以不输出到显示器。
合成图片(例如,{outputPicY,outputPicCb,outputPicCr})可以包括在例如跟随时间和视图间参考帧的初始参考图片列表(诸如列表0和列表1)中。备选地或附加地,参考图片列表修改语法(即,RPLR命令)可以用于将参考图片列表(诸如列表0和列表1)中特定位置的VSP参考图片排序,因此编码器可以选择参考图片列表的任意排序。
类似地,运动信息推导的过程及其在VSP中的应用可以保持与为H.264/AVC条款H.8.3的帧间和视图间预测而指定的过程相似或者相同。VSP参考图片可以被视为运动补偿预测的过程中的长期参考图片。
因此,在3DV-ATM中引入VSP可以不影响运动信息信号传输和解码这样的低级操作,因此任何这样的操作可以实现保留与现有H.264/AVC编码标准的低级兼容性。
备选地或者附加地,用于视图合成预测的具体编码模式可以由编码器在比特流中指定并且用信号来发送。例如在VSP跳过/直接模式中,也可以省略例如使用基于变换的编码的运动矢量差值(解)编码和对残值预测误差的(解)编码。例如,如果在将使用跳过/直接模式而编码的比特流内指示宏块,则还可以在比特流内指示VSP帧是否用作参考。
前向VSP可以在帧级别实现,即,例如使用上述VSP过程之一合成待用作参考图片的完成帧。然而,基于帧的VSP实现可能在计算复杂度、存储要求和存储访问带宽方面异常繁重。可以实现针对像素行集的前向VSP,例如,每次覆盖一行宏块或者覆盖当前切片的所有宏块行。还可以使用利用双向投影方式的基于块的前向VSP(BB-FVSP):
a.视图#1中的测距信息d(Cb)被转换成视差值D(Cb)。
b.分析D(Cb)的视差采样以找到D(Cb)块中的最小和最大视差值,对应地min_D和max_D。
c.视差值min_D和max_D指定视图#0的纹理(VSP_T)和景深图像(VSP_D,使得VSP_D=d(VSP_T))中的M×N的VSP源区域大小,其中M是垂直方向VSP源区域的大小(行数)以及N=(max_D-min_D)是水平方向源区域的大小。
d.值K1通过具有被除数(N+K1)和除数n的算术取模运算产生零的方式估计。值K2通过具有被除数(M+K2)和除数m的算术取模运算产生零的方式估计。
e.VSP源块{VSP_T和VSP_D}在两侧或其中一侧在水平方向扩展K1并且在垂直方向扩展K2,以便形成(M+K2)×(N+K1)的VSP源区域大小。
f.视图#0中的VSP源块{VSP_T和VSP_D}以整数个非覆盖块(固定大小(m×n)的投影块单元(PBU))分离并且分别对每个PBU执行VS过程。
g.VS过程(诸如上文所述)利用视图#0中以固定大小PBU处理的VSP源信息(VSP_T和VSP_D)并且在VSP帧中产生与视图#1的编码帧相关联的参考区域R(Cb)。
3DV编码中的后向视图合成预测
如早先VSP方法,使用视图#i(其中i≠N)的参考纹理/视频数据(还称为Ti)来执行对视图#N中的纹理/视频中的块Cb的编码/解码,该视图#i用作VSP源图像并且提供用于视图合成过程的图像采样。
在下文中,概括B-VSP的一些特性方面:
1.在编码/解码中相应纹理块Cb之前的景深/视差信息d(Cb)的 可用性。对纹理/视频视图#N中的块Cb的编码/解码用景深信息、景深映射信息、视差信息或者任何其它测距信息d(Cb)来执行,该任何其它测距信息d(Cb)与这一纹理信息Cb和范围信息关联并且在对纹理块的编码/解码之前可用。例如,景深视图分量DN可以在(解)编码和/或比特流顺序中优先相同视图#N的纹理视图分量TN。
2.用于VSP的参考区域R(Cb)。用于纹理块Cb的VSP造成产生或者计算参考图像Ti中的参考区域R(Cb)中的像素/采样值。参考区域R(Cb)可以是用于Cb的预测块,或者参考区域R(Cb)可以用于例如通过在R(Cb)内的运动补偿预测和/或子像素值插值来推导用于Cb的预测块。
3.向后投影。VSP用向后投影方式来执行并且可以利用以下步骤中的至少某些步骤:
a.与视图#N中的编码的块Cb关联的测距信息dN(Cb)被转换成视差信息Di(Cb),该视差信息指定在当前视图#N与参考视图#i的采样之间的空间坐标偏移。
向视差的转换可以用逐个像素方式来执行。针对在当前视图#N的编码/解码时可用的参考视图#i,计算或者估算独立Di(Cb)。备选地,可以逐个块完成向视差的转换,从而例如通过对测距信息值dN(Cb)求平均、将中值滤波器应用于测距信息值dN(Cb)或者对在测距信息值dN(Cb)中的所有采样应用任何其它函数或者滤波器来获得推导的测距信息值dN(Cb’)。然后,推导的测距信息值dN(Cb’)可以使用例如景深到视差映射而转换成相应视差值Di(Cb’)。备选地,可以逐个块完成向视差的转换,从而例如通过对视差信息Di(Cb)的值求平均、将中值滤波器应用于视差信息Di(Cb)的值或者对在视差信息Di(Cb)中的所有采样应用任何其它函数或者滤波器以产生相应视差值Di(Cb”)来处理视差信息Di(Cb)。
b.Di(Cb)(或者分别为Di(Cb’)或者Di(Cb”))的视差信息可以用来对在参考视图#i的纹理中的采样值和与这些纹理采样关联的测距信息di(Cb)(例如,在参考视图#i中的景深映射图像的采样)进行定位。如果Di(Cb)是视差值的块,则可以逐个像素对纹理参考视图#i的采样值进行定位。如果视差信息Di(Cb)表示用于像素块的单个视差值,则可以逐个块对纹理参考视图#i的采样值进行定位。定位的采样可以用来形成R(Cb)。定位和/或复制还可以称为投影、映射、滤波或者规整。
c.产生参考区域R(Cb)可以包括对参考视图#i的像素(即Ti)的各种处理,例如空间或者时间滤波、使用加权的预测参数进行滤波以补偿亮度改变、或者非线性处理以处置遮挡或者孔洞等。可以在向参考区域R(Cb)投影像素之前或者之后执行这样的处理。
在VSP中的向后投影的结果是,参考区域R(Cb)的推导顺序可以是任意的。换言之,可以对于每个块Cb独立地产生VSP图像中的参考区域R(Cb)的像素值,并且未假设对处理的Cb(s)的顺序的依赖性。因此,可以通过用于单个Cb的视图合成过程或者通过整个帧级的视图合成过程产生参考区域R(Cb)的相同像素值。这一性质实现按帧级或者分片级的向后视图合成预测的实施方式,帧级或者分片级与诸如H.264/MVC之类的现有编码方法比较,可以无需块级编码/解码的改变。然而,该性质还可以实现块级实施方式,这可以消耗更少量的存储器。
在下文中,概括一些实施例的一些补充特性方面。这些方面中的一个或者多个方面还可以与以上列举的方面一起使用。
1.从不止一个VSP参考帧的基于块的多假设预测。双预测或者任何其它类型的多假设预测可以使用两个或者更多参考VSP帧作为参考。双预测可以被加权,以例如补偿在视图之间的照射差值。
2.从多个VSP源图像的基于采样的R(Cb)推导。如果多个VSP源图像可用于R(Cb)采样值计算,则可以应用各种处理以产生用于R(Cb)的实际纹理采样。这一处理可以包括但不限于有条件的选择(例如可以选择具有更近景深值的纹理采样或者可以选择具有更小景深值的纹理采样)或者将多个候选聚合成采样。
3.基于景深/视差的R(Cb)推导。可以使用不同相似度或者差值度量(比如绝对差值之和(SAD))来比较di(Cb)和dN(Cb)的对应采样值。可以对于块di(Cb)或者di(Cb)的个体采样而推导差值度量。如果差值属于某个范围,则参考视图#i的由视差Di(Cb)指定的纹理采样可以用于产生参考区域R(Cb)的采样值。
3D-ATM中的运动矢量预测和多视图编码
3D-ATM中MVP的当前设计可以认为包括以下预测模式:
1)时间预测(TP)
2)视图间预测(IVP)
a)通用模式
b)视图间直接/跳过
3)视图合成预测(VSP)
a)通用模式
b)VSP直接/VSP跳过模式
在某些实施例中,IVP.a和VSP.a(通用模式)概念上合并成单个预测模式。
通用模式中的视图间预测(IVP)IVP.a
编码器可以在视图间参考帧中执行运动搜索并且将参考索引和差分运动矢量{refIdx,dMVx和dMVy}包括在去往解码器的比特流和/或信号中。dMVx和dMVy分量从MVP过程中预测。在许多情况下,MVP表示视差(Cb)值。
视图间直接/跳过模式IVP.b
视图间直接/跳过模式可以被认为对单视图H.264/AVC的直接/跳过模式进行类似操作,除了预测过程中涉及的一个或多个参考图片可以是视图间参考图片。由于基于POC的运动矢量缩放在某些情况下可能导致被零除(由于相同访问单元中的图片具有相同POC),时间直接模式可能被禁用。
通用模式中的视图合成预测(VSP)VSP.a
VSP.a编码模式可以被认为是具有运动矢量的隐式信号传输的视图间预测(诸如IVP.a)的特殊情况。
VSP帧(还可以被称为VSP图片或合成参考图片或VSP参考图片)可以由编码器和/或解码器例如使用后向视图合成过程(诸如上文所述)以特定块大小生成(例如,针对从中指示当前视图将被依赖的所有或某些纹理视图),所述特定块大小可以例如在编码标准中预定或者在比特流中由编码器确定并指示以及由解码器从比特流中解码。
在使用VSP.a模式时,编码器可以在VSP帧中执行运动搜索,其可以在编码器侧被生成为整个帧。VSP帧中的运动搜索可用受限于单个运动矢量(0,0)并且可以仅有效产生分区选择(4×4,8×8等)。分区选择之后,用于指示VSP帧的参考索引refIdx可以包括在比特流中和/或信号传输到解码器,并且dMVx和dMVy可以不包括在比特流中或被信号传输。
解码器可以从比特流和/或信号传输中解码参考索引refIdx,并且得出结论其指示VSP帧。随后,解码器可以得出结论比特流不包括dMVx和dMVy或者可以跳过dMVx和dMVy的解码。此外,解码器可以推断针对当前块的运动矢量为{0,0}。具有这种运动信息{refIdx,0,0}的编码块可以被输入至针对给定块或运动分区大小的视图合成过程。
转而,视图合成(VS)可以被实现为独立于运动分区的基于块的过程。VS可以被预定使用特定块大小(例如在编码标准中)或者编码器可以选择针对VS的块大小并且在比特流中(例如,在序列参数集中或在图片参数集中)对其进行指示。针对VS过程的每个基本块以单独视差矢量为特征。针对VS块的视差矢量可以例如如上文提到的针对B-VSP计算。针对每个运动分区,空间分离或分区成VS块大小的非覆盖块可以在编码器和/或解码器中执行作为VSP的一部分。继而,针对每个VS块的独立运动或视差矢量可以例如基于对应的视差块d(Cb)例如使用视差块d(Cb)的四个角采样外的最大视差值进行计算。
视差推导
3D-AVC指定借助于相关联的景深图采样用于编码依赖视图的纹理采样的DMVP和VSP编码工具。出于这些目的,选定的景深图采样被转换成视差矢量并且由DMVP和VSP使用。
视差值D具有与景深图值d的线性关系,如等式(1)所示:
D = f &CenterDot; l &CenterDot; ( d ( 2 B i t D e p t h - 1 ) ( 1 Z n e a r - 1 Z f a r ) + 1 Z f a r ) - - - ( 1 )
景深到视差转换可以如在等式(1)中执行并且要求相机参数诸如Znear、Zfar、焦距f和视图间平移l。此方法保存信息的浮点表示因此提供高精度。然而,这种表示的高精度可能被认为非必要复杂,因为其要求浮点表示。
视差的简化计算利用线性模型来建立景深图值d与视差D之间的对应关系,如(2)中所示:
D=(d*DisparityScale+DisparityOffset<<BitDepth)+(1<<(log2Div-1)))>>log2Div(2)
其中d是由如章节2.1中所示的NDR查找表导出的景深采样值。
DisparityScale是缩放因子,DisparityOffset是偏移值,BitDepth等于8并且log2Div是取决于所需视差矢量精度的偏移值。转换参数DisparityScale和DisparityOffset在比特流中通过常规长度可变编码进行传输。针对联合编码中使用的每对视图(源视图和目标视图),传输参数DisparityScale和DisparityOffset独立集。
为了执行景深到视差推导(2),纹理采样块与景深采样块之间的关联性可以例如通过以下两个备选建立:
四个角外的最大
针对当前编码纹理块Cb矢量的视差可以从与当前编码纹理块Cb相关联的景深图数据d(Cb)的块导出。位于d(Cb)的四个角(左上、右上、左下、右下)的空间坐标的景深图采样可以彼此进行比较并且其中最大景深图值可以被转换成视差值,如等式(2)所指定。在减少分辨率景深图(与相应纹理图像的分辨率相比)的情况下,纹理块角的空间坐标可以被向下缩放以满足景深图分辨率。
基于邻居块的推导
用于推导视差矢量的另一方法可以在例如基于视差的跳过和直接模式中使用。视差矢量可以从与当前Cb邻居的块的运动信息以及景深数据的相关联块d(Cb)中导出。此章节使用的块命名约束在图5a和图5b中示出。图5c中给出了推导过程的流程图。
具体地,视差矢量可以从邻居块A、B和C(D)的运动矢量推导。如果仅一个邻居块用视图间预测编码,则其运动矢量可以被解释为针对当前Cb的视差矢量。如果多个视图间预测矢量在块A、B和C(D)中可用,则视差矢量可以被推导为可用备选的中值。如果邻居块A、B和C(D)都没有用视图间预测编码,则可以使用另一视差推导过程(诸如所述四个角外的最大)来从景深图中导出视差。
VSP直接/VSP跳过模式VSP.b
VSP跳过和直接模式可以被认为在其他方面与上述通用模式(VSP.a)相同,但是编码模式的指示和VSP参考图片的选择可以在语法中不同地实现。
可以在切片数据语法中指示宏块使用常规跳过模式还是VSP跳过模式。当使用纹理自适应VLC时,指示可以用1位标志(其可以被称为mb_skip_type_flag)完成,其指示用跳过模式编码的每个宏块。当使用CABAC并且上面和左边的宏块已经用VSP跳过模式编码时,语法可以包括CABAC编码标志(其可以被称为mb_vsskip_flag),当其等于1时,指示宏块的编码模式是VSP跳过。如果该标志等于0,则其可以跟随有指示是否使用了常规跳过模式的CABAC编码标志(其可以被称为mb_skip_flag)。当使用CABAC并且上面和左边的宏块之一或两者没有用VSP跳过模式编码时,标志可以在比特流中以相反顺序,即,mb_skip_flag可以首先出现,然后是mb_vskip_flag(当mb_skip_flag等于0的情况下)。
当指示宏块应用直接模式(例如,具有mb_type语法元素)时,附加语法元素(其可以被称为mb_direct_type_flag)可以包括在宏块层语法中。语法元素可以用上下文自适应VLC或CABAC编码,取决于使用的熵编码模式。当等于0时,标志可以指示使用常规直接编码。当等于1时,该标志可以指示使用VSP直接模式。
针对VSP跳过和直接模式的参考索引和运动矢量可以被设置如下。针对VSP跳过/直接宏块的参考索引refIdxLX被推导为在参考图片列表X中首先出现的合成参考分量,其中X由0或1代替。VSP跳过和直接模式中应用的运动矢量等于0,0。
示例
在本实施例的上下文中,3D视频编码的当前开发中的各种问题已经被确定。应当理解,确定这些问题对于不具有后见之明的本领域技术人员而言并非显而易见,因此问题的标识可以被认为是本发明的一部分。
同时,由针对高级景深增强3D视频编码的JCT-3V和MPEG3DV引出两个标准化开发。第一是3D-AVC,其基于H.264/AVC编码技术,并且第二是3D-HEVC,其利用HEVC作为基础技术。这两个开发均把VSP认为是用于改进MVD数据中出现的视图间冗余的关键分量。然而,预料到VSP到MCP过程的当前协调还不足够。因此,本发明呈现了针对3D-AVC设计的问题的简要说明,然而相同问题也出现在3D-HEVC开发中。
VSP.a包括与refIdx、MVx和MVy有关的如下操作。
VSP参考图片包括在一个或多个参考图片列表中。VSP参考图片使用与视图间参考图片不同的参考图片索引(即使这两个图片的采样阵列相同)。
由于不同参考索引用于相应VSP和视图间参考图片,继而在一个或多个参考图片列表中存在大量参考图片,因此用于指示哪个参考图片用于特定块的码字可能平均变得更长。
由于相应VSP和视图间参考图片是逻辑上不同的参考图片,因此使用VSP参考图片的块的运动信息不用于使用视图间参考图片的块的运动矢量预测(如空间/时间邻居),反之亦然。
当前3D-AVC草案标准在refIdx被发现是VSP图片的情况下将MVx和MVy设置为{0,0}。
可以认为在refIdx指向VSP图片的情况下,运动矢量{0,0}的使用是基于创建完整VSP帧的假设,因此VSP预测应当将具有相同坐标的同位块用作当前Cb。然而,用BVSP产生的预测块不使用MVx和MVy。此块以预定大小(例如,2×2或4×4)的非覆盖块分离,并且针对这些块中的每个块独立于运动分区导出视差值。因此,将MVx和MVy设置到零可以被认为冗余。
上文暴露的问题可能对3D-AVC的编码表现不利。
各实施例协调视图合成预测(VSP)与视图间预测(IVP)的编码。通过各实施例,VSP和IVP可以被认为成为相同过程的一部分,其中不同仅在于运动矢量信息的推导。
针对任意运动分区(MP)或预测单元(PU),某些实施例指定在IVP的情况下使用运动信息的显式信号传输并且在VSP的情况下使用运动信息的隐式信号传输(解码器-推导)。
各实施例提供VSP与IVP模式之间预测方向或预测模式的运动分区/PU级信号传输(ivp_vsp_opt),其可以控制针对当前MP/PU的比特流中信号传输的运动矢量或运动矢量差值的出现。
各实施例还向针对在宏块级(等)和/或以下的协调VSP信号传输的模式提供更高级(切片/图块/图片/序列)的信号传输。例如,在某些情况下,编码器可以选择禁用协调的信号传输。
图8a和图8b示出了使用提出的VSP进行纹理编码的ME/MCP链的框图。注意,VSP不需要产生完整VSP帧,只要从ME/MCP链中产生要求的参考区域R(Cb)。
图8a示出了用根据一个实施例的方法的编码过程的示例。示出了常规元素,诸如变换T、量化Q及其在编码循环中的逆运算、帧缓冲器、运动补偿预测MCP、运动估计ME和比特流编码ENC。另外,引入了在IVP或VSP之间进行决定时操作的交换机,从而控制运动矢量是否被编码至比特流并且对应地是否使用景深信息构建运动矢量。同样,信号传输元素,这里被称为ivp_vsp_opt被编码至比特流。
图8b示出了用根据一个实施例的方法的解码过程的示例。用红色标记的块标记解码器中涉及常规设计或修改的处理模块。因此,从比特流读取ivp_vsp_flag并决定IVP还是VSP被引入以及从比特流读取MV或者将其从景深图导出的常规应用。
图9示出了视频加景深数据的结构并且描述了术语Cb-当前编码的纹理块并且d(Cb)与此纹理测距信息(例如景深图)相关联,同样针对块S、T、U。
假设编码MVD数据包括纹理和景深图分量,其表示多个视频通常由并行相机设置捕获并且这些捕获的视图被调整。
术语Ti和di分别表示视图#i的纹理和景深映射分量。MVD数据的纹理和景深映射分量可以按照不同编码顺序、例如T0d0T1d1或者d0d1T0T1来编码。本发明中所述的方法假设景深映射分量在纹理分量Ti之前可用(被解码),并且在对Ti的编码/解码中利用di。
在针对编码MVD(多视图视频加景深)的某些实施例中,本发明可以包括以下各项中的一个或多个。
协调参考图片指示
IVP.a和VSP.a可以使用相同参考图片指示,诸如相同参考图片索引(例如,被称为ref_idx_IVP),其中不同之处在于MV的信号传输(显式/隐式)。即,针对参考图片列表的索引,提供待使用的预测类型的指示,并且该预测类型的指示被编码在编码视频数据中。
在一个实施例中,针对等于ref_idx_IVP的每个指示的refIdx,其可以被称为例如vsp_flag的附加标志(在块级)在refIdx之后被信号传输。vsp_flag可以是使用例如在其上下文中在其上面或左边的邻接邻居的vsp_flag值编码的CABAC。即,指示被提供作为语法元素,其指示是否使用来自具有视差补偿的另一视图的所述图片的预测。vsp_flag的语义可以例如以如下或以任何相似方式指定。
a)如果vsp_flag==0,则当前分区被编码为IVP.a并且运动矢量分量在比特流中信号传输。
b)如果vsp_flag==1,则当前分区被编码为VSP.a并且运动矢量分量不在比特流中信号传输。在b)情况下,在编码视频数据中提供指示运动矢量信息没有在编码视频数据中针对视频块提供,并且运动矢量信息可以通过采用为视频块提供的景深信息来形成。
在一个实施例中,编码器和/或解码器不包括常规参考图片列表(例如,H.264/AVC的参考图片列表0和/或1)中的VSP或试图合成参考图片。组合的VSP-IVP预测模式可以被例如指定为H.264/AVC的sub_mb_type[mbPartIdx]语法元素的新值。当使用组合VSP-IVP预测模式时,语法可以包括对视图间参考图片列表的一个(针对单预测)或两个(针对双预测)索引,其可以仅包括视图间参考图片(并且可以排除时间参考图片)。如上文所述,每个索引可以跟随有vsp_flag。视图间参考图片列表可以是概念上的并且可以通过走过常规参考图片列表(诸如参考图片列表0和1)并维持该常规参考图片列表中视图间参考图片的计数或索引来导出。
在一个实施例中,例如指定为sub_mb_type[mbPartIdx]的新值的新预测类型可以指示使用VSP或IVP。当VSP或IVP被指示为预测模式时,语法可以包括对视图间参考图片列表的索引,其可以仅包括视图间参考图片(并且可以排除时间参考图片)。
视图间参考图片列表可以由编码器和/或解码器使用指示的视图间依赖关系来导出,诸如由MVC的anchor_ref_10、anchor_ref_11、non_anchor_ref_10和non_anchor_ref_11语法元素指示的依赖关系。
通过此方案,可以实现多向VSP,因为IVP中支持双向预测。
在某些实施例中,编码器和/或解码器可以使用用于编码/解码IVP.a和VSP.a的相同过程或方法。
在某些实施例中,运动预测单元层(例如,宏块分区)上的一个或多个指示可以用于指示上述过程中的一个或多个是否用于编码器和/或是否将在解码器中使用。一个或多个指示可以例如驻留在切片报头、图片参数集和/或序列参数集中。
在某些实施例中,以下各项中的一个或多个可以例如在切片报头、图片参数集和/或序列参数集中指示:
–VSP和IVP两者可以被使用
–VSP可以被使用但IVP不被使用
–IVP可以被使用但VSP不被使用
–VSP和IVP均不被使用
较低层(在编码结构中)的语法和/或允许的语法元素或可用值可以根据指示进行修改。例如,如果切片报头中指示VSP可以被使用但IVP不被使用,则vsp_flag可以缺少(即使指示了视图间/VSP参考图片)并且其值可以被推测指示使用了VSP。
以下段落提供了可以用于基于3D-AVC实现一个或多个实施例的各方面的语法、语义和解码过程的示例。在提出的语法中,关于当前草案3D-AVC标准的添加部分用斜体指示(例如,添加)并且移除部分用删除线和斜体指示(例如,)。
在3D-AVC中,视图间参考分量可以被定义为包含可以用于以解码顺序进行后续图片的帧间预测以及以解码顺序进行后续视图分量的视图间预测的采样的参考图片。
切片报头可以被附接以包括控制使用VSP或视图间预测的块级指示的语法元素(示例中的slice_vsp_flag,如下面示例语法中出现的)。slice_vsp_flag等可以仅在更高层中启用VSP的使用时出现。在此示例中,如果在活动序列参数集中允许使用VSP,即,如果在活动序列参数集中seq_view_synthesis_flag等于1,则出现slice_vsp_flag。在此示例中,slice_vsp_flag的语义可以被定义如下:slice_vsp_flag等于0指定在视图间参考图片被用作参考时,可以使用针对帧间预测采样的解码过程或者针对视图合成预测采样的预测过程。slice_vsp_flag等于1指定在视图间参考图片被用作参考时,使用针对视图合成预测采样的预测过程。
如果针对宏块分区mbPartIdx的参考索引ref_idx_1X指向参考图片列表X中的视图间参考分量,则变量VspRefLXFlag[mbPartIdx](针对参考图片列表0或1相应地X等于0或1)可以被指定等于1,否则可以被指定等于0。
如在下文宏块预测语法结构中所示,宏块预测语法可以被附接以包括vsp_flag_1X[mbPartIdx](针对参考图片列表0或1相应地X等于0或1),条件上取决于对应参考索引是否指向视图间参考分量。vsp_flag_1X[mbPartIdx]的语义可以被定义如下。vsp_flag_1X[mbPartIdx](X等于0或1)等于0指定针对帧间预测采样的解码过程用于从宏块分区mbPartIdx的参考图片列表X进行预测。vsp_flag_1X[mbPartIdx]等于1指定针对视图合成采样的解码过程用于从宏块分区mbPartIdx的参考图片列表X进行预测。当vsp_flag_1X[mbPartIdx]没有出现并且VspRefLXFlag[mbPartIdx]等于0时,vsp_flag_1X[mbPartIdx]被推测等于0。当vsp_flag_1X[mbPartIdx]没有出现并且VspRefLXFlag[mbPartIdx]等于1时,vsp_flag_1X[mbPartIdx]被推测等于1。
此外,如下文语法中所示,当使用VSP时,差分运动矢量mvd_1X(针对参考图片列表0或1相应地X等于0或1)不出现(即,仅在参考索引ref_idx_1X指向帧间参考分量或者参考索引ref_idx_1X指向视图间参考分量但VSP不使用更确切地说使用常规视图间预测时才出现)。
注意,子宏块预测语法结构可以类似地被附接到上文针对宏块预测语法结构所示的内容。
可以指定,当使用VSP(在此示例中,当VspRefLXFlag[mbPartIdx]等于1并且vsp_flag_1X[mbPartIdx]等于1)时,运动矢量被设置成{0,0}。否则,可以使用常规运动矢量预测过程。
可以指定,当使用VSP(在此示例中,当使用的参考索引指示视图间参考分量和vsp_flag_1X[mbPartIdx]等于1)时,针对视图合成采样的解码过程被用于从宏块分区mbPartIdx的参考图片列表X中预测。否则,用于帧间采样的解码过程被用于从宏块分区mbPartIdx的参考图片列表X中预测。
针对视图合成跳过和直接模式等的可选择参考图片
如上所述,VSP跳过和直接模式已经被指定使用特定VSP参考图片,诸如参考图片列表中的第一VSP参考图片。此外,对于当前VSP跳过和直接模式,不可能选择例如基于宏块使用的VSP参考图片。
在某些实施例中,除了指示常规跳过/直接模式与VSP跳过/直接模式之间的选择,跳过和直接模式的指示还可以包括或跟随有VSP和/或视图间参考图片用作参考的指示。指示可以指示例如参考索引(例如,参考图片列表0和/或1)或对视图间参考图片列表的索引。视图间参考图片列表可以例如如上文所释导出或者可以被导出以包括来自参考图片列表0和/或1的视图间参考图片或由其组成。在某些实施例中,编码器可以指示比特流中(并且解码器可以从比特流指示中解码)用于形成视图间参考图片列表的一个或多个源参考图片列表(例如,参考图片列表0和/或1)。在某些实施例中,编码器可以指示比特流中(并且解码器可以从比特流指示中解码)的方法或算法和/或其参数。例如,编码器可以指示仅基础视图可用作针对VSP跳过/直接模式的参考,或者编码器可以指示视图间参考图片列表从参考图片列表0和1中可用的所有视图间参考图片中导出。
在一个实施例中,mb_skip_type_flag等可以被重命名为mb_skip_src_idc并且是类型u(v)。mb_skip_src_idc的语义可以被例如指定如下。如果mb_skip_src_idc等于0,则使用常规跳过模式。否则(mb_skip_src_idc大于0),则MbSkipRefIdx等于mb_skip_src_idc-1并且指示视图间或VSP参考图片用作针对VSP跳过模式的参考。语法元素的长度可以基于MbSkipRefIdx可以指向的图片数目进行选择,诸如视图间参考图片列表中图片的数目。
在一个实施例中,当使用CABAC并且上面和左边的宏块已经用VSP跳过模式编码时,语法可以包括CABAC编码的语法元素(其可以被称为mb_vsskip_idc),其在大于0时指示宏块的编码模式是VSP跳过。与上文类似,MbSkipRefIdx可以被设置等于mb_vsskip_idc-1并且可以指示视图间或VSP参考图片用作针对VSP跳过模式的参考。如果mb_vsskip_idc等于0,则其可以跟随有指示是否使用常规跳过模式的CABAC编码标志(其可以被称为mb_skip_flag)。当使用CABAC但上面和左边的宏块之一或两者没有用VSP跳过模式编码时,语法元素可以在比特流中以相反顺序,即,mb_skip_flag可以首先出现,即,mb_skip_flag可以首先出现,然后是mb_vsskip_flag(当mb_skip_flag等于0的情况下)。
当指示宏块应用直接模式(例如,具有mb_type语法元素)时,语法元素(其可以被称为mb_direct_type_idc)可以包括在宏块层语法中。语法元素可以用上下文自适应VLC或CABAC编码,取决于使用的熵编码模式。当等于0时,标志可以指示使用常规直接编码。当大于0时,该标志可以指示使用VSP直接模式。与上文类似,MbSkipRefIdx可以被设置等于mb_direct_type_idc-1并且可以指示视图间或VSP参考图片用作针对VSP直接模式的参考。
在某些实施例中,如果在切片报头中或之上(例如,在图片参数集或序列参数集)指示例如针对特定图片或纹理视图分量、特定纹理视图和/或编码视图序列没有使用VSP,则切片数据和/或宏块层语法元素(诸如mb_skip_src_idc和/或mb_direct_type_idc和/或宏块层下面的潜在类似语法元素)可以缺少。
在某些实施例中,如果在切片报头中或之上(例如,在图片参数集或序列参数集)指示例如针对特定切片、特定图片或纹理视图分量、特定纹理视图和/或编码视图序列没有使用常规IVP跳过/直接模式,则切片数据和/或宏块层语法元素(诸如mb_skip_src_idc和/或mb_direct_type_idc和/或宏块层下面的潜在类似语法元素)的语义可以被修改以排除使用常规跳过/直接模式还是VSP跳过/直接模式的指示。在这种情况下,切片数据和/或宏块层语法元素(诸如mb_skip_src_idc和/或mb_direct_type_idc和/或宏块层下面的潜在类似语法元素)可以仅指示视图间或VSP参考图片用于VSP跳过/直接模式。备选地,语法可以被修改以包括切片数据和/或宏块中和/或宏块层以下的两个语法元素集,一个用于在常规跳过/直接模式和VSP直接/模式的选择在所述层中或以下指示的情况,并且另一个用于在每当指示跳过/直接模式时指示使用VSP直接/模式的情况。
在某些实施例中,针对跳过和/或直接模式的视图间或VSP参考图片可以由编码器在切片报头和/或更高语法层(诸如图片参数集或序列参数集)中指示。指示可以例如是对视图间参考图片列表的索引,其可以例如使用上文所述方法之一导出。备选地,指示可以是例如指示针对跳过和/或直接模式用于视图间或VSP参考图片的纹理视图的视图标识符(view_id)或视图顺序索引。指示可以各自用于跳过和直接模式。针对双预测(例如,当使用B切片时),可以存在单独指示用于针对跳过和/或直接模式的两个视图间或VSP参考图片。
重构/解码块的模式和运动信息调整
在某些实施例中,VSP编码的块可以被认为是使用视图间预测的块的运动信息预测的有效参考。在重构(例如,由编码器)或解码用VSP编码的块之后,其运动信息可以通过以下方式中的一个或多个进行调整:
–其预测类型可以被改变成视图间预测
–其预测类型可以被改变成单预测或双预测取决于一个还是两个参考图片用于VSP
–参考索引可以被设置如同使用了视图间预测。例如,如果特定VSP跳过/直接语法用于指示VSP中使用的参考图片,则参考索引可以被设置以指向参考图片列表0和/或1中可用的VSP中所使用的相同参考图片。
–运动矢量可以被设置成视差导出作为VSP过程的一部分。
–块分区可以被改变以匹配视图合成块大小或粒度(而不是例如针对其指示使用VSP的编码单元或预测单元)。
在某些实施例中,调整的运动信息可以被用作使用视图间预测的块的运动信息预测的源。例如,调整的运动信息可以属于作为使用视图间预测的块的空间邻居的块或者与其相关联。在另一示例中,调整的运动信息可以属于用作使用视图间预测的块的TMVP等的同位图片的图片。
在某些实施例中,如果视图间预测应用于正被(解)编码的当前块并且针对运动信息预测的候选块(例如,图2a中A0、A1、B0、B1和B2之一)被认为不可用于运动信息预测例如由于其已经应用了帧内编码或者其已经使用了时间/帧内预测参考图片,则可以执行以下内容。视图间参考图片可以被选择,例如由当前块参考的相同视图间参考图片可以被选择。根据视图合成预测过程的视差矢量可以针对选定视图间参考图片的候选块执行。针对候选块的零个或更多其他片运动信息可以如上文所述进行调整或创建。针对候选块调整/创建的运动信息继而可以用于运动信息预测过程如同候选块可用于运动信息预测。
在某些实施例中,图片的运动字段可以使用VSP例如以上文所述的一个或多个方式进行调整或推导。运动字段调整可以例如在由对应图片表示的视图或层可以被用作层间或视图间参考时执行,或者其可以例如在对应图片被用作针对TMVP等的同位图片等时执行。例如,正被(解)编码的当前图片表示非基础视图的纹理视图分量并且编码器可以选择同位图片作为相同非基础视图(并且与当前图片不同的时刻)的纹理视图分量。此外,编码器可以选择TMVP等的目标图片作为基础视图(并且与当前图片相同的时刻)的纹理视图分量。
在某些实施例中,运动字段调整无条件执行,而在某些实施例中,编码器可以在比特流中指示并且解码器可以在使用调整时从比特流条件中解码,而在某些实施例中,条件在使用调整时例如在编码标准中被预先定义。例如,可以由编码器在比特流中指定或指示每当同位图片中的块使用与TMVP的目标图片(等)不同视图作为预测的参考时使用调整。在某些实施例中,可以由编码器在切片报头或切片片段报头等中指示并且由解码器从中解码执行了运动字段调整。另外,可以指示运动字段调整的类型。例如,可以指示执行了类似于VSP的视差推导的调整或者例如根据相对视图距离执行了视图间运动矢量的缩放。
在某些实施例中,图片的解码/重构运动字段被维持例如用于相同视图的后续图片的运动信息预测,并且调整的运动字段单独从解码/重构运动字段创建。在某些实施例中,调整的运动字段可以代替解码/重构运动字段被创建,并且调整的运动字段可以被再次调整以便用于相同视图的后续图片的运动信息预测。
同位图片等的运动字段例如可以被调整如下:
–预测类型可以被设置成视图间预测。
–预测类型可以被改变成单预测或双预测,取决于一个还是两个参考图片用于VSP。
–参考索引等可以被设置如同使用了视图间预测。
–由调整的运动信息指示的VSP参考图片可以被认为已经被标记为“用于长期参考”。因此,当同位运动矢量指向的图片与目标图片均被标记为“用于长期参考”时,可以省略TMVP等中的运动矢量缩放。
–运动矢量可以被设置成视差导出作为VSP过程的一部分。如果目标图片表示与当前图片不同的视图,则视差可以被缩放或者视图合成过程可以通过获得的视差在当前图片与目标图片之间可应用的方式应用。
–块分区可以被改变以匹配视图合成块大小或粒度(而不是例如针对其指示使用VSP的编码单元或预测单元)。
因此,对应于时间运动矢量候选的预测块可以类似地被认为是VSP的预测块。编码器可以指示例如与AMVP和/或合并模式等一起使用时间候选(例如,而不是一个或多个空间候选)。
在某些实施例中,同位图片的运动字段仅针对同位块的参考图片针对其具有与关于当前图片的目标图片不同的预测方向的块进行调整。换言之,如果同位块使用时间预测(视图内)并且目标图片与当前图片位于相同视图,则不调整同位块的运动信息。如果同位块使用时间预测(视图内)并且目标图片具有与当前图片不同的视图,则同位块的运动信息被调整并且从针对同位块的景深信息中导出。附加地或备选地,在某些实施例中,同位图片的运动字段可以针对同位块的参考图片针对其不同于目标图片的块进行调整。例如,如果同位块的参考图片表示视图1并且目标图片表示0,则同位图片的运动字段可以被调整并且从针对同位块的景深信息中导出,其中景深信息可以被转换和/或缩放以表示当前图片与目标图片之间的视差。
在某些实施例中,当指示使用针对块的时间候选并且该指示被解码器解码时,解码器可以执行操作以调整运动字段。可以调整同位图片(等)的仅一部分的运动字段。例如,如果在切片报头或切片片段报头等中指示执行了诸如上文所述的运动字段调整,则可以仅调整与对应切片重叠的运动信息。在另一示例中,仅调整针对其选择时间候选的块的运动信息。
在某些实施例中,在确定同位图片(等)内的同位块(等)时可以考虑表示第一视图的当前图片或块与表示第二视图的同位图片(等)之间的视差。例如,由编码器在比特流中指示的和/或由解码器从比特流中解码的或者从当前块的景深信息确定的水平偏移或视差可以被添加到当前块的水平位置以便获得同位块的水平位置。同样,在确定同位块的位置时,可以考虑当前图片和同位图片的空间分辨率、当前图片和同位图片的采样大小和/或当前图片和同位图片的相对采样网格位置。
在某些实施例中,源图片(还被称为同位图片)的运动字段可以例如通过计算机软件可执行的功能而不是运动信息本身的阵列来访问。例如,当运动字段被访问用于非基础视图解码时,视差可以在使用源图片从不同于当前图片的视图中推导针对TMVP或其他运动预测的同位块的位置时被添加到当前块的坐标。当相同运动字段被访问用于相同视图的图片的运动预测时,针对TMVP等的同位块可以具有与当前块相同的坐标,即,例如与HEVC中TMVP的操作相比没有改变。
在某些实施例中,源图片的运动字段或调整的运动字段(例如,如上文所述导出)可以基于用于当前图片的运动预测的一个或多个视差值进行规则或偏移。在某些实施例中,根据一个或多个视差值映射或偏移运动信息可以是用于推导调整的运动字段的过程或方法的一部分。在使用运动字段预测与由源图片和/或运动字段先前已经针对其进行视差调整的图片表示的视图或其他层之前可以进行零个或更多后续运动字段视差调整。如果原始运动字段被修改,则在使用其预测与源图片相同的层或视图中的图片之前可以将其向后调整。例如,如果运动信息位置在运动字段视差调整中被移位偏移(delta_x,delta_y),则可以通过移位运动信息位置(-delta_x,-delta_y)来将其向后调整。如果原始运动维持在运动字段视差调整中,则可以在使用与源图片在相同层或视图中的图片的运动预测的源图片时,可以将其与源图片相关联。
在某些实施例中,编码器可以例如基于切片选择视图间图片作为针对TMVP等的同位图片。编码器可以例如针对此章节使用率失真优化。编码器可以例如使用HEVC的collocated_ref_idx语法元素指示视图间参考图片将被用作针对TMVP等的同位图片。
除了使用参考索引来指示针对TMVP等的同位图片,还存在其他措施用于指示针对TMVP等的同位图片。在某些实施例中,编码器可以在比特流中指示并且解码器可以从比特流中解码针对TMVP等的同位图片是通过对参考图片列表的参考索引还是一个或多个其他措施来指示。在同位图片由其他措施指示的情况下,编码器可以在比特流中指示并且解码器可以从比特流中解码其上驻留该同位图片层。编码器可以在比特流中指示并且解码器可以从比特流中解码层内图片的标识符,诸如POC值或长期参考索引,或者编码器和/或解码器可以例如基于具有与正被(解)编码的当前图片相同的POC值来推测指示层中将用作同位图片的图片。
现在描述可以用于实现如在HEVC或其扩张的先前段落中描述的层间同位图片的语法的示例。下面提供切片片段报头的示例语法,其中与草案HEVC规范相比改变或新的部分用斜体指示。当编码器通过与参考索引不同的其他措施指示同位图片时,将图片参数集(PPS)中的num_extra_slice_header_bits设置为大于0的值(例如,设置为1)。语法元素alt_collocated_indication_flag已经被添加到切片片段报头语法。当0,其指示同位图片通过参考索引指示(如草案HEVC标准)。当1,其指示同位图片通过其他措施指示并且编码器将slice_segment_header_extension_length语法元素设置为大于0的值。此示例中的切片片段报头扩展包括collocated_nuh_layer_id语法元素,其指示同位图片的层。在此示例中,同位图片是具有nuh_layer_id等于collocated_nuh_layer_id并且图片顺序计数等于当前(解)编码图片的图片。注意,同位图片的层也可以由其他措施指示,诸如对当前层的列举参考层的索引。在此示例中,collocated_offset_x和collocated_offset_y分别提供以压缩运动字段为单元(即,16亮度采样)的水平和垂直偏移。注意,在某些实施例中,collocated_offset_x和collocated_offset_y可以缺少。具体地,在多视图编码中平行相机设置的情况下,collocated_offset_y可以总等于0,因此还可以从提到的语法中移除。编码器和/或解码器可以在如上文所述的运动字段视差调整中使用偏移。collocated_vsp_flag的语义可以被指定如下:当等于0时,collocated_vsp_flag指定使用常规运动字段推导或上采样(并且如果collocated_offset_x或collocated_offset_y非零,则运动字段可以被视差调整);当等于1时,collocated_vsp_flag指定运动字段可以通过例如视图合成中的景深信息进行调整。当切片片段报头扩展中不存在其他字节时,功能moreSliceSegmentHeaderExtensionBytes()可以被指定返回0,并且当切片片段报头扩展中存在其他字节时,该功能可以被指定返回1。
视图合成过程的粒度
在编码器中,例如从VSP.a中的运动估计和/或率失真优化(RDO)过程中产生的运动分区选择可以用于选择VS过程的粒度。在编码器和/或解码器中,指示的运动分区可以用于视差矢量的推导。例如,如果运动分区是4×4,则相应视差矢量可以从4×4块中导出。同样,如果运动分区是8×8,则视差矢量可以从4×4块中导出,以此类推。
在某些实施例中,编码器可以在比特流(例如,具有一个或多个语法元素和/或语法元素值)中指示并且解码器可以从比特流中解码VS过程的粒度是否与运动分区的相同。即,在比特流中可以提供对景深信息使用的粒度的指示。
在某些实施例中,VS过程的粒度受限于运动分区,但更细的粒度可以在比特流中由编码器指示和/或由解码器从比特流中解码。例如,熵编码VS粒度语法元素可以包括在运动分区语法,诸如宏块分区语法。VS粒度语法元素可以是CABAC编码和/或熵(解)编码可以利用由运动分区管理的约束。例如,如果运动分区的块大小是8×8,则VS粒度在某些实施例中可以被指示为8×8或4×4。
在某些实施例中,VS过程的粒度可以例如在编码标准中预先定义或者由编码器在比特流中指示和/或由解码器从比特流中解码。例如,可以在序列级语法结构(诸如序列参数集)中指示8×8块用于VSP过程。在某些实施例中,编码器可以针对VSP预测分区选择的运动分区可以由预先定义或指示的VSP粒度限制。在某些实施例中,运动分区的熵编码可以被修改使得每当VSP被指示时熵编码运动分区不使用比VSP粒度(例如,码表中)更小的分区大小。
在某些实施例中,编码器可以通过以下伪码算法实现:
如果编码器确定并信号传输(例如,在切片报头中)在块级中信号传输使用VSP或IVP,则执行以下步骤:
否则(编码器确定并且可以信号传输(例如,在切片报头中)不使用VSP并且使用常规IVP),对IVP进行普通MVC信号传输。
比VSP/IVP模式的块级信号传输更高
在某些实施例中,解码器可以通过以下伪码算法实现:
从比特流(例如,切片报头)解码是否在块级中信号传输VSP或IVP的使用。例如,使得变量SliceIVPredIdc等于
-3当VSP和IVP两者均在块级中使用时
-2当VSP可以在块级中使用但IVP没有在块级中使用时
-1当IVP可以在块级中使用但VSP没有在块级中使用时
-0当VSP和IVP两者均没有在块级中使用时
如果VSP和IVP之一或两者在块级中使用(例如,如果SliceIVPredIdc大于0),则解码参考索引并推断其是否涉及视图间参考图片
如果(涉及视图间参考图片并且VSP和IVP两者均在块级中使用),则读取vsp_flag等
如果(涉及视图间参考图片并且SliceIVPredIdc等于2或vsp_flag等于1),则使用VSP粒度导出视差。继而,设置垂直运动矢量为0,并且水平运动矢量等于导出的视差。
如果(涉及视图间参考图片并且SliceIVPredIdc等于1或vsp_flag等于0),则执行普通IVP过程用于解析运动矢量。
使用如上文所述的运动矢量来执行MCP。
在一个示例中,在编码的视频数据中提供了省略运动矢量信息的指示,其中省略运动矢量信息的指示在比视频块更高的级中(例如,在切片报头、图片参数集或序列参数集中)提供。
景深信息的推导
上述某些实施例例如涉及为视频块提供的景深信息或者使用相似解析来指示景深信息对应于纹理视图分量中的块或与之相关联。在编码和/或解码中存在各种方式用于获得这种景深信息,包括但不限于以下中的一个或多个:
–景深视图分量可以通过(解)编码顺序处理相同视图并且相同时刻的纹理视图分量。因此,解码/重构的景深视图分量在(解)编码相应纹理视图分量是可用。
–景深视图分量可以例如使用DIBR算法从表示其他视点的重构/解码的景深视图分量中合成。
–针对块的景深信息可以例如通过邻接景深块的运动矢量来估计或导出用于导出针对当前景深块的运动矢量并且从对应于导出的运动矢量的预测块导出景深信息。
图10a、图10b、图10c和图10d示出了根据一个实施例用于编码视频数据的方法。应当理解,对应的解码方法以反映编码的方式进行操作。图10a至少对应于标签示例E1。图10b至少对应于标签示例E6。图10c至少对应于标签示例E13。图10d至少对应于标签示例E14。
图11图示了各种实施例可以被组合。例如,视频流的不同部分可以通过不同实施例编码。同样,编码视频流的相同部分可以采用若干实施例。
图12a和图12b示出了根据一个实施例用于视频编码的系统和设备。在图12a中,不同设备可以经由固定网络1210(诸如因特网或者局域网连接)或者移动通信网络1220(诸如全球移动通信系统(GSM)网络、第3代(3G)网络、第3.5代(3.5)网络、第4代(4G)网络、无线局域网(WLAN)、或者其它现代和将来网络)来连接。不同网络可以借助通信接口1280相互连接。网络包括用于处理数据的网元、比如路由器和交换机(未示出),以及用于为不同设备提供对网络的接入的通信接口(诸如基站1230和1231),并且基站1230、1231可以本身经由固定连接1276和/或经由无线连接1277连接到移动通信网络1220。
存在若干连接至网络的服务器,并且在图12a的示例中示出了用于向视频流传输提供网络服务并且连接至固定网络1210的服务器1240、用于存储如早先提到的视频数据结构并且连接至固定网络1210的服务器1241、以及用于提供视频流传输服务并且连接至移动网络1220的服务器1242。某些上述设备(例如,计算机1240、1241、1242)可以与驻留在固定网络1210中的通信元件一起组成因特网。某些通信元件例如通过作为能够接收传入视频流,可能转码该视频流并将其以适当格式提供给终端的网关来提供视频能力。例如,网络元件可以解码根据上述实施例编码的景深增强视频流,并且向客户端设备提供立体视频流。
还存在若干终端用户设备,诸如移动电话和智能电话1251、因特网接入设备(英特网平板)1250、各种大小和格式的个人计算机1260、电视机和其他观看设备1261、视频解码器和播放器1262以及相机1263和其他编码器。这些设备1250、1251、1260、1261、1262和1263还可以由多个部分组成。各种设备可以经由通信连接(诸如到因特网的固定连接1270、1271、1272和1280,到因特网1210的无线连接1273、到移动网络1220的固定连接1275和到移动网络1220的无线连接1278、1279和1282)连接至网络1210和1220。连接1271-1282在通信连接的相应终端借助于通信接口实现。
视频数据结构(视频比特流和/或视频文件)可以被存储在任何用户设备中,或者任何服务器中,并且通过通信连接或者在设备内部从中访问。
图12b示出了根据一个实施例用于视频编码的设备。如在图12b中所示,服务器1240包含存储器1245、一个或多个处理器1246、1247以及驻留在存储器1245中用于实现例如视频编码器和/或视频解码器功能或用于处理视频的其他功能的计算机程序代码1248。不同服务器1241、1242可以包含用于采用与每个服务器相关的功能的至少三个相同元件。类似地,终端用户设备1251包含存储器1252、至少一个处理器1253和1256以及驻留在存储器1252中用于实现例如视频编码器和/或视频解码器的计算机程序代码1254。终端用户设备还可以具有用于捕获图像数据(例如,视频)的一个或多个相机1255和1259。终端用户设备还可以包含用于捕获声音的一个、两个或更多麦克风1257和1258。不同终端用户设备1250、1260可以包含用于采用与每个设备相关的功能的至少三个相同元件。终端用户设备还可以包括用于观看图形用户界面的屏幕,并且可以包括用于观看如早先提到的3D视频的屏幕。终端用户设备和服务器还可以包括用于与其他设备通信以及在设备之间传输视频数据的各种通信模块或在一个模块中实现的通信功能。
各种终端用户设备和服务器可以采取通信设备或者具有通信能力的其他设备的形式。例如,设备可以是玩具、家用电器(如厨房用机器)、娱乐设备(TV、音乐/媒体设备)甚至建筑物、衣服、车辆或可以彼此通信的任意其他设备的各部分并且其发现因此可以被实行。
应当理解,不同的实施例允许不同的部分在不同的元件中来实现。例如,软件应用的执行可以完全在一个用户设备如250、251或260中、或者在一个服务器设备240、241或242中来执行,或者在多个用户设备250、251、260之间来执行,或者在多个网络设备240、241或242之间来执行,或者在用户设备250、251、260以及网络设备240、241或242二者之间来进行。例如,视频数据的捕获可以在一个用户设备中发生,视频数据到多视图视频格式的处理可以在另一用户或服务器设备中进行,并且提供用于消费的视频数据可以在第三设备(例如,服务器)中实行。用于实行功能的相关软件可以驻留在一个设备上或者分布在若干设备之间,如上所述,例如,使得设备(例如,服务器)形成所谓的云。
不同实施例可以被实施为在移动设备上并且可选地在提供基于网络的服务的设备上运行的软件。移动电话可以至少被配备一个或者多个存储器、一个或者多个处理器、显示器、小键盘、运动检测器硬件和通信装置、比如2G、3G、WLAN或者其它。不同设备可以具有硬件、比如触屏(单点触摸或者多点触摸),以及用于定位的装置、比如网络定位或者全球定位系统(GPS)模块。在设备上可以存在各种应用、比如日历应用、联系人应用、地图应用、消息收发应用、浏览器应用、图库应用、视频播放器应用以及用于办公和/或私人使用的各种其它应用。设备可以具有各种通信模块用于与其他设备通信并且发送和接收视频数据。
上文给出的不同示例旨在说明用于实行各实施例的示例技术选项。在各实施例中,可以组合来自不同示例的特征。例如,针对H.264/AVC解释的特征可以与针对H.265/HEVC解释的特征组合,再与不针对任何技术规范解释的特征组合。
所呈现的各实施例可以提供若干优势。例如,可以改进协调IVP/VSP解决方案的压缩效率,可以减少VSP的平均计算复杂度,这是由于其与H.264/AVC或H.265/HEVC的MCP对齐,而不是使用固定大小(例如,2×2或4×4)的分区,以及/或者可以减少VSP的实现复杂度,这是由于其与H.264/AVC或H.265/HEVC的MCP对齐,而不是使用固定大小(例如,2×2或4×4)的分区。
以上,已经针对特定术语描述了某些实施例,例如关于图片中的块或编码模式。应当理解,各实施例可以针对具有相似语义的其他术语实现。
以上,已经针对特定预测过程描述了某些实施例。应当理解,各实施例可以通过任意相似的预测过程实现。例如,在上文中,某些实施例关于HEVC的TMVP过程进行了描述。然而,应当理解,各实施例可以通过任意相似的运动矢量预测过程实现。
以上,已经针对特定语法结构和/或语法元素描述了某些实施例。然而,应当理解,各实施例可以备选地或附加地通过其他语法结构和/或语法元素实现。
以上,已经针对特定熵编码和/或解码方法(诸如CABAC)描述了某些实施例。然而,应当理解各实施例可以备选地或附加地通过其他熵编码/解码方法实现。
以上,已经关于向比特流中或者向已编码视频序列中对指示、语法元素和/或语法结构编码和/或从比特流或者从已编码视频序列中对指示、语法元素和/或语法结构解码描述了一些实施例。然而,需要理解,可以如下实现实施例:当将指示、语法元素和/或语法结构编码到语法结构或者数据单元(其在比特流或者已编码视频序列外部,包括视频编码层数据(诸如已编码切片))中时,和/或当从语法结构或者数据单元(其在比特流或者已编码视频序列外部,包括视频编码层数据(诸如已编码切片))对指示、语法元素和/或语法结构解码时。例如,在一些实施例中,可以将根据任何以上实施例的指示编码到视频参数集合或者序列参数集合中,视频参数集合或者序列参数集合例如使用控制协议(诸如SDP)从已编码视频序列外部来传达。继续相同的示例,接收者可以例如使用控制协议来获得视频参数集合或者序列参数集合,并且提供视频参数集合或者序列参数集合用于解码。
以上,已经描述了用于协调应用于纹理视图的视图间预测和视图合成预测的某些实施例。应当理解,各实施例可以附加地或备选地应用于其他类型的视图和/或图片。例如,各实施例可以应用于协调针对景深视图的视图间预测和视图合成预测。
以上,已经在比特流的语法的帮助下描述了示例实施例。然而,需要理解,对应的结构和/或计算机程序可以驻留在编码器处以生成比特流和/或驻留在解码器处以解码比特流。同样,虽然关于编码器来描述示例实施例,然而需要理解,所得到的比特流和解码器在其中具有对应的元素。同样,虽然关于解码器来描述示例实施例,然而需要理解,编码器具有用于生成要由解码器来解码的比特流的结构和/或计算机程序。
以上描述的本发明的某些实施例在单独的编码器和解码器装置方面描述了编解码器,以便帮助理解所涉及的过程。然而应当理解的是,可以将装置、结构和操作实现为单个编码器-解码器装置/结构/操作。另外,在本发明的一些实施例中,编码器和解码器可以共享一些或者全部公共元件。
可以在驻留在存储器中并且使得相关装置执行本发明的计算机程序代码的帮助下来实现本发明的各种实施例。例如,设备可以包括用于处置、接收和传输数据的电路和电子装置、存储器中的计算机程序代码以及在运行计算机程序代码时使得终端设备执行实施例的特征的处理器。另外,网络设备可以包括用于处置、接收和传输数据的电路和电子装置、存储器中的计算机程序代码以及在运行计算机程序代码时使得网络设备执行实施例的特征的处理器。
虽然以上示例描述在电子设备内的编解码器内操作的本发明的实施例,然而应当理解,可以将如下面描述的本发明实现为任何视频编解码器的一部分。因此,例如,可以在可以通过固定或者有线通信路径来实现视频编码的视频编解码器中来实现本发明的实施例。
因此,用户设备可以包括诸如以上在本发明的实施例中所描述的那些编解码器等视频编解码器。应当理解,术语“用户设备”意在覆盖任意合适类型的无线用户设备,诸如移动电话、便携式数据处理设备或者便携式web浏览器。
另外,公用陆地移动网(PLMN)的元件还可以包括如以上描述的视频编解码器。
通常,本发明的各种实施例可以在硬件或专用电路、软件、逻辑或者其任意组合中实现。例如,一些方面可以在硬件中实现,而其他方面可以实现在可以由控制器、微处理器或者其他计算设备来执行的固件或者软件中,尽管本发明不限于此。虽然可以将本发明的各个方面图示和描述为框图、流程图,或者使用一些其他图示表示来图示和描述,然而应当理解,本文中所描述的这些块、装置、系统、技术或者方法(作为非限制性示例)可以实施在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或者其他计算设备、或者他们的某个组合中。
还可以用由移动设备的数据处理器可执行的计算机软件来实现本发明的实施例,诸如在处理器实体中,或者通过硬件,或者通过软件和硬件的组合。另外,在这点上,应当注意,附图中的逻辑流程的任何块可以表示程序步骤、或者互连的逻辑电路、块和功能、或者程序步骤和逻辑电路、块和功能的组合。软件可以存储在这样的物理介质上(如存储器芯片)、在处理器内实现的存储器块、诸如硬盘或软盘等磁性介质、以及诸如例如DVD及其数据变型、CD等光学介质上。
可以在驻留在存储器中并且使得相关装置执行本发明的计算机程序代码的帮助下来实现本发明的各种实施例。例如,终端设备可以包括用于处置、接收和传输数据的电路和电子装置、存储器中的计算机程序代码以及在运行计算机程序代码时使得终端设备执行实施例的特征的处理器。另外,网络设备可以包括用于处置、接收和传输数据的电路和电子装置、存储器中的计算机程序代码以及在运行计算机程序代码时使得网络设备执行实施例的特征的处理器。
存储器可以是适合本地技术环境的任何类型并且可以使用任意合适的数据存储技术(诸如基于半导体的存储器设备、磁性存储器设备和系统、光学存储器设备和系统、固定存储器和可移除存储器)来实现。数据处理器可以是适合本地技术环境的任何类型,并且可以包括通用计算机、专用计算机、微处理器、数字信号处理器(DSP)和基于多核处理器架构的处理器中的一个或多个(作为非限制性示例)。
本发明的实施例可以用各种部件(诸如集成电路模块)来实践。集成电路的设计大体上是高度自动化的过程。复杂且强大的软件工具可用于将逻辑水平的设计转换成准备好在半导体基底上蚀刻和形成的半导体电路设计。
诸如由Synopsys,Inc.ofMountainView,California和CadenceDesign,ofSanJose,California提供的程序等程序自动地使用很好地建立的设计规则以及预先存储的设计模块的库来在半导体芯片上布线半导体和定位部件。一旦完成用于半导体电路的设计,则可以将标准化电子格式(例如Opus、GDSII等)的所得到的设计传输到半导体制造设施或者“fab”用于制造。
以上描述已经通过示例性非限制性示例提供了对本发明的示例性实施例的完整且信息量大的描述。然而,相关领域的技术人员在结合附图和所附权利要求阅读时鉴于以上描述会很清楚各种修改和变型。然而,本发明的教导的所有这样的和相似的修改仍然落入本发明的范围内。

Claims (84)

1.一种用于提供编码视频数据的方法,包括:
-形成用于管理在编码所述视频数据中待使用的参考图片的参考图片列表,
-使用另一视图的至少一个图片作为所述编码中的参考图片,另一视图的所述图片对应于所述参考图片列表的索引,
-针对所述参考图片列表的所述索引,提供待使用的预测类型的指示,以及
-将所述预测类型的所述指示编码在所述编码视频数据中。
2.根据权利要求1所述的方法,其中由所述指示来指示的所述预测类型是视图间预测。
3.根据权利要求1所述的方法,其中由所述指示来指示的所述预测类型是基于视差补偿的预测,诸如视图合成预测。
4.根据权利要求1至3中任一项所述的方法,其中所述指示是指示是否使用来自具有视差补偿的另一视图的所述图片的预测的语法元素。
5.根据权利要求4所述的方法,其中所述语法元素作为二进制标志被编码至所述编码视频数据或者算术上被编码至所述编码视频数据。
6.一种用于提供编码视频数据的方法,包括:
-通过使用来自另一视图的图片的预测来形成视频块的编码视频数据,其中所述预测包括使用用于所述预测的运动矢量,
-在所述编码视频数据中提供在所述编码视频数据中没有为所述视频块提供运动矢量信息的指示,以及
-通过采用为所述视频块提供的景深信息来形成运动矢量信息。
7.根据权利要求6所述的方法,包括:
-通过使用来自另一视图的图片的预测来形成视频块的编码视频数据,其中所述预测包括使用为所述预测所形成的所述运动矢量信息。
8.根据权利要求6或7所述的方法,其中所述方法包括:
-提供关于所述景深信息的使用粒度的指示。
9.根据权利要求6或7所述的方法,其中所述方法包括:
-指示针对所述视频块的单个预测模式,
-将所述视频块分成一个或多个块分区,
-分别为所述一个或多个块分区的每个块分区形成运动矢量信息。
10.根据权利要求6至9中任一项所述的方法,包括:
-在所述编码视频数据中提供省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在比所述视频块更高的层次中提供。
11.根据权利要求6至10中任一项所述的方法,包括:
-在所述编码视频数据中提供省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在来自切片报头、图片参数集和序列参数集分组中的至少一个中提供。
12.根据权利要求6所述的方法,其中所述指示是指示运动矢量信息是否应当由解码器通过采用所述块的邻居的运动矢量信息来形成的标志。
13.一种用于提供编码视频数据的方法,包括:
-通过使用来自另一可缩放性层或视图的第二图片的预测来形成第一可缩放性层或第一视图的第一图片的视频块的编码视频数据,
-向所述编码视频数据中形成编码模式的指示,所述编码模式采用来自另一可缩放性层或视图的图片的预测,
-向所述编码视频数据中形成其他可缩放性层或视图的多个图片的参考列表中所述第一图片的参考标识符。
14.一种用于提供编码视频数据的方法,包括:
-形成第一视频块的编码视频数据,其中所述第一视频块与第一运动信息相关联;
-通过采用为所述第一视频块提供的景深信息来调整所述第一运动信息以获得经调整的第一运动信息;
-通过使用经调整的所述第一运动信息来预测第二运动信息,所述第二运动信息与第二视频块相关联。
15.根据权利要求14所述的方法,其中所述第一视频块的所述编码视频数据包括标识参考图片和差分运动矢量的参考索引分组中的至少一个。
16.根据权利要求14所述的方法,其中
经调整的所述第一运动信息包括以下分组中的至少一个参数:
-用于视图间预测的所述第一视频块的预测类型;
-用于指示视图间参考图片的参考索引;
-与从所述景深信息导出的视差相等的运动矢量;
-根据从所述景深信息导出的所述视差的粒度的块分区;以及所述方法包括:
-在所述调整中设置所述至少一个参数的值。
17.根据权利要求14至16中任一项所述的方法,包括:
-形成与所述第二运动信息相关联的所述第二视频块的编码视频数据,其中所述第一视频块驻留在第一图片中并且所述第二视频块驻留在不同于第一图片的第二图片中。
18.一种用于解码编码视频数据的方法,包括:
-形成用于管理在解码所述视频数据中待使用的参考图片的参考图片列表,
-使用另一视图的至少一个图片作为所述编码中的参考图片,另一视图的所述图片对应于所述参考图片列表的索引,
-针对所述参考图片列表的所述索引,从所述编码视频数据获取待使用的预测类型的指示。
19.根据权利要求18所述的方法,其中由所述指示来指示的所述预测类型是视图间预测。
20.根据权利要求18所述的方法,其中由所述指示来指示的所述预测类型是基于视差补偿的预测,诸如视图合成预测。
21.根据权利要求18至20中任一项所述的方法,其中所述指示是指示是否使用来自具有视差补偿的另一视图的所述图片的预测的语法元素。
22.根据权利要求21所述的方法,其中所述语法元素作为二进制标志被编码至所述编码视频数据或者算术上被编码至所述编码视频数据。
23.一种用于解码编码视频数据的方法,包括:
-通过使用来自另一视图的图片的预测来解码视频块的编码视频数据,其中所述预测包括使用用于所述预测的运动矢量,
-从所述编码视频数据中获取在所述编码视频数据中没有为所述视频块提供运动矢量信息的指示,以及
-通过采用为所述视频块提供的景深信息来形成运动矢量信息。
24.根据权利要求23所述的方法,包括:
-通过使用来自另一视图的图片的预测来解码视频块的编码视频数据,其中所述预测包括使用为所述预测所形成的所述运动矢量信息。
25.根据权利要求23或24所述的方法,其中所述方法包括:
-提供关于所述景深信息的使用粒度的指示。
26.根据权利要求23或24所述的方法,其中所述方法包括:
-从所述编码视频数据中获取针对所述视频块的单个预测模式的指示,
-将所述视频块分成一个或多个块分区,
-分别为所述一个或多个块分区的每个块分区形成运动矢量信息。
27.根据权利要求23至26中任一项所述的方法,包括:
-从所述编码视频数据中获取省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在比所述视频块更高的层次中提供。
28.根据权利要求23至27中任一项所述的方法,包括:
-从所述编码视频数据中获取省略运动矢量信息的指示,其中省略运动矢量信息的所述指示从切片报头、图片参数集和序列参数集分组中的至少一个中获取。
29.根据权利要求27所述的方法,其中所述指示是指示运动矢量信息是否应当由解码器通过采用块的邻居的运动矢量信息来形成的标志。
30.一种用于解码编码视频数据的方法,包括:
-通过使用来自另一可缩放性层或视图的第二图片的预测来解码第一可缩放性层或第一视图的第一图片的视频块的编码视频数据,
-从所述编码视频数据中解码编码模式的指示,所述编码模式采用来自另一可缩放性层或视图的图片的预测,
-从所述编码视频数据中解码在解码中使用的其他可缩放性层或视图的多个图片的参考列表中所述第一图片的参考标识符。
31.一种用于解码编码视频数据的方法,包括:
-解码第一视频块的编码视频数据,其中所述第一视频块与第一运动信息相关联;
-通过采用为所述第一视频块提供的景深信息来调整所述第一运动信息以获得经调整的第一运动信息;
-通过使用经调整的所述第一运动信息来预测第二运动信息,所述第二运动信息与第二视频块相关联。
32.根据权利要求31所述的方法,其中所述第一视频块的所述编码视频数据包括标识参考图片和差分运动矢量的参考索引分组中的至少一个。
33.根据权利要求31所述的方法,其中
经调整的所述第一运动信息包括以下分组中的至少一个参数:
-用于视图间预测的所述第一视频块的预测类型;
-用于指示视图间参考图片的参考索引;
-与从所述景深信息导出的视差相等的运动矢量;
-根据从所述景深信息导出的所述视差的粒度的块分区;以及所述方法包括:
-在所述调整中设置所述至少一个参数的值。
34.根据权利要求31至33中任一项所述的方法,包括:
-解码与所述第二运动信息相关联的所述第二视频块的编码视频数据,其中所述第一视频块驻留在第一图片中并且所述第二视频块驻留在不同于第一图片的第二图片中。
35.一种体现在非瞬态计算机可读介质上的数据结构,所述数据结构包括用于控制计算机上编码视频数据的解码的指令元素,所述数据结构包括用于选择在解码图片元素中待使用的预测类型的第一指令元素,所述预测使用另一视图的至少一个图片作为所述解码中的参考图片,另一视图的所述图片对应于参考图片列表的索引,所述参考图片列表用于管理在解码所述编码视频数据中待使用的参考图片。
36.根据权利要求35所述的数据结构,其中由所述第一指令元素指示的所述预测类型是视图间预测。
37.根据权利要求35所述的数据结构,其中由所述第一指令元素指示的所述预测类型是基于视差补偿的预测,诸如视图合成预测。
38.根据权利要求35至37中任一项所述的数据结构,其中所述第一指令元素是指示是否使用来自具有视差补偿的另一视图的所述图片的预测的语法元素。
39.根据权利要求38所述的数据结构,其中所述语法元素作为二进制标志被编码至所述编码视频数据或者算术上被编码至所述编码视频数据。
40.一种体现在非瞬态计算机可读介质上的数据结构,所述数据结构包括用于控制计算机上编码视频数据的解码的指令元素,所述数据结构包括指示在所述编码视频数据中没有为正被解码的视频块提供运动矢量信息以及运动矢量信息应当通过采用为所述视频块提供的景深信息来形成的第二指令元素。
41.根据权利要求40所述的数据结构,包括关于所述景深信息的使用粒度的指示。
42.根据权利要求40或41所述的数据结构,其中所述数据结构包括省略运动矢量信息的指示的指令元素,其中省略运动矢量信息的所述指示在比所述视频块更高的层次中提供。
43.根据权利要求42所述的数据结构,其中省略运动矢量信息的所述指示在来自切片报头、图片参数集和序列参数集分组中的至少一个中提供。
44.根据权利要求42所述的数据结构,其中所述指示是指示运动矢量信息是否应当由解码器通过采用块的邻居的运动矢量信息来形成的标志。
45.一种体现在非瞬态计算机可读介质上的数据结构,所述数据结构包括编码模式的指示,以及其他可缩放性层或视图的多个图片的参考列表中的图片的参考标识符,所述编码模式采用来自另一可缩放性层或视图的图片的预测。
46.一种装置,包括至少一个处理器、存储器和所述存储器中的计算机程序代码,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-形成用于管理在编码所述视频数据中待使用的参考图片的参考图片列表,
-使用另一视图的至少一个图片作为所述编码中的参考图片,另一视图的所述图片对应于所述参考图片列表的索引,
-针对所述参考图片列表的所述索引,提供待使用的预测类型的指示,以及
-将预测类型的所述指示编码在编码视频数据中。
47.根据权利要求46所述的装置,其中由所述指示来指示的所述预测类型是视图间预测。
48.根据权利要求46所述的装置,其中由所述指示来指示的所述预测类型是基于视差补偿的预测,诸如视图合成预测。
49.根据权利要求46至48中任一项所述的装置,其中所述指示是指示是否使用来自具有视差补偿的另一视图的所述图片的预测的语法元素。
50.根据权利要求49所述的装置,其中所述语法元素作为二进制标志被编码至所述编码视频数据或者算术上被编码至所述编码视频数据。
51.一种装置,包括至少一个处理器、存储器和所述存储器中的计算机程序代码,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-通过使用来自另一视图的图片的预测来形成视频块的编码视频数据,其中所述预测包括使用用于所述预测的运动矢量,
-在所述编码视频数据中提供在所述编码视频数据中没有为所述视频块提供运动矢量信息的指示,以及
-通过采用为所述视频块提供的景深信息来形成运动矢量信息。
52.根据权利要求51所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-通过使用来自另一视图的图片的预测来形成视频块的编码视频数据,其中所述预测包括使用为所述预测所形成的所述运动矢量信息。
53.根据权利要求51或52所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-提供关于所述景深信息的使用粒度的指示。
54.根据权利要求51或52所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-指示针对所述视频块的单个预测模式,
-将所述视频块分成一个或多个块分区,
-分别为所述一个或多个块分区的每个块分区形成运动矢量信息。
55.根据权利要求51至54中任一项所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-在所述编码视频数据中提供省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在比所述视频块更高的层次中提供。
56.根据权利要求51至55中任一项所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-在所述编码视频数据中提供省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在来自切片报头、图片参数集和序列参数集分组中的至少一个中提供。
57.根据权利要求51所述的装置,其中所述指示是指示运动矢量信息是否应当由解码器通过采用块的邻居的运动矢量信息来形成的标志。
58.一种装置,包括至少一个处理器、存储器和所述存储器中的计算机程序代码,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-通过使用来自另一可缩放性层或视图的第二图片的预测来形成第一可缩放性层或第一视图的第一图片的视频块的编码视频数据,
-向所述编码视频数据中形成编码模式的指示,所述编码模式采用来自另一可缩放性层或视图的图片的预测,
-向所述编码视频数据中形成其他可缩放性层或视图的多个图片的参考列表中所述第一图片的参考标识符。
59.一种装置,包括至少一个处理器、存储器和所述存储器中的计算机程序代码,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-形成第一视频块的编码视频数据,其中所述第一视频块与第一运动信息相关联;
-通过采用为所述第一视频块提供的景深信息来调整所述第一运动信息以获得经调整的第一运动信息;
-通过使用经调整的所述第一运动信息来预测第二运动信息,所述第二运动信息与第二视频块相关联。
60.根据权利要求59所述的装置,其中所述第一视频块的所述编码视频数据包括标识参考图片和差分运动矢量的参考索引分组中的至少一个。
61.根据权利要求59所述的装置,其中
经调整的所述第一运动信息包括以下分组中的至少一个参数:
-用于视图间预测的所述第一视频块的预测类型;
-用于指示视图间参考图片的参考索引;
-与从所述景深信息导出的视差相等的运动矢量;
-根据从所述景深信息导出的所述视差的粒度的块分区;以及所述装置包括计算机程序代码,所述计算机程序代码使得所述装置:
-在所述调整中设置所述至少一个参数的值。
62.根据权利要求59至61中任一项所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-形成与所述第二运动信息相关联的所述第二视频块的编码视频数据,其中所述第一视频块驻留在第一图片中并且所述第二视频块驻留在不同于第一图片的第二图片中。
63.一种设备,包括用于实行根据权利要求1至17中任一项所述的方法的装置。
64.一种体现在非瞬态计算机可读介质上的用于编码视频数据的计算机程序产品,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被布置为在所述计算机程序代码在处理器上执行时使得装置实行根据权利要求1至17中任一项所述的方法。
65.一种装置,包括至少一个处理器、存储器和所述存储器中的计算机程序代码,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-形成用于管理在解码所述视频数据中待使用的参考图片的参考图片列表,
-使用另一视图的至少一个图片作为所述编码中的参考图片,另一视图的所述图片对应于所述参考图片列表的索引,
-针对所述参考图片列表的所述索引,从所述编码视频数据获取待使用的预测类型的指示。
66.根据权利要求65所述的装置,其中由所述指示来指示的所述预测类型是视图间预测。
67.根据权利要求65所述的装置,其中由所述指示来指示的所述预测类型是基于视差补偿的预测,诸如视图合成预测。
68.根据权利要求65至67中任一项所述的装置,其中所述指示是指示是否使用来自具有视差补偿的另一视图的所述图片的预测的语法元素。
69.根据权利要求68所述的装置,其中所述语法元素作为二进制标志被编码至所述编码视频数据或者算术上被编码至所述编码视频数据。
70.一种装置,包括至少一个处理器、存储器和所述存储器中的计算机程序代码,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-通过使用来自另一视图的图片的预测来解码视频块的编码视频数据,其中所述预测包括使用用于所述预测的运动矢量,
-从所述编码视频数据中获取在所述编码视频数据中没有为所述视频块提供运动矢量信息的指示,以及
-通过采用为所述视频块提供的景深信息来形成运动矢量信息。
71.根据权利要求70所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-通过使用来自另一视图的图片的预测来解码视频块的编码视频数据,其中所述预测包括使用为所述预测形成的所述运动矢量信息。
72.根据权利要求70或71所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-提供关于所述景深信息的使用粒度的指示。
73.根据权利要求70或71所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-从所述编码视频数据中获取针对所述视频块的单个预测模式的指示,
-将所述视频块分成一个或多个块分区,
-分别为所述一个或多个块分区的每个块分区形成运动矢量信息。
74.根据权利要求70至73中任一项所述的装置,包括:
-从所述编码视频数据中获取省略运动矢量信息的指示,其中省略运动矢量信息的所述指示在比所述视频块更高的层次中提供。
75.根据权利要求70至74中任一项所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-从所述编码视频数据中获取省略运动矢量信息的指示,其中省略运动矢量信息的所述指示从切片报头、图片参数集和序列参数集分组中的至少一个中获取。
76.根据权利要求70所述的装置,其中所述指示是指示运动矢量信息是否应当由解码器通过采用块的邻居的运动矢量信息来形成的标志。
77.一种装置,包括至少一个处理器、存储器和所述存储器中的计算机程序代码,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-通过使用来自另一可缩放性层或视图的第二图片的预测来解码第一可缩放性层或第一视图的第一图片的视频块的编码视频数据,
-从所述编码视频数据中解码编码模式的指示,所述编码模式采用来自另一可缩放性层或视图的图片的预测,
-从所述编码视频数据中解码在解码中使用的其他可缩放性层或视图的多个图片的参考列表中所述第一图片的参考标识符。
78.一种装置,包括至少一个处理器、存储器和所述存储器中的计算机程序代码,所述计算机程序代码被配置为在所述至少一个处理器上执行时使得所述装置:
-解码第一视频块的编码视频数据,其中所述第一视频块与第一运动信息相关联;
-通过采用为所述第一视频块提供的景深信息来调整所述第一运动信息以获得经调整的第一运动信息;
-通过使用经调整的所述第一运动信息来预测第二运动信息,所述第二运动信息与第二视频块相关联。
79.根据权利要求78所述的装置,其中所述第一视频块的所述编码视频数据包括标识参考图片和差分运动矢量的参考索引分组中的至少一个。
80.根据权利要求78所述的装置,其中
经调整的所述第一运动信息包括以下分组中的至少一个参数:
-用于视图间预测的所述第一视频块的预测类型;
-用于指示视图间参考图片的参考索引;
-与从所述景深信息导出的视差相等的运动矢量;
-根据从所述景深信息导出的所述视差的粒度的块分区;以及所述装置包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-在所述调整中设置所述至少一个参数的值。
81.根据权利要求78至80中任一项所述的装置,包括计算机程序代码,所述计算机程序代码被布置为使得所述装置:
-解码与所述第二运动信息相关联的所述第二视频块的编码视频数据,其中所述第一视频块驻留在第一图片中并且所述第二视频块驻留在不同于第一图片的第二图片中。
82.一种设备,包括用于实行根据权利要求18至34中任一项所述的方法的装置。
83.一种体现在非瞬态计算机可读介质上的用于解码视频数据的计算机程序产品,所述计算机程序产品包括计算机程序代码,所述计算机程序代码被布置为在所述计算机程序代码在处理器上执行时使得装置实行根据权利要求18至34中任一项所述的方法。
84.一种用于视频传输的系统,包括根据权利要求46至63中任一项所述的一个或多个装置以及根据权利要求65至82中任一项所述的一个或多个装置。
CN201480033590.6A 2013-04-12 2014-04-08 用于3d视频编码的协调视图间和视图合成预测 Active CN105308965B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361811240P 2013-04-12 2013-04-12
US61/811,240 2013-04-12
PCT/FI2014/050249 WO2014167179A1 (en) 2013-04-12 2014-04-08 Harmonized inter-view and view synthesis prediction for 3d video coding

Publications (2)

Publication Number Publication Date
CN105308965A true CN105308965A (zh) 2016-02-03
CN105308965B CN105308965B (zh) 2018-12-04

Family

ID=51688995

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480033590.6A Active CN105308965B (zh) 2013-04-12 2014-04-08 用于3d视频编码的协调视图间和视图合成预测

Country Status (6)

Country Link
US (1) US9930363B2 (zh)
EP (1) EP2984834B1 (zh)
KR (1) KR101726534B1 (zh)
CN (1) CN105308965B (zh)
CA (1) CA2909309C (zh)
WO (1) WO2014167179A1 (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108900847A (zh) * 2018-06-11 2018-11-27 阿依瓦(北京)技术有限公司 一种基于块匹配的大范围预测方法
CN109076240A (zh) * 2016-05-06 2018-12-21 联发科技股份有限公司 将全向图像映射到布局输出格式的方法和装置
CN109479149A (zh) * 2016-07-05 2019-03-15 株式会社Kt 视频信号处理方法和设备
CN111108751A (zh) * 2017-09-18 2020-05-05 交互数字Vc控股公司 适应于全向视频的运动矢量预测量的方法和装置
CN111213175A (zh) * 2017-10-19 2020-05-29 松下电器(美国)知识产权公司 三维数据编码方法、解码方法、三维数据编码装置、解码装置
CN112236999A (zh) * 2018-03-29 2021-01-15 弗劳恩霍夫应用研究促进协会 依赖性量化
CN112771873A (zh) * 2018-09-20 2021-05-07 夏普株式会社 用于发信号通知视频编码中的参数的系统和方法
WO2021147754A1 (zh) * 2020-01-20 2021-07-29 北京芯海视界三维科技有限公司 3d图像处理方法、装置和3d显示终端
CN114450951A (zh) * 2019-06-25 2022-05-06 交互数字Vc控股法国有限公司 视频编码和解码中的运动向量预测
CN117041594A (zh) * 2018-12-30 2023-11-10 北京达佳互联信息技术有限公司 用于对视频进行编码的方法、设备、存储介质和程序产品

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9118929B2 (en) * 2010-04-14 2015-08-25 Mediatek Inc. Method for performing hybrid multihypothesis prediction during video coding of a coding unit, and associated apparatus
WO2014050948A1 (ja) * 2012-09-28 2014-04-03 シャープ株式会社 画像復号装置及び画像符号化装置
US9781416B2 (en) 2013-02-26 2017-10-03 Qualcomm Incorporated Neighboring block disparity vector derivation in 3D video coding
US9237345B2 (en) * 2013-02-26 2016-01-12 Qualcomm Incorporated Neighbor block-based disparity vector derivation in 3D-AVC
US9596448B2 (en) 2013-03-18 2017-03-14 Qualcomm Incorporated Simplifications on disparity vector derivation and motion vector prediction in 3D video coding
EP2984841B1 (en) * 2013-04-12 2016-06-08 Telefonaktiebolaget LM Ericsson (publ) Constructing inter-layer reference picture lists
US9288507B2 (en) * 2013-06-21 2016-03-15 Qualcomm Incorporated More accurate advanced residual prediction (ARP) for texture coding
WO2015008464A1 (en) * 2013-07-14 2015-01-22 Sharp Kabushiki Kaisha Video parameter set signaling
US9860529B2 (en) * 2013-07-16 2018-01-02 Qualcomm Incorporated Processing illumination compensation for video coding
US9338464B2 (en) * 2014-02-04 2016-05-10 Cable Television Laboratories, Inc. Adaptive field and frame identification
US10187657B2 (en) * 2014-03-14 2019-01-22 Samsung Electronics Co., Ltd. Method and device for configuring merge candidate list for decoding and encoding of interlayer video
JP2015216632A (ja) * 2014-04-22 2015-12-03 ソニー株式会社 符号化装置および符号化方法
WO2016056754A1 (ko) * 2014-10-08 2016-04-14 엘지전자 주식회사 3d 비디오 부호화/복호화 방법 및 장치
EP3123718A4 (en) * 2014-10-09 2017-05-03 HFI Innovation Inc. Method of 3d or multi-view video coding including view synthesis prediction
EP3247114A4 (en) * 2015-01-21 2018-01-17 Samsung Electronics Co., Ltd. Method and apparatus for decoding inter-layer video, and method and apparatus for encoding inter-layer video
US10362290B2 (en) 2015-02-17 2019-07-23 Nextvr Inc. Methods and apparatus for processing content based on viewing information and/or communicating content
CA2977051C (en) 2015-02-17 2023-02-07 Nextvr Inc. Methods and apparatus for generating and using reduced resolution images and/or communicating such images to a playback or content distribution device
EP3340620A4 (en) * 2015-08-23 2019-04-17 LG Electronics Inc. IMAGE PROCESSING METHOD BASED ON INTER-PREDICTION MODE AND APPARATUS THEREOF
US10390071B2 (en) * 2016-04-16 2019-08-20 Ittiam Systems (P) Ltd. Content delivery edge storage optimized media delivery to adaptive bitrate (ABR) streaming clients
US10574331B2 (en) * 2016-05-10 2020-02-25 Nokia Technologies Oy Antenna co-location and receiver assumptions
US10366536B2 (en) * 2016-06-28 2019-07-30 Microsoft Technology Licensing, Llc Infinite far-field depth perception for near-field objects in virtual environments
US10783607B2 (en) * 2016-10-06 2020-09-22 Kai Inc. Method of acquiring optimized spherical image using multiple cameras
EP4090025A1 (en) * 2016-12-05 2022-11-16 LG Electronics Inc. Video decoding method, video encoding method, storage medium and transmission method
US10554957B2 (en) * 2017-06-04 2020-02-04 Google Llc Learning-based matching for active stereo systems
CN117294837A (zh) 2018-04-02 2023-12-26 深圳市大疆创新科技有限公司 用于图像处理的方法和图像处理装置
DE102019109757A1 (de) * 2018-04-12 2019-10-17 Nvidia Corporation Hinzufügen von mehr realismus zu einem von einem computergenerierten bild durch glätten von gezackten kanten
US11113790B2 (en) * 2018-04-12 2021-09-07 Nvidia Corporation Adding greater realism to a computer-generated image by smoothing jagged edges
FR3080968A1 (fr) 2018-05-03 2019-11-08 Orange Procede et dispositif de decodage d'une video multi-vue, et procede et dispositif de traitement d'images.
US10798394B2 (en) * 2018-06-27 2020-10-06 Avago Technologies International Sales Pte. Limited Low complexity affine merge mode for versatile video coding
WO2020071738A1 (en) * 2018-10-02 2020-04-09 Lg Electronics Inc. Method for transmitting video, apparatus for transmitting video, method for receiving video, and apparatus for receiving video
US11064180B2 (en) 2018-10-15 2021-07-13 City University Of Hong Kong Convolutional neural network based synthesized view quality enhancement for video coding
US11394946B2 (en) 2018-10-30 2022-07-19 Lg Electronics Inc. Video transmitting method, video transmitting apparatus, video receiving method, and video receiving apparatus
US11393113B2 (en) 2019-02-28 2022-07-19 Dolby Laboratories Licensing Corporation Hole filling for depth image based rendering
US11670039B2 (en) * 2019-03-04 2023-06-06 Dolby Laboratories Licensing Corporation Temporal hole filling for depth image based video rendering
CN110139105B (zh) * 2019-04-10 2021-08-13 首都师范大学 多立体图像加密方法、解密方法、加密装置及解密装置
WO2021125703A1 (ko) * 2019-12-20 2021-06-24 엘지전자 주식회사 영상/비디오 코딩 방법 및 장치
FR3107383A1 (fr) * 2020-02-14 2021-08-20 Orange Procédé et dispositif de traitement de données de vidéo multi-vues
CN111432092B (zh) * 2020-03-30 2022-08-23 Tcl华星光电技术有限公司 视频传输方法及其装置
CN113613004A (zh) * 2021-09-14 2021-11-05 百果园技术(新加坡)有限公司 图像编码方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101449585A (zh) * 2006-03-30 2009-06-03 Lg电子株式会社 用于解码/编码视频信号的方法和装置
CN101641954A (zh) * 2007-03-23 2010-02-03 Lg电子株式会社 用于解码/编码视频信号的方法和装置
US20120269270A1 (en) * 2011-04-20 2012-10-25 Qualcomm Incorporated Motion vector prediction in video coding
WO2013032512A1 (en) * 2011-08-30 2013-03-07 Intel Corporation Multiview video coding schemes
WO2013030456A1 (en) * 2011-08-30 2013-03-07 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007081176A1 (en) * 2006-01-12 2007-07-19 Lg Electronics Inc. Processing multiview video
EP2005752A4 (en) 2006-03-30 2010-06-09 Lg Electronics Inc METHOD AND APPARATUS FOR DECODING / ENCODING A VIDEO SIGNAL
US20100091845A1 (en) * 2006-03-30 2010-04-15 Byeong Moon Jeon Method and apparatus for decoding/encoding a video signal
TWI375469B (en) * 2006-08-25 2012-10-21 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
KR100801968B1 (ko) * 2007-02-06 2008-02-12 광주과학기술원 변위를 측정하는 방법, 중간화면 합성방법과 이를 이용한다시점 비디오 인코딩 방법, 디코딩 방법, 및 인코더와디코더
US20130003850A1 (en) * 2011-06-30 2013-01-03 Toshiyasu Sugio Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US9736472B2 (en) * 2011-08-19 2017-08-15 Telefonaktiebolaget Lm Ericsson (Publ) Motion vector processing
CN103907347B (zh) 2011-08-31 2018-01-30 诺基亚技术有限公司 多视图视频编码和解码
US20140241434A1 (en) * 2011-10-11 2014-08-28 Mediatek Inc Method and apparatus of motion and disparity vector derivation for 3d video coding and hevc
JPWO2013111596A1 (ja) * 2012-01-26 2015-05-11 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 動画像符号化方法および動画像符号化装置
US9503702B2 (en) * 2012-04-13 2016-11-22 Qualcomm Incorporated View synthesis mode for three-dimensional video coding
WO2013159330A1 (en) 2012-04-27 2013-10-31 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding
US9516332B2 (en) * 2012-12-21 2016-12-06 Qualcomm Incorporated Disparity vector derivation in three-dimensional video coding
US10136119B2 (en) * 2013-01-10 2018-11-20 Qualcomm Incoporated View synthesis in 3D video

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101449585A (zh) * 2006-03-30 2009-06-03 Lg电子株式会社 用于解码/编码视频信号的方法和装置
CN101641954A (zh) * 2007-03-23 2010-02-03 Lg电子株式会社 用于解码/编码视频信号的方法和装置
US20120269270A1 (en) * 2011-04-20 2012-10-25 Qualcomm Incorporated Motion vector prediction in video coding
WO2013032512A1 (en) * 2011-08-30 2013-03-07 Intel Corporation Multiview video coding schemes
WO2013030456A1 (en) * 2011-08-30 2013-03-07 Nokia Corporation An apparatus, a method and a computer program for video coding and decoding

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109076240B (zh) * 2016-05-06 2021-11-16 联发科技股份有限公司 将全向图像映射到布局输出格式的方法和装置
CN109076240A (zh) * 2016-05-06 2018-12-21 联发科技股份有限公司 将全向图像映射到布局输出格式的方法和装置
CN109479149A (zh) * 2016-07-05 2019-03-15 株式会社Kt 视频信号处理方法和设备
US11805255B2 (en) 2016-07-05 2023-10-31 Kt Corporation Method and apparatus for processing video signal
CN111108751A (zh) * 2017-09-18 2020-05-05 交互数字Vc控股公司 适应于全向视频的运动矢量预测量的方法和装置
CN111108751B (zh) * 2017-09-18 2024-04-16 交互数字Vc控股公司 适应于全向视频的运动矢量预测量的方法和装置
CN111213175A (zh) * 2017-10-19 2020-05-29 松下电器(美国)知识产权公司 三维数据编码方法、解码方法、三维数据编码装置、解码装置
CN112236999A (zh) * 2018-03-29 2021-01-15 弗劳恩霍夫应用研究促进协会 依赖性量化
CN112236999B (zh) * 2018-03-29 2022-12-13 弗劳恩霍夫应用研究促进协会 依赖性量化
CN108900847B (zh) * 2018-06-11 2020-06-30 阿依瓦(北京)技术有限公司 一种基于块匹配的大范围预测方法
CN108900847A (zh) * 2018-06-11 2018-11-27 阿依瓦(北京)技术有限公司 一种基于块匹配的大范围预测方法
CN112771873A (zh) * 2018-09-20 2021-05-07 夏普株式会社 用于发信号通知视频编码中的参数的系统和方法
US11973970B2 (en) 2018-09-20 2024-04-30 Sharp Kabushiki Kaisha Systems and methods for signaling parameters in video coding
CN117041594A (zh) * 2018-12-30 2023-11-10 北京达佳互联信息技术有限公司 用于对视频进行编码的方法、设备、存储介质和程序产品
CN117041594B (zh) * 2018-12-30 2024-05-14 北京达佳互联信息技术有限公司 用于对视频进行编码的方法、设备、存储介质和程序产品
CN114450951A (zh) * 2019-06-25 2022-05-06 交互数字Vc控股法国有限公司 视频编码和解码中的运动向量预测
WO2021147754A1 (zh) * 2020-01-20 2021-07-29 北京芯海视界三维科技有限公司 3d图像处理方法、装置和3d显示终端

Also Published As

Publication number Publication date
US20140314147A1 (en) 2014-10-23
EP2984834A4 (en) 2016-10-12
EP2984834B1 (en) 2020-11-25
CA2909309C (en) 2019-05-21
WO2014167179A1 (en) 2014-10-16
EP2984834A1 (en) 2016-02-17
US9930363B2 (en) 2018-03-27
KR20150139970A (ko) 2015-12-14
CA2909309A1 (en) 2014-10-16
KR101726534B1 (ko) 2017-04-26
CN105308965B (zh) 2018-12-04

Similar Documents

Publication Publication Date Title
CN105308965B (zh) 用于3d视频编码的协调视图间和视图合成预测
CN104521238B (zh) 用于3d视频编码的装置和方法
CN104396244B (zh) 用于视频编码和解码的装置、方法和计算机可读存储介质
CN105556969B (zh) 视频译码中使用视差向量的块识别
CN105122812B (zh) 用于三维(3d)视频译码的高级合并模式
JP6359549B2 (ja) 3次元ビデオコーディングにおける適応ルミナンス補償
CN105637870B (zh) 使用不对称运动分割的视频译码技术
US8532410B2 (en) Multi-view video coding with disparity estimation based on depth information
CN110431845A (zh) 约束通过解码器侧运动向量推导导出的运动向量信息
CN109691106A (zh) 时间运动向量预测符的偏移向量识别
AU2013330031B2 (en) Method and apparatus for motion information prediction and inheritance in video coding
CN105874799A (zh) 用于3d视频译码的基于块的高级残差预测
CN104641642A (zh) 用于视频编码的方法和装置
CN105531999A (zh) 涉及用于信号传输运动信息的语法的视频编码方法及装置
CN105325003A (zh) 用于视频编码和解码的装置、方法和计算机程序
CN105556965A (zh) 用于视频编码和解码的方法、装置和计算机程序产品
CN105359530A (zh) 面向深度的视图间运动向量预测
CN103891291A (zh) 用于视频编码和解码的设备、方法和计算机程序
CN104584549A (zh) 用于视频编码的方法和装置
ES2703062T3 (es) Síntesis de visualización en vídeo 3D
TW201440504A (zh) 視差向量推導
CN104813669A (zh) 用于视频编码的方法和装置
CN104604236A (zh) 用于视频编码的方法和装置
CN105027571A (zh) 三维视频译码中导出的视差向量
KR101386651B1 (ko) 다시점 비디오 인코딩 및 디코딩 방법 및 이를 이용한 인코딩 및 디코딩 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant