説明

情報処理プログラム、情報処理装置および情報処理方法

【課題】入力操作が困難となる期間を抑制しつつ、プレビュー画像を早く表示させることができる情報処理プログラム、情報処理装置および情報処理方法を提供すること。
【解決手段】処理対象ファイルに対応するプレビューファイルを、サブスレッドで生成させるので、メインスレッドで生成させるプレビューファイルの数を抑制できる。よって、メインスレッドで処理されるデータ量を抑制できるので、データ処理が長引き、入力に関する処理が遅延することを抑制できる。従って、ユーザから見て、入力操作が困難となる期間を抑制できる。また、サブスレッドにおいて、1番目の処理対象ファイルの先頭ページに対応するプレビューファイルが準備できたら、他のプレビューファイルの生成が残っていても、その先頭ページに対応するプレビュー画像を、LCD18に表示させるので、プレビュー画像をより早く表示させることができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理プログラム、情報処理装置および情報処理方法に関する。
【背景技術】
【0002】
従来より、ユーザからの入力を受け付ける入力受付画面を表示装置に表示させ、その入力受付画面においてユーザによりデータファイルが指示された場合に、そのデータファイルのプレビュー画像を生成して表示装置に表示させるプログラムが知られている。プログラムの実行開始が、ユーザにより指示されると、そのプログラムがコンピュータ上で実行されるように、オペレーティングシステム(以下、「OS」と称す)において各種制御が行われる。例えば、OSによって、プログラムに対応するスレッドが起動され、そのスレッドにおいてプログラムの処理が実行開始されるよう制御される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特許第4298362号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のようなプレビュー画像を表示させるプログラムは、入力の検出処理や、プレビュー画像の生成処理や、プレビュー画像の表示処理など、複数の処理により構成されており、各処理は、OSにより起動されたスレッドにおいて、一つずつ順番に実行されていく。そのため、ユーザにより指示されたデータファイルの数が多かったり、一ファイル辺りのサイズが大きいと、プレビュー画像の生成処理などのデータ処理に時間がかかり、その後に実行される予定の各処理の実行開始がそれぞれ遅延してしまう。仮に、入力の検出処理が遅延すると、ユーザが入力操作を行っても、その入力に対応する処理が実行されるまで暫く時間がかかるなど、ユーザから見て、入力操作が困難となる期間が長引くおそれがあった。また、データ処理に時間がかかると、プレビュー画像が表示されるまでに時間がかかるおそれがあった。
【0005】
本発明は、上記の問題点を解決するためになされたものであり、入力操作が困難となる期間を抑制しつつ、プレビュー画像を早く表示させることができる情報処理プログラム、情報処理装置および情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
この目的を達成するために、本発明の情報処理プログラムは、情報処理装置が備えるコンピュータにおいて実行されるものであって、前記コンピュータを、一のアプリケーションにより実行される処理の実行単位であるスレッドであって、その一のアプリケーションの実行開始に応じてオペレーティングシステムにより起動され、且つ、入力部および表示部に関する制御が許可されている第1スレッドにおいて、複数の出力画像に対応するデータが含まれる処理対象データを受付部に受け付けさせる受付制御手段と、その受付制御手段により処理対象データが受け付けられる場合に、前記第1スレッドから前記オペレーティングシステムに対して要求させ、その第1スレッドとは別に並行して処理が実行される前記スレッドであり、且つ、前記入力部および表示部に関する制御が制限されている第2スレッドを起動部に起動させる第2スレッド起動手段と、その第2スレッド起動手段により起動される第2スレッドにおいて、前記処理対象データのうち、2以上の出力画像に対応するデータについて、その出力画像を表示させるための表示データを生成部に生成させる第2スレッドデータ生成手段と、その第2スレッドデータ生成手段によって、所定数の出力画像を表示させるための表示データが生成された場合に、前記第2スレッドから前記第1スレッドに対して表示データの生成終了を通知部に通知させる通知制御手段と、その通知制御手段による通知が前記第1スレッドへ通知された場合に、その第1スレッドにおいて、前記第2スレッドデータ生成手段により生成された表示データを用いて出力画像を表示部に表示させる表示制御手段と、して機能させる。
【0007】
なお、本発明は、情報処理装置を制御する制御装置、情報処理システム、情報処理装置、情報処理方法、情報処理プログラムを記録する記録媒体等の種々の態様で実現可能である。
【発明の効果】
【0008】
請求項1記載の情報処理プログラムによれば、第1スレッドとは別に並行して処理が実行される第2スレッドにおいて、処理対象データのうち、2以上の出力画像に対応するデータについて、その出力画像を表示させるための表示データを生成させることができる。よって、第1スレッドにおいて処理するデータ量を抑制できるので、第1スレッドにおいてデータ処理が長引き、入力に関する処理が遅延することを抑制できる。従って、ユーザから見て、入力操作が困難になる期間が長引くことを抑制できるという効果がある。また、所定数の出力画像を表示させるための表示データが第2スレッドにおいて生成された場合に、出力画像を表示部に表示させるので、出力画像を早く表示させることができるという効果がある。
【0009】
請求項2記載の情報処理プログラムによれば、請求項1記載の情報処理プログラムの奏する効果に加え、処理対象データのうち、優先して処理すべきデータの表示データを、第2スレッドにおいて優先して生成させ、その表示データに対応する出力画像を早く表示部に表示させることができるという効果がある。
【0010】
請求項3記載の情報処理プログラムによれば、請求項1または2記載の情報処理プログラムの奏する効果に加え、処理対象データのうち、総データ量が第1所定量以下である第1データについて、その出力画像を表示させるための表示データを、第1スレッドにおいて生成させることができる。よって、第1スレッドで処理するデータ量を、第1所定値以下に抑制できるので、第1スレッドにおいてデータ処理が長引き、入力に関する処理が遅延することを抑制できる。従って、ユーザから見て、入力操作が困難になる期間が長引くことを抑制しつつ、出力画像を表示部により早く表示させることができるという効果がある。また、第2スレッドにおいてデータ処理を行うためには、第1スレッドから第2スレッドを起動したり、処理すべきデータを指示するなどの時間が必要となる。そのため、第1スレッドから第2スレッドを起動させて、その第2スレッドで第1データに対応する表示データを生成させる場合と、第1スレッドでそのまま第1データに対応する表示データを生成させる場合とを比較すると、第1スレッドでそのままデータ処理を行った方が、第1データに対応する表示データを早く生成できる。従って、出力画像を表示部により早く表示させることができるという効果がある。
【0011】
請求項4記載の情報処理プログラムによれば、請求項3記載の情報処理プログラムの奏する効果に加え、第1スレッドにおいて、第1データについての表示データの生成が完了した後に、第2スレッドを起動させることができる。第1スレッド、及び、第2スレッドがそれぞれ起動されている場合、第1スレッドと、第2スレッドとでそれぞれ並行して処理が実行されるため、第1スレッドに対して割り当てられる単位時間辺りの処理時間が短くなる。よって、第1スレッドでデータ処理を実行した後に、第2スレッドを起動することで、そのデータ処理が第1スレッドで行われる間に、第1スレッドに対して割り当てられる単位時間辺りの処理時間を増やせるので、第1スレッドにおいて、表示データをより早く生成させることができる。従って、出力画像を表示部により早く表示させることができるという効果がある。
【0012】
請求項5記載の情報処理プログラムによれば、請求項3または4記載の情報処理プログラムの奏する効果に加え、処理対象データに対応する複数の出力画像のうち、その出力画像を表示させるための表示データが記憶部に記憶されてなく、且つ、その出力画像に対応するデータの累積量が第1所定量を超えない範囲内の出力画像が特定される。そして、処理対象データのうち、その特定された出力画像に対応するデータについて、第1スレッドで表示データが生成される。処理対象データのうち、既に表示データがあるデータについては、第1データに含まないので、その分、未生成の表示データを第1スレッドにおいて多く生成できるという効果がある。
【0013】
請求項6記載の情報処理プログラムによれば、請求項3から5の何れかに記載の情報処理プログラムの奏する効果に加え、処理対象データから第1データを除いた残りのデータ量が第2所定量を超える場合に、第2スレッドでは、処理対象データから第1データを除いた残りのデータのうち、第2所定量以下までのデータである第2データについて、表示データの生成を開始させることができ、第3スレッドでは、処理対象データから第1データおよび第2データを除いた残りのデータについて、表示データの生成を開始させることができる。よって、多数の出力画像に対応するデータが処理対象データに含まれている場合などに、その多数の出力画像に対応する表示データを、各スレッドにおいて分散させ、且つ、並行して生成させることができる。従って、表示部に表示させる出力画像の変更がユーザなどにより指示された場合に、変更後の出力画像を素早く表示させることができる可能性を向上させられるという効果がある。
【0014】
請求項7記載の情報処理プログラムによれば、請求項1または2記載の情報処理プログラムの奏する効果に加え、処理対象データのうち、データ形式がインターレース形式またはプログレッシブ形式の画像データについて、その表示データが第1スレッドにおいて生成された場合に、その表示データに対応する出力画像が表示部に表示される。その後、その出力画像よりも高画質の出力画像を表示させるための表示データが第2スレッドにおいて生成された場合に、その表示データに対応する出力画像が表示部に表示される。よって、まず先に、出力画像全体の概要を素早く表示部に表示させ、その後、高画質の出力画像全体を表示部に表示させることができるという効果がある。
【0015】
請求項8記載の情報処理プログラムによれば、請求項1から7の何れかに記載の情報処理プログラムの奏する効果に加え、何れかの出力画像を印刷させる印刷指示が入力された場合に、第2スレッドまたは第3スレッドが終了するので、コンピュータにかかる処理の負担を軽減できるという効果がある。
【0016】
請求項9記載の情報処理装置によれば、請求項1記載の情報処理プログラムを実行する情報処理装置と同様の効果を奏する。
【0017】
請求項10記載の情報処理方法によれば、請求項1記載の情報処理プログラムを実行する情報処理装置と同様の効果を奏する。
【図面の簡単な説明】
【0018】
【図1】本発明の情報処理プログラムの第1実施形態であるプレビュー表示アプリケーションを搭載した携帯端末の電気的構成を示すブロック図である。
【図2】携帯端末において実行されるプレビュー表示処理を示すフローチャートである。
【図3】携帯端末において実行されるプレビューファイル生成処理を示すフローチャートである。
【図4】携帯端末において実行される表示切替処理を示すフローチャートである。
【図5】OSが本アプリに対して割り当てるメインスレッドと、サブスレッドとにおいて実行される処理の概略を示す模式図である。
【図6】OSが本アプリに対して割り当てるメインスレッドと、サブスレッドとにおいて実行される処理の概略を示す模式図である。
【図7】第2実施形態の携帯端末において実行されるプレビュー表示処理を示すフローチャートである。
【図8】第3実施形態の携帯端末において実行されるプレビュー表示処理を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の情報処理プログラムの第1実施形態であるプレビュー表示アプリケーション(以下、「本アプリ」と称す)14bが搭載された携帯端末10の電気的構成を示すブロック図である。
【0020】
携帯端末10は、図示しない無線基地局を介して、他の通話装置との間で音声通話を行う携帯電話機である。携帯端末10には、CPU11、ROM12、RAM13、フラッシュメモリ14、無線LAN送受信部15、操作キー16、タッチパネル17、液晶表示装置(以下、「LCD」と称す)18、メモリカードインターフェイス(以下、「メモリカードI/F」と称す)19、音声入出力部21、電話網通信部22が設けられる。これらは、バスライン23を介して互いに通信可能に接続されている。
【0021】
CPU11は、ROM12等に記憶される固定値やプログラムに従って、バスライン23と接続された各部を制御する。ROM12は、書換不能なメモリであって、各種の固定値を記憶する。RAM13は、書換可能な揮発性のメモリであり、処理対象リスト13aと、優先処理ページ設定メモリ13bとが設けられる。
【0022】
処理対象リスト13aは、プレビューファイルの生成対象となるファイルを示すリストであり、ユーザにより指定されたファイルのファイル名により構成される。ユーザにより複数のファイルが指定された場合には、例えば、指定された順や、ファイル名順に、ファイル名が並べられて記憶される。尚、ファイルとしては、1以上のページを含む文書ファイルや、一の画像または複数の画像を含む画像ファイルが指定されるものとする。また、説明の便宜上、画像ファイルに含まれる各画像は、文書ファイルのように、それぞれ1ページとして扱う。
【0023】
優先処理ページ設定メモリ13bは、優先してプレビューファイルを生成させたいファイル、及び、ページを指定するためのメモリである。優先処理ページ設定メモリ13bには、例えば、優先してプレビューファイルを生成させたいファイルのファイル名と、そのページ番号とが記憶される。
【0024】
フラッシュメモリ14は、書換可能な不揮発性のメモリであり、オペレーティングシステム(以下、「OS」と称す)14aや、本アプリ14bが格納される。OS14aは、携帯端末10に搭載された基本ソフトウェアであって、本実施形態の場合、アンドロイド(登録商標)OSであるものとする。以降、アプリケーション(本アプリ14bを含む)やOS14aなどのプログラムを実行するCPU11のことを、単に、プログラム名で記載する場合もある。例えば、「アプリケーション」という記載が、「アプリケーションを実行するCPU11」を意味する場合もある。
【0025】
携帯端末10に搭載された本アプリ14bは、ユーザによりファイルが指定された場合に、そのファイルのプレビュー画像を、1ページ分ずつ、又は、1画像分ずつ、LCD18に表示させるためのアプリケーションである。本アプリ14bは、多数のファイルや、サイズの大きいファイルがユーザにより指定された場合でも、ユーザから見て入力操作が困難となる期間が抑制されるように、且つ、プレビュー画像をLCD18に早く表示させることができるように構成されている。
【0026】
尚、携帯端末10にインストールされた各アプリケーション(本アプリ14bを含む)は、OS14aのApplication Program Interface(以下、「API」と称す)を呼び出して、無線LAN送受信部15、操作キー16、タッチパネル17、LCD18、メモリカードI/F19、音声入出力部21、電話網通信部22など、携帯端末10の各構成に受け渡したいデータをOS14aに出力する。即ち、各アプリケーションは、OS14aのAPIを呼び出すことによって、携帯端末10の各構成を制御する。また、各アプリケーションは、OS14aのAPIを呼び出して、携帯端末10の各構成が出力するデータや各構成の状態を示すデータをOS14aから取得する。即ち、OS14aのAPIを呼び出すことによって、携帯端末10の各構成の状態(携帯端末10への操作入力の状態も含む)を示すデータをOS14aから取得する。また、OS14aは、携帯端末10の各構成が出力するデータや各構成の状態を示すデータを、定期的に、あるいは各構成の状態変化の都度、各アプリケーションに通知することもある。即ち、各アプリケーションは、OS14aからの通知を受けることによって、携帯端末10の各構成の状態(携帯端末10への操作入力の状態も含む)を示すデータをOS14aから取得する。
【0027】
OS14aは、一のアプリケーションにおける処理の実行単位であるスレッドを、一のアプリケーションに対して複数割り当てることが可能に構成されている。携帯端末10において、アプリケーション(本アプリ14bを含む)の実行がユーザ等により指定されると、OS14aは、そのアプリケーションに対応するメインスレッドを起動して、そのアプリケーションに割り当て、更に、そのアプリケーションの処理がメインスレッドにおいて実行されるように制御する。
【0028】
その後、メインスレッドにおいてアプリケーションの処理が実行されている場合に、そのアプリケーションからOS14aに対して、サブスレッドの起動が要求されると、OS14aは、その要求したアプリケーションに対応するサブスレッドを起動して、そのアプリケーションに割り当て、更に、そのアプリケーションの処理がサブスレッドにおいて実行されるように制御する。尚、メインスレッドは、一のプリケーションに対して一つしか起動されないが、サブスレッドは、一のアプリケーションからの要求に応じて複数起動される。また、メインスレッドでは、入出力および表示に関する処理を含む任意の処理を実行させることができるが、サブスレッドでは、入出力および表示に関する処理を含まない任意の処理しか実行させることができない。一のアプリケーションに対して、メインスレッドおよびサブスレッドが割り当てられた場合、その一のアプリケーションでは、各スレッドにおいて、それぞれ任意の処理を実行させて、各処理を並行して実行させることができる。
【0029】
本アプリ14bには、処理データ上限値14b1が設けられる。本実施形態では、サブスレッドにおいて、主に、プレビューファイルが生成されるが、メインスレッドにおいても、プレビューファイルが生成される場合がある。処理データ上限値14b1は、メインスレッドにおいてプレビューファイルを生成させる場合に、そのメインスレッドでの生成対象となるデータの上限値を示す。
【0030】
無線LAN送受信部15は、IEEE802.11b/gの規格に準拠した無線LANにより、図示しないアクセスポイントを介して、携帯端末10と他の機器とをWi−Fi(登録商標)接続する回路である。操作キー16は、携帯端末10の筺体に設けられたハードキーであり、携帯端末10に設定情報や指示を入力する。タッチパネル17は、LCD18に重ねて設けられ、携帯端末10に設定情報や指示を入力する。LCD18は、携帯端末10にインストールされたアプリケーションを示すアイコンの一覧や、起動したアプリケーションの画面を表示する。
【0031】
メモリカードI/F19は、不揮発性のメモリカード20が装着されるインターフェイスであって、メモリカード20に対するデータの書き込み又は読み出しを制御する。メモリカード20は、一例として、SDカード(登録商標)である。メモリカード20には、処理対象ファイル格納エリア20aと、プレビューファイル格納エリア20bとが設けられる。処理対象ファイル格納エリア20aは、プレビューファイルの生成対象となる文書ファイルや、画像ファイルが格納されるエリアである。例えば、ユーザにより入力操作が行われると、その入力操作に応じたファイルが、OS14aにより格納される。プレビューファイル格納エリア20bは、本アプリ14bにより生成されたプレビューファイルが格納されるエリアである。音声入出力部21は、マイクやスピーカなどで構成された音声入出力用デバイスであり、電話網通信部22は、他の電話装置との間で電話通信を行うための回路である。
【0032】
図2は、携帯端末10において実行されるプレビュー表示処理を示すフローチャートである。この処理は、携帯端末10において、ユーザが本アプリ14bの実行開始を指示した場合に実行される処理であり、OS14aが本アプリ14bに対して割り当てたメインスレッドにおいて実行される処理である。
【0033】
尚、以下に説明する図2から図4、図7、及び、図8のフローチャートに示す各ステップは、本アプリ14bがCPU11に実行させ、または、本アプリ14bがOS14aなどの機能を利用してCPU11に実行させるものとして説明する。ただし、各フローチャートが含むステップは、OS14aやその他アプリケーションがCPU11に実行させるステップに一部置き換えられても良い。また、CPU11の関与によらず、携帯端末10に設けられたハードウェアそのものが作動することによって実現されるステップに、一部置き換えられても良い。
【0034】
CPU11は、まず、データ選択画面をLCD18に表示させる(S1)。例えば、データ選択画面では、処理対象ファイル格納エリア20aに格納されているファイルの一覧が表示される。そして、その表示されたファイルの一覧の中から、1以上のファイルが処理対象ファイルとしてユーザにより指定される。次に、CPU11は、処理対象ファイルとしてユーザにより指定された全ファイルのファイル名を、指定された順、又は、ファイル名の順に並べて、処理対象リスト13aとして記憶させる(S2)。以下、処理対象リスト13aに記憶されているファイル名に対応する各ファイルのことを、単に、処理対象リスト13aにより示される各処理対象ファイルと記載する。
【0035】
次に、CPU11は、処理対象リスト13aにより示される各処理対象ファイルについて、ページ単位で、そのページに対応するプレビューファイルの有無を確認する(S3)。確認の結果、各処理対象ファイルについてのプレビューファイルが全て揃っておらず、プレビューファイルの生成が必要な場合(S4:Yes)、CPU11は、処理対象リスト13aを参照し、1番目の処理対象ファイルを特定する(S6)。具体的には、処理対象リスト13aに記憶されている1番目のファイル名に対応するファイルを、1番目の処理対象ファイルと特定する。
【0036】
そして、CPU11は、1番目の処理対象ファイルの先頭ページに対応するプレビューファイルが有る場合(S7:Yes)、S12の処理へ移行する。一方、1番目の処理対象ファイルの先頭ページに対応するプレビューファイルが無い場合(S7:No)、その先頭ページのデータ量を算出する(S8)。そして、その算出されたデータ量が、処理データ上限値14b1を超えている場合(S9:Yes)、CPU11は、1番目の処理対象ファイルの先頭ページを、優先処理ページとして設定し(S13)、S14の処理へ移行する。S13の処理では、1番目の処理対象ファイルのファイル名と、先頭ページのページ番号(即ち、1)とを、優先処理ページ設定メモリ13bに記憶させる。
【0037】
一方、S8の処理で算出されたデータ量が、処理データ上限値14b1以下である場合(S9:No)、1番目の処理対象ファイルの先頭ページに対応するプレビューファイルを、このメインスレッドにおいて生成し(S10)、その生成されたファイルをプレビューファイル格納エリア20bに保存(記憶)させる(S11)。尚、S11の場合に限らず、生成されたプレビューファイルを保存させる場合には、例えば、処理対象ファイルのファイル名と、生成対象となったページのページ番号とを組み合わせたものを、プレビューファイルのファイル名として、ファイル名が他のプレビューファイルと重複しないようにする。
【0038】
次に、CPU11は、S11の処理で生成されたプレビューファイルを用いて、1番目の処理対象ファイルのプレビュー画像を、LCD18に表示させ(S12)、これから起動するサブスレッドにおいて、プレビューファイル生成処理が実行開始されるように設定を行う(S14)。そして、このメインスレッドからOS14aに対して、サブスレッドの起動を要求する(S15)。
【0039】
S4において、処理対象リスト13aにより示される各処理対象ファイルについてのプレビューファイルが全て揃っており、プレビューファイルの生成が不要な場合(S4:No)、CPU11は、1番目の処理対象ファイルの先頭ページについて、そのプレビュー画像をLCD18に表示させる(S5)。この場合、1番目の処理対象ファイルに対応するプレビューファイルは、既に、プレビューファイル格納エリア20bに記憶されているので、そこから該当するファイルを取得して、そのプレビュー画像をLCD18に表示させる。次に、このメインスレッドにおいて、表示切替処理を実行させ(S16)、本処理を終了させる。
【0040】
図3は、携帯端末10において実行されるプレビューファイル生成処理を示すフローチャートである。この処理は、上述したS15の処理により起動されるサブスレッドにおいて実行される処理である。この処理は、処理対象リスト13aにより示される各処理対象ファイルについて、ページ単位で、そのページに対応するプレビューファイルを生成するための処理である。
【0041】
CPU11は、まず、優先処理ページが設定されていない場合(S21:No)、S28の処理へ移行する。一方、優先処理ページが設定されている場合(S21:Yes)、その処理優先ページについて、プレビューファイルを生成する(S22)。具体的には、優先処理ページ設定メモリ13bに記憶されているファイル名と、ページ番号とを取得する。そして、取得したファイル名に対応するファイルであり、そのファイル中の取得したページ番号のページについて、プレビューファイルを生成する。そして、CPU11は、生成されたプレビューファイルを、プレビューファイル格納エリア20bに保存させ(S23)、優先処理ページに対応するプレビューファイルの準備完了を、このサブスレッドからメインスレッドに対して、スレッド間通信により通知させる(S24)。
【0042】
次に、CPU11は、優先処理ページの設定の対象となった処理対象ファイルのうち、優先処理ページとして設定されたページを除く、残りの全ページについて、プレビューファイルが揃っていない場合(S25:No)、その残りの全ページのうち、プレビューファイルが無いページについて、ページ単位で、プレビューファイルを生成する(S26)。そして、CPU11は、生成された各プレビューファイルを、プレビューファイル格納エリア20bに保存させる(S27)。
【0043】
また、処理対象ファイルのうち、優先処理ページとして設定されたページを除く、残りの全ページについて、プレビューファイルが揃っている場合(S25:Yes)、CPU11は、S28の処理へ移行する。そして、CPU11は、処理対象リスト13aにより示される各処理対象ファイルについてのプレビューファイルが全て有る場合(S28:No)、このサブスレッドからOS14aに対して、このサブスレッドの終了を要求し(S32)、本処理を終了する。
【0044】
一方、各処理対象ファイルについてのプレビューファイルが全て揃っていない場合(S28:Yes)、処理対象リスト13aにより示される各処理対象ファイルの中から、プレビューファイルの準備が未完了のものを一つ特定し(S29)、その特定された一の処理対象ファイルに含まれるページのうち、プレビューファイルが無い全ページについて、ページ単位で、そのプレビューファイルを生成する(S30)。そして、CPU11は、生成された各プレビューファイルを、プレビューファイル格納エリア20bに保存させ(S31)、S21の処理に戻る。
【0045】
図4は、携帯端末10において実行される表示切替処理を示すフローチャートである。この処理は、メインスレッドにおいて実行される処理である。この処理は、LCD18に表示させるプレビュー画像を、ユーザの指示に応じて切り替えるための処理である。
【0046】
CPU11は、サブスレッドからメインスレッド対して、スレッド間通信により、優先処理ページに対応するプレビューファイルの準備完了が通知された場合(S41:Yes)、その優先処理ページについて、そのプレビュー画像をLCD18に表示させる(S42)。具体的には、優先処理ページ設定メモリ13bに記憶されているファイル名と、ページ番号とに対応するプレビューファイルを、プレビューファイル格納エリア20bから取得し、そのプレビュー画像をLCD18に表示させる。次に、CPU11は、優先処理ページ設定メモリ13bをクリアして、優先処理ページの設定を解除する(S43)。また、S41において、優先処理ページに対応するプレビューファイルの準備完了が通知されていない場合(S41:No)、CPU11は、S44の処理へ移行する。
【0047】
次に、CPU11は、LCD18にプレビュー画像を表示させるファイル及びページがユーザにより指示され(S44:Yes)、且つ、その指示されたファイル及びページに対応するプレビューファイルがプレビューファイル格納エリア20bにある場合(S45:Yes)、S48の処理へ移行する。尚、ユーザがページを指示せず、ファイルのみ指示した場合には、ユーザにより、指示したファイルの先頭ページが指示されたものとみなす。
【0048】
一方、LCD18にプレビュー画像を表示させるファイル及びページがユーザにより指示されていない場合(S44:No)、S50の処理へ移行する。そして、CPU11は、LCD18にプレビュー画像を表示させるファイル及びページがユーザにより指示され(S44:Yes)、且つ、その指示されたファイル及びページに対応するプレビューファイルが無く(S45:No)、更に、その指示されたファイル及びページに対応するプレビューファイルが、今現在、このサブスレッドにおいて生成中である場合(S46:Yes)、S47の処理へ移行する。
【0049】
そして、S47の処理では、CPU11は、サブスレッドにおいて、今現在、生成中であるプレビューファイルが生成されるまで(S47:No)待機し、その生成中であったプレビューファイルの生成が完了した場合に(S47:Yes)、その生成が完了したプレビューファイルを用いて、ユーザにより指示されたファイル及びページに対応するプレビュー画像を、LCD18に表示させ(S48)、S50の処理へ移行する。
【0050】
また、CPU11は、LCD18にプレビュー画像を表示させるファイル及びページがユーザにより指示され(S44:Yes)、且つ、その指示されたファイル及びページに対応するプレビューファイルが無く(S45:No)、更に、その指示されたファイル及びページに対応するプレビューファイルが、今現在、このサブスレッドにおいて生成中でない場合(S46:No)、ユーザにより指示されたファイルの中の指示されたページを、優先処理ページとして設定する(S49)。
【0051】
次に、CPU11は、LCD18に表示させているプレビュー画像の印刷がユーザにより指示された場合に(S50:Yes)、このメインスレッドからOS14aに対して、サブスレッドの終了を要求し(S51)、S52の処理へ移行する。プレビュー画像の印刷がユーザにより指示される場合とは、所望するプレビュー画像をユーザが見つけた場合なので、これ以降、プレビュー表示が継続される可能性は低くなる。仮に、プレビュー表示が継続されない場合にも関わらず、サブスレッドにおいて、プレビューファイルの生成を継続させると、必要性の低い処理を実行させることになる。また、OS14aによるサブスレッドの管理や制御などの処理も無駄になってしまう。つまり、携帯端末10におけるCPU11やRAM13などのリソースを無駄に占有してしまう。そこで、本実施形態では、S15の処理により起動させたサブスレッドを終了させている。これにより、携帯端末10におけるCPU11やRAM13などのリソースが、無駄に占有されることを抑制できるので、携帯端末10にかかる処理の負担を軽減できる。また、入力に関する処理が遅延することを抑制でき、ユーザから見て、入力操作が困難となる期間を抑制できる。
【0052】
一方、LCD18に表示させているプレビュー画像の印刷がユーザにより指示されていない場合(S50:No)、CPU11は、S52の処理へ移行する。次に、CPU11は、プレビュー画像の表示の終了が、ユーザにより指示された場合(S52:Yes)、本処理を終了し、プレビュー表示処理に戻る。一方、プレビュー画像の表示の終了が、ユーザにより指示されていない場合(S52:No)、S41の処理に戻る。
【0053】
図5および図6は、OS14aが本アプリ14bに対して割り当てるメインスレッドと、サブスレッドとにおいて実行される処理の概略を示す模式図である。まず、図5(a)を参照して、処理対象リスト13aにより示される各処理対象ファイルのうち、1番目の処理対象ファイルの先頭ページについてプレビューファイルが無く、且つ、その先頭ページを構成するデータ量が、処理データ上限値14b1以下である場合の概略について説明する。
【0054】
図5(a)に示すように、携帯端末10において、本アプリ14bの実行開始がユーザにより指示されると、OS14aによって、本アプリ14bに対してメインスレッドが割り当てられ、そのメインスレッドにおいて、プレビュー表示処理の各ステップに対応する処理が順番に実行されていく。具体的には、まず、メインスレッドでは、処理対象ファイルが特定され、その処理対象ファイルのうち、1番目の処理対象ファイルの先頭ページについて、プレビューファイルの有無が確認される。
【0055】
ここで、プレビューファイルが無く、且つ、その先頭ページを構成するデータ量が、処理データ上限値14b1以下の場合、メインスレッドでは、1番目の処理対象ファイルの先頭ページについて、プレビューファイルが生成され、そのプレビューファイルが用いられて、その先頭ページのプレビュー画像がLCD18に表示される。その後、メインスレッドでは、サブスレッドの起動がOS14aに対して要求され、更に、表示切替処理が実行される。
【0056】
このように、本実施形態では、1番目の処理対象ファイルの先頭ページについて、そのプレビューファイルをメインスレッドで生成させている。仮に、1番目の処理対象ファイルの先頭ページに対応するプレビューファイルを、サブスレッドにおいて生成させる場合には、サブスレッドを起動させる時間や、そのサブスレッドにおいて、1番目の処理対象ファイルの先頭ページが生成されるように制御するなどの時間が必要となる。そのため、メインスレッドからサブスレッドを起動させ、そのサブスレッドにおいて1番目の処理対象ファイルの先頭ページに対応するプレビューファイルを生成させるよりも、メインスレッドにおいてそのまま1番目の処理対象ファイルの先頭ページに対応するプレビューファイルを生成させる方が、そのプレビューファイルをより早く生成できる。よって、プレビュー画像をLCD18により早く表示させることができる。
【0057】
また、本実施形態では、メインスレッドにおいてプレビューファイルが生成された後に、サブスレッドを起動させている。仮に、メインスレッド、及び、サブスレッドがそれぞれ起動されている場合、メインスレッド、及び、サブスレッドでそれぞれ並行して処理が実行されるため、メインスレッドに対して割り当てられる単位時間辺りの処理時間が短くなる。よって、メインスレッドおよびサブレッドを並行して起動させずに、メインスレッドにおけるデータ処理が終了してから、サブスレッドを起動させることで、メインスレッドにおいてデータ処理を行っている間に、メインスレッドに割り当てられる単位時間辺りの処理時間を増やせる。従って、メインスレッドにおいて、プレビューファイルの生成を早く完了させることができるので、プレビュー画像をLCD18により早く表示させることができる。
【0058】
そして、OS14aによって、本アプリ14bに対してサブスレッドが割り当てられると、サブスレッドでは、処理対象ファイルのうち、1番目の処理対象ファイルから順番に、残りのファイルについて、プレビューファイルの生成が行われる。そして、処理対象ファイルの全てについて、プレビューファイルの生成が終了すると、サブスレッドからOS14aに対して、サブレッドの終了が要求され、サブスレッドが終了させられる。尚、サブスレッドを終了させる場合に、サブスレッドからOS14aに対して、サブスレッド自ら終了することを通知し、サブスレッドからOS14aに対して終了を要求せずに、サブスレッドが自らサブスレッドを終了させても良い。
【0059】
次に、図5(b)を参照して、処理対象リスト13aにより示される各処理対象ファイルのうち、1番目の処理対象ファイルの先頭ページについてプレビューファイルが無く、且つ、その先頭ページを構成するデータ量が、処理データ上限値14b1を超えている場合の概略について説明する。
【0060】
この場合、図5(b)に示すように、メインスレッドでは、プレビューファイルは生成されず、1番目の処理対象ファイルの先頭ページが、優先処理ページとして設定される。そして、メインスレッドでは、サブスレッドの起動がOS14aに対して要求され、更に、表示切替処理が実行される。
【0061】
本アプリ14bに対してサブスレッドが割り当てられると、サブスレッドでは、まず、処理対象ファイルのうち、優先処理ページに対応するプレビューファイルの生成が行われる。即ち、1番目の処理対象ファイルの先頭ページについて、プレビューファイルの生成が行われる。
【0062】
このように、本実施形態では、1番目の処理対象ファイルの先頭ページに対応するデータ量が、処理データ上限値14b1を超えている場合には、サブスレッドにおいて、そのプレビューファイルを生成させる。よって、メインスレッドにおいて処理されるデータ量が多くなり、その結果、データ処理が長引くことを抑制できる。従って、入力に関する処理が遅延することを抑制でき、ユーザから見て、入力操作が困難となる期間を抑制できる。具体的には、ユーザがプレビュー表示を取りやめたい場合に、プレビュー表示のキャンセル入力を素早く受け付けることができる。
【0063】
そして、サブスレッドにおいて、優先処理ページに対応するプレビューファイルの生成が終了すると、サブスレッドからメインスレッドに対して、スレッド間通信により、優先処理ページに対応するプレビューファイルの準備完了が通知される。メインスレッドでは、このプレビューファイルの準備完了通知が受信されると、優先処理ページに対応するプレビューファイルが用いられて、そのプレビュー画像がLCD18に表示される。即ち、1番目の処理対象ファイルの先頭ページについて、そのプレビュー画像が表示される。
【0064】
このように、本実施形態では、サブスレッドにおいて、1番目の処理対象ファイルの先頭ページに対応するプレビューファイルが準備できたら、他のページや、他の処理対象ファイルに対応するプレビューファイルの生成完了を待たずに、1番目の処理対象ファイルの先頭ページに対応するプレビュー画像を、LCD18に表示させる。よって、プレビュー画像をLCD18により早く表示させることができる。
【0065】
そして、サブスレッドでは、メインスレッドへの通知が終了すると、その後、処理対象ファイルのうち、1番目の処理対象ファイルから順番に、残りのファイルについて、プレビューファイルの生成が行われる。そして、処理対象ファイルの全てについて、プレビューファイルの生成が終了すると、サブスレッドからOS14aに対して、サブレッドの終了が要求され、サブスレッドが終了させられる。尚、サブスレッドを終了させる場合に、サブスレッドからOS14aに対して、サブスレッド自ら終了することを通知し、サブスレッドからOS14aに対して終了を要求せずに、サブスレッドが自らサブスレッドを終了させても良い。
【0066】
上述したように、本実施形態では、各処理対象ファイルに対応するプレビューファイルを、主に、サブスレッドにおいて生成させている。よって、メインスレッドで生成させるプレビューファイルの数を抑制できる。従って、メインスレッドにおいて処理されるデータ量を抑制できるので、データ処理が長引き、入力に関する処理が遅延することを抑制できる。故に、ユーザから見て、入力操作が困難となる期間を抑制できる。
【0067】
次に、図6を参照して、サブスレッドにおいて、処理対象ファイルのうち、プレビューファイルの準備が未完了の各ファイルについて順番に、プレビューファイルの生成が行われている状態で、メインスレッドにおいて、LCD18にプレビュー画像を表示させるファイル及びページが、ユーザにより指示された場合の概略について説明する。
【0068】
この場合、図6に示すように、メインスレッドにおいて、LCD18にプレビュー画像を表示させるファイル及びページが、ユーザにより指示されると、その指示されたファイル及びページ対応するプレビューファイルの有無が確認される。確認の結果、ユーザにより指示されたファイル及びページに対応するプレビューファイルが無い場合、メインスレッドでは、ユーザにより指示されたファイル及びページが、優先処理ページとして設定される。
【0069】
一方、サブスレッドでは、今現在、プレビューファイルの生成対象となっているファイルについて、その生成が終了した場合に、優先処理ページが設定されているか否かが確認される。ここで、優先処理ページが設定されている場合、処理対象ファイルのうち、まず先に、優先処理ページに対応するプレビューファイルの生成が行われる。即ち、ユーザにより指示されたファイル及びページに対応するプレビューファイルの生成が行われる。そして、このプレビューファイルの生成が終了すると、サブスレッドからメインスレッドに対して、スレッド間通信により、優先処理ページに対応するプレビューファイルの準備完了が通知される。
【0070】
メインスレッドでは、このプレビューファイルの準備完了通知が受信されると、優先処理ページに対応するプレビューファイルが用いられて、そのプレビュー画像がLCD18に表示される。即ち、ユーザにより指示されたファイル及びページについて、そのプレビュー画像が表示される。このように、本実施形態では、ユーザにより指示されたファイル及びページに対応するプレビューファイルを、サブスレッドで優先させて生成させることができる。よって、ユーザが所望するファイル及びページのプレビュー画像を早くLCD18に表示させることができる。
【0071】
次に、本発明の第2実施形態を説明する。第2実施形態において、携帯端末10の電気的構成は、第1実施形態で説明した構成と同一であるため、第1実施形態と同一の符号を付して説明を省略する。上述した第1実施形態では、処理対象リスト13aにより示される各処理対象ファイルのうち、1番目の処理対象ファイルの先頭ページを、メインスレッドでのプレビューファイルの生成対象としたが、第2実施形態では、先頭ページに限らず、1番目の処理対象ファイルの他のページについても、プレビューファイルの生成対象とする。
【0072】
図7は、第2実施形態の本アプリ14bに従って、携帯端末10において実行されるプレビュー表示処理を示すフローチャートである。尚、第2実施形態において、第1実施形態で説明した処理と同一の処理には同一の符号を付し、その説明を省略する。この処理は、第1実施形態の場合と同様に、携帯端末10において、ユーザが本アプリ14bの実行開始を指示した場合に実行される処理であり、OS14aが本アプリ14bに対して割り当てたメインスレッドにおいて実行される処理である。
【0073】
CPU11は、S1〜S6の処理を実行する。S6の処理が終了したら、CPU11は、処理対象リスト13aにより示される各処理対象ファイルのうち、1番目の処理対象ファイルの各ページについて、そのデータ量を算出する(S61)。尚、1番目の処理対象ファイルの各ページのうち、既にプレビューファイルが有るページについては、データ量を0と算出させる。
【0074】
次に、CPU11は、1番目の処理対象ファイルの先頭ページから順番に、1ページずつ、各ページに対応するデータの累積量を計数してゆき、そのデータの累積量が、処理データ上限値14b1を超えない範囲の各ページを特定する(S62)。そして、S62において、1番目の処理対象ファイルの各ページのうち、先頭ページが特定されなかった場合(S63:No)、CPU11は、1番目の処理対象ファイルの先頭ページを、優先処理ページとして設定し(S64)、S14の処理へ移行する。例えば、先頭ページに対応するプレビューファイルが無く、且つ、先頭ページのデータ量が大きくて、処理データ上限値14b1を超える場合には、S63:Noへ分岐する。
【0075】
一方、S62において、先頭ページが特定された場合(S63:Yes)、CPU11は、S62の処理で特定された各ページのうち、プレビューファイルが無い全ページについて、ページ単位で、そのプレビューファイルを生成し(S65)、その生成された各ファイルをプレビューファイル格納エリア20bに保存させる(S66)。
【0076】
次に、CPU11は、プレビューファイル格納エリア20bに記憶されているプレビューファイルのうち、1番目の処理対象ファイルの先頭ページに対応するファイルを取得して、そのプレビュー画像をLCD18に表示させる(S67)。そして、CPU11は、S14〜S16の処理を実行し、本処理を終了させる。
【0077】
図7に示すプレビュー表示処理によれば、1番目の処理対象ファイルの各ページのうち、既にプレビューファイルが有るページについては、データ量を0とみなし、その上で、処理データ上限値14b1を超えない範囲のデータに対応する各ページを特定させることができる。これにより、プレビューファイルが無いページをより多く特定させることができるので、メインスレッドにおいて、プレビューファイルが無いページに対応するプレビューファイルをより多く生成できる。
【0078】
次に、本発明の第3実施形態を説明する。第3実施形態において、携帯端末10の電気的構成は、第1実施形態および第2実施形態で説明した構成と同一であるため、第1実施形態および第2実施形態と同一の符号を付して説明を省略する。
【0079】
第3実施形態では、サブスレッドにおいて処理させるデータ量が、第2上限値を超える場合には、サブスレッドを2つ起動させて、1つ目のサブスレッド(以後、「第1サブスレッド」と称す)において、第2上限値までのデータを処理させ、2つ目のサブスレッド(以下、「第2サブスレッド」と称す)において、残りのデータを処理させる。
【0080】
本アプリ14bには、第1上限値と、第2上限値とが設けられる。第1上限値は、メインスレッドにおいてプレビューファイルを生成させる場合に、そのメインスレッドでの生成対象となるデータの上限値を示す。即ち、第1,第2実施形態の処理データ上限値14b1に相当する。第2上限値は、第1サブスレッドにおいてプレビューファイルを生成させる場合に、その第1サブスレッドでの生成対象となるデータの上限値を示す。
【0081】
図8は、第3実施形態の本アプリ14bに従って、携帯端末10において実行されるプレビュー表示処理を示すフローチャートである。尚、第3実施形態において、第1実施形態で説明した処理と同一の処理には同一の符号を付し、その説明を省略する。この処理は、第1,第2実施形態の場合と同様に、携帯端末10において、ユーザが本アプリ14bの実行開始を指示した場合に実行される処理であり、OS14aが本アプリ14bに対して割り当てたメインスレッドにおいて実行される処理である。
【0082】
CPU11は、S1〜S3の処理を実行する。そして、S3の処理による確認の結果、プレビューファイルの生成が必要な場合(S4:Yes)、CPU11は、処理対象リスト13aにより示される各処理対象ファイルについて、ファイル単位で、そのデータ量を取得する(S81)。そして、1番目の処理対象ファイルから順番に、1ファイルずつ、各ファイルに対応するデータの累積量を計数してゆき、そのデータの累積量が、第1上限値を超えない範囲の各ファイル(以下、「第1ファイル群」と称す)を特定する。そして、その特定された第1ファイル群の各ファイルについて、ページ単位で、プレビューファイルが無い全ページのプレビューファイルを生成し(S82)、その生成された各ファイルをプレビューファイル格納エリア20bに保存させる(S83)。
【0083】
次に、CPU11は、プレビューファイル格納エリア20bに記憶されているプレビューファイルのうち、1番目の処理対象ファイルの先頭ページに対応するファイルを取得して、そのプレビュー画像をLCD18に表示させる(S84)。そして、S81の処理で取得させた各処理対象ファイルのデータの合計値が、第1上限値以下の場合(S85:No)、CPU11は、S16の処理を実行し、本処理を終了する。一方、各処理対象ファイルのデータの合計値が、第1上限値を超えている場合(S85:Yes)、CPU11は、処理対象リスト13aにより示される各処理対象ファイルから第1ファイル群を除いた残りの処理対象ファイルについて、先頭のファイルから順番に、1ファイルずつ、各ファイルに対応するデータの累積量を計数してゆき、そのデータの累積量が、第2上限値を超えない範囲の各ファイル(以下、「第2ファイル群」と称す)を特定する。そして、その特定された第2ファイル群の各ファイルが、これから起動する第1サブスレッドにおけるプレビューファイルの生成対象ファイルとされ、その第1サブレッドにおいてプレビューファイル生成処理が実行されるように設定を行う(S86)。そして、このメインスレッドからOS14aに対して、第1サブスレッドの起動を要求する(S87)。
【0084】
そして、S81の処理で取得させた各処理対象ファイルのデータの合計値から、第1ファイル群のデータ量を除いた残りのデータ量が、第2上限値以下の場合(S88:No)、CPU11は、S16の処理を実行し、本処理を終了する。一方、各処理対象ファイルのデータの合計値から、第1ファイル群のデータ量を除いた残りのデータ量が、第2上限値を超えている場合(S88:Yes)、CPU11は、処理対象リスト13aにより示される各処理対象ファイルから、第1ファイル群および第2ファイル群を除いた残りの処理対象ファイルが、これから起動する第2サブスレッドにおけるプレビューファイルの生成対象ファイルとされ、その第2サブスレッドにおいてプレビューファイル生成処理が実行されるように設定を行う(S89)。そして、このメインスレッドからOS14aに対して、第2サブスレッドの起動を要求する(S90)。そして、CPU11は、S16の表示切替処理を実行し、本処理を終了する。尚、第3実施形態では、表示切替処理(図4参照)において、S51の処理が実行される場合、第1サブスレッド、及び、第2サブスレッドをそれぞれ終了させる。
【0085】
図8に示すプレビュー表示処理によれば、処理対象ファイルが多い場合や、一の処理対象ファイルに含まれているページ数が多い場合などに、第1サブスレッドと、第2サブスレッドとにおいて分散させて、処理対象ファイルのプレビューファイルを生成させることができる。これにより、例えば、1番目の処理対象ファイルの全ページ数が100ページであるなど多い場合に、1〜50ページまでの各ページに対応するプレビューファイルを、第1サブスレッドにおいて生成させ、51〜100ページまでの各ページに対応するプレビューファイルを、第2サブスレッドにおいて生成させることができる。即ち、プレビューファイルを生成開始させるページを、所定のページ間隔を空けて2つ設け、それぞれ並行して後方のページに向かいながら、各ページのプレビューファイルを生成させることができる。よって、LCD18にプレビュー画像を表示させるファイル及びページがユーザにより指示された場合に、その指示に応じたプレビュー画像をLCD18に表示させることができる可能性を向上させることができる。尚、第1サブスレッドで処理させるページ数(又は、データ量)や、第2サブスレッドで処理させるページ数(又は、データ量)は、適宜決めれば良い。
【0086】
上記実施形態において、メインスレッドが第1スレッドの一例であり、サブスレッドや第1サブスレッドが第2スレッドの一例であり、第2サブスレッドが第3スレッドの一例である。プレビュー画像が出力画像の一例であり、プレビューファイルが表示データの一例である。第1上限値が第1所定量の一例であり、第2上限値が第2所定量の一例である。プレビューファイル生成処理(図3)を実行するCPU11が第2スレッドデータ生成手段の一例である。優先処理ページに対応する一のプレビュー画像が、所定数の出力画像の一例に対応する。即ち、一が所定数の一例である。CPU11に制御されて動作するLCD18が表示手段の一例である。
【0087】
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
【0088】
例えば、上記実施形態では、携帯端末10が情報処理装置の一例であったが、パーソナルコンピュータ、デジタルカメラなど各種の装置が画像処理装置の一例となり得る。
【0089】
また、上記実施形態で挙げた処理データ上限値14b1や、第1上限値や、第2上限値は、適宜決めれば良い。
【0090】
また、上記実施形態においては、携帯端末10において、ユーザが本アプリ14bの実行開始を指示した場合に、プレビュー表示処理(図2、図7、図8)を実行するものとして説明した。しかしながら、OS14aがアンドロイドOSである場合、アンドロイドの共有機能の共有出力先として、本アプリ14bが選択されて、本アプリ14bが起動される場合おいても、プレビュー表示処理を実行しても良い。
【0091】
また、上記実施形態においては、携帯端末10に着脱可能なメモリカード20に処理対象ファイルや、プレビューファイルが記憶されるものとして説明した。しかしながら、例えば、携帯端末10に内蔵されたフラッシュメモリ14に記憶されても良いし、メモリカード20およびフラッシュメモリ14に分散させて記憶されても良い。
【0092】
また、入力部、表示部、受付部、起動部、生成部、通知部、指示部、特定部、判定部などの各部は、ハードウェア単体、または、本発明のプログラムあるいはオペレーティングシステムなど本発明以外のプログラムを実行することにより動作するハードウェアであっても良い。また、各部は、複数のプログラムによる処理を組み合わせて動作するハードウェアであっても良い。
【0093】
また、上記実施形態では、一のアプリケーションにより実行される処理の実行単位を意味する用語の一例として、スレッドという用語を用い、本発明を説明したが、本発明をスレッドに限定するものではない。即ち、スレッドは、同一の意味を有する他の用語や、同一の意味に相当する他の用語に置き換えられても良い。
【0094】
また、上記実施形態のプレビュー表示処理(図2、図7、図8)では、プレビューファイル格納エリア20bに、1番目の処理対象ファイルの先頭ページに対応するプレビューファイルが記憶されている場合、そのプレビューファイルを用いて、その先頭ページのプレビュー画像をLCD18に表示させている。しかしながら、他のページに対応するプレビューファイルが記憶されている場合には、そのプレビューファイルを用いて、その他のページのプレビュー画像を表示させても良い。
【0095】
また、上記実施形態において、インターレース形式やプログレッシブ形式の画像ファイルが、1番目の処理対象ファイルとなる場合には、先頭ページのデータ量が、処理上限値14b1(又は、第1上限値)を超えていても、一旦、処理上限値14b1(又は、第1上限値)までのデータ(即ち、画質は低いが画像全体を構成するデータ)について、メインスレッドでプレビューファイルを生成し、先頭ページのプレビュー画像をLCD18に表示させても良い。そして、先頭ページの全データ(本来の画質の画像全体を構成するデータ)に対応するプレビューファイルをサブスレッドにおいて生成させ、それが生成された場合に、そのプレビューファイルを用いて、再度、先頭ページのプレビュー画像を、LCD18に表示させても良い。これにより、まず、画像ファイルのプレビュー画像(低画質のもの)を、LCD18に素早く表示させることができ、その後、高画質のプレビュー画像を、LCD18に表示し直すことができる。
【0096】
また、上記実施形態の本アプリ14bは、アンドロイドOS上で動作させているが、アンドロイドOSに限らず、他のマルチスレッド対応OS上で動作させることも当然可能である。その場合にも、本実施形態と同様の作用や効果を奏する。
【0097】
また、上記実施形態では、メインスレッド、及び、サブスレッドのうち、メインスレッドでのみ、入出力および表示に関する処理を実行させることができる場合の一例について説明したが、サブスレッドにおいても、入出力および表示に関する処理を実行させることができる場合には、メインスレッドにおいて、主に、プレビューファイルを生成させ、サブスレッドにおいて、主に、入出力および表示(プレビュー画像を表示)に関する処理を実行させても良い。
【0098】
また、上記の第3実施形態では、各処理対象ファイルのデータの合計値が、第1上限値を超える場合に、第1サブスレッドを起動させているが、各処理対象ファイルの全ファイル数が、第1ファイル数を超える場合に、第1サブスレッドを起動させても良い。尚、この場合には、各処理対象ファイルの全ファイルのうち、第1ファイル数のファイルを、第1ファイル群とし、そのプレビューファイルをメインスレッドにおいて生成させる。同様に、上記の第3実施形態では、各処理対象ファイルのデータの合計値から、第1ファイル群のデータ量を除いた残りのデータ量が、第2上限値を超えている場合に、第2サブスレッドを起動させているが、各処理対象ファイルから第1ファイル群を除いた残りの全ファイル数が、第2ファイル数を超える場合に、第2サブスレッドを起動させても良い。尚、この場合には、各処理対象ファイルから第1ファイル群を除いた残りの全ファイルのうち、第2ファイル数のファイルを、第2ファイル群とし、そのプレビューファイルを第1サブスレッドにおいて生成させる。そして、各処理対象ファイルから第1ファイル群および第2ファイル群を除いた残りの全ファイルについて、そのプレビューファイルを第2サブスレッドにおいて生成させる。このように構成した場合にも、本実施形態と同様の作用や効果を奏する。
【0099】
また、上記実施形態では、処理対象ファイル中の1ページを、優先処理ページとしているが、同一ファイル中のページであるかに関わらず、2以上の任意の数のページを優先処理ページとしても良い。その場合、「2以上の任意の数」が、「所定数」の一例に対応する。
【0100】
また、上記実施形態では、サブスレッドにおいて、優先処理ページに対応するプレビューファイルの生成が終了した場合に、サブスレッドからメインスレッドに対して、スレッド間通信により、優先処理ページに対応するプレビューファイルの準備完了を通知している。これに対し、優先処理ページに対応するプレビューファイルだけでなく、他のページや、他の処理対象ファイルについてのプレビューファイルを生成した後に、優先処理ページに対応するプレビューファイルの準備完了を通知しても良い。但し、サブスレッドにおいて、未生成のプレビューファイルが1以上残っている間に、サブスレッドからメインスレッドに対して通知する。その場合、サブスレッドにおいて生成させるべきプレビューファイルの全数をnと表すと、「(n−1)以下の任意の数」が、「所定数」の一例に対応する。
【符号の説明】
【0101】
10 携帯端末(情報処理装置の一例)
11 CPU11(コンピュータの一例、受付部の一例、起動部の一例、生成部の一例、通知部の一例、特定部の一例、判定部の一例、指示部の一例、受付手段の一例、第2スレッド起動実行手段の一例、第2スレッドデータ生成実行手段の一例、通知手段の一例)
13b 優先処理ページ設定メモリ(指示部の一例)
14b プレビュー表示アプリケーション(情報処理プログラムの一例)
14b1 処理データ上限値(第1所定量の一例)
16 操作キー(入力部の一例)
17 タッチパネル(入力部の一例)
18 LCD(表示部の一例)
20 メモリカード(記憶部の一例)
S1,S2 (受付制御手段の一例)
S10、S62,S65、S82 (第1スレッドデータ生成手段の一例)
S11、S23、S27、S31、S66、S83 (記憶制御手段の一例)
S13、S49 (指示制御手段の一例)
S15、S87 (第2スレッド起動手段の一例)
S24 (通知制御手段の一例)
S42 (表示制御手段の一例)
S51 (スレッド終了手段の一例)
S82 (特定手段の一例、特定制御手段の一例)
S88 (判定制御手段の一例)
S90 (第3スレッド起動手段の一例)

