JP4317925B2 - データストリームを処理する装置及び方法 - Google Patents
データストリームを処理する装置及び方法 Download PDFInfo
- Publication number
- JP4317925B2 JP4317925B2 JP2006108787A JP2006108787A JP4317925B2 JP 4317925 B2 JP4317925 B2 JP 4317925B2 JP 2006108787 A JP2006108787 A JP 2006108787A JP 2006108787 A JP2006108787 A JP 2006108787A JP 4317925 B2 JP4317925 B2 JP 4317925B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- word
- image
- packet
- codeword
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Description
トランスポート・プロセッサの主な機能は、前段の優先度プロセッサが供給(発行)した可変長コードワードデータをパック・データワードの形式にパックすることである。累積したパック・ワードは、データパケットと呼ばれ、トランスポート・ヘッダがその前に付加される。
複数の可変長のコードワードを含んでいる一連の画像グループを含んでいるコードワード・データストリームを供給する手段(14)と、
前記可変長データストリームの複数のコードワードを、新しい画像グループが生成される際に、予測できない可変数のコードワードを含む複数のデータ・パケットの形式にする第1の処理手段(12)と、
データ・パケット内の最終のデータ・ワードを示すインジケータを供給する手段(12、37(図2C):46(図4))と、
前記複数のデータ・パケットおよび前記インジケータに応答して、前記複数のデータパケットと必要に応じて複数の空ワードを含む、複数の固定長のトランスポート・パケットを作り出す第2の処理手段(15)であって、前記複数の空ワードは、前記複数の固定長のトランスポート・パケットを満たし、前記新しい画像グループを前記複数のトランスポート・パケットの境界に合わせる、前記第2の処理手段(15)とを備える、前記装置が提供される。
前記データストリームに応答し、複数の可変長データストリーム・コードワードを、新しい画像グループが生成される際に、予測できない可変数のコードワードを含んでいる複数のデータ・パケットに変換する第1の処理手段と、
画像開始コードワードに先行するデータ・パケット中の最終のデータワードに関連するインジケータを供給する手段と、
前記複数のデータ・パケットと前記インジケータに応答し、複数の固定長のトランスポート・パケットを発生する第2の処理手段であって、
前記複数のトランスポート・パケットは、前記複数のデータパケットと必要に応じて複数の空ワードを含み、前記複数の空ワードは、前記複数の固定長のトランスポート・パケットを満たし、前記新しい画像グループを前記トランスポート・パケットの境界に合わせる、前記第2の処理手段とを備える、前記装置が提供される。
複数の可変長のコードワードと開始コードワードを含んでいる、一連の画像グループを含んでいる、コードワード・データストリームを供給する段階と、
前記データストリームの複数のコードワードを、新しい画像グループが生成される際に、予測できない可変数のコードワードを含むデータ・パケットの形式にする段階と、
データ・パケット内の最終のデータ・ワードを示すインジケータを供給する段階と、
前記複数のデータ・パケットおよび前記インジケータに応答して、前記複数のデータパケットと必要に応じて複数の空ワードを含む、複数の固定長のトランスポート・パケットを作り出す段階とを備え、
前記複数の空ワードは、前記複数の固定長のトランスポート・パケットを満たし、前記新しい画像グループを前記複数のトランスポート・パケットの境界に合わせる、前記方法が提供される。
制御器10は、パケット整列フラグ(Packet Alignment Flag)PAFとの関係で長さ(Length)のデータワードの累積値を監視し、可変長コードワードのストリームから組み立てられた32ビットのデータワードの完全性(完成)960ビット長データパケットの完全性(完成)とを確認する。長さデータLengthは、可変長コードワードの長さに合致する並列6ビットのワードであって、可変長コードワードの長さを規定している。長さのワードLengthの2進値は、トランスポート(伝送)されるMPEG形式のコードワードを実際に表す可変長コードワードの長さに一致するビット数を示す。各可変長のコードワードは、32ビット幅のバス上に現れ、MPEG形式のコードを表す可変数の有効ビット(1〜32)を有する。
PAFは、入力プロセッサ14によって発生されて、画面グループ(Group of Pictures)の開始点におけるMPEG形”I”(イントラ符号化)フレームのピクチャ開始コードワードPS(Picture Start codeword)の1コードワード前に出現するようになっている。PAFは、ディジタル比較器によってIフレーム・ピクチャ開始コードワードPSの存在を検出して発生される。また、入力プロセッサ14のユニットは、ピクチャ開始コードワードPSおよびPAFを処理するための信号遅延回路を含んでおり、これによってPAFがIフレーム・ピクチャ開始コードワードPSの直前のコードワードのクロック周期に発生するようになっている。また、その遅延回路によって、パック・ワード制御器10およびデータパック器12の各ユニットに供給される出力信号が確実に適正な時間的同期関係になるようにする。
ワードアドレスWord Addressがデータパック器12に送られ、データパック器12はパックする可変長コードワードVLCを受け取って、入力可変長コードワードの適正な連結を確実に行う。また、ワード制御信号Word Controlがパック器12に送られて、短いワードの存在を示し、パケット中の最終ワードをマーク(表示)して、関連するトランスポート・ヘッダが付加された適正な整列位置の30個のパック・データワードのシーケンス(列)が得られるようにする。制御器10は、長さワードLengthの2進値を累積することによりパケットの完全化(完成)を追跡・監視する。各長さの値は、関連するコードワード中の有効ビット数を表す。1つのパケットは、960ビットが累積されたときに完全(完成された状態)となる。この計数値(カウント)の開始点設定または初期化がPAFの出現によって行われ、PAFは制御器10内の内部アキュムレータをリセットするようにする。
データパック器12は32ビットの並列データバスを介して可変長コードワード(VLC)を受け取る。有効ビットは、制御器10から供給される監視制御信号に従って32ビットのワードにパックされる。また、最終的なMPEG形ビット直列伝送順序を受け入れるように連結が行われる。データパック器12のユニットから供給されるパック・データは可変ワード・レート(速度)でデータおよびヘッダ合成器15の入力FIFOデータバッファ(データFIFO)16に転送される。また、合成器15はデータパック器12からデータ書き込みイネーブル信号Data Write Enableを受け取り、データパック器12は合成器15中のFIFOデータバッファ16をイネーブルしてFIFOデータバッファ16に有効データが書き込まれるようにする。データパケットは、PAFが強制的に短いパケットを指示しない限りは、そのような30個のワードの転送が完了したときにパケット完全の状態となる。パック器12により供給される最終ワード・インジケータLast Word Indicatorは、この例における通常のパケット中の30番目のワードをマークし、またはPAFの出現によって短縮されるパケット中の最終ワードをマークする。
処理可能なパック・データワードが存在する限り、パック・データワードはデータ/ヘッダ合成器15に転送される。同様に、処理可能なトランスポート・ヘッダが存在する限り、トランスポート・ヘッダはヘッダ発生器18から合成器15の入力FIFOヘッダバッファ(ヘッダFIFO)17に送られる。ヘッダ発生器18がヘッダを形成するのに使用する情報は、入力プロセッサ14およびワード制御器10から得られる。ヘッダ書き込みイネーブル信号Header Write Enableは処理可能なヘッダが存在することを示し、ヘッダがFIFO17に書き込まれるようにFIFO17をイネーブルする。合成器15は、各パック・データ・ペイロードの前にヘッダを付加し、その結果得られるトランスポート・パケットまたはブロックを図19に示されるように出力レートバッファに送る。また、合成器15は、パック・データワードまたはトランスポート・ヘッダが送出レディ(送出可能)状態になっていることを示す出力データレディData Ready信号を供給する。ヘッダ・インジケータ信号Header Indicatorは、ヘッダが送出されるときのクロック周期を示す。この信号は、トランスポート・パケット境界のマーカー(marker)として機能して、前進型誤り訂正(Forward Error Correction:FEC)等のその後のオペレーションがトランスポート・セルに適正に供給されるようにする。
各ヘッダは、そのヘッダに関連するデータパケット中のデータに関する情報を含んでいる。ヘッダ情報によって、受信機におけるデータ組立ておよび同期化が行われる。ヘッダ情報には、例えばサービス・タイプ(例、オーディオ、ビデオ、データ)、フレーム・タイプ、フレーム番号およびスライス番号などの情報が含まれている。この種のヘッダおよびその処理については、アカンポーラ氏外の米国特許第5,168,356号においてMPEG形信号符号化を用いるHDTVディジタル信号処理システムとの関係で記載されている。
データパケットは、この例においては、30個未満のパック・データワード、即ち1〜29個のワードを含んでいることがある。入力プロセッサ14により供給されるPAFは、図20乃至図22との関連で後述するように、GOPが開始するときにイントラ符号化Iフレームのピクチャ開始コードワードPSの直前に出現する。イントラ符号化フレーム用のピクチャ開始コードワードPSによっていつも新パケットが開始され、その直ぐ前を先行するPAFがデータパケットの終了と新パケットの開始を示す。このピクチャ開始コードワードPSによるパケット整列または同期(alignment)は、受信機におけるデータストリームの高速捕捉を行うのに役立つ。PAFが固定長ワードの形成中に発生すると、短縮データパケットが形成されることになる。組立て中のパック・ワードにおける残りのビットにはデータパック器12において複数の“ゼロ値ビッド”(1〜31)が充填される。さらに、データパケット中の残りのワードにも合成器15において同様に複数の“ゼロ値ワード”(1〜29)が充填され、トランスポート・パケットのサイズが所定長に維持される。このような“ゼロワード・フィル”(充足ワード)の要求は、30個のデータワードが合成器15に転送されてしまう前に最終ワード・インジケータLast Word Indicatorの発生によって示される。
データパケット中の最終ワードLast Wordの適正な識別を行うことは重要である。最終ワードLast Wordによって、これに関連するトランスポート・ヘッダを用いて組み立てられたパケットが適正に記録(収容)されていることが確認される。また、最終ワードLast Wordは、MPEG形式の画面グループGOPの境界(即ち、イントラ符号化フレーム)に充填されたパケットの存在を示す。GOPの境界は、例えばチャンネル変更の後のテレビジョン受像機/復合器における再同期化を行うために重要である。最終ワードLast Wordを決定することは決して些細なことではない。例えばパケットがいつ完全になったか(完成したか)、および完全になったときは次のパケットへのデータ・セグメント化またはデータ区分化(segment)が行われているか否か等のパケットの状態の特定情報に応じて最終ワードLast Wordの決定が行われる。最終ワードには、最終ワードLast Wordが現在のクロック期間中に形成されたワードである場合の状態と、最終ワードLast Wordが次のクロック期間中に形成されるべきワードである場合の状態とが存在する。
最終ワードLast Wordの形成に関するいくつかの具体例を次ぎに挙げる。パケットが完全になったときにPAFが存在しなければ、最終ワード(この例では30番目のワード)は最後のワードであり、最終ワード・インジケータLast Word Indicatorによって最終ワードであることがマークされる。これは“真”の最終ワードLast Wordの例である。PAFは、パケットが次のパケットにセグメント化すべきビットを持っていないとき、即ちワードが正確にパケット境界で終了したときに発生する。完全化されたパケットの最終ワードは、実際に最終ワードであるので、最終ワードLast Wordとマークされる。これは“真”の最終ワードLast Wordの別の例である。また、PAFは、残りの数ビットが次のパケットの1番目のワードにセグメント化される状態でパケットが完全になったときにも発生する。この場合は、2個の連続する最終ワードLast Wordが形成され、そのようにマークされる。まず完全になったパケットの最終ワードが最終Last(“真”の最終ワードLast Word)とマークされる。次いで、次のパケットの1番目のワードは、PAFによってパケットが強制的に短縮されるので、最終ワードLast Wordとしてマークされる。後者のような短縮パケットの場合は、30個のワードが伝送完了する前に最終ワードLast Wordが出現し、次いでそのパケットを完全パケットにするために“ゼロワード”が充填される。次に、最終ワードLast Wordの他の例を挙げる。PAFは、パケットが組み立て中の不完全パケットの状態であるときにも発生する。残り数ビットが次のワードへセグメント化される状態で内部ワードがワード完全になった場合は、その部分ワードが最終ワードLast Wordとなる。特に、パケットが組み立て中の不完全パケットの状態で、かつ内部ワードが次のワードへセグメント化されるビットがない状態で完全になったときは、困難な状況が生じる。即ち、後のデータ(即ち、PAFの出現)によってこのワードが最終ワードであることが示される前に、内部ワードがデータ/ヘッダ合成器に送られてしまうと、このワードが最終ワードであることを適正にマークするのには既に手遅れとなってしまう。この場合は、1つの“擬似”最終ワードと呼ばれるゼロワードが生成されて、最終ワードとして表示される。そのような擬似最終ワードは全体が0のビットで構成される。これは、例えばセグメント化された(不完全)最終ワードの一部が0ビットで詰められるのとは異なる。以上の例または他の例を図5乃至図16を参照して説明する。
以下の説明において開示するシステムの重要な特徴の中には、長さが0(ゼロ)のPAFの生成がある。この長さが0(ゼロ)のPAFによって、GOPの開始が直ぐ後に出現することが示され、データパケット中で最終ワードLast Wordを生成してマークし、必要に応じて擬似最終ワードPseudo Last Wordを生成し、また、最終ワードLast Wordの発生の種々の状態に関連して特定の信号を容易に生成することができる。
図2Aは、図1の制御器10の詳細を示す。制御器10は、モジュロ960回路22を有する帰還回路中にアキュムレータ20を含んでいる。その帰還路にはバッファレジスタ23が含まれていて、各長さLength入力サイクルの終わりに新しく累積された値を保持する。入力のPAFワードおよび長さワードLengthは入力レジスタ24を介してモジュロユニット22とアキュムレータ20にそれぞれ送られる。長さワードLengthの値はアキュムレータ20のユニットにより順次連続的に累積されて、アキュムレータ20とモジュロ960ユニット22の帰還合成によってパケット長を960ビットに設定する。バッファレジスタ23から供給されるアキュムレータ出力は、パケット内のビット位置を表し、パケット状態制御器25に送られる。
また、パケット状態制御器25は入力バッファレジスタ24からPAFを受け取り、ワード状態制御器26において書き込み指令を生成するのに必要な出力信号を供給(発生)する。アキュムレータ・ビットカウント(ビット計数値)が960以上になったときに、パケット完全出力信号Packet Completeがワード状態制御器26に対して供給される。アキュムレータ・ビットカウントがワード境界を示していないときには(即ち、ビットカウントが32の整数倍に等しくないときに)、制御器25によって出力の残余信号Remnantが発生される。アキュムレータ・ビットカウントが0であるときには、真ゼロ出力信号True Zeroが供給される。この真ゼロ出力信号は、PAFが存在するときにのみ最終ワードの正確な生成の決定を行うための重要な信号となる。これらの信号を生成する論理回路が、以下説明するように図2Bに示されている。
長さがゼロの空コードワード、即ちノー・オペレーション(NO−OP)コードワードの存在を示す値0の長さワードLengthが受け取られたときは、アキュムレータ20はアイドル状態となり、最終ビットカウントを保持する。この規則には例外が存在して、PAFによってビットカウントに関係なく常にアキュムレータ値が強制的に0にされる場合がある。また、別の例外は、パケットが正確にパケット境界(即ち、アキュムレータ計数値が960)の位置で完全パケットを形成する場合である。そして、次のクロック周期において、アキュムレータ・カウントがモジュロ960ユニット22を介して次の長さワードLengthの2進値に訂正される。アキュムレータ・カウントが960以上になったときに、パケットが完全になる。
図2Bにおいて、累積された長さを表す10ビット・アキュムレータ出力がI0〜I9に割り当てられる。パケット・コードワードの累積された長さが960以上になった場合に、パケットが完全になる。アキュムレータの4つの上位(MSB)ビットI6〜I9が論理1の状態であるときに、その状態が示され、その4つのビットが論理積ゲートAND30に供給される。全てのアキュムレータの10個のビットが論理0の状態にあるときに、真ゼロTrue Zeroが表示され、その10個のビットが論理和ゲートOR31に供給される。アキュムレータの5つの下位(LSB)のビットI0〜I4が論理0(ゼロ)状態にあるときに“残余無し”状態が示され、その5つのビットが論理和ゲートOR32に供給される。
データパック器のワードアドレスWord Addressがアキュムレータの6つの下位のビットI0〜I5に応答して生成される。論理積(AND)ゲートアレー34は、パケット整列フラグ(PAF)が出現したときにワードアドレスWord Addressを強制的に論理0の状態にする。
図2Cは、図1のデータパック器12の詳細を示している。可変長コードワードがデータシフタ35に送られる。データシフタ35として、テキサス・インスツルメンツ社製の型式74AS8838のようなバレル・シフタを用いることができる。連結しようとする可変長コードワードの有効ビットの適正位置を定めるために、長さアキュムレータ出力の下位ビット(LSB)の部分が、パケット状態制御器25から発生して(図2Aおよび図2B参照)、ワードアドレスWord Addressとしてデータシフタ35に送られる。32ビットのワードが可変長コードワードの連結によって形成されたときに、パックされたワードが保持レジスタ36に転送される。処理可能なパック・データが存在するか否かを示すフラグが、レジスタ36より供給されるワードレディ信号Word Readyによって与えられて、そのワードがデータ組立て回路37に転送される。データ組立て回路37は、パック・ワード制御器10(図1)から供給される制御信号WEN1,W EN2およびW ZEROを用いて、データ書き込みイネーブルData Write Enableおよび最終ワード・フラグ(インジケータ)Last Word Flagとともにパック・データを、図1のデータおよびヘッダ合成器15内のFIFOデータバッファ16に対して供給する。
次のパケットのヘッダが現在のパケットの最終ワードの後に挿入されるように、パケット中の最終ワードを伝送した後で、それに続いてその結合されたデータストリーム中に次のトランスポート・ヘッダが挿入される。ヘッダ制御器は、アキュムレータ出力Accumulator Output(図2A)を用いて、パケット中の或るコードワードの位置を示して、その各位置がヘッダ中のエントリ点のフィールドにおいて記述されるようにされる。ワード状態制御器26およびデータ組立て回路37に関連する論理アレーによって、最終ワード・インジケータLast Word IndicatorとデータワードをFIFOバッファに書き込むようにイネーブルするフラグとが生成される。次の表1は、論理アレーへの入力であるPAF(Packet Alignment Flag)、PC(Packet Complete)、TZ(True Zero)およびREM(Remnantワード・セグメント化インジケータ)に応じて最終ワードを生成するためのアクション状態を示している。制御器26の出力信号がバッファレジスタ28を介して供給されると、データ組み立て回路37から出力信号が生成される。これらの信号は、次のクロック周期に出現する最終ワードを示す書き込みイネーブル信号WEN1、現在のクロック周期に出現する最終ワードを示す書き込みイネーブル信号W EN2、および擬似最終ワードPsuedo Last Wordを生成する書き込みゼロ信号W ZEROを含んでいる。この擬似最終ワードPsuedo Last Wordは、PAFの発生が不完全パケットの内部コードワードデータ境界に位置したパケット形成時点と一致したときに発生する。
図4のデータ組立て回路は、図1のデータパック器12の出力回路を構成している。即ち、データ組立て回路は、図示のような回路構成で、論理積ゲートAND42および44、論理和ゲートOR46およびD型フリップフロップ(DF/F)43および45を具えている。32ビット幅のパック・データワードPacked Data Wordが論理積ゲートAND42を介してデータFIFOに送られ、前段のパック器回路から供給されるワードレディ信号Word Readyが、論理積ゲートAND44を介して送られ、図1のデータFIFO16用のデータ書き込みイネーブル信号Data Write Enableになる。パック・ワード状態制御器26から供給されるデータ書き込み制御信号WEN1、W EN2およびW ZERO(図2A)が図示のようにフリップフロップ43と45および論理ゲート46に供給される。WEN2は現在のワードに関連する最終ワード・フラグLast Word Flagを示し、W EN1は次のクロックサイクルにおけるワードに関連する最終ワード・フラグLast Word Flagを示す。W ZERO制御は、WEN1によって最終ワードのフラグが立てられる擬似最終ワードPseudo Last Wordの生成を示す(表1のケース4)。このケース4においては、擬似最終ワードと呼ばれる全ZEROのワードがパック・データワードストリームPacked Dataに挿入され、データFIFO16に書き込まれる。組立て回路のゲートAND44へのワードレディ入力信号Word Readyが保持レジスタ36(図2C)によって供給されて、処理可能なパックされた32ビットが存在することを示す。
次に、図5乃至図16に例示された最終ワードの発生の例について説明する。
これらの例のあるものは、PAFの前後の位置に存在する長さがゼロのNO−OPワードの作用を示している。
図5および図6は表1のケース5に該当する相異なる例を示している。図5においては、パケットは次のパケットへのセグメント化を行って(即ち、アキュムレータのビット値が960より大きい)完全パケットを形成している。図6においては、パケットは正確にパケットの境界の位置で完全パケットを形成し(即ち、アキュムレータのビット値が960に等しい)、次のパケットへのセグメント化を行うことなくまたは残余データを生じることなく完全パケットを形成している。このいずれのケースにおいても最終ワード・フラグLast Word Flagはパケット完全Packet Completeの発生と同時に発生する。この最終ワード・フラグLast Word Flagは、PAFが存在しないときは真ゼロTrue Zeroおよび残余Remnantの各表示を考慮せずに独立に発生される。一方、PAFが存在する場合は、最終ワード・フラグLAST Word Flagは真ゼロTrue Zeroおよび残余Remnantの各表示を考慮して発生される。
図7および図8は、表1のケース2を例示している。図7において、パケットが完全になった直後にセグメント化を行わずにPAFが発生し、その後に32ビットのピクチャ開始コードワードPSが続く。図8は、挿入された3個の長さゼロのノー・オペレーション(NO−OP)コードワードがピクチャ開始コードワードPSに先行して存在することを除けば、図7と同様である。図7および図8において、PAFはパケット完全信号Packet Completeと時間的位置が一致して発生し、パケットは次のパケットに残余データのセグメント化を生じることなく終了する。図7は、32ビット長のピクチャ開始コードワードPSが直後に続いている、より一般なケースを示す。図8は、NO−OPワードが挿入されることが許容されることを示している。
図9は表1のケース6aに関係する図であり、この図においてPAFはパケット完全信号Packet Completeと位置が一致せずにずれて発生している。PAFは、セグメント化を伴わずにパケットが完全になった後のNO−OPワードの後に生じ、その後にピクチャ開始コードワードPSが続く。このケースにおいては、最終ワード表示(フラグ)Last Word Indicatationがパケット完全信号Packet Completeと関連して発生するが、アキュムレータ状態が0(ゼロ)の値でアイドル状態になっていて真ゼロ表示True Zeroが存在することになるので、最終ワード表示(フラグ)Last Word IndicationはPAFと関連して発生することはない。
図10および図11は表1のケース1を例示す。図10において、PAFは、パケットが完全になった直後にセグメント化が生じた状態で発生し、その後にピクチャ開始コードワードPSが続く。図11は、挿入NO−OPワードがピクチャ開始コードワードPSに先行して存在することを除けば、図10と同様である。この場合、セグメント化される残余データが存在するので、2つの最終ワード・インジケータ(フラグ)Last Word Indivatorが必要になる。その中の一方の最終ワード・インジケータ(フラグ)Last Word Indivatorがパケット完全Packet Completeの期間に生じ、そのうちの他方の最終ワード・インジケータ(フラグ)Last Word Indicationは、セグメント化が生じたためにPAFの1クロック期間後に生じる。
図12、図13および図14は表1のケース3を例示す。これらの例においては、PAFは、パケット形成期間中のある位置で発生するが、ワード境界上では発生せず(即ち、次のワードへのセグメント化が生じる)、パケット完全表示Packet Completeとは位置が一致しない。次いで、ワードが部分的に開始された結果(セグメント化による)、最終ワード信号Last Wordは、通常、PAFの後にくる次のクロック期間に発生する。図12において、PAFは、パケットがセグメント化を行った状態で完全になった後の数個のNO−OPワード後に発生し、その後にピクチャ開始コードワードPSが続く。図13において、PAFは、ワードが完全になると同時にセグメント化が生じた状態で発生し、その後にピクチャ開始コードワードPSが続く。図14において、PAFは、ワードが完全になった後で、かつ数個のコードワードによってセグメント化が生じた後に発生する。
図15および図16は、表1のケース4を例示し、特別な種類の最終ワードである擬似最終ワードPseudo Last Wordを生成することの必要性を説明するための図である。このケースにおいて、PAFは、1つのワードがセグメント化を生じることなく、即ち32の倍数のワード境界上でワードが完全になった直後(図15)またはその少し後の時間(図16)に発生する。このケースにおいて、完全ワードは、それが最終ワードであったという情報が得られる前に(PAFの後に供給される)既に供給されていることを前提にしている。その場合は、全ゼロ擬似最終ワードPseudo Last Wordが形成され、供給される。これが許容される理由は、MPEGでは、開始コードワードの前に任意の数のゼロ(0)が先行して続くことを許容し、PAFの発生によりピクチャ開始コードワードPSが次ぎに来ることが保証されているためである。さらに、これらのケースでは、パケットの不足分を、データ/ヘッダ合成器によってゼロ値ビット(空)・ワードで補填している。1つのゼロワードが発行されて、それを最終ワードとして擬似的にマークするので、このケースにおいて、合成器は1つの少ないワードを供給することになる。図15において、PAFは、ワードが完全になると直ぐに発生し(セグメント化が生じない状態で)、その後にピクチャ開始コードワードPSが続く。
図16においては、ワードが完全となった(セグメント化を生じない状態で)後に、挿入NO−OPワードが続く。その後に、PAFが発生し、さらにその後にピクチャ開始コードワードPSが続く。
図17は、データ/ヘッダ合成器15(図1)の詳細な構成を示す。ヘッダ成分は、ヘッダがヘッダ発生器18によって生成されたときは常に、ヘッダ書き込みイネーブル信号Header Write Enableに応答して、ヘッダFIFO70に書き込まれる。同様に、パック・データワードは、そのワードがデータパック器12によって生成されたときに、データ書き込みイネーブル信号Data Write Enableに応答して、データFIFO72に書き込まれる。データパック処理によって生成された最終ワード・インジケータLast Word Indicatorは、その最終ワードが30番目のワードであるか否かとは関係なく、パケット中に最終ワードを伴って生じる。ヘッダFIFO70およびデータFIFO72の各ユニットのヘッダ出力およびデータ出力が多重化器(マルチプレクサ)76によって共通バス上に多重化されて供給され、さらに出力レジスタ78に供給される。図19に示されているように、出力レジスタ78は、データレディ信号Data Ready、パケットデータPacket Data、ヘッダHeader、およびヘッダ・インジケータHeader Indicatorをレートバッファ713および714に供給する。多重化器76は、FIFO状態制御器74から供給されたゼロ発行信号Issue Zeroに応答して、命令(コマンド)に従ってゼロワードを発行することができる。
2つのFIFO70および72の両方のユニット、多重化器76および出力レジスタ78は、ステート・マシン(状態マシン)である制御器74の指示を受ける。パワーオン(電源オン)または同様に作用する動作の再開の後で、制御器74は処理可能なヘッダが現れるのを待つ。処理可能なヘッダは、データレディ・インジケータData Ready Indicatorおよびヘッダ・インジケータHeader Indicatorと共に多重化器76の出力バスに送られる。次いで、制御器74は、最終ワード・インジケータLast Word Indicatorが出現するまで、処理可能なデータが存在する限りそのデータを抽出してデータFIFO72の状態を制御する。伝送された各データはデータレディ・インジケータData Ready Indicatorを伴い、そのデータレディ・インジケータData Ready Indicatorは出力レジスタ78に送られる。最終ワード・インジケータLast Word Indicatorが出現した後に、既に30個のデータワードが供給されていたことが判明すれば、制御器74はさらに処理可能な情報が存在するか否かについてヘッダFIFO70を再検査する。
30個未満のデータワードが供給されたときは、制御器74は、ゼロ発行命令Issue Zeroを用いて多重化器76に指令して、パケットの不足分を補うためにゼロワードを発行させる。そのようなゼロワードは、全てデータレディ・インジケータData Ready Indicatorを伴って供給される。伝送すべきヘッダとデータがない場合は、制御器74は、多重化器76に指令して、処理可能なデータが存在しない期間、データレディ・インジケータData Ready Indicatorなしでゼロワードを発行させる。上述のようなステートマシンで駆動される合成器15の動作を表すフローチャート(状態遷移図)が図18に示されている。データレディ・インジケータData Ready Indicatorおよびヘッダ・インジケータHeader Indicatorは、出力レジスタ78を通して図19のレートバッファ713および714に送られる。これらのインジケータは、バス上にデータおよびヘッダ情報が存在することをレートバッファに伝え、ヘッダ/データ記録(registration)を維持してレートバッファの後段で前進型誤り訂正(FEC)符号化およびデータ・インターリーブ(間挿)を行わせる。このシステム(図19)において、FEC処理およびインターリーブ処理を行うには、ヘッダによって表されるデータパケットが送られる前に、最初にヘッダを送る、即ち1つのヘッダを送ってレートバッファへの伝送を開始する必要がある。ヘッダFIFO70およびデータFIFO72から送られた空きフラグ信号Empty Flagは、ヘッダおよびデータワードがそれぞれ存在しない(空である)ことを示し、これによってステートマシンである状態制御器74がアイドル状態になる。この状態が図18に、状態0および状態1における”ヘッダなし”および“ワードなし”の状態として示されている。関連する読みとりイネーブル信号Read EnableがヘッダFIFO70またはデータFIFO72にそれぞれ送られると、制御器74から供給されるヘッダ/データ選択信号Header/Data Selectが多重化器76に指令して、ヘッダFIFO70のユニットのヘッダ出力Header OutputまたはデータFIFO72のユニットのデータ出力Data Outputのいずれかを出力レジスタ78の入力側の信号バスに切り換え接続される。不完全な短縮パケットにはゼロワードを付加して所定の30個のワードのデータパケットが生成され、そのデータパケットが出力バッファ78に供給される。この出力バッファ78の容量は、前段のヘッダバッファ70およびデータバッファ72の容量よりもかなり大きい。これらのバッファは、割り込みを受けずに効率的にデータを受け取り、処理する。このような割り込みを受けない動作構成とすることによって、タイミングおよび同期化の機能が大幅に簡単になる。その機能は、例えば、クロック停止/開始における難しい同期化処理を不要にすることにより簡単にできる。
所定長の完全パケットは、上述のように必要数の空ワードを付加することによって適正に利用できるようになる。このような完全パケットを使用することによって、例えば可変長コードワード・システム等における任意のデータ状態においてもデータのサーチおよび同期化が可能になる。開始コードワード、特にIフレーム開始コードワードは、MPEGと互換性(相互運用性)のあるデータストリームにおける固有の再同期化点となる。開始コードワードはパケット境界に出現する。本明細書に記載したシステムにおけるゼロ値ビットの空ワードを用いて、切り捨てられたデータパケットをパケット完全化し、パケット境界を決定することによって、そのようなパケット境界の処理を行うことができる。MPEG標準では、開始コードワードの前に任意の数のゼロワードが来ることを許容しており、受信機/デコーダはゼロ値ビットの空ワードを無視するようになっている。この例において、出力バッファ78は、その容量が大きく、時間的耐性(連続同一値に対する耐性)が高く、従って空ワードパック動作を実行するのに適した手段を構成している。ここで、パケット境界におけるパケット整列フラグPAFの出現とピクチャ開始コードワードPSの出現との間において空ワードをパックするために利用できる時間は僅かしかない(例えば1クロックサイクル)ことに留意すべきである。
図19は、トランスポート・プロセッサ部において本発明に従う装置を用いた高解像度テレビジョン(HDTV)符号化システムを例示している。図19は、単一のビデオ入力信号を処理するシステムを示す。但し、輝度(ルミナンス)成分およびクロミナンス成分は別々に処理され、輝度の動きベクトルを用いて圧縮クロミナンス成分が生成されることが分かる。圧縮された輝度成分およびクロミナンス成分は、コードワード優先度をパース(構文解析)する前に、インターリーブされてマクロブロックが形成される。図19のシステムに関する別の情報が、アカンポーラ氏外の米国特許第5,168,356号に記載されている。
図20Aに示された画像フィールド/フレームのシーケンス(列)は、図20Bに従うフィールド/フレームを再配列する回路705に供給される。その再配列されたシーケンスは圧縮器710に供給される。この圧縮器710は、MPEG形式のフォーマットに従って符号化された圧縮されたフレームのシーケンスを生成する。そのフォーマットは階層構造になっており、それが図22に簡略形式で例示されている。MPEG形式の階層構造フォーマットは、各別のヘッダ情報をそれぞれ有する複数の階層からなる。各ヘッダは、開始コードワード、各階層に関連するデータおよびヘッダ拡張を行うための項目(プロビジョン)を正規のヘッダ形式として含んでいる。
このシステムによって生成されるMPEG形式の信号について説明すると、(a)ビデオ信号の連続的画像フィールド/フレームがI,P,B符号化シーケンスに従って符号化され、(b)画面レベルで符号化されたデータはMPEG形式のスライスまたはブロック群の形式で符号化される。その場合、各フィールド/フレーム当たりのスライス数は種々の値をとり、各スライス当たりのマクロブロック数も種々の値をとる。I符号化フレームは、画像再生を行うときにIフレーム圧縮データだけを用いて処理できるようにフレーム内圧縮されている。P符号化フレームは前方動き補償予測法に従って符号化されており、Pフレーム符号化データは、現在のフレーム、および現在のフレームの前に発生するIまたはPフレームから生成される。B符号化フレームは、双方向動き補償予測法に従って符号化される。B符号化フレームデータは、現在のフレーム、および現在のフレームの前および後に発生するIおよびPフレームから生成される。
現在のシステムの符号化出力信号は、フィールド/フレーム群、またはボックスL2行(図22)に例示されている画像グループ(GOP)にセグメント化される。
各GOP(L2)はヘッダを含んでおり、ヘッダの後には画像データのセグメントが続く。GOPヘッダは、水平方向および垂直方向の画面サイズ、アスペクト比、フィールド/フレーム・レート、ビット・レート、などに関連するデータを含んでいる。
各画像フィールド/フレームに対応する画像データ(L3)は、ピクチャヘッドを含んでいて、ピクチャヘッダの後にはスライスデータ(L4)が続く。ピクチャヘッドはフィールド/フレーム数およびピクチャ・コード・タイプを含んでいる。各スライス(L4)は、スライスヘッダを含んでいて、スライスヘッダの後には複数のデータ・ブロックMBiが続く。スライスヘッダは、群番号および量子化パラメータを含んでいる。
各ブロックMBi(L5)は、マクロブロックを表し、ヘッダを含んでおり、ヘッダの後に動きベクトル(MV)および符号化係数が続く。MBiヘッダは、マクロブロック・アドレス、マクロブロック・タイプおよび量子化パラメータを含んでいる。符号化係数は階層L6に例示されている。各マクロブロックは、4つの輝度ブロック、1つのUクロミナンスブロックおよび1つのVクロミナンスブロックからなる合計6個のブロックを含んでいる(図21参照)。1つのブロックは、ピクセルのマトリックス、例えば8×8のマトリックスを表していて、このマトリックスに対して離散コサイン変換(DCT)が実行される。その4つの輝度ブロックは、例えば16×16のピクセル・マトリックスを表す2×2の隣接輝度ブロックのマトリックスである。クロミナンス(UおよびV)ブロックは、4つの輝度ブロックの領域全体と同じ領域を表している。すなわち、圧縮の前に、クロミナンス信号は、輝度に対して水平方向および垂直方向に2つの係数(1/2)でダブサンプル(subsample)される。1つのスライスのデータは、隣接したマクロブロック群として表される領域に対応する画像中の長方形部分を表すデータに対応する。1つのフレームは、360個のスライス、すなわち垂直方向の60スライス×水平方向の6スライスからなる。
ブロック係数は、DCTによって1回につき1ブロック分供給される。まずDC係数が発生し、DC係数の後にその相対的重要度順に各DCTAC係数が続く。ブロック終了コードEOB(end-of-block)が、連続的に発生するデータの各ブロックの最後に付加される。
図19において、圧縮器710から供給されるデータは、データを高優先度(HP)成分と標準優先度(SP)成分とにセグメント化するトランスポート・プロセッサ712に供給される前に、優先度プロセッサ711により処理される。
これらの成分は、レートバッファ713および714を介して各前進型誤り訂正符号化ユニット715および716に結合される。レートバッファは一時的にパック・データおよびヘッダを記憶し、その後FEC誤り訂正符号化回路はそのパック・データおよびヘッダを抽出する。レート(rate)制御器718は、バッファ713、714と協働して、圧縮器710から供給されるデータの平均データ・レートを調整する。その後、信号が伝送モデム717に結合され、そのHPおよびSPデータは、標準6MHzのNTSC方式のテレビジョン・チャンネル内の各搬送波を直交振幅変調する。
12 データパック器
14 入力プロセッサ
15 データおよびヘッダ合成器
16 FIFOデータバッファ(データFIFO)
18 ヘッダ発生器
20 アキュムレータ
22 モジュロ960回路
23 バッファレジスタ
24 入力レジスタ
25 パケット状態制御器
26 ワード状態制御器
Claims (8)
- 画像を表すコードワード・データストリームを処理する装置であって、
複数のフレームを含んでいる一連の画像グループを含んでいるコードワード・データストリームを供給する手段(14)であって、該複数のフレームの各々が複数の可変長のコードワードを含み、前記複数のフレームの内の第1のフレームは、他のフレームに依拠せずにデコード可能であり、前記複数のフレームの内の少なくとも第2のフレームは、他のフレームに依拠することなしにデコードできず、画像開始コードワードが画像グループの開始を示している、前記コードワード・データストリームを供給する手段(14)と、
前記可変長データストリームの複数のコードワードを、予測できない可変数のコードワードを含む複数のデータ・パケットの形式にする手段(12)と、
前記複数のデータ・パケットに応答して、前記複数のデータパケットを含む複数の固定長のトランスポート・パケットを作り出す手段(15、12、37(図2C):46(図4))とを備え、該トランスポート・パケットを作り出す手段は、トランスポート・パケットの終端の前に新しい画像グループが開始した場合、必要に応じて複数の空ワードで、前記トランスポート・パケットを満たし、新しい画像グループの画像開始コードワードを次のトランスポート・パケットの境界に合わせる、前記装置。 - 前記複数の空ワードが、ゼロ値ビットワードであり、デコーダが該ゼロ値ビットワードを無視するように、開始コードワードの前にゼロ値ビットワードが来ることが許容されている、請求項1記載の装置。
- 前記トランスポート・パケットを作り出す手段が、複数のデータ・パケットとヘッダを組み合わせて前記トランスポート・パケットの各々を形成する手段を含んでいる、請求項1記載の装置。
- 複数の画像グループと画像開始コードワードを含んでいる、画像を表すMPEG形式に適合するコードワード・データストリームを処理する装置であって、前記複数の画像グループの各々は複数のフレームを含んでおり、該複数のフレームの各々が複数の可変長のコードワードを含み、前記複数のフレームの内の第1のフレームは、他のフレームに依拠せずにデコード可能であり、前記複数のフレームの内の少なくとも第2のフレームは、他のフレームに依拠することなしにデコードできず、画像開始コードワードが画像グループの開始を示しており、
前記装置は、
前記データストリームに応答し、複数の可変長データストリーム・コードワードを、予測できない可変数のコードワードを含んでいる複数のデータ・パケットに変換する手段と、
前記複数のデータ・パケットに応答して、前記複数のデータパケットを含む複数の固定長のトランスポート・パケットを作り出す手段(15、12、37(図2C):46(図4))とを備え、該トランスポート・パケットを作り出す手段は、トランスポート・パケットの終端の前に新しい画像グループが開始した場合、必要に応じて複数の空ワードで、前記トランスポート・パケットを満たし、新しい画像グループの画像開始コードワードを次のトランスポート・パケットの境界に合わせる、前記装置。 - 前記複数の空ワードが、ゼロ値ビットワードであり、デコーダが該ゼロ値ビットワードを無視するように、開始コードワードの前にゼロ値ビットワードが来ることが許容されている、請求項4記載の装置。
- 前記トランスポート・パケットを作り出す手段が、複数のデータ・パケットとヘッダを組み合わせて前記トランスポート・パケットの各々を形成する手段を含んでいる、請求項4記載の装置。
- 画像を表すコードワード・データストリームを処理する方法であって、
画像開始コードワードを含んでいる、一連の画像グループを含んでいる、コードワード・データストリームを供給する段階であって、前記複数の画像グループの各々は複数のフレームを含んでおり、該複数のフレームの各々が複数の可変長のコードワードを含み、前記複数のフレームの内の第1のフレームは、他のフレームに依拠せずにデコード可能であり、前記複数のフレームの内の少なくとも第2のフレームは、他のフレームに依拠することなしにデコードできず、前記画像開始コードワードが画像グループの開始を示している、前記供給する段階と、
前記データストリームの複数のコードワードを、予測できない可変数のコードワードを含むデータ・パケットの形式にする段階と、
前記複数のデータ・パケットに応答して、前記複数のデータパケットを含む複数の固定長のトランスポート・パケットを作り出し、トランスポート・パケットの終端の前に新しい画像グループが開始した場合、必要に応じて複数の空ワードで、前記トランスポート・パケットを満たし、新しい画像グループの画像開始コードワードを次のトランスポート・パケットの境界に合わせる段階とを備える、前記方法。 - 前記複数の空ワードが、ゼロ値ビットワードであり、デコーダが該ゼロ値ビットワードを無視するように、開始コードワードの前にゼロ値ビットワードが来ることが許容されている、請求項7記載の方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006108787A JP4317925B2 (ja) | 2006-04-11 | 2006-04-11 | データストリームを処理する装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006108787A JP4317925B2 (ja) | 2006-04-11 | 2006-04-11 | データストリームを処理する装置及び方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51557095A Division JP3811183B2 (ja) | 1993-11-30 | 1993-11-30 | データストリームを処理する装置及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006238476A JP2006238476A (ja) | 2006-09-07 |
JP4317925B2 true JP4317925B2 (ja) | 2009-08-19 |
Family
ID=37045550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006108787A Expired - Lifetime JP4317925B2 (ja) | 2006-04-11 | 2006-04-11 | データストリームを処理する装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4317925B2 (ja) |
-
2006
- 2006-04-11 JP JP2006108787A patent/JP4317925B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2006238476A (ja) | 2006-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3811183B2 (ja) | データストリームを処理する装置及び方法 | |
JP4067579B2 (ja) | ビデオ信号符号化システム | |
JP3708974B2 (ja) | コード化ビデオ信号の処理装置 | |
JP3569303B2 (ja) | データ分離処理装置 | |
US5784110A (en) | Data processor for assembling transport data packets | |
US5767912A (en) | Datastream packet alignment indicator in a system for assembling transport data packets | |
JP2001025007A (ja) | Mpegストリーム切替方法 | |
JP4648489B2 (ja) | データストリームを処理する方法 | |
JP4357594B2 (ja) | トランスポート・データパケット組立てシステムにおけるパック・データ処理装置 | |
JP4497483B2 (ja) | データストリームを処理する装置 | |
JP5119522B2 (ja) | データストリームを処理する装置 | |
JP4317925B2 (ja) | データストリームを処理する装置及び方法 | |
JP4808812B2 (ja) | データストリームを処理する装置 | |
JP3480735B2 (ja) | トランスポート・データパケット組立てシステムにおけるデータストリーム整列インジケータ | |
JP4863326B2 (ja) | データストリームを処理する方法 | |
JP5110721B2 (ja) | データストリームを処理する装置 | |
JP4754648B2 (ja) | データストリームを処理する方法 | |
JP5264003B2 (ja) | データストリームを処理する装置 | |
JP2004357340A (ja) | データストリームを処理する装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090421 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090427 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
R150 | Certificate of patent (=grant) or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120605 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (prs date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130605 Year of fee payment: 4 |
|
EXPY | Cancellation because of completion of term |