(57)【特許請求の範囲】
【請求項１】
表示システムにおいてオンスクリーン表示（ＯＳＤ）を表示するためのＯＳＤビットストリームを構成する方法であって、
圧縮ピクセルモードと非圧縮ピクセルモードの一方を示す１ビットをＯＳＤヘッダ中にセットするステップと、
前記ＯＳＤヘッダ中の前記１ビットが前記圧縮ピクセルモードを示すときは、
第１及び第２のパレットエントリーのアドレスを含むインデックスバイトを発生するステップと、
それぞれが単一のピクセルを表す複数のビットを含むデータバイトであって、前記複数のビットのそれぞれが、それぞれのビットの論理状態に基づいて前記パレットエントリーの一つに関連付けられ、前記複数のビット及び前記第１、第２のパレットエントリーに応じて前記ＯＳＤが発生される、前記データバイトを発生するステップと、
を含み、
前記ＯＳＤヘッダ中の前記１ビットが前記非圧縮ピクセルモードを示すときは、
複数の非圧縮ピクセルデータを表し、前記複数の非圧縮ピクセルデータに応じて前記ＯＳＤが発生される、ＯＳＤデータを発生するステップと、
を含む、前記方法。
【発明の詳細な説明】
発明の属する技術分野
本発明は、オンスクリーン表示（ＯＳＤ）メッセージを発生する方法および装置に関する。さらに具体的には、本発明はＯＳＤ領域用に予め定められた（predefined）パレットをアクセスするために１ビットピクセルを使用するデコーディング／ディスプレイ（表示）システムのメモリの帯域幅要求を低減する方法および装置に関するものである。
発明の背景
オンスクリーン表示メッセージは、消費者用電子製品の取扱い方法および構成をユーザに教えるためのメニューのような対話形情報をユーザに伝えることにより、消費者用電子製品において重要な役割を果たすものである。ＯＳＤの他の重要な特徴として、クローズド・キャプション表示（Closed Captioning）およびチャンネル・ロゴの表示を行う機能を含んでいる。
しかしながら、ディジタルビデオ技術の標準を高めると、ＯＳＤメッセージの発生および表示に関する問題が絶えず増大することになる。例えば、現行のＮＴＳＣ（National Television System Committee）は１個の“ウインドウ（窓）”中に最大１２８個のキャラクタを必要とするのに対し、高精細度テレビジョン（ＨＤＴＶ）は４個の“ウインドウ（窓）”中に最大２１６個のキャラクタを表示しなければならないという、高精細度テレビジョン（ＨＤＴＶ）固有の要求がある。このような新しい要求は、入力するコード化（エンコード）されたデータストリームをデコード（復号）し、デコードされたデータを最小の遅延で表示システムに与える必要のある、テレビジョン信号のためのデコーディング（復号）／ディスプレイ（表示）システムに対して厳しい負担を課すことになる。ＯＳＤメッセージをビデオデータと共に表示（オーバーレイ：overlay）しなければならないので、デコーディング／ディスプレイ・システムのマイクロプロセッサはＯＳＤ機能（ファンクション）を実行するために、メモリの帯域幅の一部分を割り当てなければならず、そのためデコーディング／ディスプレイ・システムおよび全体にわたる計算用オーバーヘッドのメモリの帯域幅要求を増大させることになる。
従って、デコーディング／ディスプレイ・システムのハードウエアの要求、例えばメモリの帯域幅、を増大させることなくオンスクリーン表示（ＯＳＤ）メッセージを発生する方法および装置を必要とする。
発明の概要
本発明は、複数の“１ビット（one-bit）”ピクセルを有する有効ＯＳＤビットストリームを構成することによってＯＳＤメッセージを発生する装置およびそれに付随する方法に関する。
さらに具体的に言えば、本発明に従って、ＯＳＤユニットは記憶装置からＯＳＤビットストリームを検索する。ＯＳＤビットストリームはＯＳＤヘッダとＯＳＤデータとを含んでいる。ＯＳＤヘッダはＯＳＤユニットのカラーパレットをプログラムし、ＯＳＤデータの処理に関する命令を与えるために使用される制御情報を含んでいる。制御情報はデコーディング／ディスプレイ・システムのプロセッサによってプログラムされる。“圧縮ピクセルモード（Compressed Pixel Mode）”がＯＳＤヘッダ中でイネーブルされると、ＯＳＤユニットは、ＯＳＤビットストリーム中のＯＳＤデータの各ビットを“１ビット”ピクセルとして処理する。すなわち、各ＯＳＤデータのビットは２個の可能なインデックスの１つを表わし、各インデックスは多くの可能なパレットのエントリーの１つを識別する。例えば、４ビットアドレスによってアクセスできる１６個の起り得るエントリー（入力）が存在すれば、そのときは“１ビット”ピクセルは１ビットのみを使用して２個の起り得るエントリーをアクセスすることができる。
本発明の上記の特徴ならびに他の特徴については添付の図面を参照して以下に説明する。
【図面の簡単な説明】
図１は、本発明の特徴に従ってＯＳＤユニットを含むデコーディング／ディスプレイ・システムのブロック図である。
図２は、サンプルの圧縮ピクセルビット・ストリームの構成を示すブロック図である。
図３は、複数の１ビットピクセルを有する有効ＯＳＤビットストリームを構成する方法を説明するフローチャートを示す図である。
発明の詳細な説明
図１は、テレビジョン信号用デコーディング／ディスプレイ・システム１００（以下ではデコーディングシステムと称する）のブロック図を示す。デコーディングシステムは、プロセッサ１３０、ランダムアクセスメモリ（ＲＡＭ）１４０、読出し専用メモリ（ＲＯＭ）１４２、ＯＳＤユニット１５０、ビデオデコーダ１６０、およびミクサ１７０を含んでいる。ミクサ１７０の出力はパス（経路）１８０を経て表示装置１９０に結合されている。
以下では、本発明をＭＰＥＧ方式、ＩＳＯ／ＩＥＣ国際規格（International Standards）１１１７２（１９９１）（一般に、ＭＰＥＧ−１フォーマットと称される）および１３８１８（１９９５）（一般に、ＭＰＥＧ−２フォーマットと称される）に従って説明する。しかしながら、本発明を他のエンコーディング／デコーディング・フォーマットを実現する他のデコーディングシステムに適用あるいは適合させることができることは当業者には理解できよう。
好ましい実施例では、デコーディングシステム１００は各種のデータストリーム（ビットストリーム）１２０のオーディオおよびビデオのリアルタイムのデコンプレッション（圧縮解除）を実行する。ビットストリーム１２０は、ＭＰＥＧ−１およびＭＰＥＧ−２の標準に従ってエンコード（符号化）されたオーディオおよびビデオ基本ストリームから成る。エンコードされたビットストリーム１２０はエンコーダ（符号器）（図示せず）によって生成され、通信チャンネルを経てデコーディングシステムに伝送される。エンコードされたビットストリームは複数のイメージのコード化表示を含み、また上記のイメージに関連するオーディオ情報、例えばマルチメディア・データストリームを含むことがある。マルチメディアのソースは、ＨＤＴＶ局（ステーション）、ビデオディスク、ケーブルテレビジョン局（ステーション）等である。次いで、デコーディングシステム１００はエンコードされたビットストリームをデコード（復号）して、付随するオーディオ情報と同期してディスプレイ１９０上に表示するための複数のデコードされたイメージを生成する。しかしながら、デコーディングシステム１００のオーディオデコーディング機能は本発明の目的に関係がないので、それに関する説明は省略する。
さらに詳しく説明すると、プロセッサ１３０はその入力としてビットストリーム１２０とビットストリーム１１０を受け取る。ビットストリーム１１０は各種の制御信号、あるいはビットストリーム１２０中に含まれない他のデータストリームを含んでいてもよい。例えば、データパケットの構文解析（parsing）とデータストリーム中あるいは制御ストリーム中への伝送を実行するために、伝送チャンネルとデコーディングシステム１００との間にチャンネルデコーダあるいは伝送装置（図示せず）を配置することもできる。
好ましい実施例では、プロセッサ１３０は、制御データのビデオデコーダおよびＯＳＤユニット１５０への供給、メモリへのアクセスの管理、およびデコードされたイメージの表示の制御を含む（ただし、これらの各機能に制限されるものではない）各種の制御機能を実行する。本発明は単一のプロセッサを示しているが、プロセッサ１３０は、特定の機能、例えばメモリ制御装置、マイクロプロセッサのインタフェースユニット等の機能を管理するための各種の専用の装置から成るものでもよいことは当業者には明らかである。
プロセッサ１３０はビットストリーム１２０を受信し、データパケットをビデオデコーダ１６０を介してメモリ１４０に書込む。ビットストリームは、メモリのデータバスを介してメモリに伝送される前に、随時、先入れ先出し（ＦＩＦＯ）バッファ（図示せず）を経て通過してもよい。さらに、通常はもっぱらプロセッサ１３０によって使用される他のメモリ（図示せず）が存在する。
メモリ１４０は圧縮されたデータ、デコードされたイメージおよびＯＳＤビットマップを含む複数のデータを記憶するために使用される。そのことにより、メモリは、一般に、各種のバッファ、例えば圧縮されたデータを記憶するためのビットバッファ、ＯＳＤビットマップを記憶するためのＯＳＤバッファ、イメージのフレームを記憶するための各種のフレームバッファ、デコードされたイメージを記憶するためのディスプレイ（表示）バッファにマッピング（mapping：割り当て）される。
ＭＰＥＧ標準に従って、ビデオデコーダ１６０は、メモリ１４０中の圧縮されたデータをデコードして、そのメモリ中にエンコードされたイメージを再構成する。ある場合には、デコードされたイメージは、イメージをエンコードするために使用される圧縮技術に従って実際のイメージを、例えば、圧縮された動きイメージのデコーディングを容易にするために、記憶された基準イメージに付加される差信号である。一旦イメージが復元されると、ミクサ１７０を経て表示される期間の間ディスプレイバッファ中に記憶される。
同様に、ＯＳＤユニット１５０が、ＯＳＤビットマップあるいはＯＳＤ仕様を記憶するために、メモリ１４０を使用する。ＯＳＤユニットは、ユーザ（製造者）がデコードされたイメージに重畳することができる各フィールド用のビットマップを指定することができるようにする。ＯＳＤビットマップは、特定の消費者用電子製品の構成、およびオプション（注文付属品）に関する情報を含むこともある。この他にＯＳＤビットマップは、ケーブルテレビジョンやビデオディスク等から伝送されたクローズド・キャプション表示（Closed Captioning）およびチャンネル・ロゴに関する情報を含むこともある。ＯＳＤビットマップはプログラム可能な位置および大きさの１組の領域（一般に長方形）として指定され、その各々は利用可能なカラーの唯一のパレットをもっている。
ＯＳＤビットマップはユーザにより、この目的のために割り当てられたメモリ１４０のＯＳＤバッファ中に書込まれる。しかしながら、ＲＯＭ１４２あるいは他の同等な記憶装置をこの機能を実行するために同様に使用できることは当業者には明らかである。
ＯＳＤ機能が特定のイメージあるいはフレームのためにイネーブルされると、プロセッサ１３０は、ＯＳＤビットストリームを構成するために、メモリ１４０中のデータを処理する。ＯＳＤビットストリームはＯＳＤヘッダとＯＳＤデータ（ピクセルデータ）とを含んでいる。
さらに具体的に言えば、プロセッサ１３０はメモリ１４０中のＯＳＤヘッダをプログラム（フォーマット化および記憶）する。ＯＳＤヘッダは、トップ（奇数）およびボトム（偶数）ＯＳＤフィールドビットマップの位置、パレットデータ、次のヘッダブロックに対するポインタ、およびＯＳＤの解像度、カラーおよび圧縮を含む各種の表示モードに関する情報を含んでいる。一旦ＯＳＤヘッダがプログラムされると、プロセッサ１３０は特定のインプリメンテーション（実現構成）に従ってメモリ１４０中のＯＳＤデータを処理する。例えば、ＯＳＤデータが選択されたモード、例えば以下に述べる“圧縮ピクセルモード（Compressed Pixel Mode）”に従ってフォーマット化される。この他にプロセッサは、単にメモリ中のＯＳＤデータに対するポインタを使用してＯＳＤヘッダをプログラムしてもよく、この場合、記憶されたＯＳＤデータはＯＳＤビットストリームを形成するために変更なしに検索される。
次にプロセッサ１３０はイネーブル状態、例えばＯＳＤの稼働（アクティブ）をＯＳＤユニット１５０に報告（レポート）し、ＯＳＤユニット１５０はメモリ１４０内に記憶されたＯＳＤビットストリームをアクセスするためにプロセッサ１３０を要求することにより応答する。ＯＳＤユニットが各関連するＯＳＤデータが後続するＯＳＤヘッダを読取ると、ＯＳＤビットストリームが形成され、検索される。ＯＳＤビットストリームの検索後にＯＳＤユニットはＯＳＤヘッダ中の命令あるいは選択されたモードに従ってＯＳＤのピクセルデータを処理する。次にＯＳＤユニットは、１対のディスプレイカウンタ（図示せず）がＯＳＤ情報を挿入するためのディスプレイ上の正確な位置を指定する計数値に達するのを待つ。正しい位置で、ＯＳＤユニット１５０は、その出力をミクサ１７０に転送する。ＯＳＤユニット１５０の出力は、各クロミナンス成分およびルミナンス成分を表わすディジタルワードのストリームあるいはシーケンスである。多くのものを含むＯＳＤディスプレイを生成するために、ＯＳＤユニットを経て必要なデータの流れ（ビットストリーム）を維持するのに必要とされる新しいメモリのアクセスが要求される。現在のＯＳＤ領域に対するＯＳＤピクセルデータの最後のバイトがメモリから読み出されたときに、次のＯＳＤヘッダが読み出され、その処理がそのときのフレームに対する最後のＯＳＤ領域まで、その最後のＯＳＤ領域を含んで繰り返される。
上に述べたように、ＯＳＤビットストリームを構成し、検索する順序は変更可能であることは当業者には明らかである。例えば、プロセッサがＯＳＤデータをフォーマット化しているとき、あるいはＯＳＤデータが処理され、全部のＯＳＤビットストリームを検索する必要なしにＯＳＤユニットによってＯＳＤメッセージとして表示されるときに、ＯＳＤヘッダをメモリから読み出すことができる。
ＯＳＤピクセルデータはデコードされたイメージ上に重畳されるので、ミクサ１７０はデコードされたイメージをＯＳＤピクセルデータと選択的に合成あるいはマルチプレクックスする。すなわち、ミクサ１７０は各ピクセル位置にＯＳＤピクセル、デコードされたイメージのピクセルあるいはこれら両形式のピクセルの組合わせ（合成されたもの）を表示させる機能をもっている。この機能によりデコードされたイメージ上にクローズド・キャプション表示（Closed Captioning）（ＯＳＤピクセルデータのみ）の表示あるいは透過チャンネルロゴ（transparent channel logos）（ＯＳＤピクセルとデコードされたイメージピクセルの両方の組合わせ）の表示が可能になる。
ビデオデコーダ１６０とＯＳＤユニット１５０の両方は、ルミナンス成分およびクロミナンス成分の各々を表わすディジタルワードのストリームあるいはシーケンスを形成する。これらのビデオ成分を表わすディジタルワードのシーケンスは、ミクサ１７０を経てディジタル−アナログ変換器（ＤＡ変換器）１８５に供給される。ルミナンスおよびクロミナンスを表わすディジタルワードはＤＡ変換器１８５の各セクションによってアナログのルミナンス信号とクロミナンス信号とに変換される。
有効ビデオ領域の大きさおよび位置には無関係に、表示可能なスクリーンの任意の部分上にユーザ指定ビットマップを表示させるためにＯＳＤユニット１５０を使用することができる。このビットマップは、各フィールドに対して独立して指定され、またＯＳＤ領域の集合として特定される。領域はしばしばその境界とその内容を指定するビットマップによって特定される長方形のエリア（区域）である。各領域はこれに付随してその領域中で使用することができる複数のカラー（例えば４色または１６色）を指定するパレットをもっている。もし必要ならば、上述のように背景が透過して見えるように、これらのカラーのうちの１つを透明にすることができる。
しかしながら、フレーム用のＯＳＤ機能（ファンクション）を取り扱うことはプロセッサ１３０の計算オーバーヘッドを増加させ、さらに重要なことは、プロセッサ１３０がビデオデコーダ１６０とＯＳＤユニット１５０の両方からのメモリ要求にサービス（対処）しなければならないから、プロセッサのメモリ帯域幅に関して厳しい負担を課すことになる。このようなことから、本発明は圧縮ピクセルモードを実現することによってＯＳＤビットストリームの大きさを減少させるものである。
図２は、サンプル“圧縮ピクセル”ＯＳＤビットストリーム２００の構成を示す。ＯＳＤビットストリームは、各々ＯＳＤデータ２２０が後続する複数のＯＳＤヘッダ２１０を含んでいる。一実施例では、ヘッダは５個の６４ビットワードからなり、これに任意の数の６４ビットＯＳＤデータ（ビットマップ）ワードが後続している。ＯＳＤヘッダ２１０は、ＯＳＤ領域座標２１４、特定のＯＳＤの領域に対するパレット２１６の各種のエントリー、および各種の機能コード（ビット）２１２に関連する情報を含んでいる。ＯＳＤヘッダは任意の長さでよいことは当業者には明らかである。より長いヘッダを使用すると、より多くの情報およびオプション、例えばより多くのエントリーをもったパレットを与えることができるが、より高い計算オーバーヘッドを受ける。すなわち、より多くの読出しおよび書込みサイクルを必要とするという犠牲を伴う。実際には、ＯＳＤヘッダの内容は特定の実施例を示しており、図２に示す特定の配列（アレンジメント）に限定されるものではない。
ＯＳＤ領域の座標２１４は、ＯＳＤ領域の左右端の位置、すなわち行（ロウ）の開始および停止位置、列（コラム）の開始および停止位置を含んでいる。インタレース表示用としては、領域の座標は、対応するＯＳＤ領域に対するトップ（奇数）およびボトム（偶数）フィールドのピクセルのビットマップの位置（ポインタ）を含んでいる。最後に、ＯＳＤ領域の座標２１４はメモリ中の次のヘッダブロックに対するポインタを含んでいる。
パレット２１６は複数のエントリーを含み、各エントリーはＯＳＤピクセルに対するクロミナンスレベルおよびルミナンスレベルの表現を含んでいる。パレット情報２１６はＯＳＤパレットをプログラムするために使用される。各ＯＳＤヘッダはパレット情報２１６を含んでいるので、利用可能なカラーは各ＯＳＤヘッドおよび関連するＯＳＤデータのバイトに対して選択的に変更することができる。好ましい実施例において、各パレットのエントリーは１６ビットのデータ、すなわち６ビットのルミナンスＹ、４ビットの青のクロミナンスＣｂ、および４ビットの赤のクロミナンスＣｒを含んでいる。残りの２ビットは本発明には関係のない各種の表示オプションを実現するために使用される。一実施例では、各エントリーをアドレスするのに４ビット必要とするパレットに１６個のエントリーが存在する。
機能コード（ビット）２１２は、表示オプションおよびＯＳＤビットストリームのオプションを含む（ただし、これらに限定されるものではない）各種のモードに関する情報を含んでいる。好ましいい実施例では、機能ビットは“圧縮モード”がイネーブルされたか否かを示すための単一のビットを含んでいる。“圧縮モード”ピクセルがイネーブルされると、ＯＳＤデータ中のデータは、以下に説明するように、複数の“１ビット”ピクセルの“ラン（run）”を含んでいる。
ＯＳＤデータ２２０は、左から右、上から下の順序でビットマップを含んでいる。ＯＳＤデータは各ピクセル用のカラーインデックスを指定するために使用される。好ましい実施例では、“圧縮ピクセルモード”がイネーブル（付勢）されると、ＯＳＤデータ２２０は複数のデータバイト２４０が後続するインデックスバイト２３０を含んでいる。インデックスバイト２３０およびデータバイト２４０の長さは各バイトに対して８ビットにセットされている。インデックス２３０は４ビットアドレスを有する２個の特定のパレットのエントリーに対するアドレスを含んでいる。従って、ＯＳＤデータ２２０中の各データのビットを高い値あるいは低い値にセットすることによって、単一のビットすなわち“１ビット”ピクセルを使用して２個の利用可能なインデックスアドレスのうちの１つを容易にアクセスすることができる。
さらに、圧縮ピクセルモードによると、ユーザは１ビットピクセルの“ラン”を指定することができる。ランレングスカウンタは、各ラン中に何個の１ビットピクセルが存在するかに関する情報をＯＳＤユニットに知らせる。ランレングスのカウントはＯＳＤヘッダ中に書込まれる。
説明上、図２は第１インデックス２３２と第２インデックス２３４を有するインデックスバイト２３０を示しており、これらのインデックスはそれぞれパレットのエントリー５および１２を表わしている。各ＯＳＤピクセルのバイトの最上位ビット（ｍｓｂ）は第１のピクセル出力に対応し、ビットが“１”であれば、インデックスバイトの最上位の４ビット２３２はパレットをアドレスするために送られる。ビットが“０”であれば、インデックスバイトの下位の４ビット２３４がパレットをアクセスするために送られる。さらに、圧縮されたランレングスカウントが２０に等しいと、インデックスバイトに後続する次の３個のデータバイト２４０は、これらの２０個の“１ビット”ピクセルを含んでいる。各ランの終了時では、次のバイトは次のランが後続する次のインデックスバイトでなければならない。
この動作モードによれば、パレットをアドレスするために４ビットを使用する正規の表示モードに対して４：１の圧縮比を得ることができる。より大きなパレットを具えたデコーディングシステムの場合、この節減はさらに重要になる。この圧縮ピクセルモードでは、所定のランのために一度に２個だけのカラーを選択することができる。しかしながら、クローズド・キャプション表示（Closed Captioning）のような応用例では所定のキャラクタに対して２色しか使用しないから、圧縮ピクセルモードは、特定のＯＳＤの実現（インプリメンテーション）の表示機能を制限することなくメモリの動作回数を減少させることができる。さらに、プロセッサはランの終了時に単にカラーインデックス２３０を変更することによって容易に２色の選択を行なうことができ、それによってカラーの変更が可能になる。最後に、圧縮ピクセルモードはＯＳＤヘッダ２１０に対して選択されるが、ＯＳＤユニットは各々が異なる解像度モードをもつことができる多数のヘッダブロックをサポート（支援）する。従って、ＯＳＤユニットは同じビデオスクリーン上に異なる形式の解像度またはフォーマットを表示することができる。例えば、１個のＯＳＤ領域の境界および各種の部分を低解像度で表示することができる。
圧縮ピクセルモードの選択はプロセッサ１３０を介してユーザによって制御される。この制御は、ＯＳＤユニット１５０によるメモリのアクセスを最少にするための要求を検出するソフトウエアを使用して実現することができる。例えば、ビデオデコーダ１６０は追加のメモリアクセスを必要とする一連の複雑な符号化（エンコード）されたフレームを受け取ることができる。ＯＳＤユニットとビデオデコーダとの間のメモリアクセスの競合を最少にするために、プロセッサはＯＳＤビットストリーム中の圧縮ピクセルモードをイネーブルすることによってビデオデコーダの増加した要求を相殺することができる。
図３は複数の１ビットピクセルを有するＯＳＤビットストリームを構成する方法３００を示す。ＯＳＤビットストリームはプロセッサ１３０によって発生され、ＯＳＤユニット１５０によって処理される。方法３００は、複数のインデックスとデータバイトが後続する圧縮ピクセルモードのビットを有するＯＳＤヘッダを発生することによって図２のＯＳＤビットストリームを構成する。
図３を参照すると、方法３００はステップ３０５で開始し、ステップ３１０に進み、ここでＯＳＤヘッダ中のビットは圧縮ピクセルモードのビットとして指定される。圧縮ピクセルモードがＯＳＤヘッダ中でイネーブルされると、ヘッダに続くＯＳＤデータバイトは１ビットピクセルである。圧縮ピクセルモードがイネーブルされないと、そのときはＯＳＤデータのビットは、パレットに対する４ビットアドレスの正規のフォーマット（あるいは他のビットストリームのフォーマット、例えばＭＰＥＧ標準）に従って処理される。
ステップ３２０で方法３００は圧縮ピクセルモードがイネーブルされたか否かを決定する。その質問に対する回答が否定であれば、方法３００はステップ３２５に進み、そこでＯＳＤデータバイトが非圧縮フォーマットを使用して発生される。次いで方法３００はステップ３７０に進む。
ステップ３２０における質問に対する回答が肯定であれば、方法３００はステップ３３０に進み、そこで“ランレングスカウント”がＯＳＤヘッダに書込まれる。“ランレングスカウント”はＯＳＤデータバイト中の１ビットピクセルのランを表わし、ランレングスカウンタを開始させるために使用される。
ステップ３４０で、方法３００はＯＳＤヘッダ中に配置されたパレット中の２個の可能なエントリーを識別する２個のインデックスを有するインデックスバイトを発生する。２個のインデックスはすべてのランに対して選択される。
ステップ３５０で方法３００はＯＳＤデータバイト内に配置された１ビットピクセルのランを発生する。各ＯＳＤデータバイトは８ビットの長さをもっているが、ランレングスはいずれかの長さに限定されるものではなく、すなわち、２０個の１ビットピクセルのランを３個のＯＳＤデータバイト内に配置することもできる。
ステップ３６０で、方法３００は何個かの付加ランが存在するか否かを決定する。選択された２つのカラーが変更されると、新しいランが要求される。その質問に対する回答が否定であれば、方法３００はステップ３７０に進む。その質問に対する回答が肯定であれば、方法３００はステップ３３０に進み、各付加ランに対して３３０〜３５０のステップが繰り返される。インデックスバイト中のインデックスを各ランについて選択的に変更することができる。
ステップ３７０で、方法３００は他のＯＳＤヘッダが存在するか否かを決定する。パレット中の選択されたカラーおよび機能ビット２１２によって表わされる各種のモードが変更されると、新しいＯＳＤヘッダが要求される。同様にフレーム上の各新しいＯＳＤ領域に対して新しいヘッダが要求される。質問に対する回答が否定であれば、方法３００はステップ３８０に進み、この方法３００は終了する。質問に対する回答が肯定であれば、方法３００はステップ３２０に進み、各付加ＯＳＤヘッダに対して３２０〜３６０のステップが繰り返される。このような態様で、ＯＳＤビットストリームは圧縮ＯＳＤデータバイトと非圧縮データバイトの両方を含むことができる。
以上ではデコーディング／ディスプレイ・システム内で改善されたメモリの帯域幅の利用性を与える複数の１ビットピクセルを有するＯＳＤビットストリームを構成する新規な方法および装置を示し、それについて説明した。しかし、本発明の実施例を開示した本明細書および添付の図面を考慮すれば、本発明の多くの変更例、修正例、変形例、および他の使用法、適用法が可能であることは当業者には明らかである。本発明の考え方（精神）および範囲から逸脱しない範囲で、上記のようなすべての変更例、修正例、変形例、および他の使用法、適用法は本発明に含まれると考えられ、本発明は次に示す請求の範囲によってのみ限定されるものである。
【図１】
0003935958.tif 000002
【図２】
0003935958.tif 000003
【図３】
0003935958.tif 000004