CN103959774A - 用于高效视频编码的运动信息的有效存储 - Google Patents

用于高效视频编码的运动信息的有效存储 Download PDF

Info

Publication number
CN103959774A
CN103959774A CN201280056505.9A CN201280056505A CN103959774A CN 103959774 A CN103959774 A CN 103959774A CN 201280056505 A CN201280056505 A CN 201280056505A CN 103959774 A CN103959774 A CN 103959774A
Authority
CN
China
Prior art keywords
picture
movable information
motion
information
sequence
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
CN201280056505.9A
Other languages
English (en)
Other versions
CN103959774B (zh
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.)
Google Technology Holdings LLC
Original Assignee
Motorola Mobility LLC
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 Motorola Mobility LLC filed Critical Motorola Mobility LLC
Publication of CN103959774A publication Critical patent/CN103959774A/zh
Application granted granted Critical
Publication of CN103959774B publication Critical patent/CN103959774B/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/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/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
    • 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
    • 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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/463Embedding additional information in the video signal during the compression process by compressing encoding parameters before transmission
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Landscapes

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

Abstract

一种用于信令传送描述与数字图片相关的所描绘运动的运动信息的存储的方法、装置、制品和存储器结构。在一个实施例中,该方法包括:信令传送用当前编码帧的运动矢量替换结合先前编码图片存储的运动矢量。另一个信号可以用于指示用于序列的所有图片的运动矢量替换。

Description

用于高效视频编码的运动信息的有效存储
相关申请的交叉引用
本申请要求于2011年11月21日提交的由Yue Yu、KritPanusopone和Limin Wang作出的标题为“NEW MEMORY COMPRESSOF COLLOCATED PICTURE FOR HEVC”的美国临时专利申请No.61/562,418;于2011年11月18日提交的由Yue Yu、Krit Panusopone和Limin Wang作出的标题为“MEMORY COMPRESS OFCOLLOCATED PICTURE FOR HEVC”的美国临时专利申请No.61/561,779;以及于2012年2月5日提交的由Yue Yu、KritPanusopone和Limin Wang作出的标题为“EFFECTIVE WAY FORSIGNALING COLLOCATED PICTURE FOR HEVC”的美国临时专利申请No.61/595,141的权益,通过引用所有申请被包含在此。
技术领域
本发明涉及用于对数据编码的系统和方法,并且更具体地,涉及用于存储运动并且检索与高效视频编码数据相关的数据的系统和方法。
背景技术
与媒体节目的生成、传输、以及再现相关的技术存在快速发展。这些技术包括允许媒体节目的数字版本被编码,以将它们压缩为非常小的大小并且便于它们的传输、存储、接收和回放的编码方案。这些技术在个人视频记录器(PVR)、视频点播(VOD)、多信道媒体节目供应、交互性、移动电信、以及媒体节目传输中具有应用。
在不压缩的情况下,数字媒体节目通常非常大,以致对于商业上可接受的成本,不能传送和/或存储。然而,这样的节目的压缩使得这样的数字媒体节目的传输和存储不仅在商业上切实可行,而且很平常。
最初,媒体节目的传输涉及在诸如有线电视和卫星的高带宽传输媒体上传送的低到中等分辨率图像。然而,这样的传输已经发展为包括更低带宽传输媒体,诸如,经由计算机网络、WiFi、移动TV、以及第三和第四代(3G和4G)网络到固定和移动设备的互联网传输。而且,这样的传输还演进为包括高清晰度媒体节目,诸如,高清电视(HDTV),其具有显著传输带宽和存储需求。
压缩视频信号的编码和解码通常涉及通过信号的编码器和信号的解码器存储和检索大量数据。结果,这样的编码器和解码器要求增加的存储和处理容量。需要一种减少在编码器和解码器中要求的存储和处理的系统和方法。本发明满足该需求。
发明内容
为了解决上述需求,本文档公开一种用于信令传送描述与数字图片相关的所描绘运动的运动信息的存储的方法、装置、制品和存储结构。在一个实施例中,该方法包括:对多个数字图片的序列中的第一图片编码以产生第一运动信息,第一运动信息描述运动并且与第一图片相关;确定第一运动信息是否应该替换描述运动并且与在时间上在第一图片的编码之前被编码的第二数字图片相关的第二运动信息;并且如果第一运动信息应该替换第二运动信息,则在存储器中用第一运动信息替换第二运动信息,并且提供具有有第一值的第一运动信令信息的位流,而如果第一运动信息不应该替换第二运动信息,则在存储器中保留第二运动信息;以及提供具有有第二值的第一运动信令信息的位流。
在另一个实施例中,该方法包括:根据存储在存储器中的第二运动信息,解码多个数字图片的序列中的第一图片,以产生与第一图片相关的第一运动信息,第二运动信息描述运动并且与在时间上在第一数字图片的解码之前被解码的第二数字图片相关;以及如果与第一图片相关的第一运动信令信息具有第一值,则在存储器中用第一运动信息替换第二运动信息,并且如果第一运动信令信息具有第二值,则在存储器中保留第二运动信息。
而且,实施例包括用于执行前述方法的装置,例如通过可通信地耦合至存储包括用于执行前述操作的指令的指令的存储器的处理器证明。
已经论述的特征、功能和优点可以在本发明的多种实施例中独立地实现或者可以在又一其它实施例中被结合,其进一步详情可以参考以下说明书和附图看出。
附图说明
现在参考附图,其中,贯穿全文类似的附图标记代表相应的部分:
图1是示出可以用于音频和/或视频信息的传输和/或存储和检索的视频编码-解码系统的示例性实施例的视图;
图2A是其中被编码的AV信息被传送到另一个位置以及在另一个位置处被接收的编解码系统200A的一个实施例的视图;
图2B是示出其中被编码的信息被存储并且随后被检索用于呈现的编解码系统的示例性实施例的视图,该系统此后被称为编解码器存储系统;
图3是示出源编码器的一个实施例的框图;
图4是示出诸如图片序列中的图片之一的AV信息的图片的视图;
图5是示出将编码树块示例性划分成编码单元的视图;
图6是示出用于图5中所示的编码树块划分的代表性四叉树和数据参数的表示的视图;
图7是示出将编码单元划分成一个或多个预测单元的视图;
图8是图示被划分为四个预测单元的编码单元和变换单元的相关集合的视图;
图9是图示用于与图8的实例中的编码单元相关的变换单元的RQT编码树的视图;
图10是示出预测单元的空间预测的视图;
图11是示出时间预测的视图;
图12是示出运动矢量预测因子(MVP)的使用的视图;
图13示出参考图片列表的使用的实例;
图14是示出由根据前述标准的编码器执行的处理的视图;
图15示出根据新兴的HEVC标准在解码中由解码器使用collocated_from_10_flag;
图16是示出运动矢量信息如何可以被有效地存储和使用的视图;
图17A和图17B是表示用于执行图16中描述的操作的一般处理的说明的视图;
图18是示出用于确定与第一图片相关的第一运动信息是否应该替换第二运动信息的示例性方法步骤的视图;
图19是示出可以用于实现运动信息的SPS级有效存储的示例性处理步骤的视图;
图20是示出可以用于解码如上所述编码的位流的示例性操作的视图;以及
图21示出可以用于实现本发明的实施例的示例性处理系统2100。
具体实施方式
在以下说明书中,对形成其一部分并且通过说明示出本发明的多个实施例的附图作出参考。将理解,可以利用其它实施例,并且在不脱离本发明的范围的情况下,可以作出结构改变。
音频-视觉信息收发和存储
图1是示出可以用于音频和/或视频信息的传输和/或存储和检索的视频编码-解码(编解码器)系统100的示例性实施例的视图。编解码器系统100包括:编码系统104,其接受音频-视觉(AV)信息102并且处理AV信息102,以生成被编码(被压缩)的AV信息106;以及解码系统112,其处理被编码的AV信息106,以产生恢复的AV信息114。由于编码和解码处理不是无损的,所以恢复的AV信息114与初始AV信息102不同,但是通过编码处理和参数的明智选择,恢复的AV信息114和未处理的AV信息102之间的差别对于人类感知是可接受的。
被编码的AV信息106通常被传送或存储并且在解码和呈现之前被检索,如通过收发(传输和接收)或存储/检索系统108执行的。收发损失可能显著,但是存储/检索损失通常很小或不存在,因此被提供给解码系统112的被收发的AV信息110通常与被编码的AV信息106相同或者基本相同。
图2A是其中被编码的AV信息106被传送到另一个位置并且在另一个位置被接收的编解码器系统200A的一个实施例的视图。传输部分230将输入的AV信息102转换为适用于传输的信号,并且通过传输信道212将被转换的信令传送至接收部分232。接收部分232接收所传送的信号,并且将所接收的信号转换为恢复的AV信息114用于呈现。如上所述,由于编码和传输损失以及误差,恢复的AV信息114可能具有比被提供给传输部分230的AV信息102更低的质量。然而,可以包括误差校正系统,以减少或消除这样的误差。例如,被编码的AV信息106可以通过添加冗余信息被前向误差校正(FEC)编码,并且这样的冗余信息可以被用于识别和消除接收部分230中的误差。
传输部分102包括一个或多个源编码器202,以对AV信息102的多个源编码。源编码器202对AV信息102编码,主要用于压缩的目的,以产生被编码的AV信息106,并且可以包括例如处理器和相关存储器,其存储实现诸如MPEG-1、MPEG-2、MPEG-4AVC/H.264、HEVC或类似编解码器的编解码器的指令,如以下进一步描述的。
编解码器系统200A还可以包括由图2A中的虚线指示的可选元件。这些可选元件包括视频复用编码器204、编码控制器208、以及视频解复用解码器218。可选视频复用编码器204根据由可选编码控制器208提供的一个或多个参数,复用来自相关多个源编码器202的被编码的AV信息106。这样的复用通常在时域中实现并且基于数据分组。
在一个实施例中,视频复用编码器204包括统计型复用器,其组合来自多个源编码器202的被编码的AV信息106,以便最小化传输所需要的带宽。这是可能的,因为来自每个源编码器202的被编码的AV信息106的瞬时位速率根据AV信息102的内容可随着时间极大地变化。例如,具有大量详情和运动(例如,运动事件)的场景通常比具有很少运动或详情(例如,人物对话)的场景以更高位速率被编码。因为在每个源编码器202产生具有低瞬时位速率的信息的同时,另一个源编码器202可能产生具有高瞬时位速率的信息,并且由于编码控制器208可以命令源编码器202根据影响瞬时位速率的特定性能参数对AV信息106编码,所以来自每个源编码器106(每个都具有时间改变瞬时位速率)的信号都可以以最佳方式被组合在一起,以最小化复用流205的瞬时位速率。
如上所述,源编码器202和视频复用编码器204可以可选地由编码控制器208控制,以最小化被组合的视频信号的瞬时位速率。在一个实施例中,这使用来自传输缓冲器206的信息来实现,该传输缓冲器206暂时存储被编码的视频信号并且可以指示缓冲器206的充满。这允许在源编码器202或视频复用编码器204处执行的编码为留在传输缓冲器206中的存储的函数。
传输部分230还可以包括传输编码器210,其进一步对用于传输到接收部分232的视频信号编码。传输编码可以包括例如上述FEC编码和/或到用于选择的传输介质的复用方案的编码。例如,如果传输通过卫星或陆地传送器,则传输编码器114可以经由正交幅度调制(QAM)或类似调制技术在传输之前,将信号编码为信号星座。而且,如果被编码的视频信号经由互联网协议设备和互联网流式传输,则传输根据合适协议对信号编码。而且,如果被编码的信号经由移动电信被传送,则使用合适编码协议,如下进一步描述。
接收部分232包括传输解码器214,以使用与在传输编码器214中使用的编码方案互补的解码方案,接收由传输编码器210编码的信号。被解码的接收信号可以由可选接收缓冲器216临时存储,并且如果接收信号包括多个视频信号,则接收信号由视频复用解码器218复用解码,以从由视频复用编码器204复用的视频信号提取感兴趣的视频信号。最后,使用与由源编码器202使用以对AV信息102编码的编解码器互补的解码方案或编解码器,由源解码器220解码感兴趣的视频信号。
在一个实施例中,所传送的数据包括从服务器(表示传送部分230)传送到客户端(表示接收部分232)的分组视频流。在该情况下,传输编码器210可以对数据分组并且将网络抽象层(NAL)单元嵌入网络分组中。NAL单元限定具有报头和编码元素的数据容器,并且可以对应于视频数据的视频帧或其它切片。
可以将被传送的压缩数据分组并且经由传输信道212被传送,传输信道可以包括广域网(WAN)或局域网(LAN)。这样的网络可以包括例如无线网络,诸如,WiFi、以太网、互联网或由多个不同网络构成的混合网络。这样的通信可能受通信协议影响,例如,实时传输协议(RTP)、用户数据报协议(UDP)或任何其它类型的通信协议。不同分组方法可以用于位流的每个网络抽象层(NAL)单元。在一种情况下,一个NAL单元大小小于对应于可以通过网络被传送而不被分割的最大分组大小的最大传输单元(MTU)大小。在该情况下,NAL单元被嵌入单个网络分组中。在另一种情况下,多个完整NAL单元包括在单个网络分组中。在第三种情况下,一个NAL单元可能太大,以致不能在单个网络分组中被传送,并且从而被划分为多个被分割的NAL单元,每个被分割的NAL单元在单个网络分组中被传送。被分割的NAL单元通常被连续发送用于解码目的。
接收部分232接收分组数据,并且从网络分组重构NAL单元。对于被分割的NAL单元,客户端联接来自被分割的NAL单元的数据,以便重构原始NAL单元。客户端232解码所接收和重构的数据流,并且在显示设备上再现视频图像并且由扬声器再现音频数据。
图2B是示出此后被称为编解码器存储系统200B的编解码器系统的示例性实施例的视图,其中,被编码的信息被存储并且随后被检索用于呈现。该实施例可以用于例如将信息本地存储在数字视频记录器(DVR)、闪盘驱动器、硬盘驱动器、或类似设备中。在该实施例中,AV信息102是由源编码器202编码的源,可选地,在存储在存储设备236中之前,通过存储缓冲器234缓冲。存储设备236可以暂时或者在扩展时间段内存储视频数据,并且可以包括硬盘驱动器、闪存驱动器、RAM或ROM。所存储的AV信息然后被检索,可选地,通过检索缓冲器238缓冲并且通过源解码器220解码。
图2C是示出可以用于传送和接收HEVC数据的包括编码系统或编码器202和解码系统或解码器220的示例性内容分发系统200C的另一个视图。在一些实施例中,编码系统202可以包括输入接口256、控制器241、计数器242、帧存储器243、编码单元244、传送器缓冲器267和输出接口257。解码系统220可以包括接收器缓冲器259、解码单元260、帧存储器261和控制器267。编码系统202和解码系统220可以经由可以承载压缩位流的传输路径相互耦合。编码系统202的控制器241可以基于传送器缓冲器267或接收器缓冲器259的容量,控制将被传送的数据的量,并且可以包括其它参数,诸如,每时间单位的数据量。控制器241可以控制编码单元244,以防止解码系统220的接收信号解码操作的故障的发生。控制器241可以是处理器,或者作为非限制性实例,包括具有处理器、随机存取存储器和只读存储器的微型计算机。
作为非限制性实例,从内容提供商提供的源图片246可以包括帧的视频序列,帧的视频序列包括视频序列中的源图片。源图片246可能未被压缩或被压缩。如果源图片246未被压缩,则编码系统202可以具有编码功能。如果源图片246被压缩,则编码系统202可以具有转码功能。利用控制器241,可以从源图片获得编码单元。帧存储器243可以具有可以用于存储来自源图片246的输入帧的第一区域和可以用于读出帧并且将它们输出到编码单元244的第二区域。控制器241可以将区域切换控制信号249输出到帧存储器243。区域切换控制信号249可以指示是否第一区域或第二区域将被利用。
控制器241可以将编码控制信号250输出到编码单元244。编码控制信号250可以使编码单元202开始编码操作,诸如,基于源图片准备编码单元。响应于来自控制器241的编码控制信号250,编码单元244可以开始将所准备的编码单元读出到高效编码处理,诸如,预测编码处理或变换编码处理,其基于与编码单元相关的源图片,处理生成视频压缩数据的所准备的编码单元。
编码单元244可以将所生成的视频压缩数据封装在包括视频分组的分组基本流(PES)中。编码单元244可以使用控制信息和节目时间戳(PTS),将视频分组映射到被编码的视频信号248,并且被编码的视频信号248可以被传送到传送器缓冲器267。
包括所生成的视频压缩数据的被编码的视频信号248可以被存储在传送器缓冲器267中。信息量计数器242可以递增,以指示传送器缓冲器267中的总数据量。当从缓冲器检索和去除数据时,计数器242可以递减,以反映传送器缓冲器267中的数据量。占用区域信息信号253可以被传送至计数器242,以指示来自编码单元244的数据是否已从传送器缓冲器267被添加或去除,因此计数器242可以递增或递减。基于可以被传输以预期、避免、防止和/或探测溢出或下溢发生在传送器缓冲器267中的占用区域信息253,控制器241可以控制由编码单元244产生的视频分组的产生。
响应于由控制器241生成和输出的预置信号254,信息量计数器242可以被重置。在信息量计数器242被重置之后,可以对由编码单元244输出的数据计数,并且获得已被生成的视频压缩数据和/或视频分组的量。信息量计数器242可以给控制器241提供表示所获得的信息的量的信息量信号255。控制器241可以控制编码单元244,使得在传送器缓冲器267处不存在溢出。
在一些实施例中,解码系统220可以包括输入接口266、接收器缓冲器259、控制器267、帧存储器261、解码单元260和输出接口267。解码系统220的接收器缓冲器259可以暂时存储压缩位流,包括来自源图片246的基于源图片的所接收视频压缩数据和视频分组。解码系统220可以读取所接收数据中的控制信息和与视频分组相关的呈现时间戳信息,并且输出可以提供给控制器220的帧号信号263。控制器267可以管理预定间隔处的帧的计数。作为非限制性实例,每次解码单元260完成解码操作时,控制器267都可以管理帧的计数。
在一些实施例中,当帧号信号263指示接收器缓冲器259处于预定容量时,控制器267可以将解码开始信号264输出到解码单元260。当帧号信号263指示接收器缓冲器259处于小于预定容量时,控制器267可以等待其中帧的计数变为等于预定量的情况的发生。当该情况发生时,控制器267可以输出解码开始信号263。作为非限制性实例,当帧号信号263指示接收器缓冲器259处于预定容量时,控制器267可以输出解码开始信号264。基于与被编码的视频分组相关的呈现时间戳被编码的视频分组和视频压缩数据可以按照单调顺序(即,增加或减小)被解码。
响应于解码开始信号264,解码单元260可以解码等于与帧相关的一个图片的数据和关于与来自接收器缓冲器259的视频分组相关的图片的压缩视频数据。解码单元260可以将被解码的视频信号269写入帧存储器261。帧存储器261可以具有被解码的视频信号被写入到的第一区域、以及用于将被解码的图片262读出到输出接口267的第二区域。
在多种实施例中,编码系统202可以被组合或者另外与头端处的转码器或编码装置相关,并且解码系统220可以被组合或者另外与下游设备相关,诸如,移动设备、机顶盒或转码器。
源编码/解码
如上所述,编码器202采用压缩算法,以生成具有比AV信息102中的原始视频序列小的大小的位流和/或文件。这样的压缩可以通过减少原始序列中的空间和时间冗余作出。
现有技术编码器202包括与由ITU的“视频编码专家组(VCEG)”和ISO的“运动图像专家组(MPEG)”开发的视频压缩标准H.264/MPEG-4AVC(“高级视频编码”)兼容的那些,特别是以公开出版物“Advanced Video Coding for Generic Audiovisual Services”(2005年3月)的形式,其通过引用被包含在此。
期望HEVC“高效视频编码”(有时已知为H.265)代替H.264/MPEG-4AVC。HEVC引入新编码工具和为在H.264/AVC中定义的编码实体的概括的实体,如下进一步描述。CS39543/CS39549/CS39892
图3是示出源编码器202的一个实施例的框图。源编码器202接受AV信息102,并且使用取样器302对AV信息102取样,以产生每个都具有多个像素的数字图像或图片的连续序列303。图片可以包括帧或域(field),其中,帧是在已知时间间隔内捕捉的完整图像,并且域是包括部分图像的奇数或偶数扫描行的集合。
取样器302产生未压缩的图片序列303。每个数字图片都可以由具有表示关于一起包括图片的像素的信息的多个系数的一个或多个矩阵表示。像素的值可以对应于亮度或其它信息。在其中多个组件与每个像素(例如,红-绿-蓝分量或亮度-色度分量)相关的情况下,这些组件中的每个都可以被单独处理。
图像可以被分割为“切片”,其可以包括图片的一部分或者可以包括整个图片。在H.264标准中,这些切片被划分为被称为宏块(通常为大小16像素×16像素的块)编码实体,并且每个宏块可以依次被划分为不同大小的数据块102,例如,4×4、4×8、8×4、8×8、8×16、16×8。HEVC扩展并且概括宏块之外的编码实体的概念。
HEVC编码实体:CTU、CU、PU和TU
类似于其它视频编码标准,HEVC是基于块的混合空间和时间预测编码方案。然而,HEVC引入H.264/AVC标准不包括的新编码实体。这些编码实体包括(1)编码树块(CTU)、编码单元(CU)、预测单元(PU)和变换单元(TU),并且以下进一步描述。
图4是示出AV信息102的图片400的视图,诸如,图片序列303中的图片之一。图片400在空间上被划分为非重叠正方形块,其被已知为编码树单元或CTU402。不像H.264和其中基本编码单元是16×16像素的宏块的先前视频编码标准,CTU402是HEVC的基本编码单元,并且可以与128×128像素一样大。如图4中所示,CTU402通常以类似于逐行扫描的顺序在图片400内被参考。
每个CTU402可以依次迭代地被划分为由以下进一步描述的“四叉树”分解描述的较小可变大小编码单元。编码单元是在位流314中被传送到并且类似编码参数被应用到的图像中形成的区域。
图5是示出将CTU402划分成诸如编码单元502A和502B(此后可替换地称为编码单元502)的编码单元(CU)的示例性视图。单个CTU402可以被划分为四个CU502,诸如,CU502A,每个CU是CTU402的大小的四分之一。每个这样划分的CU502A可以被进一步划分成初始CU502A的四分之一大小的四个更小CU502B。
将CTU402划分成CU502A和更小CU502B通过被编码到输出位流314的“四叉树”数据参数(例如,标记或位)以及作为被已知为语法的开销的编码数据描述。
图6是示出代表性四叉树600的表示和用于图5中所示的CTU402划分的数据参数的视图。四叉树600包括多个节点,多个节点包括在一个层级处的第一节点602A和在更低层级处的第二节点602B(此后,四叉树节点可以被可替换地称为“节点”602)。在四叉树的每个节点602处,如果节点602被进一步划分为子节点,则分配“划分标记”或位“1”,否则分配位“0”。
例如,图5中所示的CTU402划分可以由图6中提供的四叉树600表示,其包括与顶部CU502层级处的节点602A相关的“1”的划分标记(指示在更低层级处存在4个附加节点)。所示的四叉树600还包括与在中间CU502层级处的节点602B相关的“1”的划分标记,以指示该CU在下一个(底部)CU层级处还被划分为四个进一步CU502。源编码器202可以限制最小和最大CU502大小,从而改变CU502划分的最大可能深度。
编码器202以位流314形式生成被编码AV信息106,位流314包括具有用于CU502的编码数据的第一部分和包括已知为语法元素的开销的第二部分。编码数据包括对应于被编码的CU502的数据(即,被编码的残差以及它们的相关运动矢量、预测因子、或者如以下进一步描述的相关残差)。第二部分包括语法元素,语法元素可以表示不直接对应于块的编码数据的编码参数。例如,语法元素可以包括图像中的CU502的地址和标识、量化参数、所选帧间/帧内编码模式的指示、四叉树600或其它信息。
CU502对应于基本编码元素,并且包括两个相关子单元:预测单元(PU)和变换单元(TU),两者具有等于相应CU502的大小的最大大小。
图7是示出将CU502划分成一个或多个PU702的视图。PU702对应于被划分的CU502,并且被用于预测用于帧内图片或帧间图片类型的像素值。PU702是用于运动估计的H.264/AVC的划分的扩展,并且被限定用于不被进一步子划分为其它CU(“划分标记”=0)的每个CU502。在四叉树600的每个叶子604处,2Nx2N的最终(底部层级)CU502可以拥有PU的四个可能图案之一:2Nx2N(702A)、2NxN(720B)、Nx2N(702C)和NxN(702D),如图7中所示。
CU502可以在空间或时间上被预测编码。如果CU502在“帧内”模式下被编码,则CU502的每个PU702可以具有其本身的空间预测方向和图像信息,如以下进一步描述的。而且,在“帧内”模式下,CU502的PU702可能取决于另一个CU502,这是因为其可以使用在另一个CU中的空间邻居。如果CU502在“帧间”模式下被编码,则CU502的每个PU702可以具有其本身的运动矢量和相关参考图片,如以下进一步描述的。
图8是示出被划分为四个PU702的CU502和变换单元(TU)802的相关集合的视图。TU802被用于表示由DCT(离散余弦变换)在空间上变换的基本单元。CU502内的每个块变换TU802的大小和位置通过“残差”四叉树(RQT)描述,以下进一步示出。
图9是示出图8的实例中的用于CU502的TU802的RQT900的视图。注意,在RQT900的第一节点902A处的“1”指示存在四个分支,并且在邻近更低层级处的第二节点902B处的“1”指示所指示节点进一步具有四个分支。描述RQT900的数据还被编码和传送为位流314中的开销。
视频序列的编码参数可以被存储在被称为参考集合的专用NAL单元中。可以采用两种类型的参数集合NAL单元。第一参数集合类型被已知为序列参数集合(SPS),并且包括NAL单元,NAL单元包括在整个视频序列期间不改变的参数。通常,SPS处理编码配置文件、视频帧的大小和其它参数。第二类型的参数集合被已知为图片参数集合(PPS),并且对可以从一个图像到另一个图像改变的不同值编码。
空间和时间预测
用于压缩位流314的技术之一是先前的像素值本身的存储,并且作为替换,使用可以在解码器220处重复并且存储或者传送在预测像素值和实际像素值之间的差(被已知为残差)的处理预测像素值。只要解码器220可以从所提供的信息计算相同预测像素值,就可以通过将残差添加到预测值,恢复实际图片值。相同技术还可以被用于压缩其它数据。
返回参考图3,正被处理的CU502的每个PU702被提供给预测器模块307。基于相同帧(由空间预测器324执行的帧内预测)中的邻近PU702中的信息和时间上接近的帧(由时间预测器330执行的帧间预测)中的PU702的信息,预测器模块307预测PU702的值。然而,时间预测可以不一直基于共同定位的PU,这是因为共同定位的PU被限定为位于具有与当前PU702相同的x和y坐标的参考/非参考帧处。这些技术利用PU702之间的空间和时间依赖性。
从而,编码单元可以被分类为两个类型:(1)非时间预测单元和(2)时间预测单元。非时间预测单元使用包括帧内的邻近或附近PU702的当前帧被预测(例如,帧内预测),并且通过空间预测器324生成。时间预测单元从一个时间图片预测(例如,P-帧)或者从时间上在前和/或在后的至少两个参考图片预测(即,B-帧)。
空间预测
图10是示出PU702的空间预测的视图。图片i可以包括PU702和在空间上接近的其它PU1-4,包括附近PU702N。空间预测器324通过“帧内”预测预测当前块(例如,图10的块C),帧内预测使用当前图像的像素的已经编码的其它块的PU702。
空间预测器324定位适用于空间编码的附近PU(例如,图10的PU1、2、3或4),并且确定到该附近PU的角度预测方向。在HEVC中,可以考虑35个方向,因此每个PU都可以具有与其相关的35个方向之一,包括水平、垂直、45度对角线、135度对角线、DC等。在语法中指示PU的空间预测方向。
返回参考图3的空间预测器324,使用元件305,该定位的附近PU被用于计算作为附近PU702N和当前PU702的像素之间的差的残差PU704(e)。结果是包括预测方向1002和帧内预测残差PU1004的帧内预测PU元素1006。通过从空间邻近PU和图片的空间依赖性推断方向,可以对预测方向1002编码,使得帧内预测方向模式的编码率能够被减小。
时间预测
图11是示出时间预测的视图。时间预测考虑来自诸如在前图片、图片i-1的时间邻近图片或帧的信息。
通常,时间预测包括:单次预测(P-型),其通过推断来自仅一个参考图片的一个参考区域,预测PU702;多次预测(B-型),其通过从一个或两个参考图片推断两个参考区域,预测PU。参考图像是已被编码并且然后被重构(通过解码)的视频序列的图像。
在这些参考区域中的一个或多个(一个用于P-型或者多个用于B-型)中,时间预测器330识别时间上在附近的帧中的像素的区域,使得它们可以被用作该当前PU702的预测因子。在使用多个区域预测因子(B-型)的情况下,它们可以合并,以生成一个单个预测。参考区域1102通过运动矢量(MV)1104在参考帧中被识别,即,定义当前帧(图片i)中的当前PU702和参考帧(图片i-1)中的参考区域1102(refIdx)之间的位移。B-图片中的PU可以具有多达两个MV。MV和refIdx信息包括在HEVC位流的语法中。
再次参考图3,参考区域1102和当前PU702的像素值之间的差值可以通过如由开关306选择的元件306计算。该差值被称为帧间预测PU1106的残差。在时间或帧间预测处理结束时,当前PU1006由一个运动矢量MV1104和残差1106构成。
然而,如上所述,用于压缩数据的一种技术使用可通过解码器220重复的手段,生成用于数据的预测值,计算数据的预测值和实际值之间的差值(残差),并且传输残差用于解码。只要解码器220可以再现预测值,残差值就可以被用于确定实际值。
该技术可以通过生成MV1104的预测,计算实际MV1104和预测MV1104之间的差值(残差),并且在位流314中传输MV残差,被应用至在时间预测中使用的MV1104。只要解码器220可以再现预测MV1104,就可以从残差计算实际MV1104。HEVC使用附近PU702之间的运动的空间相关性,计算用于每个PU702的预测MV。
图12是在HEVC中使用运动矢量预测因子(MVP)的视图。运动矢量预测因子V1、V2和V3从位于将要编码的块(C)附近或邻近的多个块1、2和3的MV1104被获得。当这些矢量是指相同时间帧内的空间邻近块的运动矢量,并且可以用于预测将要编码的块的运动矢量时,这些矢量被已知为空间运动预测因子。
图12还示出为序列的先前解码图片(例如,定位在与正被编码的块(图像i的块C)相同的空间位置处的图片i-1的块)中的共同定位块C’的运动矢量的时间运动矢量预测因子VT
空间运动矢量预测因子V1、V2和V3以及时间运动矢量预测因子VT的分量可以用于生成中间运动矢量预测因子VM。在HEVC中,根据预定可用性规则,可以采用如图12中所示的三个空间运动矢量预测因子,即,来自位于将要编码的块(V1)的左边的块、位于之上的块(V3)和来自位于将要编码的块(V2)的各自拐角处的块之一。该MV预测因子选择技术被已知为高级运动矢量预测(AMVP)。
从而,获得具有空间预测因子(例如,V1、V2和V3)和时间预测因子VT的多个(通常是五个)MV预测因子(MVP)候选。为了减少在位流中信令发送运动矢量预测因子的开销,通过消除重复的运动矢量(例如,具有与其它MV相同的值的MV可以从候选被消除)的数据,可以减少运动矢量预测因子的集合。
编码器202可以从候选中选择“最佳”运动矢量预测因子,并且计算运动矢量预测因子残差作为所选运动矢量预测因子和实际运动矢量之间的差值,并且在位流314中传送运动矢量预测因子残差。为了执行该操作,实际运动矢量必须被存储用于由解码器220的随后使用,但是其在位流314中不被传送。信令位或标记包括在位流314中,以指定哪个MV残差从标准化运动矢量预测因子计算,并且随后由解码器使用以恢复运动矢量。以下进一步描述这些位或标记。
现在返回参考图3,然后,通过变换模块308将从空间(帧内)或时间(帧间)预测处理获得的帧内预测残差1004和帧间预测残差1106变换为上述变换单元(TU)802。TU802可以使用以上关于图9描述的RQT分解被进一步划分为较小TU。在HEVC中,通常使用2或3级分解,并且认可的变换大小为32×32、16×16、8×8和4×4。如上所述,变换根据离散余弦变换(DCT)或离散正弦变换(DST)获得。
然后,通过量化器310量化残差变换系数。量化在数据压缩中扮演非常重要的角色。在HEVC中,量化将高精度变换系数转换为有限数量的可能值。虽然量化允许大量压缩,但是量化是有损操作,并且量化的损失不能被恢复。
然后,被量化的变换残差的系数通过熵编码器312被编码并且然后被插入到被压缩的位流310中,作为对AV信息的图像编码的有用数据的一部分。编码语法元素还可以使用语法元素之间的空间依赖性被编码,以增加编码效率。HEVC提供上下文自适应二进制算术编码(CABAC)。还可以使用其它形式或熵或算术编码。
为了计算以上使用的预测因子,编码器202使用包括元件316、318、320、322、328的“解码”环路315解码已被编码的PU702。该解码环路315从被量化的变换残差重构PU和图像。
被量化的变换残差系数E被提供给去量化器316,其将逆操作应用至量化器310,以产生残差PU(E’)708的去量化的变换系数。然后,去量化的数据708被提供给逆变换器318,其应用由变换模块308应用的变换的逆,以生成PU(e’)710的重构残差系数。
然后,将残差PU710的重构系数添加至由选择器306从帧内预测PU1004和帧间预测PU1106选择的相应预测PU(x’)702’的相应系数。例如,如果重构残差来自空间预测器324的“帧内”编码处理,则将“帧内”预测因子(x’)添加至该残差,以便恢复对应于由从变换(例如,在该情况下的量化操作)得到的损失修改的原始PU702的重构PU(x’’)712。如果残差710来自时间预测器330的“帧间”编码处理,则由当前运动矢量指向的区域(这些区域属于存储在由当前图像索引引用的参考缓冲器328中的参考图像)被合并,然后被添加至该被解码的残差。以此方式,通过从量化操作得到的损失,修改原始PU702。
就编码器202使用类似于上述图像预测技术的运动矢量预测技术来说,运动矢量可以使用运动矢量缓冲器329被存储,用于在时间上的随后帧中使用。如以下进一步描述的,标记可以在语法中被传递并且被设置,以指示用于当前解码的帧的运动矢量应该被用于至少随后编码帧,而不是用用于当前帧的MV替换MV缓冲器329的内容。
环路滤波器322被应用至重构信号(x’’)712,以便减少由所获得的残差的重量化产生的效果,并且改进信号质量。环路滤波器322可以包括例如:解块滤波器,用于平滑PU之间的边界,以在视觉上削弱由编码处理产生的高频率;以及线性滤波器,在所有PU之后被应用用于已被解码的图像,以最小化与原始图像的平方差值的和(SSD)。线性滤波处理被逐帧地执行,并且使用要被过滤的像素周围的多个像素,并且还使用帧的像素之间的空间依赖性。线性滤波器系数可以被编码并且在位流的一个报头中,通常为图片或切片报头中,被编码和传送。
还被已知为重构图像的滤波图像然后被存储为来自参考图像缓冲器328的参考图像,以便允许随后“帧间”预测在当前视频序列的随后图像的压缩期间发生。
参考图像语法
如上所述,为了减少误差并且改进压缩,HEVC允许使用多个参考图像用于当前图像的估计和运动补偿。当前图片中给出的当前PU702、共同定位的PU1102位于相关附近参考/非参考图片中。例如,在图12中,用于图片(i)中的当前PU702的共同定位的PU1102位于相关附近参考图片(i-1)中。在多个参考/非参考图像的一些中选择当前PU702的最佳“帧间”或时间预测因子,其可以基于按照显示顺序在时间上在当前帧之前或之后的帧(分别为后向和前向预测)。
对于HEVC,参考图片的索引由包括在语法中的参考图片列表定义。前向预测通过列表0(RefPicList0)定义,并且后向预测通过列表1(RefLicList1)定义,并且列表0和列表1可以包含按照显示顺序在当前图片之前和/或之后的多个参考图片。
图13示出参考图片列表的使用的实例。考虑图13中所示的图片0、2、4、5、6、8和10,其中,每个图片的编号表示显示顺序,并且当前图片是图片5。在该情况下,具有升序参考图片索引并且开始于等于0的索引的列表0参考图片是4、2、0、6、8和10,并且具有升序参考图片索引并且开始于等于0的索引的列表1参考图片是6、8、10、4、2和0。运动补偿预测限于列表0预测的片被称为P-切片(P-slice)。共同定位图片在HEVC中通过使用collocated_ref_idx索引指示。对于B-切片(B-slice),除了列表0预测之外,运动补偿预测还包括列表1预测。
因此,共同定位PU1102被设置在列表0或列表1中指定的参考图片中。标记(collocated_from_10_flag)当前被用于指定共同定位划分是否应该从列表0或列表1被获得用于特定切片类型。每个参考图片还与运动矢量相关。
用于新兴HEVC标准的参考图片和相关运动矢量的存储和检索在Benjamin Bross、Woo-Jin Han、Jens-Rainer Ohm、Gary J.Sullivan、Thomas Wiegand的“WD4:Working Draft4of High-Efficiency VideoCoding”ITU-T SG16WP3的视频编码联合组(JCT-VC)和ISO/IECJTC1/SC29/WG11,JCTVC-F803_d5,第六次会议:Torino,IT,14-222011年7月(通过引用被包含在此)的段落8.4.1.2.9中表述。
根据该标准,如果slice_type等于B并且collocated_from_10_flag是0,则collocated_ref_idx变量将参考图片指定为包含由RefPicList1指定的共同定位划分的图片。否则(slice_type等于B并且collocated_from_10_flag等于1或者slice_type等于P),collocated_ref_idx变量将参考图片指定为包含由RefPicList0指定的共同定位划分的图片。
图14是根据前述标准的由编码器202执行的处理的视图。框1402确定当前图片是否是用于另一个图片的参考图片。如果不是,则不需要存储参考图片或者运动矢量信息。如果当前图片是用于另一个图片的参考图片,则框1504确定“另一个”图片是P-型还是B-型图片。如果图片是P-型图片,则处理进行至框1410,其将colloc_from_10_flag设置为1,并且将参考图片和运动矢量存储在列表0中。如果“另一个图片”是B-型图片,则如果期望参考图片要被存储在列表0中,则框1406仍将处理引导至框1408和1410,并且如果期望参考图片和运动矢量要被存储在列表1中,则将处理引导至框1412和1414。该决定可以基于是否期望从时间上在前或在后图片选择参考图片。根据collocated_ref_idx索引确定选择多个可能参考图片中的哪一个。
图15示出根据新兴HEVC标准在解码中由解码器220使用collocated_from_10_flag。参考图15,框1502确定正被计算的当前切片类型是帧内还是I-类型。这样的切片在编码/解码处理中不使用时间上在附近的切片,并且因此不需要找到时间上在附近的参考图片。如果切片类型不是I-型,则框1504确定切片是否是B-切片。根据collocated_ref_idx的值,如果切片不是B-型,则其是P-型切片,并且包含共同定位划分的参考图片在列表0中被找到。如果切片是B-型,则collocated_from_10_flag确定参考图片是在列表0还是列表1中被找到。由于索引指示,根据切片类型(B-型或P-型)和collocated_from_10_flag的值,共同定位图片从而被限定为在列表0或列表1中具有所指示的collocated_ref_idx的参考图片。在HEVC的一个实施例中,第一参考图片(如图13中所示的具有索引[0]的参考图片)被选择为共同定位图片。
运动信息的逐切片有效存储
问题在于,如果被编码的当前图片可以用作用于另一个图片的参考图片,则用于当前图片的运动矢量1104被存储用于随后使用。这是因为当前图片可以是用于其它图片的共同定位图片,并且其PU可以是用于那些图片中的PU的共同定位PU。例如,用于图12中所示的图片i-1中的单元的VT和其它MV必须被存储,这是因为那些VT和其它MV可以由诸如PU702的其它单元使用。由于通常存在N个参考图片,所以用于所有N个参考图片的MV都必须被存储,其可能是代价高的。
用于被要求用于参考图片的存储器的缩减的技术在EdouardFRANCOIS、Christophe GISQUET、Guillaume LAROCHE、PatriceONNO、以及OUEDRAOGO的“ON memory compression for motionvector prediction”ITU-T SG16WP3的视频编码联合组(JCT-VC)和ISO/IEC JTC1/SC29/WG11,JCTVC-E221,第五次会议:日内瓦2011年3月中提出,其通过引用被包含在此。
然而,甚至当用于候选参考图片的MV不可能被使用时,这样的技术仍然存储每个候选参考图片的所有MV。而且,即使仅用于零索引参考图片的MV被使用,要求存储共同定位参考图片的MV的存储器的进一步缩减是可能的。
在这样的情况下,如果当前解码的图片的MV仅当要求时被存储,则要求存储共同定位图片的MV的存储器的进一步缩减是可能的。另外,所存储的在前图片的运动矢量可以在用于当前图片的解码处理中被利用。索引或标记可以被用于指示当前图片的标准化MV是否将替换先前参考图片的所存储的MV。
索引或标记可以包括在位流的语法中,并且可以呈现在切片或图片报头中。在一个实施例中,切片报头语法被修改成包括索引(update_collocated_picture_idx),以指示当前图片的MV是否应该替换来自用于生成当前图片的图片的MV。例如,语法可以被定义成使得,如果当前图片的索引(update_collocated_picture_idx)是1,则当前图片的标准化MV被存储,从而替换先前编码的图片的MV。另外,用于在前图片的MV可以保持不被改变,并且被用于随后图片的生成。
图16是示出运动矢量信息如何被有效地存储和使用的视图。考虑具有图片0-8的图片组1602,其表示按照当被再现时被呈现给观察者的顺序的多个图片。如上所述,多个图片的编码使得,一些图片使用按照呈现顺序在时间上在该图片之后的图片中的信息被编码。例如,图片2可以使用图片4中的信息被编码。
考虑图片组1604,其包括相同图片0-8,但是按照它们被处理和由编码器202编码的顺序,而不是它们被呈现给用户用于显示的顺序。在该所示实例中,处理的顺序是0、8、4、2、6、1、3、5和7。进一步考虑图片0和8,记录(bookend)图片1604的序列的帧被帧间编码,并且不使用来自任何其它图片的信息。
图片0被编码,得到存储在运动矢量缓冲器239中的运动矢量MV0。由于图片0是帧内编码图片,所以编码器202知道其计算的运动矢量(并且不知道先前计算的图片的所计算运动矢量)应该在将要编码的下一个图片的计算中被使用,所以编码器202将update_collocated_picture_idx标记设置为1,从而指示将要编码的下一个图片(图片8)应该用被计算用于该图片的运动矢量替换当前存储在运动矢量缓冲器329中的运动矢量(MV0)。
接下来,使用存储在运动矢量缓冲器329中的运动矢量MV0,对图片8编码,并且计算新运动矢量MV8。由于update_collocated_picture_idx标记被设置为1,所以编码器202用结合图片8计算的运动矢量MV8替换当前存储在运动矢量缓冲器329中的运动矢量信息。
接下来,使用来自先前编码的帧的运动矢量MV8,对图片4编码,从而生成用于图片4的相关运动矢量MV4。然后,编码器329确定当前存储在运动矢量缓冲器329中的运动矢量信息(MV8)是否应该保留在缓冲器329中,用于在计算将要编码的下一个图片(图片2,或者其是否应该由更新近计算的运动矢量(MV4)替换)中使用。由于图片2在时间上比图片8更接近图片4,用于图片4的运动矢量可能得到更好编码的图片,所以编码器202将update_collocated_picture_idx标记设置为1,指示被计算用于图片4的运动矢量(MV4)应该替换存储在运动矢量缓冲器329中的当前运动矢量(MV8)。
图片2是将要编码的下一个图片。图片2使用存储在运动矢量缓冲器329中的运动矢量(MV8)被编码,并且编码得到新运动矢量(MV2)。现在产生关于当前编码图片的运动矢量(MV2)是否应该替换当前存储在运动矢量缓冲器329中的运动矢量(MV4)的问题。编码器202确定将要编码的下一个图片是图片6,其在时间上比图片2更接近图片4。因此,如果在处理中使用的MV与在时间上更接近图片6的图片相关,则期望图片6的编码产生更好结果是合理的。在该情况下,选择是图片4和图片2,并且由于图片4在时间上比图片2更接近图片4,所以期望MV4是比MV2更好的用于图片6的编码的选择。从而,编码器202将update_collocated_picture_idx标记设置为零,从而指示被计算用于当前帧(MV2)的运动矢量不应该替换当前存储在运动矢量缓冲器329中的运动矢量(MV4)。
将要编码的下一个图片是图片6。使用存储在运动矢量缓冲器中的运动矢量(MV4)对图片6编码。结果是被编码的图片残差和与图片6相关的运动矢量(MV6)。现在产生关于使用当前存储在运动矢量缓冲器329中的运动矢量(MV4)或被计算用于当前图片的运动矢量(MV2),将要编码的下一个图片(图片1)被最好地编码的问题。由于图片4在时间上比图片2更接近图片6,所以编码器202将update_collocated_picture_idx标记设置为零,并且保留当前存储在运动矢量缓冲器329中的运动矢量(MV4),用于在将要编码的下一个图片(图片1)的编码中使用。
将要编码的下一个图片是图片1。图片1使用存储在运动矢量缓冲器329中的运动矢量(MV4)被编码,得到被编码的图片1和MV1。然后,编码器202确定将要编码的下一个帧(帧3)是否通过当前存储在运动矢量缓冲器329中的运动矢量(MV4)或用于当前编码的图片的运动矢量(MV1)被最好地编码。由于图片3在时间上比当前编码图片(图片1)更接近图片4,所以编码器202将update_collocated_picture_idx标记设置为零,从而将MV4保留在运动矢量缓冲器329中,而不是将MV1存储在缓冲器329中。
将要编码的下一个图片是图片3。使用存储在运动矢量缓冲器329中的运动矢量(MV4)对图片3编码,并且得到运动矢量MV3。编码器329确定将要编码的下一个图片(图片5)是否使用当前存储在运动矢量缓冲器329中的运动矢量(MV4)被更好地编码。由于图片5比图片3更接近图片4,所以编码器329选择保留当前存储在运动矢量缓冲器329中的运动矢量(MV4),而不是将当前编码的帧的运动矢量(MV5)存储在运动矢量缓冲器329中。
将要编码的下一个图片是图片5。使用存储在运动矢量缓冲器中的运动矢量(MV4)对图片5编码,并且得到运动矢量MV5。编码器329确定将要编码的下一个图片(图片7)是否使用当前存储在运动矢量缓冲器329中的运动矢量(MV4)或当前编码的运动矢量(MV5)的运动矢量被更好地编码。由于图片7在时间上更接近图片5,所以编码器329选择用被计算用于当前编码图片的运动矢量(MV5)替换当前存储在缓冲器329中的运动矢量(MV4),并且将update_collocated_picture_idx标记设置为1,并且用当前编码图片的运动矢量(MV5)替换存储在运动矢量缓冲器329中的运动矢量(MV4)。
然后,编码器329使用当前存储在运动矢量缓冲器329中的运动矢量(MV5)对图片7编码。因为将要编码的下一个图片和图片7之间的时间距离很可能小于该图片和图片4之间的时间距离,所以update_collocated_picture_idx标记被设置为1。该处理被重复用于图片的下一个序列。
图16还示出参考图片列表_0(在图16中被描述为l0)和参考图片列表_1(在图16中被描述为l1)的使用。注意,与图片4相关的参考图片列表指示参考图片是用于list_0的图片0和图片8(图片8和图片0)。由于使用来自图片8(在时间上在图片4之后)的信息计算图片4,所以图片4是B-型图片,并且list_0包括8(指示参考图片是图片8)作为第一条目。类似地,从图片4计算图片2,使得图片2还是B-型图片,并且list_1中的第一条目是4。而且,从图片4计算图片6,其在时间上在图片6之前,所以图片6是P-型图片,并且list_0包括4用于第一条目,指示图片4是用于图片6的参考图片。
图17A和图17B是示出用于执行图16中所示的操作的一般处理的说明的视图。在框1702中,对多个数字图片的序列中的第一图片编码。编码处理的结果可以包括上述残差和与第一图片相关的第一运动信息,第一运动信息描述在多个帧的序列中描绘的图像的运动。第一运动信息可以包括例如运动矢量。
框1704确定第一运动信息是否应该替换与在时间上在运动矢量缓冲器329中的第一图片的编码之前被编码的第二图片相关的第二运动信息,用于在对下一个图片编码时使用。这可以关于图18进一步描述,如以下进一步论述的。
如果第一运动信息应该替换第二运动信息,则已被存储在运动矢量缓冲器329中的第二运动信息用第一运动信息替换,如框1706中所示。而且,在位流中提供具有第一值的第一运动信令信息,如框1708中所示。第一运动信息可以是标记或索引或其它值。在一个实施例中,第一运动信令信息是上述update_collocated_picture_idx标记,并且如果第一运动信息应该替换运动矢量缓冲器329中的第二运动信息,则将update_collocated_idx标记设置为1。
如果第一运动信息不应该替换已经存储在运动矢量缓冲器329中的第二运动信息,则第二运动信息被保留,如框1710中所示。而且,在位流中提供具有第二值的第一运动信令信息,如框1708中所示。在以上实例中,第一运动信令信息包括上述update_collocated_picture_idx标记,并且如果第一运动信息不应该替换运动矢量缓冲器329中的第二运动信息,则将update_collocated_picture_idx标记设置为0。
图17B是进一步示出用于执行图16中所示的操作的处理的说明的视图。如框1714中所示,紧接在对第一图片编码之后对第三图片编码,以产生与描述运动的第三图片相关的第三运动信息。如果运动信令信息具有第一值,则根据第二运动信息对第三图片编码,并且如果第一运动信息具有第二值,则根据第一运动信息对第三图片编码。
图18是示出用于确定与第一图片相关的第一运动信息是否应该替换第二运动信息的示例性方法步骤的视图。框1802确定第三图片和第一图片之间的第一时间距离。框1804确定第三图片和第二图片之间的第二时间距离。框1806比较第一时间距离和第二时间距离,并且根据框1806的比较,框1807确定第一运动信息是否应该替换第二运动信息。在一个实施例中,如果比较显示第三图片和第二图片之间的第一时间距离大于第三图片和第一图片之间的第二时间距离,则第一运动信息应该替换第二运动信息。
返回到图16的实例并且应用图17A和图17B中所示的逻辑,考虑其中第一图片是图片2的情况。框1702对图片2编码,产生MV2。决策框1704确定MV2是否应该替换已经存储在运动矢量缓冲器329中的MV4。框1802-1808确定第三图片(在编码序列中在第一图片之后,图片6)和第二图片(图片4)之间的时间距离不大于第三图片(图片6)和第一图片(图片2)之间的时间距离。因此,第一运动信息(MV2)不应该替换第二运动信息(MV4),并且运动矢量缓冲器329保留MV2。最终,框1714使用存储在运动矢量缓冲器329中的运动矢量(MV4),对第三图片(图片6)编码。
update_collocated_picture_idx标记可以作为开销在被编码的位流中,例如,作为切片报头中的参数被发送。
运动信息的SPS-级有效存储
以上技术允许基于逐切片或者逐图片地有效存储运动信息。可以通过使用标记或类似手段,控制是否用用于当前计算图片的运动矢量替换用于先前计算图片的运动矢量,用于由SPS限定的序列或序列参数集合中的所有图片,实现附加保存。从而,为了进一步减少引入的索引,update_collocated_picture_idx_SPS标记可以用于控制是否用用于在SPS级处的当前图片的运动矢量替换先前存储在运动矢量缓冲器329中的运动矢量,以控制由SPS参考的所有图片。
如果update_collocated_picture_idx_SPS是1,则除了帧内编码图片之外的所有编码图片都使它们的运动矢量替换先前存储在运动矢量缓冲器329中的运动矢量。否则,如果update_collocated_picture_idx_SPS是0,则以上描述的update_collocated_picture_idx将确定当前编码图片是否使其运动矢量代替在切片或PPS级处先前存储的运动矢量。另外,由于运动矢量缓冲器329仅保持用于一个图片的运动矢量,所以可以去除在切片报头处的collocated_from_10_flag和collocated_ref_idx标记两者。
从而,仅存储一个图片的标准化运动矢量。如果update_collocated_picture_idx_SPS是1或update_collocated_picture_idx_SPS是0并且update_collocated_picture_idx是1,则先前存储的运动矢量将由当前图片的标准化运动矢量代替。另外,如果update_collocated_picture_idx_SPS是0并且update_collocated_picture_idx是0,则先前存储在运动矢量缓冲器329中的运动矢量将保持不变。
图19是示出可以用于实现运动信息的SPS-级有效存储的示例性处理步骤的视图。框1902确定是否期望与数字图片的每个连续编码序列相关的进一步运动信息替换用于先前编码图片的数字图片的运动信息,用于由序列参数集合描述的数字图片的连续编码序列中的每一个。例如,考虑图16中所示的序列,可能期望使被计算用于每个图片的每个运动矢量替换来自整个序列中的在前图片的存储在运动矢量存储器329中的运动矢量。在功能上,这可以通过简单地这样做并且将用于每个图片的update_collocated_picture_idx设置为1来实现,但是如果使用序列层级标记则通过较少信令数据可以获得相同结果。如上所述,序列层级标记是update_collocated_picture_SPS_idx标记。
参考图19,如果期望与数字图片的连续编码序列中的每个图片相关的进一步运动信息替换用于先前编码图片的数字图片的运动信息,用于由序列参数集合描述的数字图片的连续编码序列中的每一个,则处理进行至框1904,并且用于在前数字图片的运动信息用数字图片的连续编码序列中的每个的运动信息替换,并且与多个数字图片的连续编码序列相关的第二运动信息信令数据被设置为第三值。在一个实施例中,第二运动信息信令数据包括update_collocated_picture_idx_SPS标记,并且第三值是1。另外,与多个数字图片的连续编码序列相关的第二运动信息信令数据是第四值。例如,在该实例中,update_collocated_picture_idx_SPS标记可以被设置为0。编码帧的运动信息是否替换从先前计算的帧计算的存储器中的运动信息取决于update_collocated_picture_idx标记。
使用有效编码运动信息解码位流
在解码被编码位流314时执行的操作类似于图3中所示的解码环路315的操作。在位流314被熵解码之后,其被去量化和逆变换(在相反地类似于框312和类似于框316和318的处理中),以恢复残差710。在位流314中的每个残差PU和残差运动矢量必须恢复图片和运动数量时重复的处理中,残差710与来自预测器模块307(空间324或时间330)的估计x’求和,以达到被恢复的PU。与编码器202的情况相同,解码器将类似于运动矢量329的运动矢量存储在运动矢量缓冲器中,用于类似于参考图片缓冲器328的参考图片缓冲器中的其它图片使用。从而,解码器220还必须存储先前解码的图片的运动信息,作为解码处理的一部分。如上所述,解码器确定当前编码帧的运动矢量是否应该替换当前存储在缓冲器中的运动矢量,并且使用update_collocated_picture_idx标记,指示当前编码帧的运动矢量是否替换当前存储在缓冲器中的运动矢量。编码器220使用该标记控制当前解码帧的运动矢量是否替换当前存储在缓冲器中的运动矢量,从而以可预测方式重复由编码器202执行的处理。
图20是示出可以用于解码如上所述编码的位流的示例性操作的视图。框2002根据存储在存储器中的第二运动信息,解码多个数字图片的序列中的第一图片,以产生与第一图片相关的第一运动信息,其中,第二运动信息描述在图片的序列中描绘的运动,并且第二运动信息与在时间上在解码第一数字图片之前被解码的第二数字图片相关。框2004确定第一运动信令信息是具有第一值还是第二值。如果第一运动信令信息具有第一值,则处理进行至框2006,其在存储器中用第一运动信息替换第二运动信息。如果第一运动信令信息具有第二值,则处理进行至框2010,其在存储器中保留第二运动信息。框2008和2012使用如由第一运动信令信息的值确定的存储在缓冲器中的运动矢量信息,解码要被解码的下一帧。
返回参考图16的实例,考虑图片2的解码。框2002使用存储在运动矢量缓冲器329中的第二运动信息(MV4)解码图片2,并且在解码图片完成之后,检验update_collocated_picture_idx标记。与决策框2004和框2010和2012一致,由于与图片2相关的update_collocated_picture_idx标记具有0值,所以解码器220不用当前图片的最新计算运动矢量(MV2)替换运动矢量缓冲器329的当前值,并且使用MV4解码要被解码的下一个图片(图片6)。
解码器220还响应于update_collocated_picture_idx_SPS标记。如果update_collocated_picture_idx_SPS被设置为1,则解码器220不查看update_collocated_picture_idx标记,确定是否用每个当前图片的运动矢量替换当前运动矢量缓冲器329值。作为替换,当读取位流中的update_collocated_picture_idx_SPS标记时,如果update_collocated_picture_idx_SPS标记等于1,则编码器220简单地执行该操作,用于与SPS相关的序列中的所有图片。相反地,如果update_collocated_picture_idx_SPS标记等于0,则解码器220根据update_collocated_picture_idx标记更新运动矢量缓冲器的值。
值得注意的是,由于上述有效编码运动矢量技术可以仅存储一个共同定位图片,不管update_collocated_picture_idx和update_collocated_pix_idx_SPS的值如何,基线HEVC中的collocated_ref_idx标记和collocated_from_lo_flag不再是必须的。而且,单个共同定位图片可以是传统参考图片或者非参考图片。在当前定义的HEVC中,共同定位图片可以是参考图片(当从运动补偿观点定义参考/非参考图片时)。例如,在图16中所示的序列中,图片8、4、2和6是参考图片,但是图片1、3、5和7是非参考图片。使用上述有效编码运动矢量技术,任何图片都可以用作共同定位图片(例如,图片5可以是共同定位图片)。
硬件环境
图21示出可以用于实现本发明的实施例的示例性处理系统2100。计算机2102包括处理器2104和存储器,诸如,随机存取存储器(RAM)2106。计算机2102可操作地耦合至显示器2122,其在图形用户界面2118B上给用户呈现诸如窗口的图像。计算机2102可以耦合至其它设备,诸如,键盘2114、鼠标设备2116、打印机等。当然,本领域技术人员将认识到,以上组件的任何组合或者任何数量的不同组件、外围设备和其它设备可以通过计算机2102使用。
通常,计算机2102在存储在2106中的操作系统2108的控制下操作,并且与用户交互,以接受输入和命令,并且通过图形用户界面(GUI)模块2118A提供结果。虽然GUI模块2118A被描述为单独模块,但是执行GUI功能的指令可以位于或分布在操作系统2108、计算机程序2110中,或者通过专用存储器和处理器实现。计算机2102还实现编译器2112,其允许以诸如COBOL、C++、FORTRAN、或其它语言编写的应用程序2110被转换为处理器2104可读取的代码。在完成之后,应用程序2110使用利用编译器2112生成的关系和逻辑,存取并且操作存储在计算机2102的存储器2106中的数据。计算机2102还可选地包括外部通信设备,诸如,调制解调器、卫星链路、以太网卡、或用于与其它计算机通信的其它设备。
在一个实施例中,实现操作系统2108的指令、计算机程序2110和编译器2112在计算机可读介质中被有形地具体化,例如,数据存储设备2120,其可以包括一个或多个固定或可移动数据存储设备,诸如,极碟驱动器、软盘驱动器2124、硬盘驱动器、CD-ROM驱动器、磁带驱动器等。而且,操作系统2108和计算机程序2110由指令构成,当由计算机2102读取时,指令使计算机2102执行实现和/或使用本发明所必须的步骤。计算机程序2110和/或操作指令还可以在存储器2106和/或数据通信设备2130中被有形地具体化,由此制造计算机程序产品或制品。同样地,在此使用的术语“制品”、“程序存储设备”和“计算机程序产品”旨在包括可从任何计算机可读取设备或媒体存取的计算机程序。
处理系统2100还可以在桌上型、膝上型、平板、笔记本计算机、个人数字助理(PDA)、蜂窝电话、智能手机、或具有合适处理和存储能力的设备中被具体化。而且,处理系统2100可以利用专用硬件来执行一些或所有以上功能。例如,上述编码和解码处理可以通过专用处理器和相关存储器执行。
本领域技术人员将认识到,在不脱离本公开的范围的情况下,可以对该结构作出多种修改。例如,本领域技术人员将认识到,可以使用以上组件的任何组合、或任何数量的不同组件、外围设备和其它设备。例如,在此描述的特定功能可以通过硬件模块、或者执行以软件或固件的形式存储的指令的处理器执行。而且,在此描述的功能可以组合在单个模块中或者扩展至在多个模块中被执行。
结论
优选实施例的以上说明被提供用于说明和描述的目的。不期望是排他性的或者将本发明限于所公开的准确形式。根据以上教导,很多修改和改变都是可以的。期望权利的范围不由该详细说明限制,而是由所附权利要求限制。

