JPH10500822A - 複数のデータストリームの統計的多重化方法 - Google Patents

複数のデータストリームの統計的多重化方法

Info

Publication number
JPH10500822A
JPH10500822A JP7530375A JP53037595A JPH10500822A JP H10500822 A JPH10500822 A JP H10500822A JP 7530375 A JP7530375 A JP 7530375A JP 53037595 A JP53037595 A JP 53037595A JP H10500822 A JPH10500822 A JP H10500822A
Authority
JP
Japan
Prior art keywords
rate
entry
data
variable rate
data streams
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP7530375A
Other languages
English (en)
Other versions
JP3233408B2 (ja
Inventor
ラオ、アール・パドマナハ
Original Assignee
ジェネラル・インストルメンツ・コーポレイション
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 ジェネラル・インストルメンツ・コーポレイション filed Critical ジェネラル・インストルメンツ・コーポレイション
Publication of JPH10500822A publication Critical patent/JPH10500822A/ja
Application granted granted Critical
Publication of JP3233408B2 publication Critical patent/JP3233408B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • 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
    • 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
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • 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/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/197Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including determination of the initial value of an encoding parameter
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • 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/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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server

Abstract

(57)【要約】 統計処理マルチプレクサ(300)が、複数のエンコーダ(302)からの符号化されたデータのパケットを選択的に通過させて、通信チャネル(330)に送出することを通して、符号化データの質を最大限に向上させる。統計処理マルチプレクサ(300)のメモリ(313)内にはテーブルが格納されており、このテーブルは各符号化データ単位に対するエントリを有する。各符号化データ単位は所定の時間間隔に通信チャネル(330)を通して伝送され得る。統計処理マルチプレクサ(300)はテーブル内の各エントリにアクセスし、通信チャネルに送出され得る次の符号化データを生成するエンコーダ(302)に対する、アドレス等のポインタを得る。統計処理マルチプレクサは、各可変レートアプリケーション毎にデータ圧縮レートを動的に調節し、ウィンドウ上における全ての符号化データのデータストリームの質を最適化して、圧縮レートの調節を反映した新たなテーブルを構築する。また、一実施例においては、テーブルがスタティックテーブルとダイナミックテーブルとに分けられる。

Description

【発明の詳細な説明】 複数のデータストリームの統計的多重化方法発明の分野 本発明は一般に、通信チャネル上を伝送するデータの選択に関し、特に、選択 された範囲内において伝送されるデータの質を維持するように、若しくはデータ ストリーム全体の質を最大限に向上させるように、複数のデータストリームに対 して通信チャネルのバンド幅の割り振りを行うマルチプレクサに関する。発明の背景 映像データは、一般に映像フレーム内の各画素に対する輝度データ及び色デー タを含む。未処理の(raw)デジタル映像データは、通常の通信媒体上を伝送さ せるには情報量が多過ぎ、著しく大きな記憶容量が必要となる。この結果、通信 媒体の限られたバンド幅を使用、または記憶容量を効率的に利用するために、通 常符号化技術を用いて未処理の映像データを圧縮する。 例えば、第1図を参照すると、ビデオカメラ101がアナログ映像信号を発生 し、この信号がインプットプロセッサ102をドライブする。インプットプロセ ッサ102は、アナログ映像信号をデジタル化し、かつ通常はフィルタリングし て、未処理のデジタル映像信号を生成する。この未処理のデジタル映像信号は、 エンコーダ103により、符号化、即ち圧縮される。 圧縮されたデジタル映像信号は、例えば衛星通信リンクのような、通信チャネ ルを通して伝送され、復号化システム120に達する。復号化システム120は 、デコーダ121、ポストプロセッサ122、及びデ ィスプレイドライバ123を有する。デコーダ121は、符号化された映像デー タを復元し、得られた信号をポストプロセッサ122に供給する。ポストプロセ ッサでは、映像信号を平滑化し、かつ強調する。ポストプロセッサ122から出 力された映像信号は、ディスプレイユニット130をドライブするディスプレイ ドライバ123に供給される。映像信号の記憶及び伝送のための信号の符号化、 即ち圧縮と、次いで行われる復号化の処理は周知の技術である。 第1図のビデオカメラ101のように、ただ1つのアプリケーションが通信チ ャネルにアクセスするようになっている場合より、多数のアプリケーションが通 信チャネルを共有している場合の方がむしろ一般的である。例えば第2図におい ては、“L個”のアプリケーションからのデータストリーム(以下、単にアプリ ケーションと称することがある)201−1〜201−Lの圧縮を、それぞれエ ンコーダ202−1〜202−Lを用いて行う。アプリケーション201−1〜 201−Lは、映像、音声等の様々な信号源から得られ得るものである。 各アプリケーションは201−1〜201−Lは、エンコーダ202−1〜2 02−Lをそれぞれ動かす。典型的には、映像入力信号に対して、例えばエンコ ーダ201−1内の圧縮ループ204−1が、その主たる処理として予測及び量 子化を行う。映像信号の各ピクチャデータが圧縮ループ204−1において圧縮 されると、圧縮されたデータのビットはバッファ205−1に書き込まれる。コ ントローラ(図示せず)は、圧縮処理の圧縮レートを管理して、バッファ205 −1におけるオーバーフロー及びアンダーフローの発生を防止する。エンコーダ における圧縮レートの制御を行うことにより、エンコーダ201−1が、ある時 間間隔のなかで概ね一定のデータ発生レートで符号化データをバッファ205− 1から出力するようにすることと共に、映像シーケンスのピクチ ャの質の向上が確実になる。 アプリケーション201−1〜201−Lは、固定レートのアプリケーション か、若しくは可変レートのアプリケーションかの何れかである。固定レートのア プリケーション201−iとは、データビットを一定の圧縮レート、即ちレート でチャネル230に流す。可変レートアプリケーション202−iは、データビ ットを一定でないレートでチャネルに流す、つまり、圧縮率が経時的に変化する のである。 エンコーダ202−1〜202−Lからの出力データは、マルチプレクサ21 0への各入力データストリームとなる。マルチプレクサ210を通過するデータ ストリームは、システムコントローラ250からの入力信号を受け取るマルチプ レクサコントローラ回路211により決定される。システムコントローラ250 には通常コンピュータが用いられ、伝送される信号の内容や得られる映像の質と は無関係に符号化データがマルチプレクサ210を通過するようにするため、マ ルチプレクサコントローラ回路211に信号を送るようにプログラムされている 。 エンコーダ202−1〜202−Lからマルチプレクサ、更には通信チャネル への情報の伝送は、情報のパケットでなされるのが普通である。マルチプレクサ 210は、一度にアプリケーション201−1〜201−Lのなかの1つのデー タのパケットを通信チャネル220へと通過させる。1秒程度のある時間間隔に おいて、1つのアプリケーション201−iから通信チャネル220へ伝送され るパケットの数の平均は、その特定のアプリケーションに割り振りされたレート に等しい。以上のことに関連して、情報の伝達は必ずしもパケットを用いて行わ れる必要はないということに注意されたい。発明の要約 本発明の原理によれば、統計処理マルチプレクサが、通信チャネルの 全容量を、通信チャネルへのアクセスを共有する複数のデータストリームに、動 的に配分する。同時に、この統計処理マルチプレクサは、伝送データの量が通信 チャネルの容量を超えてしまうことを防止する。つまり、本発明の統計処理マル チプレクサは、1つの特定のデータストリーム、即ち1つのアプリケーションに 対して、ある時間内に割り振りすべき通信チャネルの容量の部分(fraction)を 決定し、通信チャネル上を伝送される全てのアプリケーションの信号の質を最大 限に向上させるのである。 更に、この統計処理マルチプレクサは、様々なアプリケーションに割り振りさ れる通信チャネルの部分をリアルタイムで変化させ、通信チャネル上を伝送され る全てのデータストリームに対する信号の質を最大限に向上させる。統計処理マ ルチプレクサは、統計処理マルチプレクサに各データストリームを供給するハー ドウェアの信号発生レート制御機構上の外部シェルとして動作する。統計処理マ ルチプレクサは、各統計処理マルチプレクサ周期において少なくとも1回新たな レートを発生し、それらの制御機構に供給して、各アプリケーションに対し選択 されたパラメータを所定の範囲内に維持するようにする。 一実施例においては、統計処理マルチプレクサは、通信チャネルへのアクセス について競合する複数のデータストリームの統計的多重化処理を実行し、統計処 理マルチプレクサのメモリにスタティックテーブルを生成、設置する。スタティ ックテーブルは、所定の時間周期内に通信チャネル上を伝送され得るデータ単位 のそれぞれに対するエントリを有する。 第1テーブルと称されることもあるこのスタティックテーブルの設置において 、統計処理マルチプレクサは、このスタティックテーブル内の各エントリを、複 数のデータストリームの1つに割り振る。エントリが、 可変レートデータストリームに割り振られた場合は、統計処理マルチプレクサは 、ナル符号(null code)等の所定の符号をエントリに格納する。逆に、エント リが固定レートのデータストリームに割り振られる場合は、統計処理マルチプレ クサは、固定レートのデータストリームに対するポインタをエントリに格納する 。このポインタは固定レートのデータストリームを特定し、一実施例においては 、固定レートのデータストリームを発生するハードウェアのアドレスである。ス タティックテーブルにおける各エントリは、固定レートのデータストリームに対 するポインタか、または所定の符号である。 統計処理マルチプレクサは、スタティックテーブルを用いて、通信チャネルへ のアクセスについて競合する複数のデータストリームに対する通信チャネルの容 量の割り振りを行う。詳述すると、統計処理マルチプレクサはスタティックテー ブル内のエントリにアクセスして、所定の時間周期内に次のデータ単位を通信チ ャネルに送出するデータストリームを、複数のデータストリームのなかから決定 する。 スタティックテーブルの他に、統計処理マルチプレクサそのものも、ダイナミ ックテーブルを生成、設置する。このダイナミックテーブルは、第2テーブルと 称されることもある。ダイナミックテーブルの設置において、一実施例では、統 計処理マルチプレクサが、ダイナミックテーブルの各エントリを、可変レートデ ータストリーム及びアイドルデータ単位の何れか一方に割り振る。もちろん、ア イドルデータ単位は、アイドルデータを通信チャネル上に伝送する別種の可変レ ートデータストリームとみなすことができる。エントリが可変レートデータスト リームに割り振られた場合は、統計処理マルチプレクサは、そのレートデータス トリームに対するポインタをエントリに格納する。ポインタは、可変レートデー タストリームを特定するものであり、一実施例では、可変レート データストリームを発生するハードウェアのアドレスである。ダイナミックテー ブルにおける各エントリは、可変レートデータストリーム及びアイドルデータ単 位の何れか一方に対するポインタである。 次のデータ単位を伝送するために通信チャネルへアクセスし得るアプリケーシ ョンの決定において、統計処理マルチプレクサは、所定の符号を含むスタティッ クテーブルにおけるエントリを検出したときに、ダイナミックテーブルにおける エントリにアクセスする。アクセスされたエントリは、次のデータ単位を通信チ ャネルに送出する可変データストリームを、複数のデータストリームのなかから 決定する。 統計処理マルチプレクサは、スタティックテーブル及びダイナミックテーブル を用いて、通信チャネルへのアクセスについて競合するさまざまなデータストリ ームに対して通信チャネルのバンド幅の割り振りを行う一方、所定の範囲外に質 測定パラメータを有する各可変レートデータストリーム用の通信チャネル上を伝 送させるように割り振られたいくつかのデータ単位、即ちいくつかのパケットの 調節も行う。詳述すると、統計処理マルチプレクサは、選択された可変レートデ ータストリームに対する新たなレートを発生するのである。 統計処理マルチプレクサは、調節され、通信チャネル上を伝送するべく割り振 られたいくつかのデータ単位を用いて、第2ダイナミックテーブルを発生する。 第2ダイナミックテーブルを発生するのに用いられるプロセスは、必要な場合に 新たなレートを用いる点を除いて、第1ダイナミックテーブルを生成するのに用 いられるプロセスと同様である。 詳述すると、この実施例では、統計処理マルチプレクサが、第2ダイナミック テーブルにおける各エントリを、可変レートデータストリーム及びアイドルデー タ単位の何れか一方に割り振る。エントリが可変レートデータストリームに割り 振られた場合は、統計処理マルチプレクサは、 可変レートデータストリームに対するポインタをエントリに格納する。第2ダイ ナミックテーブルの各エントリは、可変レートデータストリーム及びアイドルデ ータ単位の何れか一方に対するポインタである。選択された時間間隔をおいた後 、例えばこの実施例においては、統計処理マルチプレクサ周期がほぼ終わるタイ ミングで、統計処理マルチプレクサは第1ダイナミックテーブルから第2ダイナ ミックテーブルに切り替えを行う。 ダイナミックテーブルの設置において用いられるレートを調節する方法を決定 するために、統計処理マルチプレクサは、可変レートデータストリームの質を特 徴づける各可変レートデータストリームに対するデータを収集する。統計処理マ ルチプレクサは、収集されたデータを用いて、可変レートデータストリームの質 を特徴づけるパラメータを発生する。一実施例においては、このパラメータはひ ずみ測度であって、その予め定められた範囲の下限は、第1ヒステリシス係数と ひずみ閾値との積である。予め定められた範囲の上限は、第2ヒステリシス係数 とひずみ閾値との積である。 本発明の統計的多重化処理は、広範なデータストリームに対して適用可能であ る。この実施例では、複数のデータストリームが、符号化映像データストリーム を含む。 本発明の別の実施例においては、通信チャネルへのアクセスについて競合する 複数の符号化データストリームの統計的多重化方法であって、 前記複数の符号化データストリームの1つをそれぞれ発生する各エンコーダに レートを割り当てる過程であって、前記エンコーダには固定レートエンコーダと 可変レートエンコーダとが含まれる、該過程と、 割り当てられた前記レートを用いて、所定の数のエントリを有する第1テーブ ルを設置する過程であって、前記第1テーブル内の各エントリ が、(i)前記複数の符号化データストリームと、(ii)アイドルパケットと の何れか一方に割り振られる、該過程と、 前記通信チャネルに次のパケットを送出する符号化データストリームを、前記 複数の符号化データストリームのなかから選択すべく、前記第1テーブルの各エ ントリを用いる過程とを有することを特徴とする複数の符号化データストリーム の統計的多重化方法が提供される。 本発明の更に別の実施例においては、通信チャネルへのアクセスについて競合 する複数の符号化データストリームの統計的多重化方法であって、 可変レートエンコーダから各可変レート符号化データストリームに対するデー タを収集して、前記可変レート符号化データストリームを特徴づけるひずみパラ メータを生成するための前記複数の符号化データストリームを形成するデータ収 集過程と、 各前記可変レート符号化データストリームに対して、前記可変レート符号化デ ータストリームの質を特徴づける前記ひずみパラメータを生成する過程と、 前記ひずみパラメータが所定の範囲外にある場合、選択された時間周期内に各 前記可変レート符号化データストリームに割り振られたいくつかのパケットを調 節する過程と、 調節されて割り振られた前記パケットを用いて、テーブルを設置するテーブル 設置過程と、 前記通信チャネルに次のパケットを送出する可変レート符号化データストリー ムを決定するために統計処理マルチプレクサに前記テーブルが使用されるように 、前記テーブルの切り替えを行う過程とを有することを特徴とし、 前記テーブル設置過程が、 i)前記テーブル内のエントリを、A)前記複数の符号化データストリームに 含まれる複数の可変レート符号化データストリームのなかの可変レート符号化デ ータストリームと、B)アイドルパケットとの何れか一方に割り振る過程と、 ii)前記エントリが前記可変レート符号化データストリームに割り振られる ときに、前記可変レート符号化データストリームに対するポインタを前記エント リに格納する過程と、 iii)前記テーブル内の買うエントリに対して、i)及びii)の過程を反 復する過程とを含むことを特徴とする複数の符号化データストリームの統計的多 重化方法。図面の簡単な説明 第1図は、従来の符号化及び復号化システムのブロック図である。 第2図は、通信チャネルへのアクセスを行うためのマルチプレクサを用いた従 来のシステムのブロック図である。 第3図は、本発明の統計処理マルチプレクサのブロック図である。 第4図は、各統計的マルチプレクサ周期内における、本発明の統計処理マルチ プレクサのレート更新処理のプロセス流れ図である。 第5図は、本発明の原理に基づく、第4図のステップ402におけるアプリケ ーションの分類処理のプロセス流れ図である。 第6図は、本発明の原理に基づく、第4図のレート変更ステップ403の、よ り詳細なプロセス流れ図である。 第7図は、本発明のステップ403におけるレート増加ステップ623の、よ り詳細なプロセス流れ図である。 第8図は、本発明のステップ403におけるレート低下ステップ622の、よ り詳細なプロセス流れ図である。 第9図は、本発明のパケットテーブル構築ステップ404の、より詳 細なプロセス流れ図である。 第10図は、第4図のプロセスの一実施例の、時間に沿った処理の系列(time line)を示した図である。 第11図は、第4図のプロセスの別の実施例の、時間に沿った処理の系列を示 した図である。 第12図は、本発明の統計処理マルチプレクサにおけるハードウェアの詳細な ブロック図である。 第13図は、パケット時間間隔におけるアプリケーションバス上の2つの時間 間隔と、その第1の時間間隔におけるさまざまなメッセージサイクルを示したタ イミング図である。 第14図は、統計処理マルチプレクサの動作のタイミング図であって、パケッ ト時間間隔の第2の部分におけるアプリケーションバス上のデータ伝送のタイミ ングの関係を示している。 第15図は、データがアプリケーションバス上を送られていくとき、アプリケ ーションバスを流れる様々な信号の間の関係を示すタイミング図である。 第16図は、1つのメッセージサイクルで1バイトのデータが書き込まれたと き、アプリケーションバスを流れるさまざまな信号の間の関係を示すタイミング 図である。 第17図は、1つのメッセージサイクルで1バイトのデータが読み出されたと き、アプリケーションバスを流れるさまざまな信号の間の関係を示すタイミング 図である。 第18図は、統計処理マルチプレクサが、1つのウィンドウ内の各パケットを 固定レートアプリケーション、若しくは可変レートアプリケーションにどのよう に割り振りするかを示したプロセス流れ図である。発明の詳細な説明 本発明の原理によれば、統計処理マルチプレクサ300がエンコーダ302− 1〜302−Lからの符号化データのパケットを通信チャネル330に選択的に 通過させることを通して、アプリケーションからのデータストリーム301−1 〜301−L(以下、単にアプリケーション301−1〜301−Lと称する) のそれぞれを表現する符号化データの質を最大限に向上させる。この実施例にお いては、パケットの形態の符号化データが通信チャネル330を通して復号化シ ステム(図示せず)に伝送され、そこでデータの復号化がなされる。さらに、以 下に説明する本発明の実施例では映像データが用いられるが、本発明の原理は通 信チャネルを通して伝送される他の任意の信号源に対しても適用され得るという ことは当業者には理解されよう。 アプリケーション301−iはエンコーダ302−iによって符号化される。 ここで、“i”は1〜Lの範囲の整数である。以下、アプリケーション301− iに関する言及は、アプリケーション301−iを入力信号として受け取るエン コーダ302−iへの言及も含むものであると解釈されたい。また、アプリケー ション、エンコーダ、若しくは符号化データストリームを変更するのに“可変レ ート”という言葉が用いられる場合は、入力としてアプリケーションを受け取り 、符号化データストリームを発生するエンコーダが、データ圧縮レート、即ち“ レート”を経時的に変更し得ることを意味するものである。逆に、アプリケーシ ョン、エンコーダ、若しくは符号化データストリームを変更するのに“固定レー ト”という言葉が用いられる場合は、入力としてアプリケーションを受け取り、 符号化データストリームを発生するエンコーダが、初期設定時(configuration time)を除きデータ圧縮レートを変更しないことを意味する。 本発明の統計処理マルチプレクサ300は、ある時間間隔における通 信チャネル330の全容量を、全てのアプリケーション301−i〜301−L の複数の符号化データストリームに、アプリション301−i〜301−Lの質 を最大限に向上させるように配分する。同時に、統計処理マルチプレクサ300 は伝送データの量が通信チャネルの容量を越えてしまわないようにする。つまり 、本発明の統計処理マルチプレクサ300は、アプリケーション301−iに割 り振りすべき通信チャネルの容量の部分を決定し、全てのアプリケーションの符 号化信号の質を最大限に向上させるのである。 詳述すると、コントローラ310のメモリ313内にテーブルが格納される。 このテーブルは、所定の時間間隔、例えば1秒間に通信チャネル330上を伝送 され得る符号化データ単位のそれぞれに対するエントリを有する。テーブル内の 各エントリは、後ほど詳しく説明するが、エンコーダ302−1〜302−Lの それぞれに割り振り、即ちエンコーダ302−iからの符号化データストリーム に割り振りされるのである。符号化レートの高いエンコーダ302−iに対して は、符号化レートの低いエンコーダ302−jよりも多くのエントリが割り振ら れる。従って、テーブル内のエントリは、各エンコーダ302−1〜302−L から、所定の時間間隔内に通信チャネル330を通して伝送されるデータ単位数 を定めている。 各所定の時間間隔において、コントローラ310はテーブル内の各エントリに アクセスし、エンコーダ302−iに対するポインタ、即ちアドレスを得る。こ れにより、次の符号化データ単位がアプリケーションコントロールバス360を 通して先入れ先出しメモリ(FIFO)350に伝送され得るのである。1つの 符号化データ単位がFIFO350にロードされるとき、別の符号化データ単位 はFIFO350から通信チャネル330に送出される。この実施例においては 、コントローラ3 10が、メモリ313に格納されたテーブル内のエントリを連続的に動き、エン コーダ302−1〜302−Lに対し、通信チャネルのバンド幅を、所定の時間 間隔内における所定の順番に割り振る。 本発明の原理によれば、統計処理マルチプレクサ300は選択された時間間隔 内における各可変レートアプリケーション301−iのデータ圧縮レートを動的 に調節する。前述の選択された時間間隔をウィンドウと称する。この調節により 選択された時間間隔における符号化データストリームの質が最大限に向上する。 各固定レートアプリケーション301−iは割り振りされたパケットの割り当て 分、即ち選択された時間間隔内における通信チャネルのバンド幅の一部分を受け 取る。 典型的には、可変レートアプリケーションの数は、アプリケーションの総数L よりも小さい。統計処理マルチプレクサ300は単に“レート”と称することも あるデータ圧縮レートを調節し、以下に詳述する、各可変レートアプリケーショ ン301−iに対するひずみ測度を所定の範囲内に維持する。従って、統計処理 マルチプレクサ300は、映像エンコーダレート制御機構にレートを与えて、各 可変レートアプリケーション301−iに対する選択されたパラメータを所定の 範囲内に維持することによって、この制御機構に対する外部シェルの役割を果た す。 コントローラ310は、メモリ313に格納されたテーブルについての処理ス テップを実行し、エンコーダ302−1〜302−Lから通信チャネル330上 に伝送されるパケット、即ち符号化データ単位を選択しつつ、各可変レートエン コーダ302−iからのデータを収集し、メモリ313に格納することも行う。 コントローラ310は収集されたデータを分析し、各可変レートエンコーダ30 2−iに対し圧縮レートを調節し、全てのエンコーダのデータの質を最大限に向 上させる。 新たな圧縮レートを用いて、次のウィンドウで使用される新たなテー ブルが構築される。ウィンドウについては、後に詳しく定義する。コントローラ 310は、エンコーダ302−1〜302−Lから通信チャネル330に伝送さ れるパケットを選択し、同時に新たな圧縮レートのテーブルを生成するのである 。新たなテーブルが完成したとき、新たな圧縮レート、即ちレートは、可変レー トアプリケーションを処理しているエンコーダ302−iに送られる。ウィンド ウのほぼ終わりの時点において、可変レートアプリケーションを処理するエンコ ーダ302−iは新たな圧縮レートにシフトし、次に統計処理マルチプレクサ3 00が新たなテーブルにシフトする。つまり、統計処理マルチプレクサ300は 新たなテーブルへの切り替えを行うのである。 以下に述べる実施例においては、通信チャネル330を通して伝送され得る各 データ単位をウィンドウ内に割り振りするのに統計処理マルチプレクサ300が 使用するテーブルは2つ存在し、それはスタティックテーブルとダイナミックテ ーブルである。スタティックテーブルは、所定の時間間隔内に通信チャネル33 0上を伝送され得る符号化データ単位のそれぞれに対するエントリを有する。 初期設定時においてスタティックテーブルが設置される。つまり、スタティッ クテーブルにおけるエントリが、固定レートアプリケーション及び可変レートア プリケーションに割り振られる。例えば各エントリが複数のデータストリームの 1つにそれぞれ割り振られるのである。固定レートエンコーダからの固定レート データストリームに割り振られる各エントリに対して、その固定レートデータス トリームに対するエントリにポインタが格納される。可変レートデータストリー ムに割り振られた各エントリに対しては、所定の符号、ナル符号がエントリ内に 格納される。 ダイナミックテーブルは、可変レートアプリケーションに対するポイ ンタと共に設置される。つまり、ダイナミックテーブルにおける各エントリは、 可変レートアプリケーションの1つ、即ち可変レートアプリケーションからの可 変レート符号化データストリーム、若しくはアイドルパケットに割り振られる。 可変レートアプリケーションに割り振られた各エントリにおいては、その可変レ ートアプリケーションに対するポインタが格納される。統計処理マルチプレクサ 300がスタティックテーブル内の所定の符号にアクセスした場合、ダイナミッ クテーブル内の次のエントリが用いられて、通信チャネル330を通して次のデ ータ単位を送る可変レートエンコーダを決定する。 第4図は、統計処理マルチプレクサ300のプロセス流れ図である。起動時、 即ち初期設定及び再設定時においては、統計処理マルチプレクサ300は初期化 ステップ401に入る。初期化ステップ401においては、システムスーパバイ ザ340(第3図参照)が、次の統計処理マルチプレクサ300の動作において 使用される設定情報を供給する。この設定情報はメモリ313に格納される。以 下に詳述するように、この実施例においては、格納された設定情報は、最小デー タレートRmin i、最大データレートRmax i及び保証データレートR gtd i、最大バッファサイズBmax i、最大ひずみ係数Dmax i、 優先順位番号P i、及びひずみヒステリシス係数K1 i及びK2 iを、そ れぞれ各エンコーダ302−iに対して有している。システムスーパバイザ34 0から供給されたレートは、必要ならば統計処理マルチプレクサ300と互換性 のあるデータ単位に変換される。 ステップ401において、全てのエンコーダ302−i〜302−Lはそれら の名目レートを割り当てられる。固定レートアプリケーションの場合は、名目レ ートは実際のレートである。統計的多重化されたアプリケーションの場合、即ち 可変レートアプリケーション301−iの場 合は、名目レートは、保証レート、若しくは最小レート等の他の所定の数値であ る。この実施例においては、各可変レートエンコーダ302−iはアプリケーシ ョン301−iに対し初期レートR iとして保証データレートRgtd iが 割り当てられる。同様に各可変レートエンコーダ302−iに対してひずみD iが最大ひずみ係数Dmax iにセットされる。 初期化ステップ401が終了すると、処理は収集及び分類ステップ402に進 む。収集及び分類ステップ402にも、各統計処理マルチプレクサ周期の終わり の時点において入る。この統計処理マルチプレクサ周期は統計処理マルチプレク ササイクルと称することもある。各可変レートアプリケーション301−iに対 する更新されたひずみD iを決定するのに必要なデータがステップ402にお いて収集される。以下に詳述するように、ひずみD iは可変レートエンコーダ 302−iによって処理される映像シーケンスを特徴付けるいくつかのパラメー タを含む。ひずみD i自体は、可変レートエンコーダ302−iによって統計 処理マルチプレクサ300に供給されてもよく、若しくは可変レートエンコーダ 302−iが統計処理マルチプレクサ300にパラメータを供給し、統計処理マ ルチプレクサ300が可変レートエンコーダ302−iに対するひずみD iを 決定し得る形でもよい。 一実施例においては、以下に詳しく述べるように、統計処理マルチプレクサ3 00が、各可変レートエンコーダ302−iに対し所定の順番でラウンドロビン (round robin)方式のポーリングを行い、各可変レートエンコーダ302−i から一度に1バイトの情報を読み出す。ひずみD iは、統計処理マルチプレク サ300により、映像シーケンスにおける各ピクチャに対し一回決定される。従 って、可変レートエンコーダ302−iから統計処理マルチプレクサ300にひ ずみパラメータを伝 送する頻度は、1枚のピクチャにつき1回である。この結果、ステップ402の 収集処理部分は、進行に応じて統計処理マルチプレクサ300により実行される ことになる。 統計処理マルチプレクサ300は、各可変レートエンコーダ302−iのバッ ファ使用度(buffer fullness)の変化を追跡し、ステップ402においてレー トが変化してもオーバーフローやアンダーフローが発生しないようにしている。 バッファ使用度情報は、各可変レートエンコーダ302−iにおいて利用可能で あり、1つのピクチャにつき1回、統計処理マルチプレクサ300に送られる。 各可変レートアプリケーション301−iに対するひずみD iは、ステップ 402において、ステップ402が開始する前に可変レートエンコーダ302− iから得られたひずみパラメータに基づき、それぞれ統計処理マルチプレクサ3 00により決定される。詳述すると、収集及び分類ステップ402の実行中に受 け取られた新たなひずみ情報は、次にステップ402が実行されるまで無効であ る。従って、統計処理マルチプレクサ300は、前回のステップ402における 統計的多重化サイクルが実行されているときに収集されたデータを用いているこ とになる。 ステップ402における分類ステップは各可変レートアプリケーション301 −iを、複数のクラスの1つにそれぞれ割り当てる。一実施例においてはこの複 数のクラスは、6つのクラスからなる。後に詳述するように、これらのクラスは 、(i)レートR iが可変レートエンコーダ302−iに対する保証レートR gtd iと比較して小さいか大きいか、若しくは等しいかにより、及び(ii )ひずみD iと最大ひずみ係数Dmax iとの間の関係に基づいて定められ る。 レート変更ステップ40においては、少なくとも各非固定レートアプリケーシ ョンに対する新たなレートが、後に詳しく述べるように、各エ ンコーダ302−iに対して生成される。このとき、レートの変更は、ひずみD iを改善するか、若しくはひずみD iを最大ひずみより大きくしないような ものであることが好ましい。許容できるひずみD iの値を達成するように圧縮 される可変レートアプリケーションのエンコーダに対しては、新レートは、単に 旧レートと同じものがセットされる。各可変レートエンコーダ302−iに対し 新たなレートが決定された後、この新レートは全て、通信チャネル330の容量 を超えているか否かを判定するためにチェックされる。新レートは通信チャネル 330の容量を超えてしまわない範囲で、できる限り多く使用するように調節さ れる。 レート変更ステップ403が終了すると、テーブル構築ステップ404におい て、後に詳しく述べるように新たなテーブルが構築される。一実施例においては 、通信チャネル330上を送られた符号化データ単位をパケットと称し、テーブ ル構築ステップ404では新たなパケットスケジュールテーブル(packet sched ule table)を構築する。統計処理マルチプレクサ300では、異なるアプリケ ーション301−iの必要とするレートが経時的に急速に変化し、従ってアプリ ケーションに対し割り振られたパケットの割り当てが経時的に変化する。統計処 理マルチプレクサ300は、テーブル構築ステップ404において各アプリケー ション301−iが、特定のウィンドウ時間内におけるパケットの割り当ての割 り振りを確実に得られるようにする。 ステップ404で構築されるパケットスケジュールテーブルは、次の統計処理 マルチプレクササイクル、即ちウィンドウに対して定められ、その時間間隔にお いて各パケットにどのアプリケーションが割り振られたかについての情報を含む 。パケットの割り振りは、1つのアプリケーションに属するパケットが、時間間 隔内に概ね均一に分布するように行われる。これによって、復号化システムにお けるデマルチプレクサの緩 衝機構を最小限にすることができる。(このデマルチプレクサは、入力されたデ ータストリームの中から、復号化システムが処理しようとしているパケットを選 択する。)パケットスケジュールテーブルは、ステップ403において各可変レ ートエンコーダ302−iに割り振られた新たなレートに基づいて、次のウィン ドウの開始時に有効になる。 ウィンドウサイズが小さくなるほど、パケットスケジュールテーブルが構築さ れなければならない頻度が増加するため、パケット当たりの処理オーバーヘッド が増加する。一方、ウィンドウサイズが大きくなることにより、ひずみの変化に 対する統計処理マルチプレクサ300の反応が小さくなる。例えば、映像のシー ンが変化することにより、映像シーケンスはより複雑になり得る。このような場 合、レートR iが小さければシーンの変化によりひずみD iは大きくなり、 統計処理マルチプレクサ300はエンコーダ302−iに対しより多くのビット 数を割り振りすべきことになる。しかし、ウィンドウサイズが大きい場合は、統 計処理マルチプレクサ300はシーンの変化が偶然にウィンドウの終わりの時点 に近いところで起きない限りシーンの変化に急速に反応することができない。こ こで使用されているように、ピクチャとはエンコーダの固有のデータ単位のこと である。ほとんどの場合、ピクチャは画像フレームであるが、本発明はフレーム 上でのみの動作に限定されるものではないことから、より一般的な用語として“ ピクチャ”を使用している。非映像データの場合においては、例えば音声フレー ムのような他の適当なデータ単位が使用されうる。 ステップ404において新たなパケットスケジュールテーブルが構築されたと き、統計処理マルチプレクサ300は、レート移送ステップ405において、各 新レートを、各可変レートエンコーダ302−iに移送する。また、この目的の ために、予め定められたオーダが使用され得 る。最後に、レート切替えステップ406におけるいずれかの時点において、可 変レートエンコーダ302−iは、その内部レート制御を新レートに切り替える 。同時に、統計処理マルチプレクサ300は、ステップ404において構築され た新たなパケットスケジュールテーブルに切り替えを行う。このように、統計処 理マルチプレクサ300と、アプリケーション301−i〜301−Lとの間の 同期を維持することにより、すべてのエンコーダのレートの合計、すなわち全レ ートが通信チャネルの容量と常に等しくなる。これによって、通信チャネルの利 用効率が最大限に向上し、また通信チャネル330がサポートし得る容量よりも 大きな容量がエンコーダに割り振りされる可能性がなくなる。 レート切替えステップ406が終了の後、処理は周期終了ステップ407に進 む。周期が終了したとき、ステップ402〜407が反復される。従って、ステ ップ402〜407における動作は各周期ごとに一回生起することになる。初期化ステップ401 初期化ステップ401の一実施例においては、システムスーパバイザ340が 、統計処理マルチプレクサ300で処理される固定レートアプリケーションの総 数及び可変レートアプリケーションの総数を特定する。システムスーパーバイザ 340は、統計処理マルチプレクサ300が使用する、第1テーブルとも称する 第1パケットスケジュールテーブルを特徴付けるのに必要なパラメータの特定も 行う。この第1パケットスケジュールテーブルのパラメータには、統計処理マル チプレクサ300により約1秒間の間に通信チャネル330に供給されるパケッ ト数Nと、可変レートアプリケーションに割り振りされなければならない第1ス ケジュールテーブル内のエントリ数Vとが含まれ、また、パケット数Nは第1パ ケットスケジュールテーブルのサイズを表す。 初期化ステップ401において、システムスーパバイザ340は、各可変レー トアプリケーション301−iに対し目標ひずみと称されることもある、ひずみ 閾値Dmax iと称するパラメータの設定を行う。この実施例においては、ひ ずみ閾値Dmax iとは、そのひずみ閾値Dmax iより大きいひずみが人 間の目に認識可能であるようなひずみ値を指す。ひずみ閾値Dmax iは負で ない数値であって、一実施例においては、2バイトの精度の負でない実数である 。 システムスーパバイザ340は、初期化ステップ401において各アプリケー ション301−1〜301−Lに対し、典型的には1秒当たりのビット数で表さ れるレート範囲の設定も行う。可変レートアプリケーションについては、レート 範囲は、最小データレートRmin i、最大データレートRmax i、及び 保証データレートRgtd iにより定められる。固定レートアプリケーション に対しては、システムスーパバイザ340により、上の3つのレート範囲が同じ 値に設定される。 最小レートRmin iは統計処理マルチプレクサ300により可変レートア プリケーション301−iに対し割り振られるレートの下限である。つまり、こ のレートはそのアプリケーションの再構成の質に無関係であることが保証されて いるのである。最小レートRmin iは負ではあり得ない。 最大レートRmax iは、統計処理マルチプレクサ300により可変レート アプリケーション301−iに割り振られるレートの上限である。このレートは 、そのアプリケーションの再構成の質とは無関係にこのレートを越えることがで きないレートである。ここで、この再構成の質は、以下に詳細に述べるように、 ひずみ率D iにより測定される。最大レートRmax iは最小レートRmi n iと等しいかそれより大きい。 保証レートRgtd iとは、統計処理マルチプレクサ300により、可変レ ートアプリケーション301−iが目標ひずみを達成することが可能であること を保証するレートである。このパラメータは、システムスーパバイザ340によ り決定された特定のアプリケーションによって使用されても使用されなくてもよ い。保証レートRgtd iが無視される場合には、ひずみ閾値Dmax iが 各初期設定時において0に設定される。そうでない場合は、保証レートRgtd iが、範囲[Rmin i、Rmax i]のなかにあることが必要である。 保証レートRgtd iの使用、不使用に関わらず、起動時において各可変レー トアプリケーションは、あらかじめその保証レートRgtd iを割り当てられ る。さらに、可変レートアプリケーションに対するすべての保証レートと、ここ ではRmin iによって表されているすべての固定レートアプリケーションの 実際のレートとの和は、チャネル容量に等しくあるべきである。すなわち、 ここで、“A”は特定の保証レートRgtd iを有するすべてのアプリケーシ ョン301−iの集合であり、“B”は他のすべてのアプリケーションの集合で ある。マルチプレクサ300に接続されたすべてのアプリケーションが統計的多 重化処理をなされる必要はなく、すなわちアプリケーションの一部もしくはすべ てが処理時間全体に亘って固定レートを有し得る。この実施例においては、上述 の関係を満足することを確実にしているのはシステムスーパバイザ340である 。 システムスーパバイザ340により特定されるレートは普通1秒当たりのビッ ト数により特定される。実際には、殆どのシステムがエンコーダバッファからの データビットを“パケット”の形態で伝送し、パケッ トには数ビットが含まれる。つまり、レートの量子化はビットレベルでなされず に、数ビットのレベルにおいてなされるのである。このようなシステムにおいて は、通信チャネルの容量は一定の1秒当たりのパケット数に変換される。これら のパケットは、各エンコーダのレートに関する必要性を満たすようにエンコーダ 302−1〜302−Lに割り振りされなければならない。従って、1秒当たり のビット数で表されるレートは初期化ステップ401において適当な時間間隔当 たりのパケット数に変換されるのである。 詳述すると、各レートは1秒当たりのパケット数で表されるレートに変換され る。Nは第1テーブルにおけるエントリ数であることから、各レートは1秒当た りのビット数で表されるレートに対応する第1パケットスケジュールテーブル内 のパケット数(パケット数/P.T.)に変換される。 一実施例においては、後に詳しく述べるように、統計処理マルチプレクサ30 0が一定のエントリ数Sを有する第2テーブルも使用する。各可変レートアプリ ケーションに対し、このレートも第2パケットスケジュールテーブルにおけるパ ケット数(パケット/S.T.)に変換される。Sが192である場合は、パケ ット数/S.T.で表されるレートは、以下のようになる。 ここで、“int”は、整数関数である。この実施例では保証レートである割り 当てられたレートの合計が、可変レートエンコーダ302−iに割り振りされた 通信チャネルの容量の全体と等しくあるべきことから、パケット数/S.T.で 表される割り当てられたレートの合計は192となる。整数関数を用いたために 生ずる打切りにより、割り当てレートの合計が可変レートエンコーダ302−i に割り振りされた通信チャネ ルの全容量より小さくなることもある。この場合、割り当てられていないパケッ トはすべて、統計処理マルチプレクサ300により任意に可変レートエンコーダ に割り当てられる。 レートをパケット数/S.T.に変換した後、統計処理マルチプレクサ300 は1秒当たりのビット数で表されるレートを再計算し、この計算結果の保証レー トRgtd iはエンコーダ302−iに伝送される。このような再計算処理は 、整数関数における打切りにより必要となるのである。この再計算を容易にすべ く、システムスーパバイザ340は、統計処理マルチプレクサ300にレート較 正定数Yを供給する。このレート較正定数は以下のように定義される。 ここで、 OVは、各パケットにおけるオーバヘッドビットの数であり、本実施例におい ては24ビットである。 Cは、名目統計処理マルチプレクサ出力レートの合計(ビット数/秒)である 。 TOLMは、統計処理マルチプレクサクロックの許容差である(分数で表され る)。 Pは、ビット数で表されるチャネルパケットサイズである。(本実施例におい ては1040ビットである)。 Vは、可変レートアプリケーションに割り当てられた第1テーブル内のエント リの総数である。Nは、第1テーブル内のエントリの総数である。 TOLVは、エンコーダへの入力データレートの許容差である。 レート較正定数Yは、較正時において各エンコーダ302−1〜30 2−Lに与えられる。パケット数/S.T.で表されたレートQに対応する1秒 当たりのビット数で表されたレートRは、以下の式で与えられる。 ここで、 “int”は、整数関数である。 Qは、パケット数/S.T.で表されたアプリケーションに割り当てられたパ ケット数である。 定数“400”は、1秒あたり400ビットの倍数でレートをカウントする圧 縮についてのMPEG標準によって必要となる定数である。 他のアプリケーションで、このレートでの分解能より微細な分解能が可能にさ れている場合には、当業者は上述の関係式を容易に変形出来よう。 システムスーパバイザ340は、初期化ステップ401において、可変レート エンコーダ302−iに対し、その重要度を示す優先順位番号P iを割り当て る。可変レートエンコーダ302−iの重要度が大きくなるにつれ、そのエンコ ーダに対する優先順位番号P iは大きくなる。優先順位番号P iを用いて、 後に詳細に述べるように、各可変レートエンコーダ302−iのひずみを重み付 けする。この結果、大きな優先順位番号P iにより、ひずみが人為的に拡大さ れ、可変レートエンコーダ302−iが通信チャネル330のより多くのビット を要求するようになる。優先順位P iは負でない数で、一実施例においては[ 1,16]の範囲内にある整数である。一実施例において、統計処理マルチプレ クサ300は、優先順位番号P iをすべての優先順位番号の平均値で除すこと により、各可変レートエンコーダ302−iの優先順位番号P iを標準化する 。標準化された優先順位番号もここではP iと表すことにするが、これは統計処理マルチプレクサ300によりメモリ3 13内に格納され、以下に述べる処理において用いられる。 各可変レートアプリケーション301−iに関し、2つのヒステリシス係数K 1 i及びK2 iがあり、これらは各一定の時間間隔に対してレートを決定す る処理においてヒステリシスを導入するのに用いられる。この実施例においては 、ヒステリシス係数K1 i及びK2 iに対するデフォルト値は、それぞれ0 .9及び1.1である。 各可変レートエンコーダ302−iに対し、システムスーパバイザ340はエ ンコーダ302−iの最大バッファサイズBmax iを定める。統計処理マル チプレクサ300は、各可変レートエンコーダ302−iに対し、最大バッファ サイズBmax i及び最大レートRmax iを用いて、エンドツーエンドシ ステム遅延時間δ i、即ち映像フレームが符合化システムにに入力されたとき から最終的に復号化システムのディスプレイに表示される時までの秒数を決定す る。当業者には理解されるように、エンドツーエンドシステム遅延時間は、実際 のシステム遅延時間δ iと、フレームデータのバッファリング等により導入さ れた他の遅延時間との和である。しかし、統計処理マルチプレクサ330におい ては、可変レートエンコーダ302−iに対する関連情報は、エンドツーエンド システム遅延時間δ iを以下のように定義することにより取り込まれる。 システム遅延時間δ iは、この実施例においては、次の再設定時までにエンコ ーダーデコーダ間のピクチャ同期損失がない限り、変化し得ない。統計処理マル チプレクサ300により、各アプリケーション301−iに対するシステム遅延 時間が変化せず、同時に符合化システム及び復号化システムにおいてバッファの オーバーフローまたはアンダーフロ ーが発生しないことが確実となる。別の実施例においては、システム遅延時間δ iは変化することがあり、画像フレームの表示における抜け及び/若しくは反 復が起こることがある。 初期化ステップ401において、システムスーパバイザ340は各可変レート アプリケーション301−iに対しそのひずみ閾値Bmax iとして初期ひず みD iを設定する。表Iは、システムスーパバイザ340により統計処理マル チプレクサ300に供給される、各可変レートエンコーダ302−iに対するパ ラメータをまとめたものである。別の実施例においては、表Iの情報は可変レー トエンコーダ及び固定レートエンコーダの双方に対して供給され得る。 表Iに示されているパラメータの特定の範囲及びデータの型は、本発明の実施例 の1つとして示したものに過ぎず、本発明をこの特定の情報に限定するものでは ない。収集及びクラス分けステップ402 前に簡単に述べたように、ステップ402の収集処理の部分においては、各可 変レートエンコーダ302−iに対するひずみD i及び各可変レートエンコー ダ302−iのバッファ使用度の変化を求めるのに必要なデータを、処理の進行 とともに収集する。1実施例においては、エンコーダ302−i〜302−Lと 統計処理マルチプレクサ300との間の通信は、“メッセージサイクル”を通し て実行される。統計処理マルチプレクサ300は、各パケット時間におけるメッ セージサイクルにおいてエンコーダ302−i〜302−Lのいずれからも1バ イトの情報を読み出し、若しくは書き込みすることができる。パケット間隔とも 称されるパケット時間は、典型的には通信チャネル上を130バイトのデータを 伝送するのに必要な時間間隔であるが、この時間及び/もしく はパケットサイズは変化し得る。更に、統計処理マルチプレクサ300は、メッ セージサイクルにおいて1バイトの情報をすべてのエンコーダ302−i〜30 2−Lに送信することができる。ひずみD iを決定するのに必要なパラメータ を、エンコーダ302−iが統計処理マルチプレクサ300に単に転送するだけ の場合は、ひずみD iのサイズは、そのエンコーダに対しパケット時間数回分 に及ぶ。 統計処理マルチプレクサとエンコーダ302−i〜302−Lとの間でデータ をやりとりするのに用いられる特定のプロセスは本発明においては重要ではない 。重要な点は、統計処理マルチプレクサ300が必要とするデータと、統計処理 マルチプレクサ300がそのデータをどのように処理するかという点である。統 計処理マルチプレクサ300の動作の記述の点からいえば、この必要なデータは 様々な方法で転送され得る。しかし、一実施例においては、統計処理マルチプレ クサ300のメモリ313における汎用通信テーブルのエントリの読み出し及び 書き込みを行うことによって、統計処理マルチプレクサ300とエンコーダ30 2−iと〜302−Lとの間の直接のやりとりがすべてなされる。 詳述すると、プロセッサ312により汎用通信テーブルにエントリの書き込み がなされたとき、ステートマシン(state machine)311は、(a)エンコー ダ302−iに搭載された第1レジスタ、またはエンコーダ302−iに搭載さ れた第1先入れ先出しメモリ(FIFO)に1バイトの書き込みを行うか、若し くは(b)エンコーダ302−iに搭載された第2レジスタから、またはエンコ ーダ302−iに搭載された第2先入れ先出しメモリ(FIFO)から、アプリ ケーション制御バス360を通して1バイトの読み出しを行うハードウェアを制 御する。各エンコーダ302−iに搭載された第1レジスタは、書き込みオーナ FIFOフラグ及び読み出しオーナFIFOフラグ(a write owner FIFO flag and a read owner FIFO flag)を有し、いずれかが、マルチプレクサを表 す“mux”若しくはエンコーダを表す“encoder”に設定され得る。各 エンコーダ302−iに搭載された第2レジスタは書き込みデータ有効フラグを 有する。ここで、第1及び第2FIFOとレジスタとが使用されるが、これは一 例を示したに過ぎず、当業者はエンコーダ302−iと統計処理マルチプレクサ 300との間の通信が、統計処理マルチプレクサ300の動作に悪影響を与える ことなく他の様々な方法により行われ得ることを理解されよう。重要な点は、上 述のように、各エンコーダがひずみ及びバッファ使用度データを収集し、このデ ータは、統計処理マルチプレクサ300の動作周期のなかの適切な時点において 、統計処理マルチプレクサ300に送られるという点である。また、統計処理マ ルチプレクサ300は、1つの統計処理マルチプレクササイクルにつき1回、可 変レートエンコーダ302−iに新たなレート情報を送る必要がある。 エンコーダ302−iから統計処理マルチプレクサ300へのデータの伝送に は2つのプロセスが用いられる。第1プロセスにおいては、統計処理マルチプレ クサ300が以下の順番に処理を行う。即ち(1)エンコーダ302−iの書き 込みFIFOオーナフラグを“mux”に設定し、(2)書き込みデータ有効フ ラグ及び6バイトのデータを第1FIFOから読み出し、(3)書き込みFIF Oオーナフラグに“encoder”を設定する。エンコーダ302−iに対し 、このプロセスが完了したとき、統計処理マルチプレクサ300は書き込みデー タ有効フラグを調べ、フラグが有効でない場合は、6バイトのデータを廃棄する 。このプロセスは各エンコーダに対し少なくとも20ミリ秒ごとに1回反復され る。 エンコーダ302−iから統計処理マルチプレクサ300へのデータ の伝送に使用される第2プロセスにおいては、エンコーダ302−iが1つのピ クチャ毎に1回、ひずみ及びバッファ使用度データを収集したとき、書き込みF IFOオーナフラグ及び第1FIFOの状態をチェックする。書き込みFIFO オーナフラグが“encoder”に設定され、第1FIFOが空の場合、エン コーダ302−iは収集されたデータを第1FIFOに書き込み、これが終了し たとき書き込みデータ有効フラグをセットする。これらの条件の何れかが真でな い場合、エンコーダ302−iは第1FIFOに書き込みを行う前に両条件が満 たされるまで待機する。収集されたデータが第1FIFOに書き込み得る状態に なる前に、新たなデータが使用可能となった場合、収集されたデータは廃棄され 新たなデータに置き換えられる。 統計処理マルチプレクサ300からエンコーダ302−iへのデータ送信、即 ち新たなレートの伝送は3ステップのプロセスにおいてなされる。統計処理マル チプレクサ300は以下に述べる順番に処理を行う。即ち(1)エンコーダ30 2−iの読み出しFIFOオーナフラグを“mux”に設定し、(2)第2FI FOに新たなレートを書き込み、(3)読み出しFIFOオーナフラグに“en coder”を設定する。読み出しFIFOオーナフラグへの書き込みは、エン コーダプロセッサに対する割り込みを発生する。この割り込みに応答して、エン コーダプロセッサは、第2FIFOが空になるまでFIFOからデータを読み出 す。 1つのピクチャに対するパラメータの組のそれぞれが、上述のプロセスを用い てエンコーダ302−iから統計処理マルチプレクサ300に受け取られたとき 、パラメータの組は割り当てられた優先順位番号P iと共に用いられて、瞬間 ひずみd iを発生する。瞬間ひずみd iは可変レートエンコーダ302−i に対しひずみD iを更新するのに 用いられる。 一実施例において、各アプリケーションに対するひずみD iは再帰的に決定 される、即ち、ひずみ iは前の3つのひずみ値の平均値である。直近に決定さ れる値に対しひずみD iの移動平均を用いることにより、ひずみD iの突然 のスパイクに対する保護を与えることになる。 別の実施例において、ひずみD iを更新するのに再帰フィルタが用いられる 。即ち、 この再帰フィルタはひずみD iの突然のスパイクに対する保護をなすダンピン グ機構(damping)として作用する。係数βの値は経験的に決定され、一実施例 においては値0.8が用いられる。 データ収集サイクルが終了したとき、全ての可変レートエンコーダに対するひ ずみD i,i=1,...,NV及び現在レートR i,i=1,...,N Vは常に既知となっている。というのは、このレート及びひずみは上述のように ステップ401における初期設定時においてセットされたものであるか、若しく は前の統計処理マルチプレクササイクルで得られたレート及びひずみだからであ る。 ステップ402のクラス分け処理部分とは各可変レートアプリケーション30 1−iを現在レート及びひずみを用いて複数のクラスの1つに割り当てる。一実 施例においては、表IIのように6つのクラスが規定される。 ステップ402のクラス分け処理部分の目的は、各可変レートアプリケーショ ン301−iに対し、そのアプリケーションの現在レートR iが許容できるひ ずみD iを供給しているか否かを識別し、レート変更ステップ403における 適切な処理のためにアプリケーション301−iをクラス分けすることにある。 プロセス500はステップ402のクラス分け処理部分の実現可能な形態の1つ である。 ステップ501では、可変レートアプリケーション301−i、i=1,.. .,NVのそれぞれが処理されたか否かを判定すべくチェックする。可変レート アプリケーションが未処理の状態に留まっている場合は、次の可変レートアプリ ケーション301−iに対するひずみD iがひずみ過大チェックステップ50 2においてチェックされる。詳述すると、ひずみD iは最大ひずみ(K2 i )*(Dmax i)と比較される。ここで最大ひずみは、第2ヒステリシス係 数K2 iとひずみ閾値Dmax iとの積である。 ひずみD iが高すぎる場合は、処理はステップ502からレートチェックステ ップ503に進み、逆の場合、ひずみ過小ステップ506に進む。レートチェッ クステップ503において、アプリケーション301−iに対しレートR iが 保証レートRgtd iより低い場合は、処理はステップ504に進み、そうで ない場合はステップ505に進む。 ステップ504において、アプリケーション301−iはクラス3に割り当てら れ、ステップ505においてアプリケーション301−iはクラス6に割り当て られる。ステップ504及び505からは追加的アプリケーションステップ50 1に進む。 クラス3における各アプリケーション301−iは現時点で保証レートRgt d iより低いものが割り振られており、最大ひずみより低い質レベルで圧縮さ れる。従って、クラス3におけるアプリケーションのレートは増加することにな る。クラス6における各アプリケーション301−iは現時点において保証レー トRgtd i以上のものが割り振られており、最大ひずみより低い質レベルで 圧縮される。クラス6におけるアプリケーション301−iは後に詳細に述べる ように、レートを増大させることに関して互いに競合している。 ひずみ過小ステップ506において、アプリケーション301−iに対するひ ずみD iは最大ひずみ(K1 i)*(Dmax i)と比較される。ここで 最大ひずみは第1ヒステリシス係数K1 iとひずみ閾値Dmax iとの積で ある。即ち、 ひずみD iが小さすぎる場合は、処理はステップ506からレートチェックス テップ507に進み、逆の場合はレートチェックステップ510に進む。レート チェックステップ507において、可変レートアプリケーション301−iのレ ートR iが保証レートRgtd iより低い場合は、処理はステップ508に 進み、他の場合はステップ509に進む。ステップ508において、アプリケー ション301−iはクラス1に割り当てられ、ステップ509においてアプリケ ーション301−iはクラス4に割り当てられる。ステップ508及び509か らは追加的アプリケーションステップ501に進む。 クラス1及び4に属するアプリケーションは許容範囲の加減より低いひずみD iを有し、最小ひずみによって規定された目標となる質よりも高い質レベルで 圧縮される。つまりこのグループにおける各可変レートアプリケーション301 −iの現在レートR iは、目標ひずみレベル、即ちひずみの許容範囲内で動作 するのに必要なレートを超えている。従って、このグループに属する各アプリケ ーションのレートは低くされ得る。 アプリケーションがステップ510に達したとき、ひずみD iは許容範囲内 にある。詳述すると、アプリケーション301−iのひずみD iは最小ひずみ (K1 i)*(Dmax i)より大きく、最大ひずみ(K2 i)*(Dm ax i)より小さい。即ち、 従って、アプリケーションは正しい質レベルで圧縮されることになる。故に、可 変レートアプリケーション301−iの現在レートR iを変化させる必要はな い。このグループに属するアプリケーションは、現在レートR iが保証レート Rgtd iより低い場合はステップ511においてクラス2に割り当てられ、 そうでない場合はステップ512において割り当てられる。ステップ511及び 512からは追加的アプリケーションステップ501に進む。 従って、プロセス500では、各可変レートアプリケーションを表IIにおい て規定されている4つのクラスの1つにそれぞれ割り当てる。クラス2に属する アプリケーションのレートは変化しない。しかし、以下に述べるように、レート 変更ステップ403において、クラス1、3〜6に属するアプリケーションのレ ートを変更することができる。ステップ403に入る前に、以下に規定するよう なレート増加量ΔD、ΔI、及びΔCは0にされる。レート変更ステップ403 レート変更ステップ403において、クラス1及び4に属する可変レートアプ リケーションのレートは、1つのグループとして処理される。クラス3に属する 可変レートアプリケーションのレート及びクラス6に属する可変レートアプリケ ーションのレートは別々に処理される。レートの調節後、通信チャネル330の 容量が完全に利用されていない場合は、クラス3及び6に属するアプリケーショ ンのレートが修正される。逆に、レート調節後、通信チャネルの容量を越えてい る場合は、クラス4〜6に属するアプリケーションのレートが修正される。一実 施例において、全てのレートは、パケット数/第2テーブルの単位で測定される 。レートを測定するのに用いられる単位は、経験的に決定される係数の選択に影 響を与える。故に、異なる単位のレート測定値を用いることは、経験的に決定さ れる係数の異なる値を必要とすることになる。 低レートプロセス600が示すのは、ステップ403におけるクラス1及び4 に属するアプリケーション、即ちひずみD iが過小なアプリケーションのレー ト変更プロセスを示したものである。低レートプロセス600はクラス1及び4 に属する各アプリケーション301−iに対して反復的に実施される。 この実施例においては、低レートプロセス600は、比例的フィードバックル ープを用いて、過小ひずみD iを有する各アプリケーション301−iの現在 レートR iを減少させる。比例的フィードバックループの使用においては、各 アプリケーション301−iの現在レートR i及びひずみD iが互いに逆比 例していることを暗に仮定している。一般に、このような仮定は真ではない。し かし、本発明の原理によれば、レートR iは、以下に述べるように、微少量ず つ変化し得、実際のレート/ひずみ曲線から著しくずれてしまうことはない。こ の仮定は、こ の実施例における全てのレート調節プロセスにおいて使用される。もちろん他の 実施例において、レートとひずみとの間の異なる関数的関係を用いることもでき る。またレートとひずみとの間の異なる関数的関係を、ステップ403を構成す るさまざまなプロセスにおいて使用することも可能である。 過小ひずみD iを有するアプリケーション301−iの新レートRnew iは、レート調節ステップ601において決定される。レート調節ステップ60 1において、旧レートRold iは可変レートアプリケーション301−iの 現在レートR iと等しくなるように設定される。例えば、現在レートのテーブ ルが旧レートのテーブルにコピーされる。ここで、符号Rnew iは旧レート と新レートとを区別するために用いられている。実際、各新レートRnew i は現在レートのテーブルにおける適当な領域に格納され、レート変更ステップ4 03の終わりの時点において、現在レートのテーブルには、次の統計処理マルチ プレクササイクルに用いられる新たなレートが含まれることになる。このように 、レート変更ステップ403においてはただ2つの構造、即ち2つのテーブルの みが用いられる。従って、ここで新レートというのは、現在レートテーブルに格 納されているレートのことである。 標準化されたひずみ閾値Dmax iとひずみD iとの差に、定数cを掛け 合わせ、旧レートRold iを加えることにより新レートRnew iが生成 される。一実施例においては、定数cは経験的に決定され、値16に設定された 。即ち、 ここで、定数cは全てのクラスに属する全てのアプリケーションに対して同じ値 をとる。しかし、定数cの、個々のアプリケーションごとに、若しくはアプリケ ーションの属するクラスごとに定められるようにする こともできる。 次に、レート調節ステップ601において、新たなレートRnew iがチェ ックされ、新レートRnew iが所定の範囲内にあることを確実にする。即ち 、レートの変化はわずかな減少である。一実施例において、新たなレートRne w iはレートの上限とレートの下限との間の範囲になくてはならない。即ち、 この実施例においては、定数sの値は経験的に0.9が選択された。新レートR new iがレートの下限s*Rold iより低い場合は、新レートRnew iはレートの下限s*Rold iに等しく設定される。 新レートRnew iがテストされ、レートの変化がわずかな減少に抑えられ ているか否かを判定した後、新レートRnew iは更にテストされ、新レート Rnew iがアプリケーション301−iの最小レートRmin iより小さ いか否かを判定される。新レートRnew iがアプリケーション301−iの 最小レートRmin iより低い場合は、新レートRnew iは最小レートR min iと等しい値に設定される。レート調節ステップ601が完了したとき 、処理はバッファサイズ調節ステップ602に進む。 システムの遅延時間を一定に保つために、アプリケーション301−iのレー トR iの減少は、エンコーダ302−iの有効バッファサイズの比例的減少を 伴う。従って、バッファサイズ調節ステップ602においては、新たな有効バッ ファサイズが決定される。この実施例においては、新たな有効バッファサイズ“ buf sz i”が、新レートRnew iとシステム遅延時間δ iとの積 に等しい。即ち、 しかし、バッファサイズは任意に小さくすることはできない。新バッファサイズ buf sz iが現在バッファ使用度より大きいことを確実にしておくべく注 意を払わねばならないことは明らかである。実際、更に厳しいことが求められて いる。新バッファサイズbuf sz iは、現時点に先立つδ iのシステム 遅延時間間隔の間、常にエンコーダバッファの使用度以上に維持されなければな らない。従って、上述のように、統計処理マルチプレクサ300は、各ピクチャ のデータが終了したときにアプリケーション301−iに対しバッファ使用度値 を得て、現在の時点に先立つδ iの時間間隔に亘って、メモリ313に最大バ ッファ使用度閾値max buffer iとしてバッファ使用度値の最大値を 格納する。 デコーダバッファの大きさが、エンコーダバッファの大きさに最大レートRm ax iの最小レートRmin iに対する比率をかけた値以上である場合は、 バッファ使用度に関わりなくレートR iを低下させることができる。しかし、 このためには、一般にデコーダバッファのサイズが大きいことが必要である。エ ンコーダ及びデコーダが同じサイズのバッファを有する場合は、バッファ使用度 がレートを低下させる前に考慮しなければならない。 レートが低下したときは常に、レートが変化する前の時間δ iの間に、エン コーダバッファに入力された全てのビットがデコーダに供給されることを確実に することは重要である。データビットが供給されるときの新レートがそれらが生 成されたときの旧レートより低いため、このことは問題になる。従ってレートが 変化する前のδ iと等しい時間間隔に亘ってバッファ使用度が新バッファサイ ズを超えなければ、及び越えさえしなれば、レートは低下しうる。 故に、閾値max buffer iは新バッファサイズbuf s z iと比較される。新バッファサイズbuf sz iが最大バッファ使用度 閾値max buffer iより低い場合は、新レートRnew iが旧レー トRold iと等しい値に設定される。そうでない場合は、新レートRnew iが保持され、バッファサイズ調節ステップ602における処理が終了し、処 理はレート変化累算ステップ603に進む。 レート変化累算ステップ603において、アプリケーション301−iのレー トの変化、即ち新レートRnew iと旧レートRold iとの差が求められ 、レート減少量ΔDが加えられる。詳述すると、レート減少量ΔDは、過小ひず みを有するアプリケーション301−iの新レートRnew iと旧レートRo ld iとの差を累算したものである。上述のレート減少量ΔDが0に初期化さ れ、各統計処理マルチプレクササイクルのスタート時に0にリセットされたこと を想起されたい。 レート減少量ΔDは負の値である。レート変化累算ステップ603が終了すると 、処理はステップ604に進み、このステップではこれから処理をすべきクラス 1及び4に属する追加的なアプリケーションの存在有無をチェックする。クラス 1及び4に属する全てのアプリケーションが処理されている場合は、ステップ6 04からプロセス終了ステップ603に進み、そうでない場合はステップ601 に進む。 クラス3及び6に属するアプリケーションは、過大なひずみD iを有する。 クラス3に属するアプリケーションはまた、保証レートRgtd iより低い現 在レートR iを有する。これらのアプリケーションはそれぞれ、レート変更ス テップ403内のレート増加プロセス605において処理される。 レート増加プロセス605において処理されたアプリケーションは、その時点 でそれらの保証レートより低いレートに割り振られているが、最大ひずみ(K2 i)*(Dmax i)により定義された目標の質よりも低い質レベルで圧縮 される。従って、これらのアプリケーションに対するそれぞれのレートR iは 、アプリケーション301−iが許容ひずみ範囲内のひずみD iを有するまで 、若しくはアプリケーションが初めの保証レートRgtd iに割り振りされる まで高められる。 この実施例においては、レート増加プロセス605は、比例的フィードバック ループを用いて、クラス3に属する各アプリケーション301−iの現在レート R iを増加せしめる。比例的フィードバックループを使用するということは、 クラス3に属する各アプリケーション301−iのレートR iとひずみD i とが互いに逆比例の関係にあることを暗に仮定している。一般に、このような仮 定は偽である。しかしながら、本発明の原理によれば、レートR iは、以下に 述べるように、わずかに増加するだけの変化しかできず、実際のレート−ひずみ 曲線から大きくはずれてしまうことはない。 クラス3に属するアプリケーション301−iの新レートRnew iは、レ ート調節ステップ606において決定される。レート調節ステップ606におい ては、アプリケーション301−iに対し、旧レートRold iが現在レート R iと等しく設定される。標準化されたひずみ閾値Dmax iとひずみD iとの差に、定数cを乗ぜられ、旧レートRold iを加算されて、新レート Rnew iが生成される。即ち、 一実施例においては、定数cは経験的に求められ、値16が設定された。 次に、レート調節ステップ606が新レートRnew iをチェック して、レートの変化がわずかな増加であることを確かめる。一実施例においては 、新レートRnew iはレートの下限及びレートの上限によって定められた一 定の範囲内に収まっていなければならない。即ち、 この実施例においては、定数tは経験的に1.1が選択された。新レートRne w iがレートの上限t*Rold iより大きい場合は、新レートRnew iはレートの上限t*Rold iと等しく設定される。新レートRnew i がテストされレートの変化がわずかな増加に抑えられているか否かが判定された 後、新レートRnew iは更にテストされて、アプリケーション301−iに 対し新レートRnew iが保証レートRgtd iより大きいか否かが判定さ れる。アプリケーション301−iにおいて新レートRnew iが保証レート Rgtd iより大きい場合は、新レートRnew iは保証レートRgtd iと等しい値に設定される。 レート調節ステップ606が終了したとき、上述のようなバッファ使用度チェ ックは必要ではない。というのは、レートの増加は有効バッファサイズの増大を 伴うからである。従って、処理はレート調節ステップ606からレート変化累算 ステップ607へ進む。 レート変化累算ステップ607において、アプリケーション301−iのレー トの変化、即ち新レートRnew iと旧レートRold iとの差が求められ 、レート増加量ΔIが加算される。この値はメモリ313に格納される。上述の レート増加量ΔIが初めに0に設定され、各統計処理マルチプレクササイクルの スタート時に0にリセットされることを想起されたい。即ち、 レート増加量ΔIは正の値である。レート変化累算ステップ607が終了したと き、処理はステップ608に進み、ここでこれから処理すべきクラス3に属する 追加的なアプリケーションが存在するか否かがチェックされる。クラス3に属す る全てのアプリケーションが処理されていた場合は、ステップ607から処理終 了ステップ630に進み、そうでない場合はステップ606に進む。従って、プ ロセス605は、クラス3に属する可変レートアプリケーション301−iのそ れぞれに対して連続的に実行される。 クラス6に属するアプリケーションは最大ひずみ(K2 i)*(Dmax i)より大きいひずみD i及び保証レートRgtd i以上の値のレートR iを有する。クラス6に属するアプリケーションは、そのアプリケーションが少 なくともそれらの保証レートに割り振りされている事実にも関わらず目標の質を 越えるひずみ値で圧縮される。これらのアプリケーションは競合的なレート増加 プロセス610において互いに競合し、それらのひずみが等しくなる。 詳述すると、平均ひずみステップ611において、クラス6に属する全てのア プリケーションの平均ひずみDavgが求められる。即ち、 ここで、Hはクラス6に属するアプリケーションの総数である。平均ひずみステ ップ611が終了したとき、クラス6に属する各可変レートアプリケーション3 01−iに対しステップ612〜616が実施される。処理は平均ひずみステッ プ611からレート調節ステップ612に進む。 レート調節ステップ612において、アプリケーション301−iの旧レート Rold iは現在レートR iと等しく設定される。標準化された平均ひずみ DavgとひずみD iとの差は、定数cを乗ぜられ、 旧レートRold iを加算されて、新レートRnew iが生成される。一実 施例において、定数cは経験的に求められ、値16が設定された。即ち、新レー トRnew iは、 次にレート調節ステップ612において新レートRnew iがチェックされ 、レートの変化が小さいことが確かめられる。新レートRnew iが増加して いる場合は、新レートRnew iはレートの下限とレートの上限によって定め られた範囲内になければならない。即ち、 一実施例において、定数tは経験的に数値1.1が選択された。新レートRne w iがレートの上限t*Rold iより大きい場合は、新レートRnew iはレートの上限t*Rold i以上に設定される。 逆に、新レートRnew iが低下している場合は、新レートRnew iは レートの下限とレートの上限との間の範囲内に収まっていなければならない。即 ち、 一実施例において、定数sは経験的に数値0.9が選択された。新レートRne w iがレートの下限s*Rold iより低い場合は、新レートRnew i はレートの下限s*Rold i以上に設定される。 新レートRnew iがテストされて、レートの変化が小さいか否かが判定さ れた後、新レートRnew iは更にテストされ、新レートRnew iが保証 レートRgtd iから最大レートRmax iの範囲内に収まっているか否か が判定される。アプリケーション301−iに対する新レートRnew iが保 証レートRgtd iより低い場合は、新レートRnew iは保証レートRg td iと等しい値に設定される。アプリケーション302iの新レートRne w iが最大レー トRmax iより大きい場合は、新レートRnew iは最大レートRmax iと等しい値に設定される。 レート調節ステップ612が終了すると、処理はレート低下チェックステップ 613に進む。レートの調節の結果レートが低下した場合は、処理はレート低下 チェックステップ613からバッファ調節ステップ614に進み、他の場合はレ ート変化累算ステップ615に進む。 バッファ調節ステップ614は上述のバッファ調節ステップ602と同一のも のであり、ここでは前の記述を参照されたい。バッファ調節ステップ614が終 了すると、処理はレート変化累算ステップ615に進む。 他のレート変化累算ステップ603及び607と同様にレート変化累算ステッ プ615はクラス6に属する全ての可変レートアプリケーションの新レートと旧 レートとの差を累算する。即ち、 ΔCは正の場合も負の場合もあり得、各統計処理マルチプレクササイクルのスタ ート時点では0にセットされる。レート変化累算ステップ615が終了すると、 処理はステップ616に進み、ここでは更に処理すべきクラス6に属する追加的 なアプリケーションが存在するか否かがチェックされる。クラス6に属する全て のアプリケーションが処理されていたならば、ステップ616からプロセス終了 ステップ630に進み、そうでない場合はステップ612に進む。従って、プロ セス610のステップ612〜616は、クラス6に属する各アプリケーション に対し再帰的に実行される。 ステップ403内のプロセス600、605、及び610は連続的にあるいは 平行して実行することができる。クラス1、3、4、及び6に 属する全てのアプリケーションが処理されたとき、プロセス終了チェックステッ プ630からレート変化累算ステップ620に進む。レート変化累算ステップ6 20においては新レートと旧レートとの差の総計が求められ、通信チャネル33 0の容量をオーバーロードせず完全に利用し得ることになる。ステップ620に おいて、ネットのレート変化ΔがΔD、ΔI及びΔCを合計することによって求 められる。即ち、 ネットのレート変化Δが0より小さい場合は、レート変化ステップ403にお いてここまで実行されてきた処理により、割り振りされたレートについてネット で減少したことになる。逆にネットのレート変化Δが0より大きい場合は、レー ト変化ステップ403においてここまで行われてきた処理により、割り振りされ たレートについてネットで増加していることになる。ネットのレート変化Δが0 である場合は、レート変化ステップ403においてここまで行われてきた処理に より、割り振りされたレートについてネットで変化がなかったことになる。チャ ネル容量チェック621において以上3つのうちどの結果が出たかが判定される 。 割り振りされたレートについてネットで減少している場合は、チェック621 から処理はレート増加ステップ623に進み、ここで以下に述べるように、クラ ス3及び6に属するアプリケーションの中に利用できるビットが分配され、チャ ネルのバンド幅が最大限に利用されるようにする。割り振りされたレートについ てネットで増加がみられた場合は、チェック621から処理はレート低下ステッ プ622に進み、ここでアプリケーションのいくつかのレートが低下され、通信 チャネル330がその容量の範囲内で利用されるようにする。割り振りされたレ ートについてネットで変化がない場合は、チェック621から処理は直接パケッ トテーブル構築ステップ404に進む。同様に、処理が終了すると、ス テップ623から処理はステップ404に進む。レートがうまく低下した場合は ステップ622から処理はステップ404に進み、そうでない場合はステップ4 07に進む。 レート増加ステップ623のプロセスは第7図において詳細に示されている。 最大ひずみ(K2 i)*(Dmax i)より大きいひずみを有するアプリケ ーション、即ちクラス3及び6に属するアプリケーションは、レート増加の候補 とみなされる。ステップ623内では、クラス3に属するアプリケーションは、 初めクラス6に属するアプリケーションとは別個に処理される。 クラス3に属するアプリケーションのための第1パラメータ化過大ステップ7 01において、第1過大量パラメータ化ステップ701において、過大量を示す パラメータexcess iは、保証レートRgtd iから新レートRnew iを差し引くことにより生成される。パラメータexcess iは後に使用 するために格納される。クラス6に属するアプリケーションのための第2過大量 パラメータ化ステップ704では、パラメータexcess iが最大レートR max iから新レートRnew iを差し引くことにより生成される。ステッ プ704で生成されたパラメータexcess iも後の使用のため格納される 。 過大量パラメータ化ステップ701から、処理は追加的アプリケーションステ ップ713に進む。ここでは処理は追加的なクラス3に属するアプリケーション が処理されずに残っている場合はステップ701に進み、そうでない場合はステ ップ705に進む。同様に、過大量パラメータ化ステップ704から、処理は追 加的アプリケーションステップ706に進み、ここでは処理は追加的なクラス6 に属するアプリケーションが処理されずに残っている場合はステップ704に進 み、そうでない場合はステップ705に進む。 クラス3及び6に属する全てのアプリケーションがステップ701〜703及 び704〜706において処理されたとき、過大量累算ステップ705が処理を 開始する。初めに、過大量累算ステップ705においてパラメータsum ex cessが0値として格納される。過大量累算ステップ705はメモリ313か らパラメータsum excessを引き出し、各パラメータexcess i に続けてパラメータsum excessの現在値を加えていく。パラメータs um excessの最終値はメモリ313に格納される。 レート調節ステップ707において、変更された新レートRrnew iが、 レートRnew iを、このアプリケーションに属する使用可能なチャネルの容 量の一部分となるまで増加させることによって生成される。上述のように、2つ の構造が使用されることを想起されたい。ここで、第1の構造は、クラス2及び 5に属するアプリケーション301−iの元のレートと、クラス1、3、4及び 6に属するアプリケーション301−iの新レートとを有する。第2の構造は、 クラス1、3、4及び6に属するアプリケーション301−iの元のレートとを 有する。レート調節ステップ707においては、第1の構造のみが用いられる。 ここで、新レートRnew iはステップ707の開始時に第1の構造にあるレ ートである。新レートRnew iは処理されて変更した新レートRrnew iが生成される。この新レートRrnew iは次に第1の構造に格納される。 即ち、 次にレート調節ステップ707では変更した新レートRrnew iをチェッ クして、レートの変化がわずかな増加に収まっているか否かを確かめる。変更し た新レートRrnew iは、レートの上限及びレー トの下限によって定められた範囲内に収まっていなければならない。即ち、 一実施例において、定数tは経験的に数値1.1が選択された。変更された新レ ートRrnew iがレートの上限t*Rold iより大きい場合は、変更さ れた新レートRrnew iはレートの上限t*Rold iと等しい値に設定 される。 ステップ707が終了すると、ステップ708で、ステップ707において処 理されなかった、クラス3及び6に属するアプリケーションが残っているか否か がチェックされる。残りのアプリケーションが存在する場合は、処理はステップ 707に戻る。クラス3及び6に属する各アプリケーションがステップ707に おいて処理された後、割り当てが行われておらずに残っているチャネルパケット がアイドルパケットとして伝送される。 レート低下ステップ622の一実施例が第8図に詳細に示されている。保証レ ートRgtd iより大きいか等しいレートを有するアプリケーション301− iはステップ622においてレートを低下させられる候補とみなされる。即ちこ のアプリケーション301−iはクラス4〜6に属するものである。しかし、ク ラス4に属するアプリケーション301−iが前の処理によって保証レートRg td iより低いレートまでRnew iが低下させられている場合は、これら のアプリケーションはレート低下ステップ622においては処理されない。 過大量パラメータ化ステップ801において、新レートRnew iから保証 レートRgtd iを差し引くことにより、過大量を示すパラメータexces s iが生成される。パラメータexcess iはメモリに格納される。処理 は、パラメータ化excess801から追 加的アプリケーションステップ802に進む。ここでは、保証レートRgtd i以上の数値の新レートRnew iを有する追加的アプリケーションが処理さ れずに残っている場合は処理はステップ801に進み、そうでない場合はステッ プ803に進む。従って、ステップ801が終了すると、保証レートRgtd i以上の新レートRnew iを有する各アプリケーションのパラメータexc ess iはメモリに格納される。 過大量累算ステップ803において、過大量累算値であるパラメータsum excessは、初めに0値として格納される。過大量累算ステップ803では メモリ313からパラメータsum excessを引き出し、次に格納された パラメータexcess iのそれぞれを連続的に引き出して、引き出されたパ ラメータexcess iにパラメータsum excessの現在の値を加算 する。パラメータsum excessの得られた値は、次にメモリ313に格 納される。処理が終了すると、過大量累算ステップ803から、処理はレート調 節ステップ804に進む。 上述のように、2つの構造が用いられていることを想起されたい。ここでは、 第1の構造はクラス2及び5に属するアプリケーション301−iの旧レートと 、クラス1、3、4、及び6に属するアプリケーション301−iの新レートと を有する。第2の構造は、クラス1、3、4、及び6に属するアプリケーション 301−iの旧レートを有する。レート調節ステップ804において、第1の構 造のみが用いられる。ここでは、新レートRnew iは、ステップ804のス タート時に第1の構造にあるレートである。新レートRnew iは処理されて 、変更された新レートRrnew iが生成され、次にこれは第1の構造に格納 される。 アプリケーション301−iの変更された新レートRrnew iはアプリケ ーション301−iが属する、使用可能なチャネルの容量の一部に達するまで新 レートRnew iを下げることによって生成される。すなわち、 レートの調節後、レート調節ステップ804からレート範囲ステップ805に 進む。ステップ805では変更された新レートRrnew iをチェックして、 変更された新レートRrnew iが所定の範囲内にあること、すなわちレート の変化がわずかな減少に留まっていることを確かめる。この実施例では、変更さ れた新レートRrnew iはレートの下限とレートの上限との間の範囲に収ま っていなければならない。すなわち、 また、定数Sの値は経験的に数値0.9が選択された。変更された新レートRr new iが所定の範囲内に収まっていない場合、ステップ805から処理はス テップ407に進み、そうでない場合は、バッファサイズ調節ステップ806に 進む。 前に説明したように、システムの遅延時間を一定に維持するために、アプリケ ーション301−iのレートの減少はエンコーダ302−iの有効バッファサイ ズの比例的な減少を伴うようになっている。従って、バッファサイズ調節ステッ プ806では、新たな有効バッファサイズが決定される。新たな有効バッファサ イズbuf sz iは、変更された新レートRrnew iとシステム遅延時 間δ iとの積に等しい。すなわち、 しかし、バッファサイズを任意に減少させることはできない。従って、閾値ma x buffer iは新たなバッファサイズbuf sz iと比較され、処 理はステップ806からステップ807に進む。 バッファ範囲ステップ807においては、新たなバッファサイズbuf sz iが最大バッファ使用度閾値max buffer iより小さい場合処理は ステップ407に進み、そうでない場合はステップ809に進む。テストステッ プ809においては、保証レートRgtd i以上の値の新レートRnew i を有する追加的アプリケーションが処理されずに残っている場合はステップ80 4に戻り、そうでない場合はパケットテーブル構築ステップ404に進む。 上述のステップ622の実施例においては、保証レートRgtd i以上の値 のレートR iを有するすべてのアプリケーションが処理された。この実施例は 本発明を例示するものに過ぎず、本発明の範囲を特定のアプリケーションの組に 限定しようとするものではない。別の実施例においては、反復プロセスが用いら れる。初めに、クラス4に属するアプリケーションだけが上述のステップステッ プ622の処理を施され、チャネル容量の低下が、ステップ621において検出 された過大容量と比較される。容量の低下が過大容量より大きい場合は、ステッ プ622は終了する。逆に容量の低下が過大容量より小さい場合は、クラス4及 び5に属するアプリケーションが処理される。そして容量の減少量が求められる 。クラス4及び5に属するアプリケーションに対する容量の低下が過大容量より 大きい場合は、ステップ622が終了する。逆の場合は、第8図に関連して前に 説明したようにステップ622が正確に実行される。この方法はより多くの時間 を必要とするが、クラス6に属するアプリケーションのレートの低下が不要であ るならば、全体的な処理能力を改善することもある。 一実施例においては、レート変更ステップ403が、上述のように、ある程度 処理能力の効率を犠牲にしてプロセスの複雑さを少なくするように変更される。 具体的には、バッファサイズ調節ステップが省略される。バッファサイズの調節 は、すべてのレートの決定が終了するまで行われない。次に、新たなレートをす べてのアプリケーションが利用可能な場合、統計処理マルチプレクサ300は旧 レートより低い新レートを有するすべてのアプリケーションに対してバッファサ イズチェック、すなわちバッファ使用度チェックを行う。アプリケーションが必 要なバッファ使用度を満足しない場合は、すべてのアプリケーションに対する新 レートが低下し、すべてのアプリケーションが次の周期のための旧レートに割り 当てられる。 レート変更ステップ403の上述した実施例では、保証レートRgtd iが 定義されたすべてのアプリケーション301−iが1秒当たりの保証ビット数を 受け取り、目標のひずみを達成することを保証しており、アプリケーションは好 ましくはクラス2及び5に属することになる。さらに、アプリケーションが保証 レート以下のレートとともにその目標ひずみを達成している場合は、このレート は他のアプリケーションの働きと無関係に変更されない。このことは、目標ひず みのレベル及び保証レートが適切に選択されている場合、統計処理マルチプレク サ300が要求されたひずみレベルで動作することを保証し得るということを意 味する。これにより、個々のアプリケーションごとに処理能力を制御することが 可能になる。これは手数料及び従量料金制のアプリケーションの場合に必要とな ることである。 アプリケーションごとに個別に処理能力制御が必要でない場合、レート変更ス テップ403は、アプリケーションを全体に競合させるようにする形に単純化さ れ得る。これはすべてのアプリケーションの目標ひず みをゼロに等しく設定することによってなされる。このようにして、プロセスの 一部が実行される。すなわち(重み付けされた)すべてのアプリケーションのひ ずみ値が、概ね等しい状態になるようにシステムを効果的に駆動させてプロセス 610のみを実行するのである。使用されるプロセスとは無関係に、ステップ4 03の終了時点において、次の統計処理マルチプレクササイクルのための、各可 変レートアプリケーションのレートを含むテーブルが生成される。別の形態では 、このテーブルが次の統計処理マルチプレクササイクルのための固定レートと可 変レートの双方を含み得る。パケットテーブル構築ステップ404 パケットテーブル構築ステップ404においては、この実施例では、特定のプ ロセスが用いられて、パケットスケジュールテーブルを組織する。ここで、この プロセスは、初めに一般的に考察され、次にプロセスの特定のアプリケーション が考慮される。このプロセスはパケットスケジュールテーブルを組織するための 一つの方法の例示に過ぎず、本発明をこの特定のプロセスに限定しようとするも のではない。 テーブル構築ステップ404において使用されるプロセスでは、選択された時 間の間隔、すなわちウィンドウが考えられ、このウィンドウには、整数であるパ ケット数が対応し、すなわちEは選択された時間間隔内において通信チャネル3 30上を伝送され得るパケットの総数である。統計処理マルチプレクサ300は L個のアプリケーション301−i〜301−Lを取り扱い、任意のアプリケー ション301−iに対してこのウィンドウ上に割り振りされたパケットの数はm iである。ステップ404の開始時において、選択された時間間隔内において各 アプリケーションに必要とされるパケット数miは既知となっている。明らかな 制約は、アプリケーション301−i〜301−Lが必要とするパケット の総数が利用可能なパケットの総数を越えてはならないということである。すな わち、 本発明のプロセスは各パケットをその時点で最も重要度の高いアプリケーショ ンに割り当てる。どのアプリケーションが最も重要度が高いかの決定は、その時 点までにウィンドウ内において既に割り当てられたパケット数(実際の割り振り )と、その時点までにウィンドウ内において割り振りされるべきパケット数(目 標割り振り)とに基づいて行われる。パケットはウィンドウ全体に亘って均一に 分布するようにすべきことから、パケット時間nまでのアプリケーション301 −iに対する目標割り振りは、 つまり、これはアプリケーション301−iがn番目のパケットにより受け取ら れるべきであったパケット数である。明らかに、 及び その時点までにアプリケーション301−iに割り振りされたがn番目のパケ ットは含んでいない実際のパケット数に対し、r i(n)の符合を付す。どの アプリケーションが次のパケットのために最も重要度が高いかを判定するのに効 果尺度(figure of merit)ζ i(n)が使用される。この実施例では、効果 尺度ζ i(n)は以下のように定義される。 つまり、効果尺度ζ i(n)はL個のアプリケーションのそれぞれに 対して決定され、n番目のパケットは最も大きい正の効果尺度ζ i(n)を有 するアプリケーションに割り振りされるのである。残りのパケットはアイドルパ ケットとして挿入される。各パケットについてこの処理を反復することにより、 パケットは十分に均一にL個のアプリケーションすべてに分配され、すなわちパ ケットスケジュールテーブルが生成される。一実施例においては、効果尺度ζ i(n)は用いられない。というのはハードウェア上に実現したとき時間のかか る除算及び乗算を必要とするからである。即ち、これとは別の除算を不要とする 同等の効果尺度が用いられ、これによりハードウェア上できわめて早くパケット スケジュールテーブルが生成され得ることになる。 具体的には、新効果尺度η i(n)は、効果尺度ζ i(n)とウィンドウ 内のパケット数Eとを乗ずることにより得られる。すなわち、 パケットスケジュールテーブルは、第9図に示すプロセスを実行することによ り構築される。初期化ステップ901においては、効果尺度η i(n)が各ア プリケーションに対してゼロにセットされる。 別の形態として、効果尺度η i(n)が各アプリケーションに対しm iにセ ットされるものもある。また、現在パケット数に対するインデックスnはゼロに セットされるが、ここでインデックスiは現在アプリケーションに対するもので ある。初期化ステップ901が終了すると、処理は追加的パケットチェックステ ップ902に進む。 追加的パケットチェックステップ902では現在パケットインデックスnをイ ンクリメントさせ、次にインデックスnの値をチェックして、インデックスnの 値がパケットの総数Eより大きいか否かを判定する。インデックスnの値がパケ ットの総数E以下である場合は、処理は追加 的アプリケーションチェックステップ903に進み、そうでない場合はステップ 404は終了する。 追加的アプリケーションチェックステップ904では現在アプリケーションイ ンデックスiをインクリメントさせ、次にインデックスiの値をチェックして、 インデックスiの値がアプリケーションの総数Lより大きいか否かを判定する。 インデックスiの値がアプリケーションの総数L以下である場合は、処理は効果 尺度更新ステップ905に進み、そうでない場合はパケット割り当てステップ9 06に進む。効果尺度更新ステップ905においては、効果尺度η i(n)が 初めに生成される。次に、アプリケーション301−iに対しこのウィンドウ上 に割り振りされたパケット数miが効果尺度η i(n)に加算され、処理は追 加的アプリケーションステップ904に戻る。この個別の加算処理により効果的 に効果尺度η i(n)において積n*(m i)を形成するということに注意 されたい。 効果尺度η i(n)がすべてのL個のアプリケーションに対して更新された 時、処理は追加的アプリケーションステップ904からパケット割り当てステッ プ906に進む。パケット割り当てステップ906においては、正の最大の効果 尺度η i(n)を有するアプリケーションがパケットnに割り当てられ、すな わち、パケットnが割り当てられたアプリケーションに対応するエンコーダに対 するポインタがパケットスケジュールテーブルの位置nに設置される。このポイ ンタはエンコーダを特定するアドレスである。 タイ(tie)が生ずる場合、すなわち2またはそれ以上のアプリケーションが 正の最大の効果尺度η i(n)を有する場合、このウィンドウ上に割り振りさ れた最大のパケット数m−iを有するアプリケーションがパケットnを割り当て られる。別の実施例では、このウィンドウ上に 割り振りされたパケット数m−iが最小であるアプリケーションがパケットnを 割り当てられる。もちろん、他のタイブレーキングルールを用いることも可能で ある。ゼロより大きい効果尺度が存在しない場合、パケットはアイドルパケット としてタグを付けられる。パケットnが割り当てられた後、パケットの総数Eは パケットnが割り当てられたアプリケーションの効果尺度η i(n)から減算 される。 割り振りされたパケットの合計が、ウィンドウを伝送されるパケットの数Eに 等しい場合、アイドルパケットは存在しない。しかし、アイドルパケットが望ま れる場合、もしくはパケットスケジュールテーブル内のエントリの数が、割り振 られたパケット数の合計より多い場合は、そのパケットm jの割り振りを用い てアイドルソース(idle source)が定義され得る。これにより各ウィンドウに おいてm jパケットがアイドルパケットとして伝送されることになる。 パケット割り当てステップ906が終了すると、処理は追加的パケットチェッ クステップ902に戻り、このプロセスは上述のように、パケットの総数Eのそ れぞれがアプリケーションに、もしくはアイドルパケットとして割り当てられる まで反復される。すべてのE個のパケットが割り当てられると、パケットテーブ ル構築ステップ404は終了する。 上述のようなパケット構築ステップ404により、各ウィンドウに対して新た なパケットスケジュールテーブルが完全に生成される。統計処理マルチプレクサ 300は、可変レート及び固定レートの双方で動作するアプリケーションに対し て、パケットのスケジューリングを行う必要がある。可変レートアプリケーショ ンは各ウィンドウごとに新たなパケットスケジュールテーブルを必要とするが、 統計処理マルチプレクサ300は、固定レートアプリケーションに対しても、そ れらが必要とするパケットのシェアを確実に得られるようにしなければならない 。 任意の可変レートアプリケーション301−iに対して、ウィンドウ全体に割 り振りされるパケットの数はm iであって、特定の可変レートアプリケーショ ン301−iに対して割り振りされるパケットの数は、ステップ403において 生成されたテーブルからの各アプリケーション301−iに対する、1秒当たり のパケット数で示されるレートと、秒数で表されるウィンドウサイズとを掛け合 わせ、求められた積よりも小さい最大の整数値に積を切り捨てることによって求 められる。同様に、各固定レートアプリケーション301−jに対して、ウィン ドウに割り振りされるパケットの数はm jであり、特定の固定レートアプリケ ーション301−iに対して割り振りされるパケット数は、ステップ401にお いてシステムスーパバイザ340から供給されるアプリケーション301−jに 対する、1秒当たりのパケット数で表されるレートと、秒数で表されるウィンド ウサイズとを掛け合わせ、求められた積より小さい最大の整数にこの積を切り捨 てることにより定められる。別の形態として、打切り誤差を除去するべく、可変 レートアプリケーション301−iに対してウィンドウ上に割り振りされたパケ ット数m iは、ステップ403において直接求められ、固定レートアプリケー ション301−jに対してウィンドウ上に割り振りされたパケット数m jはシ ステムスーパバイザ340から直接供給される。ウィンドウ内の各固定レートア プリケーションが必要とするパケット数は、可変レートアプリケーションが必要 とするパケット数と合わせられ、また次のウィンドウのためのパケットスケジュ ールテーブルの構築のために用いられる実施例もある。この処理は各ウィンドウ 時間の間に行われ得る。つまり、パケットスケジュールテーブルは、各ウィンド ウにおけるすべての新しいアプリケーションに対して構築されるのである。 この方法は、少ない数、例えば5より小さい数の固定レートアプリケ ーションが、統計処理マルチプレクサ300によって処理される場合にのみ好ま しい。しかし、少ない数の固定レートアプリケーションとして定められる数は、 統計処理マルチプレクサ300において利用されるプロセッサによって決まる。 プロセッサの能力が増すにつれ、少ない数の固定レートアプリケーションとして 見なされ得るような固定レートアプリケーションの数も増加する。 しかし、典型的には、1つの統計処理マルチプレクサ300に接続されたアプ リケーションの数は、きわめて多数である。典型的には数十のオーダである。こ れらのアプリケーションの多くは固定レートアプリケーションである。このよう な状態において、パケットスケジュール、すなわちパケットスケジュールテーブ ルを頻繁に更新することは著しく非効率的である。アプリケーションの大半が固 定レートであるという事実に加えて、固定レートアプリケーションの中には著し く低いレートで動作するものもあり得、これらのアプリケーションはウィンドウ 毎にパケットを必要としない。例えば、1秒間に6つの統計的多重化処理ウィン ドウが存在し、固定レートアプリケーションが1秒間に2つのパケットしか必要 としない場合は、統計処理マルチプレクサは、6つのウィンドウのうちいずれに おいて、このアプリケーションのパケットが送出されるのかを追跡しなければな らない。これにより全体的な複雑さが増してしまう。 従って、一実施例においては、2つのパケットスケジュールテープル、すなわ ちスタティックパケットテーブル及びダイナミックパケットテーブルが用いられ る。スタティックパケットテーブルは、スタティックテーブル、第1パケットテ ーブル、および第1テーブルと称されることもあり、ダイナミックパケットテー ブルは、ダイナミックテーブル、第2パケットテーブル、及び第2テーブルと称 されることもある。スタティ ックパケットテーブルは、ステップ401における初期設定時において一度だけ 構築され、比較的長時間、例えば約1秒間をカバーする。従って、この実施例に おいては、プロセス404は第9図に示し前に説明したように、初期化ステップ 401においてスタティックテーブルを構築するのに用いられる。固定レートア プリケーションに対する特定のレート及び可変レートアプリケーションに対する 初期レートは、このプロセスにおいて、各アプリケーション301−iのウィン ドウ内において割り振りされるパケット数m iを生成するのに用いられる。 パケットnがプロセス内において固定レートアプリケーションに割り振りされ た場合、このアプリケーションのポインタがスタティックパケットテーブルにお いてパケット番号nに挿入される。しかし、パケットnがプロセスにおいて可変 レートアプリケーションに割り振りされた場合、所定の符号、すなわちナル符号 がスタティックパケットテーブルのパケット番号nに挿入される。初期化ステッ プ401において一端構築されてしまうと、スタティックパケットテーブルは次 の再設定時まで変更できない。 スタティックテーブル内にパケットを割り振りする特定の方法はこの発明にお いては重要ではない。これには様々な方法が用いられ得る。例えば、すべての可 変レートアプリケーションは疑似アプリケーションと見なされ得る。疑似アプリ ケーションに対する割り振りの総数は、すべての可変レートアプリケーションに 対する割り振りの総数に等しい。パケットのスケジューリングは、F+1個のア プリケーションに対して行われる。ここでFは、固定レートアプリケーションの 数であり、疑似アプリケーションは1つである。この実施例では、スタティック テーブルにおいて疑似アプリケーションに割り当てられた部位がナル符号を挿入 されており、他の位置に固定レートアプリケーションに対するポインタ が挿入されている。 ダイナミックパケットテーブルは、パケットテーブル構築ステップ404にお いて可変レートアプリケーションに対する新たなレートを用いてウィンドウごと に構築される。しかし、ダイナミックパケットテーブルにおけるパケット数は、 パケットの総数Nとは異なり、統計処理マルチプレクサ周期において全ての可変 レートアプリケーションに割り当てられたパケットの総数に等しい。第9図に示 すように、プロセス404が用いられて、パケットの総数Nの代わりに、再定義 された、そのウィンドウにおける使用可能なパケットの総数を用いて、ダイナミ ックパケットテーブルが生成される。また、スタティックテーブル及びダイナミ ックパケットテーブル内にパケットを割り当てるのに用いられるこの特定のパケ ットスケジューリング方法は、本発明において重要ではない。重要な点は、スタ ティックテーブルが各初期設定時に1回、可変レートアプリケーションに対して 挿入されたナル符号と共に構成され、ダイナミックテーブルは、ウィンドウごと に1回、可変レートアプリケーションに対して更新、即ち設置されるということ である。ダイナミックパケットテーブル及びスタティックテーブルを用いること については、第18図に関連して以下に記述する。 統計的多重化処理周期、即ちウィンドウのサイズは、固定的ではなく、経時的 に変化し得る。従って、ステップ404において次のウィンドウのためのダイナ ミックテーブル内のエントリの数は固定的ではなく、ウィンドウごとに変化し得 る。この実施例ではウィンドウサイズに関する制約は、そのウィンドウにおいて 、所定の数のひずみ値、例えば3つのひずみ値を、統計処理マルチプレクサ30 0により各可変レートエンコーダから収集できるだけの十分な大きさを持たなけ ればならないという点である。更に、収集されたひずみ値の所定の数はウィンド ウごとに変 化しうる。 前に説明したように、この実施例では、ダイナミックテーブルは192エント リだけに制限されている。しかし、ウィンドウにおいて全ての可変レートアプリ ケーションに割り当てられるパケットの総数は192よりずっと多いのが普通で ある。従って、ダイナミックテーブルにおける全てのエントリがアクセスされた とき、統計処理マルチプレクサ300は、最終エントリから第1エントリへルー プさせ、エントリへの連続的なアクセスを再開する。従って、192個のエント リを有するダイナミックテーブルは、ウィンドウが終了するまで反復的に使用さ れる。 後に詳述するが、1つのダイナミックテーブルから別のダイナミックテーブル への切り替えは、統計処理マルチプレクサ300がテーブル内の最終エントリに アクセスし、第1エントリに戻ったときになされる。即ち、切り替え後、統計処 理マルチプレクサ300は他のダイナミックテーブルの第1エントリにアクセス することになる。レート移送ステップ405 レート移送ステップ405においては、統計処理マルチプレクサ300が、可 変レートアプリケーション301−iを処理する各エンコーダ302−iに対し て、ステップ404において新たなダイナミックテーブルは生成するのに用いら れる新レートを伝送する。各エンコーダ302−iに対するこの新たな可変レー トは汎用通信テーブルに書き込みされ、上述のプロセスを用いてエンコーダに送 られる。低下した全てのレートが初めに送信され、タイマがスタートする。この 実施例ではタイマは34ミリ秒タイマである。このタイマは低下したレートの移 送が終了した後、1つのピクチャ時間の終了を判定するのに用いられる。この時 間間隔は、レートが増加する前にエンコーダがレートの低下を実行することを保 証するために選択される。タイマが終了したとき、レートの増 加は適当なエンコーダ302−iに送られる。新たなダイナミックテーブルを生 成するのに使用される新レートの伝送が終了すると、処理はステップ405から レート切替えステップ406に進む。レート切替えステップ406 レート切替えステップ406は、エンコーダ302−iにおけるハードウェア によって制約される。典型的には、ひとたびエンコーダ302−iがピクチャの 符号化を開始してしまうと、エンコーダ302−iの内部レートコントロールを 変更することは不可能である。従って、以下のレート切替えステップ406に関 する議論では、エンコーダ302−iにおけるレートの切替えが、エンコーダ3 02−iにより新たなレートが受け取られる前に第1のピクチャの境界において 発生することを仮定している。エンコーダ302−iが第1のピクチャの境界よ り多くの時間を必要とする場合は、後に述べる時間は適当に延長されなければな らない。同様に、エンコーダ302−iが1つのピクチャ内において新レートを 実現する能力を有する場合は、以下の議論における時間は短縮されうる。ここに 開示する発明の観点からいえば、エンコーダ302−iの処理能力に基づく必要 な変更は、当業者には明らかであろう。当然、エンコーダが例えば画像フレーム の境界のみならず他の任意のタイミングでレートを変更することが可能ならば、 以下に定める切替え時間は0に短縮されうる。 従って、この実施例では、レートの変更はピクチャとピクチャとの間のみ、即 ち1つのピクチャのスタート時に限られる。更に、統計的に多重化されたアプリ ケーション302−iのピクチャの境界は同時に発生することは保証されていな い。この2つの制約が平行して働く。1つのピクチャ内におけるアプリケーショ ン301−iのレートは変化しえないことから、アプリケーション301−iの 新たなレートは次のピクチ ャの境界が来るまで行い得ない。しかし、アプリケーション301−iがピクチ ャの境界に達すると、他のいくつかのアプリケーション301−jはそのピクチ ャ境界にはあり得ない。従って、アプリケーション301−jの新レートR j は、アプリケーション301−iのピクチャ境界においては実現できない。つま り、全てのアプリケーションのレートの変更、及び同じタイミングでのマルチプ レクサパケットスケジュールの変更は不可能である。 この問題の解決法は、全てのアプリケーション301−iの新たなレート、及 び同じタイミングにおける新たなパケットスケジュールへの切替えを行うことで はなく、0でない時間の間隔に亘って切替えを行うことであって、この時間間隔 を切替え時間1020(第10図)と称する。切替え時間1020は全てのアプ リケーション301−iが切替え時間1020において少なくとも1つのピクチ ャ境界を有することは保証するように選択される。第10図において、符号10 01〜1010は画像フレームの境界を表し、これはNTSC入力が、周波数3 0Hz、(実際には29.97Hz)を有する場合である。ウィンドウ1050 は矢印1051の時点でスタートし、矢印1052の時点で終了する。レート変 更ステップ403は、時間間隔1060の中で終了する。パケットテーブル構築 ステップ404は、時間間隔1070の中で終了し、レート移送ステップ405 は時間間隔1080において実行されている。切替え時間1020の長さは、こ の場合2/29.97秒である。 切替え時間1020内において第1のピクチャ境界に達したときアプリケーシ ョンはレートの切替えを行う。詳述すると、旧レートより低い新レートを有する 全てのアプリケーションは第1半時間1020−1の中でレートの切替えを実行 する。次に、切替え時間のちようど中間点で、統計処理マルチプレクサ300が 新たなパケットスケジュールへの切替 えを行う。最後に、新レートが旧レートよりも高い全てのアプリケーションが、 第2半時間1020−2において切替えを行う。 このプロセスにより、全てのアプリケーションのレートの合計が、通信チャネ ル330の容量を上回る瞬間がないことが保証される。しかし、第1半時間10 20−1の間、チャネルの利用状態はやや低下する。というのは、アプリケーシ ョンの中に、統計処理マルチプレクサ300により使用されるレートよりも低い レートで動作するものがあるからである。詳述すると、第1半時間1020−1 においてあるアプリケーションに対するレートは低下しうる、つまり、これらの アプリケーションのエンコーダは旧レートより低いレートで圧縮を始めるのであ る。しかし、統計処理マルチプレクサ300が新たなパケットスケジュールテー ブルを実現するまで、統計処理マルチプレクサ300は低いレートのアプリケー ションに対してそれらのより高い旧レートを使用し続けるからである。これらの 効果によって、通信チャネル330が完全に使用されていない状態が生ずる。 第10図においては、刻み目は、統計処理マルチプレクサ300が使用される タイミングを示しており、任意のアプリケーションそれ自体にロックされている 訳ではない。更に、ここでは各アプリケーションが各映像フレームに対して2つ の刻み目で囲まれた時間、即ち1/29.97秒の間に符号化を終えることが仮 定されている。アプリケーションのフレームレートが29.97Hzより低い場 合(即ち、23.97Hzのフィルムシーケンスである場合)、エンコーダが各 映像フレームを1/29.97秒の内に圧縮し、残りの一定時間アイドル状態に あって入力データレートと同期をとるようにすることが仮定されている。 統計処理マルチプレクサ300は、連続的に反復される周期1050の中で起 こる事象を周期的に処理する。周期の長さは、第10図に示す ように、リアルタイムの処理能力を示すものではない。実際、処理のタイミング を示すこの図面(及び次の図面)から分かることは、統計処理マルチプレクサ周 期がパケットスケジュールテーブルを構築するのにかける時間が大きいというこ とと、本発明の別の側面は比較的短時間の内に実行されるということだけである 。本発明の各プロセスを実行するのに必要な実際の時間は、統計処理マルチプレ クサ300における計算能力による。しかし、この周期には少なくとも2/29 .97秒の長さの切替え時間1020が含まれなければならないことから、周期 をこれ以上短くできないという最小値が存在することに気づかれたい。 第11図には、より短い時間1150を用いる別の実施形態が示されている。 この実施例においては、エンコーダ及びデコーダバッファのサイズが、切替え時 間が各アプリケーションの1つのピクチャ境界を確実に含むだけの十分な大きさ である。アプリケーションは、そのピクチャ境界に達したとき、より高いレート 若しくは低いレートへの切替えを行い、統計処理マルチプレクサ300は、切替 え時間1160の中間点において新たなパケットスケジュールへの切替えを行う 。この場合、新たなパケットスケジュールに切り替えられてバッファ使用度がわ ずかに増加する前に、より高いレートに切り替えられ得るアプリケーションもあ る。しかし、バッファサイズがこのことが問題にならないほど大きい場合でも、 バッファ状態の適切な追跡を確実にするために出来る限り注意を払うようにする ことが必要である。 前に説明したように、全ての可変レートアプリケーション301−iに対する レートの分配はそれぞれのひずみD iに基づいて行われる。上の議論では、ひ ずみD iは既知ということが仮定されていた。実際ひずみD iは初めに定め られる必要があり、次に各アプリケーションに対して定められるようにひずみD iを決定するためのデータが生成 されなければならない。 理想的には、ひずみD iは人間視覚システム(HVS)の特性を組み込むよ うに決められるべきである。広い意味でいえば、このHVSは、空間的及び時間 的アクティビティの低い領域におけるアーティファクト(artifact)のひずみに 対してより敏感である。空間的アクティビティの低い領域とは、画像フレームに おける比較的フラットな領域を意味する。時間的アクティビティが低いとは、フ レーム間における移動が比較的少ないことを意味する。つまり、アーティファク トのひずみの“量”が同じであることは、そのひずみが画像上の比較的フラット な領域、若しくは映像シーケンスの比較的動きの少ないタイミングで発生する場 合は、映像の空間的複雑さが高い領域、若しくは映像シーケンスの動きの多い時 間的部分において同じ量のひずみが発生した場合よりも、人間の目に見えやすい ということである。ここでいう“量”という用語は再構成された映像フレームと もとの映像フレームとの間の絶対的な誤差の測定量、即ち平均二乗誤差(mse )の測定量を意味する。従って、ひずみD iは、映像シーケンスの空間的及び 時間的特性を考慮に入れることが好ましい。 一般に、ひずみ距離に基づいたHVSは、ハードウェア上でリアルタイムに計 算するには複雑である。極めて関数的で、本発明のハードウェアにおいて実現さ れるような単純化されたひずみDの定義は以下の通りである。 ここで、 mse=平均二乗誤差、 IF=飛越し係数、 SA=画像フレームの空間的アクティビティ、 TA=時間的アクティビティ、 P=優先順位番号 優先順位番号Pは前に定めてあるので、この定義を参照されたい。飛越し係数 、フレーム空間的アクティビティ、及び時間的アクティビティを決定するのに用 いられる特定の方法は、ひずみの表現と共に本発明においてはあまり重要ではな い。重要な点は、ひずみD iまたは符号化データの質を表す他のパラメータを 決定するのに用いられる一定の方法論である。本発明の原理はいかなる圧縮技術 に対しても応用することができ、質を測定するのに用いられる特定のパラメータ は所与の技術の範囲内にあっても技術ごとに異なるものとなりうる。従って、以 下の平均二乗誤差、飛越し係数、フレーム空間的アクティビティ、及び時間的ア クティビティの例は、本発明の特定の実施例を示したものに過ぎず、本発明をこ れに限定しようとするものではない。 平均二乗誤差とは、元のフレームと符号化の後、再構成されたフレームとの間 の画素間の誤差の二乗を合計し、更にフレーム内の画素の総数で標準化すること によって求められるものである。即ち、 ここでx i及びy iはそれぞれ元のフレームと再構成されたフレームの画 素であり、nはフレーム内の画素の総数である。平均二乗誤差mseが入力シー ケンスの特性とは全く無関係であることに注意されたい。この実施例では、各エ ンコーダ302−iがフレームごとに平均二乗誤差を求め、その値を統計処理マ ルチプレクサ300に送る。別の実施例では、平均二乗誤差が用いられず、米国 カリフォルニア州ミルピタス(Milpitas)のシー−キューブマイクロシステムズ (C-Cube Microsy stems)社のエンコーダによって求められた平均二乗誤差を用いる。 ひずみDにおける飛越し係数IFは映像シーケンス内の飛越し走査(interlac ng)の効果を標準化するのに用いられる。典型的な映像エンコーダは、映像シー ケンスのフィールド/フレーム構造とは無関係にピクチャのシーケンスを圧縮す る。しかし、ビデオカメラから送られてくるフレーム(典型的には50若しくは 60のフィールド/秒)の特性は、フィルムに撮影され、デジタル形態に変換さ れた(3:2のプルダウン処理(pulldown operation)が逆に行われたことが仮 定されている)ものとは異なっている。前者は一般に“インタレースアーティフ ァクト(interlace artifact)”と称されるものを有し、後者はそれを持たない 。インタレースアーティファクトは導入されたフレームの2つのフィールド間の 動きに過ぎない。というのは、この2つのフィールドは違うタイミングで取り込 まれたからである。このようなフィールド間の動きは、フィルムから作られたフ レームのフィールド間には存在しない。なぜならばこの場合2つのフィールドは 同時に取り込まれたからである。このため典型的な映像フレームは典型的な映画 の映像フレームと比べて圧縮しにくい。 前に説明したように、統計処理マルチプレクサ300は異なったアプリケーシ ョンの相対的なひずみ値を用いて、レートを再配分する。このようなプロセスを 効果的に実行するために、ひずみDを決定するのに用いる方法は偏りのないもの でなければならない。しかし、ビデオエンコーダは典型的にはフレームブリッド 上で動作することから、1つのアプリケーションに対して計算された空間的アク ティビティは、そのアプリケーションが飛越し走査された映像シーケンスである 場合はいくらかフラットではなくなる。これにより、標準的なひずみ値よりも低 いひずみが得られることになる。この偏りは、飛越し係数IFにより空間的アク ティビティの測定値を再び高めることによってオフセットされうる。特定のフレ ームがフィールドモードで符号化されたことが前もって分かっている場合は、そ の画像に対する飛越し係数IFを、そこに送ることができる。 この実施例では、飛越し係数IFは、2つの統計値、即ち“誤差アクティビテ ィ(Difference activity)”DA及び“内部アクティビティ(Intra activity )”IAを用いて求められる。誤差アクティビティDAは1つのフレームに属す る2つのフィールド間の画素間の絶対誤差の平均値として定義される。即ち、 ここで、nfは1つのフィールドにおける画素数であり(u i)及び(v i )はそれぞれそのフレームの奇数番目及び偶数番目のフィールドの対応する画素 である。 一実施例においては、誤差アキュムレータがパリティの異なる連続した2つの フィールド間の誤差アクティビティDAを生成する。つまり、誤差アキュムレー タは、現在フィールド、例えばフィールドa1の画素と、異なるパリティの次の フィールド、例えばフィールドa2の同じ画素との間の絶対誤差を合計するので ある。1枚のフレームに対する全てのデータが処理されたとき、エンコーダ30 2−iは誤差アクティビティDAを統計処理マルチプレクサ300に1フレーム につき1回供給する。 内部アクティビティIAは1つのフィールドに属する偶数/奇数の各対のライ ン間の画素間絶対誤差の平均値であってそのフレームの対になった両フィールド 上で平均したものである。即ち、 ここで、pj i、qj iは、j=奇数(odd)、偶数(even)としたとき、フ ィールドjの隣接する偶数−奇数ラインの対応する画素である。 一実施例において、誤差アキュムレータは、同じフィールドに属する各隣接す る偶数−奇数ラインの対の間の誤差の測定値を発生する。即ち、“内部アクティ ビティIA”は、同じフィールドの偶数及び奇数ラインに属する画素の対の間の 絶対誤差を合計することによって得られるのである。画素の誤差は、以下のライ ンの対(0,1)、(2,3)、(4,5)、...の間で得られる。偶数断面 のラインに対する画素値は、遅延ラインに送られ、次に誤差アキュムレータに送 られる。また奇数ラインの画素値は誤差アキュムレータに直接送られる。1枚の フレームに対する全てのデータが処理されると、内部アクティビティIAはエン コーダ303により、統計処理マルチプレクサ300に1枚のフレームにつき1 回供給されることになる。 一度誤差アクティビティDA及び内部アクティビティIAが得られると、飛越 し係数IFは以下のように定められる。 誤差アクティビティDA及び内部アクティビティIAの双方はハードウェア内 で生成される。この2つの統計値の比が用いられるため、ハードウェアは画素数 nfを用いる必要がないということに注意されたい。従って、両統計値は上述の ように誤差アキュムレータを用いて求められる。 ひずみDにおけるフレーム空間的アクティビティSAは、一つのフレームにお ける空間的アクティビティの測定値である。このような測定値 の例としてあげられるのは、垂直方向及び水平方向に隣接する画素間の絶対誤差 の平均値である。本発明において使用するのに適するフレーム空間的アクティビ ティSAのハードウェア形態の一実施例は米国カリフォルニア州のシー−キュー ブマイクロシステムズ社から入手可能である。 フレーム空間的アクティビティSAを生成するハードウェアの選択において重 要な点は、空間的アクティビティがフレームグリッド上で測定される限り、(即 ちフレームの隣接するライン間の誤差が考慮に入れられる場合)、フレーム空間 的アクティビティSAは飛越し係数IFによって調節されなければならないとい う点である。 ひずみDにおける時間的アクティビティTAは、映像シーケンスにおけるフレ ーム間誤差を示すものである。初めに、隣接する2つのフレームの対応する画素 間の誤差の絶対値の平均値が求められる。即ち、 ここで、前に述べたように、nはフレーム内における画素の総数であり、Xi 及びYiは、それぞれ2つの隣接するフレームの対応する画素である。V′はパ ラメータvを以下のように再帰的に更新するのに用いられる。 一実施例においては、定数αは0.9であり、パラメータvは初めに40に設定 される。 最終的に、この実施例では、時間的アクティビティTAがvから得られる。即 ち、 フレーム間の画素の誤差に基づくものである限り、他の関数を用いることも可能 である。 この現在のインプリメンテーションにおいては、v及びv′の双方がエンコー ダにおいて計算され、各フレームごとに一回統計処理マルチプレクサ300に伝 送される。 第12図には、統計処理マルチプレクサ300の一実施例のさらに詳細なブロ ック図が示されている。統計処理マルチプレクサ300はエンコーダ302−1 〜302−Lとやりとりし、アプリケーションコントロールバス360を用いて 通信チャネル330に伝送するための圧縮されたアプリケーションデータを収集 する。この実施例では、メモリ313(第3図参照)が複数のメモリ1201〜 1203及び1205〜1207を含み、各メモリについては以下に詳細に説明 する。 一実施例においては、統計処理マルチプレクサ300はアプリケーションコン トロールバスインターフェイス回路1210を通して4つの個別のアプリケーシ ョンコントロールバスをサポートしている。このような多重アプリケーションコ ントロールバスを用いることによって、冗長なアプリケーション301−iを冗 長アプリケーションコントロールバス360を通して統計処理マルチプレクサ3 00に接続することが可能となる。冗長アプリケーションの1つがそのアプリケ ーションコントロールバスを損なうモードにおいて機能しなくなる場合は、別の 冗長アプリケーションが他の3つのアプリケーションコントロールバスの1つを 通して統計処理マルチプレクサ300にデータを送ることができる。 4つのアプリケーションコントロールバスのすべてがそれぞれのドライバのセ ットを有し平行してドライブされる。4つのアプリケーションコントロールバス のすべてから受け取られた信号はインターフェイス回路1210内でともに論理 和演算処理される。そこで何らかの問題が生 じた場合はアプリケーションコントロールバスはディセーブル状態にされ得る。 アプリケーションコントロールバスステートマシン311は、アプリケーショ ンコントロールバスインターフェイス回路1210とマイクロプロセッサ312 との間に設置される。一実施例においては、以下に述べるアプリケーションコン トロールバスステートマシン311の機能が、プログラマブルゲートアレイにお いて実現される。アプリケーションコントロールバスステートマシン311(以 下ACBステートマシン311と称する)は、インターフェイス1210を通し てアプリケーションコントロールバス360を制御し、マイクロプロセッサ31 2に対するバスの動作の影響を最小限に押さえる。マイクロプロセッサ312に は、一実施例においては、モトローラ社製の68302マイクロプロセッサが用 いられる。 ACBステートマシン311はメモリ1201〜1203及び1207に格納 されたテーブルと、ステートマシン311内のレジスタによって制御される。メ モリ及びレジスタの双方ともにマイクロプロセッサ312によって構成されてい る。ACBステートマシン311を制御するのに用いられるテーブルには、一実 施例では、スクラッチDRAM1207に格納されたスタティックレートテーブ ル、デュアルポートメモリ1202に格納されたダイナミックレートテーブル、 及びデュアルポートメモリ1204に格納された汎用通信テーブルが含まれる。 これらのメモリについては後に詳述する。ACBステートマシン311は、それ ぞれアドレスジェネレータ回路1222及び1223を用いて、メモリ1202 及び1203をアドレス指定する。当然、アドレスジェネレータ回路1222及 び1223がステートマシン311内に組み込まれ得るということは当業者には 理解されよう。 ACBステートマシンのレジスタには、マイクロプロセッサ312によって書 き込みが行われるが、このレジスタには、レジスタACBSMCtr、ACBS MMask、及びACBSMClrがある。これらは8ビットのレジスタであっ て、レジスタACBSMCtrとACBSMMaskのビット定義は表III及 びIVに示されている。レジスタACBSMClrへの書き込みにより、たとえ 割り込みがマスクされたとしても、割り込みの保留をクリアすることができる。 Resetのビットがローレベルにあるときは、ACBステートマシン311 はリセットされる。ACBステートマシン311はResetのビットがローレ ベルにあるときは動作できない。マイクロプロセッサ312は、Resetのビ ットを0にセットし、ついで1にセットして、ACBステートマシン311のリ セットを制御する。 ビットStCommは、マイクロプロセッサ312が汎用通信テーブルの1つ をプログラムし、ACBステートマシン311が伝送の準備完了状態に至ったと き、マイクロプロセッサ312によってセットされる。ビットStCommはA CBステートマシン311がオフ状態にある汎 用通信テーブル内のエントリに達したときクリアされる。 ビットStFIFOは、新たな第1テーブルが生成され、このテーブルのFI FO1201へのDMA伝送が開始されたときにマイクロプロセッサ312によ ってセットされる。ビットStFIFOがローレベルにあるとき、ACBステー トマシン311は、以下に述べるように第1ステータスメッセージサイクルを実 行することができないが、ACBステートマシン311は、以下に述べるような 他のアプリケーションバスメッセージサイクルを実行することができる。 Reservedkビットは常にローレベルにセットされていなければならな い。 ビットNeedSelは以下に述べるように、メモリ1202内の2つの第2 テーブルのうち使用するテーブルを定める。ビットNeedSelがローレベル にセットされている時は、ACBステートマシン311のビットは、第2テーブ ル1を使用する。 ビットSecSelは使用されない。 ビットComSelは、メモリ1204内の汎用通信テーブルのうち何れを使 用するかを定める。ComSelがローレベルにセットされているときは、AC Bステートマシン311のビットは、汎用通信テーブル1を使用する。 クリアリングビットComMaskは、通常ACBステートマシン311が汎 用通信テーブルのデータの終わりの部分に達したとき生成される割り込みをディ セーブル状態にする。 クリアリングビットVarMaskは、通常ACBステートマシン311が第 2テーブルの終わりの部分に達したとき生成される割り込みをディセーブル状態 にする。 クリアリングビットEmtyFIFOMaskは、FIFO1201がからの 状態になったときに通常生成される割り込みをディセーブル状態にする。 クリアリングビットACBTimeMaskは、ACBタイムカウンタ124 1が終了したとき生成される割り込みをディセーブル状態にする。この実施例で は、この割り込みは使用されないので、このビットはローレベルにセットされる ことになる。 ビットAppBusは、アプリケーションバス1〜4をそれぞれいネーブル状 態にする。特定のビットがセットされたときは、対応するバスがイネーブル状態 にされるのである。 アプリケーションコントロールバス360には、8ビットの平行アドレス/デ ータバスADDR/DATAと、アドレスストローブラインASと、データスト ローブライン DSと、クロックライン CLOCKと、DTACLKまたはリ ターンクロックラインDTACLKと、イネーブル信号ラインイネーブルとが含 まれる。これらのライン上の信号は、この実施例では、差分TTL信号レベルで ある。さらに、便宜上、ラインとそのライン上の信号には同じ符号を付してある 。アプリケーションコントロールバス360も、基準クロック及び基準カウント ラインを含み、これらのラインは、この実施例では、差分ECLレベル信号を運 ぶ。 アプリケーションコントロールバス360は、統計処理マルチプレクサ300 とエンコーダ302−1〜302−Lとの間の唯一の通信経路である。アプリケ ーションコントロールバス360上の情報の伝送は、パケット時間間隔に分割さ れており、このパケット時間間隔は1つのデータパケットを通信チャネル330 上に伝送するのに必要な時間として定義される。パケットストローブラインPS (第13図参照)上の2つの連続したパルス1301及び1302、即ちパケッ トストローブの立ち上がりの間の時間間隔はパケット時間間隔を定めるものであ る。この実施例では、通信チャネル330により外部クロック信号EXCLKが 供給される。外部クロック信号EXCLKは、統計処理マルチプレクサ300に より分割されて、ラインPS上にパケットストローブが生成される。従って、パ ケットストローブは、外部クロックラインEXCLK上のクロックをパケット内 のビット数で割ることにより生成される。パケットストローブは非常に正確で非 常に規則正しいパルスである。 この実施例においては、統計処理マルチプレクサ300は、互いに同期して動 く2つの部分を有する。アプリケーションコントロールバス360は10MHz で動作する。統計処理マルチプレクサの通信チャネル330への出力は、通信チ ャネル330から、即ちチャネルをドライブするモデムから受け取られた外部ク ロック信号EXCLKと同期して動く。これらの周波数により、統計処理マルチ プレクサ300の各部分は最適な状態で動作することができる。また、これによ り、アプリケーションコントロールバス360を、外部クロック信号EXCLK の周波数の変化につれて変化する周波数で走らせることが必要であるために発生 する問題がなくなる。 一実施例においては、毎パケット時間間隔が、さらにメッセージサイクル周期 ACB(第13図参照)とデータ伝送周期ADBに、アプリケ ーションバス306上で分割される。データ伝送サイクル周期ADBは、統計処 理マルチプレクサ300が通信チャネルへ伝送する圧縮されたアプリケーション データを収集するときに使用される。メッセージサイクル周期ACBは、統計処 理マルチプレクサ300がエンコーダ302−1〜302−Lから情報を収集し 、可変レートアプリケーションを処理する各エンコーダ302−iに新たなレー トを分配するために使用される。 周期ACB及びADBの中のコントロール及びデータ伝送サイクルは、アプリ ケーションコントロールバス360内のデータバスDATA/ADRで時分割多 重化される。一実施例において、周期ACB内において複数のメッセージサイク ルが発生した後、周期ADB外で一つのデータパケット伝送サイクルが発生する 。 第13図に示すように、メッセージサイクル時間間隔ACBは、3つのメッセ ージサイクル、即ち第1ステータスサイクル、バス割り振りサイクル、及び一般 通信サイクルに細分される。これらの3つのメッセージサイクルの何れもがメッ セージサイクル時間間隔ACBから削除され得る。しかし、これらの3さのサイ クルのすべてまたはその一部はこの順番で生起する。メッセージサイクル時間間 隔ACBの中に、特に1または2以上のメッセージサイクルが削除されている場 合、使用されない部分が生じてもよい。3つのメッセージサイクル及びその機能 は以下に詳細に述べる。 データ伝送を可能にするために少なくとも1つのメッセージサイクルが各デー タ伝送サイクルに先行しなければならない。伝送サイクル間に生起し得るメッセ ージサイクルの数は、要求されるデータ伝送レートにより制限される。データ伝 送間の4つのメッセージサイクルとともに、約12.5MHzのクロックレート を用いることにより、アプリケーシ ョンコントロールバス上のアプリケーションパケットデータの最大伝送レートは 60Mビット/秒となる。 メッセージサイクル時間間隔ACBは、ACBタイムカウンタ1242(第1 2図参照)により決定される。ACBタイムカウンタ1242は、ラインPS上 のパケットストローブに応答してスタートする。次にACBタイムカウンタ12 42は、アプリケーションコントロールバスクロックの所定の数の発生パルス即 ち40個のバスクロックのパルスをカウントし、出力信号を発生する。 ACBタイムカウンタ1242の出力信号に応じて、ACBステートマシン3 11はデータストローブ信号をローレベルにし、少なくとも時間tDSE(第1 4図及び表V参照)経過した後信号ENABLEをアクティブにセットする。( 第13図においては、信号ENABLEは長くのばされており、この信号のライ ンが示すのは、アプリケーションバス上の時間間隔ADBに対する信号ENAB LEの立ち上がり及び立ち下がりであるということに注意されたい。)従って、 データ伝送プロトコルは、適切なメッセージサイクル及び信号ENABLEによ り制御される。選択されたアプリケーションがメッセージのサイクルの間に次の アプリケーションがパケットデータを供給できるように処理を終えていることが 、データ伝送サイクルにおいては必要である。メッセージサイクルの間、統計処 理マルチプレクサ300は、アプリケーション301−iが次回の信号ENAB LEがアサートされたときにデータバスDATA/ADRにドライブするように する。 アプリケーションバスクロックCLOCK(第14図参照)は連続的に動く。 ACBステートマシン311は、アプリケーションバスクロックCLOCKと同 期する信号ENABLE(第13図及び第14図参照)をアサートしたりデアサ ートしたりする。信号ENABLEは、アプリ ケーションバスクロックCLOCKのパルス数がデータパケットにおけるバイト 数と等しくなるまでアクティブ状態を維持する。この実施例では、ADBタイム カウンタ1241は、信号ENABLEがアクティブ状態になったときに、アプ リケーションコントロールバスクロックのパルスの数のカウントを開始する。A DBタイムカウンタ1241が必要なクロック数をカウントしたとき、信号が生 成されてACBステートマシン311に送られ、そこで信号ENABLEをイナ クティブ状態にする。 イネーブル状態にされたアプリケーションは、信号ENABLEがアサートさ れたクロックサイクルの数に対してバスDATA/ADR上にデータをドライブ する。このように、統計処理マルチプレクサ300は、1つの任意のデータの伝 送において、アプリケーションコントロールバス360上に送出されるアプリケ ーション301−iのバイト数を制御する。 アプリケーション301−iは、バスDATA/ADR上にデータを、またラ インDTACLK上にクロック信号を同時にドライブする。(第14図参照)ラ インDTACLK上の信号は、信号CLOCKと同相である必要はないが、ライ ンDTACLK上の信号は信号CLOCKと同じ周波数でなければならない。ア プリケーション301−iが信号ENABLEを受け取ったときから、アプリケ ーション301−iがDTACLKをドライブするまでの間、いくらかの待ち時 間があってもよい。表Vを参照されたい。この実施例では、アプリケーション3 01−iが、ひとたびイネーブル状態にされると、信号ENABLEがアクティ ブ状態になるクロックの第1の正の立ち上がりから始まる2つのクロックサイク ル内に、バス360上にDATA及びDTACLKをアサートしなければならな い。 アプリケーション301−iは、信号ENABLEがアクティブ状態にある時 間間隔により決定されるように、バスDATA/ADR上のバイト数をドライブ しなければならない。これは、イネーブル待ち時間及びディセーブル待ち時間が 任意のアプリケーションに対して同じでなければならないが、この待ち時間がア プリケーションごとに変化しうるということを意味している。ADBタイムカウ ンタ1241がカウントを終了し、ついでデータ伝送が行われるとき、ACBス テートマシン311は、ラインENABLE上の信号をイナクティブ状態にドラ イブし、統計処理マルチプレクサ300は、適当なメッセージサイクルによって 次のデータ伝送をイネーブル状態にする。つまり、統計処理マルチプレクサ30 0は、アドレスストローブ信号ASをアサートする前に、少なくとも時間tEA S(第14図及び表V参照)だけ待機する。 ラインCLOCK、ENABLE、DTACLK、及びバスDATA/ADR 上の各信号間のタイミングの関係の1つの例が、第15図に示されている。表V は、セットアップタイムtSU、ホールドタイムtH、及びタイムオフtOFF について説明したものである。時間tDSE(第14図参照)は、データストロ ーブ信号DSがイナクティブ状態にドライブされた後、統計処理マルチプレクサ 300が待機しなければならない最小時間である。 統計処理マルチプレクサ300は、ADBバイトカウンタ1240と共に、ア プリケーションコントロールバス360上に送出されるバイト数をカウントする 。この実施例では、ADBバイトカウンタ1240が正しいバイト数を受け取っ た場合に、ACBステートマシン311に送る信号を発生するダウンカウンタ( down counter)である。 アプリケーション301−1がラインDTACLKをドライブしないとき、こ のライン用のドライバはエンコーダ302−iにより高インピーダンス状態にセ ットされる。ラインDTACLK上のグリッチ(glitch)を回避するため、エン コーダ302−iはドライバをディセーブル状態若しくはイネーブル状態にする 前に、少なくとも時間tOFFの間論理0状態にする。ドライバをディセーブル 状態にするために、エンコーダ302−iは、初めにラインDTACLK上に論 理0値を与え、次 にドライバをディセーブル状態にする。即ち、ドライバは高インピーダンス状態 にセットされる。バス終端法により、バス360は論理0の状態に保持される。 次のアプリケーション301−jがそのドライバをイネーブル状態にしたとき、 そのドライバは論理0状態にイネーブル状態化されていないことから、バス36 0上での移動は発生しない。 上述のようにACBステートマシン311は、メモリ311内に格納されたテ ーブルの情報を用いて、アプリケーションコントロールバス360を制御する。 ACBステートマシン311は、適当なアドレスジェネレータ1222及び12 23にアプリケーションコントロールバス360の動作を制御するための、若し くは第1FIFO1201からバス360へ情報を伝送できるようにするため情 報を含んだ適当なテーブル内のエントリをアドレス指定させる。第13図に示す メッセージサイクルの1つを、各格納されたテーブル内のエントリが制御する。 各テーブルは、1つのエントリに対して同じフォーマットを有する。第1バイ トはACBステートマシン311によって用いられる制御バイトである。表VI にはこの制御バイトの一例が定められている。 ビットOffはテーブルエントリが使用されない場合にセットされる。 ビットCFは本発明においては無関係である。 フィールドTypeの取りうる値は、 00−ナルパケットが挿入される、 01−使用されない、 10−アプリケーションコントロールバスへの書き込み、 11−アプリケーションコントロールバスからの読み出し である。 ビットTFがセットされると、パケットがtestFIFOから読み出される 。この機構を使用するためには、ビットTypeが“01”にセットされなけれ ばならない。この機構は、統計処理マルチプレクサ300の動作に必要ではない 。 ビットBCは一般的な通信を行うときに、アプリケーションバスの1つを通し て全てのエンコーダに伝送を行うためにセットされる。汎用通信テーブルにおけ るデータバイトの最下位ビットは、アプリケーションバス0、1、2、若しくは 3を何れのデータバイトを送っているかを示す。データバスDATA/ADR上 の最下位の2ビットは論理0として ドライブされる。 残りのビットは常に論理値0にセットされる。 各エンコーダ302−iはサービスチャネル識別SCIDとも称されるアプリ ケーションアドレスによりアドレス指定される。アプリケーションコントロール バス360上のアドレスは、各テーブルエントリの最上位バイトを始めとして第 2バイト及び第3バイトにより与えられる。16ビットアドレスの中で、12個 の上位ビット(ビット15〜4)は、エンコーダ302−iのアドレスである。 他の実施例において、エンコーダ302−iのアドレス指定のために異なるビッ ト数が用いられてもよい。次の3ビット(ビット3〜1)は、エンコーダ302 −i内部の特定のレジスタのアドレスである。最終ビット、即ち最下位ビットは 、読み出し若しくは書き込みを示す。各テーブルにおける第4のバイトはデータ バイトである。バイトがメッセージサイクルの間にアプリケーション301−i に書き込まれた場合、エントリテーブルの第4バイトに含まれる情報がアプリケ ーション301−iに供給される。エンコーダ302−iからバイトが読み出さ れたとき、このバイトはエンコーダ302−iがこの位置に書き込みを行うこと によりマイクロプロセッサ312に送られる。 テーブル内のアドレスバイトはアプリケーションコントロールバスのアドレス ストローブラインAS上の連続的なパルスと共に、アプリケーションコントロー ルバス360のバスDATA/ADR上を送られる(第14図、第16図及び第 17図参照)。エンコーダ302−1〜302−Lは、アドレスストローブライ ンAS上でパルスの終わりの立ち下がりの時点でアドレスバイトをラッチする。 メッセージサイクルの間に、テーブルの第4バイトにバスDATA/ADRを 通して読み出し若しくは書き込みを行うことは、アプリケーシ ョンコントロールバス360のデータストローブラインDS上のパルスによって 可能となる。(第16図及び第17図参照)書き込み情報の伝送中、データがデ ータストローブラインDS上にパルスの終わりの立ち下がり部分の時点において アドレスエンコーダ302−iによりラッチされる。読み出し情報の伝送中、A CBステートマシンは、データストローブラインDS上にパルスの終わりの立ち 下がり部分の時点においてデータをラッチする。読み出し時には、読み出しデー タが有効であることを示すためのハンドシェイクは不可能である。このことは、 データストローブラインDS上の信号がアサートされる特定の時間内において、 アプリケーションコントロールバス360上にデータが置かれなければならない ということを意味する。第16図及び第17図に示すように、ラインAS、DS 、及びバスDATA/ADR上の信号の間にはさまざまなタイミング上の特徴が あり、これを表VIIに示す。 上述のように、初期設定時において定められ、メモリ1207に格納される第 1テーブルは、所定の時間間隔をパケット時間に分割する。所定の時間間隔内の 各パケット時間は、第1テーブルのエントリに割り振られる。第1テーブルの各 エントリは、このパケット時間に何れのアプリケーション301−iが割り振ら れるかを特定するアドレスである。第1テーブルが、最小1秒当たり1パケット の分解能でバンド幅を割り振りすることから、一実施例においては、第1テーブ ルは(39Mビット/秒)の統計処理マルチプレクサ出力レート、時間(1/1 024パケット/ビット)、または29297エントリを有する。 上述のように、統計処理マルチプレクサ300は、第1テーブルを構築するた めにシステムスーパバイザ340と責任を共有する。セットアップ後、ポインタ は、第1テーブル内の第1エントリにセットされる。統計処理マルチプレクサ3 00は各パケット時間において第1テーブルエントリの1つを使用し、この第1 テーブルに対するポインタは各パケット時間に1回指標付けされる。従って、通 信チャネル330上のパケット時間間隔は第1テーブル内の情報に従って、アプ リケーション301−1〜301−Lへ与えられる。統計処理マルチプレクサ3 00は実際2つの第1テーブルを設ける。これにより、統計処理マルチプレクサ 300が“次の”第1テーブルを構築し、次に上述のように次の第1テーブルへ の切替えを行うことが可能となる。 上述のように、第1テーブルはDRAM1207内に保存されている。適当な タイミングにおいて、DMA伝送が用いられて、第1テーブル内のアドレス指定 されたエントリがメモリ1207から第1FIFO1201へ移送される。第1 テーブル内の最終エントリが第1FIFO1201へ伝送された後、DMAコン トローラは第1テーブルの第1エントリへの伝送を再び指示する。このサイクル は、DRAMの別の場所に新 たな第1テーブルが構築されるまで続けられる。DMAコントローラは、必要な 場合にこの新たな第1テーブルへの伝送を指示する。 パケット時間の第1ステータスメッセージサイクルの間に、ACBステートマ シン311は、制御ワード、即ち第1テーブルポイントによって指定された、第 1テーブルエントリの第1バイトを読み出す。ビットOFFがセットされた場合 、制御ワードの残りの部分は無視され、第1テーブルエントリの残りの部分は読 み出されて処分され、第2テーブルのエントリは以下に戻るように検査される。 フィールド“Type”は、このパケットが、システムクロックパケットかを 定めるために第1テーブルエントリにおいて用いられる。フィールドTypeが このパケットをシステムクロックパケットであると特定した場合は、第1ステー タスメッセージサイクルは除去され、ACBステートマシン311が割り振りパ スメッセージサイクル上で動き、前のパケット時間に受け取ったアプリケーショ ン301−iにこのパケットのバンド幅を得たことを伝える。 ビットOFFがアクティブ状態になく、フィールドTypeが普通のデータパ ケットとして定義された場合、ACBステートマシン311は、第1ステータス メッセージサイクルを実行する。ACBステートマシン311は、エントリの次 の2バイトに特定されたエンコーダのアドレスにおいて読み出しを実行する。こ のアドレスにおけるデータの読み出しは、アドレス指定されたエンコーダがこの パケットのバンド幅を要求している場合統計処理マルチプレクサ300に伝えら れるステータスである。アドレス指定されたエンコーダがこのパケットのバンド 幅を拒否した場合、第1テーブルのエントリのデータバイトは読み出され、廃棄 される。 アドレス指定されたエンコーダが、このパケットのバンド幅を要求す るというステータスを返した場合は、割り振りバスメッセージサイクルはアドレ ス指定されたエンコーダに対して、そのエンコーダがこのパケットのバンド幅を 使用することができるような指示を与える。 第2テーブルは、第1テーブルにより割り振りされなかったパケットを割り振 りするのに用いられる。上述のように、一実施例においては、固定レートアプリ ケーションのみが第1テーブルに割り振りされ、可変レートアプリケーションは 第2テーブルに割り振りされる。従って、第1テーブルの制御ワードにおけるビ ットOffがセットされたとき、第2テーブルへのアクセスが行われる。 この場合、ACBステートマシン311は、第2テーブルのアドレス指定され たエントリにおける制御バイトの読み出しを行う。初期化において、ポインタが 、第2テーブル内の第1エントリに位置しており、エントリが使用された後、ポ インタがACBステートマシン311によりインクリメントされる。詳述すると 、ACBステートマシン311は、第2テーブル内のエントリに周期的にアクセ スするのである。ACBステートマシン311は、カウンタを用いて、このよう なエントリを循環するポインタを生成する。 第2テーブルのアドレス指定されたエントリにおけるビットOffがセットさ れた場合、パケットアセンブリステートマシンは、このパケットのバンド幅にア イドルパケットを挿入し、割り振りバスメッセージサイクルが抹消される。Of fビットがセットされない場合は、ACBステートマシン311はこのパケット のバンド幅を第2テーブルのこのエントリの次の2バイトにリストされたアプリ ケーションに割り振りする。 従って、第1テーブル及び第2テーブルを用いたパケットの割り振りは、ここ に至って2層方式(two-tier approach)となる。第18図にはこのプロセスの プロセス流れ図が示されている。初めにステップ180 2においてACBステートマシン311が第1FIFO120におけるエントリ を検証する。現在のパケットが固定レートアプリケーションに割り振りされてい る場合は、パケットはそのアプリケーションに与えられ、第1テーブルのポイン タは1だけ進められる(モジュロ(エントリの総数))。しかし、パケットは可 変レートアプリケーションに割り振りされている場合は、第1テーブルにおける ナル符号によって示されるように、ナル符号チェックステップ1803において コントロールをステップ1805に送り、ACBステートマシン311は第2テ ーブルをチェックして可変レートアプリケーションが現在パケットに割り振りさ れているか否かを調べる。パケットを可変レートアプリケーションに与えた後、 第1テーブル及び第2テーブルの双方のポインタが、1進められる(モジュロ各 エントリの総数)。 共有メモリ1202内には2つの第2テーブルが存在する。これにより、AC Bステートマシン311が1つのテーブルを使用し、同時にマイクロプロセッサ 312が2番目のテーブルを構築することが可能となる。上述のように、ACB ステートマシンコントロールレジスタにおけるビットは、マイクロプロセッサ3 12によって制御され、ACBステートマシン311がどちらの第2テーブルに アクセスするか制御する。 パケット時間のメッセージサイクル周期ACBにおける最終メッセージサイク ルは、統計処理マルチプレクサ300とアプリケーション302−1〜302− Lとの間の一般的なやりとりのためのものである。このテーブルは、マイクロプ ロセッサ312によって構築され、共有メモリ1203の中に保存される。 ACBステートマシン311は、カウンタを用いることにより汎用通信テーブ ルにおけるエントリに周期的にアクセスしエントリを循環するポインタを生成す る。ACBステートマシン311は、エントリがセッ トされたビットOffを有する場合には、常に一般通信メッセージサイクルを削 除する。汎用通信テーブルエントリのポインタが、マイクロプロセッサ312が ACBステートマシンコントロールレジスタに書き込みを行ってより多くの汎用 通信バイトを送るようにするまでこのエントリに留まる。ACBステートマシン は、ビットOffがセットされた汎用通信テーブルに達したとき、割り込みを発 生する。 汎用通信メッセージサイクルにおいて、ACBステートマシン311はアドレ ス指定されたアプリケーションからデータバイトを読み出して、そのデータバイ トを汎用通信エントリのデータバイトフィールドに書き込むか、若しくは汎用通 信テーブルエントリのデータバイトフィールドの読み出しを行い、このデータバ イトをアプリケーションに書き込むかする。データの方向はエントリのフィール ドTypeにより制御される。 共有メモリ1204には2つの汎用通信テーブルが存在する。これにより、A CBステートマシン311が1つのテーブルを使うと同時に、マイクロプロセッ サ312が第2のテーブルを構築することが可能となる。ACBステートマシン コントロールレジスタにおけるビットは、マイクロプロセッサ312により制御 され、これはACBステートマシン311がどちらのテーブルにアクセスするか を制御する。 汎用通信メッセージサイクルにおけるデータ伝送の間、データストローブ信号 DSは何回もアサートされてもよい。これにより、8ビット以上のデータのレジ スターへの書き込み及びそこからの読み出しが可能となる。マルチバイトレジス タは、最下位バイトから始まるレジスタのいくつかの連続したバイトに対して連 続したデータストローブを用いる。従って、16ビットレジスタへの書き込みを 行うために、バスマスタがデータストローブ信号DSをアサートする。第1回目 は、データの最下位バイト、第2回目はデータの最上位バイトである。レジスタ の呼び出 しも同様に行われる。レジスタは、バスマスタが所望に応じて最下位バイトのみ を呼び出し若しくは書き込みするように組み立てられている。レジスタのバイト 数には技術的には限界はない。従って、メモリは多重バイト読み出し若しくは書 き込みを行うことによりレジスタとして取り扱いうる。 統計処理マルチプレクサ300におけるマイクロプロセッサ312はシステム スーパバイザバスを通してシステムスーパバイザ340とやりとりする。上述の ステップ401のように統計処理マルチプレクサ300はシステムスーパバイザ 340によって構成され制御される。統計処理マルチプレクサ300とシステム スーパバイザ340との間の情報のやりとりはハイレベルデータリンタ通信プロ トコルを用いて行われる。統計処理マルチプレクサ300とシステムスーパバイ ザ340との間の通信経路を形成するのに用いられる特定のバス構造は、本発明 の一部分ではない。重要な点は、情報がシステムスーパバイザ340により統計 処理マルチプレクサ300に供給されるという点である。情報をに伝送するのに 用いられる特定のモードは、システムスーパバイザ340の構成により定められ 、従って統計処理マルチプレクサ300が特定のシステムスーパバイザと共に構 成される時に知るところとなる。 ステップ401に示すように、統計処理マルチプレクサ300のシステムスー パバイザは、統計処理マルチプレクサ300に、アプリケーション301−i〜 301−Lの何れがシステム内に存在し、アプリケーション301−2〜301 −Lがどのように構成されているかを伝える。システムスーパバイザ340は、 統計処理マルチプレクサのソフトウェアの更新方法も提供する。この実施例にお いては、統計処理マルチプレクサ300のソフトウェアの見直しは、システムス ーパバイザバスを通して、統計処理マルチプレクサにダウンロードされ、非揮発 性フラッシ ュメモリ1206に格納される。 以上の説明のなかのハードウェアに関する記述は本発明の一実施例を説明する ことのみを目的としたものである。ここに開示した内容からいえば、統計処理マ ルチプレクサ、及びマルチプレクサとエンコーダ、通信チャネル、及びシステム スーパバイザとの通信に使用されたテーブル及びデータは、様々な形態で実現し うる。更に、初めに述べたように、この統計処理マルチプレクサを映像データの 圧縮のために使用することは応用例の1つに過ぎない。この明細書に記載した本 発明原理に基づく統計的多重化は当業者であれば様々なデータストリームに対し て応用可能である。
【手続補正書】特許法第184条の7第1項 【提出日】1995年10月23日 【補正内容】請求の範囲 1.通信チャネルへのアクセスについて競合する複数のデータストリームの統計 的多重化方法であって、 a)統計処理マルチプレクサのメモリにスタティックテーブルを設置するスタ ティックテーブル設置過程であって、前記スタティックテーブルが、所定の時間 間隔内に前記通信チャネル上を伝送され得る各データ単位に対するエントリを有 し、 i)前記スタティックテーブル内のエントリを、前記複数のデータストリー ムの1つに割り振る過程と、 ii)前記エントリが、可変レートのデータストリームに割り振りされた場 合、前記エントリに所定の符号を格納する過程と、 iii)前記エントリが、固定レートのデータストリームに割り振りされた 場合、前記エントリに、前記固定レートデータストリームを特定するポインタを 格納する過程と、 iv)前記スタティックテーブル内の各エントリに対し、i)からiii) までの各前記過程を反復する過程とを有する、 該スタティックテーブル設置過程と、 b)前記通信チャネル上に次のデータ単位を送る前記複数のデータストリーム のなかから1つのデータストリームを選択するために、前記スタティックテーブ ル内の各テーブルエントリを使用する過程とを有することを特徴とする複数のデ ータストリームの統計的多重化方法。 2.ダイナミックテーブルを設置する過程であって、 i)前記ダイナミックテーブル内のエントリを、A)前記複数のデータスト リームのなかの前記可変レートデータストリームの1つと、B)アイドルデータ 単位の可変レートデータストリームの1つとの何れかに割り振る過程と、 ii)前記エントリが前記可変レートデータストリームに割り振られるとき 、前記可変レートデータストリームに対するポインタを、前記エントリに格納す る過程と、 iii)前記ダイナミックテーブル内の各エントリに対し、i)からii) までの各前記過程を反復する過程とを更に有することを特徴とする請求項1に記 載の複数のデータストリームの統計的多重化方法。 3.前記スタティックテーブル内の各エントリを使用する前記過程が、 前記所定の符号を含む前記スタティックテーブルにおけるエントリを検出した とき、前記ダイナミックテーブル内のエントリにアクセスして、可変レートデー タストリームを選択する過程を更に含むことを特徴とする請求項2に記載の複数 のデータストリームの統計的多重化方法。 4.所定の範囲外に質測定値パラメータを有する各前記可変レートデータストリ ームのために、前記通信チャネル上を伝送すべく割り振られるデータ単位の数を 調節する過程を更に有することを特徴とする請求項3に記載の複数のデータスト リームの統計的多重化方法。 5.前記通信チャネル上を伝送すべく割り振られるデータ単位の、調節された前 記数を用いて、第2ダイナミックテーブルを設置する過程を更に有することを特 徴とし、 前記第2ダイナミックテーブルを設置する過程が、 i)前記第2ダイナミックテーブル内のエントリを、A)前記複数のデータ ストリームのなかの前記可変レートデータストリームの1つと、B)アイドルデ ータ単位の可変レートデータストリームの1つとの何れかに割り振る過程と、 ii)前記エントリが前記可変レートデータストリームに割り振られるとき 、前記可変レートデータストリームに対するポインタを、前記エントリに格納す る過程と、 iii)前記第2ダイナミックテーブル内の各エントリに対し、i)からi i)までの各前記過程を反復する過程とを更に有することを特徴とする請求項4 に記載の複数のデータストリームの統計的多重化方法。 6.前記ダイナミックテーブルが用いられる所定時間ウィンドウの後の、別の所 定時間ウィンドウにおいて、前記第2ダイナミックテーブルが使用可能となるよ うに、前記ダイナミックテーブルから前記第2ダイナミックテーブルへの切替え を行う過程を更に有することを特徴とする請求項5に記載の複数のデータストリ ームの統計的多重化方法。 7.前記ダイナミックテーブルを設置する過程が、1つの所定時間ウィンドウに つき一回実行されることを特徴とする請求項2に記載の複数のデータストリーム の統計的多重化方法。 8.各前記可変レートデータストリームのためにデータを収集し、前記可変レー トデータストリームを特徴づけるパラメータを生成する過程を更に有することを 特徴とする請求項3に記載の複数のデータストリームの統計的多重化方法。 9.前記可変レートデータストリームを特徴づける前記パラメータを、各可変レ ートデータストリームに対して生成する過程を更に含むことを特徴とする請求項 8に記載の複数のデータストリームの統計的多重化方法。 10.前記パラメータが、ひずみ測定値を含むことを特徴とする複数のデータス トリームの統計的多重化方法。 11.所定の範囲外に質測定値パラメータを用いて、各前記可変レートデータス トリームに対して前記通信チャネル上を伝送すべく割り振られるデータ単位の数 を調節する過程を更に有することを特徴とする請求項9に記載の複数のデータス トリームの統計的多重化方法。 12.前記所定の範囲の下限が、第1ヒステリシス係数とひずみパラメータとの 積であることを特徴とする請求項11に記載の複数のデータストリームの統計的 多重化方法。 13.前記所定の範囲の上限が、第2ヒステリシス係数とひずみパラメータとの 積であることを特徴とする請求項11に記載の複数のデータストリームの統計的 多重化方法。 14.前記可変レートデータストリームのそれぞれのために前記通信チャネル上 を伝送すべく割り振られるデータ単位の、調節された前記数を用いて、第2ダイ ナミックテーブルを設置する過程を更に有することを特徴とし、 前記第2ダイナミックテーブルを設置する過程が、 i)前記第2ダイナミックテーブル内のエントリを、A)前記複数のデータ ストリームのなかの前記可変レートデータストリームの1つと、B)アイドルデ ータ単位の可変レートデータストリームの1つとの何れかに割り振る過程と、 ii)前記エントリが前記可変レートデータストリームに割り振られるとき 、前記可変レートデータストリームに対するポインタを、前記エントリに格納す る過程と、 iii)前記第2ダイナミックテーブル内の各エントリに対し、i)からi i)までの各前記過程を反復する過程とを更に有することを特徴とする請求項1 1に記載の複数のデータストリームの統計的多重化方法。 15.前記ダイナミックテーブルが用いられる所定時間ウィンドウの後の、別の 所定時間ウィンドウにおいて、前記第2ダイナミックテーブルが使用可能となる ように、前記ダイナミックテーブルから前記第2ダイナミックテーブルへの切替 えを行う過程を更に有することを特徴とする 請求項14に記載の複数のデータストリームの統計的多重化方法。 16.前記複数のデータストリームが、符号化映像データストリームを含むこと を特徴とする請求項3に記載の複数のデータストリームの統計的多重化方法。 17.通信チャネルのアクセスを共有する複数の符号化データストリームの統計 的多重化方法であって、 前記複数の符号化データストリームの1つをそれぞれ発生する各可変レートエ ンコーダ、及び前記複数の符号化データストリームの1つをそれぞれ発生する各 固定レートエンコーダにレートを割り当てる過程と、 割り当てられた前記レートを用いて、所定の数のエントリを有するテーブルを 設置する過程であって、前記テーブル内の各エントリが、(i)前記複数の符号 化データストリームと、(ii)アイドルパケットの可変レートデータストリー ムの何れか一方に割り振られる、該テーブル設置過程と、 符号化データストリームを前記複数の符号化データストリームのなかから選択 すべく、前記テーブルの各テーブルエントリを用いる過程とを有することを特徴 とする複数の符号化データストリームの統計的多重化方法。 18.前記レートを割り当てる過程が初期化ステップにおいて実施され、各固定 レートエンコーダに実際のレートが割り当てられ、かつ各可変レートエンコーダ に保証レートが割り当てられることを特徴とする請求項17に記載の複数の符号 化データストリームの統計的多重化方法。 19.前記初期化ステップにおいて、各可変レートエンコーダにひずみ閾値が割 り当てられること特徴とする請求項18に記載の複数の符号化データストリーム の統計的多重化方法。 20.前記テーブル設置過程が、 i)前記エントリが、可変レートの符号化データストリームに割り振りされ た場合、前記エントリに所定の符号を格納する過程と、 ii)前記エントリが、固定レートの符号化データストリームに割り振りさ れた場合、前記エントリに、前記固定レートデータストリームを特定するポイン タを格納する過程と、 iii)前記スタティックテーブル内の各エントリに対し、i)からii) までの各前記過程を反復する過程とを更に含むことを特徴とする請求項18に記 載の複数の符号化データストリームの統計的多重化方法。 21.第2テーブルを設置する過程を更に有することを特徴とし、 前記第2テーブルを設置する過程が、 i)前記第2テーブル内のエントリを、A)前記複数の符号化データストリ ームのなかの複数の可変レート符号化データストリームの1つと、B)アイドル パケットの可変レートデータストリームの1つとの何れかに割り振る過程と、 ii)前記エントリが前記可変レート符号化データストリームに割り振られ るとき、前記可変レート符号化データストリームに対するポインタを、前記エン トリに格納する過程と、 iii)前記第2テーブル内の各エントリに対し、i)からii)までの各 前記過程を反復する過程とを更に有することを特徴とする請求項20に記載の複 数の符号化データストリームの統計的多重化方法。 22.前記テーブルの各テーブルエントリを用いる前記過程が、 前記所定の符号を含む前記テーブルにおけるエントリを検出したとき、前記テ ーブル内のエントリにアクセスして、前記通信チャネル上に次のパケットを送る 可変レートデータストリームを選択する過程を更に含むことを特徴とする請求項 21に記載の複数の符号化データストリームの 統計的多重化方法。 23.可変レートエンコーダからの各可変レート符号化データストリームのため にデータを収集し、前記可変レートエンコーダからの前記可変レート符号化デー タストリームを特徴づけるひずみパラメータを生成する過程を更に有することを 特徴とする請求項21に記載の複数の符号化データストリームの統計的多重化方 法。 24.前記可変レート符号化データストリームの質を特徴づける前記ひずみパラ メータを生成する過程を更に含むことを特徴とする請求項23に記載の複数の符 号化データストリームの統計的多重化方法。 25.前記ひずみパラメータが所定の範囲外にあるとき、前記ひずみパラメータ 用いて、各前記可変レート符号化データストリームに対して割り振られるパケッ トの数を調節する過程を更に有することを特徴とする請求項24に記載の複数の 符号化データストリームの統計的多重化方法。 26.前記所定の範囲の下限が、第1ヒステリシス係数とひずみ閾値との積であ ることを特徴とする請求項25に記載の複数の符号化データストリームの統計的 多重化方法。 27.前記所定の範囲の上限が、第2ヒステリシス係数とひずみ閾値との積であ ることを特徴とする請求項25に記載の複数の符号化データストリームの統計的 多重化方法。 28.前記通信チャネル上を伝送すべく割り振られたパケットの調節された前記 数を用いて第3テーブルを設置する過程を更に有することを特徴とし、 前記第3テーブルを設置する過程が、 i)前記第3テーブル内のエントリを、A)前記複数の符号化データストリ ームのなかの前記複数の可変レート符号化データストリームの1つと、B)アイ ドルパケットの可変レートデータストリームの1つと の何れかに割り振る過程と、 ii)前記エントリが前記可変レートデータストリームに割り振られるとき 、前記可変レート符号化データストリームに対するポインタを、前記エントリに 格納する過程と、 iii)前記第3テーブル内の各エントリに対し、i)からii)までの各 前記過程を反復する過程とを更に有することを特徴とする請求項25に記載の複 数の符号化データストリームの統計的多重化方法。 29.前記第2テーブルが用いられる所定時間ウィンドウの後の、別の所定時間 ウィンドウにおいて、前記第3テーブルが使用可能となるように、前記第2テー ブルから前記第3テーブルへの切替えを行う過程を更に有することを特徴とする 請求項28に記載の複数の符号化データストリームの統計的多重化方法。 30.前記複数のデータストリームが、符号化データストリームを含むことを特 徴とする請求項21に記載の複数の符号化映像データストリームの統計的多重化 方法。 31.通信チャネルのアクセスを共有する複数の符号化データストリームの統計 的多重化方法であって、 可変レートエンコーダからの各可変レート符号化データストリームのために、 前記複数の符号化データストリームにデータを収集し、前記可変レート符号化デ ータストリームを特徴づけるひずみパラメータを生成する過程と、 前記可変レート符号化データストリームの質を特徴づける前記ひずみパラメー タを、各可変レート符号化データストリームに対して生成する過程と、 前記ひずみパラメータが所定の範囲外にあるとき、選択された時間間隔におい て、各前記可変レート符号化データストリームに対して割り振 られるパケットの数を調節する過程と、 割り振られた前記パケットの調節された前記数を用いてテーブルを設置する過 程であって、 i)前記テーブル内のエントリを、A)前記複数の符号化データストリーム のなかの複数の可変レート符号化データストリームにおける1つの可変レート符 号化データストリームと、B)アイドルパケットの可変レート符号化データスト リームの1つとの何れかに割り振る過程と、 ii)前記エントリが前記可変レート符号化データストリームに割り振られ るとき、前記可変レート符号化データストリームに対するポインタを、前記エン トリに格納する過程と、 iii)前記テーブル内の各エントリに対し、i)からii)までの各前記 過程を反復する過程とを含む、 該テーブルを設置する過程と、 統計処理マルチプレクサが、次のパケットを通信チャネルへ送る可変レート符 号化データストリームを決定するのに前記テーブルを用いるように、前記テーブ ルへの切替えを行う過程とを有することを特徴とする複数の符号化データストリ ームの統計的多重化方法。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FR,GB,GR,IE,IT,LU,M C,NL,PT,SE),OA(BF,BJ,CF,CG ,CI,CM,GA,GN,ML,MR,NE,SN, TD,TG),AP(KE,MW,SD,SZ,UG), AM,AT,AU,BB,BG,BR,BY,CA,C H,CN,CZ,DE,DK,EE,ES,FI,GB ,GE,HU,IS,JP,KE,KG,KP,KR, KZ,LK,LR,LT,LU,LV,MD,MG,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,TJ,TM,TT, UA,UG,UZ

