CN1264355C - 视频编码方法 - Google Patents

视频编码方法 Download PDF

Info

Publication number
CN1264355C
CN1264355C CNB028160258A CN02816025A CN1264355C CN 1264355 C CN1264355 C CN 1264355C CN B028160258 A CNB028160258 A CN B028160258A CN 02816025 A CN02816025 A CN 02816025A CN 1264355 C CN1264355 C CN 1264355C
Authority
CN
China
Prior art keywords
frame
coding
scene change
video
type
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.)
Expired - Fee Related
Application number
CNB028160258A
Other languages
English (en)
Other versions
CN1605209A (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.)
Ai Ruishi Technology Co
Arris Enterprises LLC
Original Assignee
General Instrument Corp
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 General Instrument Corp filed Critical General Instrument Corp
Publication of CN1605209A publication Critical patent/CN1605209A/zh
Application granted granted Critical
Publication of CN1264355C publication Critical patent/CN1264355C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • 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/114Adapting the group of pictures [GOP] structure, e.g. number of B-frames between two anchor frames
    • 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
    • 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
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • 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/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • 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/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/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/176Methods 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 block, e.g. a macroblock
    • 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/179Methods 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 scene or a shot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开一种适用于数字电视传输的改进的帧内数字图像编码系统和方法。在前级编码器中对每个锚帧按照P-帧进行编码。例如P-帧中片断的宏块组交替地按照I-片断和P片断进行编码。这允许经过单次操作就可计算出I和P的编码复杂度,而不需要对同一帧进行两次编码。从而,后级编码器可以代替前级编码器得出I-帧决策,这样利用预测流水线机制的优势可以更有效地把I帧与场景变化对齐。

Description

