(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-01
(45)【発行日】2024-03-11
(54)【発明の名称】記録再生装置、及び、記録再生装置の制御方法
(51)【国際特許分類】
G11B 20/10 20060101AFI20240304BHJP
H04N 5/77 20060101ALI20240304BHJP
G11B 27/00 20060101ALI20240304BHJP
H04N 23/667 20230101ALI20240304BHJP
【FI】
G11B20/10 301Z
H04N5/77 200
G11B27/00 A
G11B27/00 E
H04N23/667
(21)【出願番号】P 2020072881
(22)【出願日】2020-04-15
【審査請求日】2023-03-24
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】勝又 浩平
【審査官】中野 和彦
(56)【参考文献】
【文献】特開2006-087069(JP,A)
【文献】特開2014-175954(JP,A)
【文献】特開2000-047826(JP,A)
【文献】特開2008-210332(JP,A)
【文献】特開平09-330566(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11B 20/10
H04N 5/77
G11B 27/00
H04N 23/667
(57)【特許請求の範囲】
【請求項1】
記録媒体にアクセス可能な記録再生装置であって、
前記記録媒体に第1の単位でデータの書き込みを行う第1の書き込み手段と、
前記記録媒体に前記第1の単位よりも小さい第2の単位でデータの書き込みを行う第2の書き込み手段と、
前記記録媒体からデータの読み出しを行う読み出し手段と、
前記第1の書き込み手段によるデータの書き込み中に前記記録媒体からのデータの読み出しが指示された場合、前記第1の書き込み手段によるデータの書き込みを停止して、前記読み出し手段により前記記録媒体からデータを読み出し、前記記録媒体からのデータの読み出しが完了したことに応じて、前記第2の書き込み手段による前記第2の単位でのデータの書き込みを行うように制御する制御手段と、
を有することを特徴とする記録再生装置。
【請求項2】
前記制御手段は、前記第1の書き込み手段による前記第1の単位でのデータの書き込み中に前記記録媒体からのデータの読み出しが指示された場合、前記第1の書き込み手段によるデータの書き込みを停止して、前記読み出し手段により前記第1の単位よりも小さい単位で前記記録媒体からデータを読み出すように制御することを特徴とする請求項1に記載の記録再生装置。
【請求項3】
前記制御手段は、前記記録媒体からのデータの読み出しの完了後、所定期間は、前記第2の書き込み手段による前記第2の単位でのデータの書き込みを行うように制御し、前記所定期間経過後は前記第1の書き込み手段により前記第1の単位でのデータの書き込みを行うように制御することを特徴とする請求項1または2に記載の記録再生装置。
【請求項4】
前記制御手段は、前記第2の書き込み手段によるデータの書き込み中に前記記録媒体からのデータの読み出しが指示された場合、前記第2の書き込み手段によるデータの書き込みを停止して、前記読み出し手段により前記記録媒体からデータを読み出し、前記記録媒体からのデータの読み出しが完了したことに応じて、前記第2の書き込み手段による前記第2の単位でのデータの書き込みを再開するように制御することを特徴とする請求項1乃至3のいずれか1項に記載の記録再生装置。
【請求項5】
前記記録再生装置は、撮像部を有する撮像装置であって、
前記記録再生装置は、前記撮像部により撮影して得られた画像を前記記録媒体に書き込んで記録する撮影モードと、前記記録媒体に記録された画像を前記記録媒体から読み出して再生する再生モードとを有し、
ユーザの操作に応じて前記撮影モードと前記再生モードとを切り替える切り替え手段を有し、
前記切り替え手段は、前記撮影モードにおける画像の記録が完了する前に、前記再生モードに切り替え可能である、
ことを特徴とする請求項1乃至4のいずれか1項に記載の記録再生装置。
【請求項6】
記録媒体にアクセス可能な記録再生装置の制御方法であって、
前記記録媒体に第1の単位でデータの書き込みを行う第1の書き込み工程と、
前記記録媒体に前記第1の単位よりも小さい第2の単位でデータの書き込みを行う第2の書き込み工程と、
前記記録媒体からデータの読み出しを行う読み出し工程と、を有し、
前記第1の書き込み工程によるデータの書き込み中に前記記録媒体からのデータの読み出しが指示された場合、前記第1の書き込み工程によるデータの書き込みを停止して、前記読み出し工程により前記記録媒体からデータを読み出し、前記記録媒体からのデータの読み出しが完了したことに応じて、前記第2の書き込み工程による前記第2の単位でのデータの書き込みを行う、
ことを特徴とする記録再生装置の制御方法。
【請求項7】
コンピュータを、請求項1乃至5のいずれか1項に記載の記録再生装置の各手段として機能させるためのプログラム。
【請求項8】
請求項6に記載の記録再生装置の制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像撮影再生装置及び画像撮影再生装置における画像データ及び非画像データの処理方法に関し、特に、共通の入出力インタフェースを介して媒体に画像データを入出力するマルチタスクを実行可能な画像撮影再生装置及び画像撮影再生装置における画像データ及び非画像データの処理方法に関する。
【背景技術】
【0002】
従来の一般的な画像撮影再生装置には、撮影した画像を記録し、また記録された画像を再生するため、媒体へのデータの書き込み、及び、媒体からのデータの読み込みを行う、いわゆる入出力装置が具備されている。それを制御するCPUは、RTOSを備え複数の処理を見かけ上同時に実行する、いわゆるマルチタスクで制御を行っている。このようにマルチタスクで制御を行っている時に、異なるタスクが共通の入出力装置にアクセスしようする場合、最も早く入出力装置にアクセスしたタスクが入出力装置を使用し、その処理が終了するまで専有する。後から入出力装置にアクセスしようとしたタスクは、先にアクセスしたタスクの入出力処理が終了し、入出力装置が空き状態になった後、入出力処理を行っていた。
【0003】
上記のような入出力装置へのアクセス方法では、緊急性の高いタスクが入出力装置へのアクセスを要求しても、先にアクセスしているタスクがある場合にはそのタスクによる入出力装置へのアクセスが終了するまで待たなければならない。そのため、ユーザが優先的に行いたい処理が待たされてしまうという問題があった。
【0004】
特許文献1においては、出力タスクを第1処理単位で実行中に入力タスクの実行が指示された場合に、出力タスクと入力タスクの内、優先順位が高いタスクの処理単位を第1処理単位に、優先順位が低いタスクの処理単位を第1の処理単位よりも小さい第2処理単位に設定することにより、処理の全体的な効率を上げることが記載されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1では、優先度の高いタスクについては大きい処理単位を割り当ていることにより全体的な効率化を行っているが、優先度の高いタスクと優先度の低いタスクとを交互に処理している。その結果、両方のタスクの処理完了までには時間がかかってしまう。また、特許文献1では、出力タスクを長い処理単位で実行中に、出力タスクよりも優先度が高い入力タスクの実行が指示された場合は、出力タスクの処理単位を短くし、入力タスクの処理単位を長くしている。しかし、入力タスクの実行が指示される前は、長い処理単位で出力タスクが実行されているため、長い出力単位の出力タスクの処理が完了するまで待たないと、入力タスクの処理を開始できない。本発明は上記問題点を鑑みてなされたものであり、記録媒体へのデータの書き込み中に記録媒体からのデータの読み出しが指示された場合に、データの読み出し速度を向上させると共に、読み出し完了後に再度読み出し指示があった際の応答性を向上させることが可能な記録再生装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
上述の課題を解決するため、本発明の記録再生装置は、記録媒体にアクセス可能な記録再生装置であって、記録媒体に第1の単位でデータの書き込みを行う第1の書き込み手段と、記録媒体に第1の単位よりも小さい第2の単位でデータの書き込みを行う第2の書き込み手段と、記録媒体からデータの読み出しを行う読み出し手段と、第1の書き込み手段によるデータの書き込み中に記録媒体からのデータの読み出しが指示された場合、第1の書き込み手段によるデータの書き込みを停止して、読み出し手段により記録媒体からデータを読み出し、記録媒体からのデータの読み出しが完了したことに応じて、第2の書き込み手段による第2の単位でのデータの書き込みを行うように制御する制御手段と、を有することを特徴とする。
【発明の効果】
【0008】
本発明によれば、記録媒体へのデータの書き込み中に記録媒体からのデータの読み出しが指示された場合に、データの読み出し速度を向上させると共に、読み出し完了後に再度読み出し指示があった際の応答性を向上させることが可能な記録再生装置を提供することができる。
【図面の簡単な説明】
【0009】
【
図3】書き込み処理、読み込み処理のタイミングチャート。
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0011】
[第1の実施形態]
<撮像装置の構成>
図1は、記録再生装置の一例である撮像装置100の構成を模式的に示す図である。
【0012】
図1において、撮像装置内部バス101に対して、レンズ部102、撮像部103、表示部104、操作部105、撮像装置温度検出部106、放熱ファン107、及びCPU108が接続されている。また、撮像装置内部バス101に対して、画像処理部109、第1のメディア制御部110、第2のメディア制御部111、RAM112、不揮発性メモリ113、及び電源部114が接続されている。撮像装置内部バス101に接続されている各部は、撮像装置内部バス101を介して互いにデータのやり取りを行うことができるように構成されている。
【0013】
CPU108は、例えば不揮発性メモリ113に格納されるプログラムに従い、RAM112をワークメモリとして用いて、撮像装置100の各部を制御する。
【0014】
不揮発性メモリ113には、画像データや音声データ、その他のデータ、CPU108が動作するための各種プログラムなどが格納される。不揮発性メモリ113は例えばハードディスク(HD)やROMなどで構成される。
【0015】
画像処理部109は、CPU108の制御に基づいて、不揮発性メモリ113やRAM112に格納された画像データや、レンズ部102を通して入射した被写体光学像を撮像部103で撮像した画像データなどに対して、各種画像処理を施す。画像処理部109が行う画像処理には、A/D変換処理、D/A変換処理、画像データのエンコード処理、圧縮処理、デコード処理、拡大/縮小処理(リサイズ)、ノイズ低減処理、色変換処理などが含まれる。画像処理部109は特定の画像処理を施すための専用の回路ブロックで構成してもよい。また、画像処理の種別によっては画像処理部109を用いずにCPU108がプログラムに従って画像処理を施すことも可能である。
【0016】
表示部104は、CPU108の制御に基づいて、画像やGUI(GraphicalUser Interface)を構成するGUI画面などを表示する。CPU108は、プログラムに従い表示制御信号を生成し、表示部104に表示するための映像信号を生成して表示部104に出力するように撮像装置100の各部を制御する。表示部104は出力された映像信号に基づいて映像を表示する。なお、撮像装置100自体が備える構成としては表示部104に表示させるための映像信号を出力するためのインタフェースまでとし、表示部104は外付けのモニタ(テレビなど)で構成してもよい。
【0017】
操作部105は、タッチパネル、電源ボタン、シャッターボタン、モード切替ダイヤル、十字キー、操作ダイヤル、メニューボタンなどを含む、ユーザ操作を受け付けるための入力デバイスである。なお、タッチパネルは、表示部104に重ね合わせて平面的に構成され、接触された位置に応じた座標情報が出力されるように構成された入力デバイスである。
【0018】
電源部114は、バッテリー115とACアダプタ116が装着可能な電源入力端子を有し、コンパレータ、ロードスイッチなどで構成された電源選択回路で、電圧の高い側又はACアダプタ116を優先して電源を選択する。
【0019】
また、電源部114は、撮像装置100とバッテリー115とを接続するバッテリーインタフェースを含む。バッテリーインタフェースは、電源、グラウンドだけでなく、バッテリー115内部のマイコン(不図示)との通信端子、バッテリー115内部の温度検出部(不図示)を含む。更に、電源部114は、撮像装置100とACアダプタ116とを接続するACアダプタインタフェースを含む。ACアダプタインタフェースは、電源、グラウンド、ACアダプタ116を検出する検出部を含む。
【0020】
また、電源部114は、撮像装置内部バス101を介してCPU108にバッテリー115及びACアダプタ116の情報を通知することができる。また、電源部114は、選択された電源から不図示のDC/DCコンバーターやシリーズレギュレータを用いて電圧をレギュレートし、撮像装置100を構成している各部へ電力を供給する。また、電源部114は、装着されたバッテリー115及びACアダプタ116それぞれの電圧をA/D変換し、その値をCPU108に通知する。
【0021】
撮像部103は、CCDセンサやCMOSセンサなどの撮像素子である。レンズ部102は、ズームレンズ、フォーカスレンズ、シャッター、絞り、測距部、A/D変換器などにより構成されるレンズユニットである。
【0022】
撮像部103は、静止画及び動画を撮像可能である。撮像された画像の画像データは画像処理部109に送信され、各種処理を施された後、静止画ファイル又は動画ファイルとして第1の記録メディア150又は第2の記録メディア160に記録される。
【0023】
放熱ファン107は、冷却用のファンである、撮像装置100内部の温度は撮像装置温度検出部106によって検出され、CPU108に通知される。CPU108はその温度によって放熱ファン107のファンの回転数を制御し、撮像装置100内部の温度を調整する。
【0024】
撮像装置100は、第1のメディア制御部110及び第1のメディアインタフェース155を介して、第1の記録メディア150にアクセス可能であり、画像処理部109によって画像処理、エンコード処理、圧縮処理が施された静止画・動画のデータを、第1の記録メディア150に記録することができる。また、撮像装置100は、第1のメディア制御部110及び第1のメディアインタフェース155を介して、第1の記録メディア150に記録された静止画・動画のデータを読み出すことができる。撮像装置100は、読み出されたデータを画像処理部109によってデコード処理することにより得られる映像を表示部104に表示する。
【0025】
第1の記録メディア150は、撮像装置100に対して着脱可能な媒体であり、本実施形態においては、CFexpress規格に準拠したメモリカードとする。
【0026】
第1のメディア制御部110は、第1のメディアインタフェース155を介して、第1のメモリコントローラ152と制御コマンドの通信も行うことができる。制御コマンドには、データの記録及び再生のためのコマンドの他に、ベンダー情報、温度情報、及び書き込み回数情報等の取得のためのコマンドなどがある。
【0027】
第1の記録メディア150は、第1のメモリコントローラ152、第1のNAND型メモリ部153、第1のメディア温度検出部154を含み、それぞれが第1の記録メディア内部バス151で接続されている。
【0028】
第1のメモリコントローラ152は、第1のメディア制御部110から転送される静止画・動画のデータを第1のNAND型メモリ部153へ記録する。この際、第1のメモリコントローラ152は、第1のNAND型メモリ部153のキャッシュ領域への書き込みの制御、及び主たるデータ領域へのデータの移動の制御を実行する。また、第1のメモリコントローラ152は、第1のNAND型メモリ部153内の断片化されたデータを移動・整理して空き領域を確保するガベージコレクションを行うことができる。
【0029】
また、第1のメモリコントローラ152は、第1のメディア温度検出部154によって検出された第1のNAND型メモリ部153の温度を取得する。第1のメモリコントローラ152は、取得した温度に応じて、第1のNAND型メモリ部153へのクロック周波数の制御、アクセス禁止・許可の制御、及びアクセス速度の制御を行う。
【0030】
第2の記録メディア160は、第2のメディア制御部111及び第2のメディアインタフェース165を介して撮像装置100と接続され、第1の記録メディア150と同様の構成及び機能を持つ。第2のメモリコントローラ162、第2のNAND型メモリ部163、及び第2のメディア温度検出部164は、それぞれ、第1のメモリコントローラ152、第1のNAND型メモリ部153、及び第1のメディア温度検出部154に対応する。第2のメモリコントローラ162、第2のNAND型メモリ部163、及び第2のメディア温度検出部164は、第2の記録メディア内部バス161で接続されている。
【0031】
<静止画撮影処理>
ユーザ操作によりモード切替ダイヤルで静止画撮影モードが選択されると、撮像装置は、静止画撮影モードで動作する。静止画撮影モードでは、CPU108は、シャッターボタンへの操作に応じて、撮像部103により静止画を撮像し、撮像された静止画の画像データを画像処理部109に送信して各種処理を施すように制御する。その後、CPU108は、画像処理を施された画像データから静止画ファイルを生成し、静止画ファイルを、第1のメディア制御部110または第2のメディア制御部111を介して、第1の記録メディア150又は第2の記録メディア160に記録する記録制御を行う。
【0032】
<動画撮影処理>
ユーザ操作によりモード切替ダイヤルで動画撮影モードが選択されると、撮像装置は、動画撮影モードで動作する。動画撮影モードでは、CPU108は、シャッターボタンまたは動画撮影ボタンへの操作に応じて、撮像部103により動画の撮像を開始し、再度し、シャッターボタンまたは動画撮影ボタンが操作されるまで動画を撮影する。CPU108は、撮像された動画の画像データを画像処理部109に送信して各種処理を施し、画像処理を施された画像データから動画ファイルを生成して、メディア制御部(110又は111)を介して、記録メディア(150又は160)に記録する記録制御を行う。
【0033】
また、ユーザ操作により再生モードボタンが操作された場合、撮像装置は、再生モードとなる。再生モードにおいては、CPU108は、第1のメディア制御部110、第2のメディア制御部111を介して、第1の記録メディア150、第2の記録メディア160に記録されている画像ファイル(静止画ファイル、動画ファイル)を読み出して、表示部104に表示する再生制御を行う。再生モードにおいて、CPU108は、静止画ファイルについては、静止画ファイルの画像データを表示部104に表示する。動画ファイルについては、まず、代表画像、又は、動画の1フレーム目のフレーム画像を読み出して表示部104に表示し、その後、ユーザにより、動画再生開始の指示が入力されたことに応じて、動画ファイルの複数のフレーム画像を連続的に再生して表示する動画再生を行う。
【0034】
<撮像装置100の処理フロー>
図4のフローチャートを参照して、撮像装置100の基本的な処理フローを説明する。このフローチャートの処理は、操作部105の電源ボタンが操作れて撮像装置100の電源がONになったことに応じて、CPU108が不揮発性メモリ113からプログラムを読み出し、読み出したプログラムに基づいて、各種演算や各部を制御することにより実行される。なお、操作部105の電源ボタンが操作されて電源がOFFになったことに応じて、本フローは終了する。なお、後述の説明においては、第1の記録メディア150に画像を記録するものとするが、ユーザの設定に応じて第2の記録メディア160に記録するようにしてもよい。
【0035】
まず、S401において、CPU108は、撮像装置100の動作モードが、撮影モードであるか再生モードであるかを判定する。撮影モードの場合はS402に進み、再生モードの場合はS415に進む。
【0036】
撮影モードの場合、S402において、CPU108は、ライブビュー表示を開始する。ライブビュー表示では、CPU108は、撮像部103により撮影して画像データを取得し、画像処理部109において取得した画像データから表示用画像データを生成して表示部104に逐次表示することによりライブビュー表示を行う。
【0037】
ライブビュー表示中は、CPU108は、ユーザからの操作部105への操作を監視する。S403において、CPU108は、操作部105のモード切替ダイヤルへの操作により再生モードへの切り替え操作が行われたかを判定し、再生モードへの切り替え操作があった場合はS415に進む。S404では、CPU108は、操作部105のシャッターボタンへの操作や動画撮影ボタンへの操作などの撮影指示の操作があったかを判定し、撮影指示があった場合はS405に進み、撮影指示がない場合は、S403に戻り操作の監視を継続する。
【0038】
撮影指示があった場合、S405において、CPU108は、画像の撮影を実行する。ここでは、CPUは、設定されている撮影条件に基づいて、撮像部103により画像の撮影を行い、画像データを取得する。
【0039】
そして、S406において、S405の撮影により取得した画像データに対して、画像処理部109において現像処理や画像補正処理などの各種画像処理を施し、画像処理が施された画像データを、RAM112のキャッシュ領域に一時記憶する。このキャッシュ領域は、所定のサイズを有しており、記録メディア150に記録する前のデータを一時記憶する。なお、キャッシュ領域はリングバッファとして使用する。新たに記憶する画像データは、前の画像データの次の領域に記憶し、記録メディア150に記録が完了した画像データが記憶されている領域については上書きして使用していく。そのため、上書きされるまでは、画像データがキャッシュ領域に保持された状態となる。
【0040】
次に、S407で、CPU108は、RAM112のキャッシュ領域に記憶された画像データを読み出し、第1の記録メディア150に記録する書き込み処理を開始する。なお、書き込み処理の前に、CPU108は、キャッシュ領域から読み出した画像データに対して、画像処理部109で撮影モードや記録形式に応じた圧縮符号化処理(エンコード)を行い、圧縮した画像データを画像ファイルとして第1の記録メディア150に記録する。書き込み処理については、後に
図2を参照して詳しく説明する。この書き込み処理は、撮影が完了し、キャッシュ領域に一時記憶した画像データをすべて記録メディアに記録するまで実行する。なお、静止画撮影の場合は、画像データに静止画用の圧縮処理を施して画像データごとに1つの静止画像ファイルを記録する。動画撮影の場合は、画像データに対してそれぞれ動画用の圧縮処理を施して撮影終了までの画像データを1つの動画像ファイルとして記録する。
【0041】
次に、S408において、CPU108は、撮影終了であるかを判定する。CPU108は、静止画撮影時は、シャッターボタンへの操作が継続されている場合は撮影終了ではなく継続と判断し、シャッターボタンへの操作がなくなった場合は、撮影終了とする。動画撮影時は、動画撮影ボタンが再度操作された場合に、撮影終了と判定する。また、キャッシュ領域内のデータを記憶可能な空き領域(記録メディアに記録済みの画像データが記憶されている領域も空き領域とする)が、所定サイズ(例えば、次の画像データを記憶するのに必要なサイズ)以下の場合には、撮影終了と判断する。S408で撮影終了と判定された場合は、S409に進む。撮影終了と判定されず、撮影を継続する場合は、S405に進み、撮影動作を継続し、次の画像データの撮影処理に進む。つまり、撮影終了と判定されるまで、S405~S408の処理を繰り返す。ただし、S407の処理については、最初の画像データの撮影時に書き込み処理を開始しているため、2枚目以降の画像データの撮影からはこの処理はスキップする。
【0042】
なお、S406における画像処理は時間を要する場合もあるため、画像処理前の画像データをキャッシュ領域とは別のRAM112内のバッファ領域に保持しておき、S406の画像処理や、画像処理後の画像データの一時記憶の処理、S407で開始する書き込み処理は、S405における画像の撮影と並行して実行するとよい。
【0043】
撮影終了と判定された場合、S409において、CPU108は、S402と同様の処理を行い、ライブビューの表示を再開する。なお、S405からS407の撮影、記録の処理を行っているときも、ライブビューの表示を行ってもよい。また、静止画撮影の場合は、画像処理を行った後の画像に基づいて、撮影した画像を確認するためのレビュー表示を行うようにしてもよい。
【0044】
また、撮影終了と判断されている場合でも、画像データに対する画像処理や画像データの書き込み処理は、全ての画像データの処理が完了するまで継続される。
【0045】
次に、S410において、CPU108は、キャッシュ領域に記憶した全ての画像データについて、書き込み処理が終了したかを判定する。書き込み処理が終了した場合は、撮影、記録の処理がすべて完了したため、S403に戻る。なお、この時、書き込み処理が終了しているため、キャッシュ領域に一時記憶していた画像データの消去処理を行う。そして、書き込み処理が完了していない場合は、S411に進む。
【0046】
S411において、CPU108は、操作部105のモード切替ダイヤルへの操作により再生モードへの切り替え操作が行われたかを判定する。再生モードへの切り替え操作がない場合は、S410に戻り、書き込み処理が終了するまでS410、S411の判定を繰り返す。再生モードへの切り替え操作があった場合はS412に進む。
【0047】
S412では、CPU108は、電源部114からバッテリー115の電池残量の情報を取得し、電池残量が所定以上であるかを判定する。電池残量が所定以上でなく、電離残量が少ない(ほとんど残量がない)場合は、再生モードに移行せずにS410に戻る。電離残量が少ないときに再生モードに移行すると、キャッシュ領域に記憶している画像データの記録メディアの記録ができなくなる可能性があるため、再生モードには移行しないようにする。もしくは、書き込み処理が完了したことに応じて、S413又はS415に進み、再生モードに移行するようにしてもよい。
【0048】
書き込み処理が完了する前に再生モードに移行する場合は、S413において、CPU108は、キャッシュ領域に画像データが一時記憶されているかを判断する。通常であれば、キャッシュ領域に画像データが記憶されているが、1枚も画像処理が完了しておらず、キャッシュ領域に画像データが保持されていない場合はS415に進む。
【0049】
キャッシュ領域に画像データが保持されている場合は、S414において、CPU108は、キャッシュ領域に記憶されている画像データのうち、最新の画像データを読み出し、表示部104に表示する。
【0050】
S415では、CPU108は、第1のメディア制御部110に最新画像ファイルの読み込み依頼を行い、第1のメディア制御部110を介して第1の記録メディア150から、最新の画像ファイルを読み出す。ここで、最新の画像ファイル全体を読み出すようにしてもよいし、画像ファイル中の表示用画像データのみを読み出すようにしてもよい。
【0051】
次に、S416において、CPU108は、S415の読み込み依頼により読み出した画像ファイルの画像データを画像処理部109において複号伸長処理(デコード処理)を行い、表示部104に表示する。
【0052】
次に、S417において、CPU108は、操作部105のモード切替ダイヤルへの操作により撮影モードへの切り替え操作が行われたかを判定し、撮影モードへの切り替え操作があった場合はS402に進む。撮影モードへの切り替え操作がない場合は、S418に進む。
【0053】
S418において、CPU108は、操作部105の左右キー等が操作され、画像の切り替え指示が入力されたか否かを判定する。画像切替指示が入力された場合はS419に進み、画像切替指示がない場合はS417に戻り、ユーザの操作の監視を行う。
【0054】
S419において、CPU108は、次に表示すべき画像の画像ファイルを第1の記録メディアから読み込むための読み込み依頼を第1のメディア制御部110に行う。読み込み依頼に応じて、第1のメディア制御部110は、第1の記録メディア150から、画像ファイルを読み込む。
【0055】
そして、S420において、CPU108は、S419の読み込み依頼により第1の記録メディア150から読み出した画像ファイルの画像データを画像処理部109において複号伸長処理(デコード処理)を行い、表示部104に表示する。その後、S417に戻る。
【0056】
なお、書き込み処理が完了する前にS418において画像切替指示があり、再生対象(表示対象)の画像データがキャッシュ領域に保持されている場合は、第1の記録メディアからの画像データ(画像ファイル)の読み込み依頼を行わずに、キャッシュ領域から画像データを読み込んで、画像を表示部104に表示するにしてもよい。
【0057】
このように、本実施形態の撮像装置100においては、撮影モードにおける、静止画撮影(特に静止画連写撮影)、動画撮影で撮影した画像の記録メディアへの記録処理(書き込み処理)が終わる前に、再生ボタンが押されると、再生モードに移行可能である。従来は、静止画または動画を撮影して記録処理を行っている最中に再生ボタンを押された場合、Busy表示等を表示させ、記録処理が完了するまで、又は、撮影した画像の画像処理(特に現像処理)が完了するまでは再生モードに移行できず、ユーザを待たせていた。これは画像のエンコード処理とデコード処理を並列で実行することができなかったので、エンコード処理を行っている最中はデコード処理を待たせる必要があった為である。
【0058】
それに対し、本実施形態の撮像装置100においては、画像データのエンコード処理とデコード処理を並列で実行することが可能であり、Busy表示の表示時間を最小限にすることができ、撮影モードにおける画像データの記録(書き込み処理)中に再生モードに移行できる。つまり、書き込み処理が完了する前にS415において画像ファイルの読み込みを行う場合や、書き込み処理が完了する前にS418において画像切替指示があり、S419において画像ファイルの読み込みを行う場合などには、第1の記録メディアへの書き込み処理と第1の記録メディアからの読み込み処理の両方が実行されることになる。
【0059】
1つの記録メディアに対して、撮影モードの記録処理における書き込み制御と再生モードの画像再生処理における読み込み制御がバッティングしてしまう。記録メディアに対する書き込み又は読み込み処理の命令を行うと、一旦発行した命令をキャンセルすることができない。
【0060】
この読み込み処理と書き込み処理がバッティングした際の制御方法として画像単位でスイッチングする手法や書き込み/読み込み単位でスイッチングする手法が存在する。しかし、この単位が大きいと、次の処理の命令が可能となるまでに時間を要することとなるため、応答性が低下してしまう。本実施形態の撮像装置100では、以下のような書き込み処理を行うことにより、応答性を向上させている。
【0061】
<書き込み処理の詳細フロー>
図2のフローチャートを用いてS407で実行開始される書き込み処理についての詳細な処理のフローを説明する。この処理は、CPU108が不揮発性メモリ113からプログラムを読み出し、読み出したプログラムに基づいて、各種演算や各部を制御することにより実行される。
【0062】
書き込み処理を開始すると、まずはS201で、CPU108は、第1の記録メディア150に対するデータ書き込みの単位として、長い単位での書き込み設定を行う。
【0063】
ここでは、書き込み単位として、書き込みサイズを8MBに設定する。一旦記録メディアに対して書き込みの命令を発行した場合、それを後からキャンセルすることはできない。そのため、短い単位でメディアに対して書き込みや読み込み等の命令を行うことで、絶対時間を短縮し、次の命令までに待機する時間を短くして応答性を向上させることができる。ただし、短い単位に設定すると次の命令までの待機時間が短くなるが、メディアへのアクセス効率が低下してしまう。読み込み/書き込み単位を長い単位に設定することによりメディアに対して効率的にアクセスが可能となり、高速な読み込み/書き込み速度を実現可能となる。
【0064】
書き込み処理を開始した時点では、読み込み依頼が来ていないので、長い単位(本実施形多では8MB)での書き込み単位を設定し、高速な書き込みが行われるようにしている。
【0065】
次にS202において、第1のメディア制御部110は、S201で設定した単位で第1の記録メディア150へのデータの書き込みの処理を実行する。これは、例えば記録メディアがSDカードの場合は、CMD24やCMD25を発行し、CFexpressカードの場合は、NVMeに則ったオペレーションコマンドを発行する。このように、書き込み対象のデータの書き込み命令を第1の記録メディア150に発行し、S201で設定した書き込み単位でデータの書き込み処理を実行する。
【0066】
次にS203にて、CPU108は、記録対象のデータの書き込み処理がすべて終わったか否かを判定する。書き込み単位以上の画像が生成されていた場合、書き込みを書き込み単位で分割しながら書き込むので残データがあるため、このような判定を行う。また静止画の連写撮影で複数の静止画ファイルを記録する場合や動画撮影で動画の複数のフレーム画像データを動画ファイルとして記録する場合は、複数の画像データを記録するため、このように、全てのデータの書き込み処理が完了したかの判定を行う。
【0067】
S203にて記録対象のデータの書き込み処理がすべて終わっていると判定された場合、書き込み処理を終了する。書き込み処理が完了しておらず、書き込み対象のデータが存在すると判定された場合、S204に進む。
【0068】
S204で、CPU108は、第1の記録メディア150に対する読み込み依頼(S415またはS419)があるか否かを判定する。この判定により、記録メディアへの書き込み処理中に読み込み処理が必要となるか否の判定を行うことが可能になる。読み込み依頼がない場合は、S202に戻り、8MB毎のデータの書き込み処理を引き続き実行する。
【0069】
読み込み依頼がある場合は、S205において、CPU108は、第1の記録メディアへの書き込み処理を、読み込み処理が完了するまで一時的に不許可にする。この書き込み処理を不許可にする実行方法としては、書き込み処理側のタスク制御をセマフォ等の排他制御によりロックしてもよいし、待ち時間を設定しながらポーリング形式で待ちを入れてもよい。次にS206で、第1のメディア制御部110は、読み込み依頼(S415またはS419)に応じた読み込み命令を第1の記録メディア150に発行し、読み込み処理実行する。この読み込み処理では、短い読み込み単位で読み込み処理を行う。本実施形態においては、128KB単位で、読み込み命令を発行して読み込み処理を実行する。S207で、CPU108は、読み込み依頼(S415またはS419)で読み込み対象となるデータの読み込みが完了したかを判定し、完了していない場合は、S206の処理を繰り返す。つまり、読み込み依頼されたデータの読み込み処理が終了するまで、優先的に読み込み処理を行う。読み込み処理を優先させることで、ユーザの画像再生をしたいという明確な意思表示に対しての応答性を高め、ユーザが感じる快適性を向上させることができる。
【0070】
S207で読み込みが完了したと判定された場合、S208に進む。S208では、CPU108は、読み込み依頼に基づく読み込み処理がすべて完了したため、S205にて一時的に不許可にした書き込み処理を許可に設定する。そして、S209において、CPU108は、タイマーのカウントを開始する。そして、S210で、CPU108は、第1の記録メディア150に対するデータ書き込みの単位を、短い単位(本実施形態では512KBとする)に設定する。そして、S211において、第1のメディア制御部110は、S210で設定された短い単位での書き込み処理を実行する。
【0071】
このように、本実施形態の書き込み処理においては、読み込み処理の完了後に、S208で書き込み処理を許可にした後、S201で設定した長い単位での書き込みを行ってしまうと、次の読み込み依頼があった場合に読み込み処理を開始するまでに時間を要してしまい、反応が鈍くなってしまう。時に、再生モードに移行した後には、画像切替(画像送り、画像戻し)の操作が連続的に行われる可能性があり、この場合に、読み込み処理完了後すぐに長い単位での書き込み処理を行ってしまうと次の画像の読み込み処理の開始タイミングが遅れてしまい、応答性が低下する。そのため、S210で短い単位での書き込み設定を行ってS211では短い単位での書き込み処理を行うことにより、次の読み込み依頼があった場合に、読み込み処理の開始タイミングが遅れてしまい応答性が低下するのを防いでいる。
【0072】
S211での短い単位での書き込み処理の後は、S212で、CPU108は、S203と同様に、記録対象のデータの書き込み処理がすべて終わったか否かを判定する。S212で書き込み処理が完了したと判定された場合は、書き込み処理を終了する。S212で書き込み処理が完了していないと判定された場合は、S213に進む。S213では、CPU108は、S204と同様に、第1の記録メディア150に対する読み込み依頼(S415またはS419)があるか否かを判定する。S213で読み込み依頼があると判定された場合は、S205に進み、S205以降の処理を実行する。S213で読み込み依頼がないと判定された場合は、S214に進む。S214では、CPU108は、S209でカウントを開始したタイマーが所定時間(本実施形態では2秒とする)を経過したか否かを判定する。つまり、読み込み処理が完了し、短い単位での書き込み処理を開始してから所定時間経過(2秒経過)したかを判定する。S214で所定時間経過したと判定された場合は、S201に進む。つまり、所定時間経過した場合は、長い単位での書き込み処理を実行し、書き込み速度を向上させる。S214で所定時間経過していないと判定された場合は、S211に進み、短い単位での書き込み処理を継続する。読み込み処理が完了してから所定時間以内は、さらに次の画像の読み込み依頼がある可能性を考慮して、読み込み処理の応答性をよくするために短い単位での書き込み処理を行うようにする。
【0073】
<タイミングチャートを用いたシーケンス説明>
次に
図3のタイミングチャートを参照して、本実施形態の書き込み処理と読み込み処理の実行タイミングについて説明する。
【0074】
図3(a)は、書き込み処理完了前に読み込み依頼があり、その後、書き込み処理を再開し、書き込み処理再開中に読み込み依頼がない場合のタイミングチャート(タイミングチャート1)である。
【0075】
図3(b)は、書き込み処理完了前に読み込み依頼があり、その後、書き込み処理を再開し、書き込み処理再開中に読み込み依頼があった場合のタイミングチャート(タイミングチャート2)である。
【0076】
これらのタイミングチャートでは、書き込み処理に関する書き込みタスクと、読み込み処理に関する読み込みタスクと、書き込みタスクと読み込みタスクを制御する制御タスクに分けて書き込み処理、読み込み処理のシーケンスを説明する。
【0077】
図3の(a)のタイミングチャートについて説明する。
【0078】
まず、CPU108によりS407の書き込み処理が開始されると、S201、S202の長い単位での書き込み処理が実行される。その後、書き込み処理が完了する前に読み込み依頼があると(S204でYes)、読み込み処理を開始する。読み込み処理を開始する際には、S205で、書き込み処理を不許可にして一時停止し、S206の読み込み処理を優先して実行する。読み込み処理が完了すると(S207でYes)、S209でタイマーを開始し、S208、S210、S211の処理により短い単位での書き込みを行う。その後、タイマーが所定時間(2秒)を経過したことに応じて(S214でYes)、S201、S202の処理により、長い書き込み単位での書き込み処理を実行する。
【0079】
図3(a)では、S209タイマーを開始してから所定時間経過するまでに読み込み依頼がない場合について説明したが、
図3(b)において、所定時間経過する前までに再度読み込み依頼があった場合について説明する。
【0080】
図3の(b)のタイミングチャートについて説明する。
【0081】
まず、CPU108によりS407の書き込み処理が開始されると、S201、S202の長い単位での書き込み処理が実行される。その後、書き込み処理が完了する前に読み込み依頼があると(S204でYes)、読み込み処理を開始する。読み込み処理を開始する際には、S205で、書き込み処理を不許可にして一時停止し、S206の読み込み処理を優先して実行する。読み込み処理が完了すると(S207でYes)、S209でタイマーを開始し、S208、S210、S211の処理により短い単位での書き込みを行う。その後、タイマーが所定時間(2秒)を経過する前に再度読み込み依頼があった場合(S213でYes)は、読み込み処理を開始する。読み込み処理を開始する際には、S205で、書き込み処理を不許可にして一時停止し、S206の読み込み処理を優先して実行する。読み込み処理が完了すると(S207でYes)、S209でタイマーを開始し、S208、S210、S211の処理により短い単位での書き込みを行う。その後、タイマーが所定時間(2秒)を経過したことに応じて(S214でYes)、S201、S202の処理により、長い書き込み単位での書き込み処理を実行する。
【0082】
このように、本実施形態においては、読み込み処理を完了した後に書き込み処理を開始する際に、すぐに長い書き込み単位での書き込み処理に移行せずに、所定時間経過するまでは短い単位での書き込み処理を行うようにしている。そのため、ユーザの操作により再度読み込み処理が必要となった場合に、長い書き込み処理が完了するまでの期間を待たずに、すぐに読み込み処理を開始できるようになる。
【0083】
特に、ユーザが連続して画像切替の操作等を行う場合に、読み込み開始タイミングが遅れて応答性が低下すると、快適性が大きく損なわれてしまう。それに対し、今実施形態の撮像装置100によると、所定期間の間は書き込み単位を小さくすることで、次の読み込み依頼が連続的にあった場合でも、読み込み開始までの待ち時間を小さくし、応答性を高めることができる。
【0084】
また、短い単位での書き込み処理を行うのは所定期間として、ユーザから読み込み処理を必要とする操作が所定期間ない場合は、長い単位での書き込み処理を行うことで書き込み速度を向上させている。
【0085】
[その他の実施形態]
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【0086】
本発明は、上述の実施形態の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0087】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。