(57)【特許請求の範囲】
【請求項１】
コードワード・データストリームを、優先順位付けされた第１および第２のコードワード・シーケンスにセグメント化する、ビデオ信号処理システムの装置であって、
一連のデータ・グループを含むビデオ信号コードワード・データストリームを供給すると共に、前記ビデオ信号コードワード・データストリームの各コードワードと同時に、関連したコードワードのビット長を示す長さワードを供給する手段と、
前記ビデオ信号コードワード・データストリームに応答して分析インタバル期間中に動作することにより、データ・グループ内の第１および第２のコードワードを分けるためのプライオリティ・ブレークポイントを判定する分析手段を含み、該プライオリティ・ブレークポイントが挿入された出力コードワード・データストリームを出力するコードワード処理手段と、
前記コードワード処理手段から前記出力コードワード・データストリームを受信し、前記出力コードワード・データストリームのフォーマットを、優先順位付けされた第１および第２のデータ・チャネルを介して伝送するために前記優先順位付けされた第１および第２のコードワード・シーケンスに変換する伝送処理手段と、
前記分析インタバル期間中に、空白コードワードであって該コードワードに関連した長さワードがゼロ値を示す空白コードワード、を生成する手段と、
前記コードワード処理手段によって前記ビデオ信号コードワード・データストリームの処理が行われる前段において、前記空白コードワードを前記ビデオ信号コードワード・データストリーム中に挿入する手段と、
を具備したことを特徴とする装置。
【請求項２】
請求項１に記載の装置において、
前記ビデオ信号は、複数のイメージ・スライスをそれぞれ含む複数のイメージ・フレームから構成されたイメージ情報を内容とするテレビジョン信号であり、
前記分析インタバル期間はイメージ・スライス・インタバルを含む、ことを特徴とする装置。
【請求項３】
請求項１に記載の装置において、
前記ビデオ信号コードワード・データストリームを供給する手段から供給された前記ビデオ信号コードワード・データストリームはＭＰＥＧ符号化フォーマットに準拠しており、
前記伝送処理手段は、コードワードを伝送用データセルにパッキング処理する際、前記空白コードワードを無視する、
ことを特徴とする装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明はコード化ビデオ信号を処理するための装置に関し、特に、可変長コード化（variable length coding - VLC) の対象となるビデオ信号を、ＭＰＥＧ標準に従って優先順位付けするための装置に関する。
【０００２】
なお、本明細書の記述は本件出願の優先権の基礎たる米国特許出願第０８／０４２，１７３号（１９９３年４月２日出願）の明細書の記載に基づくものであって、当該米国特許出願の番号を参照することによって当該米国特許出願の明細書の記載内容が本明細書の一部分を構成するものとする。
【０００３】
【背景技術】
米国特許第5,122,875 号（Raychaudhuri他）は、ＭＰＥＧ準拠(MPEG-like) 可変長コード化の対象となる高品位テレビジョン(high-definition television - HDTV) 信号を処理するためのシステムを記載している。ＭＰＥＧとは、国際標準化機構(International Organization for Standardization - ISO)によって確立された標準化コード形式である。この標準は、ＩＳＯ文書ISO/IEC DIS 11172 「ディジタル記憶媒体用の動画および関連オーディオのコード化」(Coding for Moving Pictures and Associated Audio for Digital Storage Media) に述べられており、1991年11月23日改訂に記載されている。なお、この文書は、一般的コード形式の説明部分に関しては、引用により本明細書の一部を構成するものである。Raychaudhuriシステムは、コードワード(codeword)を高プライオリティと低プライオリティのコードワード・シーケンスに分割するプライオリティ・セレクタ(priority selector) を含んでいる。高プライオリティと低プライオリティのコードワード・シーケンスは、それぞれイメージ再生にとって相対的に大きい重要度と小さい重要度をもつ圧縮ビデオ・データに対応している。
【０００４】
プライオリティ・セレクタは、あるイメージ・スライス(image slice) のときの高プライオリティと低プライオリティのセグメント間のブレークポイント(breakpoint)を計算するためにコードワードを分析する。以下の説明で明らかなように、「スライス」とは、ＭＰＥＧコード化構文の階層の１つに対応するイメージ・セグメントである。コードワード・データストリームがトランスポート・プロセッサ(transport processor) に渡されると、このプロセッサはコードワード・データを各々がヘッダとペイロード(payload) セクションを含んでいるトランスポート・セル(transportcell) にパックし、出力としてＨＰデータストリームとＳＰデータストリームを送出する。
【０００５】
データ優先順位付けシステム(data prioritizing system)においてプライオリティ・セレクタに望まれていることは、そのオペレーションを同期化して必要なタイミング条件を単純化することである。例えば、必要とするクロックを１つだけにすることである。プライオリティ・セレクタに望まれているもう１つは、優先順位付けされたデータがトランスポータ・プロセッサによって受信され、パックされて出力チャネルに送出されるとき、そのデータストームがＭＰＥＧなどの標準的データ形式との互換性を失わないように、コードワード・データストリームを処理することである。
【０００６】
【発明の概要】
本発明による装置はコードワード・プライオリタイザ(codeword prioritizer)に組み込まれ、所定のコードワード相互間の関係に従って、コードワード・データストリームを複数のコードワード・シーケンスにセングメント化することを容易にする。本明細書に開示している好適実施例によれば、コードワード・プライオリタイザは、コードワード・シーケンスを分析して、高プライオリティ（ＨＰ）コードワードと標準プライオリティ（ＳＰ）コードワード間のどこにブレークポイントを設定すべきかを判断するために休止(pause) したときのインタバル期間に、空白コードワード(null codeword) をコードワード・データストリームに挿入する。この空白ワードは、そのあとに続くトランスポータ・プロセッサがコードワードをセルにパックするとき無視することにより、ＭＰＥＧフォーマットとの互換性を保つようにしている。
【０００７】
【実施例】
以下、図面を参照して本発明の実施例を詳細に説明する。
【０００８】
図１に示すように、高品位テレビジョン・ソース１０からのディジタル・ビデオ・データは、プロセッサ１４においてＭＰＥＧ準拠の可変長コード化（つまり、データ圧縮）の処理を受ける。データ・ソース１０は、一連のオリジナル・イメージ・フィールド／フレーム・データ（図２（Ａ）に図示）を並べ替え、これにより、図２（Ｂ）に示すような出力を得る。並べ替えられたシーケンス（データ列）はプロセッサ／コンプレッサ１４に入力され、このプロセッサ／コンプレッサはＭＰＥＧ準拠のフォーマットに従ってコード化された圧縮フレームのシーケンスを出力する。このフォーマット（形式）は階層構造になっており、図５には簡略形式で示されている。ＭＰＥＧ階層形式（ｈｉｅｒａｒｃｈｉｃａｌ  ｆｏｒｍａｔ）は複数の層からなり、各層はそれぞれのヘッダ情報をもっている。名目上、各ヘッダは開始コード(start code)、それぞれの層に関するデータ、およびヘッダ拡張部分を追加するための予備を含んでいる。ヘッダ情報の多く（上記のＭＰＥＧ文書に示されているもの）は、ＭＰＥＧシステム環境において同期をとる目的で必要になるものである。圧縮されたビデオ・データ、つまり、図５に示すように階層形式の可変長コード化（ＶＬＣ）された並列コードワードは、プロセッサ１４からＦＩＦＯプライオリティ分析バッファ(FIFO priority analysis buffer) ２２に入力される。このバッファは、プライオリティ・プロセッサ(priority processor)２０の分析回路によって分析される直前にコードワードをストアする。
【０００９】
プロセッサ１４は、プライオリティ・プロセッサ２０が必要とするコードワード・タイプ・データを含んでいるコードワードを作成する。具体的には、プロセッサ１４は各並列入力コードワードを、７ビットのタイプ・フィールドおよび１５ビットのバリュー・フィールドを示す並列２２ビットの等価フォーマットに変換するために複数のＲＯＭを採用している。タイプ・フィールドは、ＭＰＥＧ階層内で意味と相対的プライオリティが異なるコードワードを区別する情報、つまり、タイプ別にコードワードを区別する情報を収めている。バリュー・フィールドは、特定コードワード・タイプの量的情報を収めている。バリュー・フィールドの１５ビットは、すべてが常に使用されるとは限らない。例えば、タイプ「１５」はモーション・ベクトル(motion vector) であり、このタイプに関連する９ビット値はベクトルの大きさを示している。また、プロセッサ１４は、各コードワードと同時に、そのコードワードの長さを示す長さ(Length)ワードを、並列ビット形式で別々のバス上に送出する。米国特許第5,122,875 号（Raychaudhuri) には、ＭＰＥＧ準拠の階層構造化された圧縮ビデオ・データを出力するために、エレメント１４として使用できるコンプレッサ装置の例が開示されている。
【００１０】
プロセッサ１４からの２２ビット・コードワードは、（有効な）新しいコードワードがいつ受信できる準備状態にあるかをバッファ２２に知らせる、プロセッサ１４からのＷＲＩＴＥ信号と一緒に、プライオリティ・プロセッサ２０に非同期的に送られる。書込みイネーブル（許可）クロック（ライト  ＥＮ）は、有効なコードワードをバッファ２２に書き込むためのものである。システム・クロック・ジェネレータ２５によって生成される23.6 MHzのリード信号は、プライオリティ・プロセッサ２０のすべてのエレメントによって使用される単一システム・クロックである。読取りイネーブル（許可）信号（リード  ＥＮ）は、バッファ２２がユニット１４からデータを受信しようとしていることを制御ユニット２４が検出したとき、制御ユニット２４によって生成され、それ以外のときは禁止とされる。リード・イネーブル信号（リード  ＥＮ）の他の特性は後に説明する。
【００１１】
プライオリティ・プロセッサ２０は、一度に１スライスごとにコードワード・データストリームを分析し、そして、このプライオリティ・プロセッサが、各スライスをＨＰセグメントとＳＰセグメントに優先順位付けするブレークポイント値を計算しているときの分析インタバル期間に、空白コードワード(null codeword -  長さがゼロと指定されているコードワード）をスライスとスライスの間に挿入する。最終的には、これらのセグメントはトランスポート・プロセッサ(transport processor) ５０によってＨＰセルまたはＳＰセルにパックされる。スライス(slice) とは、図４と図５に示すように、ＭＰＥＧ規定のイメージ・セグメントである。これについては、図４および図５を参照して後述する。空白コードワードを含めて、各コードワードには、関連したコードワードのビット長を指定する並列長さワードが関連づけられている。空白コードワードは、プロセッサ１４によってコードワードが生成されないときのインタバル期間（つまり、モーションまたはイメージ・ディテールがほとんど、あるいはまったくないインタバル期間）にも挿入される。空白コードワードはプロセッサ２０の同期オペレーションを容易にし、単一システム・クロック（リード）の使用を可能にする。空白コードワードは、データ・パック・オペレーション時にはトランスポート・プロセッサ５０によって無視されるが、これは、各空白コードワードに関連づけられた長さワードには、ゼロの値が割り当てられているためである。
【００１２】
バッファ２２は従来の設計構造にすることが可能である。例えば、バッファ２２は、それぞれの部分に１５ビットのバリュー・コードワードを受け入れるための対の並列化８ビット幅バッファと、７ビットのタイプ・コードワードを受け入れるための８ビット幅バッファとで構成することが可能である。この目的に適した８ビット幅ユニット（バッファ）としては、Integrated Device Technology社製のIDT 型72241 バッファがある。これらの８ビット・ユニットからのバッファされた出力は、それぞれのＤフリップフロップを経由して、バッファ２２のバリューおよびタイプ・コードワード出力に送ることが可能である。Ｄフリップフロップはリード信号によってクロックがとられ、それぞれの８ビット・バッファの出力端から送られてきたデータをその「Ｄ」入力端に受信する。リード・イネーブル（リード  ＥＮ）信号は、８ビット・バッファから出力Ｄフリップフロップへのデータ・フローを許可または禁止するゲートを制御するために使用される。
【００１３】
コードワードは、リード・クロックに同期して、一度に１コードワードずつバッファ２２から読み出されるが、この読出しはスライスとスライスの間では中止される。タイム・マルチプレクサ(time multiplexer)２８は、バッファ２２が空であるときのインタバル期間に、また、プライオリティ・ブレークポイントがあるスライスで計算されているときの分析インタバル期間バッファ２２が読み出されていないときに、空白コードワードをバッファ２２からのデータストリーム中に挿入する。空白コードワードとその関連（ゼロ）長さワードは、コンパレータおよび空白コードワード・ジェネレータ２６によって生成される。ユニット２６のコンパレータ部分はバッファ２２の出力をモニタし、ピクチャ開始(Picture Start) コードワード（これは、各ピクチャ・フレームの直前に現れる）およびスライス開始(Slice Start) コードワード（これは各イメージ・スライスの直前に現れる）が現れると、それを検出するようにプログラムされている。例えば、スライス開始コードワードが現れたときは、あるスライス（Ｎ）がバッファ２２から読み出され、次のスライス（Ｎ＋１）がバッファ２２に書き込まれる直前にあることを示している。ブレークポイント・アナライザ(breakpoint analyser) ４２がスライス・データを分析するためには、一定数のクロック・サイクルが必要であり、その終了時に、バッファ２２はリード・イネーブル（リード  ＥＮ）信号を受けて再び読み出すことが許可され、空白コードワード生成は中止される。空白コードワードとその関連並列長さワードは、タイム・マルチプレクサ２８の一方の入力端に入力され、他方の入力端には、バッファ２２からのタイプおよびバリュー・データ出力が入力される。
【００１４】
レジスタ３０はリード・システム・クロックと同期して動作し、マルチプレクサ２８がクロックで動作するデバイスではなく、そのために時間遅延が起こったとき発生するタイミング差を埋め合わせるために、データストリームのタイミングを調整する働きをする。レジスタ３０の同期コードワード出力は、コンパレータおよびフラグ・ジェネレータ３２を経由してコードワード・バッファ３６の一方の入力端に、また、３クロック期間遅延ネットワーク(three-clock period delay network)３４を経由してコードワード・バッファ３６の他方の入力端に入力される。ユニット３２のコンパレータ部分は、４つの関連インジケータ（フラグ）を生成する目的で４つのコードワード・タイプを検出するようにプログラムされており、これらのコードワード・タイプがトランスポート・プロセッサ５０によって受信されたとき、該当のマークが付けられるようになっている。トランスポート・プロセッサが必要とする４つのフラグは、グループ開始(Group Start) フラグ、ピクチャ開始(Picture Start) フラグ、レコード・ヘッダ(Record Header) フラグおよびマクロブロック・アドレス・インクリメント(Macroblock Address Increment)フラグである。これらのフラグはコードワード・ストリームと並列に伝達される。
【００１５】
ユニット３２は、“Ｉ”フレーム（これは図４と図５に示されているが、同図を参照して後述する）のピクチャ開始コードワードより１コードワード前にグループ開始フラグを生成する。従って、このフラグは２クロックだけ遅延してコードワード・バッファ３６に渡される。グループ開始フラグは、ピクチャ開始コードワードより１コードワード前に、空白コードワードと同時に現れる。ピクチャ開始フラグは、すべてのフレーム（図４のＩ、Ｐ、Ｂフレーム）のピクチャ開始コードワードと同時に生成される。ピクチャ開始フラグは、ピクチャ開始コードワード・タイプが検出されると生成され、このフラグは、ピクチャ開始コードワードとタイミングを合わせるために、３クロック期間だけ遅延してコードワード・バッファ３６に渡される。レコード・ヘッダ・フラグは、スライス開始コードワードより１コードワード前に、すべてのスライスの開始時に生成され、空白コードワードと同時に現れるが、空白コードワードは、あとで、マルチプレクサ４１のオペレーションによってプライオリティ・ブレークポイント値に置き換えられる。レコード・ヘッダ・コードワードは、関連スライスのプライオリティ・ブレークポイントを示す値を含んでいる。ユニット３２のコンパレータはスライス開始タイプ・コードワードを検出し、２クロックだけ遅延してスライス開始フラグをバッファ３６に出力する。レコード・ヘッダ・コードワードが所定のクロック・サイクル数のあとでコードワード・バッファ３６から現れると、現スライスのプライオリティ・ブレークポイント値がアナライザ４２から得られ、レコード・ヘッダと同時に現れた空白コードワードのバリュー・フィールド中にマルチプレクサ４１によって挿入される。バッファ３６のフラグ出力ラインはマルチプレクサ４１の制御入力端に入力され、その結果、プライオリティ・ブレークポイント値は、レコード・ヘッダ・フラグがバッファ３６のフラグ出力ラインに現れたとき、レコード・ヘッダと同時に現れた空白ワードのバリュー・フィールド中に挿入される。ブレークポイント値は、レコード・ヘッダ・フラグに関連づけられた空白ワードのバリュー・フィールド中に挿入され、この値は、トランポート・プロセッサ５０がレコード・ヘッダ自体を作るとき、トランスポート・プロセッサ５０によって使用される。マクロブロック・アドレス・インクリメント・インジケータ・フラグはマクロブロックの開始を示しており、マクロブロック・アドレス・インクリメント・コードワード・タイプが検出されたときマクロブロック・アドレス・インクリメント・コードワードと同時に生成される。
【００１６】
コードワード・バッファ３６は、一定数のクロック期間(clock period)の長さになっている。この例では、クロック期間は８１９２である。コードワードが遅延回路３４からバッファ３６に入るとき、ユニット３２によって生成されたフラグは、それぞれのコードワードとタイミングが合わされて、コードワードと一緒にバッファ３６内を伝わっていく。バッファ３６の長さは一定で、長いために、ブレークポイント・アナライザ４２とその関連回路は、十分な時間的余裕をもってスライス内のコードワードの統計を処理し、コードワードがバッファ３６から現れたときコードワードを優先順位付けするためのプライオリティ・ブレークポイント値を生成することができる。
【００１７】
バッファ３６からの正しくタイミング合わせされたコードワードとフラグはプライオリティ・フラグ・ジェネレータ４０のそれぞれの入力端に並列に送られる。このジェネレータ４０には、ブレークポイント・アナライザ４２からプライオリティ・ブレークポイント値も入力される。ユニット４０からの出力コードワードは、ユニット４８によってプロセッサ１４の入力に逆変換されてコードワード形式に戻され、各々がヘッダとデータ（ペイロード）セクションをもつＨＰセルとＳＰセル、つまり、トランスポート・パケットに、トランスポート・プロセッサ５０によって配列される。トランスポート・プロセッサ５０からのＨＰパケットとＳＰパケットは出力プロセッサ５５によって処理されてから、データ・チャネル上を送られる。図３および米国特許第５，１２２，８７５号（Raychaudhuri他）に示されているように、出力プロセッサ５５は、レート・バッファ(rate buffer) 、誤り訂正およびモデム・ネットワークを含むことが可能である。また、Raychaudhuri特許には、ＭＰＥＧ準拠の階層エンコード、優先順位付けを目的としたコードワード分析、およびトランスポート処理のために使用できるネットワークも記載されているが、これらについては後述する。
【００１８】
スライス・プライオリティ・ブレークポイントおよびその結果として優先順位付けされるＨＰとＳＰビットストリームを設定するためには、プライオリティ処理回路にはそのスライスのデータ統計が必要であり、この統計は、次のスライス・インタバル期間に新しいコードワードがプライオリティ・プロセッサに入力されたとき変更が行われた場合、その変更の影響を受けない必要がある。この問題を解決するアーキテクチャの１つとして、「ピンポン」方式で動作する２つのプライオリティ分析入力バッファを使用しているものがある。このアーキテクチャによれば、現スライスのコードワードは一方のバッファに書き込まれ、前のスライスのコードワードは他方のバッファから読み出されるようになっている。この種の二重バッファ構成は、前掲のRaychaudhuri特許に記載されているシステムで使用されている。二重バッファ手法は効率面では十分であるが、２つのバッファが必要になるために、ハードウェア面で高価である。さらに、タイミング制御信号を生成するための回路は、可変長コード化スライス・コードワードが一般に、異なる長さになっているために、複雑な構造になっている。図１に示すプライオリティ・プロセッサは、使用する入力バッファが入力バッファ２２の１つだけであるので、アーキテクチャが単純化され、低コストである。また、エンコーダ１２がデータを送信していないときのインタバルを利用するようになっている。
【００１９】
制御ユニット２４からバッファ２２に与えられる読取り許可（イネーブル）信号（リード  ＥＮ）により、単一バッファ２２からなる入力バッファ構成の実現が可能になっている。前述したように、リード・イネーブル信号は、バッファ２２から読み取られるコードワードがないとき、および、バッファ２２が空のときは、現れない。そのときは、空白コードワードがマルチプレクサ２８からデータストリーム中に挿入されるので、コードワード・データストリームは同期を維持している。バッファ２２は、リード・イネーブル信号がブレークポイント分析インタバルの終了時に現れたとき、データの読出しを開始し、この読出しは、通常、入力コードワード・ストリーム中にブレークポイント(break) が現れ（つまり、ディテールがほとんど、あるいはまったくないイメージが現れたとき）、その結果、バッファ２２に残っているコードワードがなくなるまで続けられ、コードワードがなくなると、リード・イネーブル信号は禁止され、空白コードワードがユニット２６，２８からデータストリーム中に挿入される。リード・イネーブル信号は、制御ユニット２４がバッファ２２の出力端に現れたピクチャ開始コードワード・タイプまたはスライス開始コードワード・タイプを検出したときも（例えば、コンパレータにより）禁止される。この状態が起こったときは、バッファ読取りオペレーションが中止される直前にバッファ２２から読み出されていたデータは、すべてが前のスライス（Ｎ）のものであり、新しいスライス（Ｎ＋１）が開始する直前にあることを意味する。
【００２０】
これらのコードワード・タイプの検出は、コードワード自体がクロックに合わせてバッファ２２から読み出される前に行われ、そして、そのコードワードはリード・イネーブル信号が禁止されている間、バッファ２２の出力レジスタに残っている。このアクションが必要なのは、スライスの終了を検出するために、次のスライス開始コードワードまたはピクチャ開始コードワードをモニタする必要があるためである。従って、検出された特定のコードワードは、それが現スライス・インタバルの終了を検出するために使用される場合であっても、次のスライス・インタバルまでバッファ２２に残っている。リード・イネーブル信号が禁止されている間、プライオリティ・プロセッサは分析モードにあり、到来したコードワードは、事前に決めた容量に達するまでバッファ２２内にバックアップがとられ、容量まで達すると、トランスポート・レディ(Transport Ready) 制御信号が禁止され、データをこれ以上受け付けることができないことをユニット１４に通知する。
【００２１】
スライス・プライオリティ・ブレークポイントを判断するには、ブレークポイント・アナライザ４２とデュアル・ポートのランダム・アクセス・メモリ（ＲＡＭ）４４との間でやりとりが行われる。このやりとりはスライス・インタバル期間に行われ、各スライス分析インタバルが終了するたびにクリアされる。スライス・データ累積(slice data accummulation)モードにあるときは、入力バッファ２２がデータを読み出している間、ＲＡＭ  ４４はスライス・コードワード・タイプ・データを第１アドレス・ポートから受け取る。分析インタバルでそのコードワード・タイプがこれまでに現れるたびに累積された関連長さワードは、ＲＡＭ  ４４の第１データ・ポートからアキュムレータに送られる。長さワードは、可変長コードワードの生成と同時にプロセッサ１４によって生成される。この長さワードはそれぞれの関連コードワードのビット長を示しており、上記アキュムレータの他方の入力ノードへ送られる。上記アキュムレータの出力は、分析インタバルのその時点における特定コードワード・タイプの更新された総コードワード・ビット数を含んでおり、第２データ・ポートからＲＡＭ  ４４にリストアされる。データ分析モードにあるときは、ＲＡＭ  ４４データとアドレスのソースは変更される。最高プライオリティ・コードワード・タイプであることを示すアドレス０から、最低プライオリティ・コードワード・タイプであることを示す最高コードワード・タイプ値までをカウントするインクリメンタ出力は、ＲＡＭ  ４４の第１アドレス・ポートへ送られる。従って、第１データ・ポートからは、プライオリティが順次に低くなっていくコードワード・タイプごとの累積ビット長が上記アキュムレータの一方の入力ノードへ送られる。上記アキュムレータの他方の入力端はアキュムレータの出力端からフィードバックされるので、該アキュムレータは、重要度が低くなっていく各コードワード・タイプの総ビット長の総和をとることになる。総和がＨＰ  ＦＲＡＣ  ＢＩＴＳ（下述する）信号の値まで達すると、総和がＨＰ  ＦＲＡＣ  ＢＩＴＳ値を越える原因となったビット長合計をもつコードワード・タイプが記録され、その分析インタバルのプライオリティ・ブレークポイント用に使用される。ＲＡＭ  ４４の第２アドレス・ポートにはインクリメンタ・カウントの遅延されたバージョンが入力され、一方、第２データ・ポートはロケーションをクリアし、ＲＡＭを次の分析インタバルのアキュムレータ・モードの準備状態にするためにゼロ値を送信する。
【００２２】
それぞれのコードワード・タイプについてＲＡＭ  ４４によって累積され、ストアされた長さ値は、ＲＡＭ  ４４の第２データ・ポートからアナライザ４２へ送られる。データ質問(data interrogation)信号ＩＮＴＥＲＲは、アナライザ４２からＲＡＭ  ４４の第２アドレス・ポートへ送られる。この質問信号を受けると、ＲＡＭ  ４４は、コードワード・タイプと長さデータを累積している途中で次のメモリ・アドレスまでインクリメントするので、次のアドレスからのデータは分析のためにユニット４２へ送られる。最高プライオリティ・データに対応する最高アドレスから始めて、ＲＡＭ  ４４は重要度が低くなっていく各コードワード・タイプのコードワード長さ値を累積していく。この累算は入力信号ＨＰ  ＦＲＡＣ  ＢＩＴＳで指定されたアドレスに達するまで続けられ、累積されたコードワード長さ値はアナライザ４２に出力される。
【００２３】
アナライザ４２は、累積された長さ値と入力信号ＨＰ  ＦＲＡＣ  ＢＩＴＳ値を関数として、プライオリティ・ブレークポイントを判断する。この信号は、分析しているスライスの高プライオリティ・チャネルで送るべき目標ビット数を、ユニット４２内のブレークポイント判断回路に通知する。信号ＨＰ  ＦＲＡＣ  ＢＩＴＳは、現在分析中のスライスに含まれるビット数と、アルゴリズムにより判断され、高プライオリティ対総ビット数の比率をパーセントで表したパラメータＨＰ  ＦＲＡＣとの積である。ＨＰ  ＦＲＡＣは基本的には、例えば、エンコーダ・レート・バッファから受け取ったビット割振り情報とバッファ占有情報を関数として、あるフレーム・インタバル期間に動的に計算されたデータ分割(data split)パラメータである。分析中のスライスのビット数はマイクロプロセッサ（図示せず）によって計算されるが、パラメータＨＰ  ＦＲＡＣは米国特許第5,144,425 号（Joseph) に記載されているように計算することが可能である。このJoseph特許には、長さとタイプ・コードワードと、ＨＰ  ＦＲＡＣパラメータに対応する値とに応答するブレークポイント・アナライザおよびアキュムレータを含む装置も記載されている。
【００２４】
スライスＮのコードワードがユニット４２によって分析されている間（この時点で、空白ワードがデータ・ストリーム中に挿入される）、後続のスライスのコードワードがユニット１４から送られてくると、ユニット２２内のバッファに入れられる。リード・イネーブル信号は分析インタバル期間中禁止されるので、次のスライスでバッファ２２にストアされるコードワード量は増加を続けていく。しかし、これは問題とはならない。つまり、上述したように、ユニット１４は相当量のデータをバッファ２２に送る能力があるが、データは、処理中のイメージがほとんど、あるいはまったくディテールまたはモーション情報をもっていないときのように、比較的長い時間期間の間、存在しないことがよくあるからである。これらのアイドル期間を利用すれば、バッファ２２は、次のデータ・バーストがユニット１４から送られてくる前に、不足分を取り戻し、最終的には読出しプロセスを通して空にすることが可能になる。
【００２５】
ユニット１４が次のコードワードのバーストをバッファ２２へ送る準備状態にあるとき、バッファ２２が一杯か、あるいはほとんど一杯になっていることが起こる。その場合には、バッファ２２からのＴＲＡＮＳＰＯＲＴ  ＲＥＡＤＹ信号が禁止され、ユニット１４に関連する出力バッファにデータを送信しないように指示する。これにより、ユニット１４の出力バッファは読出しを行う代わりに、一杯になったままになっている。これは、ユニット１４とプライオリティ・プロセッサ２０との間でデータが失われるのを防止する安全機構の働きをする。バッファ２２の容量が十分に大きければ、ＴＲＡＮＳＰＯＲＴ  ＲＥＡＤＹ信号が使用されることはまれである。
【００２６】
これまでに説明してきたシステムでは、非同期入力コードワードは、空白ワードを挿入することによって同期コードワード・データストリームに変換されるので、そのあとに続くハードウェアは、共通クロックを受けて動作することができる。必要なハードウェアは、単一入力のＦＩＦＯバッファ、デュアル・ポートＲＡＭおよびアナライザだけあれば十分であるので、単純化され、しかも、エンコーダからのデータストリームを停止させる回数を最小限にすることができる。
【００２７】
プライオリティ・フラグ・ジェネレータ(priority flag generator) ４０は高プライオリティ・フラグと標準プライオリティ・フラグを生成し、これらのフラグはそれぞれ、プライオリティ・ブレークポイントによって判断された高プライオリティと標準プライオリティのコードワード・シーケンスが存在することを示している。この目的のために、フラグ・ジェネレータ４０は、アナライザ４２からプライオリティ・ブレークポイントを受けて動作するコンパレータ・ネットワークを備えている。また、ユニット４０は前述したようにレコード・ヘッダ・フラグと他のフラグをバッファ３６から、タイプおよびバリュー・コードワード（ＣＷ）をバッファ３６とマルチプレクサ４１を経由して受信する。これらのコードワードには、コードワード・バッファ３６からのレコード・ヘッダ・フラグが現れたときにマルチプレクサ４１によって挿入されたプライオリティ・ブレークポイント値が各スライスのレコード・ヘッダ空白コードワード・バリュー・フィールドに入っている。各スライスのレコード・ヘッダに入っているプライオリティ・ブレークポイント値は、ＨＰ／ＳＰプライオリティ・ブレークポイントがどこに（つまり、スライスのどのコードワード・タイプに）現れるかを示しているので、受信側でデコードを行うことが容易になる。トランスポート・プロセッサ５０は、ユニット４０によって生成されたＨＰフラグとＳＰフラグを使用して、その入力コードワード・データストリームを出力ＨＰおよびＳＰデータストリームに分割する。ＨＰフラグのあとに置かれたコードワードは出力ＨＰデータ経路に送られ、ＳＰフラグのあとに置かれたコードワードは出力ＳＰデータ経路に送られる。ユニット４０からの並列出力データは、マルチプレクサ４１からのコードワードとバッファ３６からのいくつかのフラグ（これらはユニット４０によってほぼ未変更のままである）およびユニット４０によって生成され、正しくタイミング合わせされたＨＰフラグとＳＰフラグを含んでいる。
【００２８】
トランスポート・プロセッサ５０に入力される前に、ユニット４０からの出力コードワード・データストリームはブロック４８によって処理され、このブロックでは、ユニット１４によるコードワード処理とは逆の処理が行われる。ユニット４８は、フラグなどのある種のデータストリーム構成要素を未変更のまま引き渡す。タイプおよびバリュー・コード・データは、ユニット４８内のそれぞれのＲＯＭによって最大３２ビット長までの可変長コードワードに変換される。プライオリティ・プロセッサ２０からトランスポート・プロセッサ５０へ渡される並列データは、コードワード、長さワード、ユニット３２によって生成されたものを含むフラグ、およびユニット４０によって生成されたＨＰ、ＳＰフラグを含んでいる。トランスポート・プロセッサ５０はＨＰフラグとＳＰフラグを受け取ると、プライオリティ・プロセッサ２０からのコードワード・データストリームを、ペイロードとヘッダ・セクションを含むデータ・パケットのＨＰおよびＳＰストリームに分割し、これらは図３に示すように、出力プロセッサ５５によって処理される。トランスポート・プロセッサ５０が優先順位付けされた出力ＨＰおよびＳＰデータストリームをどのように作成するかの詳しい説明は、米国特許第5,231,486 号（A.A. Acampora)に記載されている。
【００２９】
図３は、本発明においてＨＤＴＶエンコード・システムを採用した装置の例を示したものである。図３に示すシステムは単一のビデオ入力信号を処理しているが、ルミナンス(luminance) 成分とクロミナンス(chrominance) 成分は別々に処理され、ルミナンス・モーション・ベクトルは圧縮されたクロミナンス成分を生成するために使用されることはもちろんである。圧縮されたルミナンス成分とクロミナンス成分はインタリーブされて、マクロブロックが作られてからコードワード・プライオリティの解析が行われる。
【００３０】
図２（Ａ）に示す一連のイメージ・フィールド／フレーム・シーケンスは回路３０５に入力され、フィールド／フレームは図２（Ｂ）に示すように並べ替えられる。並べ替えられたシーケンスはコンプレッサ３１０に入力され、ＭＰＥＧ準拠の形式（フォーマット）にコード化された圧縮フレーム・シーケンスが生成される。この形式は階層形式になっているが、図５には簡略形式で示されている。ＭＰＥＧ階層形式は、各々がそれぞれのヘッダ情報をもつ複数の層からなっている。名目上、各ヘッダは開始コード、それぞれの層に関するデータ、およびヘッダ拡張部分追加用の予備を含んでいる。
【００３１】
システムによって出力されるＭＰＥＧ準拠の信号に関して説明すると、それがなにを意味するかは、（ａ）ビデオ信号の連続するピクチャ・フィールド／フレームはＩ、Ｐ、Ｂコード化シーケンスに従ってコード化されることと、（ｂ）ピクチャ・レベルのコード化データはＭＰＥＧ準拠のスライスまたはブロック・グループでコード化されることであり、その場合、フィールド／フレーム当たりのスライス数は変化することがあり、またスライスあたりのマクロブロック数は変化することがある。Ｉコード化フレームはフレーム内で圧縮されるフレームであり、この場合、イメージを再生するためにＩフレーム圧縮データだけが必要になる。Ｐコード化フレームはフォワード・モーション補償予測法(forward motion compensated predictive method)に従ってコード化され、この場合、Ｐフレーム・コード化データは現フレームおよび現フレームの前に現れたＩまたはＰフレームから生成される。Ｂコード化フレームは双方向モーション補償予測法(bidirectionally motion compensated predictive method)に従ってコード化される。Ｂコード化フレーム・データは、現フレームおよび現フレームの前後に現れたＩとＰフレームから生成される。
【００３２】
このシステムのコード化出力信号は、フィールド／フレームのグループ、つまり、ボックスＬ１の行により示されるピクチャのグループ（ＧＯＰ）にセグメント化される（図５）。各ＧＯＰ（Ｌ２）はヘッダとそのあとに置かれたピクチャ・データのセグメントを含んでいる。ＧＯＰヘッダは、水平方向と垂直方向のピクチャ・サイズに関するデータ、アスペクト比、フィールド／フレーム・レート(field/frame rate)、ビット・レート(bit rate)などを含んでいる。
【００３３】
それぞれのピクチャ・フィールド／フレームに対応するピクチャ・データ（Ｌ３）は、ピクチャ・ヘッダとそのあとに置かれたスライス・データ（Ｌ４）を含んでいる。ピクチャ・ヘッダはフィールド／フレーム番号とピクチャ・コード・タイプを含んでいる。各スライス（Ｌ４）はスライス・ヘッダとそのあとに置かれた複数のデータ・ブロックＭＢｉを含んでいる。スライス・ヘッダはグループ番号と量子化(quantization)パラメータを含んでいる。
【００３４】
各ブロックＭＢｉ（Ｌ５）はマクロブロックを表し、ヘッダとそのあとに置かれたモーション・ベクトルおよびコード化係数(coded coefficient) を含んでいる。ＭＢｉヘッダはマクロブロック・アドレス、マクロブロック・タイプおよび量子化パラメータを含んでいる。コード化係数は層Ｌ６に示されている。各マクロブロックは６ブロックを含んでいる。つまり、４つのルミナンス・ブロック、１つのＵクロミナンス・ブロック、１つのＶクロミナンス・ブロックである（図４参照）。ブロックは、例えば、８×８のピクセル・マトリックスを表し、これに対して離散コサイン変換（discrete cosine transform - DCT)が施される。４つのルミナンス・ブロックは、例えば、１６×１６ピクセル・マトリックスを表す隣接ルミナンス・ブロックの２×２マトリックスになっている。クロミナンス（ＵとＶ）ブロックは、４つのルミナンス・ブロックと同じ総面積を表している。つまり、圧縮前に、クロミナンス信号は、ルミナンスに対して水平方向と垂直方向に２のファクター（ｆａｃｔｏｒ  ｏｆ  ｔｗｏ）だけサブサンプリングされる。データのスライスは、隣接するマクロブロック・グループで表された面積に対応するイメージの矩形部分を表すデータに対応している。フレームは、垂直方向の６０スライス×水平方向の６スライスからなる、３６０スライスのラスタ・スキャンを含むことが可能である。
【００３５】
ブロック係数は、一度に１ブロックずつ、ＤＣＴによって得られる。ＤＣ係数が最初に現れ、次に、それぞれのＤＣＴ  ＡＣ係数が相対的重要度の順に現れる。ブロック終わりコードＥＯＢは、連続して現れる各データ・ブロックの終わりに付加される。
【００３６】
コンプレッサ３１０からのデータはプライオリタイザ(prioritizer) ３１１によって処理されてからトランスポート・プロセッサ３１２に送られ、トランスポート・プロセッサはデータを高プライオリティ（ＨＰ）構成要素と標準プライオリティ（ＳＰ）構成要素にセグメント化する。これらの構成要素は、レート・バッファ(rate buffer) ３１３，３１４を経由してそれぞれのフォワード・エラー・コード化ユニット(forward error coding unit) ３１５，３１６に入力される。レート・コントローラ(rate controller) ３１８はバッファ３１３，３１４とやりとりして、コンプレッサ３１０から与えられた平均データ・レートを調整する。そのあと、信号は伝送モデム３１７に送られ、そこでＨＰおよびＳＰデータは、標準６ＭＨｚ  ＮＴＳＣテレビ・チャネル内のそれぞれの搬送波を直交振幅変調(quadrature amplitude modulate) する。
【００３７】
最後に、上述してきた実施例と特許請求の範囲との関係を示すために、カッコ書きにより、その対応関係を以下に示す。
【００３８】
『ビデオ信号処理システムにおいて、コードワード・データストリームを優先順位付けされた第１および第２のコードワード・シーケンスにセグメント化することを容易にする装置であって、
一連のデータ・グループを含むビデオ信号コードワード・データストリームを供給する手段（１４）と、
前記コードワード・データストリームに応答し、分析インタバル期間に動作して、あるデータ・グループ内のコードワードとコードワードとの間のプライオリティ・ブレークポイントを判断する分析手段（４２）を含むコードワード処理手段（３０〜３６、４０〜４４）と、
前記分析インタバル期間に空白コードワードを生成する手段（２６）と、
前記空白コードワードを含めて、出力コードワード・データストリームを前記コードワード処理手段から受信し、該データストリームのフォーマットを、優先順位付けされた第１および第２ノデータ・チャネルを介して伝送するのに適した形式の前記優先順位付けされた第１および第２のコードワード・シーケンスに変換するための伝送処理手段（５０）とを具備したことを特徴とする装置。』。
【００３９】
【図面の簡単な説明】
【図１】高品位テレビ・データなどのビデオ・データを処理するためのシステムにおいて、本発明によるプライオリティ・プロセッサ搭載装置を含んでいる部分を示すブロック図である。
【図２】コード化ビデオ信号のイメージ・フィールド／フレーム・シーケンスを絵で表した図である。
【図３】本発明によるコードワード・プライオリタイザ搭載装置を含むＨＤＴＶコード化システムを示すブロック図である。
【図４】図３に示すシステムに含まれるコード化／圧縮装置によって作成されるデータブロック生成を絵で表した図である。
【図５】図３に示すシステムに含まれるコード化／圧縮装置から得られるデータ形式を一般化して絵で表した図である。
【符号の説明】
１４  プロセッサ
２６  コンパレータおよび空白コードワード・ジェネレータ
３０  レジスタ
３２  コンパレータおよびフラグ・ジェネレータ
３４  ３クロック期間遅延ネットワーク
３６  コードワード・バッファ
４０  プライオリティ・フラグ・ジェネレータ
４１  マルチプレクサ
４２  ブレークポイント・アナライザ
４４  ＲＡＭ
５０  トランスポート・プロセッサ
【図１】
0003708974.tif 000002
【図２】
0003708974.tif 000003
【図３】
0003708974.tif 000004
【図４】
0003708974.tif 000005
【図５】
0003708974.tif 000006