视频编码方法
技术领域
本发明一般涉及应用于数字电视传输的改进的帧内数字图像编码系统和方法。
背景技术
数字电视为观看者提供了高质量的视频娱乐,例如按次计费、电子节目导航、视频点播、天气和股票信息以及因特网接入等。打包在信息流中的视频图像通过架构在卫星、电缆或者陆上传输媒质之上的宽带通信网络传输给用户。由于带宽和功率的限制,有效的电影和视频传输需要广泛地应用压缩和格式化技术。例如MPEG1和MPEG2的协议针对电影和视频信息传输,通过在空间压缩算法中加入时间分量来最大化带宽的利用率。
电影或者视频的图像序列中的每个单图像称为帧。每个帧都由大量的图形元素(像素)组成来定义图像。每帧中冗余像素描述了场景的部分,例如蓝色的天空。不同种类的压缩算法都用来消除冗余空间元素从而减少图像传输的带宽需求。电影或者视频上的帧序列通常包括非常近似或相同的像素。为了最大化带宽利用率,典型地应用例如MPEG的压缩和运动补偿协议来最小化这些相邻帧间的冗余像素。用于预测相邻帧图像运动的编码器参考帧称为锚帧(anchor frame)。这些锚帧的种类可以是内帧(I-帧)或者预测帧(P-帧)。不需要参考其它帧就可以形成映射的像素组(宏块)组成I-帧,而P-帧需要帧序列中在前编码的帧作为参考。第三种帧称为双向帧(B-帧),包括参考之前遇到帧的宏块和该帧之后当前正在分析帧的宏块。这需要一种预测机制根据即将到来的图像来描述当前分析图像。在参考帧中B-帧和P-帧编码通过计算与宏块相关联的运动矢量减少了像素的重复,减少了带宽需要。MPEG-2编码和MPEG-1编码的不同在于它们所支持的帧片断。片断是为可以独立参考的帧定义的一个单行之内的连续的宏块组。典型地,片断属于相同类型,也就是说所有P-帧编码类型或者所有I-帧编码类型。图像的复杂度决定了特定帧编码类型的选择。
MPEG-2数字视频系统中,通过用于该帧编码的量化级别和该帧编码比特数的乘积对视频帧的复杂度进行测量。也就是说,帧的复杂度只有在对它进行编码之后才能知道。结果,复杂度信息总是滞后于在编码之前需要缓冲大量帧的真实编码过程,因此增加了消耗和复杂度。
更进一步地,,I-帧和P-帧编码协议的选取特别要求多重编码传递单帧,来决定编码的复杂度。如果P-帧编码比利用I-帧编码实现导致更大的复杂度,那将选择I-帧编码。理想化地,在前级编码器中对锚帧进行两次编码以产生I和P情况的复杂度测量,但是预先进行的计算通常限制了这种方法。从带宽利用角度看,除了图像复杂度要求I-帧编码的情况之外,例如,在场景变换情况中,用P-帧进行编码是最有效的。用多重编码传递单帧的一个问题是引入了增加的计算复杂度,从而减少了编码器的吞吐量。此方法的另一个问题是内在的对帧进行两次编码所带来的低效率。
因此,需要一种改进了复杂度的编码系统。本系统可以实现有效的场景变化检测。进一步地,系统基本上可以用于任何种类的图像数据,包括高清晰度(HD)和标准清晰度(SD)电视(TV)。本发明提供了处理这些问题的解决方法的同时提供了增强的、电影或视频帧编码的吞吐量。
发明内容
本发明提出了指定连续视频信号的数字视频帧类型和图像组(GOP)长度的方法和附随的设备。
本发明可替换地在单帧内对I-帧和P-帧的宏块进行编码。通过这样做,不通过对相同帧的两次编码就可以计算出I和P编码的复杂度。这种安排使后级编码器取代前级编码器作出I-帧决定,因此采用预测流水线的方法使具有场景变化的I-帧的对齐更为有效。本方法同时减少了编码的计算复杂度。
本发明包括级联(tow-pass)视频编码系统,其中前级编码把每个连续锚帧指定为预测帧(P-帧)的编码类型,与例如两个连续的双向编码帧(B-帧)相交替。通常,帧编码类型指定可以是内帧(I-帧),预测帧(P-帧)或者双向帧(B-帧)编码。
为在单级上计算每个视频帧的复杂度,每个P-帧分割成交织的内帧编码宏块(例如I-片断)和预测帧编码宏块(例如P-片断)。在两个相邻P-帧之间这些片断交换位置进行编码。对每个编码帧,计算复杂度量度并且发送到后级编码器来进行进一步的处理。每一帧的复杂度度量等于帧内片断产生的总比特数目和量化级别与产生的比特之间的非线性映射关系相关的数值的乘积。为每个单独锚帧计算P-帧编码和I-帧编码复杂度度量的步骤在同一级中进行,允许在后级而不是前级中指定I-帧。由于可能在后继帧中引入的需要指派I-帧类型的场景变化帧使得本发明具有先进性。通过从它的缺省长度扩展图像组(GOP)和包括具有指定I-帧类型的场景变化帧,使本发明更加有效。场景变化帧通过前级编码器利用场景变化检测算法进行检测,然而,帧类型在后级编码器中进行指定。通过计算某帧的P-帧复杂度量度和I-帧复杂度量度之间的相关差异以及利用参考阈值的评价计算来识别场景变化帧。与每个场景变化帧相关联的场景变化通知被传送到后级编码器中用于处理。
后级编码器的流水线结构为有效地为连续视频帧编码提供预测缓冲能力。它用于P-帧和B-帧编码算法并用于识别后继帧中的场景变化帧,从而内在确定I-帧,直到后继帧得到处理。每处理一帧计数器加一。后级编码器中,与每个场景变化帧相关的场景变化通知被传送到连续的延迟单元,它们在这里得到缓冲并且同时用后级编码器来分析相应帧。每检测到一个场景变化,计数器加一,帧处理期间,计数器减一。通过分析前级编码器提供的复杂度系数,在连续的帧中利用流水线处理结构为每帧指定帧编码类型(P,B或者I)。场景变化帧只能指定为I-帧或P-帧。图像组(GOP)开始的第一帧指定为I-帧,同时帧计数器按照每个GOP指定而重新初始化。如果没有场景变化发生,GOP长度遵循事先设定的标称刷新率。在场景变化发生时,帧长度按照需要进行调整。如果帧计数超出了最大值,即使场景变化不断发生的情况下也进行I-帧编码。同样,在帧缓冲填满时,进行I-帧编码来防止丢失视频信息。在场景变化发生的情况下,通常在场景变化帧上进行新GOP编码。然而,除了场景变化突发的最后一次场景变化帧之外,只要场景变化计数拥有大于零的值就不进行内编码(I)帧的编码。
附图说明
图1说明根据本发明的处理结构框图;
图2说明根据本发明的图像组(GOP)中每帧的编码类型;
图3说明根据本发明的场景变化处理流水线;
图4说明根据本发明的图像编码类型决定算法。
具体实施方式
本发明涉及应用于增强数字电视信号传输的改进的视频帧编码子系统和方法。特别地,在视频帧编码过程中,满足了减少计算复杂度的要求,从而提供更有效的I-帧和场景变化对齐和执行更有效的场景变化检测算法。
图1是根据本发明的视频帧编码子系统的处理结构框图。该子系统是数字视频编码系统的一部分。
本子系统包括下列组件:
前级编码器100
降噪预处理器102
后级编码器104
主压缩控制器(MCC)106
包处理器108
视频FIFO队列和包生成器110
系统概述
前级编码器100,降噪预处理器102和后级编码器104配合使用来估计输入视频帧的复杂度,滤除输入视频的噪声,同时担负压缩输入视频图像的任务。后级编码器准备需要的参数,同时提供这个信息给流量控制处理器(图中未画出),该处理器反过来为后级编码器提供对应的编码比特率。事实上,前级和后级编码器的级连对单输入数据信道进行编码,并且进行包括运动压缩(对P-和B-帧)的数据压缩、离散余弦变换(DCT)和量化的操作。编码器可以根据真实编码比特率为流量控制处理器提供反馈信息。主压缩控制器(MCC)106通过周边元件扩展接口(PCI)总线对编码器进行数据压缩控制。编码后的数据提供给与包处理器108协同工作的包生成器110,来提供多路复用的视频数据比特流。与包生成器110相关的视频先入先出(FIFO)缓冲存储压缩数据,同时包处理器108形成带有适当头信息的压缩数据包,例如:根据MPEG-2或其它视频标准。之后,数据送到发射器通过通信信道用于输出流传输。
在解码端,为输出解码视频信号,例如显示在电视上,提供接收器、缓冲器和解复用器。
变量列表:
  名称   描述
  Alpha   图像反馈因子
  BitRate   视频比特率(比特每秒)
  BufferLevel   帧缓冲中的比特数目
  ComplexityI   I-帧复杂度值
  ComplexityP   P-帧复杂度值
  DelayedSc   延迟场景变化标志
  FrameCount   GOP中帧数目的计数
  FrameRate   输入视频的帧率(帧每秒)
  GopLen   GOP中帧的数目
  MaxDecoderBufferLevel   解码器能支持的最大比特数
  MaxGopLen   GOP中最大帧数
  PictureType   帧类型(I,P或者B)
  PrePicType   帧类型的初始值
  Sc   场景变化标志
  ScCount   场景变化计数
  StartNewGOP   开始新的GOP标志
  TargetBufferLevel   中等填充的缓冲水平
  ThBuf   缓冲门限
