JP2006146401A - 情報処理装置、情報処理方法、プログラム - Google Patents

情報処理装置、情報処理方法、プログラム Download PDF

Info

Publication number
JP2006146401A
JP2006146401A JP2004332943A JP2004332943A JP2006146401A JP 2006146401 A JP2006146401 A JP 2006146401A JP 2004332943 A JP2004332943 A JP 2004332943A JP 2004332943 A JP2004332943 A JP 2004332943A JP 2006146401 A JP2006146401 A JP 2006146401A
Authority
JP
Japan
Prior art keywords
data
transfer rate
storage medium
information
data transfer
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
JP2004332943A
Other languages
English (en)
Other versions
JP4734898B2 (ja
Inventor
Ryogo Ito
亮吾 伊藤
Fumihiko Kaise
文彦 貝瀬
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2004332943A priority Critical patent/JP4734898B2/ja
Publication of JP2006146401A publication Critical patent/JP2006146401A/ja
Application granted granted Critical
Publication of JP4734898B2 publication Critical patent/JP4734898B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】メディアのデータ転送レートのばらつきに対応して、できるだけ正常なデータ処理結果が得られるようにする。
【解決手段】はじめて接続されたメディアについてはデータ転送レートを測定して、このデータ転送レートに応じたデータ処理レベルを設定する。アプリケーションは、設定されたデータ処理レベルに応じて、例えばメディアに対する動画記録時の画サイズなど、特定のデータ処理動作についての所定の処理モードを変更する。これにより、データ転送レートが一定以下のメディアであっても、破綻のないデータ処理結果が得られる。
【選択図】図6

Description

本発明は、例えばリムーバブルの記憶媒体に対するデータ書き込み/読み出しを伴う所定のデータ処理動作を実行する情報処理装置とその方法に関する。また、このような情報処理装置が実行するプログラムに関する。
記憶媒体として、例えば各種の光学ディスク状記録媒体では、記録再生が正常に行われるようにすることを保証するための条件の1つとして、記録再生時において信号記録面に照射するレーザ光のパワー(レーザパワー)が適正であることが挙げられる。このために、特許文献1、2などに記載されるようにして、記録再生対象となる光学ディスク状記録媒体ごとに、レーザパワーについてのキャリブレーションを実行することが行われている。
また、記憶媒体に対するデータの書き込み/読み出しを伴う特定の処理(データ処理)を実行するのにあたり、そのデータ処理を破綻させないことの条件としては、記憶媒体のデータ転送レートを挙げることができる。例えばデータ処理として動画ファイルの再生を考えてみる。動画ファイルが破綻無く再生されるためには、その動画ファイルの形式などに応じて一定以上のデータ転送レートが要求される。この場合において、例えば記憶媒体ホストとなる装置やアプリケーション側の処理が上記データ転送レートを満足しているとしても、記憶媒体に対するデータ書き込み/読み出しについて上記データ転送レートを下回っているとすると、これが要因となって動画再生が途切れるなどして円滑な動作が得られなくなる。
そこで、しばしば、記憶媒体のホストとなる装置、アプリケーションを提供するベンダー側としては、データ処理に破綻を生じさせないことを保証するために、一定以上のデータ転送レートの記憶媒体の使用を指定することになる。具体的には、例えば装置やアプリケーションの取り扱い説明書(マニュアル)などで、動作が保証される記憶媒体の機種などを指定するようにされる。ユーザは、この記載を見て、動作保証範囲の記憶媒体を入手して使用する。
特開平8−329469号公報 特開2001−344753号公報
しかしながら、上記のようにして一定以上のデータ転送レートの記憶媒体の使用を求めることとした場合には、このような記憶媒体を選択して入手することの手間、負担をユーザに強いることになるという点で好ましくないということがいえる。
また、現実的なこととして、上記のようにしてマニュアルなどで一定以上のデータ転送レートの記憶媒体の使用を指定したとしても、必ずしも、この指定通りの機種の記憶媒体をユーザが入手して使用するとは限らないという実情がある。また、コンパクトフラッシュ(Compact Flash)の規格に従った半導体記憶装置などに顕著であるが、同一の規格下で製造されるものであっても、データ転送レートには例えば機種ごとなどに大きな差が存在する場合がある。
このために、例えばユーザが、一定未満のデータ転送レートの記憶媒体を入手して使用したとすると、或る装置、アプリケーションでは、この記憶媒体のデータ転送レートの低さが要因となって、本来の正常な動作が得られなくなるという事態が生じる可能性がある。このことは、例えばユーザによっては、予期せずして障害が発生したものとしてとらえてしまう場合があり、製品に対する信頼性を損なう原因につながるなどの不都合を招くこともあると考えられる。
そこで本発明としては、多様なデータ転送レートの記憶装置が使用されるような状況であっても、できる限り、正常な動作のデータ処理結果が得られるようにすることを目的とする。
このために本発明は、情報処理装置について次のように構成することとした。
つまり、外部記憶媒体が接続される記憶媒体接続手段と、この記憶媒体接続手段と接続された外部記憶媒体についてのデータ転送レートを判定する判定手段と、記憶媒体接続手段と接続された外部記憶媒体に対するデータの書き込み及び/又は読み出しを伴う所定のデータ処理を実行可能なデータ処理実行手段と、判定手段により判定されたデータ転送レートに応じて、データ処理実行手段が実行可能とされている特定のデータ処理についての実行の可否を設定する設定手段とを備えて構成する。
また、情報処理方法として、少なくともデータの書き込み/読み出しを含む通信が可能に接続された外部記憶媒体についてのデータ転送レートを判定する判定手順と、上記接続された外部記憶媒体に対するデータの書き込み及び/又は読み出しを伴う所定のデータ処理を実行可能なデータ処理実行手順と、判定手順により判定されたデータ転送レートに応じて、データ処理実行手順が実行可能とされている特定のデータ処理についての実行の可否を設定する設定手順とを実行するように構成することとした。
また、上記情報処理方法を構成する手順を情報処理装置に実行させるようにして、プログラムを構成することとした。
上記各構成によれば、外部記憶媒体との接続が行われたときに、この外部記憶媒体のデータ転送レートを判定したうえで、その判定結果に応じて、本来実行可能とされる特定のデータ処理について許可/禁止(可否)の設定が行われることになる。このことは、外部記憶媒体のデータ転送レートの条件では破綻の無い処理を許可するとともに、外部記憶媒体のデータ転送レートの条件では破綻する処理を禁止して、結果的に、接続された外部記憶媒体のデータ転送レートに適応したレベル、負荷のデータ処理が実行される環境を得ることが可能であることを意味している。
これにより、本発明としては、接続される外部記憶媒体のデータ転送レートが一定以下であるような状況であっても、例えば特定のデータ処理について、そのデータ転送レートでは破綻するレベル(処理負荷)でのデータ処理は実行しないが、かわりに、そのデータ転送レートであれば破綻が無く正常に実行可能なレベルでのデータ処理を実行するようにされる。
つまり、或る一定以下のデータ転送レートの外部記憶媒体が使用されたときに、全くデータ処理が実行されなくなってしまうような状況が避けられ、より低位のレベル、軽負荷でのデータ処理が実行されることで、できるかぎり、正常な動作のデータ処理結果が得られる。これにより、例えば製品としての信頼性が向上する。また、ユーザとしては、さほど外部記憶媒体のデータ転送レート(品質)に留意する必要もなくなるので、この面での負担が軽減されることにもなる。
以下、本発明を実施するための最良の形態(以下、実施の形態という)について説明する。本実施の形態としては、本発明としての情報処理装置の構成をデジタルビデオカメラに適用した場合を例に挙げることとする。
図1は、本実施の形態としてのデジタルビデオカメラ1の構成例を示すブロック図である。
この図に示すデジタルビデオカメラ1において、光学系部2は、撮像レンズ、絞りなどを備えて成り、入射された光を撮像光として、光電変換部3に結像させる。また、光学系部2においては、フォーカス(焦点)調整のためのフォーカス調整機構や、絞り値に応じて絞りを可変する絞り可変機構などを備えているものとされ、このような機構部の駆動は、カメラ機能部6から出力される駆動信号によって行われる。カメラ機能部6は、CPU10の制御に応じて、しかるべきフォーカス状態や絞りの状態等が得られるように所要の駆動信号を出力するようにされている。
また、例えば光学ズーム機能を与えることとした場合には、光学系部2においてズームレンズを移動させるズーム機構を設けると共に、上記と同様にして、CPU10の制御に応じて上記ズーム機構を移動させる駆動部を設けるようにすればよい。さらに、カメラ機能部6として、ストロボを設けたうえで、ストロボ発光機能を与えるように構成することもできる。
光電変換部3は、例えば光電変換素子であるCCD(Charge Coupled Device)を備えて構成され、光学系部2から入射されて受光面にて結像された撮像光を光電変換することで撮像信号を生成してビデオ信号処理部4に出力する。撮影時においては、例えば露出設定結果に応じて決定されるシャッター速度の指示が、CPU10からビデオ信号処理部4に通知される。ビデオ信号処理部4では、通知されたシャッター速度に対応する走査タイミング信号を光電変換部3に出力する。光電変換部3は、この走査タイミング信号に応じて走査を行うようにして、光電変換処理を実行して映像信号を出力するようにされる。
ビデオ信号処理部4は、光電変換部3から入力されたアナログのビデオ信号(撮像画像信号)について、例えばゲイン調整、サンプルホールド処理を施すことによって波形整形を行ったうえで、A/D変換を行うことで、デジタルとしてのビデオ信号データに変換する。そして、この変換処理によって得られたデジタルビデオ信号について、例えば、表示用輝度データの生成処理などをはじめ、表示部7にて表示が行われるようにするためのビデオ信号処理を実行する。これに伴い、ビデオ信号処理部4では、CPU10の制御に応じてキャラクタ画像なども撮像画像に重畳して表示可能なように、いわゆるオンスクリーンディスプレイのための信号処理も実行可能とされている。
表示部7として採用される実際のディスプレイデバイスについては特に限定されるべきものではないが、現状においては、広く液晶ディスプレイパネルが採用されている。
また、ビデオ信号処理部4は、光電変換部3から入力されたアナログビデオ信号を変換して得たデジタルビデオ信号について、例えば所定方式による圧縮符号化処理を施して、圧縮ビデオデータを生成することが可能とされている。
また、本実施の形態のデジタルビデオカメラは、スチルカメラ機能も備える。つまり、撮像画像信号について、写真としての所定形式による静止画データファイルを生成することが可能とされているが、このような画像処理も、ビデオ信号処理部4によって行われる。
また、ビデオ信号処理部4では、光電変換部3から入力された画像(映像)信号や、後述するメディアから読み出されたAV(Audio Video)データのファイル(AVファイル)などを、所定方式のアナログビデオ信号又はデジタルビデオ信号に変換して、画像入出力部5を介して外部機器などに出力可能とされている。
画像入出力部5は、外部から所定方式のビデオ信号を入力可能ともされており、この入力したビデオ信号をビデオ信号処理部4の処理を経て表示部7に表示させることが可能とされる。また、ビデオ信号処理部4は、画像入出力部5が入力したビデオ信号について、光電変換部3から入力されたアナログビデオ信号と同様にして、記録用データに変換してメディアコントローラ13に転送することもできる。
これに対応して、画像入出力部5は、例えば所定方式に従った映像(画像)信号出力端子/映像信号入力端子を備える。
また、本実施の形態のデジタルビデオカメラ1は、音声処理部8及び音声入出力部9を備えることで、音声信号の入出力も可能とされている。
先ず、音声入力については、音声入出力部9としてマイクロフォンなどを備え、外部音声の収音を行って音声信号に変換して音声を入力するようにされる。そして、このようにして入力した音声信号を音声処理部8に出力する。音声処理部8は、例えば、撮像画像の圧縮符号化に対応する音声圧縮符号化方式により符号化された圧縮オーディオデータに変換するなどの音声信号処理を施す。
CPU10は、ビデオ信号処理部4により得られた撮像画像についての圧縮ビデオデータと、音声処理部8により得られた収音音声についての圧縮オーディオデータとにより、所定形式のAVファイルを形成するための制御処理を実行するようにされる。このAVファイルは、圧縮ビデオデータを再生して出力される動画像に対して、圧縮オーディオデータを再生して出力される音声の再生時間軸が同期したものとなっている。なお、実際にAVファイルを形成するための構成としては、CPU10がプログラムを実行して得られるデジタル信号処理となるソフトウェア構成とされてもよいし、あるいは、AVファイルを形成するためのハードウェアを備えるとともに、CPU10がこのハードウェアについての動作を制御する構成としてもよい。
上記AVファイルとしてのデータは、記録用データとして、例えばCPU10の制御によってメディアコントローラ13に転送される。また、CPU10は、ビデオ信号処理部4によって生成された写真画像としての所定形式の静止画データファイルについても、記録用データとしてメディアコントローラ13に転送することができる。
音声入出力部9としては、音声信号入力端子などを備えて外部のオーディオ機器などからオーディオ信号を入力するようにも構成することができる。上記音声信号入力端子から入力されたオーディオ信号については、音声処理部8は、所定形式によるデジタルオーディオデータファイルに変換するようにされる。CPU10は、このようなデジタルオーディオデータファイルのデータについても、記録用データとしてメディアコントローラ13に転送することができる。
メディアコントローラ13は、CPU10との連携により、所定の異なる種別の外部のメディア(記憶媒体)、外部記憶デバイス(記憶装置)に対応して、これらのメディアに対するデータ処理に関する制御処理を実行可能に構成される。ここでいうメディアに対するデータ処理とは、メディアのフォーマット処理や、メディアの記憶領域に対するファイル及びファイル管理のための情報(ファイル管理情報)などの書き込み/読み出し処理など、メディアに記憶されるべきデータに関連する何らかの処理をいう。
本実施の形態では、メディアコントローラ13に対しては、先ず、ハードディスクドライブ(HDD)が接続されている。HDDは、周知のようにしてハードディスクといわれる、記憶媒体として磁気ディスクを備える記憶デバイスであり、現状においては、比較的低コストでギガバイトクラスの大容量が得られる。また、周知のようにして、記憶媒体である磁気ディスクに対する物理的なデータの読み出し/書き込みは、磁気ヘッドにより、磁気ディスク上に形成されるトラックをトレースしながら磁界印加、磁界検出を行うことによって実現される。
また、この場合のHDDとしては、例えばデジタルビデオカメラ1に固定的に内蔵されるものとしてもよいし、デジタルビデオカメラ1(ホスト)に対して装脱可能な、所定の規格に従ったリムーバブル形態とされてもよい。
また、この図では、メディアコントローラ13は、所定方式の光ディスク、光磁気ディスク、及び半導体メモリ素子を備える記憶デバイスである半導体記憶装置などにも対応してデータ処理が可能であることとされている。
光ディスク及び光磁気ディスクなどに対応する場合の実際としては、これらの記録(記憶)媒体に対応してデータの書き込み/読み出しが可能に構成されたドライブとしてのデバイスを備え、これらのデバイスとメディアコントローラ13とを接続することになる。
また、半導体記憶装置に対応する場合は、半導体記憶装置の実際の規格に従って、この半導体記憶装置が装脱されるスロットを、デジタルビデオカメラ1の本体に備える。このスロットに対して半導体記憶装置が適正に装填されると、半導体記憶装置のピン端子がスロットのコネクタ部位の電極と接続され、これにより、半導体記憶装置は、メディアコントローラ13との間で通信が可能に接続されることになる。
メディアコントローラ13は、先に説明したようにして、記録用データが転送されてくるのに応じて、この記録用データを、メディアコントローラ13と接続されているメディア(記憶媒体、記憶装置)のうちから対象として選択されているメディアに対してさらに転送する。データが転送されたメディアでは、メディアコントローラ13側からの指示に応じて記憶領域に対してデータを書き込んで記憶させる。このようにしてメディアに記憶されるデータがファイルとして記憶管理されることになる。なお、メディアに記憶されるファイルの管理は所定方式のファイルシステムによって行われる。
また、例えばメディアに記憶されているファイルについての再生として、AVファイルを再生するときには、CPU10及びメディアコントローラ13は、指定されたAVファイルにアクセスして読み出しを行う。このようにして読み出されるAVファイルは、例えばCPU10の処理により、圧縮ビデオデータと圧縮オーディオデータとに分離され、圧縮ビデオデータについてはビデオ信号処理部4に受け渡し、圧縮オーディオ信号については、音声処理部8に受け渡すようにされる。
この場合のビデオ信号処理部4及び音声処理部8は、それぞれ、上記のようにして転送されてきた圧縮ビデオデータ、圧縮オーディオデータについて、復調処理を含む所要の再生信号処理を実行する。これにより、圧縮ビデオデータを再生した画像を表示部7にて表示するとともに、この画像の再生時間に同期して、圧縮オーディオデータを再生して得られる音声信号を、音声入出力部9が有するとされるスピーカにより音声として出力させたり、ヘッドフォン端子から出力させることができる。
また、例えばメディアから再生されたオーディオデータファイルは、音声処理部8の音声信号処理を経た後に、音声入出力部9を介して、外部に対して所定形式のオーディオ信号、オーディオデータとして出力することも可能とされている。この場合、音声入出力部9としては、音声処理部8から出力される所定のオーディオ信号、オーディオデータの形式に対応するオーディオ出力端子を備えることになる。
CPU(Central Processing Unit)10は、プログラムを実行することでデジタルビデオカメラ1についての各種制御処理を実行する。ROM11は、CPU10が実行する各種プログラムのほか、CPU10が処理を実行するのに使用する各種設定情報などが記憶されている。RAM12は、CPU10がプログラムに従った処理を実行するときの作業領域として使用されるもので、各種の演算処理結果などのデータが保持される。
また、不揮発性メモリ12aは、例えばフラッシュメモリなどをはじめとした、電源供給が停止しても記憶内容が消去されない性質のメモリ素子により形成され、CPU10の制御によって、データの書き込み/読み出しが実行される。この不揮発性メモリ12aに記憶されるべきデータ(情報)としては、適宜内容の変更が行われる設定情報などが一般的であるが、特に限定されるものではなく、実際のデジタルビデオカメラ1の仕様などに応じて所要の各種の情報を記憶することとされればよい。
この場合の操作入力部15は、デジタルビデオカメラ1に備えられる各種操作子を一括して示しているものとされる。例えば、この操作入力部15における操作子としては、写真撮影時に操作されるシャッターボタン、撮影モードなどを選択する操作子、パラメータのアップ/ダウンを行うための操作子などが含まれる。
通信部16は、CPU10の制御に応じて、所定のデータ通信方式により外部デバイスと通信を行うためのハードウェア、ソフトウェアを実装して構成される部位である。この通信部16が対応するデータ通信方式としては、有線、無線を問わず特に限定されるべきものではなく、また、対応するデータ通信方式の数も限定されるべきものでない。現状であれば、データ通信方式としては、有線ではEthernet(商標)などのネットワーク、USB(Universal Serial Bus)、IEEE1394などのデータバス規格などを挙げることができる。また、無線であれば、Bluetooth(商標)などのデバイス間近距離無線通信、IEEE802.11a/b/gなどの無線LAN(Local Area Network)規格を挙げることができる。
電源部17は、デジタルビデオカメラ1における各種のハードウェアデバイスに対して動作電源を供給するもので、例えばバッテリや電源アダプタからの電力供給を受けて動作する電源回路などを備えて構成される。
上記のようにして、本実施の形態のデジタルビデオカメラ1では、主としては、撮像/収音により得られるAVファイルを、HDD、各種光学ディスク状記録媒体(光磁気ディスクを含む)、半導体記憶装置などのメディア(記憶媒体)に対して記憶させることができるようになっている。
上記のようにしてメディアに記憶されるファイルは、通常は、所定フォーマットによるファイルシステムにより管理されることになるのであるが、本実施の形態としては、FAT(File Allocation Table)ファイルシステムにより管理されるものとしている。FATファイルシステムは、周知のようにして、ツリー型のディレクトリ構造によりファイルを管理するようにされており、また、データの書き込み/読み出しについては、クラスタといわれる論理的な最小データ管理単位により行うものとされている。クラスタは、メディアにおける物理的なデータ書き込み/読み出しの最小単位であるセクタを所定数にまとめたものが1単位となる。
図2は、FATファイルシステムの一般的なシステム構成を階層モデルにより示している。
先ず、この階層モデルとしては、ソフトウェア層と、その下層となるハードウェア層に大別される。
ソフトウェア層は、この場合には、メディアに対してホスト(実施の形態ではデジタルビデオカメラ1)となるデバイスにおいて、CPUが実行するプログラム、及び各種ファームウェア、ミドルウェアなどにより実現されるソフトウェア処理が対応するものとされる。この場合のソフトウェア層は、図示するように、上層から下層にかけて、アプリケーション100、ファイルシステム101、デバイスドライバ102の各層が位置する。
ハードウェア層には、メディアそのものの物理的な記憶領域が位置するものとして考えることができる。
アプリケーション100は、例えばファイルの記録/再生機能などを有して、メディアを使用するアプリケーションソフトウェアが対応し、ファイルレベルでのアクセス要求をファイルシステム101に対して行う。
ファイルシステム101は、ファイルシステムとしての機能を実現するソフトウェアが対応する。本実施の形態では、FATファイルシステムを採用することとしているので、ファイルシステム101の機能を提供するソフトウェアとしても、FATファイルシステムに対応して構成されるものとなる。
このファイルシステム101では、アプリケーション100からのファイルレベルによるアクセス要求を、FATファイルシステムのフォーマットにおけるデータの管理単位となるクラスタのレベルに変換して、デバイスドライバ102に対してアクセス要求を行う。
デバイスドライバ102は、コントロール対象のデバイスとなるメディアをコントロールするためのソフトウェアが対応し、上記ファイルシステム101からのFATファイルシステムフォーマットに従ったクラスタレベルによるアクセス要求を、メディア103上におけるデータの記録再生単位であるセクタのレベルに変換して、メディア103へのアクセス要求を行う。
この場合のメディア103は、論理的にはFATファイルシステムに従ってフォーマット(初期化)されたものとなる。図1では、HDD、光学ディスク状記録媒体、半導体記憶装置など、メディアコントローラ13と接続されている記憶媒体、記憶装置がここでのメディア103に相当する。そして、メディア103は、デバイスドライバ102からのセクタレベルのアクセス要求に応答して、指定されたセクタアドレスからデータを読み出して、デバイスドライバ102に返す。つまり、セクタレベルでのアクセス応答を実行する。
デバイスドライバ102は、メディア103からのセクタレベルでのアクセス応答、つまりセクタ単位でのデータの受け取りを行い、この受け取ったデータについて、クラスタ単位によるデータとして扱ってファイルシステム101に受け渡す(クラスタレベルでのアクセス応答)。
ファイルシステム101は、デバイスドライバ102から受け取ったデータを、ファイルレベルのデータとしてアプリケーション100に受け渡すようにされる。アプリケーション100は、ファイルとして受け取ったデータについて、例えばユーザによる操作入力などに応じたアプリケーションレベルでの所要の処理を実行する。
また、FATファイルシステムは、記憶ファイルをツリー型のディレクトリ構造により管理し、また、ファイルをクラスタ単位の集合として管理するようにされている。このようなファイル管理、データ管理は、周知のようにしてディレクトリエントリ、及びFATといわれるテーブル情報を備えることにより実現されるものとなる。ディレクトリエントリは、メディア上におけるファイル、ディレクトリ(サブディレクトリ)の所在をクラスタレベルで示す情報であり、FATは、ディレクトリ、ファイルを成すクラスタレベルでのチェイン(リンク、連結)を示す情報である。
図3は、FATの規格に従ったメディアのフォーマット構造を示している。
FATの形式としては複数が規定されているのであるが、ここでは、FAT16及びFAT32の各形式に対応するフォーマット構造を示すこととする。
先ず、図3の左側に示されるFAT16に対応するフォーマット構造から説明する。
この図に示す構造は、LBA(Logical Block Addressing)に従った論理的なものとなっている。つまり、最も上を先頭セクタ(LBA=0)として、以降、下に向かってブロック(セクタ)の番号が進んでいくものとなる。
また、FATのファイルシステムでは、1つの物理的記憶領域を複数のパーティションに分割可能とされているが、ここでは説明の便宜上、1パーティションとした場合のフォーマット構造を示している。
先ず、LBA=0として表される先頭セクタは、MBR(Master Boot Recorder) といわれる、ブート領域となっている。
MBRの構造を図4(a)に示す。
1セクタは512バイトのサイズであり、従って、MBRとしても512バイトとなる。図4(a)では、このMBRの領域における512バイトについて、先頭から最終のバイト位置を、0000h〜01FFhまでの16進法による番号を振って表現したうえで、16バイト単位を1列として配列して示している。なお、16進法の表記を行うのにあたっては、上記0000h、或いは01FFhのようにして、数値の最後尾に16進法表記であることを示すhを付すこととする。
先ず、バイト位置0000h〜01BDhまでの446バイトの領域は、OS(Operating System)起動用のメディアとして使用される場合において、その起動(ブート:boot)のためのコード(起動コード)が格納される領域である。
MBRにおけるバイト位置01BEh〜01FDhまでの64バイトの領域は、パーティションテーブルとされており、起動時において必要とされるパーティションごとに関する所定の情報が格納される。このパーティションテーブルの領域は、さらに16バイト単位で4つの領域に分割されることになっており、これらの4分割された領域は、先頭から順に、パーティション1、パーティション2、パーティション3、パーティション4に対応する領域となっている。これらのこれらのパーティションごとに対応する各領域は、パーティションごとのエントリの領域となる。
また、MBRにおける最終の2バイトの領域には、現セクタがMBRであることの識別子として55AAhが格納される。
上記パーティションのエントリは、図4(b)に示す構造を有するものとされる。先ず、最上位のバイト位置00hは、該当パーティションについての、起動ドライブとしての指定の有無を示すフラグを格納する領域とされる。
また、続くバイト位置01h〜03hによる3バイトの領域は、該当パーティションの開始セクタをCHS(Cylinder/Head/Sector)により表現した値が格納される。バイト位置05h〜07hから成る3バイトの領域により、該当パーティションの終了セクタをCHSにより表現した値が格納される。
また、バイト位置08h〜0Bhによる4バイトの領域により、該当パーティションの開始セクタをLBAにより示す値を格納することとしている。
バイト位置0Ch〜0Fhから成る4バイトの領域は、該当パーティションのデータサイズ(パーティションサイズ)を示す値を格納する。
バイト位置04hが示す1バイトの領域は、システム識別子ともいわれる、該当パーティションが対応するプラットフォーム、ファイルシステムなどのタイプを示す値を格納する。
説明を図3に戻す。
MBRとしての先頭セクタに続けては所定セクタ数による空き領域を設けることとしている。そして、この空き領域より後となるセクタ領域により、パーティション単位の領域を形成する。
1パーティション内における先頭セクタから所定のバイト数までによる領域は、システム関連の情報を格納するシステム領域となる。
このシステム領域において先頭セクタから開始される所定バイト数の領域は、BPB(BIOS Parameter Block/Boot Parameter Block)とされ、ここでは現パーティションに関して、例えばホスト側のBIOS(Basic Input/Output System)などのように、ブロックデバイスコントロールのためのプログラムが利用すべき所要のデータが格納される。BPBに格納する情報においては、次に説明するFAT領域の数、メインのFAT領域の開始セクタ、FAT領域のセクタ数などの情報を含む。
BPBに続けてはFAT1、FAT2のFAT領域が順に配置される。通常は、FAT1,2のいずれか一方の領域がメインのFAT領域として使用される。他方のFAT領域は、一般的には、メインFAT領域の内容をコピーしたミラー領域として使用するなど、例えばメインのFAT領域の予備領域、バックアップ用領域として使用される。
これらのFAT領域は、FATエントリが、データ領域内のクラスタ番号順に配列されて形成される領域とされる。FATエントリと、データ領域内のクラスタとは1対1で対応しており、FATエントリには、ディレクトリ、ファイルの記憶結果に応じて、該当クラスタについての情報として、例えば、未使用、該当ファイルにおいて現クラスタの次にチェインされるクラスタ番号、不良クラスタ、EOF(End Of File:ファイルにおける最終クラスタ)などのうちから、何れかを示す情報が格納される。
FAT16フォーマットでは、クラスタ番号を2バイト(16ビット)により表すこととしており、これに応じて、FATエントリの個々のサイズも2バイトとされている。
FAT1,FAT2の領域に続けては、所定サイズのルートディレクトリエントリが配置される。このルートディレクトリエントリには、ルートディレクトリにおけるディレクトリ、ファイルなどについてのディレクトリエントリが格納される。
ルートディレクトリより下位のセクタ領域が、データ領域となる。このデータ領域に対するデータの書き込み/読み出しは、FATファイルシステムにより管理される。従って、図示するようにして、ファイルシステムのフォーマット構造としては、1以上の所定数のセクタの連続から成るクラスタ単位によりデータ領域を管理することになる。上記もしたように、FAT領域は、原則として、このデータ領域を形成する全クラスタに対応するFATエントリを有して形成されるものとなる。
続いては図3の右側に示されるFAT32に対応するフォーマット構造について説明する。
FAT32対応のフォーマット構造としても、LBA=0で表される先頭セクタにMBRを配置している。そして、このMBRに続けて配置する所定セクタ数の空き領域に続けて、パーティション単位の領域を配置していくようにされる。
FAT32対応のフォーマット構造のパーティション領域にけるシステム領域としては、BPBに続けてFSinfoの領域を設けることとしている。
FSinfoは、該当パーティションにおける空き容量を計算するのに利用する所定の情報を格納する領域である。FAT1,FAT2のFAT領域は、FSinfoに続けて順次配置される。
FAT32のフォーマットの場合のFAT領域も、クラスタと1対1で対応するFATエントリがクラスタ番号順に配列されて形成され、FATエントリには、ディレクトリ、ファイルの記憶結果に応じて、該当クラスタについての所定の情報が格納される。ただし、FAT32のフォーマットでは、クラスタ番号を4バイト(32ビット)で表現することから、FATエントリの個々のサイズも4バイトで区切られることになる。
また、FAT32のフォーマット構造では、FAT16のフォーマット構造においてシステム領域内に設けられていたルートディレクトリエントリの領域が省略されている。
FAT32のフォーマット構造では、ルートディレクトリはデータ領域内におかれることなっている。データ領域におけるルートディレクトリの開始クラスタ番号は、BPBにおける所定領域(RootClus)に格納される値により示されており、ルートディレクトリにアクセスするときには、上記RootClusを参照して認識したクラスタ番号にアクセスするようにされる。RootClusが示すルートディレクトリの開始クラスタ番号は、通常、2である。
データ領域は、この場合においても、FAT32のファイルシステムによりクラスタ単位でデータの書き込み/読み出しが管理される領域となる。
ここで、本実施の形態のデジタルビデオカメラ1について、メディアコントローラ13と接続される半導体記憶装置としては、コンパクトフラッシュ(Compact Flash:登録商標)の仕様、規格に従ったものであることとする。
実情的なこととして、このコンパクトフラッシュの規格に従った半導体記憶装置としては、現状においても、多様なメーカから、記憶容量の相違などをはじめとした多様な製品が出回っている状況にあるが、これらの製品では、例えば機種あるいは個体ごとのメディアのデータ転送レートについて一様ではなく、比較的大きな相違、ばらつきのあることが知られている。
例えばホストとしての装置においては、コンパクトフラッシュなどのメディアに対するデータの書き込み/読み出しを伴う何らかのデータ処理を実行するのであるが、そのデータ処理の内容によって単位時間あたりに必要なデータ処理量(処理負荷)が決まってくる。また、この単位時間あたりのデータ処理量に応じて、単位時間あたりのメディアに対するデータの読み出し量/書き込み量、つまり要求されるデータ転送レートも決まってくる。
このために、例えば接続されているコンパクトフラッシュのデータ転送レートが、上記データ処理が要求する値よりも低くなっているような状況のあることが考えられる。このような状況では、メディアのデータ転送レートが低いことが要因となって適正な処理結果が得られなくなることがある。
そこで、現状においては、ホストとなる装置に接続するコンパクトフラッシュについて、この装置が要求するデータ転送レートが保証される製品を指定することが行われている。この場合において、指定外のコンパクトフラッシュを使用した場合には正常な動作は保証されないことになる。
しかしながら、ホストとしての装置を所有するユーザが、指定されたコンパクトフラッシュを入手することは、その手間などを考えると相応に負担になるものと考えられるし、また、現実的にも、ユーザが不用意にも指定外のコンパクトフラッシュを使用するであろうことは当然あり得る。
先にも説明したように、ホストとなる機器(デジタルビデオカメラ1)のデータ処理機能が適正に実行されるのに足るデータ転送レートを有さないメディアを使用したことで、ホスト機器が有するデータ処理機能を適正に実行できないような状況は、通念上致し方ないこととして扱われる。しかしながら、本実施の形態としては、このような状況においても、できるだけデータ処理機能が適正実行されるような環境を提供することで、ユーザが救済されるように便宜を図るようにされる。
このための構成として、概略的には、本実施の形態のデジタルビデオカメラ1は、半導体記憶装置のスロットにメディアが装填されて通信可能に接続されたときに、この接続されたメディアについてのデータ転送レート(データ処理レベル)を判定するようにされる。なお、このデータ転送レートの判定の仕方については後述する。そして、判定したデータ転送レートに応じて、所定のデータ処理についての制限をかけるなどの設定を行うようにされる。
ここで、上記データ処理として、撮像画像により得た動画像をAVファイルとして記録するためのビデオ信号処理の1つである画像の解像度(画サイズ)設定を例に挙げて、メディアのデータ転送レートに応じたデータ処理変更の具体例について、図5を参照して説明しておくこととする。
本実施の形態のデジタルビデオカメラ1が、撮像画像としての動画像をAVファイルとして記録する際の解像度としては、解像度が高い順から、1024×768、800×600、640×480、320×240の4段階によるモードを選択設定可能とされているものとする。
そのうえで、上記のようにして解像度が4段階であることに対応して、コンパクトフラッシュのデータ転送レートtfrtについて、tfrt≧a(a以上)となるレベル3、b≦tfrt<a(b以上a未満)となるレベル2、c≦tfrt<b(c以上b未満)となるレベル1、tfrt<c(c未満)となるレベル0の4段階のレベルに区分すする。なお、値a,b,cについては、a<b<cの関係を満たしたうえで、所定値を設定する。値a,b,cを具体的にどのように設定するのかについては、この場合であれば、上記4段階の解像度ごとに対応して要求されるメディアのデータ転送レートを考慮して決定することになる。
そして、図5に示すようにして、4段階に区分したデータ転送レートごとに、上記4段階の解像度についての設定の可否を取り決めることとする。
つまり、コンパクトフラッシュのデータ転送レートが最高レベル(レベル3)のtfrt≧a(a以上)である場合には、最低レベルの解像度である320×240から、最高レベルの解像度である1024×768までの4段階全ての解像度を選択肢として設定することが許可される。
また、コンパクトフラッシュのデータ転送レートが2番目に高いレベル(レベル2)のb≦tfrt<a(b以上a未満)である場合には、4段階の解像度のうちで、最高レベルの解像度1024×768の設定が禁止され、残る解像度800×600、640×480、320×240の3段階の解像度が選択肢となるようにされる。
また、コンパクトフラッシュのデータ転送レートが3番目に高いレベル(レベル1)のc≦tfrt<b(c以上b未満)である場合には、4段階の解像度のうちで、最高レベルと2番目に高い解像度である1024×768、800×600の設定が禁止され、残る解像度640×480、320×240の2段階の解像度が選択肢となる。
また、コンパクトフラッシュのデータ転送レートが最低レベル(レベル0)のtfrt<c(c未満)である場合には、4段階の解像度のうちで、最低レベルの解像度320×240の1つの解像度のみが許可される。
このようなコンパクトフラッシュのデータ転送レートと、解像度との対応は次のようなことを意味する。
例えば、従来のデジタルビデオカメラ1により撮像画像をAVファイルとして記録するのにあたっては、コンパクトフラッシュのデータ転送レートにかかわらず、常に、上記図5では最高レベルである1024×768の解像度を設定できることになる。すると、コンパクトフラッシュのデータ転送レートが、一定以下であるような場合には、1024×768の解像度のデータをコンパクトフラッシュに転送して正常に書き込むだけのデータ転送速度が得られないために、AVファイルの書き込みがエラーとなる状況になる可能性が生じる。
これに対して、本実施の形態であれば、例えば、コンパクトフラッシュのデータ転送レートが2番目に高いレベルのb≦tfrt<a(b以上a未満)であるような場合には、1024×768の解像度を選択して設定することはできなくなり、これより低い解像度800×600、640×480、320×240のいずれかを選択して設定することになる。この場合、最高解像度である1024×768に対応する最高品質の画像を得ることはできないものの、コンパクトフラッシュのデータ転送レートに起因するAVファイルの書き込みエラーについては発生しないことが保証される。
このようにして、本実施の形態のデジタルビデオカメラ1では、コンパクトフラッシュに対するデータの書き込み/読み出しを伴うことで、処理結果がコンパクトフラッシュのデータ転送レートに依存する所定のデータ処理の内容、処理レベルなどについて、実際のコンパクトフラッシュのデータ転送レートに応じて変更設定するようにされる。
これにより、上記もしているように、例えば画質などの処理結果の品質は劣化する可能性があるものの、データ処理そのものは、コンパクトフラッシュのデータ転送レートに関わらず、破綻することがないようにされる。つまり、例えば、本来であれば、動作が保証できないようなデータ転送レートが低いコンパクトフラッシュを使用してデータ処理を実行させたとしても、その処理が破綻することなく正常に実行される環境が得られるものである。
なお、接続されたコンパクトフラッシュのデータ転送レートに応じて、そのレベル、内容等が変更されるデータ処理としては、コンパクトフラッシュに対するデータの書き込み/読み出しを伴うものである限り、特に限定されるべきではなく各種考えられる。ここで、AVファイルの解像度設定以外のデータ処理の例をいくつか記載しておく。
・図5により説明した解像度設定を、静止画ファイルの記録に適用する。
・動画像/静止画としてのAVファイルを記録するのにあたり、所定方式による圧縮符号化を施すこととした場合における圧縮符号化のデータレート設定について、コンパクトフラッシュのデータ転送レートに応じて変更する。
・静止画による連写機能を有する場合において、単位時間あたりの最高連写枚数を、コンパクトフラッシュのデータ転送レートに応じて変更する。
・AVファイル(動画/静止画)のシャッフル再生を行うのにあたり、シャッフル対象とするファイルの最大数を変更する。
・AVファイル(動画)のシャッフル再生を行うのにあたり、シャッフル再生単位について変更する。例えば、AVファイルがMPEG方式により圧縮符号化されるものであることを考えた場合においては、上記シャッフル再生単位としてのGOP数を変更するものである。連続GOP数=1であれば、1つのAVファイルから1つのGOPを読み出してデコード出力し、連続GOP数=2であれば、1つのAVファイルから2つのGOPを連続的に読み出してデコード出力するというシャッフル再生の手順を繰り返す。
以下、上記したように、接続されたコンパクトフラッシュのデータ転送レートの判定結果に応じてデータ処理を変更するという動作(以下、「データ転送レート対応処理」ともいう)を実現するための構成について述べていくこととする。
先ず、図6は、データ転送レート対応処理としてCPU10がプログラムに従って実行するとされる処理動作を示している。
ここでは先ず、ステップS101として示すように、コンパクトフラッシュ(以下「CF」と略す場合がある)が新規に接続されるのを待機している。そして、例えばデジタルビデオカメラ1のCF用のスロットに対して新規にCFが装填されて、メディアコントローラ13と接続されたことが、メディアコントローラ13側から通知されると、ステップS101にてCFの新規接続が検出されることとなってステップS102の処理に進む。
ステップS102においては、上記ステップS101により新規接続が検出されたメディアから、メディア識別情報を取得する。このステップS102としてのメディア識別情報取得のための処理を図7に示す。
ここで、周知のようにして、CFの動作モードとしては、True IDモードと、PC Cardモード(PC Card ATAモード)とが規定されている。
メディア識別情報を取得するのにあたっては、先ず、図7のステップS201として示すように、動作モードについて、True IDモードとPC Cardモードのいずれであるのかについての判別を行うようにされる。例えば、コンパクトフラッシュは、True IDモードとPC Cardモードとではピン端子の用途の割り当てが異なっている。メディアコントローラ13では、コンパクトフラッシュが新規接続されたときの通信処理時において、その通信結果から上記ピン端子の用途の割り当てを判断し、これにより、True IDモードとPC CardモードのいずれのCFであるのかを判定することができる。ステップS201では、例えばCPU10が、新規接続されたCFの動作モードがいずれであると判定したのかについてメディアコントローラ13に問い合わせるようにされる。この問い合わせに応答したレスポンスを受信することで、CPU10は、動作モードを判別できることになる。
ステップS201において、先ず、True IDEモードであると判別した場合には、ステップS202以降の処理に進む。
PC Card モードでは、メディア側においてアトリビュートメモリ空間を設けることが規定されている。
ステップS202では、メディア識別情報を取得するために、このアトリビュートメモリ空間にアクセスして、CIS(Card Information Structure)を読み出す。そして、このCISにおいて、CISTPL_VERS_1(タプルコード(Tuple Code)=15hで指定される)の情報を、メディア識別情報として保持するようにされる。このCISTPL_VERS_1は、メディアのモデル(機種)名を示す情報であり、従って、このステップS202の処理を実行した段階で、新規接続されたCFについてのメディア識別情報として、モデルを識別する情報は取得できたことになる。
一般に、メディア(CF)におけるデータ転送レートのばらつきは、モデルごとに顕著に表れるもので、1つの機種内の個体間でのデータ転送レートは、ほぼ一様となっている。従って、データ転送レート対応処理のために、データ転送レートを対象としてメディアの識別を行うのにあたっては、このモデル名までのレベルで実用上充分とされる場合が多い。しかしながら、より正確で高い信頼性のデータ転送レート対応処理結果を期待するのであれば、モデル(機種)レベルよりもさらに詳細に、メディアの個体までが識別できるようにすることが妥当であることになる。そこで、ステップS203以降の処理としては、このような個体識別に対応して付加される処理となる。
先ず、ステップS203においては、メディア識別処理として、モデルのレベルを越えて、シリアルナンバのレベルまで識別するモードとされているか否かについて判別することとしている。シリアルナンバは、同一機種間であっても個体ごとに異なる値が付されているものであり、シリアルナンバのみ、あるいはシリアルナンバとモデルナンバとの組み合わせにより、CF(メディア)としての個体ごとに固有となる識別情報として機能する。
ステップS203において、シリアルナンバのレベルまで識別するモードは設定されていないとして否定の判別結果が得られた場合には、このままメディア識別情報取得のための処理を終了する。これに対して、シリアルナンバのレベルまで識別するモードが設定されているとして肯定の判別結果が得られた場合には、メディア識別情報としてシリアルナンバも取得するために、ステップS204以降の処理を実行するようにされる。
ステップS204においては、メディア識別情報の取得のために、PC Cardモードに対応するCF-ATAで規定されているコマンドの1つである、Idetify Device(CF-ATA)によるトランザクションを、新規接続されたCFとの間で実行する。つまり、ホストであるデジタルビデオカメラ1として(CPU10)から、クライアントとなるメディアのCFに対して、Idetify Deviceのコマンドを送信する。CFでは、このコマンドの受信に応答したレスポンスをホストに返送し、ホストであるデジタルビデオカメラ1(CPU10)は、このレスポンスを受信することになる。そして、このレスポンスを受信すると、次のステップS205として示すように、例えばレスポンスのオペランドとして格納されている戻り値を取得するようにされる。
上記ステップS205により取得された戻り値の構造を、2バイト単位によるワードのシーケンスとして第0ワードから始まるものとしてみた場合、第10ワード〜第19ワードまでの10ワードの領域には、そのメディア(CF)のシリアルナンバの情報を格納している。シリアルナンバは、上記もしたように、メディア(ここではCF)ごとに固有となる識別情報である。また、第27ワード〜第46ワードまでの20ワードの領域には、そのメディア(CF)のモデル(機種名)を特定するモデルナンバの情報を格納している。
そして、ステップS205に続くステップS206及びS207によっては、上記戻り値に格納されるシリアルナンバと、モデルナンバの情報を抽出して、それぞれ、今回、新規接続されたCFを識別可能なメディア識別情報として保持するようにされる。
なお、この処理経過では、メディア識別情報として、ステップS202においてモデル名を識別する情報(CISTPL_VERS_1)を取得し、さらにステップS207においてモデルナンバの情報を取得することとなり、モデルを識別するための情報を2重に取得していることになる。このようにして、モデルについての識別情報を複数取得したとしても特に問題は無いのであるが、重複を避けたい場合には、例えば先にステップS202にて取得したメディア識別情(CISTPL_VERS_1)は破棄して、ステップS207により取得したモデルナンバの情報を有効にする、あるいは、先にステップS202にて取得したメディア識別情(CISTPL_VERS_1)を有効として、ステップS207の処理を省略するように構成すればよい。
続いて、先のステップS201において、新規接続されたCFがTrue IDEモードであると判別された場合には、ステップS208以降の処理に進む。
ステップS208においては、メディア識別情報の取得のために、True IDEモードで規定されているコマンドの1つである、IDENTIFY DEVICE(ATA/ATAPI)によるトランザクションを新規接続されたCFとの間で実行する。そして、このコマンドに応答してCFから返送されてきたレスポンスを受信すると、次のステップS209により、このレスポンスのオペランドとして格納されている戻り値を取得する。
この戻り値の構造も、2バイト単位によるワードのシーケンスとして第0ワードから始まるものとしてみた場合、第10ワード〜第19ワードまでの10ワードの領域には、そのメディア(CF)のシリアルナンバの情報を格納している。シリアルナンバは、メディア(ここではCF)ごとに固有となる識別情報である。また、第27ワード〜第46ワードまでの20ワードの領域には、そのメディア(CF)のモデル(機種名)を特定するモデルナンバの情報を格納している。
そこで、続くステップS210、S211により、上記戻り値に格納されるシリアルナンバと、モデルナンバの情報を抽出して、それぞれ、今回、新規接続されたCFを識別可能なメディア識別情報として保持するようにされる。なお、この場合においても、メディア識別情報として、モデルを特定するレベルまでの情報しか必要としない場合には、ステップS211の処理は省略されてよい。
説明を図6に戻す。上記図7に示したようにして、ステップS102としての新規接続されたCFのメディア識別情報取得のための処理を終了したとすると、続いてはステップS103の処理に移行する。
本実施の形態のデジタルビデオカメラ1では、例えば不揮発性メモリ12aに対して、メディア登録テーブル(媒体別転送レート情報)としての情報を書き込んで記憶させている。このメディア登録テーブルは、図8に示すように、これまでに一度でも接続されたことがあるメディア(ここでは説明の便宜上、CFのみとする)について、そのメディア識別情報とデータ処理レベルとを対応させて格納した構造のテーブル情報とされる。
このメディア登録テーブルにおけるメディア識別情報は、そのメディアが初めて接続されたときのステップS102の処理により取得したものとされる。ステップS102の処理によりメディア識別情報を取得するのにあたり、モデルのレベルまでの識別情報を取得するモードが設定されている場合には、このメディア登録テーブルにおけるメディア識別情報は、モデル名を識別する情報のみから成り、メディアのモデルごとに対応したものとなる。これに対して、シリアルナンバのレベルまでの識別情報を取得するモードが設定されている場合には、メディア登録テーブルにおけるメディア識別情報は、モデルナンバ(モデル名)のみ、若しくはモデルナンバ(モデル名)とシリアルナンバとの組み合わせから成り、メディアの個体ごとに対応したものとなる。
また、データ処理レベルは、メディアのデータ転送レートに応じて決まるデータ処理のレベルを示している。図5を例にとれば、コンパクトフラッシュのデータ転送レートtfrtに応じて設定される、レベル3(tfrt≧a)、レベル2(b≦tfrt<a)、レベル1(c≦tfrt<b)、レベル0(tfrt<c)の4段階のレベルとなる。
なお、このメディア登録テーブルがどのようにして作成されるのかについては、この図6に示す処理を以降説明していく過程において後述する。
そして、ステップS102に続くステップS103においては、不揮発性メモリ12aからメディア登録テーブルを読み込む。
次のステップS104では、上記ステップS103により読み込んだメディア登録テーブルに対して、今回、新規接続されたCFが登録されているか否かについて判別する。このためには、現段階においてメディア登録テーブルに格納されるメディア識別情報のうちで、先のステップS102により取得したメディア識別情報と一致するものを検索する。そして、検索結果として、一致したメディア識別情報が検索されたのであれば、ステップS104にて肯定の判別結果が得られる。これに対して、一致したメディア識別情報が検索されなかったのであれば否定の判別結果が得られる。
ステップS104にて肯定の判別結果が得られた場合には、ステップS105に進む。ステップS105では、メディア登録テーブルからの登録情報の読み込み処理を実行する。つまり、この場合のメディア登録テーブルには、上記ステップS104の処理により新規接続されたCFと一致するとして検索されたメディア識別情報が存在する。そこで、この検索されたメディア識別情報に対応付けられているデータ処理レベルを読む込むようにされる。この処理の実行を以て、メディア登録テーブルに登録済みとされているメディアについてのデータ処理レベルが判定されたことになる。
なお、メディア登録テーブルのデータ処理レベルは、図8にて説明したように、そのメディアのデータ転送レートが、どのレベル範囲に属するのかによって決まるものであり、従って、新規接続されたCFについてのデータ処理レベルを判定するということは、範囲区分によるものではあるが、そのCFについてのデータ転送レートを判定していることに他ならない。
そして、例えば上記ステップS105により判定したデータ処理レベルを、ステップS108において所定のレジスタ領域にセットするようにされる。これにより、以降においては、現在起動しているアプリケーションは、セットされたデータ処理レベルに応じた処理モードを設定することになる。
このステップS108の処理の具体例について図5を例に説明する。
例えば、ステップS105により、データ処理レベルが図5におけるレベル3であると判定されたとする。これに応じたステップS108の処理としては、例えば撮像画像を動画として記録するためのアプリケーションプログラムが、レベル3に対応した処理モードを設定することになる。
このときには、例えば上記アプリケーションプログラムは、図5に示すような構造による、データ処理レベルに対する4段階の解像度(1024×768、800×600、640×480、320×240)についての実行の可否を示すテーブル情報を持つようにされる。そして、このテーブルを参照して、ステップS105により判定されたデータ処理レベルに対応した4段階の解像度についての可否内容に従って、処理モードを設定するようにされる。
この場合には、データ処理レベルがレベル3として判定されているので、上記のようにしてテーブル情報を参照する結果、アプリケーションプログラムは、4段階の解像度のうちで、最高解像度である1024×768を最上位モードとして、残る下位の3つの解像度によってもAVファイル生成のためのビデオ信号処理を実行可能な処理モードを設定することとなる。
あるいは、ステップS105によりデータ処理レベルはレベル2であると判定され、ステップS108ではこのレベル2をセットしたとする。これにより、アプリケーションの処理モードとしては、解像度800×600を最上位モードとするAVファイル生成のためのビデオ信号処理を実行可能なモードが設定されることになる。
あるいは、ステップS105によりデータ処理レベルはレベル0であると判定され、ステップS108ではこのレベル0をセットしたとする。この場合、アプリケーションの処理モードとしては、最低解像度の320×240によってのみAVファイル生成のためのビデオ信号処理を実行可能なモードが設定されることになる。
また、ステップS104において否定の判別結果が得られた場合には、ステップS106に進む。
ステップS104からステップS106に至った場合においては、今回新規接続されたCFは、メディア登録テーブルには登録されておらず、従って、デジタルビデオカメラ1に対してはじめて接続されたものであることになる。この場合には、先ず、この新規接続されたCFについてのデータ処理レベルを判定して、このCFに対応する適切なアプリケーションの処理モードが設定されるようにすることが必要となる。また、このはじめて接続されたCFについて、メディア登録テーブルに新規登録することも必要となる。これらの必要事項を満足するために、ステップS106では、今回新規接続されたCFについてのデータ転送レートを測定するための処理を実行する。
ステップS106としてのデータ転送レート測定の処理例を、図9のフローチャートに示す。接続中にあるCFのデータ転送レートを測定するためには、先ず、ステップS301として示すように、接続されているCFの記憶領域において、データ書き込み/読み出し対象となっているパーティションに形成されたFAT1の領域のデータを読み出し、この読み出したデータをFAT2に対して書き込むための処理を実行するようにされる。本実施の形態では、FAT1の領域をメインの領域として使用するのであるが、ステップS301では、このFAT1に記憶されているデータを読み出して、FAT2に対して書き込むことになる。そして、このデータの読み出し/書き込みと並行して、読み出し/書き込みされるデータについてのデータ転送レートを測定するようにされる。つまり、CFから読み出し/書き込みが行われる単位時間あたりのデータ量を測定する。
先の図3の説明では、FAT1がメイン領域とされる場合、FAT2は、通常はFAT1のミラー領域、予備領域とされることを説明したが、本実施の形態では、データ転送レートを測定するためのデータの試し書き領域として使用されることになる。
また、このステップS301の処理は、FAT1からの256セクタ分を読み出して例えばワークRAMに格納し、次いでFAT2に対して、この256セクタのデータの書き込みを実行させるという制御シーケンスで実行される。そのうえで、最初に実行することとなるステップS301の処理としては、FAT1の先頭の256セクタのデータの読み出しを行って、FAT2へ書き込む処理を実行するようにされる。
そして、最初のステップS301の処理を終了したとされると、ステップS302において、これまでのステップS301の処理により未だ読み出しが実行されていない残りの領域サイズが256セクタ未満であるか否かについて判別し、ここで否定の判別結果が得られたのであれば、再度ステップS302に戻るようにされる。2回目以降となるステップS301の処理では、前回のステップS301の処理により読み出した256セクタに続く、次の256セクタのデータを読み出して、FAT2に書き込み、このときのデータ転送レートを測定するようにされる。このような処理をステップS302にて肯定の判別結果が得られるまで繰り返すようにされ、ステップS302にて肯定の判別結果が得られたのであれば、FAT1からのデータの読み出し、FAT2へのデータ書き込み、及びデータ転送レートの測定処理を終了する。つまり、ステップS301の処理は、FAT1のサイズをFatszとしてFatsz/256による演算を行って得られる解の整数値により表される回数分を繰り返すようにされる。
また、ここで確認のために述べておくと、FAT領域としてメインとなるFAT1の領域は、ステップS301の処理によっては単に読み出しが行われるのみであって、その内容が変化することはないものであり、従って、ステップS301の処理により、以降のファイル管理に支障を来すようなことにはならない。
ステップS301−S302のシーケンスによる処理が終了したとされると、ステップS303に進む。このステップS303においては、上記のようにして実行されたステップS301の処理により測定したデータ転送レートの値について、ここでは測定値A1として保持するようにされる。
なお、具体的な測定値A1の求め方としては、次のような手法が挙げられる。つまり、ステップS301の処理ごとに読み出し/書き込みが行われたデータ量を積算していくとともに、この読み出し/書き込みに要したとされる時間も積算するようにされる。そして、ステップS302において肯定の判別結果が得られてステップS301の処理が完了したとされる段階に至ったら、これらのデータ量と時間とにより演算を行ってデータ転送レートを算出する。
データ転送レート計測処理であるステップS106に関して、最も簡易なアルゴリズムとしては上記ステップS303までの処理を実行することとして、測定値A1を正式な本計測値として扱うこととしてもよい。しかしながら、本実施の形態としては、次のような理由で、ステップS304以降の処理も実行して、最終的な本計測値を得ることとしている。
例えば説明をわかりやすくするために、ここでは、HDDなどの記憶媒体を考えてみる。HDDをFATファイルシステムによりフォーマットした場合には、例えば図3に示すようなフォーマット構造を、通常はLBA(セクタ番号)の上位から下位に従って、外周から内周にかけて形成していくのが通常である。このために、ステップS301においてデータの書き込み/読み出し領域となるFAT1,FAT2は、磁気ディスクにおける物理的な位置としては、パーティション内において実際にはかなり外周側に位置していることになる。周知のようにして、HDDのような一定角速度で回転するディスク状記録媒体に対するデータ読み出し/書き込みのデータ転送レートは、外周と内周では異なってくる。
このことからすると、FAT1,FAT2に対するデータの読み出し/書き込みにより測定したデータ転送レートは、パーティション全体においては相当に外周側となる位置にて測定して得たものであるので、これだけでは信頼性が高いとはいえない場合も生じてくると考えられる。そこで、さらに内周側におけるデータ転送レートも測定して、外周側と内周側との両位置での測定値を使用すれば、より高精度で、また信頼性の高い測定結果を得ることができるといえる。ステップS304以降は、本来は、このために、FAT領域よりも内周側となる領域についてのデータ転送レートの測定値を得るための処理となる。
ただし、本実施の形態では、記憶媒体としてコンパクトフラッシュであることとしている。コンパクトフラッシュは、フラッシュメモリといわれる半導体メモリ素子を記憶媒体として静的記録再生が行われるものなので、上記したような外周と内周とでのデータ転送レートの差の問題は生じない。従って、ステップS304以降の処理の必要性は、HDDなどの場合ほど高くはない。
しかしながら、ここでの図9の処理としては、HDDなどを対象とした場合にも、高い信頼性の測定結果が得られるようにして構成されたプログラムに基づくものであることとしている。つまり、対象メディアに対して汎用性を有するように配慮された処理手順とされているものである。また、半導体メモリ素子であっても、LBA(セクタ番号)の離れた物理領域にデータを書き込む場合には、何らかの要因によって、データ転送レートに差が生じる可能性も完全に排除することはできないので、ステップS304以降の処理が必ずしも蛇足であることにはならないと考えられる。
ステップS304以降の処理について説明する。
本実施の形態では、FAT1,FAT2以外のデータ転送レート測定のための読み出し用領域、書き込み用領域として、そのパーティションにおいて、LBA(セクタ番号)の終端側に近いとされる所定領域を設定する。これらの領域は、例えばデータ領域内に在るものとされ、LBA(セクタ番号)としてみた場合には、FAT1,FAT2に対してより下位となる領域なので、それぞれ、読み出し用下位LBA領域、書き込み用下位LBA領域ということにする。
そして、ステップS304においては、上記読み出し用下位LBA領域、書き込み用下位LBA領域をデータ読み出し/書き込み対象領域として、ステップS301に準じた処理を実行する。つまり、先ず最初は、読み出し用下位LBA領域の先頭から256セクタを読み出して、この読み出したデータを書き込み用下位LBA領域に対して書き込むようにされる。そして、ステップS305において、これまでに実行したステップS304の処理について必要回数分が終了したか否かについて判別することとして、必要回数を満たしていないのであれば、ステップS304の処理を再度実行する。また、2回目以降のステップS304の処理は、前回のステップS304により読み出されたデータに続く256セクタのデータの読み出しを実行するようにされる。
また、ここでは、読み出し用下位LBA領域、書き込み用下位LBA領域は、それぞれFAT1、FAT2と同様のサイズを設定すべきものとする。これにより、上記ステップS304としてのデータ転送レート測定処理は、ステップS301と同じ回数実行されることになる。このようにして、本実施の形態では、ステップS304の処理そのものについてもステップS301に準じたものとし、また、ステップS304の繰り返し回数、つまり、データ転送レートの測定回数としても同じとしている。つまり、ステップS301,S304は、データの読み出し/書き込み対象となる領域以外については、同等の条件でデータ転送レートを測定することとしているものである。
ステップS305において判定される必要回数としては、ステップS301の処理の繰り返し回数と同じであることになる。そして、ステップS304の処理を所定回数繰り返した結果、ステップS305にて肯定の判別結果が得られて、ステップS304の処理を終了し、ステップS306に進むことになる。
ステップS306においては、ステップS304の処理により測定したデータ転送レートの値について、測定値A2として保持するようにされる。
そして、続くステップS307において、測定値A1,A2に基づいて本測定値A3を求めるための処理を実行する。この処理の実際としては、例えば測定値A1,A2の平均値を算出して本測定値A3とすることが考えられるが、ここでは、測定値A1,A2を比較して、低い方の測定値、つまり、データ転送レートの性能としては劣る方の測定値を、本測定値A3として得るようにされる。
このようにして取得した本測定値A3が、ステップS106におけるデータ転送レート測定処理の測定結果として扱われる。
ところで、図9のステップS301の処理では、データの読み出し/書き込みのために、FAT1,FAT2の各領域に対してアクセスする必要がある。このFAT1,FAT2に対するアクセスの手順を、図10のフローチャートにより説明しておくこととする。また、図10の説明の流れにおいて、必要に応じて図11を参照する。図11は、FATファイルシステムによるメディアのフォーマット構造としてFAT32の場合を示している。従って、ここでは、FAT32によるフォーマット構造の場合を例に説明する。
FAT1,FAT2の領域にアクセスするためには、先ず、図10のステップS401に示すようにして、MBRにアクセスする。MBRは、図3に示したように、先頭セクタ(LBA=0)に位置する領域で、図4(a)に示したように、起動コードと、これに続くパーティションテーブルとから成る。そして、ステップS401では、アクセスしたMBRのパーティションテーブルのうちから、データ転送レート測定のためのデータ書き込み/読み出し対象として決められたFAT領域(FAT1,FAT2)を含むパーティション(対象パーティション)のパーティションテーブルを参照する。
パーティションテーブルには、図4(b)に示すようにして、対応するパーティションの開始位置情報として、CHS表現による開始セクタ(CHS)と、LBA表現による開始セクタ(LBA)の情報が格納されている。ステップS402としては、上記ステップS401にて参照したパーティションテーブルから、開始セクタの情報を取得するのであるが、ここでは、LBA表現による開始セクタ(LBA)の情報を取得する。
ここで、上記ステップS402により取得した開始セクタ(LBA)が示す数値をAとすると、この開始セクタ(LBA)は、MBRが位置するLBA=0を起点として、LBA=Aとなるセクタ位置を示すことになる。そして、LBA=Aとなるセクタ位置が、図11に示すようにして、対象パーティションの開始位置となる。
このようにして、開始セクタ(LBA)が示すとおりにアクセスした対象パーティションの開始位置には、BPBが配置されている。前述もしたように、BPBには、FAT領域の数、メインのFAT領域の開始セクタ、FAT領域のセクタ数などの、現パーティション内のFAT領域に関する情報が格納されている。
そこで、ステップS402に続くステップS403では、対象パーティションの先頭となるBPBにアクセスして、その内容を参照し、次のステップS404の処理によりBPBから、BPB_RsvdSecCntとしての値を取得する。このBPB_RsvdSecCntは、パーティション開始セクタ(BPBの開始セクタ)から、FAT領域の開始位置までの予約セクタ数を示すものであり、従って、対象パーティションの開始セクタ(BPBの開始セクタ)を起点として、FAT領域の開始セクタを示す情報となるものである。
また、ステップS405では、同じく、ステップS403によりBPBを参照した結果として、BPBからBPB_FATSz32としての値を取得する。BPB_FATSz32は、1つのFAT領域のサイズを示す。
ステップS406では、これまでの処理結果を利用して、対象パーティション内のFAT1の開始位置を算出する。
この算出処理例としては、例えば前述もしたように、ステップS402にて取得した対象パーティションの開始セクタ(LBA)の値をAとするとともに、ステップS404において取得したBPB_RsvdSecCntの値をBとして、A+Bの演算を実行する。
このA+Bの演算結果としての値が、メディア上における対象パーティション内のFAT1の開始位置を、絶対セクタ番号(絶対LBA値)により表すものとなる。つまり、図11に示すようにして、メディアにおける先頭セクタ(絶対LBA値=0)を起点として絶対LBA値=Aとなるセクタは、対象パーティションの先頭セクタ(BPBの開始セクタでもある)となる。そして、この対象パーティションの先頭セクタである絶対LBA値=Aを起点として、BPB_RsvdSecCntの値Bの分シフトさせた相対セクタ位置が、同じ対象パーティションのFAT1の開始位置となる。従って、FAT1の開始位置は、絶対LBAの値としてはA+Bで表されることになる。
また、ステップS407では、同じく、これまでの処理結果を利用して、対象パーティション内のFAT2の開始位置を算出する。
このためには、上記のようにして、ステップS402にて取得した対象パーティションの開始セクタ(LBA)の値をA、ステップS404において取得したBPB_RsvdSecCntの値をBとし、さらにステップS405により取得したBPB_FATSz32の値をCとして、A+B+Cの演算を実行する。
このA+B+Cの演算により得られる値は、図11に示すようにして、FAT2の先頭セクタを絶対LBA値により示すものとなる。つまり、上記しているように、A+Bにより得られる値が、対象パーティションのFAT1の先頭セクタを絶対LBA値により示しているのであるから、このFAT1の先頭セクタを起点として、値C分をシフトさせたセクタ位置は、FAT2の開始セクタであることになる。このようにして、A+B+Cは、FAT2の先頭セクタを示していることが分かる。
そして、先に図9に示したステップS301の処理の1回目においてFAT1のデータを読み出すときには、上記ステップS406により算出して取得したによる絶対LBA値(A+B)のセクタにアクセスする。これにより、FAT1の先頭クラスタにアクセスできることになる。そして、2回目以降、ステップS301の処理を繰り返すときには、その都度、256(セクタ)を加算した絶対LBA値が示すセクタにアクセスするようにされる。これにより、前回読み出しを行ったデータの次のセクタからの読み出しが行われることになる。
また、同じステップS301の処理の1回目においてFAT2にデータを書き込むときには、上記ステップS407により算出して取得した絶対LBA値(A+B+C)のセクタにアクセスすることで、FAT2の先頭クラスタにアクセスできることになる。また、この場合にも、2回目以降のステップS301の処理を実行するときには、その都度、256(セクタ)を加算した絶対LBA値が示すセクタにアクセスするようにされる。
ここで、説明を図6に戻す。
これまでの説明のようにして、ステップS106としての新規接続されたCFについてのデータ転送レートの測定結果が、本測定値A3として得られたとすると、続いては、ステップS107の処理を実行する。
ステップS107は、今回新規に接続されたCFを、メディア登録テーブルに対して登録するための処理を実行する。
このためには、先ず、図12のステップS501として示すようにして、転送レート−レベル変換テーブルを参照する。この転送レート−レベル変換テーブルは、ステップS106により得られたデータ転送レートの測定値(本測定値A3)を、データ処理レベルに変換するためのテーブル情報であり、例えば、不揮発性メモリ12a或いはROM11などに記憶される。
この場合の転送レート−レベル変換テーブルの構造概念を、図13に示す。この図に示すようにして、転送レート−レベル変換テーブルは、ステップS106により得られたデータ転送レートの測定値(本測定値A3)について所定範囲で区分し、その区分ごとに異なるデータ処理レベルを対応させるようにして形成される。
この場合には、説明を分かりやすいものとするために、データ転送レベルの測定値については、具体的数値を示している。この場合には、データ転送レートの測定値について、良好なほうから、[40Mbps以上]、[20Mbps以上〜40Mbps未満]、[10Mbps以上〜20Mbps未満]、[10Mbps未満]の4つの範囲に区分している。そして、[40Mbps以上]の区分には、データ処理レベルとして最高のレベル3を対応させる。以降、[20Mbps以上〜40Mbps未満]の区分には、2番目のレベル2を対応させ、[10Mbps以上〜20Mbps未満]の区分にはレベル1を対応させ、[10Mbps未満]にはレベル0を対応させる。
そして、ステップS501としては、この転送レート−レベル変換テーブルにアクセスして読み出しを行って参照することで、ステップS106により得られたデータ転送レートの測定値(本測定値A3)が対応するデータ処理レベルを認識する。例えばデータ転送レートの測定値(本測定値A3)が27Mbpsであるとすれば、この値を含むデータ転送レートの区分は、[20Mbps以上〜40Mbps未満]であり、レベル2が対応する。従って、データ処理レベルとしてはレベル2であると認識されたことになる。このようにして、ステップS501の処理としての、データ転送レートの測定値をデータ処理レベルに変換する処理が実行されることになる。
次のステップS502においては、今回新規に接続されたCFをメディア登録テーブルに登録するための処理を実行する。このためには、先のステップS102の処理により取得したメディア識別情報と、上記ステップS501により取得したデータ処理レベルとを対応させたテーブル項目としての情報をメディア登録テーブルに追加するようにしてデータの更新処理を実行する。
このようにして、図6のステップS107としてのメディア登録テーブルへの新規登録処理が実行される。
ステップS107の処理を経た場合には、次のステップS108のアプリケーションの処理モード設定として、例えば図12のステップS501にて得られたデータ処理レベルをセットすることになる。従って、接続されたCFが、このデジタルビデオカメラ1に対してははじめて接続されたものである(メディア登録テーブルには未登録である)としてステップS104にて否定結果が得られた場合には、この接続されたCFについてのデータ処理レベル判定について、ステップS501によるデータ転送レートの測定値をデータ処理レベルに変換する処理として実現していることになる。また、この場合においても、データ処理レベルの判定は、ステップS106により得られたデータ転送レートの測定値に基づいて行われるものであり、従って、この場合にも、データ処理レベル判定は、すなわち、データ転送レートの判定と同義であると見てよい。
参考として、図2に示したファイルシステム階層モデルにおいて、ファイルシステム101、及びアプリケーション100の内部機能についてより詳細に示した構成例を、図14に示しておくこととする。なお、この図においても、図2と同様に、アプリケーション100、ファイルシステム101、デバイスドライバ102、及びメディア103によるシステム階層モデル全体を示している。
この図に示すようにして、ファイルシステム101としてソフトウェアが実行する処理を機能ブロックとしてみた場合には、記録制御部200及びメディア制御部210を備えて構成されるものとみることができる。
記録制御部200は、メディアに対するデータの記録(書き込み)及び読み出しに関する各種制御処理を実行するもので、ディレクトリエントリ制御部201、FAT制御部202、及びクラスタ制御部203を備える。また、メディア制御部210は、ファイルシステムがメディアに対するコントロールを行うために、デバイスドライバ102側とデータの授受を行うことが可能な機能部位として位置算出部211を備える。
記録制御部200内のディレクトリエントリ制御部201は、例えばメディアに対するファイルの書き込み、消去などのデータ処理結果に応じてディレクトリエントリを作成、削除、更新するなど、ディレクトリエントリについての各種所要の制御処理を実行する。FAT制御部202は、メディアに対するファイルデータ処理結果に応じてFAT領域における所定のFATエントリについての書き換えを実行するなど、FAT領域についての各種所要の制御処理を実行する。クラスタ制御部203は、ファイルシステム内での処理がクラスタレベルで実行されるようにするための各種制御処理を実行する。
例えばメディアに書き込むためのデータが、ファイル単位の処理としてアプリケーション100から渡されてきたとすると、クラスタ制御部203は、このファイルレベルのデータをクラスタレベルによるデータに変換する。そして、このクラスタレベルによるデータについてのメディアへの書き込みを、メディア制御部210の位置算出部211に指示する。
位置算出部211では、FAT制御部202により管理しているFAT領域の内容を参照して認識されるメディアの未使用領域のうちから、ファイルのデータを書き込むべきクラスタの位置(クラスタ番号)を算出する。そして、デバイスドライバ102に対して、書き込むべきクラスタ単位のデータを受け渡すと共に、このデータを書き込むべきクラスタ番号を指示する。デバイスドライバ102は、指示されたクラスタ番号について最終的には、メディア上の記憶領域の物理セクタのアドレスに変換して、セクタレベルによりメディアへのデータの書き込みを実行するようにされる。
また、これとともに、ファイルシステムでは、上記のようにしてメディアに書き込まれて記憶されるファイルがFATファイルシステム上で適正に管理されるように、ディレクトリエントリ及びFAT領域についての書き換え(更新)を行う。
例えば先ず、ディレクトリエントリ制御部201により今回記録するファイルについてのディレクトリエントリを作成する。このときには、FAT制御部202と連携して、FAT領域における空き領域から、ファイルを記録すべきクラスタを決定する。これに伴い、ディレクトリエントリにおける開始クラスタに格納する値も決まることになる。また、ファイルを記録すべきクラスタが決定されるのに応じて、FAT制御部202は、FAT領域において、このファイルについてのクラスタチェインなどの内容が示されるように、所要のクラスタ番号のFATエントリの値を書き換える。
そして、このようにして作成したディレクトリエントリ、及びFAT領域の書き換え内容を、先の説明と同様にして、クラスタ制御部203及びメディア制御部210(位置算出部211)の処理によって、メディアの所定領域に書き込んで記憶させる。
また、あくまでも一例であるが、例えば本実施の形態のデータ転送レート対応処理に対応したプログラム構成を有するアプリケーション100としては、撮像画像を動画形式のファイルとして記録するためのアプリケーションプログラムである、動画記録プログラム100a、また、メディアに記録された動画ファイルを再生するアプリケーションプログラムである動画再生プログラム100b、撮像画像を静止画として記録するための静止画記録プログラム100c、メディアに記録されている静止画のファイルを再生する静止画再生プログラム100dなどのファイルの記録再生に関するアプリケーションプログラムを実装することが考えられる。また、本実施の形態としては、これらのファイル記録再生プログラムに対するデータ処理レベルの設定を、図6に示す処理手順により実行するためのプログラムである、処理モード設定プログラム100eも実装するようにされる。さらにここでは、ユーザインターフェイスを司るユーザインターフェイスプログラム100fも実装することとしている。
ところで、図9において説明したように、本実施の形態のデータ転送レートの測定にあたっては、FAT1、FAT2だけではなく、これより下位のセクタ位置となる、読み出し用下位LBA領域及び書き込み用下位LBA領域も、データ読み出し/書き込みのための領域として使用して良いこととなっている。
このときに、複数のパーティションを形成してフォーマットしたメディア(CF)を対象とした場合、データ読み出し/書き込みが行われるFAT1、FAT2を含むパーティションと、読み出し用下位LBA領域及び書き込み用下位LBA領域を含むパーティションとについて同一とすべきか否かを考える必要が出てくるが、本実施の形態としては、同一であることとしても、それぞれ異なるものであるとしてもよい。
両者のパーティションをそれぞれ異なるものとした場合には、例えば、最上位のセクタ領域のパーティションと、最下位のセクタ領域のパーティションとに分けることとすれば、1つのメディア全体のデータ転送レートの測定値についてほぼ最良に近い値と、最低に近い値が得られるので、相応に高い信頼性の測定結果を得ることが可能になる。
これに対して、例えば複数のパーティションを形成しているとしても、常に使用するパーティションは特定の1つのみに限定されるような使用環境では、両者を含むパーティションについて、この常に使用されるパーティションで同一とすることで、データ転送レートの測定結果はかえって高い信頼性が得られることになる。また、使用するパーティションが特定されないような環境であれば、例えばメディア登録テーブルのメディア識別情報として、パーティションのレベルまで識別可能な情報構造を与えるようにすることで、パーティションごとのデータ転送レートに応じたデータ処理レベルが設定可能になる。
また、データ転送レート測定のためのデータ読み出し/書き込みの領域として、FAT領域(FAT1,FAT2の各領域)を使用することは、FAT領域の各サイズが、データ転送レート測定のために必要なデータ読み出し/書き込み量との兼ね合いで適正であることや、パーティション、メディアにおいて先頭セクタに近い位置にあってアクセスがしやすいことなどの理由できわめて妥当ではある。しかしながら、本発明の概念としては、必ずしもFAT領域を使用すべきとする必要はなく、例えばファイルの記録再生に支障がない限り、他の領域が使用されてかまわない。
また、本実施の形態としては、FAT1をメインのFAT領域としたうえで、FAT2の領域を、データ転送レート測定のためのデータの試し書き領域として使用しているが、前述もしたように、FAT2は、FAT1の予備領域、バックアップ領域として、FAT1と同様の内容をコピーすべきものとして使用する場合がある。従って、上記のようにしてFAT2をデータ転送レート測定のための試し書き領域として使用した場合には、FAT2が予備領域、バックアップ領域として機能しなくなる。
この問題を解決する手法としてはいくつ考えられるが、ここで2例を挙げておくこととする。
例えば、FAT2に対するデータの試し書きは、そのメディア(CF)が1つのホストに対してはじめて接続されたときに、データ転送レートの測定のために1回のみ実行されるもので頻繁には行われるものではない。また、データ転送レートの測定が終了した段階のFAT2の内容は、単に試し書きのデータが書き込まれているのにすぎず、特に意味を成すものとはいえず、従って、その後に試し書き後の内容が変更されたとしても、ファイルシステムの動作に支障はない。
そこで、データ転送レート測定が終了した所定のタイミングで、FAT2については、FAT1の内容を完全にコピーする、あるいは所定のデータ内容に初期化するなどして、実際の用途に適合させた内容を形成するようにすればよい。
あるいは、FAT領域について、メイン領域となるFAT1と、データ転送レート測定の試し書き領域としてのFAT2のほかに、さらにバックアップ、予備領域などとしての所要数のFAT領域を有する、3以上のFAT領域を形成するフォーマットを採用する。BPB内には、BPB_NumFATsといわれる、FAT領域数を示す情報が格納されている。そこで、このBPB_NumFATsについて、実際に必要とされるFAT領域数に応じた3以上の所要値を設定してメディアフォーマットを実行すれば、3以上のFAT領域が形成される構造を得ることができる。
また、実施の形態では、メディアの記録データを管理するためのファイルシステムとして、FATファイルシステムを採用することとしているが、例えばHSF(Hierarchical File System)などをはじめとする他のファイルシステムとされてもよいものであり、ファイルシステムの規格に関しては特に限定されるべきものではない。
また、本発明としては、図14において、動画記録プログラム100a、動画再生プログラム100b、静止画記録プログラム100c、静止画再生プログラム100dなどが示されていることからも分かるように、データ処理レベル(データ転送レート)に応じてデータ処理モードを変更設定可能なアプリケーションプログラムとしては、複数が存在してよい。また、1つのアプリケーションプログラムにおいて、複数の異なるデータ処理ごとについて、データ処理レベルに応じた処理モードの設定変更が行えるようにもされるべきである。
また、データ処理レベルの段階数と、データ処理レベルごとに対応させたデータ転送レートの範囲区分は、実際のデータ処理内容に応じて適宜変更されるべきものとなる。
従って、上記のようにして、データ処理レベルに応じた処理モードの変更を、複数のアプリケーションプログラムや、1アプリケーションプログラムにおける複数のデータ処理を対象として実行する場合には、それぞれのデータ処理内容に応じて、上記データ処理レベルの段階数と、データ転送レートの範囲区分との対応を変更して良いものであり、また、そのほうが好ましい。
また、これまでの実施の形態の説明では、データ転送レートに応じてデータ処理レベルを変更する対象となるメディア(記憶媒体、記憶装置)として、コンパクトフラッシュ(CF)を例に挙げているが、例えば図9に示す処理について、メディアに対する汎用性を考慮していることからも示唆されるように、本発明としては、対象のメディアについて特に限定されるべきではなく、他の半導体記憶装置とされてもよい。また、図1においてメディアコントローラ13と接続されている半導体記憶装置以外のメディア、さらには図1においてメディアコントローラ13と接続されているもの以外の各種メディアとされてよい。また、例えばケーブル、コネクタなどの物理的接続手段を用いて接続されるメディアの他、Bluetooth、無線LAN(Local Area Network)などにより、ホストと無線により接続されるメディアを対象とすることも考えられる。
また、上記実施の形態では、本発明の情報処理装置としても、実施の形態に挙げたデジタルビデオカメラに限定されるべきものではなく、例えば、デジタルスチルカメラ、テレビジョン放送番組の予約録画機器、さらにはパーソナルコンピュータをはじめ、これに準じた各種情報処理機器など、外部メディア(外部記憶媒体)に対応してデータ書き込み/読み出しなどのデータ処理が可能な機器であれば、本発明が適用できる。
本発明の実施の形態のデジタルビデオカメラの構成例を示すブロック図である。 FATファイルシステムのシステム構成を階層モデルにより示す図である。 FATファイルシステムにおけるメディアのフォーマット構造を示す図である。 FATファイルシステムにおけるMBRの構造を示す図である。 メディアのデータ転送レート(データ処理レベル)と、データ処理(解像度設定)との対応設定の具体例を示す図である。 メディア(コンパクトフラッシュ)が新規に接続された場合における、アプリケーションのデータ処理設定のための処理を示すフローチャートである。 メディア識別情報取得のための処理を示すフローチャートである。 メディア登録テーブルの構造例を示す図である。 メディアのデータ転送レート測定のための処理を示すフローチャートである。 FAT1,FAT2へのアクセスのための処理を示すフローチャートである。 図10の処理に対応するFAT1,FAT2へのアクセス手順を模式的に示す図である。 メディア登録テーブルへの新規登録のための処理を示すフローチャートである。 転送レート−レベル変換テーブルの構造例を示す図である。 ファイルシステム階層構造における処理機能について、実施の形態に対応させて示す図である。
符号の説明
1 デジタルビデオカメラ、2 光学系部、3 光電変換部、4 ビデオ信号処理部、5 画像入出力部、6 カメラ機能部、7 表示部、8 音声処理部、9 音声入出力部、10 CPU、11 ROM、12 RAM、13 メディアコントローラ、15 操作入力部、16 通信部、100 アプリケーション、100a 動画記録プログラム、100b 動画再生プログラム、100c 静止画記録プログラム、100d 静止画再生プログラム、100e 処理モード設定プログラム、100f ユーザインターフェイスプログラム、101 ファイルシステム、102 デバイスドライバ、200 記録制御部、201 ディレクトリエントリ、202 FAT制御部、203 クラスタ制御部、210 メディア制御部、211 位置算出部

Claims (6)

  1. 外部記憶媒体が接続される記憶媒体接続手段と、
    上記記憶媒体接続手段と接続された上記外部記憶媒体についてのデータ転送レートを判定する判定手段と、
    上記記憶媒体接続手段と接続された上記外部記憶媒体に対するデータの書き込み及び/又は読み出しを伴う所定のデータ処理を実行可能なデータ処理実行手段と、
    上記判定手段により判定されたデータ転送レートに応じて、上記データ処理実行手段が実行可能とされている特定のデータ処理についての実行の可否を設定する設定手段と、
    を備えていることを特徴とする情報処理装置。
  2. 上記記憶媒体接続手段と接続された上記外部記憶媒体についてのデータ転送レートを測定する測定手段をさらに備え、
    上記判定手段は、上記測定手段の測定結果に基づいて判定を行うようにされている、
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 上記記憶媒体を単体ごとに識別可能な媒体識別情報と、この媒体識別情報により識別される記憶媒体のデータ転送レートを示す情報である転送レート情報とを少なくとも対応付けて形成される媒体別転送レート情報を保持する保持手段と、
    上記記憶媒体接続手段と接続された上記外部記憶媒体から、上記媒体識別情報を取得する取得手段とをさらに備え、
    上記判定手段は、
    上記媒体識別転送レート情報を参照して、上記取得手段により取得した媒体識別情報と一致する媒体識別情報が検索された場合には、この検索された媒体識別情報に対応付けられた転送レート情報に基づいて判定を行い、
    上記取得手段により取得した媒体識別情報と一致する媒体識別情報が検索されなかった場合には、上記測定手段の測定結果に基づいて判定を行うようにされている、
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 上記判定手段が上記媒体識別転送レート情報を参照して、上記取得手段により取得した媒体識別情報と一致する媒体識別情報が検索されなかった場合において、上記取得手段により取得した媒体識別情報と、上記測定手段の測定結果に基づいて得た転送レート情報とを対応付けた情報内容が付加されるようにして、上記媒体別転送レート情報を生成する生成手段と、
    を備えることを特徴とする請求項3に記載の情報処理装置。
  5. 少なくともデータの書き込み/読み出しを含む通信が可能に接続された外部記憶媒体についてのデータ転送レートを判定する判定手順と、
    上記接続された外部記憶媒体に対するデータの書き込み及び/又は読み出しを伴う所定のデータ処理を実行可能なデータ処理実行手順と、
    上記判定手順により判定されたデータ転送レートに応じて、上記データ処理実行手順が実行可能とされている特定のデータ処理についての実行の可否を設定する設定手順と、
    を実行することを特徴とする情報処理方法。
  6. 少なくともデータの書き込み/読み出しを含む通信が可能に接続された外部記憶媒体についてのデータ転送レートを判定する判定手順と、
    上記接続された外部記憶媒体に対するデータの書き込み及び/又は読み出しを伴う所定のデータ処理を実行可能なデータ処理実行手順と、
    上記判定手順により判定されたデータ転送レートに応じて、上記データ処理実行手順が実行可能とされている特定のデータ処理についての実行の可否を設定する設定手順と、
    を情報処理装置に実行させるプログラム。
JP2004332943A 2004-11-17 2004-11-17 情報処理装置、情報処理方法、プログラム Expired - Fee Related JP4734898B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004332943A JP4734898B2 (ja) 2004-11-17 2004-11-17 情報処理装置、情報処理方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004332943A JP4734898B2 (ja) 2004-11-17 2004-11-17 情報処理装置、情報処理方法、プログラム

Publications (2)

Publication Number Publication Date
JP2006146401A true JP2006146401A (ja) 2006-06-08
JP4734898B2 JP4734898B2 (ja) 2011-07-27

Family

ID=36626027

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004332943A Expired - Fee Related JP4734898B2 (ja) 2004-11-17 2004-11-17 情報処理装置、情報処理方法、プログラム

Country Status (1)

Country Link
JP (1) JP4734898B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008118294A (ja) * 2006-11-01 2008-05-22 Canon Inc 撮像装置及びその制御方法
JP2012108884A (ja) * 2010-10-20 2012-06-07 Canon Inc 通信制御装置およびその制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329469A (ja) * 1995-06-02 1996-12-13 Sony Corp データ記録装置
JPH09322106A (ja) * 1996-05-31 1997-12-12 Canon Inc 撮像記録装置
JPH10233986A (ja) * 1997-02-21 1998-09-02 Hitachi Ltd 映像信号記録装置
JP2001036904A (ja) * 1999-07-16 2001-02-09 Fuji Photo Film Co Ltd 信号処理装置
JP2004227676A (ja) * 2003-01-23 2004-08-12 Sony Corp 記録装置および記録制御方法、ならびに、記録再生装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08329469A (ja) * 1995-06-02 1996-12-13 Sony Corp データ記録装置
JPH09322106A (ja) * 1996-05-31 1997-12-12 Canon Inc 撮像記録装置
JPH10233986A (ja) * 1997-02-21 1998-09-02 Hitachi Ltd 映像信号記録装置
JP2001036904A (ja) * 1999-07-16 2001-02-09 Fuji Photo Film Co Ltd 信号処理装置
JP2004227676A (ja) * 2003-01-23 2004-08-12 Sony Corp 記録装置および記録制御方法、ならびに、記録再生装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008118294A (ja) * 2006-11-01 2008-05-22 Canon Inc 撮像装置及びその制御方法
JP2012108884A (ja) * 2010-10-20 2012-06-07 Canon Inc 通信制御装置およびその制御方法
US9256561B2 (en) 2010-10-20 2016-02-09 Canon Kabushiki Kaisha Communication control apparatus and method of controlling the same

Also Published As

Publication number Publication date
JP4734898B2 (ja) 2011-07-27

Similar Documents

Publication Publication Date Title
US6675276B2 (en) Method for providing extensible dos-fat system structures on one-time programmable media
JP5378378B2 (ja) 変更検出を許容するコード化リムーバブル記憶装置
US20070198595A1 (en) Information processing apparatus, information processing method, and program
US8296272B2 (en) Information processing apparatus, information processing method, and program
US20080212225A1 (en) Information processing apparatus, information recording medium, and information processing method, and computer program
EP1826663A2 (en) Apparatus, method and computer program for processing information
JP4487954B2 (ja) データ記録装置、データ記録方法、及びプログラム
JP4734898B2 (ja) 情報処理装置、情報処理方法、プログラム
JP2007108853A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2006178633A (ja) 情報処理装置、情報処理方法、プログラム
JP2006260158A (ja) 情報処理装置、情報処理方法、プログラム
JP2007059004A (ja) 情報処理装置および方法、プログラム並びに記録媒体
JP2006155461A (ja) 情報処理装置、情報処理方法、並びにプログラム
JP4561323B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2005086737A (ja) 記録装置、記録方法、撮像装置および撮像方法
JP2006252096A (ja) 記録装置および方法、並びにプログラム
JP2006146812A (ja) 情報処理装置、情報処理方法、プログラム
JP2006164017A (ja) 情報処理装置、情報処理方法、プログラム
US7424573B2 (en) Information processing apparatus, method, and program for formatting multiple recording media integrated as one
JP2006133855A (ja) 情報処理装置、情報処理方法、プログラム
JP2006178632A (ja) 情報処理装置、情報処理方法、プログラム
JP4586533B2 (ja) 記録装置、アドレス変換装置、記録制御方法および記録制御プログラム
JP2010049734A (ja) 情報処理装置、転送システム
JP2007264870A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2006139845A (ja) 情報処理装置、情報処理方法、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070822

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100715

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110411

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

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees