以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の情報処理装置(例えば、図3の記録再生装置1)は、メモリ(例えば、図4のVRAM104)上の、記録媒体(例えば、図3のディスク60)から読み出された画像データが展開される領域において、対応する画像が表示される範囲である表示範囲(例えば、図5の表示領域V1)を移動させる範囲移動手段(例えば、図4のアドレス生成部102)と、範囲移動手段により1画面分の第1の領域(例えば、図5の領域132)に表示範囲が移動されて、第1の領域に展開される第1の画像データに対応する画像(例えば、図5の画像B1)が表示されているときに、次に表示範囲を移動させる移動方向(例えば、下方向)に、第2の画像データが展開されているか否かを判定する画像判定手段(例えば、図12のステップS36の処理を行う図4の表示コントローラ101)と、画像判定手段により表示範囲の移動方向に、第2の画像データが展開されていないと判定された場合、表示範囲の移動方向に対して反対方向にある1画面分の第2の領域(例えば、図5の領域131)に、第1の画像データを複製する複製手段(例えば、図12のステップS41の処理を行う図4のメモリコントローラ103)と、複製手段により第1の画像データが複製された第2の領域に、範囲移動手段により表示範囲が移動されて、複製手段により第2の領域に複製された第1の画像データに対応する画像が表示されているときに、第2の画像データ(例えば、図5の画像C1の画像データ)を第1の領域に展開する画像展開手段(例えば、図12のステップS31の処理を行う図4のメモリコントローラ103)とを備えることを特徴とする。
請求項3に記載の情報処理装置は、画像判定手段により表示範囲の移動方向に、第2の画像データが展開されていると判定された場合(例えば、図12のステップS36のYes)、範囲移動手段は、第1の領域から、第2の画像データが展開されている領域まで、表示範囲を順次移動させることを特徴とする。
請求項4に記載の情報処理装置は、次に表示範囲を移動させる移動方向を、ランダムに設定する移動方向設定手段(例えば、図12のステップS35の処理を行う図4の表示コントローラ101)をさらに備えることを特徴とする。
請求項5に記載の情報処理装置は、記録媒体から画像データを読み出す読み出し手段(例えば、図3の記録再生部48)と、読み出し手段により読み出された画像データをバッファ(例えば、図3のバッファ23)に蓄積する蓄積手段(例えば、図11のカメラ用CPU21)とをさらに備え、画像展開手段は、蓄積手段によりバッファに蓄積された画像データを、メモリの1画面分の領域に展開することを特徴とする。
請求項6に記載の情報処理方法は、メモリ上の、記録媒体から読み出された画像データが展開される領域において、対応する画像が表示される範囲である表示範囲を移動させる範囲移動ステップ(例えば、図12のステップS33)と、範囲移動ステップの処理により1画面分の第1の領域に表示範囲が移動されて、第1の領域に展開される第1の画像データに対応する画像が表示されている(例えば、図12のステップS34)ときに、次に表示範囲を移動させる移動方向に、第2の画像データが展開されているか否かを判定する画像判定ステップ(例えば、図12のステップS36)と、画像判定ステップの処理により表示範囲の移動方向に、第2の画像データが展開されていないと判定された場合、表示範囲の移動方向に対して反対方向にある1画面分の第2の領域に、第1の画像データを複製する複製ステップ(例えば、図12のステップS41)と、複製ステップの処理により第1の画像データが複製された第2の領域に、範囲移動ステップの処理により表示範囲が移動されて、複製ステップの処理により第2の領域に複製された第1の画像データに対応する画像が表示されている(例えば、図12のステップS43)ときに、第2の画像データを第1の領域に展開する画像展開ステップ(例えば、図12のステップS31)とを含むことを特徴とする。
なお、請求項7に記載の記録媒体および請求項8に記載のプログラムも、上述した請求項9に記載の情報処理方法と基本的に同様の構成であるため、繰り返しになるのでその説明は省略する。
以下、図面を参照して、本発明の実施の形態について説明する。
図3は、本発明を適用した記録再生装置の一実施の形態の構成例を示すブロック図である。
図3においては、記録再生装置1とパーソナルコンピュータ(PC)2とがUSB(Universal Serial Bus)ケーブル3を介して接続され、双方向に通信が可能になっている。
記録再生装置1は、カメラブロック11と記録再生ブロック12から構成されている。
カメラブロック11は、カメラ用CPU21、撮像部22、バッファ23、表示制御部24、NVRAM(Non Volatile Random Access Memory)25、通信部26、電源回路27、および表示部28から構成され、撮像部22における撮像処理および表示部28の画像の表示を制御する。
記録再生ブロック12は、メインCPU41、操作部42、USBI/F(Universal Serial Bus Interface)43、オーディオ信号処理部44、オーディオ入出力部45、スピーカ46、マイク47、記録再生部48、バッファ49、電源供給部50、記憶部51、および通信部52から構成され、記録再生部48に装着されたディスク60に対する画像または楽曲(のデータ)の記録および読み出しを制御する。
なお、カメラブロック11の通信部26と記録再生ブロック12の通信部52とは、シリアルバス71で接続されており、各種のデータが必要に応じて相互に授受可能となされている。
カメラブロック11のカメラ用CPU21は、通信部26、シリアルバス71、および通信部52を介して、記録再生ブロック12のメインCPU41の制御のもと、シリアル通信により、記録再生ブロック12のメインCPU41とデータの送受信を行う。カメラ用CPU21は、記録再生ブロック12のメインCPU41から、通信部52、シリアルバス71、および通信部26を介して、シリアル通信により送信されてくるコマンドに応じて、カメラブロック11の各部を制御する。
例えば、カメラ用CPU21は、メインCPU41から送信されてくるコマンドに応じて、撮像部22を制御し、被写体を撮像する。カメラ用CPU21は、撮像の結果、撮像部22から供給される被写体の画像(のデータ)を、バッファ23に供給する。また、カメラ用CPU21は、メインCPU41から送信されてくるコマンドに応じて、バッファ23から画像データを読み出し、その画像データに対して、例えば、JPEG(Joint Photographic Experts Group)エンコード処理を行う。そして、カメラ用CPU21は、エンコード後の画像データを、メインCPU41に送信する。
さらに、カメラ用CPU21は、例えば、メインCPU41から送信されてくるコマンドに応じて、メイン41から送信されてくる画像データをバッファ23に記憶し、メインCPU41から送信されてくるコマンドに応じて、表示制御部24を制御し、バッファ23から画像データを読み出させ、表示部28に供給したり、NVRAM25からアイコンの画像、背景画像、カウンタ画像などの、表示部28に複数回表示される可能性が高い画像のデータ(以下、固定画像データという)を読み出して、表示制御部24に供給する。
撮像部22は、CMOS(Complementary Mental Oxide Semiconductor)やCCD(Charge Coupled Device)などの撮像素子およびAF(Auto Focus)モジュールなどで構成され、被写体にフォーカスして撮像を行い、撮像された画像(データ)をカメラ用CPU21に供給する。バッファ23は、カメラ用CPU21からの画像データを一時的に記憶する。
表示制御部24は、カメラ用CPU21の制御のもと、バッファ23に蓄積された画像データを読み出し、読み出した画像データや、カメラ用CPU21から供給される固定画像データを用いて、表示する画像データを生成して、対応する画像を表示部28に表示させる制御を行う。すなわち、表示制御部24は、表示部28に、画像データに対応する画像をそのまま表示させたり、画像データに対応する画像の一覧表示を表示させたり、または、画像データに対応する画像をプッシュイン効果により表示させたりする。
ここで、プッシュイン効果による表示(以降、プッシュイン表示と称する)とは、画像を効果的に表示させるエフェクト表示の1つであって、画像が表示されたあと、その画像を押し出すような感じで、次の画像が現れるように、連続して画像を表示させる方法である。なお、プッシュイン表示において、1画像が表示される時間は、ほぼ3秒間であり、画像が押し出される(ように見える)方向を、エフェクト方向と称する。
具体的には、表示制御部24は、バッファ23からランダムに画像データを読み出し、一旦、VRAM(Video Random Access Memory)104(図4)に復号して(圧縮を解いて)から記録し(すなわち、展開し)、VRAM104に展開されている画像データの表示開始位置(表示領域)を、エフェクト方向とは逆方向に移動させ、移動させた表示開始位置から画像データを表示部28に供給することを繰り返すことにより、エフェクト方向へのプッシュイン表示を制御する。
NVRAM25は、書き換え可能なメモリであり、固定画像データを記憶している。なお、NVRAM25に記憶されている固定画像データは、カメラ用CPU21により、メインCPU41から送信されてくるコマンドに応じて、書き換えられる。
通信部26は、カメラ用CPU21からの制御のもと、シリアルバス71を介して、記録再生ブロック12の通信部52と通信制御信号の送受信を行い、シリアル通信により、各種データの送受信を行う。
電源回路27は、記録再生ブロック12の電源供給部50と、電源供給線72を介して接続されており、電源回路27には、電源供給線72を介して、電源供給部50からの電源(POWER)が供給される。電源回路27は、カメラ用CPU21の制御のもと、カメラブロック11の各部に電源供給部50から供給された電源を供給する。
表示部28は、例えば、液晶ディスプレイから構成され、表示制御部24からの画像データに対応する画像を表示する。
記録再生ブロック12のメインCPU41は、例えば、操作部42からの操作信号に応じて、ディスク60に対する画像や楽曲のデータの記録(書き込み)および読み出し、楽曲の再生などのための各種の演算および各部の制御を行う。また、メインCPU41は、操作部42からの操作信号に応じて、カメラブロック11の各部を制御するコマンドを生成し、通信部52、シリアルバス71、および通信部26を介して、カメラブロック11のカメラ用CPU21に送信する。すなわち、記録再生ブロック12とカメラブロック11間の通信の制御も、メインCPU41が行う。
操作部42は、例えば、記録再生装置1の表面に設けられたボタンやダイヤルなどからなり、撮像や画像の表示、または楽曲の再生などの、記録再生装置1に対するユーザの指示を受け付け、その指示を表す操作信号をメインCPU41に供給する。USBI/F43は、メインCPU41の制御により、記録再生部48からの画像や楽曲のデータを、USBケーブル3を介して、PC2に供給する。また、USBI/F43には、PC2から、例えばダウンロードされた画像や楽曲のデータが供給され、USBI/F43は、その画像や楽曲のデータを、記録再生部48に供給する。
オーディオ信号処理部44は、メインCPU41からの楽曲のデータに対して、例えば、1-7RLL (1-7 Run-Length Limited coding)変調処理などを行い、記録再生部48に供給する。また、オーディオ信号処理部44は、記録再生部48からの楽曲のデータに対して、1-7RLL復調処理などを行い、オーディオ入出力部45に供給する。
オーディオ入出力部45は、オーディオ信号処理部44からの楽曲のデータに対応する音声を、スピーカ46に供給する。また、オーディオ入出力部45は、マイク47からの音声を、オーディオ信号処理部44に供給する。スピーカ46は、オーディオ入出力部45からの音声を外部に出力し、マイク47は、外部から取得した音声をオーディオ入出力部45に供給する。
記録再生部48は、メインCPU41の制御により、ディスク60から読み出した画像や楽曲のデータをバッファ49に供給したり、バッファ49に記憶されている画像や楽曲のデータを読み出す。なお、ディスク60としては、光ディスク(CD(Compact Disc)、DVD(Digital Versatile Disk)など)、光磁気ディスク(MD(Mini-Disc)Hi-MD(Hi-Mini-Disk)(商標)など)、磁気ディスクなどを用いることが可能である。
また、記録再生部48は、バッファ49から読み出した楽曲のデータを、オーディオ信号処理部44に供給したり、オーディオ信号処理部44から供給される楽曲のデータを、ディスク60に記録する。さらに、記録再生部48は、バッファ49から読み出した画像のデータを、メインCPU41に供給したり、メインCPU41から供給される画像のデータを、ディスク60に記録する。
バッファ49は、記録再生部48から供給されるディスク60から読み出された画像や楽曲のデータなどを記憶する。
電源供給部50は、メインCPU41の制御により、記録再生ブロック12の動作状態に応じて、記録再生ブロック12の各部に電源を供給したり、メインCPU41の制御により、電源供給線72を介して、カメラブロック11の電源回路27に電源を供給する。
記憶部51は、例えば、NVRAM25に記憶されている固定画像データに関する情報(以下、固定画像データ関連情報という)などを記憶している。メインCPU41は、記憶部51から、固定画像データ関連情報を読み出し、その固定画像データ関連情報に基づいて、画像の表示を指令するコマンドを、通信部52、シリアルバス71、および通信部26を介して、カメラ用CPU21に送信する。
通信部52は、メインCPU41からの制御のもと、シリアルバス71を介して、カメラブロック11の通信部26と通信制御信号の送受信を行い、シリアル通信により、各種データの送受信を行う。
以上のように構成される記録再生装置1においては、メインCPU41により記録再生装置1全体の制御および通信の制御が行われる。すなわち、メインCPU41は、操作部42からの操作信号に応じて、記録再生ブロック12の各部を制御するとともに、カメラブロック11の各部を制御するコマンドを生成し、カメラブロック11のカメラ用CPU21に送信する。
これにより、記録再生装置1において、カメラ用CPU21が、メインCPU41からシリアルバス71を介して送信されてくるコマンドに応じて、メインCPU41から送信されてくる画像データに対応する画像を、表示部28に、一覧表示、またはプッシュイン表示させる。また、カメラ用CPU21は、メインCPU41から送信されてくるコマンドに応じて、撮像した結果得られる画像データを、メインCPU41に送信し、メインCPU41が、その画像データを、ディスク60に記録させる。さらに、メインCPU41は、ディスク60に記録されている楽曲データに対応する音声を、スピーカ46から出力させる。
図4は、プッシュイン表示を実行する表示制御部の詳細な構成例を示している。
図4の例において、カメラ用CPU21は、通信部26、シリアルバス71、および通信部52を介して、記録再生ブロック12のメインCPU41から送信されてくる画像データ(例えば、サムネイル用の画像データ)をバッファ23に蓄積する。カメラ用CPU21は、メインCPU41からシリアルバス71を介して送信されてくるコマンドに応じて、表示コントローラ101にプッシュイン表示を開始させる。また、カメラ用CPU21は、バッファ23に蓄積された画像データが所定の値より少なくなった場合、通信部52、シリアルバス71、および通信部26を介して、記録再生ブロック12のメインCPU41に画像データを要求する。
バッファ23は、プッシュイン表示に用いられる画像データがほぼ60蓄積されるように構成されている。
表示制御部24は、表示コントローラ101、アドレス生成部102、メモリコントローラ103、VRAM104、およびドライバ105により構成される。
表示コントローラ101は、バッファ23に蓄積された画像データの中からランダムに画像データを選択し、メモリコントローラ103を制御し、選択した画像データを読み出させ、VRAM104に展開させたり、VRAM104に展開されている画像データを複製させる。また、表示コントローラ101は、VRAM104のVRAMマップ(仮想アドレス空間)を参照し、アドレス生成部102に、画像データを展開する領域を指示したり、表示部28に表示させる表示領域の左上の先頭アドレスである表示開始位置の移動を指示する。なお、このとき、表示コントローラ101は、例えば、どのアドレスからどのアドレスまでを何秒間で移動させるというように、移動区間と移動時間を指示する。
さらに、表示コントローラ101は、内蔵するクロック(図示せぬ)で計時動作を行い、1画像の表示時間や、画像から画像への表示の移動時間を制御する。具体的には、表示コントローラ101は、移動時間が経過したか否か、すなわち、表示開始位置が所定の領域の先頭アドレスと一致したか否かを判定することにより、現在表示中の画像が1画像であるか否かを判定し、現在表示中の画像が1画像であると判定した場合、表示開始位置(表示領域)の移動方向(すなわち、エフェクト方向と逆の方向)を決定し、決定した移動方向に、次に表示する画像に対応する画像データが展開されている1画面分の領域があるか否かを判定する。
なお、決定した移動方向に、次に表示する画像に対応する画像データが展開されている1画面分の領域がないと判定した場合、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、決定した移動方向とは逆の方向にある1画面分の領域に、現在表示中の画像に対応する画像データを複製させ、アドレス生成部102を制御し、複製された画像データが展開されている1画面分の領域に、表示開始位置の移動を指示する。そして、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、もと(複製もと)の画像データが展開されている1画面分の領域に、ランダムに選択した画像データを読み出させ、展開させるとともに、アドレス生成部102に、表示開始位置の移動を指示する。
アドレス生成部102は、表示コントローラ101が参照するVRAMマップ(仮想アドレス空間)とVRAM104のアドレス空間とのアドレス変換テーブルを有しており、表示コントローラ101から指示される領域、または移動区間と移動時間から、VRAM104のアドレスを生成(変換)し、生成したアドレスをメモリコントローラ103に供給する。
メモリコントローラ103は、表示コントローラ101の制御のもと、バッファ23に蓄積されている画像データを読み出し、アドレス生成部102から供給されるアドレスに基づいて、読み出した画像データを、VRAM104の所定の1画面分の領域に展開する。すなわち、メモリコントローラ103は、読み出した画像データを復号し、VRAM104の所定の1画面分の領域に記録(格納)する。
メモリコントローラ103は、表示コントローラ101の制御のもと、アドレス生成部102から供給されるアドレスに基づいて、VRAM104の一方の領域に展開(記録)されている画像データを、他方の領域に複製し、記録する。また、メモリコントローラ103は、アドレス生成部102より供給されるアドレスから、表示領域分の画像データを読み出し、読み出した画像データを、ドライバ105を介して、表示部28に供給する。
VRAM104は、少なくとも2つの1画面分の領域で構成され、メモリコントローラ103により、バッファ23から読み出した画像データが1画面分の領域に展開され、展開された画像データのうち、表示開始位置から表示領域分の画像データが読み出される。ドライバ105は、メモリコントローラ103からの画像データを表示部28に供給する。
次に、図5および図6を参照して、図4の表示制御部により実行される上下方向のプッシュイン表示処理を説明する。
図5および図6は、上下方向のプッシュイン表示を行う場合のVRAM104の仮想アドレス空間であるVRAMマップ121の状態を示している。なお、図中左側に示されるアドレスは、VRAMマップ121に対応するVRAM104の実際のアドレスである。図5および図6において、VRAMマップ121は、上から順に、アドレス「0000」乃至アドレス「07FF」からなる1画面分の領域131と、アドレス「0800」乃至アドレス「0FFF」からなる1画面分の領域132が縦に並んで構成されている。
なお、図5のVRAMマップ121−0、およびVRAMマップ121−1乃至121−5、並びに図6のVRAMマップ121−0、およびVRAMマップ121−11乃至121−15の枝番は、処理の順番を表している。また、各VRAMマップ121上には、各処理時の表示領域V1と、各表示領域V1における先頭アドレスである表示開始位置P1が示されており、表示領域V1の右横の矢印は、表示開始位置P1(表示領域V1)の移動方向を表している。
まず、図5を参照して、エフェクト方向が上方向のプッシュイン表示処理を説明する。
メモリコントローラ103は、VRAMマップ121−0に示されるように、領域131および領域132に、バッファ23から画像A1および画像B1の画像データをそれぞれ読み出して展開(復号し、記録)する。アドレス生成部102は、表示コントローラ101の制御のもと、メモリコントローラ103に、表示開始位置P1としてアドレス「0800」(領域132の先頭アドレス)を指示する。
メモリコントローラ103は、VRAM104のアドレス「0800」の位置に表示開始位置P1を移動させ、アドレス「0800」から始まる表示領域V1分の画像データ(この場合、領域132に展開されている画像B1の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。これにより、表示部28には、領域132に展開されている画像データに対応する画像B1が表示される。
1画像である画像B1が表示されると、表示コントローラ101は、所定の時間(例えば3秒間など)、画像B1を表示させつつ、表示開始位置P1の移動方向を上下方向のうちいずれにするかを決定する。図5の例は、エフェクト方向が上の場合であるので、表示コントローラ101は、表示開始位置P1の移動方向を下に決定し、表示開始位置P1の移動方向(すなわち、下方向)に、次に表示する画像が展開されている1画面分の領域があるか否かを判定する。
図5の例においては、VRAMマップ121−0の領域132の下方向には、次に表示する画像が展開されている1画面分の領域がない。したがって、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、VRAMマップ121−1に示されるように、表示開始位置P1の移動方向とは逆方向にある領域131に、現在表示されている画像B1の画像データを複製させる。
メモリコントローラ103により、VRAM104(VRAMマップ121−1)の領域131に、領域132に展開されている画像B1の画像データが複製され、記録されると、表示コントローラ101は、アドレス生成部102を制御し、VRAMマップ121−2に示されるように、領域132の先頭アドレス(アドレス「0800」)に指示していた表示開始位置P1を、領域131の先頭アドレス(アドレス「0000」)に移動させる。
すなわち、アドレス生成部102は、アドレス変換テーブルを参照して、領域131の先頭アドレス(アドレス「0000」)を生成し、アドレス「0000」をメモリコントローラ103に供給する。メモリコントローラ103は、VRAM104の、アドレス生成部102から供給されるアドレス「0000」の位置に表示開始位置P1を移動させ、アドレス「0000」から始まる表示領域V1分の画像データ(すなわち、領域131に展開されている画像B1の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、領域131に展開されている画像データに対応する画像B1が表示される。なお、同じ画像B1が表示されているので、表示部28を見ているユーザには、複製された画像B1が変更されて表示されたことはわからない。
そして、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、VRAMマップ121−3に示されるように、バッファ23からランダムに選択した画像C1の画像データを読み出させ、表示領域V1から外れた領域132に展開させる。その後、表示コントローラ101は、アドレス生成部102を制御し、VRAMマップ121−4に示されるように、表示開始位置P1を、領域131の先頭アドレス(アドレス「0000」)乃至領域132の先頭アドレス(アドレス「0800」)の移動区間を、所定の移動時間で、図中下方向に順次移動させる。
すなわち、アドレス生成部102は、表示開始位置P1を、アドレス「0000」乃至アドレス「0800」の移動区間を、所定の移動時間で順次移動させるように、アドレス変換テーブルを参照して、アドレスを生成し、生成したアドレスを、メモリコントローラ103に供給する。
メモリコントローラ103は、アドレス生成部102から供給されるアドレスに基づいて、表示開始位置P1および表示領域V1を、アドレス「0000」乃至アドレス「0800」の間を順次移動させ、その都度、表示開始位置P1から始まる表示領域V1分の画像データを読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、表示領域V1に含まれる画像データに対応する画像が順次表示される。なお、表示領域V1に含まれる画像データの割合は、最初は、画像B1の割合が多いが、表示開始位置P1が下方向に移動するので、表示領域V1分の画像データが順次読み出される毎に、画像C1の割合が多くなる。すなわち、表示開始位置P1が、アドレス「0000」乃至アドレス「0800」の間を順次移動されることにより、表示部28には、あたかも、画像B1が画像C1により図中上方向に押し出されていくように表示され、上方向のプッシュイン表示が実現される。
このようにして表示開始位置P1および表示領域V1をアドレス「0000」乃至アドレス「0800」の間を順次移動させる処理は、表示開始位置P1としてアドレス「0800」が指示されるまで繰り返される。そして、最終的に、アドレス生成部102からの指示に応じて、メモリコントローラ103は、VRAMマップ121−5に示されるように、VRAM104のアドレス「0800」(領域132の先頭アドレス)の位置に表示開始位置P1を移動させ、アドレス「0800」から始まる表示領域V1分の画像データ(すなわち、領域132に展開されている画像C1の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、領域132に展開されている画像データに対応する画像C1が表示される。
このとき、表示開始位置P1として指示したアドレス「0800」は、領域132の先頭アドレスであり、アドレス生成部102に指示した移動時間が経過している。したがって、表示コントローラ101は、表示開始位置P1の移動方向を上下方向のうちいずれにするかを決定する。図5の例は、エフェクト方向が上の場合であるので、表示コントローラ101は、表示開始位置P1の移動方向を下に決定し、表示開始位置P1の移動方向(すなわち、下方向)に、次に表示する画像が展開されている1画面分の領域があるか否かを判定する。
図5の例においては、VRAMマップ121−5の領域132の下方向には、VRAMマップ121−0の場合と同様に、次に表示する画像が展開されている1画面分の領域がない。したがって、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、表示開始位置P1の移動方向とは逆方向にある領域131に、現在表示されている画像C1の画像データを複製させる。すなわち、これ以降、上述したVRAMマップ121−1以降と同様の処理が、展開、表示される画像が置き換えられて、繰り返し実行される。
以上のように、エフェクト方向が上方向のプッシュイン表示が連続的に実行される。
次に、図6を参照して、下方向のプッシュイン表示処理を説明する。なお、図6において、図5の場合と同じ処理については、繰り返しになるので、その詳細な説明は適宜省略する。
メモリコントローラ103は、VRAMマップ121−0に示されるように、領域131および領域132に、バッファ23から画像A1および画像B1の画像データをそれぞれ読み出して展開する。アドレス生成部102は、表示コントローラ101の制御のもと、メモリコントローラ103に、表示開始位置P1としてアドレス「0800」(領域132の先頭アドレス)を指示してくる。
メモリコントローラ103は、VRAM104のアドレス「0800」の位置に表示開始位置P1を移動させ、アドレス「0800」から始まる表示領域V1分の画像データ(この場合、領域132に展開されている画像B1の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。これにより、表示部28には、領域132に展開されている画像データに対応する画像B1が表示される。
1画像である画像B1が表示されると、表示コントローラ101は、所定の時間(例えば3秒間など)、画像B1を表示させつつ、表示開始位置P1の移動方向を上下方向のうちいずれにするかを決定する。図6の例は、エフェクト方向が下の場合であるので、表示コントローラ101は、表示開始位置P1の移動方向を上に決定し、表示開始位置P1の移動方向(すなわち、上方向)に、次に表示する画像が展開されている1画面分の領域があるか否かを判定する。
図6の例においては、VRAMマップ121−0の領域132の上方向には、次に表示する画像が展開されている1画面分の領域131がある。したがって、表示コントローラ101は、アドレス生成部102を制御し、VRAMマップ121−11に示されるように、表示開始位置P1を、領域132の先頭アドレス(アドレス「0800」)乃至領域131の先頭アドレス(アドレス「0000」)の移動区間を、所定の移動時間で、図中上方向に順次移動させる。
すなわち、アドレス生成部102は、表示開始位置P1を、アドレス「0800」乃至アドレス「0000」の移動区間を、所定の移動時間で順次移動させるように、アドレス変換テーブルを参照して、アドレスを生成し、生成したアドレスを、メモリコントローラ103に供給する。
メモリコントローラ103は、アドレス生成部102から供給されるアドレスに基づいて、表示開始位置P1および表示領域V1を、VRAM104のアドレス「0800」乃至アドレス「0000」の間を、図中上方向に順次移動させ、その都度、表示開始位置P1から始まる表示領域V1分の画像データを読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、表示領域V1に含まれる画像データに対応する画像が順次表示される。なお、表示領域V1に含まれる画像データの割合は、最初は、画像B1の割合が多いが、表示開始位置P1が上方向に移動するので、表示領域V1分の画像データが順次読み出される毎に、画像A1の割合が多くなる。すなわち、表示開始位置P1が、アドレス「0800」乃至アドレス「0000」の間を順次移動されることにより、表示部28には、あたかも、画像B1が画像A1により図中下向きに押し出されていくように表示され、下方向のプッシュイン表示が実現される。
このようにして表示開始位置P1および表示領域V1を、VRAM104のアドレス「0800」乃至アドレス「0000」の間を順次移動させる処理は、表示開始位置P1としてアドレス「0000」が指示されるまで繰り返される。そして、最終的に、アドレス生成部102からの指示に応じて、メモリコントローラ103は、VRAMマップ121−12に示されるように、VRAM104のアドレス「0000」(領域131の先頭アドレス)の位置に表示開始位置P1を移動させ、アドレス「0000」から始まる表示領域V1分の画像データ(すなわち、領域131に展開されている画像A1の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、領域131に展開されている画像データに対応する画像A1が表示される。このとき、表示開始位置P1として指示したアドレス「0000」は、領域131の先頭アドレスであり、アドレス生成部102に指示した移動時間が経過している。したがって、表示コントローラ101は、表示開始位置P1の移動方向を上下方向のうちいずれにするかを決定する。図6の例は、エフェクト方向が下の場合であるので、表示コントローラ101は、表示開始位置P1の移動方向を上に決定し、表示開始位置P1の移動方向(すなわち、上方向)に、次に表示する画像が展開されている1画面分の領域があるか否かを判定する。
図6の例においては、VRAMマップ121−12の領域131の上方向には、次に表示する画像が展開されている1画面分の領域がない。したがって、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、VRAMマップ121−13に示されるように、表示開始位置P1の移動方向とは逆方向にある領域132に、現在表示されている画像A1の画像データを複製させる。
メモリコントローラ103により、VRAM104(VRAMマップ121−13)の領域132に、領域131に展開されている画像A1の画像データが複製され、記録されると、表示コントローラ101は、アドレス生成部102を制御し、VRAMマップ121−14に示されるように、領域131の先頭アドレス(アドレス「0000」)に指示していた表示開始位置P1を、領域132の先頭アドレス(アドレス「0800」)に移動させる。
すなわち、アドレス生成部102は、アドレス変換テーブルを参照して、領域132の先頭アドレス(アドレス「0800」)を生成し、アドレス「0800」をメモリコントローラ103に供給する。メモリコントローラ103は、アドレス生成部102から供給される、VRAM104のアドレス「0800」の位置に表示開始位置P1を移動させ、アドレス「0800」から始まる表示領域V1分の画像データ(すなわち、領域132に展開されている画像A1の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、領域132に展開されている画像データに対応する画像A1が表示される。なお、同じ画像A1が表示されているので、表示部28を見ているユーザには、複製された画像A1が変更されて表示されたことはわからない。
そして、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、VRAMマップ121−15に示されるように、バッファ23からランダムに選択した画像Z1の画像データを読み出させ、表示領域V1から外れた領域131に展開させる。その後、表示コントローラ101は、アドレス生成部102を制御し、表示開始位置P1を、領域132の先頭アドレス(アドレス「0800」)乃至領域131の先頭アドレス(アドレス「0000」)の移動区間を所定の移動時間で、図中上方向に順次移動させる。
これにより、表示部28には、表示領域V1に含まれる画像データに対応する画像が順次表示され、VRAMマップ121−11以降と同様の処理が、展開、表示される画像が置き換えられて、実行される。
以上のように、エフェクト方向が下方向のプッシュイン表示が連続的に実行される。
以上により、エフェクト方向が上下方向のプッシュイン表示においては、表示開始位置の移動方向に、次に表示される画像データが展開されていない場合には、移動方向とは逆方向の領域に、表示中の画像データを複製し、複製した画像データが展開されている領域に表示開始位置を移動させて、移動させた表示開始位置の移動方向の領域に、次に表示される画像データを展開することを繰り返すようにしたので、1画面分の領域が少なくとも2つあれば、プッシュイン表示を無限に繰り返すことができる。
なお、この場合、表示中の画像データが複製されるので、VRAM104から読み出される画像データ量が多くなってしまうことがないので、画像データの読み出しが遅くなるようなことは抑制される。
次に、図7および図8を参照して、図4の表示制御部により実行される左右方向のプッシュイン表示処理を説明する。
図7および図8は、左右方向のプッシュイン表示を行う場合のVRAM104の仮想アドレス空間であるVRAMマップ151の状態を示している。なお、図中左側に示されるアドレスは、VRAMマップ151に対応するVRAM104の実際のアドレスである。図7および図8において、VRAMマップ151は、左から順に、アドレス「0000」乃至アドレス「07FF」からなる1画面分の領域161と、アドレス「0800」乃至アドレス「0FFF」からなる1画面分の領域162が横に並んで構成されている。
なお、図7のVRAMマップ151−0、およびVRAMマップ151−1乃至151−5、並びに図8のVRAMマップ151−0、およびVRAMマップ151−11乃至151−15の枝番は、処理の順番を表している。また、各VRAMマップ151上には、各処理時における表示開始位置P2と表示領域V2が示されており、表示領域V2の下部の矢印は、表示開始位置P2の移動方向を表している。
まず、図7を参照して、エフェクト方向が右方向のプッシュイン表示処理を説明する。
メモリコントローラ103は、VRAMマップ151−0に示されるように、領域161および領域162に、バッファ23から画像A1および画像A2の画像データをそれぞれ読み出して展開する。アドレス生成部102は、表示コントローラ101の制御のもと、メモリコントローラ103に、表示開始位置P2としてアドレス「0000」(領域161の先頭アドレス)を指示してくる。
メモリコントローラ103は、VRAM104のアドレス「0000」の位置に表示開始位置P2を移動させ、アドレス「0000」から始まる表示領域V2分の画像データ(この場合、領域161に展開されている画像A1の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。これにより、表示部28には、領域162に展開されている画像データに対応する画像A1が表示される。
1画像である画像A1が表示されると、表示コントローラ101は、所定の時間(例えば3秒間など)、画像A1を表示させつつ、表示開始位置P2の移動方向を左右方向のうちいずれにするかを決定する。図7の例は、エフェクト方向が右の場合であるので、表示コントローラ101は、表示開始位置P2の移動方向を左に決定し、表示開始位置P2の移動方向(すなわち、左方向)に、次に表示する画像が展開されている1画面分の領域があるか否かを判定する。
図7の例においては、VRAMマップ151−0の領域161の左方向には、次に表示する画像が展開されている1画面分の領域がない。したがって、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、VRAMマップ151−1に示されるように、表示開始位置P2の移動方向とは逆方向にある領域162に、現在表示されている画像A1の画像データを複製させる。
メモリコントローラ103により、VRAM104(VRAMマップ151−1)の領域162に、領域161に展開されている画像A1の画像データが複製され、記録されると、表示コントローラ101は、アドレス生成部102を制御し、VRAMマップ151−2に示されるように、領域161の先頭アドレス(アドレス「0000」)に指示していた表示開始位置P2を、領域162の先頭アドレス(アドレス「0800」)に移動させる。
すなわち、アドレス生成部102は、アドレス変換テーブルを参照して、領域162の先頭アドレス(アドレス「0800」)を生成し、アドレス「0800」をメモリコントローラ103に供給する。メモリコントローラ103は、アドレス生成部102から供給される、VRAM104のアドレス「0800」の位置に表示開始位置P2を移動させ、アドレス「0800」から始まる表示領域V2分の画像データ(すなわち、領域162に展開されている画像A1の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、領域162に展開されている画像データに対応する画像A1が表示される。なお、同じ画像A1が表示されているので、表示部28を見ているユーザには、複製された画像A1が変更されて表示されたことはわからない。
そして、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、VRAMマップ151−3に示されるように、バッファ23からランダムに選択した画像A9の画像データを読み出させ、表示領域V2から外れた領域161に展開させる。その後、表示コントローラ101は、アドレス生成部102を制御し、VRAMマップ151−4に示されるように、表示開始位置P2を、領域162の先頭アドレス(アドレス「0800」)乃至領域161の先頭アドレス(アドレス「0000」)の移動区間を、所定の移動時間で、図中左方向に順次移動させる。
すなわち、アドレス生成部102は、表示開始位置P2を、アドレス「0800」乃至アドレス「0000」の移動区間を所定の移動時間で順次移動させるように、アドレス変換テーブルを参照して、アドレスを生成し、生成したアドレスを、メモリコントローラ103に供給する。
メモリコントローラ103は、アドレス生成部102から供給されるアドレスに基づいて、表示開始位置P2および表示領域V2を、VRAM104のアドレス「0800」乃至アドレス「0000」の間を順次移動させ、その都度、表示開始位置P2から始まる表示領域V2分の画像データを読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、表示領域V2に含まれる画像データに対応する画像が順次表示される。なお、表示領域V2に含まれる画像データの割合は、最初は、画像A1の割合が多いが、表示開始位置P2が左方向に移動するので、表示領域V2分の画像データが順次読み出される毎に、画像A9の割合が多くなる。すなわち、表示開始位置P2が、アドレス「0800」乃至アドレス「0000」の間を順次移動されることにより、表示部28には、あたかも、画像A1が画像A9により図中右方向に押し出されていくように表示され、右方向のプッシュインが実現される。
このようにして表示開始位置P2および表示領域V2をアドレス「0800」乃至アドレス「0000」の間を順次移動させる処理は、表示開始位置P2としてアドレス「0000」が指示されるまで繰り返される。そして、最終的に、アドレス生成部102からの指示に応じて、メモリコントローラ103は、VRAMマップ151−5に示されるように、アドレス「0000」(領域161の先頭アドレス)の位置に表示開始位置P2を移動させ、VRAM104のアドレス「0000」から始まる表示領域V2分の画像データ(すなわち、領域161に展開されている画像A9の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、領域161に展開されている画像データに対応する画像A9が表示される。
このとき、表示開始位置P2として指示したアドレス「0000」は、領域161の先頭アドレスであり、アドレス生成部102に指示した移動時間が経過している。したがって、表示コントローラ101は、表示開始位置P2の移動方向を左右方向のうちいずれにするかを決定する。図7の例は、エフェクト方向が右の場合であるので、表示コントローラ101は、表示開始位置P2の移動方向を左に決定し、表示開始位置P2の移動方向(すなわち、左方向)に、次に表示する画像が展開されている1画面分の領域があるか否かを判定する。
図7の例においては、VRAMマップ151−5の領域161の左方向には、VRAMマップ151−0の場合と同様に、次に表示する画像が展開されている1画面分の領域がない。したがって、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、表示開始位置P2の移動方向とは逆方向にある領域162に、現在表示されている画像A9のデータを複製させる。すなわち、これ以降、上述したVRAMマップ151−1以降と同様の処理が、展開、表示される画像が置き換えられて、繰り返し実行される。
以上のように、エフェクト方向が右方向のプッシュイン表示が連続的に実行される。
次に、図8を参照して、左方向のプッシュイン表示処理を説明する。なお、図8において、図7の場合と同じ処理については、繰り返しになるので、その詳細な説明は適宜省略する。
メモリコントローラ103は、VRAMマップ151−0に示されるように、領域161および領域162に、バッファ23から画像A1および画像A2の画像データをそれぞれ読み出して展開する。アドレス生成部102は、表示コントローラ101の制御のもと、メモリコントローラ103に、表示開始位置P2としてアドレス「0000」(領域161の先頭アドレス)を指示してくる。
メモリコントローラ103は、VRAM104のアドレス「0000」の位置に表示開始位置P2を移動させ、アドレス「0000」から始まる表示領域V2分の画像データ(この場合、領域161に展開されている画像A1の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。これにより、表示部28には、領域161に展開されている画像データに対応する画像A1が表示される。
1画像である画像A1が表示されると、表示コントローラ101は、所定の時間(例えば3秒間など)、画像A1を表示させつつ、表示開始位置P2の移動方向を左右方向のうちいずれにするかを決定する。図8の例は、エフェクト方向が左の場合であるので、表示コントローラ101は、表示開始位置P2の移動方向を右に決定し、表示開始位置P2の移動方向(すなわち、右方向)に、次に表示する画像が展開されている1画面分の領域があるか否かを判定する。
図8の例においては、VRAMマップ151−0の領域161の右方向には、次に表示する画像が展開されている1画面分の領域162がある。したがって、表示コントローラ101は、アドレス生成部102を制御し、VRAMマップ151−11に示されるように、表示開始位置P2を、領域161の先頭アドレス(アドレス「0000」)乃至領域162の先頭アドレス(アドレス「0800」)の移動区間を、所定の移動時間で、図中右方向に順次移動させる。
すなわち、アドレス生成部102は、表示開始位置P2を、アドレス「0000」乃至アドレス「0800」の移動区間を、所定の移動時間で順次移動させるように、アドレス変換テーブルを参照して、アドレスを生成し、生成したアドレスを、メモリコントローラ103に供給する。
メモリコントローラ103は、アドレス生成部102から供給されるアドレスに基づいて、表示開始位置P2および表示領域V2を、VRAM104のアドレス「0000」乃至アドレス「0800」の間を、図中右方向に順次移動させ、その都度、表示開始位置P2から始まる表示領域V2分の画像データを読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、表示領域V2に含まれる画像データに対応する画像が順次表示される。なお、表示領域V2に含まれる画像データの割合は、最初は、画像A1の割合が多いが、表示開始位置P2が右方向に移動するので、表示領域V2分の画像データが順次読み出される毎に、画像A2の割合が多くなる。すなわち、表示開始位置P2が、アドレス「0000」乃至アドレス「0800」の間を順次移動されることにより、表示部28には、あたかも、画像A1が画像A2により図中左向きに押し出されていくように表示され、左方向のプッシュインが実現される。
このようにして表示開始位置P2および表示領域V2をアドレス「0000」乃至アドレス「0800」の間を順次移動させる処理は、表示開始位置P2としてアドレス「0800」が指示されるまで繰り返される。そして、最終的に、アドレス生成部102からの指示に応じて、メモリコントローラ103は、VRAMマップ151−12に示されるように、アドレス「0800」(領域162の先頭アドレス)の位置に表示開始位置P2を移動させ、アドレス「0800」から始まる表示領域V2分の画像データ(すなわち、領域162に展開されている画像A2の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、領域162に展開されている画像データに対応する画像A2が表示される。
このとき、表示開始位置P2として指示したアドレス「0800」は、領域162の先頭アドレスであり、アドレス生成部102に指示した移動時間が経過している。したがって、表示コントローラ101は、表示開始位置P2の移動方向を左右方向のうちいずれにするかを決定する。図8の例は、エフェクト方向が左の場合であるので、表示コントローラ101は、表示開始位置P2の移動方向を右に決定し、表示開始位置P2の移動方向(すなわち、右方向)に、次に表示する画像が展開されている1画面分の領域があるか否かを判定する。
図8の例においては、VRAMマップ151−12の領域162の右方向には、次に表示する画像が展開されている1画面分の領域がない。したがって、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、VRAMマップ151−13に示されるように、表示開始位置P2の移動方向とは逆方向にある領域161に、現在表示されている画像A2の画像データを複製させる。
メモリコントローラ103により、VRAM104(VRAMマップ151−13)の領域161に、領域162に展開されている画像A2の画像データが複製され、記録されると、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、VRAMマップ151−14に示されるように、領域162の先頭アドレス(アドレス「0800」)に指示していた表示開始位置P2を、領域161の先頭アドレス(アドレス「0000」)に移動させる。
すなわち、アドレス生成部102は、アドレス変換テーブルを参照して、領域161の先頭アドレス(アドレス「0000」)を生成し、アドレス「0000」をメモリコントローラ103に供給する。メモリコントローラ103は、アドレス生成部102から供給される、VRAM104のアドレス「0000」の位置に表示開始位置P2を移動させ、アドレス「0000」から始まる表示領域V2分の画像データ(すなわち、領域161に展開されている画像A2の画像データ)を読み出し、ドライバ105を介して表示部28に供給する。
これにより、表示部28には、領域161に展開されている画像データに対応する画像A2が表示される。なお、同じ画像A2が表示されているので、表示部28を見ているユーザには、複製された画像A2が変更されて表示されたことはわからない。
そして、表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、VRAMマップ151−15に示されるように、バッファ23からランダムに選択した画像A3の画像データを読み出させ、表示領域V2から外れた領域162に展開させる。その後、表示コントローラ101は、アドレス生成部102を制御し、表示開始位置P2を、領域161の先頭アドレス(アドレス「0000」)乃至領域162の先頭アドレス(アドレス「0800」)の移動区間を所定の移動時間で、図中右方向に順次移動させる。
これにより、表示部28には、表示領域V2に含まれる画像データに対応する画像が順次表示され、VRAMマップ151−11以降と同様の処理が、展開、表示される画像が置き換えられて、実行される。
以上のように、エフェクト方向が右方向のプッシュイン表示が連続的に実行される。
以上により、エフェクト方向が左右方向の場合であっても、表示開始位置の移動方向に、次に表示される画像データが展開されていない場合には、移動方向とは逆方向の領域に、表示中の画像データを複製し、複製した画像データが展開されている領域に表示開始位置を移動させて、移動させた表示開始位置の移動方向の領域に、次に表示される画像データを展開することを繰り返すようにしたので、1画面分の領域が少なくとも2つあれば、プッシュイン表示を無限に繰り返すことができる。
図9は、VRAM104の仮想アドレス空間であるVRAMマップの他の例を示している。なお、図中各領域181乃至184の近傍に示されるアドレスは、VRAMマップ171の各領域181乃至184の先頭(領域の左上の)アドレスに対応するVRAM104の実際のアドレスであり、VRAMマップ171上には、表示開始位置P3と表示領域V3が示されている。
図9において、VRAMマップ171は、2段×2列の4つの1画面分の領域181乃至184で構成されている。VRAMマップ171の上段においては、アドレス「0000」乃至アドレス「07FF」からなる1画面分の領域181と、アドレス「0800」乃至アドレス「0FFF」からなる1画面分の領域182が横に並んで構成されている。VRAMマップ171の下段においては、アドレス「1000」乃至アドレス「17FF」からなる1画面分の領域183と、アドレス「1800」乃至アドレス「1FFF」からなる1画面分の領域184が横に並んで構成されている。
すなわち、実際のVRAM104上においては、点線で矢印に示す、領域181、領域182、領域183、および領域184の順に領域が配置されている。
図9のVRAMマップ171においては、領域181および領域182を使用し、表示開始位置P3を、領域181の先頭アドレス乃至領域182の先頭アドレス(すなわち、VRAM104のアドレス「0000」乃至アドレス「0800」)の間を右方向に移動させることにより、図8を参照して上述したように、表示部28には、あたかも、画像A1が画像A2により図中左方向に押し出されていくように表示されるという左方向のプッシュインが実現される。もちろん、図7を参照して上述したような右方向のプッシュインも同様に実現可能である。
また、VRAMマップ171においては、領域181および領域183を使用し、表示開始位置P3を、領域181の先頭アドレス乃至領域183の先頭アドレスの間を下方向に移動させることにより、図5を参照して上述したように、表示部28には、あたかも、画像A1が画像B1により図中上方向に押し出されていくように表示されるという上方向のプッシュインが実現される。もちろん、図6を参照して上述したような下方向のプッシュインも同様に実現可能である。
ただし、この場合には、移動区間には、領域182(アドレス「0800」乃至アドレス「0FFF」)が使用されないため、実際には、アドレス生成部102により、VRAM104のアドレス「0800」乃至アドレス「0FFF」を考慮してアドレス生成が行われる。
以上のように、上下方向と左右方向のプッシュイン表示を行う場合、図9のVRAMマップ171を使用することにより、VRAMマップ171の領域181を共有することができるので、VRAM104の領域を削減することができる。
また、図9のVRAMマップ171における上下方向のプッシュインの場合のように、移動区間に使用されないアドレスがあったとしても、そのアドレスは1画面分の領域として予め取得可能であるため、簡単にアドレス生成を行うことができる。
もちろん、少なくとも領域181乃至領域183を使用し、上下方向と左右方向のプッシュイン表示を組み合わせて実行することにより、上下左右方向をランダムにプッシュイン表示させることも可能である。
さらに、VRAMマップ171においては、領域181乃至領域184すべてを使用し、表示開始位置P3を、領域181の先頭アドレス乃至領域184の先頭アドレスの間を移動させることにより、図10に示されるように、エフェクト方向が、図中左上から右下への移動(またその逆である右下から左上への移動)を行ったり、右上から左下への移動(またその逆である左下から右上への移動)を行う、斜め方向のプッシュイン表示も実現可能とされる。
具体的に説明すると、図中矢印に示されるように、表示位置P3の移動方向が左上から右下(すなわち、エフェクト方向が右下から左上)である場合に、表示位置P3が領域184の先頭アドレス(アドレス「1800」)に移動され、表示部28に、領域184に展開されている画像データに対応する画像B2が表示されている。
例えば、図中点線で示されるように、次に画像B2の右隣、下、および右下に表示される画像が、それぞれ画像B3、画像C2、および画像C3であるとすると、表示コントローラ101は、表示位置P3の移動方向に、次に表示する画像に対応する画像データが展開されている1画面分の3つの領域がないと判定し、アドレス生成部102およびメモリコントローラ103を制御し、表示開始位置P1の移動方向とは逆方向にある領域181に、現在表示されている画像B2の画像データを複製させ、記録させる。
そして、表示コントローラ101は、アドレス生成部102を制御し、領域184の先頭アドレス(アドレス「1800」)に指示していた表示開始位置P3を、領域181の先頭アドレス(アドレス「0000」)に移動させる。これにより、表示部28には、領域181に展開されている画像データに対応する画像B2が表示される。
表示コントローラ101は、アドレス生成部102およびメモリコントローラ103を制御し、バッファ23からランダムに選択した画像B3、画像C2、および画像C3の画像データを読み出させ、領域182、領域183、および領域184にそれぞれに展開させ、アドレス生成部102を制御し、表示開始位置P3を、領域181の先頭アドレス(アドレス「0000」)乃至領域184の先頭アドレス(アドレス「1800」)の移動区間を所定の移動時間で、図中右下方向に順次移動させる。
これにより、表示部28には、表示領域V3に含まれる画像データに対応する画像が順次表示される。すなわち、表示部28には、あたかも、画像B2が画像B3、画像C2、および画像C3により図中上方向に押し出されていくように表示され、最後には、画像C3だけが表示されるという斜め方向のプッシュイン表示が実現される。
なお、この場合にも、移動区間には、領域182および領域183(アドレス「0800」乃至アドレス「17FF」)が使用されないため、実際には、アドレス生成部102により、VRAM104のアドレス「0800」乃至アドレス「17FF」を考慮してアドレス生成が行われる。
以上のように、斜め方向のプッシュイン表示においても、表示開始位置の移動方向に、次に表示される画像データが展開されていない場合には、移動方向とは逆方向の領域に、表示中の画像データを複製し、複製した画像データが展開されている領域に表示開始位置を移動させて、移動させた表示開始位置の移動方向の領域に、次に表示される画像データを展開することを繰り返すようにしたので、1画面分の領域が少なくとも4つあれば、斜め方向のプッシュイン表示を無限に繰り返すことができる。
次に、図11のフローチャートを参照して、図1の記録再生装置1におけるプッシュイン表示処理を説明する。
ユーザは、操作部42を操作して、ディスク60の所定のフォルダに記録されている画像のプッシュイン表示を記録再生装置1に指示する。操作部42は、記録再生装置1に対するユーザの指示を受け付け、その指示を表す操作信号をメインCPU41に供給する。
メインCPU41は、ステップS11において、操作部42からの操作信号に応じて、記録再生部48を制御し、ディスク60から画像データを読み出させ、読み出させた画像データとともに、その画像データをバッファ23に記憶させる第1のコマンドおよび画像データをプッシュイン表示させる第2のコマンドを、通信部52、シリアルバス71、および通信部26を介して、カメラ用CPU21に送信する。
なお、このとき読み出される画像データは、サムネイル用の画像データであり、一度に60画像の画像データが送信される。したがって、所定のフォルダに60画像以上の画像データが記録されている場合には、残りの画像データは、後述するステップS14において、バッファ23に蓄積されている画像データが所定の値よりも少なくなったと判定された(例えば、バッファ23に蓄積されている画像データが残り5画像データになった)ときに送信される。
カメラ用CPU21は、ステップS12において、メインCPU41から送信されてくる第1のコマンドに応じて、メイン41から送信されてくる画像データをバッファ23に蓄積し、ステップS13に進み、第2のコマンドに応じて、表示コントローラ101を制御し、プッシュイン表示の表示制御処理を実行させる。この表示制御処理を、図12のフローチャートと上述した図8のVRAMマップ151を参照して説明する。
表示コントローラ101は、バッファ23に蓄積された画像データの中からランダムに画像データを選択し、アドレス生成部102およびメモリコントローラ103を制御し、選択した画像データをバッファ23から読み出させ、VRAM104の所定の領域に画像データを展開させ、ステップS32に進む。なお、表示コントローラ101は、処理開始時には、画像データが展開される領域すべて(例えば、図8のVRAMマップ151の場合、2つの領域161および領域162)に画像データ(例えば、画像A1および画像A2の画像データ)を展開させる。
すなわち、表示コントローラ101は、メモリコントローラ103に、バッファ23から画像データ(例えば、画像A1の画像データ)を読み出すように制御し、アドレス生成部102に、メモリコントローラ103が画像データを展開する所定の領域(例えば、領域161)を指定する。アドレス生成部102は、VRAMマップ151とVRAM104のアドレス空間とのアドレス変換テーブルを参照し、所定の領域のアドレスを生成し、生成したアドレスをメモリコントローラ103に供給する。メモリコントローラ103は、表示コントローラ101の制御のもと、画像データをバッファ23から読み出し、アドレス生成部102から供給されたVRAM104のアドレスに展開(復号し、記録)する。
表示コントローラ101は、ステップS32において、表示部28に画像が表示されているか否かを判定する。いまの場合、まだ、画像は表示されていないので、表示コントローラ101は、ステップS32において、画像が表示されていないと判定し、ステップS33に進む。
表示コントローラ101は、ステップS33において、アドレス生成部102を介して、メモリコントローラ103に表示開始位置(例えば、表示開始位置P2)を指定する。すなわち、メモリコントローラ103に、表示開始位置のアドレス生成部102から供給されるアドレスへの移動が指示される。メモリコントローラ103は、ステップS34において、アドレス生成部102から供給されるアドレス(例えば、アドレス「0000」)に基づいて、VRAM104の所定の領域(例えば、領域161)に展開されている表示領域(例えば、表示領域V2)分の画像データを読み出し、読み出した画像データを、ドライバ105を介して、表示部28に表示させ、ステップS35に進む。
これにより、例えば、図8のVRAMマップ151−0に示される領域161に展開されている画像データに対応する画像A1が表示部28に表示される。
表示コントローラ101は、ステップS35において、表示開始位置(表示領域)の移動方向をランダムに決定し、ステップS36に進み、決定した表示開始位置の移動方向に、画像データが展開されているか否かを判定する。例えば、表示開始位置の移動方向を右方向に決定した場合、図8のVRAMマップ151−0においては、表示開始位置P2(表示領域V2)の右方向の領域162に、画像A2の画像データが展開されている。
表示コントローラ101は、ステップS36において、決定した表示開始位置の移動方向に、画像データが展開されていると判定した場合、ステップS37に進み、アドレス生成部102に、表示開始位置の移動区間と移動時間を指示し、ステップS38に進む。例えば、1画像が表示された場合の表示時間が3秒間である場合には、表示コントローラ101は、1画像が表示されてから3秒後から、次の1画像が表示されるまでの移動時間を設定し、アドレス生成部102に供給する。すなわち、移動時間は、表示開始位置が、1画像から次の1画像までを移動する移動時間でもある。
アドレス生成部102は、ステップS38において、表示コントローラ101から指示された表示開始位置の移動区間と移動時間に基づいて、表示開始位置の移動を指示し、ステップS39に進む。すなわち、アドレス生成部102は、移動区間と移動時間に基づいて、何秒後にどれだけ移動させるかを決めて、アドレス変換テーブルを参照し、表示開始位置のアドレスを生成し、所定の時刻に、生成したアドレスをメモリコントローラ103に供給する。
メモリコントローラ103は、ステップS39において、アドレス生成部102から供給される表示開始位置のアドレスに基づいて、その表示領域に展開されている画像データを読み出し、読み出した画像データを、ドライバ105を介して、表示部28に供給し、対応する画像を表示部28に表示させ、ステップS40に進む。
表示コントローラ101は、内蔵するクロック(図示せぬ)で計時動作を行い、ステップS40において、ステップS37においてアドレス生成部102に指示した移動時間が経過したか否かを判定し、移動時間がまだ経過していないと判定した場合、ステップS38に戻り、それ以降の処理を繰り返す。すなわち、移動時間が経過するまで、順次移動された表示開始位置が指示され、移動された表示開始位置から表示領域分の画像が表示部28から順次表示される。
これにより、例えば、図8のVRAMマップ151−11に示されるように、表示開始位置P2が右方向に順次移動されるので、表示部28には、画像A2が画像A1を左方向に押し出すようにして表示され、エフェクト方向が左方向のプッシュイン表示が実現される。
一方、表示コントローラ101は、ステップS40において、移動時間が経過したと判定した場合、ステップS35に戻り、それ以降の処理を繰り返す。
すなわち、移動時間が経過すると、例えば、図8のVRAMマップ151−12に示されるように、表示開始位置P2が、画像A2が展開されている領域162の先頭アドレス「0800」と一致し、表示部28には、1画像(画像A2)が表示される。したがって、表示コントローラ101は、ステップS35において、表示開始位置の移動方向をランダムに決定し、ステップS36に進み、決定した表示開始位置の移動方向に、画像データが展開されているか否かを判定する。
例えば、図8のVRAMマップ151−12において、再度、表示開始位置の移動方向を右方向に決定した場合、領域162の右方向に、画像データが展開されていない。すなわち、表示開始位置P2の移動方向には、画像データが展開されている領域が存在しない。
この場合、表示コントローラ101は、ステップS36において、決定した表示開始位置の移動方向に、画像データが展開されていないと判定し、ステップS41に進み、アドレス生成部102およびメモリコントローラ103を制御し、表示開始位置の移動方向と反対側の領域に、現在表示中の画像に対応する画像データ(すなわち、領域162に展開されている画像データ)を複製させ、ステップS37に進む。
すなわち、表示コントローラ101は、アドレス生成部102に、メモリコントローラ103が画像データを複製する、表示開始位置P2の移動方向と反対側の領域(例えば、領域161)を指定し、メモリコントローラ103を制御し、画像データ(例えば、画像A2の画像データ)を複製させる。アドレス生成部102は、アドレス変換テーブルを参照し、移動方向と反対側の領域のアドレスを生成し、生成したアドレスをメモリコントローラ103に供給する。メモリコントローラ103は、表示コントローラ101の制御のもと、画像データを、アドレス生成部102から供給された所定の領域のアドレスに複製し、記録する。
これにより、例えば、図8のVRAMマップ151−13に示される領域162に展開されている画像A2の画像データが、領域161にも複製され、記録される。
表示コントローラ101は、ステップS42において、アドレス生成部102を介して、メモリコントローラ103に表示開始位置P2として領域161の先頭アドレスを指定し(すなわち、表示開始位置P2の領域161の先頭アドレスへの移動を指示し)、ステップS43に進む。メモリコントローラ103は、ステップS43において、アドレス生成部102から供給されるアドレスに基づいて、VRAM104の領域161に展開されている画像データを読み出し、読み出した画像データを、ドライバ105を介して、表示部28に供給し、対応する画像を表示部28に表示させる。そして、表示コントローラ101は、表示制御処理を一旦終了し、図11のステップS13に戻り、ステップS14に進む。
これにより、例えば、図8のVRAMマップ151−14に示される領域161に展開されている画像データに対応する画像A2が表示部28に表示される。
図11のステップS14において、カメラ用CPU21は、バッファ23の画像データの蓄積量が所定の値より少ないか否かを判定する。ステップS14において、バッファ23の画像データの蓄積量が所定の値より多い、すなわち、バッファ23には、画像データが多く蓄積されていると判定された場合、ステップS12(図12のステップS31)に戻り、表示コントローラ101を制御し、それ以降の処理を繰り返す。
すなわち、図12のステップS31において、表示コントローラ101は、バッファ23に蓄積された画像データの中からランダムに画像データ(例えば、画像A3の画像データ)を選択し、アドレス生成部102およびメモリコントローラ103を制御し、図8のVRAMマップ151−15に示されるように、選択した画像データをバッファ23から読み出させ、VRAM104の所定の領域(例えば、領域162)に画像データを展開させ、ステップS32に進む。
この場合、前回のステップS43において、例えば、領域161に展開されている画像データに対応する画像A2が表示部28に表示されているので、表示コントローラ101は、ステップS32において、画像が表示されていると判定し、ステップS37に進み、それ以降の処理を繰り返す。
一方、図11のステップS14において、バッファ23の画像データの蓄積量が所定の値より少ないと判定された場合、カメラ用CPU21は、ステップS15に進み、メインCPU41が、ディスク60の所定のフォルダから画像データをすべて読み出したか否かを判定する。なお、メインCPU41は、所定のフォルダの画像データを読み出し、送信してくる際に、所定のフォルダの画像データをすべて読み出した場合には、それを指示するコマンドに含めて画像データの読み出し完了も通知してくる。
したがって、メインCPU41から、画像データの読み出し完了が通知されていない場合、カメラ用CPU21は、ステップS15において、メインCPU41が、ディスク60の所定のフォルダから画像データをすべて読み出していないと判定し、メインCPU41に、通信部26、シリアルバス71、および通信部52を介して、画像データを要求し、ステップS11に戻り、それ以降の処理を繰り返す。
一方、メインCPU41から、画像データの読み出し完了が通知された場合、カメラ用CPU21は、ステップS15において、メインCPU41が、ディスク60の所定のフォルダから画像データをすべて読み出したと判定し、ステップS16に進み、バッファ23の画像データがすべて読み出されたか否かを判定する。
カメラ用CPU21は、ステップS16において、バッファ23の画像データがすべて読み出されていないと判定した場合、ステップS12(図12のステップS31)に戻り、表示コントローラ101を制御し、それ以降の処理を繰り返す。すなわち、バッファ23に蓄積されている画像データがメモリコントローラ103によりすべて読み出されるまで、プッシュイン表示の表示制御処理が繰り返される。
カメラ用CPU21は、ステップS16において、バッファ23の画像データがすべて読み出されたと判定した場合、プッシュイン表示処理を終了する。
以上のように、表示中の第1の画像データが展開されている第1の領域の表示開始位置(表示領域)の移動方向に、次に表示する第2の画像データが展開されていない場合、移動方向と反対側の第2の領域に、表示中の第1の画像データを複製し、複製した第2の領域の第1の画像データに表示開始位置を移動させ、第1の領域に、次に表示する第2の画像データを展開するようにしたので、単純な処理で、簡単に、プッシュイン表示を行うことができる。
また、このプッシュイン表示を実現するためには、少なくとも、1画面分の領域が2つあればよく、VRAMの容量を少なくすることができる。さらに、上述したような簡単なVRAMマップを設定すればよく、ハードウェア構成も簡単に構成できるので、この記録再生装置自体の大きさも小型化することができる。
さらに、ディスク60から読み出した画像データを一旦バッファ32に蓄積するようにしたので、カメラブロック11と記録再生ブロック12間のシリアルバス71のように、ディスク60と表示部28間において画像データの送信速度が遅い場合に、表示させる画像データが途切れてしまうことを抑制することができ、スムーズな連続再生を実現することができる。
なお、上記説明においては、図8のVRAMマップ151を用いて説明したが、図5および図6のVRAMマップ131の場合、図9のVRAMマップ171の場合も、アドレス生成部102のアドレス変換テーブルが異なるだけであり、基本的に同様な処理を行うので、その説明は繰り返しになるので省略する。
また、本発明は、上述したプッシュイン表示のみに限らず、連続的に画像を表示させるスクロール表示にも適用することができる。
上記説明においては、記録再生装置1を用いて説明したが、本発明は、例えば、記録媒体に記録されている画像データを再生、表示する装置に適用することができる。すなわち、記録再生装置に限らず、パーソナルコンピュータに適用することができることはもちろん、例えば、携帯電話機、その他のPDA(Personal Digital Assistant)機器や、その他、記録媒体に記録されている画像データを再生、表示する機能が付加されていれば、AV(Audio Visual)機器や家電(家庭用電化製品)などのCE(Consumer Electronics)機器などにも適用することもできる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。この場合、記録再生装置は、例えば、図13に示されるようなパーソナルコンピュータ401により構成される。
図13に示されるように、CPU411は、ROM(Read Only Memory)412に記録されているプログラム、または記憶部418からRAM(Random Access Memory)413にロードされたプログラムに従って各種の処理を実行する。RAM413にはまた、CPU411が各種の処理を実行する上において必要なデータなども適宜記憶される。
例えば、CPU411が、上述した図3のカメラCPU21に相当し、ROM412、RAM413、および、記憶部418が、上述したバッファ23に相当することになる。
CPU411、ROM412、およびRAM413は、バス414を介して相互に接続されている。このバス414にはまた、入出力インタフェース415も接続されている。
入出力インタフェース415には、撮像部22や、ボタン、マウスなど操作部42からなる入力部416、表示部28や、スピーカなどからなる出力部417、バッファ23や、ハードディスクなどで構成される記憶部418、モデム、ターミナルアダプタなどより構成される通信部419が接続されている。通信部419は、インターネットを含むネットワークを介して他の情報処理装置との通信処理を行う。
入出力インタフェース405にはまた、必要に応じて、ドライブ210が接続され、磁気ディスク421、光ディスク422、光磁気ディスク423、或いは半導体メモリ424などよりなるリムーバブル記録媒体が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部418にインストールされる。
即ち、ドライブ210が、上述した図3の記録ブロック12に相当し、リムーバブル記録媒体が、上述した図3のディスク60に相当することになる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
例えば、上述した表示制御部24の機能を有するソフトウェアを構成するプログラムがインストールされる。なお、このプログラムは、全体として上述した一連の処理を実行できれば、その形態は特に限定されない。例えば、上述した各ブロックのそれぞれに対応するモジュールのそれぞれからなるモジュール構成とされてもよいし、幾つかのブロックの機能の一部または全部が組み合わされたモジュール、若しくは、ブロックの機能が分割されたモジュールからなるモジュール構成とされてもよい。或いは、単に1つのアルゴリズムを有するプログラムでもよい。
このようなプログラムを含む記録媒体は、図13に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク421(フロッピディスクを含む)、光ディスク422(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク423(MD(Mini-Disk)を含む)、もしくは半導体メモリ424などよりなるリムーバブル記録媒体(パッケージメディア)により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM412や、記憶部418などで構成される。
ここで、本明細書において、コンピュータに各種の処理を行わせるためのプログラムを記述する処理ステップは、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理(例えば、並列処理あるいはオブジェクトによる処理)も含むものである。
また、プログラムは、1のコンピュータにより処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであってもよい。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであってもよい。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
1 記録再生装置,11 カメラブロック,12 記録再生ブロック,21 カメラ用CPU,23 バッファ,24 表示制御部,28 表示部,41 メインCPU,42 操作部,48 記録再生部,60 ディスク,71 シリアルバス,101 表示コントローラ,102 アドレス生成部,103 メモリコントローラ,104 VRAM,105 ドライバ,121,151,171 VRAMマップ