复杂度估计
前级编码器在标称的固定量化级别(例如用q=20标识1到112级别)上通过对视频帧编码为每个视频帧产生预测复杂度。通过前级编码产生的比特数目用作帧复杂度的测量。为了利用这个预测复杂度,在后级编码中帧的图像编码类型必须与前级编码中相同帧的图像编码类型相匹配。然而,由于可能的场景变化,I-帧的位置无法在后级编码之前确定。理想化地,锚帧(非B-帧)应该在前级编码器中进行两次编码,为I和P的情况产生复杂度度量,可是实际上编码器可能没有足够的处理能力来支持这种方法。
本发明的处理结构利用新的算法(在下边进行讨论),不需要两次编码就可以通过前级编码器产生I和P的复杂度度量。
对前级编码器中的每个锚帧进行P-帧的编码,也就是说,前级编码帧序列拥有下述形式:
...PBBPBBPBBPBBP...
在P-帧内,宏块可按照内帧或预测帧进行编码。这些宏块可以按所需放置在帧内。连续的、显示相同编码类型(I或P)的宏块可以连接到编码单元。如果它们发生在该帧的同一行,称它们为片断。I-片断可以与P-片断交织。例如,每个相间片段可以按照I-片断进行编码并且I-片断和标准P-片断的位置在每相邻帧112中互换,如图2所示。可替换地,可以在另外帧中不互换形式的情况下使用相同编码。同样,帧内片段的方向可以指定为垂直来代替水平,代表类编码宏块的列连续性。可以设想使用这个概念的大量的其它编码机制。
图2所示的例子中,同样显示出B-帧114的位置。I,P和B帧的复杂度值可以通过下列方法计算得出:
complexity[I]=f(Q)*(2*P-帧中的I片断产生的所有比特数)
complexity[P]=f(Q)*(2*P帧中的标称P片断产生的所有比特数)
complexity[B]=f(Q)*(B帧中的所有片断产生的所有比特数)
这里Q是用在前级编码的固定量化级的值,f(Q)是由查找表实现的非线性映射,用于补偿量化级别和生成比特之间的非线性关系。对于所述实例,非线性映射定义为平方根函数,也就是f(Q)=Q的平方根。
处理之后,前级编码器计算复杂度系数并且把这个评价作为32比特的浮点数发送到后级编码器。由于检测场景变化在指定帧编码类型中的重要性,本算法将在下面的部分进行描述。
处理流水线
在编码器硬件结构中,帧在处理流程的第一阶段(亮度预处理)分为B-帧或者P-帧。一旦图像划分为B-帧,图像编码类型在处理流程的后继阶段就无法改变。然而,如果图像划分为P-帧,当该图像在流程的最后阶段进行真实编码的时候它可能转化成为I-帧来开始新的GOP。
图3中展示了场景变化处理流水线。按照视频处理结构,场景变化检测在前级编码器中进行,如框图116所示,这里进行视频获取,水平采样,和电影模式效果(detelecine)等操作,随后进行前级视频编码和场景变化检测。场景变化标志写入到后级编码器的队列118中,在那里将得到进一步的处理。直到最后的编码阶段之前,队列延迟了场景变化标志的应用,在这里它用来决定I/P图像的编码类型,如框图120所示。图中,缩写词LUPP是亮度预处理的缩写,CHPP是色彩预处理的缩写,LUMDEC是亮度采样的缩写,而ME是运动估计的缩写。后级编码器进一步起作用来执行视频捕捉以及帧重排序和编码的功能。降噪预处理器进行滤波并且为视频流提供了预测延迟。
场景变化检测
场景变化在进行复杂度度量计算之后进行检测。场景变化标志只对P-帧定义并且通过比较从P-帧的前级编码估计的I复杂度和P复杂度来确定。I-复杂度和P-复杂度值通过在P-帧内按照I片断和P片断的交替片断编码进行计算。计算I-复杂度,作为所有I片断比特的和;计算P-复杂度作为所有P片断比特的和。算法如下:
如果(alpha*ComplexityP>ComplexityI)
   sceneChange=TRUE
