JP2020008874A - Display control device, control method and program of the same - Google Patents

Display control device, control method and program of the same Download PDF

Info

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
Application number
JP2019169241A
Other languages
Japanese (ja)
Inventor
泰史 小山
Yasushi Koyama
泰史 小山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2019169241A priority Critical patent/JP2020008874A/en
Publication of JP2020008874A publication Critical patent/JP2020008874A/en
Pending legal-status Critical Current

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

To provide a display control device that can display much more images in the midst of scrolling.SOLUTION: A display control device is configured to, when displaying a plurality of images with the images arranged on a screen in spatial arrangement order, implement processing for displaying the image for each image; change the image to be arranged on the screen by scrolling; control so as to display the image to be arranged on the screen according to a time-variant display order depending upon a direction of the scrolling of the images undergoing the processing. Herein, the display order is configured to prioritize the image to be arranged on an upstream side in the scrolling direction over the image to be arranged on a downstream side in the scrolling direction.SELECTED DRAWING: Figure 3

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 Patent Document 1, the order in which the images are displayed on the index screen is changed according to the conditions, and the image that the user has browsed so far is displayed first, and the image adjacent to the image is displayed preferentially. A method for doing so is disclosed. As a result, the user can discriminate the images that have been browsed without losing sight even after shifting to the index display.

特開2001−231005号公報JP 2001-231005 A

しかしながら従来は、インデックス表示においてスクロールを行うと、画像を表示するための処理にかかる処理時間が間に合わないために、スクロールの最中において表示されるべき画像が表示されないことがあった。これはスクロール速度が増す程、また、一度に表示される画像の数が増す程発生する可能性が高く、場合によってはスクロール中に画像が殆ど表示されないという事態が発生する。画像が殆ど表示されない場合、スクロールによりどの画像に切り替わっているかがわかりづらく、スクロールの操作をしているユーザーはどこでスクロールを終了させるべきかの判断がしにくい。またスクロール停止後も表示されていない画像を表示する処理の時間だけ待つこととなる。   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 Patent Document 1, an image adjacent to an image that has been displayed up to that time, that is, an image in a direction in which the image disappears by scrolling (a direction in which the image moves) is preferentially displayed. However, since the image adjacent to the image that has been displayed up to that point is no longer the display target earlier than the other images that have been newly displayed during scrolling, processing for displaying while the display is being performed has been difficult. Less likely to be completed than other images. Processing for displaying another image to be newly displayed is also delayed by an amount performed after an image adjacent to the previously displayed image. Therefore, also in Patent Document 1, there is a possibility that a situation may occur in which many images to be displayed during scrolling are not displayed as described above.

本発明は上述の課題に鑑み、スクロールの最中に、より多くの画像を表示することが可能な表示制御装置を提供する事を目的とする。   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.

デジタルカメラ100のハードウェア構成である。2 is a hardware configuration of the digital camera 100. インデックス表示においてスクロールを行った場合の表示用VRAMとバッファメモリの関係の模式図である。It is a schematic diagram of the relationship between the display VRAM and the buffer memory when scrolling is performed in the index display. インデックス表示においてスクロールを行った場合の表示用VRAMとバッファメモリの関係の模式図である。It is a schematic diagram of the relationship between the display VRAM and the buffer memory when scrolling is performed in the index display. インデックス表示においてスクロールを行った場合の表示用VRAMとバッファメモリの関係の模式図。FIG. 9 is a schematic diagram showing a relationship between a display VRAM and a buffer memory when scrolling is performed in the index display. インデックス表示の処理フローチャートである。It is a processing flowchart of an index display. スクロール制御処理のフローチャートである。It is a flowchart of a scroll control process. スムーズスクロール処理のフローチャートである。It is a flowchart of a smooth scroll process. 処理対象列制御処理のフローチャートである。It is a flowchart of a process target column control process. 予備の格納領域を設けたバッファメモリの模式図である。It is a schematic diagram of a buffer memory provided with a spare storage area.

以下、本発明の実施の形態を図面に基づいて説明する。   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 digital camera 100 as an example of a display control device to which each embodiment of the present invention can be applied. FIG. 1A is a block diagram showing a configuration example of a digital camera, and FIG. 1B is an external view.

図1において、内部バス111に対してCPU101、不揮発性メモリ102、メモリ103、表示制御部104、入力部105、ドライブ装置106、通信I/F107、画像処理部121、撮像部122が接続される。内部バス111に接続される各部は、内部バス111を介して互いにデータのやりとりを行うことができるようにされている。   1, a CPU 101, a nonvolatile memory 102, a memory 103, a display control unit 104, an input unit 105, a drive device 106, a communication I / F 107, an image processing unit 121, and an imaging unit 122 are connected to an internal bus 111. . The units connected to the internal bus 111 can exchange data with each other via the internal bus 111.

