CN101653001A - 用于多视点视频编码的参考图像列表管理语法 - Google Patents

用于多视点视频编码的参考图像列表管理语法 Download PDF

Info

Publication number
CN101653001A
CN101653001A CN200780038178A CN200780038178A CN101653001A CN 101653001 A CN101653001 A CN 101653001A CN 200780038178 A CN200780038178 A CN 200780038178A CN 200780038178 A CN200780038178 A CN 200780038178A CN 101653001 A CN101653001 A CN 101653001A
Authority
CN
China
Prior art keywords
image
pic
num
reference picture
ref
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN200780038178A
Other languages
English (en)
Inventor
普尔温·比布哈斯·潘迪特
苏野平
尹鹏
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.)
Thomson Licensing SAS
Original Assignee
Thomson Licensing SAS
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 Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to CN201710523675.8A priority Critical patent/CN107295350A/zh
Priority to CN201210236406.0A priority patent/CN102761744B/zh
Publication of CN101653001A publication Critical patent/CN101653001A/zh
Pending legal-status Critical Current

Links

Images

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

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

Abstract

本发明描述了一种对用于编码运动图像的多视点编码器进行图像参考列表排序的方法,其中所述图像列表具有参考图像的编码顺序,用于相关于需要编码的图像是否与视点相关联来编码指定的图像(715)。图像列表的排序将因此取决于参考图像与需要编码的图像之间的时间关系(720)和与参考图像相关联的视点(715)改变图像参考列表中的参考图像的编码顺序。

Description

