(57)【要約】【課題】回路規模の増大を抑止し、かつ、短い時間（好適にはリアルタイム）で画像圧縮パッケージを生成すること【解決手段】ＪＰＥＧエンコーダ２３ａは、静止画フレーム内の有効エリア処理中に主画像データを圧縮し、静止画フレーム内のブランキングエリア処理中に副画像データを圧縮する。ＣＰＵ１５は、ＤＤＲメインメモリ１６内のワークエリアに主画像データを圧縮した主画像圧縮データを圧縮後に書き込む。ＣＰＵ１５は、静止画フレーム内のブランキングエリア処理中に、副画像データを圧縮した副画像圧縮データと、所定のヘッダデータと、を書き込むことにより圧縮パッケージを生成してＤＤＲメインメモリ１６に格納する。【選択図】図４
2014033333.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子と、
前記撮像素子により取得された動画像データから任意のタイミングで静止画フレームを取得する静止画フレーム取得部と、
前記静止画フレーム取得部により取得された静止画フレームのサイズをリアルタイムに変換して主画像データを生成する主画像サイズ変換部と、
前記静止画フレーム取得部により取得された静止画フレームのサイズをリアルタイムに変換して副画像データを生成する副画像サイズ変換部と、
前記主画像データを格納する第１ラインメモリと、
前記副画像データを格納する第２ラインメモリと、
前記第１または第２ラインメモリに格納されたデータを圧縮処理する静止画圧縮部と、
前記静止画圧縮部が圧縮した圧縮データを用いて圧縮パッケージを生成するＣＰＵと、
前記圧縮パッケージの生成のワークエリアとして機能するとともに、各種データを格納するメインメモリと、を有し、
前記静止画圧縮部は、前記静止画フレーム内の有効エリア処理中に前記主画像データを圧縮し、前記静止画フレーム内のブランキングエリア処理中に前記副画像データを圧縮し、
前記ＣＰＵは、前記静止画フレーム内の有効エリア処理中に、前記ワークエリアに前記主画像データを圧縮した主画像圧縮データを書き込んでいき、前記静止画フレーム内のブランキングエリア処理中に、前記副画像データを圧縮した副画像圧縮データと、所定のヘッダデータと、を書き込むことにより前記圧縮パッケージを生成することを特徴とする撮像装置。
【請求項２】
前記ＣＰＵは、前記静止画圧縮部による前副画像データの圧縮処理と並行して、前記ヘッダデータ、及び圧縮の終了した前記副画像データである副画像圧縮データを、前記圧縮パッケージの生成に用いる前記ワークエリアに書き込むことを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記静止画圧縮部は、前記主画像データと前記主画像圧縮データから算出する圧縮率、前記主画像の圧縮に用いた量子化テーブル、前記ワークエリア内の副画像用の領域サイズ、及び前記副画像データのデータサイズを基に前記副画像データの圧縮に用いる量子化テーブルを調整することを特徴とする請求項１または請求項２に記載の撮像装置。
【請求項４】
前記ＣＰＵは、前記ワークエリアの内の副画像用の領域に前記副画像圧縮データを書き込み、空き領域が生じた場合には当該空き領域に無効データを書き込むことを特徴とする請求項１〜３のいずれか１項に記載の撮像装置。
【請求項５】
前記メインメモリに格納された動画像データを圧縮処理する動画圧縮部を更に備え、
前記動画圧縮部は、前記主画像データと前記主画像圧縮データから算出する圧縮率、及び前記主画像の圧縮に用いた量子化テーブルに基づいて動画圧縮率を推定することを特徴とする請求項１〜４のいずれか１項に記載の撮像装置。
【請求項６】
前記動画圧縮部は、前記主画像データと前記主画像圧縮データから算出する圧縮率、及び前記主画像の圧縮に用いた量子化テーブルに基づいて、動画圧縮に用いる量子化テーブルを調整することを特徴とする請求項５に記載の撮像装置。
【請求項７】
前記ワークエリアの内の副画像用の領域は、固定サイズであることを特徴とする請求項３に記載の撮像装置。
【請求項８】
撮像素子により取得された動画像データから任意のタイミングで静止画フレームを取得する静止画フレーム取得ステップと、
前記静止画フレーム取得ステップにて取得された静止画フレームのサイズをリアルタイムに変換して主画像データを生成する主画像サイズ変換ステップと、
前記静止画フレーム取得ステップにて取得された静止画フレームのサイズをリアルタイムに変換して副画像データを生成する副画像サイズ変換ステップと、
第１または第２ラインメモリに格納された前記主画像データまたは前記副画像データを圧縮処理する静止画圧縮ステップと、
前記静止画圧縮ステップにおいて圧縮した圧縮データを用いて圧縮パッケージを生成するパッケージステップと、を有し、
前記静止画圧縮ステップでは、前記静止画フレーム内の有効エリア処理中に前記主画像データを圧縮し、前記静止画フレーム内のブランキングエリア処理中に前記副画像データを圧縮し、
前記パッケージステップでは、前記静止画フレーム内の有効エリア処理中にメインメモリ内のワークエリアに前記主画像データを圧縮した主画像圧縮データを書き込んでいき、前記静止画フレーム内のブランキングエリア処理中に、前記副画像データを圧縮した副画像圧縮データと、所定のヘッダデータと、を書き込むことにより前記圧縮パッケージを生成する、ことを特徴とする画像圧縮方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置、画像圧縮方法に関し、特に、リアルタイムにエンコードした静止画データを取得するのに好適な撮像装置、画像圧縮方法に関する。
【背景技術】
【０００２】
デジタルカメラ又はデジタルビデオカメラ等において、静止画を撮影しファイル化する際に、画像データを非圧縮のファイルで保存したり、ＪＰＥＧ（Joint Photographic Experts Group）形式等の圧縮データにして保存するのが一般的である。それらファイル化の際、通常、撮像素子同等の解像度を有するメインの画像のほかにサムネイルと呼ばれるインデックス用の副画像（水平１６０画素×垂直１２０画素）を同時にファイルにパッケージする。これにより、副画像を静止画再生時に画像サイズの小さいインデックス用の画像として表示し、ユーザが静止画を確認して効率よく選択することができる。これはデジタルカメラ用の画像ファイル規格であるＥＸＩＦ（Exchangeable Image File Format）等に規定されている。
【０００３】
通常、静止画撮影をする際には、撮像素子等を介して取得された画像データを一度メインメモリに格納し、画質補正等を行った後にＪＰＥＧ等の形式で圧縮して主画像ストリームを生成する。更に、必要に応じてメインメモリの画像をサムネイル用のサイズに変換してＪＰＥＧ等の形式で圧縮してサムネイル用のストリームを生成する。そして、これらをＥＸＩＦとしてパッケージすることで一般的なＪＰＥＧファイルが生成される。この一連の処理（以下、静止画エンコード処理という。）においては、
（１）メインメモリへの画像データの書き込み処理
（２）メインメモリから画像データを読み出しながら、読み出された画像データをＪＰＥＧ形式へエンコード処理
（３）エンコード処理されたデータのメインメモリへのストリームの書き込み処理
等の処理によりメインメモリに対するアクセスが多数発生するため、メモリバス帯域を圧迫する。このため、メモリ処理クロック周波数を高くしたりバス幅を広げたりする必要が生じ、その結果として、コストが高くなったり、消費電力が増加する等の問題点があった。
【０００４】
そこで本願発明者は、動画撮影と並行して、静止画データをリアルタイムにエンコードしてメインメモリに格納することが可能な撮像装置を発明した（特許文献１）。当該撮像装置では、静止画データをメインメモリではなくラインメモリに一時保管し、当該ラインメモリから読み出した静止画データを圧縮処理している。また特許文献１には、主画像用のＪＰＥＧエンコーダと副画像用のＪＰＥＧエンコーダを備え、主画像とサムネイルを並列して圧縮する構成も記載されている。当該構成により、リアルタイムでのＥＸＩＦファイルの生成を実現している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特願２０１１−０３３９７８号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述のように本願発明者は、主画像用のＪＰＥＧエンコーダと副画像用のＪＰＥＧエンコーダを備え、主画像とサムネイルを並列して圧縮して画像圧縮パッケージ（たとえばＥＸＩＦパッケージ）を生成する撮像装置を発明した。一般的にＪＰＥＧエンコーダは、ハードウェア（いわゆる回路）により構成する。そのため、上述の撮像装置には、２つのエンコーダを用いることにより回路規模が増大してしまうという問題があった。
【０００７】
すなわち、従来の技術では回路規模の増大を抑止し、かつ、短い時間（好適にはリアルタイム）で画像圧縮パッケージを生成することが出来ないという問題があった。
【課題を解決するための手段】
【０００８】
そこで、本発明は、撮像素子（１２）と、前記撮像素子（１２）により取得された動画像データから任意のタイミングで静止画フレームを取得する静止画フレーム取得部と、前記静止画フレーム取得部により取得された静止画フレームのサイズをリアルタイムに変換して主画像データを生成する主画像サイズ変換部（２１ａ）と、前記静止画フレーム取得部により取得された静止画フレームのサイズをリアルタイムに変換して副画像データを生成する副画像サイズ変換部（２１ｂ）と、前記主画像データを格納する第１ラインメモリ（２２ａ）と、前記副画像データを格納する第２ラインメモリ（２２ｂ）と、前記第１または第２ラインメモリ（２２ａ、２２ｂ）に格納されたデータを圧縮処理する静止画圧縮部（２３ａ）と、前記静止画圧縮部（２３ａ）が圧縮した圧縮データを用いて圧縮パッケージを生成するＣＰＵ（１５）と、前記圧縮パッケージの生成のワークエリアとして機能するとともに、各種データを格納するメインメモリ（１６）と、を有し、前記静止画圧縮部（２３ａ）は、前記静止画フレーム内の有効エリア処理中に前記主画像データを圧縮し、前記静止画フレーム内のブランキングエリア処理中に前記副画像データを圧縮し、前記ＣＰＵ（１５）は、前記静止画フレーム内の有効エリア処理中に、前記ワークエリアに前記主画像データを圧縮した主画像圧縮データを書き込んでいき、前記静止画フレーム内のブランキングエリア処理中に、前記副画像データを圧縮した副画像圧縮データと、所定のヘッダデータと、を書き込むことにより前記圧縮パッケージを生成して前記メインメモリ（１６）に格納する撮像装置（１）を提供する。
上記撮像装置（１）において、前記ＣＰＵ（１５）は、前記静止画圧縮部（２３ａ）による前副画像データの圧縮処理と並行して、前記ヘッダデータ、及び前記主画像データを圧縮した主画像圧縮データを、前記圧縮パッケージの生成に用いる前記ワークエリアに書き込んでもよい。
上記撮像装置（１）において、前記静止画圧縮部（２３ａ）は、前記主画像データと前記主画像圧縮データから算出する圧縮率、前記主画像の圧縮に用いた量子化テーブル、前記ワークエリア内の副画像用の領域サイズ、及び前記副画像データのデータサイズを基に前記副画像データの圧縮に用いる量子化テーブルを調整してもよい。
上記撮像装置（１）において、前記ＣＰＵ（１５）は、前記ワークエリアの内の副画像用の領域に前記副画像圧縮データを書き込み、空き領域が生じた場合には当該空き領域に無効データを書き込んでもよい。
上記撮像装置（１）において、前記メインメモリ（１６）に格納された動画像データを圧縮処理する動画圧縮部（２０）を更に備え、前記動画圧縮部（２０）は、前記主画像データと前記主画像圧縮データから算出する圧縮率、及び前記主画像の圧縮に用いた量子化テーブルに基づいて動画圧縮率を推定してもよい。
上記撮像装置（１）において、前記動画圧縮部（２０）は、前記主画像データと前記主画像圧縮データから算出する圧縮率、及び前記主画像の圧縮に用いた量子化テーブルに基づいて、動画圧縮に用いる量子化テーブルを調整してもよい。
上記撮像装置（１）において、前記ワークエリアの内の副画像用の領域は、固定サイズであってもよい。
本願発明にかかる画像圧縮方法の一態様は、撮像素子により取得された動画像データから任意のタイミングで静止画フレームを取得する静止画フレーム取得ステップと、前記静止画フレーム取得ステップにて取得された静止画フレームのサイズをリアルタイムに変換して主画像データを生成する主画像サイズ変換ステップと、前記静止画フレーム取得ステップにて取得された静止画フレームのサイズをリアルタイムに変換して副画像データを生成する副画像サイズ変換ステップと、第１または第２ラインメモリに格納された前記主画像データまたは前記副画像データを圧縮処理する静止画圧縮ステップと、前記静止画圧縮ステップにおいて圧縮した圧縮データを用いて圧縮パッケージを生成するパッケージステップと、を有し、前記静止画圧縮ステップでは、前記静止画フレーム内の有効エリア処理中に前記主画像データを圧縮し、前記静止画フレーム内のブランキングエリア処理中に前記副画像データを圧縮し、前記パッケージステップでは、前記静止画フレーム内の有効エリア処理中にメインメモリ内のワークエリアに前記主画像データを圧縮した主画像圧縮データを書き込んでいき、前記静止画フレーム内のブランキングエリア処理中に、前記副画像データを圧縮した副画像圧縮データと、所定のヘッダデータと、を書き込むことにより前記圧縮パッケージを生成する、ことを特徴とする。
【発明の効果】
【０００９】
本発明では、回路規模の増大を抑止し、かつ、短い時間（好適にはリアルタイム）で画像圧縮パッケージを生成する撮像装置及び撮像方法を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１にかかる撮像装置の構成を示すブロック図である。
【図２】実施の形態１にかかる静止画フレームのリアルタイム記録処理を実現する基本構成を示す図である。
【図３】実施の形態１にかかる静止画リアルタイム処理部の構成を示すブロック図である。
【図４】実施の形態１にかかる静止画リアルタイム処理部の構成を示すブロック図である。
【図５】実施の形態１にかかる静止画リアルタイム処理部の構成を示すブロック図である。
【図６】実施の形態１にかかる量子化テーブルの一例を示す図である。
【図７】実施の形態１にかかるサイズ変換部の構成を示すブロック図である。
【図８】実施の形態１にかかる撮像装置の各期間（有効期間、ブランキング期間）における各処理部の動作を示すタイミングチャートである。
【図９】実施の形態１にかかるＤＤＲメインメモリのワークエリアの構成を示す概念図である。
【図１０Ａ】実施の形態１にかかる撮像装置のブランキング期間における各処理部の動作を示すタイミングチャートである。
【図１０Ｂ】実施の形態１にかかる撮像装置のブランキング期間における各処理部の動作を示すタイミングチャートである。
【図１１Ａ】実施の形態１にかかる量子化テーブルの一例を示す図である。
【図１１Ｂ】実施の形態１にかかる量子化テーブルの一例を示す図である。
【図１１Ｃ】実施の形態１にかかる量子化テーブルの一例を示す図である。
【図１２Ａ】実施の形態１にかかるＤＤＲメインメモリのワークエリアの状態を示す概念図である。
【図１２Ｂ】実施の形態１にかかるＤＤＲメインメモリのワークエリアの状態を示す概念図である。
【図１２Ｃ】実施の形態１にかかるＤＤＲメインメモリのワークエリアの状態を示す概念図である。
【発明を実施するための形態】
【００１１】
＜実施の形態１＞
以下、図面を参照して本発明の実施の形態について説明する。図１は、本実施の形態にかかる撮像装置を示すブロック図である。本実施の形態にかかる撮像装置１は、撮像素子を介して動画像データを取得しつつ、ユーザの指示に基づく任意のタイミングで動画像データから静止画フレームを取得し、その静止画フレームをリアルタイムでエンコード（圧縮）処理を行うものである。ここで、リアルタイムでのエンコード処理とは、動画像データ（カメラ画像）の入力フレームレートと同じフレームレートで静止画フレームのエンコード処理、例えばＪＰＥＧエンコード処理を行うこという。また、以下の説明では、静止画フレームは、ユーザの指示に基づく任意のタイミングで取得されるものとして説明するが、例えば、「静止画フレーム自動取得モード」等を用意し、被写体の笑顔等、特定の対象を自動で検知し、当該検知結果に応じて自動で静止画フレームを取得するようにしてもよい。
【００１２】
上記動作を実現するため、撮像装置１は、レンズ１１及びレンズを通じて入射した入射光を光電変換し画像データを生成する撮像素子１２等からなる撮像部を有する。さらに、撮像装置１は、ＤＤＲ（Double-Data-Rate）メインメモリ１６、動画コーデック２０、ラインメモリ２２、及びＪＰＥＧコーデック２３を有している。これらＤＤＲメインメモリ１６、動画コーデック２０、ラインメモリ２２、及びＪＰＥＧコーデック２３は、それぞれバス１０を介して接続される。
【００１３】
ＤＤＲメインメモリ１６には、撮像素子１２により取得された動画像データが書き込まれる。動画コーデック２０は、ＤＤＲメインメモリ１６に書き込まれた動画像データを圧縮処理する動画圧縮部として機能する。動画コーデック２０は、さらに、圧縮された画像データを伸張する動画像伸張部としても機能する、撮像素子１２から取得された動画像データは一旦ＤＤＲメインメモリ１６に書き込みされ、その後に動画コーデック２０によりエンコード処理される。
【００１４】
一方、静止画の方は、静止画フレーム取得部（図示せず）により、撮像素子１２で取得された動画像データから任意のタイミングで静止画フレームを取得し、ラインメモリ２２にその静止画フレームの一部である静止画データを格納する。なお、例えば１秒間に６０フレームからなる動画像データの６０フレーム全部を静止画データとして取得する場合は、カメラ信号処理部１３からの動画像データを順次ラインメモリ２２に格納すればよく、静止画フレーム取得部は不要である。また、ユーザの指示により任意のタイミングで静止画フレームを取得する場合は、例えばユーザが撮像装置１の図示しないシャッタボタンを押下したタイミングに基づき、動画像データから所定枚数の静止画フレームから得られる静止画データをラインメモリ２２に入力できるようにスイッチ動作するスイッチ等により構成することができる。
【００１５】
また、ＪＰＥＧコーデック２３は、ラインメモリ２２に格納された静止画データを圧縮処理する静止画圧縮部として機能する。ＪＰＥＧコーデック２３は、圧縮された静止画データを伸張する伸張部としても機能する。このＪＰＥＧコーデック２３は、撮影中の動画像データのＤＤＲメインメモリ１６への書き込みと並行してリアルタイムで静止画データをエンコード処理する。このとき、ＤＤＲメインメモリ１６は、動画像データが書き込まれると共に、ＪＰＥＧコーデック２３によりリアルタイムでエンコード処理されたエンコードデータが書き込まれる。
【００１６】
このように構成された撮像装置１においては、動画像データから取得した静止画フレームをＤＤＲメインメモリ１６に書き込みせずに、直接リアルタイムにエンコードしてからＤＤＲメインメモリ１６に書き込みする。ＤＤＲメインメモリ１６に撮像画像から取得された静止画フレーム（以下、非圧縮の画像データを生データともいう。）を書き込みせず、エンコードしてから書き込みするようにすることで、ＤＤＲメインメモリ１６のバス１０のバス帯域に対する負荷を低減する。このことにより、多画素の画像サイズの静止画データを１秒間に６０フレーム等の速度で高速撮影処理することが可能となる。
【００１７】
以下、本実施の形態にかかる撮像装置１について更に詳細に説明する。撮像装置１は、さらに、カメラ信号処理部１３と、カメラ信号処理部１３の制御のもと、レンズ１１のズーム倍率や焦点距離を制御するズーム・フォーカス制御部１４を有する。また、各ブロックを制御するＣＰＵ（Central Processing Unit）１５、ＳＤカード（SD Memory Card）１７、及びＵＳＢ（Universal Serial Bus）１８を有する。さらに、サイズ変換部１９、サイズ変換部２１、ビデオ信号処理部２４、ＨＤＭＩ（High-Definition Multimedia Interface）２５及びＬＣＤ（Liquid Crystal Display：液晶ディスプレイ）２６等を有する。各処理部は、バス１０を介して接続されている。
【００１８】
カメラ信号処理部１３は、図示しない同期信号発生部やＹ／Ｃ処理部等を有している。同期信号発生部は、生成される画像データの水平サイズ及び垂直サイズに対応し、かつ内部クロックに同期した水平同期信号及び垂直同期信号を生成する。撮像部からの画像データは、この水平同期信号及び垂直同期信号に同期した画像データをカメラ信号処理部１３に入力する。Ｙ／Ｃ処理部では、撮像部により生成された複数の画像データを順次Ｙ／Ｃ処理する。Ｙ／Ｃ処理とは画像データを輝度データ（Ｙ）と色データ（Ｃ）に分離、変換する処理である。すなわち、カメラ信号処理部１３は、撮像データから色分離、白バランス調整、及びＹ／Ｃ処理等の一連のカメラ信号処理した（動）画像データを出力する。
【００１９】
サイズ変換部１９は、カメラ信号処理部１３から出力される動画像データのサイズを変換する。この動画像データは、一旦ＤＤＲメインメモリ１６に書き込みされる。
【００２０】
動画コーデック２０は、記録時には、上述したように、一旦ＤＤＲメインメモリ１６に書き込みされた動画像データを、例えばＨ.２６４／ＡＶＣ規格やＭＰＥＧ２規格に準じた形式でエンコード処理を実施する。このエンコードの際に、動画コーデック２０は、内部に管理する量子化テーブルを参照してエンコード処理を行う。エンコード後のエンコードデータはＤＤＲメインメモリ１６に書き込みされ、必要に応じてＳＤカード１７等の外部メモリに転送される。また、再生時には、例えばＳＤカード１７等の外部メモリから読み出され、ＤＤＲメインメモリ１６に書き込みされたエンコード済み動画像データに対してデコード処理を実施する。
【００２１】
ＳＤカード１７は、大容量の外部記憶媒体であり、このＳＤカード１７に動画像データや静止画データが書き込まれ、ＬＣＤ２６により表示する等することができる。ＳＤカード１７に格納されている画像データは、一旦ＤＤＲメインメモリ１６に書き込みされ、動画コーデック２０によりデコードされ、ビデオ信号処理部２４を介してＬＣＤ２６に出力されたり、ＨＤＭＩ２５を介して出力されることができる。また、撮像装置１は、ＵＳＢ１８を介して様々な周辺機器に接続される。
【００２２】
ビデオ信号処理部２４は、デコードした画像データをＨＤＭＩ２５やＬＣＤ２６に応じた形式の出力データに変換する一連のビデオ信号処理を実施し、ＬＣＤ２６を介して画像を表示したり、ＨＤＭＩ２５を介してテレビモニタ等の外部モニタ装置等に画像データを出力する。
【００２３】
＜通常撮影ルートと高速撮影ルート＞
ところで、本実施の形態にかかる撮像装置１は、ＤＤＲメインメモリ１６に書き込みされた生データ又はデコード済みの動画像データから静止画フレームを取得し、サイズ変換部２１によりサイズ変換し、ラインメモリ２２を介してＪＰＥＧコーデック２３によりエンコードしてＤＤＲメインメモリ１６に書き込みするというルートも有している。
【００２４】
つまり、ＤＤＲメインメモリ１６は、撮像素子１２により取得された動画像データ（第１動画像データ）又はＳＤカード１７等の外部メモリから読み込まれたエンコード済み動画像データがデコードされた動画像データ（第２動画像データ）を書き込みする。この場合、第１動画像データ、第２動画像データについても、ユーザの指示等による任意のタイミングで静止画フレームが取得され、サイズ変換部２１に出力される。そして、静止画フレームはサイズ変換部２１によりその画像サイズが変換され、ラインメモリ２２にその一部の静止画データが順次書き込みされ、ＪＰＥＧコーデック２３にて、ラインメモリ２２に書き込みされた静止画データのエンコードを行ってＤＤＲメインメモリ１６にエンコードされたエンコードデータが出力される。なお、ＤＤＲメインメモリ１６に書き込みされた生データ又はデコード済みの動画データ（第１及び第２動画像データ）から静止画フレームを取得する場合、ユーザが指定したタイミングのフレーム１枚のみならず、その近傍の複数枚のフレームを加重平均するなどして合成し１枚の静止画フレームを取得するようにしてもよい。
【００２５】
ここで、本実施の形態１にかかる撮像装置１のＤＤＲメインメモリ１６は、カメラ信号処理部１３からＤＤＲメインメモリ１６を経由せずにＪＰＥＧエンコードする場合（以下、高速撮影ルートともいう。）にはラインメモリ２２を３面で使用することが好ましく、ＤＤＲメインメモリ１６を経由してＪＰＥＧエンコードする場合（以下、「通常ルート」ともいう。）は、ラインメモリ２２の３面のうちの２面を使用するようにしてもよい。以下、本実施の形態１におけるラインメモリ２２を３面構成とする理由について説明する。
【００２６】
通常ルートの場合、ＤＤＲメインメモリ１６から生データを転送することになる。通常ルートの場合には、内部の処理部（例えば図示しないメモリコントローラ）がエンコード処理のタイミングを考慮して処理を行えば、２面構成でも問題は生じない。また、処理を決まった同期信号内で完結したい場合、バス帯域の優先度を上げてバス帯域を確保する、またはシステムの動作周波数を上げる、等の対応を取ればよい。
【００２７】
本実施の形態１にかかる撮像装置１の高速撮影ルート時のボトルネックの１つはＪＰＥＧコーデック２３のエンコードの処理能力に依存する。ＪＰＥＧコーデック２３は、通常、
入力データ量＞エンコードデータ量
の大小関係が成立するが、画像の複雑度によってはハフマン符号の割り当て等によりエンコードデータ量が多くなり上の式が逆転することがある。その場合、瞬間的に画像データのリード処理が滞りラインメモリ２２の２面を使用するだけでは処理が破綻する可能性があり、ラインメモリ２２を３面構成とする必要がある。言い換えればＪＰＥＧコーデック２３において、
入力の転送レート＜出力のデータ転送レート
の状態が常になりたてば２面構成のみでの処理が可能となる。しかし、瞬間的に
入力の転送レート＞出力のデータ転送レート
の状態が発生する場合があり、このとき、ラインメモリ２２を３面構成としておけば、画像データのリード処理が滞ってもそれを吸収することができる。
【００２８】
本実施の形態においては、動画撮影時に静止画を同時に取得する場合は、高速撮影ルートを通り、カメラ信号処理部１３からの静止画データが直接エンコードされ、ＤＤＲメインメモリ１６に書き込まれるため、従来のように生データが書き込まれる場合に比して、データ量を削減することができる。これにより、ＤＤＲメインメモリ１６のバス１０のバス帯域を確保することができ、毎秒６０枚取得される静止画フレーム等のエンコード済みの静止画データのＤＤＲメインメモリ１６への書き込みが可能となる。
【００２９】
ラインメモリを３面設けることにより、一部のラインメモリを、リアルタイムなエンコード処理時の処理レートの変動を吸収するバッファとして機能させると共に、エンコード処理後のエンコードデータがＤＤＲメインメモリ１６へ書き込みされる際のタイミングを調整するバッファとして機能させることができる。
【００３０】
＜静止画フレームのリアルタイム記録処理＞
本実施の形態にかかる撮像装置１は、上述したように、動画像の記録と並列して高速に静止画フレームをリアルタイムでエンコードして記録する処理（以下、高速撮影ルートで静止画フレームをエンコードする処理をリアルタイム記録処理ともいう。また、静止画フレームのエンコード処理をリアルタイムに実行する各処理部を総称して、静止画リアルタイム処理部という。）が可能な装置である。この静止画フレームのリアルタイム記録処理の詳細について説明する。
【００３１】
図２は、静止画フレームのリアルタイム記録処理を実現する基本構成を示す図である。なお、図２及び後述する図３乃至図５において、図１に示す撮像装置１と同一の構成要素には同一の符号を付し、その詳細な説明を省略する。また、図２乃至図５においては、静止画フレームのリアルタイム記録処理を説明するために撮像装置の一部を抜き出して示している。また、サイズ変換部２１等については、主画像用とサムネイル用のように複数配置される場合がある。更に詳細な構成は、図３等を参照して後述する。
【００３２】
図２に示すように、動画像と共に入力される静止画フレームＤ１についてのリアルタイム記録処理を実施するパス（高速撮影ルートＲ１）と、ＤＤＲメインメモリ１６に書き込みされた生データ又はデコード済みの動画像データから取得した静止画フレームＤ２について、エンコードするパス（通常ルート）とを切り替えるセレクタ２７を有している。なお図中の高速撮影ルートＲ１は、厳密には静止画フレームＤ１の有効エリアを処理している場合のデータの流れを示している（詳細は図３及び図４を参照して説明する）。
【００３３】
高速撮影ルートＲ１において、撮像素子１２より取得された動画像データから取得された静止画フレームをリアルタイムでエンコードする場合は、セレクタ２７を介してこの静止画フレームＤ１が選択され、これがラインメモリ２２に順次入力される。ラインメモリ２２は、１フレーム分の静止画データ未満のデータを書き込みする。ラインメモリ２２の詳細については後述する。ラインメモリ２２の後段に配置されたＪＰＥＧエンコーダ２３ａは、ラインメモリ２２から出力される静止画データをＪＰＥＧ形式にエンコードして出力する。このエンコードデータはＤＤＲメインメモリ１６に書き込みされる。
【００３４】
一方、通常ルートの場合は、ＤＤＲメインメモリ１６に書き込みされている生データの動画像データが使用される。この動画像データは、例えばレンズ１１及び撮像素子１２を介して取得された動画像データがＤＤＲメインメモリ１６に書き込みされたものである。または、ＳＤカード１７等の外部メモリから入力されたエンコード済み動画像データが一旦ＤＤＲメインメモリ１６に書き込みされ、これが図１に示す動画コーデック２０にてデコードされて再びＤＤＲメインメモリ１６に書き込みされたものである。いずれの場合も生データ又はデコード済みである非圧縮の動画像データである。
【００３５】
これらの動画像データに対しても、ユーザの指示に基づく任意のタイミングで静止画フレームが取得されてサイズ変換部２１へ出力される。このＤＤＲメインメモリ１６からサイズ変換部２１、ラインメモリ２２を介してＪＰＥＧエンコーダ２３ａによりエンコード処理されるルートが通常ルートである。ＪＰＥＧエンコーダ２３ａにてエンコードされたエンコード静止画データはＤＤＲメインメモリ１６に書き込みされる。
【００３６】
＜静止画リアルタイム処理部の構成＞
続いて、静止画リアルタイム処理部の構成（図２の詳細構成）について図３及び図４を参照して説明する。図３は、静止画フレームの有効エリアを処理している際のデータの流れを示すブロック図である。有効エリア等の詳細については、後述する。静止画リアルタイム処理部は、カメラ信号処理部１３を介して入力される動画像データから取得された静止画フレームのサイズをリアルタイムに変換して主画像データ及び副画像データを生成するそれぞれ主画像サイズ変換部２１ａ及び副画像サイズ変換部２１ｂを有する。
【００３７】
また、主画像サイズ変換部２１ａ及び副画像サイズ変換部２１ｂに対応して、それぞれラインメモリ２２ａ、２２ｂが設けられている。ラインメモリ２２ａ、２２ｂの動作はラインメモリ２２と同様である。
【００３８】
静止画リアルタイム処理部は、内部に１つのＪＰＥＧエンコーダ２３ａのみを有し、複数のＪＰＥＧエンコーダは備えない。前述のようにＪＰＥＧエンコーダ２３ａは、上述のＪＰＥＧコーデック２３に対応し、一般的にハードウェア（回路）により構成される。
【００３９】
静止画リアルタイム処理部は、更に主画像制御部２８ａ及び副画像制御部２８ｂを備える。主画像制御部２８ａは、主画像サイズ変換部２１ａ、ラインメモリ２２ａ、及びＪＰＥＧエンコーダ２３ａの制御及びこれらの処理部とのデータやり取りを行う。同様に副画像制御部２８ｂは、副画像サイズ変換部２１ｂ、ラインメモリ２２ｂ及びＪＰＥＧエンコーダ２３ａの制御の制御及びこれらの処理部とのデータやり取りを行う。例えば主画像制御部２８ａ及び副画像制御部２８ｂは、ＪＰＥＧエンコーダ２３ａが静止画フレームの有効エリア（後述）の処理中であるか否かを示すフラグを管理する。なお、主画像制御部２８ａ及び副画像制御部２８ｂを一つの処理部として構成することも可能である。
【００４０】
セレクタ２７は、カメラ信号処理部１３からの動画像データから取得された静止画フレームＤ１が主画像サイズ変換部２１ａにより主画像サイズにサイズ変換されたもの、同じく静止画フレームＤ１が副画像サイズ変換部２１ｂにより副画像サイズにサイズ変換されたもの、ＤＤＲメインメモリ１６に書き込みされている生データ又はデコード済みの動画像データから取得された静止画フレームＤ２、又は同じくＤＤＲメインメモリ１６の生データ又はデコード済みの動画像データから取得された静止画フレームＤ３がサイズ変換部２１ａ若しくはサイズ変換部２１ｂによりサイズ変換された静止画データのいずれかを選択し、ラインメモリ２２ａ又はラインメモリ２２ｂに出力する。
【００４１】
本構成では、サイズ変換部２１ａ、ラインメモリ２２ａ及びＪＰＥＧコーデック２３ａにより、主画像サイズの静止画データのリアルタイムエンコード処理が実行される。静止画フレームには、有効エリアとブランキングエリアが含まれる。たとえば静止画フレームの画像サイズが１９２０（画素）×１０８０（ライン）である場合、垂直同期信号が１１２５ラインでハイレベルとなるように設定されている。この差分の４５ライン分の時間をブランキングエリアと呼称する。上述の有効エリアの処理中の期間を有効期間と呼称し、ブランキングエリアの処理中の期間をブランキング期間と呼称する。
【００４２】
一般的にＪＰＥＧコーデック２３ａは、フレーム内の有効エリアをブロックに分割し、各ブロックに対して量子化テーブルを用いた量子化処理を行うことにより静止画データをエンコードする。そのエンコードデータは、ＤＤＲメインメモリ１６に書き込まれる。ＪＰＥＧコーデック２３ａは、有効エリアの処理がすべて終了した場合、ＣＰＵ１５が有効エリアの処理の終了を認識できるようにする。詳細には、ＪＰＥＧコーデック２３ａは、主画像制御部２８ａ内及び副画像制御部２８ｂ内のフラグを設定することにより有効エリアの処理が終了したこと、すなわちブランキングエリア期間が開始されたことを設定する。ＣＰＵ１５は、このフラグの設定の有無を適宜参照する。
【００４３】
主画像サイズの静止画データのリアルタイムエンコード処理と並行して、副画像サイズの静止画データの処理が実行される。すなわち、サイズ変換部２１ｂ、ラインメモリ２２ｂにより、副画像サイズへの静止画データのサイズ変換処理が実行される。このサイズ変換処理は、有効期間の間に行われる。副画像サイズに変換された静止画データ（すなわち圧縮されていないＹＵＶ形式のデータ）は、ＤＤＲメインメモリ１６に格納される。
【００４４】
図４は、静止画リアルタイム処理部の構成（構成自体は図３と同様）を示すものであり、静止画データのブランキング期間を処理中のデータの流れを示すブロック図である。ＪＰＥＧエンコーダ２３ａは、直前にエンコードしていた主画像サイズの静止画データと対応する副画像サイズの静止画データをＤＤＲメインメモリ１６から読み出す。ＪＰＥＧエンコーダ２３ａは、セレクタ２７及びラインメモリ２２ａを介して取得した副画像サイズの静止画データをエンコードし、エンコードデータをバス１０を介してＤＤＲメインメモリ１６に書き込む。なお、ＪＰＥＧエンコーダ２３ａは、ラインメモリ２２ａではなくラインメモリ２２ｂを介して副画像サイズの静止画データを取得してもよい。
【００４５】
またＣＰＵ１５は、ブランキング期間にＥＸＩＦパッケージの生成処理を行う。詳細にはＣＰＵ１５は、ＪＰＥＧエンコーダ２３ａによる副画像サイズの静止画データのエンコードと平行してＥＸＩＦパッケージのヘッダの書き込みを行う。ブランキング期間における処理詳細は、図１０を参照して説明する。
【００４６】
＜静止画リアルタイム処理部の詳細構成＞
図５は、図３及び図４に示す静止画リアルタイム処理部を更に詳細に示したブロック図である。本例においては、撮像装置１は、カメラ信号処理部１３から出力される動画像データから取得された静止画フレームを処理する２つのパスを有している。１つは主画像となる静止画データに関するパス（以下、パス１という。）であり、もう１つは副画像（サムネイル）となる静止画データに関するパス（以下、パス２という。）である。
【００４７】
パス１の方は、第１の入力画像選択部２７ａ、主画像サイズ変換部２１ａ、及びラインメモリ２２ａからなり、ラインメモリ２２ａからの静止画データがＪＰＥＧエンコーダ２３ａに入力され、リアルタイムエンコードされる。パス２の方は、第２の入力画像選択部２７ｂ、副画像サイズ変換部２１ｂ、及びラインメモリ２２ｂからなる。
【００４８】
主画像サイズ変換部２１ａは、サイズ変換部２１１ａ、スケーラ用バッファ２１２ａを有し、副画像サイズ変換部２１ｂは、サイズ変換部２１１ｂ、スケーラ用バッファ２１２ｂを有する。スケーラ用バッファ２１２ａ、２１２ｂは、ラインメモリである。主画像サイズ変換部２１ａ、サイズ変換部２１ｂは、基本的にはカメラ信号処理部１３から入力される静止画データをそれぞれ主画像用、サムネイル用のサイズに変換する。この主画像サイズ変換部２１ａ、副画像サイズ変換部２１ｂについての詳細は後述する。
【００４９】
ラインメモリ２２ａは、メモリコントローラ２２１ａ、ＳＲＡＭ等からなるバッファ２２２ａを有し、ラインメモリ２２ｂは、メモリコントローラ２２１ｂ、バッファ２２２ｂを有する。バッファ２２２ａ、２２２ｂは、それぞれ３面及び２面のバッファである。また、ＪＰＥＧエンコーダ２３ａにも、例えば２面構成のバッファ２３１が接続されている。
【００５０】
バッファ２２２ａ、２２２ｂは、例えばＳＲＡＭからなり、その機能については後述する。メモリコントローラ２２１ａ、２２１ｂは、例えばＳＲＡＭをラインメモリとして機能させるために、バッファ２２２ａ、２２２ｂへのデータアクセスを制御する。また、主画像サイズ変換部２１ａ、２１ｂと、ＪＰＥＧコア２３ａとでクロック周波数が異なる場合は、当該クロック周波数を変換する処理等も行うことができる。
【００５１】
主画像サイズ変換部２１ａ、サイズ変換部２１ｂでは、カメラ信号処理部１３からの動画像データ又はＤＤＲメインメモリ１６からの動画像データから取得された静止画フレームがそれぞれ主画像用、サムネイル用のサイズに変換される。
【００５２】
水平方向、及び垂直方向のサイズ変換を施された静止画フレームは、メモリコントローラ２２１ａ、２２１ｂに制御されるそれぞれバッファ２２２ａ、２２２ｂに格納される。このラインメモリ２２ａ、２２ｂを構成するバッファ２２２ａ、２２２ｂは、８×８ＤＣＴに必要な画素を記憶するための８ライン分のバッファであり、
Ｙ８ライン×３面＋Ｃ８ライン×３面（フォーマット４：２：２の場合）
Ｙ１６ライン×３面＋Ｃ８ライン×３面（画像フォーマット４：２：０の場合）
の構成となっている。面数はシングルポート時とする。３面としたのは、後述するように、後段に控えるＪＰＥＧエンコード処理のリアルタイム処理で一時的に処理負担が増して処理レートが下がった場合の処理低下を吸収すると共に、その後段のＤＤＲメインメモリ１６ａへの書き込み処理が停滞した場合の遅延を吸収するためである。なお、システム構成によっては２面構成とすることも可能である。
【００５３】
ＪＰＥＧエンコーダ２３ａは、主画像データまたは副画像データをエンコードするとともに、エンコードにより生成したストリームをＤＤＲメインメモリ１６に転送する。ここでＪＰＥＧエンコーダ２３ａは、内部に主画像用の量子化テーブル及び副画像用の量子化テーブルを有し、ＪＰＥＧ圧縮方式に従い、当該量子化テーブルを参照してエンコード処理を行う。図６は、量子化テーブルの一例を示す概念図である。
【００５４】
量子化テーブルは、ＪＰＥＧにおける離散コサイン変換（ＤＣＴ：Discrete Cosine Transform）後の画像データの、比較的高い周波数成分を省略するために、その画像データを除算する係数をそれぞれ異ならせて配した表を言い、例えば、画像ブロックが８画素×８画素で表される場合、図６に示すような８×８の係数が配された表となる。圧縮効果を下げたい場合には、量子化テーブルの各係数を比較的小さい（除数が小さい）値にし、圧縮効果を上げたい場合には、量子化テーブルの各係数を比較的大きい（除数が大きい）値にする。詳細は後述するが、ＪＰＥＧエンコーダ２３ａは、主画像データの圧縮率に応じて副画像用の量子化テーブルの各係数の値を調整する。
【００５５】
ＪＰＥＧエンコーダ２３ａは、有効期間において主画像データの圧縮を行い、ブランキング期間において副画像データの圧縮を行う。詳細は、図８等を参照して説明する。
【００５６】
バッファ２３１は、ＳＲＡＭ２面構成等とすることができる。なお、容量はシステム構成により様々であり、ＤＤＲメインメモリ１６ａに転送データを書き込みするための書き込み処理が停滞した場合の遅延を吸収することができればよい。
【００５７】
第１の入力画像選択部２７ａ及び第２の入力画像選択部２７ｂは、複数ルートからの入力画像データを選択するセレクタ２７の機能を有する。
【００５８】
＜サイズ変換部の処理＞
次に、サイズ変換部２１について詳細に説明する。図７は、サイズ変換部２１の詳細を示すブロック図である。取得される静止画データに応じて、２チャンネル構成となっている。これにより、２ライン（プログレッシブならＯＤＤ（奇数番目）、ＥＶＥＮ（偶数番目））同時に入力された場合にもデータを処理することができる。２チャンネル同時とすることにより、カメラ処理の処理クロックレートを下げることができる。
【００５９】
入力画像は、水平フィルタ（ｃｈ１）４１、水平フィルタ（ｃｈ２）４２で、必要な周波数特性に制限される。例えば、サンプリング周波数をｆｓの水平１０２４画素×垂直７６８ラインを５１２画素×３８４ラインに間引くとした場合、フィルタのカットオフ周波数をｆｓ／４になるように設定してフィルタリングする。そして、水平間引き回路４３で５１２画素に間引きし、スケーラ用バッファ２１２ａに書き込みする。水平フィルタ回路４１、４２による周波数特性の制限を行わないで間引きを実行すると、いわゆるモワレ（折り返し歪）が発生する。
【００６０】
スケーラ処理ラインメモリコントローラ４４では、水平間引き回路４３により間引きした画像データのスケール調整をする。具体的には、間引き後のデータについて、サンプル点がサンプリング点の間にある場合フィルタリング処理された画像信号２サンプル分から補間後サンプルの距離に応じて演算して値を求めて、画素間の直線補間等を実施する。
【００６１】
水平補間後の静止画フレームは、垂直フィルタ回路４５、４６に出力される。水平方向と同様に折り返し歪の発生を抑制するため、垂直フィルタ回路４５、４６により、ラインメモリ（スケーラ用バッファ２１２ａ）から読み出された静止画データに対して垂直方向にフィルタリング処理する。フィルタリング後に、垂直間引き回路４７により垂直間引きを行い、必要な画像データのみ、その後段のメモリコントローラ２２１ａ、２２１ｂを介してラインメモリ２２２ａ、２２２ｂに書き込みする。
【００６２】
ここで、サイズ変換は、主画像とサムネイル画像とで、独立して並列処理することができる。また、スケーラ用バッファ２１２ａを共有してバッファサイズを削減することも可能である。例えば、主画像用静止画データを、水平フィルタ回路４１、４２における周波数特性削減処理でｆｓ／４にする場合について考える。その後段に直列で接続されたサムネイル用水平フィルタ回路４８、４９でのフィルタ処理では水平１６０画素×垂直１２０ラインとする。したがって、
サイズ変換部２１１ａのみ（それぞれ独立使用）：ｆｓ／１２．８処理必要
サイズ変換部２１１ａ＋２１１ｂ
スケーラ１＋スケーラ２（後段に直列で接続する）：ｆｓ／６．４処理（前段でｆｓ／２→ｆｓ／４のため）
で構成され、後段に直列で接続する方が、周波数特性の制限幅が少なくてすむ。制限幅が少ない場合、同じ次数ならば帯域の制限効率がよく画質メリットを生じる。一方、同程度の画質でよいのであれば、次数を減らすことが可能となる。その結果、スケーラ用バッファ２１２ｂの必要ラインメモリが少なくなり、余ったラインメモリを他のリソースに振り分けることができる。
【００６３】
サムネイル用のサイズ変換部は、垂直フィルタ回路４５、４６と垂直間引き回路４７との間の信号が使用される。すなわち、主画像用のサイズ変換部でサイズ変換された後の静止画データのサイズ変換を行う。サムネイル用のサイズ変換部も、水平フィルタ回路４８、４９、水平間引き回路、スケーラ処理ラインメモリコントローラ、垂直フィルタ回路、垂直間引き回路を同様に有し、同様の処理によりサイズ変換した静止画画像を出力する。
【００６４】
バッファ２２２ａ、２２２ｂに書き込みされた静止画データは、例えば８ラインデータとして書き込みされる毎にＤＤＲメインメモリ１６へ転送される。ＤＤＲメインメモリ１６側の処理は、システムに応じて様々であるが、静止画ルートや動画ルート、その他カメラ制御信号のための演算結果などをＤＤＲメインメモリ１６に書き込みするのが通常である。したがって、静止画フレームのリアルタイム記録処理のデータレート以上のレートを処理できる帯域を確保するよう構成されている。ただし、静止画フレームのリアルタイム記録処理以外のデータでバス１０のバス帯域を占有する瞬間も有り得る。よっって、撮像装置は、ＤＤＲメインメモリ１６の処理遅延を吸収するために、スケーラ用バッファ２１２ａ、２１２ｂ、バッファ２２２ａ、２２２ｂ、及びストリーム用バッファ２３１などを有している。
【００６５】
＜各期間（有効期間、ブランキング期間）における各処理部の動作＞
続いて各期間（有効期間、ブランキング期間）における動作詳細について説明する。図８は、各期間（有効期間、ブランキング期間）における各処理部の動作を示すタイミングチャートである。カメラ信号処理部１３内の同期信号発生部は、各処理部に対して垂直同期信号を供給する。撮像素子１２は、垂直同期信号が立ち下がるタイミング（ｔ１１）で静止画フレームの有効エリアの処理を開始する（Ｓ１）。
【００６６】
有効エリアの所定ライン（上述の例では８ライン）がラインメモリ２２に格納された後のタイミングであるｔ１１'からＪＰＥＧエンコーダ２３ａにより主画像サイズの静止画データのリアルタイムエンコード処理が実行される（Ｓ２）。エンコードはブロック単位で実行され、エンコードされた圧縮データは随時ＤＤＲメインメモリ１６に書き込まれる。ＪＰＥＧエンコーダ２３ａ等による処理は、ラインメモリ２２に最小処理単位ラインのデータが格納された後に行われるため、垂直同期信号の立下りや撮像素子出力開始タイミング（ｔ１１）と、各処理の開始タイミング（ｔ１１'）と、は図示するように若干のずれがある。タイミングｔ１２とｔ１２'のずれ、タイミングｔ１３とｔ１３'のずれについても同様の理由により生じる。なお、図８に示すように厳密なブランキング期間（ｔ１２〜ｔ１３）と、ＪＰＥＧエンコーダ２３ａやＣＰＵ１５が処理を行う期間（ｔ１２'〜ｔ１３'）にはずれがあるが、一般的な処理では無視できる程度の時間であるため、本明細書では、このずれも含む時間の概念として有効期間、ブランキング期間との文言を用いる。
【００６７】
またタイミングｔ１１'から副画像サイズ変換部２１ｂ、ラインメモリ２２ｂにより副画像サイズへの静止画データのサイズ変換が行われる（Ｓ３）。サイズ変換後の副画像サイズへの静止画データ（ＹＵＶ形式）は、ＤＤＲメインメモリ１６に格納される（Ｓ３）。
【００６８】
ＣＰＵ１５は、タイミングｔ１１'からＥＸＩＦの所定ヘッダの生成を開始する（Ｓ４）。さらにＣＰＵ１５は、ＪＰＥＧエンコーダ２３ａがエンコードした主画像ストリームをＤＤＲメインメモリ１６内のワークエリア（後述）に適宜書き込む（Ｓ４）。さらにＣＰＵ１５は、タイミングｔ１１'より前に生成したＥＸＩＦパッケージを任意の記憶メディア（例えば撮像装置１に着脱可能なＵＳＢメモリやＳＤカード１７）に転送しても良い（Ｓ５）。
【００６９】
ＪＰＥＧエンコーダ２３ａは、静止画データの有効エリアのエンコード処理が終了した場合（タイミングｔ１２'）に、主画像制御部２８ａ及び副画像制御部２８ｂ内のフラグを設定する。撮像素子１２は、タイミングｔ１２からブランキングエリアのデータを取り込んで出力する（Ｓ６）。副画像制御部２８ｂは、タイミングｔ１２'からサイズ変換済みの副画像サイズの静止画データをＤＤＲメインメモリ１６から読み出してＪＰＥＧエンコーダ２３ａに供給するようにセレクタ２７を制御する。セレクタ２７により取得された副画像サイズの静止画データは、ＪＰＥＧエンコーダ２３ａに供給される。ＪＰＥＧエンコーダ２３ａは、副画像サイズの静止画データをエンコードしてＤＤＲメインメモリ１６に書き込む（Ｓ７）。
【００７０】
ＣＰＵ１５は、ブランキング期間（タイミングｔ１２'〜）においてＥＸＩＦヘッダの書き込みや副画像ストリームの書き込みを行い、ＥＸＩＦパッケージを生成する（Ｓ８）。この処理の詳細は、図９及び図１０を参照して説明する。ブランキング期間の終了後（タイミングｔ１３'）に各処理部は、別の静止画データについて再びＳ１〜Ｓ５に記載の処理を行う。
【００７１】
＜ワークエリアの構成＞
ブランキング期間の処理（図８のタイミングｔ１２'〜ｔ１３'の処理）の説明に先立ち、ＣＰＵ１５がＥＸＩＦパッケージの作成に用いるワークエリアについて説明する。図９は、ワーキングエリアの概略構成を示す概念図である。ワークエリアは、ＤＤＲメインメモリ１６内の一領域である。
【００７２】
ワークエリアは、ヘッダ領域、サムネイル領域、及び主画像領域を有する。ヘッダ領域は規定のアドレス（以下の説明ではアドレスＡとする。）から固定長のサイズを持つ領域である。サムネイル領域は、ヘッダ領域の終端アドレス（以下の説明ではアドレスＢとする。）から固定長のサイズを持つ領域である。主画像領域は、サムネイル領域の終端アドレス（以下の説明ではアドレスＣとする。）を先頭アドレスとする可変長の領域である。ＣＰＵ１５は、当該ワークエリアに各データを書込み、全ての領域に書き込みが終了した後にパッケージ化を行うことによりＥＸＩＦパッケージを生成する。ＣＰＵ１５は、生成したＥＸＩＦパッケージをＤＤＲメインメモリ１６に格納する。
【００７３】
＜ブランキング期間の処理＞
続いて図１０を参照してブランキング期間におけるＪＰＥＧエンコーダ２３ａ及びＣＰＵ１５の処理について説明する。図１０は、ブランキング期間におけるＪＰＥＧエンコーダ２３ａ及びＣＰＵ１５の処理を示すタイミングチャートであり、図８のタイミングｔ１２'〜ｔ１３'の処理に対応する。
【００７４】
図１０Ａは、ブランキング期間の処理の第１の方式を示すタイミングチャートである。ブランキング期間の開始時（タイミングｔ１２'）にＪＰＥＧエンコーダ２３ａは、副画像サイズの静止画データのエンコードを開始する（Ｓ７）。ＣＰＵ１５は、有効期間中にワークエリアの主画像領域の先頭アドレス（アドレスＣ）からエンコード済みのストリームを随時書き込む。そしてＣＰＵ１５は、ブランキング期間の開始時（タイミングｔ１２）にヘッダ領域の先頭アドレス（アドレスＡ）からＥＸＩＦパッケージのヘッダを書き込む（Ｓ８１）。さらにＣＰＵ１５は、エンコードが終了しＤＤＲメインメモリ１６に格納された副画像データのストリームをワークエリアのアドレスＢから順次書き込んでいく（Ｓ８１）。
【００７５】
ＪＰＥＧエンコーダ２３ａは、タイミングｔ１２１において副画像サイズの静止画データのエンコードを終了する。エンコードの終了から若干遅れたタイミングｔ１２２においてＣＰＵ１５は、ヘッダ及び副画像データのストリームのワークエリアへの書き込みを終了する。これによりタイミングｔ１２２において、ワークエリア内の各領域にはデータが書き込まれた状態となる。ＣＰＵ１５は、タイミングｔ１２２からワークエリアのデータをパッケージ化してファイル化する処理を開始する（Ｓ８２）。ＣＰＵ１５は、生成したＥＸＩＦパッケージをＤＤＲメインメモリ１６に格納する。
【００７６】
図１０Ｂは、ブランキング期間の処理の第２の方式を示すタイミングチャートである。図１０Ｂに示す処理の方式について、図１０Ａに示す処理の方式との違いを説明する。図１０Ｂの処理方式の場合、ＣＰＵ１５はエンコードが終了するまで処理を行わない。そしてＣＰＵ１５は、エンコードが終了したタイミングｔ１２４からヘッダ及び副画像データのストリームのワークエリアへの書き込みを開始する（Ｓ８１）。ＣＰＵ１５は、ワークエリアへの書き込みが終了したタイミングｔ１２５からパッケージング処理（Ｓ８２）を開始する。
【００７７】
図１０Ａに示す処理の方式と図１０Ｂに示す処理の方式を比較する。図１０Ａに示す処理の方式では、エンコード処理とワークエリアへの書込み処理が並列して行われる。これにより、図１０Ｂに示す処理の方式と比べて、パッケージング処理の開始及び終了のタイミングを速くできる。これにより、ブランキング期間の終了までにより確実に処理を終了することができる。
【００７８】
＜ＪＰＥＧエンコーダ２３ａにおける量子化テーブルの調整＞
前述のように、ＪＰＥＧエンコーダ２３ａは、有効期間において主画像サイズの静止画データの圧縮を行い、ブランキング期間において副画像サイズの静止画データの圧縮を行う。すなわち、ＪＰＥＧエンコーダ２３ａは、ある静止画データにつついて主画像、副画像の順序で圧縮を行う。ここで副画像サイズの静止画データは、主画像サイズの静止画データのサイズのみが変更されたデータである。そのため両データには、相関関係がある。
【００７９】
ここで、ワークエリア内のサムネイル領域は、図９に示すように固定長である。仮に副画像サイズの静止画データのエンコード後の圧縮データがサムネイル領域のサイズを超えてしまう場合、再度のエンコード処理が必要となり、ブランキング期間内にパッケージング処理が終了しない可能性が生じる。そこでＪＰＥＧエンコーダ２３ａは、上述の相関関係に着目し、圧縮後のデータサイズがサムネイル領域を超えないように副画像サイズの静止画データの圧縮に用いる量子化テーブルを調整する。以下、図１１を参照して詳細を説明する。なお、以下の例では説明の便宜のため、主画像用の量子化テーブルと副画像用の量子化テーブルは同一とする。
【００８０】
図１１Ａは、有効期間において使用した量子化テーブルの一例である。前述のように画像ブロックのサイズに応じて各係数が設定されている。ＪＰＥＧエンコーダ２３ａは、主画像圧縮前のデータサイズと圧縮後のデータサイズから主画像の圧縮率を算出する。ＪＰＥＧエンコーダ２３ａは、圧縮前の副画像サイズの静止画データのデータサイズに上述の主画像圧縮率を乗算し、圧縮後のデータサイズを推定する。ＪＰＥＧエンコーダ２３ａは、この推定データサイズとサムネイル領域のサイズを比較する。推定データサイズがサムネイル領域のサイズよりも小さい場合、ＪＰＥＧエンコーダ２３ａは量子化テーブルの各係数を小さな値に変更する。推定データサイズがサムネイル領域のサイズよりも大きい場合、ＪＰＥＧエンコーダ２３ａは量子化テーブルの各係数を大きな値に変更する。
【００８１】
図１１Ｂは、圧縮効果を下げるために図１１Ａの量子化テーブルの各係数を１／２倍した量子化テーブルである。図１１Ｃは、圧縮効果を上げるために図１１Ａの量子化テーブルの各係数を２倍した量子化テーブルである。
【００８２】
なお、ＪＰＥＧエンコーダ２３ａは、量子化テーブルの調整の際に、副画像サイズの静止画データのエンコード後のデータサイズがサムネイル領域のサイズよりも若干小さくなるように調整を行ってもよい。これは、副画像サイズの静止画データのエンコード後のデータサイズがサムネイル領域のサイズよりも確実に小さくしてエンコードを１回で終了するためである。このように調整することによりブランキング期間内でのパッケージ処理をより確実に行うことができる。
【００８３】
なお、上述の説明では主画像用の量子化テーブルと副画像用の量子化テーブルが同一であるものとして説明した。しかし、両者が別テーブルである場合であっても、主画像サイズの静止画データの圧縮率、及び主画像用の量子化テーブルの各係数の大きさを基に、現在の副画像用の量子化テーブルを用いた場合の圧縮後のデータサイズを推定し、この推定サイズとサムネイル領域のサイズの比較に応じて副画像用の量子化テーブルを調整すればよい。
【００８４】
また、動画フレームのエンコード処理は、一般的にフレームをＤＤＲメインメモリ１６に蓄積し、その後エンコードを行う。そのため、動画フレームは、静止画フレームの処理よりも数フレームの時間だけ遅れて処理される。静止画フレームは、動画フレームから切り出されたフレームであるため両者には相関関係がある。そこで上述の動画コーデック２０は、上述の主画像用の量子化テーブルを用いた場合の圧縮率を参照するようにしてもよい。これにより、動画コーデック２０は、動画圧縮率を例えば２パスエンコード等において行う動画圧縮前の解析の参照データとして用いることができる。参照データとして用いることにより、通常の構成よりも少ない回路構成でより正確な符号量制御が可能となる。なお、２パスエンコードとは、動画データを圧縮する際にデータ解析と圧縮を別々に行う処理方式である。まず１回目の処理において動画解析を行って特徴等を算出し、その算出値に基づいて２回目の処理である圧縮を行う。２パスエンコードは、解析と圧縮を１回の処理で行う１パスエンコードに比べて倍近い時間がかかるが、高い画質や圧縮率を得ることができる点が特徴である。
【００８５】
さらに動画コーデック２０は、主画像用の量子化テーブルとそのテーブルを用いた際の圧縮率を参照して動画圧縮に用いる量子化テーブルを調整してもよい。ここで量子化テーブルの調整とは、前述のように圧縮率を変化させるためにテーブル内の各係数の値を変更することを意味する。これにより、動画圧縮後のデータサイズを所望のサイズにすることができる。
【００８６】
なお、圧縮率の調整は、量子化テーブルの調整に加えて上述の水平フィルタ回路４１のカットオフ周波数を調整することよっても実現することができる。そのため、水平フィルタ４１は、ＪＰＥＧエンコーダ２３ａが算出した上述の圧縮率とサムネイル領域の関係からカットオフ周波数を調整してもよい。しかしながら、この方式ではカットオフ周波数の調整が反映されるタイミングが次のフレームの処理タイミングとなる。そのため、シーンチェンジが比較的少ない動画等を処理対象としている場合には有効であるが、シーンチェンジが比較的多い動画等を処理対象としている場合には上述の量子化テーブルの調整を行ったほうがよい。また、水平フィルタ回路４１でのカットオフ周波数の調整と、量子化テーブルの調整の双方を行うことも可能である。
【００８７】
＜各フレームにおける生成パッケージ＞
続いて、ＣＰＵ１５によるパッケージ処理の具体例について説明する。図１２は、パッケージ処理を開始する直前のワークエリアの状態を示す概念図である。図１２Ａ〜１２Ｃは、それぞれ異なるフレームのパッケージ前のＤＤＲメインメモリ１６内のワークエリアの状態を示す。
【００８８】
図１２Ａでは、サムネイル領域に若干の空き領域が生じた例を示している。ＣＰＵ１５は、空き領域に無視できるデータ（以降の説明では無効データと呼称する。）である"ＦＦ"を書き込む。ＣＰＵ１５は、前述のように量子化テーブルを調整することにより副画像サイズの静止画データのエンコード後のサイズをサムネイル領域に合わせている。しかしながらこのように空き領域が生じた場合、ＣＰＵ１５は、再度のエンコードを行うことなく無効データを書き込む。これにより、エンコード回数が１回に限定され、素早くパッケージ処理の開始を行うことができる。さらに無効データを書き込むことにより、ＥＸＩＦパッケージ処理後の画像の画質に影響を与えることが無い。
【００８９】
図１２Ｂは、サムネイル領域に空きが生じなかった場合の例を示している。この場合、ＣＰＵ１５は無効データを書き込むことなく、パッケージ処理を実行する。図１２Ｃは、サムネイル領域に多めの空き領域が生じた例を示している。この場合にはＣＰＵ１５は、図示するように空き領域全てに無効データを書き込み、再度のエンコードを行うことなくパッケージ処理を行う。
【００９０】
最後に上記の撮像装置の効果について改めて説明する。上述のように、ＪＰＥＧエンコーダ２３ａは、有効期間に主画像サイズの静止画データを圧縮し、ブランキング期間に副画像サイズの静止画データを圧縮する。すなわち、ＪＰＥＧエンコーダ２３ａは、主画像用の処理と副画像用の処理において共用される。また、ＣＰＵ１５は、ブランキング期間に副画像サイズのエンコード処理とパッケージ処理を行うため、ＥＸＩＦパッケージ（画像圧縮パッケージ）をリアルタイムに生成することができる。すなわち単一のＪＰＥＧエンコーダ２３ａ構成でリアルタイムにＥＸＩＦパッケージ（画像圧縮パッケージ）を生成することができる。
【００９１】
また、撮像装置１内のＣＰＵ１５は、ブランキング期間において副画像サイズの静止画データのエンコードとワークエリアへの書き込みを並列して実行することができる（図１０Ａ）。これによりパッケージ処理を終了するタイミングを早めることができ、ひいてはブランキング期間内に確実にパッケージ処理を終了することができる。
【００９２】
さらに撮像装置１内のＪＰＥＧエンコーダ２３ａは、主画像の圧縮率を基に副画像用の量子化テーブルを調整している。これによりサムネイル領域（ワークエリアの固定領域）に合致した圧縮率を実現することができる。
【００９３】
さらにＣＰＵ１５は、サムネイル領域よりも副画像サイズの静止画データの圧縮後のデータサイズが小さい場合には無効値を空き領域に書き込む。１回のエンコード処理のみを行い、空き領域には画質に影響のない無効値を書き込んでいるため、素早く高品質な画像圧縮パッケージを生成することができる。
【００９４】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は既に述べた実施の形態に限定されるものではなく、その要旨を逸脱しない範囲において種々の変更が可能であることはいうまでもない。
【符号の説明】
【００９５】
１  撮像装置
１１  レンズ
１２  撮像素子
１３  カメラ信号処理部
１４  ズーム・フォーカス制御部
１５  ＣＰＵ
１６  ＤＤＲメインメモリ
１７  ＳＤカード
１８  ＵＳＢ
１９  サイズ変換部
２０  動画コーデック
２０ａ  動画エンコーダ
２０ｂ  動画デコーダ
２１  サイズ変換部
２１ａ  主画像サイズ変換部
２１ｂ  副画像サイズ変換部
２２  ラインメモリ
２２ａ  ラインメモリ
２２ｂ  ラインメモリ
２３  ＪＰＥＧコーデック
２３ａ  ＪＰＥＧエンコーダ
２４  ビデオ信号処理部
２５  ＨＤＭＩ
２６  ＬＣＤ
２７  セレクタ
２７ａ  第１の入力画像選択部
２７ｂ  第２の入力画像選択部
２８ａ  主画像制御部
２８ｂ  副画像制御部
４１  水平フィルタ回路
４２  水平フィルタ回路
４３  水平間引き回路
４４  スケーラ処理ラインメモリコントローラ
４５  垂直フィルタ回路
４６  垂直フィルタ回路
４７  垂直間引き回路
４８  水平フィルタ回路
４９  水平フィルタ回路
【図１】
2014033333.tif 000003
【図２】
2014033333.tif 000004
【図３】
2014033333.tif 000005
【図４】
2014033333.tif 000006
【図５】
2014033333.tif 000007
【図６】
2014033333.tif 000008
【図７】
2014033333.tif 000009
【図８】
2014033333.tif 000010
【図９】
2014033333.tif 000011
【図１０Ａ】
2014033333.tif 000012
【図１０Ｂ】
2014033333.tif 000013
【図１１Ａ】
2014033333.tif 000014
【図１１Ｂ】
2014033333.tif 000015
【図１１Ｃ】
2014033333.tif 000016
【図１２Ａ】
2014033333.tif 000017
【図１２Ｂ】
2014033333.tif 000018
【図１２Ｃ】
2014033333.tif 000019