説明

撮像装置及びプログラム

【課題】 「隣接するIDRフレームにおいては、異なるIDRフレーム識別ID(idr_pic_id)を割り当てなければならない」といった制約のある圧縮方式の動画撮影中に、静止画撮影を行ったとしても、制約に違反しない動画データを生成することができる撮像装置を提供する。
【解決手段】 動画撮影中に静止画撮影の指示が入力されたことに応じて、所定の画像データを動画データのIDRフレームとして複数回圧縮し、得られた複数のIDRフレームをそれぞれ複数回用いて、IDRフレームの識別IDが隣接するIDRフレームで同一にならない順番になる動画データとして前記記録媒体に記録する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は撮像装置に関し、特に、動画撮影中に静止画撮影を行うことができる撮像装置に関する。
【背景技術】
【0002】
従来、動画撮影を行うとともに、動画撮影中に静止画撮影を行うことができる撮像装置が登場してきている。
【0003】
しかし、動画撮影と静止画撮影とでは、露光時間、解像度、ISO感度、ホワイトバランス調整、ガンマ補正、など様々な撮影パラメータが異なる。そのため、従来は、動画撮影中に静止画撮影を実行する場合、静止画撮影が終了するまで動画撮影(動画フレームの記録)を中断し、その終了後に動画撮影を再開する処理を行っていた。そこで、特許文献1のように、静止画撮影を行うことで中断した期間の複数の動画フレームを、静止画撮影により得られた静止画データや、静止画撮影により欠落したフレームの前後の動画フレームを用いて生成した補間フレームで補間する技術が提案されている。また、従来の撮像装置には、黒画像データを用いて生成した補間フレームで補間するものもあった。
【0004】
一方、近年、動画の圧縮符号化の規格としてMPEG−4 AVC/H.264が注目されている。MPEG−4 AVC/H.264は、従来のMEPG2等の圧縮方式よりも高い圧縮率を実現しており、撮像装置の動画データの圧縮方式としても用いられるようになってきたものである。特に、MPEG−4 AVC/H.264では、新しくIDR(Instantaneous Decoding Refresh)フレームが定義された。IDRフレームとは、フレーム内の情報のみから符号化するフレーム内符号化されたI(イントラ)フレームである。MPEG−4 AVC/H.264においては、後続のフレーム間符号化を行うPフレームやBフレームは、このIDRフレーム以前のフレームを参照することができないように定められている。また、MPEG−4 AVC/H.264においては、IDRフレームに対してIDRフレーム識別ID(idr_pic_id)が付与されており、隣接するIDRフレームにおいては、異なるIDRフレーム識別ID(idr_pic_id)を割り当てなければならない(ISO/IEC14496−10参照)、と規定されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2001−111934号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1のように、静止画データを用いて生成された補間フレームや所定の補間フレームを用いて、静止画撮影が行われた期間の動画フレームを補間すると、同一のフレームを動画フレームに複数挿入することで補間が行われることになる。しかし、動画データの圧縮方式として、例えば、MPEG−4 AVC/H.264のように、「隣接するIDRフレームにおいては、異なるIDRフレーム識別ID(idr_pic_id)を割り当てなければならない」といった制約のある圧縮方式が採用されている場合、このような補間方式を用いると、補間フレームの区間で隣接するIDRフレームに、同一のIDRフレーム識別ID(idr_pic_id)が割り当てられてしまう場合があるという問題があった。
【0007】
本発明は、このような問題を解決し、前述のような「隣接するIDRフレームにおいては、異なるIDRフレーム識別ID(idr_pic_id)を割り当てなければならない」といった制約のある圧縮方式の動画撮影中に、静止画撮影を行ったとしても、制約に違反しない動画データを生成することができる撮像装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の撮像装置は、撮像手段と、動画撮影中に前記撮像手段により得られた画像データを順次動画データとして圧縮する圧縮手段と、前記圧縮手段により圧縮された動画データを記録媒体に記録する記録手段と、前記動画撮影中に静止画撮影の指示を入力する静止画撮影指示手段と、前記圧縮手段と前記記録手段とを制御する制御手段とを有し、前記制御手段は、前記動画撮影中に前記静止画撮影の指示が入力されたことに応じて、所定の画像データを動画データのIDRフレームとして複数回圧縮するように前記圧縮手段を制御し、前記制御手段は、前記複数回圧縮することにより得られた複数のIDRフレームをそれぞれ複数回用いて、IDRフレームの識別IDが隣接するIDRフレームで同一にならない順番になる動画データとして前記記録媒体に記録するように前記記録手段を制御することを特徴とする。
【発明の効果】
【0009】
本発明によれば、「隣接するIDRフレームにおいては、異なるIDRフレーム識別ID(idr_pic_id)を割り当てなければならない」といった制約のある圧縮方式の動画撮影中に、静止画撮影を行ったとしても、制約に違反しない動画データを生成することができる。
【図面の簡単な説明】
【0010】
【図1】本実施形態における撮像装置の構成を示すブロック図である。
【図2】動画撮影モードの処理を示すフローチャートである。
【図3】動画撮影モードの補間フレーム生成処理を示すフローチャートである。
【図4】動画撮影中に静止画撮影を行ったことで生成されるフレームの状態を示すイメージ図である。
【図5】動画撮影中に静止画撮影を行ったことで生成されるフレームの状態を示すイメージ図である。
【図6】本実施形態の符号化復号化部の構成を示す図である。
【図7】動画撮影モードの補間フレーム生成処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
[第1の実施形態]
本実施例においては、動画撮影中に静止画撮影を行うことができる撮像装置について説明する。本実施例の撮像装置は、動画データの圧縮方式として、「MPEG−4 AVC/H.264」を使用するものとして説明する。しかし、これは一例であり、「隣接するIDRフレームにおいては、異なるIDRフレーム識別ID(idr_pic_id)を割り当てなければならない」といった制約のある圧縮方式であればどのような圧縮方式であってもよい。すなわち、圧縮方式が「MPEG−4 AVC/H.264」に限定されるものではない。
【0012】
IDRフレームとは、フレーム内の情報のみから符号化するフレーム内符号化されたI(イントラ)フレームである。MPEG−4 AVC/H.264においては、後続のフレーム間符号化を行うPフレームやBフレームは、このIDRフレーム以前のフレームを参照することができないように定められている。また、MPEG−4 AVC/H.264においては、IDRフレームに対してIDRフレームの識別ID(idr_pic_id)が付与されており、隣接するIDRフレームにおいては、異なるIDRフレーム識別ID(idr_pic_id)を割り当てなければならない(ISO/IEC14496−10参照)、と規定されている。
【0013】
また、静止画データについては、JPEG方式で圧縮されるものとして説明するが、これは一例であり、どのような圧縮方式を用いても良いし、圧縮を行わなくてもよい。
【0014】
また、これらの動画データ、静止画データは、FAT(File Allocation Table)ファイルシステムやexFATファイルシステムでフォーマットされた記録媒体に記録され、ファイルとして管理されるものを例にとって説明する。しかし、これは一例であって、これ以外のファイルシステムであってもかまわない。
【0015】
本実施例の撮像装置の特徴的な構成の一つは、以下である。本実施例の撮像装置100は、動画撮影モードにおいて動画撮影を行っている間に、静止画撮影が行われたことに応じて、欠落した動画フレームを補間することができる。補間フレームを生成する際には、補間フレーム用の画像を複数枚(2枚以上)符号化復号化部によりIDRフレームとして符号化させることで、IDRフレーム識別ID(idr_pic_id)の異なる複数の符号化画像データを生成する。そして、生成されたIDRフレーム識別ID(idr_pic_id)の異なる複数の符号化画像データを、隣接するIDRフレーム識別ID(idr_pic_id)が同一にならない順番(異なる順番)で、動画データのフレームを補間して記録媒体に記録する。
【0016】
本実施例の撮像装置は、このような構成とすることで、静止画撮影により欠落した動画フレームを補完する場合に、隣接するIDRフレームにおいて、異なるIDRフレーム識別ID(idr_pic_id)を割り当てることができる。
【0017】
以下、このような撮像装置について説明する。
【0018】
図1は、本実施例の撮像装置100の構成を示すブロック図である。
【0019】
撮像装置100は、CPU101、RAM102、FlashROM103、操作部104を有する。また、撮像装置100は、撮像部110、画像処理部111、音声入力部120、音声処理部121、表示部130、表示制御部131、音声出力部132、記録媒体140、記録再生部141、通信部150を有する。また、撮像装置100は、符号化復号化処理部160を有する。
【0020】
図1において、CPU101は、FlashROM103に記録された撮像装置100の制御プログラムをRAM102に展開し、RAM102をワークメモリとして使用しながら、撮像装置100の各ブロックを制御するものである。操作部104は、例えば、電源ボタン、記録ボタン、ズーム調整ボタン、オートフォーカスボタンなどの撮影に関連する各種操作を入力するスイッチ類を有する。また、メニュー表示ボタン、決定ボタン、その他カーソルキー、ポインティングデバイス、タッチパネル等を備え、ユーザによりこれらのキーやボタン、タッチパネルが操作されるとCPU101に操作信号を送信する。
【0021】
撮像部110は、レンズにより取り込まれた被写体の光学像を、絞りにより光量を制御して、CCDセンサやCMOSセンサ等の撮像素子により画像信号に変換し、得られたアナログ画像信号をデジタル画像信号に変換して一時的にRAM102に記憶するものである。RAM102に記憶されたデジタル画像信号は、その後、画像処理部111に送信される。画像処理部111は、次の処理を実行するプログラムを搭載したマイクロコンピュータである。画像処理部111は、デジタル画像信号のホワイトバランスや色、明るさなどをユーザに設定された設定値や画像の特性から自動的に判定した設定値に基づいて調整する画質調整処理を行い、処理をしたデジタル画像信号を再びRAM102に記憶させるものである。なお、画像処理部111の処理は、CPU101がFlashROM103に記録された前述の処理を実行する為のプログラムをRAM102に展開して実行するようにしてもよい。
【0022】
音声入力部120は、たとえば、内蔵された無指向性のマイクまたは音声入力端子を介して接続された外部マイク等により、撮像装置100の周囲の音声を集音(収音)し、取得したアナログ音声信号をデジタル信号に変換してRAM102に一時的に記憶させるものである。RAM102に記憶されたデジタル音声信号は、その後、音声処理部121に送信される。音声処理部121は、次の処理を実行するプログラムを搭載したマイクロコンピュータである。音声処理部121では、記録時においては、RAM102に記憶されたデジタル音声信号の、レベルの適正化処理や雑音低減処理等の処理を行い、処理をしたデジタル音声信号を再びRAM102に記憶させるものである。また、必要に応じて、音声信号を圧縮する処理を行う。音声圧縮方式については、AC3、AAC等の公知の一般的な音声圧縮方式を用いており、本発明の特徴とは関係ないので説明を省略する。また、再生時においては、記録媒体140から記録再生部141によって読出された音声ファイルや動画ファイルに含まれる圧縮音声データ復号する処理も行う。なお、音声処理部121の処理は、CPU101がFlashROM103に記録された前述の処理を実行する為のプログラムをRAM102に展開して実行するようにしてもよい。
【0023】
また、表示制御部131は、表示部130に画像を表示するための表示制御を行うマイクロコンピュータであって、メモリ104に一時的に記憶されたデジタル画像信号を読み出して、表示部130に表示させる処理を行う。また、記録媒体140から記録再生部141によって読出された動画ファイルや静止画ファイルに含まれる画像データの画像を表示部130に表示させる処理も行う。表示部130は、たとえば撮像装置100に搭載された液晶パネルや有機ELパネル等であっても良いし、撮像装置100とは別の表示装置(たとえば、テレビ、モニタ、プロジェクタ)であってもよい。なお、表示制御部131の処理は、CPU101がFlashROM103に記録された前述の処理を実行する為のプログラムをRAM102に展開して実行するようにしてもよい。
【0024】
符号化復号化処理部160は、次の処理を実行するプログラムを搭載したマイクロコンピュータである。符号化復号化処理部160では、記録時においては、画像処理部111により処理されRAM102に記憶されたデジタル画像信号に基づいて、画像圧縮処理を行い、圧縮された動画データや静止画データを生成し、RAM102に一時的に記憶する処理を行う。また、再生時においては、記録媒体140から読出された画像ファイルの圧縮された動画データや静止画データを復号してデジタル画像信号を抽出し、RAM102に記憶していく処理を行う。なお、CPU101がFlashROM103に記録された前述の処理を実行する為のプログラムをRAM102に展開して実行するようにしてもよい。
【0025】
本実施例においては、符号化復号化処理部160は、「MPEG−4 AVC/H.264」方式で、撮像部110により得られた画像データを圧縮して動画データを生成する。「MPEG−4 AVC/H.264」方式においては、入力された画像データを、フレーム内予測符号化方式(イントラ符号化方式)、動き補償前方予測フレーム間符号化方式を用いて圧縮、符号化を行う。また、フレーム内予測符号化方式を用いて符号化したフレームのうち指定したフレームを、前述の動き補償前方予測フレーム間符号化方式のフレームがその指定したフレームよりも前のフレームを参照できなくするためのフラグを付加することができる。これがIDRフレームとなり、このIDRフレームには、IDRピクチャ識別ID(idr_pic_id)を付加する機能を有する。IDRピクチャ識別ID(idr_pic_id)は、周知の「MPEG−4 AVC/H.264」規格(ISO/IEC 14496−10参照)に記載されているように、複数のマクロブロックからなるスライスのスライスヘッダに格納される。
【0026】
次に、記録再生部141は、次の処理を実行するプログラムを搭載したマイクロコンピュータである。記録再生部141では、動画記録時においては、RAM102に記憶されている、符号化復号化処理部160により生成された圧縮動画データ、音声処理部121で生成された音声データ、撮影日等の各種情報とともに、動画ファイルとして記録媒体140に書き込む。また静止画記録時においては、ROM102に記憶されている静止画データを撮影日等の各種情報とともに静止画ファイルとして記録媒体140に記録する。動画ファイルを記録媒体140に記録する際は、圧縮動画データと音声データとからなるデータストリームを形成し、順次記録媒体140に記録していき、ファイルヘッダ等を付加してFATやexFAT等のファイルフォーマットに適合した形で動画ファイルを記録媒体に記録する。また、再生時においては、記録媒体140に記録された動画ファイルや静止画ファイルを前述のファイルフォーマットに従って読出す。読出された動画ファイルや静止画ファイルは、CPU101によりヘッダが解析され、圧縮された動画データ、静止画データが抽出される。抽出された圧縮動画データ、静止画データは、RAM102に記憶されて、符号化復号化処理部160により復号される。なお、記録再生部141の処理は、CPU101がFlashROM103に記録された前述の処理を実行する為のプログラムをRAM102に展開して実行するようにしてもよい。
【0027】
また、記録媒体140は、撮像装置に内蔵された記録媒体でも、取外し可能な記録媒体でもよい。例えば、ハードディスク、光ディスク、光磁気ディスク、CD−R、DVD−R、磁気テープ、不揮発性の半導体メモリ、フラッシュメモリ、などのあらゆる方式の記録媒体を含む。取り外し可能な記録媒体を用いる場合には、記録再生部141は、それらの取り外し可能な記録媒体を受け入れるためのインタフェースを含む。
【0028】
次に音声出力部132は、例えばスピーカや音声出力端子(アナログ端子/デジタル端子)である。例えばスピーカであれば、CPU101によりflashROM103に記録されている所定のデジタル音声信号の出力が指示されたときにデジタル音声信号をアナログ音声外部に変換し、外部に音声として出力する。また、動画ファイルに格納された音声データの示すデジタル音声信号をアナログ音声信号に変換し、外部に音声として出力する。また、音声出力端子であれば、動画ファイルに格納された音声データの示すデジタル音声信号をアナログ音声信号に変換して外部装置(外付けスピーカなど)に出力するか、デジタル音声信号をそのまま外部装置(光デジタル端子搭載のオーディオコンポなど)に出力する。
【0029】
また、通信部150は、撮像装置100とは異なる外部装置との間で、制御信号や動画ファイル、静止画ファイル、各種データ等を送受信するものであり、有線接続、無線接続を問わず接続可能である。なお、通信方式はどのような方式であっても良い。
【0030】
ここで、本実施例の撮像装置100の通常の動作について説明する。
【0031】
本実施例の撮像装置100は、ユーザが操作部102の電源ボタンを操作すると、操作部102から制御部101に起動の指示が出される。この指示を受けて、制御部101は、不図示の電源供給部を制御して、撮像装置100の各ブロックに対して電源を供給させる。
【0032】
電源が供給されると、制御部101は、例えば、操作部102のモード切り換えスイッチが、例えば、「静止画撮影モード」、「動画撮影モード」、「再生モード」等のどのモードであるかを操作部102からの指示信号により確認する。
【0033】
本実施例の撮像装置100は、特に「動画撮影モード」において、動画データを「MPEG−4 AVC/H.264」の圧縮方式で圧縮する例について説明する。なお、本実施例の撮像装置100は、「動画撮影モード」において、動画データの全フレームをIDRフレームのみを用いて圧縮符号化する第1の圧縮モードと、動画データの各フレームをフレーム内符号化フレーム(Iフレーム、IDRフレーム)と、フレーム間符号化フレーム(Pフレーム、Bフレーム)を用いて圧縮符号化する第2の圧縮モードとを有する。なお、「第1の圧縮モード」については、必ずしも全フレームをIDRフレームとする必要はない。
【0034】
(「静止画撮影モード」)
「静止画撮影モード」であれば、CPU101は、撮像装置100の各ブロックに、静止画撮影の準備をさせる。操作部104から撮影開始の指示が入力されるまでは、CPU101は、撮像部110により得られたデジタル画像信号をRAM102に記憶させ、RAM102に記憶されたデジタル画像信号を読出させて表示部130に画像を表示させように表示制御部131を制御する。なお、画像処理部111により処理され、RAM102に記憶されたデジタル画像信号を読出させて表示部130に画像を表示させるように表示制御部131を制御しても良い。なお、本実施形態では、撮像部110から出力されるデジタル画像信号のフレームレートは、30フレーム/秒であるとする。また、本実施形態では、記録する静止画のサイズ(画素数)を複数のサイズから選択した一つのサイズに設定することができる。
【0035】
この状態で、CPU101は、操作部104により撮影開始の指示が入力されたか否かを判定する。撮影開始の指示があると、CPU101は、撮像部110により得られたデジタル画像信号をRAM102に記憶させ、RAM102に記憶されたデジタル画像信号に対して設定値に基づいて画質調整処理を施すように画像処理部111を制御する。そして、CPU101は、画像処理部111で処理されたデジタル画像信号をRAM102に記憶させ、RAM102に記憶されたデジタル画像信号を符号化して静止画データを生成するように符号化復号化処理部160を制御する。次にCPU101は、符号化復号化処理部160で処理された静止画データをRAM102に再び記憶させ、記憶された静止画データを静止画ファイルとして記録媒体140に記録するように記録再生部141を制御する。
【0036】
この処理が終了すると、CPU101は、再び静止画撮影の準備状態に各ブロックを戻す。
【0037】
(「動画撮影モード」)
次に、「動画撮影モード」であれば、CPU101は、動画撮影モードが前述の「第1の圧縮モード」であるか、前述の「第2の圧縮モード」であるかを判定し、判定結果をRAM102に記憶する。そして、CPU101は、撮像装置100の各ブロックに、動画撮影の準備をさせる。操作部104から撮影開始の指示が入力されるまでは、CPU101は、撮像部110により得られたデジタル画像信号をRAM102に記憶させ、RAM102に記憶されたデジタル画像信号を読出させて表示部130に画像を表示させように表示制御部131を制御する。なお、画像処理部111により処理され、RAM102に記憶されたデジタル画像信号を読出させて表示部130に画像を表示させるように表示制御部131を制御しても良い。なお、本実施形態では、撮像部110から出力されるデジタル画像信号のフレームレートは、30フレーム/秒であるとする。また、本実施形態では、記録する動画のサイズ(画素数)を複数のサイズから選択した一つのサイズに設定することができる。
【0038】
この状態で、CPU101は、操作部104により動画撮影開始の指示が入力されたか否かを判定する。撮影開始の指示があると、CPU101は、撮像部110により得られたデジタル画像信号をRAM102に記憶させ、RAM102に記憶されたデジタル画像信号に対して設定値に基づいて画質調整処理を施すように画像処理部111を制御する。CPU101は動画撮影を継続している間、30フレーム/秒で撮像部110により出力されるデジタル画像信号を順次、画像処理部111に処理させる。そして、CPU101は、画像処理部111で処理されたデジタル画像信号を、順次RAM102に記憶させる。
【0039】
次に、CPU101は、RAM102に記憶された複数フレームのデジタル画像信号を順次符号化して順次動画データを生成するように符号化復号化処理部160を制御する。CPU101は、このとき、第1のモードにおいては、各フレーム画像をすべてIDRフレームとして圧縮符号化をし、第2のモードにおいては、各フレーム画像をフレーム内予測符号化フレーム、フレーム間予測符号化フレームとして圧縮符号化をするように符号化復号化処理部160を制御する。そして、CPU101は、符号化復号化処理部160で符号化された各フレーム画像を順次RAM102に記憶させていく。
【0040】
一方、撮影開始の指示があると、CPU101は、音声に関する処理をするようにも各ブロックを制御する。CPU101は、音声入力部120から出力されるデジタル音声信号を順次RAM102に記憶し、RAM102に記憶されたデジタル音声信号に音質調整処理を施すように音声処理部121を制御する。また、音声圧縮の設定がされている場合には、CPU101は設定に従って、例えばAC3、AACの音声圧縮方式で音声信号を圧縮するように音声処理部121を制御する。そして、CPU101は、音声処理部121で処理した音声データをRAM102に順次記憶させていく。
【0041】
次にCPU101は、RAM102に記憶された動画データ、音声データを順次、記録媒体140に記録するように、記録再生部141を制御する。このとき例えば、15フレーム分(0.5秒分)の動画データと、0.5秒分の音声データとを一組にし、必要な各種情報を付加したデータストリームを形成し、ファイルシステムに従って記録媒体140に記録するように、記録再生部141を制御する。なお、30フレーム分(1秒分)の動画データと、1秒分の音声データを一組としても良い。CPU101は、これらの動作を動画撮影の停止の指示があるまで継続する。
【0042】
そして、操作部104により撮影停止の指示が入力されると、CPU101は、画像処理部111の処理を停止させ、RAM102に記憶されたデジタル画像信号の符号化が終了した時点で符号化復号化処理部160の符号化処理を停止させる。そして、CPU101は、RAM102に記憶されている符号化済みの動画データ、音声データを最後まで記録媒体140に記録してから動作を停止するように記録再生部141を制御する。なお、必要に応じて、記録終了後に、動画ファイルの動画データの先頭のフレームや先頭から数フレームの画像データを符号化復号化処理部160に送信して復号させ、復号されたデジタル画像信号の画素数を間引いたサムネイル画像データを生成して、動画ファイルに関連づけて記録するようにしても良い。
【0043】
この処理が終了すると、CPU101は、再び動画撮影の準備状態に各ブロックを戻す。
【0044】
(「再生モード」)
「再生モード」であれば、CPU101は、記録媒体140に記録されている動画ファイル、静止画ファイルのうち指定されたファイルに関連づけられたサムネイル画像データを読出すように記録再生部141を制御する。そして、CPU101は、これらのサムネイル画像データを示す画像を表示部130に表示するよう表示制御部131を制御する。
【0045】
そして、操作部104から指定されたサムネイルに対応するファイルを再生する指示が入力されると、CPU101は、指定された動画ファイルや静止画ファイルを記録媒体140から読出すように記録再生部141を制御する。そして、CPU101は、読出した動画ファイルや静止画ファイルに含まれる各種情報、動画データ、音声データ、静止画データを抽出してRAM102に記憶させる。
【0046】
静止画ファイルを再生する場合は、CPU101は、RAM102に記憶された静止画データを復号するように符号化復号化処理部160を制御し、復号されたデジタル画像信号をRAM102に記憶させる。そして、RAM102に記憶させた復号されたデジタル画像信号を表示部130に表示するように表示制御部131を制御する。
【0047】
また、動画ファイルを再生する場合は、CPU101は、RAM102に記憶された動画データを復号するように符号化復号化処理部160を制御し、復号された各フレームのデジタル画像信号を順次、RAM102に記憶させる。そして、RAM102に記憶させた復号された各フレームのデジタル画像信号を表示部130に、順次表示するように表示制御部131を制御する。また、CPU101は、RAM102に記憶された音声データを動画の復号、表示のタイミングに合わせて、音声出力部132に送信し、音声を出力させる。なお、音声データが圧縮されたものである場合には、RAM102に記憶された音声データを復号するように音声処理部121を制御し、復号された音声データを音声出力部132に送信する。
【0048】
次に、「動画撮影モード」における「第1の圧縮モード」と、「第2の圧縮モード」について説明する。
【0049】
「第1の圧縮モード」においては、撮影された動画のすべてのフレームを、「MPEG−4 AVC/H.264」におけるフレーム内予測(イントラ予測)を用いた符号化方式により圧縮符号化し、IDRフレームに設定する。この様に、フレーム内予測により各フレームを圧縮することで、復号時に参照フレームを記憶する必要が無くデコーダの負荷が軽い、迅速に復号できる、どのフレームからも復号できる、編集しやすいなどの利点がある。
【0050】
また、「第2の圧縮モード」においては、撮影された動画の各フレームを、「MPEG−4 AVC/H.264」におけるイントラ予測による符号化方式、或いは、動き補償前方予測フレーム間符号化方式を用いて符号化し、圧縮する。この様に、フレーム間予測を用いて動画を圧縮することで、フレーム内予測のみによる圧縮時に比べ、符号量を大幅に削減することができる。ユーザは操作部104を操作することにより、撮影した動画の目的に合わせて、これら二つの圧縮モードの何れか一方を自由に選択し、設定することができる。
【0051】
なお、ここでは、イントラ予測符号化フレームをIフレームと呼び、前方予測フレーム間圧縮方式を用いて圧縮したフレームをPフレームと呼ぶ。また、IDRフレームは、フレーム内予測符号化されたフレームであって、そのフレーム以前のフレームをフレーム間予測符号化フレームが参照できなくするためのフラグが付加されたものである。
【0052】
また、「第1の圧縮モード」では、撮影された動画の全てのフレームがIフレームとして符号化され、IDRフレームに設定される。また、「第2の圧縮モード」では、15フレーム毎に1フレームがIフレームとして符号化され、残りの14フレームがPフレームとして符号化される。なお、「第2の圧縮モード」において、前方予測フレーム間圧縮、後方予測フレーム間圧縮、両方向予測フレーム間圧縮のいずれかを選択的に使用できるBフレームを使用しても構わない。
【0053】
以後、IDRフレームに設定されているIDRフレームの識別ID(idr_pic_id)については、説明を簡単にするため「IDRID」と呼ぶものとする。
【0054】
ここで、本実施例の撮像装置100の「動画撮影モード」において、動画撮影中に、静止画撮影を行う場合の動作について図2から図5を用いて説明する。
【0055】
なお、本実施例の符号化復号化処理部160は、IDRフレームについては符号化した順番(すなわち入力された順番)に「IDRID」をインクリメントしながら付与していく機能を有する。すなわち、動画データの最初のIDRフレームに、「IDRID」として0が付与されると、次のIDRフレームには1、その次には、2という順に数字をインクリメントしながら付与していく。「IDRID」の上限は、例えば65535であって、インクリメントすることで、上限に達した場合には、また0から順番に「IDRID」を付与するものとする。
【0056】
本実施例の撮像装置100は、「動画撮影モード」の「第1の圧縮モード」において、動画撮影中に静止画撮影の指示が入力されると、動画用の画像信号の画像処理、圧縮動作を一度停止させて、静止画用の画像信号の画像処理、圧縮動作を行う。そして、静止画の画像処理、圧縮動作のために欠落した期間の動画フレームについては補間フレームで補間する。このとき、補間フレームを1フレームだけ生成して動画フレームを補完すると、IDRフレームの「IDRID」が同じフレーム隣接してしまうことになる。そこで、本実施例の撮像装置100は、補間フレームを生成する際に、符号化復号化処理部160に、複数フレーム(2フレーム以上)分の補間フレームを生成させることで、異なる「IDRID」を有する補間フレームを複数生成させる。そして、生成された「IDRID」の異なる複数の補間フレームを、必要なフレーム数分隣接する「IDRID」が同一にならないように、記録媒体140に記録する。これらの動作はCPU101により制御される。
【0057】
また、「動画撮影モード」の「第2の圧縮モード」において、動画撮影中に静止画撮影を行うと、動画フレームの画像処理、圧縮動作を一度停止させて、静止画の画像処理、圧縮動作を行う。そして、静止画の画像処理、圧縮動作のために欠落した動画フレームについては補間フレームを生成して補間する。このとき、補間フレームについては、1つの補間フレーム画像をIフレームまたは、Pフレームまたは、Bフレームで圧縮符号化し、残りを補間フレーム画像については、フレーム内のすべてのマクロブロック(一部異なってもよい)を「skipped macroblock」に設定する。また、15フレーム毎に1フレームがIフレームとして符号化されるため、補間フレームの一部のフレームがIフレームとして符号化されることもある。
【0058】
(「第1の圧縮モード」)
まず、「動画撮影モード」の「第1の圧縮モード」の動作について説明する。
【0059】
図2、3は、本実施例の撮像装置100が「第1の圧縮モード」で動画記録を開始してから終了するまでの動作を示すフローチャートである。図2、3のフローチャートは、CPU101が、撮像装置100の各ブロックを制御することにより実行される動作を示すものである。図4、図5は、各フレーム画像の状態を示す図である。
【0060】
(S210)
まず、「第1の圧縮モード」で操作部104から動画撮影の開始の指示が入力されると、CPU101は、撮像得110により得られたデジタル画像信号を、画像処理部111で動画撮影用の設定値に従って画像処理させ、処理されたデジタル画像信号をRAM102に一時的に記憶させる。すなわち、図4、図5に示すようにRAM102の動画フレーム用領域102Bにデジタル画像信号を記憶させる。
【0061】
(S211)
次に、CPU101は、動画撮影用の画像処理が施されたデジタル画像信号をRAM102から読み出して、符号化復号化処理部160に送信し、符号化復号化処理部160において、IDRフレームとして圧縮させる。前述したように、圧縮されたIDRフレームには「IDRID」が付加されており、IDRフレームとして圧縮が行われるたびに、インクリメントされた「IDRID」が付加される。すなわち、図5の圧縮後IDRフレーム510に示すように、符号化復号化処理部160において圧縮されたIDRフレーム画像には順次、ID番号が増加する「IDRID」が付加されている。
【0062】
(S212)
そして、CPU101は、符号化復号化処理部160において、圧縮されたIDRフレーム画像をRAM102に記憶させる。すなわち、図4に示すように、RAM102の記録バッファ領域102Cに「IDRID」の付与されたIDRフレームが格納される。
【0063】
(S213)
次に、CPU101は、所定数の圧縮されたフレーム画像がRAM102に記憶されたか否かを判定する。例えば、15フレーム分の圧縮されたフレーム画像が記憶されたか否かを判定する。そして、所定数の圧縮されたフレーム画像がRAM102に記憶されている場合は、S214の処理へ移行し、所定数の圧縮されたフレーム画像がRAM102に記憶されていない場合は、S215の処理へ移行する。
【0064】
(S214)
所定数の圧縮されたフレーム画像がRAM102に記憶されている場合は(S213でYes)、CPU102は、RAM102に記憶されている圧縮されたフレーム画像を記録媒体140に、動画ファイルの動画データとして記録するように記録再生部141を制御する。
【0065】
(S215)
所定数のフレーム画像がRAM102に記憶されていない場合(S213でNo)、S214の処理が終了した場合は、CPU101は、操作部104から静止画撮影の指示が入力されたか否かを判定する。静止画撮影の指示は、撮像装置100の操作部102のシャッターボタンの全押し等である。静止画撮影の指示が入力された場合は、S220の処理へ移行し、静止画撮影の指示が入力されていない場合は、S216の処理へ移行する。なお、シャッターボタンの半押しの操作が入力された場合には、CPU101は、撮像部110を制御してオートフォーカスなどを行うものの、静止画撮影は行わないものとする。
【0066】
(S216)
静止画撮影の指示が入力されていない場合(S215でNo)、CPU101は、操作部104から動画撮影停止の指示が入力されたか否かを判定する。動画撮影停止の指示が入力された場合には、S217の処理へ移行し、動画撮影停止の指示が入力されていない場合には、S210へ処理を戻す。
【0067】
(S217)
動画撮影停止の指示が入力された場合には(S216でYes)、CPU101は、撮影終了の処理をするように、以下のように撮像装置100の各ブロックを制御する。CPU101は、撮像動作を停止するように撮像部110を制御し、画像処理を停止するように画像処理部111を制御する。そして、符号化復号化処理部160において、RAM102に記憶されているデジタル画像信号の圧縮が終了したら、CPU101は、符号化復号化処理部160の圧縮動作を停止させる。そして、RAM102に記憶されている圧縮されたフレーム画像を記録媒体140の動画ファイルの動画データとして記録するように記録再生部141を制御する。そして、CPU101は、動画ファイルのファイルヘッダに格納するべき各種情報を生成し、記録媒体140の動画ファイルのファイルヘッダとして記録するように記録再生部141を制御する。
【0068】
(S220)
一方、静止画撮影の指示が入力された場合(S215でYes)、CPU101は、動画用の画像処理を中断するように画像処理部111を制御する。そして、動画用の画像が画像処理部111から出力されなくなるため、CPU101は、動画データの圧縮を一時中断するように、符号化復号化処理部160を制御する。
【0069】
(S221)
次に、CPU101は、撮像部110により得られたデジタル画像信号を、画像処理部111で静止画撮影用の設定値に従って画像処理させ、処理されたデジタル画像信号をRAM102に一時的に記憶させる。すなわち、図4に示すようにRAM102の静止画用領域102Aに記憶される。
【0070】
(S222)
次に、CPU101は、静止画撮影用の画像処理が施されたデジタル画像信号をRAM102から読み出して、符号化復号化処理部160に送信し、符号化復号化処理部160において、JPEG方式で画像データを圧縮させる。
【0071】
(S223)
そして、CPU101は、圧縮された静止画データをRAM102に記憶させる。すなわち、図4に示すように、RAM102の記録バッファ領域102Cに動画用の圧縮されたIDRフレームと区別して静止画データを記憶させる。
【0072】
(S224)
次に、CPU101は、動画用の画像処理を中断したことにより欠落したフレームを補完するための補間フレームを生成する処理を行う。この詳細については図3、図4、図5を用いて別途説明する。
【0073】
(S225)
そして、補間フレーム画像の生成が終了すると、CPU101は、RAM102に記憶された静止画データを記録媒体140の静止画ファイルの静止画データとして記録するように記録再生部141を制御する。この処理が終了すると、CPU101は、処理をS210に戻し、再び動画フレームの処理、圧縮を開始する。すなわち、図4に示すように、記録媒体140に、静止画ファイル140の静止画データとしてRAM102に一時記憶された静止画データを記録する。なお、S225の処理は、S224の処理の前に行っても良い。
【0074】
なお、CPU101は、記録媒体140の記録残量が不足してきた場合(所定の残量以下になった場合)や、所定時間以上の動画が撮影された場合には、S217の処理を実行し、撮影を終了するものとする。
【0075】
次に、動画用の画像処理を中断したことにより欠落したフレームを補完するための補間フレームを生成する処理(S224)について、図3、図4、図5を用いて説明する。
【0076】
(S310)
まず、CPU101は、FlashROM103から黒画像を読出して、RAM102に記憶させる。このとき、CPU101は、静止画撮影の指示が入力される前の動画用のフレーム画像の後に黒画像が符号化復号化処理部160で圧縮されるようにRAM102に記憶させる。すなわち、図4、図5に示すように、RAM102の動画用フレーム領域102Bの、静止画撮影の指示が入力される前の動画用のフレーム画像の後に黒画像450が記憶される。
【0077】
(S311)
次に、CPU101は、RAM102に記憶させた黒画像を読み出して、符号化復号化処理部160に送信し、符号化復号化処理部160において、IDRフレームとして圧縮させる。
【0078】
(S312)
そして、CPU101は、符号化復号化処理部160において、圧縮された黒画像のIDRフレーム画像をRAM102に記憶させる。
【0079】
ここで、本実施例においては、CPU101は、S311〜S312の処理を複数回(2回以上)繰り返す。符号化復号化処理部160では、IDRフレームとして画像を圧縮するたびに「IDRID」をインクリメントしながら付加するため、S311〜S312の処理を複数回繰り返すことで、符号化復号化処理部160で圧縮された黒画像のIDRフレームには、異なる「IDRID」を付加することができる。すなわち、図5の圧縮後IDRフレーム510に示すように、符号化復号化処理部160において複数の圧縮された黒画像のIDRフレーム511が生成され、それぞれ異なる「IDRID」を付加することができる。本実施例においては、静止画撮影の指示が入力される直前の「IDRID」を(N)とすると、S311〜S312により生成される圧縮された黒画像のIDRフレームには、「IDRID」として、(N+1)、(N+2)を付加する。
【0080】
(S313)
そして、CPU101は、S311〜S312の処理を複数回(2回以上)繰り返すと、次に、RAM102に記憶させた複数の黒画像のIDRフレームを、それぞれ複数回用いて所定フレーム数分複製する。すなわち図4の記録バッファ102Cにおいて、複数の黒画像のIDRフレームを複製して生成された複製IDRフレーム460を記憶する。本実施例では、「IDRID」として、(N+1)、(N+2)が付加された複数の黒画像のIDRフレームが、それぞれ複数回用いられて所定フレーム数分複製される。
【0081】
(S320)
次に、CPU101は、静止画撮影の指示により撮像部110により取得された画像処理部111により画像処理されRAM102に記憶されている静止画用のデジタル画像信号を動画用のデジタル画像信号として複製する。本実施例では静止画用のデジタル画像信号から複製された動画用のデジタル画像信号を静止画フレーム画像と呼ぶものとする。すなわち、図4に示すように、静止画用のデジタル画像信号をRAM102の静止画用領域102Aから複製して、動画フレーム用領域102Bに静止画フレーム画像451として配置する。
【0082】
(S321)
次に、CPU101は、RAM102に記憶させた静止画フレーム画像を読み出して、符号化復号化処理部160に送信し、符号化復号化処理部160において、IDRフレームとして圧縮させる。
【0083】
(S322)
そして、CPU101は、符号化復号化処理部160において、圧縮された静止画フレーム画像のIDRフレーム画像をRAM102に記憶させる。
【0084】
ここで、本実施例においては、CPU101は、S321〜S322の処理を複数回(2回以上)繰り返す。符号化復号化処理部160では、IDRフレームとして画像を圧縮するたびに「IDRID」をインクリメントしながら付加するため、S311〜S312の処理を複数回繰り返すことで、符号化復号化処理部160で圧縮された静止画フレーム画像のIDRフレームには、異なる「IDRID」を付加する。すなわち、図5の圧縮後IDRフレーム510に示すように、符号化復号化処理部160において複数の圧縮された静止画フレーム画像のIDRフレーム511が生成され、それぞれ異なる「IDRID」を付加する。本実施例においては、圧縮された黒画像のIDRフレームには、「IDRID」として、(N+1)、(N+2)が付加されているので、S321〜S322により生成される圧縮された静止画フレーム画像のIDRフレームには、「IDRID」として、(N+3)、(N+4)を付加する。
【0085】
(S323)
そして、CPU101は、S321〜S322の処理を複数回(2回以上)繰り返すと、次に、RAM102に記憶させた複数の静止画フレーム画像のIDRフレームを、それぞれ複数回用いて所定フレーム数分複製する。なお、S313で複製する黒画像のIDRフレームの数と、S323で複製する静止画フレーム画像のIDRフレームの数は同一でも異なっていても良い。すなわち図4の記録バッファ102Cにおいて、複数の静止画フレーム画像のIDRフレームを複製して生成された複製IDRフレーム461が記憶されることになる。本実施例では、「IDRID」として、(N+3)、(N+4)が付加された複数の静止画フレーム画像のIDRフレームを、それぞれ複数回用いて所定フレーム数分複製される。
【0086】
なお、S224(すなわち、図3)の処理の間、RAM102に記憶された圧縮されたフレーム画像(IDRフレーム)の数が所定数以上になった場合には、RAM102に記憶されている圧縮されたフレーム画像を記録媒体140に、動画ファイルの動画データとして記録するように、記録再生部141を制御する。すなわち、S213〜S214の処理を行う。
【0087】
このように、本実施例の撮像装置100は、図2、3に示す動作を「第1の圧縮モード」で動画記録を開始してから終了するまでの間行う。これにより、動画データの欠落フレームをIDRフレーム画像により補完する場合に、隣接するIDRフレームの「IDRID」が同一にならない動画データを記録媒体140に記録することができる。すなわち、図4、図5の動画ファイル420に示すように、静止画撮影指示の直前の圧縮動画フレームの「IDRID」が(N)である。そして、補間されるフレームにおいては、「IDRID」が隣接フレームで同一にならないように、黒画像のIDRフレームのうち「IDRID」が(N+1)のフレームと(N+2)のフレームが交互に配置されるように記録媒体140に記録している。同様に、「IDRID」が隣接フレームで同一にならないように、静止画フレーム画像のIDRフレームのうち「IDRID」が(N+3)のフレームと(N+4)のフレームが交互に配置されるように記録媒体140に記録している。そして、補間フレームより後の動画フレームの「IDRID」は、静止画フレーム画像の圧縮された際の「IDRID」が(N+4)であるため、(N+5)となる。すなわち、符号化復号化処理部160で複数回符号化されたことで生成された複数のIDRフレームを、それぞれ複数回用いることによって、「IDRID」が隣接するIDRフレームで同一にならない順番で記録媒体に記録することができるのである。
【0088】
本実施例の撮像装置100は、このように、「隣接するIDRフレームにおいては、異なるIDRフレーム識別ID(idr_pic_id)を割り当てなければならない」といった制約のある圧縮方式の動画撮影中に、静止画撮影を行ったとしても、制約に違反しない動画データを生成することができる。
【0089】
本実施例では、符号化復号化処理部160は、IDRフレームについては符号化した順番(すなわち入力された順番)に「IDRID」をインクリメントしながら付与していく機能を有するものとして説明した。しかし、「IDRID」については、本実施例のCPU101によって、符号化復号化処理部160に設定できるようにしてもよい。この場合には、CPU101は、1フレーム分の画像を符号化復号化処理部160にIDRフレームとして圧縮させるごとに、「IDRID」に対応する数字をインクリメントして符号化復号化処理部160に設定する。これにより、符号化復号化処理部160では、IDRフレームとして圧縮を実行するたびに、設定された「IDRID」を付加して圧縮を行うので、隣接する「IDRID」を異ならせることができる。
【0090】
また、本実施例では、補間フレームのフレーム数(圧縮された黒画像のIDRフレームの数と、圧縮された静止画フレーム画像のIDRフレームの数の和)は、任意の数であって良い。しかし、例えば音声データを補間フレームに対応する期間も記録する場合には、音声データの実時間に対応する数だけ補間フレームを用いる。例えば2秒間の欠落フレームであるとすると、秒間30フレームの動画であれば60フレーム分の欠落フレームが発生していることになる。そのため、補間フレームについても、圧縮された黒画像のIDRフレームの数と圧縮された静止画フレーム画像のIDRフレームの数との和が60フレームになるように補間フレームを生成して記録媒体140に記録する。
【0091】
なお、本実施例では、黒画像と、静止画に対応する画像を、補間フレームの画像として用いたが他の画像であっても良い。黒画像、静止画に対応する画像のいずれかのみを使用しても良いし、他の所定の画像を用いても良い。所定の画像としては、静止画撮影の指示が入力される直前の動画用の画像を用いても良いし、所定の画像をFlashROM103に予め記録しておいて、当該所定の画像を用いても良い。すなわち、補間フレームをどのような画像に基づいて生成しても良い。そして補間フレームを生成する際には、補間フレーム用の画像を複数回(2回以上)、符号化復号化処理部160において圧縮させ、異なる「IDRID」を有する補間フレームを生成する。そして、符号化復号化処理部160において複数回圧縮されることで生成された、異なる「IDRID」を有する複数のIDRフレームを複数回用いて、隣接する補間フレーム同士の「IDRID」が異なるような順番で補完した動画データを記録媒体140に記録する。
【0092】
また、補間フレームを生成する際には、補間フレーム用の画像を複数回(2回以上)、符号化復号化処理部160において圧縮させ、異なる「IDRID」を有する補間フレームを生成するものとしたが、補間フレーム用の画像を別々に用意してもよい。つまり、黒画像を別々に複数個RAM102の動画フレーム用領域102Bに配置して、それぞれの画像を符号化復号化処理部160においてIDRフレームとして圧縮させることでなる「IDRID」を有する補間フレームを生成してもよい。
【0093】
また、本実施例においては、「第1の圧縮モード」においては、撮影された動画のすべてのフレームを、IDRフレームとして圧縮するものとして説明したが、すべてのフレームをIDRフレームとしなくても欠落フレームの以外の期間のフレームについては、すべてをIDRフレームとして圧縮しなくても良い。すなわち、Iフレームまたは、Pフレームまたは、Bフレームで圧縮したフレームを通常の動画フレームに対して実行し、補間フレームについてはIDRフレームとして圧縮するものであっても良い。
【0094】
(「第2の圧縮モード」)
次に、「動画撮影モード」の「第2の圧縮モード」の動作について説明する。
【0095】
「第2の圧縮モード」における動作については、「第1の圧縮モード」の動作との差分について、図2を用いて説明する。
【0096】
前述したように、「第2の圧縮モード」においては、撮影された動画の各フレームを、「MPEG−4 AVC/H.264」におけるイントラ予測による符号化方式、或いは、動き補償前方予測フレーム間符号化方式を用いて符号化し、圧縮する。そして、15フレーム毎に1フレームがIフレームとして符号化され、残りの14フレームがPフレームとして符号化される。
【0097】
(S211)
「第1の圧縮モード」においては、CPU101は、動画撮影用の画像処理が施されたデジタル画像信号をRAM102から読み出して、符号化復号化処理部160に送信し、符号化復号化処理部160において、IDRフレームとして圧縮させる。しかし、「第2の圧縮モード」においては、撮影された動画の各フレームを、「MPEG−4 AVC/H.264」におけるイントラ予測による符号化方式、或いは、動き補償前方予測フレーム間符号化方式を用いて圧縮させる。
【0098】
(S224)
「第1の圧縮モード」においては、CPU101は、動画用の画像処理を中断したことにより欠落したフレームを補完するための補間フレームを生成する処理を行う。特に、図3、図4、図5を用いて説明したように、補間フレームをIDRフレームとして圧縮させていた。一方「第2の圧縮モード」においては、CPU101は、補間フレームについては、1つの補間フレーム画像をIフレームまたは、Pフレームまたは、Bフレームで圧縮符号化し、残りを補間フレーム画像については、フレーム内のすべてのマクロブロック(一部異なってもよい)を「skipped macroblock」に設定する。また、15フレーム毎に1フレームがIフレームとして符号化されるため、補間フレームの一部のフレームがIフレームとして符号化されることもある。
【0099】
補間フレームの画像については、「第1の圧縮モード」と同様に、黒画像と静止画フレーム画像を用いて補間フレームを生成する。
【0100】
本実施例の撮像装置100は、このように、「第2の圧縮モード」においては、補間フレームとしてIDRフレームを用いないで動画のフレームを補完することができる。
【0101】
本実施例の撮像装置100は、「第1の圧縮モード」においては、動画の欠落フレームを、IDRフレームとして圧縮されたフレームを用い、「第2の圧縮モード」においては、動画の欠落フレームを、IDRフレームとして圧縮されたフレーム用いずに補間することができる。
【0102】
ここで、本実施例の符号化復号化部160の詳細な構成について説明する。
【0103】
図6は、符号化復号化部160における符号化処理のブロックを示す図である。図6において、RAM102より読み出された動画用のデジタル画像信号が水平、垂直それぞれ所定数の画素からなるマクロブロック毎に入力され、演算部601、フレーム内予測部608、動き予測部611に出力される。演算部601は、切り替え部613から出力された予測画像データと入力された画像データとの差分を演算し、整数変換部602に出力する。整数変換部602は、演算部601からのデータに対して直交変換の一つである整数変換処理を施し、入力されたデータを空間成分から周波数成分に変換して量子化部603に出力する。量子化部603は、量子化テーブル選択部612から供給された量子化テーブルに従って、各マクロブロックの変換係数を量子化し、エントロピー符号化部604と逆量子化部605に出力する。本実施形態では、マクロブロックの各変換係数に対する量子化幅(量子化ステップ)が割り当てられた量子化テーブルを複数用意し、量子化テーブル選択部612はこれらの量子化テーブルを保持している。量子化テーブル選択部612は、後述の様に、CPU101からの圧縮強度Qの値に対応した量子化テーブルを選択し、量子化部603に送る。
【0104】
逆量子化部605は、入力されたデータを逆量子化し、逆整数変換部606に出力する。逆整数変換部606は、逆量子化部605からのデータに対して逆整数変換処理を施して、元の空間成分のデータに変換し、演算部607に出力する。演算部607は、切り替え部613からの予測画像データと逆整数変換処理されたデータとを加算し、フレーム内予測部608、ループフィルタ609に出力する。ループフィルタ609は、演算部607からの局部復号データに対して指定されたフィルタ処理を施し、蓄積部610に記憶する。蓄積部610はループフィルタ609からの画像データを記憶する。動き予測部611は、第2の圧縮モードにおいて、Pフレームを処理する際に、蓄積部610に記憶された参照フレームの画像データのうち、入力された画像データとの間の予測誤差(差分)が最も少なくなるマクロブロックを検出し、検出したマクロブロックに対する動きベクトルを動き補償部611に知らせる。動き補償部612は、動きベクトルに従い、蓄積部610から予測画像データとしてのマクロブロックのデータを読み出し、切り替え部613に出力する。
【0105】
一方、フレーム内予測部608は、「第1の圧縮モード」、或いは、「第2の圧縮モード」においてIフレーム、IDRフレームを処理する際に、フレーム内予測処理を行う。即ち、フレーム内予測部608は、演算部607からの、入力されたマクロブロックの画像データに対して画面上で上、もしくは左に隣接する画素のデータと、入力された画像データとに基づいて、最適なイントラ予測モードを検出する。そして、検出したイントラ予測モードで処理するために必要な予測画像データを切り替え部613に出力する。H.264では、互いに異なる所定数のイントラ予測モードが用意されている。フレーム内予測部608は、これらの予測モードのうち、予測誤差が最も少なくなる予測モードを検出する。
【0106】
切り替え部613は、CPU101からの指示に従い、フレーム内予測部608と動き補償部612からの予測画像データの一方を選択し、演算部601と607に出力する。切り替え部613は、「第1の圧縮モード」においては、動画の記録中は常にIDRフレームとして画像を圧縮するため、常にフレーム内予測部608からの予測画像データを選択して出力する。また、切り替え部613は、「第2の圧縮モード」においては、Iフレームを処理する際にはフレーム内予測部608からの予測画像データを選択し、Pフレームを処理する際には動き補償部612からの予測画像データを選択する。
【0107】
フレーム内予測部608が検出した予測モードを示す情報と、動き予測部611が検出した動きベクトルのデータはエントロピー符号化部604に出力される。エントロピー符号化部604は、量子化部603からのデータと、量子化テーブル選択部612により選択されている量子化テーブルの番号、予測モードを示す情報、或いは、動きベクトルのデータを符号化し、圧縮された動画データとして出力する。また、このとき、マクロブロックの集合からなるスライスのスライスヘッダに「IDRID」を付加する。
【0108】
なお、本実施例では撮像装置100は、例えば、デジタルカメラ、携帯電話、スマートフォンなど動画撮影中に静止画撮影を行うことができる装置であればどのような装置であっても良い。
【0109】
[第2の実施形態]
次に、第2の実施形態について説明する。第1の実施形態においては、「第1の圧縮モード」において、補間フレームの画像を圧縮する際、符号化復号化処理部160で黒画像や静止画フレーム画像をそれぞれ複数回圧縮した。それにより、異なる「IDRID」を有する圧縮された黒画像または静止画フレーム画像のIDRフレームを複数生成し、これらを用いて隣接するIDRフレームの「IDRID」が同一にならないようにしていた。
【0110】
一方、本実施形態においては、「第1の圧縮モード」において、補間フレームの画像を圧縮する際、符号化復号化処理部160で黒画像や静止画フレーム画像を複数回圧縮させない。代わりに、符号化復号化処理部160で圧縮された黒画像や静止画フレーム画像のIDRフレームをRAM102内で複製する。このとき、IDRフレームのスライスヘッダに格納されている「IDRID」を変更したIDRフレームをRAM102内で複製する。これにより、第1の実施形態と同様に、これらを用いて隣接するIDRフレームの「IDRID」が同一にならないようにする。
【0111】
本実施形態における撮像装置100の構成は、第1の実施形態と同様な構成であるため、説明を省略する。また、「第1の圧縮モード」、「第2の圧縮モード」における基本的な動作についても第1の実施形態と同様であるため、説明を省略する。
【0112】
本実施形態においては、「第1の圧縮モード」のS224の処理(すなわち、図3の処理)が異なるため、この点を説明する。
【0113】
図7は、本実施形態における、動画用の画像処理を中断したことにより欠落したフレームを補完するための補間フレームを生成する処理(S224)について説明するためのフローチャートである。第1の実施形態同様、図7のフローチャートは、CPU101が撮像装置100の各ブロックを制御することにより実行される動作を示すものである。
【0114】
(S710)
まず、CPU101は、FlashROM103から黒画像を読出して、RAM102に記憶させる。このとき、CPU101は、静止画撮影の指示が入力される前の動画用のフレーム画像の後に黒画像が符号化復号化処理部160で圧縮されるようにRAM102に記憶させる。
【0115】
(S711)
次に、CPU101は、RAM102に記憶させた黒画像を読み出して、符号化復号化処理部160に送信し、符号化復号化処理部160において、IDRフレームとして圧縮させる。
【0116】
(S712)
そして、CPU101は、符号化復号化処理部160において、圧縮された黒画像のIDRフレーム画像をRAM102に記憶させる。
【0117】
ここで、本実施例においては、第1の実施形態とは異なり、CPU101は、S711〜S712の処理を複数回(2回以上)繰りかえさない。
【0118】
(S713)
次にCPU101は、RAM102に記憶された圧縮された黒画像のIDRフレームを複製する。このとき、静止画撮影の指示が入力される直前の「IDRID」を(N)とすると、RAM102に記憶された圧縮された黒画像のIDRフレームの「IDRID」は(N+1)である。そこで、CPU101は、複製した黒画像のIDRフレーム用の「IDRID」を(N+1)とは異なる数字に変更する。例えば(N+2)や(N)等に変更する。
【0119】
(S714)
そして、CPU101は、S711で圧縮された黒画像のIDRフレームと、S713で複製された黒画像のIDRフレームとを所定フレーム数分複製する。
【0120】
(S720)
次に、CPU101は、静止画撮影の指示により撮像部110により取得された画像処理部111により画像処理されRAM102に記憶されている静止画用のデジタル画像信号を動画用のデジタル画像信号として複製する。
【0121】
(S721)
次に、CPU101は、RAM102に記憶させた静止画フレーム画像を読み出して、符号化復号化処理部160に送信し、符号化復号化処理部160において、IDRフレームとして圧縮させる。
【0122】
(S722)
そして、CPU101は、符号化復号化処理部160において、圧縮された静止画フレーム画像のIDRフレーム画像をRAM102に記憶させる。
【0123】
ここで、本実施例においては、CPU101は、S721〜S722の処理を複数回(2回以上)繰りかえさない。
【0124】
(S723)
次にCPU101は、RAM102に記憶された圧縮された静止画フレーム画像のIDRフレームを複製する。このとき、S713と同様に、CPU101は、複製した静止画フレーム画像のIDRフレーム用の「IDRID」をRAM102に記憶された静止画フレーム画像のIDRフレームの「IDRID」とは異なる数字に変更する。例えば、RAM102に記憶された静止画フレーム画像のIDRフレームの「IDRID」が(N+2)であれば、(N+1)や(N+3)等に変更する。
【0125】
(S724)
そして、CPU101は、S721で圧縮された黒画像のIDRフレームと、S723で複製された静止画フレーム画像のIDRフレームとを所定フレーム数分複製する。
【0126】
このような動作により、本実施例の撮像装置100は、「隣接するIDRフレームにおいては、異なるIDRフレーム識別ID(idr_pic_id)を割り当てなければならない」といった制約のある圧縮方式の動画撮影中に、静止画撮影を行ったとしても、制約に違反しない動画データを生成することができる。
【0127】
[その他の実施形態]
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。
【0128】
また、上述の実施形態の機能を実現するソフトウェアのプログラムを、記録媒体から直接、或いは有線/無線通信を用いてプログラムを実行可能なコンピュータを有するシステム又は装置に供給し、そのプログラムを実行する場合も本発明に含む。従って、本発明の機能処理をコンピュータで実現するために、該コンピュータに供給、インストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明の機能処理を実現するためのコンピュータプログラム自体も本発明に含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。