用于多视点视频编码的参考图像列表管理语法
相关申请的交叉引用
本申请要求2006年10月13日提交的美国临时申请60/851,863和2006年10月13日提交的美国临时申请60/851,521的优先权,上述两个临时申请在此全文并入作为参考。
技术领域
本发明涉及运动图像(moving pictures)领域,更具体地,涉及参考图像在用于编码视频图像时的排序(ordering)课题。
背景技术
许多帧间编码系统使用参考图像(reference picture),使用这种参考图像有助于降低编码比特流的大小。这样的结果就是编码效率比仅仅使用帧内编码技术要高。因此,许多编码标准既包含帧内也包含帧间编码技术,以编码一系列移动图像的比特流。在现有技术中,不同类型的参考图像用于编码标准,例如“I”图像,其只使用图像自身内(帧内)的元素进行编码,又例如“B”图像,其通过使用来自图像自身内部的元素和/或来自两个先前参考图像(帧间)的元素进行编码,再例如“P”图像,其通过使用来自图像自身内部的元素和/或来自一个先前参考图像(帧间)的元素进行编码。
当“B”图像或“P”图像被编码和/或解码时,这种图像因而取决于其他参考帧,从而这种图像在解码过程中可以被正确编码或构建。编码/解码系统应当提供某种类型的存储单元(memory location),从而在其他图像在由参考图像被编码或解码时可以存储这种参考图像。这些图像类型之间具有时间关系。
当考虑其中不同视频图像的多视点(multiple views)需要考虑的视频标准时,这种情况变得更为复杂。例如,图1是多视点编码系统中使用的参考图像结构的示例性实施方式。具体而言,所示结构涉及根据多视点编码(MVC)方案在时间(T0-T100)使用8个不同视点(S0-S7),所述MVC方案在2006年7月奥地利Klagenfurt的JVT-T208.doc的A.Vetro、Y.Su、H.Kimata、A.Smolic的“Joint Multiview Video Model(JMVM)1.0”中提出。此多视点编码标准基于高级视频编码(AVC)标准(G.Sullivan、T.Wiegand、A.Luthra,“H.264/AVC(ITU推荐标准和ISO/IEC 14496-10(MPEG-4第10部分)高级视频编码)”,Palma de Mallorca,ES18-22,2004年10月)。这两个标准的最大的区别在于AVC不解决对多视点图像的编码而MVC能够解决。
请再参看图1,例如可以看出,当编码在时间T1与视点S1相关联的图像时,需要编码的图像与来自相同视点(时间T0的S1和时间T2的S1)的图像(参考图像)关联,并且需要编码的图像与来自不同视点(时间T1的S0和时间T1的S2)的图像关联。因此,当编码与S1关联的图像时,重要的是要在存储装置(例如可以由硬件、软件或其组合实施的缓存器、寄存器、RAM等)中保存参考图像(时间T0的S1、时间T2的S1、时间T1的S0和时间T1的S2)。
用于存储AVC视频标准中使用的参考图像的编码器和存储装置运算的通用实施方式示于图2中。具体而言,在框图200中公开了编码器205、编码缓存器210和解码图像缓存器(DPB)215。在编码操作(编码或者解码)过程中,由编码器205正在进行编码的图像存在于编码缓存器210中,而先前编码的参考图像存储在解码图像缓存器215中。
但是当需要编码一个需要使用超过两个的参考图像的图像时,当该图像存储在缓存器DPB 215中时,就会产生问题。即DPB 215必须为这种参考图像提供某种类型的组织,以使它们在编码运算过程中可以被编码器205使用。还可以理解,当编码第二图像时,不同的参考图像可能必须由编码器205通过DPB215获得。在时间的情况下(例如AVC),这种问题非常复杂,但是当编码视频标准(例如MVC)中的图像时当必须考虑不同视点中的参考图像时(如图1所示),这就变成了需要获得参考图像的问题。
发明内容
本发明能够解决现有技术的上述缺点和不足。本发明涉及一种用于再利用可用的运动信息作为运动估计预测器以进行视频编码的方法和装置。
根据本发明原理的一个方面,提出了一种编码器,其根据来自被解码器解码的图像的信息对存储在存储器中的参考图像进行存储管理操作,其中这种信息与关联于该参考图像的视点信息相关。
通过下面结合附图对本发明的实施方式进行的详细说明,本发明的上述和其他方面以及特征和优点将变得显而易见。
附图说明
根据参照下面附图的详细说明,本发明的原理将得到更好的理解。
图1是根据本发明实施方式的不同时间的视频图像视点的多视点编码,其中这种视频图像使用参考图像按照图中所示的方式进行编码;
图2是根据本发明原理的视频编码器的示例性实施方式;
图3是在根据本发明实施方式所用的语法元素ref_pic_list_recording()的伪代码的实施方式;
图4是在根据本发明实施方式所用的语法元素slice_shead_mvc_extension()的伪代码的实施方式;
图5是在根据本发明实施方式所用的语法元素ref_pic_list_reordering_mvc_extension()的伪代码的实施方式;
图6是在根据本发明实施方式所用的语法元素ref_pic_list_reordering_mvc_extension()的伪代码的实施方式;
图7是在根据本发明实施方式的图像参考序列重排序方法的框图。
具体实施方式
本发明的原理可以适用于任何基于帧内和帧间的编码标准。本说明书中使用的术语“图像”是一个用于描述各种形式的视频图像信息的通用术语,所述视频图像信息在本领域中可以理解为“帧(frame)”、“场(field)”、“条(slice)”以及“图像(picture)”本身。可以理解,虽然术语图像用于表示各种元素视频信息,AVC指的是使用条,其中这种参考图像可以使用来自相同图像的条作为“参考图像”而且不管图像如何被子划分,本发明的原理都适用。
并且,在对本发明的说明中,在附图中详细描述了使用C语言类型格式编写的各种指令(语法元素/syntax element),对这种指令中的描述符(descriptor)使用下列命名法。
u(n):使用n比特的无符号整数。当n为语法表中的“v”时,比特数按照取决于其他语法元素的值的方式变化。对于此描述符的解析通过函数read_bits(n)的返回值(return value)来确定,其被解释为无符号整数的以最高有效位在先书写(most significant bit written first)的二进制表示。
ue(v):左位在先(left bit first)的无符号整数Exp-Golomb编码的语法元素。
se(v):左位在先的带符号整数Exp-Golomb编码的语法元素。
C:表示语法元素所适用的类,即一个特定的场应当适用于那一级。
本说明书解释了本发明的原理。虽然在本说明书中并未描述,但本领域普通技术人员在本发明的原理和范围之内能够设想出各种实施方式。
本说明书中所采用的示例性和条件性的语言的目的在于帮助阅读者理解由发明人对现有技术进行改进的本发明的原理和概念,本发明并不局限于这种特定的实例和条件。
并且,对于本发明原理、方面和实施方式以及特定实例的所有陈述都意在包括等同的结构和功能。另外,这种等同结构和功能包括当前已知和以后开发出来的结构和功能、即不论结构如何而用来执行相同功能的任何元件。
请再次参看图2,当(AVC和MVC的)编码器205执行对移动图像进行编码的编码运算时,编码的图像与数个不同值相关联,其中这种值被编码器205放置在图像头部(例如条头部)中。称为pic_num(图像号)的第一值指示被编码图像在编码的视频图像序列中的顺序。例如,该序列中的第一图像具有值“1”,而被编码的第四图像具有值“4”。
图像还具有被称为图像序列号(POC)的值,该值确定编码图像在最终解码时被显示的顺序。这表示,编码图像具有的帧号可能不同于与该图像相关联的POC号。
多视点视频编码引入了第三值,该第三值可以与其他值结合用于图像。view_id(视点id)值表示图像所对应的视点。例如,与视点S3相关联的图像的view_id等于“3”,而对应于视点S5的图像的view_id等于“5”。view_id号的用处的另一方面是因为使用这种值可以让编码器去耦不同视点之间的pic_num和POC,这使得DPB 215能够存储具有相同pic_num和/或POC的参考图像。因此这种(具有相同POC或pic_num)的图像通过使用view_id值彼此区分。
可以理解,上述值可以通过不同方式执行(利用其他数字、变量名、哈希表等)。
当(如位于http://www.rgu.ac.uk/files/avc_picmanagement_draft1.pdf的作者为Iain G Richardson的“Frame and Picture Management”中所解释的那样)在DPB 215中存储参考图像时,这种图像被赋值有存储状态,该存储状态将参考图像标记为短期参考图像(通过PicNum或PicOrderCount引用)和长期参考图像(通过LongTermPicNum引用,LongTermPicNum表示LongTermPic索引中的号码)。可以理解,参考图像的状态可以(例如通过使用AVC中已知的存储管理指令算子)在长期、短期以及甚至被称为“非参考”的状态之间改变,所述“非参考”表示参考图像最终将被从DPB 215中移除。
参考图像的组织可以被排序为一个或两个列表,他们在编码图像(条)之前使用。用于P图像的参考将使用单一图像列表(list0),而用于B图像的参考将使用两个列表(list0和list1)。图像列表中的图像的缺省组织当被编码的当前图像是P图像时取决于解码顺序(PicNum),在被编码的当前图像是B图像时取决于显示顺序。被指定为长期参考图像的参考图像通常分配了LongTermPicNum并且放置在参考列表的某一位置,从而该图像将比短期图形被保留更长时间。
AVC允许编码器205在编码图像条时改变list0(以及对于B图像(条)的list1)中的参考图像的缺省顺序。即,编码器可以识别(上述列表中的)参考图像可以是比参考列表中的参考图像更好的参考图像。通过将与当前编码图像更相关的参考图像标记为比与被编码图像不太相关的参考图像占据参考列表上索引中更低(更接近)的位置,可以提高编码效率。因此,被称为参考图像列表重排序指令(RPLR)的指令用于改变这种参考图像的顺序,这些指令示于图3中。
图3显示了AVC语法元素ref_pic_list_reordering(虽然结合条进行说明,但可以理解该原理可以针对图像执行)提供用于重排序图像列表的AVC指令,其中将参照AVC对这些指令的意义进行说明。
当考虑在MVC的范畴内使用参考图像列表时,实际上有两组图像需要考虑,即时间参考(temporal references)和交叉视点参考(cross-viewreferences),其与AVC不同之处在于AVC只考虑时间参考。
因此,在“K.Muller、P.Merkle、A.Smolic、T.Wiegand所著“Multiview Coding using AVC”、m12945、泰国曼谷、2006年一月”中,提议构造单一交织序列(其将所有视频序列交织在一个序列中),该交织序列然后可以通过有AVC功能的编码器进行编码并生成兼容比特流。但是,该AVC实施方式的缺点在于,无法识别某个图像属于哪个视点,因为用于pic_num和POC的惟一值必须分配给编码的每个图像以执行现有AVC的RPLR指令。
当前的MVC实施方式提出引入另外的语法,该语法被加入至序列参数集(SPS)以标识交叉视点参考。下面示出的该语法元素用于指示用于锚图像(anchor picture)和非锚图像的交叉视点参考。
应当进行下面的步骤以将来自不同于当前视点的视点的参考图像放置在图像预测列表中。
-对于从0到num_multiview_ref_for_listX-1的每个i值:
-获得从时间上被赋值为当前图像的视点reference_view_for_list_X[i]创建的图像并将其插入值解码预测缓冲器(DPB)中。
-将该图像的索引插入至RefPicListX的下一空时隙中。
但是,这种实施方式具有一个问题,参考图像列表的初始化(和重建)是通过固定的方式,无法改变。即,时间和交差视点的图像的顺序是不灵活的。另外,为每个锚图像(即I图像)和非锚图像(B和P图像)的指定的参考图像的数量是相同的。
因此,本发明提出了一种用于在考虑多视点图像的情况下重排序参考图像列表的架构。可以理解,虽然在AVC和MVC环境的范畴之内对本发明的实施方式进行说明,但本发明的原理也可以应用在其他视频编码表中中。
本发明提出了一种新的语法元素ref_pic_list_reordering_mvc_extension(),在图4中示于图像头部(条头部)中。
首先,本发明提出对适用于AVC的语法元素num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1进行重新定义以反映它们只指示时间意义上的有效参考图像数量的事实。
num_ref_idx_l0_active_minus1规定用于解码条的时间参考图像列表0的最大参考索引。num_ref_idx_l0_active_minus1的范围规定如下:
-如果field_pic_flag等于0,num_ref_idx_l0_active_minus1的范围是0至15,包括端点。当MbaffFrameFlag等于1,num_ref_idx_l0_active_minus1是用于帧宏块解码的最大索引值并且2*num_ref_idx_l0_active_minus1+1是用于场宏块解码的最大索引值。
-否则(field_pic_flag等于1),num_ref_idx_l0_active_minus1的范围是0至31,包括端点。
num_ref_idx_l1_active_minus1与num_ref_idx_l0_active_minus1具有相同的语义,其中l0和列表0分别被l1和列表1替换。
第二,提出了两个新的语法元素来指示将用于交叉视点的有效参考图像的数量:
num_ref_idx_l0_active_view_minus1规定用于解码条的交叉视点参考图像列表0的最大参考索引。num_ref_idx_l0_active_view_minus1的范围规定如下:
-如果field_pic_flag等于0,num_ref_idx_l0_active_view_minus1的范围是0至15,包括端点。当MbaffFrameFlag等于1,num_ref_idx_l0_active_view_minus1是用于帧宏块解码的最大索引值并且2*num_ref_idx_l0_active_view_minus1+1是用于场宏块解码的最大索引值。
-否则(field_pic_flag等于1),num_ref_idx_l0_active_view_minus1的范围是0至31,包括端点。
num_ref_idx_l1_active_view_minus1(提出的另一语法元素)与num_ref_idx_l0_active_view_minus1具有相同的语义,其中l0和列表0分别被l1和列表1替换。
这两个语法的值满足下列方程:
num_ref_idx_l0_active_minus1+num_ref_idx_l0_active_view_minus1<=num_ref_frames
num_ref_idx_l1_active_minus1+num_ref_idx_l1_active_view_minus1<=num_ref_frames。
如前面所述,需要限定用于MVC系统的缺省初始化过程。因此,对于该过程提出了数个不同实施方式:
本发明原理的第一实施方式使当前视点的全部时间图像按照MPEG-4AVC规格书中的定义进行初始化。此初始化的列表然后分别由用于LIST_0和LIST_1的num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1中规定的值进行截断(truncated)。
在这些图像之后,在MVC规格书的SPS中定义的交叉视点参考图像被插入并由用于LIST_0和LIST_1的num_ref_idx_l0_active_view_minus1和num_ref_idx_l1_active_view_minus1中规定的值进行截断。
为了能够让在当前MVC规格书中规定的参考图像列表重排序指令正确运转,本发明施加了限制,使得这些指令只能对于时间参考图像起作用。RPLR处理可以在紧随时间图像的初始化之后和交叉视点参考之前进行,也可以在时间和交叉视点参考呗初始化到其缺省位置之后进行,后一种情况下只有时间参考图像被重排序。
第一实施方式的一个缺点是交叉视点参考图像不能被重排序。
在第二实施方式中,在MVC规格书的SPS中定义的交叉视点参考图像被插入并由分别用于LIST_0和LIST_1的num_ref_idx_l0_active_view_minus1和num_ref_idx_l1_active_view_minus1中规定的值进行截断。
在这些图像之后,按照MPEG-4AVC规格书中的定义对当前视点的全部时间图像进行初始化。然后该列表由分别用于LIST_0和LIST_1的num_ref_idx_l0_active_view_minus1和num_ref_idx_l1_active_view_minus1中规定的值进行截断。
第三实施方式用于解决第一实施方式的上述问题。具体而言,请参看2007年10月12日提交的PCT申请(申请号待定),该申请要求2006年10月13日提交的美国临时申请60/851,522和2006年10月13日提交的美国临时申请60/851,589的优先权,语法元素long_term_frame_idx用于将长期索引(值)赋值给view_id不同于与当前编码图像相关联的视点的图像。通过将长期索引赋值给交叉视点图像,然后这种图像可以像被用作AVC图像那样进行处理,这将使得RPLR指令的使用能够作用于长期图像。因此,可以使用AVC有效地重排序交叉视点图像。
在第四实施方式中提出了新的RPLR指令。这些指令与用于控制DPB215的存储管理指令运算类似,但是这些新指令用于在与当前编码图像相关联的视点之外的其他视点中的图像上运行。这些新语法元素示于图5中,图5示出了本发明提出的MVC参考图像列表重排序语法。
此实施方式的缺省初始化是首先设置根据H.264/MPEG-4AVC规范的限定在参考列表中规定的全部时间参考,在这些图像之后跟着在H.264/MPEG-4AVC的MVC扩展的SPS中规定的交叉视点图像。
此实施方式的部分运算是语法元素在ref_pic_list_reordering_mvc_extension之间分开,可以调用ref_pic_list_reordering。此调用的组织可以使得基于多视点的图像在MVC环境中被处理并且该处理的结果可以使得基于多视点参考的图像在AVC环境中被处理。
与索引mvc_reordering_of_pic_nums_idc相关的各种状态示于下面的表1中。
表1
  mvc_reordering_of_pic_nums_idc   规定的重排序
  0   abs_diff_pic_num_minus1出现并对应于一将从图像号预测值中减去的
  差值
  1   abs_diff_pic_num_minus出现并对应于一将被加入到图像号预测值中的差值
  2   long_term_pic_num出现并规定用于参考图像的长期图像号
  3   结束用于重排序初始参考图像列表的循环
另外,语法元素mvc_reordering_of_pic_nums_idc、abs_diff_pic_num_minus1和long_term_pic_num用于规定从初始参考图像列表到将用于条解码的参考图像列表的改变。
mvc_ref_pic_list_reordering_flag_l0等于1规定语法元素mvc_reordering_of_pic_nums_idc出现以规定参考图像列表0。mvc_ref_pic_list_reordering_flag_l0等于0表示此语法元素未出现。
当mvc_ref_pic_list_reordering_flag_l0等于1时,在mvc_ref_pic_list_reordering_flag_l0之后mvc_reordering_of_pic_nums_idc不等于3的次数应当不超过num_ref_idx_l0_active_minus1+1。
当根据H.264/MPEG-4AVC规范规定生成的初始参考图像列表中的RefPicList0[num_ref_idx_l0_active_minus1]等于“无参考图像”,mvc_ref_pic_list_reordering_flag_l0应当等于1并且mvc_reordering_of_pic_nums_idc应当不等于3,直至根据H.264/MPEG-4AVC规范规定生成的重排序参考图像列表中的RefPicList0[num_ref_idx_l0_active_minus1]不等于“无参考图像”。
mvc_ref_pic_list_reordering_flag_l1等于1表示语法元素mvc_reordering_of_pic_nums_idc出现以规定参考图像列表1。mvc_ref_pic_list_reordering_flag_l1等于0表示此语法元素未出现。
当mvc_ref_pic_list_reordering_flag_l1等于1时,在mvc_ref_pic_list_reordering_flag_l1之后mvc_reordering_of_pic_nums_idc不等于3的次数应当不超过num_ref_idx_l1_active_minusl+1。
当解码B条并且根据H.264/MPEG-4AVC规范规定生成的初始参考图像列表中的RefPicList1[num_ref_idx_l1_active_minus1]等于“无参考图像”,mvc_ref_pic_list_reordering_flag_l1应当等于1并且mvc_reordering_of_pic_nums_idc应当不等于3,直至根据H.264/MPEG-4AVC规范规定生成的重排序参考图像列表中的RefPicList1[num_ref_idx_l1_active_minus1]不等于“无参考图像”。
mvc_reordering_of_pic_nums_idc和difference_of_view_id以及abs_diff_pic_num_minus1或long_term_pic_num一起规定哪些参考图像被重映射。mvc_reordering_of_pic_nums_idc的值规定在H.264/MPEG-4AVC规格书中。紧随mvc_ref_pic_list_reordering_flag_l0或mvc_ref_pic_list_reordering_flag_l1之后的第一mvc_reordering_of_pic_nums_idc的值不应等于3。
abs_diff_pic_num_minus1加1规定了被移动至列表中当前索引的图像号与图像号预测值之间的绝对差值。abs_diff_pic_num_minus1的范围应当是0至MaxPicNum-1。被移动的图像必须具有与当前图像的view_id不同的view_id。
long_term_pic_num规定了被移动至列表中当前索引的图像的长期图像号。当解码编码帧时,long_term_pic_num应当等于分配给标记为“用于长期参考”的参考帧或互补参考场对其中之一的LongTermPicNum。当解码编码场时,long_term_pic_num应当等于分配给标记为“用于长期参考”的参考场其中之一的LongTermPicNum。被移动的图像必须具有与当前图像的view_id不同的view_id。
difference_of_view_id规定了被移动至列表中当前索引的view_id与view_id预测值之间的绝对差值。
进行参考图像重排序的过程基于缺省列表,下面对其进行说明如下:
当mvc_ref_pic_list_reordering_flag_l0等于1,适用如下步骤。
-将refIdxL0设为参考图像列表RefPicList0中的索引。其初始被设为0。
-按照相应的语法元素mvc_reordering_of_pic_nums_idc在比特流中出现的顺序对其进行处理。对于每个这些语法元素,使用如下步骤。
1)如果mvc_reordering_of_pic_nums_idc等于0或1,在下面I中规定的过程被调用,以refIdxL0作为输入,并且将输出赋值给refIdxL0。
2)否则,如果mvc_reordering_of_pic_nums_idc等于2,在下面II中规定的过程被调用,以refIdxL0作为输入,并且将输出赋值给refIdxL0。
3)否则(mvc_reordering_of_pic_nums_idc等于3),用于参考图像列表RefPicList0的重排序操作结束。
当mvc_ref_pic_list_reordering_flag_l1等于1,适用如下步骤。
-将refIdxL1设为参考图像列表RefPicList1中的索引。其初始被设为0。
-按照相应的语法元素mvc_reordering_of_pic_nums_idc在比特流中出现的顺序对其进行处理。对于每个这些语法元素,使用如下步骤。
4)如果mvc_reordering_of_pic_nums_idc等于0或1,在下面I中规定的过程被调用,以refIdxL1作为输入,并且将输出赋值给refIdxL1。
5)否则,如果mvc_reordering_of_pic_nums_idc等于2,在下面II中规定的过程被调用,以refIdxL1作为输入,并且将输出赋值给refIdxL1。
6)否则(mvc_reordering_of_pic_nums_idc等于3),用于参考图像列表RefPicList1的重排序操作结束。
下面提出的方案用于对于具有不同于当前编码的图像的view_id的view_id的短期图像列表进行重排序。
此过程的输入是索引refIdxLX(X为0或1)。
此过程的输出是增量索引refIdxLX。
viewIdLX=viewIdLXPred+difference_of_view_id
如下获得变量picNumLXNoWrap:
-如果mvc_reordering_of_pic_nums_idc等于0
if(picNumLXPred-(abs_diff_pic_num_minus1+1)<0)
picNumLXNoWrap=picNumLXPred-(abs_diff_pic_num_minus1+1)+MaxPicNum
else
picNumLXNoWrap=picNumLXPred-(abs_diff_pic_num_minus1+1)
-否则(mvc_reordering_of_pic_nums_idc等于1)
if(picNumLXPred+(abs_diff_pic_num_minus1+1)>=MaxPicNum)
picNumLXNoWrap=picNumLXPred+(abs_diff_pic_num_minus1+1)MaxPicNum
else
picNumLXNoWrap=picNumLXPred+(abs_diff_pic_num_minus1+1)
viewIdLXPred是变量viewIdLX的预测值。当此子项规定的过程对于条被第一次调用(即在ref_pic_list_reordering()语法中等于0或1的mvc_reordering_of_pic_nums_idc第一次出现),viewIdL0Pred和viewIdL1Pred初始地被设为CurrViewId。在viewIdLx的每次赋值之后,viewIdLX的值被赋值给viewIdLXPred。
picNumLXPred是变量picNumLXNoWrap的预测值。当此子项规定的过程对于条被第一次调用(即在ref_pic_list_reordering()语法中等于0或1的mvc_reordering_of_pic_nums_idc第一次出现),picNumL0Pred和picNumL1Pred初始地被设为CurrPicNum。在picNumLXNoWrap每次赋值之后,picNumLXNoWrap的值被赋值给picNumLXPred。
如下获得变量picNumLX:
if(picNumLXNoWrap>CurrPicNum)
picNumLX=picNumLXNoWrap-MaxPicNum
else
picNumLX=picNumLXNoWrap
picNumLX和viewIdLX应当等于被标记为“用于短期参考”的参考图像的PicNum和viewId并且不等于被标记为“不存在”的短期参考图像的PicNum。
执行下面的程序以将view_id等于viewIdLX的具有短期图像号picNumLX的图像放置在索引位置refIdxLX,将剩余的其他图像移动至列表的较后位置,并且增加refIdxLX的值。
for(cIdx=num_ref_idx_1X_active_minus1+1;cIdx>refIdxLX;cIdx--)
RefPicListX[cIdx]=RefPicListX[cIdx-1]
RefPicListX[refIdxLX++]=short-term reference picture with PicNumequal to picNumLX and view_id equal to viewIdLX
nIdx=refIdxLX
for(cIdx=refIdxLX;cIdx<=num_ref_idx_1X_active_minus1+1;cIdx++)
if((PicNumF(RefPicListX[cIdx])!=picNumLX)&&ViewIdF(RefPicListX[cIdx])!=viewIdLX)
RefPicListX[nIdx++]=RefPicListX[cIdx]
其中如下推导函数PicNumF(RefPicListX[cIdx]):
-如果图像RefPicListX[cIdx]被标记为“用于短期参考”,PicNumF(RefPicListX[cIdx])为图像RefPicListX[cIdx]的PicNum。
-否则(图像RefPicListX[cIdx]未被标记为“用于短期参考”)PicNumF(RefPicListX[cIdx])等于MaxPicNum。
请注意,MaxPicNum的值永远不等于picNumLX。
其中如下推导函数ViewIdF(RefPicListX[cIdx]):
-ViewIdF(RefPicListX[cIdx])是图像RefPicListX[cIdx]的viewId。
还请注意,在此伪代码程序中,列表RefPicListX被暂时设定为比最终列表所需长度长一个元素。在执行此程序之后,只有列表的元素0至num_ref_dx_1X_active_minus1需要被保留。
下面提出的方案用于对包含长期参考图像的参考图像列表的重排序。
此过程的输入是索引refIdxLX(X为0或1)。
此过程的输出是增量索引refIdxLX。
执行下面的程序以将出现在如上推导的viewIdX指示的视点中具有长期图像号long_term_pic_num的图像放置在索引位置refIdxLX,将剩余的其他图像移动至列表的较后位置,并且增加refIdxLX的值。
for(cIdx=num_ref_idx_1X_active_minus1+1;cIdx>refIdxLX;cIdx--)
RefPicListX[cIdx]=RefPicListX[cIdx-1]
RefPicListX[refIdxLX++]=long-term reference picture withLongTermPicNum equal to long_term_pic_num and viewId equal to viewIdLX
nIdx=refIdxLX
for(cIdx=refIdxLX;cIdx<=num_ref_idx_1X_active_minus1+1;cIdx++)
if((LongTermPicNumF(RefPicListX[cIdx])!=long_term_pic_num)&&ViewIdF(RefPicListX[cIdx]])!=viewIdLX)
RefPicListX[nIdx++]=RefPicListX[cIdx]
其中如下推导函数LongTermPicNumF(RefPicListX[cIdx]):
-如果图像RefPicListX[cIdx]被标记为“用于长期参考”LongTermPicNumF(RefPicListX[cIdx])是图像RefPicListX[cIdx]的LongTermPicNum。
-否则(图像RefPicListX[cIdx]未被标记为“用于长期参考”),LongTermPicNumF(RefPicListX[cIdx])等于2*(MaxLongTermFrameIdx+1)。
请注意,2*(MaxLongTermFrameIdx+1)的值永远不等于long_term_pic_num。
其中如下推导函数ViewIdF(RefPicListX[cIdx])
-如果图像RefPicListX[cIdx]被标记为“用于短期参考”,ViewIdF(RefPicListX[cIdx])为图像RefPicListX[cIdx]的viewId。
-否则(图像RefPicListX[cIdx]未被标记为“用于短期参考”)PicNumF(RefPicListX[cIdx])等于MaxPicNum。
请注意,MaxPicNum的值永远不等于picNumLX。在此伪代码程序中,列表RefPicListX被暂时设定为比最终列表所需长度长一个元素。在执行此程序之后,只有列表的元素0至num_ref_idx_1X_active_minus1被保留。
下面结合图6所示的语法元素ref_pic_reordering_mvc_extension()对本发明原理的另外一个结构进行说明和描述。此语法元素的运算与参照图5所述的语法元素的区别在于,可以对于任何视点完成重排序列表,并且这种重排序列表只通过一个调用来完成,而不用调用单独的rec_pic_list_reordering指令(如图3所示)。
对于此另外结构下的第一实施方式,对num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1再次进行重新定义以指示时间意义上的有效参考图像数量(请参看说明这些变量的前面部分)。
本实施方式定义了变量num_ref_idx_l0_active_view和num_ref_idx_l1_active_view,这两个变量用于指示交叉视点中的有效图像的数量。
num_ref_idx_l0_active_view规定用于解码条的交叉视点参考图像列表0的最大参考索引。num_ref_idx_l0_active_view范围定义如下:
-如果field_pic_flag等于0,num_ref_idx_l0_active_view的范围是0至16,包括端点。当MbaffFrameFlag等于1,num_ref_idx_l0_active_view是用于帧宏块解码的最大索引值并且2*num_ref_idx_l0_active_view是用于场宏块解码的最大索引值。
-否则(field_pic_flag等于1),num_ref_idx_l0_active_view的范围是0至32,包括端点。
num_ref_idx_l1_active_view与num_ref_idx_l0_active_view具有相同的语义,其中l0和列表0分别被l1和列表1替换。
这些语义的值满足下列函数:
num_ref_idx_l0_active_minus1+num_ref_idx_l0_active_view<=num_ref_frames
num_ref_idx_l1_active_minus1+num_ref_idx_l1_active_view<=num_ref_frmes
如之前所述,用于MVC系统的缺省初始化过程需要清楚地定义。
首先,当前视点的全部时间图像按照MPEG-4AVC规格书中的定义进行初始化。此初始化的列表然后由分别用于LIST_0和LIST_1的num_ref_idx_l0_active_minus1和num_ref_idx_l1_active_minus1中规定的值进行截断(truncated)。
在这些图像之后,在MVC规格书的SPS中定义的交叉视点参考图像被插入并由分别用于LIST_0和LIST_1的num_ref_idx_l0_active_view和num_ref_idx_l1_active_view中规定的值进行截断。
引入了与现有H.264/MPEG-4AVC RPLR指令类似的新RPLR指令。这些指令取代H.264/MPEG-4AVC中的现有RPLR指令(请参看图6)。
新RPLR指令具有下列语义。用于指示重排序指令是否存在的指令示于上面的表1中。
语法元素mvc_reordering_of_pic_nums_idc、abs_diff_pic_num_minus1和long_term_pic_num用于规定从初始参考图像列表到将用于解码图像信息(例如条)的参考图像列表的改变。
mvc_ref_pic_list_reordering_flag_l0等于1规定语法元素mvc_reordering_of_pic_nums_idc出现以规定参考图像列表0。mvc_ref_pic_list_reordering_flag_l0等于0表示此语法元素未出现。
当mvc_ref_pic_list_reordering_flag_l0等于1时,在mvc_ref_pic_list_reordering_flag_l0之后mvc_reordering_of_pic_nums_idc不等于3的次数应当不超过num_ref_idx_l0_active_minus1+1+num_ref_idx_l0_active_view。
当根据H.264/MPEG-4AVC规范规定生成的初始参考图像列表中的RefPicList0[num_ref_idx_l0_active_minus1+num_ref_idx_l0_active_view]等于“无参考图像”,mvc_ref_pic_list_reordering_flag_l0应当等于1并且mvc_reordering_of_pic_nums_idc应当不等于3,直至根据H.264/MPEG-4AVC规范规定生成的重排序参考图像列表中的RefPicList0[num_ref_idx_l0_active_minus1+num_ref_idx_l0_active_view]不等于“无参考图像”。
mvc_ref_pic_list_reordering_flag_l1等于1表示语法元素mvc_reordering_of_pic_nums_idc出现以规定参考图像列表1。
mvc_ref_pic_list_reordering_flag_l1等于0表示此语法元素未出现。
当mvc_ref_pic_list_reordering_flag_l1等于1时,在mvc_ref_pic_list_reordering_flag_l1之后mvc_reordering_of_pic_nums_idc不等于3的次数应当不超过num_ref_idx_l1_active_minus1+1+num_ref_idx_l1_active_view。
当解码B条并且根据H.264/MPEG-4AVC规范规定生成的初始参考图像列表中的RefPicList1[num_ref_idx_l1_active_minus1+num_ref_idx_l1_active_view]等于“无参考图像”,mvc_ref_pic_list_reordering_flag_l1应当等于1并且mvc_reordering_of_pic_nums_idc应当不等于3,直至根据H.264/MPEG-4AVC规范规定生成的重排序参考图像列表中的RefPicList1[num_ref_idx_l1_active_minus1+num_ref_idx_l1_active_view]不等于“无参考图像”。
mvc_reordering_of_pic_nums_idc和difference_of_view_id以及abs_diff_pic_num_minus1或long_term_pic_num一起规定哪些参考图像被重映射。mvc_reordering_of_pic_nums_idc的值规定在H.264/MPEG-4AVC规格书中。紧随mvc_ref_pic_list_reordering_flag_l0或mvc_ref_pic_list_reordering_flag_l1之后的第一mvc_reordering_of_pic_nums_idc的值不应等于3。
abs_diff_pic_num_minus1加1规定了被移动至列表中当前索引的图像号与图像号预测值之间的绝对差值。abs_diff_pic_num_minus1的范围应当是0至MaxPicNum-1。
long_term_pic_num规定了被移动至列表中当前索引的图像的长期图像号。当解码编码帧时,long_term_pic_num应当等于分配给标记为“用于长期参考”的参考帧或互补参考场对其中之一的LongTermPicNum。当解码编码场时,long_term_pic_num应当等于分配给标记为“用于长期参考”的参考场其中之一的LongTermPicNum。
difference_of_view_id规定了被移动至列表中当前索引的view_id与view_id预测值之间的绝对差值。
进行参考图像重排序的过程基于缺省列表,下面对其进行说明如下:
当mvc_ref_pic_list_reordering_flag_l0等于1,适用如下步骤。
-将refIdxL0设为参考图像列表RefPicList0中的索引。其初始被设为0。
-按照相应的语法元素mvc_reordering_of_pic_nums_idc在比特流中出现的顺序对其进行处理。对于每个这些语法元素,使用如下步骤。
1)如果mvc_reordering_of_pic_nums_idc等于0或1,在下面I中规定的过程被调用,以refIdxL0作为输入,并且将输出赋值给refIdxL0。
2)否则,如果mvc_reordering_of_pic_nums_idc等于2,在下面II中规定的过程被调用,以refIdxL0作为输入,并且将输出赋值给refIdxL0。
3)否则(mvc_reordering_of_pic_nums_idc等于3),用于参考图像列表RefPicList0的重排序过程结束。
当mvc_ref_pic_list_reordering_flag_l1等于1,适用如下步骤。
-将refIdxL1设为参考图像列表RefPicList1中的索引。其初始被设为0。
-按照相应的语法元素mvc_reordering_of_pic_nums_idc在比特流中出现的顺序对其进行处理。对于每个这些语法元素,使用如下步骤。
4)如果mvc_reordering_of_pic_nums_idc等于0或1,在下面I中规定的过程被调用,以refIdxL1作为输入,并且将输出赋值给refIdxL1。
5)否则,如果mvc_reordering_of_pic_nums_idc等于2,在下面II中规定的过程被调用,以refIdxL1作为输入,并且将输出赋值给refIdxL1。
6)否则(mvc_reordering_of_pic_nums_idc等于3),用于参考图像列表RefPicList1的重排序过程结束。
下面提出的方案用于对于短期参考图像的参考图像进行重排序。
此过程的输入是索引refIdxLX(X为0或1)。
此过程的输出是增量索引refIdxLX。
viewIdLX=viewIdLXPred+difference_of_view_id
如下推导变量picNumLXNoWrap:
如果mvc_reordering_of_pic_nums_idc等于0
if(picNumLXPred-(abs_diff_pic_num_minus1+1)<0)
picNumLXNoWrap=picNumLXPred-(abs_diff_pic_num_minus1+1)+MaxPicNum
else
picNumLXNoWrap=picNumLXPred-(abs_diff_pic_num_minus1+1)
否则(mvc_reordering_of_pic_nums_idc等于1)
if(picNumLXPred+(abs_diff_pic_num_minus1+1)>=MaxPicNum)
picNumLXNoWrap=picNumLXPred+(abs_diff_pic_num_minus1+1)-MaxPicNum
else
picNumLXNoWrap=picNumLXPred+(abs_diff_pic_num_minus1+1)
viewIdLXPred是变量viewIdLX的预测值。当此子项规定的过程对于条被第一次调用(即在ref_pic_list_reordering()语法中等于0或1的mvc_reordering_of_pic_nums_idc第一次出现),viewIdL0Pred和viewIdL1Pred初始地被设为CurrViewId。在viewIdLx的每次赋值之后,viewIdLX的值被赋值给viewIdLXPred。
picNumLXPred是变量picNumLXNoWrap的预测值。当此子项规定的过程对于条被第一次调用(即在ref_pic_list_reordering()语法中等于0或1的mvc_reordering_of_pic_nums_idc第一次出现),picNumL0Pred和picNumL1Pred初始地被设为CurrPicNum。在picNumLXNoWrap每次赋值之后,picNumLXNoWrap的值被赋值给picNumLXPred。
如下获得变量picNumLX:
if(picNumLXNoWrap>CurrPicNum)
picNumLX=picNumLXNoWrap-MaxPicNum
else
picNumLX=picNumLXNoWrap
picNumLX和viewIdLX应当等于被标记为“用于短期参考”的参考图像的PicNum和viewId并且不等于被标记为“不存在”的短期参考图像的PicNum。
执行下面的程序以将view_id等于viewIdLX的具有短期图像号picNumLX的图像放置在索引位置refIdxLX,将剩余的其他图像移动至列表的较后位置,并且增加refIdxLX的值。
for(cIdx=num_ref_idx_1X_active_minus1+1;cIdx>refIdxLX;cIdx--)
RefPicListX[cIdx]=RefPicListX[cIdx-1]
RefPicListX[refIdxLX++]=short-term reference picture with PicNumequal to picNumLX and view_id equal to viewIdLX
nIdx=refIdxLX
for(cIdx=refIdxLX;cIdx<=num_ref_idx_1X_active_minus1+1;cIdx++)
if((PicNumF(RefPicListX[cIdx])!=picNumLX)&&ViewIdF(RefPicListX[cIdx])!=viewIdLX)
RefPicListX[nIdx++]=RefPicListX[cIdx]
其中如下推导函数PicNumF(RefPicListX[cIdx]):
-如果图像RefPicListX[cIdx]被标记为“用于短期参考”,PicNumF(RefPicListX[cIdx])为图像RefPicListX[cIdx]的PicNum。
-否则(图像RefPicListX[cIdx]未被标记为“用于短期参考”)PicNumF(RefPicListX[cIdx])等于MaxPicNum。
请注意,MaxPicNum的值永远不等于picNumLX。
其中如下推导函数ViewIdF(RefPicListX[cIdx]):
-ViewIdF(RefPicListX[cIdx])是图像RefPicListX[cIdx]的viewId。
还请注意,在此伪代码程序中,列表RefPicListX被暂时设定为比最终列表所需长度长一个元素。在执行此程序之后,只有列表的元素0至num_ref_idx_1X_active_minus1需要被保留。
下面提出的方案用于对包含长期参考图像的参考图像列表的重排序。
此过程的输入是索引refIdxLX(X为0或1)。
此过程的输出是增量索引refIdxLX。
执行下面的程序以将出现在如上推导的viewIdX指示的视点中具有长期图像号long_term_pic_num的图像放置在索引位置refIdxLX,将剩余的其他图像移动至列表的较后位置,并且增加refIdxLX的值。
for(cIdx=num_ref_idx_1X_active_minus1+1;cIdx>refIdxLX;cIdx--)
RefPicListX[cIdx]=RefPicListX[cIdx-1]
RefPicListX[refIdxLX++]=long-term reference picture withLongTermPicNum equal to long_term_pic_num and viewId equal to viewIdLX
nIdx=refIdxLX
for(cIdx=refIdxLX;cIdx<=num_ref_idx_1X_active_minus1+1;cIdx++)
if((LongTermPicNumF(RefPicListX[cIdx])!=long_term_pic_num)&&ViewIdF(RefPicListX[cIdx]])!=viewIdLX)
RefPicListX[nIdx++]=RefPicListX[cIdx]
其中如下推导函数LongTermPicNumF(RefPicListX[cIdx]):
-如果图像RefPicListX[cIdx]被标记为“用于长期参考”LongTermPicNumF(RefPicListX[cIdx])是图像RefPicListX[cIdx]的LongTermPicNum。
-否则(图像RefPicListX[cIdx]未被标记为“用于长期参考”),LongTermPicNumF(RefPicListX[cIdx])等于2*(MaxLongTermFrameIdx+1)。
请注意,2*(MaxLongTermFrameIdx+1)的值永远不等于long_term_pic_num。
其中如下推导函数ViewIdF(RefPicListX[cIdx])
-如果图像RefPicListX[cIdx]被标记为“用于短期参考”,ViewIdF(RefPicListX[cIdx])为图像RefPicListX[cIdx]的viewId。
-否则(图像RefPicListX[cIdx]未被标记为“用于短期参考”)PicNumF(RefPicListX[cIdx])等于MaxPicNum。
MaxPicNum的值永远不等于picNumLX。
请注意,在此伪代码程序中,列表RefPicListX被暂时设定为比最终列表所需长度长一个元素。在执行此程序之后,只有列表的元素0至num_ref_idx_1X_active_minus1需要被保留。
此另外结构下的本发明的第二实施方式考虑到交叉视点图像的重排序最常发生于时间暂时分配的图像,这意味着图像号差值将为0。因此,本实施方式的着眼点在于交叉视点图像的重排序的之一方面,其比上述其他实施方式效率更高。
此实施方式将变量abs_diff_pic_num_minus1变为abs_diff_pic_num并对其定义如下:
abs_diff_pic_num规定了被移动至列表中当前索引的图像号与图像号预测值之间的绝对差值。
abs_diff_pic_num的范围规定如下:
-如果reordering_of_pic_nums_idc等于0,abs_diff_pic_num的范围是0至MaxPicNum/2。
-否则(reordering_of_pic_nums_idc等于1),abs_diff_pic_num的范围是0至MaxPicNum/2-1。
通过上述方法,可以使abs_diff_pic_num取0值,这是交叉视点重排序最常见的情况。
此另外结构下的本发明的第三实施方式也考虑到交叉视点图像的重排序最常发生于时间暂时分配的图像,这意味着图像号差值将为0。
在上述方法中,abs_diff_pic_num被编码为无符号的Exp-Golomb码,从而成为指示该插值是否代表正或负的插值的另外的语法,其在图6中示为mvc_reordering_of_pic_nums_idc。
此实施例减少了语法元素能采用的值,如图2所示,并传输用于图像号差值的Exp-Golomb码作为diff_pic_num,如图7所示,其公开了一种RPPL ref_pic_list_reordering_mvc_extension的修正定义。
表2
  mvc_reordering_of_pic_nums_idc   规定的重排序
  0   diff_pic_num出现并对应于一将从图像号预测值中减去的差值
  1   diff_pic_num出现并规定用于参考图像的长期图像号
  2   结束用于重排序初始参考图像列表的循环
