(57)【特許請求の範囲】
【請求項１】
画像を表示するように構成された装置であって、
（ａ）  複数の画像を記憶するように構成された記憶部と、
（ｂ）  前記記憶部から第１の画像を記憶するように構成された複数のメモリロケーションを備える第１のバッファと、
（ｃ）  前記記憶部から第２の画像を記憶するように構成された複数のメモリロケーションを備える第２のバッファと、
（ｄ）  前記第１のバッファ及び前記第２のバッファに結合されたディスプレイコントローラと、
をそれぞれ具備し、
前記第１のバッファのメモリロケーションは、共有メモリ空間において前記第２のバッファのメモリロケーションとインターリーブされ、
前記ディスプレイコントローラは、前記第１のバッファからの前記第１の画像の一部、及び、前記第２のバッファからの前記第２の画像の一部をそれぞれ取り出すように構成されると共に、前記取り出した画像部分をディスプレイに送出するように構成されていること、
を特徴とする装置。
【請求項２】
画像を表示するように構成された装置であって、
（ａ）  複数の画像を記憶するように構成された記憶部と、
（ｂ）  前記記憶部から第１の画像を記憶するように構成された複数のメモリロケーションを備える第１のバッファと、
（ｃ）  前記記憶部から第２の画像を記憶するように構成された複数のメモリロケーションを備える第２のバッファと、
（ｄ）  前記第１のバッファ及び前記第２のバッファに結合されたディスプレイコントローラと、
をそれぞれ具備し、
前記第１のバッファのメモリロケーションは、共有メモリ空間において前記第２のバッファのメモリロケーションとインターリーブされ、
前記ディスプレイコントローラは、前記第１のバッファからの前記第１の画像の一部、及び、前記第２のバッファからの前記第２の画像の一部をそれぞれ取り出すように構成されると共に、前記取り出した画像部分をディスプレイに送出するように構成され、
前記ディスプレイコントローラは、前記第１のバッファ及び前記第２のバッファから画像データを検索するために、開始アドレスポインタと、１メモリロケーションあたりのバイトの数をバッファの数で乗算した数に等しいライン間隔変数とを使用すること、
を特徴とする装置。
【請求項３】
（ａ）  第１の画像を記憶部から第１のバッファに複写し、第２の画像を前記記憶部から第２のバッファに複写するステップと、
（ｂ）  前記第１の画像の一部を前記第１のバッファから、前記第２の画像の一部を前記第２のバッファからそれぞれ取り出すステップと、
（ｃ）  前記取り出した部分をディスプレイに送出するステップと、
をそれぞれ含み、
前記第１及び第２のバッファは、共有メモリ空間においてインターリーブされた複数のメモリロケーションを備えること、
を特徴とする画像表示方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、電子装置に関し、特に、記憶画像を表示するように構成されたディスプレイを備える装置に関する。また、本発明は、記憶画像をディスプレイ上でスクロールする装置及び方法に関する。
【０００２】
【従来の技術】
デジタルカメラの中には、複数の画像を記憶するメモリを有し、かつ、このメモリに記憶された画像を表示するディスプレイを有するものがある。
【０００３】
【発明が解決しようとする課題】
デジタルカメラの中には、複数の実行機能，モジュール，及びデータを記憶するメモリを有するものがある。しかしながら、画像をバッファに記憶して高速で検索しそして表示するのに利用可能なメモリ空間は、いずれも制限されている。
【０００４】
【課題を解決するための手段】
記憶された画像をディスプレイ上でスクロールする装置及び方法が本発明に従って提供される。本発明の装置は、デジタルカメラのようなディスプレイ付きの電子装置である。上記装置の一態様では、１つの画像から別の画像に円滑かつ連続的に水平方向にスクロールを行う。一実施形態において、プロセッサは、複数の復号化された画像を複数のフレームバッファに記憶する。復号化された画像は、ディスプレイコントローラが現行表示の画像の前後に高速で取り出し、表示するのに使用可能である。
【０００５】
上記装置の別の態様では、他の表示装置により提供されるスクロール速度より高速のスクロールを提供する。さらに、可変のスクロール速度のプロフィールをテーブルに記憶することができる。可変のスクロール速度は、加速及び減速をシミュレートすることで、視覚的に良好な結果を達成することができる。
【０００６】
上記装置の別の態様は、プロセッサの処理サイクルを効率的に使用する。上記装置により、処理サイクルを低速化して電力を節約することができる。
【０００７】
本発明の一態様は、画像を表示するように構成される装置に関する。この装置は、記憶部と、第１のバッファと、第２のバッファと、ディスプレイコントローラとを備える。記憶部は、複数の画像を記憶するように構成される。第１のバッファは、複数のラインから成り、記憶部から第１の画像を記憶するように構成される。第２のバッファは、複数のラインから成り、記憶部から第２の画像を記憶するように構成される。第１のバッファのラインは、共有メモリ空間において第２のバッファのラインとインターリーブ（interleave）される。ディスプレイコントローラは、第１及び第２の各バッファに結合される。ディスプレイコントローラは、第１のバッファから第１の画像の一部を取り出し（検索し）、かつ第２のバッファから第２の画像の一部を取り出すように構成される。さらに、ディスプレイコントローラは、取り出した（検索した）各部をディスプレイに送出するように構成される。
【０００８】
本発明の別の態様は、画像の表示方法に関する。この方法は、第１の画像を記憶部から第１のバッファに複写し、第２の画像を記憶部から第２のバッファに複写することを含む。第１及び第２の各バッファは、共有メモリ空間においてインターリーブされた複数のラインから成る。本方法は、第１の画像の一部を第１のバッファから、そして第２の画像の一部を第２のバッファからそれぞれ取り出し、取り出した各部をディスプレイに送出することをさらに含む。
【０００９】
【発明の実施の形態】
図１は、電子装置１００の一実施形態を示す。一実施形態において、装置１００は、ヒューレット・パッカード社製のデジタルカメラＰｈｏｔｏＳｍａｒｔ ６１８のようなデジタルカメラである。図１の装置１００は、一組のフレームバッファ１０２，ディスプレイ１０４，ディスプレイコントローラ１０６，第２のメモリ１０８，画像処理モジュール１１０，第１のメモリ１１２，及びプロセッサ１１４を備えている。当業者であれば、図１の装置１００が、本明細書に記載される部品に加え、或いはこれらの代わりに、電源，レンズ，入出力データポート等の他のコンポーネントを備えてもよいことが理解されよう。
【００１０】
図１の画像処理モジュール１１０は、画像を撮像及び処理するためのハードウェア，ソフトウェア、又はその両方を備えてもよい。プロセッサ１１４は、ファームウェアを実行して第１及び第２のメモリ１１２，１０８においてこのキャプチャ画像を制御するように構成されるいずれかの適当なプロセッサを構成する。
【００１１】
図１の第１のメモリ１１２は、フラッシュ消去可能プログラマブル読み取り専用メモリ（ＥＰＲＯＭ）又はプロセッサ１１４に接続されたハードディスクドライブ等の不揮発性記憶媒体又はメモリユニットから成る。一実施形態において、第１のメモリ１１２は、装置１００に内蔵される。別の実施形態において、第１のメモリ１１２は、リムーバブルフラッシュメモリの一種であるセキュアデジタル（ＳＤ）（Secure Digital）又はヒューレット・パッカード社により開発されたパーマネントインエクスペンシブリムーバブルメモリ（ＰＩＲＭ）（Permanent Inexpensive Removable Memory）のように取り外し可能である。一実施形態において、第１のメモリ１１２は、ヒューレット・パッカード社製のコンパクトフラッシュカードから成る。
【００１２】
第１のメモリ１１２は、ファームウェア，このファームウェアにより使用される変数，及び／又は画像処理モジュール１１０又は或る外部装置によって撮像される任意の数の画像を記憶することができる。第１のメモリ１１２又は第２のメモリ１０８は、本明細書に記載される各種機能を実行するためにプロセッサ１１４により実行可能なファームウェアを記憶することができる。或いは、ファームウェアをプロセッサ１１４自体に、又は第３のメモリ（図示せず）に記憶してもよい。
【００１３】
図１の第２のメモリ１０８は、ランダムアクセスメモリ（ＲＡＭ）又はシンクロナス・ダイナミック・ランダムアクセスメモリ（ＳＤＲＡＭ）のような記憶媒体又はメモリユニットから成る。一実施形態において、第２のメモリ１０８は、揮発性メモリから成る。第２のメモリ１０８の一部は、専ら、プロセッサ１１４によりメモリ１１２から転送される複数の画像を記憶する。この第２のメモリ１０８の部分を「ディスプレイバッファ」又は「フレームバッファ」１０２と呼ばれる場合がある。フレームバッファ１０２に記憶された画像は、ディスプレイコントローラ１０６により高速で取り出され、ディスプレイ１０４に表示される。図１に示す第２のメモリ１０８は、高速で取り出す８個の画像を記憶する８個のフレームバッファ１４２〜１５６で構成されているが、このメモリ１０８の他の部分には、４個の画像，８個の画像，３０個の画像，又は１００個の画像等の任意の数の画像を記憶することができる。また、第２のメモリ１０８は、任意の数のフレームバッファ１０２を有する。例えば、図１に示す第２のメモリ１０８は、８個のフレームバッファ１４２〜１４５を有する。別の実施形態において、第２のメモリ１０８は、１６個のフレームバッファを有する。
【００１４】
別の実施形態において、フレームバッファ１０２は、ＲＡＭのような、第２のメモリ１０８から分離した記憶部で実施される。一実施形態において、電子装置１００は、複数の符号化された画像を記憶する、例えば３２又は６４メガバイトからなる１つの記憶部（例えば、メモリ１１２）と、高速で取り出す復号化された画像を記憶する、例えば５メガバイトからなる別の記憶部（例えば、フレームバッファ１０２）とを有するようにしてもよい。
【００１５】
一実施形態において、図１の各フレームバッファ１４２，１４４，１４６，１４８，１５０，１５２，１５４，１５６は、１つの画像を記憶する。一実施形態において、各フレームバッファ１４２，１４４，１４６，１４８，１５０，１５２，１５４，１５６は、２４８,８３２バイトから成っている。別の実施形態において、各フレームバッファ１４２，１４４，１４６，１４８，１５０，１５２，１５４，１５６は、１２４,４１６バイトから成っている。さらに別の実施形態において、これらのフレームバッファ１４２〜１５６は、他のサイズを有するようにしてもよい。
【００１６】
図１のディスプレイ１０４は、１つ又はそれ以上の画像をユーザに表示するいずれか適当なディスプレイであってよい。一実施形態において、ディスプレイ１０４は、カラー又は白黒液晶ディスプレイ（ＬＣＤ）を構成する。
【００１７】
一実施形態において、図１のディスプレイコントローラ１０６は、変数を記憶するレジスタを備えた特定用途向け回路（ＡＳＩＣ）から成る。変数は、プロセッサ１１４により設定され、可変である。ディスプレイコントローラ１０６は、フレームバッファ１０２から画像データを取り出し、この画像データをディスプレイ１０４に送信して表示する。一実施形態において、ディスプレイコントローラ１０６は、マイクロプロセッサ１１４と一体に形成される。
【００１８】
図２（Ａ）は、プロセッサ２１０と、ディスプレイコントローラ２１２と、メモリ２１４と、ディスプレイバッファ２０２と、ディスプレイ２１８とを備えた、デジタルカメラのような装置（デバイス）２２０を示す。図２（Ｂ）は、ユーザが、第１のキャプチャ画像（獲得画像；captured image）２０４をディスプレイ２１８に表示するように装置２２０に命令する場合の図２（Ａ）のディスプレイバッファ２０２を示す。或いは、装置２２０が、第１のキャプチャ画像２０４をディスプレイ２１８に自動的に表示するようにしてもよい。プロセッサ２１０は、第１の画像２０４をメモリ２１４からディスプレイバッファ２０２Ａ（図２（Ｂ）参照）に複写（又は「描画(draw)」）する。ディスプレイコントローラ２１２（図２（Ａ）参照）は、第１の画像２０４をディスプレイバッファ２０２Ａからディスプレイ２１８に転送する。図２（Ｂ）の時間Ｔにおいて、ユーザは、装置２２０に設けられたコントロールキー（図示せず）を使用して、ディスプレイ２１８上で第１の画像２０４から第２の画像２０６に送進させる（advance)。
【００１９】
図２（Ｃ）は、時間Ｔ（図２（Ｂ）参照）において、第１の画像２０４の一部と第２の画像２０６の一部をディスプレイ２１８上で見るために、ユーザが装置２２０のコントロールキーを使用した後の時間Ｔ＋Ｘにおける図２（Ａ）のディスプレイバッファ２０２を示す。一実施形態において、ユーザは、装置２２０のコントロールキーを一回だけ押圧すると、装置２２０は、第２の画像２０６のような後続する画像を表示する。別の実施形態において、ユーザは、装置２２０のキーを押圧し続けると、装置２２０は、第２の画像２０６のような後続する画像を表示する。図２（Ｃ）において、プロセッサ２１０は、時間Ｔ＋Ｘにおいて第１の画像２０４の「断片(slice)」と第２の画像２０６の断片をメモリ２１４からディスプレイバッファ２０２Ｂに複写する。ディスプレイコントローラ２１２は、この第１及び第２の画像２０４，２０６の各断片をディスプレイバッファ２０２Ｂからディスプレイ２１８に転送する。
【００２０】
図２（Ｄ）は、上述のように後続する画像を見るために、ユーザが装置２２０のコントロールキーを一回又は連続して押圧した後の時間Ｔ＋２Ｘにおける図２（Ａ）のディスプレイバッファ２０２を示す。プロセッサ２１０は、時間Ｔ＋２Ｘにおいて第２の画像２０６をメモリ２１４からディスプレイバッファ２０２Ｃ（図２（Ｄ）参照）に複写する。ディスプレイコントローラ２１２は、第２の画像２０６をディスプレイバッファ２０２Ｃからディスプレイ２１８に転送する。
【００２１】
図２（Ａ）〜（Ｄ）を参照して上述した構造及び手順は、プロセッサ２１０による集中的な処理、そして画像間の円滑なスクロールではなく多数の画像の不連続な水平方向のスクロール、すなわち、多数の画像の僅かな「断片」の「ぎくしゃくした(jerky)」スクロールを伴う場合がある。さらに、スクロール速度は低速であり、装置２２０のユーザにとって望ましくない場合がある。
【００２２】
図３は、図２（Ａ）のメモリ２１４における複数の画像バッファ３００〜３０６及びディスプレイバッファ３０８の一実施形態を示す。第１，第２，第３及び第４の画像バッファ３００〜３０６は、それぞれ第１，第２，第３及び第４の画像を記憶するように構成される。図３では４個のフレームバッファ３００〜３０６しか図示しないが、図１の装置１００は、任意の数の画像を記憶する任意の数のフレームバッファを備えることができる。
【００２３】
時間Ｔにおいて、図２（Ａ）のプロセッサ２１０は、第１の画像を第１の画像バッファ３００からディスプレイバッファ３０８に複写（又は描画）する。この複写は、「ダイレクト・メモリ・アクセス（ＤＭＡ）」として説明することもできる。こうしてディスプレイコントローラ２１２は、この第１の画像をディスプレイバッファ３０８からディスプレイ２１８に転送することができる。
【００２４】
時間Ｔ＋Ｘにおいて、プロセッサ２１０は、第１の画像の一部を第１の画像バッファ３００から、そして第２の画像の一部を第２の画像バッファ３０２からディスプレイバッファ３０８に複写する。こうしてディスプレイコントローラ２１２は、この第１及び第２の画像の各部をディスプレイバッファ３０８からディスプレイ２１８に転送することができる。
【００２５】
時間Ｔ＋２Ｘにおいて、プロセッサ２１０は、第２の画像を第２の画像バッファ３０２からディスプレイバッファ３０８に複写する。こうしてディスプレイコントローラ２１２は、この第２の画像をディスプレイバッファ３０８からディスプレイ２１８に転送することができる。
【００２６】
図３を参照して説明した構造及び処理は、図２（Ａ）〜（Ｄ）を参照して説明した構造及び処理と同一の欠点を有する場合がある。
【００２７】
これに対し、図１を参照して本明細書において説明した構造及び処理は、１つの画像から別の画像に、多数の画像の円滑かつ連続的な水平方向のスクロールを行うことができる。さらに、そのスクロール速度は、図２（Ａ）〜（Ｄ）及び図３を参照して説明した構造及び処理により提供されるスクロール速度に比べてより高速である。
【００２８】
フレームバッファのインターリーブ
プロセッサ１１４は、メモリ１０８において１ラインずつ図１のフレームバッファ１４２〜１５６のメモリロケーションをインターリーブするファームウェアを実行する。図１において、第１のセットのライン１２２Ａ〜１３６Ａは、８個のバッファ１４２〜１５６の第１のラインを表す。一実施形態において、第１ライン１２２Ａのような図１の各ラインは、１,１５２バイトから成っている。他の実施形態において、各ラインは、１,１５２バイト以下（例えば、５７６バイト）又はそれ以上から成っている。第１のバッファ１４２の第１ライン１２２Ａの最後のバイトは、メモリ１０８における第２のバッファ１４４の第１ライン１２４Ａの最初のバイトに続く。
【００２９】
一実施形態において、第１ライン１２２Ａ等の図１の各ラインは、１画像の１行分の画素を記憶するように構成される。一実施形態において、１画像につき２１６行分の画素を記憶する２１６本のラインがバッファ毎にある。他の実施形態において、第１ライン１２２Ａ等の図１の各ラインは、１画像の１行以上の画素を記憶するように構成される。
【００３０】
一実施形態において、１画素は、２又は４バイトで表され、青色成分と、第１のルミネセンス（又は輝度）成分と、赤色成分と、第２のルミネセンス（又は輝度）成分とを備えることができる。２又は４バイトで表される別の画素の例では、赤色成分と、緑色成分と、青色成分と、輝度成分とを備えることができる。別の一例として、１画素は、赤色成分、緑色成分及び青色成分等、３バイトで表すことができる。
【００３１】
例えば、第１のバッファ１４２の第１ライン１２２Ａは、第１の画像の１行目の画素を記憶するように構成される。第２のバッファ１４４の第１ライン１２４Ａは、第２の画像の１行目の画素を記憶するように構成される。以下、このパターンを繰り返し、第８のバッファ１５６の第１ライン１３６Ａが、第８の画像の１行目の画素を記憶するように構成される。
【００３２】
第２セットのライン１２２Ｂ〜１３６Ｂは、８個のバッファ１４２〜１５６の第２ラインを表す。例えば、第１のバッファ１４２の第２ライン１２２Ｂは、第１の画像の２行目の画素を記憶するように構成される。第２のバッファ１４４の第２ライン１２４Ｂは、第２の画像の２行目の画素を記憶するように構成される。以下、このパターンを繰り返し、第８のバッファ１５６の第２ライン１３６Ｂが、第８の画像の２行目の画素を記憶するように構成される。
【００３３】
第Ｎのセットのライン１２２Ｎ〜１３６Ｎ（例えば、第２１６セットのライン）は、８個のバッファ１４２〜１５６の第Ｎラインを表す。例えば、第１のバッファ１４２の第Ｎライン１２２Ｎは、第１の画像の第Ｎ行目の画素を記憶するように構成される。以下、このパターンを繰り返し、第８のバッファ１５６の第Ｎライン１３６Ｎが、第８の画像の第Ｎ行目の画素を記憶するように構成される。
【００３４】
フレームバッファ１０２を図１に示すように配列することにより、後述するようにディスプレイコントローラの開始アドレスポインタをバッファのラインにわたってステップ（step）させるのに応じて、ディスプレイコントローラ１０６による画像から画像への円滑なスクロールを可能ならしめることができる。
【００３５】
エクストラ・ライン（余分なライン）(extra lines)
一実施形態において、複数の使用可能なエクストラ・ライン１２０，１４０が、メモリ１０８においてそれぞれ第１のフレームバッファの第１ライン１２２Ａの前と最後のフレームバッファの最後のライン１３６Ｂの後に設定又は割り当てられる。エクストラ・ライン１２０，１４０は、ラップアラウンド（wraparound）をサポートするように構成され、後述するように、ユーザは、ディスプレイ１０４上で水平方向に最後の画像バッファ１５６を越えてスクロールした後に追加の画像を見ることができる。
【００３６】
ディスプレイコントローラによる画像の取り出し
「再生」又は「表示」モードにおいて、プロセッサ１１４は、ファームウェアを実行して、フレームバッファ１０２からの画像データを何処に取り出すべきかを図１のディスプレイコントローラ１０６に指示する。ファームウェアは、ディスプレイコントローラ１０６により使用される複数の変数（variable）を含むことができる。例えば、これらの変数は、ポインタ，１ラインあたりのバイト数，メモリ１０８におけるフレームバッファ数，及びライン間隔変数を含むことができる。一実施形態において、ディスプレイコントローラ１０６は、１つ又はそれ以上の変数をレジスタに含むことができる。一実施形態において、ディスプレイコントローラ１０６は、ポインタ，１ラインあたりのバイト数，及びライン間隔変数のみをレジスタに記憶する。
【００３７】
ポインタは、「ＴＬＣ」，「ＴＬＣポインタ」，「ＴＬＣ  ＰＴＲ」，又は「開始アドレスポインタ」と呼ばれることがある。ファームウェアは、まず、開始アドレスポインタを、第１のフレームバッファ１４２等のバッファに記憶された画像の左上隅に対応するメモリアドレスに設定する。例えば、第１のフレームバッファ１４２に記憶された第１の画像の１行目の画素を取り出す際に、ディスプレイコントローラ０６の開始アドレスポインタは、第１のバッファ１４２の第１のライン１２２Ａの最初のバイトのメモリアドレスを示す。
【００３８】
ディスプレイコントローラ１０６は、ライン間隔変数を使用して、第１のフレームバッファ１４２等のバッファの残りのラインを取り出す。ディスプレイコントローラ１０６のライン間隔変数は、フレームバッファ１０２の総数を１ラインあたりの総バイト数で乗算した数に等しい。すなわち、
ライン間隔＝（バッファ数）×（１ラインあたりのバイト数）
である。
【００３９】
一実施形態において、メモリ１０８は８個のバッファを備え、各ラインは１,１５２バイトを有し、ライン間隔は９,２１６である。別の実施形態において、メモリ１０８は、１６個のバッファを備え、各ラインは１,１５２バイトを有し、ライン間隔は１８,４３２である。他の実施形態において、ライン間隔は、バッファ１０２の数及び１ラインあたりのバイト数によって可変である。
【００４０】
ライン間隔が９,２１６である一実施形態において、ディスプレイコントローラ１０６は、第１ライン１２２Ａの最初のバイトのメモリアドレス（例えば、アドレス「０」）で開始し、第１のバッファ１４２の１,１５２バイトの第１ライン１２２Ａを取り出す。そしてディスプレイコントローラ１０６は、第１ライン１２２Ａの最初のバイトのメモリアドレス（例えば、アドレス「０」）から第２ライン１２２Ｂの最初のバイトのメモリアドレス（例えば、アドレス「９,２１６」）に９,２１６バイトだけスキップし、第１のバッファ１４２の１,１５２バイトの第２ライン１２２Ｂを取り出す。ディスプレイコントローラ１０６は、第１のバッファ１４２の最後のライン１２２Ｎが取り出されるまでこの処理を続ける。
【００４１】
第１のバッファ１４２に記憶されている第１の画像についてラインの一部又は全部が取り出されると、ディスプレイコントローラ１０６は、ディスプレイ１０４に第１の画像を表示することができる。一実施形態において、第１のフレームバッファ１４２から取り出された画像データが符号化される場合には、ディスプレイコントローラ１０６は、この画像データを復号した後に、第１の画像を表示する。ディスプレイコントローラ１０６は、メモリ１０８からラインを取り出し、画像を高速で表示するように構成される。
【００４２】
ユーザが装置１００に設けられた右矢印キー又はディスプレイ１０４上の右スクロール項目を押圧すると、プロセッサ１１４及びディスプレイコントローラ１０６により実行されたファームウェアは、ディスプレイ「ウィンドウ」を第１のバッファ１４２の第１の画像から第２のバッファ１４４の第２の画像の一部にスクロールする。一実施形態において、ユーザは、装置１００のコントロールキーを一回だけ押圧すると、装置１００は、水平方向にスクロールして後続する画像を表示する。別の実施形態において、ユーザは、装置１００のキーを押圧し続けると、装置１００は、水平方向にスクロールして後続する画像を表示する。図１において、プロセッサ１１４のファームウェアは、開始アドレスポインタを値“Ｓ”だけインクリメントし、ディスプレイコントローラ１０６は、第１ライン１２２Ａの最初のバイトから“Ｓ”バイト刻みで第２ライン１２４Ａの方にステップ（又はスライド）する。
【００４３】
同様に、ユーザが装置１００の左矢印キー又はディスプレイ１０４の左スクロール項目を押圧すると、ファームウェアは開始アドレスポインタを値“Ｓ”だけデクリメントし、ディスプレイコントローラ１０６は、第１ライン１２２Ａの最初のバイトから“Ｓ”バイト刻みで第８ライン１３６Ａの方にステップ（又はスライド）する。
【００４４】
一実施形態において、“Ｓ”は定数であり、“Ｓ”バイト刻みは時間的に等間隔であるため、一定のスクロール速度が得られる。“Ｓ”は、ユーザが画像間をスクロールする際に所望なレベルの円滑さに応じる任意の数とすることができる。一実施形態において、“Ｓ”は４バイトに等しい。別の実施形態において、“Ｓ”は８バイトに等しい。４又は８バイトのように“Ｓ”が小さいと、ディスプレイ１０４上の画像のスクロールは、ユーザにとって円滑に見える。“Ｓ”が大きいと、画像のスクロールの明らかなシフトにユーザが気づいてしまう可能性がある。
【００４５】
“Ｓ”が４バイトに等しい実施形態において、ファームウェアは、開始アドレスポインタを４だけインクリメントし、ディスプレイコントローラ１０６は、第１のバッファの第１ライン１２２Ａの最初のバイトのメモリアドレス（例えば、アドレス“０”）に４バイトのオフセットを加えて開始する。従って、ディスプレイコントローラ１０６は、第１ライン１２２Ａの第５バイト（例えば、アドレス“４”）から開始し、第１のバッファ１４２の第１ライン１２２Ａの１,１４８バイトと第２のバッファ１４４の第１ライン１２４Ａの最初の４バイトを含む１４,１５２バイトを取り出す。
【００４６】
そして、ディスプレイコントローラ１０６は、第１のバッファ１４２の第１ライン１２２Ａの第５バイト（例えば、アドレス“４”）から第２ライン１２２Ｂの第５バイト（アドレス“９，２２０”）に９,２１６バイトだけスキップする。ディスプレイコントローラ１０６は、第１のバッファ１４２の第２ライン１２２Ｂの１,１４８バイトと第２のバッファ１４４の第２ライン１２４Ｂの最初の４バイトを含む１,１５２バイトを取り出す。ディスプレイコントローラ１０６は、第２のバッファ１４４の最後のライン１２４Ｎの最初の４バイトが取り出されるまでこの処理を続ける。
【００４７】
このバイトの一部又は全部が取り出されると、ディスプレイコントローラ１０６は、第１の画像の一部と第２の画像の一部をディスプレイ１０４に表示することができる。ディスプレイコントローラ１０６は、メモリ１０８の複数のバッファ１０２からラインを取り出し（検索し）、複数の画像をディスプレイ１０４に高速で表示するように構成される。
【００４８】
加速及び減速
一実施形態において、ファームウェアは、ディスプレイ１０４上をスクロールする画像の速度を加速又は減速する様相(appearance、画面表示)をもたらす時間関数としての“Ｓ”を増減することができる。例えば、ユーザが所定の時間にわたり右にスクロールする（例えば、ユーザが所定の時間、例えば２秒間、右矢印キー又は右スクロール項目を押圧及び／又は保持する）と、ファームウェアは、“Ｓ”を４バイトから８バイト、さらに１６バイト以上に増加することができる。“Ｓ”を増加することで、ディスプレイ１０４上をスクロールする画像の速度を加速する様相(appearance、画面表示)が得られる。同様に、ファームウェアは、“Ｓ”を１６バイトから８バイト、さらに４バイト以下に減少することができる。“Ｓ”を減少すると、ディスプレイ１０４上をスクロールする画像の速度を減速する様相(appearance、画面表示)が得られる。
【００４９】
メモリ１０８又はプロセッサ１１４は、加速又は減速の様相(appearance、画面表示)を得るために、“Ｓ”までインクリメント及びデクリメントされる値の表(a table of values)を格納することができる。
【００５０】
画像を無効にし、エクストラ・ライン１２０，１４０を利用する
高速スクロールに対応するために、プロセッサ１１４は、（１）ユーザのスクロールにより通り過ぎた(passed)、又は（２）ユーザが現在見ているディスプレイ１０４上の画像から最も遠くの一つ又は複数のフレームバッファに新たな画像を記憶することができる。例えば、ユーザは、ディスプレイ１０４上の「ウィンドウ」を右方向に第１の画像から第２の画像、さらに第３の画像、第４の画像にスクロールすることができる。ディスプレイコントローラ１０６が第４の画像（又は第５の画像の始め）をディスプレイ１０４上に表示するとき、プロセッサ１１４は、新たな画像（第９の画像）をメモリ１１２から第１のバッファ１４２にロードし、第１のバッファ１４２の第２ライン１２２Ｂから開始して、第Ｎライン１２２Ｎまで継続し、１つの又はそれ以上のエクストラ・ライン１４０を使用する。
【００５１】
このように、装置１００が「ラップアラウンド」を提供することにより、ユーザは、メモリ１１２から第１のバッファ１４２に、次にディスプレイ１０４に複写された第９の画像を、第８の画像をディスプレイ１０４上で見た後に視認することができる。エクストラ・ライン１２０，１４０により、メモリ１１２に記憶されている画像の数がフレームバッファ１０２の数より多い場合に装置１００の効率を高めることができる。
【００５２】
或いは、ユーザは、第４のバッファ１４８に記憶されている画像をディスプレイ１０４上に表示するよう選択する（例えば、第４のバッファ１４８に記憶されている画像にジャンプする）ことが可能であり、プロセッサ１１４は新たな画像を第１のバッファ１４２にロードし、第１のバッファ１４２の第２ライン１２２Ｂから開始して、第Ｎライン１２２Ｎまで継続し、エクストラ・ライン１４０の一つ又は複数を使用することができる。
【００５３】
同様に、ディスプレイコントローラ１０６が第５の画像（又は第６の画像の最初）を表示すると、プロセッサ１１４は、第２のバッファ１４４の第２の画像に上書き(write over)して新たな画像をロードし、第２のバッファ１４４の第２ライン１２４Ｂから開始して、第Ｎライン１２４Ｎまで継続し、エクストラ・ライン１４０の１つ又はそれ以上を使用することができる。
【００５４】
一実施形態において、プロセッサ１１４は、新たな画像をバッファにロードしている最中にそのバッファ、例えば、第１のバッファ１４２を（例えば、フラグを設定することによって）「無効にする(invalidate)」。バッファが「無効にされる」と、ディスプレイコントローラ１０６は、新たな画像がそのバッファに完全にロードされるまでバッファを読み出すことができない。
【００５５】
別の例として、ユーザが、例えば第５の画像から第４の画像に反対方向にスクロールする場合、プロセッサ１１４は、第８の画像に上書きして無効にし、新たな画像を第８のバッファ１５６にロードし、エクストラ・ライン１４０又は１２０の１つ又はそれ以上を使用することができる。
【００５６】
一実施形態において、メモリ１１２に記憶された画像はＪＰＥＧ(Joint Photographic Experts Group)等のフォーマットで符号化され、プロセッサ１１４は、メモリ１１２から画像を復号した後にフレームバッファ１４２等のフレームバッファにこの画像を記憶する。プロセッサ１１４の目的は、ディスプレイ１０４上でユーザが見ている「現行」画像の前後に複数の復号された画像をフレームバッファ１０２に保持することである。フレームバッファ１０２の画像は、ディスプレイコントローラ１０６により高速で取り出され、ディスプレイ１０４に送出される。
【００５７】
プロセッサ１１４により実行可能なコードの例を以下に挙げる。＜ディスプレイモードを入力する＞等の括弧付きの項目は、ユーザの動作又はバックグラウンド操作である。
【００５８】
？？＜ディスプレイモードを入力する＞
？？ライン１２８Ａから開始する画像“ｎ”を復号する
？？表示ＴＬＣをライン１２８Ａに設定する
？？（メモリ１１２からの他の画像を適切な時期に(opportunistically)復号する）
【００５９】
？？＜右矢印を押圧する＞
？？表示ＴＬＣをライン１２８Ａからライン１３０Ａにスライドさせる［画像は既にライン１３０Ａでロードされているとする］（すなわち、スライドを開始する）
？？ライン１２２Ａにおいて画像を無効にする
？？（メモリ１１２から別の画像を復号し、 ライン１２２Ｂから開始する“ｎ＋５”で記憶する）
【００６０】
？？＜再び右矢印を押圧する＞
？？表示ＴＬＣをライン１３０Ａから１３２Ａにスライドを開始する［画像は既にライン１３２Ａでロードされているとする］
？？ライン１２４Ａにおいて画像を無効にする
？？（１２４Ｂで開始する画像“ｎ＋６”を復号する）
【００６１】
？？＜左矢印を押圧する＞
？？表示ＴＬＣをライン１３２Ａからライン１３０Ａにスライドを開始する
？？ライン１２４Ｂにおいて画像を無効にする
？？（１２４Ａにおいて画像“ｎ−２”を復号する）
【００６２】
ユーザが「スロット」の最後に到達した、例えば、最後の画像の最後のラインがエクストラ・ライン１４０の最後のラインから開始する場合；
？？ディスプレイコントローラ１０６はディスプレイ１０４をブランク（blank)する(空白にする）
？？プロセッサ１１４は有効フレームをメモリ１１２から中央「スロット」に転送する
？？ファームウェアはＴＬＣを現行画像の新たなロケーションに設定する
？？ディスプレイコントローラ１０６はディスプレイ１０４をアンブランク（unblank）し(空白にせずに)、処理を続行する
【００６３】
以上を要約すると、次の通りである。すなわち、装置１００は、画像をディスプレイ（表示）するように構成される。この装置１００は、記憶部（メモリ）１１２と、第１のバッファ１４２と、第２のバッファ１４４，及びディスプレイコントローラ１０６を備える。第１のバッファ１４２は、複数のメモリロケーションを備え、記憶部１１２からの第１の画像を記憶するように構成される。また、第２のバッファ１４４は、複数のメモリロケーションを備え、記憶部１１２からの第２の画像を記憶するように構成される。第１のバッファ１４２のメモリロケーションは、共有メモリ空間内の第２のバッファ１４４のメモリロケーションとインターリーブされる。ディスプレイコントローラ１０６は、第１及び第２のバッファ１４２，１４４に結合されており、第１のバッファ１４２からの第１の画像の一部、及び、第２のバッファ１４４からの第２の画像の一部を取り出す（検索する）ように構成される。
【００６４】
本発明の上記の実施形態は単なる例示であり、限定を意味するものではない。本発明から逸脱することなく、そのより広義な態様において各種の変更及び変形が可能である。本明細書に記載の特許請求の範囲はこのような変更及び変形を発明の精神及び範囲に包含する。
【図面の簡単な説明】
【図１】電子装置の一実施形態を示すブロック図である。
【図２】図２（Ａ）は、プロセッサと、ディスプレイコントローラと、メモリと、ディスプレイバッファと、ディスプレイとを備えるデジタルカメラのような装置を示すブロック図、図２（Ｂ）〜（Ｄ）は、ユーザが図２（Ａ）に示す装置に命令して２つのキャプチャ画像をディスプレイ上に表示する様々な時間における図２（Ａ）に示す装置のディスプレイバッファを示す図である。
【図３】図２（Ａ）のメモリにおける複数の画像バッファ及びディスプレイバッファの一実施形態を示す図である。
【符号の説明】
１００  電子装置
１０２  フレームバッファ
１０４  ディスプレイ
１０６  ディスプレイコントローラ
１０８  第２のメモリ
１１０  画像処理モジュール
１１２  第１のメモリ（記憶部）
１１４  プロセッサ
１４２  フレームバッファ（第１のバッファ）
１４４  フレームバッファ（第２のバッファ）
２０２  ディスプレイバッファ
２１０  プロセッサ
２１２  ディスプレイコントローラ
２１４  メモリ
２１８  ディスプレイ
【図１】
0004018439.tif 000002
【図２】
0004018439.tif 000003
【図３】
0004018439.tif 000004