【特許請求の範囲】
【請求項1】
情報処理装置が備えるコンピュータにおいて実行される情報処理プログラムであって、
前記コンピュータを、
一のアプリケーションにより実行される処理の実行単位であるスレッドであって、その一のアプリケーションの実行開始に応じてオペレーティングシステムにより起動され、且つ、入力部および表示部に関する制御が許可されている第1スレッドにおいて、複数の出力画像に対応するデータが含まれる処理対象データを受付部に受け付けさせる受付制御手段と、
その受付制御手段により処理対象データが受け付けられる場合に、前記第1スレッドから前記オペレーティングシステムに対して要求させ、その第1スレッドとは別に並行して処理が実行される前記スレッドであり、且つ、前記入力部および表示部に関する制御が制限されている第2スレッドを起動部に起動させる第2スレッド起動手段と、
その第2スレッド起動手段により起動される第2スレッドにおいて、前記処理対象データのうち、2以上の出力画像に対応するデータについて、その出力画像を表示させるための表示データを生成部に生成させる第2スレッドデータ生成手段と、
その第2スレッドデータ生成手段によって、所定数の出力画像を表示させるための表示データが生成された場合に、前記第2スレッドから前記第1スレッドに対して表示データの生成終了を通知部に通知させる通知制御手段と、
その通知制御手段による通知が前記第1スレッドへ通知された場合に、その第1スレッドにおいて、前記第2スレッドデータ生成手段により生成された表示データを用いて出力画像を表示部に表示させる表示制御手段と、して機能させることを特徴とする情報処理プログラム。
【請求項2】
前記コンピュータを、
前記処理対象データのうち、優先して処理すべきデータを、前記第1スレッドから前記第2スレッドに対して指示部に指示させる指示制御手段、として機能させ、
前記第2スレッドデータ生成手段は、
前記第2スレッドにおいて、前記指示制御手段により指示されるデータについて、その表示データを優先して生成部に生成させ、
前記通知制御手段は、
前記第2スレッドにおいて、前記指示制御手段により指示されるデータについて、その表示データの生成が終了した場合に、その第2スレッドから前記第1スレッドに対して表示データの生成終了を通知部に通知させる、請求項1記載の情報処理プログラム。
【請求項3】
前記コンピュータを、
前記第1スレッドにおいて、前記処理対象データのうち、一以上の出力画像全体に対応するデータにより構成され、且つ、総データ量が第1所定量以下である第1データについて、その出力画像を表示させるための表示データを生成部に生成させる第1スレッドデータ生成手段、として機能させ、
前記第2スレッドデータ生成手段は、
前記処理対象データから前記第1データを除いたデータについて、その出力画像を表示させるための表示データを前記第2スレッドにおいて生成部に生成させる、請求項1または2記載の情報処理プログラム。
【請求項4】
前記第2スレッド起動手段は、
前記第1スレッドデータ生成手段による表示データの生成が完了した後に、前記第2スレッドを起動部に起動させる、請求項3記載の情報処理プログラム。
【請求項5】
前記コンピュータを、
前記第1スレッドデータ生成手段または第2スレッドデータ生成手段により生成される表示データを記憶部に記憶させる記憶制御手段と、
前記処理対象データに対応する複数の出力画像のうち、その出力画像を表示させるための表示データが前記記憶部に記憶されていないものを出力画像単位で特定部に特定させる特定手段と、
前記処理対象データのうち、前記特定手段により特定される出力画像に対応するデータの累積量が前記第1所定量を超えない範囲で、前記特定手段に出力画像を特定させる特定制御手段と、して機能させ、
前記第1スレッドデータ生成手段は、
前記処理対象データのうち、前記特定手段により特定された出力画像に対応するデータについて、その出力画像を表示させるための表示データを第1スレッドにおいて生成部に生成させる、請求項3または4記載の情報処理プログラム。
【請求項6】
前記コンピュータを、
前記処理対象データから前記第1データを除いた残りのデータ量が第2所定量を超えるかを判定部に判定させる判定制御手段と、
その判定制御手段により第2所定量を超えると判定される場合に、前記第1スレッドから前記オペレーティングシステムに対して要求させ、その第1スレッドおよび前記第2スレッドとは別に並行して処理が実行される前記スレッドであり、且つ、前記入力部および表示部に関する制御が制限されている第3スレッドを起動部に起動させる第3スレッド起動手段と、して機能させ、
前記第2スレッドデータ生成手段は、
前記処理対象データから前記第1データを除いた残りのデータのうち、一以上の出力画像全体に対応するデータにより構成され、且つ、総データ量が前記第2所定量以下である第2データについて、その出力画像を表示させるための表示データを生成部に生成させ、
前記コンピュータを、
前記第3スレッド起動手段により起動される第3スレッドにおいて、前記処理対象データから前記第1データおよび第2データを除いた残りのデータについて、その出力画像を表示させるための表示データを生成部に生成させる第3スレッドデータ生成手段、として機能させることを特徴とする請求項3から5の何れかに記載の情報処理プログラム。
【請求項7】
前記コンピュータを、
前記第1スレッドにおいて、前記処理対象データのうち、データ形式がインターレース形式またはプログレッシブ形式の画像データについて、その出力画像を表示させるための表示データを生成部に生成させる第1スレッドデータ生成手段、として機能させ、
前記第2スレッドデータ生成手段は、
前記画像データの表示データであって、前記第1スレッドデータ生成手段により生成される表示データの出力画像よりも高画質の出力画像を表示させるための表示データを前記第2スレッドにおいて生成部に生成させ、
前記表示制御手段は、
前記第1スレッドデータ生成手段により前記画像データについての表示データが生成された場合に、その表示データを用いて出力画像を表示部に表示させ、その後、前記第2スレッドデータ生成手段により前記画像データについての表示データが生成された場合に、その表示データを用いて出力画像を表示部に表示させる、請求項1または2記載の情報処理プログラム。
【請求項8】
前記コンピュータを、
前記処理対象データに対応する複数の出力画像うち、何れかの出力画像を印刷させる印刷指示が入力された場合に、前記第2スレッド起動手段により起動された第2スレッド、又は、前記第3スレッド起動手段により起動された第3スレッドを終了部に終了させるスレッド終了手段と、して機能させることを特徴とする請求項1から7の何れかに記載の情報処理プログラム。
【請求項9】
一のアプリケーションにより実行される処理の実行単位であるスレッドであって、その一のアプリケーションの実行開始に応じてオペレーティングシステムにより起動され、且つ、入力部および表示部に関する制御が許可されている第1スレッドにおいて、複数の出力画像に対応するデータが含まれる処理対象データを受け付ける受付手段と、
その受付手段により処理対象データが受け付けられる場合に、前記第1スレッドから前記オペレーティングシステムに対して要求させ、その第1スレッドとは別に並行して処理が実行される前記スレッドであり、且つ、前記入力部および表示部に関する制御が制限されている第2スレッドを起動する第2スレッド起動実行手段と、
その第2スレッド起動実行手段により起動される第2スレッドにおいて、前記処理対象データのうち、2以上の出力画像に対応するデータについて、その出力画像を表示させるための表示データを生成する第2スレッドデータ生成実行手段と、
その第2スレッドデータ生成実行手段によって、所定数の出力画像を表示させるための表示データが生成された場合に、前記第2スレッドから前記第1スレッドに対して表示データの生成終了を通知する通知手段と、
その通知手段による通知が前記第1スレッドへ通知された場合に、その第1スレッドにおいて、前記第2スレッドデータ生成実行手段により生成された表示データを用いて出力画像を表示する表示手段とを備えていることを特徴とする情報処理装置。
【請求項10】
情報処理装置において実行される情報処理方法であって、
一のアプリケーションにより実行される処理の実行単位であるスレッドであって、その一のアプリケーションの実行開始に応じてオペレーティングシステムにより起動され、且つ、入力部および表示部に関する制御が許可されている第1スレッドにおいて、複数の出力画像に対応するデータが含まれる処理対象データを受付部に受け付けさせる受付制御ステップと、
その受付制御ステップにより処理対象データが受け付けられる場合に、前記第1スレッドから前記オペレーティングシステムに対して要求させ、その第1スレッドとは別に並行して処理が実行される前記スレッドであり、且つ、前記入力部および表示部に関する制御が制限されている第2スレッドを起動部に起動させる第2スレッド起動ステップと、
その第2スレッド起動ステップにより起動される第2スレッドにおいて、前記処理対象データのうち、2以上の出力画像に対応するデータについて、その出力画像を表示させるための表示データを生成部に生成させる第2スレッドデータ生成ステップと、
その第2スレッドデータ生成ステップによって、所定数の出力画像を表示させるための表示データが生成された場合に、前記第2スレッドから前記第1スレッドに対して表示データの生成終了を通知部に通知させる通知制御ステップと、
その通知制御による通知が前記第1スレッドへ通知された場合に、その第1スレッドにおいて、前記第2スレッドデータ生成ステップにより生成された表示データを用いて出力画像を表示部に表示させる表示制御ステップとを含む情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2012−203744(P2012−203744A)
【公開日】平成24年10月22日(2012.10.22)
【国際特許分類】
【出願番号】特願2011−69002(P2011−69002)
【出願日】平成23年3月25日(2011.3.25)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】