diff_pic_num的语义定义如下:
diff_pic_num规定了被移动至列表中当前索引的图像的图像号与图像号预测值之间的差值。
diff_pic_num的范围规定如下:
-MaxPicNum/2-1至MaxPicNum/2
然后picNumLXNoWrap推导如下
picNumLXNoWrap=picNumLXPred+diff_pic_num
图7是本发明的原理应用于多视点编码环境的参考图像重排序的框图700。为了此流程图的运行,假设DPB 215中已经具有参考图像。但是参考图像可以是不同视点的。
在步骤705,方法考虑需要编码的当前图像是否处于使用多视点图像(MVC和AVC)的环境中以及编码环境是否是简单的时间环境(即AVC)。
如果在与本图像的编码相关的所用参考图像与多视点编码无关,运行步骤710以采用与例如AVC的编码标准相关的已知原理来重排序参考图像列表。但是如果需要被编码的图像涉及多视点图像,其中图像之间的交叉视点需要被考虑,则选择步骤715。
如上所述,具有数个不同程序来实际执行所述图像的重排序。上述某些实施方式(应用于步骤715)描述的环境中,进行比较以考虑需要编码的图像与参考图像是否具有任何交叉视点关系。在某些实施方式中,图像列表的重排序将重排序与任何视点相关的参考图像。在另外的实施方式中,首先对所有交叉视点进行参考图像重排序,然后对与被编码的图像具有相同视点的参考图像进行重排序。
步骤720考虑需要编码的图像是否与参考图像具有时间关系。如上所述,“P”图像利用一个参考列表而“B”图像需要利用两个参考列表。因此,对列表进行重排序的方式(如上文所述的各个实施方式)取决于这种时间关系。
步骤725是参考图像列表的实际重排序。同样地,进行这种操作的各种方式取决于步骤715和720的结果,并且根据上述实施方式的原理产生作用。
因此,例如,本领域普通技术人员可以理解,说明书中的框图表示根据本发明原理的实施方式的示例性电路的概念性图示。类似地,可以理解,任何流程图、操作程序图、状态转换图、伪代码等都表示能够有计算机可读介质表示并因而由计算机或处理器执行的各种过程步骤,这种计算机或处理器是否明确示出并无关系。
附图中所示各种元件的功能可以与适当的软件联合通过使用专用硬件以及能够执行软件的硬件来提供。当通过处理器提供时,该功能可以通过单个专用处理器、单个共享处理器或者多个处理器(某些可以共享)来提供。并且,术语“处理器”或者“控制器”的明确使用不应当被理解为专指能够执行软件的硬件,还可以非限制性地包括数字信号处理器(DSP)、用于存储软件的只读存储器(ROM)、随机访问存储器(RAM)以及非易失性存储器。
其他普通和/或定制硬件也可以包括进来。类似地,图中所示的任何开关都是概念性的。其功能可以通过程序逻辑、专用逻辑、程序控制和专用逻辑的相互作用甚至手动操作来执行,实施者可以根据应用环境选择特定的技术。
在权利要求中,任何被表达为用于执行特定功能的元件都包括执行该功能的任何方式,例如:a)执行该功能的电路元件的组合;b)任何形式的软件,包括固件、微代码等,与适当的电路结合以执行该软件从而执行该功能。这些权利要求限定的本发明的原理基于的事实是,各个引用的装置所提供的功能型以权利要求要求的方式结合在一起。因此可以认为任何能够提供这些功能性的装置都等同于所述装置。
说明书中所提到的本发明原理的“一个实施方式”或“实施方式”表示特定结合该实施方式描述的特征、结构、要素包括在本发明原理的至少一个实施方式中。因此,说明书各个地方出现的表述“在一个实施方式中”或“在实施方式中”不一定指同一实施方式。
最优选地,本发明的原理可以作为硬件和软件的组合来实现。并且,软件可以作为嵌入在程序存储单元上地应用程序来实现。应用程序可以被上载至包含任何适当体系结构的机器并由其执行。优选地,该机器在具有硬件的计算极平台上执行,所述硬件例如是一个或多个中央处理器(CPU)、随机访问存储器(RAM)、输入输出(I/O)接口。计算机平台还可以包括操作系统和微指令代码。本文所述各种处理和功能可以是能够由CPU处理的微指令代码的一部分或应用程序的一部分,或者它们的组合。另外,各种外围设备可以连接至计算机平台,例如附加数据存储单元和打印单元。
可以进一步理解的是,因为附图中描述的某些系统构成部件和方法优选由软件实现,系统元件或者处理功能框之间的实际连接根据本发明的原理被编程的方式可能存在不同之处。基于本发明的原理,本领域普通技术人员可以设想到用来实现本发明原理的上述和其他方式或结构。
虽然结合目前优选实施例对本发明进行了说明,但是可以理解本发明并不局限于公开的实施例。而且,在本发明的原理和范围之内,可以对本发明进行修改以引入本说明书未说明的任何变化、改变、替换或者等同设置。因此,本发明不应被视为由上述说明来限制,而是由所附权利要求的范围来限定。

