(57)【特許請求の範囲】
【請求項１】
並列に動作し、入力データのそれぞれの部分に関連する複数のエンコーダからのエンコードされた信号を組み合わせる方法であって、
前記複数のエンコーダの間で順序を確立するステップと、
前記エンコーダによる前記入力データの関連部分のエンコードの完了時に信号をアサートとするステップと、
前記信号に応答して前記順序に従って直接メモリ・アクセス手段にそれぞれのエンコーダの出力を転送するステップと、
各エンコーダのエンコードされた出力の最後のバイトとして埋込みバイトを検出するステップと、
前記埋め込みバイトの検出に応答して、前記順序で次のエンコーダのエンコードされた出力の最初のバイトを廃棄するステップと
を含む方法。
【請求項２】
所定の順序で入力データのそれぞれの部分をエンコードする、並列に動作する複数のエンコーダと、
各前記エンコーダからのエンコードされたデータ出力の範囲を示す信号をアサートする手段と、
前記信号に応答して、前記エンコードされたデータを前記順序でシステム・メモリに書き込む直接メモリ・アクセス手段と、
各エンコーダのエンコードされた出力の最後のバイトとして埋込みバイトを検出する手段と、
前記埋め込みバイトの検出に応答して、前記順序で次のエンコーダのエンコードされた出力の最初のバイトを廃棄する手段と
を含むエンコード・システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、全般的には大量のデータの高速でのディジタル・エンコードが可能なエンコーダ・システムに関し、具体的には、絵のイメージ情報をエンコードするエンコーダ・システムに関する。
【０００２】
【従来の技術】
情報のディジタル伝送は、現在、多くの応用分野でアナログ伝送より好まれ、雑音余裕度の向上、誤り検出訂正のしやすさ、高速の伝送および保管を容易にする極度のデータ圧縮の可能性などの多数の利点をもたらす。これらの利点は、しばしば、当のデータの量が増えるにつれてより重要になることがしばしばである。比較的大きいファイル、データベース、その他のデータ集合体が、ますますさまざまになる応用分野で一般的になりつつあり、しばしばデータ圧縮と組み合わされる高速エンコードの必要が、それに対応して増大してきた。
【０００３】
大量のデータの高速エンコードに関する極度の需要を提示する応用分野の１つが、特に、高解像度でのまたは動きの錯覚をもたらすすばやく提示されるシーケンスでのあるいはその両方での、絵の通信である。単一イメージのデータ量が、数百万個のイメージ・ポイントまたは「画素」に達する場合があり、これらの画素のそれぞれが、色と輝度の両方の微細な階調を表現するためにエンコードされなければならない。物体の実際の動きをシミュレートする動きの錯覚を作るために、そのようなイメージを、一般におよそ毎秒２４から３０のイメージであると思われる、人間の視覚認知のフリッカ融合頻度を超える速度で提示しなければならない。したがって、ディジタル化された動画の非常に短いシーケンスであっても、数十億バイトのデータの伝送や保管を必要とすることがある。
【０００４】
そのような情報を望む人または一般の人によって使用される、市販の十分に安価なハードウェアを用いてそのような大量の情報に対処するために、圧縮によってデータの量を減らすことが必要である。イメージ・データ圧縮の複数の標準規格が、提案され、広く採用されている。イメージ・データの圧縮に関してより明確に受け入れられている標準規格の中に、ＪＰＥＧ標準規格およびＭＰＥＧ標準規格があり、現在、この両方の複数のバージョンが既知である。ＪＰＥＧ標準規格では、任意の度合のデータ圧縮に関して最適の解像度を維持することができ、２０倍以上の圧縮であっても、一般に感知可能なイメージ品質または忠実度の低下をもたらさないことが多い。ＭＰＥＧ標準規格は、多くの態様でＪＰＥＧ標準規格に似るが、フレーム間でのイメージの一部の冗長性を使用して、追加のデータ圧縮を行うこともできる。
【０００５】
エンコード時におけるそのように大きな度合のデータ圧縮は、特に放送応用分野での高精細テレビジョン（ＨＤＴＶ）のように高解像度が必要である時に、複雑であり、かなりの処理能力を必要とする。商業的に許容されるコストのエンコーダ・システムから必要なデータ速度を得るために、複数の市販エンコーダを並列に使用して、入力画像のそれぞれの部分を処理することが、現在行われている。しかし、この出費によって必要なデータ速度を得ることはできるが、かなりの後処理オーバーヘッドおよびデータ待ち時間が必要であった。
【０００６】
具体的に言うと、上で言及したＪＰＥＧおよびＭＰＥＧなどの許容されるイメージ・データ圧縮標準規格は、所与の度合の忠実度または解像度でエンコードされるイメージに対して、異なる量のデータを生じる場合がある（すなわち、所与の量のデータまたは圧縮の度合に対して最大イメージ品質を維持するという望ましい特性の逆）。したがって、それぞれのエンコーダからの個々のデータ・ストリームを単一の連続する出力データ・ストリームに組み合わせられるように、エンコード処理から生じるディジタル・データの量が既知になる前に、各エンコーダが処理を完了しなければならない。すなわち、個々のエンコーダから出力される複数のデータ・ストリームから連続する１つのデータ・ストリームを形成するのに必要な高速切替を制御するためには、イメージのそれぞれの部分に対応する各エンコーダのエンコーダ・データ・ストリーム内の正確なビット数を報告しなければならない。
【０００７】
非リアルタイム・システムでは、個々のデータ・ストリームおよび個々のビット・カウントが、ハード・ディスクなどの大容量記憶装置に書き込まれ、後の処理のために検索され、単一のデータ・ストリームに組み立てられる。しかし、放送応用分野のＨＤＴＶなどのリアルタイム・システムでは、大量のダイナミック・ランダム・アクセス・メモリまたはスタティック・ランダム・アクセス・メモリなどの大容量高速アクセス・メモリを使用して、個々のエンコーダ出力ストリームをオンザフライで一緒に「つなぎ」合わせなければならない。この処理は、必要なデータ速度での読取動作および書込動作を正しく制御するために、かなりの量の処理も必要とする。フレームまたはフィールド全体のエンコード処理が完了し、エンコードされたデータが保管され、ビット・カウントが取り出されるまで、エンコーダ・システムが個々の出力ストリームの使用または処理を開始することができないので、その分の待ち時間も必要である。エンコードおよび保管が完了する前に、イメージ部分の出力ストリームのサイズを知ったり、正確に予測したりすることができず、そのためイメージの一部のデータをアドレスの連続するシーケンスに保管できず、それによりイメージの別の部分のエンコードされたデータを上書きしてしまう可能性が生じるという事実によって、メモリおよびその必要なサイズの最小化の制御も複雑になる。
【０００８】
したがって、大量のエンコードおよび圧縮の他の困難さおよび複雑さに加えて、必要なデータ速度を実現する能力内での、メモリのコストと、処理オーバーヘッドおよびメモリ制御の量との間の設計のトレードオフがある。データ待ち時間の増加によって、処理オーバーヘッドも増え、ハードウェア要件が増える可能性があり、これによって、同期化が非常に複雑になる可能性がある。
【０００９】
【発明が解決しようとする課題】
したがって、本発明の目的は、メモリ要件を最小にしながら短い待ち時間および低い処理オーバーヘッドを有する、実質的にリアルタイムで複数のエンコーダからのビット・ストリームを組み合わせる装置および方法を提供することである。
【００１０】
本発明のもう１つの目的は、ＨＤＴＶデータ速度に対処することができる、単純で経済的なエンコーダ・システムを提供することである。
【００１１】
【課題を解決するための手段】
本発明の上記および他の目的を達成するために、入力データの複数の部分にそれぞれ関連する複数のエンコーダの間で順序を確立するステップと、それぞれのエンコーダによる入力データの関連部分のエンコードの完了時に信号をアサートするステップと、順序に従って、信号に応答して直接メモリ・アクセス手段にそれぞれのエンコーダの出力を転送するステップとを含むエンコード方法を提供する。
【００１２】
本発明のもう１つの態様によれば、所定の順序で入力データのそれぞれの部分をエンコードする、並列に動作する複数のエンコーダと、各エンコーダからのエンコードされたデータ出力の範囲を示す信号をアサートする手段（例えば制御プロセッサ）と、エンコードされたデータの範囲を示す信号に応答して、エンコードされたデータを前記順序でシステム・メモリに書き込む直接メモリ・アクセス手段とを含むエンコーダ・システムが提供される。
【００１３】
【発明の実施の形態】
ここで図面、具体的には図１を参照すると、本発明の第１の好ましい実施形態が、概略ブロック図の形で示されている。本発明のこの実施形態では、エンコーダは、それぞれの出力データ・ストリームを内部的にバッファリングしないが、後で詳細に説明する第２の好ましい実施形態では、そのような内部バッファリングを提供するエンコーダが想定される。
【００１４】
図１のエンコーダ・システムには、複数のエンコーダ１１０−１、１１０−２、１１０−３、および１１０−４が含まれる。エンコーダの数は、本発明の実施にとって重要ではないが、放送環境でのＨＤＴＶデータのエンコードに十分なデータ速度を実現するためには、普通の解像度の動画データをリアルタイムにエンコードできる市販のエンコーダが４つあれば、一般には十分である。先入れ先出し（ＦＩＦＯ）バッファ１４０−１、１４０−２、１４０−３、および１４０−４が、それぞれのエンコーダ１１０ごとに設けられる。ＦＩＦＯバッファの長さは、本発明の実施にとって重要ではなく、入力イメージのそれぞれの部分のエンコードされたデータを受け入れるのに十分な長さだけとすることができる。データを、書き込み直後にＦＩＦＯバッファから読み取ることができるので、ＦＩＦＯ機能によって待ち時間が増えることはない。これは、単一のデータ・ストリームへの組立を始める前に、フィールドまたはフレーム全体のデータが、メモリに書き込まれ、評価されなければならない、上で述べた従来の処理とは異なる。ＦＩＦＯバッファ１４０およびデータ・バス１２０の幅は、エンコーダ出力データより１ビットだけ広くしなければならない。たとえば、エンコードされたデータを長さ２バイト（１６ビット）で転送することが好ましく、データ・バス・アーキテクチャは、一般に、パリティ・ビットなどの処理のために１８ビットを受け入れる。したがって、ＦＩＦＯ幅が１７ビットであることが、好ましいが、本発明の実施のためにクリティカルではない。追加ビットは、データ・バス内のエンコードされたデータと並列に（または別の接続によって）マーカーとして提供され、このマーカーは、エンコーダまたは好ましくは制御プロセッサ内で生成されるが、新しいフレームのデータが入力された時およびイメージの所定の部分に対応するマクロブロック・カウントの時にアサートされるトグル信号など、ハードウェアにより多くの方法で生成することができる。他の配置は、当業者に明白であろう。書込信号１３０も、デコーダまたは制御プロセッサ１９０によって生成され、それぞれのＦＩＦＯへの書込動作を制御するために出力される。
【００１５】
ＦＩＦＯバッファ１４０−１乃至１４０−４（または１４０−ｎ）は、バス１６０によって直接メモリ・アクセス（ＤＭＡ）ハードウェア１７０に接続され、バス１６０は、マーカー・ビットおよび制御信号接続１５０を含めてバス１２０に対応する幅であり、制御信号接続１５０によって、選択されたＦＩＦＯからＤＭＡハードウェア１７０へのデータの読出およびメモリへの転送が制御される。したがって、ＤＭＡハードウェアは、任意のＦＩＦＯからデータを読み取り、そのデータを効果的にシームレス・ストリームでシステム・メモリに渡すことができる（ＤＭＡハードウェア内の切替時間によって時間ギャップが作られる場合、それらの時間ギャップは、記憶装置内のセグメント化またはシステム・メモリからの読出時のタイミングのいずれにも反映されない）。１８０に示されるように、ＦＩＦＯ読取の固定された順序が、ＤＭＡハードウェアとの接続で確立されるが、この順序は、ＤＭＡハードウェア自体で提供されない場合には、当業者に明白な多くの方法で達成できる（たとえば、ＤＭＡハードウェアがマーカー・ビットを受け取るたびに増分されるカウンタ）。
【００１６】
マーカー・ビットの論理状態は、エンコーダ１１０−１乃至１１０−４が圧縮データを出力している時には、たとえば「０」であり、エンコーダが入力イメージ・データの関連部分のエンコードおよび出力を完了する時に、マーカー・ビットに「１」がセットされたダミー書込が行われるものとする。エンコーダの初期化およびエンコーダへのイメージ・データの入力の際に、ＤＭＡハードウェアは、第１のＦＩＦＯバッファ１４０−１からのエンコードされた出力の読取を開始し、それぞれのデータを受け取る時にマーカー・ビットをテストする。マーカー・ビットが「０」である場合には、データはシステム・メモリに送られるが、マーカー・ビットが「１」である場合には、データは廃棄される（そのデータがＦＩＦＯとの間の前の書込または読取からシステム・メモリに既に転送されており、廃棄されるデータが、上で説明したダミー書込に対応するので）。さらに、マーカー・ビットが「１」である場合には、ＤＭＡハードウェアは、次のＦＩＦＯ（たとえば１４０−２など）からの読取を開始するように切り替えられ、ここで、マーカー・ビットが、有効な新たにエンコードされたデータについて「０」になり、ダミー書込は、前と同様に、エンコードされたデータの終りに「１」でマークされる。この処理は、ＦＩＦＯを通して順番に進行し、システム・メモリに連続して保管される入力イメージの順序付けられた部分に対応するエンコードされたデータがもたらされ、このシステム・メモリから、入力イメージ全体のエンコードされた信号を、連続したシームレスなデータ・ストリームで、最小限の待ち時間で読み出すことができる。この処理は、各エンコーダからのエンコードされたデータの長さを知ることを必要とせず、データ（たとえばイメージ・データ）のいかなる部分のエンコードも、異なるエンコーダからのデータの組み立てまたはシステム・メモリへの転送が開始される前に完了することを必要としない。
【００１７】
処理の経過に伴って生成される結果は、システム・メモリの１区域に保管された組み立てられたデータ（たとえばＨＤＴＶ）ストリームであることも理解されたい。この結果は、システム・メモリの別個の独立の区域にエンコーダ出力を保管し、別の処理でシステム・メモリからの読出時に単一のストリームに組み立てるよりも、特に処理オーバーヘッドおよびデータ待ち時間（ならびに待ち時間が過大である時の同期化などの問題の困難を解決するための処理）に関して、はるかに効率的である。ＤＭＡハードウェアの動作またはＤＭＡハードウェア自体も、単純化される。というのは、ＤＭＡハードウェアは、システム・メモリの単一の区域または位置に書き込むだけであり、したがって、事実上、エンコードされたデータを単一のデータ・ストリームに多重化するからである。さらに、エンコーダ、ＦＩＦＯ、およびＤＭＡハードウェアの組合せは、一旦入力イメージ・データに同期化されると、本質的に自律的に動作し、エンコードされた出力データが、システム・メモリからの読出によって伝送に関して同期化される。
【００１８】
図２を参照して、本発明の第２の好ましい実施形態を詳細に説明する。上で述べたように、第２の実施形態は、エンコーダが内部的に出力をバッファリングできることの結果として、さまざまな点で上で述べた第１の実施形態と異なる。他の特徴は、上で述べた第１の実施形態に概念的または機能的に類似する。
【００１９】
第１の実施形態と同様に、複数のエンコーダ２１０−１、２１０−２、２１０−３、および２１０−４（２１０−ｎ）が設けられ、リアルタイムＨＤＴＶエンコードへの好ましい応用の観点では４つのエンコーダが好ましいが、使用されるエンコーダの数は、本発明の実施にとって重要ではない。同様に、各エンコーダは、入力イメージの所定の部分およびそれに対応するデータまたはエンコードされる他のデータに関連付けられることが好ましい。
【００２０】
この実施形態では、エンコーダ２１０のそれぞれが、カスケード所有権レジスタ（ＣＯＲ）２２０に関連する（好ましくは内部的にそれを含む）。このレジスタには、単一ビットのカスケード所有権信号が含まれ、エンコーダは、接続２３０によって環状または再入可能な形で接続されて、あるエンコーダからのカスケード出力信号が順次に次のエンコーダへのカスケード入力信号として提供され、それにより、１つのＣＯＲ２２０だけが所与の論理値（たとえば「１」）を有することができ、他のＣＯＲ２２０が異なる論理値（たとえば「０」）を有するように制約されるように、所有権が転送される。第２の実施形態のこの特徴は、有効なデータおよびシステム・メモリへの転送可能化を１つの状態で示す、エンコードされたデータの範囲を示すためのマーカー・ビットに概念的および機能的に類似している。
【００２１】
それぞれのイネーブル信号をエンコーダの内部バッファ・レジスタに出力するレジスタまたはリング・カウンタのステージとしてＣＯＲを配置するなどの他の代替配置は、当業者に明白であろう。したがって、使用される配置の細部に無関係に、１つのエンコーダだけが、出力バスを「所有」し、それにデータを出力することができ、すべてのエンコーダを、出力バスに並列に接続できるようになる（ＣＯＲ値が「０」で、関連するエンコーダがバスを「所有」しない場合に、そのエンコーダのバッファ出力が、入出力回路、具体的にはトライステート回路とも称する回路で周知の、高インピーダンスに見えるようにされることが好ましい）。インターフェースのこの接続／所有権配置の手法を、効果的に実行される論理結合機能に従って、出力バスまたは単一のＦＩＦＯバッファ２４０に「ドットされる」と称する。
【００２２】
ＦＩＦＯバッファ２４０は、図１の配置のそれに似た形でＤＭＡハードウェア２５０によるデータ転送の同期化を容易にし、最適のスループット能力を保証するために設けられる。しかし、ＦＩＦＯバッファの省略およびエンコーダの出力バッファの直接の使用可能化など、他の手段を使用することもできる。しかし、データ消失の回避および最大のエンコーダ・スループットは、そのような場合には保証されない。それぞれのエンコーダに対応するイメージ部分に関するエンコードされたデータを保管できるだけの容量しかない単一のＦＩＦＯバッファのコストは、比較的低く、データ消失の回避および最大のエンコーダ・スループットが可能になるので、単一のＦＩＦＯバッファ２４０を設けることが好ましい。
【００２３】
動作時に、第１のエンコーダ（たとえば２１０−１）は、エンコードまたは圧縮されたデータ・ストリームの関連部分の出力を完了する時に、そのＣＯＲをリセット（たとえば「０」に）し、そのカスケード出力信号をアサートして、次のエンコーダに所有権を渡し、直前のエンコーダからのカスケード入力信号（たとえばエンコーダ２１０−ｎからエンコーダ２１０−１へのカスケード入力信号）（および、その結果の出力バスの所有権）を受け取るまで、それ自体の出力をバッファリングする。次に続くエンコーダ（たとえば２１０−２）は、自身のバッファリングされたエンコードされたデータを出力して、次のエンコーダ（たとえば２１０−３）に所有権を転送する。以下同様である。順次出力されるエンコードされたデータは、一時的にＦＩＦＯバッファ２４０にバッファリングされ、第１の実施形態と同様にＤＭＡハードウェア２５０によって、その制御の下でシステム・メモリに転送される。これによって、前と同様に、システム・メモリの単一の位置または区域にエンコードされたデータを書き込み、シームレスな連続データ・ストリームをシステム・メモリから同期式に読み出す、十分に自律的な動作が可能になる。
【００２４】
前述に鑑みて、本発明が、高いスループット・レベルを達成するために並列で動作する複数のエンコーダからの出力を短いデータ待ち時間で組み合わせる方法および装置を提供することがわかる。本発明は、比較的少ない量のハードウェアを用いて実施することができ、処理オーバーヘッドを減らすために実質的に自律的に動作することができる。ＨＤＴＶデータ速度に対処することができる単純で経済的なエンコーダ・システムももたらされる。
【００２５】
図２をもう一度参照して、図２による本発明の実施形態と共に使用可能な本発明の改善する機能を詳細に説明する。特にエンコード処理と組み合わされる圧縮技法について、重要な目標は、できる限り少ないデータを出力することである。しかし、エンコーダが、データ・ストリーム中のデータの最後のバイト（たとえば、イメージのうちでエンコーダが対応する部分の最後のデータ）を出力している時に、バイト境界に位置合せされる圧縮ストリームの書込を実行するのに十分なデータがあるようになるまで（たとえば、ＭＰＥＧおよび他の圧縮標準規格によるバイト境界）、そのデータにビット（たとえば０）を埋め込まなければならない。また、ほとんどの圧縮標準規格は、データの最初の部分が、一般に１６進「０００００１ＸＸ」（ＸＸは開始コードのタイプ）の形である（たとえばＭＰＥＧの）バイト整合開始コードであることを要求する。さらに、どのエンコーダからであっても、最初の書込は、０のバイトから始まる。したがって、情報を担持せず、メモリからの伝送または検索の後にエンコードされる情報担持信号を遅らせる可能性がある余分な０のバイトが、エンコードされたデータ内に配置され、したがって、エンコーディングおよびエンコードされた信号の質を下げると同時に、保管、伝送、およびエンコーディングの非効率性を招き、動画データの場合に、おそらく同期化問題を招き、視覚的に知覚可能なアーチファクトまたは他の実質的にリアルタイムのデータの同等の問題を招く可能性がある。
【００２６】
本発明の改善する特徴は、何らかの方法で０のバイトの出現を検出するが、好ましいのは、各エンコーダの最後のバイトのすべてのビットをテストし、０のバイトが検出された時に第１バイト除去信号を発行する、ＮＯＲゲートという単純な手段を用いるものである。この信号は、図２の実施形態で次のエンコーダの出力の最初の０のバイトを抑止し、データ・ストリームの残りをシフトするために、符号２６０に示されているように、次のエンコーダ（または、後で、ＦＩＦＯ、ＤＭＡハードウェア、およびシステム・メモリのパイプライン）に、ＣＯＲ信号と共に転送することができる。図１の実施形態においても、０バイトの除去を制御する第２のマーカー・ビットを追加し、出力を供給する特定のＦＩＦＯの変更の際にＤＭＡ内またはそれぞれのＦＩＦＯ内の出力ストリームをシフトすることによって、上記と同一の効果を達成することができる。
【００２７】
これは、前のエンコーダからのデータ出力の埋込み（パディング）によって効果的に置換されていたバイトの除去をもたらし、開始コードは構文的に正しいままであり、圧縮標準規格で指定されたフォーマットが保存されると同時に、情報を担持しないバイトがデータ・ストリームから除去される。本発明のこの特徴は、埋込みビットが開始コードの最初のビットと一致する、他の単一バイト・ワード・フォーマットおよび複数バイト・ワード・フォーマットにも適用可能である。
【００２８】
したがって、本発明のこの改善する特徴を用いると、複数のエンコーダの使用から生じる可能性があるすべての余分な０のビットまたはバイトを、組み合わされたデータ・ストリームから除去できるようになる。同様に、本発明のこの改善する特徴によって、複数エンコーダの使用から本質的に生じるエンコードされた信号の品質の非効率性および妥協が除去されて、できる限り少ないビットを出力しながら望みのデータ速度が達成される。したがって、より多数の低速であるが安価なエンコーダを使用して、最小のデータ待ち時間で任意の高いデータ・レートを達成することができ、エンコーダ出力が効率的に多重化される。
【００２９】
好ましい実施形態に関して本発明を説明してきたが、請求項の趣旨および範囲の中で、修正を加えて本発明を実施できることは言うまでもない。
【図面の簡単な説明】
【図１】本発明の第１の好ましい実施形態の高水準概略ブロック図である。
【図２】本発明の第２の好ましい実施形態の高水準概略ブロック図であり、さらに、図１または図２の好ましい実施形態のいずれかおよびその変形形態と共に使用可能な本発明による改善する特徴を示す図である。
【図１】
0003639580.tif 000002
【図２】
0003639580.tif 000003