【特許請求の範囲】
【請求項1】
撮像手段と、
動画撮影中に前記撮像手段により得られた画像データを順次動画データとして圧縮する圧縮手段と、
前記圧縮手段により圧縮された動画データを記録媒体に記録する記録手段と、
前記動画撮影中に静止画撮影の指示を入力する静止画撮影指示手段と、
前記圧縮手段と前記記録手段とを制御する制御手段とを有し、
前記制御手段は、前記動画撮影中に前記静止画撮影の指示が入力されたことに応じて、所定の画像データを動画データのIDRフレームとして複数回圧縮するように前記圧縮手段を制御し、
前記制御手段は、前記複数回圧縮することにより得られた複数のIDRフレームをそれぞれ複数回用いて、IDRフレームの識別IDが隣接するIDRフレームで同一にならない順番になる動画データとして前記記録媒体に記録するように前記記録手段を制御することを特徴とする撮像装置。
【請求項2】
撮像手段と、
動画撮影中に前記撮像手段により得られた画像データを順次動画データとして圧縮する圧縮手段と、
前記圧縮手段により圧縮された動画データを記録媒体に記録する記録手段と、
前記動画撮影中に静止画撮影の指示を入力する静止画撮影指示手段と、
前記圧縮手段と前記記録手段とを制御する制御手段とを有し、
前記制御手段は、前記動画撮影中に前記静止画撮影の指示が入力されたことに応じて、所定の画像データを動画データのIDRフレームとして圧縮するように前記圧縮手段を制御し、
前記制御手段は、前記圧縮手段により得られた前記所定の画像データに対応するIDRフレームを複製するとともに複製されたIDRフレームの識別IDを変更し、
前記制御手段は、前記圧縮手段により得られた前記所定の画像データに対応するIDRフレームと前記複製されたIDRフレームとをそれぞれ複数回用いて、IDRフレームの識別IDが隣接するIDRフレームで同一にならない順番になる動画データとして前記記録媒体に記録するように前記記録手段を制御することを特徴とする撮像装置。
【請求項3】
前記圧縮手段は、MPEG−4 AVC/H.264方式を用いて画像データを動画データとして圧縮することを特徴とする請求項1または2記載の撮像装置。
【請求項4】
前記圧縮手段は、前記画像データをIDRフレームとして圧縮する際、前記画像データをフレーム内予測符号化することを特徴とする請求項1から3のいずれか1項記載の撮像装置。
【請求項5】
前記IDRフレームは、そのフレームよりも後に表示されるフレーム間予測符号化されたフレームがIDRフレームよりも前に表示されるフレームを参照できなくするフラグを付加されたフレーム内予測符号化されたフレームであることを特徴とする請求項1から4のいずれか1項記載の撮像装置。
【請求項6】
前記圧縮手段は、画像データをIDRフレームとして圧縮するたびにIDRフレームの識別IDをインクリメントすることを特徴とする請求項1から5のいずれか1項記載の撮像装置。
【請求項7】
前記圧縮手段は、第1のモードにおいては、前記画像データをすべてIDRフレームとして圧縮することを特徴とする請求項1から6のいずれか1項記載の撮像装置。
【請求項8】
前記圧縮手段は、第2のモードにおいては、前記画像データをフレーム間予測符号化とフレーム内予測符号化とを用いて圧縮することを特徴とする請求項1から7のいずれか1項記載の撮像装置。
【請求項9】
前記制御手段は、前記第2のモードにおいて、前記動画撮影中に前記静止画撮影の指示が入力されたことに応じて、前記所定の画像をIDRフレームとして圧縮しないことを特徴とする請求項8記載の撮像装置。
【請求項10】
前記所定の画像は、黒画像または、静止画撮影の指示が入力されたタイミングに関連する画像データであることを特徴とする請求項1から9のいずれか1項記載の撮像装置。
【請求項11】
撮像手段を有するコンピュータを、
動画撮影中に前記撮像手段により得られた画像データを順次動画データとして圧縮する圧縮手段、
前記圧縮手段により圧縮された動画データを記録媒体に記録する記録手段、
前記動画撮影中に静止画撮影の指示を入力する静止画撮影指示手段、
前記圧縮手段と前記記録手段とを制御する制御手段として機能させるプログラムであって、
前記制御手段は、前記動画撮影中に前記静止画撮影の指示が入力されたことに応じて、所定の画像データを動画データのIDRフレームとして複数回圧縮するように前記圧縮手段を制御し、
前記制御手段は、前記複数回圧縮することにより得られた複数のIDRフレームをそれぞれ複数回用いて、IDRフレームの識別IDが隣接するIDRフレームで同一にならない順番になる動画データとして前記記録媒体に記録するように前記記録手段を制御することを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2013−55532(P2013−55532A)
【公開日】平成25年3月21日(2013.3.21)
【国際特許分類】
【出願番号】特願2011−192814(P2011−192814)
【出願日】平成23年9月5日(2011.9.5)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】