説明

情報送信装置、その制御方法及びプログラム

【課題】動画管理情報の送信処理において、動画ファイルのファイル形式によらず効率的に動画管理情報を取得し、高速な送信処理を実現する。
【解決手段】外部装置から動画ファイルの動画管理情報を要求された場合に、まずステップS902で前記動画管理情報を要求されたファイルのファイル形式を識別する。次に、AVIファイルと識別された場合に、ステップS903で前記動画管理情報を要求されたファイルを読み込む一方、MOVファイルと識別された場合には、ステップS904で前記動画管理情報を要求されたファイルに関連付けされたサムネイルファイルを読み込む。そしてステップS905で、前記読み込んだ動画ファイル又はサムネイルファイルから動画管理情報を取得する。なお、サムネイルファイルにはあらかじめ動画管理情報が記録されている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、外部装置の要求に応じて動画ファイル等のファイルの管理情報を送信する情報送信装置に関する。
【背景技術】
【0002】
近年、デジタルカメラやデジタルカメラ等(以下、カメラ)においては、様々な動画撮影が可能となっている。カメラの中には、入力された動画像情報を符号化して動画像符号化情報を生成する一方、入力された音声信号を符号化して音声符号化情報を生成し、これら動画像符号化情報と音声符号化情報を多重化して記録し、それを再生する動画像処理装置を有するものもある。このような装置においては、動画像情報に関し、MPEG−4(Moving Picture Experts Group Phase 4)の圧縮技術を用いたものがある。
【0003】
MPEG−4ストリームを格納するファイルフォーマットとしては、MOVファイルフォーマットが存在する。MPEG−4ストリームをMOVファイルフォーマットに格納する場合、MPEG−4ストリームデータをファイル先頭から配置し、MOVファイルの動画管理情報をストリームデータの後ろに配置するように記録することができる。MOVファイルでは、このような配置により記録をすることで、効率よくディスク領域を使用できるようになっている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2007−166553号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、MPEG−4ストリームを上述のようにしてMOVファイルフォーマットに格納する場合、ファイルの最後に記録されている動画管理情報が読み込まれるまで、再生や頭出しができない等の問題点がある(特許文献1等を参照のこと)。
【0006】
この問題は、再生だけに留まらず、動画の転送処理にも大きな影響がある。例えば、デジタルカメラとパーソナルコンピュータ(PC)とを接続した場合、PCからは、デジタルカメラが持つ静止画、動画ファイルの情報が要求される。静止画は、ヘッダ部分に自身の情報を保持するため、デジタルカメラではPCから要求される情報を容易に取得することができる。しかし、MOVファイルフォーマットのような動画ファイルでは、その動画の内容や特徴、属性をあらわす動画管理情報にアクセスする場合、ディスクアクセスやファイル内のパース処理等に時間を要してしまい、効率的な転送が行えないという問題がある。
【0007】
また、動画ファイルフォーマットには様々な形式があり、その形式によって、動画管理情報の格納方法は異なっている。そのため、動画ファイルフォーマットに応じて、効率的に動画管理情報を取得することが求められている。
【0008】
本発明は係る実情に鑑みてなされたものであり、動画管理情報の送信処理において、動画ファイルのファイル形式によらず効率的に動画管理情報を取得し、高速な送信処理を実現する情報送信装置等を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の情報送信装置は、記憶媒体に記録された複数の異なるファイル形式のファイルについての管理情報を、要求に応じて送信する情報送信装置であって、前記管理情報を要求されたファイルのファイル形式を識別するファイル識別手段と、前記ファイル識別手段で第一のファイル形式と識別された場合に、前記管理情報を要求されたファイルを読み込み、第二のファイル形式と識別された場合には、前記管理情報を要求されたファイルに関連付けされたサブファイルを読み込むファイル読み込み手段と、前記ファイル読み込み手段で読み込んだファイル又はサブファイルから前記管理情報を取得する管理情報取得手段とを有することを特徴とする。
【発明の効果】
【0010】
本発明によれば、動画管理情報等の管理情報の送信を要求された場合に、この管理情報を有するファイルのファイル形式によらず、効率的に管理情報を取得することができ、要求に対する応答を高速に行うことができる。
【図面の簡単な説明】
【0011】
【図1】本発明の第1の実施の形態に係るデジタルカメラの構成を示す図である。
【図2】RIFF形式のファイルフォーマットのイメージを示す図である。
【図3】RIFF形式のAVIファイル全体のイメージを示す図である。
【図4】MOVファイルのイメージを示す図である。
【図5】本発明の第1の実施の形態に係るデジタルカメラが動画撮影時の動画ファイル並びにサムネイルファイルを記録する際の手順を説明するフローチャートである。
【図6】本発明の第1の実施の形態に係るデジタルカメラと接続・転送処理を行う外部装置の一例であるパーソナルコンピュータ(PC)の構成を示す図である。
【図7】本発明の第1の実施の形態でデジタルカメラ及びPCが分類して扱う属性情報を説明する図である。
【図8】本発明の第1の実施の形態に係るデジタルカメラとPCとの接続・転送処理の手順を説明するフローチャートである。
【図9】本発明の第1の実施の形態に係るデジタルカメラがPCから要求された分類2に相当する各オブジェクト属性情報の一部を繰り返し取得する処理の詳細を説明するフローチャートである。
【図10】本発明の第2の実施の形態に係るデジタルカメラがPCから要求された分類2に相当する各オブジェクト属性情報の一部を繰り返し取得する処理の詳細を説明するフローチャートである。
【発明を実施するための形態】
【0012】
以下、図面を参照して本発明の実施の形態を説明する。
(第1の実施の形態)
<デジタルカメラ100の装置構成>
図1は、本発明の第1の実施の形態に係るデジタルカメラ100の構成を示す図である。図1において、100はデジタルカメラである。デジタルカメラ100は、静止画及び動画を撮像可能な撮像装置であり、パーソナルコンピュータ等の外部装置とネットワークを介して接続し、画像を送信することができる。本実施の形態では、本発明に係る情報送信装置は、デジタルカメラ100内に構成されており、外部装置からの要求に応じて情報を送信する。以下、デジタルカメラ100が有する構成要素を、図1に基づき説明する。
【0013】
デジタルカメラ100において、10は撮影レンズ、12は絞り機能を備えるシャッター、14は光学像を電気信号に変換する撮像素子、16は撮像素子14のアナログ信号出力をディジタル信号に変換するA/D変換器である。
【0014】
18はタイミング発生回路であり、撮像素子14、A/D変換器16、D/A変換器26にクロック信号や制御信号を供給する。タイミング発生回路18は、メモリ制御回路22及びシステム制御回路50により制御される。
【0015】
20は画像処理回路であり、A/D変換器16からのデータ或いはメモリ制御回路22からのデータに対して所定の画素補間処理や色変換処理を行う。また、画像処理回路20においては、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてシステム制御回路50が露光制御部40、測距制御部42に対して制御を行う。これにより、デジタルカメラ100では、TTL(スルー・ザ・レンズ)方式のAF(オートフォーカス)処理、AE(自動露出)処理、EF(フラッシュプリ発光)処理が行われる。さらに、画像処理回路20においては、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてTTL方式のAWB(オートホワイトバランス)処理も行っている。
【0016】
22はメモリ制御回路であり、A/D変換器16、タイミング発生回路18、画像処理回路20、画像表示メモリ24、D/A変換器26、メモリ30、圧縮・伸長回路32を制御する。A/D変換器16から出力されるデータは、画像処理回路20、メモリ制御回路22を介して、或いは直接メモリ制御回路22を介して、画像表示メモリ24或いはメモリ30に書き込まれる。
【0017】
24は画像表示メモリ、26はD/A変換器、28はTFT・LCD等から成る画像表示部であり、画像表示メモリ24に書き込まれた表示用の画像データは、D/A変換器26を介して画像表示部28により表示される。画像表示部28を用いて撮像した画像データを逐次表示すれば、電子ファインダ機能を実現することが可能である。また、画像表示部28は、システム制御回路50の指示により任意に表示をON/OFFすることが可能であり、表示をOFFにした場合にはデジタルカメラ100の電力消費を大幅に低減することができる。
【0018】
30は撮影した静止画像や動画像を格納するためのメモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えている。これにより、複数枚の静止画像を連続して撮影する連射撮影やパノラマ撮影の場合にも、高速かつ大量の画像書き込みをメモリ30に対して行うことが可能となる。また、メモリ30はシステム制御回路50の作業領域としても使用することが可能である。
【0019】
32は適応離散コサイン変換(ADCT)等により画像データを圧縮伸長する圧縮・伸長回路である。圧縮・伸長回路32は、メモリ30に格納された画像を読み込んで圧縮処理或いは伸長処理を行い、処理を終えたデータをメモリ30に書き込む。
【0020】
40は絞り機能を備えるシャッター12を制御する露光制御部であり、フラッシュ48と連携することによりフラッシュ調光機能も有するものである。42は撮影レンズ10のフォーカシングを制御する測距制御部である。44は撮影レンズ10のズーミングを制御するズーム制御部である。46はバリアである保護手段103の動作を制御するバリア制御部である。48はフラッシュであり、AF補助光の投光機能、フラッシュ調光機能も有する。
【0021】
露光制御部40、測距制御部42はTTL方式を用いて制御されており、撮像した画像データを画像処理回路20によって演算した演算結果に基づき、システム制御回路50が露光制御部40、測距制御部42に対して制御を行う。
【0022】
50はデジタルカメラ100全体を制御するシステム制御回路であり、52はシステム制御回路50の動作用の定数、変数、プログラム等を記憶するメモリである。54はシステム制御回路50でのプログラムの実行に応じて、文字、画像、音声等を用いて動作状態やメッセージ等を表示する液晶表示装置、スピーカー等の表示部である。表示部54は、デジタルカメラ100の操作部近辺の視認し易い位置に単数或いは複数個所設置され、例えばLCDやLED、発音素子等の組み合わせにより構成されている。また、表示部54は、その一部の機能が光学ファインダ104内に設置されている。
【0023】
表示部54の表示内容のうちLCD等に表示するものとしては、シングルショット/連写撮影表示、セルフタイマー表示、圧縮率表示、記録画素数表示、記録枚数表示、残撮影可能枚数表示、シャッタースピード表示、絞り値表示等がある。更には、露出補正表示、フラッシュ表示、赤目緩和表示、マクロ撮影表示、ブザー設定表示、時計用電池残量表示、電池残量表示、エラー表示、複数桁の数字による情報表示、外部記録媒体120の着脱状態表示、通信I/F動作表示、日付け・時刻表示等がある。
【0024】
また、表示部54の表示内容のうち、光学ファインダ104内に表示するものとしては、合焦表示、手振れ警告表示、フラッシュ充電表示、シャッタースピード表示、絞り値表示、露出補正表示等がある。
【0025】
56は電気的に消去・記録可能な不揮発性メモリであり、例えばEEPROM等が用いられる。60、62、64、66、68及び70は、システム制御回路50の各種の動作指示を入力するための操作手段である。これら操作手段は、スイッチやダイアル、タッチパネル、視線検知によるポインティング、音声認識装置等の単数或いは複数の組み合わせで構成される。ここで、これらの操作手段の具体的な説明を行う。
【0026】
60はモードダイアルスイッチであり、電源オフ、自動撮影モード、撮影モード、パノラマ撮影モード、再生モード、マルチ画面再生・消去モード、PC接続モード等の各機能モードを切り替え設定することができる。
【0027】
62はシャッタースイッチSW1であり、不図示のシャッターボタンの操作途中でONとなり、AF(オートフォーカス)処理、AE(自動露出)処理、AWB(オートホワイトバランス)処理、EF(フラッシュプリ発光)処理等の動作開始を指示する。
【0028】
64はシャッタースイッチSW2であり、不図示のシャッターボタンの操作完了でONとなり、次の動作の開始を指示する。まず撮像素子14から読み出した信号をA/D変換器16、メモリ制御回路22を介してメモリ30に画像データを書き込む露光処理、画像処理回路20やメモリ制御回路22での演算を用いた現像処理の指示をする。そして、メモリ30から画像データを読み出し、圧縮・伸長回路32で圧縮を行い、外部記録媒体120に画像データを書き込む記録処理の指示をする。
【0029】
66は画像表示ON/OFFスイッチであり、画像表示部28のON/OFFを設定することができる。この機能により、光学ファインダ104を用いて撮影を行う際に、TFT・LCD等から成る画像表示部28への電流供給を遮断することにより、省電力を図ることが可能となる。
【0030】
68はクイックレビューON/OFFスイッチであり、撮影直後に撮影した画像データを自動再生するクイックレビュー機能を設定する。なお、本実施の形態では特に、画像表示部28をOFFとした場合におけるクイックレビュー機能の設定をする機能を備えるものとする。
【0031】
70は各種ボタンやタッチパネル等からなる操作部であり、メニューボタン、セットボタン、マクロボタン、マルチ画面再生改ページボタン、フラッシュ設定ボタン、単写/連写/セルフタイマー切り替えボタン等を有する。更には、メニュー移動+(プラス)ボタン、メニュー移動−(マイナス)ボタン、再生画像移動+(プラス)ボタン、再生画像−(マイナス)ボタン、撮影画質選択ボタン、露出補正ボタン、日付/時間設定ボタン等も有する。
【0032】
80は電源制御部であり、電池検出回路、DC−DCコンバータ、通電するブロックを切り替えるスイッチ回路等により構成されている。電源制御部80は、電池の装着の有無、電池の種類、電池残量の検出を行い、検出結果及びシステム制御回路50の指示に基づいて、DC−DCコンバータを制御し、必要な電圧を必要な期間、記録媒体を含む各部へ供給する。
【0033】
82はコネクタ、84はコネクタ、86はアルカリ電池やリチウム電池等の一次電池やNiCd電池やNiMH電池、Li電池等の二次電池、ACアダプター等からなる電源手段である。
【0034】
90はメモリカード等の外部記録媒体とデータの送受信を行うカードコントローラである。91はメモリカード等の外部記録媒体とのインタフェースであり、92はメモリカード等の外部記録媒体と接続を行うコネクタである。98はコネクタ92に外部記録媒体120が装着されているか否かを検知する記録媒体着脱検知手段である。120はメモリカード等の外部記録媒体である。なお、本実施の形態では記録媒体を取り付けるインタフェースやコネクタは、単数或いは複数、いずれの系統数を備える構成としても構わない。また、異なる規格のインタフェース及びコネクタを組み合わせて備える構成としても構わない。インタフェース及びコネクタとしては、PCMCIAカードやCF(コンパクトフラッシュ(登録商標))カード等の規格に準拠したものを用いて構成して構わない。さらに、インタフェース91、そしてコネクタ92をPCMCIAカードやCF(コンパクトフラッシュ)カード等の規格に準拠したものを用いて構成した場合、各種通信カードを接続できる。通信カードとしては、LANカードやモデムカード、USBカード、IEEE1394カード、P1284カード、SCSIカード、PHS等の通信カードが挙げられる。このような各種通信カードを接続することにより、他のコンピュータやプリンタ等の周辺機器との間で画像データや画像データに付属した管理情報を転送し合うことができる。
【0035】
101は顔検出部である。顔検出部101は、画像処理回路20で処理された画像データや画像表示メモリ24に保存されている画像データの解析を行い、画像データ内の顔と思われる領域を検出する。顔検出部101では、顔を思われる領域を検出した際に、人間の顔と思われる確からしさ、入力画像データ中の位置、サイズ等が出力される。また、検出した顔の各々の特徴点の特徴量を出力することもできる。
【0036】
102は画像比較部である。画像表示メモリ24やメモリ30に記録された2つの画像に対して色情報を基に画像のパターンマッチングを行い、画像間の差異を検出する。
【0037】
103は保護手段であり、デジタルカメラ100の撮影レンズ10を含む撮像部を覆うことにより、撮像部の汚れや破損を防止するバリアである。
【0038】
104は光学ファインダであり、画像表示部28による電子ファインダ機能を使用することなしに、光学ファインダ104のみを用いて撮影を行うことを可能とする。また、光学ファインダ104内には、表示部54の一部の機能、例えば、合焦表示、手振れ警告表示、フラッシュ充電表示、シャッタースピード表示、絞り値表示、露出補正表示等が設置されている。
【0039】
110は通信部であり、RS232CやUSB、IEEE1394、P1284、SCSI、モデム、LAN、無線通信等の各種通信機能を有する。111は通信部110によりデジタルカメラ100を他の機器と接続するコネクタ或いは無線通信の場合はアンテナである。
以上が、デジタルカメラ100の全体の構成である。
【0040】
<動画ファイル形式について>
続いて、本実施の形態に係るデジタルカメラ100が用いる動画ファイルのファイル形式について説明する。デジタルカメラ100では、動画ファイルのファイル形式としてAVIファイルとMOVファイルを選択して動画を撮像し記録できるが、この他のファイル形式の動画ファイルも扱うことができるものとする。
【0041】
<AVIファイル>
まず、動画ファイルのファイル形式の一つであるAVIファイルについて説明する。AVIファイルは、RIFF(Resource Interchange File Format)形式で構成されている。RIFF形式は、さまざまなリソースを一つのファイルにするための動画ファイルデータのファイルフォーマットである。すなわち、異なる圧縮方式で圧縮された映像データや、複数の音声データ等を格納することが可能であり、格納したデータによらず、基本的な構造が変わらないという特徴をもつ。RIFF形式のファイルフォーマットは、チャンクと呼ばれるブロックを一つの単位として構成される。全てのチャンクは、RIFFチャンクかLISTチャンクあるいはサブチャンクに分類される。そして、RIFFチャンクとLISTチャンクは、そのデータ領域にLISTチャンク又はサブチャンクを再帰的に持つことができる。
【0042】
図2は、RIFF形式のファイルフォーマットのイメージを示す図である。図2において、201はRIFFチャンクのイメージを示している。
【0043】
RIFFチャンク201において、202はチャンクの種別を識別するためのチャンクIDであり、RIFFチャンクの場合は、最初の4バイトに「RIFF」という文字列が設定される。なお、AVIファイルの最初のチャンクはRIFFチャンクである必要がある。205はRIFFチャンクのデータ部であるチャンクデータである。203はチャンクデータ205のバイト長を示すチャンクサイズである。204はチャンクデータ205の先頭4バイトに記載されるフォームタイプであり、AVIファイルの場合は「AVI」という文字列が記載される。
【0044】
図2において、211はLISTチャンクのイメージを示している。LISTチャンク211において、212はチャンクの種別を識別するためのチャンクIDであり、LISTチャンクの場合は、最初の4バイトに「LIST」という文字列が設定される。215はLISTチャンクのデータ部であるチャンクデータである。213はチャンクデータ215のバイト長を示すチャンクサイズである。214はチャンクデータ215の先頭4バイトに記載されるフォームタイプであり、記述されている文字列によってLISTチャンクの意味が定義される。
【0045】
図2において、221はサブチャンクのイメージを示している。サブチャンク221において、222はサブチャンクの種別を識別するサブチャンクIDである。224はサブチャンクのデータ部であるサブチャンクデータである。223はサブチャンクデータ224のバイト長を示すサブチャンクサイズである。
【0046】
図3にRIFF形式のAVIファイル全体のイメージを示す。AVIファイルは、上述した各種チャンクにより構成される。
【0047】
図3において、301はフォームタイプが「AVI」であるRIFFチャンクである。302、310、312はLISTチャンクであり、315はサブチャンクである。本例では、RIFFチャンク301は、そのチャンクデータ領域に、LISTチャンク302と、LISTチャンク310と、LISTチャンク312と、サブチャンク315とを有して構成されている。LISTチャンク302はフォームタイプが「hdrl」、LISTチャンク310はファームタイプが「INFO」、LISTチャンク312はフォームタイプが「movi」であり、サブチャンク315はサブチャンクIDが「idx1」となっている。
【0048】
LISTチャンク302は、サブチャンク303と、LISTチャンク304と、LISTチャンク307とを有して構成されている。この場合、サブチャンク303は、サブチャンクIDが「avih」となっており、サブチャンクデータ領域にメインAVIヘッダ構造体を備えている。メインAVIヘッダ構造体のメンバーとしては、フレーム間隔、1秒あたりの最大ビットレート、トータルフレーム数、画像サイズ等が挙げられる。
【0049】
LISTチャンク304は、フォームタイプが「strl」であり、LISTチャンク307はフォームタイプが「strl」である。LISTチャンク304は、サブチャンク305と、サブチャンク306とを有して構成されている。
【0050】
サブチャンク305は、サブチャンクIDが「strh」であり、サブチャンクデータ領域にAVIストリームヘッダ構造体を備えている。AVIストリームヘッダ構造体のメンバーには、ストリームのコーデックタイプ、タイムスケール、サンプルレート等が含まれている。なお、動画の再生時間は、このタイムスケールと、サンプルレートとから算出される。
【0051】
サブチャンク306は、サブチャンクIDが「strf」であり、サブチャンクデータ領域にBITMAPINFO構造体を備える。BITMAPINFO構造体のメンバーには、ビットマップのサイズ等が含まれる。
【0052】
また、LISTチャンク307は、サブチャンク308と、サブチャンク309とを有して構成されている。
【0053】
サブチャンク308は、サブチャンクIDが「strh」であり、サブチャンクデータ領域にAVIストリームヘッダ構造体を備えている。サブチャンク309は、サブチャンクIDが「strf」であり、サブチャンクデータ領域にWAVEFORMAT構造体を備える。WAVEFORMAT構造体のメンバーには、音声のコーデックタイプ、チャンネル数、音声のサンプルレート、音声のビットレート、サンプルあたりのビット数等が含まれる。
【0054】
次に、LISTチャンク310は、サブチャンクIDが「ISFT」であり、サブチャンクデータ領域に後述するAVIストリームヘッダ構造体を持つサブチャンク311を有して構成される。
【0055】
次に、LISTチャンク312は、サブチャンクIDが「01wb」でありサブチャンクデータ領域に音声データを持つサブチャンク313と、サブチャンクIDが「00dc」でありサブチャンクデータ領域に映像データを持つサブチャンク314とを有する。なお、音声データを持つサブチャンク及び映像データを持つサブチャンクは、録画されたフレーム数に応じて繰り返し存在する。このLISTチャンク312のチャンクデータ内に含まれるサブチャンクの音声データや映像データを順番に読み込み、再生することによって、動画再生装置等で動画像データの再生は実現される。また、図3において、音声データを含むサブチャンク313は、AVIファイルを再生すると最初に読み込まれる音声データであり、映像データを含むサブチャンク314は、AVIファイルを再生すると最初に読み込まれる映像データである。
【0056】
次に、サブチャンク315は、LISTチャンク312のチャンクデータ内に記録されている音声データ及び映像データのAVIファイル上のオフセット値や、音声データ及び映像データのバイトサイズを記憶しておくインデックス部である。サブチャンク315において、316は1番目のエントリ、317は2番目のエントリを示している。そして、それぞれLISTチャンク312のサブチャンク313にはエントリ316が、サブチャンク314にはエントリ317が1対1で対応している。また、各エントリは、サブチャンク313、314の各種情報を保持しており、ID、フラグ、LISTチャンク312のチャンクデータの先頭からのオフセット、及びサブチャンクデータのサイズから構成される。AVIファイルの再生について、エントリ316、317等の各エントリを利用することで、LISTチャンク312内の音声データや映像データへのスムーズなアクセスを提供している。
【0057】
<MOVファイル>
続いて、AVIファイルと異なる動画ファイル形式であるMOVファイルについて説明する。MOVファイルは、AVIファイルと同様に様々な映像、音声データを格納することができる動画のファイル形式であり、格納するデータとして代表的なものにMPEG−4がある。
【0058】
MPEG−4の動画像を構成する画像は、Iピクチャ(キーフレームともいう)、Pピクチャ、Bピクチャの3種類に分類することができる。Iピクチャは、Intra符号化画像、つまりフレーム内符号化画像である。Pピクチャは、Predictive符号化画像、つまりフレーム間順方向予測符号化画像であり、IまたはPピクチャからの予測を利用して画像が復元される。Bピクチャは、BidirectionallyPredictive符号化情報、つまり双方向予測符号化画像であり、順方向フレーム間予測符号と逆方向フレーム間予測符号と内挿的フレーム間予測符号とから画面が復元される。
【0059】
このようにIピクチャ、Pピクチャ、Bピクチャから構成されているMPEG−4動画像符号化ストリームの任意の動画像にアクセスして再生する場合、完全な画像が復号されない可能性がある。例えば、ファイル化されたMPEG−4動画像符号化ストリームにランダムアクセスした場合が考えられる。
【0060】
この場合、ユーザがファイルにランダムアクセスした時(頭出し再生等の特殊再生)、Iピクチャの位置から再生を開始すれば、Iピクチャはフレーム内符号化画像であり、それ自体で完全な1枚の画像を復号することができるので、問題なく再生できる。しかし、Pピクチャ若しくはBピクチャの位置から再生を開始しようとすると、これらは予測符号化画像であるため、画像を復元するためにはそのフレーム以前のフレーム情報が必要となり、完全な画像が復元されない。
【0061】
このような状況を回避するためには、ユーザがランダムアクセスにより、PピクチャまたはBピクチャにアクセスしようとした場合、自動的にその直前のIピクチャから復号を開始させるように制御する必要がある。
【0062】
MOVファイルは、このようなランダムアクセスに対しての復元に対応可能である。MOVファイルは、MPEG−4の動画圧縮技術により生成された動画像符号化ストリームと、音声符号化ストリームとを多重化し、記憶媒体に一つのファイルとして保存する。そして、MOVファイルにおける動画管理情報部分には、全てのフレームの位置がファイルの先頭からのオフセットのバイト数で記録され、またIピクチャのフレーム番号が列挙されている。このようなフォーマットにより、MOVファイルでは、前記のランダムアクセスによる再生に対応可能となっている。
【0063】
ここで、MOVファイルの動画管理情報とは、前述した2つの情報(オフセットのバイト数、Iピクチャのフレーム番号)のように、映像や音声のデコードに必要な情報に加えて、映像や音声の内容や特性、属性を示す様々な情報を含んでいる。例えばフレーム間隔、トータルフレーム数、画像サイズ、映像と音声のコーデックタイプ、タイムスケール、サンプルレート、音声のチャンネル数、音声のサンプルレート、音声のビットレート、サンプルあたりのビット数等のAVIファイルと同様の情報を含む。一方、1秒あたりの最大ビットレートのようなAVIファイルには含まれているが、MOVファイルには含まれていないデータもある。ファイル形式が異なるため、同一の情報を持っているとは限らない。そのため、同様の情報を取得するにはその他のデータを使って算出する等の処理が必要となる。
【0064】
このようなMOVファイルフォーマットで動画を記録する場合、ストリームデータは時間とともに増大し、そのサイズも非常に大きいため、記録中にもファイルへ、ストリームデータを書き出す必要がある。しかし、前述の通りMOVファイルフォーマットの動画管理情報部分も記録時間に応じてサイズが増加するため、記録が終了するまでは動画管理情報部分のサイズも不明であり、ストリームデータのファイル中への書き出しオフセット位置を決定することができない。したがって、一般的な動画処理装置では、MOVファイルフォーマットの柔軟性を利用し、ストリームデータ(Mdat領域)をファイル先頭に配置し、記録終了時にMOVファイルの動画管理情報(Moov領域)をストリームデータの後ろに配置して記録する。図4は、MOVファイルのイメージを示す図である。図4において400はストリームデータ(Mdat領域)であり、401はファイルの末尾に記録される動画管理情報(Moov領域、フッタ領域に位置する)を示している。
【0065】
<AVIファイルとMOVファイルとの相違>
ここでまでの説明で、AVIファイルフォーマットにおいては、メインAVIヘッダ構造体、AVIストリームヘッダ構造体、WAVEFORMAT構造体などの動画管理情報は、上述したようにファイル先頭のヘッダ領域に保存されている。一方、MOVファイルフォーマットにおいては、上述で説明したMOVファイルにおける動画管理情報は、ファイルの終端部分(フッタ領域)に配置されて保存されている。この点で両者は、ファイルの構造が大きく相違する。そしてこの相違から、AVIファイルとMOVファイルとを扱う場合には、以下のようなことがいえる。
すなわち、ヘッダ部分に配置されるAVIファイルフォーマットから動画管理情報を取得する際にはメディアアクセスも少なく、またファイルのパースも容易なため、高速に取得することが可能である。一方、MOVファイルフォーマットのようにファイル終端に配置されている場合は、パースに時間がかかり、容易に動画管理情報を取得することはできない。
【0066】
そこで、本実施の形態では、MOVファイルフォーマットでは撮影時に動画ファイルに対応したサムネイルファイルを作成し、そのサムネイルに動画管理情報を付加することで、MOVファイルにおける動画管理情報を容易に取得できるようにする。以下、その詳細について説明する。なお、本発明でいう第一のファイル形式は、AVIファイルの一例であり、本発明でいう第二のファイル形式は、MOVファイルの一例である。
【0067】
<サムネイルへの情報記録の手順>
以下、本実施の形態に係るデジタルカメラ100による、MOVファイルフォーマットでの動画撮影時におけるサムネイルファイルへの情報記録方法について述べる。図5は、デジタルカメラ100が動画撮影時の動画ファイル並びにサムネイルファイルを記録する際の手順を説明するフローチャートである。なお、以下で説明する処理は、システム制御回路50がメモリ52からプログラムを読み出し実行することで行われる。
【0068】
動画撮影が開始されるとステップS501においてデジタルカメラ100は、動画再生時間、コーデックタイプ、動画の最大ビットレート情報、及び音声のビットレート、音声のサンプルレート、音声チャンネル数からなる動画音声情報をメモリ52に記憶する。なお、動画再生時間とは、映像のタイムスケールとサンプルレートとから求められるため、算出した再生時間でもよいし、タイムスケールとサンプルレートの2つの値でもよいとする。また、動画再生時間、動画ビットレート情報に関してはまだ動画撮影が開始されていないため、初期値(0)を記憶しておく。
【0069】
次にステップS502においてデジタルカメラ100は、動画ファイルを外部記録媒体120に作成し、ステップS503へ進む。
【0070】
次にステップS503においてデジタルカメラ100は、ストリームデータをステップS502で作成した動画ファイルに記録し、ステップS504に進む。
【0071】
次にステップS504においてデジタルカメラ100は、ステップS501で記憶した動画再生時間及び動画ビットレート情報を更新し、ステップS505へ進む。
【0072】
次にステップS505においてデジタルカメラ100は、動画撮影の停止ボタンが押されたか否かを判定する。停止ボタンが押されたと判定された場合はステップS506へ進み、押されていないと判定された場合はステップS503へ戻る。
【0073】
次にステップS506においてデジタルカメラ100は、動画ファイルに動画再生時間、コーデックタイプ、動画音声情報を、動画ファイルの動画管理情報領域に記録し、ステップS507に進む。
【0074】
次にステップS507においてデジタルカメラ100は、ステップS502で作成した動画ファイルをクローズし、ステップS508へ進む。
【0075】
次にステップS508においてデジタルカメラ100は、サムネイルファイルを外部記録媒体120に作成し、ステップS509へ進む。ここで、サムネイルのファイル名はステップS502で作成した動画ファイル名と拡張子以外は同一となるファイル名とする。例えば、動画ファイル名が「MVI_0001.MOV」に対応するサムネイルのファイル名は「MVI_0001.THM」とする。これにより動画とサムネイルを関連付けることができる。
【0076】
次にステップS509においてデジタルカメラ100は、ステップS507で一旦クローズした動画ファイルから先頭フレームを読み込む。そして、ステップS510ではステップS509で読み込んだ動画ファイルの先頭フレームからサムネイル用画像を作成し、ステップS511へ進む。
【0077】
次にステップS511においてデジタルカメラ100は、ステップS501及びステップS504で記憶した情報をサムネイルファイルへ記録する。この際に、さらに動画とサムネイルの関連付けを確認するようなデータを一緒に記録してもよい。関連付けの確認のためのデータとしては例えば、動画ファイルの内容から作成されるハッシュ値やファイルサイズ等が考えられる。
【0078】
そして、ステップS512においてデジタルカメラ100は、サムネイルファイルをクローズし、動画撮影処理を終了する。
【0079】
以上が、デジタルカメラ100による、MOVファイルフォーマットでの動画撮影時におけるサムネイルファイルへの情報記録手順である。なお、上述した処理においては、動画ビットレート情報はサムネイルファイルにしか保存していない。これは、動画ビットレート情報を格納する領域がMOVファイルでは規定されていないためである。そのため、MOVファイル自体から動画ビットレート情報を求める際には、改めてMOVファイルのストリームデータから算出する必要がある。また、ここで説明した処理は、本発明でいうファイル生成手段による一処理例に対応しており、またサムネイルファイルは、本発明でいうサブファイルの一例である。
【0080】
<デジタルカメラ100と外部装置(PC600)との接続・転送処理について>
次に、デジタルカメラ100と外部装置との接続・転送処理について説明する。まず、図6にデジタルカメラ100と接続・転送処理を行う外部装置の一例であるパーソナルコンピュータ(PC)600の構成を示す。
【0081】
<外部装置の装置構成>
図6において、600はPCである。601は装置全体を制御するCPUである。602は画像等を表示する表示部である。603は画像等のデータを保存するハードディスク等の記憶部である。604は制御プログラム、各種アプリケーションプログラム(ドライバソフト等)、データ等を記憶するROM(リードオンリーメモリ)である。605は、CPU601が処理を行うときに用いる作業領域であるRAM(ランダムアクセスメモリ)である。606はキーボード、マウス等の入力部である。
【0082】
<オブジェクト管理方法>
次に、本実施の形態に係るデジタルカメラ100及びPC600の、オブジェクト管理方法について説明する。本実施の形態では、図7に示す情報を1つのオブジェクト(本実施の形態では動画ファイル)の属性情報として認識してオブジェクトを管理する。そして属性情報を大きく2つに分類(分類1、分類2)して扱うようにする。
【0083】
まず分類1(簡易情報701)としては、デジタルカメラ100内のファイルシステムが管理しているファイルシステム情報から情報が取得できるものを扱う。これらは、ファイルシステムから容易に取得できる比較的取得に時間がかからない情報とする。簡易情報701の中には、FileName、FileSize、FileStamp等が含まれる。
【0084】
そして分類2(完全情報702)としては、各ファイルの中身を解読しないと取得できないものを扱う。すなわち取得に時間がかかるものを分類2とする。完全情報702の中には、サムネイルのデータサイズ、画像の縦横画素数、実際のサムネイルデータ、各種画像プロパティ等が含まれる。この各種画像プロパティには、動画ファイルの再生時間、コーデックタイプ、ビットレート、動画音声情報等が含まれる。
【0085】
これらの属性情報は基本的には、PC600上で動作するドライバソフトがオブジェクトツリーを管理する時点で使用される。しかし、デジタルカメラ100でも同じ情報への2度目以降の取得要求に対して応答を速めるために、内部のDRAM等のメモリ52上に情報を管理テーブルとして保持するようにする。
【0086】
<接続・転送処理の手順>
次に図8を用いて、デジタルカメラ100とPC600との接続・転送処理の手順について説明する。図8は、デジタルカメラ100とPC600との接続・転送処理の手順を説明するフローチャートである。なお、以下で説明する処理では、PC600による動作は、CPU601がROM604からドライバソフトを読み出し実行し、デジタルカメラ100による動作はシステム制御回路50がメモリ52からプログラムを読み出し実行する。
【0087】
まずステップS801においてPC600は、コネクタ111を通じデジタルカメラ100と接続した時点で、デジタルカメラ100からカメラモデル名やベンダ名、サポートされているオペレーションやイベントの種類等のデバイス情報を取得する。そして、デジタルカメラ100との通信の準備をする。
【0088】
次にステップS802においてPC600は、デジタルカメラ100内に備える記録媒体にあるDCIMフォルダの下に存在するサブフォルダで、DCF準拠のフォルダを検索するようデジタルカメラ100に要求する。デジタルカメラ100は、係るフォルダの情報をPC600に送信し、受信したPC600は、フォルダオブジェクトとしてオブジェクトツリーを構成する。なお、本実施の形態に係るデジタルカメラ100は、DCF(Design rule for Camera File system)に準拠したものであるものとする。
【0089】
次にステップS803、S804においてPC600は、デジタルカメラ100内の全オブジェクトに対して取得に時間がかからない、前述した分類1に相当する各オブジェクト属性情報の一部を繰り返し取得する。そして、先に作成したオブジェクトツリーの中にオブジェクト属性情報を格納していく。この取得の際は、PC600は、デジタルカメラ100にステップS802で作成したオブジェクトツリーに格納すべき情報を要求する。
【0090】
そしてステップS803においてPC600がオブジェクトツリーへの情報の格納が完了と判断した場合には、ステップS805に進む。全部のオブジェクトについてのオブジェクト属性情報の格納が完了したら、接続時のドライバソフトの動作は完了する。
【0091】
次にステップS805においてPC600は、アプリケーションからの要求があるか否かを判断する。要求がある場合にはステップS806に進む、ない場合は処理を終了する。
【0092】
ステップS806でアプリケーションからの要求が発生している場合、ステップS806においてPC600は、それが既にオブジェクトツリーとして構築済みの分類1(簡易情報)に相当するオブジェクト属性情報で応答可能かどうかを判断する。応答可能な場合にはステップS807に進み、対応不能な場合にはステップS808に進む。
【0093】
ステップS807においては、PC600は、デジタルカメラ100へのアクセスは行わず、アプリケーションに分類1に相当するオブジェクト属性情報(簡易情報)を返答する。
【0094】
また、アプリケーションからの要求が分類1に属するオブジェクト属性情報では応答できない場合のステップS808においては、PC600は、分類2のオブジェクト属性情報が存在するかどうかを判断する。ここでは分類2のオブジェクト属性情報を取得する必要があるが、対象となるオブジェクトが以前に取得した履歴があれば、ドライバソフトが管理しているオブジェクトツリー内に保持されているので、既に保持されているか否かを確認する。ここで、既に保持されているオブジェクト属性情報であればステップS810においてPC600は、デジタルカメラ100へのアクセスは行わず、保持されている情報(完全情報)をもとに情報をアプリケーションに返答する。
【0095】
また、オブジェクトツリーに保持されていないオブジェクト属性情報の場合にはステップS809においてPC600は、デジタルカメラ100に対して、取得に時間がかかる分類2(完全情報)のオブジェクト属性情報の取得を要求する。デジタルカメラ100は、要求された情報のファイル形式(AVIファイル又はMOVファイル)に応じて、係る情報を取得するファイルを切り替えて、分類2のオブジェクト属性情報を取得して、PC600に送信するようにする。ここでのデジタルカメラ100の情報取得処理の詳細は、図9を用いて後述する。そして、デジタルカメラ100から分類2のオブジェクト属性情報を取得して、オブジェクトツリーに格納する。そしてステップS810において、PC600はステップS809で取得した情報をアプリケーションに返答する。
【0096】
<デジタルカメラ100の情報取得処理の手順>
図9は、デジタルカメラ100がPC600から要求された分類2に相当する各オブジェクト属性情報の一部を、内部で繰り返し取得する処理の詳細を説明するフローチャートである。
【0097】
まずステップS901においてデジタルカメラ100は、PC600から要求されている分類2に相当するオブジェクト属性情報を有する動画ファイルの選択を行い、ステップS902へ進む。
【0098】
次にステップS902においてデジタルカメラ100は、ステップS901で選択された動画ファイルがAVIファイルフォーマットかMOVファイルフォーマットかの判定を行う。ここでは、単純に対象ファイルのファイル名の拡張子から判定してもよいし、ファイルの先頭部分を読み込んでファイル内を簡単にチェックして判定してもよい。ここで、AVIファイルフォーマットである場合はステップS903へ進み、MOVファイルフォーマットである場合はステップS904へ進む。なお、ステップS902の処理は、本発明でいうファイル識別手段の一処理例に対応する。
【0099】
ステップS903においては、デジタルカメラ100は、AVIファイルのヘッダを読み込み、一方ステップS904ではMOVファイルに対応したサムネイルファイルを読み込む。なお、ステップS903の処理は、本発明でいうファイル読み込み手段の一処理例に対応する。
【0100】
そしてステップS905でデジタルカメラ100は、AVIファイルであれば、読み込んだAVIファイルのAVIメインヘッダー構造体やWAVEFORMAT構造体から、動画ファイルの再生時間、コーデックタイプ、ビットレート、動画音声情報を取得する。一方、MOVファイルであれば、読み込んだサムネイルからあらかじめ保存しておいた動画ファイルの再生時間、コーデックタイプ、ビットレート、動画音声情報を取得し、処理を終了する。その後、デジタルカメラ100は、PC600に対してこれらの情報を送信する。なお、取得する再生時間については、タイムスケールとサンプルレートの2つの値でもよい。ステップS905の処理は、本発明でいう管理情報取得手段の一処理例に対応する。
以上が、本発明の第1の実施の形態についての説明である。
【0101】
(第2の実施の形態)
次に、本発明の第2の実施の形態について説明をする。第2の実施の形態と第1の実施の形態との相違は、デジタルカメラ100による、上述した分類2に相当する各オブジェクト属性情報の一部を繰り返し取得する処理にある。なお、その他のハードウェア及びシステム構成等については同様のため説明は省略する。
【0102】
図10は、本実施の形態に係るデジタルカメラ100の処理の詳細を説明するフローチャートである。
【0103】
ステップS1001においてデジタルカメラ100は、PC600から要求されている分類2に相当するオブジェクト属性情報を有する動画ファイルの選択を行い、ステップS1002へ進む。
【0104】
ステップS1002においてデジタルカメラ100は、ステップS1001で選択された動画ファイルがAVIファイルフォーマットかMOVファイルフォーマットかの判定を行う。ここでは、単純に対象ファイルのファイル名の拡張子から判定してもよいし、ファイルの先頭部分を読み込んでファイル内を簡単にチェックして判定してもよい。AVIファイルフォーマットである場合はステップS1003へ進み、MOVファイルフォーマットである場合はステップS1004へ進む。
【0105】
ステップS1003においては、デジタルカメラ100は、AVIファイルのヘッダを読み込む。一方ステップS904においては、デジタルカメラ100は、MOVファイルとそれに関連付けされたサムネイルファイルとの整合性を確認する。MOVファイルとサムネイルファイルは別ファイルのため、ユーザの使用方法や画像管理方法によって、ファイル名で関連付けを行っただけでは、サムネイルファイルの内容が対応するMOVファイルの内容を反映していない場合があり得る。そのため、本実施の形態では例えば、サムネイルファイルに埋め込まれたMOVファイルのデータから作成されるハッシュ値やMOVファイルのファイルサイズ等の値を用いて、整合性の確認を行うようにする。
【0106】
そしてステップS1005で整合性が確認されたならば、デジタルカメラ100は、ステップS1006に進み、サムネイルファイルを読み込む。また、整合性が確認できなかった場合は、ステップS1007において時間を要するがMOVファイルのフッタを読み込む処理を行う。
【0107】
最後にステップS1008でデジタルカメラ100は、AVIファイルであれば読み込んだAVIファイルのAVIメインヘッダー構造体やWAVEFORMAT構造体から、動画ファイルの再生時間、コーデックタイプ、ビットレート、動画音声情報を取得する。また、MOVファイルで整合性がとれた場合は、読み込んだサムネイルから、整合性がとれなかった場合はフッタから、動画ファイルの再生時間、コーデックタイプ、ビットレート、動画音声情報を取得する。そしてここでの処理を終了する。その後、デジタルカメラ100は、PC600に対してこれらの情報を送信する。
以上が、本発明の第2の実施の形態についての説明である。
【0108】
以上、本発明についての第1の実施の形態及び第2の実施の形態を説明した。本実施の形態に係るデジタルカメラ100では、外部装置から動画ファイルの動画管理情報を要求された場合に、動画フォーマットの形式に応じて、外部装置から要求された動画管理情報の取得する場所(ファイル)を切り替えるようにしている。このような構成により、本実施の形態に係るデジタルカメラ100では、動画フォーマットの形式によらず効率的に動画管理情報を取得することができ、外部装置に対し高速な情報送信を行うことが可能となる。
【0109】
なお、本発明を実現するために、上述した実施形態の機能を実現するソフトウェアのプログラムコード(コンピュータプログラム)を記録したコンピュータ読み取り可能な記憶媒体を用いても良い。この場合には記憶媒体をシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによって本発明の目的が達成される。
【0110】
この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0111】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0112】
また、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)等が実際の処理の一部又は全部を行う場合も含まれることは言うまでもない。
【0113】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれてもよい。この場合には、書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部又は全部を行ってもよい。
【符号の説明】
【0114】
14 撮像素子
20 画像処理回路
50 システム制御回路
52 メモリ
100 デジタルカメラ
110 通信部
120 外部記録媒体
600 PC
601 CPU
604 ROM
605 RAM

【特許請求の範囲】
【請求項1】
記憶媒体に記録された複数の異なるファイル形式のファイルについての管理情報を、要求に応じて送信する情報送信装置であって、
前記管理情報を要求されたファイルのファイル形式を識別するファイル識別手段と、
前記ファイル識別手段で第一のファイル形式と識別された場合に、前記管理情報を要求されたファイルを読み込み、第二のファイル形式と識別された場合には、前記管理情報を要求されたファイルに関連付けされたサブファイルを読み込むファイル読み込み手段と、
前記ファイル読み込み手段で読み込んだファイル又はサブファイルから前記管理情報を取得する管理情報取得手段とを有することを特徴とする情報送信装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−34226(P2013−34226A)
【公開日】平成25年2月14日(2013.2.14)
【国際特許分類】
【出願番号】特願2012−212618(P2012−212618)
【出願日】平成24年9月26日(2012.9.26)
【分割の表示】特願2008−233454(P2008−233454)の分割
【原出願日】平成20年9月11日(2008.9.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】