JP3583432B2 - 不足する資源を動的に割り当てるシステム - Google Patents

不足する資源を動的に割り当てるシステム Download PDF

Info

Publication number
JP3583432B2
JP3583432B2 JP52760595A JP52760595A JP3583432B2 JP 3583432 B2 JP3583432 B2 JP 3583432B2 JP 52760595 A JP52760595 A JP 52760595A JP 52760595 A JP52760595 A JP 52760595A JP 3583432 B2 JP3583432 B2 JP 3583432B2
Authority
JP
Japan
Prior art keywords
bit rate
signal
assignment
allocation
channel
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 - Lifetime
Application number
JP52760595A
Other languages
English (en)
Other versions
JPH09512400A (ja
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.)
Technicolor USA Inc
Original Assignee
Thomson Consumer Electronics Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thomson Consumer Electronics Inc filed Critical Thomson Consumer Electronics Inc
Publication of JPH09512400A publication Critical patent/JPH09512400A/ja
Application granted granted Critical
Publication of JP3583432B2 publication Critical patent/JP3583432B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • H04J3/1682Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers
    • H04J3/1688Allocation of channels according to the instantaneous demands of the users, e.g. concentrated multiplexers, statistical multiplexers the demands of the users being taken into account after redundancy removal, e.g. by predictive coding, by variable sampling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/16Time-division multiplex systems in which the time allocation to individual channels within a transmission cycle is variable, e.g. to accommodate varying complexity of signals, to vary number of channels transmitted
    • 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/124Quantisation
    • 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/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26275Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for distributing content or additional data in a staggered manner, e.g. repeating movies on different channels in a time-staggered manner in a near video on demand system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4347Demultiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central
    • 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
    • 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/152Data rate or code amount at the encoder output by measuring the fullness of the transmission buffer

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