else
   sceneChange=FALSE
alpha是常数,例如alpha=0.9。
一旦设置了场景变化标志,更容易决定图像编码类型。
I/P图像编码类型确定
通常,当每个帧由后级编码器进行编码的时候帧计数器加一。当帧计数器值(FrameCount)达到预设标称的刷新率(GopLen)的时候,P-帧转化成为刷新的I-帧来开始新的图像组(GOP)。帧计数器在I-帧处重新置0。在后继的P-帧中检测到场景变化时,算法直到处理完触发场景变化标志的P-帧才会发布I-帧。在这时,P-帧转化成为I-帧并且处理扩展GOP来将新的I-帧与场景变化对齐。如果场景变化P-帧在预测窗口之外发生,算法将把表达场景变化P-帧转化为I-帧,从而通过减小GOP长度使场景变化和I帧对齐。
I-帧与通常刷新的偏差由预测窗口中的帧数量决定(图3中的延迟2)。延迟2设置为8个视频帧(如果输入为电影则变为6或者7个帧)。假设刷新率为十五帧和双B-帧结构,这个预测数量保证了在场景变化帧和I-帧之间最少有9帧,也就是说,最坏情况GOP是...IBBPBBPBBI...,而场景变化帧(新I-帧)和正常刷新I-帧(旧I-帧)之间的最大距离是(15+6)=21帧。
由前级编码器决定的场景变化标志存储在后级编码器的队列当中。场景变化标志延迟总数(L-1)帧,假定延迟为常数,这里L是视频帧在MAP上的总延迟。为允许速率控制算法在电影或视频模式中来预测至少15帧,L设置为12帧并且因此延迟1中的延迟数量为(12-8)=4视频帧,如图3所示。
当多个场景变化由于闪光或特殊效果编辑而接连发生的时候,为避免多I-帧,算法延缓发布I-帧直到在预测流水线中没有新的场景变化。这通过当场景变化帧进入(延迟2)预测流水线时加一、当场景变化标志离开流水线时减一的场景变化计数器(ScCount)来实现。只要场景变化计数器为非零值时就会避免出现I-帧。
算法同时检查编码器缓冲的填满程度(Bufferlevel)以在它发布I-帧之前确认在缓冲中是否有足够的空间分配给I-帧。BufferLevel与阈值(ThBuf)进行比较,阈值由下式决定:
ThBuf=TargetBufferLevel+(0.5*GopLen*BitRate/FrameRate)
if(ThBuf>0.5*MaxDecoderBufferLevel)
    ThBuf=0.5*MaxDecoderBufferLevel
