以下、本発明の好適な実施形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
1.画像処理装置
1−1.構成
図1は、本実施形態の画像処理装置の構成例を示す図である。図1に示すように、本実施形態の画像処理装置1は、処理部(CPU)10、操作部20、記憶部30、表示制御部40、表示部50、音出力部60、通信部70を含んで構成されている。本実施形態の画像処理装置1は、図1の構成要素(各部)の一部を省略又は変更したり、他の構成要素を付加した構成としてもよい。
操作部20は、操作キーやボタンスイッチ等により構成される入力装置であり、ユーザーによる操作に応じた操作信号を処理部(CPU)10に出力する。
記憶部30は、処理部(CPU)10が各種の計算処理や制御処理を行うためのプログラムやデータ等を記憶している。特に、本実施形態では、記憶部30は、表示部50に対する描画要求を伴う種々のアプリケーションプログラム32、GUIライブラリー38、画像データ等が格納されたデータファイル34等が記憶されている。
GUIライブラリー38は、アプリケーションプログラムから呼び出され電子ペーパーに対する表示制御を行うライブラリーであり、GUIライブラリー38を構成するGUI部品はオブジェクト指向のクラス階層構造を有しており、アプリケーションプログラム32からの描画要求に応じて、対応するGUI部品及びその基底クラスのGUI部品のプログラム(メソット等を含む)を実行して、描画要求に応じた画像データを生成し、当該画像データを電子ペーパーに表示する画像データを格納するためのフレームバッファーに書き込む処理を行う描画処理部と、してコンピューターを機能させる。前記表示画像の描画に関するクラス階層の基底クラスのGUI部品には、前記電子ペーパーの残像消去処理が組み込まれており、表示画像の描画処理を行う際に、電子ペーパーの残像消去処理(クリーンアップ処理)を行う。
また、記憶部30は、処理部(CPU)10の作業領域としても用いられ、特に、本実施形態では、記憶領域の一部に、フレームバッファー36が設けられている。
フレームバッファー36は、データファイル34に含まれる画像データやユーザーによる所定の入力操作に応じて作成された画像データ等を格納する記憶領域である。
音出力部60は、スピーカー等の音を出力する装置であり、処理部(CPU)10から入力される信号に基づいて各種の音(音声も含む)を出力する。
通信部70は、処理部(CPU)10の制御により、有線又は無線の通信ネットワークに接続された他の装置とのデータ通信を行うためのものである。
表示部50は、電子ペーパー52を備えて構成される表示装置であり、電子ペーパー52には、フレームバッファー36に格納されている画像データに対応する画像が表示される。電子ペーパー52としては、種々の方式のものを用いることができる。例えば、帯電された粒子を移動させて表示を切り替える電気泳動方式のもの、帯電された粒子を回転させて表示を切り替える粒子回転方式のもの、磁気により粒子を移動させて表示を切り替える磁気泳動方式のもの、小型バッテリ駆動の薄型の液晶やEL素子による表示方式のもの、強誘電液晶に代表されるメモリー性のある液晶による表示方式のものなどを適宜電子ペーパー52として採用することができる。
表示部50は、接触位置検出部54を含んでいてもよい。接触位置検出部54は、電子ペーパー52に対する接触位置を検出し、接触位置の情報を出力するもので、たとえばデジタイザー等で実現することができる。
表示制御部40は、フレームバッファー36に書き込まれた画像データに対応する画像を表示部50の電子ペーパー52に表示させる制御を行う。
処理部(CPU)10は、記憶部30に記憶されている各種のプログラムに従って、各種の計算処理や制御処理を行う。特に、本実施形態では、処理部(CPU)10は、入力操作検出処理部12、アプリケーション処理部14、描画処理部16、画像データ転送処理部18を含む。ただし、本実施形態の処理部(CPU)10は、これらの一部の構成(要素)を省略又は変更したり、他の構成(要素)を追加した構成としてもよい。
入力操作検出処理部12は、操作部20からの操作信号等に基づいてユーザーによる入力操作を検出する処理を行う。また、入力操作検出処理部12は、接触位置検出部54の検出結果に基づいて、電子ペーパー52に対するユーザーの入力操作を検出してもよい。
アプリケーション処理部14は、アプリケーションプログラム32に基づいて動作し、入力操作検出処理部12により検出された入力操作に応じた処理を行う。すなわち、処理部(CPU)10は、アプリケーションプログラム32を実行することで、アプリケーション処理部14として機能する。
描画処理部16は、GUIライブラリー38のGUI部品等のプログラムに基づいて動作し、アプリケーション処理部14等からの描画要求に応じた画像データを生成し、当該画像データをフレームバッファー36に書き込む処理を行う。
アプリケーション処理部14は、アプリケーションプログラム32に基づいて動作し、GUIライブラリー38のGUI部品を用いて電子ペーパー52に表示させる表示画像の描画要求を行い、描画処理部16は、前記GUIライブラリーを構成するGUI部品はオブジェクト指向のクラス階層構造を有しており、アプリケーションプログラム32からの描画要求に応じて、対応するGUI部品及びその基底クラスのGUI部品のプログラムを実行して、描画要求に応じた画像データを生成し、当該画像データを前記フレームバッファーに書き込む処理を行う。GUIライブラリー38の表示画像の描画に関するクラス階層の基底クラスのGUI部品には、前記電子ペーパー52の残像消去処理が組み込まれており、描画処理部16は、表示画像の描画処理を行う際に、電子ペーパー52の残像消去処理(クリーンアップ処理)を行う。
GUIライブラリー38は、あらかじめデータ構造やライブラリー関数が定義されたアプリケーションフレームワークであり、オブジェクト指向のクラス階層構造を有する複数のGUI部品で構成されている。GUIライブラリーは汎用に提供されているライブラリーでもよい。
アプリケーション処理部14は、画像処理装置に実装されるアプリケーションプログラムがCPU等で実行されることにより実現してもよい。また描画処理部16は、GUIライブラリー38のGUI部品やオペレーティングシステム(フレームバッファードライバー等)がCPUに実行されることにより実現してもよい。
アプリケーション処理部14は、GUI部品に対して表示画像の描画位置情報を指定して描画要求を行い、描画処理部16は、描画位置情報に基づき、残像消去処理を行う領域の位置を決定して電子ペーパーの残像消去処理を行ってもよい。
描画処理部16は、表示画像の種類、又は描画内容(接触位置情報)に基づき、残像消去処理を行う領域のサイズを決定して、決定されたサイズの領域について電子ペーパーの残像消去処理を行ってもよい。
表示画像(例えばボタンやダイアログ等、又は手書き入力、又は写真等の表示オブジェクトでもよい)の種類に応じて、描画する表示画像のサイズが決まるので、今回の表示画像及び過去の表示画像の少なくとも1つの表示画像の種類に基づき残像消去処理を行う領域のサイズを決定してもよい。
また表示部に対する落書き入力を描画する場合には、描画内容(接触位置の移動軌跡のサンプル点の座標等)に基づき、落書きを内包する領域(位置とサイズ)を求めて、残像消去処理を行ってもよい。
GUIライブラリー38の表示画像の描画に関するクラス階層の基底クラスのGUI部品は、複数の異なる種類の残像消去処理が組み込まれており、描画処理部16は、派生クラスで実行するGUI部品の種類又は描画する画像の種類に応じて、残像消去処理の種類を決定して、決定された種類の残像消去処理を行ってもよい。
前記GUIライブラリー38は、前記基底クラスのGUI部品の残像処理の種類の選択アルゴリズムを変更するカスタマイズ用GUI部品を含み、アプリケーション処理部14は、前記カスタマイズ用GUI部品を用いて、基底クラスのGUI部品の残像処理の種類の選択アルゴリズムを所与の内容に変更するための変更要求を行い、描画処理部16は、前記カスタマイズ用GUI部品が、前記変更要求に応じて、基底クラスのGUI部品の残像処理の種類の選択アルゴリズムを所与の内容に変更してもよい。
GUI部品の残像処理の種類の選択アルゴリズムは、例えばメソットとして記述されていてもよい。例えば基底クラスのGUI部品では、デフォルトの残像消去処理が第1の種別の残像消去処理である場合に、アプリケーションプログラムは前記カスタマイズ用GUI部品に呼び出して、デフォルトの残像消去処理を第2の種別に変更することを要求する変更要求を行うことができる。この様にすると、前記カスタマイズ用GUI部品が、前記変更要求に応じて、基底クラスのGUI部品のデフォルトの残像消去処理を第2の種別に変更するので、その後は、デフォルトの残像消去処理は第2の種別となる。
なお、アプリケーションプログラム32やデータファイル34やGUIライブラリー38は、最初から記憶部30に記憶されていてもよいが、処理部(CPU)10が、コンピューター読み取り可能な情報記憶媒体に記憶されているアプリケーションプログラム32やデータファイル34やGUIライブラリー38を読み出して、記憶部30にダウンロードしてもよい。コンピューター読み取り可能な情報記憶媒体とは、例えば、光ディスク(コンパクトディスク(CD)、デジタルバーサタイルディスク(DVD)、ブルーレイディスク(BD)、レーザーディスク(LD)等)、光磁気ディスク(MO)、磁気ディスク(ハードディスクドライブ(HDD)、フロッピー弟子空く(FD)等)、磁気テープ(デジタルデータストレージ(DDS)等)、メモリー(フラッシュメモリー、メモリーカード、USBメモリー等)等である。
あるいは、処理部(CPU)10が、通信部70を介して、パーソナルコンピューター(サーバー)等の装置に記憶されているアプリケーションプログラム32やデータファイル34やGUIライブラリー38を受信して記憶部30にダウンロードしてもよい。
1−2.電子ペーパーの残像消去処理
図2は、電子ペーパーの残像消去処理について説明するための図である。
電子ペーパーに表示されている第1の画像560を第2の画像562で更新すると第1の画像(前の画像)560の裏移りと黒滲みの残る画像564になるので、フレームバッファードライバーに対してCleanupコマンド(電子ペーパーの残像消去処理を行うコマンド)570を発行して電子ペーパーの残像消去処理572を行う必要がある。
電子ペーパーの残像消去処理572は、例えばEPDコントローラー(電子ペーパー制御用のコントローラー)がEPDパネル(電子ペーパーの一例)を全黒→全白→全黒にする制御を行うことで、電子ペーパーの画面が全黒→全白→全黒になってフラッシュする。これにより電子ペーパーには前の画像の裏移りと黒滲みが消えた第2の画像566が表示される。
1−3.GUIライブラリーを用いた表示制御
本実施の形態のアプリケーションは、電子ペーパーに表示を行う処理を記述する際に、汎用のGUIライブラリー(あらかじめデータ構造やライブラリー関数が定義されたアプリケーションフレームワーク)のGUI部品(データ構造やライブラリー関数(描画関数等))、を用いて表示画像の描画要求を行う。
図3は汎用のGUIライブラリーのGUI部品のクラス構造例を示す図である。
GUIライブラリー400を構成するGUI部品420、430,432,434、440等は、オブジェクト指向のクラス階層構造を有している。オブジェクト指向言語(例えばC++)の派生・継承を使用したクラス階層は、より基本的な機能のクラスからより複雑な機能を段階的に派生させている。例えばGUI部品420は、表示画像の描画に関するクラス階層410の基底クラスになる。GUI部品430、440等はGUI部品420の派生クラスである。GUI部品432、434等はGUI部品430の派生クラスである。なお基底クラス−派生クラスは、スーパークラス−サブクラス、親クラス−子クラスと呼ばれることもあるが、同義である。
図4は、表示画像の描画に関するクラス階層例(簡易化した例)を示す図である。
すべてのオブジェクトの基底クラス(GUI部品402)の派生クラスとして、すべての表示画像の基底クラス(図3の表示画像の描画に関するクラス階層410の基底クラスのGUI部品420)がある。そしてすべてのボタンオブジェクトの基底クラス(GUI部品430)の派生クラスとして、プッシュボタンのクラス(GUI部品432)、ラジオボタンのクラス(GUI部品434)、その他のボタンのクラスがある。例えばプッシュボタンのクラスのGUI部品432では、プッシュボタン特有の画像描画処理がメソッドとして定義され、すべてのボタンオブジェクトの基底クラスのGUI部品430では、すべてのボタンオブジェクトに共通な画像描画処理がメソッドとして定義され、表示オブジェクトの基底クラスのGUI部品420において、すべての表示オブジェクトに共通な画像描画処理及びCleanup処理がメソッドとして定義されている。
本実施の形態では、GUIライブラリー400のすべてのクラス階層の中で、表示オブジェクトの描画に関するクラス階層410の中の基底クラス(表示に関するクラス階層の中の基底クラスと言い換えてもよい)、つまり表示機能に関しての最も基本的な表示処理の中に残像消去のCleanup処理を埋め込むこと(メソッドとして規定すること)により、そこから派生する上位のすべてのGUI部品430,432,434、436等において、自動的に残像消去が行われることになる。
すなわちアプリケーションプログラムからの描画要求(描画の指示+描画対象の矩形情報)452は、表示のクラス階層の継承・派生の関係を逆方向に下り、各階層のクラスは、そのクラス特有の描画処理を行い、より基本的な処理については下位の基底クラスに描画を任す。例えばプッシュボタンのクラスのGUI部品では、プッシュボタン特有の画像描画処理が行われ、すべてのボタンオブジェクトの基底クラスのGUI部品では、すべてのボタンオブジェクトに共通な画像描画処理が行われ、表示に関係するクラスの基底クラスのGUI部品420において、すべての表示オブジェクトに共通な画像描画処理が行われ、最終的に対象矩形についての残像消去のためのCleanupが実行される。
1−4.ハードウェア/ソフトウェア階層
図5は、本実施形態におけるハードウェア/ソフトウェア階層におけるデータの流れを示す図である。
本実施形態では、CPU110が実行するソフトウェアは、最下層から順にオペレーティングシステム131、グラフィックシステム132(GUIライブラリーを含む)、グラフィック表示アプリケーション133(アプリケーションの一例)の順に階層化されている。ハードウェアとのインターフェースはオペレーティングシステム131が行う。グラフィックシステム132は、オペレーティングシステム131とグラフィックアプリケーション133の間のデータの受け渡しを仲介する。
ユーザーがEPDパネル(電子ペーパーの一例)152に対して操作入力を行うと、デジタイザー154が接触位置のxy座標を検出し、オペレーティングシステム131のデジタイザードライバー131aに当該xy座標を送る。
デジタイザードライバー131aは、接触位置のxy座標を受け取り、操作入力を解析し、グラフィックシステム132に操作入力情報とxy座標を送る。
グラフィックシステム132は、操作入力情報とxy座標を受け取り、描画イベントを発生させ、グラフィック表示アプリケーション133に描画イベントとxy座標を送る。
グラフィック表示アプリケーション133は、描画イベントとxy座標を受け取り、アプリケーション固有の描画処理を行う。グラフィック表示アプリケーション133は、例えば受けとった描画イベントとxy座標等に基づき、グラフィックシステム132が用意しているGUI部品(描画関数等)を呼び出すことで、グラフィックシステム132に対して表示画像の描画を要求する。
グラフィックシステム132は、この描画要求に応じて、表示用上位クラス132aのGUI部品、表示用中クラス132bのGUI部品、表示用基底クラス132cのGUI部品等を実行して画像データを作成し、オペレーティングシステム131のフレームバッファードライバー131bを介して、フレームバッファー135に描画する。この後Cleanup実行指示をフレームバッファードライバー131bを介してフレームバッファー135に指示する。
フレームバッファー135に描画された画像データはEPDコントローラー140に順番に送られ、EPDコントローラー140の制御により、各直線の画像が順次EPDパネル152に表示される。
またフレームバッファー135に指示されたCleanup実行指示はEPDコントローラー140に送られ、EPDコントローラー140の制御により、EPDパネル152を例えば全黒→全白→全黒にフラッシュさせる。
なお、オペレーティングシステム131(特に、デジタイザードライバー131a)は、図1の入力操作検出処理部12に相当する。また、グラフィック表示アプリケーション133は、図1のアプリケーション処理部14に相当する。また、グラフィックシステム132及びオペレーティングシステム131は、図1の描画処理部16に相当する。また、EPDコントローラー146は、図1の表示制御部40に相当する。
1−5.Cleanupが行われる領域のサイズ決定
本実施の形態では、電子ペーパーの表示領域(画面)全体の残像消去を行っても良いし、表示領域(画面)の一部の領域の残像消去を行ってもよい。例えば画面全体に新たな画像を表示させる場合には、電子ペーパーの表示領域(画面)の残像消去を行っても良い。また例えば表示領域(画面)の一部に表示画像(例えばボタンやダイアログ等の表示オブジェクト)を表示させる場合には、電子ペーパーの表示領域(画面)の一部の残像消去を行っても良い。
図6は、ボタンオブジェクトを表示する場合の残像消去領域について説明するための図である。
例えばアプリケーションで、プッシュボタン(表示画像の一例)を表示させる処理を行う場合には、ブッシュボタン表示用のGUI部品(図4の432)に対してプッシュボタンの描画位置情報を指定して描画要求を行う。描画位置情報は図4の「描画指示+矩形情報」452の矩形情報の一例であり、図6の場合には、ブッシュボタンオブジェクト620の代表点610(右上)の座標情報である。
アプリケーションプログラムからの描画要求(プッシュボタンオブジェクトの描画の指示+描画対象のプッシュボタンオブジェクトの座標情報(矩形情報の一例))452は、表示のクラス階層の継承・派生の関係を逆方向に下り、表示に関係するクラスの基底クラスのGUI部品(図4の420)において、描画要求(プッシュボタンオブジェクトの描画の指示+描画対象のプッシュボタンオブジェクトの座標情報452)が渡され、すべての表示オブジェクトに共通な画像描画処理が行われ、最終的に今回及び過去の座標情報の少なくとも一方に基づいてCleanupが行われる領域となる対象矩形の位置及びサイズが決定され、残像消去のためのCleanupが実行される。
Cleanupが行われる領域となる対象矩形630の代表点610の位置はプッシュボタンオブジェクトの代表点、又はその前に表示されていたオブジェクトの代表点に基づき決定してもよい。またCleanupが行われる領域となる対象矩形630の縦のサイズl1、横のサイズl2は、プッシュボタンオブジェクト及びその前に表示されていたオブジェクトの少なくとも一方の縦のサイズ、横のサイズに基づき決定してもよい。すなわち今回の表示画像の描画領域と前回の表示画像の描画領域の重複領域、又は少なくとも一方に係る領域にCleanupを行うようにしてもよい。
Cleanupが行われる領域となる対象矩形630は、プッシュボタンオブジェクト620又はその前に表示されていたオブジェクトを内包する矩形630’(プッシュボタンオブジェクト620又はその前に表示されていたオブジェクトの外側にオフセット領域を含めた領域)でもよい。プッシュボタンオブジェクトやその前に表示されていたオブジェクトの幅、高さは、GUI部品(例えばブッシュボタン表示用のGUI部品等)で管理しているので、その情報を用いてもよい。
この様にすると、アプリケーションで意識しなくても、画面上の任意の位置にボタン等の表示画像を配置した場合に、必要な大きさの領域に電子ペーパーの残像消去処理(Cleanup)を行うことができる。
図7は、「落書き」を表示する場合の残像消去領域について説明するための図である。
「落書き」とは、ユーザーが画面上の接触位置を移動させることにより文字や図形等の線を入力する入力形式である。「落書き」を表示する場合には、アプリケーションはグラフィックシステムからデジタイザーが検出した接触位置情報を受け取るので、落書き描画用のGUI部品に対してデジタイザーが検出した接触位置情報(例えば接触位置の移動軌跡のサンプル点p1〜p4の座標、図4の「描画指示+矩形情報」452の矩形情報の一例である)を指定して描画要求を行う。
アプリケーションプログラムからの描画要求(「落書き」の描画の指示+接触位置情報(矩形情報の一例))452は、表示のクラス階層の継承・派生の関係を逆方向に下り、表示に関係するクラスの基底クラスのGUI部品(図4の420)において、すべての表示オブジェクトに共通な画像描画処理が行われ、最終的に接触位置情報(サンプル点p1〜p4の座標)に基づいて設定される対象矩形についての残像消去のためのCleanupが実行される。Cleanupが行われる領域となる対象矩形は、サンプル点p1〜p4の座標を内包する外縁矩形640を求めて、当該外縁矩形640に基づき決定してもよい。対象矩形は外縁矩形640と同じサイズでもよいし、外縁矩形640を内包する矩形640’(外縁矩形640の外側にオフセット領域を含めた領域)でもよい。
この様にすると、アプリケーションで意識しなくても、画面上の任意になされた落書きに対して必要な大きさの領域に電子ペーパーの残像消去処理(Cleanup)を行うことができる。
1−6.残像消去用Cleanupの種類の変更
図8は、残像消去用Cleanupの種類と特徴について説明するための図である。
Cleanup処理の実行内容は複数あり、それぞれ長所、短所があるので、表示する画像の内容により切り替えることが好ましい。
710に示すように、Cleanupの種別0はEPDパネルを一度全白にすることで残像を消去する(現在画像→全白→現在画像)ものである。高速でちらつきが少ない(長所)が、残像を完全には除去できない(短所)。連続ページ送り時などの一時的な残像消去や、ボタン上の表示画像が少ないまたは単純な残像消去に用いる(用途)。
720に示すように、Cleanupの種別1はEPDパネルの現在画像の白部分のみ黒に反転させた後の全白で残像を消去する(現在画像→白のみ黒に反転→全白→現在画像)。種別0と種別2の間の処理速度で、一般的な画像の残像消去には効く(長所)が、種別0よりは遅く、種別2ほど綺麗にはならない(短所)。やや複雑な画像表示を載せたボタンなどの表示部品の残像消去に用いる(用途)。
730に示すように、Cleanupの種別2は、EPDパネルを一度全白・全黒・全白にすることで完全な残像消去を行う(現在画像→全白→全黒→全白→現在画像)。いかなる画像・残像も完全に消去できる(長所)が、処理速度が遅く、画面のちらつきが目立つ(短所)。連続ページ送りの最終ページの残像消去、一定時間の残像消去を省略した後の残像消去、複雑な表示部品の表示時の残像消去、写真系画像を表示した際の残像消去、残像消去の専用ボタンによる手動による残像消去などの場合に用いる(用途)。
740に示すように、Cleanupの種別3は、EPDパネルを原画像の白黒反転のみで残像を消去する(現在画像→白黒反転→現在画像)。高速でちらつきが少ない(長所)が、写真系の画像には残像消去が効かない(短所)。写真系の画像が載っていない一般的なボタンなどの表示部品の残像消去、写真系以外のテキスト/図中心のページ表示に用いる(用途)。
前記基底クラスのGUI部品は、上記のCleanupの種別0からCleanupの種別3のような複数の異なる種類の電子ペーパーの残像消去処理が組み込まれており、派生クラスで実行するGUI部品の種類、描画する画像の種類に応じて、残像消去処理の種類を決定して、決定された種類の残像消去処理を行ってもよい。
基底クラスに埋め込まれるCleanup処理は、上位クラスからの情報により、表示対象の矩形情報以外に、Cleanupが実行されている状況・文脈の情報を得ることができるため、表示画像に応じて同図に示すようなCleanupの種類に応じた特徴を活かした処理を行うことができる。例えばPDF画像を表示する場合には、画像情報に含まれる付帯情報に画像の種類等の情報が含まれているので、これを用いてCleanupの種別を決定してもよい。
この様にすると、アプリケーション側で描画要求を行う際には、Cleanupの種別について何も指定しなくても、画像の種類に応じた種別のCleanupを行うことができる。
1−7.アプリケーションから残像消去の種類のカスタマイズ
本実施の形態ではアプリケーションプログラムは、残像消去の種類を意識しなくても、基底クラスのGUI部品に組み込まれた残像消去処理が画像の種類に応じた種別のCleanupを行うことができるが、アプリケーション側で、基底クラスの残像消去処理の内容をカスタマイズできるようにしてもよい。
前記GUIライブラリーに、前記基底クラスのGUI部品の残像処理の種類の選択アルゴリズム(メソット)を変更するカスタマイズ用GUI部品をもたせ、アプリケーションプログラムで、前記カスタマイズ用GUI部品に呼び出して、基底クラスのGUI部品の残像処理の種類の選択アルゴリズム(メソット)を所与の内容に変更するための変更要求を行うようにしてもよい。そして変更要求があると、カスタマイズ用GUI部品が、前記変更要求に応じて、基底クラスのGUI部品の残像処理の種類の選択アルゴリズム(メソット)を所与の内容に変更するようにしてもよい。
例えば基底クラスのGUI部品では、デフォルトの残像処理が第1の種別の残像消去処理である場合に、アプリケーションプログラムは前記カスタマイズ用GUI部品に呼び出して、デフォルトの残像処理を第2の種別に変更することを要求する変更要求を行うことができる。この様にすると、前記カスタマイズ用GUI部品が、前記変更要求に応じて、基底クラスのGUI部品のデフォルトの残像処理を第2の種別に変更するので、その後は、デフォルトの残層処理は第2の種別となる。
1−8.残像消去用Cleanup処理シーケンス例
図9は、比較例の残像消去用Cleanup処理シーケンス例を示す図である。
比較例は、アプリケーションが直接残像消去用のCleanupコマンドを発行する場合のアプリケーションの処理シーケンスの例を示す。ここではフレームバッファーにおける表示データの転送とEPDコントローラーにおけるCleanup実行を重複・並列させることで全体の実行時間を短縮させるため、Cleanup実行が前半と後半の2つに分離されているやや複雑な処理シーケンス例について説明する。
残像消去用のCleanupコマンドを発行する場合には、EPDパネルに対する表示反映(フレームバッファーの内容をEPDパネルに反映させること)を止めたほうがよいので、アプリケーションは、表示停止のためのSuspendコマンドをフレームバッファードライバーに送信する(a1)。これを受けたフレームバッファードライバーは「表示反映停止」指示をEPDコントローラーに送信する(b1)。次にアプリケーションは、残像消去用のCleanupコマンド(前半)をフレームバッファードライバーに送信する(a2)。これを受けたフレームバッファードライバーは「Cleanup実行(後半)」指示をEPDコントローラーに送信する(b2)。次にアプリケーションは、画面表示用データをフレームバッファードライバーに送信する(a3)。これを受けたフレームバッファードライバーは表示反映を再開し(b3−1)、画面表示用データをEPDコントローラーに送信する(b3−2)。
Cleanup処理を前半と後半に分けると、610に示すように、Cleanupの実行とフレームバッファーによる画面表示用データの転送を重複させることによる全体の時間短縮を行うことができる。
次にアプリケーションは、残像消去用のCleanupコマンド(後半)をフレームバッファードライバーに送信する(a4)。ここで620に示す実行遅延のあと、フレームバッファードライバーは「Cleanup実行(後半)」指示をEPDコントローラーに送信する(b4)。
そしてアプリケーションは630に示すように意図的な時間待ちを行い、そのあと表示再開のためのResumeコマンドをフレームバッファードライバーに送信する(a5)。これを受けたフレームバッファードライバーは表示反映を再開する(b5)。
アプリケーションが直接残像消去用のCleanupコマンドを発行する場合には、このように、表示のたびに、上記のような複雑なCleanup処理(a1からa5)を強いられる。
図10は、本実施の形態の残像消去用Cleanup処理シーケンス例を示す図である。
本実施の形態では、アプリケーションは残像消去処理の指示は行わず、GUIライブラリーの上位のクラスのGUI部品(派生クラスのGUI部品)に描画要求を行うだけである。
アプリケーションが、派生クラスのGUI部品に描画要求を行うと(a1)、当該描画要求は、表示のクラス階層の継承・派生の関係を逆方向に下り、基底クラスに描描画要求が送信される(c1)。
描画要求を受けた基底クラスのGUI部品は、表示停止のためのSuspendコマンドをフレームバッファードライバーに送信する(d1)。これを受けたフレームバッファードライバーは「表示反映停止」指示をEPDコントローラーに送信する(b1)。次に基底クラスのGUI部品は、残像消去用のCleanupコマンド(前半)をフレームバッファードライバーに送信する(d2)。これを受けたフレームバッファードライバーは「Cleanup実行(後半)」指示をEPDコントローラーに送信する(b2)。次に基底クラスのGUI部品は、画面表示用データをフレームバッファードライバーに送信する(d3)。これを受けたフレームバッファードライバーは表示反映を再開し(b3−1)、画面表示用データをEPDコントローラーに送信する(b3−2)。
次に基底クラスのGUI部品は、残像消去用のCleanupコマンド(後半)をフレームバッファードライバーに送信する(d4)。ここで620に示す実行遅延のあと、フレームバッファードライバーは「Cleanup実行(後半)」指示をEPDコントローラーに送信する(b4)。
そしてアプリケーションは630に示すように意図的な時間待ちを行い、そのあと表示再開のためのResumeコマンドをフレームバッファードライバーに送信する(d5)。これを受けたフレームバッファードライバーは表示反映を再開する(b5)。
本実施の形態では、アプリケーションは表示画像の描画要求(a1)を行うと、表示のたびに行われる複雑なCleanup処理(d1からd5)を表示画像の描画に関するクラス階層の基底クラスのGUI部品が行う。従ってアプリケーションは、Cleanup処理から解放され、アプリ自身の処理のみに専念することが可能になる。これにより、パソコンなどの非電子ペーパー系のハードウェア上で動作しているアプリケーションの電子ペーパー端末への移植が容易になる。
2.電子書籍端末
2−1.電子書籍端末の構成
図11は、本実施形態の画層処理装置の一例である電子書籍端末の外観図であり、図12は、本実施形態の電子書籍端末内部のハードウェア構成例を示す図である。
図12に示すように、本実施形態の電子書籍端末100は、CPU110、入力ボタン120、内部メモリー130、EPDコントローラー140、ディスプレイ150、スピーカー160、USBインターフェース170等の構成要素を含んで構成されており、これらの構成要素は、バス180を介して、各種データの受け渡しができるようになっている。本実施形態の電子書籍端末100は、図12の構成要素(各部)の一部を省略又は変更したり、他の構成要素を付加した構成としてもよい。
入力ボタン120は、ユーザーによる入力操作に用いられ、各種のハードボタン120aや各種のソフトボタン120b等(図11参照)により構成される。なお、入力ボタン120は、図1の操作部20に相当する。
内部メモリー130は、CPU110が各種の計算処理や制御処理を行うためのプログラムやデータ等を記憶している。内部メモリー130には、ファイル操作等の基本処理やハードウェアとのインターフェース処理などを行うオペレーティングシステム131と、描画用のデータ構造(クラス)や種々のライブラリー関数を有し汎用的な描画処理を行うグラフィックシステム132がインストールされている。グラフィックシステム132が組み込まれていることで、描画を伴う種々のアプリケーションを、各種のデータ構造(クラス)やライブラリー関数を利用して開発することができるので、開発コストやバグの混入を低減させることができる等の利点がある。
また、内部メモリー130は、ディスプレイ150に表示されたページに対してペン入力により手書きの文字や図形等を書き込む(追加する)ための手書きアプリケーション133が記憶されている。この手書きアプリケーション133は最初からインストールされていてもよいし、例えば、USBインターフェース170を介して、パーソナルコンピューター等からインストールしてもよい。
また、内部メモリー130は、電子書籍(コンテンツ)の各ページの画像データ等が格納されたコンテンツファイル134が記憶されている。このコンテンツファイル134は、最初から内部メモリー130に保存されていてもよいし、例えば、USBインターフェース170を介して、パーソナルコンピューターやUSBメモリー等からダウンロードしてもよい。
内部メモリー130は、CPU110の作業領域も含み、特に、本実施形態では、記憶領域の一部に、コンテンツファイル134に含まれる画像データやユーザーによる所定の入力操作に応じて作成された画像データ等を格納するフレームバッファー135、及び、フレームバッファー135への画像データの書き込み処理を高速化するためのキャッシュ情報を記憶するキャッシュ136が設けられている。
一般に、内部メモリー130は、用途毎に最適な、物理的に分離された複数のメモリーにより構成される。なお、内部メモリー130は、図1の記憶部30に相当する。また、手書きアプリケーション133とコンテンツファイル134は、それぞれ、図1のアプリケーションプログラム32とデータファイル34に相当する。また、フレームバッファー135は、それぞれ、図1のフレームバッファー36に相当する。
スピーカー160は、CPU110の制御により、各種の音や音声を出力する。なお、スピーカー160は、図1の音出力部60に相当する。
USBインターフェース170は、USBケーブルやUSBメモリー等が接続され、CPU110の制御により、パーソナルコンピューターやUSBメモリー等とデータ通信を行う。なお、USBインターフェース170は、図1の通信部70に相当する。
ディスプレイ150は、EPDパネル152を備え、EPDパネル152の表面には、フレームバッファー135に格納されている画像データに対応する画像が表示される。
図13は、ディスプレイ150の構成例を示す図である。図13の例は、アクティブマトリックス方式の電気泳動表示装置(EPD:Electrophoretic Display)である。なお、図13においてデジタイザー154は図示を省略している。
図13に示すように、ディスプレイ150は、EPDパネル152、走査線駆動回路221、データ線駆動回路222、共通電源変調回路224を含む。
走査線駆動回路221、データ線駆動回路222、共通電源変調回路224は、それぞれEPDコントローラー140(図13では不図示)と接続されている。
EPDパネル152には、走査線駆動回路221から延びる複数の走査線226と、データ線駆動回路222から延びる複数のデータ線228とが形成されており、これらの交差位置に対応して複数の画素200が設けられている。
走査線駆動回路221は、j本の走査線226(Y1、Y2、・・・、Yj)により各画素200に接続されている。走査線駆動回路221は、EPDコントローラー140の制御に従って1行目からj行目までの走査線226を順次選択することで、画素200に設けられた駆動用TFT(Thin
Film Transistor)208(図14参照)のオンタイミングを規定する選択信号を供給する。
データ線駆動回路222は、k本のデータ線228(X1、X2、・・・、Xk)により各画素200に接続されている。データ線駆動回路222は、転送データに基づくEPDコントローラー140の制御に従って、画素200の各々に1ビットの画像信号を供給する。なお、本実施形態では、画素データ「0」を規定する場合には、ローレベルの画像信号を画素200に供給し、画素データ「1」を規定する場合には、ハイレベルの画像信号を画素200に供給するものとする。
EPDパネル152には、また、共通電源変調回路224から延びる低電位電源線209(Vss)、高電位電源線210(Vdd)、共通電極配線215(Vcom)、第1のパルス信号線251(S1)、第2のパルス信号線252(S2)が設けられており、それぞれの配線は画素200と接続されている。共通電源変調回路224は、EPDコントローラー140の制御に従って上記配線のそれぞれに供給する各種信号を生成する一方、これら各配線の電気的な接続及び切断(ハイインピーダンス化、Hi−Z)を行う。
図14は、図13の画素200の回路構成図である。図14において、図13と同じ配線には同じ番号を付しており、説明は省略する。また、図14において、全画素に共通の共通電極配線215は図示を省略している。
図14に示すように、画素200には、駆動用TFT208、ラッチ回路230、スイッチ回路240が設けられている。画素200は、ラッチ回路230により画像信号を電位として保持するSRAM(Static Random Access Memory)方式の構成をとる。
駆動用TFT208は、N−MOSトランジスターからなる画素スイッチング素子である。駆動用TFT208のゲート端子は走査線226に接続され、ソース端子はデータ線228に接続され、ドレイン端子はラッチ回路230のデータ入力端子に接続されている。ラッチ回路230は転送インバーター230tと帰還インバーター230fとを備えている。インバーター230t、230fには、低電位電源線209(Vss)と高電位電源線210(Vdd)から電源電圧が供給される。
スイッチ回路240は、トランスミッションゲートTG1、TG2からなり、ラッチ回路230に記憶された画素データのレベルに応じて、画素電極195(図15(B)、図15(C)参照)に信号を出力する。なお、Vaは、1つの画素200の画素電極へ印加する電位を意味する。
ラッチ回路230に画素データ「1」(ハイレベルの画像信号)が記憶されて、トランスミッションゲートTG1がオン状態となると、スイッチ回路240はVaとしてパルス信号(駆動パルス)S1を供給する。一方、ラッチ回路230に画素データ「0」(ローレベルの画像信号)が記憶されて、トランスミッションゲートTG2がオン状態となると、スイッチ回路240はVaとしてパルス信号(駆動パルス)S2を供給する。このような回路構成により、制御部によって、それぞれの画素200の画素電極に対して印加する電位を制御することが可能である。
本実施形態のEPDパネル152は、例えば、二粒子系マイクロカプセル型の電気泳動方式のEPDパネルであってもよい。分散液は無色透明、電気泳動粒子は白色又は黒色のものであるとすると、白色又は黒色の2色を基本色として少なくとも2色を表示できる。
図15(A)は、電気泳動素子262の構成例を示す図である。電気泳動素子272は素子基板270と対向基板271(図15(B)、図15(C)参照)との間に挟まれている。電気泳動素子272は、複数のマイクロカプセル260を配列して構成される。マイクロカプセル260は、例えば無色透明な分散液と、複数の白色粒子(電気泳動粒子)267と、複数の黒色粒子(電気泳動粒子)266とを封入している。本実施形態では、例えば白色粒子267は負に帯電しており、黒色粒子266は正に帯電しているとする。
図15(B)は、EPDパネル152の部分断面図である。素子基板270と対向基板271は、マイクロカプセル260を配列してなる電気泳動素子272を狭持している。EPDパネル152は、素子基板270の電気泳動素子272側に、複数の画素電極195が形成された駆動電極層280を含む。図15(B)では、画素電極195として画素電極195Aと画素電極195Bが示されている。画素電極195により、画素ごとに電位を供給することが可能である(例えば、Va、Vb)。ここで、画素電極195Aを有する画素を画素200Aとし、画素電極195Bを有する画素を画素200Bとする。画素200A、画素200Bは画素200(図13、図14参照)に対応する2つの画素である。
一方、対向基板271は透明基板であり、表示部において対向基板271側に画像表示がなされる。EPDパネル152は、対向基板271の電気泳動素子272側に、平面形状の共通電極197が形成された共通電極層282を含む。なお、共通電極197は透明電極である。共通電極197は、画素電極195と異なり全画素に共通の電極であり、電位Vcomが印加される。
共通電極層282と駆動電極層280との間に設けられた電気泳動表示層290に電気泳動素子272が配置されており、電気泳動表示層290が表示領域となる。共通電極197と画素電極(例えば、195A、195B)との間の電位差に応じて、画素毎に所望の表示色を表示させることができる。
図15(B)では、共通電極側電位Vcomが画素200Aの画素電極の電位Vaよりも高電位である。このとき、負に帯電した白色粒子267が共通電極197側に引き寄せられ、正に帯電した黒色粒子266が画素電極195A側に引き寄せられるため、画素200Aは白色を表示していると視認される。
図15(C)では、共通電極側電位Vcomが画素200Aの画素電極の電位Vaよりも低電位である。このときは逆に、正に帯電した黒色粒子266が共通電極197側に引き寄せられ、負に帯電した白色粒子267が画素電極195A側に引き寄せられるため、画素200Aは黒色を表示していると視認される。なお、図15(C)の構成は図15(B)と同様であり説明は省略する。また、図15(B)、図15(C)ではVa、Vb、Vcomを固定された電位として説明したが、実際にはVa、Vb、Vcomは時間とともに電位が変化する。
ここで、図15(B)、図15(C)の画素200Aの例では、それぞれ、白色粒子267、黒色粒子266が全て共通電極197側に引き寄せられている状態(いわゆる飽和状態)を表している。しかし、飽和状態にして基本色(白色、黒色)を表示するだけでなく、例えば反対方向の電界を適当な時間だけ印加することで中間色(ライトグレー、ダークグレー)を表示することも可能である。
図12に戻り、ディスプレイ150は、さらにデジタイザー154を備えている。デジタイザー154は、EPDパネル152の裏面に対向して設けられ、入力用のタッチペン(以下、単に「ペン」という)やユーザーの指等がEPDパネル152に接触した位置を検出し、接触位置の情報を出力する。例えば、ユーザーがペンを用いて文字や図形等を入力する操作や、指をスライドさせてページ送りやページ戻し、ページの拡大や縮小等のページ操作を行った場合、デジタイザー154は、これらの操作が行われた際の接触位置の情報を出力する。
なお、ディスプレイ150は、図1の表示部50に相当する。また、EPDパネル152とデジタイザー154は、それぞれ、図1の電子ペーパー52と接触位置検出部54に相当する。
EPDコントローラー140は、フレームバッファー135に書き込まれた画像データに対応する画像をディスプレイ150のEPDパネル152に表示させる制御を行う。EPDコントローラー140には、EPDパネル152に表示させた画像に対応する画像データの履歴を管理するためのメモリーパイプライン142が設けられている。このメモリーパイプライン142は、EPDパネル152に表示させた画像に対応する画像データ(フレームバッファー135に書き込まれた画像データ)の履歴情報を時系列に保持する。EPDコントローラー140は、次に表示する画像の特性情報(各画素の色や明るさ等)とメモリーパイプライン142に保持されている履歴情報に基づき、EPDパネル152の表示特性を考慮した最適な回数や間隔で駆動パルスを発生させ、次の画像をEPDパネル152に表示させる制御を行う。
なお、EPDコントローラー140は、図1の表示制御部40に相当する。
CPU110は、オペレーティングシステム131、グラフィックシステム132、手書きアプリケーション133の各種処理を行う。特に、本実施形態では、CPU110は、入力ボタン120やEPDパネル152に対して所定の入力操作が行われた場合、当該入力操作に応じた操作信号(ページ送りやページ戻し等の操作信号)や、デジタイザー154から接触位置(ペン入力位置や指の接触位置等)の情報を受け取り、EPDパネル152に表示する少なくとも一部の画像の描画処理を高速に行う。なお、CPU110は、図1の処理部(CPU)10に相当する。
3.その他の画像処理装置
図16(A)及び図16(B)に、電子書籍端末100以外の本実施形態の画像処理装置1の例を示す。
図16(A)は、スマートフォン500の外観図である。スマートフォン500は、ケース502を備える。ケース502の前面には、3つの操作ボタン511,512,513が設けられている。また、ケース502の前面には、EPDパネル等の電子ペーパーを備えた表示部504が設けられ、電子ペーパーの表面に各種の情報(画像)が表示される。不図示のペンや操作ボタン511,512,513等による所定の操作に応じて、内蔵されたCPU(アプリケーション)からフレームバッファーへの直接描画処理が行われ、表示部504の電子ペーパーの表面に、各操作に応じた画像が高速表示される。
図16(B)は、腕時計600の外観図である。腕時計600は、ケース602と、ケース602に連結された一対のバンド603とを備える。ケース602の側面には、2つの操作ボタン611,61が設けられている。また、ケース602の前面には、EPDパネル等の電子ペーパーを備えた表示部604が設けられ、電子ペーパーの表面に時刻の他、各種の情報(画像)が表示される。不図示のペンや操作ボタン611,612等による所定の操作に応じて、内蔵されたCPU(アプリケーション)からフレームバッファーへの直接描画処理が行われ、表示部604の電子ペーパーの表面に、各操作に応じた画像が高速表示される。
なお、本実施形態の画像処理装置1としては、この他にも、例えば、電子看板(デジタルサイネージ)、パーソナルコンピューター、携帯電話機、ディジタルスチールカメラ、テレビ、ビデオカメラ、ビデオテープレコーダー、カーナビゲーション装置、電子手帳、電子ゲーム機器等が挙げられる。
4.画像処理装置の製造方法
図17は、本実施の形態の画像処理装置の製造方法を示すフローチャートである。
まず、オブジェクト指向のクラス階層構造を有するGUI部品からなるGUIライブラリーの、表示画像の描画に関するクラス階層の基底クラスのGUI部品に、電子ペーパーの残像消去処理を組み込む修正を行う(ステップS10)。次にGUIライブラリーを使用してEPDの表示制御を行うアプリケーションを作成する(ステップS20)。そして、修正したGUIライブラリー及び作成したアプリケーションを電子ペーパー有する機器に実装する(ステップS30)。
本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
本発明は、実施の形態で説明した構成と実質的に同一の構成(例えば、機能、方法及び結果が同一の構成、あるいは目的及び効果が同一の構成)を含む。また、本発明は、実施の形態で説明した構成の本質的でない部分を置き換えた構成を含む。また、本発明は、実施の形態で説明した構成と同一の作用効果を奏する構成又は同一の目的を達成することができる構成を含む。また、本発明は、実施の形態で説明した構成に公知技術を付加した構成を含む。