Claims (7)

1.一种对用于图像的编码操作的参考图像进行排序的方法,包括:
确定需要编码的图像是否与视点相关联(715);和
考虑所述需要编码的图像的视点对参考图像列表中的至少一个存储的参考图像的编码顺序进行排序。
2.根据权利要求1所述的方法,其中所述排序步骤考虑所述需要编码的图像与相关于所述至少一个参考图像的视点是否是相同视点。
3.根据权利要求2所述的方法,其中所述排序步骤在与所述参考图像的重排序不同的时间以与所述需要编码的图像的视点不同视点排序与所述需要编码的图像具有相同视点的参考图像。
4.根据权利要求2所述的方法,其中所述排序步骤对任何视点的参考图像进行排序。
5.根据权利要求1-4其中之一所述的方法,其中所述排序步骤对来自所述至少一个存储的参考图像的所述至少两个图像的编码顺序进行重排序,其中所述编码顺序用于编码所述图像。
6.根据权利要求1-5其中之一所述的方法,其中如果所述需要编码的图像是“P”图像,使用一个参考图像列表,如果所述需要编码的图像是“B”图像,使用两个参考图像列表。
7.根据权利要求1-5其中之一所述的方法,其中所述需要编码的图像利用所述列表中规定的参考图像顺序进行编码。
CN200780038178A 2006-10-13 2007-10-12 用于多视点视频编码的参考图像列表管理语法 Pending CN101653001A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710523675.8A CN107295350A (zh) 2006-10-13 2007-10-12 用于多视点视频编码的参考图像列表管理语法
CN201210236406.0A CN102761744B (zh) 2006-10-13 2007-10-12 用于多视点视频编码的参考图像列表管理语法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US85186306P 2006-10-13 2006-10-13
US60/851,863 2006-10-13
US60/851,521 2006-10-13

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN201710523675.8A Division CN107295350A (zh) 2006-10-13 2007-10-12 用于多视点视频编码的参考图像列表管理语法
CN201210236406.0A Division CN102761744B (zh) 2006-10-13 2007-10-12 用于多视点视频编码的参考图像列表管理语法

