(57)【特許請求の範囲】
【請求項１】
電子機器であって、
動画データを記憶する記憶手段と、
前記記憶手段に記憶されている動画データを前記電子機器に接続された表示装置に転送する第１のデータ転送手段と、
前記記憶手段に記憶されている動画データを前記電子機器に接続された記録装置に転送する第２のデータ転送手段と、
前記第１のデータ転送手段および前記第２のデータ転送手段のいずれかを選択する選択手段と、
前記第１のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記表示装置に転送する第１のデータ転送処理と前記第２のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記記録装置に転送する第２のデータ転送処理とが所定の時間ごとに繰り返し行われる場合であって、前記第２のデータ転送処理が前記第１のデータ転送処理が行われた後に行われる場合は、前記第２のデータ転送処理が行われることによって前記記録装置に転送されるデータのサイズを、前記所定の時間と前記第１のデータ転送処理に要する時間との差分と前記記録装置のインターフェース速度とに基づいて制御する制御手段と
を有することを特徴とする電子機器。
【請求項２】
前記所定の時間は、前記表示装置が前記動画データの１つのフレームを表示する時間に相当することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記記録装置のインターフェース速度を検出する検出手段をさらに有し、
前記記録装置のインターフェース速度が第１のインターフェース速度である場合は、前記第２のデータ転送処理が行われることによって前記記録装置に転送されるデータのサイズを第１のサイズとし、
前記記録装置のインターフェース速度が前記第１のインターフェース速度よりも遅い第２のインターフェース速度である場合は、前記第２のデータ転送処理が行われることによって前記記録装置に転送されるデータのサイズを前記第１のサイズよりも小さい第２のサイズとすることを特徴とする請求項１または２に記載の電子機器。
【請求項４】
動画データを記憶する記憶手段と、
前記記憶手段に記憶されている動画データを電子機器に接続された表示装置に転送する第１のデータ転送手段と、
前記記憶手段に記憶されている動画データを前記電子機器に接続された記録装置に転送する第２のデータ転送手段と、
前記第１のデータ転送手段および前記第２のデータ転送手段のいずれかを選択する選択手段と
を有する前記電子機器の制御方法であって、
前記第１のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記表示装置に転送する第１のデータ転送処理と前記第２のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記記録装置に転送する第２のデータ転送処理とが所定の時間ごとに繰り返し行われる場合であって、前記第１のデータ転送処理が行われた後に前記第２のデータ転送処理が行われる場合は、前記第２のデータ転送処理が行われることによって前記記録装置に転送されるデータのサイズを、前記所定の時間と前記第１のデータ転送処理に要する時間との差分と前記記録装置のインターフェース速度とに基づいて制御するステップ
を有することを特徴とする制御方法。
【請求項５】
電子機器として機能するコンピュータを、
動画データを記憶する記憶手段と、
前記記憶手段に記憶されている動画データを前記電子機器に接続された表示装置に転送する第１のデータ転送手段と、
前記記憶手段に記憶されている動画データを前記電子機器に接続された記録装置に転送する第２のデータ転送手段と、
前記第１のデータ転送手段および前記第２のデータ転送手段のいずれかを選択する選択手段と、
前記第１のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記表示装置に転送する第１のデータ転送処理と前記第２のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記記録装置に転送する第２のデータ転送処理とが所定の時間ごとに繰り返し行われる場合であって、前記第２のデータ転送処理が前記第１のデータ転送処理が行われた後に行われる場合は、前記第２のデータ転送処理が行われることによって前記記録装置に転送されるデータのサイズを、前記所定の時間と前記第１のデータ転送処理に要する時間との差分と前記記録装置のインターフェース速度とに基づいて制御する制御手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置などの電子機器、制御方法およびプログラムに関する。
【背景技術】
【０００２】
特許文献１には、回路や大規模なバッファを追加せずに、簡単な制御で効率的なデータ転送を実現する制御方法が記載されている。具体的には、マスタ装置の転送要求に対するスレーブ装置の応答信号をカウントし、さらに、データ転送完了信号をカウントすることでフロー制御を効率的に行うための制御方法が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−２４９６６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載されている技術では、マスタ装置の都合で複数の外部機器（スレーブ装置）のいずれかに優先的に転送を行うことはできるが、複数の外部機器に対する転送量をマスタ装置の動作状況に応じて制御することは行われていない。
【０００５】
例えば、カメラなどの電子機器では、複数の外部機器としてメモリカードとＰＣ（パーソナルコンピュータ）とが接続される場合がある。例えば、ＰＣにプレビュー画像を転送しながらメモリカードに画像データを記録させたい場合、プレビュー画像の転送には即時性を実現するためのデータ転送が要求され、画像データの記録には所定の速度を維持したデータ転送が要求される。しかしながら、特許文献１に記載されている技術では、これらの要求を満たすことはできなかった。
【０００６】
そこで、本発明は、複数の外部機器に対する転送量を自装置の動作状況に応じて制御し、複数の外部機器に対して十分な速度でデータ転送を行うことができる電子機器を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る電子機器は、電子機器であって、動画データを記憶する記憶手段と、前記記憶手段に記憶されている動画データを前記電子機器に接続された表示装置に転送する第１のデータ転送手段と、前記記憶手段に記憶されている動画データを前記電子機器に接続された記録装置に転送する第２のデータ転送手段と、前記第１のデータ転送手段および前記第２のデータ転送手段のいずれかを選択する選択手段と、前記第１のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記表示装置に転送する第１のデータ転送処理と前記第２のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記記録装置に転送する第２のデータ転送処理とが所定の時間ごとに繰り返し行われる場合であって、前記第２のデータ転送処理が前記第１のデータ転送処理が行われた後に行われる場合は、前記第２のデータ転送処理が行われることによって前記記録装置に転送されるデータのサイズを、前記所定の時間と前記第１のデータ転送処理に要する時間との差分と前記記録装置のインターフェース速度とに基づいて制御する制御手段とを有する。
本発明に係る制御方法は、動画データを記憶する記憶手段と、前記記憶手段に記憶されている動画データを電子機器に接続された表示装置に転送する第１のデータ転送手段と、前記記憶手段に記憶されている動画データを前記電子機器に接続された記録装置に転送する第２のデータ転送手段と、前記第１のデータ転送手段および前記第２のデータ転送手段のいずれかを選択する選択手段とを有する前記電子機器の制御方法であって、前記第１のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記表示装置に転送する第１のデータ転送処理と前記第２のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記記録装置に転送する第２のデータ転送処理とが所定の時間ごとに繰り返し行われる場合であって、前記第１のデータ転送処理が行われた後に前記第２のデータ転送処理が行われる場合は、前記第２のデータ転送処理が行われることによって前記記録装置に転送されるデータのサイズを、前記所定の時間と前記第１のデータ転送処理に要する時間との差分と前記記録装置のインターフェース速度とに基づいて制御するステップを有する。
本発明に係るプログラムは、電子機器として機能するコンピュータを、動画データを記憶する記憶手段と、前記記憶手段に記憶されている動画データを前記電子機器に接続された表示装置に転送する第１のデータ転送手段と、前記記憶手段に記憶されている動画データを前記電子機器に接続された記録装置に転送する第２のデータ転送手段と、前記第１のデータ転送手段および前記第２のデータ転送手段のいずれかを選択する選択手段と、前記第１のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記表示装置に転送する第１のデータ転送処理と前記第２のデータ転送手段が前記記憶手段に記憶されている動画データの一部を前記選択手段を介して前記記録装置に転送する第２のデータ転送処理とが所定の時間ごとに繰り返し行われる場合であって、前記第２のデータ転送処理が前記第１のデータ転送処理が行われた後に行われる場合は、前記第２のデータ転送処理が行われることによって前記記録装置に転送されるデータのサイズを、前記所定の時間と前記第１のデータ転送処理に要する時間との差分と前記記録装置のインターフェース速度とに基づいて制御する制御手段として機能させる。
【発明の効果】
【０００８】
本発明によれば、複数の外部機器に対する転送量を自装置の動作状況に応じて制御し、複数の外部機器に対して十分な速度でデータ転送を行うことができる電子機器を提供することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１における電子機器１００が有する構成要素を説明するためのブロック図である。
【図２】ＰＣ１３１でプレビュー表示をしながらメモリカード１３０に記録する電子機器１００の一例を説明するための図である。
【図３】動画ファイルを記録するためのメモリカード１３０へのデータ転送を時系列で説明するための図である。
【図４】ＰＣ１３１へのプレビュー画像転送とメモリカード１３０への動画転送とを同時に行う場合のデータ転送制御方法を説明するためのフローチャートである。
【図５】ａはＰＣ１３１に接続してメモリカード１３０のみに記録する場合のデータ転送を時系列で説明するための図である。ｂはメモリカード１３０を接続してＰＣ１３１のみに記録する場合のデータ転送を時系列で説明するための図である。
【図６】遅いインターフェース速度のメモリカード１３０を用いた場合の、プレビューのためのデータ転送と、動画ファイル記録のためのメモリカード１３０へのデータ転送とを時系列で説明するための図である。
【図７】外部機器に対して優先付けを行った、プレビューのためのデータ転送と、動画ファイル記録のためのメモリカード１３０へのデータ転送とを時系列で表す図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照して本発明の実施形態を説明する。ただし、本発明の実施形態は以下の実施形態に限定されるものではない。
【００１１】
［実施形態１］
図１は、実施形態１における電子機器１００が有する構成要素を説明するためのブロック図である。電子機器１００は、例えば、撮像装置として動作する装置である。従って、電子機器１００は、例えば、デジタルカメラ、カメラ付き携帯電話、カメラ付き電子機器のいずれであってもよい。
【００１２】
レンズユニット１０１は、撮影光学系（結像光学系）のレンズ群であり、光軸方向に進退可能に保持される。レンズ駆動部１０４は、レンズユニット１０１を駆動するための駆動部であり、絞り調節やレンズの身体動作による変倍作用（ズーム機能）を有する。
【００１３】
シャッタ１０２は、静止画撮影時に露光秒時を調節するフォーカルプレーンシャッタである。実施形態１では、シャッタ１０２において、撮像素子１０３の露光秒時を調節する構成であるが、この限りではない。撮像素子１０３が電子シャッタ機能を有し、制御パルスで露光秒時を調節する構成でもよい。シャッタ駆動部１０５は、シャッタ１０２を駆動するための駆動部である。
【００１４】
撮像素子１０３は、光学像を電気信号に変換するための撮像素子である。撮像素子１０３は、静止画及び動画の少なくとも一つを撮像する。撮像素子１０３から出力されたアナログ画像信号に対して、ゲイン調整やデジタル変換を行うアナログフロントエンド（以下、ＡＦＥと呼ぶ）、ＣＰＵ１１０を介して、メモリ１２１に一次記憶される。ＴＧ１０７は、撮像素子１０３及びＡＦＥの駆動タイミングを制御するタイミングジェネレータ（以下、ＴＧと呼ぶ）である。
【００１５】
表示部１０８は、撮像した静止画像や動画像、ライブビュー、メニュー等の表示を行う。表示部１０８は、背面ＴＦＴ、ファインダーなどを含む。操作部１０９は、撮像命令の入力、撮像条件等の設定をＣＰＵ１１０に対して行うための操作部である。
【００１６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１０は、電子機器１００を統括的に制御するマイクロプロセッサを有する。ＣＰＵ１１０は、静止画データや動画データの画像処理を行う画像処理部として動作し、静止画データや動画データの圧縮符号化を行う圧縮符号化部として動作する。バス１１１は、ＣＰＵ１１０と、電子機器１００内の他の構成要素とを接続するための内部バスである。タイマ１１２は、任意のタイミングで時間を計測することができる。
【００１７】
メモリ１２０は、ＣＰＵ１１０で実行されるプログラムを格納するメモリである。メモリ１２０は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）によって構成される。メモリ１２０は、例えば、Ｆｌａｓｈ−ＲＯＭでもよい。
【００１８】
メモリ１２１は、撮像素子１０３からの画像データを記憶するメモリとして機能し、ＣＰＵ１１０において画像処理された画像データを記憶するメモリとして機能し、ＣＰＵ１１０が動作を行う際のワークメモリとして機能する。メモリ１２１は、例えば、ランダム・アクセス・メモリ（ＲＡＭ）によって構成される。
【００１９】
ＤＭＡＣ１２２は、ダイレクト・メモリ・アクセス・コントローラ（以下、ＤＭＡＣと呼ぶ）であり、ＣＰＵ１１０の介在なしにメモリ１２１からメモリカード１３０やＵＳＢコントローラ１２５にデータを転送することができる。転送開始指示、転送サイズ、転送データアドレス、転送方向等の指示はＣＰＵ１１０で行う。
【００２０】
メモリカード１３０は、電子機器１００で撮像される静止画データ、及び、動画データを記録するための取り外し可能な記録媒体である。メモリカードインターフェース１２３は、ＣＰＵ１１０がメモリカード１３０に直接アクセスすることができるように構成されている。また、メモリカードインターフェース１２３は、ＤＭＡＣ１２２を介して、メモリ１２１からメモリカード１３０へとＤＭＡアクセスすることができる。メモリカードスロット１２６は、取り外し可能なメモリカード１３０が接続可能なスロットである。メモリカード１３０は、ＳＤカード、ＣＦカード、メモリースティック、ＭＭＣ、ハードディスク、不揮発性メモリ等の取り外し可能なメモリである。また、これらの記録媒体を内蔵した形態でもよい。
【００２１】
ＵＳＢコントローラ１２５は、ＰＣ１３１と電子機器１００とのＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）通信を制御するためのコントローラである。
【００２２】
ＵＳＢコントローラインターフェース１２４は、ＣＰＵ１１０がＵＳＢコントローラ１２５に直接的にアクセスできるように構成されている。また、ＵＳＢコントローラインターフェース１２４は、ＤＭＡＣ１２２がメモリ１２１からＵＳＢコントローラ１２５へのＤＭＡアクセスができるように構成されている。なお、ＵＳＢコントローラの接続形態は任意の形態でよく、パラレルバスに限定するものではない。
【００２３】
また、ＵＳＢコントローラはＰＣ１３１と、ＵＳＢインターフェースで接続され、ＵＳＢコネクタ１２７にＵＳＢケーブルを接続することでＰＣ１３１と物理的に接続される。
【００２４】
ブリッジ回路インターフェース１４０は、ブリッジ回路１５０との接続インターフェースであり、例えばパラレルバス等で構成される。
【００２５】
ブリッジ回路インターフェース制御部１４１は、ブリッジ回路インターフェース１４０を制御する機能を有する。ブリッジ回路インターフェース制御部１４１を介して、ＣＰＵ１１０はブリッジ回路１５０にアクセスすることが可能である。また、ブリッジ回路インターフェース制御部１４１は、バス１１１と接続され、ＤＭＡＣ１２２の制御により、メモリ１２１からブリッジ回路１５０に直接的にアクセスすることが可能である。
【００２６】
ブリッジ回路１５０は、メモリカードインターフェース１２３、及び、ＵＳＢコントローラインターフェース１２４と、ＣＰＵ１１０のバス１４０とに接続される。ブリッジ回路１５０は、選択手段として動作する。
【００２７】
ブリッジ回路１５０は、ＣＰＵ１１０のバス１４０に流れるデータをメモリカードインターフェース１２３、または、ＵＳＢコントローラインターフェース１２４に切り替える機能を持つ。さらに、ブリッジ回路内部にはバッファを有し、インターフェースのプロトコル変換機能を有する構成になっている。ブリッジ回路は、レジスタ設定として、転送方向、転送サイズ等を有する。
【００２８】
＜ＰＣでプレビュー表示をしながらメモリカードに記録する＞
図２は、ＰＣ１３１でプレビュー表示をしながらメモリカード１３０に記録する電子機器１００の一例を説明するための図である。
【００２９】
図２では、電子機器１００とＰＣ１３１がＵＳＢケーブルで接続されており、電子機器１００で動画記録中であることを示す表示（図２の「ＲＥＣ」）を行い、ＰＣ１３１ではプレビューを表示している。電子機器１００に接続されたメモリカード１３０には、動画データが転送されている。
【００３０】
このとき、電子機器１００はプレビューのためのデータをＰＣ１３１に転送すると同時に、動画ファイルのデータをメモリカード１３０に転送する。ＰＣ１３１でのプレビューは遅延なきように表示しつつも、メモリカード１３０への記録は所定の速度以上で実行しなければならない。
【００３１】
図３に、プレビューのためのデータ転送と、動画ファイル記録のためのメモリカード１３０への転送を時系列で表す。
【００３２】
ＰＣ１３１では、一定間隔で遅延なきようにプレビューを表示する。これを図３ではプレビューフレームが時間軸上でフレーム１、フレーム２、フレーム３と、等間隔で並ぶように図示している。
【００３３】
プレビューフレームを表示するために、各フレームのＰＣ転送は、プレビューフレームの表示より手前で完了させる。これを、ＰＣ転送がフレーム１、フレーム２、フレーム３、フレーム４と、対応するプレビューフレームの表示より手前で行われるように、時間軸上に配置する。
【００３４】
動画ファイル記録ためのメモリカード１３０への転送は、ＰＣ転送を行なっていない隙間で行う必要がある。メモリカード転送は、ＰＣ転送を行なっていないところで行われるように、時間軸上に配置する。図３から、ＰＣ転送とＰＣ転送の間でメモリカード転送は完了しなければならないことがわかる。特定時間に転送できるサイズは、インターフェース速度によって決められる。すなわち、メモリカード転送は、転送するサイズを制御することによって転送時間を制御する。図３の転送制御方法を、図４を用いて説明する。
【００３５】
以下、図４を参照して、ＰＣ１３１へのプレビュー画像転送とメモリカード１３０への動画転送とを同時に行う場合のデータ転送制御方法について説明する。このデータ転送制御方法は、ＣＰＵ１１０が電子機器１００の各構成要素を制御することによって実現される。
【００３６】
ステップＳ４０１において、ＵＳＢの転送要求の有無を確認する。ステップＳ４０２で転送要求がない場合は、ステップＳ４０６に進む。転送要求がある場合は、ステップＳ４０３に進み、ＵＳＢの分割転送量を取得する。実施形態１ではＰＣ１３１へのプレビューを遅延なきようにするよう制御する。このため、ＵＳＢ転送は要求のあるときにすべて転送するように制御する。ＵＳＢ転送の分割転送量は、図３に示したＰＣ転送の１フレームぶんのサイズとなる。
【００３７】
ステップＳ４０４では、ＤＭＡＣ１２２の制御で、ＵＳＢの分割転送量を転送する。このとき、ＣＰＵ１１０はブリッジ回路インターフェース制御部１４１にＵＳＢコントローラインターフェース１２４に接続するよう指示する。ステップＳ４０５において、ＵＳＢの転送完了待ちを行う。ＵＳＢの転送完了待ちは、ＣＰＵ１１０がＤＭＡＣ１２２またはＰＣ１３１から完了通知を受け取ることによって行う。
【００３８】
ステップＳ４０６において、メモリカード１３０の転送要求の有無を確認する。ステップＳ４０７で転送要求がない場合は、ステップＳ４１１に進む。転送要求がある場合は、ステップＳ４０８に進み、メモリカード１３０の分割転送量を取得する。
【００３９】
メモリカード１３０の分割転送量は、図３の、フレーム１をプレビューしている最中に完了しなければならない。さらに、フレーム２の転送もフレーム１をプレビューしている最中に完了させるため、メモリカード１３０の分割転送量は、１つのフレームをプレビューしている時間から、１つのフレームを転送する時間を差し引いた残り時間で転送可能なサイズ、となる。このように制限時間内に転送可能なサイズを、以降、制御サイズと呼ぶ。
【００４０】
ステップＳ４１０において、メモリカード１３０の転送完了待ちを行う。メモリカード１３０の転送完了待ちは、ＣＰＵ１１０がＤＭＡＣ１２２またはメモリカード１３０から完了通知を受け取ることによって行う。
【００４１】
ステップＳ４１１において、すべての転送が完了しているか確認する。ＰＣ１３１またはメモリカード１３０に、転送のしかかりがある場合、または新たな転送要求がある場合は、ステップＳ４０１に戻る。すべての転送が完了している場合は、処理が完了する。
【００４２】
図３で示す転送を図４のステップで説明する。まず、ステップＳ４０１からステップＳ４０５においてフレーム１の転送要求を処理し、ステップＳ４０６からステップＳ４１０で動画データの制御サイズを処理する。次にステップＳ４０１に戻りフレーム２の転送要求を処理し、ステップＳ４０６からステップＳ４１０で動画データの制御サイズを処理する。以降同様の処理を繰り返す。
【００４３】
このように、ＰＣ１３１でプレビュー表示をしながらメモリカード１３０に記録する場合は、メモリカード１３０への一回の転送を、制御サイズに分割して処理する。これにより、ＰＣ１３１へのプレビュー画像転送とメモリカード１３０への動画転送が同時に発生しても、プレビュー画像転送と動画転送は、動作するのに十分な速度で行われる。
【００４４】
＜ＰＣに接続してメモリカードのみに記録する＞
次に、図５ａを参照して、ＰＣ１３１に接続してメモリカード１３０のみに記録する場合のデータ転送について説明する。
【００４５】
電子機器１００をＰＣ１３１へ接続すると、ＰＣ１３１と定期的な通信が発生する。ＵＳＢ接続を行っていることによって、接続を確立するために発生する通信であり、電子機器１００はこの定期的な通信を妨げてはいけない。
【００４６】
よって、電子機器１００をＰＣ１３１に接続しておきながら、ＰＣ１３１へのデータ転送は行わずにメモリカード１３０へのみ画像データを記録する場合でも、メモリカード１３０への転送は、転送時間を考慮したものでなければならない。
【００４７】
図５ａは、電子機器１００とＰＣ１３１の間で一定時間おきにＰＣイベントが発生する場合のデータ転送の様子を時系列で示している。
【００４８】
ＰＣイベントは定期的に発生し、その都度データ転送が発生する。このため、画像データの転送に際してはバス１４０を専有することはせず、ＰＣイベントを通すための隙間を作っておく。よって、ＰＣ１３１に接続してメモリカード１３０のみに記録する場合においても、メモリカード１３０への転送は、制御サイズで処理する。
【００４９】
図５ａで示す転送を図４のステップで説明する。まず、ステップＳ４０１からステップＳ４０５においてＰＣイベントの転送要求を処理し、ステップＳ４０６からステップＳ４１０で画像データを制御サイズで転送処理する。次にステップＳ４０１に戻りＰＣイベントの転送要求を処理し、ステップＳ４０６からステップＳ４１０で画像データを制御サイズで転送処理する。以降同様の処理を繰り返す。
【００５０】
このように、メモリカード１３０のみに画像を記録する場合においても、メモリカード１３０への一回の転送を、制御サイズに分割して処理する。これにより、ＰＣイベントが発生しても、画像の記録とＰＣイベントの処理が、動作するのに十分な速度で行われる。
【００５１】
＜メモリカードを接続してＰＣのみに記録する＞
以下、図５ｂを参照して、メモリカード１３０を接続してＰＣ１３１のみに記録する場合のデータ転送について説明する。
【００５２】
電子機器１００にメモリカード１３０を接続していると、メモリカード１３０への画像記録を行わない場合でも、メモリカード１３０へのアクセスが発生する場合がある。例えば、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）の都合で、ＦＡＴ（Ｆｉｌｅ  Ａｌｌｏｃａｔｉｏｎ  Ｔａｂｌｅ）の更新が行われる場合がある。このような動作は、メモリカード１３０を接続しているだけで実行される。実行されるタイミングは、一般的に、不定期である。よって、電子機器１００にメモリカード１３０を接続しておきながら、ＰＣ１３１のみに画像データを記録する場合では、ＰＣ１３１への転送は、転送時間を考慮したものでなければならない。
【００５３】
図５ｂは、電子機器１００とメモリカード１３０の間で不定期にアクセスが発生する場合のデータ転送の様子を時系列で示している。
【００５４】
ＰＣ１３１への転送はバス１４０を専有しないよう、メモリカード１３０への転送ができるための隙間を作っておく。このために、ＰＣ１３１への転送を、制御サイズで処理する。
【００５５】
メモリカード１３０への転送は必ずしも定期的に発生するわけではないため、図５ｂではＰＣ１３１への転送とメモリカード１３０への転送が、必ずしも交互に発生しない様子を示している。画像データを制御サイズで転送した場合に、メモリカード１３０への転送要求が発生していない場合、ＰＣ１３１への転送が引き続き行われる。
【００５６】
図５ｂで示す転送を図４のステップで説明する。まず、ステップＳ４０２でＵＳＢの転送要求がないのでステップＳ４０６に進む。ステップＳ４０６からステップＳ４１０でメモリカード１３０への転送要求を処理する。そして、ステップＳ４０１に戻り、ステップＳ４０１からステップＳ４０５において画像データを、制御サイズで処理する。ステップＳ４０７においてメモリカード１３０の転送要求がないのでステップＳ４１１に進み、ＰＣ１３１への画像転送残りがあるのでステップＳ４０１に戻る。以降、同様の処理を繰り返す。
【００５７】
このように、ＰＣ１３１のみに画像を記録する場合は、ＰＣ１３１への一回の転送を、制御サイズに分割して処理する。これにより、メモリカード１３０に対するＦＡＴの更新といった不定期なアクセスが発生しても、画像転送とメモリカード１３０への不定期なアクセスが、動作するために十分な速度で行われる。
【００５８】
以上説明したように、制御サイズは、電子機器１００の動作によって異なる。なおかつＰＣ１３１側とメモリカード１３０側で、制御される転送量が異なる。電子機器１００の動作に応じて、各外部機器の転送量をそれぞれ制御することによって、電子機器１００の転送動作はそれぞれの外部機器に対して動作を満たすために十分な速度で行うことが可能になる。
【００５９】
［実施形態２］
実施形態１では、電子機器１００の動作に応じて転送量を制御することによって、転送が十分な速度で行われることを説明した。実施形態２では、電子機器１００に接続される外部機器のインターフェース速度によっては、制御サイズを変える場合について説明する。
【００６０】
実施形態２では、例えば、速いインターフェース速度のメモリカード１３０で適切な制御サイズを遅いインターフェース速度のメモリカード１３０に用いた場合を説明する。この場合、当該制御サイズの転送時間は、遅いインターフェース速度のメモリカード１３０の方が速いインターフェース速度のメモリカード１３０よりも長くなる。
【００６１】
図６に、図３よりも遅いインターフェース速度のメモリカード１３０を用いた場合の、プレビューのためのデータ転送と、動画ファイル記録のためのメモリカード１３０への転送の時系列を示す。
【００６２】
フレーム１を転送し、フレーム１をプレビューしている最中にメモリカード１３０への転送を、制御サイズで分割して転送する。すると、インターフェース速度が遅いので時間が長くかかってしまう。メモリカード１３０への転送が完了するとフレーム２の転送を行いフレーム２のプレビューを行うが、プレビュー２は本来のタイミングよりも遅れて表示される。フレーム２をプレビューしている最中にメモリカード１３０への転送を、制御サイズで分割して転送するが、インターフェース速度が遅いので時間が長くかかってしまう。メモリカード１３０への転送が完了するとフレーム３の転送を行いフレーム３のプレビューを行うが、フレーム３は本来のタイミングで表示できない。表示するタイミングが過ぎてしまった場合は、ＰＣ１３１側のアプリケーションでコマ飛び等の制御を行い、電子機器１００側においてもフレームを飛ばすといった処理を行う。
【００６３】
このように、転送量を制御したとしても、メモリカード１３０のインターフェース速度を考慮していなければ、電子機器１００の転送は滞ってしまう。よって、転送量の制御は、電子機器１００の動作に応じて行うことに加え、外部機器のインターフェース速度にも応じて制御する。インターフェース速度の検出方法はメモリカード１３０によって様々であるが、例えば、ＳＤカードであればＵＨＳ（Ｕｌｔｒａ  Ｈｉｇｈ  Ｓｐｅｅｄ）への対応や、ＳＤスピードクラスの対応に応じてインターフェース速度の判定を行う方法が考えられる。また、ＣＦカードであればＵｌｔｒａ  ＤＭＡモードへの対応に応じてインターフェース速度の判定を行う方法が考えられる。
【００６４】
遅いインターフェース速度のメモリカード１３０が接続されたときは、制御サイズを、速いインターフェースのメモリカード１３０が接続されたときよりも少なくする。つまり、制限時間内に転送可能なサイズが異なるため、インターフェース速度に合わせる。
【００６５】
このようにして、電子機器１００の動作に加えてインターフェース速度に応じて、各外部機器の転送量をそれぞれ制御することにより、電子機器１００の転送動作は、電子機器１００の状態に応じて、十分な速度で行うことが可能になる。
【００６６】
［実施形態３］
実施形態２では、インターフェース速度の遅いメモリカード１３０が接続された場合にでも、制御サイズで対応することで、転送が十分な速度で行われることを説明した。実施形態３では、外部機器に対して優先付けを行った転送制御方法を説明する。
【００６７】
図７に、外部機器に対して優先付けを行った、プレビューのためのデータ転送と、動画ファイル記録のためのメモリカード１３０への転送を行う時系列を示す。
【００６８】
フレーム１を転送し、フレーム１を転送している最中にメモリカード１３０への転送を、制御サイズで分割転送する。ここで、メモリカード１３０への転送が遅い場合、フレーム２の転送開始が遅れ、フレーム２は遅れて表示される。フレーム２の転送が完了したときには既にフレーム３の転送準備ができているので、メモリカード転送はスキップし、フレーム３の転送を処理する。これにより、フレーム３は表示遅延を挽回することができる。
【００６９】
図７で示す転送を図４のステップで説明する。まず、ステップＳ４０１からステップＳ４０５においてフレーム１の転送要求を処理し、ステップＳ４０６からステップＳ４１０で動画データを制御サイズで分割転送する。次にステップＳ４０１に戻りフレーム２の転送要求を処理する。ステップＳ４０６ではメモリカード１３０の転送がまだ完了していないが、ＵＳＢの転送要求の有無を判定し、ＵＳＢの転送要求があるときはメモリカード１３０の転送要求を無視する。ＵＳＢの転送要求があるので、ステップＳ４０７ではステップＳ４１１に進み、ステップＳ４０１に戻る。ステップＳ４０１からステップＳ４０５においてフレーム３の転送要求を処理し、ステップＳ４０６からステップＳ４１０で動画データを制御サイズで分割転送する。以降同様の処理を繰り返す。
【００７０】
このようにして、電子機器１００の動作、それに応じた制御サイズを用いた分割転送の際に、外部機器に対して優先付けを行う制御を加えることにより、電子機器１００の転送動作は、電子機器１００の状態に応じて、十分な速度で行うことが可能になる。
【００７１】
［実施形態４］
実施形態１〜３で説明した様々な機能、処理及び方法は、パーソナルコンピュータ、マイクロコンピュータ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）などがプログラムを用いて実現することもできる。以下、実施形態４では、パーソナルコンピュータ、マイクロコンピュータ、ＣＰＵなどを「コンピュータＸ」と呼ぶ。また、実施形態４では、コンピュータＸを制御するためのプログラムであって、実施形態１〜３で説明した様々な機能、処理及び方法を実現するためのプログラムを「プログラムＹ」と呼ぶ。
【００７２】
実施形態１〜３で説明した様々な機能、処理及び方法は、コンピュータＸがプログラムＹを実行することによって実現される。この場合において、プログラムＹは、コンピュータ読み取り可能な記憶媒体を介してコンピュータＸに供給される。実施形態４におけるコンピュータ読み取り可能な記憶媒体は、ハードディスク装置、光ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＲＯＭ、ＲＡＭなどの少なくとも一つを含む。実施形態４におけるコンピュータ読み取り可能な記憶媒体は、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙ（非一時的）な記憶媒体である。
【符号の説明】
【００７３】
１００  撮像素子
１１０  ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）
１２１  メモリ
１２２  ＤＭＡＣ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌｌｅｒ）
１２３  メモリカードインターフェース
１２４  ＵＳＢコントローラインターフェース
１３０  メモリカード
１３１  ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）
【図１】
0006418860.tif 000002
【図２】
0006418860.tif 000003
【図３】
0006418860.tif 000004
【図４】
0006418860.tif 000005
【図５】
0006418860.tif 000006
【図６】
0006418860.tif 000007
【図７】
0006418860.tif 000008