JP2004029313A - 画像表示装置、方法 - Google Patents
画像表示装置、方法 Download PDFInfo
- Publication number
- JP2004029313A JP2004029313A JP2002184508A JP2002184508A JP2004029313A JP 2004029313 A JP2004029313 A JP 2004029313A JP 2002184508 A JP2002184508 A JP 2002184508A JP 2002184508 A JP2002184508 A JP 2002184508A JP 2004029313 A JP2004029313 A JP 2004029313A
- Authority
- JP
- Japan
- Prior art keywords
- image
- display
- resolution
- images
- layout
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Editing Of Facsimile Originals (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
【課題】画面表示にはサムネール画像だけを使用すると、高速化は図れるが、詳細な画像確認は出来ない。一方、詳細な主画像をデコードして表示すると、多数の画像を全て表示するのに、時間がかかりすぎてしまう。
【解決手段】課題を解決するため本発明においては、サムネール画像を用いて高速にレイアウト表示を行い、同時にバックグラウンドで主画像をデコードし、デコードが完了したものから随時表示を置き換えていくことを特徴とする。
【選択図】 図8
【解決手段】課題を解決するため本発明においては、サムネール画像を用いて高速にレイアウト表示を行い、同時にバックグラウンドで主画像をデコードし、デコードが完了したものから随時表示を置き換えていくことを特徴とする。
【選択図】 図8
Description
【0001】
【発明の属する技術分野】
本発明は、画像をレイアウト表示する方法、装置およびメディアに関する。
【0002】
【従来の技術】
一つ以上の画像をレイアウトして印刷するアプリケーションにおいて、実際に印刷を行う前にモニター上でレイアウト表示を行い、印刷内容を確認するということが一般に行われている。
【0003】
【発明が解決しようとする課題】
しかしながら従来の方式では、表示を行うための画像のデコードに時間がかかり、効率的な作業を妨げるという問題があった。
【0004】
特開2001−054043によれば、これを改善するためサムネール画像を用い、画面表示にはサムネール画像だけを使用し、印刷時に始めて実画像を使用することで高速化を図っているが、この方式によれば画面上で画像の細部を確認できないという問題があった。
【0005】
またレイアウト表示を行うわけではないが特開平11−004367によれば、デジタルカメラ背面の画像表示領域に画像を連続的に切り替えて表示する際にサムネール画像を用い、画像の切り替えを終了(ユーザーが早送りボタンを放すなど)したときに主画像で置き換えるということを行っている。この方式によれば主画像デコード中は次の操作が開始できず、操作性が悪いという問題があった。
【0006】
このように、画面表示にはサムネール画像だけを使用すると、高速化は図れるが、詳細な画像確認は出来ない。一方、詳細な主画像をデコードして表示すると、多数の画像を全て表示するのに、時間がかかりすぎてしまう。
【0007】
【課題を解決するための手段】
上記課題を解決するため本発明においては、サムネール画像を用いて高速にレイアウト表示を行い、同時にバックグラウンドで主画像をデコードし、デコードが完了したものから随時表示を置き換えていくことで、高レスポンス、精細表示の両方の要求を満たすことを実現する。
【0008】
【発明の実施の形態】
〔第1の実施例〕
図1は、本実施例が実行されるコンピュータシステムの構成を示すブロック図である。図1において、101はCPUで、システム全体の制御を行なっている。102はキーボードで、102aのマウスとともにシステムに入力するために使用される。103は表示装置で、CRTや液晶等で構成されている。104はROM、105はRAMで、システムの記憶装置を構成し、システムが実行するプログラムやシステムが利用するデータを記憶する。106はハードディスク装置、107はフロッピー(R)ディスク装置で、システムのファイルシステムに使用される外部記憶装置を構成している。108はプリンタである。
【0009】
図3に、本実施形態のアプリケーションソフトウェアの画面構成例を示す。31〜34は画像表示領域、35はプレビューボタン、36は印刷ボタンである。HDD106にはデジタルカメラの標準規格であるDCF形式の画像データが複数格納されており、操作者がプレビューボタン35を押下すると画像データをCPU101でデコードし、31〜34に表示する。また、印刷ボタン36を押下すると、画面に表示されたレイアウトに従ってプリンタ108を用いて印刷を行う。画像データは必ずしも画像表示領域と同じ大きさ(画素数)であるとは限らないが、周知の画像変倍方法を用いて変倍を行って大きさを調節して表示するものとする。
【0010】
従来、DCF画像の主画像をデコードしてレイアウト表示を行うのが一般的であった。この方法によれば表示装置103の解像度に応じて高精細なレイアウト表示が可能であるが、デコード処理に時間がかかり操作者へのレスポンスが悪いという問題があった。また、DCF画像には主画像のほかに高速なデコードが可能なサムネール画像が格納されており、これを用いてレイアウト表示が行われることがあったが、サムネール画像は表示装置103に比較して解像度が低く、十分なレイアウト確認が困難であるという問題があった。本発明によれば、まずサムネールを用いたレイアウト表示を高速に行い、続いてバックグラウンドスレッドを用いて時間のかかる主画像デコードを行って、デコードが完了した主画像から随時表示を置き換えることにより、高速かつ高精細なレイアウト表示を行うものである。
【0011】
図2のフローチャートを用いて、上記処理の流れを詳細に説明する。
ステップS201で、画像のサムネールをデコードする。
ステップS202で、サムネールを用いてレイアウト表示を行う。
ステップS203で、キャッシュメモリを参照し、表示画像の主画像がキャッシュされているかどうかをチェックし、キャッシュされている主画像だけレイアウト表示を差し替える。
ステップS204で、バックグラウンドスレッドを起動する。
ステップS205で、バックグラウンドスレッドにより主画像のデコードが完了したかどうかをチェックし、デコード中であればS205に戻る。デコードが完了したらS206に進む。
ステップS206で、デコードされた主画像を用いてレイアウト表示を更新する。
ステップS207で、全ての画像表示が主画像に差し替えられたかどうかをチェックし、まだならS205へ、完了したら処理を終了する。
【0012】
続いてバックグラウンドスレッドの処理を説明する。
ステップS208でメインスレッドからの指示を受け、休眠状態を終了して処理を開始する。
ステップS209で変数iを値0で初期化する。
ステップS210でi番目の主画像がキャッシュされているかどうかをチェックし、されていなければS211へ、キャッシュされていればS213へ進む。
ステップS211でi番目の主画像をデコードする。
ステップS212でi番目の主画像をキャッシュする。
ステップS213で変数iを値1だけインクリメントする。
ステップS214で全画像をデコードしたかどうかをチェックし、まだならS210に戻る。完了したらS215に進み、自分自身を休眠状態にする。
【0013】
この処理に従い、まずサムネールを用いて高速にレイアウト表示を行い、続いてキャッシュ内の主画像を用いて表示を更新し、次に比較的低速な主画像デコードが完了した画像から随時表示を更新することで、高レスポンスと高精細表示を両立することができる。
【0014】
また、ステップS204の主画像デコード完了を待つループの間で、キーボード102、マウス102aなどによる操作者からの入力に反応することができるので、時間のかかる主画像デコードを待つ間操作者の入力を受け付けなくなるということがなくなる。
【0015】
なお、ここではステップS202とS203を分離し、まずサムネール表示を行ってからキャッシュ内主画像で置き換えたが、キャッシュ内の主画像を用いた表示が十分高速に行える場合はサムネール表示を省略して、主画像がキャッシュされている画像については最初から主画像を用いてレイアウト表示を行うようにしてもよい。
【0016】
〔第2の実施例〕
図1は、本実施例が実行されるコンピュータシステムの構成を示すブロック図である。図1において、101はCPUで、システム全体の制御を行なっている。102はキーボードで、102aのマウスとともにシステムに入力するために使用される。103は表示装置で、CRTや液晶等で構成されている。104はROM、105はRAMで、システムの記憶装置を構成し、システムが実行するプログラムやシステムが利用するデータを記憶する。106はハードディスク装置、107はフロッピー(R)ディスク装置で、システムのファイルシステムに使用される外部記憶装置を構成している。108はプリンタである。
【0017】
図3に、第2実施形態のアプリケーションソフトウェアの画面構成例を示す。41〜44は画像表示領域、45はプレビューボタン、46は印刷ボタン、47はページ戻しボタン、48はページ送りボタンである。また、49はサムネール画像一覧表示領域であり、操作者はマウス102aを用いるなどして、所望の画像を一覧の中から選択できるようになっている。
【0018】
HDD106にはデジタルカメラの標準規格であるDCF形式の画像データが複数格納されており、特定のディレクトリ内に格納されている全画像データがサムネール画像一覧表示領域に表示されている。図4においては36個の画像の表示しか示されていないが、それ以上の数の画像データがディレクトリ内に格納されている場合はスクロールバーを用いるなどして全画像を表示・選択できるようにする。
【0019】
はじめ画像表示領域41〜44には画像は表示されておらず、サムネール画像一覧表示領域には、HDD106の特定のディレクトリに格納されたDCF画像、1.jpg、2.jpg、3.jpg、...、36.jpgが表示されている。操作者がマウス102aを用いてサムネール画像をクリックしていくと、RAM上の文字列配列に、図5に例示するように、クリックした順に画像ファイル名が格納されていく。これを4つずつ区切って、ページを構成する。すなわち、1ページ目は5.Jpg、3.jpg、8.jpg、4.jpgの4つの画像をレイアウトしたものであり、画面上の表示領域41〜44に表示された様態で、後述するようにプリンタ108から印刷される。2ページ目以降も同様である。
【0020】
操作者がプレビューボタン45を押下すると1ページ目を構成する4つの画像データをCPU101でデコードし、41〜44に表示する。また、印刷ボタン46を押下すると、画面に表示されたレイアウトに従ってプリンタ108を用いて印刷を行う。また、次ページボタン48を押下すると、2ページ目を同様の手順で表示し、現在の表示ページが2ページ目以降の場合には前ページボタン47を押下することで、直前のページを表示することができる。画像データは必ずしも画像表示領域と同じ大きさ(画素数)であるとは限らないが、周知の画像変倍方法を用いて変倍を行って大きさを調節して表示するものとする。
【0021】
従来、DCF画像の主画像をデコードしてレイアウト表示を行うのが一般的であった。この方法によれば表示装置103の解像度に応じて高精細なレイアウト表示が可能であるが、デコード処理に時間がかかり操作者へのレスポンスが悪いという問題があった。また、DCF画像には主画像のほかに高速なデコードが可能なサムネール画像が格納されており、これを用いてレイアウト表示が行われることがあったが、サムネール画像は表示装置103に比較して解像度が低く、十分なレイアウト確認が困難であるという問題があった。本発明によれば、まずサムネールを用いたレイアウト表示を高速に行い、続いてバックグラウンドスレッドを用いて時間のかかる主画像デコードを行って、デコードが完了した主画像から随時表示を置き換えることにより、高速かつ高精細なレイアウト表示を行うものである。
【0022】
図6のフローチャートを用いて、上記処理の流れを詳細に説明する。
ステップS601で、表示対象画像のサムネールを用いてレイアウト表示を行う。サムネール画像は一覧表示領域49に表示する際すでにデコードしているのでこれをキャッシュしておけば、再度デコードする必要がなく高速に表示することができる。
ステップS602で、キャッシュメモリを参照し、表示画像の主画像がキャッシュされているかどうかをチェックし、キャッシュされている主画像だけレイアウト表示を差し替える。
ステップS603で、バックグラウンドスレッドを起動する。
ステップS604で、バックグラウンドスレッドにより主画像のデコードが完了したかどうかをチェックし、デコード中であればS607へ、デコードが完了したらS605に進む。
ステップS605で、デコードされた主画像を用いてレイアウト表示を更新する。
ステップS606で、全ての画像表示が主画像に差し替えられたかどうかをチェックし、まだならS604へ、完了したら処理を終了する。
ステップS607では操作者によりページ移動の指示があったかどうかをチェックする。操作者がポインティングデバイス102aを用いてボタン47乃至48を押下したとき、現在表示しようとしているのと別のページに表示を切り替える必要があるので、ステップS601に戻ってサムネールによるレイアウト表示から表示をやり直す。移動指示がない場合はステップS604に戻る。このように、主画像をデコードしている最中でも随時ページ移動の指示に反応することができるため、操作者から見たレスポンスがよく、操作性を向上することができる。
【0023】
続いてバックグラウンドスレッドの処理を説明する。
ステップS608でメインスレッドからの指示を受け、休眠状態を終了して処理を開始する。
ステップS609で変数iを値0で初期化する。
ステップS610でi番目の主画像がキャッシュされているかどうかをチェックし、されていなければS611へ、キャッシュされていればS613へ進む。ここでi番目の画像とは表示ページを構成する4つの画像のひとつを指しており、現在のページをpとすると、図5のリストの、先頭から(P−1)*4+i番目の画像がi番目の画像表示領域に対応している。以下同様である。
ステップS611でi番目の主画像をデコードする。
ステップS612でi番目の主画像をキャッシュする。
ステップS613で変数iを値1だけインクリメントする。
ステップS614で全画像をデコードしたかどうかをチェックし、まだならS616に進む。完了したらS615に進み、自分自身を休眠状態にする。
ステップS616では、メインスレッドと同様にページ移動の指示があったかどうかの判断を行い、移動されたときはS609へ、移動がなければS610へ進む。
【0024】
この処理に従い、まずサムネールを用いて高速にレイアウト表示を行い、続いてキャッシュ内の主画像を用いて表示を更新し、次に比較的低速な主画像デコードが完了した画像から随時表示を更新することで、高レスポンスと高精細表示を両立することができる。
【0025】
また、ステップS604−S607の主画像デコード完了を待つループの間で、キーボード102、マウス102aなどによる操作者からの入力に反応することができるので、時間のかかる主画像デコードを待つ間でも随時ページ移動などの操作者の入力に反応することができ、操作性を向上することができる。
【0026】
なお、ここではステップS601とS602を分離し、まずサムネール表示を行ってからキャッシュ内主画像で置き換えたが、キャッシュ内の主画像を用いた表示が十分高速に行える場合はサムネール表示を省略して、主画像がキャッシュされている画像については最初から主画像を用いてレイアウト表示を行うようにしてもよい。
【0027】
〔第3の実施例〕
図1は、本実施例が実行されるコンピュータシステムの構成を示すブロック図である。図1において、101はCPUで、システム全体の制御を行なっている。102はキーボードで、102aのマウスとともにシステムに入力するために使用される。103は表示装置で、CRTや液晶等で構成されている。104はROM、105はRAMで、システムの記憶装置を構成し、システムが実行するプログラムやシステムが利用するデータを記憶する。106はハードディスク装置、107はフロッピー(R)ディスク装置で、システムのファイルシステムに使用される外部記憶装置を構成している。108はプリンタである。
【0028】
図7に、本実施形態のアプリケーションソフトウェアの画面構成例を示す。71〜74は画像表示領域、75はプレビューボタン、76は印刷ボタンである。77はレイアウト選択ラジオボタンであり、「4in1」を選ぶと図7上の状態、「2in1」を選ぶと下の状態に遷移する。図から明らかなように、4in1と2in1では画像表示領域のアスペクトが変わり、2in1では縦長になるので、2in1レイアウトのときは画像を回転して表示しなければならない。
【0029】
HDD106にはデジタルカメラの標準規格であるDCF形式の画像データが複数格納されており、操作者がプレビューボタン75を押下すると画像データをCPU101でデコードし、71〜74に表示する。また、印刷ボタン76を押下すると、画面に表示されたレイアウトに従ってプリンタ108を用いて印刷を行う。画像データは必ずしも画像表示領域と同じ大きさ(画素数)であるとは限らないが、周知の画像変倍方法を用いて変倍を行って大きさを調節して表示するものとする。
【0030】
従来、DCF画像の主画像をデコードしてレイアウト表示を行うのが一般的であった。この方法によれば表示装置103の解像度に応じて高精細なレイアウト表示が可能であるが、デコード処理に時間がかかり操作者へのレスポンスが悪いという問題があった。また、DCF画像には主画像のほかに高速なデコードが可能なサムネール画像が格納されており、これを用いてレイアウト表示が行われることがあったが、サムネール画像は表示装置103に比較して解像度が低く、十分なレイアウト確認が困難であるという問題があった。本発明によれば、まずサムネールを用いたレイアウト表示を高速に行い、続いてバックグラウンドスレッドを用いて時間のかかる主画像デコードを行って、デコードが完了した主画像から随時表示を置き換えることにより、高速かつ高精細なレイアウト表示を行うものである。
【0031】
図8のフローチャートを用いて、上記処理の流れを詳細に説明する。
ステップS801で、表示対象画像のサムネールをデコードする。
ステップS802で、表示対象画像のサムネールを用いてレイアウト表示を行う。上で説明した通り、2in1レイアウトの場合は画像を90度回転して表示する。
ステップS803で、キャッシュメモリを参照し、表示画像の主画像がキャッシュされているかどうかをチェックし、キャッシュされている主画像だけレイアウト表示を差し替える。
ステップS804で、バックグラウンドスレッドを起動する。
ステップS805で、バックグラウンドスレッドにより主画像のデコードが完了したかどうかをチェックし、デコード中であればS808へ、デコードが完了したらS806に進む。
ステップS806で、デコードされた主画像を用いてレイアウト表示を更新する。上で説明した通り、2in1レイアウトの場合は画像を90度回転して表示する。
ステップS807で、全ての画像表示が主画像に差し替えられたかどうかをチェックし、まだならS805へ、完了したら処理を終了する。
ステップS808では操作者によりレイアウト変更の指示があったかどうかをチェックする。操作者がポインティングデバイス102aを用いてレイアウト選択ラジオボタン77を操作してレイアウトを変更したとき、ステップS801に戻ってサムネールによるレイアウト表示から表示をやり直す。レイアウト変更指示がない場合はステップS805に戻る。このように、主画像をデコードしている最中でも随時レイアウト変更の指示に反応することができるため、操作者から見たレスポンスがよく、操作性を向上することができる。
【0032】
続いてバックグラウンドスレッドの処理を説明する。
ステップS809でメインスレッドからの指示を受け、休眠状態を終了して処理を開始する。
ステップS810で変数iを値0で初期化する。
ステップS811でi番目の主画像がキャッシュされているかどうかをチェックし、されていなければS812へ、キャッシュされていればS814へ進む。
ステップS812でi番目の主画像をデコードする。
ステップS813でi番目の主画像をキャッシュする。
ステップS814で変数iを値1だけインクリメントする。
ステップS815で全画像をデコードしたかどうかをチェックし、まだならS817に進む。完了したらS816に進み、自分自身を休眠状態にする。
ステップS817では、メインスレッドと同様にレイアウト変更の指示があったかどうかの判断を行い、移動されたときはS810へ、移動がなければS811へ進む。
【0033】
この処理に従い、まずサムネールを用いて高速にレイアウト表示を行い、続いてキャッシュ内の主画像を用いて表示を更新し、次に比較的低速な主画像デコードが完了した画像から随時表示を更新することで、高レスポンスと高精細表示を両立することができる。
【0034】
また、ステップS805−S808の主画像デコード完了を待つループの間で、キーボード102、マウス102aなどによる操作者からの入力に反応することができるので、時間のかかる主画像デコードを待つ間でも随時レイアウト変更などの操作者の入力に反応することができ、操作性を向上することができる。
【0035】
なお、ここではステップS802とS803を分離し、まずサムネール表示を行ってからキャッシュ内主画像で置き換えたが、キャッシュ内の主画像を用いた表示が十分高速に行える場合はサムネール表示を省略して、主画像がキャッシュされている画像については最初から主画像を用いてレイアウト表示を行うようにしてもよい。
【0036】
〔その他の実施形態〕
上記実施例では画像データはDCFフォーマットで格納されているものとしたがこれに限らない。例えばより一般的なJPEGファイルフォーマットで格納されている場合、サムネール画像が存在しない。この場合はJPEG画像は8が祖x8がそのブロック単位でDCT変換されていることを利用し、DC成分だけを抽出することで高速に低解像の画像を作成することができるので、これをサムネールの代わりに用いる。
【0037】
また、複数のレゾリューションレベルを備えるようにエンコードされたJPEG2000ファイルフォーマットや、FlashPixファイルフォーマットのように、ファイルフォーマット自体がサポートする方法により低解像度の画像を高速にデコードできるようになっている場合は、これをサムネールの代わりに用いる。
【0038】
【発明の効果】
以上説明したように本発明によれば、高レスポンス、精細表示の両方の要求を満たすことを実現する。また、操作者がいつでも次の操作を開始できるため操作性を向上できる。
【図面の簡単な説明】
【図1】画像表示装置の構成を示すブロック図である。
【図2】画像表示処理の流れを説明するフローチャートである。
【図3】画像表示装置の画面構成例を説明する図である。
【図4】第2実施例の画像表示装置の画面構成例を説明する図である。
【図5】第2実施例の画像選択リストの例を説明する図である。
【図6】第2実施例の画像表示処理の流れを説明するフローチャートである。
【図7】第3実施例の画像表示装置の画面構成例を説明する図である。
【図8】第3実施例の画像表示処理の流れを説明するフローチャートである。
【符号の説明】
101 CPU
102 キーボード
103 表示部
104 ROM
105 RAM
106 ハードディスク
107 フロッピー(R)ディスク
108 プリンタ
109 ビデオキャプチャ
110 ビデオデッキ
【発明の属する技術分野】
本発明は、画像をレイアウト表示する方法、装置およびメディアに関する。
【0002】
【従来の技術】
一つ以上の画像をレイアウトして印刷するアプリケーションにおいて、実際に印刷を行う前にモニター上でレイアウト表示を行い、印刷内容を確認するということが一般に行われている。
【0003】
【発明が解決しようとする課題】
しかしながら従来の方式では、表示を行うための画像のデコードに時間がかかり、効率的な作業を妨げるという問題があった。
【0004】
特開2001−054043によれば、これを改善するためサムネール画像を用い、画面表示にはサムネール画像だけを使用し、印刷時に始めて実画像を使用することで高速化を図っているが、この方式によれば画面上で画像の細部を確認できないという問題があった。
【0005】
またレイアウト表示を行うわけではないが特開平11−004367によれば、デジタルカメラ背面の画像表示領域に画像を連続的に切り替えて表示する際にサムネール画像を用い、画像の切り替えを終了(ユーザーが早送りボタンを放すなど)したときに主画像で置き換えるということを行っている。この方式によれば主画像デコード中は次の操作が開始できず、操作性が悪いという問題があった。
【0006】
このように、画面表示にはサムネール画像だけを使用すると、高速化は図れるが、詳細な画像確認は出来ない。一方、詳細な主画像をデコードして表示すると、多数の画像を全て表示するのに、時間がかかりすぎてしまう。
【0007】
【課題を解決するための手段】
上記課題を解決するため本発明においては、サムネール画像を用いて高速にレイアウト表示を行い、同時にバックグラウンドで主画像をデコードし、デコードが完了したものから随時表示を置き換えていくことで、高レスポンス、精細表示の両方の要求を満たすことを実現する。
【0008】
【発明の実施の形態】
〔第1の実施例〕
図1は、本実施例が実行されるコンピュータシステムの構成を示すブロック図である。図1において、101はCPUで、システム全体の制御を行なっている。102はキーボードで、102aのマウスとともにシステムに入力するために使用される。103は表示装置で、CRTや液晶等で構成されている。104はROM、105はRAMで、システムの記憶装置を構成し、システムが実行するプログラムやシステムが利用するデータを記憶する。106はハードディスク装置、107はフロッピー(R)ディスク装置で、システムのファイルシステムに使用される外部記憶装置を構成している。108はプリンタである。
【0009】
図3に、本実施形態のアプリケーションソフトウェアの画面構成例を示す。31〜34は画像表示領域、35はプレビューボタン、36は印刷ボタンである。HDD106にはデジタルカメラの標準規格であるDCF形式の画像データが複数格納されており、操作者がプレビューボタン35を押下すると画像データをCPU101でデコードし、31〜34に表示する。また、印刷ボタン36を押下すると、画面に表示されたレイアウトに従ってプリンタ108を用いて印刷を行う。画像データは必ずしも画像表示領域と同じ大きさ(画素数)であるとは限らないが、周知の画像変倍方法を用いて変倍を行って大きさを調節して表示するものとする。
【0010】
従来、DCF画像の主画像をデコードしてレイアウト表示を行うのが一般的であった。この方法によれば表示装置103の解像度に応じて高精細なレイアウト表示が可能であるが、デコード処理に時間がかかり操作者へのレスポンスが悪いという問題があった。また、DCF画像には主画像のほかに高速なデコードが可能なサムネール画像が格納されており、これを用いてレイアウト表示が行われることがあったが、サムネール画像は表示装置103に比較して解像度が低く、十分なレイアウト確認が困難であるという問題があった。本発明によれば、まずサムネールを用いたレイアウト表示を高速に行い、続いてバックグラウンドスレッドを用いて時間のかかる主画像デコードを行って、デコードが完了した主画像から随時表示を置き換えることにより、高速かつ高精細なレイアウト表示を行うものである。
【0011】
図2のフローチャートを用いて、上記処理の流れを詳細に説明する。
ステップS201で、画像のサムネールをデコードする。
ステップS202で、サムネールを用いてレイアウト表示を行う。
ステップS203で、キャッシュメモリを参照し、表示画像の主画像がキャッシュされているかどうかをチェックし、キャッシュされている主画像だけレイアウト表示を差し替える。
ステップS204で、バックグラウンドスレッドを起動する。
ステップS205で、バックグラウンドスレッドにより主画像のデコードが完了したかどうかをチェックし、デコード中であればS205に戻る。デコードが完了したらS206に進む。
ステップS206で、デコードされた主画像を用いてレイアウト表示を更新する。
ステップS207で、全ての画像表示が主画像に差し替えられたかどうかをチェックし、まだならS205へ、完了したら処理を終了する。
【0012】
続いてバックグラウンドスレッドの処理を説明する。
ステップS208でメインスレッドからの指示を受け、休眠状態を終了して処理を開始する。
ステップS209で変数iを値0で初期化する。
ステップS210でi番目の主画像がキャッシュされているかどうかをチェックし、されていなければS211へ、キャッシュされていればS213へ進む。
ステップS211でi番目の主画像をデコードする。
ステップS212でi番目の主画像をキャッシュする。
ステップS213で変数iを値1だけインクリメントする。
ステップS214で全画像をデコードしたかどうかをチェックし、まだならS210に戻る。完了したらS215に進み、自分自身を休眠状態にする。
【0013】
この処理に従い、まずサムネールを用いて高速にレイアウト表示を行い、続いてキャッシュ内の主画像を用いて表示を更新し、次に比較的低速な主画像デコードが完了した画像から随時表示を更新することで、高レスポンスと高精細表示を両立することができる。
【0014】
また、ステップS204の主画像デコード完了を待つループの間で、キーボード102、マウス102aなどによる操作者からの入力に反応することができるので、時間のかかる主画像デコードを待つ間操作者の入力を受け付けなくなるということがなくなる。
【0015】
なお、ここではステップS202とS203を分離し、まずサムネール表示を行ってからキャッシュ内主画像で置き換えたが、キャッシュ内の主画像を用いた表示が十分高速に行える場合はサムネール表示を省略して、主画像がキャッシュされている画像については最初から主画像を用いてレイアウト表示を行うようにしてもよい。
【0016】
〔第2の実施例〕
図1は、本実施例が実行されるコンピュータシステムの構成を示すブロック図である。図1において、101はCPUで、システム全体の制御を行なっている。102はキーボードで、102aのマウスとともにシステムに入力するために使用される。103は表示装置で、CRTや液晶等で構成されている。104はROM、105はRAMで、システムの記憶装置を構成し、システムが実行するプログラムやシステムが利用するデータを記憶する。106はハードディスク装置、107はフロッピー(R)ディスク装置で、システムのファイルシステムに使用される外部記憶装置を構成している。108はプリンタである。
【0017】
図3に、第2実施形態のアプリケーションソフトウェアの画面構成例を示す。41〜44は画像表示領域、45はプレビューボタン、46は印刷ボタン、47はページ戻しボタン、48はページ送りボタンである。また、49はサムネール画像一覧表示領域であり、操作者はマウス102aを用いるなどして、所望の画像を一覧の中から選択できるようになっている。
【0018】
HDD106にはデジタルカメラの標準規格であるDCF形式の画像データが複数格納されており、特定のディレクトリ内に格納されている全画像データがサムネール画像一覧表示領域に表示されている。図4においては36個の画像の表示しか示されていないが、それ以上の数の画像データがディレクトリ内に格納されている場合はスクロールバーを用いるなどして全画像を表示・選択できるようにする。
【0019】
はじめ画像表示領域41〜44には画像は表示されておらず、サムネール画像一覧表示領域には、HDD106の特定のディレクトリに格納されたDCF画像、1.jpg、2.jpg、3.jpg、...、36.jpgが表示されている。操作者がマウス102aを用いてサムネール画像をクリックしていくと、RAM上の文字列配列に、図5に例示するように、クリックした順に画像ファイル名が格納されていく。これを4つずつ区切って、ページを構成する。すなわち、1ページ目は5.Jpg、3.jpg、8.jpg、4.jpgの4つの画像をレイアウトしたものであり、画面上の表示領域41〜44に表示された様態で、後述するようにプリンタ108から印刷される。2ページ目以降も同様である。
【0020】
操作者がプレビューボタン45を押下すると1ページ目を構成する4つの画像データをCPU101でデコードし、41〜44に表示する。また、印刷ボタン46を押下すると、画面に表示されたレイアウトに従ってプリンタ108を用いて印刷を行う。また、次ページボタン48を押下すると、2ページ目を同様の手順で表示し、現在の表示ページが2ページ目以降の場合には前ページボタン47を押下することで、直前のページを表示することができる。画像データは必ずしも画像表示領域と同じ大きさ(画素数)であるとは限らないが、周知の画像変倍方法を用いて変倍を行って大きさを調節して表示するものとする。
【0021】
従来、DCF画像の主画像をデコードしてレイアウト表示を行うのが一般的であった。この方法によれば表示装置103の解像度に応じて高精細なレイアウト表示が可能であるが、デコード処理に時間がかかり操作者へのレスポンスが悪いという問題があった。また、DCF画像には主画像のほかに高速なデコードが可能なサムネール画像が格納されており、これを用いてレイアウト表示が行われることがあったが、サムネール画像は表示装置103に比較して解像度が低く、十分なレイアウト確認が困難であるという問題があった。本発明によれば、まずサムネールを用いたレイアウト表示を高速に行い、続いてバックグラウンドスレッドを用いて時間のかかる主画像デコードを行って、デコードが完了した主画像から随時表示を置き換えることにより、高速かつ高精細なレイアウト表示を行うものである。
【0022】
図6のフローチャートを用いて、上記処理の流れを詳細に説明する。
ステップS601で、表示対象画像のサムネールを用いてレイアウト表示を行う。サムネール画像は一覧表示領域49に表示する際すでにデコードしているのでこれをキャッシュしておけば、再度デコードする必要がなく高速に表示することができる。
ステップS602で、キャッシュメモリを参照し、表示画像の主画像がキャッシュされているかどうかをチェックし、キャッシュされている主画像だけレイアウト表示を差し替える。
ステップS603で、バックグラウンドスレッドを起動する。
ステップS604で、バックグラウンドスレッドにより主画像のデコードが完了したかどうかをチェックし、デコード中であればS607へ、デコードが完了したらS605に進む。
ステップS605で、デコードされた主画像を用いてレイアウト表示を更新する。
ステップS606で、全ての画像表示が主画像に差し替えられたかどうかをチェックし、まだならS604へ、完了したら処理を終了する。
ステップS607では操作者によりページ移動の指示があったかどうかをチェックする。操作者がポインティングデバイス102aを用いてボタン47乃至48を押下したとき、現在表示しようとしているのと別のページに表示を切り替える必要があるので、ステップS601に戻ってサムネールによるレイアウト表示から表示をやり直す。移動指示がない場合はステップS604に戻る。このように、主画像をデコードしている最中でも随時ページ移動の指示に反応することができるため、操作者から見たレスポンスがよく、操作性を向上することができる。
【0023】
続いてバックグラウンドスレッドの処理を説明する。
ステップS608でメインスレッドからの指示を受け、休眠状態を終了して処理を開始する。
ステップS609で変数iを値0で初期化する。
ステップS610でi番目の主画像がキャッシュされているかどうかをチェックし、されていなければS611へ、キャッシュされていればS613へ進む。ここでi番目の画像とは表示ページを構成する4つの画像のひとつを指しており、現在のページをpとすると、図5のリストの、先頭から(P−1)*4+i番目の画像がi番目の画像表示領域に対応している。以下同様である。
ステップS611でi番目の主画像をデコードする。
ステップS612でi番目の主画像をキャッシュする。
ステップS613で変数iを値1だけインクリメントする。
ステップS614で全画像をデコードしたかどうかをチェックし、まだならS616に進む。完了したらS615に進み、自分自身を休眠状態にする。
ステップS616では、メインスレッドと同様にページ移動の指示があったかどうかの判断を行い、移動されたときはS609へ、移動がなければS610へ進む。
【0024】
この処理に従い、まずサムネールを用いて高速にレイアウト表示を行い、続いてキャッシュ内の主画像を用いて表示を更新し、次に比較的低速な主画像デコードが完了した画像から随時表示を更新することで、高レスポンスと高精細表示を両立することができる。
【0025】
また、ステップS604−S607の主画像デコード完了を待つループの間で、キーボード102、マウス102aなどによる操作者からの入力に反応することができるので、時間のかかる主画像デコードを待つ間でも随時ページ移動などの操作者の入力に反応することができ、操作性を向上することができる。
【0026】
なお、ここではステップS601とS602を分離し、まずサムネール表示を行ってからキャッシュ内主画像で置き換えたが、キャッシュ内の主画像を用いた表示が十分高速に行える場合はサムネール表示を省略して、主画像がキャッシュされている画像については最初から主画像を用いてレイアウト表示を行うようにしてもよい。
【0027】
〔第3の実施例〕
図1は、本実施例が実行されるコンピュータシステムの構成を示すブロック図である。図1において、101はCPUで、システム全体の制御を行なっている。102はキーボードで、102aのマウスとともにシステムに入力するために使用される。103は表示装置で、CRTや液晶等で構成されている。104はROM、105はRAMで、システムの記憶装置を構成し、システムが実行するプログラムやシステムが利用するデータを記憶する。106はハードディスク装置、107はフロッピー(R)ディスク装置で、システムのファイルシステムに使用される外部記憶装置を構成している。108はプリンタである。
【0028】
図7に、本実施形態のアプリケーションソフトウェアの画面構成例を示す。71〜74は画像表示領域、75はプレビューボタン、76は印刷ボタンである。77はレイアウト選択ラジオボタンであり、「4in1」を選ぶと図7上の状態、「2in1」を選ぶと下の状態に遷移する。図から明らかなように、4in1と2in1では画像表示領域のアスペクトが変わり、2in1では縦長になるので、2in1レイアウトのときは画像を回転して表示しなければならない。
【0029】
HDD106にはデジタルカメラの標準規格であるDCF形式の画像データが複数格納されており、操作者がプレビューボタン75を押下すると画像データをCPU101でデコードし、71〜74に表示する。また、印刷ボタン76を押下すると、画面に表示されたレイアウトに従ってプリンタ108を用いて印刷を行う。画像データは必ずしも画像表示領域と同じ大きさ(画素数)であるとは限らないが、周知の画像変倍方法を用いて変倍を行って大きさを調節して表示するものとする。
【0030】
従来、DCF画像の主画像をデコードしてレイアウト表示を行うのが一般的であった。この方法によれば表示装置103の解像度に応じて高精細なレイアウト表示が可能であるが、デコード処理に時間がかかり操作者へのレスポンスが悪いという問題があった。また、DCF画像には主画像のほかに高速なデコードが可能なサムネール画像が格納されており、これを用いてレイアウト表示が行われることがあったが、サムネール画像は表示装置103に比較して解像度が低く、十分なレイアウト確認が困難であるという問題があった。本発明によれば、まずサムネールを用いたレイアウト表示を高速に行い、続いてバックグラウンドスレッドを用いて時間のかかる主画像デコードを行って、デコードが完了した主画像から随時表示を置き換えることにより、高速かつ高精細なレイアウト表示を行うものである。
【0031】
図8のフローチャートを用いて、上記処理の流れを詳細に説明する。
ステップS801で、表示対象画像のサムネールをデコードする。
ステップS802で、表示対象画像のサムネールを用いてレイアウト表示を行う。上で説明した通り、2in1レイアウトの場合は画像を90度回転して表示する。
ステップS803で、キャッシュメモリを参照し、表示画像の主画像がキャッシュされているかどうかをチェックし、キャッシュされている主画像だけレイアウト表示を差し替える。
ステップS804で、バックグラウンドスレッドを起動する。
ステップS805で、バックグラウンドスレッドにより主画像のデコードが完了したかどうかをチェックし、デコード中であればS808へ、デコードが完了したらS806に進む。
ステップS806で、デコードされた主画像を用いてレイアウト表示を更新する。上で説明した通り、2in1レイアウトの場合は画像を90度回転して表示する。
ステップS807で、全ての画像表示が主画像に差し替えられたかどうかをチェックし、まだならS805へ、完了したら処理を終了する。
ステップS808では操作者によりレイアウト変更の指示があったかどうかをチェックする。操作者がポインティングデバイス102aを用いてレイアウト選択ラジオボタン77を操作してレイアウトを変更したとき、ステップS801に戻ってサムネールによるレイアウト表示から表示をやり直す。レイアウト変更指示がない場合はステップS805に戻る。このように、主画像をデコードしている最中でも随時レイアウト変更の指示に反応することができるため、操作者から見たレスポンスがよく、操作性を向上することができる。
【0032】
続いてバックグラウンドスレッドの処理を説明する。
ステップS809でメインスレッドからの指示を受け、休眠状態を終了して処理を開始する。
ステップS810で変数iを値0で初期化する。
ステップS811でi番目の主画像がキャッシュされているかどうかをチェックし、されていなければS812へ、キャッシュされていればS814へ進む。
ステップS812でi番目の主画像をデコードする。
ステップS813でi番目の主画像をキャッシュする。
ステップS814で変数iを値1だけインクリメントする。
ステップS815で全画像をデコードしたかどうかをチェックし、まだならS817に進む。完了したらS816に進み、自分自身を休眠状態にする。
ステップS817では、メインスレッドと同様にレイアウト変更の指示があったかどうかの判断を行い、移動されたときはS810へ、移動がなければS811へ進む。
【0033】
この処理に従い、まずサムネールを用いて高速にレイアウト表示を行い、続いてキャッシュ内の主画像を用いて表示を更新し、次に比較的低速な主画像デコードが完了した画像から随時表示を更新することで、高レスポンスと高精細表示を両立することができる。
【0034】
また、ステップS805−S808の主画像デコード完了を待つループの間で、キーボード102、マウス102aなどによる操作者からの入力に反応することができるので、時間のかかる主画像デコードを待つ間でも随時レイアウト変更などの操作者の入力に反応することができ、操作性を向上することができる。
【0035】
なお、ここではステップS802とS803を分離し、まずサムネール表示を行ってからキャッシュ内主画像で置き換えたが、キャッシュ内の主画像を用いた表示が十分高速に行える場合はサムネール表示を省略して、主画像がキャッシュされている画像については最初から主画像を用いてレイアウト表示を行うようにしてもよい。
【0036】
〔その他の実施形態〕
上記実施例では画像データはDCFフォーマットで格納されているものとしたがこれに限らない。例えばより一般的なJPEGファイルフォーマットで格納されている場合、サムネール画像が存在しない。この場合はJPEG画像は8が祖x8がそのブロック単位でDCT変換されていることを利用し、DC成分だけを抽出することで高速に低解像の画像を作成することができるので、これをサムネールの代わりに用いる。
【0037】
また、複数のレゾリューションレベルを備えるようにエンコードされたJPEG2000ファイルフォーマットや、FlashPixファイルフォーマットのように、ファイルフォーマット自体がサポートする方法により低解像度の画像を高速にデコードできるようになっている場合は、これをサムネールの代わりに用いる。
【0038】
【発明の効果】
以上説明したように本発明によれば、高レスポンス、精細表示の両方の要求を満たすことを実現する。また、操作者がいつでも次の操作を開始できるため操作性を向上できる。
【図面の簡単な説明】
【図1】画像表示装置の構成を示すブロック図である。
【図2】画像表示処理の流れを説明するフローチャートである。
【図3】画像表示装置の画面構成例を説明する図である。
【図4】第2実施例の画像表示装置の画面構成例を説明する図である。
【図5】第2実施例の画像選択リストの例を説明する図である。
【図6】第2実施例の画像表示処理の流れを説明するフローチャートである。
【図7】第3実施例の画像表示装置の画面構成例を説明する図である。
【図8】第3実施例の画像表示処理の流れを説明するフローチャートである。
【符号の説明】
101 CPU
102 キーボード
103 表示部
104 ROM
105 RAM
106 ハードディスク
107 フロッピー(R)ディスク
108 プリンタ
109 ビデオキャプチャ
110 ビデオデッキ
Claims (10)
- 複数の画像データを記憶する記憶手段と、
画像データから低解像度画像をデコードする第1のデコード手段と、
画像データから高解像度画像をデコードする第2のデコード手段と、
一つ以上の高解像度画像をキャッシュするキャッシュ手段と、
表示装置上に一つ以上の画像をレイアウト表示する表示手段とを備え、
画像のレイアウト表示を行う際、上記表示手段により低解像度画像を用いてレイアウト表示を行い、前記キャッシュ内に高解像度画像がキャッシュされている画像については高解像度画像によりレイアウト表示を置き換え、前記キャッシュ内に高解像度画像がキャッシュされていない画像については、低解像度画像のレイアウト表示とは非同期に第2のデコード手段により高解像度画像のデコードを行い、デコードが完了した時点で高解像度画像でレイアウト表示を順次置き換える様制御する制御手段とを有することを特徴とする画像表示装置。 - 表示に用いた高解像度画像をキャッシュ手段によりキャッシュすることを特徴とする、請求項1に記載の画像表示装置。
- 画像印刷手段をさらに備え、上記レイアウト表示手段により表示されたレイアウトに従って画像を印刷することを特徴とする請求項1に記載の画像表示装置。
- 一つ以上の低解像度画像をキャッシュする第2のキャッシュ手段をさらに備えることを特徴とする請求項1に記載の画像表示装置。
- 表示に用いた低解像度画像を第2のキャッシュ手段によりキャッシュすることを特徴とする、請求項4に記載の画像表示装置。
- 複数の画像を一覧表示し、レイアウト表示する画像を選択するための画像選択手段をさらに備えることを特徴とする請求項4に記載の画像表示装置。
- 上記画像選択手段が表示に用いた低解像度画像を第2のキャッシュ手段によりキャッシュすることを特徴とする、請求項4に記載の画像表示装置。
- 上記低解像度画像と高解像度画像は同一のファイルからデコードされることを特徴とする、請求項1に記載の画像表示装置。
- 上記画像データは複数のレゾリューションレベルを備えるように符号化されたJPEG2000フォーマットであり、上記低解像度画像は低レゾリューションのデコードにより得られることを特徴とする、請求項8に記載の画像表示装置。
- 複数の画像データを記憶する記憶工程と、
画像データから低解像度画像をデコードする第1のデコード工程と、
画像データから高解像度画像をデコードする第2のデコード工程と、
一つ以上の高解像度画像をキャッシュするキャッシュ工程と、
表示装置上に一つ以上の画像をレイアウト表示する表示工程とを備え、
画像のレイアウト表示を行う際、
キャッシュ内に高解像度画像がキャッシュされている画像については高解像度画像を用いて表示を行い、高解像度画像がキャッシュされていない画像については低解像度画像を用いてレイアウト表示を行うとともに
キャッシュ内に高解像度画像がキャッシュされていない画像については、低解像度画像でのレイアウト表示とは非同期に第2のでコード工程で高解像度画像のデコードを行い、デコードが完了した時点で高解像度画像でレイアウト表示を順次置き換える制御工程とを有することを特徴とする画像表示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002184508A JP2004029313A (ja) | 2002-06-25 | 2002-06-25 | 画像表示装置、方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002184508A JP2004029313A (ja) | 2002-06-25 | 2002-06-25 | 画像表示装置、方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004029313A true JP2004029313A (ja) | 2004-01-29 |
Family
ID=31180406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002184508A Withdrawn JP2004029313A (ja) | 2002-06-25 | 2002-06-25 | 画像表示装置、方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004029313A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006222940A (ja) * | 2005-01-14 | 2006-08-24 | Ricoh Co Ltd | 画像処理装置 |
JP2008017057A (ja) * | 2006-07-04 | 2008-01-24 | Canon Inc | 記録再生装置及び記録再生方法 |
JP2012146327A (ja) * | 2004-09-30 | 2012-08-02 | Microsoft Corp | ドキュメントプレビューを提供する方法、システムおよび装置 |
JP2013037094A (ja) * | 2011-08-05 | 2013-02-21 | Brother Ind Ltd | 制御装置及びプログラム |
-
2002
- 2002-06-25 JP JP2002184508A patent/JP2004029313A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012146327A (ja) * | 2004-09-30 | 2012-08-02 | Microsoft Corp | ドキュメントプレビューを提供する方法、システムおよび装置 |
USRE47865E1 (en) | 2004-09-30 | 2020-02-18 | Microsoft Technology Licensing, Llc | Method, system, and apparatus for providing a document preview |
JP2006222940A (ja) * | 2005-01-14 | 2006-08-24 | Ricoh Co Ltd | 画像処理装置 |
JP2008017057A (ja) * | 2006-07-04 | 2008-01-24 | Canon Inc | 記録再生装置及び記録再生方法 |
JP4654161B2 (ja) * | 2006-07-04 | 2011-03-16 | キヤノン株式会社 | 記録装置及び記録方法 |
JP2013037094A (ja) * | 2011-08-05 | 2013-02-21 | Brother Ind Ltd | 制御装置及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5468389B2 (ja) | デジタル画像の処理方法 | |
US6943842B2 (en) | Image browsing user interface apparatus and method | |
JP2005223765A (ja) | 撮像装置及びその制御方法 | |
JP5451185B2 (ja) | 画像処理装置及び画像処理装置の制御方法 | |
JP2001177764A (ja) | 画像処理装置、画像処理方法および記憶媒体 | |
US7995865B2 (en) | Apparatus and method for laying out images and program therefor | |
US8891109B2 (en) | Printing device capable of displaying thumbnail image of image file | |
JP4011017B2 (ja) | デジタルイメージデバイス及びその制御方法 | |
JP2006251275A (ja) | 画像表示装置 | |
US20040174458A1 (en) | Image reproduction apparatus and method | |
JP2006203702A (ja) | 画像形成装置 | |
JP2004029313A (ja) | 画像表示装置、方法 | |
US20030117407A1 (en) | Image display apparatus and image display method | |
JP2005027087A (ja) | 画像表示方法、画像表示装置、記憶媒体およびプログラム | |
JP4030014B2 (ja) | 画像表示装置およびそのプログラム | |
JPH11215455A (ja) | 画像表示装置 | |
JP3754903B2 (ja) | 画像処理装置及びその制御方法及びコンピュータプログラム及び記憶媒体 | |
JP2009044626A (ja) | 情報処理装置、その制御方法、プログラム、記憶媒体 | |
JPH11232007A (ja) | 画像処理装置及び方法並びに記憶媒体 | |
JP3755674B2 (ja) | 画像処理装置および方法 | |
JPH11259630A (ja) | 画像処理装置及び方法並びに記憶媒体 | |
JPS6263371A (ja) | 画像情報検索ネツトワ−クシステム | |
JP2004342045A (ja) | ユーザインタフェース装置、その表示方法及びそのプログラム | |
JP2009043059A (ja) | 情報処理装置、その制御方法、プログラム、記憶媒体 | |
JP2007329684A (ja) | 画像再生装置及び画像再生方法及び印刷システム及びプログラム及び記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050906 |