Publications (1)

Publication Number Publication Date
CN101653001A true CN101653001A (zh) 2010-02-17

Family

ID=41674175

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710523675.8A Pending CN107295350A (zh) 2006-10-13 2007-10-12 用于多视点视频编码的参考图像列表管理语法
CN200780038178A Pending CN101653001A (zh) 2006-10-13 2007-10-12 用于多视点视频编码的参考图像列表管理语法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710523675.8A Pending CN107295350A (zh) 2006-10-13 2007-10-12 用于多视点视频编码的参考图像列表管理语法

Country Status (1)

Country Link
CN (2) CN107295350A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103339936A (zh) * 2011-01-24 2013-10-02 高通股份有限公司 用于视频译码的单一参考图片列表建构
CN103814575A (zh) * 2011-09-23 2014-05-21 高通股份有限公司 译码参考图像集的参考图像
CN104380746A (zh) * 2012-04-23 2015-02-25 三星电子株式会社 多视点视频编码方法和装置以及多视点视频解码方法和装置
CN104396252A (zh) * 2012-04-25 2015-03-04 三星电子株式会社 使用用于多视点视频预测的参考画面集的多视点视频编码方法及其装置、使用用于多视点视频预测的参考画面集的多视点视频解码方法及其装置
CN111143607A (zh) * 2019-11-18 2020-05-12 视联动力信息技术股份有限公司 一种信息获取方法和装置
CN112690003A (zh) * 2018-09-12 2021-04-20 华为技术有限公司 参考图像列表结构的索引指示

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11196988B2 (en) * 2018-12-17 2021-12-07 Apple Inc. Reference picture management and list construction

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040247031A1 (en) * 2002-03-14 2004-12-09 Makoto Hagai Motion vector detection method
US7489342B2 (en) * 2004-12-17 2009-02-10 Mitsubishi Electric Research Laboratories, Inc. Method and system for managing reference pictures in multiview videos
CN100463527C (zh) * 2005-10-18 2009-02-18 宁波大学 一种多视点视频图像视差估计的方法

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103339936B (zh) * 2011-01-24 2017-02-08 高通股份有限公司 用于视频译码的单一参考图片列表建构
CN103339936A (zh) * 2011-01-24 2013-10-02 高通股份有限公司 用于视频译码的单一参考图片列表建构
US9998757B2 (en) 2011-09-23 2018-06-12 Velos Media, Llc Reference picture signaling and decoded picture buffer management
CN103814575A (zh) * 2011-09-23 2014-05-21 高通股份有限公司 译码参考图像集的参考图像
US11490119B2 (en) 2011-09-23 2022-11-01 Qualcomm Incorporated Decoded picture buffer management
CN104380746A (zh) * 2012-04-23 2015-02-25 三星电子株式会社 多视点视频编码方法和装置以及多视点视频解码方法和装置
US9743061B2 (en) 2012-04-23 2017-08-22 Samsung Electronics Co., Ltd. Multiview video encoding method and device, and multiview video decoding method and device
CN104396252B (zh) * 2012-04-25 2018-05-04 三星电子株式会社 使用用于多视点视频预测的参考画面集的多视点视频编解码方法及其装置
CN104396252A (zh) * 2012-04-25 2015-03-04 三星电子株式会社 使用用于多视点视频预测的参考画面集的多视点视频编码方法及其装置、使用用于多视点视频预测的参考画面集的多视点视频解码方法及其装置
CN112690003A (zh) * 2018-09-12 2021-04-20 华为技术有限公司 参考图像列表结构的索引指示
CN112690003B (zh) * 2018-09-12 2022-06-28 华为技术有限公司 视频编码器、视频解码器和相关编解码方法
CN111143607A (zh) * 2019-11-18 2020-05-12 视联动力信息技术股份有限公司 一种信息获取方法和装置
CN111143607B (zh) * 2019-11-18 2024-05-24 视联动力信息技术股份有限公司 一种信息获取方法和装置

Also Published As

Publication number Publication date
CN107295350A (zh) 2017-10-24

Similar Documents

Publication Publication Date Title
CN102761744B (zh) 用于多视点视频编码的参考图像列表管理语法
CN101653000B (zh) 用于包含多视点视频编码的参考图像管理的方法
CN101496407B (zh) 用于针对多视角视频编码和解码解耦合帧号和/或图像顺序计数(poc)的方法和装置
KR102034938B1 (ko) 스크린 콘텐츠 및 비디오 코딩을 위한 인트라 픽처 블록 카피의 방법
CN101931806B (zh) 用于多视角视频编码的方法和装置
CN101485208B (zh) 多视图视频的编码和解码方法及装置
CN101653001A (zh) 用于多视点视频编码的参考图像列表管理语法
CN101491079A (zh) 用在多视角视频编码中的方法和装置
KR20220030957A (ko) 비디오 코딩에서 인트라 블록 카피를 위한 비트스트림 적합 제약
MX2008012382A (es) Metodos y aparatos para usarse en un sistema de codificacion de video de multiples vistas.
CN101523920A (zh) 在视频操作期间使用网络抽象层单元以信号方式指示即时解码刷新的方法
KR20220030958A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20100217