MaxDecoderBufferLevel是解码器能够拥有的最大比特数,是系统延迟和比特率的乘积。TargetBufferLevel设置为1/5的MaxDecoderBufferLevel。
即使输入拥有重复的场景变化,为保证I-帧的产生,当帧计数器的值达到上限的时候算法强制发布I-帧,该上限设置为两倍于标称的刷新率的值。
详细的图像编码类型决定算法在如图4所示的流程图中进行了描述。该流程图在允许设定I-帧之前通过一系列测试运算,从而指示GOP。最初,图像编码类型在编码阶段决定,如框图122所示。如果检测到延迟的场景变化标志(DelayedSC),框图124,在进一步操作开始之前场景变化计数(ScCount)减一,框图126。对发生在预测窗口之外的场景变化P-帧进行条件测试。FrameCount与最大允许GOP长度(MaxGopLen)作比较。如果发现条件为真那么在算法继续之前设置StartNewGop,框图134。如果条件不满足,那么对满缓冲进行测试,框图132。如果缓冲填满了,那么就在算法继续之前清空StartNewGOP,框图134。可替换地,如果没有达到缓冲满条件,那么对场景变化进行条件测试,框图136。如果ScCount为非零值,那么在算法继续之前通过清空StartNewGOP延缓I-帧。但是,如果ScCount为零并且设置了DelayedSC,那么处理触发场景变化标志的P-帧,框图138,并且在算法继续之前设置StartNewGOP标志。如果场景变化计数(ScCount)为零但未设置DelayedSC,那么算法处理到框图140来检测帧计数是否大于GOP长度。如果满足条件,那么在算法继续运行之前通过设置StarNewGOP标志发布I-帧。但是,如果帧计数小于GOP长度,那么清除StartNewGOP标志,并且算法继续。
如上设置StartNewGOP标志之后,算法运行到框图142来决定PrePicType是否设置为双向(B-帧)。如果设置了,那么无论StartNewGop标志为何状态,当前帧的图像类型(PictureType)设置为B-帧并且帧计数器(FrameCount)增加。可替换地,如果PrePicType没有设置为B-帧,那么对StartNewGOP标志的状态进行分析,框图146,并且图像类型(PictureType)根据设置或者清除标志的状态分别设置为I-帧或P-帧。I-帧图像类型的情况下,清除FrameCount以标识新GOP的开始。
因此,可以看出本发明为减少数字电视视频数据的编码复杂度提供了改进的编码器。尽管上面的详细说明是参考优选实施例而描述的,应该可以理解,在不背离所附权利要求中所阐述的本发明的范围的前提下,可以做出多种不同的修改和改编。

Claims (7)

1.一种用于指定连续视频帧的数字视频帧类型和图像组(GOP)长度的方法,包括如下步骤
在前级编码中:
分割连续锚帧的预测帧(P-帧)为交织的内帧宏块组和预测帧宏块组,
为每个连续视频帧计算与帧编码类型相关的复杂度度量,并且发送每个所述复杂度度量到后级编码,
在连续锚帧中检测场景变化帧,和
发送与每个所述场景变化帧相关的场景变化通知到所述后级编码;和
在所述后级编码中:
连续地在多个延迟元素之一中存储所述与每个所述场景变化帧相关的场景变化通知,
为所述连续视频帧中的每个所述视频帧指定帧编码类型,
为GOP规定指定所述视频帧的子集,并以I-帧编码帧开始所述子集。
2.如权利要求1所述的方法,其中由所述后级编码执行的帧编码类型指定包括为每个视频帧指定内帧(I-帧)、预测帧(P-帧)和双向帧(B-帧)类型之一。
3.如权利要求1所述的方法,其中把所述P-帧分割为交织的内帧宏块组和预测帧宏块组的操作可以在所述P-帧内以任意顺序和任意方向发生。
4.如权利要求1所述的方法,其中复杂度度量计算步骤包括为每个帧类型计算由特定帧类型的帧内宏块生成的总比特数和关联于量化级别与所述生成比特之间的非线性映射关系的值的乘积。
5.如权利要求4所述的方法,进一步包括在一次编码的情况下为单锚帧计算P-帧编码和I-帧编码的复杂度量度的步骤,以及允许在后级编码而非前级编码中指定I-帧的步骤。
6.如权利要求1所述的方法,其中前级帧编码类型指定进一步包括通过计算一帧的P-帧复杂度度量和I-帧复杂度度量的相对差别来识别场景变化帧的步骤,和利用相关阈值评价所述计算的步骤。
7.如权利要求1所述的方法,其中所述前级编码步骤指定每个连续锚帧为预测帧(P-帧)编码类型,其与至少一个双向编码帧(B-帧)交替出现。
CNB028160258A 2001-08-15 2002-08-09 视频编码方法 Expired - Fee Related CN1264355C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/929,983 US6804301B2 (en) 2001-08-15 2001-08-15 First pass encoding of I and P-frame complexity for compressed digital video
US09/929,983 2001-08-15

Publications (2)

Publication Number Publication Date
CN1605209A CN1605209A (zh) 2005-04-06
CN1264355C true CN1264355C (zh) 2006-07-12

Family

ID=25458789

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB028160258A Expired - Fee Related CN1264355C (zh) 2001-08-15 2002-08-09 视频编码方法

Country Status (8)

