CN1531823A - 在视频多处理器系统中频道的处理模式的选择 - Google Patents

在视频多处理器系统中频道的处理模式的选择 Download PDF

Info

Publication number
CN1531823A
CN1531823A CNA018160158A CN01816015A CN1531823A CN 1531823 A CN1531823 A CN 1531823A CN A018160158 A CNA018160158 A CN A018160158A CN 01816015 A CN01816015 A CN 01816015A CN 1531823 A CN1531823 A CN 1531823A
Authority
CN
China
Prior art keywords
frame
video
treatment
cycle
pattern
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA018160158A
Other languages
English (en)
Inventor
�����
刘承德
R·S·尼米罗夫
胡少伟
A·卢沙
王利民
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.)
Arris Technology Inc
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 CN1531823A publication Critical patent/CN1531823A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)

Abstract

一种高效率处理系统,如用以传输视频数据。在适用于单一或多重处理器的实施例的一个实施例中,针对每个输入视频帧设置的处理模式,例如,作为使用运动补偿的全变换代码模式(740),避免运动补偿的重新量化(requantization)模式,或者略过(bypass)模式。处理模式的选择是依据一个数或可得到的处理帧的处理循环,及该帧的期望处理需求。选择旁路模式或再量化模式以避免处理器的缓冲器溢位。

Description

