説明

電子ディスプレイのための時間的および空間的にオーバーラップした更新を処理するための方法および装置

【課題】ディスプレイにおいて時間的・空間的にオーバーラップした更新を処理する。
【解決手段】ディスプレイコントローラ109はフレームの各ピクセルについて動作ピクセルデータを処理し、オーバーラップ検出器413を含むピクセルプロセッサ117、衝突検出器415及び構築プロセッサ417を含む。新しい更新領域Bの任意の新しいピクセル値がフレームの現更新の領域A内にある時オーバーラップ検出器はオーバーラップを検出する。オーバーラップ領域O内の少なくとも1つのピクセルが現在の更新から与えられた終了ピクセル値GENDと異なる現更新前の開始ピクセル値GBEGを有する時及びピクセルに対する新しい更新から与えられた新しいピクセル値GNEWが終了ピクセル値と異なる時、衝突検出器が修正要求を発令する。各非オーバーラップピクセルについて新しいピクセル値を用い現更新完了前に構築プロセッサが動作ピクセルデータを更新する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般的には電子ディスプレイの制御に関するものであり、さらに詳しくは時間的および空間的にオーバーラップした更新を処理するための方法および装置に関するものである。
【背景技術】
【0002】
電子ビジュアルディスプレイは、光を生成するアクティブディスプレイおよび光を変調するパッシブディスプレイを含む多くの形態を有する。パッシブディスプレイがバックライトのような、ディスプレイによって生成された光よりも、むしろ視覚的情報を伝達するためにディスプレイから反射された光に依存しているので、一般的にパッシブディスプレイはより少ない電力を消費する。特定のパッシブディスプレイは、追加的電力入力なしに安定した状態のままである双安定であるため、さらに少ない電力しか消費しない。電気泳動ディスプレイは、例えば、低電力パッシブ双安定性ディスプレイである。電気泳動ディスプレイは、紙上のインクと類似しているようにみえる電子ペーパー(e−paper)または電子インクディスプレイ技術の形態であり、これは、とりわけ、アマゾン(Amazon)のキンドル(Kindle)、Barnes & NobleのNook、ソニー(Sony)のリブリエ(Librie)のような電子書籍(e−book)リーダ(またはeリーダ)に広く用いられている。電気泳動ディスプレイは、バックライトを用いず、代わりに閲覧のために反射された光に依っているので、従来のアクティブディスプレイと比較して少ない電力しか利用しない。電気泳動ディスプレイは、ディスプレイ更新を駆動するためにスキャンされるアクティブマトリックス薄膜トランジスタ(TFT)を利用する。更新されると、ディスプレイは安定(双安定)を維持し、追加スキャンを要せず、その結果追加の電力を節約することができる。更新の間、1つまたは複数のピクセルを1つの値から別の値に変更するように、波形がディスプレイパネルに出力される。更新されている各ピクセルに与えられる各波形は、複数のフレームスキャンにわたり、その結果、波形は、各フレームスキャンの間、各値がパネルに出力される複数の波形値に有効に分割される。本開示は、電気泳動ディスプレイを用いて説明されるが、他の型の電子ディスプレイに適用することも可能である。
【0003】
各更新は、開始されると、無効ディスプレイ値、またはディスプレイパネルに起こりうる損害、または不適切な配向を回避するために完了されなければならない。ある従来の構成においては、新しい更新は、現行の更新が完了するまで遅延される。他の従来の構成においては、新しい更新は、領域がオーバーラップしない限り、現行の更新と同時起こってもよい。任意のオーバーラップピクセル(すなわち、両方の更新領域に属する同一ピクセル値)はコンフリクトを引き起こし、その結果、現在の更新は、新しい更新が開始される前に完了していなければならなかった。
【発明の概要】
【発明が解決しようとする課題】
【0004】
より新たなユーザインタフェースの要求を満たすために、空間的にも時間的にもオーバーラップする同時更新を支援する電子ディスプレイを用いる応用が求められている。
【課題を解決するための手段】
【0005】
一実施形態によるディスプレイコントローラは、フレームの各ピクセルについての動作ピクセルデータを処理するピクセルプロセッサを含み、ここで、ピクセルプロセッサは、オーバーラップ検出器、衝突検出器、および構築プロセッサを含む。オーバーラップ検出器は、新しい更新領域の少なくとも1つのピクセル値のいずれかがフレームの現在の更新の現在の更新領域内に存在する場合、オーバーラップ領域を検出する。オーバーラップ領域内の少なくとも1つのピクセルが現在の更新によって与えられた終了ピクセル値と異なる開始ピクセル値を、現在の更新に先立って有する場合、および、少なくともの1つのピクセルに対する新しい更新によって与えられた新しいピクセル値が終了ピクセル値と異なる場合、衝突検出器が修正要求を発令する。構築プロセッサは、新しい更新領域内の、および現在の更新領域外の、各ピクセルについての対応する新しいピクセル値を用いて、対応する動作ピクセルデータを更新する。
【0006】
衝突検出器は、新しいピクセル値が、オーバーラップ領域内の少なくとも1つのピクセルに対して終了ピクセル値と異なる場合、たとえ終了ピクセル値が開始ピクセル値と同一であったとしても、衝突修正を発令し得る。あるいは、新しいピクセル値が終了ピクセル値と異なる場合、および、開始ピクセル値が、オーバーラップ領域内の少なくとも1つのオーバーラップピクセルに対して、終了ピクセル値と同一である場合、構築プロセッサは、動作ピクセルデータを新しい更新に割当てることによって、各オーバーラップピクセルの動作ピクセルデータを更新することができ、これは、オーバーラップピクセルの終了ピクセル値を新しいピクセル値と置換することを含む。オーバーラップ領域内の各オーバーラップピクセルについて、新しい更新によって与えられた対応する新しいピクセル値が対応する終了ピクセル値と同一である場合、あるいは、オーバーラップピクセルが新しい更新に再び割当てられる場合、衝突検出器は修正要求を発令しなくてもよい。あるいは、新しい更新によって与えられた対応する新しいピクセル値が、オーバーラップ領域内の各オーバーラップピクセルについての対応する終了ピクセル値と同一である場合、衝突検出器は修正要求を発令しなくてもよい。
【0007】
ディスプレイコントローラは、フレーム順次スキャン更新の間、動作ピクセルデータを波形情報に変換するディスプレイ処理システムを含み得る。変換は、新しい更新領域における動作ピクセルデータを変換し、オーバーラップ領域が検出される場合に、フレームの少なくとも1つのスキャン更新に対する現在の更新領域についての動作ピクセルデータを同時に変換することを含む。
【0008】
一実施形態によるディスプレイシステムは、複数のバッファ、処理部、およびディスプレイコントローラを含む。動作バッファは、フレームの各ピクセルについての動作ピクセルデータを格納する。処理部は、フレームの新しい更新領域に対する更新バッファに少なくとも1つの更新ピクセル値を格納する。ディスプレイコントローラは、少なくとも1つのフェッチブロック、オーバーラップ検出器、衝突検出器、および構築プロセッサを含む。フェッチブロックは、各新しい更新について、更新バッファから新しい更新領域の各新しいピクセル値を読み出し、動作バッファから対応する動作ピクセルデータを読み出す。新しい更新領域の任意のピクセルがフレームの現在の更新の現在の更新領域内にある場合、オーバーラップ検出器はオーバーラップ領域を検出する。オーバーラップ領域が検出され、オーバーラップ領域内の少なくとも1つのピクセルが現在の更新によって、オーバーラップ領域内の少なくとも1つのピクセルに対する新しい更新によって与えられた対応する新しいピクセル値とは異なる終了ピクセル値に更新されている時、衝突検出器が処理部に割込みを発令する。構築プロセッサは、新しい更新領域内の、および現在の更新領域外の、各ピクセルについての更新バッファからの対応する新しいピクセル値を用いて、動作バッファの対応する動作ピクセルデータを更新する。
【0009】
ディスプレイシステムは、フレームの順次スキャン更新の間、動作バッファからの動作ピクセルデータを波形情報に変換するディスプレイ処理システムを含み得る。このような変換は、新しい更新領域についての動作ピクセルデータを変換し、同時に、オーバーラップ領域が検出された時、フレームの少なくとも1つのスキャン更新に対し、現在の更新領域についての動作ピクセルデータを変換することを含む。
【0010】
一実施形態による、ディスプレイパネルのためのピクセル情報を処理する方法は、ピクセルのフレームの新しい更新領域に対する新しい更新を検出すること、新しい更新領域内の少なくとも1つのピクセルの各々についての新しい値を受信し、少なくとも1つのピクセルについての対応する動作ピクセルデータを受信すること、新しい更新が少なくとも1つの現在の更新と時間的にオーバーラップする場合、および、新しい更新領域が少なくとも1つの現在の更新の少なくとも1つの現在の更新領域と空間的にオーバーラップする場合、オーバーラップ領域を検出すること、オーバーラップが検出される場合、オーバーラップ領域内にない新しい更新領域の各ピクセルについて、少なくとも1つの現在の更新の完了の前に対応する動作ピクセルデータを更新すること、オーバーラップ内の各オーバーラップピクセルについて、オーバーラップピクセルが少なくとも1つの現在の更新によって新しい更新の新しい値とは異なる終了値に更新されている場合、衝突を検出すること、衝突が検出された場合、修正要求を発令してオーバーラップ領域内の少なくとも1つのピクセルを修正することを含む。
【0011】
方法は、オーバーラップピクセルが少なくとも1つの現在の更新によって更新されているかに関わらず、終了値が新しい値とは異なる場合はいつでも、衝突を検出することを含み得る。方法は、対応する新しい値が終了値とは異なる場合、およびオーバーラップピクセルが少なくとも1つの現在の更新によって更新されていない場合に、対応する動作ピクセルデータ内の終了値を対応する新しい値と置換することによって、オーバーラップピクセルを新しい更新に再び割当てることを含み得る。方法は、オーバーラップピクセルが、少なくとも1つの現在の更新によって更新されており、新しい更新に再び割当てられていない場合にのみ、オーバーラップピクセルに対する衝突を検出することを含み得る。方法は、各新しい更新について、新しい更新が完了するまで、フレームの順次スキャン更新の間、フレームの各ピクセルについての動作ピクセルデータを波形情報に変換すること、オーバーラップ領域が検出された場合に、新しい更新によって更新された動作ピクセルデータを同時に変換し、フレームの少なくとも1つのスキャン更新に対して、少なくとも1つの現在の更新によって更新された動作ピクセルデータを変換することを含み得る。
【図面の簡単な説明】
【0012】
【図1】一実施形態にしたがって実装された電気泳動ディスプレイ(EPD)コントローラを用いたEPDパネルのための時間的および空間的に同時の更新を処理する電子デバイスの簡易ブロック図である。
【図2】空間的にオーバーラップする更新領域AおよびBを有する図1のEPDパネルの正面図の具象的な図である。
【図3】更新が時間的にオーバーラップする実施形態による更新領域AおよびB対時間をプロットしたタイミング図である。
【図4】図1の更新フレームコントローラとインタフェースされた一実施形態にしたがって実装された図1のピクセルプロセッサのより詳細なブロック図である。
【図5】新しい更新要求に応答した一実施形態による図1のピクセルプロセッサの動作を示すフローチャートである。
【図6】図4のオーバーラップ検出器によって実行された一実施形態によるピクセルオーバーラップの決定を示すフローチャートである。
【図7】新しい更新要求に応答した代替え実施形態による図1のピクセルプロセッサの動作を示すフローチャートである。
【図8】一実施形態による図1の更新フレームコントローラの簡易ブロック図である。
【図9】一実施形態による図1の更新フレームコントローラの各更新フレーム制御ブロックの動作を示すフローチャートである。
【図10】一実施形態にしたがって実装された図1のパネルタイミングコントローラのより詳細なブロック図である。
【図11】一実施形態による図1のパネルタイミングコントローラの動作を示すフローチャートである。
【発明を実施するための形態】
【0013】
本発明の利益、特徴、および利点は、以下の説明および添付の図面を参照してより理解されるであろう。
以下の説明は、当業者が本発明を実施できるように記載され、また、特定の出願のコンテクストとその要件の下で提供される。好ましい実施例に対する様々の変更は、当業者に極めて明白である。また、本明細書で定義された一般的原理は、他の実施例に適用され得る。したがって、本発明は、本明細書に記載され示された特定の実施例に制限されることを意図するものではなく、しかし、本明細書に開示された原則および新規な特徴と一致する最も広い範囲を認められるべきものである。
【0014】
図1は、一実施形態にしたがって実装された電気泳動ディスプレイ(EPD)コントローラ109を用いてEPDパネル101のための時間的にも空間的にも同時の更新を処理する電子デバイス100の簡易ブロック図を示す。電子デバイス100は、制御システム103と、EPDパネル101と、メモリ105と、電力管理システム107とを含む。EPDパネル101はパネルインタフェース102を介して制御システム103に接続され、メモリ105はメモリインタフェース104を介して制御システム103に接続される。電力管理システム107が、電力を他のデバイスに供給し、当業者が理解するように適切な電圧および電流レベルを概して管理する。EPDパネル101は、アクティブマトリックス薄膜トランジスタ(TFT)などを組み込むような任意の適切な形式および構成にしたがって実装され得る。EPDパネル101は、800x600ピクセル、1200x825ピクセル等の任意の適切なアスペクト比にしたがって、任意の所望の、または標準的な解像度を有し得、各ピクセルは電極(図示せず)間に配置されたマイクロカプセルまたは類似の素子として実装され得る。各マイクロカプセル内の荷電粒子は、電極によって生成された印可電界にしたがって再配置されて、所望のグレースケールの様相が得られる。1つまたは複数の波形がEPDパネル101に出力され、ディスプレイに表すイメージを更新するように複数のフレームスキャンに亘って1つのピクセル値から別のピクセル値に対応するピクセルを変更する。
【0015】
メモリ105は、ランダム・アクセス・メモリ(RAM)またはリード・オンリー・メモリ(ROM)などの任意の組み合わせを含む。RAM部分が、シングル・データ・レート(SDR)SDRAMまたはダブル・データ・レート(DDR)SDRAMなどの任意のタイプまたはバージョンのような動的RAM(DRAM)または同期DRAM(SDRAM)の任意のタイプを含んでもよい。メモリ105が更新バッファ127および動作バッファ(WB)129を格納する。更新バッファ127がEPD101に表示される将来のピクセル値を格納し、動作バッファ129が、EPD101に現在表示されている、または以下にさらに記載されるように現在更新されているピクセル値を表す情報を含むWBピクセルデータを格納する。メモリ105は、以下にさらに記載されるように中央処理ユニット(CPU)111による実行のためのソフトウェアおよび/またはアプリケーションプログラム等を格納することもできる。バスまたはバスシステム等に接続されるか、またはバスまたはバスシステム等として実装されるメモリインタフェース104が、データおよび情報をメモリ105と制御システム103との間で伝達することを可能にする。
【0016】
説明されている実施形態において、制御システム103は、EPDコントローラ109、CPU111、および様々な他のシステムモジュールまたはデバイス113を含システム・オン・チップ(SOC)デバイスとして構成される。別のシステム113は、例えば、通信(COMM)機能、ディスプレイ(DISPLAY)機能、周辺(PERIPH)機能、温度(TEMP)機能等のうちの任意の一つまたは複数を含み得る。COMM機能は、例えば、とりわけユニバーサルシリアルバス(USB)インタフェース、ブルートゥースインタフェース、携帯通信インタフェース(例えば、3Gまたは第3代、4Gまたは第4代、CDMA等)のような種々の通信インタフェースの一つまたは複数を実装するためのコントローラ等を含み得る。DISPLAY機能は、液晶ディスプレイ(LCD)等のような、システムで使用され得る異なるタイプの電子ディスプレイデバイスのためのコントローラ等を含み得る。PERIPH機能は、1つまたは複数のボタンまたはボタンインタフェース、キーパッド、タッチパッドインタフェース等のような、任意の他のタイプの周辺デバイスまたは入力/出力(I/O)デバイスをインタフェースするために用いられる。TEMP機能は、1つまたは複数の温度センサ等をインタフェースするために使用され得る。暗号化/複号化機能、グラフィックスアクセレータ、メモリカードインタフェース(フラッシュカード等)のような他の機能も考慮される。制御システム103は、共通の集積回路(IC)内に組み込まれたCPU111を含むSOCデバイスとして示されるが、個別ICデバイスまたはブロック等のような代替え構成も考慮される。
【0017】
EPDコントローラ109が、CPU111による命令およびプログラムにしたがってEPDパネル101をインタフェースおよび制御するための制御およびインタフェースブロック、モジュールおよび機能を含む。図示するように、EPDコントローラ109が、ピクセルプロセッサ117、更新フレームコントローラ119、パネルタイミングコントローラ121、動作バッファピクセルフェッチブロック123、ピクセル先入れ先出し(FIFO)125を含む。メモリインタフェース104が、ピクセルプロセッサ117、更新フレームコントローラ119、およびパネルタイミングコントローラ121のようなEPDコントローラ109内の、CPU111、他のシステムデバイス113、およびモジュール間のような、コントロールシステム113内の種々の機能ブロック間の通信を可能にする。CPU111が、EPDパネル101に表示されるものを究極的には制御するか、さもなければ決定するアプリケーションプログラムを実行する。CPU111が新しいピクセル値を生成し、該新しいピクセル値を更新バッファ127に格納する。ピクセルプロセッサ117がデータインタフェース131を介して更新バッファから新しいピクセル値を読み出し、別のデータインタフェース133を介して動作バッファ129から対応するピクセル値情報を読み出す。データインタフェース131および133は説明のために別個のインタフェースとして示され、ここで、メモリインタフェース104はメモリ105とEPDコントローラ109との間で情報を伝達するために使用され得る。動作バッファ129から読み出されたWBピクセルデータが、更新バッファ127における新しいピクセル値によって更新されるピクセル位置と対応する。一般に、ピクセルプロセッサ117は、更新バッファ127からの新しいピクセル値に基づいて、動作バッファ129におけるWBピクセルデータを更新する。
【0018】
本明細書に記載されるように、更新は、ディスプレイのピクセルのサブセットから全てのピクセルまで包含する矩形面積または領域内に定義される。複数の更新は同時に起こってもよく(時間オーバーラップ)、更新領域は空間的にオーバーラップしてもよい。更新領域内の各ピクセルは変更され得るが、更新領域内の1つまたは複数のピクセルは変更されないままであり得る。新しい更新領域における任意の新しいピクセル値が前の更新プロセスによって既に更新されている領域内に存在する場合、オーバーラップ状態が生じる。無効な結果、不正な動作、潜在的な誤動作、またはEPD101の損傷を回避するために、ピクセル値の更新プロセスは完了するまで割り込まれるべきではない。ピクセルプロセッサ117が、任意のピクセル衝突がオーバーラップ領域内で発生したかを判定し、ここで、ピクセル衝突とは、新しい更新がピクセルの現在の更新に干渉するか、または割り込むことを意味する。ピクセル衝突の場合、ピクセルプロセッサ117が割り込みを防止して、衝突修正要求をCPU111に送信し、1つまたは複数の将来の更新とのコンフリクトを解消する。一実施形態において、衝突修正要求はCPU111へ割込みの形式であり、CPU111が割り込みを処理して衝突コンフリクトを識別し、新しい更新を策定して、コンフリクトを起こしているピクセルを修正する。
【0019】
パネルタイミングコントローラ121は、更新を処理するために用いられる複数のルックアップテーブル(LUT)を含むルックアップテーブル(LUT)メモリ1005(図10)を含む。各新しい更新について、1つのLUTが新しい更新領域に割当てられ、その結果、そのLUTがアクティブになり、LUTは更新が完了するまでその領域にアクティブに割当てられたままである。LUT割当ては、CPU111、更新フレームコントローラ119等のような任意の適切な処理ブロックにより扱われ得る。更新フレームコントローラ119が、各新しいフレームスキャンに先立って、LUTに新しい波形データを読み込むことによって、各アクティブなLUTを管理する。以下にさらに記載されるように、ピクセルプロセッサ117は更新フレームコントローラ119にアクセスし、新しい更新と、現在処理されている任意の更新との間の任意の時間的衝突を識別する。更新フレームコントローラ119は、動作バッファピクセルフェッチンブロック123に、有効なデータはペンディング状態であり、WBピクセルデータの動作バッファ構築は完了したことを示す制御信号を与え、動作バッファピクセルフェッチブロック123は、次の垂直帰線区間の始まりにおいてピクセルFIFO125に格納するために、インタフェース135を介して動作バッファ129からWBピクセルデータの事前フェッチングを開始する。インタフェース135は別個のインタフェースとして示されているが、メモリインタフェース104を介して実装されてもよい。ピクセルFIFO125が読み出されたWBピクセルデータをパネルタイミングコントローラ121に与え、パネルタイミングコントローラ121は、LUTメモリ1005を用いて、ピクセルデータをEPDパネル101に与えられる波形値に変換する。
【0020】
図2は、空間的にオーバーラップする更新領域AおよびBを有するEPDパネル101の正面の具象的図を示す。2つの同時更新領域のみが示されているが、LUTの総数までの任意の数の同時更新が同時に処理され得ることに注意されたい。EPDパネル101は、X行およびY列に編成されたピクセルのアレイまたは「フレーム」として編成される。X値が右から左に増加する行数を表し、Y値が上から下に増加する列数を表す。各更新領域は、更新領域の含まれているピクセル領域を画定する左上座標および右下座標を含む一対のX、Y座標間で画定された矩形を有する。図示すように、更新領域Aは座標X1、Y1とX2、Y2との間に画定され、更新領域Bは座標X3、Y3とX4、Y4との間に画定される。各更新領域が、ピクセル値変化の周辺領域を画定し、ここで、領域内のすべてのピクセルまでの任意のサブセットが更新され得る。したがって、任意の所定の更新に対して、任意の数のピクセル値は修正されないままであり、一方、残りの数のピクセルはある値から別の値に更新される。更新領域内のすべてのピクセル値が更新されない(更新領域内のすべてのピクセル値が変更されないままである)更新が発令されることも可能であり、更新領域内のすべてのピクセル値が変更される更新が発令されることも可能である。
【0021】
図示されるように、X2>X3およびY2>Y3であるので、領域AおよびBは空間的にオーバーラップしている。オーバーラップ領域Oは、座標X3、Y3およびX2、Y2との間に画定されるように示されている。領域Aに対する更新が先に受信され、領域Bに対する更新が領域Aに対する更新後に受信されると仮定する。更新領域が空間的にオーバーラップしているが、領域Aに対する「現在の」更新が領域Bに対する「新しい」更新が受信される前に完了するならば、領域Bに対する新しい更新が領域Aに対する現在の更新と時間的にオーバーラップしない。したがって、領域Bに対する更新はコンフリクトなく進行できる。しかしながら、もし領域Bに対する更新が、領域Aに対する更新が完了する前に(領域Aが更新されているのと同時に)開始される場合、二つの更新領域AおよびBが空間的および時間的にオーバーラップする。従来の構成においては、(例えば、領域Aに対する)現在の更新と空間的におよび時間的にオーバーラップする(例えば、領域Bに対する)新しい更新は、現在の更新が完了するまで、開始することが許されていなかった。本明細書で記載されるように、オーバーラップ領域O内の動作ピクセルデータは、ピクセル毎に評価され、オーバーラップピクセル値のいずれかが更新されたかを決定する。領域Bの非オーバーラップ部分における動作ピクセルデータ(領域B内のピクセルを含むが、領域A内に含まれていない)は、本明細書にさらに記載されるように、領域Aに対する更新と同時に更新を開始し得る。
【0022】
図3は、更新が時間的にオーバーラップしている一実施形態にしたがって、更新領域AおよびBを時間に対してプロットしたタイミング図を示す。更新領域Aに対する更新はLUT0として示される第1LUTに割当てられ、領域Bに対する更新はLUT1として示される第2LUTに割当てられ、ここで、割当てられたLUTであるLUT0およびLUT1はY軸に沿って記載されている。領域Aに対する更新は、対応する新しいピクセル値が、領域Aに対して更新バッファ127に格納されたと検出される時間t0において開始される。ピクセルプロセッサ117は、時間t0から時間t1までの時間期間WBUAの間、更新バッファ127中の新しいピクセル値に基づいて動作バッファ129内の対応するWBピクセルデータを更新する。領域Aに対する更新が、およそ時間t1で開始し後の時間t4までの30フレームスキャンを要すると判定される。その間、領域Bに対する更新は、対応する新しいピクセル値が領域Bに対して更新バッファ127に格納されたと検出される時間t2において開始される。ピクセルプロセッサ117は、時間t2から時間t3の時間期間WBUBの間、更新バッファ127中の新しいピクセル値に基づいて、動作バッファ129内の対応するWBピクセルデータを更新する。領域Bに対する更新が、およそ時間t3で開始し後の時間t5までの30フレームスキャンを要すると判定される。この場合において、領域AおよびBに対する更新は同時である(時間的オーバーラップ)。各フレームスキャンは、垂直同期(VSYNC)信号によって開始され、ここで、領域Aに対する更新が時間t1で始まる30フレームスキャンの間に起こり、領域Bに対する更新が時間t3で始まる30フレームスキャンの間に起こる。両方の更新は、VSYNC信号と同期しており、領域Bに対する更新のための30フレームスキャンは、領域Aに対する更新のための10〜30フレームスキャンと同一のフレームスキャンの間に起こる。図2および3は、領域AおよびBに対する更新が空間的および時間的にオーバーラップすることをまとめて示している。
【0023】
図4は、更新フレームコントローラ119とインタフェースされた、一実施形態にしたがって実装されたピクセルプロセッサ117のより詳細なブロック図である。更新(UPD)ピクセルフェッチブロック401が、更新バッファ127からピクセル値を読み出し、読み出されたピクセル値を衝突検出および構築ブロック405に与える。読み出されたピクセル値は、EPDパネル内の位置に対応するX、Y座標またはその他を含み、更新されている各ピクセル値の位置が知られる。WBピクセルフェッチブロック403は、動作バッファ129から、EPDパネル101の同じ位置に対応するWBピクセルデータを意味する、対応するWBピクセルデータを読み出し、読み出されたピクセル情報を衝突検出および構築ブロック405に与える。衝突検出および構築ブロック405は、更新フレームコントローラ119およびX−Y座標追跡および比較器407を用いて、現在のピクセルがアクティブかを決定し、アクティブである場合には、新しい更新と現在の更新との間に衝突が存在するかを決定する。衝突がない場合、ピクセルはアクティブではなく(例えば、アクティブに更新されていない)、その結果、衝突検出および構築ブロック405が新しい更新情報にしたがってWBピクセルデータを更新する。オーバーラップ領域内で少なくとも1つのピクセルの衝突がある場合、衝突検出および構築ブロック405が修正要求を発令し、衝突するピクセルが後続の更新によって修正されるようにする。一実施形態において、修正要求はCPU111へ割込みである。
【0024】
各ピクセルが所定の数Yのグレーレベルを有し、例えば、黒色のピクセルのGから白色のピクセルのGY−1の範囲のピクセル値によって表される。一実施形態において、例えば、Y=16のグレーレベルが定義され、換言するとG、G、・・・、G15である。409における簡略形式として示される一実施形態において、更新される各ピクセルのために、ピクセルプロセッサ117によって読み出されたWBピクセルデータは、LUT番号(LUT#)、開始値GBEG、および終了値GENDを含む。LUT#が、完了された先の更新について、ピクセルがすでに割当てられたLUTを識別し、または、ピクセルが現在処理している更新に関するのであれば、ピクセルが現在割当てられているLUTを識別する。GBEGはピクセルの初期のグレーレベルを識別し、GENDは、ピクセルが(完了した更新のために)変化した終了グレーレベルまたはピクセルが(現在のアクティブな更新のために)現在変化している終了グレーレベルを識別する。更新に割当てられたLUTは、各波形値がWBピクセルデータのピクセル値を用いてアクセルされる複数の波形値を有する波形データを用いてプログラムされる。一実施形態において、例えば、ピクセル値GBEGおよびGENDは、現在のフレームスキャンのためのLUT#によって識別されたLUTにおける対応する波形値にアクセスするための指標値としてまとめて用いられる。ピクセルは、LUTが各フレームスキャンに先立って新しい波形データを用いて再プログラムされる複数のフレームスキャンに亘って変化させられる。同一のピクセル値は、各フレームスキャンに対する各アクセスのために用いられるが、新しい、潜在的に異なる波形値がLUTから読み出される。このように、LUTは、複数のフレームスキャンに亘って一連の連続する波形値を出力し、ピクセルのグレーレベルをGBEGからGENDに変化させる。
【0025】
複数のフレームスキャンを亘る連続するセットの波形値は、時間に亘ってピクセルセルに適用される適切な波形に変換される。上述のように、更新プロセスが一旦開始されたら完了されるように、更新プロセスに割り込むことは望ましくない。GEND=GBEGの場合、LUT(またはパネルタイミングコントローラ121)は、ピクセルを変化させない「デフォルト」値を出力する。ピクセルを更新するためのフレームスキャンの数は、モードまたは更新解像度タイプに依存する。黒および白(B&Wまたは2状態(bi−state))についての低解像度に対する早い更新は、更新を達成するために少ない数のフレームスキャン(例えば、10フレーム)を用いる。中範囲数のグレーレベル(例えば、4つのグレーレベル)についての中解像度に対する遅い更新は、更新を完了するためにより多数のフレームスキャン(例えば、30フレーム)を用いる。多数のグレーレベル(例えば、16グレーレベル)についての高または最大解像度に対するかなり遅い更新は、更新を完了するためにより多い数のフレームスキャン(例えば、50フレーム)を用いる。
【0026】
説明された実施形態において、衝突検出および構築ブロック405が、オーバーラップ(OVERLAP)状態を決定するオーバーラップ検出器413を含む。新しい更新領域内の少なくとも1つのピクセルが現在アクティブな更新領域とオーバーラップし、少なくとも1つのオーバーラップピクセルを有するオーバーラップ領域を形成する時、オーバーラップ状態は真である。衝突検出および構築ブロック405は、オーバーラップ状態が検出されると、新しい更新が、オーバーラップ領域内の任意のピクセルに対する現在の更新と衝突するかを決定する衝突検出器415をさらに含む。一般に、衝突は、オーバーラップピクセル(オーバーラップ領域のピクセル)が、現在の更新および新しい更新が完了した後の新しい更新によって与えられる新しいピクセル値に正しく更新されない場合に生じる。これは、例えば、ピクセルが新しい更新による割り込みが不可能な現在の更新の一部である場合に起こる可能性がある。衝突の場合、衝突検出器415が修正要求を発令し、任意のオーバーラップし、衝突するピクセルが後続の更新によって正しく修正され得る。一実施形態において、修正要求は、後続の更新を発令するCPU111へ割込みの形式である。衝突検出および構築ブロック405は、各新しい更新にしたがって、非オーバーラップおよび/または非衝突ピクセルについてのWBピクセルデータを更新する構築プロセッサ417をさらに含む。各新しい更新は、更新される新しい更新領域の各ピクセルについての新しいピクセル値GNEWを含み、新しいLUT番号LUTNEWが、新しい更新に割当てられたLUTメモリ1005内の複数のLUTのうちの1つのLUTを識別する。特に、LUT#は、新しい更新について割当てられたLUTを示すLUTNEWを用いて更新され、(GENDが以前の更新からのピクセルの現在の値を表すので)GEND値がGBEGを置換し、GEND値がピクセルについてのGNEW値と置換される。更新されたWBピクセルデータはWBピクセルライトバックブロック411を介して動作バッファ129にライトバックされる。
【0027】
図5は、新しい更新要求に応答した、一実施形態によるピクセルプロセッサ117の動作を示すフローチャートである。最初のブロック501で、新しい更新領域に割当てられた新しいLUT(LUTNEWを用いる)がアクセスされる。また、衝突(COLLISION)フラッグもクリアされる。次のブロック503で、更新バッファ127内の新しい更新領域(GNEW)からの次のピクセルが、更新されるべきピクセルの位置を識別するX、Y座標と共に、UPDピクセルフェッチブロック401を介してフェッチされる。ブロック503内においても、動作バッファ129からの対応するWBピクセルデータが、WBピクセルフェッチブロック403を介してフェッチされる。
【0028】
次のブロック505で、衝突検出および構築ブロック405のオーバーラップ検出器413は、ピクセルオーバーラップが存在するかどうかを決定する。図6は、ブロック505についてオーバーラップ検出器413によって実行される一実施形態によるピクセルオーバーラップ決定を示すフローチャートである。最初のブロック601で、409に示されるようなLUT#によって識別されるWBピクセルLUTがアクティブであるかが問い合わせられる。一実施形態において、オーバーラップ検出器413は、LUT#を用いて更新フレームコントローラ119に尋ねて、対応するLUTが現在にアクティブであるかを決定する。LUT#によって識別されるLUTがアクティブでなければ、動作はブロック603に進み、ここで、対応するピクセルが現在アクティブでないことが決定されて、オーバーラップ(OVERLAP)は偽となる。オーバーラップが偽である状態で、動作は図5のブロック505に戻る。もしかわりに、LUTがブロック601で判定されるときにアクティブであるならば、動作はブロック605に進み、ここで、アクティブLUTに割当てられた領域が、ピクセルのピクセル位置を含有するかが問い合わせられる。図4を再び参照して、オーバーラップ検出器413がX−Y座標追跡および比較器407に尋ねて、空間的オーバーラップがあるかを決定する。更新バッファ127から読み出された新しいピクセル値のX、Y位置は、(LUT#によって識別される)アクティブLUTに割当てられた領域のX、Y座標と比較されて、この決定が行なわれる。もし、ピクセルがアクティブLUTの領域内に配置されていない場合、動作はブロック607に進み、ここで、LUTが新しいピクセル値のピクセル位置を含まない領域についてアクティブであると決定される。したがって、対応するピクセルは現在アクティブではなく、オーバーラップが偽である状態で、動作が戻る。もしかわりに、LUTが新しいピクセルのピクセル位置を含有しない領域に割当てられるならば、動作はブロック609に進み、ここで、ピクセル位置が(現在アクティブである更新の領域内において)アクティブであると決定され、オーバーラップが真である状態で、動作が戻る。
【0029】
図5のブロック505を再び参照して、オーバーラップが偽である場合、動作はブロック507に進み、ここで、構築プロセッサ417が新しいピクセルデータを構築し、対応する更新されたWBピクセルデータを動作バッファ129に格納する。一例として、もし古いWBピクセルデータが[LUTOLD,GEND,GBEG]であるならば、LUTNEW及びGNEWを用いた新しいWBピクセルデータは、[LUTNEW,GNEW,GEND]であり、ピクセルはLUTNEWを用いてGENDからGNEWに変化する。次に、動作はブロック509に進み、ここで、現在のピクセルが新しい更新領域における最後のピクセルであるかが問い合わせられる。もし最後のピクセルではない場合、動作はブロック503に戻り、更新バッファ127および動作バッファ129から次の新しいピクセルおよびWBピクセルデータをフェッチする。新しい更新のピクセルがいかなるアクティブピクセルともオーバーラップしない場合、動作はブロック503と509との間をループする。1つの場合において、新しい更新は、例えば、図3における領域Bに対する更新の開始以前の領域Aに対する更新のような、唯一の更新である可能性がある。あるいは、新しい更新の領域と現在の更新の領域とは時間的にオーバーラップするが、空間的にはオーバーラップしない。空間的にオーバーラップしない、(LUTの所定の最大数までの)任意の数の時間的に同時の更新は、コンフリクトなしに同時に処理され得ることが理解される。
【0030】
もしブロック505で決定される際にオーバーラップが真である場合、動作はかわりにブロック511に進み、更新バッファ127からのピクセルに対するGNEW値が、動作バッファ129からのGEND値と等しいかが、衝突検出器415によって問い合わせられる。GNEW=GENDの場合、動作はブロック513に進み、ここで、新しいピクセル構築がそのピクセルに対して実施されず、衝突は存在しないと決定される。この場合、ピクセルはアクティブであり、少なくとも2つの更新のオーバーラップ領域内に存在するが、ピクセルの現在の値は新しい値と同一であるので、衝突は存在せず、ピクセル値は新しい更新によって変化しない。ブロック513の後、動作はブロック509に進み、新しい更新領域に追加のピクセルが存在するかを決定する。もしかわりに、ブロック511で衝突検出器415によって決定される際に、GNEWがGENDと等しいないならば、動作はかわりにブロック515に進み、ここで、ピクセルはこれ以上構築されず、衝突フラッグは真に設定される。この場合において、もしピクセルがGBEGからGENDに更新されているならば、GENDからGNEWへの変化が、潜在的に現在の更新プロセスに割り込み、よって、無効な結果を引き起こす可能性があり、もしくはさらに悪ければ、EPDパネル101の故障また損害を引き起こす可能性がある。その後ピクセル値を新しい更新にしたがってGNEWに変化させることが望ましいので、新しい更新は完全には完了せず、衝突フラッグは、修正を要求するように設定される。動作は次にブロック509に戻り、ピクセルが新しい更新領域の最後ピクセルであるかを問い合わせる。
【0031】
ブロック509で決定される際に、ピクセルが新しい更新領域における最後のピクセルである場合、動作はブロック517に進み、衝突フラッグを問い合わせる。もし衝突フラッグが偽であるならば、動作は完了する。もし衝突フラッグが真であるならば、少なくとも一つのピクセル衝突が発生しており、衝突において、複数の更新のオーバーラップ領域内のピクセル位置は、最新の値GNEWに設定されないので無効であり、動作はかわりにブロック519に進む。ブロック519で、修正要求が発令され、新しい更新の間、対応するGNEW値に正しく更新されなかったピクセル値を修正し、動作が完了する。修正要求は最終的にCPU111によって扱われ、CPU111は次の修正更新を発令して、GNEW値に更新されていない衝突するピクセル値を修正する。一実施形態において、修正要求はCPU111へ割込みとして実行される。割込みベクタが、衝突している領域またはコンフリクトしているLUTの識別を含み得る。一実施形態において、CPU111が対応する更新領域に対する各新しい更新を発令するので、CPU111が既に、衝突するピクセルを修正するための修正更新を策定するために十分な情報を有している可能性がある。例えば、CPU111が既に、新しい更新が1つまたは複数の以前の更新とコンフリクトしたと決定している可能性がある。CPU111は、衝突した1つまたは複数の原因となる更新が完了した後の修正更新として、同一領域に対して、またはオーバーラップ領域のみに対して、同一の更新値を用いて同一の更新を再び発令することも可能である。
【0032】
図2を参照して、例えば、CPU111は、領域Aに対する現在の更新が完了された後、同一の領域Bか、またはオーバーラップ領域O(座標X3、Y3およびX2、Y2を有する)のみに対する修正更新を発令する。修正更新が、正しく更新されなかったピクセル位置を含むのであれば、修正更新はオーバーラップ領域O内のより小さな領域のためであってもよい。Aが完了した後、領域Bに対する元の更新が依然として生じている間であっても、修正更新が開始されてよい。追加的更新がなく、例えば、LUT2のような異なるLUTが修正更新に割当てられると仮定すると、領域Oにおけるピクセルの各々に対して、領域OにおけるピクセルのWBピクセルデータは依然として、WBピクセルデータ内のLUT0に割当てられ、ここで、LUT0はもはやアクティブではないので、オーバーラップは偽である。したがって、修正値は修正更新の対応するピクセルに適用される。修正更新が領域O外ピクセルを含む場合(例えば、修正更新が領域Bのすべてを含む場合)、オーバーラップは偽であり、同一の結果が得られる。
【0033】
時間的にオーバーラップするが、空間的にオーバーラップしない更新は、コンフリクトなく同時に処理され得ることが理解される。更新が時間的にも空間的にもオーバーラップする場合、更新は非オーバーラップ領域に対して同時に進行し得る。オーバーラップ領域においては、もし新しい更新についての各新しい値が現在の更新の次の値と等しい場合、ピクセル衝突はなく、ピクセル値は正しい値に更新される。もしオーバーラップ領域内に少なくとも1つのピクセル衝突があるならば、衝突が示され、修正要求が発令されて、衝突しているピクセルに対するピクセル修正を実行するための後続の修正更新が発動される。
【0034】
図7は、新しい更新要求に応答した代替え実施形態によるピクセルプロセッサ117の動作を示すフローチャートである。図7のフローチャートは図5に類似し、ここで、類似するブロックは同一符号を有する。動作は、ピクセルのオーバーラップがない場合と実質的に同一である。ブロック505においてピクセルオーバーラップが、例えば、図6のフローチャートにしたがって、同様に決定される。オーバーラップが真であり、GNEWがGENDと等しくないとブロック511で決定される場合、動作はかわりに追加的ブロック701に進み、ここでGENDがGBEGと等しいかどうかを衝突検出器415によって問い合わせられる。現在の更新に対し、GBEGはピクセルの以前の値であり、GENDはそれが変化している値である。GENDがGBEGと等しくない場合、ピクセルは現在の更新でGENDにアクティブに更新されているところであり、新しい更新は、まだピクセルをGNEWに変化させることはできない。したがって、動作が上述のようにブロック515に進み、ここで、衝突フラッグが衝突検出器415によって設定され、修正要求が発令される。しかしながら、もしブロック701でGEND=GBEGの場合、現在の更新はピクセル値を変化させず、ピクセル値は新しい更新に再び割当てられることができる。したがって、GEND=GBEGの場合、動作はかわりにブロック703に進み、ここで、ピクセルは新しい更新の一部として構築され、これは、ピクセルを新しい更新のLUTNEWに再び割当てることを含む。再構築されたピクセルは動作バッファ129に格納され、この場合衝突がない。ブロック703における再構築に先立って、現在の更新についてのWBピクセルデータは705に示され、ここで、WBピクセルデータは現在のLUT値LUTCURRに割当てられる。現在の更新は、LUTCURRによって識別されたLUTを用い、ピクセルをGBEGからGENDに変化させるが、GEND=GBEGであるので、ピクセル値は実際には変化しない。むしろ、デフォルトの値が生成される。ブロック703における再構築後の新しい更新についてのWBピクセルデータは707に示され、ここで、WBピクセルデータはLUTNEWによって識別される異なるLUTに割当てられる。また、GENDはGNEWに変化される。したがって、新しい更新はLUTNEWを用いて、ピクセル値をGBEGからGENDに変化させる。WBピクセルデータがブロック703で再構築された後、動作はブロック509に進み、更新領域に追加のピクセルが存在するかを調べる。
【0035】
図7のフローチャートにしたがうピクセルプロセッサ117の動作が、図5のフローチャートに従って動作する場合と同様な利点および利益を提供する。フローチャート7に従う動作は、衝突の可能性が減少されるという追加的利点を提供する。例えば、領域Aに対する更新が、オーバーラップ領域Oにおけるいかなるピクセルをも変化させない場合、これらのピクセルは領域Bに対する更新に対して有効に再び割当てられ、衝突が回避される。また、オーバーラップ領域に1つまたは複数のピクセル衝突が起こったとしても、新しい更新に割当てられるので、オーバーラップ領域内のピクセルを更新する可能性が増加する。衝突フラッグが動作バッファ129の更新の間に設定される場合、衝突を引き起こす1つまたは複数の以前の更新の各々が完了された後、CPU111がオーバーラップ領域に同一の新しい更新または別の更新を発令する。
【0036】
図8は、一実施形態による更新フレームコントローラ119の簡易ブロック図である。更新フレームコントローラ119が、1〜Nの番号が付けられたN個の更新フレーム制御ブロックを含み、その各々は、更新と、更新に割当てられた対応するLUTとを制御する。一実施形態において、Nは16であり、16個までの同時更新が進行される。各更新フレーム制御ブロックは、対応するLUTをモニタし、VSYNCに基づいて各更新のタイミングおよび状態を追跡する。さらに、各フレームスキャンに先立って、各更新フレーム制御ブロックがLUTデータをロードする。
【0037】
図9は、一実施形態による更新フレームコントローラ119の各更新フレーム制御ブロックの動作を示すフローチャート図である。新しい更新要求に応答して、動作がブロック901に進み、ここで、割当てられたLUTがロックされ、新しい更新を完了するためのフレーム数が決定され、対応する値FRAME_NUMはフレームの所定の数に設定され、可変FRAME_CNTはクリアされる。LUTは、更新の間、ロックされたままであり、LUTが異なる更新に割当てられることを防止する。動作がブロック903に進み、ここで、更新フレーム制御ブロックは、ピクセルプロセッサ117によって実行された動作バッファ129を更新するためのWBプロセスが完了したかを問い合わせる。動作バッファ129内の新しい更新についてのWBピクセルデータが更新されるまで、動作がブロック903で待機、またはループする。WBプロセスが完了する場合、動作がブロック905に進み、ここで、新しい更新が、更新領域内の任意のピクセル更新を含むかが問い合わせられる。もしピクセル更新が含まれないならば、動作はブロック911に進み、ここで、更新に割当てられたLUTが開放され、動作が完了する。そうでなければ、動作バッファピクセルフェッチ123は、WBピクセルデータを事前にフェッチするように促され、動作はブロック907に進み、次のフレームスキャンを始めるVSYNCの次のアサートを待つ。VSYNCの次のアサートまで、動作は待機するか、またはその他の態様でループする。VSYNCが次にアサートされる時、動作はブロック909に進み、FRAME_CNT=FRAME_NUMであるかを問い合わせ、新しい更新を完了するための全ての数のフレームスキャンが生じたかを決定する。FRAME_CNT=FRAME_NUMでない場合、動作がブロック913に進み、ここで、割当てられたLUTには、上述のように現在のフレームスキャンについての新しい波形情報がロードされる。次に、動作は次のブロック913に進み、ここで、FRAME_CNTがインクリメントされ、動作がブロック907にループバックして、次のVSYNCを待つ。動作がブロック907と915との間でループし、各フレームスキャンの前に、割当てられたLUTを更新し、適切な波形情報が、各フレームスキャンに対し、EPDパネルに与えられて、更新を完了する。更新のための最後のフレームスキャンが完了したとブロック909で決定される場合、動作がブロック911に進み、LUTを開放して、更新に対する動作が完了される。
【0038】
図10は、一実施形態にしたがって実装されたパネルタイミングコントローラ121のより詳細なブロック図である。パネルタイミングコントローラ121は、ピクセルFIFO125からピクセル情報を読み出し、対応するピクセルデータをLUTメモリ1005内のLUTに与えるデコードおよびシーケンスコントローラ1001を含む。デコードおよびシーケンスコントローラ1001に接続された領域およびLUT比較器1003が、X−Y座標追跡および比較器407と、更新フレームコントローラ119とからのLUTおよび領域情報にアクセスする。LUTメモリ1005が、M個のピクセルを同時に処理するM個のバンクに編成されるN個のLUTを含む。一実施形態において、Mは4であるが、任意の適切な数のLUTバンクが、任意の適切な数のピクセルを同時に処理するために使用され得る。数Nは、更新フレームコントローラ119内の更新フレーム制御ブロックの数と対応する。一実施形態において、Nは16であるが、任意の適切な数のLUTが使用されてもよい。LUTメモリ1005の各LUTが、波形データを出力し、波形データは、波形データフォーマットブロック1009に与えられ、波形データフォーマットブロック1009は、EPDパネル101に対応する波形データ情報を出力する。パネルタイミングコントローラ121は、EPDパネル101にソースおよびゲートクロック制御情報を与えるソースおよびゲートタイミング制御生成ブロック1007を含む。ソースおよびゲートタイミング制御生成ブロック1007は、当業者が理解するように、水平同期パルス(HSYNC)と共にVSYNC信号を生成する。
【0039】
図11は、一実施形態によるパネルタイミングコントローラ121の動作を示すフローチャートである。動作は、1つまたは複数の更新を処理するためのペンディングフレームがあるまで最初のブロック1101に留まる。ペンディングフレームがあると、動作はブロック1103に進み、VSYNCが生成される。動作は次にブロック1105に進み、ピクセルFIFO125からのWBピクセルデータが読み出される。動作はブロック1107に進み、次のピクセルまたは(M個のピクセルを並列に処理するために)ピクセルグループをフェッチする。次のブロック1109で始まる各ピクセルについて、領域およびLUT比較器1003によって示されるように、WBピクセルデータにおけるLUT#に対応するLUTがアクティブかが問い合わせられる。もしLUTがアクティブではないならば、ピクセルはアクティブに更新されておらず、動作はブロック1111に進む。ブロック1111において、デフォルト値がEPDパネル101に駆動され、対応するピクセルは変化されないままである。ブロック1111から、動作はブロック1113に進み、ここで、ピクセルが現在のフレームにおける最後のピクセルかが問い合わせられる。最後のピクセルではない場合、動作はブロック1107にループバックし、次のピクセルまたはピクセルグループをフェッチする。フレームの最後のピクセルの場合、かわりに動作はブロック1101にループバックして、他のペンディングフレームがあるかを決定する。
【0040】
ブロック1109を参照して、もしWBピクセルLUTがピクセルに対してアクティブである場合、動作はブロック1115に進み、領域およびLUT比較器1003によって示されるように現在のピクセルがLUTにより画定された領域内に存在するかを問い合わせる。もし現在のピクセルがLUTにより画定された領域内に存在しない場合、動作はブロック1111に進み、デフォルト値が与えられる。そうではなく、ピクセルがアクティブLUTの画定された領域内に存在する場合、動作はブロック1117に進み、ここで、ピクセル情報に対応する波形値がLUTから読み出され、波形値は、次のブロック1119で対応するピクセルを更新するためにEPDパネル101に駆動される。動作は次にブロック1113にループバックする。
【0041】
一実施形態によるディスプレイコントローラは、フレームの各ピクセルについての動作ピクセルデータを処理するピクセルプロセッサを含み、ここで、ピクセルプロセッサは、オーバーラップ検出器、衝突検出器、および構築プロセッサを含む。オーバーラップ検出器は、新しい更新領域の少なくとも1つのピクセル値のいずれかがフレームの現在の更新の現在の更新領域内に存在する場合、オーバーラップ領域を検出する。オーバーラップ領域内の少なくとも1つのピクセルが現在の更新によって与えられた終了ピクセル値と異なる開始ピクセル値を、現在の更新に先立って有する場合、および、少なくともの1つのピクセルに対する新しい更新によって与えられた新しいピクセル値が終了ピクセル値と異なる場合、衝突検出器が修正要求を発令する。構築プロセッサは、新しい更新領域内の、および現在の更新領域外の、各ピクセルについての対応する新しいピクセル値を用いて、対応する動作ピクセルデータを更新する。
【0042】
衝突検出器は、新しいピクセル値が、オーバーラップ領域内の少なくとも1つのピクセルに対して終了ピクセル値と異なる場合、たとえ終了ピクセル値が開始ピクセル値と同一であったとしても、衝突修正を発令し得る。あるいは、新しいピクセル値が終了ピクセル値と異なる場合、および、開始ピクセル値が、オーバーラップ領域内の少なくとも1つのオーバーラップピクセルに対して、終了ピクセル値と同一である場合、構築プロセッサは、動作ピクセルデータを新しい更新に割当てることによって、各オーバーラップピクセルの動作ピクセルデータを更新することができ、これは、オーバーラップピクセルの終了ピクセル値を新しいピクセル値と置換することを含む。オーバーラップ領域内の各オーバーラップピクセルについて、新しい更新によって与えられた対応する新しいピクセル値が対応する終了ピクセル値と同一である場合、あるいは、オーバーラップピクセルが新しい更新に再び割当てられる場合、衝突検出器は修正要求を発令しなくてもよい。あるいは、新しい更新によって与えられた対応する新しいピクセル値が、オーバーラップ領域内の各オーバーラップピクセルについての対応する終了ピクセル値と同一である場合、衝突検出器は修正要求を発令しなくてもよい。
【0043】
ディスプレイコントローラは、フレーム順次スキャン更新の間、動作ピクセルデータを波形情報に変換するディスプレイ処理システムを含み得る。変換は、新しい更新領域における動作ピクセルデータを変換し、オーバーラップ領域が検出される場合に、フレームの少なくとも1つのスキャン更新に対する現在の更新領域についての動作ピクセルデータを同時に変換することを含む。
【0044】
一実施形態によるディスプレイシステムは、複数のバッファ、処理部、およびディスプレイコントローラを含む。動作バッファは、フレームの各ピクセルについての動作ピクセルデータを格納する。処理部は、フレームの新しい更新領域に対する更新バッファに少なくとも1つの更新ピクセル値を格納する。ディスプレイコントローラは、少なくとも1つのフェッチブロック、オーバーラップ検出器、衝突検出器、および構築プロセッサを含む。フェッチブロックは、各新しい更新について、更新バッファから新しい更新領域の各新しいピクセル値を読み出し、動作バッファから対応する動作ピクセルデータを読み出す。新しい更新領域の任意のピクセルがフレームの現在の更新の現在の更新領域内にある場合、オーバーラップ検出器はオーバーラップ領域を検出する。オーバーラップ領域が検出され、オーバーラップ領域内の少なくとも1つのピクセルが現在の更新によって、オーバーラップ領域内の少なくとも1つのピクセルに対する新しい更新によって与えられた対応する新しいピクセル値とは異なる終了ピクセル値に更新されている時、衝突検出器が処理部に割込みを発令する。構築プロセッサは、新しい更新領域内の、および現在の更新領域外の、各ピクセルについての更新バッファからの対応する新しいピクセル値を用いて、動作バッファの対応する動作ピクセルデータを更新する。
【0045】
ディスプレイシステムは、フレームの順次スキャン更新の間、動作バッファからの動作ピクセルデータを波形情報に変換するディスプレイ処理システムを含み得る。このような変換は、新しい更新領域についての動作ピクセルデータを変換し、同時に、オーバーラップ領域が検出された時、フレームの少なくとも1つのスキャン更新に対し、現在の更新領域についての動作ピクセルデータを変換することを含む。
【0046】
一実施形態による、ディスプレイパネルのためのピクセル情報を処理する方法は、ピクセルのフレームの新しい更新領域に対する新しい更新を検出すること、新しい更新領域内の少なくとも1つのピクセルの各々についての新しい値を受信し、少なくとも1つのピクセルについての対応する動作ピクセルデータを受信すること、新しい更新が少なくとも1つの現在の更新と時間的にオーバーラップする場合、および、新しい更新領域が少なくとも1つの現在の更新の少なくとも1つの現在の更新領域と空間的にオーバーラップする場合、オーバーラップ領域を検出すること、オーバーラップが検出される場合、オーバーラップ領域内にない新しい更新領域の各ピクセルについて、少なくとも1つの現在の更新の完了の前に対応する動作ピクセルデータを更新すること、オーバーラップ内の各オーバーラップピクセルについて、オーバーラップピクセルが少なくとも1つの現在の更新によって新しい更新の新しい値とは異なる終了値に更新されている場合、衝突を検出すること、衝突が検出された場合、修正要求を発令してオーバーラップ領域内の少なくとも1つのピクセルを修正することを含む。
【0047】
方法は、オーバーラップピクセルが少なくとも1つの現在の更新によって更新されているかに関わらず、終了値が新しい値とは異なる場合はいつでも、衝突を検出することを含み得る。方法は、対応する新しい値が終了値とは異なる場合、およびオーバーラップピクセルが少なくとも1つの現在の更新によって更新されていない場合に、対応する動作ピクセルデータ内の終了値を対応する新しい値と置換することによって、オーバーラップピクセルを新しい更新に再び割当てることを含み得る。方法は、オーバーラップピクセルが、少なくとも1つの現在の更新によって更新されており、新しい更新に再び割当てられていない場合にのみ、オーバーラップピクセルに対する衝突を検出することを含み得る。方法は、各新しい更新について、新しい更新が完了するまで、フレームの順次スキャン更新の間、フレームの各ピクセルについての動作ピクセルデータを波形情報に変換すること、オーバーラップ領域が検出された場合に、新しい更新によって更新された動作ピクセルデータを同時に変換し、フレームの少なくとも1つのスキャン更新に対して、少なくとも1つの現在の更新によって更新された動作ピクセルデータを変換することを含み得る。
【0048】
本発明をそのある好ましいバージョンについてかなり詳細に記述したが、他のバージョン及び変更は可能でありかつ考慮されている。当業者は、請求の範囲によって定義したような発明の技術思想及び範囲から逸脱せずに本発明と同一の目的を実行するために他の構造を設計或いは修正する基礎として開示概念及び特定の実施の形態を適宜使用できることを理解するであろう。
【符号の説明】
【0049】
109…ディスプレイコントローラ、117…ピクセルプロセッサ、119…更新フレームコントローラ、127…更新バッファ、129…動作バッファ、415…衝突検出器、417…構築プロセッサ、413…オーバーラップ検出器、A,B…更新領域、O…オーバーラップ領域。

【特許請求の範囲】
【請求項1】
ディスプレイコントローラであって、
フレームの複数のピクセルの各々についての動作ピクセルデータを処理するピクセルプロセッサを備え、該ピクセルプロセッサが、
新しい更新領域の少なくとも1つの新しいピクセル値のいずれかが、前記フレームの現在の更新の現在の更新領域内に存在する場合に、オーバーラップ領域を検出するオーバーラップ検出器と、
前記オーバーラップ領域内の少なくとも1つのピクセルが、前記現在の更新によって与えられた終了ピクセル値とは異なる開始ピクセル値を、前記現在の更新に先立って有する場合、および前記少なくとも1つのピクセルに対する前記新しい更新によって与えられた新しいピクセル値が前記終了ピクセル値とは異なる場合、修正要求を発令する衝突検出器と、
前記現在の更新領域内の、および前記現在の更新が完了する前の前記現在の更新領域の外の、各ピクセルに対する少なくとも1つの新しいピクセル値の対応する1つを用いて動作ピクセルデータを更新する構築プロセッサと
を含む、ディスプレイコントローラ。
【請求項2】
前記終了ピクセル値が前記開始ピクセル値と同一であったとしても、前記新しいピクセル値が前記オーバーラップ領域内の少なくとも1つのピクセルに対する終了ピクセル値と異なる場合に、前記衝突検出器が衝突修正を発令する、請求項1に記載のディスプレイコントローラ。
【請求項3】
前記新しいピクセル値が前記終了ピクセル値と異なる場合、および前記開始ピクセル値が前記オーバーラップ領域内の少なくとも1つのピクセルに対する終了ピクセル値と同一である場合、前記構築プロセッサが、オーバーラップピクセルを前記新しい更新に再び割当てることによって、前記少なくとも1つのオーバーラップピクセルの各々についての動作ピクセルデータを更新し、前記再び割当てることは、前記オーバーラップピクセルの終了ピクセル値を前記新しいピクセル値と置換することを含む、請求項1に記載のディスプレイコントローラ。
【請求項4】
前記オーバーラップ領域内の各オーバーラップピクセルに対して、前記新しい更新によって与えられる対応する新しいピクセル値が、対応する終了ピクセル値と同一である場合、および前記オーバーラップピクセルが前記新しい更新に再び割当てられる場合、前記衝突検出器は前記修正要求を発令しない、請求項3に記載のディスプレイコントローラ。
【請求項5】
前記新しい更新によって与えられた対応する新しいピクセル値が、前記オーバーラップ領域内の各オーバーラップピクセルについて、対応する終了ピクセル値と同一である場合、前記衝突検出器は前記修正要求を発令しない、請求項1に記載のディスプレイコントローラ。
【請求項6】
前記フレームの順次スキャン更新の間、前記動作ピクセルデータを波形情報に変換するディスプレイ処理システムをさらに備え、前記変換することは、前記オーバーラップ領域が検出された時、前記フレームの少なくとも1つのスキャン更新のために、前記現在の更新領域に対する動作ピクセルデータの変換と同時に、前記新しい更新領域に対する動作ピクセルデータを変換することを含む、請求項1に記載のディスプレイコントローラ。
【請求項7】
ディスプレイシステムであって、
更新バッファおよび動作バッファであって、前記動作バッファがフレームの複数のピクセルの各々に対する動作ピクセルデータを格納する、前記更新バッファおよび動作バッファと、
前記フレームの新しい更新領域に対して、少なくとも1つの更新ピクセル値を前記更新バッファに格納する処理ユニットと、
ディスプレイコントローラであって、
各新しい更新に対して、前記更新バッファから前記新しい更新領域の前記少なくとも1つの新しいピクセル値の各々を読み出し、前記動作バッファから対応する動作ピクセルデータを読み出す、少なくとも1つのフェッチブロックと、
前記新しい更新領域のいずれかのピクセルが前記フレームの現在の更新の現在の更新領域内に存在する場合に、オーバーラップ領域を検出するオーバーラップ検出器と、
前記オーバーラップ領域が検出される場合、および前記オーバーラップ領域内の少なくとも1つのピクセルが、前記オーバーラップ領域内の少なくとも1つのピクセルに対する新しい更新によって与えられた対応する新しいピクセル値とは異なる終了ピクセル値に前記現在の更新によって更新されている場合に、前記処理ユニットに割り込みを発令する衝突検出器と、
前記新しい更新領域内の、および前記現在の更新が完了する前の前記現在の更新領域の外の、各ピクセルに対する前記更新バッファからの少なくとも1つの新しいピクセル値の対応する1つを用いて、前記動作バッファにおける前記対応する動作ピクセルデータを更新する構築プロセッサと
を含む前記ディスプレイコントローラと
を備えるディスプレイシステム。
【請求項8】
前記オーバーラップ領域内の少なくとも1つのピクセルが、前記現在の更新によって更新されていない場合であっても、前記終了ピクセル値が前記オーバーラップ領域内の少なくとも1つのピクセルに対する前記対応する新しいピクセル値と異なる場合はいつでも、前記衝突検出器が割込みを発令する、請求項7に記載のディスプレイシステム。
【請求項9】
前記終了ピクセル値が、前記現在の更新によって更新されていないオーバーラップ領域内の前記少なくとも1つのオーバーラップピクセルに対する対応する新しいピクセル値とは異なる場合はいつでも、前記構築プロセッサが、前記オーバーラップピクセルを新しい更新に再び割当てることによって、および前記終了ピクセル値を前記新しいピクセル値と置換することによって、前記少なくとも1つのオーバーラップピクセルの各々の動作ピクセルデータを更新する、請求項7に記載のディスプレイシステム。
【請求項10】
前記オーバーラップ領域内の各オーバーラップピクセルに対して、前記新しい更新によって与えられた対応する新しいピクセル値が、対応する終了ピクセル値と同一である場合か、または前記オーバーラップピクセルが、前記新しい更新に再び割当てられる場合に、前記衝突検出器は割込みを発令しない、請求項9に記載のディスプレイシステム。
【請求項11】
前記新しい更新によって与えられた対応する新しいピクセル値が、前記オーバーラップ領域内の各オーバーラップピクセルについての対応する終了ピクセル値と同一である場合、前記衝突検出器は割込みを発令しない、請求項7に記載のディスプレイシステム。
【請求項12】
前記ディスプレイコントローラは、前記フレームの順次スキャン更新の間、前記動作バッファから前記動作ピクセルデータを波形情報に変換するディスプレイ処理システムをさらに含み、前記変換することは、前記オーバーラップ領域が検出される場合に前記フレームの少なくとも1つのスキャン更新に対する動作ピクセルデータを変換することと同時に、前記新しい更新領域に対する動作ピクセルデータを変換することを含む、請求項7に記載のディスプレイシステム。
【請求項13】
前記ディスプレイコントローラは、
複数のルックアップテーブルであって、該複数のルックアップテーブルの各々は、更新に割当てられる時にアクティブであり、前記更新が完了された時に開放され、いずれの更新にも割当てられない時には非アクティブであり、各アクティブなルックアップテーブルは、対応する更新領域を含み、前記フレームのピクセルの各々に対する前記動作ピクセルデータが、前記複数のルックアップテーブルの1つを示すルックアップ番号を含み、前記対応する動作ピクセルデータによって示されるルックアップテーブルがアクティブである場合、および前記新しい更新領域のいずれかのピクセルが、示されたルックアップテーブルの割当てられた更新領域内にある場合、前記オーバーラップ検出器が前記オーバーラップ領域を検出する、前記複数のルックアップテーブルと、
前記スキャン更新に先立って波形値を用いて前記複数のルックアップテーブルの各アクティブなルックアップテーブルをプログラムする更新フレームコントローラと
をさらに含む、請求項12に記載のディスプレイコントローラ。
【請求項14】
ディスプレイパネルのためのピクセル情報を処理する方法であって、
ピクセルのフレームの新しい更新領域に対する新しい更新を検出すること、
前記新しい更新領域内の少なくとも1つのピクセルの各々に対する新しい値を受信し、前記少なくとも1つのピクセルに対する対応する動作ピクセルデータを受信すること、
前記新しい更新が少なくとも1つの現在の更新と時間的にオーバーラップする場合、および前記更新領域が少なくとも1つの現在の更新の少なくとも1つの現在の更新領域と空間的にオーバーラップする場合に、オーバーラップ領域を検出すること、
前記オーバーラップ領域が検出された場合、前記オーバーラップ領域内でない新しい更新領域の各ピクセルに対して、少なくとも1つの現在の更新の完了に先立って対応する動作ピクセルデータを更新すること、
前記オーバーラップ領域が検出された場合、前記オーバーラップ領域内の各オーバーラップピクセルに対して、前記オーバーラップピクセルが、前記新しい更新の新しい値とは異なる終了値に対する少なくとも1つの現在の更新によって更新されている場合、衝突を検出すること、
少なくとも1つの衝突が検出された場合、前記オーバーラップ領域内の少なくとも1つのピクセルを修正するように修正要求を発令すること
を含む方法。
【請求項15】
前記衝突を検出することは、前記オーバーラップピクセルが少なくとも1つの現在の更新によって更新されているかに関わらず、前記終了値が前記新しい値とは異なる場合はいつでも、衝突を検出することを含む、請求項14に記載の方法。
【請求項16】
対応する新しい値が前記終了値と異なる場合、および前記オーバーラップピクセルが少なくとも1つの現在の更新によって更新されていない場合に、対応する動作ピクセルデータ内の終了値を対応する新しい値と置換することによって、オーバーラップピクセルを新しい更新に再び割当てることをさらに含む、請求項14に記載の方法。
【請求項17】
前記衝突を検出することは、前記オーバーラップピクセルが前記少なくとも1つの現在の更新によって更新されており、前記新しい更新に再び割当てられていない場合にのみ、オーバーラップピクセルに対して衝突を検出することを含む、請求項16に記載の方法。
【請求項18】
各新しい更新について、フレームの順次スキャン更新の間、前記新しい更新が完了するまで、前記フレームの各ピクセルに対する動作ピクセルデータを波形情報に変換することをさらに含み、
前記オーバーラップ領域が検出された場合、前記変換することは、前記新しい更新により更新された動作ピクセルデータを同時に更新すること、および前記フレームの少なくとも1つのスキャン更新に対する少なくとも1つの現在の更新により更新された動作ピクセルデータを変換することを含む、請求項14に記載の方法。
【請求項19】
更新を検出すると、複数のルックアップテーブルの1つを前記更新および対応する更新領域に割当てることによって、複数のルックアップテーブルの1つをアクティブ化すること、
前記フレームの各スキャン更新に先立って各アクティブ化されたルックアップテーブルを、波形値を用いてプログラムすること、
対応する更新が完了した時、アクティブ化されたルックアップテーブルを非アクティブ化すること
をさらに含む請求項14に記載の方法。
【請求項20】
前記オーバーラップ領域を検出することは、
前記対応する動作ピクセルデータに格納されたテーブル番号が、前記複数のルックアップテーブルのうちの1つのアクティブなルックアップテーブルを示すかを決定すること、
前記対応する動作ピクセルデータにおける前記テーブル番号が複数のルックアップテーブルのうちの1つのアクティブなルックアップテーブルを示す場合、前記対応する動作ピクセルデータのピクセル位置が、前記複数のルックアップテーブルのうちの1つのアクティブなルックアップテーブルに割当てられている領域内にある時にオーバーラップ領域を検出すること
を含む、請求項19に記載の方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−155317(P2012−155317A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−286618(P2011−286618)
【出願日】平成23年12月27日(2011.12.27)
【出願人】(504199127)フリースケール セミコンダクター インコーポレイテッド (806)
【Fターム(参考)】