Country Link
US (1) US6804301B2 (zh)
EP (1) EP1433330A2 (zh)
KR (1) KR100915055B1 (zh)
CN (1) CN1264355C (zh)
AU (1) AU2002356070A1 (zh)
CA (1) CA2457614C (zh)
MX (1) MXPA04001384A (zh)
WO (1) WO2003017677A2 (zh)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2365245B (en) * 2000-07-28 2004-06-30 Snell & Wilcox Ltd Video Compression
US20020122491A1 (en) * 2001-01-03 2002-09-05 Marta Karczewicz Video decoder architecture and method for using same
US20030093800A1 (en) * 2001-09-12 2003-05-15 Jason Demas Command packets for personal video recorder
US7693220B2 (en) * 2002-01-03 2010-04-06 Nokia Corporation Transmission of video information
US7003035B2 (en) 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US20040001546A1 (en) 2002-06-03 2004-01-01 Alexandros Tourapis Spatiotemporal prediction for bidirectionally predictive (B) pictures and motion vector prediction for multi-picture reference motion compensation
US6961376B2 (en) * 2002-06-25 2005-11-01 General Instrument Corporation Methods and apparatus for rate control during dual pass encoding
US7251275B2 (en) * 2002-06-25 2007-07-31 General Instrument Corporation Methods and apparatus for statistical multiplexing during dual pass encoding
US7154952B2 (en) 2002-07-19 2006-12-26 Microsoft Corporation Timestamp-independent motion vector prediction for predictive (P) and bidirectionally predictive (B) pictures
US20050060421A1 (en) * 2003-07-16 2005-03-17 Musunuri Chowdhary V. System and method for providing immersive visualization at low bandwidth rates
US20050036548A1 (en) * 2003-08-12 2005-02-17 Yong He Method and apparatus for selection of bit budget adjustment in dual pass encoding
US7856054B1 (en) * 2003-11-14 2010-12-21 Apple Inc. Scene change identification during encoding of compressed video
JP2005184626A (ja) * 2003-12-22 2005-07-07 Canon Inc 画像処理装置
US8572280B2 (en) * 2004-05-06 2013-10-29 Valve Corporation Method and system for serialization of hierarchically defined objects
US20050248576A1 (en) * 2004-05-07 2005-11-10 Sheng-Hung Chen Transformation method and system of computer system for transforming a series of video signals
DE602004028616D1 (de) * 2004-09-16 2010-09-23 Alcatel Usa Sourcing Lp Abknallendmittel mit verbesserter Latenz
US7606303B2 (en) * 2004-09-28 2009-10-20 General Instrument Corporation Method and apparatus to detect anchor frames from digital video streams
US8311113B2 (en) * 2004-11-12 2012-11-13 Broadcom Corporation Method and system for using motion prediction to equalize video quality across intra-coded frames
US20060140273A1 (en) * 2004-12-28 2006-06-29 Siu-Wai Wu Dual-pass HDTV encoder with noise reduction
TWI297471B (en) * 2005-05-20 2008-06-01 Novatek Microelectronics Corp Method for video content complexity estimation, scene change detection and video encoding
KR100716291B1 (ko) * 2005-07-27 2007-05-09 삼성전자주식회사 영상재생장치와 그 제어방법 및 pvr
KR100754392B1 (ko) * 2005-12-27 2007-08-31 삼성전자주식회사 잉크젯 프린트헤드의 잉크유로 구조체 및 이를 구비한잉크젯 프린트헤드
KR100770872B1 (ko) * 2006-02-17 2007-10-26 삼성전자주식회사 디지털 멀티미디어 방송 시스템에서 채널 전환 시간 단축을위한 데이터 수신장치 및 방법
US20100091845A1 (en) * 2006-03-30 2010-04-15 Byeong Moon Jeon Method and apparatus for decoding/encoding a video signal
BRPI0710048A2 (pt) * 2006-03-30 2011-08-02 Lg Electronics Inc método e aparelho para decodificar / codificar um sinal de vìdeo
US8325814B2 (en) * 2006-06-19 2012-12-04 Lg Electronics Inc. Method and apparatus for processing a video signal
KR100815486B1 (ko) * 2006-08-18 2008-03-20 광주과학기술원 다시점 비디오의 인코더, 인코딩하는 방법, 및 이를 이용한 저장 매체
WO2008023967A1 (en) * 2006-08-25 2008-02-28 Lg Electronics Inc A method and apparatus for decoding/encoding a video signal
US20080141091A1 (en) * 2006-12-06 2008-06-12 General Instrument Corporation Method and Apparatus for Recovering From Errors in Transmission of Encoded Video Over a Local Area Network
US8073049B2 (en) * 2007-02-01 2011-12-06 Google Inc. Method of coding a video signal
JP4851976B2 (ja) * 2007-03-28 2012-01-11 富士フイルム株式会社 動画圧縮装置およびその動作制御方法
US8917775B2 (en) * 2007-05-02 2014-12-23 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding multi-view video data
KR101431546B1 (ko) 2007-05-02 2014-08-22 삼성전자주식회사 다시점 동영상의 부호화 및 복호화 방법과 그 장치
US8249141B1 (en) * 2007-07-13 2012-08-21 Sprint Spectrum L.P. Method and system for managing bandwidth based on intraframes
JP4834772B2 (ja) * 2007-11-28 2011-12-14 パナソニック株式会社 画像符号化方法および画像符号化装置
US7557740B1 (en) * 2008-04-18 2009-07-07 Realtek Semiconductor Corp. Context-based adaptive binary arithmetic coding (CABAC) decoding apparatus and decoding method thereof
WO2009157827A1 (en) * 2008-06-25 2009-12-30 Telefonaktiebolaget L M Ericsson (Publ) Row evaluation rate control
KR101441886B1 (ko) * 2008-06-25 2014-09-25 에스케이텔레콤 주식회사 영상 코덱의 복잡도 측정 방법 및 장치
CA2798008C (en) 2010-05-06 2015-10-20 Nippon Telegraph And Telephone Corporation Method for controlling video encoding if a decoder underflow condition is detected
EP2568705B1 (en) * 2010-05-07 2018-09-26 Nippon Telegraph And Telephone Corporation Moving image encoding control method, moving image encoding apparatus and moving image encoding program
BR112012028576A2 (pt) 2010-05-12 2016-08-02 Nippon Telegraph & Telephone método de controle de codificação de vídeo, aparelho de codificação de vídeo, e programa de codificação de vídeo
JP5549476B2 (ja) * 2010-08-24 2014-07-16 ソニー株式会社 画像処理装置と画像処理方法
KR101522391B1 (ko) * 2011-03-10 2015-05-21 니폰덴신뎅와 가부시키가이샤 양자화 제어 장치 및 방법, 및 양자화 제어 프로그램
CN102427529B (zh) * 2011-09-30 2013-07-03 北京暴风科技股份有限公司 视频编码压缩方法
US9906815B2 (en) 2011-11-08 2018-02-27 Texas Instruments Incorporated Delayed duplicate I-picture for video coding
US9094684B2 (en) 2011-12-19 2015-07-28 Google Technology Holdings LLC Method for dual pass rate control video encoding
CN104641638B (zh) 2012-06-28 2018-08-03 阿克西斯股份公司 使用虚拟帧内帧对视频内容进行编码的系统和方法
US9307235B2 (en) * 2012-12-03 2016-04-05 Vixs Systems, Inc. Video encoding system with adaptive hierarchical B-frames and method for use therewith
US9578333B2 (en) * 2013-03-15 2017-02-21 Qualcomm Incorporated Method for decreasing the bit rate needed to transmit videos over a network by dropping video frames
WO2015031891A2 (en) * 2013-08-30 2015-03-05 ARRIS Enterprises, Inc Multipass encoder with heterogeneous codecs
US10116943B2 (en) * 2013-10-16 2018-10-30 Nvidia Corporation Adaptive video compression for latency control
US20150381979A1 (en) * 2014-06-25 2015-12-31 Arris Enterprises, Inc. Method for using a decoder or look-ahead encoder to control an adaptive pre-filter
US10063866B2 (en) * 2015-01-07 2018-08-28 Texas Instruments Incorporated Multi-pass video encoding
KR101756759B1 (ko) * 2016-01-07 2017-07-12 주식회사 마크애니 화질 손상을 방지하는 동영상 스트림에 대한 부가 데이터 삽입 방법 및 장치
US10367865B2 (en) 2016-07-28 2019-07-30 Verizon Digital Media Services Inc. Encodingless transmuxing
KR20180076591A (ko) 2016-12-28 2018-07-06 삼성전자주식회사 비디오 인코딩 방법, 이를 수행하는 비디오 인코더 및 이를 포함하는 전자 시스템
JP7183304B6 (ja) * 2018-05-25 2022-12-20 ライン プラス コーポレーション 複数のチャネルを利用して動的ビットレートのビデオを配信および再生する方法およびシステム
CN112449182A (zh) * 2019-08-28 2021-03-05 广州虎牙科技有限公司 视频编码方法、装置、设备及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2977104B2 (ja) 1991-07-26 1999-11-10 ソニー株式会社 動画像データエンコード方法および装置、並びに動画像データデコード方法および装置
DE69333900T2 (de) 1992-01-29 2006-08-03 Mitsubishi Denki K.K. Videoinformationsaufzeichnungsmedium und Wiedergabevorrichtung
DE69424909T2 (de) 1993-04-09 2000-12-14 Sony Corp Verfahren und vorrichtung zur bildkodierung
JP3711571B2 (ja) 1994-09-29 2005-11-02 ソニー株式会社 画像符号化装置及び画像符号化方法
US5734419A (en) 1994-10-21 1998-03-31 Lucent Technologies Inc. Method of encoder control
US5771316A (en) 1995-12-26 1998-06-23 C-Cube Microsystems Fade detection
US6100931A (en) * 1996-03-19 2000-08-08 Sony Corporation Method and apparatus for controlling a target amount of code and for compressing video data
GB9607645D0 (en) 1996-04-12 1996-06-12 Snell & Wilcox Ltd Processing of video signals prior to compression
US5751378A (en) 1996-09-27 1998-05-12 General Instrument Corporation Scene change detector for digital video
JPH10174103A (ja) 1996-12-13 1998-06-26 Matsushita Electric Ind Co Ltd 画像符号化装置、符号化画像記録媒体、画像復号化装置、画像符号化方法、および符号化画像伝送方法
US6038256A (en) 1996-12-31 2000-03-14 C-Cube Microsystems Inc. Statistical multiplexed video encoding using pre-encoding a priori statistics and a priori and a posteriori statistics
US5959693A (en) 1997-05-07 1999-09-28 General Instrument Corporation Pixel adaptive noise reduction filter for digital video
KR100626994B1 (ko) 1997-07-29 2006-09-22 코닌클리케 필립스 일렉트로닉스 엔.브이. 가변 비트 레이트 비디오 코딩 방법 및 대응 비디오 코더
US6259733B1 (en) 1998-06-16 2001-07-10 General Instrument Corporation Pre-processing of bit rate allocation in a multi-channel video encoder
US6731684B1 (en) * 1998-09-29 2004-05-04 General Instrument Corporation Method and apparatus for detecting scene changes and adjusting picture coding type in a high definition television encoder