Claims (32)

1.在用于处理具有描绘在多个数字图片中的至少两个中描绘的图像的运动的所述多个数字图片的序列的位流的系统中,所述序列至少部分地根据所描绘的运动被压缩,一种信令传送描述与所述数字图片相关的所描绘运动的运动信息的存储的方法,包括:
对所述多个数字图片的序列中的第一图片编码以产生第一运动信息,所述第一运动信息描述所述运动并且与所述第一图片相关;
确定所述第一运动信息是否应该替换第二运动信息,所述第二运动信息描述所述运动并且与在时间上在所述第一图片的编码之前被编码的第二数字图片相关;
如果所述第一运动信息应该替换所述第二运动信息;
在所述存储器中用所述第一运动信息替换所述第二运动信息;以及
提供具有有第一值的第一运动信令信息的所述位流;
如果所述第一运动信息不应该替换所述第二运动信息;
在所述存储器中保留所述第二运动信息;以及
提供具有有第二值的所述第一运动信令信息的所述位流。
2.根据权利要求1所述的方法,进一步包括:
在时间上在所述第一图片的编码之后对所述序列中的第三图片编码,以产生描述所述运动并且与所述第三图片相关的第三运动信息,其中,如果所述运动信令信息具有所述第二值,则根据所述第二运动信息对所述第三图片编码,并且如果所述运动信令信息具有所述第一值,则根据所述第一运动信息对所述第三图片编码。
3.根据权利要求2所述的方法,其中,确定所述第一运动信息是否应该替换所述第二运动信息包括以下步骤:
确定所述第三图片和所述第一图片之间的第一时间距离;
确定所述第三图片和所述第二图片之间的第二时间距离;
比较所述第一时间距离和所述第二时间距离;以及
根据所述比较,确定所述第一运动信息是否应该替换所述第二运动信息。
4.根据权利要求2所述的方法,其中,如果所述第三图片和所述第二图片之间的第一时间距离大于所述第三图片和所述第一图片之间的第二时间距离,则所述第一运动信息应该替换所述第二运动信息。
5.根据权利要求1所述的方法,其中,通过与所述多个数字图片的连续编码序列相关的序列参数集合来描述所述多个图片,并且所述方法进一步包括:
对于由所述序列参数集合描述的数字图片的连续编码序列中的每一个数字图片,确定与所述数字图片的连续编码序列中的每个数字图片相关的进一步运动信息是否应该替换用于所述先前编码图片的数字图片的运动信息;
如果对于所述数字图片的连续编码序列中的每一个数字图片,所述数字图片的连续编码序列中的每个数字图片的运动信息应该替换用于所述在前图片的运动信息:
用所述数字图片的连续编码序列中的每个数字图片的运动信息替换用于所述在前数字图片的运动信息,并且将与所述多个数字图片的连续编码序列相关的第二运动信息信令数据设置为第三值;以及
否则,将与所述多个数字图片的连续编码序列相关的所述第二运动信息信令数据设置为第四值。
6.根据权利要求5所述的方法,其中,如果所述图片的连续编码序列中的每个图片的运动信息应该替换用于所述在前数字图片的运动信息:
则提供没有所述第一运动信息信令数据的所述位流。
7.根据权利要求6所述的方法,其中,所述第一运动信令数据是标记或索引。
8.根据权利要求7所述的方法,其中,所述第一运动信令数据包含在切片报头中,并且所述第二运动信令数据包含在所述序列参数集合中。
9.根据权利要求8所述的方法,其中,所述第一运动信息和所述第二运动信息是运动矢量。
10.在用于处理具有第一运动信令信息和描绘在多个数字图片中的至少两个中描绘的图像的运动的所述多个数字图片的压缩序列的位流的系统中,所述序列至少部分地根据所描绘的运动被压缩,一种解码压缩的多个数字图片的方法,包括:
根据存储在存储器中的第二运动信息,解码所述多个数字图片的序列中的第一图片以产生与所述第一图片相关的第一运动信息,所述第二运动信息描述所述运动并且与在时间上在所述第一数字图片的解码之前被解码的第二数字图片相关;以及
仅在与所述第一图片相关的所述第一运动信令信息具有第一值的情况下,用所述第一运动信息替换所述存储器中的所述第二运动信息,并且如果所述第一运动信令信息具有第二值,则在所述存储器中保留所述第二运动信息。
11.根据权利要求10所述的方法,进一步包括:
如果所述第一运动信令信息具有所述第一值,则根据所述第一运动信息来解码所述多个数字图片的序列中的第三图片,并且如果所述第一运动信令信息具有所述第二值,则根据所述第二运动信息来解码所述多个数字图片中的所述第三图片。
12.根据权利要求11所述的方法,其中,如果所述第三图片和所述第二图片之间的所述第一时间距离大于所述第三图片和所述第一图片之间的第二时间距离,则所述第一运动信令信息具有所述第一值。
13.根据权利要求11所述的方法,其中,通过与所述多个数字图片的连续解码序列相关的序列参数集合描述所述多个图片,所述序列参数集合包括第二运动信令信息,并且所述方法进一步包括:
如果所述第二运动信令信息具有第一值;
则对于由所述序列参数集合描述的所述数字图片的连续编码序列中的每个数字图片,用当前解码的数字图片的运动信息替换所述先前解码的数字图片的运动信息;如果所述第二运动信令信息具有第二值,
则对于由所述序列参数集合描述的所述数字图片的连续编码序列中的每个数字图片,根据所述第一运动信令信息,用所述当前解码的数字图片的运动信息替换所述先前解码的数字图片的运动信息。
14.根据权利要求13所述的方法,其中,所述第一运动信令数据是标记或索引。
15.根据权利要求14所述的方法,其中,所述第一运动信令数据包含在切片报头中,并且所述第二运动信令数据包含在所述序列参数集合中。
16.根据权利要求15所述的方法,其中,所述第一运动信息和所述第二运动信息是运动矢量。
17.在用于处理具有描绘在多个数字图片中的至少两个中描绘的图像的运动的所述多个数字图片的序列的位流的系统中,所述序列至少部分地根据所描绘的运动被压缩,一种用于信令传送描述与所述数字图片相关的所描绘运动的运动信息的存储的装置,包括:
处理器;
存储器,所述存储器可通信地耦合至所述处理器,所述存储器存储包括用于以下的指令的多个指令:
对所述多个数字图片的序列中的第一图片编码以产生第一运动信息,所述第一运动信息描述所述运动并且与所述第一图片相关;
确定所述第一运动信息是否应该替换第二运动信息,所述第二运动信息描述所述运动并且与在时间上在所述第一图片的编码之前被编码的第二数字图片相关;
如果所述第一运动信息应该替换所述第二运动信息;
在所述存储器中用所述第一运动信息替换所述第二运动信息;以及
提供具有有第一值的第一运动信令信息的所述位流;
如果所述第一运动信息不应该替换所述第二运动信息;
在所述存储器中保留所述第二运动信息;以及
提供具有有第二值的所述第一运动信令信息的所述位流。
18.根据权利要求17所述的装置,其中,所述存储器进一步包括用于在时间上在所述第一图片的编码之后对所述序列中的第三图片编码,以产生描述所述运动并且与所述第三图片相关的第三运动信息的指令,其中,如果所述运动信令信息具有所述第二值,则根据所述第二运动信息对所述第三图片编码,并且如果所述运动信令信息具有所述第一值,则根据所述第一运动信息对所述第三图片编码。
19.根据权利要求18所述的装置,其中,用于确定所述第一运动信息是否应该替换所述第二运动信息的指令包括用于以下的指令:
确定所述第三图片和所述第一图片之间的第一时间距离;
确定所述第三图片和所述第二图片之间的第二时间距离;
比较所述第一时间距离和所述第二时间距离;以及
根据所述比较,确定所述第一运动信息是否应该替换所述第二运动信息。
20.根据权利要求18所述的装置,其中,如果所述第三图片和所述第二图片之间的第一时间距离大于所述第三图片和所述第一图片之间的第二时间距离,则所述第一运动信息应该替换所述第二运动信息。
21.根据权利要求17所述的装置,其中,通过与所述多个数字图片的连续编码序列相关的序列参数集合来描述所述多个图片,并且所述指令进一步包括用于以下的指令:
对于由所述序列参数集合描述的数字图片的连续编码序列中的每一个数字图片,确定与所述数字图片的连续编码序列中的每个数字图片相关的进一步运动信息是否应该替换用于所述先前编码图片的数字图片的运动信息;
如果对于所述数字图片的连续编码序列中的每一个数字图片,所述数字图片的连续编码序列中的每个数字图片的运动信息应该替换用于所述在前图片的运动信息:
用所述数字图片的连续编码序列中的每个数字图片的运动信息替换用于所述在前数字图片的运动信息,并且将与所述多个数字图片的连续编码序列相关的第二运动信息信令数据设置为第三值;以及
否则,将与所述多个数字图片的连续编码序列相关的所述第二运动信息信令数据设置为第四值。
22.根据权利要求21所述的装置,其中,所述指令包括:用于如果所述图片的连续编码序列中的每个图片的运动信息应该替换用于所述在前图片的运动信息,则提供没有所述第一运动信息信令数据的所述位流的指令。
23.根据权利要求22所述的装置,其中,所述第一运动信令数据是标记或索引。
24.根据权利要求23所述的装置,其中,所述第一运动信令数据包含在切片报头中,并且所述第二运动信令数据包含在所述序列参数集合中。
25.根据权利要求24所述的装置,其中,所述第一运动信息和所述第二运动信息是运动矢量。
26.在用于处理具有第一运动信令信息和描绘在多个数字图片中的至少两个中描绘的图像的运动的所述多个数字图片的压缩序列的位流的系统中,所述序列至少部分地根据所描绘运动被压缩,一种用于解码压缩的多个数字图片的装置,包括:
处理器;
存储器,所述存储器可通信地耦合至所述处理器,所述存储器存储包括用于以下的指令的指令:
根据存储在存储器中的第二运动信息,解码所述多个数字图片的序列中的第一图片以产生与所述第一图片相关的第一运动信息,所述第二运动信息描述所述运动并且与在时间上在所述第一数字图片的解码之前被解码的第二数字图片相关;以及
仅在与所述第一图片相关的所述第一运动信令信息具有第一值的情况下,用所述第一运动信息替换所述存储器中的所述第二运动信息,并且如果所述第一运动信令信息具有第二值,则在所述存储器中保留所述第二运动信息。
27.根据权利要求26所述的装置,其中,所述指令进一步包括用于以下的指令:
如果所述第一运动信令信息具有所述第一值,则根据所述第一运动信息来解码所述多个数字图片的序列中的第三图片,并且如果所述第一运动信令信息具有所述第二值,则根据所述第二运动信息来解码所述多个数字图片中的所述第三图片。
28.根据权利要求27所述的装置,其中,如果所述第三图片和所述第二图片之间的所述第一时间距离大于所述第三图片和所述第一图片之间的第二时间距离,则所述第一运动信令信息具有所述第一值。
29.根据权利要求27所述的装置,其中,通过与所述多个数字图片的连续解码序列相关的序列参数集合描述所述多个图片,所述序列参数集合包括第二运动信令信息,所述指令进一步包括用于以下的指令:
如果所述第二运动信令信息具有第一值;
则对于由所述序列参数集合描述的所述数字图片的连续编码序列中的每个数字图片,用当前解码的数字图片的运动信息替换所述先前解码的数字图片的运动信息;如果所述第二运动信令信息具有第二值,
则对于由所述序列参数集合描述的所述数字图片的连续编码序列中的每个数字图片,根据所述第一运动信令信息,用所述当前解码的数字图片的运动信息替换所述先前解码的数字图片的运动信息。
30.根据权利要求29所述的装置,其中,所述第一运动信令数据是标记或索引。
31.根据权利要求30所述的装置,其中,所述第一运动信令数据包含在切片报头中,并且所述第二运动信令数据包含在所述序列参数集合中。
32.根据权利要求31所述的装置,其中,所述第一运动信息和所述第二运动信息是运动矢量。
CN201280056505.9A 2011-11-18 2012-11-16 用于高效视频编码的运动信息的有效存储 Active CN103959774B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201161561779P 2011-11-18 2011-11-18
US61/561,779 2011-11-18
US201161562418P 2011-11-21 2011-11-21
US61/562,418 2011-11-21
US201261595141P 2012-02-05 2012-02-05
US61/595,141 2012-02-05
US13/679,720 US9185408B2 (en) 2011-11-18 2012-11-16 Efficient storage of motion information for high efficiency video coding
US13/679,720 2012-11-16
PCT/US2012/065699 WO2013075042A1 (en) 2011-11-18 2012-11-16 Efficient storage of motion information for high efficiency video coding