不揮発性メモリ102は、CPU101が動作するための定数や各種プログラムなどが格納される。メモリ103は、例えばRAMからなる。CPU101は、例えば不揮発性メモリ102に格納されるプログラムに従い、メモリ103をワークメモリとして用いて、このデジタルカメラ100の各部を制御する。入力部105は、ユーザー操作を受け付け、操作に応じた制御信号を生成し、CPU101に供給する。入力部105は、ユーザー操作を受け付ける操作部材として、ボタン(十字に配置された方向ボタン105−1を含む)、回転ホイール105−2、ポインティングデバイスとしてのタッチパネル105−3などを有する。なお、タッチパネルは、例えば平面的に構成された入力部に対して接触された位置に応じた座標情報が出力されるようにした入力デバイスである。ポインティングデバイスとしてはタッチパネルの変わりにマウスやトラックボールを用いることとしてもよい。CPU101は、入力デバイスに対してなされたユーザー操作に応じて入力部105で生成され供給される制御信号に基づき、プログラムに従いこのデジタルカメラ100の各部を制御する。これにより、デジタルカメラ100に対し、ユーザー操作に応じた動作を行わせることができる。   The nonvolatile memory 102 stores constants, various programs, and the like for the CPU 101 to operate. The memory 103 includes, for example, a RAM. The CPU 101 controls each part of the digital camera 100 using the memory 103 as a work memory in accordance with a program stored in the nonvolatile memory 102, for example. The input unit 105 receives a user operation, generates a control signal according to the operation, and supplies the control signal to the CPU 101. The input unit 105 includes buttons (including direction buttons 105-1 arranged in a cross), a rotating wheel 105-2, a touch panel 105-3 as a pointing device, and the like as operation members for receiving a user operation. The touch panel is, for example, an input device configured to output coordinate information according to a position touched on an input unit configured in a plane. As the pointing device, a mouse or a trackball may be used instead of the touch panel. The CPU 101 controls each unit of the digital camera 100 according to a program based on a control signal generated and supplied by the input unit 105 in response to a user operation performed on the input device. This allows the digital camera 100 to perform an operation according to a user operation.

入力部105としてタッチパネルを用いる場合、入力部105とディスプレイ110とを一体的に構成することができる。例えば、タッチパネルを光の透過率がディスプレイ110の表示を妨げないように構成し、ディスプレイ110の表示面の上層に取り付ける。そして、タッチパネルにおける入力座標と、ディスプレイ110上の表示座標とを対応付ける。これにより、恰もユーザーがディスプレイ110上に表示された画面を直接的に操作可能であるかのようなGUI(Graphical User Interface)を構成することができる。   When a touch panel is used as the input unit 105, the input unit 105 and the display 110 can be integrally configured. For example, the touch panel is configured so that the light transmittance does not disturb the display of the display 110, and is attached to the upper layer of the display surface of the display 110. Then, the input coordinates on the touch panel and the display coordinates on the display 110 are associated with each other. Thus, a GUI (Graphical User Interface) can be configured as if the user could directly operate the screen displayed on the display 110.

表示制御部104は、ディスプレイ110に対して画像を表示させるための表示信号を出力する。例えば、表示制御部104に対して、CPU101がプログラムに従い生成した表示制御信号が供給される。表示制御部104は、この表示制御信号に基づき表示信号を生成してディスプレイ110に対して出力する。例えば、表示制御部104は、CPU101が生成する表示制御信号に基づき、GUIを構成するGUI画面をディスプレイ110に対して表示させる。   The display control unit 104 outputs a display signal for causing the display 110 to display an image. For example, a display control signal generated by the CPU 101 according to a program is supplied to the display control unit 104. The display control unit 104 generates a display signal based on the display control signal and outputs it to the display 110. For example, based on a display control signal generated by the CPU 101, the display control unit 104 causes the display 110 to display a GUI screen constituting the GUI.

ドライブ装置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 external storage medium 108 such as a memory card. Under the control of the CPU 101, the drive device 106 reads data from the loaded external storage medium 108 and writes data into the external storage medium 108. . The external storage medium 108 to which the drive device 106 can be mounted is not limited to a semiconductor memory such as a memory card, and a disk recording medium such as a CD, DVD, or hard disk may be mounted on the drive device 106. Reference numeral 202 denotes a slot cover for storing the external storage medium 108. A communication interface (I / F) 107 performs communication with a network 120 such as a LAN or the Internet based on the control of the CPU 101. FIG. 1B illustrates a wired example, but wireless communication may be used.

撮像部122は、フォーカスレンズを含む撮影レンズ、絞り機能を備えるシャッター、光学像を電気信号に変換するCCDやCMOS素子等の撮像素子、A/D変換器等で構成される。画像処理部121は、撮像部からの画像データ、又は、外部記憶媒体108等から読み込んだ画像データに対し、デコード、エンコード、所定の画素補間、拡大や縮小といったリサイズ処理や色変換処理を行う。   The imaging unit 122 includes a shooting lens including a focus lens, a shutter having an aperture function, an imaging device such as a CCD or a CMOS device that converts an optical image into an electric signal, an A / D converter, and the like. The image processing unit 121 performs resizing processing such as decoding, encoding, predetermined pixel interpolation, enlargement and reduction, and color conversion processing on image data from the imaging unit or image data read from the external storage medium 108 or the like.

<動作説明>
以下、図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 memory 103 has a display VRAM area and a buffer memory area. When displaying an image on the display 110, an image to be displayed is read from the external storage medium 108 or the like, the image is decoded by the image processing unit 121 (including decompression processing if compressed), and the image is converted to a display size. Resize and expand (store) in buffer memory. Hereinafter, at least one of these processes is collectively referred to as a display preparation process. One screen of display data including the image to be displayed on the display 110 among the images developed in the buffer memory is copied and stored in the display VRAM. The display data stored in the display VRAM is displayed on the display 110 via the display control unit 104.