Also Published As

Publication number Publication date
KR100915055B1 (ko) 2009-09-02
CN1605209A (zh) 2005-04-06
US20030039308A1 (en) 2003-02-27
MXPA04001384A (es) 2004-06-03
WO2003017677A2 (en) 2003-02-27
EP1433330A2 (en) 2004-06-30
AU2002356070A1 (en) 2003-03-03
CA2457614C (en) 2012-06-12
US6804301B2 (en) 2004-10-12
WO2003017677A3 (en) 2003-11-13
CA2457614A1 (en) 2003-02-27
KR20040030131A (ko) 2004-04-08

Similar Documents

Publication Publication Date Title
CN1264355C (zh) 视频编码方法
CA2491522C (en) Efficient compression and transport of video over a network
US8582659B2 (en) Determining a decoding time stamp from buffer fullness
US8374236B2 (en) Method and apparatus for improving the average image refresh rate in a compressed video bitstream
CN1541482A (zh) 用于数字视频信号的运动自适应降噪预处理
US20060104356A1 (en) Timing for decoder buffer examination
US20050074061A1 (en) Signaling buffer fullness
US20060114995A1 (en) Method and system for high speed video encoding using parallel encoders
JP2000013799A (ja) 動き補償符号化復号化装置及びその方法
US20050036549A1 (en) Method and apparatus for selection of scanning mode in dual pass encoding
JP6464192B2 (ja) ディスプレイストリーム圧縮(dsc)のための平坦度検出のためのシステムおよび方法
CN1306725A (zh) 视频编码方法以及对应的视频编码器
JP2002064827A (ja) 統計多重システム、統計多重制御装置および統計多重方法
JP2002511669A (ja) 映像データストリームの適応的符号化方法と装置
CN1890983A (zh) 改进的内插像素值的计算
KR20180122354A (ko) 디스플레이 스트림 압축에서의 양자화 파라미터들의 적응적 계산을 위한 장치 및 방법들
CN1813480A (zh) 变换域中零的早期检测
EP1484925A2 (en) Method and device for compressing image data
US7218842B1 (en) Efficient methods of performing motion compensation based decoding and recoding of compressed video bitstreams
Vechtomov Low latency H. 264 encoding for teleoperation
US20060256860A1 (en) Transcoding with look-ahead
JP4543299B2 (ja) 符号化制御装置、符号化制御方法、符号化制御プログラム及び符号化制御プログラム格納媒体
JP2000050283A (ja) 符号化装置及び符号化方法
JPH1066084A (ja) 映像データ圧縮装置およびその方法
JP2002058022A (ja) 統計多重システム、統計多重制御装置、画像符号化装置、統計多重方法および画像符号化方法

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
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: Georgia, USA

Patentee after: Ai Ruishi Technology Co.

Address before: American Pennsylvania

Patentee before: GENERAL INSTRUMENT Corp.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180411

Address after: Georgia, USA

Patentee after: ARRIS ENTERPRISES LLC

Address before: Georgia, USA

Patentee before: Ai Ruishi Technology Co.

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

Granted publication date: 20060712

Termination date: 20210809