Claims (1)

  1. 【特許請求の範囲】 1.通信チャネルへのアクセスについて競合する複数のデータストリームの統計 的多重化方法であって、 a)統計処理マルチプレクサのメモリにスタティックテーブルを設置するスタ ティックテーブル設置過程であって、前記スタティックテーブルが、所定の時間 間隔内に前記通信チャネル上を伝送され得る各データ単位に対するエントリを有 し、 i)前記スタティックテーブル内のエントリを、前記複数のデータストリー ムの1つに割り振る過程と、 ii)前記エントリが、可変レートのデータストリームに割り振りされた場 合、前記エントリに所定の符号を格納する過程と、 iii)前記エントリが、固定レートのデータストリームに割り振りされた 場合、前記エントリに、前記固定レートデータストリームを特定するポインタを 格納する過程と、 iv)前記スタティックテーブル内の各エントリに対し、i)からiii) までの各前記過程を反復する過程とを有する、 該スタティックテーブル設置過程と、 b)前記通信チャネル上に次のデータ単位を送る前記複数のデータストリーム のなかから1つのデータストリームを選択するために、前記スタティックテーブ ル内の各テーブルエントリを使用する過程とを有することを特徴とする複数のデ ータストリームの統計的多重化方法。 2.ダイナミックテーブルを設置する過程であって、 i)前記ダイナミックテーブル内のエントリを、A)前記複数のデータスト リームのなかの前記可変レートデータストリームの1つと、B)アイドルデータ 単位との何れかに割り振る過程と、 ii)前記エントリが前記可変レートデータストリームに割り振ら れるとき、前記可変レートデータストリームに対するポインタを、前記エントリ に格納する過程と、 iii)前記ダイナミックテーブル内の各エントリに対し、i)からii) までの各前記過程を反復する過程とを更に有することを特徴とする請求項1に記 載の複数のデータストリームの統計的多重化方法。 3.前記スタティックテーブル内の各エントリを使用する前記過程が、 前記所定の符号を含む前記スタティックテーブルにおけるエントリを検出した とき、前記ダイナミックテーブル内のエントリにアクセスして、前記通信チャネ ル上に次のデータ単位を送る前記複数のデータストリームのなかから1つの可変 レートデータストリームを選択する過程を更に含むことを特徴とする請求項2に 記載の複数のデータストリームの統計的多重化方法。 4.所定の範囲外に質測定値パラメータを有する各前記可変レートデータストリ ームのために、前記通信チャネル上を伝送すべく割り振られるデータ単位の数を 調節する過程を更に有することを特徴とする請求項3に記載の複数のデータスト リームの統計的多重化方法。 5.前記通信チャネル上を伝送すべく割り振られるデータ単位の、調節された前 記数を用いて、第2ダイナミックテーブルを設置する過程を更に有することを特 徴とし、 前記第2ダイナミックテーブルを設置する過程が、 i)前記第2ダイナミックテーブル内のエントリを、A)前記複数のデータ ストリームのなかの前記可変レートデータストリームの1つと、B)アイドルデ ータ単位との何れかに割り振る過程と、 ii)前記エントリが前記可変レートデータストリームに割り振られるとき 、前記可変レートデータストリームに対するポインタを、前記エントリに格納す る過程と、 iii)前記第2ダイナミックテーブル内の各エントリに対し、i)からi i)までの各前記過程を反復する過程とを更に有することを特徴とする請求項4 に記載の複数のデータストリームの統計的多重化方法。 6.前記ダイナミックテーブルから前記第2ダイナミックテーブルへの切替えを 行う過程を更に有することを特徴とする請求項5に記載の複数のデータストリー ムの統計的多重化方法。 7.前記ダイナミックテーブルを設置する過程が、1つのウィンドウにつき一回 実行されることを特徴とする請求項2に記載の複数のデータストリームの統計的 多重化方法。 8.各前記可変レートデータストリームのためにデータを収集し、前記可変レー トデータストリームを特徴づけるパラメータを生成する過程を更に有することを 特徴とする請求項3に記載の複数のデータストリームの統計的多重化方法。 9.前記可変レートデータストリームを特徴づける前記パラメータを、各可変レ ートデータストリームに対して生成する過程を更に含むことを特徴とする請求項 8に記載の複数のデータストリームの統計的多重化方法。 10.前記パラメータが、ひずみ測定値を含むことを特徴とする複数のデータス トリームの統計的多重化方法。 11.所定の範囲外に質測定値パラメータを用いて、各前記可変レートデータス トリームに対して前記通信チャネル上を伝送すべく割り振られるデータ単位の数 を調節する過程を更に有することを特徴とする請求項9に記載の複数のデータス トリームの統計的多重化方法。 12.前記所定の範囲の下限が、第1ヒステリシス係数とひずみパラメータとの 積であることを特徴とする請求項11に記載の複数のデータストリームの統計的 多重化方法。 13.前記所定の範囲の上限が、第2ヒステリシス係数とひずみパラメータとの 積であることを特徴とする請求項11に記載の複数のデータストリームの統計的 多重化方法。 14.前記可変レートデータストリームのそれぞれのために前記通信チャネル上 を伝送すべく割り振られるデータ単位の、調節された前記数を用いて、第2ダイ ナミックテーブルを設置する過程を更に有することを特徴とし、 前記第2ダイナミックテーブルを設置する過程が、 i)前記第2ダイナミックテーブル内のエントリを、A)前記複数のデータ ストリームのなかの前記可変レートデータストリームの1つと、B)アイドルデ ータ単位との何れかに割り振る過程と、 ii)前記エントリが前記可変レートデータストリームに割り振られるとき 、前記可変レートデータストリームに対するポインタを、前記エントリに格納す る過程と、 iii)前記第2ダイナミックテーブル内の各エントリに対し、i)からi i)までの各前記過程を反復する過程とを更に有することを特徴とする請求項1 1に記載の複数のデータストリームの統計的多重化方法。 15.前記ダイナミックテーブルから前記第2ダイナミックテーブルへの切替え を行う過程を更に有することを特徴とする請求項14に記載の複数のデータスト リームの統計的多重化方法。 16.前記複数のデータストリームが、符号化映像データストリームを含むこと を特徴とする請求項3に記載の複数のデータストリームの統計的多重化方法。 17.通信チャネルのアクセスを共有する複数の符号化データストリームの統計 的多重化方法であって、 前記複数の符号化データストリームの1つをそれぞれ発生する各可変 レートエンコーダにレートを割り当てる過程と、 割り当てられた前記レートを用いて、所定の数のエントリを有するテーブルを 設置する過程であって、前記テーブル内の各エントリが、(i)前記複数の符号 化データストリームと、(ii)アイドルパケットの何れか一方に割り振られる 、該テーブル設置過程と、 前記通信チャネルに次のパケットを送出する符号化データストリームを、前記 複数の符号化データストリームのなかから選択すべく、前記テーブルの各テーブ ルエントリを用いる過程とを有することを特徴とする複数の符号化データストリ ームの統計的多重化方法。 18.前記レートを割り当てる過程が初期化ステップにおいて実施され、各固定 レートエンコーダに実際のレートが割り当てられ、かつ各可変レートエンコーダ に保証レートが割り当てられることを特徴とする請求項17に記載の複数の符号 化データストリームの統計的多重化方法。 19.前記初期化ステップにおいて、各可変レートエンコーダにひずみ閾値が割 り当てられること特徴とする請求項18に記載の複数の符号化データストリーム の統計的多重化方法。 20.前記テーブル設置過程が、 i)前記エントリが、可変レートの符号化データストリームに割り振りされ た場合、前記エントリに所定の符号を格納する過程と、 ii)前記エントリが、固定レートの符号化データストリームに割り振りさ れた場合、前記エントリに、前記固定レートデータストリームを特定するポイン タを格納する過程と、 iii)前記スタティックテーブル内の各エントリに対し、i)からii) までの各前記過程を反復する過程とを更に含むことを特徴とする請求項18に記 載の複数の符号化データストリームの統計的多重化方法。 21.第2テーブルを設置する過程を更に有することを特徴とし、 前記第2テーブルを設置する過程が、 i)前記第2テーブル内のエントリを、A)前記複数の符号化データストリ ームのなかの複数の可変レート符号化データストリームの1つと、B)アイドル パケットとの何れかに割り振る過程と、 ii)前記エントリが前記可変レート符号化データストリームに割り振られ るとき、前記可変レート符号化データストリームに対するポインタを、前記エン トリに格納する過程と、 iii)前記第2テーブル内の各エントリに対し、i)からii)までの各 前記過程を反復する過程とを更に有することを特徴とする請求項20に記載の複 数の符号化データストリームの統計的多重化方法。 22.前記テーブルの各テーブルエントリを用いる前記過程が、 前記所定の符号を含む前記テーブルにおけるエントリを検出したとき、前記テ ーブル内のエントリにアクセスして、前記通信チャネル上に次のデータ単位を送 る前記複数のデータストリームのなかから1つの可変レートデータストリームを 選択する過程を更に含むことを特徴とする請求項21に記載の複数の符号化デー タストリームの統計的多重化方法。 23.可変レートエンコーダからの各可変レート符号化データストリームのため にデータを収集し、前記符号化データストリームを特徴づけるひずみパラメータ を生成する過程を更に有することを特徴とする請求項21に記載の複数の符号化 データストリームの統計的多重化方法。 24.前記可変レート符号化データストリームの質を特徴づける前記ひずみパラ メータを、各可変レート符号化データストリームに対して生成する過程を更に含 むことを特徴とする請求項23に記載の複数の符号化データストリームの統計的 多重化方法。 25.前記ひずみパラメータが所定の範囲外にあるとき、前記ひずみパ ラメータ用いて、各前記可変レート符号化データストリームに対して割り振られ るパケットの数を調節する過程を更に有することを特徴とする請求項24に記載 の複数の符号化データストリームの統計的多重化方法。 26.前記所定の範囲の下限が、第1ヒステリシス係数と前記ひずみ閾値との積 であることを特徴とする請求項25に記載の複数の符号化データストリームの統 計的多重化方法。 27.前記所定の範囲の上限が、第2ヒステリシス係数と前記ひずみ閾値との積 であることを特徴とする請求項25に記載の複数の符号化データストリームの統 計的多重化方法。 28.前記通信チャネル上を伝送すべく割り振られたパケットの調節された前記 数を用いて第3テーブルを設置する過程を更に有することを特徴とし、 前記第3テーブルを設置する過程が、 i)前記第3テーブル内のエントリを、A)前記複数の符号化データストリ ームのなかの前記複数の可変レート符号化データストリームの1つと、B)アイ ドルパケットとの何れかに割り振る過程と、 ii)前記エントリが前記可変レートデータストリームに割り振られるとき 、前記可変レート符号化データストリームに対するポインタを、前記エントリに 格納する過程と、 iii)前記第3テーブル内の各エントリに対し、i)からii)までの各 前記過程を反復する過程とを更に有することを特徴とする請求項25に記載の複 数の符号化データストリームの統計的多重化方法。 29.前記第2テーブルから前記第3テーブルへの切替えを行う過程を更に有す ることを特徴とする請求項28に記載の複数の符号化データストリームの統計的 多重化方法。 30.前記複数のデータストリームが、符号化データストリームを含む ことを特徴とする請求項21に記載の複数の符号化映像データストリームの統計 的多重化方法。 31.通信チャネルのアクセスを共有する複数の符号化データストリームの統計 的多重化方法であって、 可変レートエンコーダからの各可変レート符号化データストリームのために、 前記複数の符号化データストリームにデータを収集し、前記可変レート符号化デ ータストリームを特徴づけるひずみパラメータを生成する過程と、 前記可変レート符号化データストリームの質を特徴づける前記ひずみパラメー タを、各可変レート符号化データストリームに対して生成する過程と、 前記ひずみパラメータが所定の範囲外にあるとき、選択された時間間隔におい て、各前記可変レート符号化データストリームに対して割り振られるパケットの 数を調節する過程と、 割り振られた前記パケットの調節された前記数を用いてテーブルを設置する過 程であって、 i)前記テーブル内のエントリを、A)前記複数の符号化データストリーム のなかの複数の可変レート符号化データストリームにおける1つの可変レート符 号化データストリームと、B)アイドルパケットとの何れかに割り振る過程と、 ii)前記エントリが前記可変レート符号化データストリームに割り振られ るとき、前記可変レート符号化データストリームに対するポインタを、前記エン トリに格納する過程と、 iii)前記テーブル内の各エントリに対し、i)からii)までの各前記 過程を反復する過程とを含む、 該テーブルを設置する過程と、 統計処理マルチプレクサが、次のパケットを通信チャネルへ送る可変レート符 号化データストリームを決定するのに前記テーブルを用いるように、前記テーブ ルへの切替えを行う過程とを有することを特徴とする複数の符号化データストリ ームの統計的多重化方法。
