JP2017017447A - データ記録装置およびその制御方法、撮像装置 - Google Patents

データ記録装置およびその制御方法、撮像装置 Download PDF

Info

Publication number
JP2017017447A
JP2017017447A JP2015130328A JP2015130328A JP2017017447A JP 2017017447 A JP2017017447 A JP 2017017447A JP 2015130328 A JP2015130328 A JP 2015130328A JP 2015130328 A JP2015130328 A JP 2015130328A JP 2017017447 A JP2017017447 A JP 2017017447A
Authority
JP
Japan
Prior art keywords
image data
data
image
recording
file
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
JP2015130328A
Other languages
English (en)
Other versions
JP6576122B2 (ja
JP2017017447A5 (ja
Inventor
史明 高橋
Fumiaki Takahashi
史明 高橋
可奈子 山河
Kanako Sanga
可奈子 山河
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015130328A priority Critical patent/JP6576122B2/ja
Priority to CN201680038892.1A priority patent/CN107836114B/zh
Priority to US15/580,747 priority patent/US10362262B2/en
Priority to PCT/JP2016/002989 priority patent/WO2017002328A1/en
Publication of JP2017017447A publication Critical patent/JP2017017447A/ja
Publication of JP2017017447A5 publication Critical patent/JP2017017447A5/ja
Application granted granted Critical
Publication of JP6576122B2 publication Critical patent/JP6576122B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • H04N5/772Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera the recording apparatus and the television camera being placed in the same enclosure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/667Camera operation mode switching, e.g. between still and video, sport and normal or high- and low-resolution modes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • H04N23/672Focus control based on electronic image sensor signals based on the phase difference signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N25/00Circuitry of solid-state image sensors [SSIS]; Control thereof
    • H04N25/70SSIS architectures; Circuits associated therewith
    • H04N25/703SSIS architectures incorporating pixels for producing signals other than image signals
    • H04N25/704Pixels specially adapted for focusing, e.g. phase difference pixel sets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/82Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only
    • H04N9/8205Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback the individual colour picture signal components being recorded simultaneously only involving the multiplexing of an additional signal and the colour video signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/67Focus control based on electronic image sensor signals
    • H04N23/673Focus control based on electronic image sensor signals based on contrast or high frequency components of image signals, e.g. hill climbing method

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Studio Devices (AREA)

Abstract

【課題】様々な形式のデータを格納し、かつ汎用性を有するデータファイルを生成可能なデータ記録装置およびその制御方法を提供する。【解決手段】例えば動画データと静止画データのように表現方法の異なる複数の画像データを、メタデータとともに、コンテナ構造を有するデータファイルに格納して記録する装置である。記録装置は、表現方法の異なる複数の画像データを同じコンテナ形式でデータファイルに格納する。【選択図】図4

Description

本発明はデータ記録装置およびその制御方法、撮像装置に関し、特にデータをデータファイルに格納する技術に関する。
近年、デジタルカメラの種類や機能は多様化しており、記録されるデータの形式もまた同様に多様化している。そして、静止画、動画、音声といった表現形式と、RAW形式、JPEG形式といった符号化形式との組み合わせに応じた別個の形式でデータファイルが生成され、記録されている。
例えば、動画撮影中の静止画撮影を許容するデジタルカメラでは、動画データと、静止画データとを、それぞれ別個の方式で符号化して別個のデータファイルを生成し、記録媒体に記録している。
CIPA DC-007-2009 "マルチピクチャフォーマット" 2009年2月4日制定、[online]、一般社団法人 カメラ映像機器工業会、[平成27年5月19日検索]、インターネット<URL:www.cipa.jp/std/documents/j/DC-007_J.pdf>
関連するデータを別ファイルとして記録した場合、関連するデータファイルを管理する仕組みや、ファイルを検索する処理が必要になるほか、一部のデータファイルが削除されたり移動されたりする可能性がある。このような課題に対し、複数の静止画データを同一ファイルに記録するマルチピクチャフォーマットが規定されている(非特許文献1)。
しかしながら、マルチピクチャフォーマットは静止画データを対象としたものであり、静止画以外の表現方法のデータ(例えば動画データ)の格納には利用できない。従って、関連する複数の動画データを同一ファイルに格納したり、関連する動画データと静止画データを同一ファイルに格納したりするためには利用できない。
本発明はこのような従来技術の課題に鑑みなされたもので、様々な形式のデータを格納し、かつ汎用性を有するデータファイルを生成可能なデータ記録装置およびその制御方法を提供することを目的の1つとする。
上述の目的は、第1の画像データと、第1の画像データとは表現方法の異なる第2の画像データとを取得する取得手段と、第1の画像データと、第2の画像データとを、第1の画像データのメタデータおよび第2の画像データのメタデータとともに、コンテナ構造を有するデータファイルに格納して記録する記録手段と、を有し、記録手段は、第1の画像データと第2の画像データとを同じコンテナ形式でデータファイルに格納することを特徴とするデータ記録装置によって達成される。
このような構成により、本発明によれば、様々な形式のデータを格納し、かつ汎用性を有するデータファイルを生成可能なデータ記録装置およびその制御方法を提供することができる。
実施形態に係るデジタルカメラの機能構成例を示すブロック図 実施形態に係るデジタルカメラの背面の外観例を模式的に示した図 実施形態に係るデジタルカメラのメモリマップを模式的に示す図 実施形態に係るデジタルカメラが生成するデータファイルの構成例を示す図 実施形態における例示的な撮影シーケンスを模式的に示す図 実施形態における例示的なデータ記録動作を模式的に示す図 実施形態に係るデジタルカメラの一連の動作を示すフローチャート 実施形態で生成されるデータファイルの再生装置の一例としてのスマートフォンの機能構成例を示すブロック図 実施形態に係るスマートフォンの再生処理動作を示すフローチャート 図9のS905で実施する次フレーム取得処理の詳細を示すフローチャート 実施形態におけるチャンクオフセット取得動作を説明するための図 実施形態におけるチャンクオフセット取得動作を説明するためのフローチャート 第2実施形態における例示的な撮影シーケンスを模式的に示す図 第2実施形態における例示的なデータ記録動作を模式的に示す図 第3実施形態における例示的なデータ記録動作を模式的に示す図 第3実施形態における動作を説明するためのフローチャート 第4実施形態における撮像素子の構成例を模式的に示す図 第4実施形態における距離画像の生成方法を説明するための図 第4実施形態における例示的な撮影シーケンスを模式的に示す図 第4実施形態における例示的なデータ記録動作を模式的に示す図 第5実施形態における4視点の動画データの記録動作を模式的に示す図 第5実施形態におけるデータファイルの構成例を示す図
●(第1実施形態)
以下、添付図面を参照して、本発明の例示的な実施形態について詳細に説明する。なお、ここでは、データ記録装置の一例としてのデジタルカメラに本発明を適用した実施形態について説明するが、本発明は撮影機能を有する任意の電子機器、あるいは画像データファイルを操作可能な任意の電子機器において実施可能である。このような電子機器にはビデオカメラ、携帯電話機(例えばフューチャーフォン、スマートフォンなど)、タブレット端末、パーソナルコンピュータ(デスクトップ、ラップトップ、ノート型など)、ゲーム機などが含まれるが、これらは一部の例にすぎない。
図1は、本発明の実施形態に係るデジタルカメラ100の機能構成例を示すブロック図であり、図2は、デジタルカメラ100の背面の外観例を模式的に示した図である。撮像ユニット113は、撮像光学系1131と撮像素子1132とを含む。また、デジタルカメラ100がメカニカルシャッターを有する場合には、撮像ユニット113に含まれる。メカニカルシャッターはフォーカルプレーンシャッターでもレンズシャッターであってもよい。
撮像光学系1131は撮像素子1132の撮像面に被写体光学像を形成する。撮像光学系1131の画角(焦点距離)および合焦距離(フォーカスレンズ位置)は、CPU101が制御する。撮像素子1132は例えばCMOSイメージセンサである。撮像素子1132の電荷蓄積動作および読み出し動作についてもCPU101が制御する。なお、撮像ユニット113は、ステレオ画像のような視差画像を取得可能に構成されていてもよい。この場合、撮像光学系1131および撮像素子1132の組み合わせを複数有するいわゆる多眼構成としてもよいし、撮像光学系1131および撮像素子1132は1つずつとし、撮像素子1132で視差画像を取得可能な構成としてもよい。後者の場合、撮像素子1132は例えば、1つのマイクロレンズを複数の光電変換部が共有する構成とすることができる。このような撮像素子1132を用いた場合、像面位相差AFを行うこともできる。なお、撮像光学系1131は交換レンズのように着脱可能であってもよい。
CPU101は、デジタルカメラ100の制御部であり、ROM102に格納されたプログラムをDRAM103にロードして実行することにより、デジタルカメラ100の機能ブロックを制御し、デジタルカメラ100の機能を実現する。後述するデータ記録処理も、CPU101の制御によって実現される。
ROM102は、CPU101が実行するプログラムや、各種の設定値、初期値、GUIデータなどを格納する不揮発性メモリであり、少なくとも一部は書き換え可能であってよい。
DRAM103は揮発性メモリであり、CPU101のワークエリアやバッファメモリなど、一時的な記憶領域として用いられる。
リアルタイムクロック104は、デジタルカメラ100の内蔵時計であり、年月日時分秒や曜日などを提供する。CPU101のイベントタイマの較正や、タイムスタンプの生成に用いられる。
メモリカードインタフェース(IF)105は、記録媒体の一例としてのメモリカード106のリーダライタであり、メモリカード106を装着するためのカードスロットを有する。メモリカードIF105を通じたメモリカード106の読み書きは、CPU101が制御する。
操作部107は、ユーザがデジタルカメラ100に各種の指示や設定を行うための入力デバイス群である。ボタン、スイッチ、タッチパネル、ダイヤルなどが含まれるのが一般的であるが、物理的な入力手段に限定されず、音声入力や視線入力などを実現する構成が含まれてもよい。
図1では、操作部107の一部として、電源ボタン108、各種メニューボタン109(メニューボタン、方向キー、決定/実行キーなどの組み合わせ)、レリーズボタン110、動画撮影指示ボタン111、再生モードボタン112が示されている。
通信部114はデジタルカメラ100が外部機器と通信するための有線および/または無線通信インタフェースである。通信部114がサポートする規格としては、有線通信ではUSBやHDMI(登録商標)、無線通信ではブルートゥース(登録商標)やIEEE802.11系が一般的であるが、これらに限定されない。
信号処理プロセッサ118は、信号処理や画像処理に特化したマイクロプロセッサであり、本実施形態では画像処理部119および圧縮伸長部(コーデック)120の機能を実現する。画像処理部119はデジタルカメラにおいて一般的な画像処理を実施する。具体例には、A/D変換、ノイズ除去、デモザイク(色補間)処理、ホワイトバランス調整処理、光学歪み補正、階調補正、色空間変換、解像度変換、被写体検出(顔検出)、AF評価値の算出などが含まれるが、これらに限定されない。圧縮伸長部120は予め定められた形式に応じたデータの符号化処理および復号処理を実行する。圧縮伸長部120がサポートする符号化形式に制限は無いが、動画と静止画など、異なる表現方法に対応した符号化形式を1つ以上サポートする。このような符号化形式の例にはH.264(またはHPEG−4 AVC)、H.265(またはHEVC)、Motion JPEGなどが含まれるが、これらに限定されない。また、圧縮伸長部120は、JPEG形式のようなデジタルカメラが一般的にサポートする符号化形式や、メーカ独自のRAW圧縮形式などもサポートする。
なお、図1には示していないが、デジタルカメラ100には集音装置(マイク)が設けられており、マイクから入力される音声についても、画像処理部119でA/D変換され、圧縮伸長部120で符号化処理および復号処理が行われる。
表示部121は例えば液晶ディスプレイ(LCD)であり、タッチパネルが設けられていても良い。タッチパネルと表示部121のGUI表示とを組み合わせることで、操作部107を構成するソフトウェアキー・ボタンを実現してもよい。撮影スタンバイ時や動画撮影中には撮影した動画をリアルタイムに表示部121で表示することにより、表示部121を電子ビューファインダーとして用いることができる。また、表示部121には、設定のためのメニュー画面や、デジタルカメラ100の状態や設定値、メモリカード106に記憶されている画像データなども表示される。
上述した各機能ブロックはバス122を通じて相互に接続され、CPU101による制御や、機能ブロック間の通信を可能にしている。なお、図1はデジタルカメラ100が有する機能ブロックのうち、実施形態の説明に必要な一部を模式的に示したものである。
本実施形態のデジタルカメラ100は、電源ボタン108の操作により電源が投入されると、静止画の撮影スタンバイ状態になる。具体的には、CPU101は、撮像ユニット113、信号処理プロセッサ118を制御し、動画撮影と、撮影した動画を表示部121にリアルタイム表示する動作とを開始する。これにより、表示部121がビューファインダーとして機能し始める。なお、ここで撮影される動画は表示用であるため、表示部121の解像度に応じた、記録用の動画よりも低い解像度を有する。
また、CPU101は、画像処理部119が生成するAF評価値に基づいて撮像光学系1131のフォーカスレンズを駆動し、画面の中央が合焦するように自動焦点検出(AF)を行う。さらに、CPU101は、画像処理部119が算出した、撮影画像の輝度情報に基づいて適正な露出条件(蓄積期間もしくは電子シャッタースピード、ゲインなど)を決定する自動露出制御(AE)を行う。
レリーズボタン110が半押しされるなどの撮影準備指示が入力されると、CPU101は静止画撮影用のAF処理およびAE処理を実行する。すなわち、CPU101は、設定された焦点検出領域に合焦する位置にフォーカスレンズを駆動し、露出条件(絞り値、シャッタースピード、撮影感度)を決定する。なお、AF処理はコントラスト方式、位相差方式、およびコントラスト方式と位相差方式の組み合わせなど、公知の方法で実施することができる。撮像素子1132が位相差方式の焦点検出信号を生成可能な構造を有する場合には位相差方式を用いることができる。撮像素子1132が一般的な構成であれば、コントラスト方式を用いることができる。位相差方式のAF(位相差AF)を実現するためのセンサを別途設けてもよい。ここでは、画像処理部119が算出するAF評価値(コントラスト評価値またはデフォーカス量)に基づいて、CPU101がフォーカスレンズの位置を決定し、駆動することでAF処理が実行されるものとする。
また、AE処理についても公知の方法を用いて行うことができる。例えば画像処理部119で顔検出を行う場合、検出された顔が適正露出となるように露出条件を決定してもよい。あるいは、中央重点測光、スポット測光など、設定された測光モードに応じて露出条件を決定してもよい。いずれの場合も、本実施形態では画像処理部119が算出する輝度情報に基づいてCPU101が露出条件を決定するものとする。
図3は、デジタルカメラ100の動作時におけるDRAM103のメモリマップを模式的に示す図である。デジタルカメラ100の電源が投入されると、CPU101はROM102からプログラムをDRAM103にロードし、実行する。本実施形態では、CPU101が、基本制御プログラム301、撮影制御プログラム302、コンテナプログラム303を実行することにより、デジタルカメラ100の機能を実現する。
基本制御プログラム301は、操作部107を通じたユーザ入出力に関する処理や、基本的なユーザインターフェース処理、ファイルI/O処理などを実現する。また、撮影制御プログラム302は、動画や静止画の撮影に係る各種の機能を実現するためのプログラムで、主に撮像ユニット113や信号処理プロセッサ118の動作内容やタイミングの制御に関するプログラムである。
コンテナプログラム303は、撮影によって得られた画像データや、画像データに基づいて生成されたデータ(例えば距離画像)を、後述する特定の形式のデータファイルに格納し、メモリカード106に記録する動作を実現するためのプログラムである。また、コンテナプログラム303は、再生時には、データを見つけるための決まりに従ってデータファイル内の所望のデータを見つけたり、再生に必要なメタデータを見つけたりする。コンテナプログラムは、パーサプログラムと呼ばれることもある。
図3において、作業用メモリ領域304はプログラムではなく、プログラムの実行に必要な変数値などを一時的に記憶するためのメモリ空間を示している。
図4は、本実施形態のデジタルカメラ100が生成するデータファイルの構成例を示す図である。本実施形態のデータファイルは、汎用性があり、動画データ(第1の画像データ)と静止画データ(第2の画像データ)のような表現方法の異なる画像データを1つのファイルに格納可能な、コンテナ構造を有するファイルフォーマットに準拠した構成を有する。具体的には、データファイルは、ISOベースメディアファイルフォーマット(ISO/IEC 14496-12)あるいはその互換フォーマットに準拠したコンテナ構造を有する。また、異なる表現方法のデータを、共通のコンテナ形式で格納することを特徴とする。これは、異なる表現方法のデータを、同じ決まりに基づいて1つのデータファイルから取得可能なことを意味する。
ISOベースメディアファイルフォーマットは、コンテナボックスと、コンテナボックスに格納されるサブボックスとからなるコンテナ構造を有する。図4において、データファイル400は最上位のコンテナボックスであり、ファイルタイプボックス(ftyp)401、ムービーボックス(moov)402、メディアデータボックス(mdat)406を格納する。ムービーボックス402は複数のトラックボックス(trak)403〜405を格納する。メディアデータボックス406は実データを格納する。
なお、ISOベースメディアファイルフォーマットでは、実データを、サンプル、チャンク、トラックという単位で管理する。トラックは画像シーケンスや音声シーケンスであり、サンプルの集合である。サンプルは単独のビデオフレーム、時間の連続したビデオフレーム群、または時間の連続した圧縮音声部分である。また、チャンクは、あるトラックに関する、複数の連続するサンプルからなり、メディアデータボックス406に格納される実データの管理単位である。なお、ISOベースメディアファイルフォーマットの詳細については、ISO/IEC 14496-12規格書を参照されたい。
したがって、図4のメディアデータボックス406における動画データストリーム407、静止画連写データストリーム408、音声データストリーム409は、それぞれ共通した単位時間ごとに管理されている。あるトラックに関する実データの各チャンクの開始アドレスは、ファイルの先頭からの絶対オフセット(Chunk Offset)によって管理される。なお、静止画連写データストリーム408は、連写期間以外はデータが無く、連写期間には1秒間あたりの連写枚数に換算したフレームレートを有する動画フレームとして個々の静止画データが格納される。
ファイルタイプボックス401には、データファイルの種別を4文字の識別子(ブランド)で示す。識別子は登録制であり、国際的に管理されている。
ムービーボックス402は、メディアデータボックス406に格納される実データに関するメタデータ(管理情報)を格納するコンテナボックスである。
ムービーボックス402には、
mvhd(ムービーヘッダ)作成日時、修正日時、タイムスケール、長さ(duration)、再生速度、音量など
trak(トラック)1つのトラックに関するコンテナボックス
が含まれる。
また、各トラックボックス(trak)には、以下のボックスが含まれ、予め定められた設定値に応じた値が格納される。これらのボックスや格納される情報は規格で定められたものであるため、詳細についての説明は省略する。
tkhd(トラックヘッダ)フラグ(使用可能か否かなど)、作成日時、修正日時、トラックID、長さ(duration)、レイヤ、音量、トラック幅・高さなど
edts(編集)編集リストを格納するコンテナボックス
elst(編集リスト)時系列マップを格納する。各エントリは、トラックの一部を時系列で規定する。エントリ数、トラック長さ(編集セグメントの長さ)、メディア時間(編集セグメントの開始時刻)、メディア速度(再生速度)
mdia(メディア)トラック内のメディアデータに関するボックスを格納するコンテナボックス
mdhd(メディアヘッダ)メディアに依存しない、トラック内のメディアの特徴に関する情報(生成日時、修正日時、タイムスケール、長さ、言語など)
hdlr(ハンドラリファレンス)メディアハンドラのタイプ(トラックの種類)、トラックタイプに関する、人間が理解できる名称など
minf(メディア情報)トラック内のメディアの特徴情報を格納するコンテナボックス
vmhd/smhd/hmhd/nmhd(メディア情報ヘッダ)トラックの種類に応じた1つが設けられる。バージョンなど、符号化とは独立した情報。
dinf(データ情報)トラック内のメディア情報の位置に関するボックスを格納するコンテナボックス
dref(データ参照)バージョン、実エントリ数、エントリフォーマットのバージョン、データエントリ名(URN)またはデータエントリ位置(URL)
stbl(サンプルテーブル)トラック内のメディアサンプルについての時刻およびデータの全インデックスを含むサンプルテーブル
stsd(サンプル記述)符号化形式に関する詳細情報と初期化情報
stts(復号時刻−サンプル)復号時刻からサンプル番号への変換テーブル
stsc(サンプル−チャンク)サンプルから、それが含まれるチャンクを見つけるための情報(チャンクあたりのサンプル数など)
stsz(サンプルサイズ)サンプルカウントおよび各サンプルのデータサイズ(バイト)
stco(チャンクオフセット)ファイル内の各チャンクについての位置情報のテーブル
なお、図4では簡単のため、メディアデータボックス406に格納されるデータストリームの各々についてのトラックボックス403〜405のみを示している。なお、上述のボックス以外のボックスがムービーボックス402やトラックボックス403〜405に含まれてもよい。
本実施形態においてトラックボックス403〜405はそれぞれ、メディアデータボックス406に格納されている動画データ、静止画データ、音声データに関するメタデータを格納している。
なお、トラックボックスは基本的に時系列的なデータを取り扱うような構成を有するので、上述したように、静止画データに利用する場合にはフレームレートを表すパラメータを調整する。例えば、連写された複数の静止画データについては、1秒あたりの連写コマ数に換算した値をフレームレートのパラメータ値として設定する。
なお、チャンクオフセットはチャンクごとに格納されるが、実データのないチャンクに対するチャンクオフセットは、実際にはありえない値とし、チャンクオフセットボックスを参照した際に実データが存在しないことを判別できるようにする。全てのメディアデータが1つのファイルに格納される本実施形態では、実際にはあり得ないチャンクオフセットとして例えば0を用いることができる。
●(デジタルカメラの動作フロー)
次に、図7に示すフローチャートを用いて、デジタルカメラ100の撮影に係る一連の動作について説明する。図7に示す処理は、電源ボタン108の操作によってデジタルカメラ100の電源がオンになり、撮影スタンバイ状態で動作中である時点から開始する。以下では便宜上、CPU101が特定のプログラムを実行することで実現する処理について、プログラムを主体として説明する。
S101で基本制御プログラム301は、操作部107に対して何らかの操作が行われるのを待機する。操作部107が操作されるとS702で基本制御プログラム301は、操作が電源オフ操作か判断し、電源オフ操作であればS703で所定の電源オフ処理を実行する。
一方、電源オフ操作でなければ、S704で基本制御プログラム301は、動画撮影開始ボタン111の操作(動画記録開始指示の入力)かどうか判断する。動画撮影開始ボタン111の操作でなければ、基本制御プログラム301は操作に応じた動作を実行し(S705)、処理をS701に戻す。一方、動画撮影開始ボタン111の操作であれば、基本制御プログラム301は、S706でコンテナプログラム303をDRAM103にロードし、初期化処理を実行する。本実施形態では、静止画、動画、音声を共通のコンテナ形式で取り扱うため、コンテナプログラム303のロードおよび初期化も1回で足りる。
次にS707でコンテナプログラム303は、データファイルのヘッダ情報、具体的には、ファイルタイプボックス401およびムービーボックス402に格納する情報を生成する。なお、ここでは全てのヘッダ情報を生成するわけではなく、生成可能なものだけ(例えば動画データの解像度やレート等の静的な情報)を生成する。また、基本制御プログラム301は、ファイルオープン処理を行い、ヘッダ情報をメモリカード106に書き込む。
S708で撮影制御プログラム302は、動画用の自動焦点検出(AF)および自動露出制御(AE)を実行する。なお、ここでのAFおよびAE処理は公知の方法を用いることができるため、その詳細については説明を省略する。
S709で撮影制御プログラム302は、S708で決定した露出条件に基づく動画用の撮影処理(1フレーム分)を実行し、撮像素子1132から読み出した画像信号を画像処理部119へ供給する。
S710で画像処理部119は、A/D変換処理や解像度変換処理など、圧縮伸長部120での符号化処理に依存しない画像処理を実行する。なお、RAW形式で記録する場合以外は色補間処理(デモザイク処理)やホワイトバランス調整処理もここで行う。また、動画とともに音声を記録する場合、画像処理部119は音声信号のA/D変換やノイズ低減処理などを行う。
S711で圧縮伸長部120は、画像処理部119から入力される画像(および音声)データに対し、符号化処理を適用する。ここでどのような符号化を適用するかに制限は無く、動画、静止画、および音声でそれぞれ異なる規格の符号化を適用してもよい。しかしながら、共通した規格の符号化を適用することで、再生機器の負荷を軽減できるほか、再生時の応答性を良好にすることができる。なお、ここで「共通」した規格の符号化とは、1つのエンコーダプログラムで対応可能な符号化、もしくは同一の規格がサポートする符号化方法の範囲であることを意味し、規格内での差異があってもよい。なお、フレーム間予測符号化を適用する場合、S711の処理は必ずしも直前に撮影された動画フレームに適用されない。圧縮伸長部120は、符号化したデータをDRAM103の作業用メモリ領域304に書き込む。
S712でコンテナプログラム303は、ムービーボックス402内のトラックボックス403〜405に格納するオフセット情報を算出する。具体的には、コンテナプログラム303は、メディアデータボックス406に格納されうるデータの種類ごとに設けられたトラックボックスの各々について、復号時刻とサンプルとの対応や、サンプルサイズ、チャンクオフセットなどを算出する。ここでコンテナプログラム303は、実データが存在しないトラックにおけるチャンクオフセットには、実データが存在しないことを判別できるよう、「0」などの特別なオフセット値とする。
なお、実データが発生していない種別のトラックについてもオフセット情報を算出(生成)するのは、各トラックボックスが格納するテーブルにおいて、同じ番号のエントリが、同じチャンクのデータに対応する情報を格納するようにするためである。また、S712でオフセット情報を算出するトラックは予め定められており、例えば動画撮影が開始された場合には、途中で静止画撮影が行われるか否かにかかわらず、動画トラック、静止画トラック、音声トラックのオフセット情報を算出する。
撮影で得られたデータが失われることのないよう、書き込み可能になったデータは記録媒体に順次記録していくことが望ましい。そのためには、メディアデータボックス406内の実データに関するオフセット情報を算出する必要がある。しかし、管理情報に含まれるオフセット情報(チャンクオフセット)はファイル先頭からのオフセットであるため、メディアデータボックス406よりも前に記録されるファイルタイプボックス401およびムービーボックス402の大きさを確定する必要がある。そのため、本実施形態では、ムービーボックス402用の固定容量を予め確保した上でオフセット情報を算出する。
通常、デジタルカメラ100で1ファイルに記録可能な動画の長さには、ファイルシステム上の上限(例えば4GB)や、連続撮影時間の上限(例えば29分59秒)などが存在する。従って、チャンクあたりのサンプル数とフレームレートから、トラックボックス403〜405(特にチャンクオフセットボックスstco)に必要なエントリ数の上限を求めることができる。そのため、上限数のエントリを格納できるムービーボックス402の大きさを確保した上でオフセット情報を算出する。なお、規格上はファイル内のムービーボックス402の位置は任意であるが、ファイル内でのデータ移動処理などの負荷を考慮すると、ムービーボックス402はファイル内のどの可変長ボックスよりも前に配置する方が有利である。
このように、管理情報のための領域を予め確保しておくことにより、実際に記録される実データに必要な管理情報の領域よりも大きな領域をメモリカード106に確保することになる。しかし、例えば上限よりも短い動画データに対応する管理情報の領域を確保した場合、確保した領域で足りなくなると、メディアデータボックス406の開始位置を後ろにずらすために、相当量のデータの読み書きが必要となる。特にデジタルカメラ、スマートフォン、タブレット端末のようなメモリ容量の少ない機器で、このような大量のデータ移動(またはコピー)処理を行うと、時間がかかる上、電力消費の点からも好ましくない。管理情報のために確保する領域の大きさは、動画データの大きさと比較すれば十分小さい。従って、本実施形態では管理情報を格納するコンテナボックスであるムービーボックス402の大きさを予め最大限確保した上で、メディアデータボックス406への実データ記録を実施する。
なお、便宜上「静止画トラック」という表現をしているが、上述の通り、トラックは動画のような時系列データを取り扱うことが前提となっているため、静止画も動画のフレーム画像のように取り扱う必要がある。従ってコンテナプログラム303は、静止画が撮影された場合には、動画管理用の情報を用いて静止画を管理できるように、ムービーボックス402に記録する各種の情報(管理情報)を生成する。
S713でコンテナプログラム303は、DRAM103の作業用メモリ領域304に格納された符号化データストリームの所定の書き込み単位分を基本制御プログラム301に受け渡す。基本制御プログラム301は、データをメモリカード106に記録する。
また、S714でコンテナプログラム303は、S713で書き込んだ実データに対応する管理情報を基本制御プログラム301に受け渡す。基本制御プログラム301は、データをメモリカード106に記録する。このように、書き込まれた実データに対応する管理情報を書き込むことで、電源が突然オフされたりして記録動作が異常終了した場合でも、それまでに撮影されたデータはメモリカード106に正常に記録された状態とすることができる。
S715で撮影制御プログラム302は、基本制御プログラム301からレリーズボタン110の押下(静止画撮影指示の入力)の検出が通知されたか否か判断する。撮影動作中の操作部107の操作については撮影制御プログラム302が検出してもよい。静止画撮影指示の入力があれば、撮影制御プログラム302はS716へ処理を進める。
静止画撮影指示の入力がなければ、S719で撮影制御プログラム302は動画撮影指示ボタン111の押下(動画撮影終了指示の入力)があったか判断し、動画撮影終了指示の入力があれば、撮影動作を終了する。そして、基本制御プログラム301によってファイルクローズ処理などを行ったあと、処理をS701へ戻す。一方、S719で動画撮影終了指示の入力が無ければ処理をS708へ戻して次のフレームについての処理を継続する。
S716で撮影制御プログラム302は、静止画用の自動焦点検出(AF)および自動露出制御(AE)を実行する。静止画撮影にメカニカルシャッターを用いる場合、この時点で、動画の記録処理は中断するが、AFおよびAE処理用に動画の撮影処理は継続してもよい。なお、ここでのAFおよびAE処理は公知の方法を用いることができるため、その詳細については説明を省略する。
S717で撮影制御プログラム302は、S716で決定した露出条件に基づく静止画用の撮影処理(1コマ)を実行する。静止画撮影にメカニカルシャッターを用いる場合、には、撮影制御プログラム302は、動画の撮影処理を終了し、電荷のリセット処理などを行った後、絞りやメカニカルシャッターを駆動して静止画を撮影する。静止画撮影にメカニカルシャッターを用いない場合には、動画の撮影および記録処理は継続する。撮影制御プログラム302は、撮像素子1132から読み出した画像信号を画像処理部119へ供給する。
S718で画像処理部119は、A/D変換処理や解像度変換処理など、圧縮伸長部120での符号化処理に依存しない画像処理を実行し、処理をS711へ進める。なお、RAW形式で記録する場合以外は色補間処理(デモザイク処理)やホワイトバランス調整処理もここで行う。
図5および図6は、動画撮影中にメカニカルシャッターを用いた静止画の連写撮影が行われる場合のデジタルカメラ100の動作と、データ記録動作を模式的に示している。
デジタルカメラ100が撮影スタンバイ状態にある時刻t0において、ユーザが動画撮影指示ボタン111を押下したものとする。これにより、CPU101(撮影制御プログラム302)は動画記録動作の実行を開始する。ここでは、FHD(1920×1080画素)、60fpsの動画を撮影するものとする。撮影動作は撮影スタンバイ状態の動画撮影と同様であるが、表示用の動画像とは別に、記録用の動画像についての処理が追加される。記録用の動画像は表示用の動画像より解像度が高いのが一般的であり、またデータ量を削減するために圧縮伸長部120による符号化処理を適用する。符号化形式に制限は無く、Motion-JPEG、MPEG−2、H.264といった公知の方法を用いることができる。なお、撮影された各フレームをRAW形式のまま(データ圧縮は行ってもよい)記録してもよい。
また、動画撮影時に音声も記録する設定になっていれば、音声データについても圧縮伸長部120で符号化処理を行う。圧縮伸長部120は、動画データストリームおよび音声データストリームを生成し、DRAM103の作業用メモリ領域304に順次格納していく。
コンテナプログラム303は、作業用メモリ領域304に格納されたデータストリームから、図4を参照して説明したコンテナ構造のデータファイルを生成する処理を開始する。また、基本制御プログラム301は、生成されたデータファイルを、メモリカードインタフェース105を通じてメモリカード106に記録する処理を開始する。撮影・符号化処理、データファイルの生成処理、データファイルの記録処理は並列に行うことができる。
時刻t1において、レリーズボタン110の全押しなどの静止画撮影の実行指示が検出されると、撮影制御プログラム302は動画撮影を中断して静止画撮影処理を実行する。ここでは、静止画撮影時にメカニカルシャッターを用いるため動画撮影を中断しているが、電子シャッターを用いた静止画撮影(後述)は動画撮影と同等であるため、静止画撮影区間も動画データは得られる。
また、本実施形態のデジタルカメラ100は、レリーズボタン110が全押しされ続けている間は静止画撮影処理を繰り返し実行する(連写)。静止画は、5472×3648画素で、連写速度は10コマ/秒(10fps)とする。図5の例では、時刻t1からt2までレリーズボタン110が全押しされ、静止画撮影処理が連続して複数回実行されたものとする。静止画撮影処理は、解像度と圧縮伸長部120における符号化方式が動画撮影時と異なりうることを除き、動画撮影時の1フレーム分の処理と同様である。圧縮伸長部120は、静止画データストリームを生成し、DRAM103の作業用メモリ領域304に格納する。
時刻t2でレリーズボタン110の全押しが解除されると、CPU101(撮影制御プログラム302)は、中断していた動画撮影処理を再開する。その後、時刻t3で動画撮影終了(または一時停止)指示(例えば動画撮影指示ボタン111の再押下)を検出すると、CPU101(撮影制御プログラム302)は動画撮影処理を終了(または一時停止)する。
図6は、図5のような撮影シーケンスで得られるデータの符号化処理およびデータファイル内での格納状態を模式的に示している。ここでは、圧縮伸長部120が動画、音声、静止画の全てのデータについて、1つの符号化方式(H.264)に従って符号化し、データファイル内の同一コンテナ(メディアデータボックス(mdat)406)に格納されることを示している。
図において、動画データストリーム407および音声データストリーム409は、実データが存在する時刻t0〜t1の区間と、時刻t2〜t3の区間に分割されているが、実際には一連のデータストリームであってよい。撮影時刻とデータストリーム内の実データの位置とはムービーボックス402内のトラックボックス403,405で管理されているため、実データの存在する区間だけを繋ぎ合わせたデータストリームを格納することができる。ただし、上述の通り、メディアデータボックス406内の実データの管理単位はチャンクであるため、データストリームを構成するサンプル数がチャンクあたりのサンプル数の倍数となるようにサンプル数を調整してもよい。
なお、ここでは撮影データの喪失防止や、小容量のDRAM103での処理を想定してデータを順次メモリカード106に記録する構成について説明した。しかし、DRAM103の容量が十分に大きい場合や、処理時間が問われない場合には、記録終了まで撮影データをDRAM103にバッファリングしておき、まとめてデータファイルに書き込むようにしてもよい。
また、解像度の異なる複数の動画データを記録するように構成してもよい。例えば、通常の解像度の動画像と、解像度の低い(縮小された)動画像の両方を同一のデータファイルに記録するように構成してもよい。この場合、画像処理部119で縮小フレーム画像を生成し、圧縮伸長部120で縮小フレーム画像についても符号化処理を行う。また、ムービーボックス402内に縮小動画像用のトラックボックスを追加する。縮小動画像データも実データはメディアデータボックス406に格納する。
以上説明したように、本実施形態のデジタルカメラ100は、動画データと静止画データのような、表現方法の異なる画像データを、同一ファイルに記録するようにした。そのため、動画と、この動画の撮影中に撮影された静止画像のように、表現方法の異なる関連画像データがまとめて取り扱い可能となり、管理や利用が容易になる。また、汎用的なコンテナ構造を利用することで、記録や再生を容易に行うことができる。
例えば、図5で説明したように、動画の撮影中における静止画撮影が可能で、かつ静止画撮影中には動画の記録が中断するような場合がある。この場合、動画データは、時刻t0からt1までの区間Aと、時刻t2からt3までの区間Bにしか存在しない。このような場合、動画再生時、区間Aが最後まで再生された後、時刻t1からt2については撮影された静止画を表示してから区間Bの再生を開始する処理が必要となることがある。
従来、図5のような撮影シーケンスで得られた動画データと静止画データとはそれぞれ別個のファイルとして記録されていた。そのため、再生時には、動画のデータのない区間に再生する静止画ファイルを探索する必要がある。例えば静止画が連写撮影された場合、ファイル数も連写枚数に応じて増加し、管理が煩雑になるほか、一部の静止画ファイルだけが移動されたり削除されたりする可能性も増加する。しかし、本実施形態のように、動画データと静止画データを同一コンテナ形式で格納するデータファイル構造とすることで、静止画ファイルの探索が不要となる。なお、コンテナ形式とはファイル内のデータ格納方法であり、コンテナ形式が同一であることは、同じ規則に基づいてデータを取得できるということである。
また、一般的に用いられる動画データのファイルと静止画データのファイルは全く異なるデータ構造を有するため、再生時に静止画データを取得するには、静止画ファイルからデータを取り出すためのコンテナプログラムをロード、初期化する必要があった。しかし、本実施形態では動画データと静止画データとを同一コンテナ形式でデータファイルに格納しているため、同一のコンテナプログラムを用いてファイル内のデータ探索および取り出しが可能である。従って、再生機器における、静止画データ用のコンテナプログラムのロードや初期化のためのリソースや時間が不要となり、動画再生と静止画再生とのスムーズな切り替わりを実現できる。
さらに、静止画と動画の符号化形式も共通とした場合にはデコードプログラムも1つで足りるため、別個の符号化形式とした場合よりも、再生機器におけるデコードプログラムのロードに必要なリソースや、初期化処理のための時間を削減することができる。再生機器が撮像装置やスマートフォンのように、パーソナルコンピュータよりも処理能力やメモリリソースの制約が大きい場合、これらの効果は一層大きくなる。
以下、このような効果についての理解を提供するため、本実施形態のデータファイルの再生動作について説明する。
図8は、再生装置の一例としてのスマートフォン800の機能構成例を示すブロック図である。携帯電話網との通信機能を除けば、リソースの少ないコンピュータ機器と同様の構成を有している。
CPU801は、不揮発性の記憶装置であるSSD809に記憶されている各種プログラム802をDRAM803にロードして実行することにより、スマートフォン800の機能を実現する。各種プログラム802には、制御プログラム(オペレーティングシステム)804、コンテナプログラム805、デコードプログラム806、アプリケーションプログラム807などが含まれる。SSD809には各種プログラム802の他に、各種設定値や、画像データ810などが記憶されている。ここで、画像データ810は図4を用いて説明した構成を有するデータファイルである。なお、画像データ810は、半導体メモリカードやUSBメモリのような着脱可能な記録装置に格納されていてもよい。
表示部812は一般的にタッチパネルディスプレイである。また、入力部813は電源スイッチや音量ボタン、マナーモードボタンなどである。表示部812に設けられているタッチパネルも入力部813に含まれる。通信部814はWiFi,ブルートゥース(登録商標),携帯電話網などと無線通信するための送受信機や、USBなどの有線通信用のコネクタおよびインタフェースなどを有している。スピーカ815は音声、呼び出し音などを出力する。
DRAM803は揮発性メモリであり、CPU801がプログラムをロードしたり、ワークエリアやバッファメモリとして用いたりする。図8では画像データの再生時の状況として、制御プログラム804、コンテナプログラム805、デコードプログラム806、アプリケーションプログラム807がロードされており、空き領域の一部が作業用メモリ領域808として図示されている。
上述の機能ブロックはバス816で通信可能に相互接続されている。
次に、図9〜図12を参照して、再生時の動作の詳細について説明する。
ここでは、例えばアプリケーションプログラム807が表示する、再生可能な画像データの一覧表示画面などを通じて、ある特定のデータファイルに対する再生指示が入力部813を通じて入力されたものとする。以下の説明においても、CPU801がプログラムを実行することで実現する処理ステップについては、プログラムを実行主体として記載する。なお、制御プログラム804はOSであり、他のプログラムは制御プログラム804が提供する基本的な機能を利用して動作する。
図9はスマートフォン800における再生処理動作を示すフローチャートである。S901でCPU101(アプリケーションプログラム807)は、コンテナプログラム805をSSD808から読み出してDRAM803にロードする。そして、CPU101はコンテナプログラム805の実行を開始する。
S902でCPU101(コンテナプログラム805)は、コンテナプログラム805の初期化処理を実行する。コンテナプログラム805の初期化処理では、再生対象のデータファイルから、画像サイズ、ビット深度、フレームレートなどの情報を取得したり、DRAM803にバッファ領域を確保したり、再生時刻や再生フレーム番号の初期値を設定したりする。
S903でCPU101(アプリケーションプログラム807)は、デコードプログラム806をSSD809から読み出してDRAM803にロードする。そして、CPU101はデコードプログラム806の実行を開始する。
コンテナプログラムにより、データファイルにどの様なデータが記録されているのか、いくつのデータが記録されているのか、どの領域にデータが記録されているのか、等の情報を得ることができる。
このような、データファイル内に記録されたデータの情報に基づいて、再生処理に必要なデコードプログラムだけをDRAM803にロードしたり初期化することができる。特に本実施形態のように、多様な形式のデータを1ファイルに格納する構成では、あらゆる形式のデコードプログラムをDRAM803にロードして起動させることは再生装置に大きい負荷を与える。したがって、1つのコンテナプログラムによって、再生に必要なデコードプログラムを特定できる効果は特に大きい。また、データの数やサイズ等の情報をいち早く入手することで、その先の再生処理に活用することが可能になる。
S904でCPU101(デコードプログラム806)は、デコードプログラム806の初期化処理を実行する。初期化処理では画像サイズ、ビット深度、コンポーネント数、などの初期値を設定したり、DRAM803にバッファ領域を確保したりする。
なお、各種プログラム802にはコンテナプログラムとデコードプログラムがそれぞれ複数保存されていてもよい。この場合、アプリケーションプログラム807は例えば再生対象のデータファイルのメタデータ(ムービーボックス)を参照し、ファイルに格納されているデータの符号化方式に応じて、S901およびS903でロードすべきプログラムを決定(選択)してもよい。
S905でコンテナプログラム805は、データファイルからフレームデータを取得する。この動作の詳細については後述する。
S906でデコードプログラム806は、S905で取得したデータのデコード処理を行う。
S907でコンテナプログラム805は、フレームに対応した音声データがあればデータファイルから取得する。なお、音声データはS905でフレームデータ(画像データ)とともに取得してもよい。
S908でデコードプログラム806は、音声データのデコード処理を行い、再生タイミングになるのを待機する。
S909でアプリケーションプログラム807は、S906でデコードしたフレームを表示部812に表示させる。
S910でアプリケーションプログラム807は、S907でデコードした音声データを再生し、スピーカ815から出力する。
S911でアプリケーションプログラム807は、入力部813から再生停止指示が入力されたか確認し、入力されていれば再生処理を終了し、入力されていなければ処理をS912に進める。
S912でアプリケーションプログラム807は、再生対象のデータファイルが最後まで再生されたか確認し、再生されていれば再生処理を終了し、再生されていなければ処理をS905へ戻し、次のフレームに対する処理を繰り返す。
図10は、図9のS905で実施する次フレーム取得処理の詳細を示すフローチャートである。この処理は、CPU801がコンテナプログラム805を実行することで実施される。
S1000でコンテナプログラム805は、再生チャンク内の全フレームを再生したか確認し、再生していなければS1010で再生フレーム番号(frame index)をインクリメントし、処理をS1011に進める。
一方、再生チャンク内の全フレームを再生していれば、コンテナプログラム805は次の再生チャンクを探索する。コンテナプログラム805はまずS1001でデータファイルのムービーボックス(moov)内のトラックボックス(動画)を参照し、S1002で再生時刻に対応するチャンクの先頭位置(チャンクオフセット)を取得する。チャンクオフセットの取得処理については後でさらに詳細に説明する。
S1003でコンテナプログラム805は、S1002で取得したチャンクオフセットが0であるか(再生時刻に対応する動画データが存在しないか)確認し、0であれば処理をS1004へ進め、0でなければ処理をS1008に進める。
S1008でコンテナプログラム805は、S1002で取得したチャンクオフセットから始まるチャンクを再生チャンクに設定する。そしてコンテナプログラム805はS1009で再生チャンク内の再生フレーム番号(frame index)を初期値1に設定し、処理をS1011へ進める。
S1004でコンテナプログラム805は、データファイルのムービーボックス(moov)内のトラックボックス(静止画)を参照し、S1005で再生時刻に対応するチャンクの先頭位置(チャンクオフセット)を取得する。チャンクオフセットの取得処理については後でさらに詳細に説明する。
S1006でコンテナプログラム805は、S1005で取得したチャンクオフセットが0であるか(再生時刻に対応する静止画データが存在しないか)確認し、0であれば処理をS1011へ進め、0でなければ処理をS1007に進める。S1007でコンテナプログラム805は、S1005で取得したチャンクオフセットから始まるチャンクを再生チャンクに設定し、処理をS1009へ進める。
S1011でコンテナプログラム805は、再生チャンク内のframe indexに対応するフレームのデータを取得し、例えばDRAMの作業用メモリ領域808に格納する。上述の通り、動画トラックに再生すべきデータが存在しない期間には静止画トラックを参照し、再生データがあれば静止画トラックの同一フレーム(frame index=1)が繰り返し再生される。なお、図10のフローチャートでは静止画を繰り返し再生する場合にデータ取得も繰り返すようになっているが、既に取得しているデータは繰り返し取得しないように構成してもよい。
図11および図12を用いて、S1002およびS1005でのチャンクオフセット取得動作についてさらに説明する。
ここでは、図5に示した撮影シーケンスで得られた、動画データと静止画データが格納されたデータファイルが再生対象であり、チャンクあたりのサンプル数(フレーム数)は4であるものとする。
図11の上段はデータファイル内のメディアボックス(mdat)に格納されているデータを模式的に示し、下段は対応するトラックボックス(trak)に含まれる編集リスト(elst)の時系列マップを模式的に示している。
再生時刻tに対するチャンクオフセットの取得方法の例について、図12のフローチャートをさらに用いて説明する。
S1201でコンテナプログラム805は、データファイルのムービーボックス402内の編集ボックス(elst)を参照し、再生時刻tにおいて対象のトラック(動画または静止画トラック)がアクティブか否かを判定する。図11の例では、t1≦t<t2であるため、コンテナプログラム805は対象のトラックがアクティブトラックであると判定し、処理をS1202に進める。対象のトラックがアクティブトラックでないと判定された場合、コンテナプログラム805は処理をS1205へ進め、再生すべきフレームが無いと判定し、チャンクオフセットを0にして処理を終了する。
S1202でコンテナプログラム805は、復号時刻−サンプルボックス(stts)を参照する。復号時刻−サンプルボックスは、復号開始時刻の間隔(sample-delta)が等しいサンプルの連続数を表形式で示したデータを格納している。例えば、復号時刻がタイムスケール10ごとに並んだ10サンプルについては、サンプル数10、サンプルデルタ10というテーブルエントリで表される。サンプルデルタの値は、メディアヘッダボックス(mdhd)に規定されたタイムスケールにおける値である。最初のテーブルエントリから順にサンプルデルタとサンプル数を累積することにより、任意の復号時刻におけるサンプル番号を得ることができる。
具体的には、コンテナプログラム805は、再生時刻tから以下の様にして再生サンプル番号を決定することができる。メディア時刻はt−t1で求められるので、例えば、t1=10秒、t=12.26秒の場合、メディア時刻=2.26秒となる。ここでは簡単のためにサンプルデルタが表すサンプル間隔が1/30秒固定であるとすると、サンプル番号は、2.26/(1/30)=67.8から、67番目と求められる。
次にS1203でコンテナプログラム805は、サンプル−チャンクボックス(stsc)を参照し、チャンクあたりのサンプル数を取得し、S1202で求めたサンプル番号が格納されているチャンク番号を求める。ここでは4サンプル/チャンクとしているので、67/4=16.25から、コンテナプログラム805は、チャンク番号を17番目と求めることができる。
次にS1204でコンテナプログラム805は、チャンクオフセットボックス(stco)を参照する。チャンクオフセットボックスは、各チャンクのファイル内における位置をファイルオフセット(ファイルの先頭からのオフセット)で示した、チャンクの位置情報テーブルである。従って、コンテナプログラム805は、17番目のチャンクに対応するテーブルエントリを参照し、17番目のチャンクの開始位置(開始アドレス)を取得する。
このようにして、チャンクオフセットが求められる。
S1011において、frame indexとチャンクオフセットからフレームデータを取得する場合、コンテナプログラム805は、まず、サンプルサイズボックス(stco)を参照し、対象のチャンクに含まれるサンプルのサイズを取得する。67番目のサンプルは、17番目のチャンクの3番目のサンプル(frame index=3)である。
従って、67番目のサンプルのデータ開始アドレスは、65番目と66番目のサンプルのサイズをstsz/table[65]、stsz/table[66]とすると、
開始アドレス=チャンクオフセット+stsz/table[65]+stsz/table[66]
として求めることができる。
そして、コンテナプログラム805は、67番目のサンプルの開始アドレスからstsz/table[67]分のデータを、再生フレームデータとしてデータファイルから取得する。なお、音声データについても同様の手順で取得することができる。
一般にスマートフォンやタブレット端末などの携帯電子機器はメモリリソースが少ないため、複数のコンテナプログラムをDRAMにロードするとメモリの空き容量を圧迫して操作感の低下などの要因になる。例えば動画データと、この動画撮影中に撮影された静止画のデータとを別コンテナ形式(別ファイル)で記録したものとする。この場合、動画データの記録が中断した区間に静止画を再生しようとすると、再生する静止画ファイルを探索したり、静止画ファイルから再生するデータを取得するためのコンテナプログラムをDRAMにロードする必要がある。しかし、本実施形態では、データファイルを記録する際に、動画データと静止画データを同一コンテナ形式でデータファイルに格納している。そのため、DRAM803にロードするコンテナプログラム805は1つでよく、メモリリソースの少ない装置での再生に有利である。また、動画再生から静止画再生に切り替える場合であっても、静止画データを探索する必要が無い。
なお、符号化形式についても同様のことが当てはまる。したがって、同一コンテナ形式でデータファイルに格納するデータのエンコード形式を共通にすると、デコードプログラムについてもDRAMに1種類ロードすれば足りるため、効果は一層大きくなる。
また、本実施形態では、1つのコンテナプログラムにより、データファイルにどの様なデータが記録されているのか、いくつのデータが記録されているのか、どの領域にデータが記録されているのか、等の情報を得ることができるので、その後の処理に有用である。
例えば、データファイル内に記録されたデータの情報に基づいて、再生処理に必要なデコードプログラムだけをメモリにロードしたり初期化することができる。特に本実施形態のように、多様な形式のデータを1ファイルに格納する構成では、可能性のある全ての形式のデコードプログラムをメモリにロードして起動させることは再生装置に大きい負荷を与える。したがって、1つのコンテナプログラムによって、再生に必要なデコードプログラムを特定できる効果は特に大きい。また、データの数やサイズ等の情報をいち早く入手することで、その先の再生処理に活用することが可能になる。
なお、上述の例では、説明および理解を容易にするため、フレームを記録順に再生するものとしたが、フレーム間予測符号化された動画データを再生する場合など、必ずしも記録順にフレームが再生されない場合があることは当業者に理解されるところである。また、静止画は連写されなくてもよい。また、リソースが制限される再生機器の例としてスマートフォンを説明したが、デジタルカメラ100も同様の再生機器に含まれる。
●(第2実施形態)
次に、本発明の第2実施形態について説明する。第1実施形態で例示した図5の撮影シーケンスは、静止画撮影にメカニカルシャッターを用いていたため、静止画撮影中(時刻t1からt2の区間)は動画撮影が中断されていた。これに対し、本実施形態では、図11に示すように、電子シャッターを用いて静止画撮影を行うことで、静止画撮影区間についても動画データが取得可能な撮影シーケンスで得られるデータの記録方法に関する。
図13および図14は、動画撮影中に電子シャッターを用いた静止画の連写撮影が行われる場合のデジタルカメラ100の動作と、データ記録動作とを、図5および図6と同様に模式的に示している。以下では、第1実施形態と異なる点について説明する。
動画撮影および静止画撮影の開始タイミングは第1実施形態と同様である。時刻t1において、静止画撮影の実行指示が検出されると、撮影制御プログラム302は動画撮影のパラメータを変更する。具体的には、撮影解像度を静止画用に変更する。また、撮影制御プログラム302は、信号処理プロセッサ118の設定を変更する。具体的には、撮影制御プログラム302は、静止画撮影期間について得られる各フレーム画像について、RAW形式のデータと、縮小したのちに現像処理を行ったデータの両方を生成するように画像処理部119に設定する。また、撮影制御プログラム302は、圧縮伸長部120に対し、RAW形式のデータについては可逆圧縮処理を、縮小画像については静止画撮影期間における動画データのフレームとして符号化処理を行うように設定する。ここでは、可逆圧縮処理としてランレングス符号化を、動画用の符号化処理としてH.264形式の符号化を行うものとするが、これらは一例である。なお、RAW形式のデータを不可逆圧縮符号化してもよいし、動画データをRAW形式とする場合などは動画データを可逆圧縮符号化してもよい。
したがって、図13の例では、時刻t1からt2までの間、静止画用の解像度で60フレーム秒の撮影が行われる。この間、画像処理部119は、RAW形式の撮影画像を圧縮伸長部120に出力するとともに、縮小処理と現像処理を行った動画用のフレーム画像を生成し、こちらも圧縮伸長部120に出力する。圧縮伸長部120は、RAW形式の撮影画像にランレングス符号化を行って静止画データストリームを生成し、DRAM103の作業用メモリ領域304に格納する。また、圧縮伸長部120は、動画用のフレーム画像については時刻t0からと同様にH.264符号化を行い、生成した動画データストリームをDRAM103の作業用メモリ領域304に格納する。
時刻t2でレリーズボタン110の全押しが解除されると、CPU101(撮影制御プログラム302)は、動画撮影処理のパラメータを元に戻す。これにより、時刻t0からt1までと同様、撮影解像度が動画撮影用に、画像処理部119の処理は現像処理に、圧縮伸長部120の処理は動画データストリームの生成に、それぞれ復帰する。その後、時刻t3で動画撮影終了(または一時停止)指示(例えば動画撮影指示ボタン111の再押下)を検出すると、CPU101(撮影制御プログラム302)は動画撮影処理を終了(または一時停止)する。
図14は、図13のような撮影シーケンスで得られるデータの符号化処理およびデータファイル内での格納状態を模式的に示している。ここでは、圧縮伸長部120が動画および音声についてはH.264符号化を、静止画についてはランレングス符号化を行い、データファイル内の同一コンテナ(メディアデータボックス(mdat)406)に格納されることを示している。
なお、本実施形態においても、DRAM103の容量が十分に大きい場合や、処理時間が問われない場合には、記録終了まで撮影データをDRAM103にバッファリングしておき、まとめてデータファイルに書き込むようにしてもよい。
また、解像度の異なる複数の動画データを記録するように構成してもよい。例えば、通常の解像度の動画データと、この動画像を解像度を下げた縮小動画データの両方を同一のデータファイルに記録するように構成してもよい。この場合、画像処理部119で縮小フレーム画像を生成し、圧縮伸長部120で縮小フレーム画像についても符号化処理を行う。また、ムービーボックス402内に縮小動画像用のトラックボックスを追加する。縮小動画像データも実データはメディアデータボックス406に格納する。
このように、動画撮影中に静止画撮影を行う場合でも動画データが途切れずに取得可能な場合には、静止画データの符号化形式を動画データの符号化形式と同じにする必要がない。そのため、静止画データと動画データのそれぞれについて、符号化形式を自由に選択することができる。例えば動画については圧縮率の高い非可逆圧縮符号化を用い、RAW形式の静止画データについては可逆圧縮符号化方式を用いることが可能になり、データの目的や種類に応じて適切な符号化を行うことができる。また、本実施形態においても、静止画と動画とを同一コンテナ形式で1つのデータファイルに格納するため、関連するデータの管理が容易、ファイルの探索が不要、再生機器で複数のコンテナプログラムをロードしなくてよいといった効果を得ることができる。
●(第3実施形態)
次に、本発明の第3実施形態について説明する。例えば、動画撮影中に撮影された静止画に対して時間のかかる画像処理を適用する必要があり、バッファメモリの容量や処理能力に余裕がない場合、静止画データに対する画像処理が終わる前に動画データを記録しなければならないことが生じうる。このような場合、図15に示すように、静止画データは動画データの記録が終わるまでバッファメモリに保存しておき、動画データの記録が終わってから必要な画像処理を適用し、動画データとは別ファイルとして記録することになる。
しかしながら、第1実施形態のように静止画撮影中(時刻t1からt2の区間)は動画撮影が中断される場合、先に記録された動画データファイルには、時刻t1からt2の区間に再生するためのデータが含まれない。本実施形態では、動画データファイルの記録後に静止画データを追加し、第1実施形態で説明したような構成のデータファイルを生成することを特徴とする。
この場合、図7を参照して説明したデータファイルの記録処理の一部を、例えば図16(a)に示すように変更する。具体的には、静止画撮影(S717)の後、S1601で撮影制御プログラム302は、静止画に、時間のかかる特定の画像処理(例えばノイズリダクション処理)が適用されるかどうかを判定する。例えば、特定の画像処理が適用される条件(例えば撮影モード、撮影感度など)に合致するか否かを判定すればよい。
そして、撮影制御プログラム302は、特定の画像処理が適用されないのであれば、第1実施形態と同様にS718へ処理を進める。一報、特定の画像処理が適用される場合、撮影制御プログラム302は、撮影された静止画データをS1602でバッファ(DRAM103の作業用メモリ領域304)に保存する。
そしてS1603で撮影制御プログラム302は、動画データ用のトラックボックス(trak)403の編集ボックス(elst)の、再生時刻に対応するエントリに、静止画データの固有情報を格納し、処理をS715へ進める。静止画データの固有情報に特に制限は無いが、例えば撮像装置が割り当てる画像固有ID(ImageUniqueID)を用いることができる。
その後、S719で動画撮影終了指示の入力があったら、撮影制御プログラム302は、バッファに静止画データが格納されているか確認する。そして、静止画データが格納されていれば、撮影制御プログラム302は画像処理部119によって画像処理を適用し、圧縮伸長部120で符号化処理を適用して静止画ファイルをメモリカード106に記録する。なお、バッファに静止画データが格納されているかどうかは、S1602でフラグをセットするように構成することで、フラグから容易に判別できる。
また、ここで圧縮伸長部120は、動画データと共通した規格の符号化を静止画データに適用するようにしてもよいし、動画データとは異なる規格の符号化を適用するようにしてもよい。例えば、後述するファイル統合処理後に静止画データファイルを削除するのであれば、動画データと共通した規格の符号化を静止画データに適用するようにし、削除しないのであれば動画データとは異なる規格の符号化を適用するようにしてもよい。
次に、ファイルの統合処理について説明する。例えば撮影制御プログラム302は、静止画ファイルを動画ファイルと別に記録した直後、装置の処理負荷が低い場合、ユーザ指示などのタイミングで、ファイル統合処理を実行する。ファイル統合処理は、動画データファイルのうち、データ記録が中断された期間があるものについて、中断期間に撮影された静止画データを追加する処理である。
ファイル統合処理について図16(b)に示すフローチャートを用いて説明する。S1611で撮影制御プログラム302は、メモリカード106内のデータファイルのムービーボックス402を解析し、動画データ用のトラックボックス403に静止画の固有情報が格納されているかどうかを判定する。
そして、静止画の固有情報が格納されていれば、S1612で撮影制御プログラム302は、ファイルの統合処理を行う。具体的には、撮影制御プログラム302は、動画トラックボックス403に格納されている固有情報に対応する静止画ファイルから静止画データを取得し、メディアデータボックス406の末尾に静止画データストリームとして追加する。この際、必要に応じて、圧縮伸長部120によって静止画データの符号化形式を変更する。また、対応する静止画トラックボックス404に必要なメタデータを格納する。
さらに撮影制御プログラム302は、動画トラックボックス403に格納されていた静止画固有情報を削除する。上述のように、静止画トラックボックス404は予め領域が確保されているため、ムービーボックス402の容量を拡張するためにメディアデータボックス406を移動させるファイルコピー処理は不要である。したがって、デジタルカメラ100のようなリソースの少ない装置でもファイル統合処理を実現することができる。なお、ファイル統合処理を静止画ファイルの記録直後に行う場合、バッファに残っている静止画データを用いて統合処理を実行してもよい。また、ファイル統合処理が完了したら、静止画ファイルは削除してもよい。
本実施形態によれば、撮影時には同一データファイルに記録できない場合であっても、記録後に同一データファイルに統合することで、第1実施形態と同様の効果を実現することができる。
●(第4実施形態)
次に、本発明の第4実施形態について説明する。上述の実施形態では、動画データと同一ファイル内に格納する静止画データとして、動画撮影中に撮影された静止画のデータを例として説明した。しかし、本発明において動画データと同一ファイルに格納可能な静止画データは撮影で得られた画像データに限らない。
本実施形態では、動画データと距離画像データを同一ファイルに記録する構成について説明する。距離画像は各画素の輝度がその位置における被写体距離を表す情報であり、デプスマップ、奥行き画像などと呼ばれることもある。距離画像データは様々な方法で生成することができるが、本実施形態では1対の視差画像データ(ステレオ画像データ)から画像処理部119が生成するものとする。
ステレオ画像は、撮像ユニット113をステレオカメラのような多眼カメラとしたり、瞳分割機能を有する撮像素子1132を用いたりすることで取得可能である。ここでは、一例として、瞳分割機能を有する撮像素子1132を用いる構成について説明する。
まず、撮像素子1132の構成例について、図17(a)〜図17(d)を用いて説明する。図17(a)は撮像素子1132をデジタルカメラ100の正面および側方から見た状態を模式的に示している。撮像素子1132が有する画素群143の受光面上にはマイクロレンズアレイ141が形成されている。画素群143を構成する各画素は、図17(b)および(c)に示すように、一つのマイクロレンズ142と二つのフォトダイオード(光電変換領域)143a,143bで構成される。以下、フォトダイオード143aをA像用フォトダイオード(Aピクセル)、フォトダイオード143bをB像用フォトダイオード(Bピクセル)と呼ぶ。
図17(d)は撮像光学系1131の射出瞳144を概念的に示しており、A像瞳145aとAピクセル143a、B像瞳145bとBピクセル143bは、それぞれマイクロレンズ142により共役の関係を有する。従って、撮像素子1132の各画素は瞳分割機能を有し、Aピクセル143aには射出瞳144の右半分のA像瞳145aを通過した光束が、Bピクセル143bには射出瞳144の左半分のB像瞳145bを通過した光束が入射する。従って、Aピクセル群からなる画像(A像)と、Bピクセル群からなる画像(B像)は1対の視差画像である。また、1対の視差画像を加算することで、通常の撮像画像を得ることもできる。
A像とB像のずれ量を検出することにより、撮像光学系1131のデフォーカス量とデフォーカス方向を検出することができる。従って、撮像素子1132の出力する信号から位相差検出方式の自動焦点検出(AF)を実現することができる。
次に、図18を参照して、このような構成の撮像素子1132から得られる視差画像から距離画像を得る方法の一例を説明する。図18はある画素位置における被写体距離の算出方法を模式的に示した図である。いま、ある画素ラインでA像151aとB像151bが得られているとすると、撮像光学系1131の焦点距離および、フォーカスレンズと撮像素子1132との距離情報から、実線のように光束が屈折されることがわかる。従って、ピントの合う被写体は152aの位置にあることがわかる。同様にして、A像151aに対してB像151cが得られた場合には位置152b、B像151dが得られた場合には位置152cにピントの合う被写体があることがわかる。以上のように、各画素において、その画素を含むA像信号と、対応するB像信号との相対位置から、その画素位置における被写体の距離情報を算出することができる。
例えば図18においてA像151aとB像151dが得られている場合、像のずれ量の半分に相当する中間点の画素154から被写体位置152cまでの距離153を、画素154の輝度範囲(例えば0〜255)に換算して記憶する。例えば距離が大きいほど小さい輝度を有するように換算すると、背景部分が暗い距離画像になる。このようにして、各画素の位置における被写体の距離情報を算出し、距離画像を生成することができる。
したがって、本実施形態では、撮像素子1132のAピクセル群とBピクセル群とから別個に信号(視差画像信号)を読み出し、画像処理部119に供給する。そして画像処理部119は、1対の視差画像であるA像とB像とを用い、距離画像を生成する。また、画像処理部119は、A像とB像とを加算して通常の画像(動画フレームや静止画)を生成する。
なお、画像処理部119でA像とB像が生成可能であれば、撮像素子1132からの読み出しは、必ずしもAピクセル群とBピクセル群とから行う必要はない。例えば、各画素からAピクセルとBピクセルの加算信号(A+Bと表記する)と、Aピクセルの信号(Aと表記)を読み出し、Bピクセルの信号は(A+B)−Aの演算から得るようにしてもよい。あるいは、データ量を削減するため、(A+B)と、AピクセルとBピクセルの差分信号(A−B)とを読み出してもよい。{(A+B)+(A−B)}/2でAを、{(A+B)−(A−B)}/2でBを得ることができる。
なお、ステレオカメラを用いて視差画像を取得する場合、画像の対応点を抽出して、3角測量の原理で各画素位置における距離情報を算出することができる。また、通常画像は、視差画像を加算平均することで得ることができる。
距離画像は、例えば特定の撮影モードでの動画撮影中にレリーズボタン110が押下されている間だけ生成するように構成したり、動画の各フレームについて(あるいは特定数のフレームごとに)生成するように構成したりすることができる。あるいは、第1および第2実施形態における静止画撮影時に生成し、静止画として記録するように構成してもよい。これらは距離画像の生成タイミングの例であり、他の任意のきっかけで生成されるように構成可能である。
一例として、図19および図20に、第2実施形態における静止画の代わりに距離画像を生成、記録する場合の撮影シーケンスとデータ記録動作とを模式的に示す。この場合、時刻t1〜t2では、動画1701と並行して距離画像1702の生成が実行される。距離画像は動画像と同じ解像度で良いため、t1で動画撮影のパラメータを変更する必要はない。また、距離画像は可逆圧縮しても差し支えないため、再生時の利便性を考慮し、図20の例では圧縮伸長部120では動画と同じ符号化を適用している。
たとえば距離画像1702は静止画連写データストリーム408とは異なる動画データストリーム410としてメディアデータボックス406に記録される。また、ムービーボックス402内のトラックボックスも別途確保される。あるいは、第1実施形態における静止画の代わりに距離画像を記録してもよい。
再生機器がデータファイル内の動画データを再生する場合、動画データと同一コンテナ内に記録されている距離画像を用いた再生処理を行うことができる。距離画像を用いて再生画像フレームにどのような画像処理を適用するかは任意であるが、例えば背景部分をぼかす処理を適用することができる。距離画像が、距離が大きいほど輝度が小さくなるように生成されている場合、距離画像の輝度が閾値以下である領域に対応する動画フレーム内の領域をぼかす(平滑化する)処理を適用することで、主要被写体が強調された動画1703の再生が可能である。ぼかし処理は、距離が大きいほど強くぼかすなど、強弱を制御するようにしてもよい。
再生フレームに利用できる距離画像の存在有無の確認と、距離画像を利用した再生フレームの画像処理は、例えば図9の再生処理におけるS906とS907の間で実行することができる。再生フレームに利用できる距離画像の有無は、動画のトラックボックスと距離画像のトラックボックスの対応エントリを参照することで判定できる。
(変形例)
なお、距離画像を用いた再生は動画に限らず、静止画においても有用である。したがって、静止画撮影時に距離画像を生成し、静止画と距離画像を同一データファイルに格納するように構成してもよい。この場合、静止画と距離画像の符号化形式は同一(例えばJPEG形式)であってもよいし、異なっていてもよい(例えば静止画はランレングス符号化、距離画像はJPEG形式)。なお、静止画撮影は連写であっても単写であってもよく、連写の場合は連写された複数の静止画と、対応する複数の距離画像とが同一ファイルに格納される。
本実施形態でも、動画データや静止画データと、距離画像データとを同一コンテナ形式で同一ファイルに格納するため、ファイル再生機器側で距離画像データを取り出すためのコンテナプログラムのロードと初期化を行う必要がない。また、動画データや静止画データと、距離画像データとの符号化形式を共通とすることで、距離画像データのためにデコードプログラムをロードしたり初期化したりする必要がなくなる。そのため、リソースの少ない再生機器でもスムーズな再生処理が実現できる。
●(第5実施形態)
次に、本発明の第5実施形態について説明する。第4の実施形態では視差画像から距離画像を生成して記録する構成について説明したが、視差画像を同一ファイルに格納することもできる。視差画像を同一ファイルに格納することで、例えば立体表示を行う再生装置において、対になる視差画像を探索する必要がなくなる。また、立体表示に必要な、各画像の撮影視点の位置情報や輻輳角、基線長といった情報もメタデータとして同一ファイルに格納する。
ここでは、図17(e)に示すように、撮像素子1132の各画素が水平および垂直方向にそれぞれ2分割された、計4つのピクセル(Aピクセル143a、Bピクセル143b、Cピクセル143c、Dピクセル143d)を有するものとする。そして、Aピクセル群からなる画像の撮像視点位置を基準として、他のピクセル群からなる画像の撮像視点位置を規定する。
図21は4視点の動画データの記録動作を模式的に示している。撮像素子1132のA(左上)ピクセル群、B(左下)ピクセル群、C(右上)ピクセル群、D(右下)ピクセル群のそれぞれから得られる4つの視差画像は、別個の動画データストリームとして同一コンテナ(メディアデータボックス)406に格納される。なお、ここでは説明および理解を容易にするため、各視差画像のデータを記録する構成を説明したが、一部を加算画像のデータとするなど、最終的に各視差画像のデータが得られれば、他の画像データの組み合わせを記録してもよい。
一方、4つの視差画像を立体視に利用するためのメタデータは、図22に示すように、拡張タイプのボックス(uuid)2101を用いてムービーボックス402に格納される。拡張ボックス2101には、撮影情報ボックス2102と撮像方式ボックス2103が格納される。撮影情報ボックス2102には4つの視差画像が含まれることや、フレームレートや解像度など、各動画データストリームに共通な情報が格納される。また、撮像方式ボックス2103には、各視差画像の視点位置に関する情報(基準視点と他の視点との位置関係情報など)とトラック識別子とが対応付けられたテーブル2109が格納される。
トラックボックス2014〜2107は動画トラックボックス403と同様である。なお、図示していないが音声トラックボックスも存在する。メディアデータボックス406には、図21に示すように個々の動画データストリームが格納される。なお、図21では便宜上メディアデータボックス406内に視点ごとのストリームが独立して格納されるように記載しているが、実際には図4に示したように同じ時刻に得られた各視点の画像データが順次記録されている。
本実施形態では多視点の動画データを同一ファイル、同一コンテナ形式で格納する構成を説明したが、多視点の静止画データについても同様に記録することができる。本実施形態によっても、再生機器において画像データの探索が不要になるほか、1つのコンテナプログラムをロード、実行すれば足りる。また、各視差画像の符号化形式を共通としたことで、再生装置で1つのデコードプログラムをロード、実行すれば足り、メモリ容量の消費を抑制することができる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
100…デジタルカメラ、101…CPU、106…メモリカード、107…操作部、110…レリーズボタン、111…ボタン、113…撮像ユニット、114…通信部、118…信号処理プロセッサ、119…画像処理部、120…圧縮伸長部、121…表示部

Claims (19)

  1. 第1の画像データと、前記第1の画像データとは表現方法の異なる第2の画像データとを取得する取得手段と、
    前記第1の画像データと、前記第2の画像データとを、前記第1の画像データのメタデータおよび前記第2の画像データのメタデータとともに、コンテナ構造を有するデータファイルに格納して記録する記録手段と、を有し、
    前記記録手段は、前記第1の画像データと前記第2の画像データとを同じコンテナ形式で前記データファイルに格納することを特徴とするデータ記録装置。
  2. 符号化手段をさらに有し、
    前記符号化手段は、前記第1の画像データと前記第2の画像データとを同じ符号化形式で符号化し、
    前記記録手段は前記符号化手段が符号化した前記第1の画像データと前記第2の画像データとを記録する、
    ことを特徴とする請求項1に記載のデータ記録装置。
  3. 前記第1の画像データが動画撮影で得られたデータであり、
    前記第2の画像データが、前記動画撮影中の静止画撮影で得られたデータである、
    ことを特徴とする請求項2に記載のデータ記録装置。
  4. 前記静止画撮影に対応する期間の前記第1の画像データが存在しないことを特徴とする請求項3に記載のデータ記録装置。
  5. 前記静止画撮影に対応する期間の前記第1の画像データが存在する場合、前記符号化手段は、前記第1の画像データと前記第2の画像データとを異なる符号化形式で符号化することを特徴とする請求項3または請求項4に記載のデータ記録装置。
  6. 前記静止画撮影に対応する期間の前記第1の画像データが存在しない場合であっても、前記第1の画像データと前記第2の画像データとを連続して再生する必要がない場合には、前記符号化手段は、前記第1の画像データと前記第2の画像データとを異なる符号化形式で符号化することを特徴とする請求項3から請求項5のいずれか1項に記載のデータ記録装置。
  7. 前記静止画撮影に対応する期間の前記第1の画像データが存在する場合、前記符号化手段は、前記第1の画像データを不可逆圧縮符号化し、前記第2の画像データを可逆圧縮符号化することを特徴とする請求項5または請求項6に記載のデータ記録装置。
  8. 前記第1の画像データおよび前記第2の画像データの少なくとも一方がRAW形式を有することを特徴とする請求項7に記載のデータ記録装置。
  9. 前記第1の画像データが静止画または動画のデータであり、
    前記第2の画像データが、前記第1の画像データに関する距離画像のデータである、
    ことを特徴とする請求項1または請求項2に記載のデータ記録装置。
  10. 複数の視差画像データから前記第2の画像データを生成する生成手段をさらに有し、
    前記第1の画像データが、前記複数の視差画像データを加算したデータに相当することを特徴とする請求項9に記載のデータ記録装置。
  11. 動画データと、前記動画データの解像度を下げた縮小動画データとを含む、複数の画像データを取得する取得手段と、
    前記複数の画像データを、前記複数の画像データのメタデータとともに、コンテナ構造を有するデータファイルに格納して記録する記録手段と、を有し、
    前記記録手段は、前記複数の画像データを同じコンテナ形式で前記データファイルに格納することを特徴とするデータ記録装置。
  12. 第1の画像データと、前記第1の画像データとは表現方法の異なる第2の画像データとを含む複数の画像データを取得する取得手段と、
    前記複数の画像データを、前記複数の画像データのメタデータとともに、コンテナ構造を有するデータファイルに格納して記録する記録手段と、を有し、
    前記記録手段は、前記複数の画像データを同じコンテナ形式で前記データファイルに格納することを特徴とするデータ記録装置。
  13. 符号化手段をさらに有し、
    前記符号化手段は、前記複数の画像データを同じ符号化形式で符号化し、
    前記記録手段は前記符号化手段が符号化した前記複数の画像データを記録する、
    ことを特徴とする請求項11または請求項12に記載のデータ記録装置。
  14. 前記データファイルがISOベースメディアファイルフォーマットあるいはISOベースメディアファイルフォーマットの互換フォーマットに準拠したコンテナ構造を有することを特徴とする請求項1から請求項13のいずれか1項に記載のデータ記録装置。
  15. 前記第1の画像データと前記第2の画像データを取得するための撮像素子と、
    請求項1から請求項14のいずれか1項に記載のデータ記録装置と、
    を有することを特徴とする撮像装置。
  16. 取得手段が、第1の画像データと、前記第1の画像データとは表現方法の異なる第2の画像データとを取得する取得工程と、
    記録手段が、前記第1の画像データと、前記第2の画像データとを、前記第1の画像データのメタデータおよび前記第2の画像データのメタデータとともに、コンテナ構造を有するデータファイルに格納して記録する記録工程と、を有し、
    前記記録工程において前記記録手段は、前記第1の画像データと前記第2の画像データとを同じコンテナ形式で前記データファイルに格納することを特徴とするデータ記録装置の制御方法。
  17. 取得手段が、動画データと、前記動画データの解像度を下げた縮小動画データとを含む、複数の画像データを取得する取得工程と、
    記録手段が、前記複数の画像データを、前記複数の画像データのメタデータとともに、コンテナ構造を有するデータファイルに格納して記録する記録工程と、を有し、
    前記記録工程において前記記録手段は、前記複数の画像データを同じコンテナ形式で前記データファイルに格納することを特徴とするデータ記録装置の制御方法。
  18. 取得手段が、第1の画像データと、前記第1の画像データとは表現方法の異なる第2の画像データとを含む複数の画像データを取得する取得工程と、
    記録手段が、前記複数の画像データを、前記複数の画像データのメタデータとともに、コンテナ構造を有するデータファイルに格納して記録する記録工程と、を有し、
    前記記録工程において前記記録手段は、前記複数の画像データを同じコンテナ形式で前記データファイルに格納することを特徴とするデータ記録装置の制御方法。
  19. コンピュータを、請求項1から請求項14のいずれか1項に記載のデータ記録装置が有する各手段として機能させるためのプログラム。
JP2015130328A 2015-06-29 2015-06-29 データ記録装置およびその制御方法、撮像装置 Active JP6576122B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015130328A JP6576122B2 (ja) 2015-06-29 2015-06-29 データ記録装置およびその制御方法、撮像装置
CN201680038892.1A CN107836114B (zh) 2015-06-29 2016-06-21 数据记录设备及其控制方法、摄像设备和计算机可读存储介质
US15/580,747 US10362262B2 (en) 2015-06-29 2016-06-21 Data recording apparatus and method of controlling the same
PCT/JP2016/002989 WO2017002328A1 (en) 2015-06-29 2016-06-21 Data recording apparatus and method of controlling the same, and image capture apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015130328A JP6576122B2 (ja) 2015-06-29 2015-06-29 データ記録装置およびその制御方法、撮像装置

Publications (3)

Publication Number Publication Date
JP2017017447A true JP2017017447A (ja) 2017-01-19
JP2017017447A5 JP2017017447A5 (ja) 2018-08-09
JP6576122B2 JP6576122B2 (ja) 2019-09-18

Family

ID=57608438

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015130328A Active JP6576122B2 (ja) 2015-06-29 2015-06-29 データ記録装置およびその制御方法、撮像装置

Country Status (4)

Country Link
US (1) US10362262B2 (ja)
JP (1) JP6576122B2 (ja)
CN (1) CN107836114B (ja)
WO (1) WO2017002328A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021182089A1 (ja) * 2020-03-09 2021-09-16 ソニーグループ株式会社 ファイル処理装置、ファイル処理方法、及び、プログラム
JP2022070948A (ja) * 2018-05-30 2022-05-13 マクセル株式会社 装着型装置

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10931968B2 (en) * 2017-07-31 2021-02-23 Nokia Technologies Oy Method and apparatus for encoding or decoding video content including regions having looping videos of different loop lengths
US10313579B2 (en) 2017-08-31 2019-06-04 Qualcomm Incorporated Dual phase detection auto focus camera sensor data processing
JP7171331B2 (ja) * 2018-09-14 2022-11-15 キヤノン株式会社 撮像装置
US11527265B2 (en) * 2018-11-02 2022-12-13 BriefCam Ltd. Method and system for automatic object-aware video or audio redaction
JP7337526B2 (ja) * 2019-03-26 2023-09-04 キヤノン株式会社 画像処理装置、撮像装置、画像処理方法、およびプログラム
JPWO2020196006A1 (ja) * 2019-03-28 2020-10-01
WO2020262389A1 (ja) * 2019-06-28 2020-12-30 キヤノン株式会社 計測装置、撮像装置、計測システム、制御方法及びプログラム
CN113824934B (zh) * 2021-09-23 2024-02-09 合肥埃科光电科技股份有限公司 线扫描相机色彩插值方法、装置、设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007243907A (ja) * 2006-02-10 2007-09-20 Sony Corp 記録装置、記録方法、記録方法のプログラム、記録方法のプログラムを記録した記録媒体、再生装置、再生方法、再生方法のプログラム及び再生方法のプログラムを記録した記録媒体
US20090208119A1 (en) * 2008-02-15 2009-08-20 Samsung Electronics Co., Ltd. Method for generating and playing image files for slideshows
JP2011071968A (ja) * 2009-08-28 2011-04-07 Nikon Corp 静止画像ファイルのデータ構造、画像ファイル生成装置、画像再生装置及び電子カメラ
JP2011142585A (ja) * 2010-01-08 2011-07-21 Sony Corp 画像処理装置、情報記録媒体、および画像処理方法、並びにプログラム
JP2012161048A (ja) * 2011-02-02 2012-08-23 Canon Inc 撮像装置
JP2014096194A (ja) * 2012-11-12 2014-05-22 Canon Inc 記録装置及び記録方法
JP2014197848A (ja) * 2009-04-09 2014-10-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) メディア・コンテナ・ファイル管理
JP2015159484A (ja) * 2014-02-25 2015-09-03 キヤノン株式会社 記録装置、記録方法、プログラム、ならびに撮像装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004023480A1 (en) * 2002-09-06 2004-03-18 Lg Electronics Inc. Recording medium having data structure for managing reproduction of still images recorded thereon and recording and reproducing methods and apparatuses
JP5350928B2 (ja) * 2009-07-30 2013-11-27 オリンパスイメージング株式会社 カメラ及びカメラの制御方法
JP5600405B2 (ja) * 2009-08-17 2014-10-01 キヤノン株式会社 画像処理装置、画像処理方法及びプログラム
JP2012015830A (ja) * 2010-07-01 2012-01-19 Nikon Corp カメラ
US8358927B2 (en) * 2010-08-05 2013-01-22 Panasonic Corporation Imaging apparatus

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007243907A (ja) * 2006-02-10 2007-09-20 Sony Corp 記録装置、記録方法、記録方法のプログラム、記録方法のプログラムを記録した記録媒体、再生装置、再生方法、再生方法のプログラム及び再生方法のプログラムを記録した記録媒体
US20090208119A1 (en) * 2008-02-15 2009-08-20 Samsung Electronics Co., Ltd. Method for generating and playing image files for slideshows
JP2014197848A (ja) * 2009-04-09 2014-10-16 テレフオンアクチーボラゲット エル エム エリクソン(パブル) メディア・コンテナ・ファイル管理
JP2011071968A (ja) * 2009-08-28 2011-04-07 Nikon Corp 静止画像ファイルのデータ構造、画像ファイル生成装置、画像再生装置及び電子カメラ
JP2011142585A (ja) * 2010-01-08 2011-07-21 Sony Corp 画像処理装置、情報記録媒体、および画像処理方法、並びにプログラム
JP2012161048A (ja) * 2011-02-02 2012-08-23 Canon Inc 撮像装置
JP2014096194A (ja) * 2012-11-12 2014-05-22 Canon Inc 記録装置及び記録方法
JP2015159484A (ja) * 2014-02-25 2015-09-03 キヤノン株式会社 記録装置、記録方法、プログラム、ならびに撮像装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022070948A (ja) * 2018-05-30 2022-05-13 マクセル株式会社 装着型装置
JP7328382B2 (ja) 2018-05-30 2023-08-16 マクセル株式会社 装着型装置
WO2021182089A1 (ja) * 2020-03-09 2021-09-16 ソニーグループ株式会社 ファイル処理装置、ファイル処理方法、及び、プログラム

Also Published As

Publication number Publication date
WO2017002328A1 (en) 2017-01-05
JP6576122B2 (ja) 2019-09-18
US10362262B2 (en) 2019-07-23
US20180152662A1 (en) 2018-05-31
CN107836114A (zh) 2018-03-23
CN107836114B (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
JP6576122B2 (ja) データ記録装置およびその制御方法、撮像装置
US9609167B2 (en) Imaging device capable of temporarily storing a plurality of image data, and control method for an imaging device
WO2014141637A1 (en) Imaging apparatus and imaging apparatus control method
JP2009225361A (ja) 記録装置および記録方法、ならびに、編集装置および編集方法
KR101385168B1 (ko) 화상 데이터 기록장치
JP6745629B2 (ja) 情報処理装置およびその制御方法
KR20150088200A (ko) 촬상 장치, 촬상 제어 방법 및 프로그램
JP2008301475A (ja) 撮像装置及びその制御方法
JP5773855B2 (ja) 画像処理装置
JP5769434B2 (ja) 動画記録装置、情報処理装置
JP6278353B2 (ja) 記録装置、記録方法、プログラム、ならびに撮像装置
JP2015192227A (ja) 撮像装置およびその制御方法、ならびにプログラム
CN103905698A (zh) 摄像设备
JP7213657B2 (ja) 撮像装置及びその制御方法及びプログラム
JP7214538B2 (ja) 撮像装置及び記録制御方法
JP6071358B2 (ja) 画像処理装置、画像処理方法、プログラム
JP2021180396A (ja) 撮像装置および撮像装置の制御方法
JP6218489B2 (ja) 画像処理装置
JP2021180399A (ja) 撮像装置および撮像装置の制御方法
JP2020065219A (ja) 撮像装置および撮像装置の制御方法
JP2016082267A (ja) 撮像装置
JP2021040217A (ja) 撮像装置及びその制御方法並びにプログラム
JP2020136994A (ja) 記録装置、記録装置の制御方法およびプログラム
JP2013106288A (ja) 電子機器、表示制御方法、およびプログラム
JP2016192625A (ja) 撮像装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180627

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190708

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190722

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190820

R151 Written notification of patent or utility model registration

Ref document number: 6576122

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151