CN101523918A - 视频编码 - Google Patents

视频编码 Download PDF

Info

Publication number
CN101523918A
CN101523918A CNA2007800366694A CN200780036669A CN101523918A CN 101523918 A CN101523918 A CN 101523918A CN A2007800366694 A CNA2007800366694 A CN A2007800366694A CN 200780036669 A CN200780036669 A CN 200780036669A CN 101523918 A CN101523918 A CN 101523918A
Authority
CN
China
Prior art keywords
frame
video
mpeg
decoder
present
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
CNA2007800366694A
Other languages
English (en)
Other versions
CN101523918B (zh
Inventor
S·刘
D·马克赫吉
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN101523918A publication Critical patent/CN101523918A/zh
Application granted granted Critical
Publication of CN101523918B publication Critical patent/CN101523918B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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/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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/142Detection of scene cut or scene change
    • 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/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • 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/164Feedback from the receiver or from the transmission channel
    • 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/177Methods 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 group of pictures [GOP]
    • 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

Abstract

根据本发明的一个实施例是一种方法(600),该方法能够包括确定(602)与解码器(808)相关联的约束。此外,该方法可以包括确定(604)能够用来对视频内容(802)编码的参考B帧的最大数目。应当注意该最大数目能够基于与该解码器相关联的所述约束。

Description

视频编码
背景技术
当前存在不同的能够用来压缩和解压缩视频内容的视频压缩标准。例如,运动图像专家组(MPEG)已经定义了不同的视频压缩标准。他们的日益流行的视频压缩标准之一是MPEG-4AVC(高级视频编码),其也被称为MPEG-4Part 10。应当注意MPEG-4AVC类似于由国际电信联盟(ITU)定义的H.264视频压缩标准。
MPEG-4AVC日益流行的一个原因是因为它能够比例如MPEG-2的当前标准更好地处理大量的视频内容数据。该能力是希望的,因为高清晰度(HD)视频内容正变得越来越流行,并且,其涉及比传统的视频系统多几倍的视频内容数据。鉴于上述事实,那些HD视频内容广播公司希望将同样多的HD信道装配到它们传统上使用的相同的带宽内。
然而,MPEG-4AVC的一个问题是为了压缩视频内容,它的比特流语法要考虑几乎无限数目的帧来进行运动预测。应当注意随着用于运动预测的帧数目的增加,解码器解压缩该视频内容所需要的帧缓冲器的数目也增加。帧缓冲器可能价格昂贵,从而如果不对视频比特流的压缩过程施加限制,将使经济合算的解码方案难以实行。然而,当施加更多的限制时,得到的视频比特流的质量可能受到损害。因而,希望使用MPEG-4AVC来基于经济合算的解码方案产生最高质量的视频比特流。
附图说明
图1示出MPEG-1和MPEG-2呈现视频流的示例性运动参考结构。
图2示出能够根据本发明的各种实施例使用的MPEG-4AVC呈现视频帧次序的示例性运动参考结构。
图3是基于图1示出的不同视频帧类型的呈现比特流的示例性比特流帧排序。
图4示出由于对符合MPEG-1和MPEG-2的解码的视频帧进行缓冲所导致的示例性的一个帧延迟。
图5示出由于对与MPEG-4AVC相关联的解码的视频帧进行缓冲所导致的两个帧延迟。
图6是根据本发明的各种实施例的示例性方法的流程图。
图7是根据本发明的各种实施例的另一示例性方法的流程图。
图8是根据本发明的各种实施例的示例性系统的框图。
具体实施方式
现在将详细参照根据本发明的各种实施例,所述实施例的例子如附图所示。虽然本发明是结合各种实施例来进行描述的,但应当理解这些各种实施例不打算限制本发明。相反,本发明旨在覆盖可以包含在如根据权利要求书解释的本发明的范围内的可选方案,修改和等效方案。此外,在根据本发明的各种实施例的以下详细描述中,陈述了许多具体细节以提供对本发明的彻底理解。然而,对于本领域普通技术人员显而易见的是,本发明可以在没有这些具体细节的情况下实施。在其它情况中,众所周知的方法、过程、部件、和电路没有被详细描述以便不会不必要地使本技术的各个方面不清楚。
根据本发明的各种实施例可涉及视频压缩。能够用于视频压缩的其中一种技术被称为运动预测或者运动估计,这是本领域普通技术人员所熟知的。应当理解视频序列包含相当多的时间冗余,其中相邻帧之间的差异通常由场景对象或者摄像机运动(或者两者)造成,这可以被用于视频压缩。运动估计是一种用来去除包含在视频序列内的时间冗余的技术。
应当注意存在不同的视频压缩标准。例如,运动图像专家组(MPEG)已经定义了不同的视频压缩标准。根据MPEG视频压缩标准,视频帧能够被划分为若干矩形不重叠块并且每个块可以与运动参考帧中的另一块相匹配,这也称为块匹配预测。应当理解该匹配越好,可达到的压缩越高。MPEG-1和MPEG-2视频压缩标准每一个都基于运动估计,这是因为在相邻视频帧当中存在许多冗余,并且利用这种依赖性导致更好的压缩。因此,希望使最小可能数目的比特来代表视频比特流同时以优化的视觉质量保持它的内容。
作为执行运动估计的一部分,MPEG-1和MPEG-2包括三种不同的视频帧类型:I帧、P帧和B帧。具体地,I帧不利用帧间运动(没有运动预测),其是独立可解码的,类似于静止图像压缩,例如JPEG(联合图像专家组)。另外,P帧可以被定义为仅使用一个运动参考帧(先前的P帧或者I帧,时间上首先到来的随便哪一个帧)的视频帧。应当注意,I帧和P帧都能够是运动参考帧,因为其它视频帧能够使用它们来进行运动预测。最后,B帧能够使用两个运动参考视频帧进行预测:一个先前的视频帧(可以是I帧或者P帧)和一个未来的视频帧(可以是I帧或者P帧)。然而,B帧不是运动参考帧;它们不能被任何其它视频帧用来进行运动预测。应当注意P帧和B帧两者都不是独立可解码的,这是因为它们依赖于其它视频帧进行重建。应当注意B帧比P帧提供更好的压缩,P帧比I帧提供更好的压缩。
图1示出MPEG-1和MPEG-2呈现视频流100的示例性运动参考结构。应当指出并没有示出所有视频帧的运动参考。具体地,P帧的运动估计可以涉及使用先前的I帧或者P帧(时间上首先到来的随便哪一个帧),这涉及使用一个帧缓冲器进行运动预测或者估计。例如,对于例如呈现视频流100的P4帧的P帧,运动估计可以涉及使用先前的I1帧,如箭头102所示。此外,呈现视频流100的P7帧可以涉及使用先前的P4帧进行运动估计,如箭头104所示。
应当理解B帧的运动估计涉及使用先前的I帧或者P帧(时间上首先到来的随便哪一个帧)和未来的I帧或者P帧(时间上首先到来的随便哪一个帧),这涉及使用两个帧缓冲器进行双向运动估计或者预测。例如,对于例如呈现视频流100的B2帧的B帧,运动估计可以涉及使用先前的I1帧(如箭头112所示)以及未来的P4帧(如箭头110所示)进行运动预测或者估计。另外,呈现视频流100的B6帧可以涉及使用先前的P4帧(如箭头108所示)以及未来的P7帧(如箭头106所示)进行运动预测或者估计。
在图1中,呈现视频流100包括示例性视频帧,但不限于,I1帧、之后的B2帧、之后的B3帧、之后的P4帧、之后的B5帧、之后的B6帧、之后的P7帧、之后的B8帧、之后的B9帧、之后的I10帧、之后还可以跟其它视频帧。
如前所述,MPEG-1和MPEG-2视频压缩方案的每一个将运动预测(或者估计)限制到最多两个参考视频帧。然而,与此相反,MPEG-4AVC(高级视频编码)通过允许更大数目的参考视频帧来一般化运动估计。应当注意MPEG-4AVC(也称为MPEG-4 Part 10)类似于国际电信联盟(ITU)H.264标准。应当理解MPEG-4AVC编解码器提供了定义任意数目的运动参考帧的自由。例如,几乎任何先前被编码的视频帧可以是参考视频帧,因为它对于运动估计或者预测是可用的。应当指出先前编码的视频帧可以来自于时间上的过去的视频帧或者未来的视频帧(相对于待编码的当前视频帧)。相反,在MPEG-1和MPEG-2内,I帧和P帧可以用作运动参考视频帧,但B帧则不行。然而,在MPEG-4AVC内,B帧也可以是运动参考视频帧,称为参考B帧(由“Br”表示)。在MPEG-4AVC内,对一般化的P和B视频帧的定义如下所述。该P帧能够使用多个运动参考视频帧,只要它们来自于时间上的过去。另外,该B帧能够使用来自时间上的过去或者未来的多个运动参考帧,只要它们先前被编码。
图2示出能够根据本发明的各种实施例使用的MPEG-4AVC呈现视频帧次序200的示例性运动参考结构(或者估计)结构。应当指出并没有示出所有视频帧的运动参考(或者估计)。应当注意在呈现帧次序200内,“Br”表示参考B帧。如MPEG-4AVC呈现视频帧次序200所示,存在可以执行运动估计的许多可能性。例如,例如P9帧的P帧的运动估计可以涉及使用来自时间上在过去的任何先前参考帧,例如I1帧(如箭头202所示)、Br3帧(如箭头204所示)、和/或P5帧(如箭头206所示)。
至于B帧,存在与MPEG-4AVC相关联的两个不同的类型:参考Br帧和B帧。具体地,例如Br3帧的Br帧的运动估计可以涉及使用来自时间上的过去和未来两者的其它参考视频帧,只要它们已经被编码。例如,呈现帧次序200的Br3帧的运动估计可以涉及使用先前时间的I1帧(如箭头102所示)和将来时间的P5帧(如箭头210所示)。
最后,在图2内,B帧(例如,B10帧)的运动估计还可以使用包括Br帧在内的来自时间上的过去和未来两者的参考帧,但是它们本身不能被用作参考帧。例如,呈现帧次序200的B10帧的运动估计可以涉及使用先前时间的P9帧(如箭头220所示)、将来时间的Br11帧(如箭头224所示)以及将来时间的I13帧(如箭头222所示)。此外,B8帧的运动估计可以涉及使用先前时间的Br7帧(如箭头216所示)和将来时间的P9帧(如箭头218所示)。此外,B6帧的运动估计可以涉及使用先前时间的P5帧(如箭头212所示)和将来时间的Br7帧(如箭头214所示)。
应当注意在运动估计期间,希望利用尽可能靠近当前帧的参考帧。因而,希望利用如在呈现视频帧次序200中所示的Br帧(例如Br11和Br7)。例如,如果具有离当前帧太远的参考帧,由于对象可能在视野之外或者改变了取向,该参考帧可能不能提供良好的运动匹配。
在图2中,呈现帧次序200包括示例性图像帧,但不限于,I1帧、之后的B2帧、之后的Br3帧、之后的B4帧、之后的P5帧、之后的B6帧、之后的Br7帧、之后的B8帧、之后的P9帧、之后的B10帧、之后的Br11帧,之后的B12帧,之后的I13帧,之后还可以跟其它视频帧。
应当注意图1示出了该视频帧的显示或者呈现次序100,其是该视频帧应该如何被呈现给显示装置的时间序列。应当理解因为双向的运动预测(或者估计),呈现比特流次序100的B帧依赖于过去的和未来的视频帧。然而,使用未来的帧涉及打乱呈现比特流次序100的视频帧次序使得适当的参考帧能够用于编码或者解码当前帧。例如,B5帧和B6帧都依赖于P4帧和P7帧,该P4帧和P7帧必须在对B5帧和B6帧编码之前被编码。因此,在MPEG比特流中的视频帧排序不是时间上线性的并且与实际的呈现次序不同。
例如,图3是基于图1所示的不同视频帧类型的呈现比特流100的示例性比特流帧排序300。具体地,视频比特流300的第一视频帧是I1帧,因为它的编码不依赖于任何参考视频帧,并且它是呈现比特流100的第一视频帧。下一个是P4帧,因为它的编码基于I1帧,并且它必须在对B2帧编码之前被编码。下一个是B2帧,因为它的编码基于I1帧和P4帧。下一个是B3帧,因为它的编码也基于I1帧和P4帧。下一个是P7帧,因为它的编码基于P4帧并且它必须在对B5帧编码之前被编码。下一个是B5帧,因为它的编码基于P4帧和P7帧。下一个是B6帧,因为它的编码也基于P4帧和P7帧。下一个是I10帧,因为它必须在对B8帧和B9帧编码之前被编码。下一个是B8帧,因为它的编码基于P7帧和I10帧。下一个是B9帧,因为它的编码也基于P7帧和I10帧。以这样的方式,能够基于呈现比特流100(图1所示)的排序来产生该比特流帧排序300。因而,通过利用比特流帧排序300,适当的参考帧可用来对当前视频帧进行编码或者解码。
在图3中,视频比特流300包括示例性视频帧,但不限于,I1帧、之后的P4帧、之后的B2帧、之后的B3帧、之后的P7帧、之后的B5帧、之后的B6帧、之后的I10帧、之后的B8帧、之后的B9帧、之后还可以跟其它视频帧。
应当注意由于打乱了视频比特流300的帧排序,在解码时,视频帧不能被立即显示或者呈现。例如,在对视频比特流300的视频帧P4解码之后,P4可以被存储,因为它不应当在视频帧B2和B3已经被解码和显示之前被显示或者呈现。然而,这类帧缓冲器可以引入延迟。
例如,图4示出由于对符合MPEG-1和MPEG-2的解码的图像帧进行缓冲造成的示例性的一个帧延迟。具体地,图4包括(图3的)视频比特流帧次序300以及位于比特流次序300下面的(图1的)对应的视频呈现次序100。此外,呈现排序100被右移一个帧位置,从而代表由在比特流300的解码视频帧被显示或者呈现之前对其的缓冲处理所导致的一个帧延迟。
例如,一旦比特流300的I1帧被解码,它不应当被显示或者呈现,因为直到P4帧已经被解码之后,下一个视频帧(B2帧)才能被解码和显示。因而,该I1帧能够被缓冲或者存储。接下来,一旦已经利用I1帧对P4帧进行了解码,I1帧能够被显示或者呈现,同时P4帧能够被缓冲或者存储。此后,能够使用I1帧和P4帧解码B2帧以便它能够被显示或者呈现。应当理解对该比特流300的解码导致1帧延迟,这可以称为解码呈现延迟。对于MPEG-1和MPEG-2,应当理解最大延迟是独立于运动参考结构的一个帧。
应当注意鉴于图4的一个帧延迟,解码器将具有用于该延迟的帧缓冲器以及用于在解码期间存储两个参考帧的两个附加的帧缓冲器。
然而,对于新的视频压缩/解压缩标准(例如MPEG-4AVC),解码呈现延迟是更严重的问题,这是因为由于MPEG-4AVC的灵活的运动参考结构,该呈现延迟可以是无限制的。
例如,图5示出由于对与MPEG-4AVC相关联的解码的图像帧进行缓冲所导致的示范性的两个帧延迟。具体地,图5包括视频比特流帧次序500,其对应于(图2的)视频呈现帧次序200,该视频呈现帧次序200位于该比特流次序500下面。另外,呈现帧排序200被右移两个帧位置,从而代表由在比特流帧次序500的解码视频帧被显示或者呈现之前对其的缓冲处理所导致的两个帧延迟。具体地,从图5中可见,通过使用I帧和P帧(I/P帧)的相邻对或者P帧(P/P帧)的相邻对之间的一个参考Br帧(例如,Br3),呈现延迟比图4的呈现延迟增加一。应当注意,当越来越多的参考Br帧位于相邻的I/P帧或者P/P帧之间时,图5的呈现延迟的值能够无限制地增长。
实际上,希望一些实际的解码器限制该呈现延迟。例如,随着该呈现延迟的增加,解码器帧缓冲器的数目增加,从而导致越来越昂贵的解码器。此外,随着该呈现延迟的增加,该解码器例如在电信会议期间可能不能正常运行,在该期间呈现延迟通常是不可接受的。然而,应当注意,当实际解码器被实现以限制呈现延迟时,MPEG-4AVC比特流的视频质量也将会受到负面影响。
在图5中,应当理解视频比特流次序500能够以类似于视频比特流次序300的方式产生。然而,图5的视频比特流次序500能够基于如上参考图2的视频呈现帧次序200所述的运动估计编码。
图6是根据本发明的各种实施例的用于基于至少一个解码器约束来优化视频比特流的质量的示例性方法600的流程图。方法600包括本发明的各种实施例的示例性过程,该过程能够由一个(或多个)处理器和电气部件在计算装置可读并且可执行的指令(或者代码)(例如软件)的控制下执行。该计算装置可读并且可执行的指令(或者代码)可以驻留在例如数据存储部件中,例如能够被计算装置使用的易失性存储器、非易失性存储器和/或大量数据存储器。然而,该计算装置可读并且可执行的指令(或者代码)可以驻留在任何类型的计算装置可读介质中。虽然在方法600中公开了具体操作,但是这样的操作是示例性的。方法600不一定包括图6示出的所有操作。同样,方法600可以包括各种其它操作和/或如图6所示的操作的变型。同样,方法600的操作序列能够被修改。应当注意方法600的操作可以被手动地执行、通过软件、通过固件、通过电子硬件、或者通过其任意组合执行。
具体地,方法600可以包括确定与视频解码器相关联的至少一个约束。可以确定能够用来编码视频内容的参考B帧的最大数目。应当注意该最大数目可以基于与该视频解码器相关联的至少一个约束。可以在该视频内容内检测至少一个视频特性。还可以使用至少一个视频特性来对该视频内容编码。
在图6的操作602处,可以确定与视频解码器相关联的至少一个约束。应当注意操作602能够以多种方式实施。例如在各种实施例中,该视频解码器可以包括但不限于多个帧缓冲器。在各种实施例中,该约束可以是以下的一个或多个,但不限于此:等于由该视频解码器包括的该多个帧缓冲器的数目、等于与该视频解码器相关联的可容许的呈现帧延迟。在各种实施例中,应当注意该视频解码器能够告诉视频编码器它有多少帧缓冲器用于解码。应当指出是在某些情形下,该呈现帧延迟不是真正的问题。例如在各种实施例中,DVD重放的呈现延迟通常不是问题。然而,对于交互性活动,例如通信、视频通话类型、和视频会议,延迟可能是个问题。应当注意运动参考缓冲器和/或呈现延迟能够与用来解码的帧缓冲器的数量相关。它们对MPEG-1和MPEG-2比特流几乎没有影响,因为它们具有小值,但对于MPEG-4AVC,该值可能对于实际实施来说太大了,从而使它们成为值得考虑的设计变量。在例如DVD播放机的数字视频消费市场中,解码器通常是面向大众的并且为了盈利,它们的成本应该被保持得较低。以帧缓冲器为形式的存储器较昂贵,因此在解码端(例如DVD播放机)通常要求限制运动参考和/或呈现缓冲器。这样的解码器硬件约束可能影响MPEG-4AVC比特流的视频质量。因而,方法600可以采用给定的预置参数值,并且然后确定如何可以在编码端优化视频比特流。应当注意操作602能够以与此处所描述的方式类似的任何方式实施,但不限于此。
在操作604,可以确定能够用来编码视频内容的参考B帧的最大数目。应当注意该最大数目能够基于与该视频解码器相关联的约束。应当理解操作604能够以多种方式实施。例如在各种实施例中,该最大数目可以是但不限于:等于该多个帧缓冲器的数目减二、和/或等于与该视频解码器相关联的可容许的呈现帧延迟减一。具体地,给定运动参考帧缓冲器的数目是N,Br帧的最大数目是N-2。假如呈现帧延迟为D,Br帧的最大数目是D-1。由此,可容许的Br帧的净数目是这两个值中较小的一个:min{N-2,D-1}。然而,应当理解,N-2或者D-1能够被用作操作604的最大值。应当理解因为MPEG-4AVC允许参考B帧(Br帧),所以希望在编码运动参考结构的相邻的I/P对之间使用尽可能多的Br帧。如此处所述,Br帧的最大数目由可用的解码运动参考缓冲器和解码呈现延迟确定。应当注意操作604能够以与此处所描述的方式类似的任何方式实施,但不限于此。
在图6的操作606处,可以在视频内容内检测至少一个视频特性。应当理解操作606能够以多种方式实施。例如在各种实施例中,操作606能够以与此处所描述的方式类似的任何方式实施,但不限于此。
在操作608,还可以使用至少一个视频特性来对该视频内容进行编码。应当理解操作608能够以多种方式实施。例如在各种实施例中,操作608能够以与此处所描述的方式类似的任何方式实施,但不限于此。
图7是根据本发明的各种实施例的用于基于该视频内容的至少一个视频特性来适配(adapt)视频内容的编码的示例性方法700的流程图。方法700包括本发明的各种实施例的示例性过程,该过程能够通过一个(或多个)处理器和电气部件在计算装置可读并且可执行的指令(或者代码)(例如软件)的控制下执行。该计算装置可读并且可执行的指令(或者代码)可以驻留在例如数据存储部件中,例如能够被计算装置使用的易失性存储器、非易失性存储器和/或大量数据存储器。然而,该计算装置可读并且可执行的指令(或者代码)可以驻留在任何类型的计算装置可读介质中。虽然在方法700中公开了具体操作,但是这样的操作是示例性的。方法700不一定包括图7示出的所有操作,同样,方法700可以包括各种其它操作和/或如图7所示的操作的变型。同样,方法700的操作的序列能够被修改。应当注意方法700的操作能够被手动地执行、通过软件、通过固件、通过电子硬件、或者通过其任意组合执行。
具体地,方法700可以包括检测视频内容内的至少一个视频特性。对视频内容的编码可以基于至少一个视频特性以便增强视频内容的视觉质量。方法700可以包括确定与视频解码器相关联的约束,其中该编码还能够基于该约束。应当理解,在各种实施例中,方法700能够被用于确定运动参考结构编码内的最好的Br帧位置。
例如,假如在两个相邻的I/P之间有一个Br(假定N=3,D=2,如上所述),因此可能的Br位置是:
“P B Br B P”,“P Br B B P”,和“P B B Br P”
该比特流应当使用给出最好视频质量的结构。该决定的结果取决于该视频特性,例如帧之间的运动量、场景改变、对象遮蔽(objectocclusion)等。作为自适应Br如何可以用于场景改变时的视频质量的示例,考虑以下更简单的结构,“I Br B P”或者“I B Br P”。如果内容场景改变紧随在I帧之后(从而使该I帧对于运动估计基本上没用),则可以选择“I Br B P”,并且如果内容场景改变正好在P帧之前(从而使P帧对于运动估计基本上没用),则选择“I B Br P”。
在图7的操作702处,可以在视频内容内检测至少一个视频特性。应当注意操作702能够以多种方式实施。例如在各种实施例中,在操作702处的视频特性可以是但不限于,该视频内容内的至少一个内容场景改变、至少一个被遮蔽的物体、视频内容的至少两个帧之间的运动量,等等。在各种实施例中,应当注意场景改变检测器能够被用来检测至少一个视频特性。在各种实施例中,至少一个视频特性能够通过基于(例如)不同运动参考模式来产生比特流并且选择导致最小数目的比特的那一个模式来实施。在各种实施例中,至少一个视频特性能够在该编码器端处通过对该视频内容编码并且接着解码以及然后将不同的解码视频与原始视频相比较来实施。然后能够用度量来比较该解码视频,然后可以选择那一个。应当理解操作702能够以与此处所描述的方式类似的任何方式实施,但不限于此。
在操作704处,对视频内容的编码可以基于至少一个视频特性以便增强视频内容的视觉质量。应当理解操作704能够以多种方式实施。例如在各种实施例中,至少一个视频特性能够被用来确定导致使用尽可能多的参考帧进行运动估计以及对Br帧和B帧编码的运动参考帧结构。应当注意操作704能够以与此处所描述的方式类似的任何方式实施,但不限于此。
在图7的操作706处,能够确定与视频解码器相关联的至少一个约束,其中编码操作704也能够基于该约束。应当理解操作706能够以多种方式实施。例如,在各种实施例中,操作706能够以与此处所描述的方式类似的任何方式实施,但不限于此。
应当注意方法600和700能够用多种方式进行组合。例如,对视频内容的编码能够基于运动参考帧缓冲器的数目、期望的呈现帧延迟、和/或基于该视频内容的至少一个视频特性来修改编码。应当注意这些中的每一个能够独立使用或者以其任意组合使用。应当理解使用它们的全部可以比仅仅使用它们中的一个提供更好的结果。例如,能够选择要用的Br帧的最大数目,但是运动参考结构的模式(pattern)可以被固定。或者运动参考结构的模式可以是自适应的,而不是使用最大数目的Br帧。
图8是示出根据本发明的各种实施例的示例性编码器/解码器系统800的框图。系统800可以包括但不限于:可以耦合到输入视频802和视频编码器806的输入帧缓冲器804和运动帧缓冲器805。应当注意帧缓冲器804和805能够用一个或多个帧缓冲存储器来实施。视频编码器806可以耦合到视频解码器808。视频解码器808可以耦合到运动帧缓冲器809和输出帧缓冲器810,该输出帧缓冲器810可以被耦合以输出输出视频812。应当注意帧缓冲器809和810能够用一个或多个帧缓冲存储器来实施。应当理解视频解码器808可以耦合到帧缓冲器809和810以及视频编码器806。因而,视频解码器808可以将它能够用来解码的帧缓冲器的数目通知或者传送给视频编码器806。
应当理解,该系统800可以用比图8所示的那些更多的附加或者更少的元件实施。应当注意,视频编码器806和视频解码器808每个都可以用软件、固件、电子硬件、或者其任何组合来实施。
在图8中,应当理解,系统800能够被用来以与此处描述的方式类似的、但又不限于此的任何方式确定将产生最好或者最佳的视频质量比特流的运动参考结构。
在各种实施例中,系统800能够以多种方式实施。例如,系统800能够被实施为DVD播放机和DVD编码器的组合。具体地,在各种实施例中,视频解码器808和帧缓冲器809和810能够被实施为DVD播放机的一部分。此外,在各种实施例中,视频编码器806和帧缓冲器804和805能够被实施为DVD编码系统的一部分。然而,应当注意,视频编码器806也许必须知道该DVD播放机的视频解码器808以及帧缓冲器809和810的约束以便确定用于对输入视频802编码的运动参考结构。
为了说明和描述,已经给出了根据本发明的各种具体实施例的上述描述。上述描述不打算是穷举的或者将本发明限制为所公开的确切形式,并且明显地,根据上述教导,许多修改和变化是可能的。本发明能够根据权利要求书和它们的等价物来解释。

Claims (10)

1.一种方法(600),包括:
确定(602)与解码器(808)相关联的约束;并且
确定(604)能够被用来编码视频内容(802)的参考B帧的最大数目,所述最大数目基于与所述解码器相关联的所述约束。
2.根据权利要求1所述的方法,其中所述解码器包括多个帧缓冲器(809)。
3.根据权利要求2所述的方法,其中所述约束等于所述多个帧缓冲器的数目。
4.根据权利要求2所述的方法,其中所述最大数目等于所述约束减二。
5.根据权利要求1所述的方法,其中所述约束等于与所述解码器相关联的可容许的呈现帧延迟。
6.根据权利要求5所述的方法,其中所述最大数目等于所述约束减一。
7.根据权利要求1所述的方法,进一步包括:
检测(606)所述视频内容内的内容场景改变。
8.根据权利要求7所述的方法,进一步包括:
利用(608)所述内容场景改变来编码所述视频内容。
9.根据权利要求1所述的方法,进一步包括:
检测(606)所述视频内容的至少两个帧之间的运动的量。
10.根据权利要求1所述的方法,进一步包括:
检测(606)在该视频内容内被遮蔽的对象。
CN2007800366694A 2006-07-31 2007-07-31 视频编码 Expired - Fee Related CN101523918B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/496,806 US20080025408A1 (en) 2006-07-31 2006-07-31 Video encoding
US11/496,806 2006-07-31
PCT/US2007/017105 WO2008016600A2 (en) 2006-07-31 2007-07-31 Video encoding

Publications (2)

Publication Number Publication Date
CN101523918A true CN101523918A (zh) 2009-09-02
CN101523918B CN101523918B (zh) 2012-02-29

Family

ID=38962719

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800366694A Expired - Fee Related CN101523918B (zh) 2006-07-31 2007-07-31 视频编码

Country Status (8)

Country Link
US (1) US20080025408A1 (zh)
JP (1) JP5068316B2 (zh)
KR (1) KR20090046812A (zh)
CN (1) CN101523918B (zh)
BR (1) BRPI0714090A2 (zh)
DE (1) DE112007001773T5 (zh)
GB (1) GB2453506B (zh)
WO (1) WO2008016600A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784717A (zh) * 2019-10-11 2020-02-11 北京达佳互联信息技术有限公司 一种编码方法、装置、电子设备及存储介质

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7088776B2 (en) 2002-07-15 2006-08-08 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
AU2013204760B2 (en) * 2002-07-15 2015-12-03 Apple Inc Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding
US6728315B2 (en) 2002-07-24 2004-04-27 Apple Computer, Inc. Method and apparatus for variable accuracy inter-picture timing specification for digital video encoding with reduced requirements for division operations
CN101969565B (zh) * 2010-10-29 2012-08-22 清华大学 一种符合多视点视频标准的视频解码方法
KR101926018B1 (ko) 2016-08-12 2018-12-06 라인 가부시키가이샤 동영상 녹화 방법 및 시스템

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6115420A (en) * 1997-03-14 2000-09-05 Microsoft Corporation Digital video signal encoder and encoding method
US6519004B1 (en) * 1998-10-09 2003-02-11 Microsoft Corporation Method for transmitting video information over a communication channel
EP0994627B1 (en) * 1998-10-13 2006-03-08 Matsushita Electric Industrial Co., Ltd. Regulation of the computational and memory requirements of a compressed bitstream in a video decoder
JP2001326940A (ja) * 2000-05-16 2001-11-22 Matsushita Electric Ind Co Ltd 符号化動画像ビットストリーム処理方法、及び装置、並びに符号化動画像ビットストリーム処理プログラムを格納した記録媒体
JP4015934B2 (ja) * 2002-04-18 2007-11-28 株式会社東芝 動画像符号化方法及び装置
KR100628489B1 (ko) * 2002-01-18 2006-09-26 가부시끼가이샤 도시바 동화상 부호화방법 및 장치와 컴퓨터 독출가능 매체
US20030198294A1 (en) * 2002-04-23 2003-10-23 Andre Zaccarin Methods and apparatuses for selecting encoding options based on decoding energy requirements
JP3888533B2 (ja) * 2002-05-20 2007-03-07 Kddi株式会社 画像特徴に応じた画像符号化装置
US20040008775A1 (en) * 2002-07-12 2004-01-15 Krit Panusopone Method of managing reference frame and field buffers in adaptive frame/field encoding
WO2004030369A1 (en) * 2002-09-27 2004-04-08 Videosoft, Inc. Real-time video coding/decoding
JP2004007736A (ja) * 2003-06-12 2004-01-08 Matsushita Electric Ind Co Ltd 画像復号化装置、画像復号化方法
US7295612B2 (en) * 2003-09-09 2007-11-13 Apple Inc. Determining the number of unidirectional and bidirectional motion compensated frames to be encoded for a video sequence and detecting scene cuts in the video sequence
JP4366571B2 (ja) * 2003-09-18 2009-11-18 日本電気株式会社 動画像符号化装置及び方法
JP2005184495A (ja) * 2003-12-19 2005-07-07 Kddi Corp 動画像符号化装置およびその方法
CN101677382B (zh) * 2004-04-28 2013-01-09 松下电器产业株式会社 流产生装置和流产生方法
CN101010952A (zh) * 2004-09-01 2007-08-01 松下电器产业株式会社 图像再生方法以及图像再生装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110784717A (zh) * 2019-10-11 2020-02-11 北京达佳互联信息技术有限公司 一种编码方法、装置、电子设备及存储介质
CN110784717B (zh) * 2019-10-11 2022-03-25 北京达佳互联信息技术有限公司 一种编码方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
GB2453506A (en) 2009-04-08
US20080025408A1 (en) 2008-01-31
WO2008016600A3 (en) 2008-03-27
GB0902251D0 (en) 2009-03-25
DE112007001773T5 (de) 2009-07-30
JP5068316B2 (ja) 2012-11-07
CN101523918B (zh) 2012-02-29
JP2009545918A (ja) 2009-12-24
BRPI0714090A2 (pt) 2013-01-01
KR20090046812A (ko) 2009-05-11
WO2008016600A2 (en) 2008-02-07
GB2453506B (en) 2011-10-26

Similar Documents

Publication Publication Date Title
JP7169372B2 (ja) デコーダ側の動きベクトルの導出及び精緻化の改良
US6980594B2 (en) Generation of MPEG slow motion playout
CN102150427B (zh) 用于使用自适应环路滤波器进行视频编码的系统和方法
KR100964526B1 (ko) 전환 효과를 위한 멀티미디어 코딩 기술
JP5385414B2 (ja) デジタルビデオ符号化処理における可変精度ピクチャ間タイミング指定方法及び装置
US20060114995A1 (en) Method and system for high speed video encoding using parallel encoders
KR20060088461A (ko) 영상신호의 엔코딩/디코딩시에 영상블록을 위한 모션벡터를베이스 레이어 픽처의 모션벡터로부터 유도하는 방법 및장치
KR20160007564A (ko) 높은 프레임 레이트 및 가변 프레임 레이트 캡처를 위한 비디오 압축 튜닝
US8681864B2 (en) Video coding apparatus and video coding control method
CN101523918B (zh) 视频编码
US20010010707A1 (en) Image signal transcoder capable of bit stream transformation suppressing deterioration of picture quality
Brites et al. Side information creation for efficient Wyner–Ziv video coding: classifying and reviewing
JP4133346B2 (ja) 予測タイプの選択によるビデオデータブロックのイントラ符号化
US7079578B2 (en) Partial bitstream transcoder system for compressed digital video bitstreams
JP2023542029A (ja) 低ビット精度のニューラルネットワーク(nn)に基づくクロスコンポーネント予測のための方法、機器、及びコンピュータプログラム
US6271774B1 (en) Picture data processor, picture data decoder and picture data encoder, and methods thereof
JP2009518950A (ja) 基準フレームの選択ルールを使用したビデオエラー隠蔽の方法及び装置
WO2006038568A1 (ja) 映像符号化方法及び装置、映像復号方法及び装置、それらのプログラムおよびそれらプログラムを記録した記録媒体
JP4081103B2 (ja) 動画像符号化装置
CN110300305B (zh) 视频编码装置与方法
KR20060059773A (ko) 베이스 레이어 픽처의 벡터를 이용하는 영상신호의엔코딩/디코딩 방법 및 장치
JP3188081B2 (ja) 画像符号化方法および画像符号化装置
JP6874844B2 (ja) 動画像符号化装置、動画像符号化方法、及び、動画像符号化プログラム
JP2002262295A (ja) 動画像復号装置及び動画像符号化装置
KR100205019B1 (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
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120229

Termination date: 20160731

CF01 Termination of patent right due to non-payment of annual fee