JP53037595A 1994-05-20 1995-05-19 複数のデータストリームの統計的多重化方法 Expired - Lifetime JP3233408B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US246,442 1994-05-20
US08/246,442 US5506844A (en) 1994-05-20 1994-05-20 Method for configuring a statistical multiplexer to dynamically allocate communication channel bandwidth
PCT/US1995/006136 WO1995032565A1 (en) 1994-05-20 1995-05-19 Method for dynamically allocating communication channel bandwidth between competing applications

Publications (2)

Publication Number Publication Date
JPH10500822A true JPH10500822A (ja) 1998-01-20
JP3233408B2 JP3233408B2 (ja) 2001-11-26

Family

ID=22930706

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53037595A Expired - Lifetime JP3233408B2 (ja) 1994-05-20 1995-05-19 複数のデータストリームの統計的多重化方法

Country Status (8)

Country Link
US (1) US5506844A (ja)
EP (2) EP1542383A1 (ja)
JP (1) JP3233408B2 (ja)
KR (1) KR100382690B1 (ja)
AU (1) AU2516695A (ja)
CA (1) CA2190115C (ja)
DE (1) DE69535803D1 (ja)
WO (1) WO1995032565A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001078186A (ja) * 1999-07-19 2001-03-23 General Instr Corp 統計的多重送信エンコーダ上での日和見データの実施
JP2005065268A (ja) * 2003-08-13 2005-03-10 Mitsubishi Electric Research Laboratories Inc 複数のビデオを符号化する方法
JP2007235357A (ja) * 2006-02-28 2007-09-13 Nec Corp 符号化装置および符号化ビットレート切り替え方法
JP2012521126A (ja) * 2009-03-19 2012-09-10 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ フレキシブル時分割多重化において複数の情報信号を伝送する装置および方法
JP2014187450A (ja) * 2013-03-22 2014-10-02 Hitachi Kokusai Electric Inc 光伝送装置