在视频多处理器系统中频道的处理模式的选择
发明背景
本发明涉及一种具有一个或一个以上处理器的系统用以代码变换数字视频信号的系统。
一般来说(例如),在一有线电视网络或类似网络中,对其订阅者端的数字视频程序的比特率的调整是有必要的。例如,一第一群信号可以经由一卫星传输在一头端接收。该头端的操作员可能想将选择的程序向前传给订阅者,而同时从一在本地资源(如储存媒体或是一在地现场材料)中加入程序(例如商业广告或是其他内容)。此外,有时有必要在一总可用频道的频宽中提供程序。
因此,己发展有统计再多工器(stat remux),或代码变换器,以一特定的比特率重新压缩视频比特流的方式,处理预先压缩的视频比特流。类似地,统计多工器(stat mux)则以一所想要的比特率压缩的方式,来处理未受压缩的视频数据。
在该类系统中,数个数据频道以数个平行配置的处理器来处理。每一个处理器通常可以适应多重数据频道。虽然有时,象需要许多的计算的HDTV(高解析度电视,High Definition TV),从一单一频道来的数据部分等,分配于多重处理器中。
然而,一单一或多重处理器系统,有必要选择每一个视频帧的处理模式,以最小化代码变换的人工痕迹(artifacts),该类人工痕迹可能以可见的噪声出现于该代码变换的图像数据中。该系统也应确保,需要来处理在该单一处理器或是多处理器的缓冲器内帧的总处理循环,不超过该类代码变换器(transcoders)的可用处理能力。
本发明提供一具有以上好处及其他好处的处理器系统。
发明概要
本发明涉及一种具有一个或一个以上处理器的系统,如用以代码变换数字视频信号的系统。
在每一频道内,会针对每个图像以动态方式来选择处理模式,于该处理循环预算限制条件/总处理能力的限制下,提高视频品质至最高限度。
例如,对代码变换来说,如果总处理能力无限制的话,便可以对每一帧进行“全代码变换”。然而,因为该总处理能力受到限制,某些帧可能以一“重新量化”模式甚或“通过”(略过)模式来处理,进而导致额外的人工痕迹。根据本发明,使用一演算法来选择每一帧的处理模式,在受到该处理器总处理能力的限制下,最佳化视频质量。
一般来说,提供具有不同计算强度的一是列处理模式,以便当需要避免备份未处理帧时,可选择一较低强度的模式。
根据本发明,本发明揭示一种适用于单一处理器或是多重处理器系统的特殊方法。具体而言,一种用以处理包含视频帧的压缩视频数据的方法,包括下列步骤:于一处理器维持可供处理数据的处理循环数预算;维持该处理器处理该数据所需的处理循环数的评估:以及将该压缩视频数据提供给该处理器。
处理器以多个模式运作,如全代码变换模式、简化型模式,重新量化模式,及略过模式。模式是依据预算的处理循环数与该所需处理循环的估计数间的关联性所选用的用来处理每个视频帧的模式。即,当所需的处理循环数开始要超过该预算的、或可用的处理循环时,就选择一较低计算强度的模式。
本发明揭示一种对应的装置。
附图简单说明
图1说明一根据本发明的多重处理器系统。
图2说明根据本发明的一种分配压缩数据的频道给重处理器中的一代码变换器的方法。
图3(a)说明一个使用现有技术以进行全代码变换的代码变换器,其为可根据本发明来选择的该类代码变换模式。
图3(b)说明一进行全代码变换的简化的代码变换器,其为可根据本发明来选择的该类代码变换模式之一。
图4说明一代码变换器,其在DCT域中进行帧的重新量化,没有运动补偿,其为可根据本发明来选择的该类代码变换模式之一。
图5说明一平滑缓冲器,根据本发明的不同代码变换模式,用来吸收可变的处理时间。
图6说明根据本发明,在一代码变换器处理元件(TPE)处一帧的处理。
图7说明根据本发明,在一代码变换器处理元件(TPE)处一帧的处理模式的选择。
发明详细说明
本发明涉及一种具有一个或一个以上处理器的系统用以代码变换数字视频信号的系统。
图1说明一根据本发明的多重处理器系统100。
L个频道的压缩的数据提供给一切换器130,其对一解多工器(demultiplexer)为类比的型式。该类频道可以经由一传送多工器来提供,如在一有线电视的头端。一些频道可以经由一远程分布点来接收,如经由一卫星,而其他频道可以由本地提供,如本地插入的商业广告或是其他本地的程序。传统的解调、囊接(grooming)、缓冲步骤与类似的步骤,虽未示于图中,但对熟悉本技术的人士而言应该很明显。
在控制器155的控制下,该交换器130将该类频道路由给代码变换器1(160)、代码变换器2(170),…,代码变换器M的M个代码变换器之一。
该代码变换的数据经由一总线190输出,在一多工器195处多路变换,并经由一传送器197传送至有线电视网络的终端入口。
每一频道的一取样(如一分段)也提供给一分析器140,其使用一相关的存贮器145储存该类取样并分析之。此分析的结果被该控制器155使用在分配频道给不同的代码变换器160,170,…,180。该单独的代码变换器160,170、…、180在此也称为“代码变换器处理元件”或是TPE.
该类代码变换器处理元件(TPEs),当需要一重新配置时,例如,当该类输入频道改变时(例如由于加入、移除或是替代),分配以处理在不同频道中进来的视频帧等。注意L可以小于,等于或是大于M。即是,一代码变换器处理元件(TPE)可以处理多于一个频道,例如,标准清晰度电视(SDTV),或走一单一频道可以用一个以上的代码变换器处理元件(TPE)来处理,例如,高解析度电视(HDTV),其计算的强度较高。
该类频道在代码变换器处理元件(TPEs)中剖析,以将图像类型解码,例如,为根据运动图像专家组标准的I,P或是B图像,对每一帧用来做选择一适合的代码变换模式,以最小化该代码变换的人工痕迹。
本发明最小化受代码变换限制条件(该限制条件是为在该代码变换器处理元件所需的每一个帧代码变换的平均总处理能力,不超过该代码变换器处理元件可用的处理能力)的人工痕迹。
注意,虽然在图1中示出多重处理器,本发明在代码变换器处理元件上的循环节省(cycle-saving)模式选择的具体实施例,也适用于一单一处理器,其接收一或是多重输入频道。
I.在该类代码变换器处理元件(TPEs)中的频道分配。
图2说明根据本发明一种分配压缩数据的频道给在一多重处理器中的代码变换器的方法。
该分配技术的目的,是为在该类代码变换器处理元件(TPEs)中平分工作量,以将这些资源最大地利用。
于步骤200,该类代码变换器初始化,使得一相关的累积复杂度值与一累积解析度值重置为零。
于步骤210,该比特流分析器140在其相关的存储器145中捕捉到从每一个视频频道(步骤210)来的一输入比特流的取样。该比特流分析器140在该类捕捉的取样中,对每一频道以其图像类型(I,B或P)及帧解析度为主,估计该处理循环的要求(如复杂度Comp[I],在下面说明),其定义为在该输入比特流中每秒平均的巨块(macroblock)数(即平均的巨块速率)。
每一个第i频道的复杂度测量的决定方式,为B帧的数目与解析度(步骤2220)。具体地说,可以使用以下的复杂度测量格式。
Comp[i]=F(M[i])*Res[i]*U[i]*GCBR(输入比特率[i]-输出比特率[i]),
其中M[i](M=1,2,3,或更高)为一加上在段中B帧数目(“#”)与P及I帧数目的比值(即,l+#B/(#P+#I));Res[i],频道解析度,为每秒的巨块数(即一平均巨块速率);而U[i]为一使用者控制的参数,其设定该频道的优先级。对较高的优先级、平均优先级与较低优先级的频道,将U[i]分别设定为U[i]>l,U[i]=1,或U[i]<1。
如果该频道的输入与输出为常数比特率(CBR),可应用多一个因数,GCBG(),其由输入与输出比特率间的差异来决定.该分析器140可以决定该输入比特速率,如,使用一比特计数器,而该输出比特率由使用者设定。
实验或是分析的数据可以用来决定函数F()与GCBR()。例如,F(M)=(alpha*(M-1)+1)/M,其中alpha(例如0.75)为该B帧标称复杂度与一P帧标称复杂度的比值。还有,例如,GCBR(R)=beta*R,其中beta=每Mbps 0.25。
于步骤230,一旦该复杂度的估计值已计算,一反复的“贪心”演算法可以用下法将该类频道分配给该类代码变换器处理元件(TPEs)。在分配的过程中,记录每一代码变换器处理元件(TPE)一累积的复杂度值,其为每一个分配给代码变换器处理元件(TPE)的频道的复杂度的和。该累积的复杂度,当该类频道分配给每一个代码变换器处理元件(TPE)时,其将每一个代码变换器处理元件(TPE)所消耗的处理循环的指标。或者,记录一累积的解析度,其为每一个分配给代码变换器处理元件(TPE)的解析度的和。
对分配该类频道给该类代码变换器处理元件(TPE)时,安排一递降的次序的复杂值等阵列,Comp[]。在分配一初始频道时,将该未分配的最高复杂度的频道,分配给第一个代码变换器处理元件(TPE),如TPE160。该第一个分配的TPE可以随机选择,或是用一随意预先定义的方式,因为在此时,所有的代码变换器处理元件(TPE)具有一累积为零的相等复杂度。
一般来说,如果在频道的复杂度上有同等的情形,选择具有最高解析度的频道。如果再有同等的情形,选择较低的频道数,否则从该类同等的频道中随机选择。
在该初始频道选择之後,选择具有最低累积复杂度值的该代码变换器处理元件(TPE)。如果有同等的情形,选择较低累积解析度的代码变换器处理元件(TPE)。如果再有同等的情形,选择己分配有较小的频道数目的代码变换器处理元件(TPE)。如果还是有同等的情形,选择具有较低TPE数目的代码变换器处理元件(TPE),或是从所有同等的代码变换器处理元件(TPEs)中随机选择。
于步骤240,进行核对动作,以决定该频道的分配是否会造成该代码变换器处理元件(TPE)的过负载。当该累积解析度与该选择频道解析度的和,超过某预先定义上限(其对该TPE的处理能力为特定的)的时候,可能会发生。
于步骤250,如果已决定了在未分配的频道中,该最高复杂度的频道的分配可能会有过载的状况,该频道分配给次最低累积复杂度的代码变换器。
如果没有过载的状况,刚刚才有一频道分配的TPE,其累积复杂度的增加量为该分配频道的复杂度(步骤260).同时,累积的解析度的增加量则为该分配频道的解析度。
于步骤270,如果所有的频道已都分配给一代码变换器,该处理便完成了,并等待直到下一个重新配置(步骤280),此时该处理反复从步骤200开始。如果仍有额外的频道要分配,处理再次于步骤230处继续,将具有最高复杂度的该剩余未分配的频道,分配给一具有最低累积复杂度的TPE,而不使一TPE过载。
II.在代码变换嚣处理元件上循环节省模式的选择。
概览
根据本发明,每一个代码变换器处理元件(TPE)160,170,…,180选择一个有效的模式,做为对其(TPE)分配的该类频道的数据帧做代码变换用。以下的工具(代码变换模式)组已被识别出来,做为提供能生存的(viable)代码变换策略。每一个工具与一复杂度的需求与人工痕迹的量相关。每一个帧可以选择一个不同的代码变换模式。
该代码变换模式包括:(1)一全代码变换模式,(2)一重新量化模式,及(3)一通过/略过模式。
(1).全代码变换的计算强度最高,但是速成最小的人工痕迹量。全代码变换可以包含完全解码并重新编码,并在重新编码过程中调整该量化水平,Q2
也可使用图3(b)中一简化的全代码变换。
一般来说,在此所用的“全代码变换”一词指的是进行运动补偿的代码变换。通常也有其他的处理,如反量化,IDCT(反离散余弦变换)、DCT(离散余弦变换)及重新量化等。
图3(a)说明一个现有技术的代码变换器,其进行完全或是规则的代码变换,其为本发明可选择的代码变换模式之一。
一个简单明了的代码变换器可以仅为一级联(cascaded)的MPEG(运动图像专家组标准)解码器及编码器。该级联的代码变换器首先对一压缩的频道解码,以得取一重新建造的视频序列。然后该重新建造的视频序列重新编码,以获得一不同的压缩比特流,适合做传送之用,例如,给一解码器的总数(population)。
特别的,代码变换器300包括一解码器310与一编码器350。一预先压缩的视频比特流为一可变长度解码器(VLD)315的输入。一解量化器函数320使用一第一量化步骤大小Q1处理该VLD315的输出。一反离散余弦变换(IDCT)函数325处理该解量化器函数320的输出,以提供像素域数据给一加法器330。此数据与一从一运动补偿器(MC)335来的运动补偿差异信号或是一空信号(根据一交换器340的位置)来相加。
每一个输入巨块(MB)的代码模式,不论是内(intra)或间(inter)模式,嵌入该输出预先压缩比特流中,提供给交换嚣340。该加法器310的输出提供给编码器350与该解码器310的当前帧缓冲器(C_FB)345。该MC函数335使用从当前FB 345来的数据,及从前一帧缓衡器(P_FB)351来的数据,以及从该VLD 315来的运动向量(MV)数据。
在编码器350中,像素数据提供给一内/间模式交换器355、一加法器360、及一运动估计(ME)函数365。该交换器355选择当前像素数据或是该当前像素数据与前一帧的像素数据间的差异,以一离散余弦变换(DCT)函数370、量化器375、及可变长度编码(VLC)函数380来处理。该可变长度编码(VLC)函数380的输出为一比特流,其传送至一解码器。该比特流包括从该运动估计(ME)函数365来的运动向量(MV)数据。
该代码变换器的比特输出速率以改变Q2的方式来调整。
在一反馈路径中,在一反量化器382与一反离散余弦变换函数384的处理进行以恢复该像素域数据。此数据与运动补偿数据或是一空信号在加法器386处相加,而其和提供给当前帧缓冲器(C_FB)390。从范C_FB390与一P_FB 392来的数据提供给该运动估计(ME)函数365及一运动补偿(MC)函数394。一交换器396导引一空信号或是该运动补偿(MC)函数394的输出给该加法器386,以回应一内/间模式交换控制信号。
图3(b)说明一简化的代码转焕器,其进行完全(规则)代码变换,其为本发明可选择的代码变换模式之一。类似的数字对应图3(a)中的元件。
该代码搏换器架构300’在DCT域中进行大部分的运算,所以该反DCT与运动补偿运算两者的数目降低了。还有,因为该运动向量未重新计算,所需求的计算大大地降低了。此简化的架构提供低计算复杂度与高弹性的优良组合。
(2).第二代码变换模式是为只对一帧应用重新量化,没有运动补偿,如图4所示,通常,IDCT与DCT运算都省掉了。此策略产生较该第一方法为低的复杂度。如果图像为B_帧,使有一中等量的人工痕迹。如果图像为I-或是P-帧,则有较大量的人工痕迹,因为漂移(drifting)的缘故。在此,该DCT系数解量化,然後重新量化。
图4说明一代码变换器400,其在DCT域中,进行帧的重新量化,没有运动补偿,其为本发明可选择的代码变换模式之一。
使用一VLD 410函数及一反量化函数420。重新量化发生于函数430一不同的水平,而VLC接着进行于函数440。
(3).一第三代码变换模式,或是处理模式为通过(略过)该比特流,而没有解码或是重新编码。此策略引起比特流延迟一固定的时间量,并具有一复杂度成本约为零,但是只适用于该输入与输出比特速率差异小时。可以使用一统计多工(statmux)演算法,以决定输出比特率,因而决定是否该使用此模式。
延迟编码时间的效果
图5说明一平滑缓冲器,根据本发明的不同代码变换模式,用来吸收可变的处理时间。提供一视频缓冲核验器(vbv)缓冲器510,部分解码函数520,平滑缓冲器530(其容量例如为5个帧),及一代码变换函数560。该函数520包括一VLD,并也剖析该比特流标题信息,例如,图像标题,以决定是否一帧为I、P或B帧。一vbv缓衡器模拟一解码器的缓冲器,注意,该平滑缓冲器530与vbv缓冲器510为分开的缓冲器,维然它们在一实施例中共享相同的存储器。
全代码变换可能要用大于一个帧的时间来执行,而重新量化与通过代码变换可能只要小于一个帧的时间来执行,此时,该平滑缓冲器162,172,…、182每一个都可储存最多到5个帧,可以使用来吸收该延迟。此缓冲器应在该类代码变换器处理元件(TPE)上。还有,每一个视频频道都应该有一个那样的缓冲器。在每一个代码变换器处理元件(TPE),一单一缓冲器元件可以在不同频道中按比例分配(apportioned),或是使用分开的缓冲器元件。
处理模式的选择
在此段中,假设已做了一个选择,以处理从(例如)分配给一代码变换器处理元件(TPE)的三个频道之一的一视频帧。通常,当多于一个频道分给一TPE时,每一频道来的一帧以旋转轮流的方式处理。现在说明该视频帧的代码变换模式的选择。
在一频道中选择一帧在一TPE做处理之前,检查该频道预算的处理循环,并决定该视频频道从其所分配的预算偏离多少。该偏离度的测量是使用每一频道的运转(running)和,定义为:deficit=old_deficit+actual_cycles_used_frame_budget,其中帧预算(frame_budget)定义为该频道的每个帧的循环预算(cycle-budget),并用以下方法计算:
frame_budget=(可用于该TPE上每秒总循环*该频道的复杂度/由该TPE处理的所有频道的复杂度和)/该频道的帧速率,
其中该类频道的复杂度在该频道分配演算法中计算而得。
如果任何频道的逆差超过一预先决定的多重帧frame_budget倍,便引发一“恐慌模式”(panic mode)。例如,当该TPE缓冲器具有五个帧的容量,在当差额(deficit)超过四帧时引发恐慌模式。一般而言,该恐慌模式在当差额接近TPE缓冲器(该平滑缓冲器5 30)的容量时引发。也可以测量该平滑缓冲器的充满程度,以决定会不会引发恐慌模式。该恐慌模式指出该缓冲的帧必须要代码变换,并尽快输出,以避免缓冲器的溢位。
该恐慌模式引起将处理的下一个帧选择兹重新量化模式来处理,并只有该较低阶的系数重新量化。也就是揽,降低较高的频率DCT系数。处理的较低频率系数的范围随当前的逆差而变化。
尤其,较低系数编码的数目,以当前的差额相同frame_budget的大小为主来做调整。例如,如果该差额超过4.6*frame_budget的话,只有该类较低的六个系数编码。因为在本例中该平滑缓冲器只储存五个帧,当该逆差接近五个帧时,必须要“踩煞车”。虽然数宇4.6使用得相当成功,但也可以使用其他数字,而且该数字应以可以储存在该输入缓冲器的帧数来调整。该值也可以用一部分缓冲器充满程度来表示,如4.6/5=0.92或是92%。
在此,该类系数的安排为两个锯齿状扫瞄次序之一来完成,一个为交错式(interlaced),另一为渐进式图像。选择数字六使得任一扫瞄次序中,系数的最低频率2×2区块保存了。此可以参考DCT系数可以扫瞄的两种方式来了解,根据ISO/IEC 13818_2的MPEG_2规格,7.3节的“反扫瞄(Inverse scan)”所说明。
在选择做为当前TPE差额的函数编码(或是反过来说省略)的系数的范围时,我们可以选择不同限制给P-帧及B_帧。在目前的例子中,使用的是相同的限制。以下的表说明该差额与量化的系数范围间的关系。此参考在一MB(每一个MB具有四个流明(1uma)以及两个色度(chroma)8×8区块)的每一个8×8 DCT区块中编码的数字系数。
    如果deficit>     较低系数编码的范围:
    4.0*frame_budget     24
    4.2*frame_budget     12
    4.6*frame_budget     6
    4.8*frame_budget     1
如果dcficit(差额)≤4.0*帧frame_budget时,所有系数都编码。模式决定
图6说明根据本发明在一代码变换处理元件(TPE)处一框的处理。
在处理600中,如果要处理的当前为I-图像(步骤605),则初始化frame_left[P],frame_left[B]两项,而I_frame项设为一,指示该当前的帧为一I_frame。同时,该项prev_IP_bypassed设为真,而all_req项设为假。如果all_req项为真,在相同图像组GOP中每一个后续帧都在重新量化或是略过模式中处理。
prev_IP_bypassed(先前_IP_略过)设为真,表示该GOP先前的P(或是I)帧使用该略过模式处理。其指示在该代码变换器的“重新建构缓冲器”(缓冲器351)为空的。若prev_IP_bypassed为假(即表示该代码变换器的重新建构缓冲器不是空的),避免略过该当前的帧。
frame_left[P]与frame_left[B]为到一GOP的前所留下的估计P与B帧数量。在GOP开始时,以下列方式初始化frame_left[P]与frame_left[B]:
frame_left[P]=在最後十个GOP中,每个GOP的平均P帧数;
frame_left[B]=在最後十个GOP中,每个GOP的平均B帧数
任何足够大的平均视窗(非十个GOP)都可以使用。在初始时,当先前数据不可用来做平均时,假设一正常值(以最通常使用的配置,如GOP长度=15,每一对P帧有两个B帧,即frame_left[P]=4,frame_left[B]=10)。
all_req(全部重新量化)为一二进位旗标,其于一GOP开始时重新设定,并且一旦一P或I帧已在重新量化模式中重新量化时设定。
如果该当前的图像不是一I图像,在步骤615中,初始化frame_left[P]与frame_left[B],而该I_frame项设为零,表示该当前帧不是I_frame。
在步I_frame616,如果一恐慌模式设定,在步骤618的处理向前进行。在步骤618,需要时,进行系数省略的操作,如先前所说明。特别地,如果该模式为“重新量化”或是“代码变换”,而且“差额”超过临界值(在表中所定义),则使用系数降低的操作。
在步骤700,该处理模式选择使用图7中的处理器700。选择代码变换,略过或是重新量化模式。
在步骤620,如果该当前的图像为一B_picture,其使用在步骤650所分配的模式处理。在步骤655,该deficit与T(pic_type,mode)项更新。
在步骤625,如果当前图像的模式为“略过”,而且在步骤630的prev_IP_bypass为真,则该帧在步骤650处理。
在步骤630,如果prev_IP_bypass为假,则all_req在步骤645设为真。
在步骤635,prev_IP_bypass设为假。在步骤640,如果当前帧要该重新量化模式处理的话,处理继续在步骤645进行。否则,处理在步骤650继续。
图7说明根据本发明在一代码变换处理元件(TPE)处一帧处理模式的选择。
在步骤702,如果该all_req或恐慌模式已引发,处理继续在步骤745进行。当“差额”超过临界值(如4.0*frame_budget,如在表中所定义)时,恐慌模式引发。在恐慌模式中,该帧不是略过,就是用系数降低的重新量化模式处理。
如果frame_target<original_frame_size,该重新量化模式选择(步骤755)。original_frame_size为输入帧的比特数。否则,略过模式选择(步骤750)。frame_target(或是目标输出帧大小)为此帧产生于代码变换器输出的比特数。因为代码变换降低一帧中的比特数,如果该目标大于该帧中比特的输入数的话,不应进行代码变换或是重新量化。frame_budget为预算的循环数以处理该帧。
如果该all_req或恐慌模式为假(步骤702),处理继续进行于步骤705,cycles_tr与cycles_avail如所指示设定。如果每一帧以模式=代码变换来处理的话,cycles_tr为需要来处理该GOP剩余的帧的循环估计数。cycles_avail为可用的循环数(预算的),用来处理该频道剩余的帧。
假设frame_budget为在一多重频道TPE中一视频频道每帧的处理循环数。在TPE上的频道I,frame_budget的计算如以下:
frame_budget[i]=((该TPE的总处理能力,以每秒的循环数为单元)*comp[i]/(在该TPE上所有频道的复杂度和))*(1/该频道的帧速率)。
T(P,tr)为将一P帧代码变换所需的估计循环数。T(I,tr)与T(B,tr)分别以类似的方式对I与B的帧定义。该类变数T(P,req)、T([I,req]与T(B,req)为重新量化的估计值。T()的值从先前代码变换,或重新量化的帧所估计。在初始时,以某些正常值来做初始化设定。
在步骤710,如果cycles_tr>cycles_avail,则处理继续进行于步骤745。否则,处理继续进行于步骤715,如果当前的帧为一B帧,处理继续进行于步骤720,在此(步骤720)所需的处理循环更新。接着,在步骤725,如果cycles_req<frame_budget为假,处理继续进行于步骤745,如所述。如果cycles_req<frame_budget为真(步骤725),而prev_IP_bypassed为假(步骤730),该当前图像设定为代码变换模式(步骤740)。
如果prev_IP_bypassed为真(步骤730),而frame_target<orignal_frame_size(原始_frame_大小)为真(步骤735),则也同样对当前图像设定(步骤740)为“代码变换”模式。
如果prev_IP_bypassed为真(步骤730)并且frame_target<orignal_frame_size为假(步骤735),则会将当前图片设定(步骤750)为“略过”模式。
因此,可以看到本发明提供一个有效的视频处理器系统,其中对每一输入视频帧/图像来设定一处理模式,例如一全代码变换(使用运动补偿),一重新量化模式(不使用运动补偿),或是一略过模式。该处理模式的选择解决数个处理循环,其可用来处理一帧,及该帧的预期处理需求。
还有,为了避免代码变换器每一个输入缓冲器的溢位,以该输入缓冲器的帧储存容量来测量,当一处理循环差额太高时,使引发一恐慌状况。此时,选择略过或是重新量化模式,将该类帧快速通过该代码变换器。
虽然本发明以不同的具体实施例来沉明,但可以做不同的修正与调整,而不脱离本发明权利要求范围的精神。
例如,可以使用该模式选择演算法来选择一个“模式”来对一帧编码。“模式”的定义可以这样说,为运动寻找范围,使得不同的“模式”具有不同的处理循环需求。附图各部分符号说明
  100    多重处理器系统
  130    交换器
  140    分析器
  145    存储器
  155    控制器
160  代码变换器1
162  平滑缓冲器
170  代码变换器2
172  平滑缓冲器
180  代码变换器
182  平滑缓冲器
190  汇流排
195  多工器
197  传送器
300  代码变换器
300’代码变换器架构
310  解码器
315  可变长度解码器(VLD)
320  解量化器函数
325  反离散余弦变换(IDCT)函数
330  加法器
335  运动补偿(MC)
340  交换器
345  当前帧缓冲器(C_FB)
350  编码器
351  前一帧缓冲器(P-FB)
355  内/间模式交换器
360  加法器
365  运动估计(ME)函数
370  离散余弦变换(DCT)函数
375  量化器
380  变长度编码(VIC)函数
382  反量化器
384  反离散余弦变换(DCT)函数
386  加法器
390  当前帧缓冲器(C_FB)函数
392  P_FB
394  动补偿(MC)函数
396  交换器
400  代码变换器
410  VLD
420  反量化函数
430  量化函数
440  VLC函数
510  视频缓冲核验器(vbv)缓冲器
520  部分解码函数
530  平滑缓冲器
560  代码变换函数

Claims (27)

1.一种用以处理包含视频帧的视频数据的方法,其包括下列步骤:
在一处理器维持可供处理数据的处理循环数预算;
维持所述处理器处理所述视频数据所需的处理循环数的评估;
将所述视频数据提供给所述处理器;
其中所述处理器以多个模式操作;及
依据预算的处理循环数与所述所需处理循环的估计数间的关系,选择多个模式中的一个以处理每个视频帧。
2.如权利要求1所述的方法,其中:
针对每个视频帧选择其中一个模式。
3.如权利要求1所述的方法,其中:
处理每个视频帧之后,更新所述所需处理循环的估计数。
4.如权利要求1所述的方法,其中:
处理每个视频帧之后,更新所述预算的处理循环数。
5.如权利要求1所述的方法,其中:
当针对所述视频数据的图像组(GOP)中的I与P视频帧的一个视频帧选择一重新量化模式时,则也会对所述图像组(GOP)中所有后续P视频帧选择重新量化模式。
6.如权利要求1所述的方法,其中:
将所述预算的处理循环数和所述所需的处理循环估计数提供给所述视频数据的图像组(GOP)中剩余的帧。
7.如权利要求1所述的方法,其中:
与一当前视频帧关联的所述所需的处理循环的估计数是响应至少一以前的视频帧所消耗的实际处理循环数。
8.如权利要求1所述的方法,所述方法还包括下列步骤:
在处理所述类视频帧之前,将所述类视频帧储存于一与各自处理器关联的缓冲器中;其中:
所述缓冲器包含一平滑缓冲器,用以适应不同处理模式的视频帧在处理器中的可变处理时间。
9.如权利要求1所述的方法,其中:
所述处理器位于一多处理器装置中。
10.如权利要求1所述的方法,其中:
不同的处理模式具有不同的计算强度。
11.如权利要求1所述的方法,其中:
在所述处理器处理多个视频数据的频道,并且为对每个频道分别维持预算的处理循环数与所需的处理循环估计数。
12.如权利要求11所述的方法,所述方法进一步包括下列步骤:
针对每个各自频道决定是否有与当前的视频帧相关联的处理循环差额,其方式是依据一从所述各自频道的前一帧的接次页(carried-over)处理循环逆差(如果有的话),以及下列两项之间的差值:(a)各个频道的前一视频帧所使用的实际处理循环数,与(b)各个频道当前视频帧的预算处理循环数。
13.如权利要求12所述的方法,其中:
当决定了总处理循环逆差超过一预定程度时,选择一重新量化模式,以降低各个频道的当前视频帧较高频率的离散余弦变换(DCT)系数。
14.如权利要求1所述的方法,其中:
所述的模式包括一全代码变换模式,与一略过模式,和一略过模式。
15.如权利要求14所述的方法,其中
在所述全代码变换模式中,在一像素域中执行对所述的视频数据的运动补偿处理。
16.如权利要求14所述的方法,其中:
在所述重新量化模式中,所述视频数据在频率变换域中重新量化,而不执行运动补偿处理。
17.如权利要求14所述的方法,其中:
在略过模式中,视频数据略过运动补偿处理及重新量化。
18.如权利要求14所述的方法,所述方法还包括下列步骤:
针对每个各自频道决定是否有与当前视频帧相关联的处理循环差额,其方式是依据一从所述各个频道的前一帧的接次页(carried_over)处理循环差额(如果有的话),以及下列两项之间的差值:(a)各个频道的前一视频帧所使用的实际处理循环数,与(b)各个频道当前视频帧的预算处理循环数。
19.如权利要求18所述的方法,其中:
当决定当前视频帧有与之关联的处理循环逆差时,针对所述当前视频帧选择重新量化模式和略过模式中的一个模式。
20.如权利要求18所述的方法,其中:
所述处理循环差额是用来决定所需的处理循环的估计数。
21.如权利要求18所述的方法,其中:
所述处理循环逆差与所述视频数据的图像组的一余帧相关联。
22.如权利要求18所述的方法,其中:
为当前视频帧所选取的模式是依据与其相关联的处理循环差额是否有超过一预先决定的程度。
23.如权利要求18所述的方法,其中:
当与当前视频帧相关联的处理循环差额超过一预先决定程度时,针对所述当前视频帧选择重新量化模式和略过模式中的一个模式,
24.如权利要求18所述的方法,其中:
当选择了重新量化模式,且当与当前视频帧相关联的处理循环差额超过一预先决定程度时,降低所述当前视频帧中较高频率的离散余弦变换(DCT)系数。
25.如权利要求24所述的方法,其中:
所述的预定程度为一与所述处理器相关联的缓冲器的预期全满程度的函数,其中在处理之前将所述视频帧储存于所述缓冲器中。
26.如权利要求24所述的方法,其中:
根据当前视频帧的图像类型,使用不同程度的系数降低方式。
27.一种用以处理包含视频帧的处理视频数据的装置,其包括:
用以维持处理循环数的预算的装置,所述的处理循环可在用于处理数据的处理器处得到;
用以维持处理循环数的评估装置,所述的处理循环为用于处理视频数据的处理器所要求;
用以将所述视频数据提供给所述处理器的装置;
其中所述处理器以多个模式操作;及
用以依据预算的处理循环数与所述的所需处理循环的估计数间的关系,选择用以处理各个视频帧的所述模式中的一种模式的装置。
CNA018160158A 2000-09-20 2001-08-20 在视频多处理器系统中频道的处理模式的选择 Pending CN1531823A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/665,372 US6904094B1 (en) 2000-09-20 2000-09-20 Processing mode selection for channels in a video multi-processor system
US09/665,372 2000-09-20

Publications (1)

Publication Number Publication Date
CN1531823A true CN1531823A (zh) 2004-09-22

Family

ID=24669859

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA018160158A Pending CN1531823A (zh) 2000-09-20 2001-08-20 在视频多处理器系统中频道的处理模式的选择

Country Status (8)

Country Link
US (1) US6904094B1 (zh)
EP (1) EP1358764A2 (zh)
KR (1) KR20030090598A (zh)
CN (1) CN1531823A (zh)
AU (1) AU2001285057A1 (zh)
CA (1) CA2422125A1 (zh)
TW (1) TW527836B (zh)
WO (1) WO2002025950A2 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004518342A (ja) * 2001-01-12 2004-06-17 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ スケーラブルビデオトランスコーディング方法及び装置
KR20030009669A (ko) * 2001-07-23 2003-02-05 삼성전자주식회사 다채널 영상 부호화기 및 그 부호화 방법
US7145946B2 (en) * 2001-07-27 2006-12-05 Sony Corporation MPEG video drift reduction
US7675972B1 (en) * 2001-07-30 2010-03-09 Vixs Systems, Inc. System and method for multiple channel video transcoding
US7170938B1 (en) * 2001-08-21 2007-01-30 Cisco Systems Canada Co. Rate control method for video transcoding
US7173947B1 (en) * 2001-11-28 2007-02-06 Cisco Technology, Inc. Methods and apparatus to evaluate statistical remultiplexer performance
FR2837330B1 (fr) * 2002-03-14 2004-12-10 Canon Kk Procede et dispositif de selection d'une methode de transcodage parmi un ensemble de methodes de transcodage
EP1501310A4 (en) * 2002-04-26 2012-07-11 Nec Corp DATA CODE IMPLEMENTATION / TRANSMISSION METHOD AND DEVICE FOR MOBILE PICTURES, CODE IMPLEMENTING / RECEIVING METHOD AND DEVICE
US7522586B2 (en) * 2002-05-22 2009-04-21 Broadcom Corporation Method and system for tunneling wideband telephony through the PSTN
US7515634B2 (en) * 2002-06-28 2009-04-07 Qualcomm Incorporated Computationally constrained video encoding
US7606305B1 (en) * 2003-02-24 2009-10-20 Vixs Systems, Inc. Method and system for transcoding video data
US7327784B2 (en) * 2003-02-24 2008-02-05 Vixs Systems, Inc. Method and system for transcoding video data
WO2004092888A2 (en) * 2003-04-07 2004-10-28 Modulus Video, Inc. Scalable array encoding system and method
WO2004114667A1 (en) * 2003-06-16 2004-12-29 Thomson Licensing S.A. Encoding method and apparatus enabling fast channel change of compressed video
US7898951B2 (en) * 2003-08-13 2011-03-01 Jones Farm Technology 2, Llc Encoding and transmitting variable bit streams with utilization of a constrained bit-rate channel
US8363717B2 (en) * 2005-05-17 2013-01-29 Canon Kabushiki Kaisha Image processing apparatus
GB2432985A (en) * 2005-12-05 2007-06-06 Univ Robert Gordon Encoder control system based on a target encoding value
TW200836130A (en) * 2007-02-16 2008-09-01 Thomson Licensing Bitrate reduction method by requantization
US20100017530A1 (en) * 2008-06-23 2010-01-21 Hitachi, Ltd. Priority-Based Physical Layer Transmission Rate Control For Video Streaming Over Wireless Networks
US8380053B2 (en) * 2008-12-08 2013-02-19 Texas Instruments Incorporated System and method for processing video
US8687685B2 (en) 2009-04-14 2014-04-01 Qualcomm Incorporated Efficient transcoding of B-frames to P-frames
US8706895B2 (en) * 2010-12-07 2014-04-22 Bmc Software, Inc. Determination of quality of a consumer's experience of streaming media
US9386267B1 (en) * 2012-02-14 2016-07-05 Arris Enterprises, Inc. Cooperative transcoding to multiple streams
JP6223224B2 (ja) 2014-02-21 2017-11-01 ルネサスエレクトロニクス株式会社 画像処理装置、及びその制御方法

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR970000683B1 (ko) * 1993-05-31 1997-01-16 삼성전자 주식회사 해상도 가변 적응적 화상압축/복원방법 및 장치
US5838686A (en) * 1994-04-22 1998-11-17 Thomson Consumer Electronics, Inc. System for dynamically allocating a scarce resource
JPH0837662A (ja) 1994-07-22 1996-02-06 Hitachi Ltd 画像符号化復号化装置
US5623312A (en) 1994-12-22 1997-04-22 Lucent Technologies Inc. Compressed-domain bit rate reduction system
US5513181A (en) 1995-02-17 1996-04-30 At&T Corp. Multi-signal multi-coder transcoder
US5563884A (en) * 1995-03-27 1996-10-08 Zenith Electronics Corporation Reducing multiplex jitter in an ATM/MPEG system
US5694170A (en) 1995-04-06 1997-12-02 International Business Machines Corporation Video compression using multiple computing agents
JP4223571B2 (ja) 1995-05-02 2009-02-12 ソニー株式会社 画像符号化方法及び装置
US6192081B1 (en) * 1995-10-26 2001-02-20 Sarnoff Corporation Apparatus and method for selecting a coding mode in a block-based coding system
US5686964A (en) * 1995-12-04 1997-11-11 Tabatabai; Ali Bit rate control mechanism for digital image and video data compression
US5650860A (en) 1995-12-26 1997-07-22 C-Cube Microsystems, Inc. Adaptive quantization
JP3355964B2 (ja) * 1996-10-29 2002-12-09 ケイディーディーアイ株式会社 適応直交変換モード判定方法
US6037985A (en) * 1996-10-31 2000-03-14 Texas Instruments Incorporated Video compression
US5986709A (en) 1996-11-18 1999-11-16 Samsung Electronics Co., Ltd. Adaptive lossy IDCT for multitasking environment
EP0851656A1 (en) 1996-12-23 1998-07-01 HE HOLDINGS, INC. dba HUGHES ELECTRONICS System and method for high resolution video compression by tiling
US5949490A (en) 1997-07-08 1999-09-07 Tektronix, Inc. Distributing video buffer rate control over a parallel compression architecture
US6690833B1 (en) * 1997-07-14 2004-02-10 Sarnoff Corporation Apparatus and method for macroblock based rate control in a coding system
SG116400A1 (en) * 1997-10-24 2005-11-28 Matsushita Electric Ind Co Ltd A method for computational graceful degradation inan audiovisual compression system.
US5986712A (en) * 1998-01-08 1999-11-16 Thomson Consumer Electronics, Inc. Hybrid global/local bit rate control
US6167084A (en) * 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
WO2000021302A1 (en) 1998-10-02 2000-04-13 General Instrument Corporation Method and apparatus for providing rate control in a video encoder
US6507616B1 (en) * 1998-10-28 2003-01-14 Lg Information & Communications, Ltd. Video signal coding method
AU3590200A (en) 1999-02-04 2000-08-25 General Instrument Corporation Video rate-buffer management scheme for mpeg transcoder
US6639942B1 (en) * 1999-10-21 2003-10-28 Toshiba America Electronic Components, Inc. Method and apparatus for estimating and controlling the number of bits
US6490320B1 (en) * 2000-02-02 2002-12-03 Mitsubishi Electric Research Laboratories Inc. Adaptable bitstream video delivery system
US6671320B1 (en) * 2000-06-16 2003-12-30 Lucent Technologies Inc. CIF to QCIF video bitstream down conversion

Also Published As

Publication number Publication date
TW527836B (en) 2003-04-11
WO2002025950A3 (en) 2003-08-28
WO2002025950A2 (en) 2002-03-28
EP1358764A2 (en) 2003-11-05
KR20030090598A (ko) 2003-11-28
CA2422125A1 (en) 2002-03-28
US6904094B1 (en) 2005-06-07
AU2001285057A1 (en) 2002-04-02

Similar Documents

Publication Publication Date Title
CN1531823A (zh) 在视频多处理器系统中频道的处理模式的选择
CN1190085C (zh) 可配合图像群结构中改变的统计式复用器及再复用器
CN1242620C (zh) 用于数字视频记录的基于代码转换器的自适应量化
CN1183488C (zh) 图像编码数据变换装置
KR101091479B1 (ko) 인트라 예측 모드에 따른 레지듀얼 블록들의 적응형 변환
CN1315118A (zh) 压缩与未经压缩的数字视频信号的统计式多路转接的动态位分配
CN1315328C (zh) 在一统计式多工器中决定传输比特率的方法及装置
US8848787B2 (en) Enhancement layer coding for scalable video coding
CN1726709A (zh) 利用基于图像的超前查看窗口进行速率控制
CN1183770C (zh) 视频信号编码系统控制器
CN1347620A (zh) 转换mpeg-2 4:2:2-轮廓位流为主轮廓位流的方法及架构
CN1240226C (zh) 有漂移补偿的视频代码转换器和用于补偿漂移的设备
CN1192105A (zh) 图象压缩/编码装置及其方法
CN1941915A (zh) 视频编码方法及装置
CN1816151A (zh) 图框层速率控制的视讯编码方法和系统
US7801213B2 (en) Method and apparatus for modifying a data rate of a video signal
CN1794815A (zh) 产生对图像或图像序列进行编码的量化矩阵的方法和设备
CN1418436A (zh) 图像编码方法和图像编码器
CN1627824A (zh) 位流控制的后处理过滤
CN1357200A (zh) 使用多个可编程处理器的多信道mpeg视频代码转换器
CN101035286A (zh) 信号处理器
CN1893657A (zh) 用于视频编码器的编码位率控制方法及系统
CN1302419A (zh) 缩放压缩的图象
CN1231102A (zh) 图像编码控制装置和方法、编码系统、传输系统及广播系统
CN1650629A (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
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication