(57)【要約】  表示のためにメモリから画像を読み出すために必要な帯域幅の大きさを削減する画像処理技術が、記述される。本技術によれば、プロセッサが少ない量の処理リソースを使用してメモリから表示層を読み出すことが可能になるように、プロセッサは、メモリ中に低変化速度表示層を記憶する。オーバーレイ・モジュールは、低変化速度表示層を複合オーバーレイ層へと調合する。プロセッサは、メモリからオーバーレイ層を読み出し、そしてメモリ中に記録されたオーバーレイ層に関する処理情報に基づいてオーバーレイ層を選択的に処理する。プロセッサは、次にオーバーレイ層と高変化速度表示層を調合して、高変化速度したがい表示のための１つの画像を更新する。その上、オーバーレイ・モジュールは、低変化速度表示層に基づいてオーバーレイ層を低変化速度にしたがい更新する。
2009540371.tif 000002
【特許請求の範囲】
【請求項１】
２又はそれより多くの表示層を統合して、オーバーレイ層を形成すること；
メモリ中に記録された前記オーバーレイ層に関する処理情報に基づいて前記オーバーレイ層を選択的に処理すること；
前記オーバーレイ層をビデオ層と統合して、表示デバイス上での表示のための画像を形成すること；
前記ビデオ層に関係する変化速度に対応する第１の変化速度で前記画像を更新すること；及び
前記第１の変化速度よりも遅い第２の変化速度で前記オーバーレイ層を更新すること、
を具備する方法。
【請求項２】
前記画像を更新することは、
前記メモリから前記オーバーレイ層を読み出すこと；
前記メモリ中に記録された前記オーバーレイ層に関する前記処理情報に基づいて前記オーバーレイ層を選択的に処理すること；及び
前記第１の変化速度にしたがい前記オーバーレイ層を前記ビデオ層と再統合すること；
を具備する、請求項１の方法。
【請求項３】
前記オーバーレイ層を更新することは、
前記メモリから前記２又はそれより多くの表示層を読み出すこと；及び
前記第２の変化速度にしたがい前記表示層を再統合すること、
を具備する、請求項１の方法。
【請求項４】
ヘッダを含んでいる複数のタイルとして前記オーバーレイ層をメモリ中に記憶すること；及び
前記複数のタイルのそれぞれに関する処理情報をそれぞれのタイルのヘッダ中に記録すること、をさらに具備する、
ここにおいて、前記オーバーレイ層を選択的に処理することは、前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルを選択的に処理すること、を具備する、
請求項１の方法。
【請求項５】
ヘッダ中に処理情報を記録することは、現在のタイルが実質的に透明であるかどうかを示す現在のタイルのステータス、前記オーバーレイ層中の実質的に透明である複数の隣接タイルを示す隣接タイルのステータス、前記現在のタイルに対する圧縮タイプ、及び前記オーバーレイ層中の次のタイルのバースト長、のうちの１又はそれより多くを、前記複数のタイルの前記ヘッダ中に記録すること、を具備する、請求項４の方法。
【請求項６】
タイル毎に前記メモリから前記オーバーレイ層を読み出すこと；及び
前記複数のタイルの前記ヘッダ中に記録された前記処理情報を読み出すこと、
をさらに具備する、請求項４の方法。
【請求項７】
前記複数のタイルを選択的に処理することは、前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルの少なくとも一部を処理することを飛ばすこと、を具備する、請求項４の方法。
【請求項８】
前記複数のタイルを選択的に処理することは、
現在のタイルの前記ヘッダ中に記録された前記現在のタイルのステータスに基づいて前記オーバーレイ層中の前記現在のタイルが実質的に透明であるかどうかを判断すること；及び
前記現在のタイルが実質的に透明であると判断されるときに前記現在のタイルを処理することを飛ばすこと、
を具備する、請求項４の方法。
【請求項９】
前記複数のタイルを選択的に処理することは、
前記現在のタイルのヘッダ中に記録された隣接タイルのステータスに基づいて、実質的に透明であり前記オーバーレイ層中の前記現在のタイルに隣接する複数のタイルを決定すること；及び
前記オーバーレイ層中の前記複数の隣接タイルを処理することを飛ばすこと、
を具備する、請求項８の方法。
【請求項１０】
前記オーバーレイ層を記憶することは、
前記タイルのそれぞれに対する圧縮タイプにしたがって前記オーバーレイ層中の前記複数のタイルの少なくとも一部を圧縮すること；及び
前記それぞれのタイルの前記ヘッダ中の前記タイルのそれぞれに対する前記圧縮タイプを記録すること、
を具備する、請求項４の方法。
【請求項１１】
前記複数のタイルの少なくとも一部を圧縮することは、前記複数のタイルにラン長エンコーディングを実行すること、を具備する、ここにおいて、前記圧縮タイプは、ピクセルに基づく圧縮、成分に基づく圧縮、又は圧縮なしを含む、請求項１０の方法。
【請求項１２】
前記オーバーレイ層を選択的に処理することは、
現在のタイルのヘッダ中に記録された前記現在のタイルに対する圧縮タイプを読み出すこと；及び
前記現在のタイルに対する前記圧縮タイプにしたがい前記現在のタイルを逆圧縮すること、
を具備する、請求項１０の方法。
【請求項１３】
前記オーバーレイ層を記憶することは、前記メモリ中のライン・ストライドにより分離されていない連続したメモリ位置に前記複数のタイルのそれぞれのピクセル・ストリップを記憶すること、を具備する、請求項４の方法。
【請求項１４】
前記オーバーレイ層を記憶することは、前記複数のタイルのそれぞれついて制限のないピクセル・ストリップ・ラン長を有する前記オーバーレイ層中の前記複数のタイルの少なくとも一部にラン長エンコーディングを実行すること、を具備する、請求項１３の方法。
【請求項１５】
前記複数のタイルを選択的に処理することは、現在のタイルのヘッダ中にある前記オーバーレイ層中の次のタイルのバースト長を読み出すこと、を具備し、前記次のタイルの前記バースト長にしたがって前記メモリから前記次のタイルを読み出すこと、をさらに具備する、請求項４の方法。
【請求項１６】
前記オーバーレイ層を記憶することは、固定サイズ・ヘッダを含んでいる固定サイズ・レコードで前記複数のタイルのそれぞれを前記メモリ中に記憶すること、を具備する、請求項４の方法。
【請求項１７】
前記オーバーレイ層を更新することは、
前記オーバーレイ層中の前記複数のタイルのうちのどれが変化する表示項目を含むかを判断すること；
前記固定サイズ・レコードに基づいて前記メモリ中に前記変化するタイルを配置すること；及び
前記オーバーレイ層中の前記変化するタイルだけを更新すること、
を具備する、請求項１６の方法。
【請求項１８】
命令を具備するコンピュータ読取り可能な媒体であって、前記命令はプログラム可能なプロセッサに、
２又はそれより多くの表示層を統合して、オーバーレイ層を形成する；
メモリ中に記録された前記オーバーレイ層に関する処理情報に基づいて前記オーバーレイ層を選択的に処理する；
前記オーバーレイ層をビデオ層と統合して、表示デバイス上での表示のための画像を形成する；
前記ビデオ層に関係する変化速度に対応する第１の変化速度で前記画像を更新する；及び
前記第１の変化速度よりも遅い第２の変化速度で前記オーバーレイ層を更新する、
ようにさせる命令である、コンピュータ読取り可能な媒体。
【請求項１９】
前記命令は、前記プログラム可能なプロセッサに、
前記メモリから前記オーバーレイ層を読み出す；
前記メモリ中に記録された前記オーバーレイ層に関する前記処理情報に基づいて前記オーバーレイ層を選択的に処理する；及び
前記オーバーレイ層を前記ビデオ層と再統合して、前記第１の変化速度にしたがい前記画像を更新する；
ようにさせる命令である、請求項１８のコンピュータ読取り可能な媒体。
【請求項２０】
前記命令は、前記プログラム可能なプロセッサに、
前記メモリから前記２又はそれより多くの表示層を読み出す；及び
前記表示層を再統合して、前記第２の変化速度にしたがい前記オーバーレイ層を更新する、
ようにさせる命令である、請求項１８のコンピュータ読取り可能な媒体。
【請求項２１】
前記プログラム可能なプロセッサに、
ヘッダを含んでいる複数のタイルとしてメモリ中に前記オーバーレイ層を記憶する；
それぞれのタイルのヘッダ中に前記複数のタイルのそれぞれに関する処理情報を記録する、
ようにさせる命令をさらに具備し、
ここにおいて、前記命令は、前記プログラム可能なプロセッサに、前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルを選択的に処理するようにさせる、
請求項１８のコンピュータ読取り可能な媒体。
【請求項２２】
前記プログラム可能なプロセッサに、
タイル毎に前記メモリから前記オーバーレイ層を読み出す；及び
前記複数のタイルの前記ヘッダ中に記録された前記処理情報を読み出す、
ようにさせる命令をさらに具備する、請求項２１のコンピュータ読取り可能な媒体。
【請求項２３】
前記命令は、プログラム可能なプロセッサに、前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルの少なくとも一部を処理することを飛ばす、ようにさせる命令である、請求項２１のコンピュータ読取り可能な媒体。
【請求項２４】
前記命令は、前記プログラム可能なプロセッサに、
現在のタイルのヘッダ中に記録された現在のタイルのステータスに基づいて前記オーバーレイ層中の前記現在のタイルが実質的に透明であるかどうかを判断する；
前記現在のタイルが実質的に透明であると判断されるときに前記現在のタイルを処理することを飛ばす、
前記現在のタイルの前記ヘッダ中に記録された隣接タイルのステータスに基づいて、実質的に透明であり前記オーバーレイ層中の前記現在のタイルに隣接する複数のタイルを決定する；及び
前記オーバーレイ層中の前記複数の隣接タイルを処理することを飛ばす、
ようにさせる命令である、請求項２１のコンピュータ読取り可能な媒体。
【請求項２５】
前記命令は、前記プログラム可能なプロセッサに、
前記タイルのそれぞれに対する圧縮タイプにしたがって前記オーバーレイ層中の前記複数のタイルの少なくとも一部を圧縮する；
前記それぞれのタイルの前記ヘッダ中のそれぞれに対する前記圧縮タイプを記録する、
現在のタイルのヘッダ中に記録された前記現在のタイルに対する圧縮タイプを読み出す；及び
前記現在のタイルに対する前記圧縮タイプにしたがって前記現在のタイルを逆圧縮する、
ようにさせる命令である、請求項２１のコンピュータ読取り可能な媒体。
【請求項２６】
前記命令は、前記プログラム可能なプロセッサに、
前記メモリ中のライン・ストライドにより分離されていない連続したメモリ位置に前記複数のタイルのそれぞれのピクセル・ストリップを記憶する、
前記複数のタイルのそれぞれついて制限のないピクセル・ストリップ・ラン長を有する前記オーバーレイ層中の前記複数のタイルの少なくとも一部にラン長エンコーディングを実行する、
ようにさせる命令である、請求項２１のコンピュータ読取り可能な媒体。
【請求項２７】
前記命令は、前記プログラム可能なプロセッサに、
現在のタイルのヘッダ中にある前記オーバーレイ層中の次のタイルのバースト長を読み出す、ようにさせる、さらに、前記プログラム可能なプロセッサに、前記次のタイルの前記バースト長にしたがって前記メモリから前記次のタイルを読み出す、ようにさせる命令を具備する、
請求項２１のコンピュータ読取り可能な媒体。
【請求項２８】
前記プログラム可能なプロセッサに、前記オーバーレイ層を更新するようにさせる命令をさらに具備する、ここにおいて、前記命令は、前記プログラム可能なプロセッサに、
固定サイズ・ヘッダを含んでいる固定サイズ・レコードで前記複数のタイルのそれぞれを前記メモリ中に記憶する；
前記オーバーレイ層中の前記複数のタイルのうちのどれが変化する表示項目を含むかを判断する；
前記固定サイズ・レコードに基づいて前記メモリ中に前記変化するタイルを配置する；及び
前記オーバーレイ層中の前記変化するタイルだけを更新する、
ようにさせる命令である、請求項２１のコンピュータ読取り可能な媒体。
【請求項２９】
２又はそれより多くの表示層を統合して、オーバーレイ層を形成するオーバーレイ・モジュール；
メモリ中に記録された前記オーバーレイ層に関する処理情報に基づいて前記オーバーレイ層を選択的に処理し、前記オーバーレイ層をビデオ層と統合して表示デバイス上での表示のための画像を形成し、そして前記ビデオ層に関係する変化速度に対応する第１の変化速度で前記画像を更新するプロセッサ、
を具備し、ここにおいて、
前記オーバーレイ・モジュールは、前記第１の変化速度よりも遅い第２の変化速度で前記オーバーレイ層を更新する、
システム。
【請求項３０】
前記プロセッサは、前記メモリから前記オーバーレイ層を読み出し、前記メモリ中に記録された前記オーバーレイ層に関する前記処理情報に基づいて前記オーバーレイ層を選択的に処理し、そして前記オーバーレイ層を前記ビデオ層と再統合して前記第１の変化速度にしたがって前記画像を更新する、請求項２９のシステム。
【請求項３１】
前記オーバーレイ・モジュールは、前記メモリから前記２又はそれより多くの表示層を読み出し、そして前記表示層を再統合して前記第２の変化速度にしたがい前記オーバーレイ層を更新する、請求項２９のシステム。
【請求項３２】
前記表示層は、ビデオ制御ボタンとビデオ・カウンタを含むビデオ制御層、信号強度インジケータと時間クロックを含むシステム・ステータス層、及び装飾的な縁取りを含む縁取り層のうちの２又はそれより多くを具備する、請求項２９のシステム。
【請求項３３】
前記表示層は、ゆっくりと変化する表示層とほとんど変化しない表示層とを具備する、請求項２９のシステム。
【請求項３４】
前記システムは、無線通信デバイス（ＷＣＤ）内に含まれる、請求項２９のシステム。
【請求項３５】
前記システムは、前記ＷＣＤ内のビデオ・アプリケーション・コントローラとシステム・コントローラとのうちの少なくとも１つから前記２又はそれより多くの表示層を受け取る、請求項３４のシステム。
【請求項３６】
高変化速度表示層は、ビデオ層を具備する、そしてここにおいて、前記システムは、前記ＷＣＤ内のビデオ・アプリケーション・コントローラから前記ビデオ層を受け取る、請求項３４のシステム。
【請求項３７】
前記オーバーレイ・モジュールは、ヘッダを含んでいる複数のタイルとしてメモリ中に前記オーバーレイ層を記憶し、そして前記複数のタイルのそれぞれに関する処理情報をそれぞれのタイルのヘッダ中に記録する、そしてここにおいて、
前記プロセッサは、前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルを選択的に処理する、
請求項２９のシステム。
【請求項３８】
前記オーバーレイ・モジュールは、現在のタイルが実質的に透明であるかどうかを示す現在のタイルのステータス、実質的に透明である前記オーバーレイ層中の複数の隣接タイルを示す隣接タイルのステータス、前記現在のタイルに対する圧縮タイプ、及び前記オーバーレイ層中の次のタイルのバースト長、のうちの１又はそれより多くを前記複数のタイルの前記ヘッダに記録する、請求項３７のシステム。
【請求項３９】
前記プロセッサは、タイル毎に前記メモリから前記オーバーレイ層を読み出し、そして前記複数のタイルの前記ヘッダ中に記録された前記処理情報を読み出す、請求項３７のシステム。
【請求項４０】
前記プロセッサは、前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルの少なくとも一部を処理することを飛ばす、請求項３７のシステム。
【請求項４１】
前記プロセッサは、現在のタイルのヘッダ中に記録された現在のタイルのステータスに基づいて前記オーバーレイ層中の前記現在のタイルが実質的に透明であるかどうかを判断し、そして前記現在のタイルが実質的に透明であると判断されるときには前記現在のタイルを処理することを飛ばす、請求項３７のシステム。
【請求項４２】
前記プロセッサは、前記現在のタイルの前記ヘッダ中に記録された隣接タイルのステータスに基づいて、実質的に透明であり前記オーバーレイ層中の前記現在のタイルに隣接する複数のタイルを決定し、そして前記オーバーレイ層中の前記複数の隣接タイルを処理することを飛ばす、請求項４１のシステム。
【請求項４３】
前記オーバーレイ・モジュールは、前記タイルのそれぞれに対する圧縮タイプにしたがって前記オーバーレイ層中の前記複数のタイルの少なくとも一部を圧縮し、そして前記タイルのそれぞれに対する前記圧縮タイプを前記それぞれのタイルの前記ヘッダ中に記録する、請求項３７のシステム。
【請求項４４】
前記オーバーレイ・モジュールは、前記複数のタイルにラン長エンコーディングを実行して前記複数のタイルの前記部分を圧縮する、そしてここにおいて、前記圧縮タイプは、ピクセルに基づく圧縮、成分に基づく圧縮、又は圧縮なしを含む、請求項４３のシステム。
【請求項４５】
前記プロセッサは、現在のタイルのヘッダ中に記録された前記現在のタイルに対する圧縮タイプを読み出し、そして前記現在のタイルに対する前記圧縮タイプにしたがって前記現在のタイルを逆圧縮する、請求項４３のシステム。
【請求項４６】
前記オーバーレイ・モジュールは、前記メモリ中のライン・ストライドにより分離されていない連続したメモリ位置に前記複数のタイルのそれぞれのピクセル・ストリップを記憶する、請求項３７のシステム。
【請求項４７】
前記オーバーレイ・モジュールは、前記複数のタイルのそれぞれついて制限のないピクセル・ストリップ・ラン長を有する前記オーバーレイ層中の前記複数のタイルの少なくとも一部にラン長エンコーディングを実行する、請求項４６のシステム。
【請求項４８】
前記プロセッサは、現在のタイルのヘッダ中にある前記オーバーレイ層中の次のタイルのバースト長を読み出し、そして前記次のタイルの前記バースト長にしたがって前記メモリから前記次のタイルを読み出す、請求項３７のシステム。
【請求項４９】
前記オーバーレイ・モジュールは、固定サイズ・ヘッダを含んでいる固定サイズ・レコードで前記複数のタイルのそれぞれを前記メモリ中に記憶する、請求項３７のシステム。
【請求項５０】
前記オーバーレイ・モジュールは、前記オーバーレイ層中の前記複数のタイルのうちのどれが変化する表示項目を含むかを判断し、前記固定サイズ・レコードに基づいて前記メモリ中に前記変化するタイルを配置し、そして前記オーバーレイ層中の前記変化するタイルだけを更新する、請求項４９のシステム。
【請求項５１】
２又はそれより多くの表示層を統合して、オーバーレイ層を形成すること；
ヘッダを含んでいる複数のタイルとして前記オーバーレイ層をメモリ中に記憶すること；
前記複数のタイルのそれぞれに関する処理情報を前記それぞれのタイルのヘッダ中に記録すること；
前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルを選択的に処理すること；
前記オーバーレイ層をビデオ層と統合して、表示デバイス上での表示のための画像を形成すること；
前記ビデオ層に関係する変化速度に対応する第１の変化速度で前記画像を更新すること、ここにおいて、前記画像を更新することは、前記メモリから前記オーバーレイ層を読み出すこと、前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルを選択的に処理すること、及び前記第１の変化速度にしたがって前記オーバーレイ層を前記ビデオ層と再統合すること；及び
前記第１の変化速度よりも遅い第２の変化速度で前記オーバーレイ層を更新すること、を具備し、ここにおいて、前記オーバーレイ層を更新することは、前記メモリから前記２又はそれより多くの表示層を読み出すこと、及び前記第２の変化速度にしたがって前記表示層を再統合する、
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、ビデオ処理技術に係わり、そして特に、複数の表示層についてのビデオ処理技術に関する。
【背景技術】
【０００２】
モービル表示プロセッサ（ＭＤＰ：Mobile Display Processor）は、複数の層を調合して、無線通信デバイス（ＷＣＤ：wireless communication device）内のディスプレイへ送る１つの画像を組み立てる。ある複数の例のＷＣＤは、セルラ無線電話機又は衛星無線電話機、無線電話基地局、１又はそれより多くの無線ネットワーキング規格をサポートするコンピュータ、無線ネットワーキングのための無線アクセス・ポイント、携帯コンピュータ内に組み込まれたＰＣＭＣＩＡカード、直接二方向通信デバイス、無線通信能力を装備した個人ディジタル補助装置（ＰＤＡ：personal digital assistants）、及びその他、を含む。
【０００３】
ＷＣＤ内で動作する複数の異なるアプリケーションは、任意の所定の時間にディスプレイへ情報を送ることができる。例えば、システム・アプリケーションは、ディスプレイへ信号強度インジケータを送ることができ、一方でビデオ・アプリケーションは、デコードされたビデオを送ることができる。ある複数のケースでは、同じアプリケーションは、同時にディスプレイへ複数の表示項目を送ることができる。例えば、ビデオ・アプリケーションは、デコードされたビデオに加えてビデオ・カウンタとビデオ制御ボタンを送ることができる。ビデオ・アプリケーションは、デコードされたビデオにフレームを付ける装飾的な縁取りを同様に送ることができる。別の一例として、システム・アプリケーションは、信号強度インジケータに加えてクロックをディスプレイへ送ることができる。ＷＣＤ内で動作するアプリケーションによって送られる表示項目のそれぞれは、別々の表示層を具備することができる。
【０００４】
一般的に、アプリケーションからディスプレイへ送られた複数の表示層のうちの１つだけが、ＷＣＤ内で動作するビデオ・アプリケーションからのデコードされたビデオのように、高い速度で変化する。例えば、デコードされたビデオは、毎秒ほぼ３０フレームの速度で変化することができる。ディスプレイへ送られる残りの表示層は、はるかに遅い速度で変化することができる又は決して変化しない。例えば、現在の時刻情報及びビデオ・カウンタは、毎秒ほぼ１フレームの速度で変化することができる。それに加えて、ゆっくりと変化する表示層のある小区分だけが、変化することがある。
【０００５】
ＭＤＰは、異なる表示層を一緒に調合して、表示のために１つの画像を形成し、そして最も早く変化する表示層の速度に応じて１つの画像を更新する。例えば、デコードされたビデオが毎秒ほぼ３０フレームの速度で変化する場合には、ＭＤＰは、毎秒ほぼ３０フレームの速度で全ての表示層を読み込みそして調合する。高速度でＷＣＤ内のメモリから表示層の全てを読むことは、大量の帯域幅を必要とすることがある。
【発明の概要】
【０００６】
一般に、本開示は、表示のためにメモリから画像を読み出すために必要な帯域幅の大きさを削減する画像処理技術に係わる。開示された画像処理技術にしたがえば、プロセッサが少ない量の処理リソースを使用してメモリから表示層を読み出すことが可能であるように、プロセッサは、メモリ中に低変化速度表示層を記憶する。本技術は、表示された画像を更新するためにメモリから読み出されなければならない低変化速度層の数を削減する。ある複数の実施形態では、本技術は、無線通信デバイス（ＷＣＤ：wireless communication device）中に実装されることができる。
【０００７】
例えば、本画像処理技術は、複数の低変化速度表示層を複合オーバーレイ層へと統合し、そして該オーバーレイ層をメモリ中に記憶する。ある複数の実施形態では、オーバーレイ層は、ヘッダを含んでいる複数のタイルとして記憶されることができる。オーバーレイ・モジュールは、タイルに関する処理情報を該ヘッダ中に記録する。画像を調整するために、プロセッサは、高変化速度に応じて、デコードされたビデオ表示層のような高変化速度表示層を読み込みそして処理する。しかしながら、低変化速度情報の複数の層を読み込む代わりに、プロセッサは、複合オーバーレイ層を読み込む。
【０００８】
プロセッサは、メモリからオーバーレイ層中のタイルを読み込み、そして高変化速度に応じてヘッダ中に記録された処理情報に基づいて該タイルを選択的に処理する。オーバーレイ層中の各透明でないタイルは、次に高変化速度表示層中の対応するタイルと調合されて、表示画像を更新する。このようにして、複合オーバーレイ層を使用して、メモリからプロセッサへと低変化速度層を読み出すために、及び高変化速度にしたがい表示画像を更新するために使用する処理リソースの量は、削減される。
【０００９】
それに加えて、本画像処理技術は、オーバーレイ・モジュールが低変化速度表示層に基づいてオーバーレイ層を低変化速度により更新することを可能にする。本画像処理技術は、固定サイズ・ヘッダを有する固定サイズ・レコードとしてオーバーレイ層中のタイルをメモリ中に記憶することを含むことができる。オーバーレイ・モジュールは、どのタイルが変化する表示項目を含むかを判断することができ、そして固定サイズ・レコードに基づいてメモリ中に記憶された変化するタイルの位置を決めることができる。オーバーレイ・モジュールは、次にオーバーレイ層中の変化するタイルだけを低変化速度により更新することができる。このようにして、低変化速度にしたがってオーバーレイ・モジュールによりオーバーレイ層を更新するために使用する処理リソースの量は、削減される。
【００１０】
１つの実施形態では、本明細書は、２又はそれより多くの表示層を統合してオーバーレイ層を形成すること、メモリ中に記録された該オーバーレイ層に関する処理情報に基づいて該オーバーレイ層を選択的に処理すること、そして該オーバーレイ層をビデオ層と統合して表示デバイス上での表示のための画像を形成すること、を具備する方法を提供する。本方法は、しかも、該ビデオ層に関係する変化速度に対応する第１の変化速度で該画像を更新すること、及び該第１の変化速度よりも遅い第２の変化速度で該オーバーレイ層を更新すること、を具備する。
【００１１】
別の実施形態では、本明細書は、命令を具備するコンピュータ読取り可能な媒体を提供する。該命令は、プログラム可能なプロセッサに、２又はそれより多くの表示層を統合してオーバーレイ層を形成する、メモリ中に記録された該オーバーレイ層に関する処理情報に基づいて該オーバーレイ層を選択的に処理する、そして該オーバーレイ層をビデオ層と統合して表示デバイス上での表示のための画像を形成する、ようにさせる。本命令は、しかも、プログラム可能なプロセッサに、該ビデオ層に関係する変化速度に対応する第１の変化速度で該画像を更新する、そして該第１の変化速度よりも遅い第２の変化速度で該オーバーレイ層を更新する、ようにさせる。
【００１２】
別の実施形態では、本明細書は、２又はそれより多くの表示層を統合してオーバーレイ層を形成するオーバーレイ・モジュールを具備するシステムを提供する。本システムは、しかも、メモリ中に記録された該オーバーレイ層に関する処理情報に基づいて該オーバーレイ層を選択的に処理し、該オーバーレイ層をビデオ層と統合して表示デバイス上での表示のための画像を形成し、そして該ビデオ層に関係する変化速度に対応する第１の変化速度で該画像を更新するプロセッサ、を具備する。該オーバーレイ・モジュールは、該第１の変化速度よりも遅い第２の変化速度で該オーバーレイ層を更新する。
【００１３】
さらなる実施形態では、本明細書は、２又はそれより多くの表示層を統合してオーバーレイ層を形成すること、ヘッダを含んでいる複数のタイルとしてメモリ中に該オーバーレイ層を記憶すること、該それぞれのタイルのヘッダ中の該複数のタイルのそれぞれに関する処理情報を記録すること、該複数のタイルの該ヘッダ中に記録された該処理情報に基づいて該オーバーレイ層中の該複数のタイルを選択的に処理すること、及び該オーバーレイ層をビデオ層と統合して表示デバイス上での表示のための画像を形成すること、を具備する方法を提供する。
【００１４】
本方法は、しかも、該ビデオ層に関係する変化速度に対応する第１の変化速度で該画像を更新すること、ここにおいて、該画像を更新することは、該メモリから該オーバーレイ層を読み出すこと、該複数のタイルの該ヘッダ中に記録された該処理情報に基づいて該オーバーレイ層中の該複数のタイルを選択的に処理すること、及び該第１の変化速度にしたがい該オーバーレイ層を該ビデオ層と再統合すること、を具備する。それに加えて、本方法は、該第１の変化速度よりも遅い第２の変化速度で該オーバーレイ層を更新すること、を含み、ここにおいて、該オーバーレイ層を更新することは、該メモリから該２又はそれより多くの表示層を読み出すこと、及び該第２の変化速度に応じて該表示層を再統合すること具備する。
【００１５】
本明細書中に記述される技術は、ハードウェア、ソフトウェア、ファームウェア、及びこれらの任意の組み合わせで実装されることができる。ソフトウェアに実装される場合には、本技術は、命令を具備するコンピュータ読取り可能な媒体により全体を又は部分的に実現されることができ、該命令は、プロセッサにより実行されるときに、本明細書中に記述した方法のうちの１又はそれより多くを実行する。
【００１６】
１又はそれより多くの実施形態の詳細は、添付された図面及び下記の説明において記述される。本発明のその他の特徴、目的及び利点は、該説明及び図面から、そして特許請求の範囲から明らかにされるであろう。
【図面の簡単な説明】
【００１７】
【図１】メモリから画像を読み出すために必要な帯域幅の大きさを削減する画像化処理技術を実装するモービル表示プロセッサ（ＭＤＰ）システムを含んでいる具体例の無線通信デバイス（ＷＣＤ）を説明するブロック図である。
【図２】図１のＭＤＰシステムをより詳細に説明するブロック図である。
【図３】ＷＣＤにおける表示のために１つの表示画像を形成するために複数の表示層を一緒に調合する従来の動作を説明する。
【図４】２又はそれより多くの低変化速度表示層を調合して複合オーバーレイ層を形成し、そして次にオーバーレイ層を高変化速度ビデオ層と統合して表示デバイス上での表示のために１つの表示画像を形成する具体例の動作を説明する。
【図５】ＷＣＤ内のシステム・コントローラとビデオ・アプリケーション・コントローラからの低変化速度表示層を統合する具体例のオーバーレイ層を図示する。
【図６】複数のタイルへと分割された図５のオーバーレイ層を図示する。
【図７】図５のオーバーレイ層中の１つのタイルを非常に詳細に図示する。
【図８Ａ】図５のオーバーレイ層中の１つのタイルのピクセル・ストリップを図示する。
【図８Ｂ】メモリ中のライン・ストライドにより分離されていない連続したメモリ位置に記憶された図５の１つのタイルのピクセル・ストリップを図示する。
【図９】タイルに関する処理情報を記録するヘッダを含んでいるオーバーレイ層中のタイルを図示する。
【図１０】メモリ中にオーバーレイ層を記憶し、そしてそのオーバーレイ層を使用して高速度の変化に応じて表示画像を更新する具体例の動作を説明するフローチャートである。
【図１１】高速度の変化に応じてオーバーレイ層を選択的に処理して、表示画像を更新する具体例の動作を説明するフローチャートである。
【図１２】ＷＣＤのメモリ中にオーバーレイ層を記憶し、そして更新する具体例の動作を説明するフローチャートである。
【図１３Ａ】オーバーレイ層を使用して高速度の変化に応じて表示画像を更新する具体例の動作を説明するフローチャートである。
【図１３Ｂ】オーバーレイ層を使用して高速度の変化に応じて表示画像を更新する具体例の動作を説明するフローチャートである。
【詳細な説明】
【００１８】
図１は、メモリ２２から表示のための画像を読み出すために必要な帯域幅の大きさを削減する画像処理技術を実装するモービル表示プロセッサ（ＭＤＰ：mobile display processor）システム１８を含んでいる具体例の無線通信デバイス（ＷＣＤ）１０を説明するブロック図である。図１の例では、ＭＤＰシステム１８は、ＷＣＤ１０内に常駐し、それは移動無線電話機、衛星無線電話機、携帯コンピュータ内に組み込まれた無線通信カード、無線通信能力を装備した個人ディジタル補助装置（ＰＤＡ：personal digital assistant）、又は無線通信が可能な様々なデバイスのうちのいずれか、の形式を取ることができる。別の実施形態では、ＭＤＰシステム１８は、有線通信デバイス及び主として通信に向けられていないデバイスを含む他のデバイス内で使用されることができる。
【００１９】
ＷＣＤ１０は、複数の基地局と通信することができる。基地局は、一般に静止装置であり、それはＷＣＤ１０へのネットワーク・アクセスを提供するためにＷＣＤ１０と無線で通信する。例えば、基地局は、ＷＣＤ１０と公衆交換電話ネットワーク（ＰＳＴＮ：public switched telephone network）との間のインターフェースを提供することができ、その結果、電話送信はＷＣＤ１０へ又はそこから回送されることができる。あるいは、又はそれに加えて、基地局は、パケットに基づく音声情報又はパケットに基づくデータの送信のためにパケットに基づくネットワークに接続されることができる。
【００２０】
図１の例では、ＷＣＤ１０は、システム・コントローラ１２、ビデオ・アプリケーション・コントローラ１４、アンテナ１５、送信機／受信機１６、ＭＤＰシステム１８、表示デバイス２０、及びメモリ２２を含む。システム・コントローラ１２は、ＷＣＤ１０の動作を制御することが可能な移動局モデム（ＭＳＭ：mobile station modem）を具備することができる。送信機／受信機１６は、アンテナ１５を介して基地局からの無線信号を受信する。無線信号は、その後、処理するために及び／又はメモリ２２中に記憶するためにシステム・コントローラ１２へ送られる。例えば、音声信号を受信すると、システム・コントローラ１２は、音声信号を直ちに処理することができ、その結果、ＷＣＤ１０のユーザは音声信号を聞くことができる。別の一例として、ビデオ・データを受信すると、システム・コントローラ１２は、ＷＣＤ１０のユーザがそのビデオ・データを見ることを望むまでメモリ２２中にビデオ・データを記憶することができる。別の実施形態では、システム・コントローラ１２は、ＷＣＤ１０内に含まれるビデオ取り込みデバイス、例えば、ディジタル・カムコーダ、からビデオ・データを受け取ることができる。
【００２１】
表示デバイス２０は、液晶ディスプレイ（ＬＣＤ：liquid crystal display）、ブラウン管（ＣＲＴ：cathode ray tube）ディスプレイ、プラズマ・ディスプレイ、又は別のタイプの表示デバイスを具備することができる。表示デバイス２０上での表示のための画像は、ＷＣＤ１０内で動作する複数の異なるアプリケーションからの複数の表示層を含むことができる。例えば、ＷＣＤ１０のユーザが受信したビデオを見ることを望む時には、システム・コントローラ１２は、メモリ２２から記憶したビデオ・データを取り出すことができ、そしてそのビデオ・データをビデオ・アプリケーション・コントローラ１４へ送ることができる。ビデオ・アプリケーション・コントローラ１４は、ビデオ・データをデコードし、そしてビデオ表示層としてデコードされたビデオを用意する。
【００２２】
ビデオ・アプリケーション・コントローラ１４は、表示デバイス２０上での表示のために処理されるようにビデオ表示層をＭＤＰシステム１８へ送ることができる。ビデオ・アプリケーション・コントローラ１４は、ビデオ制御表示層としてビデオ・カウンタとビデオ制御ボタンとを、そして縁取り表示層としてデコードされたビデオを組み立てる装飾的な縁取りを、ＭＤＰシステム１８へ同様に送ることができる。システム・コントローラ１２は、システム・ステータス表示層として信号強度インジケータ、ネットワーク・ステータス・インジケータ、及び時間及び／又は日付を、ＭＤＰシステム１８へ送ることができる。
【００２３】
一般的に、表示のためにシステム・コントローラ１２及びビデオ・アプリケーション・コントローラ１４からＭＤＰシステム１８へ送られる複数の表示層のうちの１つだけが、高速度で変化する。特に、ビデオ・アプリケーション・コントローラ１４からのビデオ表示層は、高フレーム速度で更新されるデコードされたデータを含むことができる。例えば、ある複数の実施形態では、ビデオ表示層中のデコードされたビデオは、毎秒ほぼ３０フレームの速度で変化することができる。表示のためにＭＤＰプロセッサ１８へ送られる残りの表示層は、はるかに遅い速度で変化することがある又は少しも変化しないことがある。ある複数のケースでは、ゆっくりと変化する表示層のある小区分だけが変化することがある。例えば、システム・ステータス表示層中に含まれる時間クロック及びビデオ制御表示層中に含まれるビデオ・カウンタは、毎秒ほぼ１フレームの速度で変化することができる。日付表示は、１日に１回変化するだけである。ＷＣＤ１０により受信される信号強度が変化するときに、システム・ステータス表示層中に含まれる信号強度インジケータは、変化する。それに加えて、ビデオ制御表示層中に含まれるビデオ制御ボタン及び縁取り表示層中に含まれる装飾的な縁取りは、デコードされたビデオの表示の期間に変化しないことがある。
【００２４】
ＭＤＰシステム１８は、複数の低変化速度表示層を一緒に調合して、複合オーバーレイ層を形成する。複数の低変化速度表示層は、１つのオーバーレイ層を形成するように統合されることができる。あるいは、別の実施形態では、低変化速度表示層の異なる集合は、別のオーバーレイ層を形成するように統合されることができる。しかしながら、１つのオーバーレイ層を生成することが、通常は望ましい。本明細書中に記述される画像処理技術は、メモリ２２中にオーバーレイ層を記憶することを含み、その結果、ＭＤＰシステム１８は、低変化速度表示層のそれぞれを別々に読み出しそして処理することと比較して、少ない量の処理リソースを使用してメモリ２２からオーバーレイ層を読み出すことが可能である。
【００２５】
ＭＤＰシステム１８は、次にオーバーレイ層とビデオ表示層とを調合して、ビデオ表示層の高変化速度による表示のために画像を更新する。それゆえ、ＭＤＰシステム１８は、ビデオ表示層の高変化速度で画像を更新するが、低変化速度表示層をオーバーレイ層中に統合して各個別の低変化速度層が高変化速度で更新されることを回避する。それに加えて、ＭＤＰシステム１８は、表示層の低変化速度にしたがい低変化速度表示層に基づいてオーバーレイ層を更新する。このようにして、本画像処理技術は、表示デバイス２０上での表示のためにメモリ２２から画像を読み出すために必要な帯域幅の大きさを実質的に削減する。
【００２６】
図２は、図１のＭＤＰシステム１８をより詳細に説明するブロック図である。ＭＤＰシステム１８は、メモリ・コントローラ２３、オーバーレイ・モジュール２４、モービル表示プロセッサ（ＭＤＰ）２６、及び表示バッファ２８を含む。ＭＤＰシステム１８は、メモリ２２中に低変化速度表示層を記憶するためにオーバーレイ・モジュール２４を含む。オーバーレイ・モジュール２４は、２又はそれより多くの低変化速度表示層を統合し、その結果、ＭＤＰ２６はメモリ・コントローラ２３を介してメモリ２２から複数の低変化速度表示層を複合オーバーレイ層として読み出すことが可能である。このようにして、ＭＤＰ２６は、メモリ２２から表示層を読み出すために削減した量の処理リソースを使用する。ＭＤＰ２６は、オーバーレイ層に統合されシステム・コントローラ１２から受け取った複数の低変化速度表示層を高変化速度表示層と又はビデオ・アプリケーション・コントローラ１４から受け取った複数の層と調合して、表示バッファ２８を介して表示デバイス２０へ送られる１つの画像を構成する。
【００２７】
表示デバイス２０がＬＣＤを具備するケースでは、表示デバイス２０は、表示デバイス２０の上端行から始めて下端行へと進む行毎のベースで表示された画像を更新する。更新動作は、ＭＤＰシステム１８内の表示バッファ２８から画像データを読み出し、そしてその画像データを表示デバイス２０上に配置する。表示バッファ２８内の読出しポインタは、表示デバイス２０が特定の時点において更新している特定の行を、時間の同じ点において表示デバイス２０へと読み出される表示バッファ２８中の位置を指し示すことによって、指示する。
【００２８】
ＷＣＤ１０のユーザが表示デバイス２０上で高変化速度ビデオ（例えば、映画又はビデオ・ゲームのグラフィックス）を見ている場合には、“テアリング（tearing）”として知られる現象が生じることを防止するように注意を払わなければならない。テアリングは、新しいビデオ・コンテントで書き込まれようとしている表示バッファ２８の位置を指し示している書込みポインタが読出しポインタと交差するときに生じる。これが生じるときには、表示デバイス２０の上部は、フレームｎを示す、ところが表示デバイス２０の下部は、フレームｎ＋１を示す。１つの表示バッファ、例えば、表示バッファ２８、を用いてシステムのテアリングを防止するための周知の技術は、“フォロイング・ザ・ビーム（following the beam）”として知られる。この技術は、ビデオ・コンテントが表示デバイス２０へ送られた直後に表示バッファ２８のコンテントを更新する。
【００２９】
時折、フレーム・バッファ２８中のビデオ・コンテントは、表示デバイス２０へ行く前に回転される必要がある。この必要性の一例は、ＷＣＤ１０のユーザがポートレイト・モード・ディスプレイ上のワイド・スクリーン・フォーマットで映画を観賞することを望む場合である。ビデオ・コンテントは、行毎のフォーマットでメモリ２２中に記憶される。回転させるために、ビデオ・コンテントは、列毎の方式でＭＤＰシステム１８を介して表示デバイス２０へ送られる必要がある。メモリ・コントローラ２３は、連続するデータのバーストを読み出し、そのため回転のこの方法は、非効率である。しかしながら、ＭＤＰシステム１８内のＭＤＰ２６は、タイル毎の方式でビデオ・コンテントをアクセスする能力を有する。タイルでビデオ・コンテントをアクセスすることにより、メモリ・コントローラ２３は、回転されないタイルの各行に対するピクセルの長いバーストをインポートすることを認められている。ＭＤＰ２６は、次にタイルを内部で効果的に回転する。
【００３０】
フォロー・ザ・ビームのために、ＭＤＰ２６は、メモリ・コントローラ２３を介してメモリ２２から非回転画像中のタイルの第１列を取り出す。第１のタイルが読み出されると、ＭＤＰ２６は、第１のタイルを効果的に回転し、そして表示バッファ２８中に記憶する。一旦、非回転画像中のタイルの全ての第１列が、回転されそして表示バッファ２８中に記憶されると、回転画像のタイルの第１行は、表示デバイス２０へ送られることができる。
【００３１】
本明細書中に記載される画像処理技術は、ＭＤＰシステム１８内のオーバーレイ・モジュール２４が２又はそれより多くの低変化速度表示層（例えば、ビデオ制御層、システム・ステータス層、及び縁取り層）を複合オーバーレイ層へと調合することを可能にする。ＭＤＰ２６は、次に複数の低変化速度表示層の代わりにそのオーバーレイ層を読み出しそして処理して、表示デバイス２０上での表示のために画像を更新する。ある複数の実施形態では、複数のオーバーレイ層が、低変化速度表示層の別の部分集合を使用して生成されることができる。しかしながら、１つのオーバーレイ層の生成は、通常望ましい。
【００３２】
ある具体例の実施形態では、オーバーレイ・モジュール２４は、ヘッダを含んでいる複数のタイルとしてメモリ２２中にオーバーレイ層を記憶する。オーバーレイ・モジュール２４は、複数のタイルのそれぞれに関する情報をそれぞれのヘッダ中に記録する。現在のタイルのヘッダは、オーバーレイ層内の他のタイルの中で現在のタイルの順番又は位置を示している数を含むことができる。ヘッダは、現在のタイルの透明性を示すタイル・ステータス、そしてオーバーレイ層中の複数の隣接タイルの透明性を示す隣接タイル・ステータス、を同様に含むことができる。タイルが画像コンテントを実質的に含まない場合には、タイルは、実質的に透明であると考えられることができる。それに加えて、ヘッダは、現在のタイルの圧縮タイプを含むことができ、それはデータを記憶するために必要なメモリの量を削減するためにタイル中のデータを変換するために使用する技術を指示する。圧縮タイプは、ラン長エンコーディング（ＲＬＥ：run-length encoding）圧縮タイプに関係付けられることがあり、それは成分に基づく圧縮及びピクセルに基づく圧縮、又は圧縮なしを含む。最終的に、ヘッダは、オーバーレイ層中の次のタイルのバースト長を含むことができ、それは１つのグループ又は“バースト”で読み込むための次のタイル中のデータのバイト数を指示し、その結果、次のタイルの全体が既知の数のバーストで読み込まれることができる。ある複数のケースでは、次のタイルのバースト長は、オーバーレイ層中の次の不透明タイルのバースト長を含むことができる。
【００３３】
ＭＤＰ２６は、ビデオ・アプリケーション・コントローラ１４から高変化速度ビデオ表示層を高変化速度に応じて読み込み、そして処理する。ＭＤＰ２６は、メモリ２２からオーバーレイ層を同様に読み出し、そしてヘッダ中に記録された処理情報に基づいてオーバーレイ層中の複数のタイルを高変化速度にしたがい選択的に処理する。オーバーレイ層は、その後、高変化速度ビデオ表示層と調合されて、ＷＣＤ１０内の表示デバイス２０上での表示のための１つの画像を形成する。
【００３４】
例えば、ＭＤＰ２６は、現在のタイルのヘッダ中に記録された現在のタイルのステータス及び隣接タイルのステータスを読み出すことができる。ステータスは、現在のタイルが実質的に透明であるかどうか、そしてもしあるならば、同様に実質的に透明である複数の隣接タイルの標識を具備することができる。タイルが画像コンテントを実質的に含まない場合には、タイルは、実質的に透明である。タイルが透明である場合には、下にある高変化速度ビデオ層を隠さずに見ることを可能にすることを意味する。ＭＤＰ２６は、実質的に透明であると示されたこれらのタイルを読み出すこと及び処理することを飛ばすことができる、というのはそれらが、高変化速度ビデオ層をオーバーレイ層中の低変化速度層と組み合わせる最終的な画像に何ら強い影響を持たないからである。
【００３５】
このようにして、ＭＤＰ２６は、オーバーレイ層中のタイルの一部を処理する必要があるだけであり、それはメモリ２２からＭＤＰ２６へとオーバーレイ層を高変化速度にしたがい読み出すために必要な帯域幅の大きさを削減する。そのようにして、低変化速度情報がビデオ層により指示される高変化速度でまだ処理されているとしても、複数の層を１つのオーバーレイ層へと結合すること及びインテリジェント・タイル処理は、表示されようとしている最終的な画像を生成するために必要な処理リソースを実質的に削減する。
【００３６】
もう１つの処理することの特徴として、オーバーレイ・モジュール２４は、ライン・ストライド（line stride）によって分離されていない連続するメモリ位置に、オーバーレイ層中の複数のタイルのそれぞれの内部のピクセルの行、すなわち“ピクセル・ストリップ”、を記憶することができる。オーバーレイ・モジュール２４は、その後、オーバーレイ層中の複数のタイルの少なくとも一部に効果的なラン長エンコーディング（ＲＬＥ）を実行することができ、そしてタイルのそれぞれに対して使用される圧縮のタイプを、メモリ２２に記憶されるタイルのヘッダ中に記録することができる。このようにして、ＭＤＰ２６は、メモリ２２から圧縮されたタイルを読み出すことができる、それは特に更新がビデオ層によって要求される高変化速度で起きるときに、メモリ２２からＭＤＰ２６へと画像を読み出すために必要とされる帯域幅の大きさをさらに削減する。ＭＤＰ２６は、その後、タイルのヘッダ中に記録された圧縮タイプにしたがって処理のためにタイルを逆圧縮することができる。
【００３７】
オーバーレイ・モジュール２４は、タイルのそれぞれに対する次のタイル、又は次の不透明なタイルを、メモリ２２に記憶されたタイルのヘッダ中に同様に記録することができる。このようにして、ＭＤＰ２６は、メモリ２２から特定のタイルを読み出すためにいくつのバーストを実行するかを先行して決定することができ、それは表示のためにオーバーレイ層を処理するときの待ち時間を削減する。
【００３８】
それに加えて、オーバーレイ・モジュール２４は、低変化速度表示層に基づくオーバーレイ層を低変化速度により更新する。オーバーレイ・モジュール２４は、固定サイズ・ヘッダを有する固定サイズ・レコードとしてオーバーレイ層中のタイルをメモリ２２中に記憶することができる。言い換えると、各タイルは、同じ固定サイズを有することができる。オーバーレイ・モジュール２２は、その後、どのタイルが変化する表示項目を含むかを決定し、そして固定サイズ・レコードに基づいてメモリ２２中に記憶された変化しているタイルの位置を決めることができる。このようにして、オーバーレイ・モジュール２４は、オーバーレイ層中の変化するタイルを更新する必要があるだけあり、それはオーバーレイ・モジュール２４によりオーバーレイ層を低変化速度により更新するために必要な帯域幅の大きさを削減する。
【００３９】
図３は、ＷＣＤにおける表示のために１つの表示画像３８を形成するために複数の表示層を一緒に調合する従来の動作を説明する。図示された例では、ビデオ制御層３０、システム・ステータス層３２、縁取り層３４、及びビデオ層３６が、表示画像３８を形成するために組み合わせられる。一般的に、ビデオ層３６だけが高速度で変化し、そして残りの表示層は、はるかに遅い速度で変化する又は変化しない。しかしながら、図３に示された従来の動作では、ＭＤＰは、全ての表示層を一緒に調合して、最も早く変化する表示層の速度により表示画像３８を更新する。高速度でメモリから全ての表示層を読み出すことは、大きな帯域幅を必要とすることがあり、そして複数の層のうちの多くが非常に低変化速度で変化するという事実を与えられると非効率である。
【００４０】
図３に示されるように、バックグランド層は、ビデオ層３６であり、それはデコードされたビデオを含む。ビデオ層３６の上は、少なくとも部分的に不透明な装飾的な縁取り、そして完全に透明であるビデオ層３８を見る領域、を含んでいる縁取り層３４である。次の層は、信号強度インジケータを含んでいるシステム・ステータス層３２であり、それはＷＣＤにより受信される信号強度を表す。システム・ステータス層３２は、現在の時刻情報及び／又は日付情報を表す時計（図示されず）を同様に含むことができる。表示項目を含むシステム・ステータス層３２の小さな小区分は、少なくとも部分的に不透明であり得て、そしてシステム・ステータス層３２の残りの区分は、ビデオ層３６を見るようにするために完全に透明であり得る。最後の層は、ビデオ制御ボタンを含んでいるビデオ制御層３０であり、それはＷＣＤのユーザがビデオ層３６中のデコードされたビデオの再生を制御することを可能にする。ビデオ制御層３０は、ビデオ・カウンタ（図示されず）を同様に含むことができ、それはビデオ情報の時間を表示する。システム・ステータス層３２と同様に、表示項目を含むビデオ制御層３０の小さな小区分は、少なくとも部分的に不透明であり得て、そしてビデオ制御層３０の残りの区分は、ビデオ層３６を見るようにするために完全に透明であり得る。
【００４１】
表示層３０，３２，３４及び３６のそれぞれは、異なる速度で変化することができる。例えば、ビデオ層３６は、高速度で、例えば、ほぼ毎秒３０フレームで、変化することができる。縁取り層３４は、デコードされたビデオの表示の期間に変化しないことがある。システム・ステータス層３２は、低速度で、例えば、ほぼ毎秒１フレームで、又はＷＣＤにより受信される信号強度が変化するときに変化することができる。ビデオ制御層３０は、低速度で、例えば、ほぼ毎秒１フレームで、変化することができる、又はデコードされたビデオの表示の期間中変化しないことがある。システム・ステータス層３２とビデオ制御層３０上で変化するデータの量は、一般に、ビデオ・カウンタの最後の桁、時間表示の秒、又は信号強度インジケータのバーの数のように、まさに最小である。従来の動作では、ビデオ層３６がほぼ毎秒３０フレームの速度で変化する場合に、ＭＤＰは、個々の表示層の変化速度に拘わらず、ほぼ毎秒３０フレームの速度で全ての表示層３０，３２，３４と３６を読み込みそして調合する。  
【表１】
2009540371.tif 000003
【００４２】
メモリからプロセッサへ個々の表示層を読み出すために必要な帯域幅は、非常に大きいことがある。上に与えられた表１は、ビデオ・グラフィック・アレイ（ＶＧＡ）のサイズにされた表示層について毎秒３０フレームの速度でメモリからＭＤＰへと様々なデータ・フォーマットを送るために必要な毎秒メガ・バイト（ＭＢｐｓ）の単位の帯域幅の大きさを説明する。一般的なＶＧＡ表示層は、４０タイル×３０タイルであり得る、又は各タイルがピクセルの１６×１６ブロックであるケースでは、６４０ピクセル×４８０ピクセルであり得る。表示層フォーマットは、ビデオ・フォーマット及び増加するピクセル当たりのバイト数（Ｂｐｐ）グラフィックスを有するフォーマットを含む。表示画像３８がビデオ・データ・フォーマットのそれぞれから、２Ｂｐｐグラフィックス、３Ｂｐｐグラフィックス、及び４Ｂｐｐグラフィックス・データ・フォーマットから、１層を含むケースでは、毎秒３０フレームでＭＤＰにより個々の表示層を使用する表示画像３８を更新するために必要な全帯域幅は、ほぼ９４ＭＢｐｓである。  
【表２】
2009540371.tif 000004
【００４３】
それに加えて、最適なメモリ又はバス・アクセスは、別のデータ・フォーマットに対して個々の表示層のそれぞれの中のタイルの適応寸法と必ずしも同じサイズである必要はない。例えば、３２バイトを読み出すことの代価は、ほぼ２４バス・サイクルである。１６バイトを読み出すことの代価は、少ないが、たったほぼ２サイクルだけである。言い換えると、２バス・サイクル多くの代価に対して、読み込むデータの量は、２倍にできるが、タイルの寸法を超えるデータを読み込むことの理由がない。３２バイトを読み出すことと比較して１６バイトを読み出すことの効率は、ほぼ５５％である。上に与えられた表２は、様々なデータ・フォーマットの個々の表示層について１６ピクセルの行を有するタイルを読み出すことのバス／メモリ効率を示す。表２から分かるように、個々の表示層を使用する表示画像をＭＤＰにより更新するために必要である９４ＭＢｐｓを超えるある帯域幅オーバーヘッドがある。
【００４４】
図４は、２又はそれより多くの低変化速度表示層を一緒に調合して１つのオーバーレイ層４０を形成し、そして次にオーバーレイ層４０とビデオ層３６とを統合してＷＣＤ１０内の表示デバイス２０上での表示のために１つの表示画像３８を形成する具体例の動作を説明する。例えば、図３のビデオ制御層３０、システム・ステータス層３２、及び縁取り層３４は、オーバーレイ層４０を形成するために統合されることができる。別の実施形態では、実際には、異なる表示項目を含む低変化速度表示層は、オーバーレイ層４０を形成するために調合されることができる。１つのオーバーレイ層が通常は望ましいとはいえ、複数のオーバーレイ層が、同様に形成されることができる。ＭＤＰ２６は、オーバーレイ層４０とビデオ層３６とを一緒に読み込みそして調合することができて、ビデオ層３６の高変化速度に応じて表示画像３８を更新することができる。オーバーレイ・モジュール２４は、低変化速度表示層３０，３２及び３４を一緒に読み込みそして調合することができ、表示層の低変化速度に応じてオーバーレイ層４０を更新することができる。このようにして、表示画像３８を更新するために必要な帯域幅の大きさは、図３を参照して説明された従来動作と比較して実質的に削減されることができる。
【００４５】
図４に示されるように、バックグランド層は、ビデオ・アプリケーション・コントローラ１４からのデコードされたビデオを含んでいるビデオ層３６である。ビデオ層３６の上は、縁取り層３４、システム・ステータス層３２、及びビデオ制御層３０からの表示項目を含んでいるオーバーレイ層４０である。表示項目を含むオーバーレイ層４０の小さな小区分は、少なくとも部分的に不透明であり得て、そしてオーバーレイ層４０の残りの区分は、ビデオ層３６を見るために完全に透明であり得る。
【００４６】
オーバーレイ層４０とビデオ層３６は、異なる速度で変化する。例えば、ビデオ層３６は、高速度で、例えば、ほぼ毎秒３０フレームで、変化することができる。オーバーレイ層４０は、低速度で、例えば、ほぼ毎秒１フレームで、変化することができる。それに加えて、オーバーレイ層４０上で変化しているデータの量は、一般に、ビデオ・カウンタの最後の桁、時間表示の秒、又は信号強度インジケータのバーの数のように、まさに最小である。具体例の動作では、ビデオ層３６がほぼ毎秒３０フレームの速度で変化し、そしてオーバーレイ層４０がほぼ毎秒１フレームの速度で変化する場合に、ＭＤＰ２６は、オーバーレイ層４０とビデオ層３６を読み込みそして調合して、ほぼ毎秒３０フレームの速度で表示画像３８を更新する。その上、オーバーレイ・モジュール２４は、表示層３０，３２及び３４を読み込みそして調合して、ほぼ毎秒１フレームの速度でオーバーレイ層４０を更新する。
【００４７】
オーバーレイ・モジュール２４は、オーバーレイ層４０を形成する表示層３０，３２と３４のそれぞれに対して使用する異なるシェーディングのために４Ｂｐｐデータ・フォーマットでオーバーレイ層４０を保存することができる。オーバーレイ・モジュール２４を使用してオーバーレイ層４０を形成するために低変化速度表示層を調合することは、ＭＤＰ２６によりオーバーレイ層４０を使用する表示画像３８を毎秒３０フレームで更新するために必要な帯域幅の大きさをほぼ９４ＭＢｐｓからほぼ５０ＭＢｐｓへと削減する。表１から、毎秒３０フレームでビデオ層３６を更新することは、ほぼ１５ＭＢｐｓを必要とし、そして毎秒３０フレームで４Ｂｐｐグラフィック・フォーマットのオーバーレイ層４０を更新することは、ほぼ３５ＭＢｐｓを必要とする。
【００４８】
オーバーレイ・モジュール２４によりオーバーレイ層４０を形成することの副作用は、メモリ２２からオーバーレイ・モジュール２４へと低変化速度表示層３０，３２と３４を読み出し、そして次にメモリ２２中へとオーバーレイ層４０を書き戻すために必要な帯域幅の大きさの増加である。毎秒１フレームでオーバーレイ・モジュール２４によりオーバーレイ層４０を更新しそして書き込むために必要な全帯域幅は、ほぼ４ＭＢｐｓである。表１から、毎秒１フレームで、異なるデータ・フォーマットにそれぞれが準拠する３つの表示層を更新することは、ほぼ１８＋２６＋３５ＭＢｐｓを３０で割ったＭＢｐｓを必要とし、そして毎秒１フレームでオーバーレイ層４０を書き込むことは、ほぼ３５ＭＢｐｓを３０で割ったＭＢｐｓを必要とする。それゆえ、オーバーレイ層４０を使用して表示画像３８を高速度の変化に応じて更新するために必要な帯域幅の全量は、ほぼ５４ＭＢｐｓであり、それは低変化速度表示層の全てを別々に読み出すために必要な量よりも実質的に少ない。
【００４９】
図５は、ＷＣＤ１０内のシステム・コントローラ１２とビデオ・アプリケーション・コントローラ１４からの低変化速度表示層を統合する具体例のオーバーレイ層４０を図示する。上に記述したように、オーバーレイ層４０は、ビデオ層３６を覆って配置されることができて、ＷＣＤ１０内の表示デバイス２０上で表示のための画像を形成する。例えば、ビデオ制御層３０、システム・ステータス層３２、及び縁取り層３４は、オーバーレイ層４０を形成するために統合されることができる。オーバーレイ層４０は、縁取り層３４からの装飾的な縁取り５２、システム・ステータス層３２からの信号強度インジケータ５４、及びビデオ制御層３０からのビデオ制御ボタン５６を含む。表示項目を含むオーバーレイ層４０の小さな小区分は、少なくとも部分的に不透明であり得て、そしてオーバーレイ層４０の残りの区分は、表示デバイス２０上に表示されたときにビデオ層３６を見るようにするために完全に透明であり得る。前に述べたように、様々な実施形態において、オーバーレイ層４０は、クロック情報、日付情報、ネットワーク・ステータス情報、又は追加層から得られる様々な別の情報のうちのいずれかを同様に含むことができる。
【００５０】
図６は、複数のタイル６０へと分割された図５のオーバーレイ層４０を図示する。説明の目的のために、図６は、オーバーレイ層４０中の１５個のタイル６０だけを示す。しかしながら、ＶＧＡサイズにされたオーバーレイ層は、オーバーレイ層中に典型的には４０タイル×３０タイルの合計１２００タイルである。オーバーレイ層４０中のタイル６０のそれぞれは、ピクセルの１６×１６ブロック、又はピクセルの３２×３２ブロックを含むことができる。ＭＤＰ２６は、タイル毎のベースでビデオ・アプリケーション・コントローラ１４からのバックグランド・ビデオ層３６を処理して、図２を参照して説明したように効率的な回転を可能にする。それゆえ、ＭＤＰ２６は、タイル毎のベースでメモリ２２からのオーバーレイ層４０を同様に処理する。タイル６０のナンバリングは、ＭＤＰ２６がオーバーレイ層４０を処理する順番を示す。
【００５１】
分かるように、オーバーレイ層４０は、表示項目、例えば、装飾的な縁取り５２、信号強度インジケータ５４、及びビデオ制御ボタン５６、を含まない複数のタイル６０を含む。表示項目のないタイル６０は、完全に透明であり得る。ＶＧＡサイズにされたオーバーレイ層では、装飾的な縁取りは、タイルの約１０％で表示されることができ、そしていずれかの残りの表示項目は、一般的にタイルの別の１０％を占有する。それゆえ、ＶＧＡサイズにされたオーバーレイ層中のタイルのほぼ８０％は、完全に透明である。
【００５２】
図７は、オーバーレイ層４０中の１つのタイル６０Ａを非常に詳細に図示する。オーバーレイ層４０中のタイル６０のそれぞれは、タイル６０Ａと実質的に同じであり得る。タイル６０Ａは、ピクセル６２の２次元アレイを具備する。説明の目的のために、図７は、サイズが８ピクセル×８ピクセルであるタイル６０Ａを示す。しかしながら、ＶＧＡサイズにされたオーバーレイ層は、一般的にサイズが１６ピクセル×１６ピクセル、又は３２ピクセル×３２ピクセルであるタイルを有する。図示された実施形態では、タイル６０Ａは、オーバーレイ層４０中の縁取りタイルであり、それは縁取り層３４からの装飾的な縁取り５２の一部分を含む。タイル６０Ａは、同じ値、すなわち、装飾的な縁取り５２、であるか又は完全に透明であるかのいずれかである大きな領域を有し、それはＲＬＥに向いている。
【００５３】
上に記述したように、オーバーレイ層４０を形成すると、オーバーレイ・モジュール２４は、ヘッダを含んでいる複数のタイル６０としてメモリ２２中にオーバーレイ層４０を記憶する。オーバーレイ・モジュール２４は、複数のタイル６０に関する処理情報をヘッダ中に記録する。例えば、タイル６０Ａのヘッダは、オーバーレイ層４０中の現在のタイル６０Ａのタイル番号、現在のタイル６０Ａの透明性を表すタイル・ステータス、及びオーバーレイ層４０中の複数の隣接タイルの透明性を表す隣接タイル・ステータスを含むことができる。
【００５４】
ＭＤＰ２６は、メモリ２２からオーバーレイ層４０を読み出し、そしてヘッダ中に記録された処理情報に基づいてオーバーレイ層４０中の複数のタイル６０を高変化速度に応じて選択的に処理する。ＭＤＰ２６は、ビデオ・アプリケーション・コントローラ１４からの高変化速度ビデオ表示層を高変化速度に応じて読み込みそして処理する。処理の期間に、ＭＤＰ２６は、オーバーレイ層４０中の各透明でないタイルをビデオ表示層３６中の対応するタイルと統合して、ＷＣＤ１０内の表示デバイス２０上での表示のために１つの、調合された画像を形成する。
【００５５】
オーバーレイ層４０中のタイル６０Ａを読み込むと、ＭＤＰ２６は、現在のタイル６０Ａのヘッダ中に記録された現在のタイル６０Ａのステータスと隣接タイルのステータスを読み出す。そのステータスは、現在のタイル６０Ａが実質的に透明であるかどうかの標識子、そしてもしあるならば、同様に実質的に透明である複数の隣接タイルの標識子を具備することができる。ＭＤＰ２６は、実質的に透明であると示されたこれらのタイルを処理することを飛ばすことができ、そしてビデオ表示層３６中の対応するタイルだけに基づいて表示画像３８を更新する。ＭＤＰ２６は、その後、次の透明でないタイルを読み込む。
【００５６】
例えば、現在のタイル６０Ａが透明でありそして２つの隣接タイルが同様に透明であることを、現在のタイルのステータスが示す場合に、ＭＤＰ２６は、オーバーレイ層中の現在のタイル６０Ａとその２つの隣接タイルを処理することを飛ばすことができる。オーバーレイ層４０中の透明なタイルのそれぞれに対して、ＭＤＰ２６は、ビデオ表示層３６中の対応するタイルを読み出し、そして表示画像３８を更新する準備ができるまでビデオ表示層タイルを表示バッファ２８へと送る。ＭＤＰ２６は、次に処理のためにオーバーレイ層４０中の３番目の透明でない隣接タイルを読み込む。ＭＤＰ２６は、透明でないオーバーレイ層タイルを対応するタイルと調合し、そして表示画像３８を更新する準備ができるまで複合タイルを表示バッファ２８へと送る。それゆえ、複数の実質的に透明なタイルがオーバーレイ層４０中で互いに隣接するときに、ＭＤＰ２６は、実質的に透明な複数のタイルを判断するために最初のタイルのヘッダを読み出す必要があるだけである。現在のタイル６０Ａが実質的に透明であるが隣接タイルが実質的に透明でないケースでは、ＭＤＰ２６は、現在のタイル６０Ａに対応するビデオ層タイルを表示バッファ２８へと送った後で、デフォルトにより現在のタイル６０Ａに隣接する次のタイルを読み込む。
【００５７】
このようにして、ＭＤＰ２６は、オーバーレイ層４０中の複数のタイル６０の一部を処理する必要があるだけであり、それはメモリ２２からＭＤＰ２６へとオーバーレイ層５０を高変化速度に応じて読み出すために必要な帯域幅の大きさを削減する。オーバーレイ層１５が一般的なサイズにされたオーバーレイ層であるケースでは、オーバーレイ層４０中の複数のタイル６０のうちのほぼ８０％は、実質的に透明である。ＭＤＰ２６は、それから複数のタイル６０のヘッダ中の現在のタイルと隣接タイルのステータスを読み出すことができ、そしてタイル透明性の標識に基づいて複数のタイル６０のうちの８０％の処理を飛ばすことができる。
【００５８】
オーバーレイ層４０中の実質的に透明なタイルの処理を飛ばすことは、毎秒３０フレームでメモリ２２からＭＤＰ２６へとオーバーレイ層４０を読み出すために必要なほぼ３５ＭＢｐｓをほぼ７ＭＢｐｓへと８０％削減する。それゆえ、オーバーレイ・モジュール２４を使用してオーバーレイ層４０中のタイル６０のヘッダ中へと透明性ステータスを記録すること、そしてオーバーレイ層４０中の透明でないタイルだけを選択的に処理することは、オーバーレイ層４０を使用して高速度の変化に応じて表示画像３８を更新するために必要な帯域幅を、ほぼ５４ＭＢｐｓからほぼ２６ＭＢｐｓへとさらに削減する。
【００５９】
オーバーレイ・モジュール２４は、オーバーレイ層４０中のタイル６０の少なくとも一部分にＲＬＥを同様に実行することができる。例えば、オーバーレイ・モジュール２４は、タイル６０ＡにＲＬＥを実行することができて、メモリ２２中への効率的な記憶のためにタイル６０Ａを圧縮する。オーバーレイ・モジュール２４は、次に、タイル６０Ａに対して使用した圧縮のタイプをタイル６０Ａのヘッダ中に記録する。圧縮タイプは、例えば、成分に基づく圧縮、又はピクセルに基づく圧縮を含むことができる。あるいは、ある複数の実施形態では、圧縮が使用されないことがある。
【００６０】
オーバーレイ・モジュール２４は、メモリ２２中へのタイル６０Ａの最も効率的な記憶を提供する圧縮タイプに基づいてタイル６０Ａを圧縮することができる。ある複数のケースでは、タイル６０Ａは、圧縮されないで最も効率的に記憶されることがある。タイル６０Ａの最大記憶サイズは、タイル６０Ａのデータ・サイズにタイル６０Ａのヘッダ・サイズを加えたサイズである。
【００６１】
このようにして、ＭＤＰ２６は、オーバーレイ層４０中の圧縮されたタイル６０をメモリ２２から読み出すことができ、そして処理するためにタイル６０のヘッダ中に記録された圧縮タイプに基づいてタイル６０を逆圧縮することができる。タイル６０の一部分を圧縮するためのオーバーレイ層２４の負荷は、かなり低い。負荷が非常に低いので、オーバーレイ層２４は、既知の目標がＭＤＰ２６であるときに、より大きな利得を可能にする損失の多い圧縮方式を与えることができる。
【００６２】
図８Ａは、オーバーレイ層４０中のタイル６０Ａのピクセル・ストリップ６４Ａ−６４Ｈ（“ピクセル・ストリップ６４”）を図示する。ピクセル・ストリップ６４は、タイル６０Ａ内のピクセルの行である。図８Ａでは、小文字“ａ”から“ｈ”は、タイル６０Ａを形成するピクセル・ストリップ６４を表す。説明の目的のために、図８Ａは、８個のピクセル・ストリップ６４を有するとしてタイル６０Ａを示す。しかしながら、ＶＧＡサイズにされたオーバーレイ層は、１６個のピクセル・ストリップ又は３２個のピクセル・ストリップを含むタイルを有する。
【００６３】
ＭＤＰ２６は、メモリ２２からストリップ毎の方式でタイル６０Ａを読み出す。ピクセル・ストリップ６４のそれぞれは、メモリ２２中の連続したメモリ位置に記憶される。メモリ・コントローラ２３は、連続したメモリ位置からデータのバーストを読み込むときに最も効率的に動作することができる。例えば、メモリ・コントローラ２３は、３２バイトのバーストを転送するときに最も効率的に動作することができる、上記の表２参照。１つの例では、典型的なタイルのピクセル・ストリップは、ピクセル当たり４バイトの１６ピクセルを有する、６４バイトである。それゆえ、ピクセル・ストリップは、２つの最も効率的な転送でメモリ２２からＭＤＰ２６へと読み出されることができる。
【００６４】
従来は、タイルのピクセル・ストリップ“ａ”とピクセル・ストリップ“ｂ”は、“ライン・ストライド（line stride）”だけ互いに離れたメモリ位置に記憶される。ライン・ストライドは、ラインを表すために要するバイト数を呼ぶ。このケースでは、タイルがＲＬＥを使用して圧縮される場合、圧縮されたピクセル・ストリップは、メモリ中でライン・ストライドだけ離される。この記憶技術は、いくつかの欠点を有する。第１に、ＲＬＥのための一般的な圧縮比は、およそ４対１である。それゆえ、３２バイトの２つの非常に効率的なバーストでピクセル・ストリップを取り出す代わりに、上に説明したように、ＭＤＰは、１つの１６バイトの非効率的なバーストでピクセル・ストリップを取り出すはずである。第２の欠点は、ピクセル・ストリップのラン長が１６ピクセル又は３２ピクセルのいずれかに制限されることである。もう１つの欠点は、最初のバーストを処理し終わるまで、ＭＤＰがタイル６０Ａを読み込むことを実行するために何個のバーストがあるかを知らないことである、それは表示のためにタイル６０Ａを処理するときに待ち時間の増加という結果をもたらす。
【００６５】
図８Ｂは、メモリ２２中のライン・ストライドにより分離されていない連続したメモリ位置に記憶されたタイル６０Ａのピクセル・ストリップ６４を図示する。このケースでは、オーバーレイ・モジュール２４は、ピクセル・ストリップ６４に対してラン長の制限なしでタイル６０Ａに効率的なＲＬＥを実行することができる。オーバーレイ・モジュール２４は、次にピクセル・ストリップ“ａ”６４Ａからピクセル・ストリップ“ｈ”６０Ｈの順番で圧縮されたピクセル・ストリップ６４をライン・ストライドなしにメモリ２２中に記憶する。オーバーレイ・モジュール２４は、タイル６０Ａのヘッダ中にタイル６０Ａに対する圧縮のタイプをメモリ２２中に同様に記録する。ＭＤＰ２６は、次にタイル６０Ａのピクセル・ストリップ６４を３２バイト又は６４バイトの連続的する効率的なバーストでメモリ２２から読み出すことができる。
【００６６】
オーバーレイ・モジュール２４は、オーバーレイ層４０中の次のタイル、又は次の透明でないでないタイルのバースト長を第１のタイル６０Ａのヘッダ中に同様に記録することができる。このようにして、ＭＤＰ２６は、メモリ２２から次のタイルを読み出すことを実行するために何個のバーストがあるかを時間で先行して判断することができ、それは表示のためにオーバーレイ層４０を処理するときの待ち時間を減少させる。
【００６７】
ライン・ストライドにより分離されていないメモリ２２中の連続したメモリ位置にオーバーレイ層４０中のタイル６０のピクセル・ストリップを記憶することは、オーバーレイ・モジュール２４が複数のタイル６０をその元々のサイズの２５％へと圧縮することを可能にする。オーバーレイ層４０中のタイル６０を圧縮することは、毎秒３０フレームでメモリ２２からＭＤＰ２６へとオーバーレイ層４０を読み出すために必要なほぼ７ＭＢｐｓをほぼ２ＭＢｐｓへと７５％だけ削減する。それゆえ、オーバーレイ層４０中のタイル６０のピクセル・ストリップの記憶を再配列すること及びメモリ２２中のタイル６０を圧縮することは、オーバーレイ層４０を使用して表示画像３８を高速度の変化に応じて更新するために必要な帯域幅をほぼ２６ＭＢｐｓからほぼ２１ＭＢｐｓへと削減する。
【００６８】
図５と図６に示されたように、オーバーレイ層４０は、装飾的な縁取り５２、信号強度インジケータ５４、とビデオ制御ボタン５６とを含んでいる複数の表示項目を含む。装飾的な縁取り５２は、デコードされたビデオの表示の期間中変化しない。オーバーレイ層４０の第３タイルに置かれた信号強度インジケータ５４は、ＷＣＤ１０により受信される信号強度が変化するときはいつでも変化する。タイル１３，１４と１５に置かれたビデオ制御ボタン５６は、デコードされたビデオの表示の期間中同様に変化しない。しかしながら、ビデオ制御ボタン５６は、デコードされたビデオが進むにつれ、例えば、毎秒１回、変化するビデオ・カウンタを含むことができる。それゆえ、デコードされたビデオの表示の期間中に変化しないオーバーレイ層４０中の表示項目は、比較的少なく、そして１又はそれより多くのタイル６０の小さな部分集合に局在化される。
【００６９】
従来は、ＷＣＤ中のソフトウェア・モジュールは、ＲＬＥを使用して表示層中のタイルを圧縮することができ、ＷＣＤ中のメモリを節約することができる。このケースでは、ソフトウェア・モジュールは、複数のタイルのそれぞれを別々に圧縮することができ、そして変化するサイズのレコードでタイルをメモリ中に記憶することができる。それゆえ、表示層中の特定のタイルをメモリ中の特定のアドレスにマッピングすることは、直接的ではない。
【００７０】
本明細書中で説明する画像処理技術は、表示のためにメモリ２２から画像を読み出すために使用する帯域幅を削減することができるが、ＷＣＤ１０のメモリを必ずしも節約する必要がない。オーバーレイ・モジュール２４は、タイル６０のそれぞれがどのようにして圧縮されたかに拘わらず固定サイズ・ヘッダを有する固定サイズ・レコードとしてオーバーレイ層４０中の複数のタイル６０をメモリ２２中に記憶することができる。固定サイズ・レコードは、圧縮されていないタイルを記憶するのに十分な大きさである。タイル６０Ａが圧縮されている場合には、タイル６０Ａの固定サイズ・レコードの残りの部分は、空白であるか又は価値のないデータで満たされるかのいずれかであり得る。固定サイズ・レコードで複数のタイル６０を記憶することは、タイル６０のそれぞれがメモリ２２内部で変化しない開始記憶点と終了記憶点を有することを確実にする。このようにして、オーバーレイ層４０中のタイル６０のそれぞれは、メモリ２２中の特定のアドレスにマッピングされることができる。
【００７１】
オーバーレイ・モジュール２４は、低変化速度、例えば、毎秒１フレーム、に応じて、低変化速度表示層３０，３２と３４に基づいてオーバーレイ層４０を更新する。オーバーレイ層４０を更新するために、オーバーレイ・モジュール２４は、メモリ２２から低変化速度表示層３０，３２と３４のそれぞれを読み出し、そして低変化速度表示層のタイルをオーバーレイ層４０へ圧縮して、タイル６０のうちのどれが変化している表示項目を含むかを判断する。図５と図６の図示された例では、オーバーレイ・モジュール２４は、タイル３，１３，１４と１５が変化する表示項目を含むことを判断することができる。
【００７２】
固定サイズ・レコードとしてオーバーレイ層４０中のタイル６０をメモリ２２中に記憶することにより、オーバーレイ・モジュール２４は、メモリ２２中の変化するタイルの特定のアドレスに基づいてメモリ２２中に記憶される変化するタイルの位置を決めることができる。例えば、オーバーレイ・モジュール２４は、メモリ２２中のオーバーレイ層４０のタイル３，１３，１４と１５、又は任意の別のタイル、を見つけるための場所を正確に知る。このようにして、オーバーレイ・モジュール２４は、オーバーレイ層４０中の変化するタイルを更新することが必要であるだけであり、それは低変化速度によりオーバーレイ層４０を更新するために必要な帯域幅の大きさを削減する。
【００７３】
上に記述したように、オーバーレイ・モジュール２４によりオーバーレイ層４０を形成することの副作用は、低変化速度表示層３０，３２と３４をメモリ２２からオーバーレイ・モジュール２４へと読み込むために、そしてその後、オーバーレイ層４０をメモリ２２中へと書き戻すために必要な帯域幅の大きさの増加である。オーバーレイ・モジュール２４によりオーバーレイ層４０を毎秒１フレームで更新し、そして書き込むために必要な帯域幅は、ほぼ４ＭＢｐｓである。オーバーレイ層４０中の変化するタイルだけを更新することは、オーバーレイ・モジュール２４によりオーバーレイ層４０を毎秒１フレームで更新しそして書き込むために必要な帯域幅の大きさを、アプリケーションの有効期間の終わりまでほぼ１ＭＢｐｓに削減する。それゆえ、オーバーレイ層４０中のタイル６０を固定サイズ・レコードとしてメモリ２２中に記憶することは、オーバーレイ層４０を使用して高速度の変化に応じて表示画像３８を更新するために必要な帯域幅をほぼ２１ＭＢｐｓからほぼ１８ＭＢｐｓへと削減する。
【００７４】
図９は、タイル７２に関する処理情報を記録するヘッダ７０を含んでいるオーバーレイ層中のタイル７２を図示する。図２のオーバーレイ・モジュール２４は、タイル７２に関する処理情報をヘッダ７０中に記録することができ、そしてメモリ・コントローラ２３を介して図１のメモリ２２中にヘッダ７０を有するタイル７２を記憶することができる。ある複数の実施形態では、オーバーレイ・モジュール２４は、固定サイズ・レコードとしてタイル７２をメモリ２２中に記憶することができ、そして固定サイズ・ヘッダとしてタイル７２のヘッダ７０をメモリ２２中に記憶することができる。
【００７５】
タイル７２のヘッダ７０は、タイル番号７４、タイル・ステータス７６、隣接タイル・ステータス７８、圧縮タイプ８０、及び次のタイルのバースト長８２を含む。別の実施形態では、タイル７２のヘッダ７０は、タイル７２に関する処理情報を多かれ少なかれ含むことができる。タイル番号７４は、オーバーレイ層中の他のタイルと相対的にオーバーレイ層中でのタイル７２の位置を特定する。例えば、オーバーレイ層は、ほぼ１２００タイルを含むことができる。タイル・ステータス７６は、タイル７２が実質的に透明であるかどうかを指示する。隣接タイル・ステータス７８は、オーバーレイ層中のタイル７２に隣接する実質的に透明である複数のタイルを示す。ＭＤＰ２６は、実質的に透明であると示されたいずれのタイルをも処理することを飛ばすことができる。例えば、タイル７２が透明であることそして２つの隣接タイルが同様に透明であることをタイル・ステータス７６が示す場合には、ＭＤＰ２６は、タイル７２と２つの隣接タイルを処理することを飛ばすことができ、そして処理するために３番目の隣接タイルを読み込むことができる。
【００７６】
タイル圧縮タイプ８０は、タイル７２に関するＲＬＥ圧縮のタイプを同定する。圧縮タイプは、成分に基づく圧縮、ピクセルに基づく圧縮、又は圧縮なしを含むことができる。ＭＤＰ２６は、タイル圧縮タイプ８０によって同定された圧縮のタイプに基づいてタイル７２を逆圧縮することができる。次のタイル・バースト長８２は、オーバーレイ層中の次のタイルについてのバースト長を特定する。ある複数のケースでは、次のタイルのバースト長は、オーバーレイ層中の次の透明でないタイルのバースト長を具備することができる。ＭＤＰ２６は、次のタイル・バースト長８２に基づいてオーバーレイ層中の次のタイル、又は次の透明でないタイルを読み込むことができる。タイルを読み出す前に、タイルについてのバースト長を知ることにより、ＭＤＰ２６は、オーバーレイ層を処理する際の待ち時間を削減することができる。
【００７７】
図１０は、オーバーレイ層をメモリ中に記憶し、そしてそのオーバーレイ層を使用して表示画像を高速度の変化に応じて更新する具体例の動作を説明するフローチャートである。動作は、図１及び図２のＷＣＤ１０内のＭＤＰシステム１８を参照して本明細書では説明される。ＭＤＰシステム１８は、システム・コントローラ１２及びビデオ・アプリケーション・コントローラ１４から表示のための情報を受け取る（８４）。例えば、ＭＤＰシステム１８は、システム・コントローラ１２からシステム・ステータス表示層として信号強度インジケータとクロックを受け取ることができる。ＭＤＰシステム１８は、しかも、ビデオ・アプリケーション・コントローラ１４から、ビデオ層としてデコードされたビデオを、縁取り層としてデコードされたビデオを枠で囲む装飾的な縁取りを、そしてビデオ制御層としてビデオ制御ボタンとビデオ・カウンタを、受け取ることができる。
【００７８】
ＭＤＰシステム１８によって受け取られた表示層のそれぞれは、異なる速度で変化することができる。例えば、ビデオ層は、高速度で、例えば、ほぼ毎秒３０フレームで変化することができる。縁取り層は、デコードされたビデオの表示の期間中は変化しないことがある。システム・ステータス層は、低速度で、例えば、ほぼ毎秒１フレームで変化することができる、又はＷＣＤ１０によって受信される信号強度が変化するときに変化することができる。ビデオ制御層は、低速度で、例えば、ほぼ毎秒１フレームで変化することができる、又はデコードされたビデオの表示の期間中は変化しないことがある。システム・ステータス層とビデオ制御層上で変化するデータの量は、一般に、ビデオ・カウンタの最後の桁、時間表示の秒、又は信号強度インジケータのバーの数のように、まさに最小である。
【００７９】
オーバーレイ・モジュール２４は、低変化速度表示層、例えば、縁取り層、システム・ステータス層とビデオ制御層、を複合オーバーレイ層へと統合する（８６）。ビデオ層とは分離して低変化速度表示層をオーバーレイ層へと統合することは、オーバーレイ・モジュール２４がオーバーレイ層を低変化速度で更新することを可能にし、そして複数の別々の表示層の代わりに、ＭＤＰ２６がビデオ層とともにオーバーレイ層を高速度の変化で処理することを可能にする。オーバーレイ・モジュール２４は、次に、ヘッダを含んでいる複数のタイルとしてオーバーレイ層を、メモリ・コントローラ２３を介してメモリ２２中に記憶する（８８）。
【００８０】
オーバーレイ・モジュール２４は、タイルのヘッダ中のタイルに関する処理情報をメモリ２２中に記録する（９０）。例えば、現在のタイルのヘッダは、オーバーレイ層中の現在のタイルのタイル番号、現在のタイルの透明性を表すタイル・ステータス、及びオーバーレイ層中の複数の隣接タイルの透明性を表す隣接タイル・ステータスを含むことができる。
【００８１】
ＭＤＰ２６は、メモリ２２からオーバーレイ層を読み出し、そしてそのオーバーレイ層のタイルのヘッダ中に記録された処理情報を読み出す。ＭＤＰ２６は、次に処理情報に基づいてオーバーレイ層を高速度の変化に応じて選択的に処理する（９２）。ＭＤＰ２６は、ビデオ・アプリケーション・コントローラ１４からビデオ表示層を読み込み、そして高速度の変化に応じてビデオ表示層を処理する（９４）。ビデオ層とオーバーレイ層中のタイルが一旦処理されると、ＭＤＰ２６は、オーバーレイ層中の透明でないタイルのそれぞれをビデオ層中の対応するタイルと統合して、ＷＣＤ１０中の表示デバイス２０上に表示するための画像を更新する（９６）。
【００８２】
このようにして、ＭＤＰ２６は、個々の低変化速度表示層の代わりにオーバーレイ層をメモリ２２から読み出すことができ、それは表示層をＭＤＰ２６中へと読み出すために必要な帯域幅の大きさを削減する。それに加えて、オーバーレイ層のタイルのヘッダ中に処理情報を記録することは、ＭＤＰ２６がオーバーレイ層中のタイルを選択的に処理することを可能にする、それはオーバーレイ層をＭＤＰ２６中へと読み出すために必要な帯域幅の大きさをさらに削減する。
【００８３】
オーバーレイ・モジュール２４は、次にシステム・コントローラ１２とビデオ・アプリケーション・コントローラ１４からの低変化速度表示層に基づいてオーバーレイ層を低速度の変化に応じて更新する（９８）。オーバーレイ・モジュール２４は、個々の低変化速度表示層をメモリ２２から読み出し、そして複数の低変化速度表示層を併合して更新されたオーバーレイ層を形成する。オーバーレイ・モジュール２４は、例えば、毎秒１フレームの、低変化速度表示層の低変化速度によりオーバーレイ層を更新する。このようにして、オーバーレイ・モジュール２４は、メモリ２２から表示画像を読み込みそして更新するためにＭＤＰ２６によって必要とされる帯域幅を実質的に削減する、一方で、オーバーレイ層を更新するためにオーバーレイ・モジュール２４により必要とされる帯域幅をほんの少しだけ増加させる。
【００８４】
図１１は、高速度の変化に応じてオーバーレイ層を選択的に処理して、表示画像を更新する具体例の動作を説明するフローチャートである。例えば、動作は、より詳細な図１０のステップ９４を含むことができる。動作は、図１及び図２のＷＣＤ１０内のＭＤＰシステム１８を参照して本明細書では説明される。
【００８５】
ＭＤＰ２６は、メモリ・コントローラ２３を介してメモリ２２からオーバーレイ層中のタイルを読み出す（１００）。上に記述したように、タイルは、そのタイルに関する処理情報を記憶するヘッダを含む。ＭＤＰ２６は、現在のタイルのヘッダ中に記録された現在のタイルに関する処理情報を読み出す（１０２）。現在のタイルが実質的に透明でない場合には（１０３のＮＯの分岐）、ＭＤＰ２６は、処理情報に基づいて現在のタイルを処理する（１０６）。このケースでは、ＭＤＰ２６は、現在のオーバーレイ層タイルをビデオ表示層中の対応するタイルと調合することができて、表示画像を更新することができる。現在のタイルが実質的に透明である場合には（１０３のＹＥＳの分岐）、ＭＤＰ２６は、現在のタイルを処理することを飛ばす（１０４）。このケースでは、オーバーレイ層中の現在のタイルは、いずれの表示項目をも含まず、そしてそれゆえ、表示画像中で更新される必要がない。ＭＤＰ２６は、ビデオ表示層中の対応するタイルにより表示を更新することができる。
【００８６】
オーバーレイ層中のどの隣接タイルが実質的に透明であるかどうかを、ＭＤＰ２６は判断する（１０７）。複数の隣接タイルが実質的に透明である場合には、ＭＤＰ２６は、オーバーレイ層中の複数の隣接タイルを処理することを飛ばす（１０８）。このケースでは、オーバーレイ層中のその複数の隣接タイルは、いかなる表示画像をも含まず、そしてそれゆえ、表示画像中で更新される必要がない。ＭＤＰ２６は、オーバーレイ層中の複数の隣接タイルのそれぞれに対するビデオ表示層中の対応するタイルにより表示画像を更新することができる。ＭＤＰ２６は、次に、メモリ・コントローラ２３を介してメモリ２２から、複数の透明タイルの後でオーバーレイ層中の次のタイルを読み出す（１１０）。隣接タイルが実質的に透明でない場合には、ＭＤＰ２６は、メモリ・コントローラ２３を介してメモリ２２から、現在のタイルの後でオーバーレイ層中の次のタイルを読み出す（１１０）。いずれのケースでも、ＭＤＰ２６は、次に、本明細書中で説明される動作にしたがって次のタイルを選択的に処理し続ける。
【００８７】
図１２は、ＷＣＤのメモリ中にオーバーレイ層を記憶し、そして更新する具体例の動作を説明するフローチャートである。動作は、図１及び図２のＷＣＤ１０内のオーバーレイ・モジュール２４を参照して本明細書では説明される。オーバーレイ・モジュール２４は、システム・コントローラ１２とビデオ・アプリケーション・コントローラ１４からの複数の低変化速度表示層を１つのオーバーレイ層へと統合する（１１８）。オーバーレイ・モジュール２４は、次に、ヘッダを含んでいる複数のタイルとしてオーバーレイ層をメモリ２２中に記憶する（１２０）。
【００８８】
上に記述したように、ＶＧＡサイズにされたオーバーレイ層は、一般的に１２００タイル、すなわち、４０タイル×３０タイルを含む。タイルのそれぞれは、ピクセルの１６×１６のブロック、又はピクセルの３２×３２のブロックを備えることができる。１つのタイル中のピクセルの各行は、“ピクセル・ストリップ”と呼ばれる。オーバーレイ・モジュール２４は、タイルのそれぞれのピクセル・ストリップをメモリ２２内のライン・ストライドにより分離されていない連続したメモリ位置に記憶する（１２２）。オーバーレイ・モジュール２４は、次に、オーバーレイ層中の複数のタイルの少なくとも一部にＲＬＥを実行する（１２４）。オーバーレイ・モジュール２４は、所与のタイルに対する最も効率的な記憶技術に基づいてオーバーレイ層中のタイルのそれぞれに対する圧縮タイプを決定することができる。例えば、オーバーレイ・モジュール２４は、オーバーレイ層中のタイルにピクセルに基づく圧縮又は成分に基づく圧縮のいずれかを実行することができる。ある複数のケースでは、オーバーレイ・モジュール２４は、圧縮を実行しないことがある。
【００８９】
オーバーレイ・モジュール２４は、固定サイズ・ヘッダを含んでいる固定サイズ・レコードとしてオーバーレイ層中の複数のタイルをメモリ２２中に記憶する（１２６）。固定サイズ・レコードは、圧縮されていないタイルを記憶するために十分な大きさである。タイルが圧縮されている場合には、タイルの固定サイズ・レコードの残りの部分は、空白であるか又は価値のないデータで満たされるかのいずれかであり得る。固定サイズ・レコードで複数のタイルを記憶することは、タイルのそれぞれがメモリ２２内部で変化しない開始記憶点と終了記憶点を有することを確実にする。このようにして、オーバーレイ層中のタイルのそれぞれは、メモリ２２中の特定のアドレスにマッピングされることができる。
【００９０】
オーバーレイ・モジュール２４は、次に、複数のタイルに関する処理情報をタイルのヘッダ中へと記録する。例えば、オーバーレイ・モジュール２４は、オーバーレイ層中の複数のタイルそれぞれに対して、現在のタイルに対する圧縮タイプ、例えば、ピクセルに基づく、成分に基づく、又は圧縮なし、を現在のタイルのヘッダ中に記憶することができる（１２８）。このようにして、ＭＤＰ２６は、ヘッダから圧縮タイプを読み出すことができて、現在のタイルを逆圧縮するかどうかを、そして逆圧縮が必要である場合には、どの逆圧縮技術を使用するかを、判断する。オーバーレイ・モジュール２４は、現在のタイルのステータス及び隣接タイルのステータスを現在のタイルのヘッダ中に同様に記録する（１３０）。言い換えると、複数のタイルのそれぞれのヘッダは、現在のタイルが透明であるかどうかの指標を含む。複数のタイルのそれぞれのヘッダは、現在のタイルに隣接する複数のタイルが透明であるかどうかの指標も同様に含む。このようにして、ＭＤＰ２６は、ヘッダから現在のタイルのステータス及び隣接タイルのステータスを読み出すことができ、そしてそのステータス情報に基づいてオーバーレイ層中の１又はそれより多くのタイルを処理することを飛ばすことができる。
【００９１】
オーバーレイ・モジュール２４は、オーバーレイ層中の複数のタイルそれぞれに対して、次のタイルについてのバースト長を現在のタイルのヘッダ中に同様に記録する（１３２）。ある複数のケースでは、次のタイルは、オーバーレイ層の次の透明でないタイルを含むことができる。このようにして、ＭＤＰ２６は、ヘッダから次のタイルのバースト長を読み出すことができて、次のタイルを読み込むために最も効率的な方法を決定することができる。次のタイルの最初のバーストを処理する前に、次のタイルについてのデータを読み込むために何個の有効なバーストを実行するかを知ることは、表示のためにオーバーレイ層を処理するときの待ち時間を実質的に削減することができる。
【００９２】
一旦、オーバーレイ層がメモリ２２中に適切に記憶されると、オーバーレイ・モジュール２４は、低変化速度で、例えば、毎秒１回、低変化速度表示層に基づいてオーバーレイ層を更新する。低変化速度が終わると（１３３）、オーバーレイ・モジュール２４は、オーバーレイ層中のどの複数のタイルが変化する表示項目を含むかを判断する（１３４）。例えば、オーバーレイ・モジュール２４は、低変化速度表示層のそれぞれをメモリ２２から読み出すことができ、そして低変化速度表示層のタイルをオーバーレイ層と比較して、オーバーレイ層中のどのタイルが変化する表示項目を含むかを判断する。
【００９３】
固定サイズ・レコードとしてオーバーレイ層中のタイルをメモリ２２中に記憶することにより、オーバーレイ・モジュール２４は、メモリ２２中の固定サイズ・レコードの特定のアドレスに基づいてメモリ２２中に記憶された変化するタイルの位置を決める（１３６）。オーバーレイ・モジュール２４は、次に、オーバーレイ層中の変化するタイルだけを更新し、そして更新されたオーバーレイ層をメモリ２２中に記憶する（１３８）。一般的に、変化する表示項目は、オーバーレイ層中の複数のタイルの小さな部分集合に置かれ、それはオーバーレイ・モジュール２４によりオーバーレイ層を低変化速度により更新するために必要な帯域幅の大きさを削減する。
【００９４】
図１３Ａと図１３Ｂは、オーバーレイ層を使用して高速度の変化に応じて、表示画像を選択的に更新する具体例の動作を説明するフローチャートである。動作は、図１及び図２のＷＣＤ１０内のＭＤＰ２６に関連して本明細書では説明される。ＭＤＰ２６は、もし既知であれば、現在のタイルのバースト長に基づいてメモリ２２からオーバーレイ層中のタイルを読み出す（１４０）。
【００９５】
上に記述したように、タイルは、そのタイルに関する処理情報を記憶するヘッダを含む。図１３Ａに示されるように、ＭＤＰ２６は、オーバーレイ層タイルのヘッダ中に記録された現在のタイルのステータスを読み出し、それはそのオーバーレイ層タイルが実質的に透明であるかどうかを示す（１４２）。ＭＤＰ２６は、オーバーレイ層タイルのヘッダ中に記録された隣接タイルのステータスを同様に読み出し、それは実質的に透明であるオーバーレイ層中の複数の隣接オーバーレイ層タイルを示す（１４４）。それに加えて、ＭＤＰ２６は、オーバーレイ層タイルのヘッダ中に記録された次のタイルのバースト長を読み出し、それはメモリ２２から次のタイル、又は次の透明でないタイルを読み込むために最も効率的なバースト長を特定する（１４６）。ＭＤＰ２６は、次に、ビデオ・アプリケーション・コントローラ１４からビデオ表示層中の対応するタイルを読み出す（１４８）。
【００９６】
ＭＤＰ２６は、オーバーレイ層タイルのヘッダから読み出されるタイル・ステータスに基づいて、オーバーレイ層タイルが実質的に透明であるかどうかを判断する（１４９）。オーバーレイ層タイルが実質的に透明でない場合には、ＭＤＰ２６は、オーバーレイ層タイルのヘッダ中に記録された現在のタイルの圧縮タイプを読み出す、それはもしあるならば、オーバーレイ層タイルをＲＬＥするために使用した圧縮のタイプを同定する（１５４）。圧縮タイプは、成分に基づく圧縮、ピクセルに基づく圧縮、又は圧縮なしを含むことができる。ＭＤＰ２６は、次に、そのオーバーレイ層タイルに対する圧縮タイプに基づいてオーバーレイ層タイルを逆圧縮する。このようにして、現在のタイルが圧縮されている場合には、ＭＤＰ２６は、現在のタイルに対してどの逆圧縮技術を使用するかを決定することができる。ＭＤＰ２６は、オーバーレイ層タイルを対応するビデオ層タイルと統合して、表示画像タイルを形成する（１５８）。ＭＤＰ２６は、表示デバイス２０上の表示画像を更新する準備ができるまで表示バッファ２８へ複合タイルを送る（１６０）。
【００９７】
オーバーレイ層タイルが実質的に透明である場合には、ＭＤＰ２６は、そのオーバーレイ層タイルを処理することを飛ばす（１５０）。このケースでは、オーバーレイ層中の現在のタイルは、いかなる表示項目をも含まない、そしてそれゆえ、表示画像中で更新される必要がない。ＭＤＰ２６は、表示デバイス２０上の表示画像を更新する準備ができるまで表示バッファ２８へ対応するビデオ層タイルを送る（１５２）。
【００９８】
図３Ｂに示されるように、ＭＤＰ２６は、次に、オーバーレイ層タイルのヘッダから読み出された隣接タイルのステータスに基づいて、オーバーレイ層中のいずれの隣接オーバーレイ層タイルが実質的に透明であるかどうかを判断する（１６１）。複数の隣接タイルが実質的に透明である場合には、ＭＤＰ２６は、オーバーレイ層中のその複数の隣接タイルを処理することを飛ばす。ＭＤＰ２６は、次に、複数の透明な隣接オーバーレイ層タイルのそれぞれに対してビデオ・アプリケーション・コントローラ１４からビデオ表示層中の対応するタイルを読み出す（１６４）。ＭＤＰ２６は、表示デバイス２０上の表示画像を更新する準備ができるまで、複数の対応するビデオ層タイルを表示バッファ２８へ送る（１６６）。ＭＤＰ２６は、次に、次のタイルのバースト長に基づいてメモリ２２から、複数の透明なオーバーレイ層タイルの後でオーバーレイ層中の次のタイルを読み出す（１６８）。
【００９９】
隣接オーバーレイ層タイルが実質的に透明でない場合には、ＭＤＰ２６は、次のタイルのバースト長に基づいてメモリ２２から、現在のオーバーレイ層タイルの後でオーバーレイ層中の次のタイルを読み出す（１６８）。いずれのケースでも、ＭＤＰ２６は、次に、本明細書中に説明された動作にしたがって次のタイルを選択的に処理し続ける。このようにして、表示デバイス２０上の表示画像を更新するために、メモリ２２からＭＤＰ２６へと表示層を読み出すために必要な帯域幅の大きさは、実質的に削減される。
【０１００】
複数の実施形態が説明されてきている。しかしながら、これらの実施形態への様々な変形は、可能であり、そして本明細書中に示された原理は、同様に他の実施形態に適用されることができる。本明細書中に説明されたような方法は、ハードウェア、ソフトウェア、及び／又はファームウェアにおいて実行されることができる。係る方法の様々なタスクは、１又はそれより多くの論理素子、例えば、マイクロプロセッサ、組み込まれたコントローラ、又はプロセッサ・コア、により実行可能な命令の集合として実装されることができる。一例では、１又はそれより多くのそのようなタスクは、移動局モデム・チップ又はチップセット内で実行するように配置され、それはセルラ電話機のような個人通信デバイスの様々なデバイスの動作を制御するように構成される。
【０１０１】
本明細書中に記述した技術は、汎用マイクロプロセッサ、ディジタル信号プロセッサ（ＤＳＰ：digital signal processor）、用途特定集積回路（ＡＳＩＣ：application specific integrated circuit）、フィールド・プログラマブル・ゲートアレイ（ＦＰＧＡ：field programmable gate array）又は別の同等な論理デバイス内に与えられることができる。用語“プロセッサ”又は“処理回路”は、一般に上記の論理回路要素のうちのいずれか、単独で又は別の論理回路要素との組み合わせ、若しくはいずれかの別の等価な回路要素を呼ぶことができる。ある複数の実施形態では、本明細書中に記述された機能は、専用ソフトウェア・モジュール内に、又はエンコーディング及びデコーディングのために構成されたハードウェア・ユニット内に、又は複合ビデオ・エンコーダ−デコーダ（ＣＯＤＥＣ）内に与えられることができる。ソフトウェアで与えられる場合、本技術は、コンピュータ読取り可能な媒体、例えば、ランダム・アクセス・メモリ（ＲＡＭ：random access memory）、読み出し専用メモリ（ＲＯＭ：read only memory）、不揮発性ランダム・アクセス・メモリメモリ（ＮＶＲＡＭ）、電気的消去書込み可能ＲＯＭ（ＥＥＰＲＯＭ：electrically erasable ROM）、フラッシュ・メモリ、又はその他、の上の命令として具体化されることができる。その命令は、１又はそれより多くのプロセッサが本明細書中に記述された機能のある種の態様を実行するようにさせる。
【０１０２】
さらなる例として、ある実施形態は、有線接続された回路として、用途特定集積回路中へと作り込まれた回路構成として、若しくは不揮発性記憶装置中へとロードされたファームウェア・プログラム又は機械読み取り可能なコードとしてデータ記憶媒体から又はそこへロードされたソフトウェア・プログラムとして、一部が又は全体が実装されることができる、上記のコードは論理素子のアレイ、例えば、マイクロプロセッサ又は他のディジタル信号プロセシング・ユニット、により実行可能な命令である。データ記憶媒体は、半導体メモリ（それはダイナミックＲＡＭ又はスタティックＲＡＭ、ＲＯＭ、及び／又はフラッシュＲＡＭを含むことができるが、限定されない）若しくは強誘電体メモリ、オブシンスキー効果（ovonic）メモリ、高分子メモリ、又は相転移（phase-change）メモリ、のような記憶装置のアレイ；あるいは、磁気ディスク又は光ディスクのようなディスク媒体、であり得る。
【０１０３】
本明細書では、様々な技術が記述されてきている。例えば、表示のためにメモリから画像を読み出すために使用する帯域幅の大きさを削減する画像処理技術が、記述されている。画像処理技術は、低変化速度表示層を複合オーバーレイ層へと調合すること、そしてそのヘッダを含んでいる複数のタイルとしてオーバーレイ層をメモリ中へ記憶すること、を含む。オーバーレイ層は、メモリ中に記憶されることができ、その結果、プロセッサは、削減された量の処理リソースを使用してメモリから表示層を読み出すことが可能である。
【０１０４】
例えば、ＭＤＰは、メモリからオーバーレイ層を読み出し、そしてヘッダ中に記録された処理情報に基づいてオーバーレイ層中の複数のタイルを高変化速度に応じて選択的に処理する。ＭＤＰは、高変化速度に応じてビデオ表示層を同様に読み込みそして処理する。ＭＤＰは、オーバーレイ層中の各透明でないタイルを高変化速度表示層中の対応するタイルと調合して、表示デバイス上の表示画像を更新する。このようにして、メモリからＭＤＰへと表示層を読み出しそして高変化速度に応じて表示画像を更新するために必要な帯域幅の大きさは、削減される。
【０１０５】
それに加えて、本画像処理技術は、オーバーレイ・モジュールが低変化速度表示層に基づいてオーバーレイ層を低変化速度に応じて更新することを可能にする。オーバーレイ・モジュールは、オーバーレイ層中の変化するタイルだけを更新することができる。このようにして、オーバーレイ・モジュールによりオーバーレイ層を低変化速度に応じて更新するために必要な帯域幅の大きさは、削減される。
【０１０６】
無線通信デバイスにおいて表示のために画像を処理することに関連して主に記述されているとはいえ、本画像処理技術は、有線通信デバイス又は通信をサポートすることもサポートしないこともある他の表示デバイス中に実装されることができる。これらの実施形態及びその他の実施形態は、特許請求の範囲の意図の範囲内である。
【図１】
2009540371.tif 000005
【図２】
2009540371.tif 000006
【図３】
2009540371.tif 000007
【図４】
2009540371.tif 000008
【図５】
2009540371.tif 000009
【図６】
2009540371.tif 000010
【図７】
2009540371.tif 000011
【図８Ａ】
2009540371.tif 000012
【図８Ｂ】
2009540371.tif 000013
【図９】
2009540371.tif 000014
【図１０】
2009540371.tif 000015
【図１１】
2009540371.tif 000016
【図１２】
2009540371.tif 000017
【図１３Ａ】
2009540371.tif 000018
【図１３Ｂ】
2009540371.tif 000019
【手続補正書】
【提出日】平成21年4月7日(2009.4.7)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００３８
【補正方法】変更
【補正の内容】
【００３８】
それに加えて、オーバーレイ・モジュール２４は、低変化速度表示層に基づくオーバーレイ層を低変化速度により更新する。オーバーレイ・モジュール２４は、固定サイズ・ヘッダを有する固定サイズ・レコードとしてオーバーレイ層中のタイルをメモリ２２中に記憶することができる。言い換えると、各タイルは、同じ固定サイズを有することができる。オーバーレイ・モジュール２４は、その後、どのタイルが変化する表示項目を含むかを決定し、そして固定サイズ・レコードに基づいてメモリ２２中に記憶された変化しているタイルの位置を決めることができる。このようにして、オーバーレイ・モジュール２４は、オーバーレイ層中の変化するタイルを更新する必要があるだけあり、それはオーバーレイ・モジュール２４によりオーバーレイ層を低変化速度により更新するために必要な帯域幅の大きさを削減する。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００４０
【補正方法】変更
【補正の内容】
【００４０】
図３に示されるように、バックグランド層は、ビデオ層３６であり、それはデコードされたビデオを含む。ビデオ層３６の上は、少なくとも部分的に不透明な装飾的な縁取り、そして完全に透明であるビデオ層３６を見る領域、を含んでいる縁取り層３４である。次の層は、信号強度インジケータを含んでいるシステム・ステータス層３２であり、それはＷＣＤにより受信される信号強度を表す。システム・ステータス層３２は、現在の時刻情報及び／又は日付情報を表す時計（図示されず）を同様に含むことができる。表示項目を含むシステム・ステータス層３２の小さな小区分は、少なくとも部分的に不透明であり得て、そしてシステム・ステータス層３２の残りの区分は、ビデオ層３６を見るようにするために完全に透明であり得る。最後の層は、ビデオ制御ボタンを含んでいるビデオ制御層３０であり、それはＷＣＤのユーザがビデオ層３６中のデコードされたビデオの再生を制御することを可能にする。ビデオ制御層３０は、ビデオ・カウンタ（図示されず）を同様に含むことができ、それはビデオ情報の時間を表示する。システム・ステータス層３２と同様に、表示項目を含むビデオ制御層３０の小さな小区分は、少なくとも部分的に不透明であり得て、そしてビデオ制御層３０の残りの区分は、ビデオ層３６を見るようにするために完全に透明であり得る。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００６１
【補正方法】変更
【補正の内容】
【００６１】
このようにして、ＭＤＰ２６は、オーバーレイ層４０中の圧縮されたタイル６０をメモリ２２から読み出すことができ、そして処理するためにタイル６０のヘッダ中に記録された圧縮タイプに基づいてタイル６０を逆圧縮することができる。タイル６０の一部分を圧縮するためのオーバーレイ・モジュール２４の負荷は、かなり低い。負荷が非常に低いので、オーバーレイ・モジュール２４は、既知の目標がＭＤＰ２６であるときに、より大きな利得を可能にする損失の多い圧縮方式を与えることができる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００９８
【補正方法】変更
【補正の内容】
【００９８】
図１３Ｂに示されるように、ＭＤＰ２６は、次に、オーバーレイ層タイルのヘッダから読み出された隣接タイルのステータスに基づいて、オーバーレイ層中のいずれの隣接オーバーレイ層タイルが実質的に透明であるかどうかを判断する（１６１）。複数の隣接タイルが実質的に透明である場合には、ＭＤＰ２６は、オーバーレイ層中のその複数の隣接タイルを処理することを飛ばす。ＭＤＰ２６は、次に、複数の透明な隣接オーバーレイ層タイルのそれぞれに対してビデオ・アプリケーション・コントローラ１４からビデオ表示層中の対応するタイルを読み出す（１６４）。ＭＤＰ２６は、表示デバイス２０上の表示画像を更新する準備ができるまで、複数の対応するビデオ層タイルを表示バッファ２８へ送る（１６６）。ＭＤＰ２６は、次に、次のタイルのバースト長に基づいてメモリ２２から、複数の透明なオーバーレイ層タイルの後でオーバーレイ層中の次のタイルを読み出す（１６８）。
【国際調査報告】
2009540371.tif 000020
2009540371.tif 000021