Families Citing this family (305)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991301A (en) 1994-05-05 1999-11-23 Sprint Communications Co. L.P. Broadband telecommunications system
US6314103B1 (en) 1994-05-05 2001-11-06 Sprint Communications Company, L.P. System and method for allocating bandwidth for a call
US6172977B1 (en) 1994-05-05 2001-01-09 Sprint Communications Company, L. P. ATM direct access line system
US5920562A (en) 1996-11-22 1999-07-06 Sprint Communications Co. L.P. Systems and methods for providing enhanced services for telecommunication call
WO1995031057A1 (en) 1994-05-05 1995-11-16 Sprint Communications Company, L.P. Method, system and apparatus for telecommunications control
US5703876A (en) * 1994-05-05 1997-12-30 Christie; Joseph Michael ATM transport system
US6031840A (en) 1995-12-07 2000-02-29 Sprint Communications Co. L.P. Telecommunications system
US6430195B1 (en) 1994-05-05 2002-08-06 Sprint Communications Company L.P. Broadband telecommunications system interface
US5926482A (en) 1994-05-05 1999-07-20 Sprint Communications Co. L.P. Telecommunications apparatus, system, and method with an enhanced signal transfer point
US6633561B2 (en) 1994-05-05 2003-10-14 Sprint Communications Company, L.P. Method, system and apparatus for telecommunications control
US6181703B1 (en) 1995-09-08 2001-01-30 Sprint Communications Company L. P. System for managing telecommunications
US6023474A (en) 1996-11-22 2000-02-08 Sprint Communications C.O.L.P. Broadband telecommunications system interface
TW374283B (en) * 1994-05-25 1999-11-11 Sony Corp A multiple coding device
US5625830A (en) * 1994-08-12 1997-04-29 International Business Machines Corp. Reduced circuit, high performance, binary select encoder network
EP0753235B1 (en) * 1994-12-28 2000-07-12 Koninklijke Philips Electronics N.V. Buffer management in variable bit-rate compression systems
US5854898A (en) 1995-02-24 1998-12-29 Apple Computer, Inc. System for automatically adding additional data stream to existing media connection between two end points upon exchange of notifying and confirmation messages therebetween
DE59608561D1 (de) * 1995-04-13 2002-02-14 Siemens Ag Verfahren und einrichtung zum speichern, suchen und abspielen von informationen eines multimedia-elektronischen-postsystems
US5751694A (en) * 1995-05-22 1998-05-12 Sony Corporation Methods and apparatus for synchronizing temporally related data streams
US5793410A (en) * 1995-05-26 1998-08-11 Hyundai Electronics America Video pedestal network
US5940738A (en) 1995-05-26 1999-08-17 Hyundai Electronics America, Inc. Video pedestal network
US5691986A (en) * 1995-06-07 1997-11-25 Hitachi America, Ltd. Methods and apparatus for the editing and insertion of data into an encoded bitstream
US5734843A (en) * 1995-06-07 1998-03-31 Advanced Micro Devices Inc. Reverse data channel as a bandwidth modulator
GB9517130D0 (en) * 1995-08-22 1995-10-25 Nat Transcommunications Ltd Statistical multiplexing
US6075768A (en) * 1995-11-09 2000-06-13 At&T Corporation Fair bandwidth sharing for video traffic sources using distributed feedback control
JPH09135263A (ja) * 1995-11-13 1997-05-20 Hitachi Ltd 通信帯域の動的割当て方法
US5862140A (en) * 1995-11-21 1999-01-19 Imedia Corporation Method and apparatus for multiplexing video programs for improved channel utilization
US5877812A (en) * 1995-11-21 1999-03-02 Imedia Corporation Method and apparatus for increasing channel utilization for digital video transmission
US5956088A (en) * 1995-11-21 1999-09-21 Imedia Corporation Method and apparatus for modifying encoded digital video for improved channel utilization
US6081529A (en) * 1995-11-22 2000-06-27 Sprint Communications Company, L. P. ATM transport system
US5686963A (en) * 1995-12-26 1997-11-11 C-Cube Microsystems Method for performing rate control in a video encoder which provides a bit budget for each frame while employing virtual buffers and virtual buffer verifiers
WO1997028622A1 (en) 1996-02-02 1997-08-07 Sprint Communications Company, L.P. Atm gateway system
US5870550A (en) * 1996-02-26 1999-02-09 Network Engineering Software Web server employing multi-homed, moldular framework
US8117298B1 (en) 1996-02-26 2012-02-14 Graphon Corporation Multi-homed web server
US5805600A (en) * 1996-03-06 1998-09-08 Adtran, Inc. Mechanism for providing full utilization of high data rate serial communication link conveying data sourced from data terminal equipment and compressed by high compression ratio data compression-protocol engine
US6041345A (en) * 1996-03-08 2000-03-21 Microsoft Corporation Active stream format for holding multiple media streams
US5864678A (en) * 1996-05-08 1999-01-26 Apple Computer, Inc. System for detecting and reporting data flow imbalance between computers using grab rate outflow rate arrival rate and play rate
US5940393A (en) 1996-05-28 1999-08-17 Sprint Communications Co. L.P. Telecommunications system with a connection processing system
US6101542A (en) * 1996-07-19 2000-08-08 Hitachi, Ltd. Service management method and connection oriented network system using such management method
JP3216534B2 (ja) 1996-08-29 2001-10-09 三菱電機株式会社 多重化方法
US5805595A (en) * 1996-10-23 1998-09-08 Cisco Systems, Inc. System and method for communicating packetized data over a channel bank
EP0841820A3 (en) 1996-11-08 2005-11-09 Matsushita Electric Industrial Co., Ltd. Method and apparatus for encoding, multiplexing and transmitting a video signal
US6212208B1 (en) * 1996-11-11 2001-04-03 Matsushita Electric Industrial Co., Ltd. Method for coding and multiplexing multimedia data, apparatus for coding and multiplexing multimedia data, record media containing program for coding and multiplexing multimedia data
US6253247B1 (en) * 1996-11-21 2001-06-26 Ragula Systems System and method for transmitting a user's data packets concurrently over different telephone lines between two computer networks
US6014378A (en) 1996-11-22 2000-01-11 Sprint Communications Company, L.P. Telecommunications tandem system for circuit-based traffic
US6115380A (en) 1996-11-22 2000-09-05 Sprint Communications Co., L.P. Broadband telecommunications system
US6002689A (en) 1996-11-22 1999-12-14 Sprint Communications Co. L.P. System and method for interfacing a local communication device
BR9713283A (pt) 1996-11-22 1999-10-26 Sprint Communications Co Sistema e método para o transporte de uma chamada em uma rede de telecomunicações
EP0888009B1 (en) * 1996-12-12 2006-02-22 Sony Corporation Device and method for encoding image data, and image data transmission method
WO1998032252A1 (en) * 1997-01-21 1998-07-23 Sony Corporation Coded signal transmission method and device
US6091455A (en) * 1997-01-31 2000-07-18 Hughes Electronics Corporation Statistical multiplexer for recording video
US6097435A (en) * 1997-01-31 2000-08-01 Hughes Electronics Corporation Video system with selectable bit rate reduction
US6078958A (en) * 1997-01-31 2000-06-20 Hughes Electronics Corporation System for allocating available bandwidth of a concentrated media output
US6005620A (en) * 1997-01-31 1999-12-21 Hughes Electronics Corporation Statistical multiplexer for live and pre-compressed video
US6188436B1 (en) 1997-01-31 2001-02-13 Hughes Electronics Corporation Video broadcast system with video data shifting
US6084910A (en) * 1997-01-31 2000-07-04 Hughes Electronics Corporation Statistical multiplexer for video signals
US6404776B1 (en) * 1997-03-13 2002-06-11 8 × 8, Inc. Data processor having controlled scalable input data source and method thereof
US6052384A (en) * 1997-03-21 2000-04-18 Scientific-Atlanta, Inc. Using a receiver model to multiplex variable-rate bit streams having timing constraints
US6418122B1 (en) * 1997-03-21 2002-07-09 Scientific-Atlanta, Inc. Method and apparatus for assuring sufficient bandwidth of a statistical multiplexer
US6067299A (en) 1997-04-16 2000-05-23 Sprint Communications Company, L.P. Communications system for providing ATM connections and echo cancellation
US5996013A (en) * 1997-04-30 1999-11-30 International Business Machines Corporation Method and apparatus for resource allocation with guarantees
US6704327B1 (en) 1997-05-09 2004-03-09 Sprint Communications Company, L.P. System and method for connecting a call
US6137800A (en) 1997-05-09 2000-10-24 Sprint Communications Company, L. P. System and method for connecting a call
US6178170B1 (en) 1997-05-13 2001-01-23 Sprint Communications Company, L. P. System and method for transporting a call
US6137779A (en) * 1997-05-22 2000-10-24 Integrated Device Technology, Inc. Transmission rate calculation scheme using table-lookup
US7113523B1 (en) * 1997-06-11 2006-09-26 Sony Corporation Data multiplexing device, program distribution system, program transmission system, pay broadcast system, program transmission method, conditional access system, and data reception device
CA2264392A1 (en) * 1997-07-01 1999-01-14 Sony Corporation Device and method for controlling image encoding, encoding system, transmission system and broadcast system
US6407998B1 (en) 1997-10-02 2002-06-18 Thomson Licensing S.A. Multimedia decoder for prioritized bi-directional communication in a broadcast system
GB9721947D0 (en) 1997-10-16 1997-12-17 Thomson Consumer Electronics Intelligent IP packet scheduler algorithm
US6240094B1 (en) * 1997-12-22 2001-05-29 Bell Atlantic Network Services, Inc. Statistical time division multiplexer for a wireless asymmetric local loop communication system
US6192032B1 (en) 1998-01-02 2001-02-20 International Business Machines Corporation Rate attenuation systems, methods and computer program products for reducing low priority video frame packets transmitted over a network
US7079534B1 (en) 1998-02-20 2006-07-18 Sprint Communications Company L.P. System and method for allocating bandwidth for a call
US6563918B1 (en) 1998-02-20 2003-05-13 Sprint Communications Company, LP Telecommunications system architecture for connecting a call
US6574222B1 (en) 1998-02-20 2003-06-03 Sprint Communications Company, L.P. System and method for allocating bandwidth for a call
US6922409B1 (en) 1998-02-20 2005-07-26 Sprint Communications Company L.P. System and method for allocating bandwidth for a call
US6483837B1 (en) 1998-02-20 2002-11-19 Sprint Communications Company L.P. System and method for connecting a call with an interworking system
US6470019B1 (en) 1998-02-20 2002-10-22 Sprint Communications Company L.P. System and method for treating a call for call processing
US6160871A (en) 1998-04-10 2000-12-12 Sprint Communications Company, L.P. Communications test system
US6249519B1 (en) * 1998-04-16 2001-06-19 Mantra Communications Flow based circuit steering in ATM networks
US6259733B1 (en) * 1998-06-16 2001-07-10 General Instrument Corporation Pre-processing of bit rate allocation in a multi-channel video encoder
IL125310A (en) * 1998-07-12 2002-02-10 Eci Telecom Ltd Method and system for managing varying traffic load in telecommunication network
US6959451B1 (en) * 1998-08-21 2005-10-25 Intel Corporation Transmission communications management
US6167084A (en) * 1998-08-27 2000-12-26 Motorola, Inc. Dynamic bit allocation for statistical multiplexing of compressed and uncompressed digital video signals
GB2341745A (en) * 1998-09-10 2000-03-22 Snell & Wilcox Ltd Image encoding
US6421720B2 (en) * 1998-10-28 2002-07-16 Cisco Technology, Inc. Codec-independent technique for modulating bandwidth in packet network
US6624761B2 (en) 1998-12-11 2003-09-23 Realtime Data, Llc Content independent data compression method and system
US6665872B1 (en) * 1999-01-06 2003-12-16 Sarnoff Corporation Latency-based statistical multiplexing
US6754241B1 (en) * 1999-01-06 2004-06-22 Sarnoff Corporation Computer system for statistical multiplexing of bitstreams
WO2000041397A1 (en) * 1999-01-06 2000-07-13 Sarnoff Corporation Computer system for statistical multiplexing of bitstreams
FI106998B (fi) * 1999-01-15 2001-05-15 Nokia Mobile Phones Ltd Bittinopeuden ohjaus multimedialaitteessa
US6490298B1 (en) 1999-02-26 2002-12-03 Harmonic Inc. Apparatus and methods of multiplexing data to a communication channel
JP2000261459A (ja) * 1999-03-10 2000-09-22 Nec Corp 統計多重伝送方式
US6604158B1 (en) 1999-03-11 2003-08-05 Realtime Data, Llc System and methods for accelerated data storage and retrieval
US6601104B1 (en) * 1999-03-11 2003-07-29 Realtime Data Llc System and methods for accelerated data storage and retrieval
US6868081B1 (en) * 1999-04-13 2005-03-15 Sprint Communications Company L.P. Method and apparatus for simultaneous multiline phone and data services over a single access facility
US7103068B1 (en) 1999-05-04 2006-09-05 Sprint Communication Company L.P. System and method for configuring bandwidth transmission rates for call connections
US6781956B1 (en) 1999-09-17 2004-08-24 Cisco Technology, Inc. System and method for prioritizing packetized data from a distributed control environment for transmission through a high bandwidth link
FR2800960A1 (fr) * 1999-11-05 2001-05-11 Thomson Multimedia Sa Procede et dispositif d'allocation de bande passante a des flux de donnees dans un reseau de diffusion
US7564873B1 (en) * 1999-12-10 2009-07-21 Cox Communications, Inc. Method and apparatus for providing in-band messaging within a video on demand environment
US6944186B2 (en) * 1999-12-14 2005-09-13 General Instrument Corporation MPEG re-multiplexer having multiple inputs and multiple outputs
US6856613B1 (en) * 1999-12-30 2005-02-15 Cisco Technology, Inc. Method and apparatus for throttling audio packets according to gateway processing capacity
US6748457B2 (en) 2000-02-03 2004-06-08 Realtime Data, Llc Data storewidth accelerator
US20030191876A1 (en) 2000-02-03 2003-10-09 Fallon James J. Data storewidth accelerator
US7050496B2 (en) * 2000-02-15 2006-05-23 4Nsys Co., Ltd. Multi-channel image encoding method and system
GB2361132B (en) * 2000-04-07 2004-09-08 Snell & Wilcox Ltd Multiplexing compressed signals
US6493388B1 (en) 2000-04-19 2002-12-10 General Instrument Corporation Rate control and buffer protection for variable bit rate video programs over a constant rate channel
US6643327B1 (en) 2000-05-05 2003-11-04 General Instrument Corporation Statistical multiplexer and remultiplexer that accommodates changes in structure of group of pictures
US6731605B1 (en) 2000-06-19 2004-05-04 Sharp Laboratories Of America, Inc. Prioritized optimal server side bandwidth allocation in a multimedia session with push and pull sources
JP4441839B2 (ja) * 2000-08-17 2010-03-31 ソニー株式会社 統計多重システム、統計多重制御装置および統計多重方法
US9143546B2 (en) 2000-10-03 2015-09-22 Realtime Data Llc System and method for data feed acceleration and encryption
US7417568B2 (en) * 2000-10-03 2008-08-26 Realtime Data Llc System and method for data feed acceleration and encryption
US8692695B2 (en) 2000-10-03 2014-04-08 Realtime Data, Llc Methods for encoding and decoding data
US20020104058A1 (en) * 2000-12-06 2002-08-01 Yigal Rappaport Packet switched network having error correction capabilities of variable size data packets and a method thereof
US6594316B2 (en) 2000-12-12 2003-07-15 Scientific-Atlanta, Inc. Method and apparatus for adaptive bit rate control in an asynchronized encoding system
US6987728B2 (en) 2001-01-23 2006-01-17 Sharp Laboratories Of America, Inc. Bandwidth allocation system
US7386046B2 (en) 2001-02-13 2008-06-10 Realtime Data Llc Bandwidth sensitive data compression and decompression
US20040131116A1 (en) * 2001-03-29 2004-07-08 Akira Sugiyama Image processing apparatus, image processing method, image processing program, and recording medium
JP4591939B2 (ja) * 2001-05-15 2010-12-01 Kddi株式会社 適応的符号化伝送装置および受信装置
US6937619B1 (en) * 2001-05-29 2005-08-30 Bigband Networks, Inc. Method and system for comparison-based prioritized bit rate conversion
US7058087B1 (en) 2001-05-29 2006-06-06 Bigband Networks, Inc. Method and system for prioritized bit rate conversion
US7072393B2 (en) 2001-06-25 2006-07-04 International Business Machines Corporation Multiple parallel encoders and statistical analysis thereof for encoding a video sequence
US20030007516A1 (en) * 2001-07-06 2003-01-09 Yuri Abramov System and method for the application of a statistical multiplexing algorithm for video encoding
US7385970B1 (en) * 2001-12-07 2008-06-10 Redback Networks, Inc. Method and apparatus for balancing bandwidth among multiple ports of a network element
US7301906B2 (en) 2001-12-17 2007-11-27 Lsi Corporation Methods and structures for improved buffer management and dynamic adaption of flow control status in high-speed communication networks
US7376159B1 (en) * 2002-01-03 2008-05-20 The Directv Group, Inc. Exploitation of null packets in packetized digital television systems
US20030156639A1 (en) * 2002-02-19 2003-08-21 Jui Liang Frame rate control system and method
EP1376383A3 (de) 2002-03-23 2005-05-25 Uwe Noll Verfahren zur Verarbeitung von Ein- und Ausgaben für statistische Analysen und Verfahren zur Bereinigung von Redundanzen
US7936814B2 (en) * 2002-03-28 2011-05-03 International Business Machines Corporation Cascaded output for an encoder system using multiple encoders
US7286473B1 (en) 2002-07-10 2007-10-23 The Directv Group, Inc. Null packet replacement with bi-level scheduling
US8893207B2 (en) * 2002-12-10 2014-11-18 Ol2, Inc. System and method for compressing streaming interactive video
US7352809B2 (en) * 2003-02-21 2008-04-01 Polycom, Inc. System and method for optimal transmission of a multitude of video pictures to one or more destinations
US7647221B2 (en) * 2003-04-30 2010-01-12 The Directv Group, Inc. Audio level control for compressed audio
US7397774B1 (en) 2003-05-23 2008-07-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Downlink data multiplexer
FR2857205B1 (fr) * 2003-07-04 2005-09-23 Nextream France Dispositif et procede de codage de donnees video
US7912226B1 (en) 2003-09-12 2011-03-22 The Directv Group, Inc. Automatic measurement of audio presence and level by direct processing of an MPEG data stream
JP2007507183A (ja) * 2003-09-24 2007-03-22 テキサス インスツルメンツ インコーポレイテッド 8×8変換及び量子化
KR20050050322A (ko) * 2003-11-25 2005-05-31 삼성전자주식회사 직교주파수다중화방식의 이동통신시스템에서 적응변조 방법
US20050208949A1 (en) * 2004-02-12 2005-09-22 Chiueh Tzi-Cker Centralized channel assignment and routing algorithms for multi-channel wireless mesh networks
IL160921A (en) * 2004-03-18 2009-09-01 Veraz Networks Ltd Method and device for quality management in communication networks
US7526001B2 (en) * 2004-07-26 2009-04-28 General Instrument Corporation Statistical multiplexer having protective features from extraneous messages generated by redundant system elements
US7778327B2 (en) * 2005-02-08 2010-08-17 Texas Instruments Incorporated H.264 quantization
US8768084B2 (en) * 2005-03-01 2014-07-01 Qualcomm Incorporated Region-of-interest coding in video telephony using RHO domain bit allocation
US7724972B2 (en) 2005-03-01 2010-05-25 Qualcomm Incorporated Quality metric-biased region-of-interest coding for video telephony
US8693537B2 (en) * 2005-03-01 2014-04-08 Qualcomm Incorporated Region-of-interest coding with background skipping for video telephony
US9667980B2 (en) * 2005-03-01 2017-05-30 Qualcomm Incorporated Content-adaptive background skipping for region-of-interest video coding
KR101307323B1 (ko) * 2005-03-02 2013-09-10 로오데운트쉬바르츠게엠베하운트콤파니카게 동기 잔류측파대 프레임 슬라이싱을 이용한 atsc네트워크의 인핸스먼트 제공을 위한 장치, 그 시스템, 및그 방법
US20070036177A1 (en) * 2005-08-12 2007-02-15 Sarnoff Corporation Method and apparatus for managing delivery of video over a digital subscriber line
US7877517B2 (en) * 2005-11-09 2011-01-25 International Business Machines Corporation Determining whether to compress data transmitted over a network
US7839948B2 (en) * 2005-12-02 2010-11-23 Qualcomm Incorporated Time slicing techniques for variable data rate encoding
US20080101405A1 (en) * 2006-10-26 2008-05-01 General Instrument Corporation Method and Apparatus for Dynamic Bandwidth Allocation of Video Over a Digital Subscriber Line
DE102007001379A1 (de) * 2007-01-09 2008-07-10 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Konzept zum Encodieren einer Mehrzahl von Informationssignalen für eine gemeinsame Übertragung in einem Zeitmultiplex
EP2115911B1 (en) 2007-02-01 2018-01-24 Rohde & Schwarz GmbH & Co. KG Improvement of synchronisation at the emission of atsc (advanced television systems committee) data packets
US8582647B2 (en) 2007-04-23 2013-11-12 Qualcomm Incorporated Methods and systems for quality controlled encoding
DE102008017290A1 (de) * 2007-12-11 2009-06-18 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur Bildung eines gemeinsamen Datenstroms insbesondere nach dem ATSC-Standard
DE102007059959B4 (de) * 2007-12-12 2020-01-02 Rohde & Schwarz Gmbh & Co. Kg Verfahren und System zur Übertragung von Daten zwischen einer zentralen Rundfunkstation und mindestens einem Sender
US8141120B2 (en) * 2008-01-03 2012-03-20 Nec Laboratories America, Inc. Adaptive scheduling of streaming video over wireless networks
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8355458B2 (en) * 2008-06-25 2013-01-15 Rohde & Schwarz Gmbh & Co. Kg Apparatus, systems, methods and computer program products for producing a single frequency network for ATSC mobile / handheld services
DE102008056703A1 (de) 2008-07-04 2010-01-07 Rohde & Schwarz Gmbh & Co. Kg Verfahren und System zur Zeitsynchronisierung zwischen einer Zentrale und mehreren Sendern
DE102008059028B4 (de) * 2008-10-02 2021-12-02 Rohde & Schwarz GmbH & Co. Kommanditgesellschaft Verfahren und Vorrichtung zur Erzeugung eines Transportdatenstroms mit Bilddaten
CA2731958C (en) * 2008-11-06 2016-10-04 Rohde & Schwarz Gmbh & Co. Kg Method and system for synchronized mapping of data packets in an atsc data stream
EP2234357B1 (en) 2009-03-21 2016-07-27 Rohde & Schwarz GmbH & Co. KG Method for improving the data rate of mobile data and the quality of channel estimation in an ATSC-M/H transport data stream
DE102009025219A1 (de) * 2009-04-07 2010-10-14 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur kontinuierlichen Anpassung von Kodierungsparametern an eine veränderliche Nutzdatenrate
DE102009057363B4 (de) * 2009-10-16 2013-04-18 Rohde & Schwarz Gmbh & Co. Kg Verfahren und Vorrichtung zur effizienten Übertragung von überregional und regional auszustrahlenden Programm-und Servicedaten
US8923293B2 (en) 2009-10-21 2014-12-30 Palo Alto Research Center Incorporated Adaptive multi-interface use for content networking
US8630412B2 (en) 2010-08-25 2014-01-14 Motorola Mobility Llc Transport of partially encrypted media
US9118939B2 (en) * 2010-12-20 2015-08-25 Arris Technology, Inc. SVC-to-AVC rewriter with open-loop statistical multiplexer
US8989021B2 (en) 2011-01-20 2015-03-24 Rohde & Schwarz Gmbh & Co. Kg Universal broadband broadcasting
CN103583023B (zh) * 2011-05-31 2016-12-07 日本电气株式会社 无线传输设备、无线传输系统以及用于控制无线传输设备的方法
US9729120B1 (en) 2011-07-13 2017-08-08 The Directv Group, Inc. System and method to monitor audio loudness and provide audio automatic gain control
US9280546B2 (en) 2012-10-31 2016-03-08 Palo Alto Research Center Incorporated System and method for accessing digital content using a location-independent name
US9400800B2 (en) 2012-11-19 2016-07-26 Palo Alto Research Center Incorporated Data transport by named content synchronization
US10430839B2 (en) 2012-12-12 2019-10-01 Cisco Technology, Inc. Distributed advertisement insertion in content-centric networks
US10062142B2 (en) * 2012-12-31 2018-08-28 Nvidia Corporation Stutter buffer transfer techniques for display systems
DE102013002648B3 (de) * 2013-02-15 2014-05-22 Audi Ag Master-Busgerät für einen Fahrzeugkommunikationsbus eines Kraftwagens
US9978025B2 (en) 2013-03-20 2018-05-22 Cisco Technology, Inc. Ordered-element naming for name-based packet forwarding
US9935791B2 (en) 2013-05-20 2018-04-03 Cisco Technology, Inc. Method and system for name resolution across heterogeneous architectures
US9444722B2 (en) 2013-08-01 2016-09-13 Palo Alto Research Center Incorporated Method and apparatus for configuring routing paths in a custodian-based routing architecture
US9407549B2 (en) 2013-10-29 2016-08-02 Palo Alto Research Center Incorporated System and method for hash-based forwarding of packets with hierarchically structured variable-length identifiers
US9276840B2 (en) * 2013-10-30 2016-03-01 Palo Alto Research Center Incorporated Interest messages with a payload for a named data network
US9401864B2 (en) 2013-10-31 2016-07-26 Palo Alto Research Center Incorporated Express header for packets with hierarchically structured variable-length identifiers
US9311377B2 (en) 2013-11-13 2016-04-12 Palo Alto Research Center Incorporated Method and apparatus for performing server handoff in a name-based content distribution system
US10129365B2 (en) 2013-11-13 2018-11-13 Cisco Technology, Inc. Method and apparatus for pre-fetching remote content based on static and dynamic recommendations
US10101801B2 (en) 2013-11-13 2018-10-16 Cisco Technology, Inc. Method and apparatus for prefetching content in a data stream
US10089655B2 (en) 2013-11-27 2018-10-02 Cisco Technology, Inc. Method and apparatus for scalable data broadcasting
US9503358B2 (en) 2013-12-05 2016-11-22 Palo Alto Research Center Incorporated Distance-based routing in an information-centric network
US9379979B2 (en) 2014-01-14 2016-06-28 Palo Alto Research Center Incorporated Method and apparatus for establishing a virtual interface for a set of mutual-listener devices
US10172068B2 (en) 2014-01-22 2019-01-01 Cisco Technology, Inc. Service-oriented routing in software-defined MANETs
US10098051B2 (en) 2014-01-22 2018-10-09 Cisco Technology, Inc. Gateways and routing in software-defined manets
US9374304B2 (en) 2014-01-24 2016-06-21 Palo Alto Research Center Incorporated End-to end route tracing over a named-data network
US9954678B2 (en) 2014-02-06 2018-04-24 Cisco Technology, Inc. Content-based transport security
US9678998B2 (en) 2014-02-28 2017-06-13 Cisco Technology, Inc. Content name resolution for information centric networking
US10089651B2 (en) 2014-03-03 2018-10-02 Cisco Technology, Inc. Method and apparatus for streaming advertisements in a scalable data broadcasting system
US9836540B2 (en) 2014-03-04 2017-12-05 Cisco Technology, Inc. System and method for direct storage access in a content-centric network
US9473405B2 (en) 2014-03-10 2016-10-18 Palo Alto Research Center Incorporated Concurrent hashes and sub-hashes on data streams
US9391896B2 (en) 2014-03-10 2016-07-12 Palo Alto Research Center Incorporated System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
US9626413B2 (en) 2014-03-10 2017-04-18 Cisco Systems, Inc. System and method for ranking content popularity in a content-centric network
US9407432B2 (en) 2014-03-19 2016-08-02 Palo Alto Research Center Incorporated System and method for efficient and secure distribution of digital content
US9916601B2 (en) 2014-03-21 2018-03-13 Cisco Technology, Inc. Marketplace for presenting advertisements in a scalable data broadcasting system
US9363179B2 (en) 2014-03-26 2016-06-07 Palo Alto Research Center Incorporated Multi-publisher routing protocol for named data networks
US9363086B2 (en) 2014-03-31 2016-06-07 Palo Alto Research Center Incorporated Aggregate signing of data in content centric networking
US9716622B2 (en) 2014-04-01 2017-07-25 Cisco Technology, Inc. System and method for dynamic name configuration in content-centric networks
US10075521B2 (en) 2014-04-07 2018-09-11 Cisco Technology, Inc. Collection synchronization using equality matched network names
US9390289B2 (en) 2014-04-07 2016-07-12 Palo Alto Research Center Incorporated Secure collection synchronization using matched network names
US9451032B2 (en) 2014-04-10 2016-09-20 Palo Alto Research Center Incorporated System and method for simple service discovery in content-centric networks
US9992281B2 (en) 2014-05-01 2018-06-05 Cisco Technology, Inc. Accountable content stores for information centric networks
US9609014B2 (en) 2014-05-22 2017-03-28 Cisco Systems, Inc. Method and apparatus for preventing insertion of malicious content at a named data network router
US9455835B2 (en) 2014-05-23 2016-09-27 Palo Alto Research Center Incorporated System and method for circular link resolution with hash-based names in content-centric networks
US9276751B2 (en) 2014-05-28 2016-03-01 Palo Alto Research Center Incorporated System and method for circular link resolution with computable hash-based names in content-centric networks
US9537719B2 (en) 2014-06-19 2017-01-03 Palo Alto Research Center Incorporated Method and apparatus for deploying a minimal-cost CCN topology
US9516144B2 (en) 2014-06-19 2016-12-06 Palo Alto Research Center Incorporated Cut-through forwarding of CCNx message fragments with IP encapsulation
US9426113B2 (en) 2014-06-30 2016-08-23 Palo Alto Research Center Incorporated System and method for managing devices over a content centric network
US9699198B2 (en) 2014-07-07 2017-07-04 Cisco Technology, Inc. System and method for parallel secure content bootstrapping in content-centric networks
US9621354B2 (en) 2014-07-17 2017-04-11 Cisco Systems, Inc. Reconstructable content objects
US9959156B2 (en) 2014-07-17 2018-05-01 Cisco Technology, Inc. Interest return control message
US9729616B2 (en) 2014-07-18 2017-08-08 Cisco Technology, Inc. Reputation-based strategy for forwarding and responding to interests over a content centric network
US9590887B2 (en) 2014-07-18 2017-03-07 Cisco Systems, Inc. Method and system for keeping interest alive in a content centric network
US9535968B2 (en) 2014-07-21 2017-01-03 Palo Alto Research Center Incorporated System for distributing nameless objects using self-certifying names
US9882964B2 (en) 2014-08-08 2018-01-30 Cisco Technology, Inc. Explicit strategy feedback in name-based forwarding
US9729662B2 (en) 2014-08-11 2017-08-08 Cisco Technology, Inc. Probabilistic lazy-forwarding technique without validation in a content centric network
US9503365B2 (en) 2014-08-11 2016-11-22 Palo Alto Research Center Incorporated Reputation-based instruction processing over an information centric network
US9391777B2 (en) 2014-08-15 2016-07-12 Palo Alto Research Center Incorporated System and method for performing key resolution over a content centric network
US9467492B2 (en) 2014-08-19 2016-10-11 Palo Alto Research Center Incorporated System and method for reconstructable all-in-one content stream
US9800637B2 (en) 2014-08-19 2017-10-24 Cisco Technology, Inc. System and method for all-in-one content stream in content-centric networks
US9497282B2 (en) 2014-08-27 2016-11-15 Palo Alto Research Center Incorporated Network coding for content-centric network
US10204013B2 (en) 2014-09-03 2019-02-12 Cisco Technology, Inc. System and method for maintaining a distributed and fault-tolerant state over an information centric network
US9553812B2 (en) 2014-09-09 2017-01-24 Palo Alto Research Center Incorporated Interest keep alives at intermediate routers in a CCN
US10069933B2 (en) 2014-10-23 2018-09-04 Cisco Technology, Inc. System and method for creating virtual interfaces based on network characteristics
US9536059B2 (en) 2014-12-15 2017-01-03 Palo Alto Research Center Incorporated Method and system for verifying renamed content using manifests in a content centric network
US9590948B2 (en) 2014-12-15 2017-03-07 Cisco Systems, Inc. CCN routing using hardware-assisted hash tables
US10237189B2 (en) 2014-12-16 2019-03-19 Cisco Technology, Inc. System and method for distance-based interest forwarding
US9846881B2 (en) 2014-12-19 2017-12-19 Palo Alto Research Center Incorporated Frugal user engagement help systems
US10003520B2 (en) 2014-12-22 2018-06-19 Cisco Technology, Inc. System and method for efficient name-based content routing using link-state information in information-centric networks
US9473475B2 (en) 2014-12-22 2016-10-18 Palo Alto Research Center Incorporated Low-cost authenticated signing delegation in content centric networking
US9660825B2 (en) 2014-12-24 2017-05-23 Cisco Technology, Inc. System and method for multi-source multicasting in content-centric networks
US9946743B2 (en) 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9954795B2 (en) 2015-01-12 2018-04-24 Cisco Technology, Inc. Resource allocation using CCN manifests
US9832291B2 (en) 2015-01-12 2017-11-28 Cisco Technology, Inc. Auto-configurable transport stack
US9916457B2 (en) 2015-01-12 2018-03-13 Cisco Technology, Inc. Decoupled name security binding for CCN objects
US9602596B2 (en) 2015-01-12 2017-03-21 Cisco Systems, Inc. Peer-to-peer sharing in a content centric network
US9462006B2 (en) 2015-01-21 2016-10-04 Palo Alto Research Center Incorporated Network-layer application-specific trust model
US9552493B2 (en) 2015-02-03 2017-01-24 Palo Alto Research Center Incorporated Access control framework for information centric networking
US10333840B2 (en) 2015-02-06 2019-06-25 Cisco Technology, Inc. System and method for on-demand content exchange with adaptive naming in information-centric networks
US10075401B2 (en) 2015-03-18 2018-09-11 Cisco Technology, Inc. Pending interest table behavior
US10116605B2 (en) 2015-06-22 2018-10-30 Cisco Technology, Inc. Transport stack name scheme and identity management
US10075402B2 (en) 2015-06-24 2018-09-11 Cisco Technology, Inc. Flexible command and control in content centric networks
US10701038B2 (en) 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US9986034B2 (en) 2015-08-03 2018-05-29 Cisco Technology, Inc. Transferring state in content centric network stacks
US10610144B2 (en) 2015-08-19 2020-04-07 Palo Alto Research Center Incorporated Interactive remote patient monitoring and condition management intervention system
US9832123B2 (en) 2015-09-11 2017-11-28 Cisco Technology, Inc. Network named fragments in a content centric network
US9888052B2 (en) 2015-09-21 2018-02-06 Imagine Communications Corp. ABR allocation for statistical multiplexing
US10355999B2 (en) 2015-09-23 2019-07-16 Cisco Technology, Inc. Flow control with network named fragments
US9977809B2 (en) 2015-09-24 2018-05-22 Cisco Technology, Inc. Information and data framework in a content centric network
US10313227B2 (en) 2015-09-24 2019-06-04 Cisco Technology, Inc. System and method for eliminating undetected interest looping in information-centric networks
US10454820B2 (en) 2015-09-29 2019-10-22 Cisco Technology, Inc. System and method for stateless information-centric networking
US10263965B2 (en) 2015-10-16 2019-04-16 Cisco Technology, Inc. Encrypted CCNx
US9794238B2 (en) 2015-10-29 2017-10-17 Cisco Technology, Inc. System for key exchange in a content centric network
US10009446B2 (en) 2015-11-02 2018-06-26 Cisco Technology, Inc. Header compression for CCN messages using dictionary learning
US9807205B2 (en) 2015-11-02 2017-10-31 Cisco Technology, Inc. Header compression for CCN messages using dictionary
US10021222B2 (en) 2015-11-04 2018-07-10 Cisco Technology, Inc. Bit-aligned header compression for CCN messages using dictionary
GB2544296B (en) * 2015-11-11 2020-06-03 Canon Kk Method and apparatus for serving and managing storage of data streams in a surveillance and/or monitoring system
US10097521B2 (en) 2015-11-20 2018-10-09 Cisco Technology, Inc. Transparent encryption in a content centric network
US9912776B2 (en) 2015-12-02 2018-03-06 Cisco Technology, Inc. Explicit content deletion commands in a content centric network
US10097346B2 (en) 2015-12-09 2018-10-09 Cisco Technology, Inc. Key catalogs in a content centric network
US10078062B2 (en) 2015-12-15 2018-09-18 Palo Alto Research Center Incorporated Device health estimation by combining contextual information with sensor data
US10257271B2 (en) 2016-01-11 2019-04-09 Cisco Technology, Inc. Chandra-Toueg consensus in a content centric network
US9949301B2 (en) 2016-01-20 2018-04-17 Palo Alto Research Center Incorporated Methods for fast, secure and privacy-friendly internet connection discovery in wireless networks
US10305864B2 (en) 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network
US10043016B2 (en) 2016-02-29 2018-08-07 Cisco Technology, Inc. Method and system for name encryption agreement in a content centric network
US10038633B2 (en) 2016-03-04 2018-07-31 Cisco Technology, Inc. Protocol to query for historical network information in a content centric network
US10051071B2 (en) 2016-03-04 2018-08-14 Cisco Technology, Inc. Method and system for collecting historical network information in a content centric network
US10742596B2 (en) 2016-03-04 2020-08-11 Cisco Technology, Inc. Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10003507B2 (en) 2016-03-04 2018-06-19 Cisco Technology, Inc. Transport session state protocol
US9832116B2 (en) 2016-03-14 2017-11-28 Cisco Technology, Inc. Adjusting entries in a forwarding information base in a content centric network
US10212196B2 (en) 2016-03-16 2019-02-19 Cisco Technology, Inc. Interface discovery and authentication in a name-based network
US10067948B2 (en) 2016-03-18 2018-09-04 Cisco Technology, Inc. Data deduping in content centric networking manifests
US11436656B2 (en) 2016-03-18 2022-09-06 Palo Alto Research Center Incorporated System and method for a real-time egocentric collaborative filter on large datasets
US10091330B2 (en) 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
US10033639B2 (en) 2016-03-25 2018-07-24 Cisco Technology, Inc. System and method for routing packets in a content centric network using anonymous datagrams
US10320760B2 (en) 2016-04-01 2019-06-11 Cisco Technology, Inc. Method and system for mutating and caching content in a content centric network
US9930146B2 (en) 2016-04-04 2018-03-27 Cisco Technology, Inc. System and method for compressing content centric networking messages
US10425503B2 (en) 2016-04-07 2019-09-24 Cisco Technology, Inc. Shared pending interest table in a content centric network
US10027578B2 (en) 2016-04-11 2018-07-17 Cisco Technology, Inc. Method and system for routable prefix queries in a content centric network
US10404450B2 (en) 2016-05-02 2019-09-03 Cisco Technology, Inc. Schematized access control in a content centric network
US10320675B2 (en) 2016-05-04 2019-06-11 Cisco Technology, Inc. System and method for routing packets in a stateless content centric network
US10547589B2 (en) 2016-05-09 2020-01-28 Cisco Technology, Inc. System for implementing a small computer systems interface protocol over a content centric network
US10063414B2 (en) 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
US10084764B2 (en) 2016-05-13 2018-09-25 Cisco Technology, Inc. System for a secure encryption proxy in a content centric network
US10103989B2 (en) 2016-06-13 2018-10-16 Cisco Technology, Inc. Content object return messages in a content centric network
US10305865B2 (en) 2016-06-21 2019-05-28 Cisco Technology, Inc. Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en) 2016-06-27 2018-12-04 Cisco Technology, Inc. Method and system for interest groups in a content centric network
US10009266B2 (en) 2016-07-05 2018-06-26 Cisco Technology, Inc. Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en) 2016-07-11 2018-06-05 Cisco Technology, Inc. System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en) 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en) 2016-08-08 2018-09-04 Cisco Technology, Inc. System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en) 2016-08-09 2021-03-23 Cisco Technology, Inc. Method and system for conjunctive normal form attribute matching in a content centric network
US10033642B2 (en) 2016-09-19 2018-07-24 Cisco Technology, Inc. System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en) 2016-10-03 2019-02-19 Cisco Technology, Inc. Cache management on high availability routers in a content centric network
US10447805B2 (en) 2016-10-10 2019-10-15 Cisco Technology, Inc. Distributed consensus in a content centric network
US10135948B2 (en) 2016-10-31 2018-11-20 Cisco Technology, Inc. System and method for process migration in a content centric network
US10243851B2 (en) 2016-11-21 2019-03-26 Cisco Technology, Inc. System and method for forwarder connection information in a content centric network
CA3106617C (en) * 2017-04-21 2023-11-07 Zenimax Media Inc. Systems and methods for rendering & pre-encoded load estimation based encoder hinting
US10225211B2 (en) 2017-07-20 2019-03-05 Arris Enterprises Llc Statistical multiplexer with service priority weighting
US10608943B2 (en) * 2017-10-27 2020-03-31 Advanced Micro Devices, Inc. Dynamic buffer management in multi-client token flow control routers
GB2570324A (en) * 2018-01-19 2019-07-24 V Nova Int Ltd Multi-codec processing and rate control
AU2020208640A1 (en) * 2019-01-17 2021-08-05 Brightcove Inc. Optimal multi-codec ABR ladder design

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3864524A (en) * 1971-10-30 1975-02-04 Electronic Communications Asynchronous multiplexing of digitized speech
US4638476A (en) * 1985-06-21 1987-01-20 At&T Bell Laboratories Technique for dynamic resource allocation in a communication system
FR2587159B1 (fr) * 1985-09-12 1987-11-13 Coatanea Pierre Equipements de multiplexage et demultiplexage pour liaison numerique synchrone a debit et rapiditite de modulation variables
FR2669168B1 (fr) * 1990-11-09 1993-04-23 Abiven Jacques Procede de multiplexage-demultiplexage numerique multidebit.
US5159447A (en) * 1991-05-23 1992-10-27 At&T Bell Laboratories Buffer control for variable bit-rate channel
US5291486A (en) * 1991-08-19 1994-03-01 Sony Corporation Data multiplexing apparatus and multiplexed data demultiplexing apparatus
JP2861518B2 (ja) * 1991-09-03 1999-02-24 日本電気株式会社 適応多重化方式
JP3226945B2 (ja) * 1991-10-02 2001-11-12 キヤノン株式会社 マルチメディア通信装置
US5216503A (en) * 1991-12-24 1993-06-01 General Instrument Corporation Statistical multiplexer for a multichannel image compression system
CA2104753C (en) * 1992-10-29 1999-02-16 Kotikalapudi Sriram Bandwidth allocation, transmission scheduling, and congestion avoidance in broadband atm networks

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001078186A (ja) * 1999-07-19 2001-03-23 General Instr Corp 統計的多重送信エンコーダ上での日和見データの実施
JP2005065268A (ja) * 2003-08-13 2005-03-10 Mitsubishi Electric Research Laboratories Inc 複数のビデオを符号化する方法
JP2007235357A (ja) * 2006-02-28 2007-09-13 Nec Corp 符号化装置および符号化ビットレート切り替え方法
JP4636267B2 (ja) * 2006-02-28 2011-02-23 日本電気株式会社 符号化装置および符号化ビットレート切り替え方法
JP2012521126A (ja) * 2009-03-19 2012-09-10 フラウンホッファー−ゲゼルシャフト ツァ フェルダールング デァ アンゲヴァンテン フォアシュンク エー.ファオ フレキシブル時分割多重化において複数の情報信号を伝送する装置および方法
US8804768B2 (en) 2009-03-19 2014-08-12 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Apparatus and method for transmitting a plurality of information signals in flexible time-division multiplexing
JP2014187450A (ja) * 2013-03-22 2014-10-02 Hitachi Kokusai Electric Inc 光伝送装置