本発明は、ユーザからの資必要量指示に応じて、複数の競合するユーザ間で不足する乏資源を動的に割り当てるシステムに関する。
発明の背景
不足する資源を複数のユーザ間で共有させることが必要になることがよくある。例えば、それぞれのソース(これはテレビジョン・ネットワーク給電線(television network feeds)やテレビジョン・ステーション、その他のビデオ・ソースである場合がある)からの複数のビデオ信号は結合されて、衛星リンクを経由して消費者の家庭のそれぞれのテレビジョン受信装置へブロードキャストすることが可能である。衛星リンクの例としては、毎秒24メガビット(ZMbps)の伝送能力をもつディジタル伝送経路がある。この種のリンクの効率と利用効率を最大にするためには、複数のビデオ信号がリンクを共有する必要がある。例えば、上記の衛星伝送リンクを少なくとも6つのビデオ信号チャネル間で共有することが望ましい場合がある。この場合、不足する資源は衛星伝送リンクにおけるバンド幅、つまり、ビットレートである。この資源は、伝送システムにおいては、伝送リンクのバンド幅またはビットレートの一部をビデオ信号の各々に割り当てることによって共有されている。
多重化機能を実行する1つの公知方法は、VBRエンコーダの問題のいくつかを解決することを試みているが、この方法では、各チャネル用に一定ビットレート(constant bit rate:CBR)エンコーダを使用している。この種のシステムでは、各チャネルからのビデオ信号はCBRエンコーダに入力されている。CBRエンコーダは、そこに入力されたビデオ信号を表す、ディジタルに符号化されたビットストリームを、あらかじめ決められた一定ビットレートで出力している。一定ビットレートの信号を出力するために、CBRエンコーダはビデオ信号が符号化される量子化レベルの数を絶えず変更している。使用する量子化レベルを少なくすると、これらのレベルを表すために必要なビット数が少なくなるので、ビデオ信号を表すために必要な総ビット数は減少する。逆に、使用する量子化レベルが多くなると、これらのレベルを表すために必要なビット数が多くなるので、イメージを表すために必要な総ビット数は増加する。
しかるに、イメージを表す符号化信号において量子化レベルを変えると、符号化信号から再現されたイメージの品質がこれに応じて変化することになる。使用する量子化レベルを少なくすると、使用する量子化レベルが多い場合よりも、再現イメージの品質が低下することになる。従って、CBRエンコーダでは、空間的および/または時間的に複雑なイメージを表すビデオ信号は、再現イメージの品質が複雑でないイメージの品質よりも低くなるように符号化されている。
CBRエンコーダは一定ビットレートを出力するので、複数のこの種のエンコーダからのビデオ信号の多重化制御は単純化される。各エンコーダには、伝送リンクの総利用可能ビットレートの割当量(quota)を表すビットレートがアプリオリ(a priori)に割り当てられている。ある公知の割当て方法では、伝送リンクの総ビットレートの等分を各エンコーダに割り当てている。しかるに、異なるプログラム・タイプを表すビデオ信号は、内在的に複雑度(complexity)が異なっている。例えば、バスケットボール・ゲームを伝送するビデオ・チャネルは、パネル・ディスカッションを伝送するものよりも複雑度がはるかに大きくなっている。従って、バスケットボール・ゲームを表す符号化ビデオ信号から再現されたイメージの品質は、パネル・ディスカッションのそれよりも低くなる(大幅に低くなることもある)。
もう1つの公知の割当て方法はこの問題を解決することを試みているが、この方法では、符号化される信号の予想イメージ複雑度に基づいて、異なるビットレートを各CBRエンコーダにアプリオリに割り当てている。従って、バスケットボール・ゲームを伝送するチャネルには、パネル・ディスカッションを伝送するチャネルよりも伝送リンクの総ビットレートの大きな割合が割り当てられることになる。このような割当て方法によると、バスケットボール・ゲームとパネル・ディスカッションを表す符号化信号から再現されたイメージの品質はより等しくなる。
さらに別の公知の割当て方法では、信号のプロバイダによる支払額に基づいて伝送リンクの総ビットレートの割合をチャネルに割り当てている。プロバイダがチャネルの伝送に支払う額が多ければ、そのチャネルに割り当てられる伝送リンクの総ビットレートの割合が大になるので、そのチャネルを利用する符号化信号から再現されたイメージの品質は良好化することになる。
発明の概要
しかるに、本願の発明者は、ビデオ信号の複雑度が常にアプリオリ(a priori)に規定できるとは限らないことを認識した。例えば、ニュース放送は複雑度が非常に低いシーン(例えば、デスクの背後に座ってニュースを読んでいるニュース・リーダ)を含み、それと共に、複雑度が非常に高いシーン(例えば、バスケットボール・ゲームのビデオ・クリップ)が散在している。このようなビデオ・チャネルに、伝送リンクの総ビットレートの高い部分がアプリオリに割り当てられたとすると、バスケットボール・ゲームのシーンは許容し得る品質で再現されることになるが、ニュース・リーダのシーンは余りにも高品質で、言い換えれば、必要以上に多いビットで符号化されることになる。逆に、このようなビデオ・チャネルに、伝送リンクの総ビットレートの低い部分が割り当てられていれば、ニュース・リーダのシーンは妥当なビット数を使用して許容し得る品質で再現されることになるが、この割り当てられたビットレートはバスケットボール・ゲームのシーンを許容し得る品質で再現するには不十分であることになる。
さらに、発明者は、各ビデオ・ソースは、平均的に、上記ニュース放送と同じように特徴づけることができるこを認識した。つまり、商業的に関心のある、ほとんどすべてのビデオ信号は複雑度の高いシーンを含み、それと共に、複雑度の低いシーンが散在している。また、発明者は、複雑度の異なるシーンは時間的に相関関係がないことも認識した。さらに、発明者は、どのフレーム周期の期間においても、異なるチャネルのイメージは複雑度が異なること、これらの複雑度の変化も時間的に相関関係がないことを知った。
伝送リンク・ビットレートの不足する資源を、各ユーザの必要量に基づいて動的に割り当てることが望ましいことが判明している。上記の例では、チャネルの現在のイメージ(画像)複雑度に基づいて、ビットレートを異なるチャネルに動的に割り当てることが望ましい。すべてのチャネル用に現在伝送されているイメージの複雑度は評価され、伝送リンクの総ビットレートの割当分は、そのチャネルの現在のイメージの複雑度とすべてのチャネルのイメージの総複雑度との関係となんらかの方法で対応するように、各チャネルに割り当てられる。
本発明の原理によれば、資源を動的に割り当てるシステムは、複数の資源ユーザと、複数の資源ユーザ間で共有可能な最大の利用レベルをもつ資源とを含んでいる。複数の必要量アナライザ(need analyzer)はそれぞれの資源ユーザと関連づけられていて、各々が関連資源ユーザによる資源の相対的必要量を表している、それぞれの信号を動的に生成する。複数のアクセス・コントローラはそれぞれの資源ユーザと関連づけられていて、割当て信号に応答して関連ユーザによる資源へのアクセスを制御する。資源アロケータ(resource allocator)は、関連ユーザの割当て資源利用レベルを表している割当て信号を、必要量アナライザからの複数の必要量を表す信号に応答して動的に生成する。
【図面の簡単な説明】
図1は、本発明によるマルチプレクサ・システムを示すブロック図である。
図2は、図1に示すマルチプレクサ・システムで使用できるチャネル・プロセッサを示すブロック図である。
図3は、図2に示すチャネル・プロセッサで使用できるMPEGエンコーダ(符号器)の一部を示すブロック図である。
図4は、図1に示すマルチプレクサ・システムで使用できるビットレート・アロケータを示すブロック図である。
図5は、図3に示すMPEGエンコーダで使用できるレギュレータを示す詳細ブロック図である。
図6、図7および図8は、複雑度情報のサンプリングを示すタイミング図である。
好ましい実施例の詳細な説明
図1は、本発明に従ったマルチプレクサ・システムを示すブロック図である。図1において、すべての信号経路は単一の信号ラインで示されている。しかし、この分野の精通者ならば理解されるように、図示の信号経路はマルチビット・ディジタル信号をパラレル(並列)で伝達することも、シリアル(直列)で伝達することも可能である。パラレルで伝達する場合は、信号経路は複数の信号ラインで構成されることになり、シリアルで伝達する場合は、信号経路は単一データ・ラインにすることも、および/またはデータ・クロック信号ラインを含めることも可能である。本発明を理解することと密接な関係のない他の制御信号経路とクロック信号経路は、図を簡略化するために図には示されていない。
図1に示すように、複数の入力端子5はビデオ信号(CHANNEL 1−CHANNEL K)のソース(図示せず)に結合され、これらの信号はデータ・リンクを経由して一緒に伝送されるものである。複数の入力端子5は、対応する複数のチャネル・プロセッサ10のそれぞれのデータ入力端子に結合されている。複数のチャネル・プロセッサ10のそれぞれのデータ出力端子はマルチプレクサ(MUX)20の対応するデータ入力端子1−Kに結合されている。マルチプレクサ20のデータ出力端子はマルチプレクサ・システムの出力端子15に結合されている。出力端子15は、多重化されたデータ・ストリーム(MUX'ED DATA)を伝送リンク経由で伝送するために利用回路(図示せず)に結合されている。
複数のチャネル・プロセッサ10の各々はさらに、複雑度出力端子と制御入力端子も備えている。複数のチャネル・プロセッサの各々のそれぞれの複雑度出力端子はビットレート・アロケータ(bit rate allocator)30の対応する複雑度入力端子に結合されており、ビットレート・アロケータ30のそれぞれの割当量出力端子(quota output terminal)は複数のチャネル・プロセッサ10の対応する制御入力端子に結合されている。
動作時には、各チャネル・プロセッサは、次の割当量周期(guota period)の間に割り当てられたビットレートを表す信号をその制御入力端子から受信する。次にチャネル・プロセッサは、次の割当量周期の間に、そのデータ入力端子に現れた信号を割り当てられたビットレートでディジタル符号化信号に符号化する。この符号化データ信号はマルチプレクサ20の対応する入力端子に入力される。マルチプレクサ20は公知のように動作し、すべてのチャネル・プロセッサからの信号を結合して多重化データ・ストリームにする。多重化データ・ストリームは、データ・リンクを構成する回路に入力され、これも公知のように伝送される。
符号化プロセス期間に、チャネル・プロセッサ10は符号化される信号の符号化複雑度を表す信号をその複雑度出力端子から出力する。ビットレート・アロケータ30はチャネル・プロセッサ10の複雑度出力端子から信号を受信し、複雑度信号のすべてに基づいて、次の割当量周期の間のビットレート割当量を複数のチャネル・プロセッサ10間で動的に調整する。好ましい実施例では、複雑な信号には、複雑でない信号よりも相対的に高いビットレートが動的に割り当てられるようになっている。ビデオ信号の複雑度を判断し、その複雑度に基づいてビットレートを割り当てるいくつかの方法については、以下で説明する。
図2は、図1に示すマルチプレクサ・システムで使用できるチャネル・プロセッサを示すブロック図である。図2において、図1に示すエレメントと類似のエレメントは同一参照符号で示し、以下では詳しく説明することは省略する。図2に示すように、データ入力端子5はビデオ信号ソース(図示せず)に結合されている。データ入力端子5は一定ビットレート・エンコーダ(constant bit rate encoder−CBR)14のデータ入力端子と複雑度アナライザ(complexity analyzer)16に結合されている。CBRエンコーダ14のデータ出力端子はマルチプレクサ(MUX)20(図1)の入力端子に結合されている。チャネル・プロセッサ10の制御入力端子(CONTROL)はCBRエンコーダ14の割当量入力端子Qに結合されている。複雑度アナライザ16の出力端子はチャネル・プロセッサ10の複雑度出力端子(COMPLEXITY)に結合されている。
動作時には、複雑度アナライザ16はデータ入力端子5のビデオ信号の複雑度を分析する。複雑度アナライザ16の出力端子に生成される信号は、入力信号の複雑度を表している。複雑度を表す信号はビットレート・アロケータ30(図1)に入力される。この複雑度信号(および他のチャネル・プロセッサ10の複雑度信号)に応答して、ビットレート・アロケータ30は、そのチャネル・プロセッサ10(および他のチャネル・プロセッサ10)の制御入力端子(CONTROL)へ信号を供給し、この信号はそのチャネル・プロセッサ10に割り当てられたビットレートを表している。CBRエンコーダ14は、そのデータ入力端子とデータ出力端子間にデータ経路をもち、一定ビットレートで符号化された出力信号を出力する。一定ビットレートは、ビットレート・アロケータ30からのチャネル・プロセッサ10の制御入力端子(CONTROL)からの割当量入力端子Qにおける信号に応答してセットされる。
CBRエンコーダ14内の回路は、その分析を行う際に複雑度アナライザ16によって利用することも可能である。そのような場合には、図2に破線で示すように、データはCBRエンコーダ14内部から直接に複雑度アナライザ16に渡される。CBRエンコーダ14からのこのようなデータは、入力端子5からのデータを補足することも、そのデータと完全に入れ替わることもできるが、後者の場合には、複雑度アナライザとデータ入力端子5とは直接に接続されない。
好ましい実施例では、各CBRエンコーダ14は、動画専門家グループ(Moving Pictures Expert Group−MPEG)が公表した標準に従ってビデオ信号を圧縮・符号化するエンコーダであり、MPEGエンコーダと呼ばれている。図3は、MPEGエンコーダ14の一部を示すブロック図である。MPEGエンコーダ14の公知コンポーネントは以下で詳しく説明することは省略する。MPEGエンコーダには他のエレメントもあるが、これらは本発明を理解することとは無関係であるので、図面を簡略化するために図示されていない。
図3に示すように、MPEGエンコーダ14のデータ入力端子5(DATA IN)は圧縮・符号化しようとするビデオ信号のソース(図示せず)に結合されている。入力端子5はフレーム・バッファ41の入力端子に結合されている。フレーム・バッファ41は複数のフレーム周期バッファまたはディレイラインと、異なっているが時間的に隣り合うフレームまたはピクチャの部分を表す、それぞれの信号を出力するための複数の出力端子とを備えている。フレーム・バッファ41の複数の出力端子は動き予測器(motion estimator)42の対応する入力端子に結合されている。動き予測器の出力端子は離散コサイン変換(discrete cosine transform−DCT)回路43に結合されている。DCT回路43の出力端子は可変量子化回路(variable quantizer−Qu)回路46のデータ入力端子に結合されている。可変量子化回路46の出力端子は可変長コーダ(variable length coder−VLC)47の入力端子に結合されている。VLC47の出力端子は出力バッファ48の入力端子に結合されている。出力バッファ48のデータ出力端子はMPEGエンコーダ14のデータ出力端子(DATA OUT)に結合されている。MPEGエンコーダ14のデータ出力端子(DATA OUT)はマルチプレクサ20(図1の)の対応する入力端子に結合されている。
出力バッファ48のステータス出力端子はビットレート・レギュレータ49のステータス入力端子に結合されている。ビットレート・レギュレータ49の制御出力端子は可変量子化器(variable quantizer)46の制御入力端子に結合されている。MPEGエンコーダ14の割当量入力端子Qはビットレート・アロケータ30の対応する割当量出力端子に結合されている。MPEGエンコーダ14の割当量入力端子Qはレギュレータ49の制御入力端子に結合されている。
動作時には、MPEGエンコーダ14は公知のように動作して、その入力端子に現れたビデオ信号を、そのQ入力端子に現れた信号によって決まるビットレートで次の割当量周期の間に圧縮・符号化する。以下の例では、MPEGエンコーダが12ピクチャまたはフレームからなるグループ(GOP)に分割されたビデオ信号を符号化する場合について説明する。なお、当然に理解されるように、GOPにおけるピクチャまたはフレーム数は可変である。また、以下の例では、各MPEGエンコーダ用のビットレート割当ては各GOPごとに一度更新されるものと想定している。つまり、割当量周期がGOP期間であるものと想定している。なお、この場合も当然に理解されるように、割当量周期は異なる場合があり、時間の経過と共に変化する場合もある。
フレーム・バッファ41は、例示のGOP内の12フレームのうち現在符号化されている部分を表しており、動き予測を行うために必要なデータを受信し、ストアする。その方法については、以下で説明する。このデータは動き予測器42に渡される。好ましい実施例では、12フレームまたはピクチャの最初の1つは参照フレーム(Iフレーム)として使用され、動き予測器を経由してDCT回路43へ渡される。残りのフレームについては、各ピクチャまたはフレームに含まれる複数の16ピクセル×16ライン・ブロックの各々ごとに、動きベクトル(motion vector)が先行フレーム(Pフレーム)単独から、あるいは先行フレームと後続フレーム(Bフレーム)の両方からインタポレートされたものから、動き予測器42で生成される。なお、このブロックはMPEG標準ドキュメントではマクロブロック(macroblock)と名づけられている。上述したように、フレーム・バッファ41は、動き予測器が先行フレームまたは先行フレームと後続フレームからインタポレートしたものから予測を行うとき必要になるデータを格納している。特定フレームの生成された動きベクトルは、そのあと、予測しようとするフレームに含まれる実際のデータと比較され、動き差信号(motion defference signal)が生成され、DCT回路43に渡される。
DCT回路43では、Iフレームからの空間的データの16ピクセル×16ライン・マクロブロックとPフレームとBフレームからの動き差信号とは、6個の8ピクセル×8ライン・ブロック(4個のルミナンス・ブロック(luminance block)と、サブサンプリングされた2個のクロミナンス・ブロック(chrominance block))に分割される。なお、以下の説明では、これらのブロックはMPEG標準ドキュメントに従ってマクロブロックと呼ぶことにする。離散コサイン変換が各マクロブロックについて行われる。その結果得られたDCT係数の8×8ブロックは可変量子化器46に渡される。係数の8×8ブロックは量子化され、ジグザグ順にスキャンされ、VLC47に渡される。量子化されたDCT係数、およびGOPを表す他のサイド情報(符号化GOPのパラメータに関するもの)はVLC47でランレングス符号化(run−length coding)によって符号化され、出力バッファ48に渡される。
VLC47の出力ビットレートを制御し、もってMPEGエンコーダ14用に割り当てられた一定ビットレートを保つ最も直接的方法は、可変量子化器46でDCT係数の各ブロックを量子化するとき使用される量子化レベル数(言い換えれば、量子化ステップ・サイズ)を制御することであることは知られている。ビットレート・レギュレータ49から可変量子化器46に渡された制御信号Qはこの制御機能を実行する。ビットレート・アロケータ30(図1)からの連続的ビットレート割当量更新信号Q相互間の期間である割当量周期内に、ビットレート・レギュレータ49は制御信号を可変量子化器46へ送り、この制御信号はGOP内の各16×16マクロブロックが量子化されるレベル数を変更して、割り当てられたビットレートをその割当量周期の間維持するようにするが、これは公知である。この例では、ビットレート・レギュレータ49のビットレート割当ては、各チャネルにおけるビデオ信号の符号化複雑度値に応じて、各GOP期間ごとに変化するが、これについては以下で説明する。
好ましい実施例では、ビットレート・アロケータ30(図1)は、複数のチャネル・プロセッサ10内の種々回路コンポーネントに結合された接続個所をもつコンピュータ・システムである。図4はビットレート・アロケータ30を構成するハードウェアを示すブロック図である。図4に示すように、マイクロプロセッサ(μP)31は、コンピュータ・システム・バス35を介して読み/書きメモリ(RAM)32、リードオンリメモリ(ROM)33および入出力(I/O)コントローラ34に結合されている。コンピュータ・システムには、大量記憶デバイスやユーザ端末などの他のコンポーネントもあるが、これらは図面を簡単にするために図示されていない。入出力コントローラ34は、複数のチャネル・プロセッサ10(図1)の対応する複雑度出力端子に結合された複数の入力端子(COMPLEXITY)と、複数のチャネル・プロセッサ10の対応する割当量入力端子に結合された複数の出力端子(QUOTA)とをもっている。
マイクロプロセッサ31、RAM32、ROM33および入出力コントローラ34は公知のようにコンピュータ・システムとして動作して、ROM33に格納されたプログラムを実行し、データをRAM33にストアし、そこからデータを取り出し、入出力コントローラ34に接続されたデバイスとの間でデータを送受信する。複数のチャネル・プロセッサ10(図1)で符号化されるビデオ信号の現在の符号化複雑度を表しているデータは、これらのチャネル・プロセッサ34の対応する出力端子からCOMPLEXITY入力端子を経由して入出力コントローラ34で受信される。なお、これについては以下で説明する。このデータを受信したことは、例えば、ポーリングや割込みなどの公知の方法でマイクロプロセッサ31に通知される。マイクロプロセッサ31はこれらの信号を入出力コントローラ34からコンピュータ・システム・バス35経由で取り出し、エンコーダの各々ごとに次の割当量周期の間のビット割当量を判断し、その割当量を表している信号を、次の割当量周期の間にQUOTA出力端子を経由して複数のチャネル・プロセッサ10へ渡す。
MPEGエンコーダ14(図3)によって符号化されるビデオ信号の符号化複雑度を判断する好ましい方法では、各16×16マクロブロックの量子化スケール係数(quontization scale factor:QMBと呼ぶ)とそのマクロブロックを符号化するために使用されたビット数(TMBと呼ぶ)が、GOPの各ピクチャまたはフレームに含まれるすべてのマクロブロックについて使用されている。図5はMPEGエンコーダ14(図3)のビットレート・レギュレータ49と、符号化複雑度を表す信号を本発明の方法に従って生成する複雑度アナライザ16(図2)とを示すブロック図である。種々のクロック信号と制御信号は図面を簡略化するために図6には示されていない。なお、どのような信号が必要であるか、さらに、これらの信号の必要なタイミングと電圧特性は自明であるので、説明は省略する。
図5に示す複雑度アナライザ16は、図2に破線で示すようにCBRエンコーダ14からの情報だけを利用する複雑度アナライザの例である。図5に示すように、ビットレート・レギュレータ49は出力バッファ48(図3)のステータス出力端子に結合されたステータス入力端子TMBをもっている。ビットレート・レギュレータ49の制御出力端子QMBは可変量子化器46(図3)の制御出力端子に結合されている。レギュレータ49は、さらに、ビットレート・アロケータ30(図1)の対応する割当量出力端子に結合された制御出力端子(Q)をもっている。
ビットレート・レギュレータ49のステータス入力端子TMBは第1加算器92の第1入力端子にも結合されている。第1加算器92の出力端子は第1ラッチ93の入力端子に結合されている。第1ラッチ93の出力端子は乗算器94の第1入力端子と第1加算器92の第2入力端子に結合されている。乗算器94の出力端子は第2ラッチ95の入力端子に結合されている。第2ラッチ95の出力端子は符号化複雑度出力端子Xpicに結合されている。複雑度出力端子Xpicはビットレート・アロケータ30(図1)の対応する複雑度入力端子に結合されている。
ビットレート・レギュレータ49の制御出力端子QMBは第2加算器96の第1入力端子にも結合されている。第2加算器96の出力端子は第3ラッチ97の入力端子に結合されている。第3ラッチ97の出力端子は除算器(divider)98の分子入力端子Nと第2加算器96の第2入力端子に結合されている。除算器98の出力端子は乗算器94の第2入力端子に結合されている。レジスタ99は除算器98の分母入力端子Dに結合された出力端子をもっている。
動作時には、各マクロブロックごとに、ビットレート・レギュレータ49は可変量子化器46の量子化スケール係数信号QMBを、現在のビットレート割当量と先行ピクチャを符号化するために使用されたビット数に基づいて公知のように生成し、そのあと、そのマクロブロックを符号化するために使用されたビット数TMBを示している信号を出力バッファ48から受信する。可変量子化器46(図3)は、各マクロブロックに含まれるDCT係数を量子化スケール係数QMBに従って量子化する。量子化スケール係数QMBは量子化ステップ・サイズ、つまり、各量子化レベルにおいてDCT係数が全ダイナミックレンジに占めるパーセンテージを表している。QMBの値が高いときは、大きな量子化ステップ・サイズが存在し、従って、量子化レベルが少ないことを意味する。逆に、QMBの値が低いときは、小さな量子化ステップ・サイズが存在し、従って、量子化レベルが多いことを意味する。好ましい実施例では、QMBは5ビット整数(1と31の間の値をもつ)になっている。
次に、完全ピクチャまたはフレームに含まれるすべてのマクロブロックの平均量子化スケール係数(
Figure 0003583432
と呼ぶ)が以下のように計算される。各フレームまたはピクチャの始まりで、ラッチ93と97はクリア信号(図示せず)に応答してゼロにクリアされる。第2加算器96と第3ラッチ97の組合せはアキュムレータとして動作して、ビットレート・レギュレータ49からのマクロブロック量子化スケール係数QMBを連続的に加算する。これと同時に、第1加算器92と第1ラッチ93の組合せはアキュムレータとして動作して、フレームまたはピクチャを符号化するためにそれまでに使用されたビット数を連続的に加算する。
フレームまたはピクチャ内のマクロブロックのすべて(その数はNMBと呼ぶ)が処理されたとき、ラッチ97にはビットレート・レギュレータ49から得たマクロブロック量子化スケール係数QMBのすべての和が入っており、ラッチ93にはピクチャまたはフレームを符号化するために使用されたビットの全ての和Tpicが入っている。除算器98はピクチャまたはフレームに含まれる全マクロブロック量子化スケール係数QMBの総和を、ピクチャまたはフレームに含まれるマクロブロック数NMBで除した商を出力する。この商は、そのフレームまたはピクチャの平均量子化スケール係数
Figure 0003583432
である。乗算器94は
Figure 0003583432
とTpicの積を出力し、これはそのピクチャの符号化複雑度(coding complexity:Xpicと呼ぶ)である。つまり、
Figure 0003583432
である。ピクチャまたはフレームの終わりで、符号化複雑度信号Xpicはクロック信号(図示せず)に応答して第2ラッチ95にラッチされる。上述したサイクルは、符号化されるビデオ信号内の各フレームまたはピクチャごとに繰り返される。
次に、符号化複雑度Xpicはラッチ95からビットレート・アロケータ30(図4)の入出力コントローラ34の複雑度入力端子へ送られ、そこで残余の処理が行われて、GOPの符号化複雑度が得られる。GOPの符号化複雑度(XGOPと呼ぶ)はそのGOPに含まれる全ピクチャのXpicの総和である(式(1)を参照)。μP31は
Figure 0003583432
アキュムレータの働きをして、各Xpic値を入出力コントローラ34から取り出し、GOPに含まれる全フレームまたはピクチャにわたってその総和をとる。
GOP内のフレームまたはピクチャ数(Nと呼ぶ)は一般に一定のままになっている。Nが一定である間に、XGOPは、最新ピクチャの符号化複雑度値Xpicを加算し、その符号化複雑度値をGOPの最古ピクチャから減算することによって、スライディングウィンドウ単位で計算される。この場合には、XGOPの更新値は各フレームまたはピクチャのあとで得られる。なお、Nは変化することもある。Nが変化したときは、新たに定義されたGOPのXgopは、式(1)に示すように、新たに定義されたGOP内の新しい数の先行ピクチャからの符号化複雑度値Xpicの総和をとることによって計算しなければならない。
上述したように、異なるチャネルは異なるフレームまたはピクチャ・レートで動作することが起こり得る。例えば、標準ビデオ・フレーム・レート(米国の場合)は毎秒29.97フレームであり、フィルムイメージでは毎秒24フレーム、カートーンでは毎秒15フレームである。また、チャネルが異なると、GOPに含まれるピクチャまたはフレーム数が異なることも起こり得る。従って、チャネルが異なると、GOP時間周期が異なることが起こり得る。そのような条件下でチャネルにビットを正確に割り当てるためには、そのようなことが起こったときの複数のチャネルのGOP符号化複雑度値は、各チャネルについて式(1)で得たGOP複雑度値を、そのチャネルのGOP時間周期(GOPtimeと呼ぶ)で除することにより、ビットレート・アロケータ30で時間正規化される(式(2)を参照)。正規化されたGOP符号化複雑度値
Figure 0003583432
(XnormGOPと呼ぶ)は、ビットを異なるチャネル間で割り当てるために使用される。こうようなシステムで複雑度値をサンプリングし、割当量を生成するタイミングについては、以下で詳しく説明する。
図5に戻って説明すると、上述したように、各マクロブロックごとに、ビットレート・レギュレータ49は可変量子化器46に対して量子化スケール係数信号QMBを生成し、そのあと、そのマクロブロックを符号化するために使用されたビット数TMBを示す信号を出力バッファ48から受信する。これらの信号は、別の方法として、ビットレート・アロケータ30(図4)内の入出力コントローラ34へ直接に送ることも可能である。そのあと、μP31は該当の符号化複雑度測定値を内部で計算することができる(式(1)または式(1)と(2)から)。
さらに、伝送を単純化するために、各ピクチャの符号化複雑度値Xpicをスケーリングすることが可能である。好ましい実施例では、この値は、乗算器94のあとで8ビット数にスケーリングされている。このスケーリングされた値はビットレート・アロケータ30(図4)に渡される。コンピュータ・システムは、Nが変化した場合に符号化複雑度値の再計算を可能にするといった他の理由で、ピクチャ複雑度値Xpicのファイルを、例えば、大量記憶デバイス(図示せず)に保管しておくことが望ましい場合もある。一時間の8ビットXpic値をストアするには、標準ビデオでは108キロバイト(KB)、フィルムでは86KBが必要になる。
以下の説明では、Xiは、i番目のチャネル・プロセッサからのXGOP(すべてのチャネルが同じGOP時間周期を持つ場合)またはXnormGOPのうち現在利用可能であって、該当するものを表している。ビットレート・アロケータ30(図1)は、次の割当量周期の間の伝送リンクにおける利用可能ビット数の割当てを表しているそれぞれの割当量(Q)信号を、複数のチャネル・プロセッサ10を構成するK個のチャネル・プロセッサのすべてからの符号化複雑度値Xiに基づいて生成する。マルチプレクサ20(図1)の出力端子からの、あらかじめ決められた伝送リンク・ビットレート(Rと呼ぶ)は、i番目のプロセッサがRiと名づけたビットレート割当てを受け取るように、複数のチャネル・プロセッサ10間で割り当てられる。
伝送リンクにおけるビットレートを異なるチャネルに割り当てる1つの方法は複数のチャネル・プロセッサ10(図1)のすべてについて(上述したようにスライディング・ウィンドウ単位で)先行GOP周期の現在利用可能な符号化複雑度Xiに基づいたリニア割当て(linear allocation)である。この方法では、各プロセッサiは、そのエンコーダの符号化複雑度Xiがすべてのエンコーダの総符号化複雑度と係わりがあるので、総ビット容量Rの同一割当量Riを受け取る(式(3)を参照)。
Figure 0003583432
なお、下限ビットレート割当て以下になると、再現イメージの品質が急激に低下することが分かっている。さらに、図示の実施例では、次の割当量周期の間のビットレート割当ては、先行GOPからの複雑度測定値に依存している。従って、シーンが単純なイメージから複雑なイメージに変化する場合は、新しいシーンの割当てが先行の単純シーンに基づいているので、新しい複雑なシーンを符号化するために割り当てられたビット数が不足することになる。
伝送リンクにおけるビットレートを異なるチャネルに割り当てる別の方法によれば、各エンコーダiへの最小ビットレート割当てRGiが保証され、式(3)に示すように、残りのビットは線形的に割り当てられる(式(4)を参照)。各チャネル
Figure 0003583432
に保証される最小ビットレートは、そのチャネル経由で伝送されるビデオの予想される総複雑度および/またはビデオ信号のプロバイダに対するチャネルの値段に応じて異なる場合がある。
伝送リンクにおけるビットを異なるチャネルに割り当てる、さらに別の方法によれば、各エンコーダiに重み係数Piを用意し、重み係数Piで重み付けされた符号化複雑度値Xiに応じてビットを比例的に割り当てている(式(5)を参照)。式の最小保証割当て方法と同じように、重み係数Piはチャネル経由で伝送されるビデオ信号の予想される総複雑度および/またはビデオ信号のプロバイダに対するチャネルの値段によって左右される場合がある。
Figure 0003583432
伝送リンクにおけるビットを異なるチャネルに割り当てる好ましい方法は、式(5)の重み付け割当て方法と式(4)の最小保証割当て方法を組み合わせたものである。この方法では、各チャネルには最小割当てが保証され、残余のビットは重付け按分法で割り当てられる(式(6)を参照)。
Figure 0003583432
上述したように、最小保証割当てと重み係数は、チャネル経由で伝送されるビデオ信号の予想される総複雑度および/またはビデオ信号のプロバイダに対するチャネルの値段によって左右される場合がある。
システムの他のパラメータに応じてビット割当てRiをさらに改善することが可能である。例えば、上限ビットレート割当値を越えると、再現イメージの品質が改善しないことが分かっている。従って、この上限割当値を越えてビットを割り当てることは、伝送リンクにおけるビットを無駄に消費することになる。また、伝送リンクの運用者には、各チャネルごとに上記最大ビットレート割当てRmax(これは上記の上限ビットレート割当値を反映する場合がある)および/または最小ビットレート割当てRminが課される場合もある。
さらに、ビットレート制御が変動する可能性を最小にし、従って、ビットレート制御の安定性を最大にするためには、あるチャネルの、ある割当量周期から次の割当量周期までのビットレート割当ての増加αおよび/または減少βの最大の増分量(インクリメント)が課される場合がある。上述したように、上限ビットレート割当値、最大および最小ビットレート割当て、および増減の最大増分量の値はチャネルが異なると、異なることがあり、そのチャネル経由で伝送されるビデオ信号の予想される総複雑度およびビデオ信号のプロバイダに対するチャネルの値段によって左右されることがある。さらに、増減の最大および最小増分量は、チャネルのバッファの空き度または満杯度に応じて動的に変化することも起こり得る。
さらに、割り当てられるビットレートは、バッファ管理が行えるように、例えば、CBRエンコーダ10(図1)の出力バッファ48および対応する受信側デコーダ(図示せず)の入力バッファがオーバフローまたはアンダフローしないようにさらに改善することが可能である。エンコーダのバッファ・サイズEが不等式(7)に示すように制御される場合には、明示的なバッファ管理は不要である。式において、Dはデコーダの固定バッファ・サイズである。
Figure 0003583432
エンコーダ側バッファ・サイズが不等式(7)に従って選択されていれば、ビットレート割当ては、エンコーダ側とデコーダ側のどちらのバッファにもオーバフローまたはアンダフローを引き起こさないで、RminからRmaxまで変化させることが可能である。なお、この方法によると、エンコーダ側バッファのサイズが不当に制限されるので、レート制御の柔軟性が不当に制限される。
別のバッファ管理方式は適応方式であり、固定パラメータRminとRmaxではなく、現在の瞬時ビットレートを使用してバッファ管理を行うものである。デコーダ側バッファ・サイズは最高レートRmaxで伝送されたデータを処理できるように選択されているので、ビットレート割当てはデコーダ側バッファにオーバフローを引き起こすことなく、常に増加(システム最大値Rmaxまで)することが可能である。しかるに、エンコーダ側バッファにすでに存在するデータがそのデコード時以前にデコーダ側バッファに伝送されることを保証するには、維持しなければならない瞬時最小ビットレートが存在する。従って、デコーダ側バッファにアンダフローが起こらないことを保証する最小ビットレートは動的に計算しなければならない。
この最小ビットレート割当てを動的に計算する際、ビットレート割当てを減少するときは、新たに判断されるエンコーダ側バッファ・サイズと、ある先行時間量の間にエンコーダ側バッファにすでに存在するデータ量の両方を考慮に入れなければならない。フレームn用の新たに判断されるエンコーダ側バッファ・サイズ(Enと呼ぶ)は式(8)に従って判断される。
Figure 0003583432
ただし、Δはシステムの遅延時間であり、これはビデオのフレームがエンコーダに到着した時からそのフレームがデコーダ側に現れる時までの一定の時間遅延である。Rnewは新たに提案されたビットレート割当てである。このバッファ・サイズにすると、新ビットレート割当てで安定状態が得られるので、エンコーダ側とデコーダ側のバッファにオーバフローまたはアンダフローが起こらないことが保証される。
なお、上述したように、新たに提案されたビットレート割当てが減少された場合は、システム遅延時間Δに等しい遷移期間が生じ、その期間にエンコーダ側バッファにすでに存在するビット数が多くなりすぎて、新しい減少レートでデコーダに正常に伝送できないことが起こる。新たに提案されたビットレート割当てを改善する1つの提案方法では、実際にはエンコーダ側バッファに置かれているビット数(eと呼ぶ)(バッファ満杯)を最初に調べて、システム遅延時間Δにおけるフレーム数(Γと呼ぶ)を確かめている。次に、先行フレーム数Γの最大バッファ満杯数(emax,Γ)は式(8)から求めた、新たに判断されたエンコーダ側バッファ・サイズと比較される。先行フレーム数Γからのすべてのビットが受信側デコーダに正常に伝送されることを保証する、チャネルiの最小減少ビットレート割当てRreducedは式(9)で求められる。
Figure 0003583432
上記のような限界値がマルチプレクサ・システムで課されている場合は、ビットレート割当てが式(3)、(4)、(5)または(6)に従って計算されたあと、これらのビットレート割当てがチェックされ、そのチャネルの現在の上限と下限の範囲内にあるかどうかが判断される。最初に、各チャネルiの上限と下限が判断される。任意の割当量周期kの間の上限ビットレート割当て(Ri upper[k]と呼ぶ)は先行割当量周期k−1にわたる最大許容増加割当てと、最大ビットレート割当て限界値とのうちの最小のものである(式(10)を参照)。
Figure 0003583432
任意の割当量周期kの間の下限ビット割当てRi lower[k]は、最小ビットレート割当てと、先行割当量周期k−1にわたる最小許容減少割当てと、式(9)から求めた最小バッファ管理減少ビットレート割当てとのうちの最大のものである(式(11)を参照)。次に、チャネルのビットレート割当ての調整が行われる。
Figure 0003583432
いずれかのチャネル用に割り当てられたビットレートがどちらかの限界値を越えたときは、そのチャネルのビットレート割当てはその限界値にセットされ、利用可能な残余ビットレートは他のチャネル間で再割当てされる。例えば、チャネルiに割り当てられたビットレート(式(3)、(4)、(5)または(6)で計算したもの)がそのチャネルの上限値(式(10)で計算したもの)より大であれば、チャネルiのビットレートはその上限値Ri upperにセットされる。逆に、ビットレートが式(11)で計算した下限値より小であれば、ビットレートはその下限値Ri lowerにセットされる(式(12)を参照)。
Figure 0003583432
ビットレート割当てのいずれかが式(10)、(11)および(12)の制限的演算によって変更されたときは、利用可能な残余ビットレートは制限を受けないチャネル間で、式(3)、(4)、(5)または(6)に従って再割当てされる。そのあと、これらのチャネルは、再度、式(10)、(11)および(12)の限界値と突合わせ検査される。このサイクルは、すべてのビットレート割当てが完了するまで繰り返される。上記実施例では、符号化複雑度周期はスライディング・ウィンドウをベースとするピクチャ単位で判断されたGOP周期であり、これは十分な持続時間になっているため、ある割当量周期から次の割当量周期までの、チャネルにおけるビットレート割当ての変更が一般的に相対的に小さくなるようにしている。その結果、式(10)、(11)および(12)はまれにしか呼び出されないようになっている。
符号化複雑度のサンプリングと符号化複雑度に基づく更新ビットレートの生成のタイミングは、チャネルが異なるGOP時間周期で動作する場合には複雑になっている。しかるに、そのような場合に正確な符号化複雑度サンプリングとビットレート割当量の割当てが得られるようにするアプローチが2つある。第1のアプローチでは、各チャネルが各GOPの中で同数の割当量更新周期をもつような形で一定の割当量更新周期が計算される。このアプローチでは、GOP当たりのサンプルと割当量更新周期の数はチャネルとチャネルとの間で変化することがあるが、どのチャネルの場合も、GOP内の上記サンプルと割当量更新周期は一定になっている。第2のアプローチでは、サンプルがとられ、いずれかのチャネルが新しいGOPを開始すると新しい割当てが生成され、新しい割当量で割り当てられるビット数は先行サンプルから現サンプルまでの時間の長さを考慮に入れて計算される。
図7は、第1アプローチを使用するシステムでのサンプリングと割当量更新を示すタイミング図である。図面を簡単にするために、図には2チャネルしか示されていない。図7において、チャネル1はフレームレートが毎秒約30フレーム(米国の場合)である標準ビデオを伝送するチャネルの例である。チャネル2はフレームレートが毎秒24フレームであるフィルムを伝送するチャネルの例である。これらのチャネルの各々は、GOP当たりのフレーム数が12であるものと想定している。従って、チャネル1は0.4秒ごとに新しいGOPを開始する。つまり毎秒2.5個のGOPを開始するのに対し、チャネル2は0.5秒ごとに新しいGOPを開始する。つまり、毎秒2個のGOPを開始する。選択されたサンプリングレートは0.1秒ごとに1サンプルになっている。従って、チャネル1では、4つのサンプルと割当量更新が各GOPにあり、チャネル2では、5つのサンプルと割当量更新が各GOPにある。サンプリング時刻tsは縦の破線で示されている。サンプル間の時間周期Δtは一定(0.1秒)であるので、上記の式(3)〜(12)は、次のサンプル周期の期間のレート割当を計算するとき未変更のままで使用することができる。これらのビットレート割当ては、「トークン・リーキィバケット(token and leaky bucket)」方式と呼ばれる公知の方式に従って、チャネル・プロセッサ10(図1)で累積して使用することが可能である。
図8は、第2アプローチを上述したように使用するシステムでの符号化複雑度値のサンプリングと割当量更新を示すタイミング図である。図8に示すそれぞれのチャネルは図7に示すものと同じ信号を伝送する。図8に示すように、すべてのチャネルからの現在の符号化複雑度値のサンプルは、いずれかのチャネルが新しいGOPを開始するととられる。新しい割当てはこれらのサンプルの値と、最後のサンプル以後の時間周期Δtに基づいて行われる。これらのサンプル時刻は図8に縦の破線t1−t8で示されている。ただし、t2、t3、t4、t6およびt8はチャネル1におけるGOPの開始に対応し、t1、t3、t5およびt7はチャネル2におけるGOPの開始に対応している。t3は両方のチャネル1と2におけるGOPの開始に対応するサンプル時刻を示しているが、そのような時刻が現れることは必要条件ではない。
各サンプル時刻に、すべてのチャネルにおける現在の符号化複雑度値(先行GOPからのもので、スライディング・ウィンドウをベースとするピクチャ単位で利用可能である)がサンプリングされる。式(1)〜(12)は、次のビットレート割当量の大きさを計算するために使用できるが、割当てのために利用できる実際のビット数を求めるには、最後のサンプル以後の時間量Δtを考慮に入れなければならない。異なるサンプル周期を正しく補償するためには、式(3)〜(12)における総利用可能ビットレートRに、割当てのために利用できるビット数Cが代入されるが、これは総利用可能ビットレートRとサンプル周期Δtの積である。つまりC=RΔtである。式(3)〜(12)で求めたビット数はそれぞれのチャネル・プロセッサ10(図1)に割り当てられたあと、チャネル・プロセッサは、上述したように「トークン・リーキィバケット」方式を使用して割当てビットを累積して使用する。
上述した2アプローチでは、どちらも、異なるチャネル5からのビデオ信号が異なるGOP時間周期をもっているとき、ビットレートがそれぞれのチャネル・プロセッサ10に正確に割り当てられる。
符号化複雑度値のサンプリングと異なるチャネル用の更新ビットレート割当量の生成のタイミングは、チャネルのすべてが同一フレームレートで動作し、GOP内のフレーム数が同一である場合には、つまり、すべてのチャネルが同一GOP時間周期GOPtimeをもつ場合には、単純化することが可能でる。図6は、そのようなシステムでの符号化複雑度サンプルと割当量更新のタイミングを示すタイミング図である。図6において、各水平線はそれぞれのチャネル1−kに対応している。水平線から上方に延びた短い縦線は、Iフレームの符号化がそのチャネルで開始される時刻を表し、これはそのチャネルのGOPの開始とみなされる。GOPの時間周期GOPtimeはどのチャネルの場合も等しくなっているが、それぞれのチャネルのGOPの開始時刻は異なっている。事実、それぞれのチャネルのGOPの開始時刻が異なっていると、Iフレームの符号化がオーバラップしないという点で望ましいことが判明している。このようにすると、異なるチャネル間の複雑度に変化をもたせることができる。
符号化複雑度値を計算するとき考慮に入れるIフレーム、PフレームおよびBフレームが同数であるかぎり、これらのフレームが異なるGOPからのものであることは重要でない。従って、すべてのチャネルの時間軸を横切る実線で示すように、符号化複雑度値のサンプルは、GOP内でいつでもすべてのチャネルから同時にとることができる。そのあと、チャネルのすべてのビットレート割当量の更新をそのサンプルから生成して、チャネル・プロセッサ10(図1)へ送り返すことができる。
上述のマルチプレクサ・システムは一箇所に配置されたシステムとして説明してきた。しかし、複数のチャネル・プロセッサ10はビットレート・アロケータ30およびマルチプレクサ20から離れたロケーションに置いておくことも可能である。そのようなシステムでは、通信リンクはエンコーダとビットレート・アロケータの間で確立されることになる。その場合には、プロセッサ10とマルチプレクサとの間で伝送されるビットの一部を、プロセッサからの複雑度情報の伝送に専用することが可能である。

Claims (10)

  1. 複数の情報信号源と、
    複数の前記情報信号源の間で共有可能な最大ビットレートを有するデジタル通信チャネルと、
    前記情報信号源のそれぞれと関連付けられている複数の必要量アナライザであって、関連した前記情報信号源による当該チャネルにおけるビットレートの相対的な必要量を表している信号をそれぞれ動的に生成する回路を備えた、複数の必要量アナライザと、
    前記情報信号源のそれぞれと関連付けられている複数のデジタルエンコーダであって、関連した情報信号を、ビットレート割り当て信号に応答して、ビットレートセットを有するデジタル信号に符号化する回路を備えた、複数のデジタルエンコーダと、
    割り当てられたビットレートを表しているそれぞれの前記ビットレート割り当て信号を、前記必要量アナライザから得られた複数の前記必要量を表している信号に応答して動的に生成する回路を備えたビットレートアロケータと、
    を備えたデジタル通信システムであって、
    前記情報信号源には、予め決められた最小ビットレートがそれぞれ割り当てられており、
    前記ビットレートアロケータにおいて、
    前記ビットレート割り当て信号をそれぞれ生成する回路は、前記情報信号源に予め決められた前記最小ビットレートを割り当てると共に、残余のチャネルビットレートの一部を割り当てるようにそれぞれの前記ビットレート割り当て信号を生成し、
    前記残余のチャネルビットレートは、最大チャネルビットレートから、以前に割り当てられている予め決められた前記最小ビットレートを差し引いたものに等しく、前記割り当てられた残余のチャネルビットレートの一部は、全ての前記必要量を表している信号で表された結合必要量に対する、その情報信号源に関連する前記必要量を表している信号で表された必要量の一部に等しい、
    ことを特徴とするシステム。
  2. 請求項1に記載のシステムにおいて、
    前記情報信号源の各々には、それぞれの予め決められた重み係数が割り当てられ、
    前記ビットレートアロケータは、
    前記情報信号源が、その情報信号源に関連する前記必要量を表している信号で表された必要量と、全ての前記必要量を表している信号で表された結合必要量との割合に等しい、前記残余チャネルビットレートの割り当て分が割り当てられるように、それぞれの前記ビットレート割り当て信号を生成する他の回路を有する、
    ことを特徴とするシステム。
  3. 請求項1に記載のシステムにおいて、
    前記情報信号源の各々には、予め定められた最大のビットレート割り当てリミットが割り当てられており、
    前記ビットレートアロケータは、
    前記ビットレート割り当て信号を生成した後に、それぞれのビットレート割り当てを、それぞれの既定のビットレート割り当てリミットと比較し、もし、あるビットレート割り当てが、割り当てられている既定の最大ビットレート割り当てリミットを越えている場合には、それぞれの前記情報信号源のために以前に生成されたビットレート割り当ての代わりに、予め定められたビットレート割り当てリミットを表すビットレート割り当て信号を生成する回路を有する、
    ことを特徴とするシステム。
  4. 請求項1に記載のシステムにおいて、
    前記情報信号源の各々には、予め定められたビットレート割り当て増分リミットが割り当てられており、
    前記ビットレートアロケータは、
    それぞれの前記ビットレート割り当て信号を生成した後に、それぞれのビットレート割り当てを、直前のそれぞれのビットレート割り当て信号で表された対応するビットレート割り当てと比較することにより、それぞれのビットレート割り当て増分を決定し、もし、あるビットレート割り当て増分が、割り当てられた既定のビットレート割り当て増分リミットを超えている場合には、それぞれの前記情報信号源のために以前に生成されたビットレート割り当ての代わりに、直前のビットレート割り当て信号で表されているビットレート割り当てを表すビットレート割り当て信号を生成し、ここで前記直前のビットレート割り当て信号は、予め決められたビットレート割り当て増分リミットにより変更される回路を有する、
    ことを特徴とするシステム。
  5. 請求項4に記載のシステムにおいて、
    予め定められた前記ビットレート割り当て増分リミットは、ビットレート増加の最大増分であることを特徴とするシステム。
  6. 請求項4に記載のシステムにおいて、
    予め定められた前記ビットレート割り当て増分リミットは、ビットレート減少の最大増分であることを特徴とするシステム。
  7. 請求項1に記載のシステムにおいて、
    複数の前記情報信号源はそれぞれビデオ信号の信号源であって、該ビデオ信号は、連続したフレーム時間インターバルを有しており、
    複数の前記必要量アナライザは、前記ビデオ信号の信号源から与えられた前記ビデオ信号によって表されるイメージの複雑度を推定し、該推定したイメージの複雑度を表す前記必要量を表している信号を生成し、
    複数の前記デジタルエンコーダは、関連したビデオ信号を符号化してMPEGデジタル符号化ビデオ信号を形成するMPEGエンコーダであって、該MPEGデジタル符号化ビデオ信号は、前記関連したビデオ信号のフレーム時間の整数倍に等しいGOP時間インターバルを有し、且つ前記デジタルエンコーダは、前記関連したビデオ信号の信号源から得られるビデオ信号と、前記ビットレートアロケータから得られる前記ビットレート割り当て信号とに応答して、前記MPEGデジタル符号化ビデオ信号をほぼ割り当てられたビットレートで生成する回路を有し、
    前記ビットレートアロケータは、前記GOP時間インターバルに関連した連続的割り当て時間インターバルにて、前記ビットレート割り当て信号のそれぞれを生成する回路を有する、
    ことを特徴とするシステム。
  8. 請求項7に記載のシステムにおいて、
    前記GOP時間インターバルのそれぞれは全て同じであり、
    前記ビットレートアロケータは、該GOP時間インターバルと同一の割り当て時間インターバルにて、前記ビットレート割り当て信号を生成する回路を有する、ことを特徴とするシステム。
  9. 請求項7に記載のシステムにおいて、
    前記GOP時間インターバルのそれぞれは互いに異なっており、
    前記ビットレートアロケータは、割り当て時間インターバルの一定整数倍に等しい、それぞれのGOP時間インターバルを選択するような連続的割り当て時間インターバルにて、前記ビットレート割り当て信号をそれぞれ生成する回路を有する、
    ことを特徴とするシステム。
  10. 請求項7に記載のシステムにおいて、
    前記GOP時間インターバルのそれぞれは互いに異なっており、
    前記ビットレートアロケータは、
    前記MPEGエンコーダにより発生されるGOP時間インターバルのそれぞれに合わせて整列した連続的時間インターバルにて、それぞれの前記ビットレート割り当て信号を生成する回路と、
    先行する割り当て時間インターバルの持続時間に応答して、前記ビットレート割り当て信号を生成する回路とを有する、
    ことを特徴とするシステム。
JP52760595A 1994-04-22 1994-04-22 不足する資源を動的に割り当てるシステム Expired - Lifetime JP3583432B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1994/004421 WO1995029546A1 (en) 1994-04-22 1994-04-22 A system for dynamically allocating a scarce resource

Publications (2)

Publication Number Publication Date
JPH09512400A JPH09512400A (ja) 1997-12-09
JP3583432B2 true JP3583432B2 (ja) 2004-11-04

Family

ID=22242488

Family Applications (1)

Application Number Title Priority Date Filing Date
JP52760595A Expired - Lifetime JP3583432B2 (ja) 1994-04-22 1994-04-22 不足する資源を動的に割り当てるシステム

Country Status (6)

Country Link
EP (1) EP0761048B1 (ja)
JP (1) JP3583432B2 (ja)
KR (1) KR100340826B1 (ja)
AU (1) AU7353794A (ja)
DE (1) DE69432933T2 (ja)
WO (1) WO1995029546A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9611511D0 (en) * 1996-06-03 1996-08-07 Digi Media Vision Ltd Improvements in or relating to the bit-rate of a signal
US6104705A (en) * 1997-12-31 2000-08-15 U.S. Philips Corporation Group based control scheme for video compression
FR2790899B1 (fr) * 1999-03-09 2001-04-20 Thomson Broadcast Systems Dispositif et procede de regulation de debit dans un systeme de multiplexage statistique de flux d'images codees selon le codage mpeg 2
KR100499669B1 (ko) * 2002-10-18 2005-07-05 한국과학기술정보연구원 자원할당 시스템 및 방법
BR0316114A (pt) 2002-11-15 2005-09-27 Thomson Licensing Sa Método e sistema para multiplexação estatìstica escalonada
WO2007014384A2 (en) * 2005-07-28 2007-02-01 Thomson Licensing Method and apparatus for transmitting multiple video streams over a video channel
AU2010358370B2 (en) 2010-07-28 2015-03-05 Mk Systems Usa Inc. Improved bitrate distribution

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5832822B2 (ja) * 1975-09-22 1983-07-15 富士通株式会社 ガゾウシンゴウタジユウカデンソウホウシキ
CA1253255A (en) * 1983-05-16 1989-04-25 Nec Corporation System for simultaneously coding and decoding a plurality of signals
JPH0239643A (ja) * 1988-07-29 1990-02-08 Nec Corp 画像符号化信号伝送方式
JPH03163979A (ja) * 1989-11-22 1991-07-15 Nippon Telegr & Teleph Corp <Ntt> 映像符号化多重伝送方式
US5134476A (en) * 1990-03-30 1992-07-28 At&T Bell Laboratories Video signal encoding with bit rate control
JPH07101864B2 (ja) * 1990-07-05 1995-11-01 富士通株式会社 高能率ディジタル多重化伝送方式
US5115309A (en) * 1990-09-10 1992-05-19 At&T Bell Laboratories Method and apparatus for dynamic channel bandwidth allocation among multiple parallel video coders
JP2861518B2 (ja) * 1991-09-03 1999-02-24 日本電気株式会社 適応多重化方式
JP3101395B2 (ja) * 1992-02-03 2000-10-23 日本電信電話株式会社 量子化特性切り替え処理方法
CA2088082C (en) * 1992-02-07 1999-01-19 John Hartung Dynamic bit allocation for three-dimensional subband video coding
JPH0638191A (ja) * 1992-07-20 1994-02-10 Canon Inc 動画像信号符号化装置
JPH0662393A (ja) * 1992-08-04 1994-03-04 G C Technol Kk 多重化した動画像符号化方法と装置
JP2500582B2 (ja) * 1993-03-17 1996-05-29 日本電気株式会社 動画像信号の多重化伝送方法とその装置
BE1007490A3 (nl) * 1993-09-10 1995-07-11 Philips Electronics Nv Inrichting voor het overdragen van een pluraliteit van televisie signalen over een transmissie kanaal.
JP3535549B2 (ja) * 1993-12-22 2004-06-07 日本放送協会 画像信号符号化多重装置
JPH07264580A (ja) * 1994-03-17 1995-10-13 Toshiba Corp 映像信号伝送方法並びに映像信号送信装置及び映像信号受信装置
JPH07284096A (ja) * 1994-04-06 1995-10-27 Nec Corp 多チャンネル画像伝送装置

Also Published As

Publication number Publication date
WO1995029546A1 (en) 1995-11-02
EP0761048A4 (en) 1998-05-20
DE69432933T2 (de) 2004-06-03
EP0761048B1 (en) 2003-07-09
AU7353794A (en) 1995-11-16
JPH09512400A (ja) 1997-12-09
EP0761048A1 (en) 1997-03-12
DE69432933D1 (de) 2003-08-14
KR970703074A (ko) 1997-06-10
KR100340826B1 (ko) 2002-11-29

Similar Documents

Publication Publication Date Title
US5838686A (en) System for dynamically allocating a scarce resource
US6055270A (en) Multiplexer system using constant bit rate encoders
US5933451A (en) Complexity determining apparatus
US5694170A (en) Video compression using multiple computing agents
US5719632A (en) Motion video compression system with buffer empty/fill look-ahead bit allocation
US5877814A (en) Asynchronous control signal generating apparatus
KR100314329B1 (ko) 일정비트율엔코더를이용하는멀티플렉서
EP1037473A1 (en) Device and process for regulating bit rate in a system for the statistical multiplexing of streams of images coded according to MPEG 2 coding
JP3583432B2 (ja) 不足する資源を動的に割り当てるシステム
US5864583A (en) Parameter sampling apparatus
JP3703488B2 (ja) 非同期制御信号生成装置
KR100340827B1 (ko) 복잡성결정장치
US5933450A (en) Complexity determining apparatus
JP3341896B2 (ja) 複雑度決定装置
JP3630686B2 (ja) パラメータ・サンプリング装置
CN1072415C (zh) 动态分配稀少资源的系统
CN1078782C (zh) 异步控制信号发生装置

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20031209

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20040202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040309

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040713

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040729

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070806

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080806

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090806

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100806

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110806

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120806

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120806

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130806

Year of fee payment: 9

EXPY Cancellation because of completion of term