図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 external storage medium 108 or the like, and the image processing unit 121 decodes the compressed image and prepares for display such as resizing to the display size. Action is required. Therefore, the data is not immediately stored in the buffer memory, but is stored after being delayed by the time required for the display preparation processing. In the buffer memory of FIG. 2C, since the state at the moment when the scroll has just advanced by one line is shown, the image 8: 1 to 8: 7 on the eighth line has not been stored yet. I have. Hereinafter, it is assumed that a portion indicated by black in the buffer memory indicates that an image to be stored is not yet stored.

図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 CPU 101 expanding a program recorded in the nonvolatile memory 102 into a work memory area of the memory 103 and executing the program, and controlling each unit of the digital camera 100.

まず、図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 memory 103.

処理対象行(処理対象列):ある時点において表示準備処理を施してバッファメモリに追加すべき画像の配置位置の行(列)を示す変数。画像の配置は画像ファイル名やファイル番号、撮影日時等の情報によって一意に定まっているので、インデックス表示における配置位置がわかれば画像の配置順と照らし合わせることで一意に画像を特定できる。メモリ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 memory 103.

行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 memory 103.

行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 nonvolatile memory 102 in advance. If the specified value of the row Offset is large, the animation becomes thinner, and if the specified value is small, the animation becomes coarser. The following equation is satisfied.
[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 CPU 101 initializes variables, and sets display order = from top to bottom, processing target row = top end of the copy range to the display VRAM, processing target column = left end in the same row, row Offset = 0. It is set and stored in the memory 103.

S502では、CPU101はインデックス表示を終了するか否かを判定する。デジタルカメラ100の電源が切られたり、インデックス表示以外の他のモードに切り替える操作などを受け付けるとインデックス表示を終了すると判定され、インデックス表示を終了して図5の処理を終了する。特にインデックス表示を終了すべき指示を受け付けていない場合、インデックス表示を終了しないと判定してS503へ進む。   In S502, the CPU 101 determines whether to end the index display. When the power of the digital camera 100 is turned off or an operation for switching to a mode other than the index display is received, it is determined that the index display is to be terminated, the index display is terminated, and the processing in FIG. 5 is terminated. In particular, when an instruction to end the index display is not received, it is determined that the index display is not to be ended, and the process proceeds to S503.

S503では、CPU101はスクロール制御処理を行う。この処理の詳細は図6、図7を用いて後述する。この処理には、スクロールすべき行数を決める処理、画像の表示順を決める処理、実際にスクロールを行う処理、スクロールの進み具合と表示準備処理の進み具合とから処理対象行(列)を決める処理等が含まれる。   In S503, the CPU 101 performs a scroll control process. Details of this processing will be described later with reference to FIGS. In this processing, processing to determine the number of lines to be scrolled, processing to determine the display order of images, processing to actually scroll, and processing target rows (columns) are determined from the progress of scrolling and the progress of display preparation processing. Processing and the like are included.

S504では、CPU101は現在表示対象となっている1画面に含まれる画像を全て表示したか否かを判定する。これはすなわち、表示用VRAMにコピーすべき全ての画像の表示準備処理が終了したか否かの判定である。全て表示したと判定した場合はS502に処理を戻し、全て表示していないと判定した場合はS505へ進む。   In step S504, the CPU 101 determines whether all the images included in one screen currently being displayed are displayed. That is, this is a determination as to whether or not display preparation processing for all images to be copied to the display VRAM has been completed. If it is determined that all are displayed, the process returns to S502, and if it is determined that all are not displayed, the process proceeds to S505.

S505では、CPU101は表示準備処理を開始していた画像の表示準備処理が終了したか否かを判定する。表示準備処理が終了していないと判定した場合はS502に処理を戻し、表示準備処理が終了したと判定した場合はS506へ進む。   In S505, the CPU 101 determines whether or not the display preparation processing of the image for which the display preparation processing has been started has ended. If it is determined that the display preparation process has not been completed, the process returns to S502, and if it is determined that the display preparation process has been completed, the process proceeds to S506.

S506では、CPU101は表示準備処理が終了した画像をバッファメモリに追加する。これにより、後述する図7のS708、S709で表示用VRAMを更新した際にディスプレイ110に新たな画像が表示される。なお、スクロールが停止してアニメーションタイマーが稼動しなくなった場合は、未格納だった画像の表示準備処理が終了してバッファメモリに追加される度、アニメーションタイマーに関わらずバッファメモリから表示用VRAMへのコピーを行うものとする。これにより、スクロール停止後に表示準備処理を終えて追加された画像は、順次ディスプレイ110に表示される。   In S506, the CPU 101 adds the image for which the display preparation processing has been completed to the buffer memory. As a result, a new image is displayed on the display 110 when the display VRAM is updated in S708 and S709 of FIG. When the scrolling is stopped and the animation timer stops operating, every time the display preparation processing of the image that has not been stored is completed and added to the buffer memory, the image is transferred from the buffer memory to the display VRAM regardless of the animation timer. Shall be copied. As a result, the images added after finishing the display preparation processing after the scroll is stopped are sequentially displayed on the display 110.

S507では、CPU101は、現時点での処理対象行、処理対象列の位置に配置すべき画像の表示準備処理を開始する。表示準備処理は画像処理部121等と協働して行われ、S507以降の処理と並行して行われる。すなわち、表示準備処理を終了していなくとも処理はS508へ進む。   In step S <b> 507, the CPU 101 starts display preparation processing for an image to be arranged at the current position of the processing target row and the processing target column. The display preparation processing is performed in cooperation with the image processing unit 121 and the like, and is performed in parallel with the processing after S507. That is, the process proceeds to S508 even if the display preparation process has not been completed.

S508では、CPU101は新たな処理対象列を決定する処理対象列制御処理を行う。処理対象列制御処理の詳細については図8を用いて後述する。   In S508, the CPU 101 performs a process target column control process for determining a new process target column. Details of the processing target column control processing will be described later with reference to FIG.

<スクロール制御処理(図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 CPU 101 determines whether an input of a scroll instruction from a user has been received. In the present embodiment, scrolling can be performed in any direction, upward or downward, depending on the manner of instructing scrolling. For example, when the upper button of the direction buttons arranged in a cross included in the input unit 105 is pressed, scrolling in the downward direction (scrolling to move the position of the displayed image downward. Above the currently displayed image) (This is a scroll for browsing the image arranged in the.). Conversely, when the down button is pressed, scrolling upwards (scrolling to move the position of the displayed image up. Scrolling to browse the images located below the currently displayed image A)). If it is possible to perform a scroll instruction on the touch panel, it is assumed that the user has received an instruction of scrolling upward from an operation of tracing the touch panel from bottom to top, and an instruction of scrolling downward from an operation of tracing from top to bottom. The operation of rotating the rotating wheel may be one in which an instruction to scroll according to the direction of rotation is received. If it is determined that the input of the scroll instruction has been received, the process proceeds to S602, and if it is determined that the input of the scroll instruction has not been received, the process proceeds to S610.

S602では、CPU101は、S601で受け付けたスクロール指示が、下方向へのスクロールを指示したものか否かを判定する。下方向へのスクロールを指示したものであればS603へ進み、そうでない場合は上方向へのスクロールを指示したものであるのでS604へ進む。   In S602, the CPU 101 determines whether or not the scroll instruction received in S601 is an instruction to scroll downward. If the user has instructed scrolling in the downward direction, the process proceeds to S603. Otherwise, the user has instructed scrolling in the upward direction, and the process proceeds to S604.

S603では、CPU101はS601で受け付けたスクロール指示が行われた操作の操作量に応じた分だけスクロールカウンターの値を減らす。たとえば、方向ボタンのうち上ボタンが一度押下された操作であればスクロールカウンターの値を1つ減らす。タッチパネルを上から下になぞる操作であれば、なぞられた距離に応じた数だけスクロールカウンターの値を減らす。これによりスクロールカウンターが負の値になると、後述の処理によりスクロールカウンターの絶対値が示す行数だけ下にスクロールする(表示されていた画像が下に移動し、スクロール前に画面上方に隠れて表示されていなかった行の画像が表示される)。S604では、CPU101はS601で受け付けたスクロール指示が行われた操作の操作量に応じた分だけスクロールカウンターの値を増やす。これは、S603と上下逆の処理である。これによりスクロールカウンターが正の値になると、後述の処理によりスクロールカウンターが示す行数だけ上にスクロールする。(表示されていた画像が上に移動し、スクロール前に画面下方に隠れて表示されていなかった行の画像が表示される)。   In step S603, the CPU 101 decreases the value of the scroll counter by an amount corresponding to the operation amount of the operation in which the scroll instruction received in step S601 is performed. For example, if the up button is pressed once among the direction buttons, the value of the scroll counter is reduced by one. In the case of an operation of tracing the touch panel from top to bottom, the value of the scroll counter is reduced by the number corresponding to the tracing distance. When the scroll counter becomes a negative value, the scroll counter is scrolled down by the number of lines indicated by the absolute value of the scroll counter by the processing described below (the displayed image moves down and is hidden above the screen before scrolling. The image of the line that was not displayed is displayed.) In step S604, the CPU 101 increases the value of the scroll counter by an amount corresponding to the operation amount of the operation in which the scroll instruction received in step S601 is performed. This is upside down processing of S603. As a result, when the scroll counter becomes a positive value, the screen is scrolled upward by the number of lines indicated by the scroll counter by the processing described later. (The displayed image moves up, and the image of the row that was hidden and displayed at the bottom of the screen before scrolling is displayed).

S605では、CPU101はスクロールカウンターの値がゼロ以下であるか否かを判定する。スクロールカウンターの値が負の値であればスクロール方向は下方向である。逆に、スクロールカウンターの値が正の値であればスクロール方向は上方向である。スクロールカウンターの値がゼロ以下であると判定すると、S606へ進み、スクロールカウンターの値が正の値であるとS607へ進む。   In S605, the CPU 101 determines whether or not the value of the scroll counter is equal to or less than zero. If the value of the scroll counter is a negative value, the scroll direction is downward. Conversely, if the value of the scroll counter is a positive value, the scroll direction is upward. If it is determined that the value of the scroll counter is equal to or less than zero, the process proceeds to S606, and if the value of the scroll counter is a positive value, the process proceeds to S607.

S606では、CPU101は表示準備処理を施す優先順序である表示順を、ディスプレイ110に表示される行列の上の行から下の行という順序に設定し、メモリ103に記憶する。ここでは、下スクロールによって画像が移動する方向である下方向とは逆の方向である上の行の優先順序を高くしている。   In step S <b> 606, the CPU 101 sets the display order, which is the priority order in which the display preparation processing is performed, from the top row to the bottom row of the matrix displayed on the display 110, and stores the same in the memory 103. Here, the priority order of the upper row, which is the direction opposite to the downward direction in which the image moves by the downward scroll, is increased.

S607では、CPU101はS606とは逆に、表示順をディスプレイ110に表示される行列の下の行から上の行という順序に設定し、メモリ103に記憶する。ここでは、上スクロールによって画像が移動する方向である上方向とは逆の方向である下の行の優先順序を高くしている。   In step S <b> 607, the CPU 101 sets the display order from the bottom row to the top row of the matrix displayed on the display 110, and stores it in the memory 103, contrary to the step S <b> 606. Here, the priority order of the lower row, which is the direction opposite to the upward direction in which the image moves by the upward scroll, is increased.

S608では、CPU101はアニメーションタイマーが稼動中か否かを判定する。すなわち、スクロールの最中であるか否かの判定である。アニメーションタイマーが稼動中でない(スクロールの最中ではない)と判定した場合は、S609に進み、S601で受け付けたスクロール指示に従ったスクロールを実行すべくアニメーションタイマーをスタートさせ、図6の処理を抜けて図5のS504へ進む。一方、アニメーションタイマーが稼動中である(スクロールの最中である)と判定するとS610に進む。   In S608, the CPU 101 determines whether the animation timer is operating. That is, it is determined whether or not scrolling is being performed. If it is determined that the animation timer is not running (not in the middle of scrolling), the process proceeds to S609, where the animation timer is started to execute scrolling according to the scroll instruction received in S601, and the process of FIG. 6 is exited. To step S504 in FIG. On the other hand, if it is determined that the animation timer is in operation (during scrolling), the process proceeds to S610.

S610では、CPU101はスムーズスクロール処理を行う。スムーズスクロール処理は、アニメーションタイマーがタイムアウトするごとに行Offsetの分だけバッファメモリから表示用VRAMに読み込む部分をずらすことで、滑らかなアニメーションのスクロールを実行する処理である。スムーズスクロール処理の詳細は図7を用いて後述する。   In S610, the CPU 101 performs a smooth scroll process. The smooth scroll process is a process of executing a smooth animation scroll by shifting a portion to be read from the buffer memory into the display VRAM by an amount corresponding to the row offset every time the animation timer times out. Details of the smooth scroll processing will be described later with reference to FIG.

S611では、CPU101は行Offsetがゼロであるか否かを判定する。行Offsetがゼロであると判定した場合はS612に進む。行Offsetがゼロである場合とは、インデックス表示で表示される画像群が、整数行分丁度と規定された位置に表示されている状態である。一方、行Offsetがゼロでないと判定した場合は図6の処理を抜けて図5のS504へ進む。行Offsetがゼロでない場合とは、インデックス表示で表示される画像群が、整数行分丁度の位置から行Offsetの分だけずれた位置に表示されている状態である。スクロールの途中の状態であり、アニメーションタイマーが稼動している。   In S611, the CPU 101 determines whether the row Offset is zero. If it is determined that the row Offset is zero, the process proceeds to S612. The case where the row Offset is zero is a state in which the image group displayed in the index display is displayed at a position defined as exactly an integer number of rows. On the other hand, if it is determined that the row Offset is not zero, the process exits the process of FIG. 6 and proceeds to S504 of FIG. The case where the row Offset is not zero means that the image group displayed in the index display is displayed at a position shifted from the position exactly corresponding to the integer number of rows by the amount of the line Offset. In the middle of scrolling, the animation timer is running.

S612では、CPU101はスクロールカウンターがゼロであるか否かを判定する。これは、インデックス表示で表示される画像群の表示位置が整数分丁度の位置である場合に、さらにスクロールを行うべきか否かの判定である。スクロールカウンターがゼロであると判定した場合は、これ以上スクロールを行う必要がないので、図6の処理を抜けてS504へ進む。スクロールカウンターがゼロでないと判定した場合はS613へ進み、さらにもう1行スクロールするための処理を行う。   In S612, the CPU 101 determines whether or not the scroll counter is zero. This is a determination of whether or not to further scroll when the display position of the image group displayed in the index display is exactly the position corresponding to an integer. If it is determined that the scroll counter is zero, it is not necessary to perform any more scrolling, and the process exits the process of FIG. 6 and proceeds to S504. If it is determined that the scroll counter is not zero, the flow advances to S613 to perform processing for scrolling one more line.

S613では、CPU101はメモリ103に記憶された表示順が上の行から下の行という順序に設定されているか否かの判定を行う。上の行から下の行という順序に設定されている場合はS614へ進み、そうでない場合、すなわち下の行から上の行という順序に設定されている場合はS615へ進む。   In step S <b> 613, the CPU 101 determines whether the display order stored in the memory 103 is set in the order from the upper row to the lower row. If the order is set from the upper row to the lower row, the process proceeds to S614; otherwise, the process proceeds to S615 if the order is set from the lower row to the upper row.

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 CPU 101 sets the processing target row to the top row of the images displayed on the display 110, that is, the top row of the images included in the copy range from the buffer memory to the display VRAM, and stores the same in the memory 103. Further, the processing target column is set to the leftmost column in which no image is displayed in the row, and stored in the memory 103. Then, the value of the scroll counter is increased by one so as to consume one scroll counter.

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 CPU 101 sets the processing target line to the lowermost line of the image displayed on the display 110, that is, the lowermost line of the image included in the copy range from the buffer memory to the display VRAM, and stores it in the memory 103. Further, the processing target column is set to the rightmost column in which no image is displayed in the row, and stored in the memory 103. Then, the value of the scroll counter is reduced by one so as to consume one scroll counter.

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 CPU 101 determines whether or not the animation timer is operating. If it is determined that the animation timer is not running, it is not necessary to perform scrolling animation display, so the processing exits from FIG. 7 and proceeds to S611 in FIG. If it is determined that the animation timer is running, the process proceeds to S702.

S702では、CPU101はアニメーションタイマーがタイムアウトしたか否かを判定する。アニメーションタイマーがタイムアウトしていないと判定した場合は、まだ表示を更新する必要がないので図7の処理を抜け、図6のS611に進む。アニメーションタイマーがタイムアウトしたと判定した場合は表示を更新する必要があるのでS703へ進む。   In S702, the CPU 101 determines whether the animation timer has timed out. If it is determined that the animation timer has not timed out, there is no need to update the display yet, so the processing exits from FIG. 7 and proceeds to S611 in FIG. If it is determined that the animation timer has timed out, it is necessary to update the display, and the process advances to step S703.

S703では、CPU101は行Offsetがゼロであるか否かを判定する。行Offsetがゼロでない場合は、インデックス表示で表示される画像群が、整数行分丁度の位置から行Offsetの分だけずれた位置に表示されている状態であり、スクロールの途中の状態である。したがって行Offsetがゼロでないと判定した場合は、S705に進み、次の表示更新までの時間を計るためにアニメーションタイマーをリスタートする。一方、行Offsetがゼロである場合はS704へ進む。   In S703, the CPU 101 determines whether or not the row Offset is zero. When the row Offset is not zero, the image group displayed in the index display is displayed at a position shifted by exactly the row offset from the position exactly corresponding to an integer number of rows, and is in the middle of scrolling. Therefore, if it is determined that the row Offset is not zero, the process proceeds to S705, and the animation timer is restarted to measure the time until the next display update. On the other hand, if the row Offset is zero, the process proceeds to S704.

S704では、CPU101はスクロールカウンターがゼロであるか否かを判定する。行Offsetがゼロでスクロールカウンターもゼロである場合は、画像群は整数行分丁度の位置に表示されており、それ以上の行をスクロールする必要もないので、アニメーションのための表示更新は行わず、図7の処理を抜け、図6のS611に進む。一方、スクロールカウンターがゼロでない場合は、さらにスクロールをする必要があるので、S705へ進む。   In S704, the CPU 101 determines whether or not the scroll counter is zero. When the line Offset is zero and the scroll counter is also zero, the image group is displayed at exactly the position corresponding to an integer number of lines, and there is no need to scroll any more lines, so the display update for animation is not performed. , And goes to S611 in FIG. On the other hand, if the scroll counter is not zero, it is necessary to perform further scrolling, and the process proceeds to S705.

S705では、CPU101はアニメーションのために次に表示を更新するまでの時間を計るためにアニメーションタイマーをリスタートする。   In step S705, the CPU 101 restarts the animation timer to measure the time until the next display update for the animation.

S706では、CPU101はメモリ103に記憶された表示順が上の行から下の行という順序に設定されているか否かの判定を行う。上の行から下の行という順序に設定されている場合はS707へ進み、そうでない場合、すなわち下の行から上の行という順序に設定されている場合はS708へ進む。なおここでの判定は、行Offsetをずらす方向をスクロール方向に合った方向とするために、スクロール方向を判定するためのステップである。したがって表示順の判定ではなく、スクロールカウンターがゼロ以下であるか否かの判定としてもよい。   In S706, the CPU 101 determines whether or not the display order stored in the memory 103 is set in the order from the upper row to the lower row. If the order is set from the upper row to the lower row, the process proceeds to S707. Otherwise, that is, if the order is set from the lower row to the upper row, the process proceeds to S708. Note that this determination is a step for determining the scroll direction in order to make the direction in which the row Offset is shifted match the scroll direction. Therefore, instead of determining the display order, it may be determined whether the scroll counter is equal to or less than zero.

S707では、下方向へのスクロールのアニメーションとして表示された画像群を一段階下へ移動するように、CPU101は行Offsetを1つ減らす。そして、更新した行Offsetの値の分だけバッファメモリから表示用VRAMへのコピー範囲をずらして表示用VRAMを更新する。ここでは、上の行の方向へ一段階コピー範囲をずらす。1段階のずらし量は前述したとおり、[アニメーションにおける1回の表示更新での表示画像の表示画面上での移動量(ライン数)]=[1行分表示するのに必要な表示用VRAM及びバッファメモリの縦ライン数]/[行Offsetの規定値]である。この処理により、ディスプレイ110における表示が更新される。   In step S707, the CPU 101 reduces the row offset by one so as to move the image group displayed as the animation of the scrolling in the downward direction one step downward. Then, the display VRAM is updated by shifting the copy range from the buffer memory to the display VRAM by the updated row Offset value. Here, the one-step copy range is shifted in the direction of the upper row. As described above, the one-step shift amount is [movement amount (number of lines) of the display image on the display screen in one display update in the animation] = [display VRAM and display line necessary for displaying one line. [Number of vertical lines in buffer memory] / [prescribed value of row offset]. With this processing, the display on the display 110 is updated.

S708では、S707とは逆に、上方向へのスクロールのアニメーションとして表示された画像群を一段階上へ移動するように、CPU101は行Offsetを1つ増やす。そして、更新した行Offsetの値の分だけバッファメモリから表示用VRAMへのコピー範囲をずらして表示用VRAMを更新する。ここでは、下の行の方向へ一段階コピー範囲をずらす。この処理により、ディスプレイ110における表示が更新される。   In step S708, contrary to step S707, the CPU 101 increases the row Offset by one so as to move the image group displayed as an animation of upward scrolling by one step. Then, the display VRAM is updated by shifting the copy range from the buffer memory to the display VRAM by the updated row Offset value. Here, the one-step copy range is shifted in the direction of the lower row. With this processing, the display on the display 110 is updated.

S709では、CPU101は行Offsetの絶対値が規定値に達したか否かを判定する。規定値に達したと判定した場合はS710に進む。規定値に達した場合とは、丁度1行分のスクロールが行われた場合である。規定値に達していない場合は図7の処理を抜けて図6のS611に進む。   In S709, the CPU 101 determines whether or not the absolute value of the row Offset has reached a specified value. If it is determined that the specified value has been reached, the process proceeds to S710. The case where the specified value is reached is a case where scrolling of exactly one line is performed. If the predetermined value has not been reached, the process exits the process of FIG. 7 and proceeds to S611 of FIG.

S710では、CPU101は行Offsetをゼロに設定し、バッファメモリから表示用VRAMへのコピー範囲のずらし量をゼロとする。同時にバッファメモリの画像をスクロール方向に合わせて1行繰り下げるか1行繰り上げるように更新する。ただし、図2(c)で説明したとおり、更新に伴い新たにバッファメモリに取り込むべき画像は表示準備処理に時間を要するため、即時格納されるわけではなく、表示準備処理が終わったものから順次格納される。   In step S710, the CPU 101 sets the row Offset to zero, and sets the shift amount of the copy range from the buffer memory to the display VRAM to zero. At the same time, the image in the buffer memory is updated to be moved down one line or moved up one line in accordance with the scroll direction. However, as described with reference to FIG. 2 (c), an image to be newly taken into the buffer memory along with the update requires time for display preparation processing, and is not immediately stored. Is stored.

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 CPU 101 determines whether the display order stored in the memory 103 is set in the order from the upper row to the lower row. If the order is set from the upper row to the lower row, the process proceeds to S802; otherwise, the process proceeds to S807 if the order is set from the lower row to the upper row.

S802では、CPU101はメモリ103に記憶された処理対象列が右端となっているか否かを判定する。右端となっている場合はS805へ進み、そうでない場合はS803へ進む。   In step S802, the CPU 101 determines whether the processing target column stored in the memory 103 is at the right end. If it is at the right end, the process proceeds to S805; otherwise, the process proceeds to S803.

S803では、CPU101は処理対象列を現在設定されている列から一つ右の列に設定し、メモリ103に記憶する。次にS804では、CPU101は設定された処理対象列の位置にすでに画像が表示されているかを判定する。具体的には、設定された処理対象列のバッファメモリ上での位置に、既に表示準備処理を終えた画像が格納されているか否かを判定する。既に画像が表示されていると判定した場合はS805に進み、画像が表示されていないと判定した場合は、図8の処理を抜け図5のS502に進む。画像が表示されていないと判定した場合は、S803で設定した処理対象列がそのまま次回表示準備処理を行うべき列となる(ただしスクロールが先に進まなかった場合)。   In step S <b> 803, the CPU 101 sets the processing target column to the column immediately to the right of the currently set column, and stores the column in the memory 103. Next, in S804, the CPU 101 determines whether an image is already displayed at the position of the set processing target column. Specifically, it is determined whether or not an image for which display preparation processing has already been completed is stored at the position of the set processing target column on the buffer memory. If it is determined that the image is already displayed, the process proceeds to S805, and if it is determined that the image is not displayed, the process exits the processing of FIG. 8 and proceeds to S502 of FIG. If it is determined that the image is not displayed, the processing target column set in S803 becomes a column to be subjected to the next display preparation process as it is (if the scroll does not advance).

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 CPU 101 determines whether the processing target row stored in the memory 103 is at the lower end of the copy range to the display VRAM. If it is at the lower end, all the images on the current screen have been subjected to the display preparation processing, and there is no more image to be subjected to the display preparation processing until scrolling proceeds. Therefore, the processing exits from the processing in FIG. 8 and proceeds to S502 in FIG. If it is determined that the line is not at the lower end, the process proceeds to S806, in which the CPU 101 sets the line to be processed one line below the current line to be processed and stores it in the memory 103. Then, the processing target column is set to the leftmost column in which no image is displayed in the processing target row, and stored in the memory 103. Thereafter, the process exits from the process in FIG. 8 and proceeds to S502 in FIG.

一方、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 CPU 101 determines whether or not the processing target column stored in the memory 103 is at the left end. If it is at the left end, the process proceeds to S810; otherwise, the process proceeds to S808.

S808では、CPU101は処理対象列を現在設定されている列から一つ左の列に設定し、メモリ103に記憶する。次にS809では、CPU101は設定された処理対象列の位置にすでに画像が表示されているかを判定する。具体的には、設定された処理対象列のバッファメモリ上での位置に、既に表示準備処理を終えた画像が格納されているか否かを判定する。既に画像が表示されていると判定した場合はS810に進み、画像が表示されていないと判定した場合は、図8の処理を抜け図5のS502に進む。画像が表示されていないと判定した場合は、S808で設定した処理対象列がそのまま次回表示準備処理を行うべき列となる(ただしスクロールが先に進まなかった場合)。   In step S <b> 808, the CPU 101 sets the column to be processed to a column one column to the left of the currently set column, and stores the column in the memory 103. Next, in step S809, the CPU 101 determines whether an image has already been displayed at the position of the set processing target column. Specifically, it is determined whether or not an image for which display preparation processing has already been completed is stored at the position of the set processing target column on the buffer memory. If it is determined that the image is already displayed, the process proceeds to S810, and if it is determined that the image is not displayed, the process exits the processing of FIG. 8 and proceeds to S502 of FIG. If it is determined that the image is not displayed, the processing target column set in S808 becomes the column for which the next display preparation process is to be performed as it is (if the scroll does not advance).

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 CPU 101 determines whether or not the processing target row stored in the memory 103 is at the upper end of the copy range to the display VRAM. If it is at the upper end, the display preparation processing has been completed for all the images on the current screen, and there is no more image to be subjected to the display preparation processing until scrolling proceeds. Therefore, the processing exits from the processing in FIG. 8 and proceeds to S502 in FIG. If it is determined that the line is not at the upper end, the process advances to step S <b> 811, and the CPU 101 sets the line to be processed one line above the current line to be processed and stores it in the memory 103. Then, the processing target column is set to the rightmost column in which no image is displayed in the processing target row, and stored in the memory 103. Thereafter, the process exits from the process in FIG. 8 and proceeds to S502 in FIG.

なお、上述の各フローチャートには図示していないが、入力部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 input unit 105. For example, before S601 in FIG. 6, a step of determining whether a scroll stop instruction from the user has been received is provided. If a scroll stop instruction has not been received, the process proceeds to S601. If a scroll stop instruction has been received, the scroll counter is set to zero and the process proceeds to S601. By doing so, the user can stop scrolling at an arbitrary timing while viewing the image displayed during scrolling.

また、上述の各フローチャートでは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 CPU 101 determines in step S504 in FIG. 5 that the display of all the images has been completed, the display preparation processing for the images to be stored in the spare area is continued. FIG. 9 shows an example in which the buffer memory is provided with a storage area three rows above and below the number of rows displayed on the display 110. When the row Offset is zero, the range copied on the display VRAM is the visible storage area, the storage area prepared for the spare three rows above it is the upper spare storage area, and the storage area prepared for the spare three rows below Is referred to as a lower spare storage area. For images stored in the visible storage area, display preparation processing is performed in the order described with reference to FIGS. Thereafter, display preparation processing is performed with priority given to the image of the line that will be newly displayed when scrolling in the same direction as it is, and stored in the spare storage area. For example, when scrolling upward, an animation in which an image enters from below is displayed on the display 110, that is, an image in a lower row is newly displayed. Therefore, after storing the image for which the display preparation processing has been completed in the visible storage area, an image is first added to the lower auxiliary storage area before the image stored in the upper auxiliary storage area. Conversely, when scrolling downward, an image is added to the upper spare storage area before the lower spare storage area. As a result, it is possible to further reduce disconnection of the image display immediately after the start of scrolling. Here, the size of the spare storage area is set to half the size of the visible storage area for the sake of convenience, but the size does not matter in accordance with the memory condition of the system.

なお、インデックス表示で表示された複数の画像を、スクロールを伴わずに切り替える機能を追加してもよい。例えば、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 CPU 101, the processing is not limited to this, and the processing may be performed by a plurality of hardware sharing the processing.

また、上述した実施形態においては、本発明をデジタルカメラに適用した場合を例にして説明したが、これはこの例に限定されない。すなわち、本発明はパーソナルコンピュータや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.
前記画像の処理の実行が終わるよりも早く、前記画像が前記表示順で前記画面へ表示される順に達したとき、前記画像は前記画面に表示されないことを特徴とする請求項1に記載の表示制御装置。   The display according to claim 1, wherein the image is not displayed on the screen when the image reaches the order displayed on the screen in the display order earlier than the execution of the processing of the image ends. Control device. 前記処理手段は、前記表示順にしたがって前記画像ごとに前記処理を実行することを特徴とする請求項1または2に記載の表示制御装置。   The display control device according to claim 1, wherein the processing unit executes the processing for each of the images in the display order. 前記スクロールの方向が前記画面の上から下への方向であるとき、前記画像は前記画面上で上から下へ移動し、前記スクロールの方向が前記画面の下から上への方向であるとき、前記画像は前記画面上で下から上へ移動することを特徴とする請求項1乃至3のいずれか1項に記載の表示制御装置。   When the direction of the scroll is from top to bottom of the screen, the image moves from top to bottom on the screen, and when the direction of the scroll is from bottom to top of the screen, The display control device according to claim 1, wherein the image moves from bottom to top on the screen. 前記表示制御手段は、前記スクロールの方向が前記画面の上から下への方向であるとき、前記画面内で上端に配置される画像を、前記画面内で下端に配置される画像よりも優先して前記画面に表示し、
前記スクロールの方向が前記画面の下から上への方向であるとき、前記画面内で下端に配置される画像を、前記画面内で上端に配置される画像よりも優先して前記画面に表示することを特徴とする請求項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.
コンピュータを請求項1乃至5のいずれか一項に記載の表示制御装置の各手段として機能させるプログラム。   A program that causes a computer to function as each unit of the display control device according to claim 1.
JP2019169241A 2019-09-18 2019-09-18 Display control device, control method and program of the same Pending JP2020008874A (en)

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)

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