Also Published As

Publication number Publication date
KR100382690B1 (ko) 2003-08-02
KR970703662A (ko) 1997-07-03
DE69535803D1 (de) 2008-09-18
US5506844A (en) 1996-04-09
CA2190115A1 (en) 1995-11-30
WO1995032565A1 (en) 1995-11-30
EP0772927B1 (en) 2008-08-06
AU2516695A (en) 1995-12-18
CA2190115C (en) 2000-08-01
EP0772927A1 (en) 1997-05-14
EP1542383A1 (en) 2005-06-15
JP3233408B2 (ja) 2001-11-26
EP0772927A4 (en) 2002-08-28
MX9605759A (es) 1998-10-31

Similar Documents

Publication Publication Date Title
JPH10500822A (ja) 複数のデータストリームの統計的多重化方法
TW519834B (en) Method and apparatus for determining a transmission bit rate in a statistical multiplexer
US6493388B1 (en) Rate control and buffer protection for variable bit rate video programs over a constant rate channel
AU687392B2 (en) Adaptive video compression using variable quantization
KR100357233B1 (ko) 비디오 디코더의 압축 비트스트림의 계산 및 메모리 요구를 조절하는 방법 및 모델
US5832300A (en) System for maintaining a minimum level of digitized data signal quality while allowing bandwidth dependent quality enhancement with additional enhancement data packets
CN105744358B (zh) 视频播放的处理方法及装置
CN101374233B (zh) 视频流帧率适配方法和装置及fpga芯片及视频流处理设备
EP0854652A1 (en) Picture and sound decoding device, picture and sound encoding device, and information transmission system
CN108347645B (zh) 一种视频帧解码显示的方法及装置
WO1999066734A1 (en) Video encoder and encoding method with buffer control
US5926223A (en) Adaptive video decompression
Altilar et al. An optimal scheduling algorithm for parallel video processing
US20090207910A1 (en) Multiplexing compressed signals
CN109640084A (zh) 视频流降噪方法、装置及存储介质
US9892088B2 (en) Data processing system and method of controlling access to a shared memory unit
MXPA96005759A (en) Method to distribute dynamically communications channel bandwidth complete entreaplications
JPH09512398A (ja) 非同期制御信号生成装置
JP2000244909A (ja) 圧縮ビデオのビットストリームの検定方法および装置
EP2944090B1 (de) Datennetzwerk, verfahren sowie abspielgerät zur wiedergabe von audio- und videodaten in einem in-flight entertainment system
Zhang et al. Some real-time requirements in continuous multimedia applications
JPS58218286A (ja) 画像間符号化方法および装置
CN103870234A (zh) 一种混音方法及其装置
JP2000201342A (ja) 映像配信装置および映像配信方法
JP2003299089A (ja) 画像符号化装置と画像符号化方法、画像記録装置、及び画像伝送装置

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20070921

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20080921

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090921

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100921

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110921

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120921

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130921

Year of fee payment: 12

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S631 Written request for registration of reclamation of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313631

S633 Written request for registration of reclamation of name

Free format text: JAPANESE INTERMEDIATE CODE: R313633

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S631 Written request for registration of reclamation of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313631

S633 Written request for registration of reclamation of name

Free format text: JAPANESE INTERMEDIATE CODE: R313633

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term