JP2020008874A - Display control device, control method and program of the same - Google Patents
Display control device, control method and program of the same Download PDFInfo
- Publication number
- JP2020008874A JP2020008874A JP2019169241A JP2019169241A JP2020008874A JP 2020008874 A JP2020008874 A JP 2020008874A JP 2019169241 A JP2019169241 A JP 2019169241A JP 2019169241 A JP2019169241 A JP 2019169241A JP 2020008874 A JP2020008874 A JP 2020008874A
- Authority
- JP
- Japan
- Prior art keywords
- display
- image
- screen
- displayed
- processing
- 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.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
- Indication In Cameras, And Counting Of Exposures (AREA)
- Studio Devices (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
Description
本発明は、複数の画像を表示するための表示制御装置とその制御方法およびプログラムに関する。 The present invention relates to a display control device for displaying a plurality of images, a control method thereof, and a program.
近年、写真等の画像を一画面に複数枚表示を行うインデックス表示可能なデジタル機器が存在する。このような機器に於いて、表示画面の大型化や高精細化、制御装置の処理能力向上、記録媒体の大容量化等に伴い、一度により多くの画像を表示可能なものが増えて来ている。 2. Description of the Related Art In recent years, there is a digital device capable of displaying an index such as displaying a plurality of images such as photographs on one screen. In such devices, with the increase in the size and definition of the display screen, the improvement in the processing capacity of the control device, and the increase in the capacity of the recording medium, the number of devices capable of displaying more images at one time has increased. I have.
また、ボタンやレバー、回転式のダイヤル、タッチパネル等の操作部材への操作によって一度に複数の画像が表示されたインデックス表示を任意の方向へスクロールさせる事も行われている。 Further, an index display in which a plurality of images are displayed at a time is scrolled in an arbitrary direction by operating an operation member such as a button, a lever, a rotary dial, and a touch panel.
一方、画像の表示を行う為には、記録媒体からの画像データの読み出し、画像データのデコード(圧縮されている場合は解凍処理を含む)、表示を行う大きさへのリサイズ、VRAMへの展開等、物理的な処理時間が必要となる。複数枚のインデックス表示を行う場合、これら一連の処理はその表示画像枚数分必要であり、一画面全ての画像表示を完了するまでにユーザーはある程度の時間待たされる事となる。 On the other hand, in order to display an image, reading of image data from a recording medium, decoding of image data (including decompression processing if compressed), resizing to a display size, and development to a VRAM For example, physical processing time is required. When a plurality of index displays are performed, a series of these processes is necessary for the number of display images, and the user has to wait for a certain period of time until the display of all images on one screen is completed.
そこで、例えば特許文献1では、インデックス画面において表示を行う順番を、条件に応じて変更し、ユーザーがこれまで閲覧していた画像を最初に表示すると共に、そこに隣接する画像から優先的に表示する方法が開示されている。それによりユーザーはこれまで閲覧していた画像を、インデックス表示に移行した後も見失わずに判別可能としている。
Therefore, for example, in
しかしながら従来は、インデックス表示においてスクロールを行うと、画像を表示するための処理にかかる処理時間が間に合わないために、スクロールの最中において表示されるべき画像が表示されないことがあった。これはスクロール速度が増す程、また、一度に表示される画像の数が増す程発生する可能性が高く、場合によってはスクロール中に画像が殆ど表示されないという事態が発生する。画像が殆ど表示されない場合、スクロールによりどの画像に切り替わっているかがわかりづらく、スクロールの操作をしているユーザーはどこでスクロールを終了させるべきかの判断がしにくい。またスクロール停止後も表示されていない画像を表示する処理の時間だけ待つこととなる。 However, conventionally, when scrolling is performed in the index display, an image to be displayed during scrolling may not be displayed because the processing time required for displaying an image may not be enough. This is more likely to occur as the scroll speed increases and as the number of images displayed at a time increases, and in some cases, almost no images are displayed during scrolling. When almost no images are displayed, it is difficult to know which image has been switched by scrolling, and it is difficult for the user who is performing the scroll operation to determine where to end scrolling. In addition, after the scrolling is stopped, the process waits for the time for displaying the undisplayed image.
特許文献1でスクロールを行った場合、それまで表示されていた画像に隣接する画像、すなわちスクロールにより消え行く方向(画像が移動する方向)の画像を優先的に表示する事となる。しかし、それまで表示されていた画像に隣接する画像は、スクロール中に新たに表示対象となった他の画像よりも早く表示対象ではなくなるため、表示対象であるうちに表示をするための処理が完了する可能性が他の画像に比べて低い。新たに表示対象となった他の画像を表示するための処理も、それまで表示されていた画像に隣接する画像の後に行われる分だけ遅くなる。したがって特許文献1においても、上述のようにスクロール中に表示されるべき画像の多くが表示されないという事態が発生する可能性がある。
When scrolling is performed in
本発明は上述の課題に鑑み、スクロールの最中に、より多くの画像を表示することが可能な表示制御装置を提供する事を目的とする。 The present invention has been made in view of the above problems, and has as its object to provide a display control device capable of displaying more images during scrolling.
上記課題を解決するため、本発明の表示制御装置は、複数の画像を空間的な配置順にしたがって画面に配置して表示する表示制御装置であって、前記画像ごとに、前記画面に表示するための処理を実行する処理手段と、前記画面に配置される画像をスクロールによって変更する変更手段と、前記処理を実行された画像のうち前記画面に配置される画像を、前記スクロールの方向によって異なる時間的な表示順にしたがって前記画面に表示するよう制御する表示制御手段を備え、前記表示順は、前記スクロールの方向において上流側に配置される画像は、前記スクロールの方向において下流側に配置される画像よりも優先することを特徴とする。 In order to solve the above problems, a display control device of the present invention is a display control device that arranges and displays a plurality of images on a screen in a spatial arrangement order, and displays the images on the screen for each of the images. Processing means for executing the processing of (a), changing means for changing the image arranged on the screen by scrolling, and changing the image arranged on the screen among the images subjected to the processing, for different times depending on the direction of the scrolling Display control means for controlling display on the screen in accordance with a typical display order, wherein the display order is such that an image arranged on the upstream side in the scroll direction is an image arranged on the downstream side in the scroll direction. Is given priority over
本発明によれば、スクロールの最中に、より多くの画像を表示することが可能となる。 According to the present invention, it is possible to display more images during scrolling.
以下、本発明の実施の形態を図面に基づいて説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
<ハードウェアの説明>
図1に、本発明の各実施形態を適用可能な表示制御装置の一例として、デジタルカメラ100の構成を示す。図1(a)はデジタルカメラの構成例を示すブロック図、図1(b)は外観図である。
<Description of hardware>
FIG. 1 shows a configuration of a
図1において、内部バス111に対してCPU101、不揮発性メモリ102、メモリ103、表示制御部104、入力部105、ドライブ装置106、通信I/F107、画像処理部121、撮像部122が接続される。内部バス111に接続される各部は、内部バス111を介して互いにデータのやりとりを行うことができるようにされている。
1, a
不揮発性メモリ102は、CPU101が動作するための定数や各種プログラムなどが格納される。メモリ103は、例えばRAMからなる。CPU101は、例えば不揮発性メモリ102に格納されるプログラムに従い、メモリ103をワークメモリとして用いて、このデジタルカメラ100の各部を制御する。入力部105は、ユーザー操作を受け付け、操作に応じた制御信号を生成し、CPU101に供給する。入力部105は、ユーザー操作を受け付ける操作部材として、ボタン(十字に配置された方向ボタン105−1を含む)、回転ホイール105−2、ポインティングデバイスとしてのタッチパネル105−3などを有する。なお、タッチパネルは、例えば平面的に構成された入力部に対して接触された位置に応じた座標情報が出力されるようにした入力デバイスである。ポインティングデバイスとしてはタッチパネルの変わりにマウスやトラックボールを用いることとしてもよい。CPU101は、入力デバイスに対してなされたユーザー操作に応じて入力部105で生成され供給される制御信号に基づき、プログラムに従いこのデジタルカメラ100の各部を制御する。これにより、デジタルカメラ100に対し、ユーザー操作に応じた動作を行わせることができる。
The
入力部105としてタッチパネルを用いる場合、入力部105とディスプレイ110とを一体的に構成することができる。例えば、タッチパネルを光の透過率がディスプレイ110の表示を妨げないように構成し、ディスプレイ110の表示面の上層に取り付ける。そして、タッチパネルにおける入力座標と、ディスプレイ110上の表示座標とを対応付ける。これにより、恰もユーザーがディスプレイ110上に表示された画面を直接的に操作可能であるかのようなGUI(Graphical User Interface)を構成することができる。
When a touch panel is used as the
表示制御部104は、ディスプレイ110に対して画像を表示させるための表示信号を出力する。例えば、表示制御部104に対して、CPU101がプログラムに従い生成した表示制御信号が供給される。表示制御部104は、この表示制御信号に基づき表示信号を生成してディスプレイ110に対して出力する。例えば、表示制御部104は、CPU101が生成する表示制御信号に基づき、GUIを構成するGUI画面をディスプレイ110に対して表示させる。
The
ドライブ装置106は、メモリーカード等の外部記憶媒体108が装着可能とされ、CPU101の制御に基づき、装着された外部記憶媒体108からのデータの読み出しや、当該外部記憶媒体108に対するデータの書き込みを行う。なお、ドライブ装置106が装着可能な外部記憶媒体108は、メモリーカードのような半導体メモリに限らず、CDやDVD、ハードディスクといったディスク記録媒体をドライブ装置106に装着するものとしてもよい。202は外部記憶媒体108を格納するスロットの蓋である。通信インターフェイス(I/F)107は、CPU101の制御に基づき、LANやインターネットといったネットワーク120に対する通信を行う。図1(b)には有線の例を図示しているが、無線通信であっても良い。
The drive device 106 can be loaded with an
撮像部122は、フォーカスレンズを含む撮影レンズ、絞り機能を備えるシャッター、光学像を電気信号に変換するCCDやCMOS素子等の撮像素子、A/D変換器等で構成される。画像処理部121は、撮像部からの画像データ、又は、外部記憶媒体108等から読み込んだ画像データに対し、デコード、エンコード、所定の画素補間、拡大や縮小といったリサイズ処理や色変換処理を行う。
The
<動作説明>
以下、図2〜図4を参照して、本実施形態の動作を模式的に説明する。
<Operation description>
Hereinafter, the operation of the present embodiment will be schematically described with reference to FIGS.
本実施形態では、ディスプレイ110に複数の画像をインデックス表示して上下方向にスクロールを行う際に、新たに表示される画像のうち、スクロール前に表示されていた画像から遠い位置に配置される画像の表示処理を優先して行う例を説明する。本実施形態におけるインデックス表示では、複数の画像を行列に並べて配置するものとする。インデックス表示中での画像の配置される位置は、ある行の左端から右端、続いて次の行の左端から右端という順に、画像ファイル名順、画像番号順、撮影日時順等の所定の順序で配置されるものとする。すべての画像を1画面に表示しきれない場合は、画面をスクロールすることによって更に前、あるいは更に後の行に配置される画像を表示することができる。なお、本発明においては、画像の配置順(並び順)は、後述するとおり、時間的な表示順番とは必ずしも一致しない。 In the present embodiment, when a plurality of images are index-displayed on the display 110 and scrolled up and down, among the newly displayed images, the images arranged at a position far from the image displayed before the scrolling An example in which the display process is performed with priority will be described. In the index display according to the present embodiment, a plurality of images are arranged in a matrix. The positions where the images are arranged in the index display are arranged in a predetermined order such as image file name order, image number order, shooting date and time order, from the left end to the right end of a certain line, and subsequently from the left end to the right end of the next line. Shall be located. If all the images cannot be displayed on one screen, the screen can be scrolled to display the images that are arranged further forward or further behind. In the present invention, the arrangement order (arrangement order) of the images does not always match the temporal display order, as described later.
まず、表示用VRAM(表示用メモリ)とバッファメモリについて説明する。メモリ103は、表示用VRAM領域とバッファメモリ領域を有している。ディスプレイ110に画像を表示する際には、外部記憶媒体108等から表示すべき画像を読み込み、画像処理部121で画像のデコード(圧縮されている場合は解凍処理を含む)、表示用サイズへのリサイズを行い、バッファメモリに展開(格納)する。以下、これらの処理のうち少なくとも1つの処理を総称して表示準備処理と称する。バッファメモリに展開された画像のうち、ディスプレイ110に表示する画像を含む1画面分の表示データが表示用VRAMにコピーして格納される。表示用VRAMに格納された表示データは、表示制御部104を介してディスプレイ110に表示される。
First, a display VRAM (display memory) and a buffer memory will be described. The
図2に、インデックス表示においてスクロールを行った場合の表示用VRAMとバッファメモリの関係の模式図を示す。図2(a)は、スクロールする前の静止した状態の表示用VRAMとバッファメモリの状態を図示したものである。本実施形態では、インデックス表示の際には、1画面に6行7列の42枚の画像が表示されるものとする。なお、以下では、Y行目のX列目に表示される画像を便宜的に画像Y:Xと表記する。この場合、図2(a)に示すように、バッファメモリには、1画面分で表示される画像(表示用VRAMに格納される画像)よりも前後1行分多い、0列目1行目の画像(画像0:1)〜7列目7行目の画像(画像7:7)の56枚の画像が格納される。また、図2(a)に示すように、表示用VRAMには、バッファメモリに格納された画像のうち、1画面に表示する分の画像1:1〜画像6:7の42枚の画像がコピーされる。表示用VRAMにコピーされた画像は、図2の表示用VRAMに図示したとおりに、ディスプレイ110に表示される。なお、図示した表示用VRAMの画像に加えて他のアイコンや情報表示等と重畳して表示してもよい。 FIG. 2 is a schematic diagram showing the relationship between the display VRAM and the buffer memory when scrolling is performed in the index display. FIG. 2A illustrates the state of the display VRAM and the buffer memory in a stationary state before scrolling. In the present embodiment, at the time of index display, 42 images in 6 rows and 7 columns are displayed on one screen. In the following, the image displayed in the Yth row and the Xth column is referred to as an image Y: X for convenience. In this case, as shown in FIG. 2A, the 0th column and the 1st line are larger in the buffer memory by one line before and after the image displayed on one screen (the image stored in the display VRAM). 56 (images 0: 1) to 7th column and 7th row (images 7: 7) are stored. Further, as shown in FIG. 2A, the display VRAM stores 42 images 1: 1 to 6: 7 of the images stored in the buffer memory, the images being displayed on one screen. Be copied. The image copied to the display VRAM is displayed on the display 110 as shown in the display VRAM of FIG. It should be noted that, in addition to the illustrated image of the display VRAM, the image may be displayed so as to be superimposed on another icon or information display.
図2(b)に、図2(a)の状態から、下から上にスクロールした際の表示用VRAMとバッファメモリの状態を図示する。図2(b)における表示用VRAM(すなわち、ディスプレイ110での表示内容)では、図2(a)に比べてすべての画像が下から上に移動している。以下では、この場合のスクロール方向を上と表記する(すなわち、スクロールにおける画像の移動方向をスクロール方向とする。)。図2(b)では、スクロール前の1行目の画像が一部表示されており、スクロールの移動量は1行未満である。このようにスクロール量がバッファメモリに余分に用意した行数(本実施の形態では前後1行)未満である場合は、バッファメモリは更新せず、バッファメモリから表示用VRAMにコピーする領域の位置をずらすことで、表示位置の移動を実現する。図2(b)に破線で示したコピー範囲は、図2(a)に示すスクロール前のコピー範囲(破線の範囲)より、表示画像が上に移動した分だけ下に移動している。 FIG. 2B shows the states of the display VRAM and the buffer memory when scrolling upward from the state shown in FIG. 2A. In the display VRAM in FIG. 2B (that is, the display content on the display 110), all the images are moved from the bottom to the top as compared to FIG. 2A. Hereinafter, the scroll direction in this case is referred to as “up” (that is, the moving direction of the image in the scroll is referred to as the scroll direction). In FIG. 2B, part of the image on the first line before scrolling is displayed, and the amount of scrolling is less than one line. When the scroll amount is less than the number of extra lines prepared in the buffer memory (one line before and after in this embodiment), the buffer memory is not updated, and the position of the area copied from the buffer memory to the display VRAM is not updated. , The display position is moved. The copy range indicated by the broken line in FIG. 2B is lower than the copy range before scrolling (the range indicated by the broken line) shown in FIG. 2A by the amount by which the display image is moved upward.
図2(c)に、図2(a)の状態から図2(b)の状態を経て、ちょうど1行分上にスクロールした際の表示用VRAMとバッファメモリの状態を示す。図2(b)の状態からさらに上方向へのスクロールが進み、表示用VRAMへのコピー範囲(ディスプレイ110に表示される範囲)がちょうど2行目から7行目までとなると、さらにスクロールが進めばもう1行先の8行目の画像を表示しなければならない。そのため、この時点でバッファメモリの画像を1行繰り下げるように更新し、今まで0行目を格納していた領域は1行目の画像で上書きし、1行目〜8行目の画像を格納する。8行目の画像は今までバッファメモリには格納されていなかった画像であるため、外部記憶媒体108等から読み込み、画像処理部121で圧縮画像のデコード、表示用サイズへのリサイズ等の表示準備処理が必要である。そのため即時にバッファメモリに格納されるわけではなく、表示準備処理にかかる時間だけ遅れて格納される。図2(c)のバッファメモリでは、スクロールが丁度1行分進んだ瞬間の状態を表しているため、まだ8行目の画像8:1〜画像8:7が格納されていない状態を示している。以下、バッファメモリに黒塗りで示した箇所は、格納される予定の画像がまだ格納されていない状態であることを示すものとする。
FIG. 2C shows the states of the display VRAM and the buffer memory when exactly one line is scrolled up from the state of FIG. 2A through the state of FIG. 2B. The scrolling further proceeds upward from the state of FIG. 2B, and when the copy range to the display VRAM (the range displayed on the display 110) is just the second to seventh lines, the scroll is further advanced. For example, the image on the eighth line, which is one line ahead, must be displayed. Therefore, at this point, the image in the buffer memory is updated so as to be moved down by one line, the area where the 0th line is stored is overwritten with the image of the 1st line, and the images of the 1st to 8th lines are stored. I do. Since the image on the eighth line is an image that has not been stored in the buffer memory until now, it is read from the
図3(a)に、図2(a)〜(c)の状態を経て更に上にスクロールした際の表示用VRAMとバッファメモリの状態を示す。図2(a)のスクロール開始前の1行目から数えて8行目の画像にまで表示用VRAMへのコピー範囲が及んで、図中に破線で示したコピー範囲が2行目の終わり〜8行目の途中となっている。しかし、8行目の画像8:1〜画像8:5の表示準備処理が終わるよりも早くスクロールが進んだために、表示用VRAMには画像8:1〜画像8:5がコピーされていない。従ってこの状態ではディスプレイ110には画像8:1〜8:5は表示されない。なお、本実施形態では、同一行内ではスクロール前に表示されていた画像から画像の配置順が遠い画像から先に表示準備処理が行われるものとする。従ってここで説明している図3(a)では、図2(a)で表示されていた画像1:1〜画像6:7から画像の配置順が画像8:1よりも遠い、画像8:7から降順に表示準備処理が行われる。 FIG. 3A shows the states of the display VRAM and the buffer memory when scrolling further upward through the states of FIGS. 2A to 2C. The copy range to the display VRAM extends from the first line before the start of scrolling of FIG. 2A to the image on the eighth line counted from the first line, and the copy range indicated by the broken line in the figure is from the end of the second line to the end. It is in the middle of the eighth line. However, since the scrolling progressed earlier than the completion of the display preparation processing for the images 8: 1 to 8: 5 on the eighth line, the images 8: 1 to 8: 5 were not copied to the display VRAM. . Therefore, in this state, the images 8: 1 to 8: 5 are not displayed on the display 110. In the present embodiment, it is assumed that the display preparation processing is performed first on an image in which the arrangement order of the images is farther from the image displayed before the scroll in the same row. Therefore, in FIG. 3A described here, the arrangement order of the images is farther than the image 8: 1 from the image 1: 1 to the image 6: 7 displayed in FIG. Display preparation processing is performed in descending order from 7.
図3(b)に、図2(a)〜(c)、図3(a)の状態を経て更に上にスクロールした際の表示用VRAMとバッファメモリの状態を示す。図2(a)のスクロール開始前の1行目から数えて9行目の画像にまで表示用VRAMへのコピー範囲が及んで、図中に破線で示したコピー範囲が3行目の途中〜9行目の途中となっている。しかし、8行目の画像8:1〜画像8:5、9行目の画像9:1〜画像9:6の表示準備処理が終わるよりも速くスクロールが進んだために、表示用VRAMには画像8:1〜画像8:5と画像9:1〜画像9:6がコピーされていない。このように、本実施形態では、同一行内の全ての画像の表示準備処理が終了するより前にスクロールが先に進んだ場合は、新たに表示される行の画像の表示準備処理を、前の行でまだ表示準備処理の済んでいない画像よりも優先して先に行う。図示の例では8行目内の全ての画像の表示準備処理が終了する前にスクロールが進んだ場合は、新たに表示される9行目の画像の表示準備処理を8行目でまだ表示準備処理の済んでいない画像よりも優先して先に行う。このようにすることで、スクロールの速さに対して表示準備処理が追いつかないことで1行分全く画像が表示されなくなる可能性を低減し、スクロールがどの行まで進んだかを識別しやすいようにしている。 FIG. 3B shows the states of the display VRAM and the buffer memory when the user further scrolls up through the states of FIGS. 2A to 2C and 3A. The copy range to the display VRAM extends from the first line before the start of scrolling in FIG. 2A to the image on the ninth line counted from the first line, and the copy range indicated by the broken line in FIG. It is in the middle of the ninth line. However, since the scrolling progressed faster than the display preparation processing of the images 8: 1 to 8: 5 on the eighth line and the images 9: 1 to 9: 6 on the ninth line, the display VRAM has Images 8: 1 to 8: 5 and 9: 1 to 9: 6 are not copied. As described above, in the present embodiment, if the scrolling proceeds before the display preparation processing of all the images in the same row ends, the display preparation processing of the image of the newly displayed row is performed by the previous preparation. This is performed prior to an image that has not yet been subjected to display preparation processing in a row. In the illustrated example, if the scrolling is advanced before the display preparation processing for all the images in the eighth line is completed, the display preparation processing for the newly displayed ninth line image is still prepared for the eighth line. This is performed prior to an image that has not been processed. By doing so, it is possible to reduce the possibility that the image is not displayed at all for one line because the display preparation processing cannot keep up with the scroll speed, and it is easy to identify to which line the scroll has progressed. ing.
図3(c)に、図2(a)〜(c)、図3(a)、(b)の状態を経て更に上にスクロールした際の表示用VRAMとバッファメモリの状態を示す。図2(a)のスクロール開始前の1行目から数えて11行目の画像にまで表示用VRAMへのコピー範囲が及んで、図中に破線で示したコピー範囲が5行目と6行目の境目〜11行目の途中となっている。この例では、8行目の画像8:1〜画像8:5、9行目の画像9:1〜9:6、更に10行目で1枚分の画像の表示準備処理が終わるよりも速くスクロールが進み、11行目に達している。この場合、1枚も表示準備処理が終了していない10行目よりも、新たに表示対象となった11行目の画像の表示準備処理を優先し、画像11:7の表示準備処理を行っている。このように、本実施の形態では、スクロール前に表示されていた画像に配置順が近い画像(図で例えば10行目の画像)よりも、スクロールによって新たに表示されることになった画像(図では11行目の画像)の表示準備処理を時間的に先に行う。言い換えると、スクロール方向(スクロールにおいて画像が移動する方向)と逆側に配置される画像の表示準備処理を、スクロール方向側に配置される画像よりも時間的に先に行う。スクロール方向と逆側とは、さらに言い換えればスクロールで画像が移動する方向に対して上流側である。一旦表示準備処理を終えてバッファメモリに格納された画像は、スクロールが行われても、少なくとも表示用VRAMへのコピー範囲にあるうちはバッファメモリに格納され続ける。そして、同一の時点でスクロール方向と逆側寄り(画像の移動方向と逆側。上流側。)に配置される画像よりもスクロール方向寄り(画像の移動方向側。下流側。)に配置される画像の方が、スクロールによる移動によって早く表示対象ではなくなる。ここで表示対象でなくなるとは、表示用VRAMへのコピー範囲に含まれなくなることである。すなわち、同一の時点でバッファメモリに格納されている画像の中では、スクロール方向と最も逆側寄り(最も上流側)の行に配置されている画像が、表示対象である期間が最も長い。従って表示対象であるうちに(表示用VRAMへのコピー範囲に含まれているうちに)表示準備処理が終了する可能性が最も高い。逆に言うと、表示準備処理を始めたものの、その処理が終了する前に表示用VRAMへのコピー範囲に含まれなくなり、ディスプレイ110に表示されずにスクロールが先に進んでしまうといったことが起こる可能性が最も低い。このように本実施の形態では、表示用VRAMへのコピー範囲に含まれる画像で表示準備処理が済んでいない画像のうち、スクロール方向と最も逆側寄り(画像の移動方向と最も逆側。最上流側。)の行に配置される画像を他の画像に比べて優先的に処理する。これによって、スクロール速度が上がっても1画面に1枚も画像が表示されていないという状況になる可能性を低減することができる。 FIG. 3C shows the states of the display VRAM and the buffer memory when the user further scrolls up through the states of FIGS. 2A to 2C, 3A and 3B. The copy range to the display VRAM extends from the first line before the start of scrolling of FIG. 2A to the eleventh line image, and the copy range indicated by the broken line in the figure is the fifth line and the sixth line. It is between the boundary of the eyes and the middle of the 11th line. In this example, it is faster than the image 8: 1 to image 8: 5 on the eighth line, the images 9: 1 to 9: 6 on the ninth line, and the display preparation processing for one image on the tenth line is completed. Scrolling has progressed to the eleventh line. In this case, the display preparation processing of the image 11: 7, which is a new display target, is prioritized over the display preparation processing of the image 11: 7, over the 10th line in which no display preparation processing has been completed. ing. As described above, in the present embodiment, an image to be newly displayed by scrolling (for example, an image on the 10th line in the figure) is newly displayed by scrolling, compared to an image (for example, an image on the 10th line in the figure) which is closer to the image displayed before scrolling. In the figure, the display preparation processing of the image on the 11th line) is performed earlier in time. In other words, the display preparation processing of the image arranged on the opposite side to the scroll direction (the direction in which the image moves in the scroll) is performed temporally earlier than the image arranged on the scroll direction side. The side opposite to the scroll direction is, in other words, the upstream side with respect to the direction in which the image moves by scrolling. The image once stored in the buffer memory after the display preparation processing is completed is stored in the buffer memory at least as long as the image is within the copy range to the display VRAM, even if scrolling is performed. At the same time, the image is arranged closer to the scroll direction (toward the moving direction of the image; downstream) than to the image arranged closer to the opposite side to the scrolling direction (opposite to the moving direction of the image; upstream side). The image is no longer a display target due to the scrolling movement. Here, “not to be displayed” means that it is not included in the copy range to the display VRAM. In other words, among the images stored in the buffer memory at the same time, the image placed in the row closest to the scroll direction (the most upstream side) has the longest period to be displayed. Therefore, it is most likely that the display preparation process is completed while the display is being performed (while being included in the copy range to the display VRAM). In other words, although the display preparation process is started, before the process is completed, the display preparation process is not included in the copy range to the display VRAM, and the scroll is advanced without being displayed on the display 110. Least likely. As described above, in the present embodiment, among the images included in the copy range to the display VRAM and which have not been subjected to the display preparation processing, the images are closest to the scroll direction (the most opposite side to the moving direction of the image. The image arranged in the row on the upstream side is processed with priority over other images. As a result, it is possible to reduce the possibility that no image is displayed on one screen even if the scroll speed increases.
なお、図2、図3では上方向にスクロールした例を説明したが、下方向にスクロールすることも可能であることはいうまでもない。図4に、下方向にスクロールした際の表示用VRAMとバッファメモリの関係の模式図を示す。 Although FIGS. 2 and 3 illustrate an example of scrolling upward, it goes without saying that scrolling downward is also possible. FIG. 4 is a schematic diagram showing the relationship between the display VRAM and the buffer memory when scrolling downward.
<処理手順>
次に、上述した動作を実現する処理の手順を、図5〜図8のフローチャートを用いて詳細に説明する。図5〜図8のフローチャートは、CPU101が不揮発性メモリ102に記録されたプログラムをメモリ103のワークメモリ領域に展開して実行し、デジタルカメラ100の各部を制御することで実現する。
<Processing procedure>
Next, a procedure of processing for realizing the above-described operation will be described in detail with reference to flowcharts of FIGS. The flowcharts of FIGS. 5 to 8 are realized by the
まず、図5〜図8のフローチャートの説明に用いる用語の意味を記す。 First, the meanings of terms used in the description of the flowcharts in FIGS.
表示順:表示準備処理を施す時間的な優先順序を、ディスプレイ110に表示される行列の上の行から下の行という順序にするか、下の行から上の行という順序にするかを示す変数。スクロールの方向によって変わる変数であり、メモリ103に記憶される。
Display order: Indicates whether the temporal priority order for performing the display preparation processing is the order from the upper row to the lower row of the matrix displayed on the display 110 or the order from the lower row to the upper row. variable. The variable changes depending on the scroll direction, and is stored in the
処理対象行(処理対象列):ある時点において表示準備処理を施してバッファメモリに追加すべき画像の配置位置の行(列)を示す変数。画像の配置は画像ファイル名やファイル番号、撮影日時等の情報によって一意に定まっているので、インデックス表示における配置位置がわかれば画像の配置順と照らし合わせることで一意に画像を特定できる。メモリ103に記憶される。
Processing target row (processing target column): a variable indicating the row (column) of the arrangement position of the image to be subjected to the display preparation processing and added to the buffer memory at a certain time. Since the arrangement of the images is uniquely determined by information such as the image file name, file number, and shooting date and time, if the arrangement position in the index display is known, the image can be uniquely specified by comparing it with the arrangement order of the images. Stored in the
行Offset:スクロールを1行単位よりも細かい滑らかなアニメーションとするため、バッファメモリから表示用RAMへコピーする範囲を1行以下でずらす位置を示すための変数(整数値)。メモリ103に記憶される。
Line Offset: A variable (integer value) for indicating a position where the range to be copied from the buffer memory to the display RAM is shifted by one line or less in order to make scrolling a smooth animation finer than one line unit. Stored in the
行Offsetの規定値:丁度1行分のスクロールを行う間にアニメーションのために表示を更新する回数を示す定数。言い換えると、丁度1行分ずらした際の行Offsetの値を示す定数。不揮発性メモリ102に予め記憶されている。この行Offsetの規定値が大きければアニメーションはより細くなり、規定値が小さければアニメーションはより粗くなる。以下の式を満たす。
[アニメーションにおける1回の表示更新での表示画像の表示画面上での移動量]=[1行分表示するのに必要な表示用VRAM及びバッファメモリの縦方向ライン数]/[行Offsetの規定値]
Specified value of line Offset: a constant indicating the number of times the display is updated for animation while scrolling exactly one line. In other words, a constant indicating the value of the row Offset when just shifted by one row. It is stored in the
[Moving amount of display image on display screen in one display update in animation] = [Number of vertical lines of display VRAM and buffer memory required to display one line] / [Rules Offset definition] value]
スクロールカウンター:ある時点において更にスクロールすべき行数を示す変数。画面のスクロールを指示するユーザーからの操作に応じて加算あるいは減算される。実際にスクロールが行われるとスクロールされた行数分を加算または減算する。 Scroll counter: A variable that indicates the number of lines to scroll further at a certain point. The addition or subtraction is performed according to the operation of the user who instructs to scroll the screen. When scrolling is actually performed, the number of scrolled lines is added or subtracted.
アニメーションタイマー:スクロールにおいて表示を1回更新するまでの周期をカウントするタイマー。一般的にはこの逆数を以てフレームレートを表す。この値が小さくなる程アニメーションのフレームレートは上がるが、システムの負荷も高くなる。(この周期は定数。数10msec程度) Animation timer: A timer that counts the cycle until the display is updated once in scrolling. Generally, the frame rate is represented by the reciprocal. As this value decreases, the frame rate of the animation increases, but the load on the system also increases. (This cycle is a constant, about several tens of msec)
<インデックス表示処理(図5)>
図5は、インデックス表示の全体フローチャートである。ユーザーの操作などに基づいて、画像を表示するモードがインデックス表示モードに切り替えられると、インデックス表示を開始する。
<Index display processing (FIG. 5)>
FIG. 5 is an overall flowchart of the index display. When the mode for displaying an image is switched to the index display mode based on a user operation or the like, index display is started.
S501ではまず、CPU101は変数を初期化し、表示順=上から下へ、処理対象行=表示用VRAMへのコピー範囲のうちの上端、処理対象列=同一行内での左端、行Offset=0にセットし、メモリ103に記憶する。
In S501, first, the
S502では、CPU101はインデックス表示を終了するか否かを判定する。デジタルカメラ100の電源が切られたり、インデックス表示以外の他のモードに切り替える操作などを受け付けるとインデックス表示を終了すると判定され、インデックス表示を終了して図5の処理を終了する。特にインデックス表示を終了すべき指示を受け付けていない場合、インデックス表示を終了しないと判定してS503へ進む。
In S502, the
S503では、CPU101はスクロール制御処理を行う。この処理の詳細は図6、図7を用いて後述する。この処理には、スクロールすべき行数を決める処理、画像の表示順を決める処理、実際にスクロールを行う処理、スクロールの進み具合と表示準備処理の進み具合とから処理対象行(列)を決める処理等が含まれる。
In S503, the
S504では、CPU101は現在表示対象となっている1画面に含まれる画像を全て表示したか否かを判定する。これはすなわち、表示用VRAMにコピーすべき全ての画像の表示準備処理が終了したか否かの判定である。全て表示したと判定した場合はS502に処理を戻し、全て表示していないと判定した場合はS505へ進む。
In step S504, the
S505では、CPU101は表示準備処理を開始していた画像の表示準備処理が終了したか否かを判定する。表示準備処理が終了していないと判定した場合はS502に処理を戻し、表示準備処理が終了したと判定した場合はS506へ進む。
In S505, the
S506では、CPU101は表示準備処理が終了した画像をバッファメモリに追加する。これにより、後述する図7のS708、S709で表示用VRAMを更新した際にディスプレイ110に新たな画像が表示される。なお、スクロールが停止してアニメーションタイマーが稼動しなくなった場合は、未格納だった画像の表示準備処理が終了してバッファメモリに追加される度、アニメーションタイマーに関わらずバッファメモリから表示用VRAMへのコピーを行うものとする。これにより、スクロール停止後に表示準備処理を終えて追加された画像は、順次ディスプレイ110に表示される。
In S506, the
S507では、CPU101は、現時点での処理対象行、処理対象列の位置に配置すべき画像の表示準備処理を開始する。表示準備処理は画像処理部121等と協働して行われ、S507以降の処理と並行して行われる。すなわち、表示準備処理を終了していなくとも処理はS508へ進む。
In step S <b> 507, the
S508では、CPU101は新たな処理対象列を決定する処理対象列制御処理を行う。処理対象列制御処理の詳細については図8を用いて後述する。
In S508, the
<スクロール制御処理(図6)>
次に、図6に示すフローチャートを用いてスクロール制御処理の詳細を説明する。図6のスクロール制御処理は、前述した図5のS503の処理の詳細である。
<Scroll control processing (FIG. 6)>
Next, the scroll control processing will be described in detail with reference to the flowchart shown in FIG. The scroll control processing in FIG. 6 is a detail of the processing in S503 in FIG. 5 described above.
S601では、CPU101は、ユーザーからのスクロール指示の入力を受け付けたか否かを判定する。本実施の形態では、スクロールの指示の仕方に応じて上方向か下方向の任意の方向にスクロールを行うことができる。例えば入力部105に含まれる十字に配置された方向ボタンのうち上ボタンが押下されると、下方向へのスクロール(表示した画像の位置を下に移動するスクロール。現在表示している画像より上に配置された画像を閲覧するためのスクロールである)の指示を受けたものとする。逆に、下ボタンが押下されると、上方向へのスクロール(表示した画像の位置を上に移動するスクロール。現在表示している画像よりも下に配置された画像を閲覧するためのスクロールである)の指示を受けたものとする。タッチパネルでスクロール指示を行えるものであれば、タッチパネルを下から上になぞる操作で上方向へのスクロール、上から下になぞる操作で下方向へのスクロールの指示を受けたものとする。回転ホイールを回転する操作で、回転方向に応じたスクロールの指示を受け付けたものとしても良い。スクロール指示の入力を受け付けたと判定するとS602に進み、スクロール指示の入力を受け付けていないと判定するとS610に進む。
In step S601, the
S602では、CPU101は、S601で受け付けたスクロール指示が、下方向へのスクロールを指示したものか否かを判定する。下方向へのスクロールを指示したものであればS603へ進み、そうでない場合は上方向へのスクロールを指示したものであるのでS604へ進む。
In S602, the
S603では、CPU101はS601で受け付けたスクロール指示が行われた操作の操作量に応じた分だけスクロールカウンターの値を減らす。たとえば、方向ボタンのうち上ボタンが一度押下された操作であればスクロールカウンターの値を1つ減らす。タッチパネルを上から下になぞる操作であれば、なぞられた距離に応じた数だけスクロールカウンターの値を減らす。これによりスクロールカウンターが負の値になると、後述の処理によりスクロールカウンターの絶対値が示す行数だけ下にスクロールする(表示されていた画像が下に移動し、スクロール前に画面上方に隠れて表示されていなかった行の画像が表示される)。S604では、CPU101はS601で受け付けたスクロール指示が行われた操作の操作量に応じた分だけスクロールカウンターの値を増やす。これは、S603と上下逆の処理である。これによりスクロールカウンターが正の値になると、後述の処理によりスクロールカウンターが示す行数だけ上にスクロールする。(表示されていた画像が上に移動し、スクロール前に画面下方に隠れて表示されていなかった行の画像が表示される)。
In step S603, the
S605では、CPU101はスクロールカウンターの値がゼロ以下であるか否かを判定する。スクロールカウンターの値が負の値であればスクロール方向は下方向である。逆に、スクロールカウンターの値が正の値であればスクロール方向は上方向である。スクロールカウンターの値がゼロ以下であると判定すると、S606へ進み、スクロールカウンターの値が正の値であるとS607へ進む。
In S605, the
S606では、CPU101は表示準備処理を施す優先順序である表示順を、ディスプレイ110に表示される行列の上の行から下の行という順序に設定し、メモリ103に記憶する。ここでは、下スクロールによって画像が移動する方向である下方向とは逆の方向である上の行の優先順序を高くしている。
In step S <b> 606, the
S607では、CPU101はS606とは逆に、表示順をディスプレイ110に表示される行列の下の行から上の行という順序に設定し、メモリ103に記憶する。ここでは、上スクロールによって画像が移動する方向である上方向とは逆の方向である下の行の優先順序を高くしている。
In step S <b> 607, the
S608では、CPU101はアニメーションタイマーが稼動中か否かを判定する。すなわち、スクロールの最中であるか否かの判定である。アニメーションタイマーが稼動中でない(スクロールの最中ではない)と判定した場合は、S609に進み、S601で受け付けたスクロール指示に従ったスクロールを実行すべくアニメーションタイマーをスタートさせ、図6の処理を抜けて図5のS504へ進む。一方、アニメーションタイマーが稼動中である(スクロールの最中である)と判定するとS610に進む。
In S608, the
S610では、CPU101はスムーズスクロール処理を行う。スムーズスクロール処理は、アニメーションタイマーがタイムアウトするごとに行Offsetの分だけバッファメモリから表示用VRAMに読み込む部分をずらすことで、滑らかなアニメーションのスクロールを実行する処理である。スムーズスクロール処理の詳細は図7を用いて後述する。
In S610, the
S611では、CPU101は行Offsetがゼロであるか否かを判定する。行Offsetがゼロであると判定した場合はS612に進む。行Offsetがゼロである場合とは、インデックス表示で表示される画像群が、整数行分丁度と規定された位置に表示されている状態である。一方、行Offsetがゼロでないと判定した場合は図6の処理を抜けて図5のS504へ進む。行Offsetがゼロでない場合とは、インデックス表示で表示される画像群が、整数行分丁度の位置から行Offsetの分だけずれた位置に表示されている状態である。スクロールの途中の状態であり、アニメーションタイマーが稼動している。
In S611, the
S612では、CPU101はスクロールカウンターがゼロであるか否かを判定する。これは、インデックス表示で表示される画像群の表示位置が整数分丁度の位置である場合に、さらにスクロールを行うべきか否かの判定である。スクロールカウンターがゼロであると判定した場合は、これ以上スクロールを行う必要がないので、図6の処理を抜けてS504へ進む。スクロールカウンターがゼロでないと判定した場合はS613へ進み、さらにもう1行スクロールするための処理を行う。
In S612, the
S613では、CPU101はメモリ103に記憶された表示順が上の行から下の行という順序に設定されているか否かの判定を行う。上の行から下の行という順序に設定されている場合はS614へ進み、そうでない場合、すなわち下の行から上の行という順序に設定されている場合はS615へ進む。
In step S <b> 613, the
S614では、下方向スクロールをもう一行分行うのに伴い、その時点で表示準備処理を行っていた行よりも、新たにスクロールで進入してくる行の表示準備処理を優先させるため、処理対象行と処理対象列を更新し、スクロールカウンターの値を1つ消費する。CPU101は処理対象行をディスプレイ110に表示される画像のうち上端の行、すなわちバッファメモリから表示用VRAMへのコピー範囲に含まれる画像のうち上端の行に設定し、メモリ103に記憶する。また、処理対象列を、行内で画像が表示されていない最も左の列に設定してメモリ103に記憶する。そして、スクロールカウンターを1つ消費すべく、スクロールカウンターの値を1増やす。
In step S614, as another downward line is scrolled, the display preparation process for the line newly entering by scrolling is prioritized over the line for which the display preparation process was being performed at that time. And the processing target column is updated, and one value of the scroll counter is consumed. The
S615では、上方向スクロールをもう一行分行うのに伴い、その時点で表示準備処理を行っていた行よりも、新たにスクロールで進入してくる行の表示準備処理を優先させるため、処理対象行と処理対象列を更新し、スクロールカウンターの値を1つ消費する。CPU101は処理対象行をディスプレイ110に表示される画像のうち下端の行、すなわちバッファメモリから表示用VRAMへのコピー範囲に含まれる画像のうち下端の行に設定し、メモリ103に記憶する。また、処理対象列を、行内で画像が表示されていない最も右の列に設定してメモリ103に記憶する。そして、スクロールカウンターを1つ消費すべく、スクロールカウンターの値を1減らす。
In step S615, as another upward line is scrolled, the display preparation process for the line newly entering by scrolling is prioritized over the line for which the display preparation process was being performed at that time. And the processing target column is updated, and one value of the scroll counter is consumed. The
S614あるいはS615の処理を終えると、図6の処理を抜け、図5のS504へ進む。 When the processing in S614 or S615 is completed, the processing exits from the processing in FIG. 6 and proceeds to S504 in FIG.
<スムーズスクロール処理(図7)>
次に、図7に示すフローチャートを用いてスムーズスクロール処理の詳細を説明する。図7のスムーズスクロール処理は、前述した図6のS610の処理の詳細である。
<Smooth scroll processing (Fig. 7)>
Next, the details of the smooth scroll processing will be described with reference to the flowchart shown in FIG. The smooth scroll processing of FIG. 7 is the details of the processing of S610 of FIG. 6 described above.
S701では、CPU101はアニメーションタイマーが稼動中か否かを判定する。アニメーションタイマーが稼動中でないと判定すると、スクロールのアニメーション表示を行う必要がないので図7の処理を抜け、図6のS611へ進む。アニメーションタイマーが稼動中であると判定するとS702に進む。
In S701, the
S702では、CPU101はアニメーションタイマーがタイムアウトしたか否かを判定する。アニメーションタイマーがタイムアウトしていないと判定した場合は、まだ表示を更新する必要がないので図7の処理を抜け、図6のS611に進む。アニメーションタイマーがタイムアウトしたと判定した場合は表示を更新する必要があるのでS703へ進む。
In S702, the
S703では、CPU101は行Offsetがゼロであるか否かを判定する。行Offsetがゼロでない場合は、インデックス表示で表示される画像群が、整数行分丁度の位置から行Offsetの分だけずれた位置に表示されている状態であり、スクロールの途中の状態である。したがって行Offsetがゼロでないと判定した場合は、S705に進み、次の表示更新までの時間を計るためにアニメーションタイマーをリスタートする。一方、行Offsetがゼロである場合はS704へ進む。
In S703, the
S704では、CPU101はスクロールカウンターがゼロであるか否かを判定する。行Offsetがゼロでスクロールカウンターもゼロである場合は、画像群は整数行分丁度の位置に表示されており、それ以上の行をスクロールする必要もないので、アニメーションのための表示更新は行わず、図7の処理を抜け、図6のS611に進む。一方、スクロールカウンターがゼロでない場合は、さらにスクロールをする必要があるので、S705へ進む。
In S704, the
S705では、CPU101はアニメーションのために次に表示を更新するまでの時間を計るためにアニメーションタイマーをリスタートする。
In step S705, the
S706では、CPU101はメモリ103に記憶された表示順が上の行から下の行という順序に設定されているか否かの判定を行う。上の行から下の行という順序に設定されている場合はS707へ進み、そうでない場合、すなわち下の行から上の行という順序に設定されている場合はS708へ進む。なおここでの判定は、行Offsetをずらす方向をスクロール方向に合った方向とするために、スクロール方向を判定するためのステップである。したがって表示順の判定ではなく、スクロールカウンターがゼロ以下であるか否かの判定としてもよい。
In S706, the
S707では、下方向へのスクロールのアニメーションとして表示された画像群を一段階下へ移動するように、CPU101は行Offsetを1つ減らす。そして、更新した行Offsetの値の分だけバッファメモリから表示用VRAMへのコピー範囲をずらして表示用VRAMを更新する。ここでは、上の行の方向へ一段階コピー範囲をずらす。1段階のずらし量は前述したとおり、[アニメーションにおける1回の表示更新での表示画像の表示画面上での移動量(ライン数)]=[1行分表示するのに必要な表示用VRAM及びバッファメモリの縦ライン数]/[行Offsetの規定値]である。この処理により、ディスプレイ110における表示が更新される。
In step S707, the
S708では、S707とは逆に、上方向へのスクロールのアニメーションとして表示された画像群を一段階上へ移動するように、CPU101は行Offsetを1つ増やす。そして、更新した行Offsetの値の分だけバッファメモリから表示用VRAMへのコピー範囲をずらして表示用VRAMを更新する。ここでは、下の行の方向へ一段階コピー範囲をずらす。この処理により、ディスプレイ110における表示が更新される。
In step S708, contrary to step S707, the
S709では、CPU101は行Offsetの絶対値が規定値に達したか否かを判定する。規定値に達したと判定した場合はS710に進む。規定値に達した場合とは、丁度1行分のスクロールが行われた場合である。規定値に達していない場合は図7の処理を抜けて図6のS611に進む。
In S709, the
S710では、CPU101は行Offsetをゼロに設定し、バッファメモリから表示用VRAMへのコピー範囲のずらし量をゼロとする。同時にバッファメモリの画像をスクロール方向に合わせて1行繰り下げるか1行繰り上げるように更新する。ただし、図2(c)で説明したとおり、更新に伴い新たにバッファメモリに取り込むべき画像は表示準備処理に時間を要するため、即時格納されるわけではなく、表示準備処理が終わったものから順次格納される。
In step S710, the
S710の処理を終えると図7の処理を抜け図6のS611に進む。 When the process of S710 is completed, the process exits the process of FIG. 7 and proceeds to S611 of FIG.
<処理対象列制御処理(図8)>
次に、図8に示すフローチャートを用いて処理対象列制御処理の詳細を説明する。図8の処理対象列制御処理は、前述した図5のS508の処理の詳細である。
<Process target column control process (FIG. 8)>
Next, details of the processing target column control processing will be described with reference to the flowchart shown in FIG. The processing target column control processing in FIG. 8 is the details of the processing in S508 in FIG. 5 described above.
S801では、CPU101はメモリ103に記憶された表示順が上の行から下の行という順序に設定されているか否かの判定を行う。上の行から下の行という順序に設定されている場合はS802へ進み、そうでない場合、すなわち下の行から上の行という順序に設定されている場合はS807へ進む。
In step S801, the
S802では、CPU101はメモリ103に記憶された処理対象列が右端となっているか否かを判定する。右端となっている場合はS805へ進み、そうでない場合はS803へ進む。
In step S802, the
S803では、CPU101は処理対象列を現在設定されている列から一つ右の列に設定し、メモリ103に記憶する。次にS804では、CPU101は設定された処理対象列の位置にすでに画像が表示されているかを判定する。具体的には、設定された処理対象列のバッファメモリ上での位置に、既に表示準備処理を終えた画像が格納されているか否かを判定する。既に画像が表示されていると判定した場合はS805に進み、画像が表示されていないと判定した場合は、図8の処理を抜け図5のS502に進む。画像が表示されていないと判定した場合は、S803で設定した処理対象列がそのまま次回表示準備処理を行うべき列となる(ただしスクロールが先に進まなかった場合)。
In step S <b> 803, the
S805は、S802で処理対象列が右端と判定された場合、あるいはS804で処理対象列に既に画像が表示されていると判定された場合のいずれかの場合に行う処理である。つまりその時点の処理対象行の画像についてすべて表示準備処理が終了しているため、処理対象行を更新するための処理を行う。S805では、CPU101はメモリ103に記憶された処理対象行が表示用VRAMへのコピー範囲のうちの下端となっているか否かを判定する。下端となっている場合は現在の画面の画像はすべて表示準備処理が終わっているため、スクロールが進むまではこれ以上表示準備処理を行うべき画像はない。そのため図8の処理を抜け、図5のS502に進む。下端となっていないと判定した場合はS806に進み、CPU101は処理対象行を現在の処理対象行より1行下に設定してメモリ103に記憶する。そして処理対象列を処理対象行内で画像が表示されていない最も左の列に設定してメモリ103に記憶する。その後、図8の処理を抜け、図5のS502に進む。
S805 is a process to be performed when the processing target column is determined to be the right end in S802 or when an image is already displayed in the processing target column in S804. That is, since the display preparation processing has been completed for all the images of the processing target row at that time, processing for updating the processing target row is performed. In step S805, the
一方、S807〜S811の処理は、S802〜806の処理とはスクロール方向が逆の場合の処理である。 On the other hand, the processing of S807 to S811 is processing in the case where the scroll direction is opposite to the processing of S802 to 806.
S807では、CPU101はメモリ103に記憶された処理対象列が左端となっているか否かを判定する。左端となっている場合はS810へ進み、そうでない場合はS808へ進む。
In S807, the
S808では、CPU101は処理対象列を現在設定されている列から一つ左の列に設定し、メモリ103に記憶する。次にS809では、CPU101は設定された処理対象列の位置にすでに画像が表示されているかを判定する。具体的には、設定された処理対象列のバッファメモリ上での位置に、既に表示準備処理を終えた画像が格納されているか否かを判定する。既に画像が表示されていると判定した場合はS810に進み、画像が表示されていないと判定した場合は、図8の処理を抜け図5のS502に進む。画像が表示されていないと判定した場合は、S808で設定した処理対象列がそのまま次回表示準備処理を行うべき列となる(ただしスクロールが先に進まなかった場合)。
In step S <b> 808, the
S810は、S807で処理対象列が左端と判定された場合、あるいはS809で処理対象列に既に画像が表示されていると判定された場合のいずれかの場合に行う処理である。つまりその時点の処理対象行の画像についてすべて表示準備処理が終了しているため、処理対象行を更新するための処理を行う。S810では、CPU101はメモリ103に記憶された処理対象行が表示用VRAMへのコピー範囲のうちの上端となっているか否かを判定する。上端となっている場合は現在の画面の画像はすべて表示準備処理が終わっているため、スクロールが進むまではこれ以上表示準備処理を行うべき画像はない。そのため図8の処理を抜け、図5のS502に進む。上端となっていないと判定した場合はS811に進み、CPU101は処理対象行を現在の処理対象行より1行上に設定してメモリ103に記憶する。そして処理対象列を処理対象行内で画像が表示されていない最も右の列に設定してメモリ103に記憶する。その後、図8の処理を抜け、図5のS502に進む。
S810 is processing to be performed when the processing target column is determined to be the left end in S807, or when an image is already displayed in the processing target column in S809. That is, since the display preparation processing has been completed for all the images of the processing target row at that time, processing for updating the processing target row is performed. In S810, the
なお、上述の各フローチャートには図示していないが、入力部105を介してユーザーからのスクロールの停止指示を受け付けてもよい。たとえば図6のS601の前に、ユーザーからのスクロール停止指示を受け付けたか否かの判定ステップを設ける。スクロール停止指示を受け付けていない場合にはS601に進み、スクロール停止指示を受け付けた場合にはスクロールカウンターをゼロにセットしてからS601に進む。このようにすることで、ユーザーはスクロール中に表示されている画像を見て任意のタイミングでスクロールを停止させることができる。
Although not shown in each of the flowcharts described above, an instruction to stop scrolling may be received from the user via the
また、上述の各フローチャートでは1行未満の移動量で表示を更新するスムーズなアニメーションによってスクロールを実現する例を説明したが、これほどスムーズにすることは必須ではなく、一行単位のスクロールとしても構わない。その場合、行Offsetの規定値を1とすれば良い。 In each of the above-described flowcharts, an example has been described in which scrolling is realized by a smooth animation that updates the display with a movement amount of less than one line. However, such smoothing is not essential, and scrolling may be performed in units of one line. Absent. In that case, the specified value of the row Offset may be set to 1.
以上説明した図5〜図8の処理によって、図2〜図4を用いて説明した動作を実現する。図5〜図8の処理によれば、図2〜図4でも説明したとおり、ある時点である行に配置される画像の表示準備処理を行っている途中で、スクロールによって新たな行が表示される場合は、新たな行の画像の表示準備処理を優先して行う。これによって、スクロール速度が上がっても1画面に1枚も画像が表示されていないという状況になる可能性を低減し、スクロール中にもより多くの画像を表示することができる。また、同一の行内であれば、スクロール方向に応じて、スクロール前に表示されていた画像からより配置順の遠い画像を優先して表示準備処理を行う。これによって、スクロール中に現在どの範囲の画像までが表示画面に表示されるのかをユーザーがすばやく確認することが可能となる。したがってスクロールの指示操作を行っているユーザーにとってはどこでスクロールを停止させるべきかの判断をしやすい。また、スクロールの最中により多くの画像を表示できる分、まだ表示されていない画像の数が少ない。したがってスクロールを停止してからまだ表示していない画像をすべて表示するまでの処理時間が少なくなる。すなわち、スクロール停止後に全画像が表示されるまでにユーザーが待つ時間が少なくなる。 The operations described with reference to FIGS. 2 to 4 are realized by the processes of FIGS. 5 to 8 described above. According to the processing of FIGS. 5 to 8, as described in FIGS. 2 to 4, a new line is displayed by scrolling while the display preparation processing of the image arranged at a certain point in time is being performed. In this case, the display preparation processing of the image of the new line is performed with priority. As a result, the possibility that no image is displayed on one screen even when the scroll speed increases is reduced, and more images can be displayed even during scrolling. Further, within the same line, display preparation processing is performed with priority given to an image farther from the image displayed before scrolling than the image displayed before scrolling according to the scroll direction. This allows the user to quickly confirm which range of images is currently displayed on the display screen during scrolling. Therefore, it is easy for the user performing the scroll instruction operation to determine where to stop scrolling. Also, since more images can be displayed during scrolling, the number of images not yet displayed is small. Therefore, the processing time from stopping scrolling to displaying all the images that have not been displayed is reduced. That is, the user waits less time until all the images are displayed after the scrolling is stopped.
また、上記では上下方向へのスクロールを行う例を説明したが、もちろん左右方向へのスクロールを行うものにも適用可能である。さらに、斜め方向を含む任意の方向にスクロール可能な場合であっても適用可能である。この場合、スクロールによる表示範囲の変更前に表示範囲に含まれていた画像よりも、スクロールにより表示範囲に新たに含まれる画像を優先して表示するように処理を行うことにより上述の実施の形態と同様の効果を奏する。 In the above description, an example in which scrolling is performed in the up-down direction has been described. However, it is needless to say that the present invention can be applied to scrolling in the left-right direction. Furthermore, the present invention can be applied to a case where scrolling is possible in any direction including an oblique direction. In this case, by performing processing to display an image newly included in the display range by scrolling in preference to an image included in the display range before the display range is changed by scrolling, the above-described embodiment is performed. It has the same effect as.
なお、上述のバッファメモリにはディスプレイ110に表示される行数よりも上下に1行分多い格納領域を用意したが、さらに多くの行の予備格納領域を設けても良い。その場合、上述の図5ステップS504にて、CPU101が全画像の表示を完了したと判断した後、引き続き予備の領域に格納する分の画像の表示準備処理を継続する。バッファメモリに、ディスプレイ110に表示される行数よりも上下に3行分多い格納領域を用意した例を図9に示す。行Offsetがゼロの場合に表示用VRAM上にコピーされる範囲を可視格納領域、それよりも上に3行予備に用意した格納領域を上部予備格納領域、下に3行予備に用意した格納領域を下部予備格納領域と称する。可視格納領域に格納する画像については、図5〜図8で説明した順番で表示準備処理を行って画像を格納する。その後、そのまま同じ方向へスクロールした場合に新たに表示されることになる行の画像を優先して、表示準備処理を行って予備格納領域に格納する。たとえば、上方向へのスクロールを行っていた場合にはディスプレイ110上では下方向から画像が進入してくるアニメーションとなり、すなわち下の行の画像が新たに表示されることになる。そのため、可視格納領域に表示準備処理を終えた画像を格納し終えた後は、上部予備格納領域に格納される画像よりも先に、まず下部予備格納領域に対して画像を追加する。逆に、下方向へのスクロールを行っていた場合には、下部予備格納領域よりも先に、上部予備格納領域に対して画像を追加する。この事により、スクロール開始した直後の画像表示の戸切れを更に軽減する事が可能となる。ここでは予備格納領域のサイズを便宜的に可視格納領域の半分としたが、システムのメモリ状況に合わせ、そのサイズは問わない。
Although the buffer memory described above has a storage area one row above and below the number of rows displayed on the display 110, a spare storage area for more rows may be provided. In this case, after the
なお、インデックス表示で表示された複数の画像を、スクロールを伴わずに切り替える機能を追加してもよい。例えば、1画面に表示されていた1行目から6行目の画像を、スクロールを伴わずに7行目から12行目の画像に切り替えられる機能があっても良い。その場合、スクロール時とは異なる順で表示準備処理を行っても良い。例えば、スクロールを伴わない画像切り替え時は、切り替え前に表示していた画像に配置順が近い画像を優先して表示準備処理を行うことにすれば、切り替えがその方向に行われたかを判別しやすくなる。例えば、1行目から6行目の画像を、スクロールを伴わずに7行目から12行目の画像に切り替えた際には7行目から表示準備処理を開始する。また、1行目から6行目の画像を、−5行目から0行目の画像に切り替えた際には0行目から表示準備処理を開始する。一方、インデックス表示で表示された複数の画像を、スクロールを伴わずに切り替えた場合にも、スクロール時と同様に、それまで表示されていた画像から配置順が遠い画像から先に表示準備処理を行うものとしてもよい。このようにすれば、切り替えた後の画像がどの範囲の画像までを含むのかをすばやく確認することが可能となり、さらに切り替えを行うべきかの判断をしやすくなる。 Note that a function of switching a plurality of images displayed in the index display without scrolling may be added. For example, there may be a function that can switch the image from the first line to the sixth line displayed on one screen to the image from the seventh line to the twelfth line without scrolling. In that case, the display preparation processing may be performed in a different order from the scrolling. For example, at the time of image switching without scrolling, if the display preparation process is performed with priority given to the image arranged closer to the image displayed before switching, it is determined whether the switching has been performed in that direction. It will be easier. For example, when the image from the first line to the sixth line is switched to the image from the seventh line to the twelfth line without scrolling, the display preparation processing is started from the seventh line. When the image on the first to sixth lines is switched to the image on the fifth to zeroth lines, the display preparation process starts from the zeroth line. On the other hand, when a plurality of images displayed in the index display are switched without scrolling, as in the case of scrolling, the display preparation processing is performed first on the image whose arrangement order is far from the previously displayed image. It may be performed. By doing so, it is possible to quickly confirm the range of the image after switching including the image, and it is easy to determine whether switching should be performed.
また、インデックス表示における表示枚数は上述の例に限らない。一度に表示する枚数を切り替えられるようにしてもよい。例えば図2〜図4の例では6行7列を表示するものとしたが、3行3列や、10行10列といった他の枚数に切り替えられるようにしても良い。他の枚数への切り替えの際は、スクロール時とは異なる順で表示準備処理を行っても良い。例えば、枚数切り替え時は、それまでに選択していた画像に配置順が近い画像を優先して表示準備処理を行うことにすれば、切り替え前に選択していた画像を切り替え後も見失わずに判別することができる。 Further, the number of displayed images in the index display is not limited to the above example. The number of images to be displayed at a time may be switched. For example, in the examples of FIGS. 2 to 4, six rows and seven columns are displayed, but the number may be switched to another number such as three rows and three columns or ten rows and ten columns. When switching to another number, the display preparation processing may be performed in an order different from that in scrolling. For example, when switching the number of images, if the display preparation process is performed with priority given to the image whose arrangement order is closer to the image selected so far, the image selected before the switching will not be lost even after the switching. Can be determined.
さらに、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。さらに、上述した各実施形態は本発明の一実施形態を示すものにすぎず、各実施形態を適宜組み合わせることも可能である。上述の各フローチャートの処理はCPU101が行うものとして説明したが、それに限らず、複数のハードウェアが処理を分担することで行っても良い。
Furthermore, although the present invention has been described in detail based on the preferred embodiments, the present invention is not limited to these specific embodiments, and various forms that do not depart from the gist of the present invention are also included in the present invention. included. Furthermore, each of the above-described embodiments is merely an embodiment of the present invention, and the embodiments can be appropriately combined. Although the processing in each of the above-described flowcharts has been described as being performed by the
また、上述した実施形態においては、本発明をデジタルカメラに適用した場合を例にして説明したが、これはこの例に限定されない。すなわち、本発明はパーソナルコンピュータやPDA、携帯電話端末や携帯型画像ビューワ、ディスプレイ付きプリンタ装置、デジタルフォトフレーム、ゲーム機、音楽プレーヤーなど、複数の画像をスクロール可能な表示制御装置であれば適用可能である。 Further, in the above-described embodiment, the case where the present invention is applied to a digital camera has been described as an example, but the present invention is not limited to this example. That is, the present invention is applicable to any display control device capable of scrolling a plurality of images, such as a personal computer, a PDA, a mobile phone terminal, a portable image viewer, a printer device with a display, a digital photo frame, a game machine, and a music player. It is.
(他の実施形態)
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)をネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムコードを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
(Other embodiments)
The present invention is also realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or an apparatus via a network or various storage media, and a computer (or a CPU or an MPU) of the system or the apparatus reads out the program code and This is the process to be performed. In this case, the program and a storage medium storing the program constitute the present invention.
Claims (7)
前記画像ごとに、前記画面に表示するための処理を実行する処理手段と、
前記画面に配置される画像をスクロールによって変更する変更手段と、
前記処理を実行された画像のうち前記画面に配置される画像を、前記スクロールの方向によって異なる時間的な表示順にしたがって前記画面に表示するよう制御する表示制御手段を備え、
前記表示順は、前記スクロールの方向において上流側に配置される画像は、前記スクロールの方向において下流側に配置される画像よりも優先することを特徴とする表示制御装置。 A display control device that arranges and displays a plurality of images on a screen according to a spatial arrangement order,
Processing means for executing a process for displaying on the screen for each image;
Changing means for changing an image arranged on the screen by scrolling,
Display control means for controlling an image arranged on the screen among the images subjected to the processing to be displayed on the screen in accordance with a temporal display order that varies depending on the scroll direction,
The display control device according to claim 1, wherein the display order is such that an image arranged on the upstream side in the scroll direction has priority over an image arranged on the downstream side in the scroll direction.
前記スクロールの方向が前記画面の下から上への方向であるとき、前記画面内で下端に配置される画像を、前記画面内で上端に配置される画像よりも優先して前記画面に表示することを特徴とする請求項4に記載の表示制御装置。 The display control means, when the scroll direction is a direction from the top to the bottom of the screen, gives priority to an image arranged at an upper end in the screen over an image arranged at a lower end in the screen. To display on the screen,
When the scroll direction is from the bottom to the top of the screen, an image arranged at a lower end in the screen is displayed on the screen in preference to an image arranged at an upper end in the screen. The display control device according to claim 4, wherein:
前記画像ごとに、前記画面に表示するための処理を実行するステップと、
前記画面に配置される画像をスクロールによって変更するステップと、
前記処理を実行された画像のうち前記画面に配置される画像を、前記スクロールの方向によって異なる時間的な表示順にしたがって前記画面に表示するよう制御するステップを備え、
前記表示順は、前記スクロールの方向において上流側に配置される画像は、前記スクロールの方向において下流側に配置される画像よりも優先することを特徴とする制御方法。 A control method of a display control device that arranges and displays a plurality of images on a screen according to a spatial arrangement order,
Performing a process for displaying on the screen for each image;
Changing an image arranged on the screen by scrolling;
Controlling the image to be displayed on the screen among the images subjected to the processing to be displayed on the screen according to a temporal display order that differs depending on the scroll direction,
In the control method, the display order may be such that an image arranged on the upstream side in the scroll direction has a higher priority than an image arranged on the downstream side in the scroll direction.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019169241A JP2020008874A (en) | 2019-09-18 | 2019-09-18 | Display control device, control method and program of the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019169241A JP2020008874A (en) | 2019-09-18 | 2019-09-18 | Display control device, control method and program of the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018123673A Division JP6591002B2 (en) | 2018-06-28 | 2018-06-28 | Display control apparatus, control method thereof, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2020008874A true JP2020008874A (en) | 2020-01-16 |
Family
ID=69151723
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019169241A Pending JP2020008874A (en) | 2019-09-18 | 2019-09-18 | Display control device, control method and program of the same |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2020008874A (en) |
-
2019
- 2019-09-18 JP JP2019169241A patent/JP2020008874A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10547778B2 (en) | Image display device for displaying an image in an image display area, and storage medium storing image display program for displaying an image in an image display area | |
JP5679671B2 (en) | Display control apparatus and control method thereof | |
JP5676952B2 (en) | Display control apparatus, display control method, program, and storage medium | |
RU2481648C2 (en) | Display control device and control method therefor | |
JP2012037974A (en) | Display controller, display control method, program and recording medium | |
US9148536B2 (en) | Display control apparatus and display control method | |
JP2012150558A (en) | Display control unit and control method thereof | |
JP5503313B2 (en) | Display control apparatus, control method, program, and recording medium | |
JP2012203027A (en) | Display control device, display control method, and program | |
JP5220157B2 (en) | Information processing apparatus, control method therefor, program, and storage medium | |
JP6591002B2 (en) | Display control apparatus, control method thereof, and program | |
JP2011034512A (en) | Display controller and display control method | |
JP2020008874A (en) | Display control device, control method and program of the same | |
JP6362726B2 (en) | Display control apparatus, display control method, and program | |
JP6120886B2 (en) | Display control apparatus, control method thereof, and program | |
JP5509757B2 (en) | Information processing apparatus, display control method, and program | |
JP5230559B2 (en) | Display control apparatus, control method thereof, and program | |
JP2013160988A (en) | Image reproducing device, method of controlling the same, and program | |
JP5419783B2 (en) | Image reproducing apparatus and method for controlling image reproducing apparatus | |
CN105765515A (en) | Animation device and animation method | |
JP6099909B2 (en) | DISPLAY CONTROL DEVICE, ITS CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM | |
JP2018200385A (en) | Content display device, method for controlling the same, and program | |
JP6163894B2 (en) | Image reproduction apparatus, image display method, program, and image display system | |
JP5515752B2 (en) | Display processing apparatus, display processing method, and display processing program | |
JP2017224303A (en) | Information display device, information display method and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190918 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200928 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201020 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20210413 |