Publications (2)

Publication Number Publication Date
CN103959774A true CN103959774A (zh) 2014-07-30
CN103959774B CN103959774B (zh) 2017-11-24

Family

ID=47258123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280056505.9A Active CN103959774B (zh) 2011-11-18 2012-11-16 用于高效视频编码的运动信息的有效存储

Country Status (5)

Country Link
US (1) US9185408B2 (zh)
KR (1) KR101662139B1 (zh)
CN (1) CN103959774B (zh)
BR (1) BR112014012038A2 (zh)
WO (1) WO2013075042A1 (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350992B2 (en) 2011-11-18 2016-05-24 Google Technology Holdings LLC Explicit way for signaling a collocated picture for high efficiency video coding
US9392235B2 (en) * 2011-11-18 2016-07-12 Google Technology Holdings LLC Explicit way for signaling a collocated reference picture for video coding
BR112014012187A2 (pt) 2011-11-21 2017-05-30 Motorola Mobility Llc determinação implícita e determinação implícita e explícita combinadas de imagem colocalizada para predição temporal
KR101623507B1 (ko) 2011-12-26 2016-05-23 구글 테크놀로지 홀딩스 엘엘씨 시간적 예측을 위해 병치된 화상의 암묵적 결정
US9549177B2 (en) 2012-04-11 2017-01-17 Google Technology Holdings LLC Evaluation of signaling of collocated reference picture for temporal prediction
EP2837190A1 (en) 2012-04-11 2015-02-18 Motorola Mobility LLC Signaling of temporal motion vector predictor (mvp) flag for temporal prediction
US9813732B2 (en) * 2012-06-28 2017-11-07 Axis Ab System and method for encoding video content using virtual intra-frames
US9319681B2 (en) 2012-07-18 2016-04-19 Google Technology Holdings LLC Signaling of temporal motion vector predictor (MVP) enable flag
WO2015006169A1 (en) * 2013-07-08 2015-01-15 Sony Corporation Improvement for palette coding mode
FR3011429A1 (fr) * 2013-09-27 2015-04-03 Orange Codage et decodage video par heritage d'un champ de vecteurs de mouvement
EP4250727A3 (en) * 2014-03-16 2023-12-06 Vid Scale, Inc. Method and apparatus for the signaling of lossless video coding
RU2019117034A (ru) * 2014-06-20 2019-07-29 Сони Корпорейшн Устройство и способ кодирования изображений и устройство и способ декодирования изображений
US20170064301A1 (en) * 2015-08-26 2017-03-02 Zhan Ma Methods and Apparatus for Use of Reference Block in Video Coding
US10542279B2 (en) * 2017-09-25 2020-01-21 Intel Corporation Temporal motion vector prediction control in video coding
US11601668B2 (en) * 2018-03-01 2023-03-07 Arris Enterprises Llc System and method of motion information storage for video coding and signaling
WO2019194435A1 (ko) * 2018-04-02 2019-10-10 엘지전자 주식회사 Tmvp에 기반한 영상 코딩 방법 및 그 장치
US11457233B2 (en) * 2018-04-12 2022-09-27 Arris Enterprises Llc Motion information storage for video coding and signaling
US11606575B2 (en) 2018-07-10 2023-03-14 Qualcomm Incorporated Multiple history based non-adjacent MVPs for wavefront processing of video coding
CN118612459A (zh) * 2019-06-14 2024-09-06 现代自动车株式会社 用于利用帧间预测来编码和解码视频的方法和装置
CN114513661B (zh) * 2022-04-20 2022-09-06 宁波康达凯能医疗科技有限公司 一种基于方向检测的帧内图像模式决策方法与系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1422946A1 (en) * 2002-07-26 2004-05-26 Matsushita Electric Industrial Co., Ltd. Moving picture encoding method, moving picture decoding method, and recording medium
CN101889405A (zh) * 2007-11-15 2010-11-17 通用仪表公司 用于执行运动估计的方法和装置

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7466843B2 (en) 2000-07-07 2008-12-16 Pryor Timothy R Multi-functional control and entertainment systems
AU2001290670A1 (en) 2000-09-20 2002-04-02 Dataplay, Inc. Etched micro lens and method and apparatus for fabricating
US6961055B2 (en) 2001-05-09 2005-11-01 Free Radical Design Limited Methods and apparatus for constructing virtual environments
WO2004008775A1 (ja) 2002-07-15 2004-01-22 Hitachi, Ltd. 動画像符号化方法及び復号化方法
JP4230289B2 (ja) * 2002-07-26 2009-02-25 パナソニック株式会社 動画像符号化方法および動画像復号化方法
US7227901B2 (en) 2002-11-21 2007-06-05 Ub Video Inc. Low-complexity deblocking filter
CA2524031C (en) 2003-05-20 2015-07-07 Interlego Ag Method and system for manipulating a digital representation of a three-dimensional object
US7609763B2 (en) * 2003-07-18 2009-10-27 Microsoft Corporation Advanced bi-directional predictive coding of video frames
JP4262014B2 (ja) 2003-07-31 2009-05-13 キヤノン株式会社 画像撮影装置および画像処理方法
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US7400681B2 (en) * 2003-11-28 2008-07-15 Scientific-Atlanta, Inc. Low-complexity motion vector prediction for video codec with two lists of reference pictures
JP3879741B2 (ja) 2004-02-25 2007-02-14 ソニー株式会社 画像情報符号化装置および画像情報符号化方法
KR20070032633A (ko) 2004-04-08 2007-03-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 멀티미디어 데이터에 적용되는 코딩 방법
EP1589763A2 (en) 2004-04-20 2005-10-26 Sony Corporation Image processing apparatus, method and program
IL165190A (en) 2004-11-14 2012-05-31 Elbit Systems Ltd System and method for stabilizing an image
US7261266B2 (en) 2005-03-31 2007-08-28 Satterfield Johnny A Deployable video arm
US8385427B2 (en) 2005-04-15 2013-02-26 Apple Inc. Reduced resolution video decode
US8270492B2 (en) 2006-05-12 2012-09-18 Panasonic Corporation Moving picture decoding device
US8254455B2 (en) 2007-06-30 2012-08-28 Microsoft Corporation Computing collocated macroblock information for direct mode macroblocks
US8896712B2 (en) 2007-07-20 2014-11-25 Omnivision Technologies, Inc. Determining and correcting for imaging device motion during an exposure
US9078007B2 (en) * 2008-10-03 2015-07-07 Qualcomm Incorporated Digital video coding with interpolation filters and offsets
US8917769B2 (en) * 2009-07-03 2014-12-23 Intel Corporation Methods and systems to estimate motion based on reconstructed reference frames at a video decoder
WO2011050641A1 (en) 2009-10-28 2011-05-05 Mediatek Singapore Pte. Ltd. Video coding methods and video encoders and decoders with localized weighted prediction
US8594200B2 (en) 2009-11-11 2013-11-26 Mediatek Inc. Method of storing motion vector information and video decoding apparatus
US9083984B2 (en) * 2010-03-19 2015-07-14 Texas Instruments Incorporated Adaptive coding structure and adaptive FCode determination in video coding
US10104391B2 (en) 2010-10-01 2018-10-16 Dolby International Ab System for nested entropy encoding
EP2687015A4 (en) 2011-03-14 2014-12-17 Mediatek Inc METHOD AND DEVICE FOR OBTAINING PREDICTIONS FOR TEMPORARY MOTION VECTORS
US9350992B2 (en) 2011-11-18 2016-05-24 Google Technology Holdings LLC Explicit way for signaling a collocated picture for high efficiency video coding
US9392235B2 (en) 2011-11-18 2016-07-12 Google Technology Holdings LLC Explicit way for signaling a collocated reference picture for video coding
BR112014012187A2 (pt) 2011-11-21 2017-05-30 Motorola Mobility Llc determinação implícita e determinação implícita e explícita combinadas de imagem colocalizada para predição temporal
KR101623507B1 (ko) 2011-12-26 2016-05-23 구글 테크놀로지 홀딩스 엘엘씨 시간적 예측을 위해 병치된 화상의 암묵적 결정
EP2837190A1 (en) 2012-04-11 2015-02-18 Motorola Mobility LLC Signaling of temporal motion vector predictor (mvp) flag for temporal prediction
US9549177B2 (en) 2012-04-11 2017-01-17 Google Technology Holdings LLC Evaluation of signaling of collocated reference picture for temporal prediction
US9319681B2 (en) 2012-07-18 2016-04-19 Google Technology Holdings LLC Signaling of temporal motion vector predictor (MVP) enable flag
US20140056356A1 (en) 2012-08-21 2014-02-27 Motorola Mobility Llc Method and apparatus for efficient signaling of weighted prediction in advanced coding schemes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1422946A1 (en) * 2002-07-26 2004-05-26 Matsushita Electric Industrial Co., Ltd. Moving picture encoding method, moving picture decoding method, and recording medium
CN101889405A (zh) * 2007-11-15 2010-11-17 通用仪表公司 用于执行运动估计的方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
On sequence parameter set and picture parameter set;Ye-Kui Wang et al;《7.JCT-VC MEETING;98.MPEG MEETING;GENEVA;ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16》;20111109;第1-3页 *
YE-KUI WANG ET AL: "On sequence parameter set and picture parameter set", 《7.JCT-VC MEETING;98.MPEG MEETING;GENEVA;ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16》 *

Also Published As

Publication number Publication date
BR112014012038A2 (pt) 2017-05-30
KR101662139B1 (ko) 2016-10-10
CN103959774B (zh) 2017-11-24
KR20140085515A (ko) 2014-07-07
US20130182769A1 (en) 2013-07-18
US9185408B2 (en) 2015-11-10
WO2013075042A1 (en) 2013-05-23

Similar Documents

Publication Publication Date Title
CN103959774A (zh) 用于高效视频编码的运动信息的有效存储
EP2862353B1 (en) Method and apparatus for efficient slice header processing
KR20140120891A (ko) 효율적인 변환 유닛 인코딩을 위한 방법 및 장치
US12075071B2 (en) Modification of picture parameter set (PPS) for HEVC extensions
WO2015051011A1 (en) Modified hevc transform tree syntax
US11363301B2 (en) Conditionally parsed extension syntax for HEVC extension processing
TW202031052A (zh) 用於照明補償模式之刪剪
CN112887737B (zh) 用于hevc扩展处理的条件解析扩展语法
EP2781093B1 (en) Efficient storage of motion information for high efficiency video coding
CN118251890A (zh) 基于子块运动矢量的用于运动矢量预测的方法和装置

Legal Events

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

Effective date of registration: 20160316

Address after: American California

Applicant after: Technology Holdings Co., Ltd of Google

Address before: Illinois State

Applicant before: Motorola Mobility, Inc.

GR01 Patent grant
GR01 Patent grant