JP4357594B2 - Pack data processor in transport data packet assembly system - Google Patents
Pack data processor in transport data packet assembly system Download PDFInfo
- Publication number
- JP4357594B2 JP4357594B2 JP51556895A JP51556895A JP4357594B2 JP 4357594 B2 JP4357594 B2 JP 4357594B2 JP 51556895 A JP51556895 A JP 51556895A JP 51556895 A JP51556895 A JP 51556895A JP 4357594 B2 JP4357594 B2 JP 4357594B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- data
- word
- header
- packets
- 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
- 238000000034 method Methods 0.000 claims description 8
- 230000004044 response Effects 0.000 claims description 5
- 230000008569 process Effects 0.000 claims description 4
- 239000000872 buffer Substances 0.000 description 25
- 230000011218 segmentation Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000015572 biosynthetic process Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 208000009144 Pure autonomic failure Diseases 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000013312 porous aromatic framework Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009131 signaling function Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Color Television Systems (AREA)
- Television Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Editing Of Facsimile Originals (AREA)
Description
産業上の利用分野
本発明は、ディジタル信号処理の分野に関し、特に、例えば高解像度テレビジョンシステムにおいて符号化されたMPEG形データを伝送するのに用いられる、トランスポート・データパケットを組み立てる方法および装置に関する。
発明の背景
アカンポーラ(Acampora)氏外に付与された米国特許第5,168,356号には、MPEG形の可変長符号化に従って高解像度テレビジョン(HDTV)信号を処理するシステムが記載されている。MPEGは、国際標準化機構(ISO)によって決定された標準符号化フォーマットである。その標準は“国際標準化機構(International Organization for Standardization”ISO/IEC DIS11172、ディジタル蓄積メディア用動画像およびそれに関連した音声の符号化法(Coding for Moving Pictures and Associated Audio for Digital Storage Media)、Rev.Nov.23,1991の文書に記載されており、本明細書において、この文書を一般的符号化フォーマットを記述するために引用する。アカンポーラ氏外のシステムにおいては、コードワード(符号語)にはデータストリーム中で優先度の高い情報と低い情報とを表すように優先度が与えられている。そのコードワード・データストリームはトランスポート・プロセッサに送られる。そのトランスポート・プロセッサは、コードワードデータを、それぞれがヘッダ・セクションとパック・データ・ペイロード・セクションとを含んでいるトランスポート・セルの形式にパックし、優先度の高いデータストリームと優先度の低い出力データストリームとを供給する。
トランスポート・プロセッサの主な機能は、前段の優先度プロセッサが供給(発行)した可変長コードワードデータをパック・データワードの形式にパックすることである。累積したパック・ワードは、データパケットと呼ばれ、トランスポート・ヘッダがその前に付加される。
トランスポート・パケットのフォーマットによって、受信機において再同期化と信号回復とが容易に行われる。例えば、伝送チャネルに妨害が生じたために信号が破壊・分断された後でも、ヘッダデータを付加しておけば、受信機は伝送されたデータに欠落または破壊を生じた場合、データストリームに対する再エントリ点をヘッダデータに基づいて決定することができる。MPEG準拠の復号化器におけるデータの同期化も、パケットの境界に開始点を有するGOP(Group of Pictures)によって行われる。後の説明で分かるように、GOPは、1つ以上のピクチャまたはフレームのシリーズであり、このGOP形式によって符号化ビデオ・ビットストリームのシーケンス(列)に対してランダムにアクセスできるようになっている。また、再同期化は、イントラ符号化IフレームのPSコードワードに応答し、かつ例えばMPEG標準準拠のシステムにおけるパケットの境界にPSコードワードを配置することによって、容易にできる。本発明の原理に従う装置を用いれば、トランスポート・パケットの形成・処理が容易に行われる。
発明の概要
本発明の原理によれば、データ・パケットに可変長コードワード(例えば、MPEGコードワード)を入れて転送するシステムにおいて、予め定めた数よりも少ないワードを有する不完全なデータ・パケットに、no−op“ゼロ・ワード”を詰め込んで、固定長パケットを作成し、、予め定めたコードワードが現れるパケット間境界を定める。
開示された好ましい実施例では、GOPの開始を表すため、特別なコードワードであるパケット・アラインメント・フラグ(PAF)が、MEPGデータストリームに挿入される。。PAFは、GOPを開始させる、イントラフレーム符号化された“I”フレームのための‘画像開始’コードワードの直前に置かれる。PAFは、‘PS’コードワードの出現が迫っていることを知らせ、そして1クロック・サイクルにわたっており、この1サイクルの間に、或る“ハウスキーピング”機能が、次のパケットの初めに‘画像開始’コードワードが現れる前に、遂行される。これらのハウスキーピング機能に含まれるのは、例えば、アキュムレータをリセットすること、ヘッダの状態を点検すること、そして、PAFが現れた時に構築中のデータ・パケットに対して‘最終ワード・インジケータ’を発生することである。GOPはパケットの境界で始まることになっているので、PAFが現れると、構築中のデータ・パケットは終結される。このような終結の結果として、規定された数よりも少ない、詰め込まれたワードが入っている短縮されたパケットを生じることがある。この短縮されたデータ・パケットはnull(ゼロにされたビット)ワードで満たされて、規定された数のワードを備えた完全なデータ・パケットを構成し、そして画像開始コードワードが現れるパケット間境界を定める。32ビットの固定長ワード30個で1個のデータ・パケットを形成し、このデータ・パケットの前に32ビットのヘッダ1個が付けられる。
簡単な図面の説明
図1は、本発明に従う、データワード制御器、データパック器およびデータ/ヘッダ合成装置を含んで成るビデオ信号符号化器の部分ブロック図である。
図2A、図2Bおよび図2Cは、図1のワード制御器およびデータパック器の詳細を示す。
図3は、図2Aに示されているワード状態制御器の動作に関する真理表である。
図4は、パック・データ組立回路の詳細を示す。
図5乃至図16は、最終ワードの発生の例を示す。
図17は、図1に示されるデータおよびヘッダ合成器の詳細を示す。
図18は、図17に示されている状態制御器の動作に関する状態遷移図である。
図19は、本発明に従う装置を含む高解像度テレビジョン符号化システムのブロック図である。
図20Aおよび図20Bは、符号化ビデオ信号の画像フィールド/フレームのシーケンスの画像表現である。
図21は、図19のシステム中の符号化/圧縮装置によって形成されるデータブロック生成の画像表現である。
図22は、図19のシステム中の符号化/圧縮装置によって形成されるデータフォーマットの一般化された画像表現である。
図面の詳細な説明
図1は、トランスポート・プロセッサのデータパック器12およびパック・データワード制御器10のブロック図である。前述のように、トランスポート・プロセッサの主な機能は、可変長のコードワードデータを固定長(例えば32ビット)データワードにパックすることである。累積された30個のデータワードは、データパケットを構成し、最後にそのデータパケットの前にトランスポート・ヘッダが付加される。図19に関して後述するように、そのようなトランスポート・プロセッサは、MPEG形式の圧縮ビデオ信号を処理するシステムに用いられる。MPEG形式のフォーマット化および処理の別の特徴については、図20、図21および図22に関連して後述する。
制御器10は、PAF(Packet Alignment Flag)との関係で長さ(Length)のデータワードの累積値を監視し、可変長コードワードのストリームから組み立てられた32ビットのデータワードの完全性(完成)960ビット長データパケットの完全性(完成)とを確認する。長さデータLengthは、可変長コードワードの長さに合致する並列6ビットのワードであって、可変長コードワードの長さを規定している。長さのワードLengthの2進値は、トランスポート(伝送)されるMPEG形式のコードワードを実際に表す可変長コードワードの長さに一致するビット数を示す。各可変長のコードワードは、32ビット幅のバス上に現れ、MPEG形式のコードを表す可変数の有効ビット(1〜32)を有する。
PAFは、入力プロセッサ14によって発生されて、GOP(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つのビットが論理積ゲート30に供給される。全てのアキュームレータの10個のビットが論理0の状態にあるときに、真ゼロTrue Zeroが表示され、その10個のビットが論理和ゲート31に供給される。アキュムレータの5つの下位(LSB)のビットI0〜I4が論理0(ゼロ)状態にあるときに“残余無し”状態が示され、その5つのビットが論理和ゲート32に供給される。データパック器のワードアドレスWord Addressがアキュムレータの6つの下位のビットI0〜I5に応じて生成される。論理積ゲートアレー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)から供給される制御信号W EN1,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から出力信号が生成される。これらの信号は、次のクロック周期に出現する最終ワードを示す書き込みイネーブル信号W EN1、現在のクロック周期に出現する最終ワードを示す書き込みイネーブル信号W EN2、および擬似最終ワードPsuedo Last Wordを生成する書き込みゼロ信号W ZEROを含んでいる。この擬似最終ワードPsuedo Last Wordは、PAFの発生が不完全パケットの内部コードワードデータ境界に位置したパケット形成時点と一致したときに発生する。
動作状態の種々の例(表1のケース1〜6)に関するW EN1、W EN2およびW ZEROを生成するための真理表が、図3に示されている。これについては図5乃至図16との関連で後述する。表1用のアルゴリズムが付録Aに記載されている。制御器26の出力信号は、出力ワード制御信号として図4に示されるデータ組み立て回路に供給される前に、出力バッファレジスタ28に供給される。
図4のデータ組立て回路は、図1のデータパック器12の出力回路を構成している。即ち、データ組立て回路は、図示のような回路構成で、論理積ゲート42および44、論理和ゲート46およびD型フリップフロップ(D F/F)43および45を具えている。32ビット幅のパック・データワードPacked Data Wordが論理積ゲート42を介してデータFIFOに送られ、前段のパック器回路から供給されるワードレディ信号Word Readyが、論理積ゲート44を介して送られ、図1のデータFIFO16用のデータ書き込みイネーブル信号Data Write Enableになる。パック・ワード状態制御器26から供給されるデータ書き込み制御信号W EN1、W EN2およびW ZERO(図2A)が図示のようにフリップフロップ43と45および論理和ゲート46に供給される。W EN2は現在のワードに関連する最終ワード・フラグLast Word Flagを示し、W EN1は次のクロックサイクルにおけるワードに関連する最終ワード・フラグLast Word Flagを示す。W ZERO制御は、W EN1によって最終ワードのフラグが立てられる擬似最終ワードPseudo Last Wordの生成を示す(表1のケース4)。このケース4においては、擬似最終ワードと呼ばれる全ZEROのワードがパック・データワードストリームPacked Dataに挿入され、データFIFO16に書き込まれる。組立て回路の論理積ゲート44へのワードレディ入力信号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コードワードが次ぎに来ることが保証されているためである。さらに、これらのケースでは、パケットの不足分を、データ/ヘッダ合成器によってゼロ値ビット(null)・ワードで補填している。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は、ヘッダおよびデータワードがそれぞれ存在しない(nullである)ことを示し、これによってステートマシンである状態制御器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標準では、開始コードワードの前に任意の数のゼロワードが来ることを許容しており、受信機/デコーダはゼロ値ビットのnullワードを無視するようになっている。この例において、出力バッファ78は、その容量が大きく、時間的耐性(連続同一値に対する耐性)が高く、従ってnullワードパック動作を実行するのに適した手段を構成している。ここで、パケット境界におけるPAFの出現とPSコードワードの出現との間においてnullワードをパックするために利用できる時間は僅かしかない(例えば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係数の後にその相対的重要度順に各DCT AC係数が続く。ブロック終了コード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方式のテレビジョン・チャンネル内の各搬送波を直交振幅変調する。
The present invention relates to the field of digital signal processing, and more particularly to transport data packets used, for example, for transmitting MPEG-type data encoded in high-definition television systems. The present invention relates to an assembling method and apparatus.
Background of the invention U.S. Pat. No. 5,168,356 issued to Acampora et al. Describes a system for processing high-definition television (HDTV) signals according to MPEG-type variable length coding. . MPEG is a standard encoding format determined by the International Organization for Standardization (ISO). The standard is “International Organization for Standardization” ISO / IEC DIS 11172, Coding for Moving Pictures and Associated Audio for Digital Storage Media, Rev. Nov. .23, 1991, and is referred to herein to describe a general encoding format, and in a system outside of Acampola, codewords (codewords) contain data. Priorities are given to represent high and low priority information in the stream, and the codeword data stream is sent to the transport processor, which transmits the codeword data. , Each with a header section and packed data payload section Pack in the form of transport cells containing a down, supplies a high data stream priority and low priority output data stream.
The main function of the transport processor is to pack the variable-length code word data supplied (issued) by the priority processor in the previous stage into a packed data word format. The accumulated packed word is called a data packet, and a transport header is added in front of it.
The transport packet format facilitates resynchronization and signal recovery at the receiver. For example, if the header data is added even after the signal has been destroyed or broken due to interference in the transmission channel, the receiver can re-entry the data stream if the transmitted data is lost or corrupted. Points can be determined based on the header data. Data synchronization in an MPEG-compliant decoder is also performed by a GOP (Group of Pictures) having a starting point at the packet boundary. As will be seen later, a GOP is a series of one or more pictures or frames that allow a random access to a sequence of encoded video bitstreams (columns). . Resynchronization can also be facilitated by responding to the PS codeword of an intra-coded I frame and placing the PS codeword at the packet boundary in an MPEG standard compliant system, for example. If an apparatus according to the principle of the present invention is used, transport packets can be easily formed and processed.
SUMMARY OF THE INVENTION In accordance with the principles of the present invention, an imperfection having fewer words than a predetermined number in a system for transferring variable length codewords (e.g., MPEG codewords) in a data packet for transfer. A no-op “zero word” is packed into a new data packet to create a fixed-length packet, and a boundary between packets in which a predetermined code word appears is defined.
In the preferred embodiment disclosed, a special codeword, packet alignment flag (PAF), is inserted into the MPEG data stream to indicate the beginning of a GOP. . The PAF is placed immediately before the 'image start' codeword for the intra-frame encoded “I” frame that starts the GOP. The PAF informs that the appearance of the 'PS' codeword is imminent and has been over one clock cycle, during which one “housekeeping” function is activated at the beginning of the next packet. Performed before the start 'codeword appears. These housekeeping functions include, for example, resetting the accumulator, checking the status of the header, and setting the 'last word indicator' for the data packet being built when the PAF appears. Is to occur. Since the GOP is supposed to start at the packet boundary, when a PAF appears, the data packet being built is terminated. Such a termination may result in a shortened packet containing stuffed words, less than the specified number. This shortened data packet is filled with null (zeroed bits) words to form a complete data packet with a specified number of words, and the interpacket boundary where the image start codeword appears Determine. Thirty 32-bit fixed-length words form one data packet, and this data packet is preceded by one 32-bit header.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a partial block diagram of a video signal encoder comprising a data word controller, a data packer, and a data / header synthesizer according to the present invention.
2A, 2B and 2C show details of the word controller and data packer of FIG.
FIG. 3 is a truth table for the operation of the word state controller shown in FIG. 2A.
FIG. 4 shows details of the pack data assembly circuit.
5 to 16 show examples of the last word occurrence.
FIG. 17 shows details of the data and header synthesizer shown in FIG.
FIG. 18 is a state transition diagram regarding the operation of the state controller shown in FIG.
FIG. 19 is a block diagram of a high resolution television encoding system including an apparatus according to the present invention.
20A and 20B are image representations of a sequence of image fields / frames of an encoded video signal.
FIG. 21 is an image representation of data block generation formed by the encoding / compression apparatus in the system of FIG.
FIG. 22 is a generalized image representation of the data format formed by the encoding / compression device in the system of FIG.
Detailed Description of the Drawings FIG. 1 is a block diagram of a
The
The PAF is generated by the
The word address Word Address is sent to the
As long as there are pack data words that can be processed, the pack data words are transferred to the data /
Each header contains information about the data in the data packet associated with that header. The header information provides data assembly and synchronization at the receiver. The header information includes information such as a service type (eg, audio, video, data), a frame type, a frame number, and a slice number, for example. This type of header and its processing is described in relation to an HDTV digital signal processing system using MPEG type signal coding in US Pat. No. 5,168,356 to Acampola et al.
A data packet may contain less than 30 packed data words,
It is important to properly identify the last word Last Word in the data packet. The final word Last Word confirms that the packet assembled with the associated transport header is properly recorded (accommodated). The last word “Last Word” indicates the presence of a packet filled in an MPEG GOP boundary (ie, an intra-coded frame). GOP boundaries are important for resynchronization, for example in a television receiver / decombiner after a channel change. Determining the last word Last Word is not trivial. For example, when the packet is complete (completed), and when complete, whether the packet is being segmented or data segmented into the next packet The final word Last Word is determined according to the specific information. The last word has a state when the last word Last Word is a word formed during the current clock period and a state when the last word Last Word is a word to be formed during the next clock period. Exists.
The following are some specific examples of forming the final word Last Word. If there is no PAF when the packet is complete, the last word (the 30th word in this example) is the last word and is marked as the last word by the last word indicator Last Word Indicator. . This is an example of the “true” final word Last Word. PAF occurs when a packet does not have bits to segment into the next packet, ie when a word ends exactly at a packet boundary. Since the final word of the complete packet is actually the final word, it is marked as the final word Last Word. This is another example of a “true” final word Last Word. PAF also occurs when a packet is complete with the remaining few bits segmented into the first word of the next packet. In this case, two consecutive last words Last Word are formed and marked as such. First, the final word of the complete packet is marked as Last Last (the “true” final word Last Word). The first word of the next packet is then marked as the last word Last Word because the packet is forcibly shortened by PAF. In the case of a shortened packet like the latter, the last word Last Word appears before 30 words have been transmitted, and then “zero words” are filled to make the packet a complete packet. Next, other examples of the last word Last Word will be given. PAF also occurs when a packet is in the state of an incomplete packet being assembled. If the internal word is word complete with the remaining bits being segmented into the next word, that partial word becomes the last word Last Word. A difficult situation arises, especially when the packet is complete with an incomplete packet being assembled and the internal word is complete without any bits being segmented into the next word. That is, if an internal word is sent to the data / header synthesizer before later data (ie, the appearance of a PAF) indicates that this word is the last word, this word is the last word. It is already too late to properly mark In this case, a zero word called a “pseudo” final word is generated and displayed as the final word. Such a pseudo-final word consists entirely of zero bits. This is different from, for example, part of the segmented (incomplete) final word being filled with 0 bits. The above example or another example will be described with reference to FIGS.
Among the important features of the system disclosed in the following description is the generation of a zero length PAF. A PAF with this length of 0 indicates that the beginning of the GOP will appear soon after, generates and marks the last word Last Word in the data packet and, if necessary, the pseudo last word Pseudo Last Word And specific signals can be easily generated in relation to various states of occurrence of the last word Last Word.
FIG. 2A shows details of the
The
When a zero-length empty codeword is received, ie, a zero-length word Length indicating the presence of a no-op (NO-OP) codeword, the
In FIG. 2B, a 10-bit accumulator output representing the accumulated length is assigned to I0-I9. A packet is complete when the accumulated length of the packet codeword is greater than 960. When the four upper (MSB) bits I 6 -I 9 of the accumulator are in a logic one state, that state is indicated and the four bits are provided to the AND
FIG. 2C shows details of the
After transmitting the last word in the packet so that the header of the next packet is inserted after the last word of the current packet, the next transport header is subsequently inserted in the combined data stream Is done. The header controller uses the Accumulator Output Accumulator Output (FIG. 2A) to indicate the position of certain codewords in the packet so that each position is described in the entry point field in the header. A logic array associated with the
A truth table for generating WEN1, WEN2 and WZERO for various examples of operating conditions (cases 1-6 of Table 1) is shown in FIG. This will be described later in connection with FIGS. The algorithm for Table 1 is described in Appendix A. The output signal of the
The data assembly circuit shown in FIG. 4 constitutes the output circuit of the
Next, an example of generation of the last word illustrated in FIGS. 5 to 16 will be described. Some of these examples show the action of zero-length NO-OP words that exist before and after the PAF.
5 and 6 show different examples corresponding to Case 5 in Table 1. FIG. In FIG. 5, the packet is segmented into the next packet (ie, the accumulator bit value is greater than 960) to form a complete packet. In FIG. 6, the packet forms a complete packet exactly at the packet boundary (ie, the accumulator bit value is equal to 960) and produces residual data without segmentation into the next packet. Without forming a complete packet. In either case, the last word flag Last Word Flag is generated simultaneously with the occurrence of packet complete Packet Complete. The last word flag is generated independently without considering each indication of true zero and residual Remnant when there is no PAF. On the other hand, if a PAF exists, the last word flag LAST Word Flag is generated in consideration of each indication of true zero and residual Remnant.
7 and 8 illustrate case 2 in Table 1. In FIG. 7, PAF occurs without segmentation immediately after the packet is complete, followed by a 32-bit PS codeword. FIG. 8 is similar to FIG. 7 except that three inserted zero-length no-operation (NO-OP) codewords precede the PS codeword. 7 and 8, the PAF is generated in time coincident with the packet complete signal Packet Complete, and the packet ends without causing the remaining data to be segmented in the next packet. FIG. 7 shows the more general case where a 32-bit long PS codeword follows immediately. FIG. 8 shows that NO-OP words are allowed to be inserted.
FIG. 9 is a diagram related to case 6a in Table 1. In this figure, the PAF is generated in a position that does not coincide with the packet complete signal Packet Complete. PAF occurs after the NO-OP word after the packet is complete without segmentation, followed by the PS code word. In this case, the last word indication (flag) Last Word Indicatation occurs in association with the packet complete signal Packet Complete, but the accumulator status is idle with a value of 0 (zero) and the true zero indication True Zero Since there will be a final word indication (flag) Last Word Indication will not occur in association with PAF.
10 and 11 show an example of
12, 13 and 14 show an example of case 3 in Table 1. FIG. In these examples, PAF occurs at some position during packet formation, but does not occur on a word boundary (ie, segmentation into the next word occurs), and packet complete indication Packet Complete Does not match. Then, as a result of the partial start of the word (due to segmentation), the final word signal Last Word usually occurs in the next clock period after the PAF. In FIG. 12, PAF occurs after several NO-OP words after the packet is complete with segmentation, followed by PS code words. In FIG. 13, PAF occurs with segmentation occurring at the same time as the word is complete, followed by a PS code word. In FIG. 14, PAF occurs after a word is complete and after segmentation has occurred with several codewords.
FIG. 15 and FIG. 16 are diagrams for illustrating the necessity of generating the pseudo last word Pseudo Last Word, which is a special type of final word, illustrating case 4 in Table 1. In this case, PAF occurs without a word being segmented, that is, immediately after a word completes on a word boundary that is a multiple of 32 (Figure 15) or just after that (Figure 16). To do. In this case, it is assumed that the complete word has already been supplied (supplied after the PAF) before the information that it was the last word is obtained. In that case, an all-zero pseudo last word Pseudo Last Word is formed and supplied. The reason for this is that MPEG allows any number of zeros (0) to precede the start codeword, and guarantees that the PS codeword will be followed by the occurrence of PAF. Because it is. Furthermore, in these cases, the packet shortage is compensated by a zero value bit (null) word by a data / header synthesizer. In this case, the synthesizer will provide one fewer word, since one zero word is issued and it is pseudo-marked as the last word. In FIG. 15, PAF occurs as soon as a word is complete (with no segmentation) followed by a PS code word. In FIG. 16, the inserted NO-OP word follows after the word is complete (with no segmentation). Thereafter, a PAF occurs, followed by a PS code word.
FIG. 17 shows a detailed configuration of the data / header synthesizer 15 (FIG. 1). The header component is written to the
Both units of the two
A complete packet of a predetermined length can be properly used by adding the required number of empty words as described above. By using such complete packets, data can be searched and synchronized in any data state, such as in a variable length codeword system. The start codeword, in particular the I frame start codeword, is an inherent resynchronization point in a data stream compatible with MPEG (interoperability). The start codeword appears at the packet boundary. Such packet boundary processing can be performed by packet perfecting the truncated data packet and determining the packet boundary using an empty word of zero-value bits in the system described herein. The MPEG standard allows any number of zero words to precede the start code word, and the receiver / decoder ignores null words with zero value bits. In this example, the
FIG. 19 illustrates a high-definition television (HDTV) encoding system using an apparatus according to the present invention in the transport processor section. FIG. 19 shows a system for processing a single video input signal. However, it can be seen that the luminance (luminance) component and the chrominance component are processed separately, and the compressed chrominance component is generated using the luminance motion vector. The compressed luminance and chrominance components are interleaved to form macroblocks before parsing the codeword priority. Additional information regarding the system of FIG. 19 can be found in US Pat. No. 5,168,356 to Acampola et al. The sequence (column) of image fields / frames shown in FIG. 20A is supplied to a
An MPEG format signal generated by this system will be described. (A) A continuous image field / frame of a video signal is encoded according to an I, P, B encoding sequence, and (b) is encoded at a screen level. Data is encoded in the form of MPEG format slices or blocks. In that case, the number of slices per field / frame takes various values, and the number of macroblocks per slice also takes various values. The I-coded frame is intra-frame compressed so that it can be processed using only the I-frame compressed data when performing image reproduction. P-coded frames are coded according to the forward motion compensated prediction method, and P-frame coded data is generated from the current frame and the I or P frame that occurs before the current frame. The B encoded frame is encoded according to a bidirectional motion compensated prediction method. B-coded frame data is generated from the current frame and the I and P frames that occur before and after the current frame.
The encoded output signal of the current system is segmented into fields / frames or groups of images (GOP) illustrated in box L2 row (FIG. 22). Each GOP (L2) includes a header, followed by a segment of image data. The GOP header includes data related to horizontal and vertical screen sizes, aspect ratios, field / frame rates, bit rates, and the like.
Image data (L3) corresponding to each image field / frame includes a picture head, and slice data (L4) follows the picture header. The picture head contains the field / frame number and the picture code type. Each slice (L4) includes a slice header, and the slice header is followed by a plurality of data blocks MBi. The slice header includes a group number and a quantization parameter.
Each block MBi (L5) represents a macroblock and includes a header, followed by a motion vector (MV) and a coding coefficient. The MBi header includes a macroblock address, a macroblock type, and a quantization parameter. The coding coefficient is exemplified in the layer L6. Each macroblock includes a total of six blocks including four luminance blocks, one U chrominance block, and one V chrominance block (see FIG. 21). A block represents a matrix of pixels, for example an 8 × 8 matrix, on which a discrete cosine transform (DCT) is performed. The four luminance blocks are, for example, a matrix of 2 × 2 adjacent luminance blocks representing a 16 × 16 pixel matrix. The chrominance (U and V) blocks represent the same area as the entire area of the four luminance blocks. That is, before compression, the chrominance signal is subsampled by two coefficients (1/2) in the horizontal and vertical directions with respect to luminance. One slice of data corresponds to data representing a rectangular portion in an image corresponding to an area represented as an adjacent macroblock group. One frame includes 360 slices, that is, 60 slices in the vertical direction × 6 slices in the horizontal direction.
The block coefficient is supplied by the DCT for one block at a time. DC coefficients are generated first, followed by each DCT AC coefficient in order of its relative importance. A block end code EOB (end-of-block) is added to the end of each block of continuously generated data.
In FIG. 19, the data supplied from the
Claims (2)
前記可変長コードワードのデータストリームに応答して、予め定めた数よりも少ない数のビットを有するパケットを形成する手段と、
当該形成されたパケットを出力に転送するデータ処理手段と
を備え、
前記出力に前記形成されたパケットを転送する際に、前記パケットに関連する画像のグループ(GOP)の始まりを知らせるためパケットアライメントフラグを挿入し、前記データ処理手段は、前記予め定めた数のビットを有する固定長のパケットとなるように、必要に応じて前記パケットを、機能のないゼロ値ワードで満たし、
前記データ処理手段は、
前記パケットを含む、データパケットのストリームの関連するデータパケットの内容に関する情報が入っているヘッダを受け取る手段と、
前記パケットを受け取る手段と、
を含み、前記ヘッダおよびデータパケットを受け取り、処理して出力データストリームを作成することを特徴とする装置。An apparatus for processing a data stream of variable length codewords representing an image, comprising:
In response to a data stream of the variable-length code words, and means to form a packet having a predetermined number of bits less than the number,
Comprising a <br/> the data processing means to transfer the formed packets to an output,
When transferring the formed packet to the output, a packet alignment flag is inserted to indicate the start of a group of images (GOP) associated with the packet, and the data processing means is configured to transmit the predetermined number of bits. as the fixed-length packets having, the optionally packets, meets a zero value word with no function
The data processing means includes
Including pre Kipa packets, means for receiving a header information about the contents of the associated data packets of the stream of data packets is on,
And means for receiving the Kipa packet before,
Hints, pre SL receives the header and the data packet, processes it and wherein the creating an output data stream.
前記可変長コードワードのデータストリームに応答して、予め定めた数よりも少ない数のビットを有するパケットを形成するステップと、In response to the variable length codeword data stream, forming a packet having fewer than a predetermined number of bits;
当該形成されたパケットを出力に転送するステップとForwarding the formed packet to the output;
を備え、With
前記転送するステップは、The transferring step includes:
前記パケットを含む、データパケットのストリームの関連するパケットの内容に関する情報が入っているヘッダを受け取るステップと、Receiving a header containing information about the contents of the associated packet of the stream of data packets, including the packet;
前記パケットを受け取るステップと、Receiving the packet;
前記パケットに関連する画像のグループ(GOP)の始まりを知らせるためパケットアライメントフラグを挿入するステップと、Inserting a packet alignment flag to signal the start of a group of images (GOP) associated with the packet;
前記予め定めた数のビットを有する固定長のパケットとなるように、必要に応じて前記パケットを、機能のないゼロ値ワードで満たすステップと、Filling the packet with a non-functional zero-value word as necessary to be a fixed-length packet having the predetermined number of bits;
前記ヘッダおよびパケットを処理して出力データストリームを作成するステップとを含むことを特徴とする方法。Processing the header and packets to create an output data stream.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US1993/011583 WO1995015650A1 (en) | 1993-11-30 | 1993-11-30 | Data processor for assembling transport data packets |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004261579A Division JP2004357340A (en) | 2004-09-08 | 2004-09-08 | Apparatus for processing data stream |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09507975A JPH09507975A (en) | 1997-08-12 |
JP4357594B2 true JP4357594B2 (en) | 2009-11-04 |
Family
ID=22237242
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP51556895A Expired - Lifetime JP4357594B2 (en) | 1993-11-30 | 1993-11-30 | Pack data processor in transport data packet assembly system |
Country Status (8)
Country | Link |
---|---|
EP (1) | EP0732032A4 (en) |
JP (1) | JP4357594B2 (en) |
KR (1) | KR100327684B1 (en) |
CN (2) | CN1099808C (en) |
AU (1) | AU5983794A (en) |
MY (2) | MY166757A (en) |
TW (1) | TW243578B (en) |
WO (1) | WO1995015650A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010161799A (en) * | 2010-03-16 | 2010-07-22 | General Electric Co <Ge> | Method for processing data stream |
JP2010161803A (en) * | 2010-03-17 | 2010-07-22 | General Electric Co <Ge> | Method for processing data stream |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100821835B1 (en) * | 2001-06-30 | 2008-04-11 | 주식회사 케이티 | Method for realtime sorting of streaming data in Multimedia Messaging Server system |
SE0303085D0 (en) * | 2003-11-18 | 2003-11-18 | Scalado Ab | Method for creating a compressed digital image representation and image representation format |
CN108966000B (en) * | 2018-07-17 | 2021-01-29 | 北京世纪好未来教育科技有限公司 | Playing method and device, medium and terminal thereof |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB8929152D0 (en) * | 1989-12-22 | 1990-02-28 | Gen Electric | A digital augmentation system for actv-ii |
DE69122634T2 (en) * | 1990-02-06 | 1997-05-15 | Alcatel Italia | System, packet structure and device for processing the output information of a signal encoder |
BE1003827A4 (en) * | 1990-02-26 | 1992-06-23 | Alcatel Bell Sdt Sa | Universal coding method image signals. |
US5122875A (en) * | 1991-02-27 | 1992-06-16 | General Electric Company | An HDTV compression system |
US5289276A (en) * | 1992-06-19 | 1994-02-22 | General Electric Company | Method and apparatus for conveying compressed video data over a noisy communication channel |
-
1993
- 1993-11-30 WO PCT/US1993/011583 patent/WO1995015650A1/en not_active Application Discontinuation
- 1993-11-30 KR KR1019960702952A patent/KR100327684B1/en not_active IP Right Cessation
- 1993-11-30 AU AU59837/94A patent/AU5983794A/en not_active Abandoned
- 1993-11-30 EP EP94905919A patent/EP0732032A4/en not_active Withdrawn
- 1993-11-30 JP JP51556895A patent/JP4357594B2/en not_active Expired - Lifetime
-
1994
- 1994-08-31 TW TW083108027A patent/TW243578B/en not_active IP Right Cessation
- 1994-11-28 MY MYPI20021820A patent/MY166757A/en unknown
- 1994-11-28 MY MYPI94003161A patent/MY118734A/en unknown
- 1994-11-29 CN CN94112954A patent/CN1099808C/en not_active Expired - Lifetime
- 1994-11-29 CN CNB021204373A patent/CN1196331C/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010161799A (en) * | 2010-03-16 | 2010-07-22 | General Electric Co <Ge> | Method for processing data stream |
JP2010161803A (en) * | 2010-03-17 | 2010-07-22 | General Electric Co <Ge> | Method for processing data stream |
JP4648489B2 (en) * | 2010-03-17 | 2011-03-09 | ゼネラル・エレクトリック・カンパニイ | How to process the data stream |
Also Published As
Publication number | Publication date |
---|---|
TW243578B (en) | 1995-03-21 |
MY118734A (en) | 2005-01-31 |
EP0732032A4 (en) | 1998-12-30 |
CN1111876A (en) | 1995-11-15 |
JPH09507975A (en) | 1997-08-12 |
KR960706751A (en) | 1996-12-09 |
CN1434634A (en) | 2003-08-06 |
CN1196331C (en) | 2005-04-06 |
AU5983794A (en) | 1995-06-19 |
KR100327684B1 (en) | 2002-07-27 |
WO1995015650A1 (en) | 1995-06-08 |
CN1099808C (en) | 2003-01-22 |
MY166757A (en) | 2018-07-20 |
EP0732032A1 (en) | 1996-09-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3811183B2 (en) | Apparatus and method for processing a data stream | |
KR100284397B1 (en) | Reset Control Circuit for Video Signal Encoder | |
JP3708974B2 (en) | Coded video signal processing device | |
US5784110A (en) | Data processor for assembling transport data packets | |
US5767912A (en) | Datastream packet alignment indicator in a system for assembling transport data packets | |
JP2001025007A (en) | Mpeg stream switching method | |
EP0598346A2 (en) | Double buffer scheme for variable length decoder | |
JP4357594B2 (en) | Pack data processor in transport data packet assembly system | |
JP4497483B2 (en) | Device for processing data streams | |
JP4648489B2 (en) | How to process the data stream | |
JP5119522B2 (en) | Device for processing data streams | |
KR100327683B1 (en) | Image display codeword data stream processing device | |
JP4317925B2 (en) | Apparatus and method for processing a data stream | |
JP4808812B2 (en) | Device for processing data streams | |
JP4863326B2 (en) | How to process the data stream | |
JP4754648B2 (en) | How to process the data stream | |
JP5110721B2 (en) | Device for processing data streams | |
JP5264003B2 (en) | Device for processing data streams | |
JP2004357340A (en) | Apparatus for processing data stream |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20031202 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20040119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040302 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20040511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040908 |
|
RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20040908 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20040909 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20041028 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050616 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080522 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080530 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080822 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090709 |
|
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: 20090805 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120814 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130814 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |