JP5290162B2 - 複数の表示層の調合 - Google Patents

複数の表示層の調合 Download PDF

Info

Publication number
JP5290162B2
JP5290162B2 JP2009514466A JP2009514466A JP5290162B2 JP 5290162 B2 JP5290162 B2 JP 5290162B2 JP 2009514466 A JP2009514466 A JP 2009514466A JP 2009514466 A JP2009514466 A JP 2009514466A JP 5290162 B2 JP5290162 B2 JP 5290162B2
Authority
JP
Japan
Prior art keywords
tiles
overlay layer
layer
tile
overlay
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 - Fee Related
Application number
JP2009514466A
Other languages
English (en)
Other versions
JP2009540371A (ja
Inventor
キング、スコット・ハワード
ジャリル、スハイル
リャン、イ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2009540371A publication Critical patent/JP2009540371A/ja
Application granted granted Critical
Publication of JP5290162B2 publication Critical patent/JP5290162B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/02Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the way in which colour is displayed
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/39Control of the bit-mapped memory
    • G09G5/395Arrangements specially adapted for transferring the contents of the bit-mapped memory to the screen
    • G09G5/397Arrangements specially adapted for transferring the contents of two or more bit-mapped memories to the screen simultaneously, e.g. for mixing or overlay
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/37Details of the operation on graphic patterns
    • G09G5/377Details of the operation on graphic patterns for mixing or overlaying two or more graphic patterns
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • G09G2340/125Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels wherein one of the images is motion video
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2360/00Aspects of the architecture of display systems
    • G09G2360/12Frame memory handling
    • G09G2360/122Tiling

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Processing (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Description

本明細書は、ビデオ処理技術に係わり、そして特に、複数の表示層についてのビデオ処理技術に関する。
モービル表示プロセッサ(MDP:Mobile Display Processor)は、複数の層を調合して、無線通信デバイス(WCD:wireless communication device)内のディスプレイへ送る1つの画像を組み立てる。ある複数の例のWCDは、セルラ無線電話機又は衛星無線電話機、無線電話基地局、1又はそれより多くの無線ネットワーキング規格をサポートするコンピュータ、無線ネットワーキングのための無線アクセス・ポイント、携帯コンピュータ内に組み込まれたPCMCIAカード、直接二方向通信デバイス、無線通信能力を装備した個人ディジタル補助装置(PDA:personal digital assistants)、及びその他、を含む。
WCD内で動作する複数の異なるアプリケーションは、任意の所定の時間にディスプレイへ情報を送ることができる。例えば、システム・アプリケーションは、ディスプレイへ信号強度インジケータを送ることができ、一方でビデオ・アプリケーションは、デコードされたビデオを送ることができる。ある複数のケースでは、同じアプリケーションは、同時にディスプレイへ複数の表示項目を送ることができる。例えば、ビデオ・アプリケーションは、デコードされたビデオに加えてビデオ・カウンタとビデオ制御ボタンを送ることができる。ビデオ・アプリケーションは、デコードされたビデオにフレームを付ける装飾的な縁取りを同様に送ることができる。別の一例として、システム・アプリケーションは、信号強度インジケータに加えてクロックをディスプレイへ送ることができる。WCD内で動作するアプリケーションによって送られる表示項目のそれぞれは、別々の表示層を具備することができる。
一般的に、アプリケーションからディスプレイへ送られた複数の表示層のうちの1つだけが、WCD内で動作するビデオ・アプリケーションからのデコードされたビデオのように、高い速度で変化する。例えば、デコードされたビデオは、毎秒ほぼ30フレームの速度で変化することができる。ディスプレイへ送られる残りの表示層は、はるかに遅い速度で変化することができる又は決して変化しない。例えば、現在の時刻情報及びビデオ・カウンタは、毎秒ほぼ1フレームの速度で変化することができる。それに加えて、ゆっくりと変化する表示層のある小区分だけが、変化することがある。
MDPは、異なる表示層を一緒に調合して、表示のために1つの画像を形成し、そして最も早く変化する表示層の速度に応じて1つの画像を更新する。例えば、デコードされたビデオが毎秒ほぼ30フレームの速度で変化する場合には、MDPは、毎秒ほぼ30フレームの速度で全ての表示層を読み込みそして調合する。高速度でWCD内のメモリから表示層の全てを読むことは、大量の帯域幅を必要とすることがある。
一般に、本開示は、表示のためにメモリから画像を読み出すために必要な帯域幅の大きさを削減する画像処理技術に係わる。開示された画像処理技術にしたがえば、プロセッサが少ない量の処理リソースを使用してメモリから表示層を読み出すことが可能であるように、プロセッサは、メモリ中に低変化速度表示層を記憶する。本技術は、表示された画像を更新するためにメモリから読み出されなければならない低変化速度層の数を削減する。ある複数の実施形態では、本技術は、無線通信デバイス(WCD:wireless communication device)中に実装されることができる。
例えば、本画像処理技術は、複数の低変化速度表示層を複合オーバーレイ層へと統合し、そして該オーバーレイ層をメモリ中に記憶する。ある複数の実施形態では、オーバーレイ層は、ヘッダを含んでいる複数のタイルとして記憶されることができる。オーバーレイ・モジュールは、タイルに関する処理情報を該ヘッダ中に記録する。画像を調整するために、プロセッサは、高変化速度に応じて、デコードされたビデオ表示層のような高変化速度表示層を読み込みそして処理する。しかしながら、低変化速度情報の複数の層を読み込む代わりに、プロセッサは、複合オーバーレイ層を読み込む。
プロセッサは、メモリからオーバーレイ層中のタイルを読み込み、そして高変化速度に応じてヘッダ中に記録された処理情報に基づいて該タイルを選択的に処理する。オーバーレイ層中の各透明でないタイルは、次に高変化速度表示層中の対応するタイルと調合されて、表示画像を更新する。このようにして、複合オーバーレイ層を使用して、メモリからプロセッサへと低変化速度層を読み出すために、及び高変化速度にしたがい表示画像を更新するために使用する処理リソースの量は、削減される。
それに加えて、本画像処理技術は、オーバーレイ・モジュールが低変化速度表示層に基づいてオーバーレイ層を低変化速度により更新することを可能にする。本画像処理技術は、固定サイズ・ヘッダを有する固定サイズ・レコードとしてオーバーレイ層中のタイルをメモリ中に記憶することを含むことができる。オーバーレイ・モジュールは、どのタイルが変化する表示項目を含むかを判断することができ、そして固定サイズ・レコードに基づいてメモリ中に記憶された変化するタイルの位置を決めることができる。オーバーレイ・モジュールは、次にオーバーレイ層中の変化するタイルだけを低変化速度により更新することができる。このようにして、低変化速度にしたがってオーバーレイ・モジュールによりオーバーレイ層を更新するために使用する処理リソースの量は、削減される。
1つの実施形態では、本明細書は、2又はそれより多くの表示層を統合してオーバーレイ層を形成すること、メモリ中に記録された該オーバーレイ層に関する処理情報に基づいて該オーバーレイ層を選択的に処理すること、そして該オーバーレイ層をビデオ層と統合して表示デバイス上での表示のための画像を形成すること、を具備する方法を提供する。本方法は、しかも、該ビデオ層に関係する変化速度に対応する第1の変化速度で該画像を更新すること、及び該第1の変化速度よりも遅い第2の変化速度で該オーバーレイ層を更新すること、を具備する。
別の実施形態では、本明細書は、命令を具備するコンピュータ読取り可能な媒体を提供する。該命令は、プログラム可能なプロセッサに、2又はそれより多くの表示層を統合してオーバーレイ層を形成する、メモリ中に記録された該オーバーレイ層に関する処理情報に基づいて該オーバーレイ層を選択的に処理する、そして該オーバーレイ層をビデオ層と統合して表示デバイス上での表示のための画像を形成する、ようにさせる。本命令は、しかも、プログラム可能なプロセッサに、該ビデオ層に関係する変化速度に対応する第1の変化速度で該画像を更新する、そして該第1の変化速度よりも遅い第2の変化速度で該オーバーレイ層を更新する、ようにさせる。
別の実施形態では、本明細書は、2又はそれより多くの表示層を統合してオーバーレイ層を形成するオーバーレイ・モジュールを具備するシステムを提供する。本システムは、しかも、メモリ中に記録された該オーバーレイ層に関する処理情報に基づいて該オーバーレイ層を選択的に処理し、該オーバーレイ層をビデオ層と統合して表示デバイス上での表示のための画像を形成し、そして該ビデオ層に関係する変化速度に対応する第1の変化速度で該画像を更新するプロセッサ、を具備する。該オーバーレイ・モジュールは、該第1の変化速度よりも遅い第2の変化速度で該オーバーレイ層を更新する。
さらなる実施形態では、本明細書は、2又はそれより多くの表示層を統合してオーバーレイ層を形成すること、ヘッダを含んでいる複数のタイルとしてメモリ中に該オーバーレイ層を記憶すること、該それぞれのタイルのヘッダ中の該複数のタイルのそれぞれに関する処理情報を記録すること、該複数のタイルの該ヘッダ中に記録された該処理情報に基づいて該オーバーレイ層中の該複数のタイルを選択的に処理すること、及び該オーバーレイ層をビデオ層と統合して表示デバイス上での表示のための画像を形成すること、を具備する方法を提供する。
本方法は、しかも、該ビデオ層に関係する変化速度に対応する第1の変化速度で該画像を更新すること、ここにおいて、該画像を更新することは、該メモリから該オーバーレイ層を読み出すこと、該複数のタイルの該ヘッダ中に記録された該処理情報に基づいて該オーバーレイ層中の該複数のタイルを選択的に処理すること、及び該第1の変化速度にしたがい該オーバーレイ層を該ビデオ層と再統合すること、を具備する。それに加えて、本方法は、該第1の変化速度よりも遅い第2の変化速度で該オーバーレイ層を更新すること、を含み、ここにおいて、該オーバーレイ層を更新することは、該メモリから該2又はそれより多くの表示層を読み出すこと、及び該第2の変化速度に応じて該表示層を再統合すること具備する。
本明細書中に記述される技術は、ハードウェア、ソフトウェア、ファームウェア、及びこれらの任意の組み合わせで実装されることができる。ソフトウェアに実装される場合には、本技術は、命令を具備するコンピュータ読取り可能な媒体により全体を又は部分的に実現されることができ、該命令は、プロセッサにより実行されるときに、本明細書中に記述した方法のうちの1又はそれより多くを実行する。
1又はそれより多くの実施形態の詳細は、添付された図面及び下記の説明において記述される。本発明のその他の特徴、目的及び利点は、該説明及び図面から、そして特許請求の範囲から明らかにされるであろう。
メモリから画像を読み出すために必要な帯域幅の大きさを削減する画像化処理技術を実装するモービル表示プロセッサ(MDP)システムを含んでいる具体例の無線通信デバイス(WCD)を説明するブロック図である。 図1のMDPシステムをより詳細に説明するブロック図である。 WCDにおける表示のために1つの表示画像を形成するために複数の表示層を一緒に調合する従来の動作を説明する。 2又はそれより多くの低変化速度表示層を調合して複合オーバーレイ層を形成し、そして次にオーバーレイ層を高変化速度ビデオ層と統合して表示デバイス上での表示のために1つの表示画像を形成する具体例の動作を説明する。 WCD内のシステム・コントローラとビデオ・アプリケーション・コントローラからの低変化速度表示層を統合する具体例のオーバーレイ層を図示する。 複数のタイルへと分割された図5のオーバーレイ層を図示する。 図5のオーバーレイ層中の1つのタイルを非常に詳細に図示する。 図5のオーバーレイ層中の1つのタイルのピクセル・ストリップを図示する。 メモリ中のライン・ストライドにより分離されていない連続したメモリ位置に記憶された図5の1つのタイルのピクセル・ストリップを図示する。 タイルに関する処理情報を記録するヘッダを含んでいるオーバーレイ層中のタイルを図示する。 メモリ中にオーバーレイ層を記憶し、そしてそのオーバーレイ層を使用して高速度の変化に応じて表示画像を更新する具体例の動作を説明するフローチャートである。 高速度の変化に応じてオーバーレイ層を選択的に処理して、表示画像を更新する具体例の動作を説明するフローチャートである。 WCDのメモリ中にオーバーレイ層を記憶し、そして更新する具体例の動作を説明するフローチャートである。 オーバーレイ層を使用して高速度の変化に応じて表示画像を更新する具体例の動作を説明するフローチャートである。 オーバーレイ層を使用して高速度の変化に応じて表示画像を更新する具体例の動作を説明するフローチャートである。
詳細な説明
図1は、メモリ22から表示のための画像を読み出すために必要な帯域幅の大きさを削減する画像処理技術を実装するモービル表示プロセッサ(MDP:mobile display processor)システム18を含んでいる具体例の無線通信デバイス(WCD)10を説明するブロック図である。図1の例では、MDPシステム18は、WCD10内に常駐し、それは移動無線電話機、衛星無線電話機、携帯コンピュータ内に組み込まれた無線通信カード、無線通信能力を装備した個人ディジタル補助装置(PDA:personal digital assistant)、又は無線通信が可能な様々なデバイスのうちのいずれか、の形式を取ることができる。別の実施形態では、MDPシステム18は、有線通信デバイス及び主として通信に向けられていないデバイスを含む他のデバイス内で使用されることができる。
WCD10は、複数の基地局と通信することができる。基地局は、一般に静止装置であり、それはWCD10へのネットワーク・アクセスを提供するためにWCD10と無線で通信する。例えば、基地局は、WCD10と公衆交換電話ネットワーク(PSTN:public switched telephone network)との間のインターフェースを提供することができ、その結果、電話送信はWCD10へ又はそこから回送されることができる。あるいは、又はそれに加えて、基地局は、パケットに基づく音声情報又はパケットに基づくデータの送信のためにパケットに基づくネットワークに接続されることができる。
図1の例では、WCD10は、システム・コントローラ12、ビデオ・アプリケーション・コントローラ14、アンテナ15、送信機/受信機16、MDPシステム18、表示デバイス20、及びメモリ22を含む。システム・コントローラ12は、WCD10の動作を制御することが可能な移動局モデム(MSM:mobile station modem)を具備することができる。送信機/受信機16は、アンテナ15を介して基地局からの無線信号を受信する。無線信号は、その後、処理するために及び/又はメモリ22中に記憶するためにシステム・コントローラ12へ送られる。例えば、音声信号を受信すると、システム・コントローラ12は、音声信号を直ちに処理することができ、その結果、WCD10のユーザは音声信号を聞くことができる。別の一例として、ビデオ・データを受信すると、システム・コントローラ12は、WCD10のユーザがそのビデオ・データを見ることを望むまでメモリ22中にビデオ・データを記憶することができる。別の実施形態では、システム・コントローラ12は、WCD10内に含まれるビデオ取り込みデバイス、例えば、ディジタル・カムコーダ、からビデオ・データを受け取ることができる。
表示デバイス20は、液晶ディスプレイ(LCD:liquid crystal display)、ブラウン管(CRT:cathode ray tube)ディスプレイ、プラズマ・ディスプレイ、又は別のタイプの表示デバイスを具備することができる。表示デバイス20上での表示のための画像は、WCD10内で動作する複数の異なるアプリケーションからの複数の表示層を含むことができる。例えば、WCD10のユーザが受信したビデオを見ることを望む時には、システム・コントローラ12は、メモリ22から記憶したビデオ・データを取り出すことができ、そしてそのビデオ・データをビデオ・アプリケーション・コントローラ14へ送ることができる。ビデオ・アプリケーション・コントローラ14は、ビデオ・データをデコードし、そしてビデオ表示層としてデコードされたビデオを用意する。
ビデオ・アプリケーション・コントローラ14は、表示デバイス20上での表示のために処理されるようにビデオ表示層をMDPシステム18へ送ることができる。ビデオ・アプリケーション・コントローラ14は、ビデオ制御表示層としてビデオ・カウンタとビデオ制御ボタンとを、そして縁取り表示層としてデコードされたビデオを組み立てる装飾的な縁取りを、MDPシステム18へ同様に送ることができる。システム・コントローラ12は、システム・ステータス表示層として信号強度インジケータ、ネットワーク・ステータス・インジケータ、及び時間及び/又は日付を、MDPシステム18へ送ることができる。
一般的に、表示のためにシステム・コントローラ12及びビデオ・アプリケーション・コントローラ14からMDPシステム18へ送られる複数の表示層のうちの1つだけが、高速度で変化する。特に、ビデオ・アプリケーション・コントローラ14からのビデオ表示層は、高フレーム速度で更新されるデコードされたデータを含むことができる。例えば、ある複数の実施形態では、ビデオ表示層中のデコードされたビデオは、毎秒ほぼ30フレームの速度で変化することができる。表示のためにMDPプロセッサ18へ送られる残りの表示層は、はるかに遅い速度で変化することがある又は少しも変化しないことがある。ある複数のケースでは、ゆっくりと変化する表示層のある小区分だけが変化することがある。例えば、システム・ステータス表示層中に含まれる時間クロック及びビデオ制御表示層中に含まれるビデオ・カウンタは、毎秒ほぼ1フレームの速度で変化することができる。日付表示は、1日に1回変化するだけである。WCD10により受信される信号強度が変化するときに、システム・ステータス表示層中に含まれる信号強度インジケータは、変化する。それに加えて、ビデオ制御表示層中に含まれるビデオ制御ボタン及び縁取り表示層中に含まれる装飾的な縁取りは、デコードされたビデオの表示の期間に変化しないことがある。
MDPシステム18は、複数の低変化速度表示層を一緒に調合して、複合オーバーレイ層を形成する。複数の低変化速度表示層は、1つのオーバーレイ層を形成するように統合されることができる。あるいは、別の実施形態では、低変化速度表示層の異なる集合は、別のオーバーレイ層を形成するように統合されることができる。しかしながら、1つのオーバーレイ層を生成することが、通常は望ましい。本明細書中に記述される画像処理技術は、メモリ22中にオーバーレイ層を記憶することを含み、その結果、MDPシステム18は、低変化速度表示層のそれぞれを別々に読み出しそして処理することと比較して、少ない量の処理リソースを使用してメモリ22からオーバーレイ層を読み出すことが可能である。
MDPシステム18は、次にオーバーレイ層とビデオ表示層とを調合して、ビデオ表示層の高変化速度による表示のために画像を更新する。それゆえ、MDPシステム18は、ビデオ表示層の高変化速度で画像を更新するが、低変化速度表示層をオーバーレイ層中に統合して各個別の低変化速度層が高変化速度で更新されることを回避する。それに加えて、MDPシステム18は、表示層の低変化速度にしたがい低変化速度表示層に基づいてオーバーレイ層を更新する。このようにして、本画像処理技術は、表示デバイス20上での表示のためにメモリ22から画像を読み出すために必要な帯域幅の大きさを実質的に削減する。
図2は、図1のMDPシステム18をより詳細に説明するブロック図である。MDPシステム18は、メモリ・コントローラ23、オーバーレイ・モジュール24、モービル表示プロセッサ(MDP)26、及び表示バッファ28を含む。MDPシステム18は、メモリ22中に低変化速度表示層を記憶するためにオーバーレイ・モジュール24を含む。オーバーレイ・モジュール24は、2又はそれより多くの低変化速度表示層を統合し、その結果、MDP26はメモリ・コントローラ23を介してメモリ22から複数の低変化速度表示層を複合オーバーレイ層として読み出すことが可能である。このようにして、MDP26は、メモリ22から表示層を読み出すために削減した量の処理リソースを使用する。MDP26は、オーバーレイ層に統合されシステム・コントローラ12から受け取った複数の低変化速度表示層を高変化速度表示層と又はビデオ・アプリケーション・コントローラ14から受け取った複数の層と調合して、表示バッファ28を介して表示デバイス20へ送られる1つの画像を構成する。
表示デバイス20がLCDを具備するケースでは、表示デバイス20は、表示デバイス20の上端行から始めて下端行へと進む行毎のベースで表示された画像を更新する。更新動作は、MDPシステム18内の表示バッファ28から画像データを読み出し、そしてその画像データを表示デバイス20上に配置する。表示バッファ28内の読出しポインタは、表示デバイス20が特定の時点において更新している特定の行を、時間の同じ点において表示デバイス20へと読み出される表示バッファ28中の位置を指し示すことによって、指示する。
WCD10のユーザが表示デバイス20上で高変化速度ビデオ(例えば、映画又はビデオ・ゲームのグラフィックス)を見ている場合には、“テアリング(tearing)”として知られる現象が生じることを防止するように注意を払わなければならない。テアリングは、新しいビデオ・コンテントで書き込まれようとしている表示バッファ28の位置を指し示している書込みポインタが読出しポインタと交差するときに生じる。これが生じるときには、表示デバイス20の上部は、フレームnを示す、ところが表示デバイス20の下部は、フレームn+1を示す。1つの表示バッファ、例えば、表示バッファ28、を用いてシステムのテアリングを防止するための周知の技術は、“フォロイング・ザ・ビーム(following the beam)”として知られる。この技術は、ビデオ・コンテントが表示デバイス20へ送られた直後に表示バッファ28のコンテントを更新する。
時折、フレーム・バッファ28中のビデオ・コンテントは、表示デバイス20へ行く前に回転される必要がある。この必要性の一例は、WCD10のユーザがポートレイト・モード・ディスプレイ上のワイド・スクリーン・フォーマットで映画を観賞することを望む場合である。ビデオ・コンテントは、行毎のフォーマットでメモリ22中に記憶される。回転させるために、ビデオ・コンテントは、列毎の方式でMDPシステム18を介して表示デバイス20へ送られる必要がある。メモリ・コントローラ23は、連続するデータのバーストを読み出し、そのため回転のこの方法は、非効率である。しかしながら、MDPシステム18内のMDP26は、タイル毎の方式でビデオ・コンテントをアクセスする能力を有する。タイルでビデオ・コンテントをアクセスすることにより、メモリ・コントローラ23は、回転されないタイルの各行に対するピクセルの長いバーストをインポートすることを認められている。MDP26は、次にタイルを内部で効果的に回転する。
フォロー・ザ・ビームのために、MDP26は、メモリ・コントローラ23を介してメモリ22から非回転画像中のタイルの第1列を取り出す。第1のタイルが読み出されると、MDP26は、第1のタイルを効果的に回転し、そして表示バッファ28中に記憶する。一旦、非回転画像中のタイルの全ての第1列が、回転されそして表示バッファ28中に記憶されると、回転画像のタイルの第1行は、表示デバイス20へ送られることができる。
本明細書中に記載される画像処理技術は、MDPシステム18内のオーバーレイ・モジュール24が2又はそれより多くの低変化速度表示層(例えば、ビデオ制御層、システム・ステータス層、及び縁取り層)を複合オーバーレイ層へと調合することを可能にする。MDP26は、次に複数の低変化速度表示層の代わりにそのオーバーレイ層を読み出しそして処理して、表示デバイス20上での表示のために画像を更新する。ある複数の実施形態では、複数のオーバーレイ層が、低変化速度表示層の別の部分集合を使用して生成されることができる。しかしながら、1つのオーバーレイ層の生成は、通常望ましい。
ある具体例の実施形態では、オーバーレイ・モジュール24は、ヘッダを含んでいる複数のタイルとしてメモリ22中にオーバーレイ層を記憶する。オーバーレイ・モジュール24は、複数のタイルのそれぞれに関する情報をそれぞれのヘッダ中に記録する。現在のタイルのヘッダは、オーバーレイ層内の他のタイルの中で現在のタイルの順番又は位置を示している数を含むことができる。ヘッダは、現在のタイルの透明性を示すタイル・ステータス、そしてオーバーレイ層中の複数の隣接タイルの透明性を示す隣接タイル・ステータス、を同様に含むことができる。タイルが画像コンテントを実質的に含まない場合には、タイルは、実質的に透明であると考えられることができる。それに加えて、ヘッダは、現在のタイルの圧縮タイプを含むことができ、それはデータを記憶するために必要なメモリの量を削減するためにタイル中のデータを変換するために使用する技術を指示する。圧縮タイプは、ラン長エンコーディング(RLE:run-length encoding)圧縮タイプに関係付けられることがあり、それは成分に基づく圧縮及びピクセルに基づく圧縮、又は圧縮なしを含む。最終的に、ヘッダは、オーバーレイ層中の次のタイルのバースト長を含むことができ、それは1つのグループ又は“バースト”で読み込むための次のタイル中のデータのバイト数を指示し、その結果、次のタイルの全体が既知の数のバーストで読み込まれることができる。ある複数のケースでは、次のタイルのバースト長は、オーバーレイ層中の次の不透明タイルのバースト長を含むことができる。
MDP26は、ビデオ・アプリケーション・コントローラ14から高変化速度ビデオ表示層を高変化速度に応じて読み込み、そして処理する。MDP26は、メモリ22からオーバーレイ層を同様に読み出し、そしてヘッダ中に記録された処理情報に基づいてオーバーレイ層中の複数のタイルを高変化速度にしたがい選択的に処理する。オーバーレイ層は、その後、高変化速度ビデオ表示層と調合されて、WCD10内の表示デバイス20上での表示のための1つの画像を形成する。
例えば、MDP26は、現在のタイルのヘッダ中に記録された現在のタイルのステータス及び隣接タイルのステータスを読み出すことができる。ステータスは、現在のタイルが実質的に透明であるかどうか、そしてもしあるならば、同様に実質的に透明である複数の隣接タイルの標識を具備することができる。タイルが画像コンテントを実質的に含まない場合には、タイルは、実質的に透明である。タイルが透明である場合には、下にある高変化速度ビデオ層を隠さずに見ることを可能にすることを意味する。MDP26は、実質的に透明であると示されたこれらのタイルを読み出すこと及び処理することを飛ばすことができる、というのはそれらが、高変化速度ビデオ層をオーバーレイ層中の低変化速度層と組み合わせる最終的な画像に何ら強い影響を持たないからである。
このようにして、MDP26は、オーバーレイ層中のタイルの一部を処理する必要があるだけであり、それはメモリ22からMDP26へとオーバーレイ層を高変化速度にしたがい読み出すために必要な帯域幅の大きさを削減する。そのようにして、低変化速度情報がビデオ層により指示される高変化速度でまだ処理されているとしても、複数の層を1つのオーバーレイ層へと結合すること及びインテリジェント・タイル処理は、表示されようとしている最終的な画像を生成するために必要な処理リソースを実質的に削減する。
もう1つの処理することの特徴として、オーバーレイ・モジュール24は、ライン・ストライド(line stride)によって分離されていない連続するメモリ位置に、オーバーレイ層中の複数のタイルのそれぞれの内部のピクセルの行、すなわち“ピクセル・ストリップ”、を記憶することができる。オーバーレイ・モジュール24は、その後、オーバーレイ層中の複数のタイルの少なくとも一部に効果的なラン長エンコーディング(RLE)を実行することができ、そしてタイルのそれぞれに対して使用される圧縮のタイプを、メモリ22に記憶されるタイルのヘッダ中に記録することができる。このようにして、MDP26は、メモリ22から圧縮されたタイルを読み出すことができる、それは特に更新がビデオ層によって要求される高変化速度で起きるときに、メモリ22からMDP26へと画像を読み出すために必要とされる帯域幅の大きさをさらに削減する。MDP26は、その後、タイルのヘッダ中に記録された圧縮タイプにしたがって処理のためにタイルを逆圧縮することができる。
オーバーレイ・モジュール24は、タイルのそれぞれに対する次のタイル、又は次の不透明なタイルを、メモリ22に記憶されたタイルのヘッダ中に同様に記録することができる。このようにして、MDP26は、メモリ22から特定のタイルを読み出すためにいくつのバーストを実行するかを先行して決定することができ、それは表示のためにオーバーレイ層を処理するときの待ち時間を削減する。
それに加えて、オーバーレイ・モジュール24は、低変化速度表示層に基づくオーバーレイ層を低変化速度により更新する。オーバーレイ・モジュール24は、固定サイズ・ヘッダを有する固定サイズ・レコードとしてオーバーレイ層中のタイルをメモリ22中に記憶することができる。言い換えると、各タイルは、同じ固定サイズを有することができる。オーバーレイ・モジュール24は、その後、どのタイルが変化する表示項目を含むかを決定し、そして固定サイズ・レコードに基づいてメモリ22中に記憶された変化しているタイルの位置を決めることができる。このようにして、オーバーレイ・モジュール24は、オーバーレイ層中の変化するタイルを更新する必要があるだけあり、それはオーバーレイ・モジュール24によりオーバーレイ層を低変化速度により更新するために必要な帯域幅の大きさを削減する。
図3は、WCDにおける表示のために1つの表示画像38を形成するために複数の表示層を一緒に調合する従来の動作を説明する。図示された例では、ビデオ制御層30、システム・ステータス層32、縁取り層34、及びビデオ層36が、表示画像38を形成するために組み合わせられる。一般的に、ビデオ層36だけが高速度で変化し、そして残りの表示層は、はるかに遅い速度で変化する又は変化しない。しかしながら、図3に示された従来の動作では、MDPは、全ての表示層を一緒に調合して、最も早く変化する表示層の速度により表示画像38を更新する。高速度でメモリから全ての表示層を読み出すことは、大きな帯域幅を必要とすることがあり、そして複数の層のうちの多くが非常に低変化速度で変化するという事実を与えられると非効率である。
図3に示されるように、バックグランド層は、ビデオ層36であり、それはデコードされたビデオを含む。ビデオ層36の上は、少なくとも部分的に不透明な装飾的な縁取り、そして完全に透明であるビデオ層36を見る領域、を含んでいる縁取り層34である。次の層は、信号強度インジケータを含んでいるシステム・ステータス層32であり、それはWCDにより受信される信号強度を表す。システム・ステータス層32は、現在の時刻情報及び/又は日付情報を表す時計(図示されず)を同様に含むことができる。表示項目を含むシステム・ステータス層32の小さな小区分は、少なくとも部分的に不透明であり得て、そしてシステム・ステータス層32の残りの区分は、ビデオ層36を見るようにするために完全に透明であり得る。最後の層は、ビデオ制御ボタンを含んでいるビデオ制御層30であり、それはWCDのユーザがビデオ層36中のデコードされたビデオの再生を制御することを可能にする。ビデオ制御層30は、ビデオ・カウンタ(図示されず)を同様に含むことができ、それはビデオ情報の時間を表示する。システム・ステータス層32と同様に、表示項目を含むビデオ制御層30の小さな小区分は、少なくとも部分的に不透明であり得て、そしてビデオ制御層30の残りの区分は、ビデオ層36を見るようにするために完全に透明であり得る。
表示層30,32,34及び36のそれぞれは、異なる速度で変化することができる。例えば、ビデオ層36は、高速度で、例えば、ほぼ毎秒30フレームで、変化することができる。縁取り層34は、デコードされたビデオの表示の期間に変化しないことがある。システム・ステータス層32は、低速度で、例えば、ほぼ毎秒1フレームで、又はWCDにより受信される信号強度が変化するときに変化することができる。ビデオ制御層30は、低速度で、例えば、ほぼ毎秒1フレームで、変化することができる、又はデコードされたビデオの表示の期間中変化しないことがある。システム・ステータス層32とビデオ制御層30上で変化するデータの量は、一般に、ビデオ・カウンタの最後の桁、時間表示の秒、又は信号強度インジケータのバーの数のように、まさに最小である。従来の動作では、ビデオ層36がほぼ毎秒30フレームの速度で変化する場合に、MDPは、個々の表示層の変化速度に拘わらず、ほぼ毎秒30フレームの速度で全ての表示層30,32,34と36を読み込みそして調合する。
Figure 0005290162
メモリからプロセッサへ個々の表示層を読み出すために必要な帯域幅は、非常に大きいことがある。上に与えられた表1は、ビデオ・グラフィック・アレイ(VGA)のサイズにされた表示層について毎秒30フレームの速度でメモリからMDPへと様々なデータ・フォーマットを送るために必要な毎秒メガ・バイト(MBps)の単位の帯域幅の大きさを説明する。一般的なVGA表示層は、40タイル×30タイルであり得る、又は各タイルがピクセルの16×16ブロックであるケースでは、640ピクセル×480ピクセルであり得る。表示層フォーマットは、ビデオ・フォーマット及び増加するピクセル当たりのバイト数(Bpp)グラフィックスを有するフォーマットを含む。表示画像38がビデオ・データ・フォーマットのそれぞれから、2Bppグラフィックス、3Bppグラフィックス、及び4Bppグラフィックス・データ・フォーマットから、1層を含むケースでは、毎秒30フレームでMDPにより個々の表示層を使用する表示画像38を更新するために必要な全帯域幅は、ほぼ94MBpsである。
Figure 0005290162
それに加えて、最適なメモリ又はバス・アクセスは、別のデータ・フォーマットに対して個々の表示層のそれぞれの中のタイルの適応寸法と必ずしも同じサイズである必要はない。例えば、32バイトを読み出すことの代価は、ほぼ24バス・サイクルである。16バイトを読み出すことの代価は、少ないが、たったほぼ2サイクルだけである。言い換えると、2バス・サイクル多くの代価に対して、読み込むデータの量は、2倍にできるが、タイルの寸法を超えるデータを読み込むことの理由がない。32バイトを読み出すことと比較して16バイトを読み出すことの効率は、ほぼ55%である。上に与えられた表2は、様々なデータ・フォーマットの個々の表示層について16ピクセルの行を有するタイルを読み出すことのバス/メモリ効率を示す。表2から分かるように、個々の表示層を使用する表示画像をMDPにより更新するために必要である94MBpsを超えるある帯域幅オーバーヘッドがある。
図4は、2又はそれより多くの低変化速度表示層を一緒に調合して1つのオーバーレイ層40を形成し、そして次にオーバーレイ層40とビデオ層36とを統合してWCD10内の表示デバイス20上での表示のために1つの表示画像38を形成する具体例の動作を説明する。例えば、図3のビデオ制御層30、システム・ステータス層32、及び縁取り層34は、オーバーレイ層40を形成するために統合されることができる。別の実施形態では、実際には、異なる表示項目を含む低変化速度表示層は、オーバーレイ層40を形成するために調合されることができる。1つのオーバーレイ層が通常は望ましいとはいえ、複数のオーバーレイ層が、同様に形成されることができる。MDP26は、オーバーレイ層40とビデオ層36とを一緒に読み込みそして調合することができて、ビデオ層36の高変化速度に応じて表示画像38を更新することができる。オーバーレイ・モジュール24は、低変化速度表示層30,32及び34を一緒に読み込みそして調合することができ、表示層の低変化速度に応じてオーバーレイ層40を更新することができる。このようにして、表示画像38を更新するために必要な帯域幅の大きさは、図3を参照して説明された従来動作と比較して実質的に削減されることができる。
図4に示されるように、バックグランド層は、ビデオ・アプリケーション・コントローラ14からのデコードされたビデオを含んでいるビデオ層36である。ビデオ層36の上は、縁取り層34、システム・ステータス層32、及びビデオ制御層30からの表示項目を含んでいるオーバーレイ層40である。表示項目を含むオーバーレイ層40の小さな小区分は、少なくとも部分的に不透明であり得て、そしてオーバーレイ層40の残りの区分は、ビデオ層36を見るために完全に透明であり得る。
オーバーレイ層40とビデオ層36は、異なる速度で変化する。例えば、ビデオ層36は、高速度で、例えば、ほぼ毎秒30フレームで、変化することができる。オーバーレイ層40は、低速度で、例えば、ほぼ毎秒1フレームで、変化することができる。それに加えて、オーバーレイ層40上で変化しているデータの量は、一般に、ビデオ・カウンタの最後の桁、時間表示の秒、又は信号強度インジケータのバーの数のように、まさに最小である。具体例の動作では、ビデオ層36がほぼ毎秒30フレームの速度で変化し、そしてオーバーレイ層40がほぼ毎秒1フレームの速度で変化する場合に、MDP26は、オーバーレイ層40とビデオ層36を読み込みそして調合して、ほぼ毎秒30フレームの速度で表示画像38を更新する。その上、オーバーレイ・モジュール24は、表示層30,32及び34を読み込みそして調合して、ほぼ毎秒1フレームの速度でオーバーレイ層40を更新する。
オーバーレイ・モジュール24は、オーバーレイ層40を形成する表示層30,32と34のそれぞれに対して使用する異なるシェーディングのために4Bppデータ・フォーマットでオーバーレイ層40を保存することができる。オーバーレイ・モジュール24を使用してオーバーレイ層40を形成するために低変化速度表示層を調合することは、MDP26によりオーバーレイ層40を使用する表示画像38を毎秒30フレームで更新するために必要な帯域幅の大きさをほぼ94MBpsからほぼ50MBpsへと削減する。表1から、毎秒30フレームでビデオ層36を更新することは、ほぼ15MBpsを必要とし、そして毎秒30フレームで4Bppグラフィック・フォーマットのオーバーレイ層40を更新することは、ほぼ35MBpsを必要とする。
オーバーレイ・モジュール24によりオーバーレイ層40を形成することの副作用は、メモリ22からオーバーレイ・モジュール24へと低変化速度表示層30,32と34を読み出し、そして次にメモリ22中へとオーバーレイ層40を書き戻すために必要な帯域幅の大きさの増加である。毎秒1フレームでオーバーレイ・モジュール24によりオーバーレイ層40を更新しそして書き込むために必要な全帯域幅は、ほぼ4MBpsである。表1から、毎秒1フレームで、異なるデータ・フォーマットにそれぞれが準拠する3つの表示層を更新することは、ほぼ18+26+35MBpsを30で割ったMBpsを必要とし、そして毎秒1フレームでオーバーレイ層40を書き込むことは、ほぼ35MBpsを30で割ったMBpsを必要とする。それゆえ、オーバーレイ層40を使用して表示画像38を高速度の変化に応じて更新するために必要な帯域幅の全量は、ほぼ54MBpsであり、それは低変化速度表示層の全てを別々に読み出すために必要な量よりも実質的に少ない。
図5は、WCD10内のシステム・コントローラ12とビデオ・アプリケーション・コントローラ14からの低変化速度表示層を統合する具体例のオーバーレイ層40を図示する。上に記述したように、オーバーレイ層40は、ビデオ層36を覆って配置されることができて、WCD10内の表示デバイス20上で表示のための画像を形成する。例えば、ビデオ制御層30、システム・ステータス層32、及び縁取り層34は、オーバーレイ層40を形成するために統合されることができる。オーバーレイ層40は、縁取り層34からの装飾的な縁取り52、システム・ステータス層32からの信号強度インジケータ54、及びビデオ制御層30からのビデオ制御ボタン56を含む。表示項目を含むオーバーレイ層40の小さな小区分は、少なくとも部分的に不透明であり得て、そしてオーバーレイ層40の残りの区分は、表示デバイス20上に表示されたときにビデオ層36を見るようにするために完全に透明であり得る。前に述べたように、様々な実施形態において、オーバーレイ層40は、クロック情報、日付情報、ネットワーク・ステータス情報、又は追加層から得られる様々な別の情報のうちのいずれかを同様に含むことができる。
図6は、複数のタイル60へと分割された図5のオーバーレイ層40を図示する。説明の目的のために、図6は、オーバーレイ層40中の15個のタイル60だけを示す。しかしながら、VGAサイズにされたオーバーレイ層は、オーバーレイ層中に典型的には40タイル×30タイルの合計1200タイルである。オーバーレイ層40中のタイル60のそれぞれは、ピクセルの16×16ブロック、又はピクセルの32×32ブロックを含むことができる。MDP26は、タイル毎のベースでビデオ・アプリケーション・コントローラ14からのバックグランド・ビデオ層36を処理して、図2を参照して説明したように効率的な回転を可能にする。それゆえ、MDP26は、タイル毎のベースでメモリ22からのオーバーレイ層40を同様に処理する。タイル60のナンバリングは、MDP26がオーバーレイ層40を処理する順番を示す。
分かるように、オーバーレイ層40は、表示項目、例えば、装飾的な縁取り52、信号強度インジケータ54、及びビデオ制御ボタン56、を含まない複数のタイル60を含む。表示項目のないタイル60は、完全に透明であり得る。VGAサイズにされたオーバーレイ層では、装飾的な縁取りは、タイルの約10%で表示されることができ、そしていずれかの残りの表示項目は、一般的にタイルの別の10%を占有する。それゆえ、VGAサイズにされたオーバーレイ層中のタイルのほぼ80%は、完全に透明である。
図7は、オーバーレイ層40中の1つのタイル60Aを非常に詳細に図示する。オーバーレイ層40中のタイル60のそれぞれは、タイル60Aと実質的に同じであり得る。タイル60Aは、ピクセル62の2次元アレイを具備する。説明の目的のために、図7は、サイズが8ピクセル×8ピクセルであるタイル60Aを示す。しかしながら、VGAサイズにされたオーバーレイ層は、一般的にサイズが16ピクセル×16ピクセル、又は32ピクセル×32ピクセルであるタイルを有する。図示された実施形態では、タイル60Aは、オーバーレイ層40中の縁取りタイルであり、それは縁取り層34からの装飾的な縁取り52の一部分を含む。タイル60Aは、同じ値、すなわち、装飾的な縁取り52、であるか又は完全に透明であるかのいずれかである大きな領域を有し、それはRLEに向いている。
上に記述したように、オーバーレイ層40を形成すると、オーバーレイ・モジュール24は、ヘッダを含んでいる複数のタイル60としてメモリ22中にオーバーレイ層40を記憶する。オーバーレイ・モジュール24は、複数のタイル60に関する処理情報をヘッダ中に記録する。例えば、タイル60Aのヘッダは、オーバーレイ層40中の現在のタイル60Aのタイル番号、現在のタイル60Aの透明性を表すタイル・ステータス、及びオーバーレイ層40中の複数の隣接タイルの透明性を表す隣接タイル・ステータスを含むことができる。
MDP26は、メモリ22からオーバーレイ層40を読み出し、そしてヘッダ中に記録された処理情報に基づいてオーバーレイ層40中の複数のタイル60を高変化速度に応じて選択的に処理する。MDP26は、ビデオ・アプリケーション・コントローラ14からの高変化速度ビデオ表示層を高変化速度に応じて読み込みそして処理する。処理の期間に、MDP26は、オーバーレイ層40中の各透明でないタイルをビデオ表示層36中の対応するタイルと統合して、WCD10内の表示デバイス20上での表示のために1つの、調合された画像を形成する。
オーバーレイ層40中のタイル60Aを読み込むと、MDP26は、現在のタイル60Aのヘッダ中に記録された現在のタイル60Aのステータスと隣接タイルのステータスを読み出す。そのステータスは、現在のタイル60Aが実質的に透明であるかどうかの標識子、そしてもしあるならば、同様に実質的に透明である複数の隣接タイルの標識子を具備することができる。MDP26は、実質的に透明であると示されたこれらのタイルを処理することを飛ばすことができ、そしてビデオ表示層36中の対応するタイルだけに基づいて表示画像38を更新する。MDP26は、その後、次の透明でないタイルを読み込む。
例えば、現在のタイル60Aが透明でありそして2つの隣接タイルが同様に透明であることを、現在のタイルのステータスが示す場合に、MDP26は、オーバーレイ層中の現在のタイル60Aとその2つの隣接タイルを処理することを飛ばすことができる。オーバーレイ層40中の透明なタイルのそれぞれに対して、MDP26は、ビデオ表示層36中の対応するタイルを読み出し、そして表示画像38を更新する準備ができるまでビデオ表示層タイルを表示バッファ28へと送る。MDP26は、次に処理のためにオーバーレイ層40中の3番目の透明でない隣接タイルを読み込む。MDP26は、透明でないオーバーレイ層タイルを対応するタイルと調合し、そして表示画像38を更新する準備ができるまで複合タイルを表示バッファ28へと送る。それゆえ、複数の実質的に透明なタイルがオーバーレイ層40中で互いに隣接するときに、MDP26は、実質的に透明な複数のタイルを判断するために最初のタイルのヘッダを読み出す必要があるだけである。現在のタイル60Aが実質的に透明であるが隣接タイルが実質的に透明でないケースでは、MDP26は、現在のタイル60Aに対応するビデオ層タイルを表示バッファ28へと送った後で、デフォルトにより現在のタイル60Aに隣接する次のタイルを読み込む。
このようにして、MDP26は、オーバーレイ層40中の複数のタイル60の一部を処理する必要があるだけであり、それはメモリ22からMDP26へとオーバーレイ層50を高変化速度に応じて読み出すために必要な帯域幅の大きさを削減する。オーバーレイ層15が一般的なサイズにされたオーバーレイ層であるケースでは、オーバーレイ層40中の複数のタイル60のうちのほぼ80%は、実質的に透明である。MDP26は、それから複数のタイル60のヘッダ中の現在のタイルと隣接タイルのステータスを読み出すことができ、そしてタイル透明性の標識に基づいて複数のタイル60のうちの80%の処理を飛ばすことができる。
オーバーレイ層40中の実質的に透明なタイルの処理を飛ばすことは、毎秒30フレームでメモリ22からMDP26へとオーバーレイ層40を読み出すために必要なほぼ35MBpsをほぼ7MBpsへと80%削減する。それゆえ、オーバーレイ・モジュール24を使用してオーバーレイ層40中のタイル60のヘッダ中へと透明性ステータスを記録すること、そしてオーバーレイ層40中の透明でないタイルだけを選択的に処理することは、オーバーレイ層40を使用して高速度の変化に応じて表示画像38を更新するために必要な帯域幅を、ほぼ54MBpsからほぼ26MBpsへとさらに削減する。
オーバーレイ・モジュール24は、オーバーレイ層40中のタイル60の少なくとも一部分にRLEを同様に実行することができる。例えば、オーバーレイ・モジュール24は、タイル60AにRLEを実行することができて、メモリ22中への効率的な記憶のためにタイル60Aを圧縮する。オーバーレイ・モジュール24は、次に、タイル60Aに対して使用した圧縮のタイプをタイル60Aのヘッダ中に記録する。圧縮タイプは、例えば、成分に基づく圧縮、又はピクセルに基づく圧縮を含むことができる。あるいは、ある複数の実施形態では、圧縮が使用されないことがある。
オーバーレイ・モジュール24は、メモリ22中へのタイル60Aの最も効率的な記憶を提供する圧縮タイプに基づいてタイル60Aを圧縮することができる。ある複数のケースでは、タイル60Aは、圧縮されないで最も効率的に記憶されることがある。タイル60Aの最大記憶サイズは、タイル60Aのデータ・サイズにタイル60Aのヘッダ・サイズを加えたサイズである。
このようにして、MDP26は、オーバーレイ層40中の圧縮されたタイル60をメモリ22から読み出すことができ、そして処理するためにタイル60のヘッダ中に記録された圧縮タイプに基づいてタイル60を逆圧縮することができる。タイル60の一部分を圧縮するためのオーバーレイ・モジュール24の負荷は、かなり低い。負荷が非常に低いので、オーバーレイ・モジュール24は、既知の目標がMDP26であるときに、より大きな利得を可能にする損失の多い圧縮方式を与えることができる。
図8Aは、オーバーレイ層40中のタイル60Aのピクセル・ストリップ64A−64H(“ピクセル・ストリップ64”)を図示する。ピクセル・ストリップ64は、タイル60A内のピクセルの行である。図8Aでは、小文字“a”から“h”は、タイル60Aを形成するピクセル・ストリップ64を表す。説明の目的のために、図8Aは、8個のピクセル・ストリップ64を有するとしてタイル60Aを示す。しかしながら、VGAサイズにされたオーバーレイ層は、16個のピクセル・ストリップ又は32個のピクセル・ストリップを含むタイルを有する。
MDP26は、メモリ22からストリップ毎の方式でタイル60Aを読み出す。ピクセル・ストリップ64のそれぞれは、メモリ22中の連続したメモリ位置に記憶される。メモリ・コントローラ23は、連続したメモリ位置からデータのバーストを読み込むときに最も効率的に動作することができる。例えば、メモリ・コントローラ23は、32バイトのバーストを転送するときに最も効率的に動作することができる、上記の表2参照。1つの例では、典型的なタイルのピクセル・ストリップは、ピクセル当たり4バイトの16ピクセルを有する、64バイトである。それゆえ、ピクセル・ストリップは、2つの最も効率的な転送でメモリ22からMDP26へと読み出されることができる。
従来は、タイルのピクセル・ストリップ“a”とピクセル・ストリップ“b”は、“ライン・ストライド(line stride)”だけ互いに離れたメモリ位置に記憶される。ライン・ストライドは、ラインを表すために要するバイト数を呼ぶ。このケースでは、タイルがRLEを使用して圧縮される場合、圧縮されたピクセル・ストリップは、メモリ中でライン・ストライドだけ離される。この記憶技術は、いくつかの欠点を有する。第1に、RLEのための一般的な圧縮比は、およそ4対1である。それゆえ、32バイトの2つの非常に効率的なバーストでピクセル・ストリップを取り出す代わりに、上に説明したように、MDPは、1つの16バイトの非効率的なバーストでピクセル・ストリップを取り出すはずである。第2の欠点は、ピクセル・ストリップのラン長が16ピクセル又は32ピクセルのいずれかに制限されることである。もう1つの欠点は、最初のバーストを処理し終わるまで、MDPがタイル60Aを読み込むことを実行するために何個のバーストがあるかを知らないことである、それは表示のためにタイル60Aを処理するときに待ち時間の増加という結果をもたらす。
図8Bは、メモリ22中のライン・ストライドにより分離されていない連続したメモリ位置に記憶されたタイル60Aのピクセル・ストリップ64を図示する。このケースでは、オーバーレイ・モジュール24は、ピクセル・ストリップ64に対してラン長の制限なしでタイル60Aに効率的なRLEを実行することができる。オーバーレイ・モジュール24は、次にピクセル・ストリップ“a”64Aからピクセル・ストリップ“h”60Hの順番で圧縮されたピクセル・ストリップ64をライン・ストライドなしにメモリ22中に記憶する。オーバーレイ・モジュール24は、タイル60Aのヘッダ中にタイル60Aに対する圧縮のタイプをメモリ22中に同様に記録する。MDP26は、次にタイル60Aのピクセル・ストリップ64を32バイト又は64バイトの連続的する効率的なバーストでメモリ22から読み出すことができる。
オーバーレイ・モジュール24は、オーバーレイ層40中の次のタイル、又は次の透明でないでないタイルのバースト長を第1のタイル60Aのヘッダ中に同様に記録することができる。このようにして、MDP26は、メモリ22から次のタイルを読み出すことを実行するために何個のバーストがあるかを時間で先行して判断することができ、それは表示のためにオーバーレイ層40を処理するときの待ち時間を減少させる。
ライン・ストライドにより分離されていないメモリ22中の連続したメモリ位置にオーバーレイ層40中のタイル60のピクセル・ストリップを記憶することは、オーバーレイ・モジュール24が複数のタイル60をその元々のサイズの25%へと圧縮することを可能にする。オーバーレイ層40中のタイル60を圧縮することは、毎秒30フレームでメモリ22からMDP26へとオーバーレイ層40を読み出すために必要なほぼ7MBpsをほぼ2MBpsへと75%だけ削減する。それゆえ、オーバーレイ層40中のタイル60のピクセル・ストリップの記憶を再配列すること及びメモリ22中のタイル60を圧縮することは、オーバーレイ層40を使用して表示画像38を高速度の変化に応じて更新するために必要な帯域幅をほぼ26MBpsからほぼ21MBpsへと削減する。
図5と図6に示されたように、オーバーレイ層40は、装飾的な縁取り52、信号強度インジケータ54、とビデオ制御ボタン56とを含んでいる複数の表示項目を含む。装飾的な縁取り52は、デコードされたビデオの表示の期間中変化しない。オーバーレイ層40の第3タイルに置かれた信号強度インジケータ54は、WCD10により受信される信号強度が変化するときはいつでも変化する。タイル13,14と15に置かれたビデオ制御ボタン56は、デコードされたビデオの表示の期間中同様に変化しない。しかしながら、ビデオ制御ボタン56は、デコードされたビデオが進むにつれ、例えば、毎秒1回、変化するビデオ・カウンタを含むことができる。それゆえ、デコードされたビデオの表示の期間中に変化しないオーバーレイ層40中の表示項目は、比較的少なく、そして1又はそれより多くのタイル60の小さな部分集合に局在化される。
従来は、WCD中のソフトウェア・モジュールは、RLEを使用して表示層中のタイルを圧縮することができ、WCD中のメモリを節約することができる。このケースでは、ソフトウェア・モジュールは、複数のタイルのそれぞれを別々に圧縮することができ、そして変化するサイズのレコードでタイルをメモリ中に記憶することができる。それゆえ、表示層中の特定のタイルをメモリ中の特定のアドレスにマッピングすることは、直接的ではない。
本明細書中で説明する画像処理技術は、表示のためにメモリ22から画像を読み出すために使用する帯域幅を削減することができるが、WCD10のメモリを必ずしも節約する必要がない。オーバーレイ・モジュール24は、タイル60のそれぞれがどのようにして圧縮されたかに拘わらず固定サイズ・ヘッダを有する固定サイズ・レコードとしてオーバーレイ層40中の複数のタイル60をメモリ22中に記憶することができる。固定サイズ・レコードは、圧縮されていないタイルを記憶するのに十分な大きさである。タイル60Aが圧縮されている場合には、タイル60Aの固定サイズ・レコードの残りの部分は、空白であるか又は価値のないデータで満たされるかのいずれかであり得る。固定サイズ・レコードで複数のタイル60を記憶することは、タイル60のそれぞれがメモリ22内部で変化しない開始記憶点と終了記憶点を有することを確実にする。このようにして、オーバーレイ層40中のタイル60のそれぞれは、メモリ22中の特定のアドレスにマッピングされることができる。
オーバーレイ・モジュール24は、低変化速度、例えば、毎秒1フレーム、に応じて、低変化速度表示層30,32と34に基づいてオーバーレイ層40を更新する。オーバーレイ層40を更新するために、オーバーレイ・モジュール24は、メモリ22から低変化速度表示層30,32と34のそれぞれを読み出し、そして低変化速度表示層のタイルをオーバーレイ層40へ圧縮して、タイル60のうちのどれが変化している表示項目を含むかを判断する。図5と図6の図示された例では、オーバーレイ・モジュール24は、タイル3,13,14と15が変化する表示項目を含むことを判断することができる。
固定サイズ・レコードとしてオーバーレイ層40中のタイル60をメモリ22中に記憶することにより、オーバーレイ・モジュール24は、メモリ22中の変化するタイルの特定のアドレスに基づいてメモリ22中に記憶される変化するタイルの位置を決めることができる。例えば、オーバーレイ・モジュール24は、メモリ22中のオーバーレイ層40のタイル3,13,14と15、又は任意の別のタイル、を見つけるための場所を正確に知る。このようにして、オーバーレイ・モジュール24は、オーバーレイ層40中の変化するタイルを更新することが必要であるだけであり、それは低変化速度によりオーバーレイ層40を更新するために必要な帯域幅の大きさを削減する。
上に記述したように、オーバーレイ・モジュール24によりオーバーレイ層40を形成することの副作用は、低変化速度表示層30,32と34をメモリ22からオーバーレイ・モジュール24へと読み込むために、そしてその後、オーバーレイ層40をメモリ22中へと書き戻すために必要な帯域幅の大きさの増加である。オーバーレイ・モジュール24によりオーバーレイ層40を毎秒1フレームで更新し、そして書き込むために必要な帯域幅は、ほぼ4MBpsである。オーバーレイ層40中の変化するタイルだけを更新することは、オーバーレイ・モジュール24によりオーバーレイ層40を毎秒1フレームで更新しそして書き込むために必要な帯域幅の大きさを、アプリケーションの有効期間の終わりまでほぼ1MBpsに削減する。それゆえ、オーバーレイ層40中のタイル60を固定サイズ・レコードとしてメモリ22中に記憶することは、オーバーレイ層40を使用して高速度の変化に応じて表示画像38を更新するために必要な帯域幅をほぼ21MBpsからほぼ18MBpsへと削減する。
図9は、タイル72に関する処理情報を記録するヘッダ70を含んでいるオーバーレイ層中のタイル72を図示する。図2のオーバーレイ・モジュール24は、タイル72に関する処理情報をヘッダ70中に記録することができ、そしてメモリ・コントローラ23を介して図1のメモリ22中にヘッダ70を有するタイル72を記憶することができる。ある複数の実施形態では、オーバーレイ・モジュール24は、固定サイズ・レコードとしてタイル72をメモリ22中に記憶することができ、そして固定サイズ・ヘッダとしてタイル72のヘッダ70をメモリ22中に記憶することができる。
タイル72のヘッダ70は、タイル番号74、タイル・ステータス76、隣接タイル・ステータス78、圧縮タイプ80、及び次のタイルのバースト長82を含む。別の実施形態では、タイル72のヘッダ70は、タイル72に関する処理情報を多かれ少なかれ含むことができる。タイル番号74は、オーバーレイ層中の他のタイルと相対的にオーバーレイ層中でのタイル72の位置を特定する。例えば、オーバーレイ層は、ほぼ1200タイルを含むことができる。タイル・ステータス76は、タイル72が実質的に透明であるかどうかを指示する。隣接タイル・ステータス78は、オーバーレイ層中のタイル72に隣接する実質的に透明である複数のタイルを示す。MDP26は、実質的に透明であると示されたいずれのタイルをも処理することを飛ばすことができる。例えば、タイル72が透明であることそして2つの隣接タイルが同様に透明であることをタイル・ステータス76が示す場合には、MDP26は、タイル72と2つの隣接タイルを処理することを飛ばすことができ、そして処理するために3番目の隣接タイルを読み込むことができる。
タイル圧縮タイプ80は、タイル72に関するRLE圧縮のタイプを同定する。圧縮タイプは、成分に基づく圧縮、ピクセルに基づく圧縮、又は圧縮なしを含むことができる。MDP26は、タイル圧縮タイプ80によって同定された圧縮のタイプに基づいてタイル72を逆圧縮することができる。次のタイル・バースト長82は、オーバーレイ層中の次のタイルについてのバースト長を特定する。ある複数のケースでは、次のタイルのバースト長は、オーバーレイ層中の次の透明でないタイルのバースト長を具備することができる。MDP26は、次のタイル・バースト長82に基づいてオーバーレイ層中の次のタイル、又は次の透明でないタイルを読み込むことができる。タイルを読み出す前に、タイルについてのバースト長を知ることにより、MDP26は、オーバーレイ層を処理する際の待ち時間を削減することができる。
図10は、オーバーレイ層をメモリ中に記憶し、そしてそのオーバーレイ層を使用して表示画像を高速度の変化に応じて更新する具体例の動作を説明するフローチャートである。動作は、図1及び図2のWCD10内のMDPシステム18を参照して本明細書では説明される。MDPシステム18は、システム・コントローラ12及びビデオ・アプリケーション・コントローラ14から表示のための情報を受け取る(84)。例えば、MDPシステム18は、システム・コントローラ12からシステム・ステータス表示層として信号強度インジケータとクロックを受け取ることができる。MDPシステム18は、しかも、ビデオ・アプリケーション・コントローラ14から、ビデオ層としてデコードされたビデオを、縁取り層としてデコードされたビデオを枠で囲む装飾的な縁取りを、そしてビデオ制御層としてビデオ制御ボタンとビデオ・カウンタを、受け取ることができる。
MDPシステム18によって受け取られた表示層のそれぞれは、異なる速度で変化することができる。例えば、ビデオ層は、高速度で、例えば、ほぼ毎秒30フレームで変化することができる。縁取り層は、デコードされたビデオの表示の期間中は変化しないことがある。システム・ステータス層は、低速度で、例えば、ほぼ毎秒1フレームで変化することができる、又はWCD10によって受信される信号強度が変化するときに変化することができる。ビデオ制御層は、低速度で、例えば、ほぼ毎秒1フレームで変化することができる、又はデコードされたビデオの表示の期間中は変化しないことがある。システム・ステータス層とビデオ制御層上で変化するデータの量は、一般に、ビデオ・カウンタの最後の桁、時間表示の秒、又は信号強度インジケータのバーの数のように、まさに最小である。
オーバーレイ・モジュール24は、低変化速度表示層、例えば、縁取り層、システム・ステータス層とビデオ制御層、を複合オーバーレイ層へと統合する(86)。ビデオ層とは分離して低変化速度表示層をオーバーレイ層へと統合することは、オーバーレイ・モジュール24がオーバーレイ層を低変化速度で更新することを可能にし、そして複数の別々の表示層の代わりに、MDP26がビデオ層とともにオーバーレイ層を高速度の変化で処理することを可能にする。オーバーレイ・モジュール24は、次に、ヘッダを含んでいる複数のタイルとしてオーバーレイ層を、メモリ・コントローラ23を介してメモリ22中に記憶する(88)。
オーバーレイ・モジュール24は、タイルのヘッダ中のタイルに関する処理情報をメモリ22中に記録する(90)。例えば、現在のタイルのヘッダは、オーバーレイ層中の現在のタイルのタイル番号、現在のタイルの透明性を表すタイル・ステータス、及びオーバーレイ層中の複数の隣接タイルの透明性を表す隣接タイル・ステータスを含むことができる。
MDP26は、メモリ22からオーバーレイ層を読み出し、そしてそのオーバーレイ層のタイルのヘッダ中に記録された処理情報を読み出す。MDP26は、次に処理情報に基づいてオーバーレイ層を高速度の変化に応じて選択的に処理する(92)。MDP26は、ビデオ・アプリケーション・コントローラ14からビデオ表示層を読み込み、そして高速度の変化に応じてビデオ表示層を処理する(94)。ビデオ層とオーバーレイ層中のタイルが一旦処理されると、MDP26は、オーバーレイ層中の透明でないタイルのそれぞれをビデオ層中の対応するタイルと統合して、WCD10中の表示デバイス20上に表示するための画像を更新する(96)。
このようにして、MDP26は、個々の低変化速度表示層の代わりにオーバーレイ層をメモリ22から読み出すことができ、それは表示層をMDP26中へと読み出すために必要な帯域幅の大きさを削減する。それに加えて、オーバーレイ層のタイルのヘッダ中に処理情報を記録することは、MDP26がオーバーレイ層中のタイルを選択的に処理することを可能にする、それはオーバーレイ層をMDP26中へと読み出すために必要な帯域幅の大きさをさらに削減する。
オーバーレイ・モジュール24は、次にシステム・コントローラ12とビデオ・アプリケーション・コントローラ14からの低変化速度表示層に基づいてオーバーレイ層を低速度の変化に応じて更新する(98)。オーバーレイ・モジュール24は、個々の低変化速度表示層をメモリ22から読み出し、そして複数の低変化速度表示層を併合して更新されたオーバーレイ層を形成する。オーバーレイ・モジュール24は、例えば、毎秒1フレームの、低変化速度表示層の低変化速度によりオーバーレイ層を更新する。このようにして、オーバーレイ・モジュール24は、メモリ22から表示画像を読み込みそして更新するためにMDP26によって必要とされる帯域幅を実質的に削減する、一方で、オーバーレイ層を更新するためにオーバーレイ・モジュール24により必要とされる帯域幅をほんの少しだけ増加させる。
図11は、高速度の変化に応じてオーバーレイ層を選択的に処理して、表示画像を更新する具体例の動作を説明するフローチャートである。例えば、動作は、より詳細な図10のステップ94を含むことができる。動作は、図1及び図2のWCD10内のMDPシステム18を参照して本明細書では説明される。
MDP26は、メモリ・コントローラ23を介してメモリ22からオーバーレイ層中のタイルを読み出す(100)。上に記述したように、タイルは、そのタイルに関する処理情報を記憶するヘッダを含む。MDP26は、現在のタイルのヘッダ中に記録された現在のタイルに関する処理情報を読み出す(102)。現在のタイルが実質的に透明でない場合には(103のNOの分岐)、MDP26は、処理情報に基づいて現在のタイルを処理する(106)。このケースでは、MDP26は、現在のオーバーレイ層タイルをビデオ表示層中の対応するタイルと調合することができて、表示画像を更新することができる。現在のタイルが実質的に透明である場合には(103のYESの分岐)、MDP26は、現在のタイルを処理することを飛ばす(104)。このケースでは、オーバーレイ層中の現在のタイルは、いずれの表示項目をも含まず、そしてそれゆえ、表示画像中で更新される必要がない。MDP26は、ビデオ表示層中の対応するタイルにより表示を更新することができる。
オーバーレイ層中のどの隣接タイルが実質的に透明であるかどうかを、MDP26は判断する(107)。複数の隣接タイルが実質的に透明である場合には、MDP26は、オーバーレイ層中の複数の隣接タイルを処理することを飛ばす(108)。このケースでは、オーバーレイ層中のその複数の隣接タイルは、いかなる表示画像をも含まず、そしてそれゆえ、表示画像中で更新される必要がない。MDP26は、オーバーレイ層中の複数の隣接タイルのそれぞれに対するビデオ表示層中の対応するタイルにより表示画像を更新することができる。MDP26は、次に、メモリ・コントローラ23を介してメモリ22から、複数の透明タイルの後でオーバーレイ層中の次のタイルを読み出す(110)。隣接タイルが実質的に透明でない場合には、MDP26は、メモリ・コントローラ23を介してメモリ22から、現在のタイルの後でオーバーレイ層中の次のタイルを読み出す(110)。いずれのケースでも、MDP26は、次に、本明細書中で説明される動作にしたがって次のタイルを選択的に処理し続ける。
図12は、WCDのメモリ中にオーバーレイ層を記憶し、そして更新する具体例の動作を説明するフローチャートである。動作は、図1及び図2のWCD10内のオーバーレイ・モジュール24を参照して本明細書では説明される。オーバーレイ・モジュール24は、システム・コントローラ12とビデオ・アプリケーション・コントローラ14からの複数の低変化速度表示層を1つのオーバーレイ層へと統合する(118)。オーバーレイ・モジュール24は、次に、ヘッダを含んでいる複数のタイルとしてオーバーレイ層をメモリ22中に記憶する(120)。
上に記述したように、VGAサイズにされたオーバーレイ層は、一般的に1200タイル、すなわち、40タイル×30タイルを含む。タイルのそれぞれは、ピクセルの16×16のブロック、又はピクセルの32×32のブロックを備えることができる。1つのタイル中のピクセルの各行は、“ピクセル・ストリップ”と呼ばれる。オーバーレイ・モジュール24は、タイルのそれぞれのピクセル・ストリップをメモリ22内のライン・ストライドにより分離されていない連続したメモリ位置に記憶する(122)。オーバーレイ・モジュール24は、次に、オーバーレイ層中の複数のタイルの少なくとも一部にRLEを実行する(124)。オーバーレイ・モジュール24は、所与のタイルに対する最も効率的な記憶技術に基づいてオーバーレイ層中のタイルのそれぞれに対する圧縮タイプを決定することができる。例えば、オーバーレイ・モジュール24は、オーバーレイ層中のタイルにピクセルに基づく圧縮又は成分に基づく圧縮のいずれかを実行することができる。ある複数のケースでは、オーバーレイ・モジュール24は、圧縮を実行しないことがある。
オーバーレイ・モジュール24は、固定サイズ・ヘッダを含んでいる固定サイズ・レコードとしてオーバーレイ層中の複数のタイルをメモリ22中に記憶する(126)。固定サイズ・レコードは、圧縮されていないタイルを記憶するために十分な大きさである。タイルが圧縮されている場合には、タイルの固定サイズ・レコードの残りの部分は、空白であるか又は価値のないデータで満たされるかのいずれかであり得る。固定サイズ・レコードで複数のタイルを記憶することは、タイルのそれぞれがメモリ22内部で変化しない開始記憶点と終了記憶点を有することを確実にする。このようにして、オーバーレイ層中のタイルのそれぞれは、メモリ22中の特定のアドレスにマッピングされることができる。
オーバーレイ・モジュール24は、次に、複数のタイルに関する処理情報をタイルのヘッダ中へと記録する。例えば、オーバーレイ・モジュール24は、オーバーレイ層中の複数のタイルそれぞれに対して、現在のタイルに対する圧縮タイプ、例えば、ピクセルに基づく、成分に基づく、又は圧縮なし、を現在のタイルのヘッダ中に記憶することができる(128)。このようにして、MDP26は、ヘッダから圧縮タイプを読み出すことができて、現在のタイルを逆圧縮するかどうかを、そして逆圧縮が必要である場合には、どの逆圧縮技術を使用するかを、判断する。オーバーレイ・モジュール24は、現在のタイルのステータス及び隣接タイルのステータスを現在のタイルのヘッダ中に同様に記録する(130)。言い換えると、複数のタイルのそれぞれのヘッダは、現在のタイルが透明であるかどうかの指標を含む。複数のタイルのそれぞれのヘッダは、現在のタイルに隣接する複数のタイルが透明であるかどうかの指標も同様に含む。このようにして、MDP26は、ヘッダから現在のタイルのステータス及び隣接タイルのステータスを読み出すことができ、そしてそのステータス情報に基づいてオーバーレイ層中の1又はそれより多くのタイルを処理することを飛ばすことができる。
オーバーレイ・モジュール24は、オーバーレイ層中の複数のタイルそれぞれに対して、次のタイルについてのバースト長を現在のタイルのヘッダ中に同様に記録する(132)。ある複数のケースでは、次のタイルは、オーバーレイ層の次の透明でないタイルを含むことができる。このようにして、MDP26は、ヘッダから次のタイルのバースト長を読み出すことができて、次のタイルを読み込むために最も効率的な方法を決定することができる。次のタイルの最初のバーストを処理する前に、次のタイルについてのデータを読み込むために何個の有効なバーストを実行するかを知ることは、表示のためにオーバーレイ層を処理するときの待ち時間を実質的に削減することができる。
一旦、オーバーレイ層がメモリ22中に適切に記憶されると、オーバーレイ・モジュール24は、低変化速度で、例えば、毎秒1回、低変化速度表示層に基づいてオーバーレイ層を更新する。低変化速度が終わると(133)、オーバーレイ・モジュール24は、オーバーレイ層中のどの複数のタイルが変化する表示項目を含むかを判断する(134)。例えば、オーバーレイ・モジュール24は、低変化速度表示層のそれぞれをメモリ22から読み出すことができ、そして低変化速度表示層のタイルをオーバーレイ層と比較して、オーバーレイ層中のどのタイルが変化する表示項目を含むかを判断する。
固定サイズ・レコードとしてオーバーレイ層中のタイルをメモリ22中に記憶することにより、オーバーレイ・モジュール24は、メモリ22中の固定サイズ・レコードの特定のアドレスに基づいてメモリ22中に記憶された変化するタイルの位置を決める(136)。オーバーレイ・モジュール24は、次に、オーバーレイ層中の変化するタイルだけを更新し、そして更新されたオーバーレイ層をメモリ22中に記憶する(138)。一般的に、変化する表示項目は、オーバーレイ層中の複数のタイルの小さな部分集合に置かれ、それはオーバーレイ・モジュール24によりオーバーレイ層を低変化速度により更新するために必要な帯域幅の大きさを削減する。
図13Aと図13Bは、オーバーレイ層を使用して高速度の変化に応じて、表示画像を選択的に更新する具体例の動作を説明するフローチャートである。動作は、図1及び図2のWCD10内のMDP26に関連して本明細書では説明される。MDP26は、もし既知であれば、現在のタイルのバースト長に基づいてメモリ22からオーバーレイ層中のタイルを読み出す(140)。
上に記述したように、タイルは、そのタイルに関する処理情報を記憶するヘッダを含む。図13Aに示されるように、MDP26は、オーバーレイ層タイルのヘッダ中に記録された現在のタイルのステータスを読み出し、それはそのオーバーレイ層タイルが実質的に透明であるかどうかを示す(142)。MDP26は、オーバーレイ層タイルのヘッダ中に記録された隣接タイルのステータスを同様に読み出し、それは実質的に透明であるオーバーレイ層中の複数の隣接オーバーレイ層タイルを示す(144)。それに加えて、MDP26は、オーバーレイ層タイルのヘッダ中に記録された次のタイルのバースト長を読み出し、それはメモリ22から次のタイル、又は次の透明でないタイルを読み込むために最も効率的なバースト長を特定する(146)。MDP26は、次に、ビデオ・アプリケーション・コントローラ14からビデオ表示層中の対応するタイルを読み出す(148)。
MDP26は、オーバーレイ層タイルのヘッダから読み出されるタイル・ステータスに基づいて、オーバーレイ層タイルが実質的に透明であるかどうかを判断する(149)。オーバーレイ層タイルが実質的に透明でない場合には、MDP26は、オーバーレイ層タイルのヘッダ中に記録された現在のタイルの圧縮タイプを読み出す、それはもしあるならば、オーバーレイ層タイルをRLEするために使用した圧縮のタイプを同定する(154)。圧縮タイプは、成分に基づく圧縮、ピクセルに基づく圧縮、又は圧縮なしを含むことができる。MDP26は、次に、そのオーバーレイ層タイルに対する圧縮タイプに基づいてオーバーレイ層タイルを逆圧縮する。このようにして、現在のタイルが圧縮されている場合には、MDP26は、現在のタイルに対してどの逆圧縮技術を使用するかを決定することができる。MDP26は、オーバーレイ層タイルを対応するビデオ層タイルと統合して、表示画像タイルを形成する(158)。MDP26は、表示デバイス20上の表示画像を更新する準備ができるまで表示バッファ28へ複合タイルを送る(160)。
オーバーレイ層タイルが実質的に透明である場合には、MDP26は、そのオーバーレイ層タイルを処理することを飛ばす(150)。このケースでは、オーバーレイ層中の現在のタイルは、いかなる表示項目をも含まない、そしてそれゆえ、表示画像中で更新される必要がない。MDP26は、表示デバイス20上の表示画像を更新する準備ができるまで表示バッファ28へ対応するビデオ層タイルを送る(152)。
図13Bに示されるように、MDP26は、次に、オーバーレイ層タイルのヘッダから読み出された隣接タイルのステータスに基づいて、オーバーレイ層中のいずれの隣接オーバーレイ層タイルが実質的に透明であるかどうかを判断する(161)。複数の隣接タイルが実質的に透明である場合には、MDP26は、オーバーレイ層中のその複数の隣接タイルを処理することを飛ばす。MDP26は、次に、複数の透明な隣接オーバーレイ層タイルのそれぞれに対してビデオ・アプリケーション・コントローラ14からビデオ表示層中の対応するタイルを読み出す(164)。MDP26は、表示デバイス20上の表示画像を更新する準備ができるまで、複数の対応するビデオ層タイルを表示バッファ28へ送る(166)。MDP26は、次に、次のタイルのバースト長に基づいてメモリ22から、複数の透明なオーバーレイ層タイルの後でオーバーレイ層中の次のタイルを読み出す(168)。
隣接オーバーレイ層タイルが実質的に透明でない場合には、MDP26は、次のタイルのバースト長に基づいてメモリ22から、現在のオーバーレイ層タイルの後でオーバーレイ層中の次のタイルを読み出す(168)。いずれのケースでも、MDP26は、次に、本明細書中に説明された動作にしたがって次のタイルを選択的に処理し続ける。このようにして、表示デバイス20上の表示画像を更新するために、メモリ22からMDP26へと表示層を読み出すために必要な帯域幅の大きさは、実質的に削減される。
複数の実施形態が説明されてきている。しかしながら、これらの実施形態への様々な変形は、可能であり、そして本明細書中に示された原理は、同様に他の実施形態に適用されることができる。本明細書中に説明されたような方法は、ハードウェア、ソフトウェア、及び/又はファームウェアにおいて実行されることができる。係る方法の様々なタスクは、1又はそれより多くの論理素子、例えば、マイクロプロセッサ、組み込まれたコントローラ、又はプロセッサ・コア、により実行可能な命令の集合として実装されることができる。一例では、1又はそれより多くのそのようなタスクは、移動局モデム・チップ又はチップセット内で実行するように配置され、それはセルラ電話機のような個人通信デバイスの様々なデバイスの動作を制御するように構成される。
本明細書中に記述した技術は、汎用マイクロプロセッサ、ディジタル信号プロセッサ(DSP:digital signal processor)、用途特定集積回路(ASIC:application specific integrated circuit)、フィールド・プログラマブル・ゲートアレイ(FPGA:field programmable gate array)又は別の同等な論理デバイス内に与えられることができる。用語“プロセッサ”又は“処理回路”は、一般に上記の論理回路要素のうちのいずれか、単独で又は別の論理回路要素との組み合わせ、若しくはいずれかの別の等価な回路要素を呼ぶことができる。ある複数の実施形態では、本明細書中に記述された機能は、専用ソフトウェア・モジュール内に、又はエンコーディング及びデコーディングのために構成されたハードウェア・ユニット内に、又は複合ビデオ・エンコーダ−デコーダ(CODEC)内に与えられることができる。ソフトウェアで与えられる場合、本技術は、コンピュータ読取り可能な媒体、例えば、ランダム・アクセス・メモリ(RAM:random access memory)、読み出し専用メモリ(ROM:read only memory)、不揮発性ランダム・アクセス・メモリメモリ(NVRAM)、電気的消去書込み可能ROM(EEPROM:electrically erasable ROM)、フラッシュ・メモリ、又はその他、の上の命令として具体化されることができる。その命令は、1又はそれより多くのプロセッサが本明細書中に記述された機能のある種の態様を実行するようにさせる。
さらなる例として、ある実施形態は、有線接続された回路として、用途特定集積回路中へと作り込まれた回路構成として、若しくは不揮発性記憶装置中へとロードされたファームウェア・プログラム又は機械読み取り可能なコードとしてデータ記憶媒体から又はそこへロードされたソフトウェア・プログラムとして、一部が又は全体が実装されることができる、上記のコードは論理素子のアレイ、例えば、マイクロプロセッサ又は他のディジタル信号プロセシング・ユニット、により実行可能な命令である。データ記憶媒体は、半導体メモリ(それはダイナミックRAM又はスタティックRAM、ROM、及び/又はフラッシュRAMを含むことができるが、限定されない)若しくは強誘電体メモリ、オブシンスキー効果(ovonic)メモリ、高分子メモリ、又は相転移(phase-change)メモリ、のような記憶装置のアレイ;あるいは、磁気ディスク又は光ディスクのようなディスク媒体、であり得る。
本明細書では、様々な技術が記述されてきている。例えば、表示のためにメモリから画像を読み出すために使用する帯域幅の大きさを削減する画像処理技術が、記述されている。画像処理技術は、低変化速度表示層を複合オーバーレイ層へと調合すること、そしてそのヘッダを含んでいる複数のタイルとしてオーバーレイ層をメモリ中へ記憶すること、を含む。オーバーレイ層は、メモリ中に記憶されることができ、その結果、プロセッサは、削減された量の処理リソースを使用してメモリから表示層を読み出すことが可能である。
例えば、MDPは、メモリからオーバーレイ層を読み出し、そしてヘッダ中に記録された処理情報に基づいてオーバーレイ層中の複数のタイルを高変化速度に応じて選択的に処理する。MDPは、高変化速度に応じてビデオ表示層を同様に読み込みそして処理する。MDPは、オーバーレイ層中の各透明でないタイルを高変化速度表示層中の対応するタイルと調合して、表示デバイス上の表示画像を更新する。このようにして、メモリからMDPへと表示層を読み出しそして高変化速度に応じて表示画像を更新するために必要な帯域幅の大きさは、削減される。
それに加えて、本画像処理技術は、オーバーレイ・モジュールが低変化速度表示層に基づいてオーバーレイ層を低変化速度に応じて更新することを可能にする。オーバーレイ・モジュールは、オーバーレイ層中の変化するタイルだけを更新することができる。このようにして、オーバーレイ・モジュールによりオーバーレイ層を低変化速度に応じて更新するために必要な帯域幅の大きさは、削減される。
無線通信デバイスにおいて表示のために画像を処理することに関連して主に記述されているとはいえ、本画像処理技術は、有線通信デバイス又は通信をサポートすることもサポートしないこともある他の表示デバイス中に実装されることができる。これらの実施形態及びその他の実施形態は、特許請求の範囲の意図の範囲内である。

Claims (44)

  1. ディスプレイプロセッサシステムのプロセッサを用いて、2又はそれより多くの表示層を統合して、オーバーレイ層を形成することと、
    前記オーバーレイ層をヘッダを含む複数のタイルとして前記ディスプレイプロセッサシステムのメモリに記憶することと、
    前記複数のタイルの各々に関する処理情報を前記メモリに記憶された前記それぞれのタイルのヘッダ内に記録することと、
    前記ディスプレイプロセッサシステムのプロセッサを用いて、メモリ中に記録された前記オーバーレイ層に関する処理情報に基づいて前記オーバーレイ層を選択的に処理することと、ここにおいて、前記オーバーレイ層を選択的に処理することは前記複数のタイルのヘッダに記録された処理情報に基づいて前記オーバーレイ層内の複数のタイルを選択的に処理することを具備し、前記複数のタイルを選択的に処理することは現在のタイルのヘッダ内のオーバーレイ層内の次のタイルに関するバースト長を示すデータを読むことを具備する、
    前記次のタイルに関するバースト長データに従って前記メモリから次のタイルを読むことと、
    前記ディスプレイプロセッサのプロセッサを用いて、前記オーバーレイ層をビデオ層と統合して、表示デバイス上での表示のための画像を形成することと、
    前記ディスプレイプロセッサのプロセッサを用いて、前記ビデオ層に関係する変化速度に対応する第1の変化速度で前記画像を更新することと、
    前記ディスプレイプロセッサのプロセッサを用いて、前記第1の変化速度よりも遅い第2の変化速度で前記オーバーレイ層を更新することと、
    を具備する方法。
  2. 前記画像を更新することは、
    前記メモリから前記オーバーレイ層を読み出すことと、
    前記メモリ中に記録された前記オーバーレイ層に関する前記処理情報に基づいて前記オーバーレイ層を選択的に処理することと、
    前記第1の変化速度にしたがい前記オーバーレイ層を前記ビデオ層と再統合することと、
    を具備する、請求項1の方法。
  3. 前記オーバーレイ層を更新することは、
    前記メモリから前記2又はそれより多くの表示層を読み出すことと、及び
    前記第2の変化速度にしたがい前記表示層を再統合することと、
    を具備する、請求項1の方法。
  4. ヘッダ中に処理情報を記録することは、現在のタイルが実質的に透明であるかどうかを示す現在のタイルのステータス、前記オーバーレイ層中の実質的に透明である複数の隣接タイルを示す隣接タイルのステータス、前記現在のタイルに対する圧縮タイプのうちの1又はそれより多くを、前記複数のタイルの前記ヘッダ中に記録すること、を具備する、請求項1の方法。
  5. タイル毎に前記メモリから前記オーバーレイ層を読み出すことと、
    前記複数のタイルの前記ヘッダ中に記録された前記処理情報を読み出すことと、
    をさらに具備し、前記読み出された処理情報に基づいて、前記読み出されたオーバーレイ層を選択的に処理する、請求項1の方法。
  6. 前記複数のタイルを選択的に処理することは、前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルの少なくとも一部を処理することを飛ばすこと、を具備する、請求項1の方法。
  7. 前記複数のタイルを選択的に処理することは、
    現在のタイルの前記ヘッダ中に記録された前記現在のタイルのステータスに基づいて前記オーバーレイ層中の前記現在のタイルが実質的に透明であるかどうかを判断することと、
    前記現在のタイルが実質的に透明であると判断されるときに前記現在のタイルを処理することを飛ばすことと、
    を具備する、請求項1の方法。
  8. 前記複数のタイルを選択的に処理することは、
    前記現在のタイルのヘッダ中に記録された隣接タイルのステータスに基づいて、実質的に透明であり前記オーバーレイ層中の前記現在のタイルに隣接する複数のタイルを決定すること;及び
    前記オーバーレイ層中の前記複数の隣接タイルを処理することを飛ばすこと、
    を具備する、請求項7の方法。
  9. 前記オーバーレイ層を記憶することは、
    前記タイルのそれぞれに対する圧縮タイプにしたがって前記オーバーレイ層中の前記複数のタイルの少なくとも一部を圧縮することと、
    前記それぞれのタイルの前記ヘッダ中の前記タイルのそれぞれに対する前記圧縮タイプを記録することと、
    を具備する、請求項1の方法。
  10. 前記複数のタイルの少なくとも一部を圧縮することは、前記複数のタイルにラン長エンコーディングを実行すること、を具備する、ここにおいて、前記圧縮タイプは、ピクセルに基づく圧縮、成分に基づく圧縮、又は圧縮なしを含む、請求項9の方法。
  11. 前記オーバーレイ層を選択的に処理することは、
    現在のタイルのヘッダ中に記録された前記現在のタイルに対する圧縮タイプを読み出すことと、
    前記現在のタイルに対する前記圧縮タイプにしたがい前記現在のタイルを逆圧縮することと、
    を具備する、請求項9の方法。
  12. 前記オーバーレイ層を記憶することは、前記メモリ中の行を表すのに必要なバイト数により分離されていない連続したメモリ位置に前記複数のタイルのそれぞれのピクセル行を記憶すること、を具備する、請求項1の方法。
  13. 前記オーバーレイ層を記憶することは、前記複数のタイルのそれぞれついて制限のないピクセル行ラン長を有する前記オーバーレイ層中の前記複数のタイルの少なくとも一部にラン長エンコーディングを実行すること、を具備する、請求項12の方法。
  14. 前記オーバーレイ層を記憶することは、固定サイズ・ヘッダを含んでいる固定サイズ・レコードで前記複数のタイルのそれぞれを前記メモリ中に記憶すること、を具備する、請求項1の方法。
  15. 前記オーバーレイ層を更新することは、
    前記オーバーレイ層中の前記複数のタイルのうちのどれが変化する表示項目を含むかを判断することと、
    前記固定サイズ・レコードに基づいて前記メモリ中に前記変化するタイルを配置することと、
    前記オーバーレイ層中の前記変化するタイルだけを更新することと、
    を具備する、請求項14の方法。
  16. コンピュータに、
    2又はそれより多くの表示層を統合して、オーバーレイ層を形成させ、
    前記オーバーレイ層をヘッダを含む複数のタイルとしてメモリに記憶させ、
    前記複数のタイルの各々に関する処理情報を前記それぞれのヘッダに記録させ、
    メモリ中に記録された前記オーバーレイ層に関する処理情報に基づいて前記オーバーレイ層を選択的に処理させ、ここにおいて、前記オーバーレイ層を選択的に処理するために、前記コンピュータに、前記複数のタイルのヘッダに記録された処理情報に基づいて前記オーバーレイ層内の複数のタイルを選択的に処理させ、現在のタイルのヘッダ内のオーバーレイ層内の次のタイルに関するバースト長を示すデータを読ませ、前記次のタイルのバースト長データに従って前記メモリから次のタイルを読ませる、
    前記オーバーレイ層をビデオ層と統合して、表示デバイス上での表示のための画像を形成させる、
    前記ビデオ層に関係する変化速度に対応する第1の変化速度で前記画像を更新させる、
    前記第1の変化速度よりも遅い第2の変化速度で前記オーバーレイ層を更新させる、
    命令を記録した、コンピュータ読取り可能記録媒体。
  17. 前記コンピュータに、
    前記メモリから前記オーバーレイ層を読み出させ、
    前記メモリ中に記録された前記オーバーレイ層に関する前記処理情報に基づいて前記オーバーレイ層を選択的に処理させ、
    前記オーバーレイ層を前記ビデオ層と再統合して、前記第1の変化速度にしたがい前記画像を更新させる、
    命令をさらに具備する、請求項16のコンピュータ読取り可能記録媒体。
  18. 前記コンピュータに、
    前記メモリから前記2又はそれより多くの表示層を読み出させ、
    前記表示層を再統合して、前記第2の変化速度にしたがい前記オーバーレイ層を更新させる、
    命令をさらに具備する、請求項16のコンピュータ読取り可能記録媒体。
  19. 前記コンピュータに、
    タイル毎に前記メモリから前記オーバーレイ層を読み出させ、
    前記複数のタイルの前記ヘッダ中に記録された前記処理情報を読み出させる、
    命令をさらに具備する、請求項18のコンピュータ読取り可能記録媒体。
  20. 前記コンピュータに、
    前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルの少なくとも一部を処理することを飛ばさせる、
    命令をさらに具備する、請求項16のコンピュータ読取り可能記録媒体。
  21. 前記コンピュータに、
    現在のタイルのヘッダ中に記録された現在のタイルのステータスに基づいて前記オーバーレイ層中の前記現在のタイルが実質的に透明であるかどうかを判断させ、
    前記現在のタイルが実質的に透明であると判断されるときに前記現在のタイルを処理することを飛ばさせ、
    前記現在のタイルの前記ヘッダ中に記録された隣接タイルのステータスに基づいて、実質的に透明であり前記オーバーレイ層中の前記現在のタイルに隣接する複数のタイルを決定させ、
    前記オーバーレイ層中の前記複数の隣接タイルを処理することを飛ばさせる、
    命令をさらに具備する、請求項16のコンピュータ読取り可能記録媒体。
  22. 前記コンピュータに、
    前記タイルのそれぞれに対する圧縮タイプにしたがって前記オーバーレイ層中の前記複数のタイルの少なくとも一部を圧縮させ、
    前記それぞれのタイルの前記ヘッダ中のそれぞれに対する前記圧縮タイプを記録させ、
    現在のタイルのヘッダ中に記録された前記現在のタイルに対する圧縮タイプを読み出させ、
    前記現在のタイルに対する前記圧縮タイプにしたがって前記現在のタイルを逆圧縮させる、
    命令をさらに具備する、請求項16のコンピュータ読取り可能記録媒体。
  23. 前記コンピュータに、
    前記メモリ中の行を表すのに必要なバイト数により分離されていない連続したメモリ位置に前記複数のタイルのそれぞれのピクセル行を記憶させ、
    前記複数のタイルのそれぞれついて制限のないピクセル行ラン長を有する前記オーバーレイ層中の前記複数のタイルの少なくとも一部にラン長エンコーディングを実行させる、
    命令をさらに具備する、請求項16のコンピュータ読取り可能記録媒体。
  24. 前記コンピュータに、
    前記オーバーレイ層を更新させ、
    固定サイズ・ヘッダを含んでいる固定サイズ・レコードで前記複数のタイルのそれぞれを前記メモリ中に記憶させ、
    前記オーバーレイ層中の前記複数のタイルのうちのどれが変化する表示項目を含むかを判断させ、
    前記固定サイズ・レコードに基づいて前記メモリ中に前記変化するタイルを配置させ、
    前記オーバーレイ層中の前記変化するタイルだけを更新させる、
    命令をさらに具備する、請求項16のコンピュータ読取り可能記録媒体。
  25. 2又はそれより多くの表示層を統合して、オーバーレイ層を形成するオーバーレイ・モジュールと、
    メモリ中に記録された前記オーバーレイ層に関する処理情報に基づいて前記オーバーレイ層を選択的に処理し、前記オーバーレイ層をビデオ層と統合して表示デバイス上での表示のための画像を形成し、そして前記ビデオ層に関係する変化速度に対応する第1の変化速度で前記画像を更新するディスプレイプロセッサ、
    を具備し、ここにおいて、
    前記オーバーレイモジュールは、前記第1の変化速度よりも遅い第2の変化速度で前記オーバーレイ層を更新する、
    前記オーバーレイモジュールは、前記オーバーレイ層をヘッダを含む複数のタイルとして前記メモリに記憶し、前記複数の各々に関する処理情報を前記それぞれのタイルのヘッダに記録する、
    前記プロセッサは、前記複数のタイルのヘッダに記録された処理情報に基づいて前記オーバーレイ層内の複数のタイルを選択的に処理する、
    前記プロセッサは、現在のタイルのヘッダ内のオーバーレイ層内の次のタイルに関するバースト長を示すデータを処理し、前記次のタイルのバースト長データに従って前記メモリから次のタイルを読む、
    システム。
  26. 前記プロセッサは、前記メモリから前記オーバーレイ層を読み出し、前記メモリ中に記録された前記オーバーレイ層に関する前記処理情報に基づいて前記オーバーレイ層を選択的に処理し、そして前記オーバーレイ層を前記ビデオ層と再統合して前記第1の変化速度にしたがって前記画像を更新する、請求項25のシステム。
  27. 前記オーバーレイ・モジュールは、前記メモリから前記2又はそれより多くの表示層を読み出し、そして前記表示層を再統合して前記第2の変化速度にしたがい前記オーバーレイ層を更新する、請求項25のシステム。
  28. 前記表示層は、ビデオ制御ボタンとビデオ・カウンタを含むビデオ制御層、信号強度インジケータと時間クロックを含むシステム・ステータス層、及び装飾的な縁取りを含む縁取り層のうちの2又はそれより多くを具備する、請求項25のシステム。
  29. 前記表示層は、変化するタイルに関する表示層と変化しないタイルに関する表示層とを具備する、請求項25のシステム。
  30. 前記システムは、無線通信デバイス(WCD)内に含まれる、請求項25のシステム。
  31. 前記システムは、前記WCD内のビデオ・アプリケーション・コントローラとシステム・コントローラとのうちの少なくとも1つから前記2又はそれより多くの表示層を受け取る、請求項30のシステム。
  32. 前記システムは、前記WCD内のビデオ・アプリケーション・コントローラから前記ビデオ層を受け取る、請求項30のシステム。
  33. 前記オーバーレイ・モジュールは、現在のタイルが実質的に透明であるかどうかを示す現在のタイルのステータス、実質的に透明である前記オーバーレイ層中の複数の隣接タイルを示す隣接タイルのステータス、前記現在のタイルに対する圧縮タイプ、及び前記オーバーレイ層中の次のタイルのバースト長、のうちの1又はそれより多くを前記複数のタイルの前記ヘッダに記録する、請求項29のシステム。
  34. 前記プロセッサは、タイル毎に前記メモリから前記オーバーレイ層を読み出し、そして前記複数のタイルの前記ヘッダ中に記録された前記処理情報を読み出す、請求項25のシステム。
  35. 前記プロセッサは、前記複数のタイルの前記ヘッダ中に記録された前記処理情報に基づいて前記オーバーレイ層中の前記複数のタイルの少なくとも一部を処理することを飛ばす、請求項25のシステム。
  36. 前記プロセッサは、現在のタイルのヘッダ中に記録された現在のタイルのステータスに基づいて前記オーバーレイ層中の前記現在のタイルが実質的に透明であるかどうかを判断し、そして前記現在のタイルが実質的に透明であると判断されるときには前記現在のタイルを処理することを飛ばす、請求項25のシステム。
  37. 前記プロセッサは、前記現在のタイルの前記ヘッダ中に記録された隣接タイルのステータスに基づいて、実質的に透明であり前記オーバーレイ層中の前記現在のタイルに隣接する複数のタイルを決定し、そして前記オーバーレイ層中の前記複数の隣接タイルを処理することを飛ばす、請求項36のシステム。
  38. 前記オーバーレイ・モジュールは、前記タイルのそれぞれに対する圧縮タイプにしたがって前記オーバーレイ層中の前記複数のタイルの少なくとも一部を圧縮し、そして前記タイルのそれぞれに対する前記圧縮タイプを前記それぞれのタイルの前記ヘッダ中に記録する、請求項25のシステム。
  39. 前記オーバーレイ・モジュールは、前記複数のタイルにラン長エンコーディングを実行して前記複数のタイルの前記部分を圧縮する、そしてここにおいて、前記圧縮タイプは、ピクセルに基づく圧縮、成分に基づく圧縮、又は圧縮なしを含む、請求項38のシステム。
  40. 前記プロセッサは、現在のタイルのヘッダ中に記録された前記現在のタイルに対する圧縮タイプを読み出し、そして前記現在のタイルに対する前記圧縮タイプにしたがって前記現在のタイルを逆圧縮する、請求項38のシステム。
  41. 前記オーバーレイ・モジュールは、前記メモリ中の行を表すのに必要なバイト数により分離されていない連続したメモリ位置に前記複数のタイルのそれぞれのピクセル行を記憶する、請求項25のシステム。
  42. 前記オーバーレイ・モジュールは、前記複数のタイルのそれぞれついて制限のないピクセル行ラン長を有する前記オーバーレイ層中の前記複数のタイルの少なくとも一部にラン長エンコーディングを実行する、請求項41のシステム。
  43. 前記オーバーレイ・モジュールは、固定サイズ・ヘッダを含んでいる固定サイズ・レコードで前記複数のタイルのそれぞれを前記メモリ中に記憶する、請求項25のシステム。
  44. 前記オーバーレイ・モジュールは、前記オーバーレイ層中の前記複数のタイルのうちのどれが変化する表示項目を含むかを判断し、前記固定サイズ・レコードに基づいて前記メモリ中に前記変化するタイルを配置し、そして前記オーバーレイ層中の前記変化するタイルだけを更新する、請求項43のシステム。
JP2009514466A 2006-06-08 2007-05-23 複数の表示層の調合 Expired - Fee Related JP5290162B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/450,621 2006-06-08
US11/450,621 US8018472B2 (en) 2006-06-08 2006-06-08 Blending multiple display layers
PCT/US2007/069561 WO2007146570A2 (en) 2006-06-08 2007-05-23 Blending multiple display layers

Publications (2)

Publication Number Publication Date
JP2009540371A JP2009540371A (ja) 2009-11-19
JP5290162B2 true JP5290162B2 (ja) 2013-09-18

Family

ID=38821443

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009514466A Expired - Fee Related JP5290162B2 (ja) 2006-06-08 2007-05-23 複数の表示層の調合

Country Status (6)

Country Link
US (1) US8018472B2 (ja)
EP (1) EP2024963A2 (ja)
JP (1) JP5290162B2 (ja)
KR (1) KR101007172B1 (ja)
CN (1) CN101460992B (ja)
WO (1) WO2007146570A2 (ja)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8531521B2 (en) * 2006-10-06 2013-09-10 Sightlogix, Inc. Methods and apparatus related to improved surveillance using a smart camera
JP2008306512A (ja) * 2007-06-08 2008-12-18 Nec Corp 情報提供システム
US8884983B2 (en) * 2008-06-30 2014-11-11 Microsoft Corporation Time-synchronized graphics composition in a 2.5-dimensional user interface environment
US8285223B2 (en) * 2008-12-18 2012-10-09 Sony Corporation Wireless link status presentation for wireless displays
US9635285B2 (en) 2009-03-02 2017-04-25 Flir Systems, Inc. Infrared imaging enhancement with fusion
US9998697B2 (en) 2009-03-02 2018-06-12 Flir Systems, Inc. Systems and methods for monitoring vehicle occupants
US9208542B2 (en) 2009-03-02 2015-12-08 Flir Systems, Inc. Pixel-wise noise reduction in thermal images
US9451183B2 (en) 2009-03-02 2016-09-20 Flir Systems, Inc. Time spaced infrared image enhancement
US9674458B2 (en) 2009-06-03 2017-06-06 Flir Systems, Inc. Smart surveillance camera systems and methods
US9517679B2 (en) 2009-03-02 2016-12-13 Flir Systems, Inc. Systems and methods for monitoring vehicle occupants
US9843742B2 (en) 2009-03-02 2017-12-12 Flir Systems, Inc. Thermal image frame capture using de-aligned sensor array
US9986175B2 (en) 2009-03-02 2018-05-29 Flir Systems, Inc. Device attachment with infrared imaging sensor
US9948872B2 (en) 2009-03-02 2018-04-17 Flir Systems, Inc. Monitor and control systems and methods for occupant safety and energy efficiency of structures
US9756264B2 (en) 2009-03-02 2017-09-05 Flir Systems, Inc. Anomalous pixel detection
USD765081S1 (en) 2012-05-25 2016-08-30 Flir Systems, Inc. Mobile communications device attachment with camera
US9235876B2 (en) 2009-03-02 2016-01-12 Flir Systems, Inc. Row and column noise reduction in thermal images
US9473681B2 (en) 2011-06-10 2016-10-18 Flir Systems, Inc. Infrared camera system housing with metalized surface
US10757308B2 (en) 2009-03-02 2020-08-25 Flir Systems, Inc. Techniques for device attachment with dual band imaging sensor
US10244190B2 (en) 2009-03-02 2019-03-26 Flir Systems, Inc. Compact multi-spectrum imaging with fusion
CN101527134B (zh) * 2009-04-03 2011-05-04 华为技术有限公司 一种显示方法、显示控制器及显示终端
US9756262B2 (en) 2009-06-03 2017-09-05 Flir Systems, Inc. Systems and methods for monitoring power systems
US9292909B2 (en) 2009-06-03 2016-03-22 Flir Systems, Inc. Selective image correction for infrared imaging devices
US10091439B2 (en) 2009-06-03 2018-10-02 Flir Systems, Inc. Imager with array of multiple infrared imaging modules
US9843743B2 (en) 2009-06-03 2017-12-12 Flir Systems, Inc. Infant monitoring systems and methods using thermal imaging
US9819880B2 (en) 2009-06-03 2017-11-14 Flir Systems, Inc. Systems and methods of suppressing sky regions in images
US9716843B2 (en) 2009-06-03 2017-07-25 Flir Systems, Inc. Measurement device for electrical installations and related methods
US9207708B2 (en) 2010-04-23 2015-12-08 Flir Systems, Inc. Abnormal clock rate detection in imaging sensor arrays
US9848134B2 (en) 2010-04-23 2017-12-19 Flir Systems, Inc. Infrared imager with integrated metal layers
US9706138B2 (en) 2010-04-23 2017-07-11 Flir Systems, Inc. Hybrid infrared sensor array having heterogeneous infrared sensors
CN102473399B (zh) * 2010-06-03 2014-12-24 松下电器(美国)知识产权公司 显示控制装置、显示控制方法、显示控制程序及集成电路
JP5740149B2 (ja) * 2010-12-22 2015-06-24 クラリオン株式会社 表示制御装置、表示レイヤ合成プログラム
US9143703B2 (en) 2011-06-10 2015-09-22 Flir Systems, Inc. Infrared camera calibration techniques
US10389953B2 (en) 2011-06-10 2019-08-20 Flir Systems, Inc. Infrared imaging device having a shutter
US9509924B2 (en) 2011-06-10 2016-11-29 Flir Systems, Inc. Wearable apparatus with integrated infrared imaging module
WO2012170954A2 (en) 2011-06-10 2012-12-13 Flir Systems, Inc. Line based image processing and flexible memory system
US9706137B2 (en) 2011-06-10 2017-07-11 Flir Systems, Inc. Electrical cabinet infrared monitor
US10169666B2 (en) 2011-06-10 2019-01-01 Flir Systems, Inc. Image-assisted remote control vehicle systems and methods
KR101808375B1 (ko) 2011-06-10 2017-12-12 플리어 시스템즈, 인크. 저전력 소형 폼 팩터 적외선 이미징
US10079982B2 (en) 2011-06-10 2018-09-18 Flir Systems, Inc. Determination of an absolute radiometric value using blocked infrared sensors
US10051210B2 (en) 2011-06-10 2018-08-14 Flir Systems, Inc. Infrared detector array with selectable pixel binning systems and methods
US9900526B2 (en) 2011-06-10 2018-02-20 Flir Systems, Inc. Techniques to compensate for calibration drifts in infrared imaging devices
US9961277B2 (en) 2011-06-10 2018-05-01 Flir Systems, Inc. Infrared focal plane array heat spreaders
CA2838992C (en) 2011-06-10 2018-05-01 Flir Systems, Inc. Non-uniformity correction techniques for infrared imaging devices
US9235023B2 (en) 2011-06-10 2016-01-12 Flir Systems, Inc. Variable lens sleeve spacer
US9058653B1 (en) 2011-06-10 2015-06-16 Flir Systems, Inc. Alignment of visible light sources based on thermal images
US10841508B2 (en) 2011-06-10 2020-11-17 Flir Systems, Inc. Electrical cabinet infrared monitor systems and methods
US9811884B2 (en) 2012-07-16 2017-11-07 Flir Systems, Inc. Methods and systems for suppressing atmospheric turbulence in images
US9754560B2 (en) * 2012-08-20 2017-09-05 Open Invention Network, Llc Pooling and tiling data images from memory to draw windows on a display device
KR101412419B1 (ko) * 2012-08-20 2014-06-25 주식회사 팬택 개선된 사용자 인터페이스 기능을 갖는 이동통신 단말과 사용자 인터페이스 제공 방법
KR102007749B1 (ko) * 2012-08-29 2019-08-06 삼성전자주식회사 단말에서의 화면 녹화 방법 및 장치와 그 방법에 대한 프로그램 소스를 저장한 기록 매체
CN103247068B (zh) * 2013-04-03 2016-03-30 上海晨思电子科技有限公司 一种渲染方法和装置
US9716737B2 (en) * 2013-05-08 2017-07-25 Qualcomm Incorporated Video streaming in a wireless communication system
CN103487795B (zh) * 2013-09-29 2015-12-02 惠州市德赛西威汽车电子股份有限公司 一种泊车辅助用倒车雷达显示方法及其系统
US9973692B2 (en) 2013-10-03 2018-05-15 Flir Systems, Inc. Situational awareness by compressed display of panoramic views
US10270818B1 (en) * 2013-11-08 2019-04-23 Google Llc Inline resharing
US11297264B2 (en) 2014-01-05 2022-04-05 Teledyne Fur, Llc Device attachment with dual band imaging sensor
EP3111333B1 (en) * 2014-02-27 2022-03-30 Mercury Kingdom Assets Limited Thread and data assignment in multi-core processors
US10638194B2 (en) * 2014-05-06 2020-04-28 At&T Intellectual Property I, L.P. Embedding interactive objects into a video session
CN104267889B (zh) * 2014-09-15 2019-03-29 联想(北京)有限公司 一种控制方法和电子设备
KR102396288B1 (ko) * 2014-10-27 2022-05-10 삼성디스플레이 주식회사 유기 발광 표시 장치
US10074154B2 (en) * 2014-12-12 2018-09-11 Nxp Usa, Inc. Display controller and a method thereof
US9992553B2 (en) 2015-01-22 2018-06-05 Engine Media, Llc Video advertising system
US20160328871A1 (en) * 2015-05-05 2016-11-10 Mediatek Inc. Graphics system and associated method for displaying blended image having overlay image layers
US20170039676A1 (en) * 2015-05-05 2017-02-09 Mediatek Inc. Graphics system and associated method for generating dirtiness information in image having multiple frames
US20170024916A1 (en) * 2015-07-21 2017-01-26 Microsoft Technology Licensing, Llc Media composition using aggregate overlay layers
US10621690B2 (en) * 2015-09-17 2020-04-14 Qualcomm Incorporated Storing bandwidth-compressed graphics data
US10885603B2 (en) * 2015-12-25 2021-01-05 Intel Corporation Alpha blending and display update bandwidth saving during render and display operations
US9858697B2 (en) * 2016-01-07 2018-01-02 Livio, Inc. Methods and systems for communicating a video image
US10643381B2 (en) 2016-01-12 2020-05-05 Qualcomm Incorporated Systems and methods for rendering multiple levels of detail
US10643296B2 (en) 2016-01-12 2020-05-05 Qualcomm Incorporated Systems and methods for rendering multiple levels of detail
CN107316270A (zh) * 2016-04-25 2017-11-03 联发科技股份有限公司 为由多个帧组成的图像数据生成脏信息的方法及图形系统
WO2017187508A1 (ja) * 2016-04-26 2017-11-02 オリンパス株式会社 表示処理装置および撮像装置
TWI618029B (zh) * 2016-07-26 2018-03-11 聯發科技股份有限公司 圖形處理裝置
JP6784115B2 (ja) * 2016-09-23 2020-11-11 コニカミノルタ株式会社 超音波診断装置及びプログラム
US10547846B2 (en) * 2017-04-17 2020-01-28 Intel Corporation Encoding 3D rendered images by tagging objects
JP2019014450A (ja) * 2017-07-10 2019-01-31 トヨタ自動車株式会社 車両用表示装置
WO2019021484A1 (ja) * 2017-07-28 2019-01-31 オリンパス株式会社 表示処理装置および撮像装置
CN108810602B (zh) * 2018-03-30 2020-09-04 武汉斗鱼网络科技有限公司 一种用于显示直播间信息的方法、装置及计算机设备
CN110363831B (zh) * 2019-07-17 2023-04-07 Oppo广东移动通信有限公司 图层合成方法、装置、电子设备及存储介质
CN110377263B (zh) * 2019-07-17 2021-08-17 Oppo广东移动通信有限公司 图像合成方法、装置、电子设备及存储介质
US11151965B2 (en) * 2019-08-22 2021-10-19 Qualcomm Incorporated Methods and apparatus for refreshing multiple displays
US12033603B2 (en) * 2020-12-02 2024-07-09 Qualcomm Incorporated Methods and apparatus for plane planning for overlay composition

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6208335B1 (en) * 1997-01-13 2001-03-27 Diva Systems Corporation Method and apparatus for providing a menu structure for an interactive information distribution system
US7117440B2 (en) * 1997-12-03 2006-10-03 Sedna Patent Services, Llc Method and apparatus for providing a menu structure for an interactive information distribution system
US6754905B2 (en) * 1998-07-23 2004-06-22 Diva Systems Corporation Data structure and methods for providing an interactive program guide
US6904610B1 (en) * 1999-04-15 2005-06-07 Sedna Patent Services, Llc Server-centric customized interactive program guide in an interactive television environment
US6724403B1 (en) 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
JP3659139B2 (ja) * 1999-11-29 2005-06-15 セイコーエプソン株式会社 Ram内蔵ドライバ並びにそれを用いた表示ユニットおよび電子機器
WO2001045426A1 (en) 1999-12-14 2001-06-21 Broadcom Corporation Video, audio and graphics decode, composite and display system
JP2001285749A (ja) * 2000-01-24 2001-10-12 Matsushita Electric Ind Co Ltd 画像合成装置、記録媒体及びプログラム
US7039241B1 (en) * 2000-08-11 2006-05-02 Ati Technologies, Inc. Method and apparatus for compression and decompression of color data
US6714218B1 (en) * 2000-09-05 2004-03-30 Intel Corporation Scaling images
US7035459B2 (en) * 2001-05-14 2006-04-25 Nikon Corporation Image compression apparatus and image compression program
TWI273539B (en) * 2001-11-29 2007-02-11 Semiconductor Energy Lab Display device and display system using the same
US7428338B2 (en) * 2002-01-10 2008-09-23 Ricoh Co., Ltd. Header-based processing of images compressed using multi-scale transforms
JP2003233809A (ja) * 2002-02-07 2003-08-22 Matsushita Electric Ind Co Ltd 画像合成装置および画像合成方法
TWI299485B (en) * 2002-08-13 2008-08-01 Tpo Displays Corp Display Control device And Display Control Method
US6911984B2 (en) * 2003-03-12 2005-06-28 Nvidia Corporation Desktop compositor using copy-on-write semantics
US8063916B2 (en) * 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition
US7868890B2 (en) 2004-02-24 2011-01-11 Qualcomm Incorporated Display processor for a wireless device
TWI281827B (en) 2004-03-23 2007-05-21 Via Tech Inc Method of image display with real time compression
CN1700299A (zh) * 2004-05-17 2005-11-23 松下电器产业株式会社 图像合成输出装置、方法、程序和记录媒体及其显示装置和移动通信器械
US20060044328A1 (en) 2004-08-26 2006-03-02 Rai Barinder S Overlay control circuit and method

Also Published As

Publication number Publication date
WO2007146570A2 (en) 2007-12-21
KR101007172B1 (ko) 2011-01-12
JP2009540371A (ja) 2009-11-19
US8018472B2 (en) 2011-09-13
CN101460992A (zh) 2009-06-17
US20070285439A1 (en) 2007-12-13
EP2024963A2 (en) 2009-02-18
KR20090018985A (ko) 2009-02-24
WO2007146570A3 (en) 2008-04-10
CN101460992B (zh) 2011-10-05

Similar Documents

Publication Publication Date Title
JP5290162B2 (ja) 複数の表示層の調合
US7733405B2 (en) Apparatus and method for resizing an image
US6636226B2 (en) Method and apparatus for controlling compressed Z information in a video graphics system
US7512287B2 (en) Method and apparatus for efficient image rotation
US7868898B2 (en) Methods and apparatus for efficiently accessing reduced color-resolution image data
US5608862A (en) Apparatus for processing hierarchically-coded image data
CN102547283A (zh) 动态视频数据压缩
US20060227104A1 (en) Rotation display apparatus using two display buffers in mobile phone and method thereof
JP4609568B2 (ja) データ処理装置、データ処理方法およびデータ処理システム
US20050062755A1 (en) YUV display buffer
KR102619668B1 (ko) 슬라이스 업데이트 맵을 이용하는 장치 및 방법
US10446071B2 (en) Device and method of using slice update map
US7545416B2 (en) Image processing device and camera including CPU which determines whether processing performed using external memory
US20060033753A1 (en) Apparatuses and methods for incorporating an overlay within an image
US7382376B2 (en) System and method for effectively utilizing a memory device in a compressed domain
US20070046792A1 (en) Image compositing
US6519286B1 (en) Method and apparatus for decoding a stream of data
KR101169994B1 (ko) 알파 평면을 이용한 영상 데이터 처리 장치 및 방법
US20080090610A1 (en) Portable electronic device
US20060098031A1 (en) System and method for effectively performing image rotation procedures in a compressed domain
US20040196380A1 (en) Image processing device, camera and image processing method
US20040213467A1 (en) Image processing apparatus
CN116309893B (zh) 一种图片压缩方法、装置、存储介质和电子设备
US8098254B2 (en) Power savings in a computing device during video playback
US20050185852A1 (en) Method and apparatus to generate complex borders

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120131

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120925

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121127

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121129

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130507

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130605

R150 Certificate of patent or registration of utility model

Ref document number: 5290162

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees