JP2010259122A - 画像撮影再生装置及びデータ処理方法 - Google Patents

画像撮影再生装置及びデータ処理方法 Download PDF

Info

Publication number
JP2010259122A
JP2010259122A JP2010184326A JP2010184326A JP2010259122A JP 2010259122 A JP2010259122 A JP 2010259122A JP 2010184326 A JP2010184326 A JP 2010184326A JP 2010184326 A JP2010184326 A JP 2010184326A JP 2010259122 A JP2010259122 A JP 2010259122A
Authority
JP
Japan
Prior art keywords
task
processing unit
image data
image
recording medium
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.)
Granted
Application number
JP2010184326A
Other languages
English (en)
Other versions
JP4975152B2 (ja
Inventor
Takuya Shintani
拓也 新谷
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 JP2010184326A priority Critical patent/JP4975152B2/ja
Publication of JP2010259122A publication Critical patent/JP2010259122A/ja
Application granted granted Critical
Publication of JP4975152B2 publication Critical patent/JP4975152B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Television Signal Processing For Recording (AREA)

Abstract

【課題】 マルチタスク制御下にある画像撮影再生装置において、共通の入出力装置にアクセスする際に、より優先順位の高いタスクの処理を優先的に行うと共に、入出力装置に対する処理の全体的な効率を上げること。
【解決手段】 撮像手段と、入出力手段と、入出力手段を専有制御する、予め優先順位が決められた複数のタスク間で、第1処理単位または第2処理単位毎にタスクを切り替える機会を与えて順次実行する制御手段とを有し、複数のタスクの内、出力タスクを第1処理単位で実行中に入力タスクの実行が指示された場合に、出力タスクと入力タスクの内、優先順位が高いタスクの処理単位を第1処理単位に、優先順位が低いタスクの処理単位を第2処理単位に設定し、出力タスクで出力する1枚の画像データ及び入力タスクで入力する1枚の画像データのそれぞれを設定された第1処理単位及び第2処理単位のいずれか一方のデータ量に分割して実行する。
【選択図】 図8

Description

本発明は画像撮影再生装置及び画像撮影再生装置における画像データ及び非画像データの処理方法に関し、特に、共通の入出力インターフェースを介して記録媒体に画像データを入出力するマルチタスクを実行可能な画像撮影再生装置及び画像撮影再生装置における画像データ及び非画像データの処理方法に関する。
従来の一般的な画像撮影再生装置には、撮影した画像を記録し、また記録された画像を再生するため、記録媒体へのデータの書き込み、及び、記録媒体からのデータの読み込みを行う、いわゆる入出力装置が具備されている。そのCPUは、複数の処理を見かけ上同時に実行する、いわゆるマルチタスクで制御を行っている。このようにマルチタスクで制御を行っている時に、異なるタスクが共通の入出力装置にアクセスしようする場合、最も早く入出力装置にアクセスしたタスクが入出力装置を使用し、その処理が終了するまで専有する。後から入出力装置にアクセスしようとしたタスクは、先にアクセスしたタスクの入出力処理が終了し、入出力装置が空き状態になった後、入出力処理を行っていた。
上記のような入出力装置へのアクセス方法では、緊急性の高いタスクが入出力装置へのアクセスを要求しても、先にアクセスしているタスクがある場合にはそのタスクによる入出力装置へのアクセスが終了するまで待たなければならないため、ユーザーが優先的に行いたい処理が待たされてしまうという問題があった。上記問題点に対し、優先レベルの低いタスクの中にスリープを入れ、スリープ中のタスクは処理の順番が回ってきたときに処理を行わずにスキップしたり、共通のデバイスにアクセスする一回の時間を短縮するなどして、緊急性の高いタスクが優先的に共通のデバイスに対する処理を行えるようにした処理方法が提案されている(例えば、特許文献1参照)。
特開平10−283204号公報
しかしながら、特許文献1には、優先レベルに基づいて1回のアクセス時間とスリープ時間とを決定する旨の記載がされているが、このような制御によれば、優先レベルの高いタスクが共通デバイスへのアクセスを要求しておらず、優先レベルの低いタスクのみが共通デバイスへのアクセスを要求している場合に、全てのタスクがスリープになる時間が発生してしまうことがある。その様な場合には共通デバイスにいずれのタスクからもアクセスが行われないために、処理効率が悪くなってしまう。
また、ある時点における複数のタスク間のアクセス時間とスリープ時間が高い処理効率を実現していたとしても、複数のタスクの内の、例えばいずれか1つが終了した場合に、同じアクセス時間とスリープ時間が継続されてしまうため、特に優先レベルの高いタスクが終了した場合には、処理を継続している優先レベルの低いタスク全てがスリープとなる時間が生じることがあり、処理効率が悪くなってしまう。
更には、複数のタスクが共通デバイスにアクセスしているときに、更に優先レベルが低いタスクが追加された時には、結果的に優先レベルの低いタスクが全てスリープとなる時間が発生せず、複数のタスクが設定されたアクセス時間ずつ単に順番に処理されてしまい、優先レベルの高いタスクの処理に時間がかかってしまうことがある。
本発明は上記問題点を鑑みてなされたものであり、マルチタスク制御下にある画像撮影再生装置において、共通の入出力装置にアクセスする際に、より優先順位の高いタスクの処理を優先的に行うと共に、入出力装置に対する処理の全体的な効率を上げることを目的とする。
上記目的を達成するために、本発明の画像撮影再生装置は、被写体を撮影して電気的な画像データを取得する撮像手段と、外部記録媒体に対して、前記画像データを含むデータの入出力を行う入出力手段と、前記入出力手段を専有制御する、予め優先順位が決められた複数のタスクを、データ量が多い第1処理単位と、当該第1処理単位よりもデータ量が少ない第2処理単位のいずれかである前記データの一処理単位毎に前記複数のタスク間でタスクを切り替える機会を与えて順次実行する制御手段とを有し、前記制御手段は、前記複数のタスクの内、前記撮像手段により取得した1枚の画像データを前記外部記録媒体に出力する出力タスクを前記第1処理単位で実行中に前記外部記録媒体に記録された1枚の画像データを表示手段に表示させるために読み込む入力タスクの実行が指示された場合に、前記出力タスクと前記入力タスクの内、優先順位が高いタスクの処理単位を前記第1処理単位に設定し、優先順位が低いタスクの処理単位を前記第2処理単位に設定し、前記撮像手段により取得した1枚の画像データ及び前記外部記録媒体に記録された1枚の画像データのそれぞれを設定された前記第1処理単位及び前記第2処理単位のいずれか一方のデータ量に分割して実行することにより前記外部記録媒体への1枚の画像データの記録と前記表示手段への1枚の画像データの表示を並列に行う。
本発明によれば、マルチタスク制御下にある画像撮影再生装置において、共通の入出力装置にアクセスする際に、より優先順位の高いタスクの処理を優先的に行うと共に、入出力装置に対する処理の全体的な効率を上げることができる。
本発明の第1の実施形態における画像処理装置の構成を示すブロック図である。 本発明の第1の実施形態におけるタスクの関係を説明する図である。 本発明の第1の実施形態における撮影シーケンスを説明するフローチャートである。 本発明の第1の実施形態における再生表示シーケンスを説明するフローチャートである。 本発明の第1の実施形態の撮影シーケンスにおける書き込みシーケンスを説明するフローチャートである。 本発明の第1の実施形態の再生表示シーケンスにおける読み込みシーケンスを説明するフローチャートである。 本発明の第1の実施形態における制御タスクの処理単位設定シーケンスを説明するフローチャートである。 本発明の第1の実施形態におけるタスク遷移を説明するタイミングチャートである。 本発明の第2の実施形態におけるタスクの関係を説明する図である。 本発明の第2の実施形態における非画像データ処理シーケンスを説明するフローチャートである。 本発明の第2の実施形態の撮影シーケンスにおける書き込みシーケンスを説明するフローチャートである。 本発明の第2の実施形態の再生表示シーケンスにおける読み込みシーケンスを説明するフローチャートである。 本発明の第2の実施形態の非画像データ処理シーケンスにおける書き込みシーケンスを説明するフローチャートである。 本発明の第2の実施形態における制御タスクの処理単位設定シーケンスを説明するフローチャートである。 本発明の第2の実施形態の制御タスクによる複数タスクのスケジューリングの方法を説明するフローチャートである。 本発明の第2の実施形態におけるタスク2の単独実行処理を説明するフローチャートである。 本発明の第2の実施形態におけるタスク3の単独実行処理を説明するフローチャートである。 本発明の第2の実施形態におけるタスク1とタスク2の並行実行処理を説明するフローチャートである。 本発明の第2の実施形態におけるタスク1とタスク3の並行実行処理を説明するフローチャートである。 本発明の第2の実施形態におけるタスク2とタスク3の並行実行処理を説明するフローチャートである。 本発明の第2の実施形態におけるタスク1〜タスク3の並行実行処理を説明するフローチャートである。 本発明の第2の実施形態におけるタスク遷移を説明するタイミングチャートである。
以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
<第1の実施形態>
まず、本発明の第1の実施形態における画像処理装置の構成を図1を参照して説明する。
図1において、100は本第1の実施形態における画像処理装置である。画像処理装置100は、デジタルカメラ、デジタルビデオカメラ、カメラ付き携帯端末(カメラ付き携帯電話を含む)の何れであってもよい。第1の実施形態では、画像処理装置100がデジタルカメラである場合を説明する。
画像処理装置100内において、10は撮像レンズ、11は絞り、12はシャッター、14は光学像を電気信号に変換する撮像素子、16は撮像素子14のアナログ信号出力をディジタル信号に変換するA/D変換器である。
18は撮像素子14、A/D変換器16、表示制御部26にそれぞれクロック信号や制御信号を供給するタイミング発生回路であり、メモリ制御部22及びシステム制御部50により制御される。
20は画像処理部であり、A/D変換器16からの画像データ或いはメモリ制御部22からの画像データに対して、画像データに付加されている処理データに基づき、所定の画素補間処理や色変換処理を行う。また、画像処理部20は、A/D変換器16から出力される画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてシステム制御部50がシャッタ制御部34、絞り制御部40及び測距制御部42に対して、TTL(スルー・ザ・レンズ)方式のオートフォーカス(AF)処理、自動露出(AE)処理、フラッシュプリ発光(EF)処理を行っている。さらに、画像処理部20は、A/D変換器16から出力される画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のオートホワイトバランス(AWB)処理も行っている。
22はメモリ制御部であり、A/D変換器16、タイミング発生回路18、画像処理部20、画像表示メモリ24、表示制御部26、メモリ30、圧縮伸長部32を制御する。A/D変換器16から出力される画像データは、画像処理部20、メモリ制御部22を介して、或いはメモリ制御部22のみを介して、画像表示メモリ24或いはメモリ30に書き込まれる。
24は画像表示メモリ、26は表示制御部、28はTFT LCD(Liquid Crystal Display)等を有する画像表示部である。画像表示メモリ24に書き込まれた表示用の画像データは表示制御部26を介して画像表示部28に表示される。
画像表示部28を用いて撮像した画像データを逐次表示すれば、電子ファインダ機能を実現することが可能である。なお、画像表示部28は、システム制御部50の指示により表示のON又はOFFが可能である。画像表示部28の表示をOFFにした場合、画像処理装置100の電力消費を大幅に低減することができる。また、画像表示部28は、合焦、手振れ、シャッタースピード、絞り値、露出補正等に関する情報をシステム制御部50からの指示に従って表示する。
30は撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに充分な記憶容量を備えている。これにより、複数枚の静止画像を連続して撮影する連写やパノラマ撮影の場合にも、高速かつ大量の画像をメモリ30に書き込むことができる。また、メモリ30はシステム制御部50の作業領域としても使用することが可能である。更に、後述する記録媒体から画像データをメモリ30に読み出し、画像処理部20やメモリ制御部22を介して画像表示メモリ24に画像データを書き込む処理をし、表示制御部26により画像表示部28に表示する場合にも使用される。
32はメモリ30から読み出した画像データを所定の画像圧縮方法(例えば、適応離散コサイン変換(ADCT)等)に従って例えばJPEGデータに画像圧縮し、画像圧縮された画像データをメモリ30に書き込む機能及びメモリ30から読み出した画像データを伸長し、伸長した画像データをメモリ30に書き込む機能を有する圧縮伸長部である。
34はシャッタ12を制御するシャッタ制御部、40は絞り11を制御する絞り制御部である。42は撮像レンズ10のフォーカシングを制御する測距制御部、46はストロボ、48はストロボ46の発光を制御するストロボ制御部である。
50は画像処理装置100全体を制御するシステム制御部である。52はシステム制御部50の動作用の定数、変数、プログラム等を記憶するROMなどのメモリであり、メモリ52には撮像処理を行うプログラム、画像処理を行うプログラム、作成した画像ファイルデータを記録媒体に記録するプログラム、画像ファイルデータを記録媒体から読み出すプログラムなどの各種プログラムと、上記プログラムのマルチタスク構成を実現し実行するOSなどの各種プログラムなどが記録されている。各プログラムにはメッセージキューが作成され、メッセージキューにメッセージがFIFO(First In First Out)的に積まれ、各プログラム間でメッセージのやり取りを行うことで各プログラムが連携して制御され、上記各機能の制御が行われている。
60、62、64、66は、システム制御部50の各種の動作指示を入力するための操作手段であり、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。
ここで、これらの操作手段の具体的な説明を行う。
60はモードダイアルスイッチで、電源ON/OFF、再生モード、自動撮影モード、プログラム撮影モード、シャッター速度優先撮影モード、絞り優先撮影モード、マニュアル撮影モード、ポートレート撮影モード、風景撮影モード、接写撮影モード、スポーツ撮影モード、夜景撮影モード、マルチ画面再生・消去モード、PC接続モード等の各機能モードを切り替え設定することができる。
62はレリーズスイッチSW1で、不図示のレリーズボタンの操作途中でONとなり、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(ストロボプリ発光)処理等の動作開始を指示する。
64はレリーズスイッチSW2で、不図示のレリーズボタンの操作完了でONとなり、撮像素子14から読み出した信号をA/D変換器16、メモリ制御部22を介してメモリ30に画像データを書き込む露光処理、画像処理部20やメモリ制御部22での演算を用いた現像処理、メモリ30から画像データを読み出し、圧縮伸長部32で画像圧縮を行い、記録媒体200に画像データを書き込む記録処理という一連の処理の動作開始を指示する。
66は、メニュー操作スイッチであり、不図示のメニューキー、セットキー、十字キー等の組み合わせで構成され、カメラの撮影条件や現像条件などの各種設定の変更を画像表示部28を見ながら行うことができる。
80は電源制御部で、電池検出回路、DC−CDコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されており、電池の装着の有無、電池の種類、電池残量の検出を行い、検出結果及びシステム制御部50の指示に基づいてDC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。
90はメモリカードやハードディスク等の記録媒体とのインタフェース、92はメモリカードやハードディスク等の記録媒体と接続を行うコネクタである。
なお、第1の実施形態では記録媒体を取り付けるインタフェース及びコネクタを1系統持つものとして説明している。勿論、記録媒体を取り付けるインタフェース及びコネクタは、単数或いは複数、いずれの系統数を備える構成としても構わない。また、異なる規格のインタフェース及びコネクタを組み合わせて備える構成としてもよい。
インタフェース及びコネクタとしては、PCMCIAカードやコンパクトフラッシュ(登録商標)カード等の規格に準拠したものを用いて構成することが可能である。インタフェース90及びコネクタ92をPCMCIAカードやCFカード等の規格に準拠したものを用いて構成した場合、LANカードやモデムカード、USBカード、IEEE1394カード、P1284カード、SCSIカード、PHS等の通信カード、等の各種通信カードを接続することにより、他のコンピュータやプリンタ等の周辺機器との間で画像データや画像データに付属した管理情報を転送し合うことができる。
200はメモリカードやハードディスク等の記録媒体である。記録媒体200は、半導体メモリや磁気ディスク等から構成される記録部202と、画像処理装置100とのインタフェース204と、画像処理装置100と接続を行うコネクタ206とを備えている。
次に、各種のタスクについて説明する。本第1の実施形態では、撮影処理により作成されたメモリ30にある画像データを記録媒体200に記録するための書き込みタスクと、記録媒体200に記録されている画像データをメモリ30に読み出すための読み込みタスクと、それら2つのタスクを制御する制御タスクの3つのタスクの関係に注目し、その関係を図2に示す。本第1の実施形態では、撮影した画像データは一旦メモリ30に保存してから記録媒体200に書き込まれるため、ユーザーの操作性を鑑みて、書き込みタスクよりも読み込みタスクの優先順位が高いものとする。
制御タスクは書き込みタスクと読み込みタスクを制御するタスクで、書き込みタスク及び読み込みタスクに対して、後述する書き込み処理単位のHI・LOWの設定の切り替えを行う。第1の実施形態では読み込みタスクの優先順位が書き込みタスクの優先順位よりも高いので、制御タスクは書き込みタスクの処理単位を切り替えることにより、優先的に読み込みタスクが記録媒体を専有できるように制御を行う。
図3は、撮影から記録媒体200への画像データ記録までの一連のシーケンスを説明するフローチャートである。ステップS301では、先に図1の説明で述べたようにレリーズスイッチを構成するSW1(62)、SW2(64)の操作に応答し、AF処理、AE処理、露光処理までの一連の撮影処理が行われ、撮影して得られた画像データがメモリ30に一時保存される。そして次に画像書き込み処理に移行する(ステップS302)。画像書き込み処理では、画像データの記録媒体200への書き込みが行われるが、その詳細については図5を参照して後述する。このように一連の撮影動作が実行される。
図4は記録媒体200から画像データを読み込み、画像表示部28に表示するまでの一連のシーケンスを説明するフローチャートである。ステップS401では、モードダイアル60が再生モードに設定されたかどうかを判断する。再生モードに設定されると、ステップS402で画像読み込み処理に移行する。画像読み込み処理では記録媒体200から画像データをメモリ30に読み出す処理が行われるが、詳細についてはついては図6を参照して後述する。次に表示処理に移行する(ステップS403)。表示処理に関しては公知なので特に記述はしないが、メモリ30に読み出した画像データを表示制御部26により画像表示部28に表示する処理を行う。このように一連の再生表示動作が実行される。
次に図5のフローチャートを参照して、図3のステップS302で行われる画像データを記録媒体200に記録するための書き込み処理(タスク)について説明する。
まずステップS501では書き込み処理単位がHIであるかどうか判断する。書き込み処理単位とは、記録媒体200を専有して一度に書き込むことができる最大データ量のことで、前述の制御タスクにより設定される。本第1の実施形態において、撮影処理により作成された画像データが数十MB(メガバイト)であるとすると、一度に数十MBの書き込み処理を行うのではなく、画像データを数MB〜数KBのデータのかたまり(処理単位)として書き込み、これを複数回繰り返して一枚の画像データを書き込む。
もしHIの設定であるなら(ステップS501でYES)、ステップS502に移行し、書き込み処理単位をHIに設定する。第1の実施形態では処理単位を2MBとする。HIでなければ(ステップS501でNO)、ステップS503に移行し、書き込み処理単位をLOWに設定する。第1の実施形態では1KBとする。次にステップS504に移行し、設定された処理単位ずつ記録媒体200に書き込みを行う。1処理単位分の書き込みが終わったら、全データの書き込みが終了したかどうかの判断を行い、全データの書き込みが終わっていたら終了し、終わっていなければステップS501に戻って同様の処理を繰り返す。これにより書き込みタスクが書き込み処理により記録媒体にデータを書き込む間中、記録媒体を専有してしまうことがない。
次に図6のフローチャートを参照して、図4のステップS402で行われる画像データを記録媒体200から読み出す読み込み処理(タスク)について説明する。
まずステップS601では読み込み処理単位がHIであるかどうか判断する。読み込み処理単位とは、記録媒体200を専有して一度に読み込むことができる最大データ量のことで、前述の制御タスクにより設定される。第1の実施形態において記録媒体200内から読み込む画像データが数十MB(メガバイト)であるとすると、一度に数十MBの読み込み処理を行うのではなく、画像データを数MB〜数KBのデータのかたまり(処理単位)として読み込み、これを複数回繰り返して、一枚の画像データをメモリ30に読み込む。
もしHIの設定であるなら(ステップS601でYES)、ステップS602に移行し、読み込み処理単位をHIに設定する。第1の実施形態では処理単位を2MBとする。HIでなければ(ステップS601でNO)、ステップS603に移行し、読み込み処理単位をLOWに設定する。第1の実施形態では1KBとする。次にステップS604に移行し、設定された処理単位ずつ記録媒体200から読み込みを行う。1処理単位分の読み込みが終わったら、全データの読み込みが終了したかどうかの判断を行い、全データの読み込みが終わっていたら終了し、終わっていなければステップS601に戻って同様の処理を繰り返す。これにより読み込みタスクが読み込み処理により記録媒体からデータを読み込む間中、記録媒体を専有してしまうことがない。
次に、図7のフローチャートを参照して、制御タスクによる、複数タスクの処理単位の制御について説明する。図7において、タスク1はタスク2よりも優先順位が高いタスクとする。上述した書き込みタスクと読み込みタスクでは、読み込みタスクの方が優先順位が高いためタスク1に相当し、書き込みタスクはタスク2に対応する。
まずステップS701において、タスク1を実行するかどうかを判断し、実行する場合にはステップS702でタスク1の処理単位をHIに設定する。タスク1は、ここで設定されたHIの処理単位を基準として繰り返し処理を実行することになる。ステップS703でタスク1の1処理単位分の処理を実行した後、この1処理単位分の処理の実行中にタスク2の実行が指示されたか否かをステップS704で判断する。実行が指示されたと判断した場合にはステップS712へ進む。指示されていないと判断した場合にはステップS705でタスク1が終了したかどうかを判断し、終了していなければステップS703に戻り、終了していれば処理を終了する。
一方、ステップS701でタスク1を実行しないと判断した場合には、ステップS706に進んでタスク2を実行するかどうかを判断し、実行しない場合にはこのまま処理を終了し、実行する場合にはステップS707でタスク2の処理単位をHIに設定する。タスク2は、ここで設定されたHIの処理単位を基準として繰り返し処理を実行することになる。ステップS708でタスク2の1処理単位分の処理を実行した後、この1処理単位の処理の実行中にタスク1の実行が指示されたか否かをステップS709で判断する。実行が指示されたと判断した場合にはステップS711でタスク1の処理単位をHIに設定してステップS712へ進む。実行が指示されていないと判断した場合にはステップS710でタスク2が終了したかどうかを判断し、終了していなければステップS708に戻り、終了していれば処理を終了する。
ステップS712では、タスク1とタスク2が同時に処理を指示されている状態になるので、タスク2の処理単位をLOWに設定する。
そしてS713でタスク1の1処理単位の実行がデバイス側(上述の画像データの書き込みタスク及び読み込みタスクの処理においては、記録媒体側に相当する)で完了したか否かを判断する。すなわち、それぞれの処理は、システム制御部側で実行される処理とデバイス側で実行される処理から構成されており、デバイス側で処理が実行されている状態においてはシステム制御部側に余裕が生じるので、タスク2の処理単位毎の処理の準備をすべく、デバイス側の処理完了待ち状態を判断するものである。
ステップS713でタスク1の1処理単位分の処理がデバイス側の処理完了待ち状態と判断された場合には、ステップS714でタスク2が既に終了しているか否かを判断し、終了していればステップS713へ戻る。
終了していなければ、ステップS715でタスク2のシステム制御部で実行される処理を行って、タスク2の処理単位毎の処理の実行の準備を行う。この後ステップS713に戻り、再びタスク1のデバイス側の処理完了待ち状態か否かを判断する。
ステップS713でデバイス側の処理が完了していれば、ステップS716に進み、次のタスク1の1処理単位分の処理の実行の準備状態か否かを判断する。すなわち、タスク1の処理は処理単位を繰り返して実行することにより完了するものであるが、この処理単位と処理単位の間には所定の準備動作が必要となる場合があり、このような準備動作を行っている状態においては、デバイスを使用しないのでこの準備状態を判断する。ステップS716でタスク1の処理の実行が準備状態と判断された場合には、ステップS717で、タスク2が既に終了しているか否かを判断し、終了していればステップS705へ移る。
終了していなければ、ステップS718に進み、タスク2を1処理単位分、実行するように制御する。なお、ここではタスク2の1処理単位はステップS712でLOWに設定されている。より具体的には、これまでタスク1が使用していたデバイスをタスク1の準備動作に伴ってタスク2が使用することになり、タスク2を実行することになる。
タスク2の1処理単位分の処理が終了するとステップS716に戻り、再びタスク1の処理の実行が準備状態か否かを判断する。従って、場合によっては、タスク2がLOWの処理単位で繰り返し実行されることもあり得る。
ステップS716で、タスク1の処理の実行が準備状態でないと判断されると、ステップS719においてタスク1が終了しているか否かを判断し、まだ終了していなければ、ステップS721でタスク1を1処理単位分実行するように制御する。なお、ここではタスク1の処理単位はHIに設定されている。ステップS721でタスク1が1処理単位分実行されると、ステップS713に戻る。
ステップS719でタスク1が終了したと判断されると、この時点ではタスク2のみが実行されていることになるのでステップS720でタスク2の処理単位をHIに設定し、ステップS710に進む。
このように処理単位を変更することで、タスクが2つ実行されているときには、優先順位の低いタスクの処理単位を少なくし、優先順位の高いタスクをより高速に処理することができると共に、タスクが1つだけ実行されている時には優先順位に関わらず処理単位を大きくすることで、実行中のタスクを高速に処理することができる。
次に、上記制御の一例として、撮影から記録媒体200への画像データ記録までの一連のシーケンスが行われている時に、同じ記録媒体200から画像データを読み込み、画像表示部28に表示する場合のシーケンスを図8に示す。
まず、t1で制御タスクは書き込みタスクに記録媒体200への書き込みを指示する。この時、書き込み処理単位はステップS702でHIに設定されている。次に、モードダイヤルスイッチ60により再生モードが指示されると、t3で読み込みタスクに読み込みの指示を行うが(ステップS709でYESの状態)、読み込みタスクに優先的に記録媒体200の専有させるため、読み込み指示に先立って、t2で書き込みタスクの書き込み処理単位をLOWに変更する(ステップS712)。読み込みタスクの読み込み処理単位はステップS711でHIに設定されている。このように書き込み処理単位及び読み込み処理単位をそれぞれ制御することにより、読み込みタスクが一度に読み込むサイズはHIのため長い時間記録媒体200を専有し、読み込みを行うが、書き込みタスクが一度に書き込むサイズはLOWであるため短い時間だけ記録媒体200を専有し、書き込みを行うことになる。
この図による場合、読み込みタスクは各HIの処理単位後に所定時間の準備動作を必要としており(ステップS713でYESの状態)、この時間に書き込みタスクがLOWの処理単位で1回実行されている(ステップS718を1回経過する)。但し、読み込みタスクが連続してHIの処理単位で実行される場合に、処理単位と処理単位の間、すなわち準備動作が極めて短く(もしくは必要とせず)、書き込みタスクのLOWの処理単位が実行されることがない場合もあり得るし、逆に準備動作が長いために、書き込みタスクのLOWの処理単位が複数回実行される場合もありうる。
すべての読み込み処理が終了したら(ステップS719でYES)、制御タスクはt4で書き込みタスクの書き込み処理単位をHIに設定して(ステップS720)、書き込みタスクが長い時間記録媒体200を専有し、より早く書き込みを行えるようにする。
なお、第1の実施形態においては、モードダイヤルスイッチ60の操作により再生モードから撮影モードに変更される場合には、実際に撮影して得た画像データを記録媒体200に記録する書き込みタスクがスタートする前に読み込みタスクが終了するため(ステップS704でNO、ステップS705でYESとなる)、マルチタスク状態になることがない。
以上説明したように、本第1の実施形態によれば、書き込みタスクと読み込みタスクとを並行して行う場合には、優先順位がより低い書き込みタスクの処理単位を制御タスクがLOWに設定することにより、書き込みタスクが記録媒体を専有し、書き込みを行う一回の時間を短くすることができ、優先的に処理したい読み込みタスクがより長い時間記録媒体を専有し、読み込みを行うことができる。また、優先順位の高い読み込みタスクが動いていない場合には、書き込み処理単位をHIに切り替えることで、タスクの効率を上げることができる。
なお、処理単位LOWを、処理単位分の処理の間にタスクが記録媒体とのアクセスを行わない時間とすれば、優先順位がより高い読み込みタスクを行っている間であっても、記録媒体とのアクセスを行わない時間に書き込み処理を行うことができるため、効率よく読み込みタスクと書き込みタスクを実行することが可能となる。
なお、上記第1の実施形態では、書き込みタスクよりも読み込みタスクの優先順位が高いものとしたが、その逆に設定しても良い。また、メモリ30の容量自体が小さい場合や、メモリ30の空き容量が所定容量(例えば、おおよそ1枚の画像を記憶するのに必要な容量)よりも少なくなった場合に、書き込みタスクを優先すると言ったように、優先順位を何らかの条件に応じて変更することも、勿論可能である。
また、上記第1の実施形態では、処理単位はHIとLOWのいずれかに設定されるものとしたが、本発明はこれに限るものではなく、例えば、使用する記録媒体のアクセス速度が速い場合に処理単位を大きくし、遅い場合に処理単位を小さくするといったように、アクセス速度に応じて処理単位を設定するようにすることも可能である。その際、予め複数の処理単位を保持しておき、その中から適切なものを選択するようにしてもよい。また、HIとLOWの処理単位も20MBと1KBに限られるものではないことはいうまでもない。
また、上記第1の実施形態では、入出力装置として記録媒体を用いたが、入出力装置に通信機能を持たせ、遠隔大容量記録媒体への入出力を行う際にも有効である。
<第2の実施形態>
次に、本発明の第2の実施形態について説明する。なお、第2の実施形態においても上記第1の実施形態で図1を参照して説明した画像処理装置を用いるため、ここでは説明を省略する。
まず、各種のタスクについて説明する。本第2の実施形態では、撮影処理により作成されたメモリ30にある画像データを記録媒体200に記録するための画像データ書き込みタスクと、画像データ以外の非画像データを記録媒体200に記録するための非画像データ書き込みタスクと、記録媒体200に記録されている画像データをメモリ30に読み出すための画像データ読み込みタスクと、これら3つのタスクを制御する制御タスクの4つの関係に注目し、その関係を図9に示す。本第2の実施形態では、撮影した画像データ及び非画像データは一旦メモリ30に保存してから記録媒体200に書き込まれるため、ユーザの操作性を鑑みて、画像データ書き込みタスクおよび非画像データ書き込みタスクの書き込みタスクよりも画像データ読み込みタスクの優先順位が高いものとし、優先順位が高いものから順に、画像データ読み込みタスク、画像データ書き込みタスク、非画像データ書き込みタスクというように設定するものとする。
制御タスクは、画像データ書き込みタスク、非画像データ書き込みタスク、画像データ読み込みタスクを制御するタスクで、それぞれのタスクに対して、後述する任意に決定した時間内に処理が終了できる処理単位の設定を行う。本第2の実施形態では読み込みタスクの優先順位が書き込みタスクの優先順位より高いので、制御タスクは、画像データ書き込みタスクと非画像データ書き込みタスクの処理単位を切り替えることにより、優先的に画像データ読み込みタスクが記録媒体を専有できるように制御を行う。
上述した4つのタスクの内、画像書き込みタスク及び画像読み込みタスクは、上記第1の実施形態において図3及び図4を参照して説明した処理と同様であるので、ここでは説明を省略する。ただし、図3のステップS302における画像書き込み処理(画像データ書き込み処理)及び図4のステップS402における画像読み込み処理(画像データ読み込み処理)における動作は、図5及び図6を参照して第1の実施形態で説明したものと異なるため、図11及び図12を参照して詳細をそれぞれ後述する。
図10は記録媒体200への非画像データ記録までの一連のシーケンスを説明するフローチャートである。ステップS1001では、撮影して得られた画像データ以外に記録媒体200に記録したい非画像データを作成し、作成した非画像データをメモリ30に一時保存する。ここでいう非画像データの一例としてDPOFファイルデータなどが考えられるが、データの種類については特に限定しない。そして次に非画像データ書き込み処理に移行する(ステップS1002)。非画像データ書き込み処理では、メモリ30に保存された非画像データの記録媒体200への書き込みが行われるが、その詳細については図13を参照して後述する。このように一連の非画像データ書き込み動作が実行される。
次に図11のフローチャートを参照して、図3のステップS302で行われる本第2の実施形態における画像データを記録媒体200に記録するための画像データ書き込み処理(タスク)について説明する。
まず、ステップS1301では、図15〜図21を参照して後述する制御タスクの処理により決定された画像データ書き込み処理単位を参照する。画像データ書き込み処理単位とは、記録媒体200を専有して一度に書き込むことができる最大画像データ量のことである。
次に、ステップS1302で、画像データ書き込み処理単位として、ステップS1301で参照した処理単位に設定する。次にステップS1303に移行し、設定された処理単位ずつ記録媒体200に書き込みを行う。1処理単位分の書き込みが終わったら、全画像データの書き込みが終了したかどうかの判断を行い、全画像データの書き込みが終わっていたら終了し、終わっていなければステップS1301に戻って同様の処理を繰り返す。これにより画像データ書き込みタスクが画像データ書き込み処理により記録媒体に画像データを書き込む間中、記録媒体を専有してしまうことがない。
次に図12のフローチャートを参照して、図4のステップS402で行われる本第2の実施形態における画像データを記録媒体200から読み出す画像データ読み込み処理(タスク)について説明する。
まず、ステップS1401では、図15〜図21を参照して後述する制御タスクの処理により決定された画像データ読み込み処理単位を参照する。画像データ読み込み処理単位とは、記録媒体200を専有して一度に読み込むことができる最大画像データ量のことである。
次に、ステップS1402で、画像データ読み込み処理単位として、ステップS1401で参照した処理単位に設定する。次にステップS1403に移行し、設定された処理単位ずつ記録媒体200から読み込みを行う。1処理単位分の読み込みが終わったら、全画像データの読み込みが終了したかどうかの判断を行い、全画像データの読み込みが終わっていたら終了し、終わっていなければステップS1401に戻って同様の処理を繰り返す。これにより画像データ読み込みタスクが画像読み込み処理により記録媒体からデータを読み込む間中、記録媒体を専有してしまうことがない。
次に図13のフローチャートを参照して、図10のステップS1002で行われる非画像データを記録媒体200に記録するための非画像データ書き込み処理(タスク)について説明する。
まず、ステップS1501では図15〜図21を参照して後述する制御タスクの処理により決定された非画像データ書き込み処理単位を参照する。非画像データ書き込み処理単位とは、画像データ書き込み処理単位と同様に、記録媒体200を専有して一度に書き込むことができる最大データ量のことである。
次に、ステップS1502で、非画像データ書き込み処理単位として、ステップS1501で参照した処理単位に設定する。次にステップS1503に移行し、設定された処理単位ずつ記録媒体200に書き込みを行う。1処理単位分の書き込みが終わったら、全非画像データの書き込みが終了したかどうかの判断を行い、全非画像データの書き込みが終わっていたら終了し、終わっていなければステップS1501に戻って同様の処理を繰り返す。これによりデータ書き込みタスクがデータ書き込み処理により記録媒体にデータを書き込む間中、記録媒体を専有することがない。
本第2の実施形態では、複数タスクの並行実行が指示されている場合に、図11のステップS1301〜S1303の処理、図12のステップS1401〜S1403の処理、図13のステップS1501〜S1503の処理の内、指示されたタスクに対応する処理を順番に実行する。
次に、図14のフローチャートを参照して、制御タスクによる、複数タスクの処理単位の制御について説明する。なお、以下の説明では、優先順位の高いタスクからタスク1〜3とし、従って本第2の実施形態においては、タスク1が画像読み込みタスク、タスク2が画像書き込みタスク、そしてタスク3が非画像書き込みタスクとなる。
まず、ステップS1601で記録媒体200のアクセス速度を入出力インターフェース90を介して判断する。次に、ステップS1602で任意の時間内に終了できるような処理単位をアクセス速度から決定する。本第2の実施形態では、時間設定として最大の時間を200msecとし、200msecで終わる処理単位を最大処理単位とする。また最小の時間を10msecとし、10msecで終わる処理単位を最小処理単位とする。このように、最大処理単位と最小処理単位をアクセス速度から決定し、メモリ30に保存する。
次にステップS1603でタスク1、タスク2、タスク3の少なくともいずれかのタスクの制御が開始されると、ステップS1604に進んで後述するスケジューリングを行い、ステップS1605でタスク1、タスク2、タスク3の全ての制御が終了したと判断されるまで、ステップS1604においてスケジューリングを続ける。
次に、図15のフローチャートを参照して、図14のステップS1604で行われるスケジューリングの方法について説明する。
まずステップS1701において、タスク1を実行するかどうかを判断し、実行する場合にはステップS1702でタスク1の処理単位を最大処理単位に設定する。その後、ステップS1703でタスク2を実行するかどうかを判断し、実行する場合には、ステップS1707に進んで、タスク3を実行するかどうかを判断する。実行しない場合には、ステップS1708でタスク1とタスク2を並行して実行し(図18)、実行する場合には、ステップS1809でタスク1〜3を並行して実行する(図21)。
一方、ステップS1703でタスク2を実行しない場合にはステップS1704でタスク3を実行するかどうかを判断し、実行する場合にはステップS1706に進んでタスク1とタスク3を並行して実行する(図19)。実行しない場合には、タスク1を単独実行することになり、1処理単位を実行する毎にステップS1705に進んでタスク1が終了したかどうかを判断し、終了していなければステップS1703に戻り、終了していれば図14に戻ってステップS1605でYESとなり、処理が終了する。
一方、ステップS1701において、タスク1を実行しない場合には、ステップS1710に進んでタスク2を実行するかどうかを判断し、実行する場合にはステップS1711に進んでタスク3を実行するかどうかを判断する。タスク3を実行しない場合には、ステップS1712に進んでタスク2を単独で実行し(図16)、タスク3を実行する場合にはステップS1713でタスク2に最大処理単位を設定してから、ステップS1714に進んでタスク2とタスク3を並行して実行する(図20)。
また、ステップS1710でタスク2を実行しない場合には、ステップS1715でタスク3を実行するかどうかを判断し、実行する場合にはステップS1716に進んでタスク3を単独で実行し(図17)、実行しない場合には、タスク1〜3のいずれも実行しないので、図14に戻ってステップS1605でYESとなり、処理が終了する。
次に、ステップS1712などで行われるタスク2の単独実行処理、ステップS1716などで行われるタスク3の単独実行処理、ステップS1708などで行われるタスク1とタスク2の並行実行処理、ステップS1706などで行われるタスク1とタスク3の並行実行処理、ステップS1714などで行われるタスク2とタスク3の並行実行処理、及び、ステップS1709などで行われるタスク1〜3の並行実行処理について順に説明する。
図16は、タスク2の単独実行処理を説明するフローチャートである。まず、ステップS2001でタスク2を最大処理単位に設定する。次に、ステップS2002でタスク1を実行するかどうかを判断し、実行する場合にはステップS2005でタスク1を最大処理単位に設定してから、ステップS2007に進んでタスク1とタスク2を並行して実行する(図18)。タスク1を実行しない場合にはステップS2003でタスク3を実行するかどうかを判断し、実行する場合にはステップS2006に進んで後述するタスク2とタスク3を並行して実行する(図20)。タスク3を実行しない場合にはステップS2004でタスク2が終了したかどうかを判断し、終了していなければステップS2002に戻って上記処理を繰り返し、終了していれば図14に戻り、ステップS1605でYESとなるので、処理が終了する。
図17は、タスク3の単独実行処理を説明するフローチャートである。まず、ステップS2101でタスク3を最大処理単位に設定する。次に、ステップS2102でタスク1を実行するかどうかを判断し、実行する場合にはステップS2105でタスク1に最大処理単位を設定してから、ステップS2108に進んでタスク1とタスク3を並行して実行する(図19)。タスク1を実行しない場合にはステップS2103でタスク2を実行するかどうかを判断し、実行する場合にはステップS2106に進んでタスク2に最大処理単位を設定してから、ステップS2107に進んで後述するタスク2とタスク3を並行して実行する(図20)。タスク2を実行しない場合にはステップS2104でタスク3が終了したかどうかを判断し、終了していなければステップS2102に戻って上記処理を繰り返し、終了していれば図14に戻り、ステップS1605でYESとなるので、処理が終了する。
図18は、タスク1とタスク2の並行実行処理を説明するフローチャートである。まず、ステップS1801でタスク2を最小処理単位に設定する。次に、ステップS1802でタスク3を実行するかどうかを判断し、実行する場合にはステップS1806に進んでタスク1〜3を並行して実行する(図21)。タスク3を実行しない場合にはステップS1803でタスク1が終了したかどうかを判断し、タスク1が終了していればステップS1805に進んでタスク2を単独で実行する(図16)。タスク1が終了していなければステップS1804でタスク2が終了したかどうかを判断し、終了していなければステップS1802に戻って上記処理を繰り返し、終了していれば図15に戻る。
図19は、タスク1とタスク3の並行実行処理を説明するフローチャートである。まず、ステップS1901でタスク3を最小処理単位に設定する。次に、ステップS1902でタスク2を実行するかどうかを判断し、実行する場合にはステップS1906に進んでタスク1〜3を並行して実行する(図21)。タスク2を実行しない場合にはステップS1903でタスク1が終了したかどうかを判断し、タスク1が終了していればステップS1905に進んでタスク3を単独で実行する(図17)。タスク1が終了していなければステップS1904でタスク3が終了したかどうかを判断し、終了していなければステップS1902に戻って上記処理を繰り返し、終了していれば図15に戻る。
図20は、タスク2とタスク3の並行実行処理を説明するフローチャートである。まず、ステップS2201でタスク3を最小処理単位に設定する。次に、ステップS2202でタスク1を実行するかどうかを判断し、実行する場合にはステップS2205に進んでタスク1の処理単位を最大処理単位に設定した後、ステップS2207でタスク1〜3を並行して実行する(図21)。タスク1を実行しない場合にはステップS2203でタスク2が終了したかどうかを判断し、タスク2が終了していればステップS2206に進んでタスク3を単独で実行する(図17)。タスク2が終了していなければステップS2204でタスク3が終了したかどうかを判断し、終了していなければステップS2202に戻って上記処理を繰り返し、終了していれば図16に戻る。
図21は、タスク1〜3の並行実行処理を説明するフローチャートである。まず、ステップS2301で最小処理単位をタスク2とタスク3の優先度比で分割した分割処理単位Aと分割処理単位Bを計算し、決定する。
最小処理単位=分割処理単位A+分割処理単位B
分割処理単位A:分割処理単位B=タスク2の優先度:タスク3の優先度
次にステップS2302でタスク2の処理単位を分割処理単位Aに設定し、同様にステップS2303でタスク3の処理単位を分割処理単位Bに設定する。
ステップS2304でタスク1が終了したかどうかを判断し、終了していればステップS2307でタスク2に最大処理単位を設定した後、ステップS2309に進んでタスク2とタスク3を並行して実行する(図20)。タスク1が終了していなければステップS2305でタスク2が終了したかどうかを判断し、終了していれば、ステップS2308に進んでタスク1とタスク3を並行して実行する(図19)。タスク2が終了していなければステップS2306でタスク3が終了したかどうかを判断し、終了していなければステップS2304に戻り、終了していればステップS2310に進んでタスク1とタスク2を並行して実行する(図18)。
このように処理単位を変更することで、タスクが2つ以上実行されているときには優先順位の低いタスクの処理単位を少なくし、優先順位の高いタスクをより高速に処理することができると共に、タスクが1つだけ実行されているときには優先順位に関わらず処理単位を大きくすることで、実行中のタスクを高速に処理することができる。
次に、上記制御の一例として、記録媒体200に非画像データの書き込みを行いながら、撮影から記録媒体200への画像データ記録までの一連のシーケンスが行われている時に、さらに同じ記録媒体200から画像データを読み込み、画像表示部28に表示する場合のシーケンスを図22に示す。
まず、T1で制御タスクは非画像データ書き込みタスクに記録媒体200へのデータ書き込みを指示する。このとき、非画像データ書き込み処理単位は、タスク3単独実行処理で最大処理単位に設定されている(図17のステップS2101)。次に撮影が行われると、画像データ書き込みタスクに記録媒体200への書き込みを指示する。このとき、画像データ書き込みタスクを非画像データ書き込みタスクが並行して実行することになるので(図17のステップS2103でYESの状態)、画像データ書き込みタスクに優先的に記録媒体200を専有させるためにT2で画像データ書き込み処理単位は最大処理単位に設定され(図17のステップS2106)、次に画像データ書き込み処理と非画像データ書き込み処理の並行実行処理に移り(図20)、T3で非画像データ書き込み処理単位を最小処理単位に変更する(図20のステップS2201)。
次に、モードダイアル60により再生モードが指示されると(図20のステップS2202でYESの状態)、T4で画像データ読み込みタスクに読み込みの指示を行う。このとき、画像データ書き込みタスクと非画像データ書き込みタスクと画像データ読み込みタスクとを並行して実行することになるので、読み込みタスクに優先的に記録媒体200を専有させるため、画像データ読み込み処理単位は最大処理単位に設定される(図20のステップS2205)。その後、処理は図21に移り、ステップS2301で最小処理単位を画像データ書き込みタスクと非画像データ書き込みタスクのプライオリティ比で分割した値を計算し、T5、T6で、画像データ書き込みタスクおよび非画像データ書き込みタスクの処理単位を分割処理単位Aと分割処理単位Bにそれぞれ設定する(図21のステップS2302及びS2303)。このように非画像データ書き込み処理単位、画像データ書き込み処理単位、画像データ読み込み処理単位をそれぞれ制御することにより、最も優先順位の高い画像データ読み込みタスクが一度に読み込むサイズが最大となるので、長い時間記録媒体200を専有し、読み込みを行うが、画像データ書き込みタスク、非画像データ書き込みタスクのサイズは最小以下のサイズであるために短い時間だけ記録媒体200を専有し、書き込みを行うことになる。
すべての画像データ読み込み処理が終了したら(図21のステップS2304でYESの状態)、制御タスクはT7で画像データ書き込みタスクの処理単位を最大処理単位に設定してから(図21のステップS2307)、画像データ書き込みタスクと非画像データ書き込みタスクの並行実行処理に移り(図20)、T8で非画像データ書き込み処理単位を最小処理単位に設定する(図20のステップS2201)。これにより画像データ書き込みタスクは一度に書き込むサイズが最大なので長い時間記録媒体200を専有し、非画像データ書き込みタスクのサイズは最小サイズであるために短い時間だけ記録媒体200を専有し、書き込みを行うことになる。
すべての画像データ書き込み処理が終了したら(図20のステップS2203でYESの状態)、非画像データ書き込みタスクの単独実行処理に移行し(図17)、T9で制御タスクは非画像データ書き込みタスクの処理単位を最大処理単位に設定し(図17のステップS2101)、データ書き込みタスクが長い時間記録媒体200を専有し、より早く書き込みを行えるようにする。
以上説明したように、本第2の実施形態によれば、画像データ書き込みタスクと非画像データ書き込みタスクと画像データ読み込みタスクとを並行して行う場合に、優先順位がより低い非画像データ書き込みタスク、画像データ書き込みタスクの処理単位を制御タスクが小さく設定することにより、書き込みタスクが記録媒体を専有し、書き込みを行う一回の時間を短くすることができ、優先的に処理したい画像データ読み込みタスクがより長い時間記録媒体を専有し、読み込みを行うことができる。また、優先順位の高い画像データ読み込みタスクが動いていない場合には、画像データ書き込みタスクの処理単位を最大、非画像データ書き込みタスクの処理単位を最小に切り替えることで、タスクの効率をあげることができる。さらに優先順位の高い画像データ読み込みタスクと画像データ書き込みタスクが動いていない場合には、非画像データ書き込みタスクの処理単位を最大に切り替えることでタスクの効率をあげることができる。
なお、最大3つのタスクを並行処理する場合について説明してきたが、タスクが3つ以上ある場合でも、同様の処理により効率よく優先順位に基づいてタスクを実行することが可能となる。
また、画像データ書き込みタスク、非画像データ書き込みタスク、及び画像データ読み込みタスクの優先順位も、上述した例に限るものではなく、使い勝手が良いように適宜変更しても良いことは言うまでもない。
<他の実施形態>
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。ここでプログラムコードを記憶する記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、ROM、RAM、磁気テープ、不揮発性のメモリカード、CD−ROM、CD−R、DVD、光ディスク、光磁気ディスク、MOなどが考えられる。また、LAN(ローカル・エリア・ネットワーク)やWAN(ワイド・エリア・ネットワーク)などのコンピュータネットワークを、プログラムコードを供給するために用いることができる。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した図3〜図7に示すフローチャートに対応するプログラムコード、または図3、図4、及び図10〜図21に示すフローチャートに対応するプログラムコードが格納されることになる。

Claims (14)

  1. 被写体を撮影して電気的な画像データを取得する撮像手段と、
    外部記録媒体に対して、前記画像データを含むデータの入出力を行う入出力手段と、
    前記入出力手段を専有制御する、予め優先順位が決められた複数のタスクを、データ量が多い第1処理単位と、当該第1処理単位よりもデータ量が少ない第2処理単位のいずれかである前記データの一処理単位毎に前記複数のタスク間でタスクを切り替える機会を与えて順次実行する制御手段とを有し、
    前記制御手段は、前記複数のタスクの内、前記撮像手段により取得した1枚の画像データを前記外部記録媒体に出力する出力タスクを前記第1処理単位で実行中に前記外部記録媒体に記録された1枚の画像データを表示手段に表示させるために読み込む入力タスクの実行が指示された場合に、前記出力タスクと前記入力タスクの内、優先順位が高いタスクの処理単位を前記第1処理単位に設定し、優先順位が低いタスクの処理単位を前記第2処理単位に設定し、前記撮像手段により取得した1枚の画像データ及び前記外部記録媒体に記録された1枚の画像データのそれぞれを設定された前記第1処理単位及び前記第2処理単位のいずれか一方のデータ量に分割して実行することにより前記外部記録媒体への1枚の画像データの記録と前記表示手段への1枚の画像データの表示を並列に行うことを特徴とする画像撮影再生装置。
  2. 優先順位が高いタスクを前記第1処理単位で実行中に、前後する第1処理単位間において前記優先順位が高いタスクが前記入出力手段を専有していない場合には、前記優先順位が低いタスクを前記第2処理単位で実行することを特徴とする請求項1に記載の画像撮影再生装置。
  3. 前記出力タスク及び前記入力タスクを実行中に、優先順位が高いタスクが終了し、且つ、優先順位の低いタスクが終了していない場合には、前記制御手段は、前記優先順位が低いタスクの処理単位を前記第1処理単位に変更することを特徴とする請求項1または2に記載の画像撮影再生装置。
  4. 前記制御手段は、前記複数のタスクのいずれかが単独で実行されているときには前記第1処理単位でタスクを実行することを特徴とする請求項1乃至3のいずれか1項に記載の画像撮影再生装置。
  5. 前記優先順位が高いタスクは前記入力タスクであって、前記優先順位が低いタスクは前記出力タスクであることを特徴とする請求項1に記載の画像撮影再生装置。
  6. 前記撮像手段により取得した画像データを一時記憶すると共に、前記外部記録媒体から読み出された画像データを一時記憶する内部記憶媒体を更に有し、
    前記制御手段は、前記内部記憶媒体の空き容量が所定容量より大きい場合に、前記入力タスクの優先順位を前記出力タスクよりも高くすることを特徴とする請求項1に記載の画像撮影再生装置。
  7. 前記外部記録媒体へのアクセス速度を判断する判断手段を更に有し、
    前記制御手段は、前記アクセス速度が早い程、前記第1処理単位のデータ量がより多くなるように、前記第1処理単位を設定することを特徴とすることを特徴とする請求項1乃至6のいずれか1項に記載の画像撮影再生装置。
  8. 画像データ以外の非画像データを生成する生成手段を更に有し、
    前記画像データを含むデータは前記生成手段により生成された非画像データを含み、前記制御手段は、前記非画像データの書き込みタスクよりも前記画像データの読み込みタスクの優先順位を高く設定することを特徴とする請求項1に記載の画像撮影再生装置。
  9. 前記外部記録媒体へのアクセス速度を取得し、取得したアクセス速度に基づいて所定時間内に終了することができる複数のデータ量を複数の処理単位として取得する処理単位取得手段を更に有することを特徴とする請求項1に記載の画像撮影再生装置。
  10. 前記制御手段は、複数のタスクが実行されている間に、少なくとも1つのタスクの実行が終了した場合には、終了していないタスクの内、優先順位が最も高いタスクに前記最も多いデータ量を一処理単位として設定すると共に、より優先順位が低いタスクに優先順位が高いタスクよりも少ないデータ量を一処理単位として設定し直すことを特徴とする請求項1、8、9のいずれか1項に記載の画像撮影再生装置。
  11. 前記複数のタスクは、前記生成手段により生成された非画像データを前記外部記録媒体に出力する非画像出力タスクを含むことを特徴とする請求項8に記載の画像撮影再生装置。
  12. 被写体を撮影して電気的な画像データを取得する撮像手段と、外部記録媒体に対して、前記画像データを含むデータの入出力を行う入出力手段と、前記入出力手段を専有制御する、予め優先順位が決められた複数のタスクを、データ量が多い第1処理単位と、当該第1処理単位よりもデータ量が少ない第2処理単位のいずれかである前記データの一処理単位毎に前記複数のタスク間でタスクを切り替える機会を与えて順次実行する制御手段とを有する画像撮影再生装置におけるデータ処理方法であって、
    前記複数のタスクの内、前記撮像手段により取得した1枚の画像データを前記外部記録媒体に出力する出力タスクを前記第1処理単位で実行中に前記外部記録媒体に記録された1枚の画像データを表示手段に表示させるために読み込む入力タスクの実行が指示された場合に、前記出力タスクと前記入力タスクの内、優先順位が高いタスクの処理単位を前記第1処理単位に設定し、優先順位が低いタスクの処理単位を前記第2処理単位に設定し、前記撮像手段により取得した1枚の画像データ及び前記外部記録媒体に記録された1枚の画像データのそれぞれを設定された前記第1処理単位及び前記第2処理単位のいずれか一方のデータ量に分割して実行することにより前記外部記録媒体への1枚の画像データの記録と前記表示手段への1枚の画像データの表示を並列に行うステップを有することを特徴とするデータ処理方法。
  13. 情報処理装置に、請求項12に記載のデータ処理方法の各工程を実行させるためのプログラム。
  14. 請求項13に記載のプログラムを格納したことを特徴とする情報処理装置が読み取り可能な記憶媒体。
JP2010184326A 2004-08-18 2010-08-19 画像撮影再生装置及びデータ処理方法 Active JP4975152B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010184326A JP4975152B2 (ja) 2004-08-18 2010-08-19 画像撮影再生装置及びデータ処理方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004238628 2004-08-18
JP2004238628 2004-08-18
JP2010184326A JP4975152B2 (ja) 2004-08-18 2010-08-19 画像撮影再生装置及びデータ処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2005141831A Division JP4590304B2 (ja) 2004-08-18 2005-05-13 画像撮影再生装置及びデータ処理方法

Publications (2)

Publication Number Publication Date
JP2010259122A true JP2010259122A (ja) 2010-11-11
JP4975152B2 JP4975152B2 (ja) 2012-07-11

Family

ID=36081032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010184326A Active JP4975152B2 (ja) 2004-08-18 2010-08-19 画像撮影再生装置及びデータ処理方法

Country Status (2)

Country Link
JP (1) JP4975152B2 (ja)
CN (1) CN100459681C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11570395B2 (en) 2020-04-15 2023-01-31 Canon Kabushiki Kaisha Recording and reproducing apparatus and method of controlling recording and reproducing apparatus

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049388A (ja) * 1996-08-02 1998-02-20 Fuji Xerox Co Ltd 入出力制御装置
JPH10283204A (ja) * 1997-04-04 1998-10-23 Konica Corp マルチタスク処理方法、マルチタスク処理装置、および、タスクを記録した記録媒体
JP2000209485A (ja) * 1998-10-08 2000-07-28 Canon Inc 電子機器、電子機器の駆動方法、撮像装置、方法及びコンピュ―タ読み取り可能な記憶媒体
JP2001202258A (ja) * 2000-01-20 2001-07-27 Yaskawa Electric Corp リアルタイム処理装置
JP2001238106A (ja) * 2000-02-22 2001-08-31 Minolta Co Ltd デジタルカメラおよび記録媒体
JP2003224768A (ja) * 2002-01-30 2003-08-08 Minolta Co Ltd デジタルカメラ
JP2004227530A (ja) * 2002-02-27 2004-08-12 Ricoh Co Ltd 画像形成装置、課金計数装置、画像形成方法、課金方法、画像形成プログラムおよび課金プログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04195577A (ja) * 1990-11-28 1992-07-15 Hitachi Ltd マルチプロセッサにおけるタスクスケジューリング方式
JPH0854956A (ja) * 1994-08-10 1996-02-27 Yamaha Corp 処理能力可変機能付きプロセッサ
CN100477735C (zh) * 1999-02-08 2009-04-08 三洋电机株式会社 移动图像记录装置与数码照相机
JP2002131811A (ja) * 2000-10-19 2002-05-09 Canon Inc カメラ
JP2003161992A (ja) * 2001-11-29 2003-06-06 Canon Inc モータ駆動制御装置及びカメラ

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049388A (ja) * 1996-08-02 1998-02-20 Fuji Xerox Co Ltd 入出力制御装置
JPH10283204A (ja) * 1997-04-04 1998-10-23 Konica Corp マルチタスク処理方法、マルチタスク処理装置、および、タスクを記録した記録媒体
JP2000209485A (ja) * 1998-10-08 2000-07-28 Canon Inc 電子機器、電子機器の駆動方法、撮像装置、方法及びコンピュ―タ読み取り可能な記憶媒体
JP2001202258A (ja) * 2000-01-20 2001-07-27 Yaskawa Electric Corp リアルタイム処理装置
JP2001238106A (ja) * 2000-02-22 2001-08-31 Minolta Co Ltd デジタルカメラおよび記録媒体
JP2003224768A (ja) * 2002-01-30 2003-08-08 Minolta Co Ltd デジタルカメラ
JP2004227530A (ja) * 2002-02-27 2004-08-12 Ricoh Co Ltd 画像形成装置、課金計数装置、画像形成方法、課金方法、画像形成プログラムおよび課金プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11570395B2 (en) 2020-04-15 2023-01-31 Canon Kabushiki Kaisha Recording and reproducing apparatus and method of controlling recording and reproducing apparatus

Also Published As

Publication number Publication date
CN100459681C (zh) 2009-02-04
CN1738401A (zh) 2006-02-22
JP4975152B2 (ja) 2012-07-11

Similar Documents

Publication Publication Date Title
JP4590304B2 (ja) 画像撮影再生装置及びデータ処理方法
JP2006229474A (ja) 撮像装置及びその制御方法
JP5411623B2 (ja) 画像処理装置及び方法
JP2011003994A (ja) 撮影装置及びその制御方法、画像処理装置およびその制御方法
JP2011077654A (ja) 撮像装置、その制御方法、及びプログラム
US7855734B2 (en) Image processing apparatus, control method thereof, program, and storage medium
JP5317547B2 (ja) 画像処理装置及び画像処理装置の制御方法
JP4975152B2 (ja) 画像撮影再生装置及びデータ処理方法
JP4612874B2 (ja) 撮像装置及びその制御方法
JP4757206B2 (ja) 画像処理装置、画像処理装置の制御方法、及びコンピュータプログラム
JP5836578B2 (ja) 撮像装置、撮像装置の制御方法及びプログラム
JP4810485B2 (ja) 画像処理装置、画像処理方法、及びコンピュータプログラム
JP2008053971A (ja) データ記録装置及びその制御方法
JP2006287588A (ja) 画像処理装置、画像処理方法、データファイル構造、コンピュータプログラム及び記憶媒体
JP4966680B2 (ja) 動画再生装置、動画再生方法及び撮影装置
JP2007221722A (ja) 画像処理装置及びその制御方法
JP4574426B2 (ja) データ処理装置装置およびデータ処理方法
JP2007124150A (ja) 画像処理装置、画像処理方法、画像データファイル処理装置、画像データファイル処理方法、コンピュータプログラム及び記憶媒体
JP6006567B2 (ja) 動画再生装置および動画再生方法
JP4766706B2 (ja) 画像処理装置及びその制御方法、プログラム、記憶媒体
JP7263017B2 (ja) 記録制御装置およびその制御方法
JP2012053915A (ja) デジタルカメラ及び画像処理方法
JP2006157679A (ja) 撮像装置及びその制御方法
JP2008046675A (ja) 画像処理装置及び画像処理方法
JP2007036450A (ja) 画像再生装置、撮像装置、及び制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100901

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120406

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120410

R151 Written notification of patent or utility model registration

Ref document number: 4975152

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150420

Year of fee payment: 3