(57)【要約】【課題】回路規模の増大を招くことなく、動画記録中に静止画の同時記録を可能とする。【解決手段】符号化装置は、フレーム期間毎に入力される動画フレームに対して、所定数のフレーム期間内で所定数の動画フレームの圧縮符号化を実行する第１の符号化処理を実行するとともに、複数の前記フレーム期間にわたって１つの静止画フレームの圧縮符号化を実行する第２の符号化処理を実行する符号化手段と、所定数のフレーム期間内において、第１の符号化処理が完了した後に第２の符号化処理の一部を実行させるスケジューリング手段とを備える。【選択図】図２
2019004439.tif 000002
【特許請求の範囲】
【請求項１】
フレーム期間毎に入力される動画フレームに対して、所定数の前記フレーム期間内で前記所定数の前記動画フレームの圧縮符号化を実行する第１の符号化処理を実行するとともに、複数の前記フレーム期間にわたって１つの静止画フレームの圧縮符号化を実行する第２の符号化処理を実行する符号化手段と、
前記所定数のフレーム期間内において、前記第１の符号化処理が完了した後に前記第２の符号化処理の一部を実行させるスケジューリング手段とを備えることを特徴とする符号化装置。
【請求項２】
前記静止画フレームを複数の部分領域に分割する分割手段を備え、
前記符号化手段は、前記所定数のフレーム期間内において、前記部分領域に対する前記第２の符号化処理を実行することを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記分割手段は、前記第２の符号化処理の最小単位となるマクロブロックに基づき、１または複数のマクロブロックごとに前記静止画フレームを分割することを特徴とする請求項２に記載の符号化装置。
【請求項４】
前記部分領域は、ＨＥＶＣ（High Efficiency Video Coding）規格のタイルであることを特徴とする請求項２または３に記載の符号化装置。
【請求項５】
前記部分領域は、Ｈ．２６４規格のスライスであることを特徴とする請求項２または３に記載の符号化装置。
【請求項６】
前記分割手段は、前記動画フレームの画素数と前記静止画フレームの画素数に基づいて、前記部分領域のサイズを決定することを特徴とする請求項２乃至５のいずれか１項に記載の符号化装置。
【請求項７】
前記分割手段は、前記第１の符号化処理にかかる処理時間を算出し、前記所定数のフレーム期間の長さと前記処理時間との差に基づいて、前記部分領域のサイズを決定することを特徴とする請求項６に記載の符号化装置。
【請求項８】
前記スケジューリング手段は、前記第１の符号化処理の実行中におけるユーザ指示をトリガとして、前記第２の符号化処理を開始させることを特徴とする請求項１乃至７のいずれか１項に記載の符号化装置。
【請求項９】
前記静止画フレームの画素数は、前記動画フレームの画素数よりも大きいことを特徴とする請求項１乃至８のいずれか１項に記載の符号化装置。
【請求項１０】
前記所定数は１であることを特徴とする請求項１乃至９のいずれか１項に記載の符号化装置。
【請求項１１】
前記所定数は、ＧＯＰ（Group Of Pictures）構造における前記動画フレームの並び替え単位に基づくことを特徴とする請求項１乃至９のいずれか１項に記載の符号化装置。
【請求項１２】
前記フレーム期間は、前記第１の符号化処理の期間とマージン時間を含むことを特徴とする請求項１乃至１１のいずれか１項に記載の符号化装置。
【請求項１３】
請求項１乃至１２のいずれか１項に記載の符号化装置と、
前記動画フレームおよび前記静止画フレームを生成する撮像手段と、
前記第１の符号化処理により圧縮符号化された前記動画フレーム、および前記第２の符号化処理により圧縮符号化された前記静止画フレームを記録する記録手段とを備えることを特徴とする撮像装置。
【請求項１４】
フレーム期間毎に入力される動画フレームに対して、所定数の前記フレーム期間内で前記所定数の前記動画フレームの圧縮符号化を実行する第１の符号化処理を実行するステップと、
複数の前記フレーム期間にわたって１つの静止画フレームの圧縮符号化を実行する第２の符号化処理を実行するステップと、
前記所定数のフレーム期間内において、前記第１の符号化処理が完了した後に前記第２の符号化処理の一部を実行させるステップとを備えることを特徴とする符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は符号化装置、撮像装置および符号化方法に関し、特に動画と静止画の符号化を同時に行う符号化技術に関する。
【背景技術】
【０００２】
従来、デジタルカメラ、ビデオカメラなどの撮像装置において、動画の撮影記録中にレリーズボタンの押下、タッチパネル操作などをユーザが行うことで、静止画を同時記録する機能を備えたものが開発されている。
また近年では、さらなる高画質化のために、１画素あたり８ビットを超える情報量を持つ高ダイナミックレンジな画像フォーマットへの要求が高まっている。このため、従来のＪＰＥＧ（Joint Photographic Experts Group）方式に変わる新しい静止画符号化方式について様々な方式が検討されている。
動画記録中の静止画同時記録に関して、特許文献１には、動画撮影時には動画データをテープに記録し、ユーザによるレリーズ操作の検出時に静止画データをメモリに記録する構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平１１−１８７３５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の構成では、動画と静止画用に２つのコーデックを備える必要があり、回路規模の増大を招くといった問題がある。特許文献１において、動画静止画両対応のコーデック構成にした場合、動画記録中に静止画の同時記録を行うことが困難となる。
【０００５】
本発明は、上述の問題点に鑑みてなされたものであって、回路規模の増大を招くことなく、動画記録中に静止画の同時記録を可能とする符号化装置、撮像装置および符号化方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一実施形態に係る符号化装置は、フレーム期間毎に入力される動画フレームに対して、所定数の前記フレーム期間内で前記所定数の前記動画フレームの圧縮符号化を実行する第１の符号化処理を実行するとともに、複数の前記フレーム期間にわたって１つの静止画フレームの圧縮符号化を実行する第２の符号化処理を実行する符号化手段と、前記所定数のフレーム期間内において、前記第１の符号化処理が完了した後に前記第２の符号化処理の一部を実行させるスケジューリング手段とを備えることを特徴とする。
【０００７】
本発明の一実施形態に係る符号化方法は、フレーム期間毎に入力される動画フレームに対して、所定数の前記フレーム期間内で前記所定数の前記動画フレームの圧縮符号化を実行する第１の符号化処理を実行するステップと、複数の前記フレーム期間にわたって１つの静止画フレームの圧縮符号化を実行する第２の符号化処理を実行するステップと、前記所定数のフレーム期間内において、前記第１の符号化処理が完了した後に前記第２の符号化処理の一部を実行させるステップとを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、回路規模の増大を招くことなく、動画記録中に静止画の同時記録を可能とする符号化装置、撮像装置および符号化方法が提供される。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１実施形態に係る符号化装置のブロック図である。
【図２】本発明の第１実施形態に係る画像符号化部のブロック図である。
【図３】本発明の第１実施形態に係る画像符号化部の動作を示すフローチャートである。
【図４】本発明の第１実施形態に係るタイル設定処理の詳細なフローチャートである。
【図５Ａ】本発明の第１実施形態に係るフレーム分割を説明するための図である。
【図５Ｂ】本発明の第１実施形態に係るフレーム分割を説明するための図である。
【図６】本発明の第１実施形態に係る符号化処理を示すタイミングチャートである。
【図７】本発明の第２実施形態に係る画像符号化部の動作を示すフローチャートである。
【図８】本発明の第２実施形態に係るタイル設定処理の詳細なフローチャートである。
【図９】本発明の第２実施形態に係る符号化処理を示すタイミングチャートである。
【発明を実施するための形態】
【００１０】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明するが、本発明は、以下の実施形態に限定されるものではない。
【００１１】
［第１実施形態］
＜システム構成＞
図１は、本実施形態に係る符号化装置１０のブロック図である。符号化装置１０は、例えばデジタルカメラ、ビデオカメラなどの撮像装置であり得る。符号化装置１０は、撮像部１００、画像処理部１０１、画像符号化部１０２、記録部１０３、メモリバス１０４、フレームメモリ１０５、ＣＰＵ（Central Processing Unit）１０６、フラッシュメモリ１０７、ＣＰＵバス１０８を備えている。
【００１２】
撮像部１００は、ズームレンズ、フォーカスレンズ、絞りを含む光学系、ＣＣＤ（Charge Coupled Device）、ＣＭＯＳ（Complementary Metal Oxide Semiconductor）などのイメージセンサ、Ａ／Ｄ（Analog/Digital）変換器などから構成される。イメージセンサは、ベイヤー配列された複数の画素を有し、光学系から取り込んだ光信号を電気信号へ変換する。Ａ／Ｄ変換器は、アナログの電気信号をデジタルの画像データに変換する。撮像部１００は、ベイヤー形式の画像データ（ＲＡＷ画像）を、メモリバス１０４を介してフレームメモリ１０５に格納する。撮像部１００は撮像手段として機能する。
【００１３】
画像処理部１０１は、フレームメモリ１０５から読み出したＲＡＷ画像に対して所謂現像処理を行う。画像処理部１０１は、ＲＡＷ画像に対してデベイヤー処理（デモザイク処理）を施し、輝度と色差からなる画像データに変換する。さらに、画像処理部１０１は、画像データに対してノイズ除去、光学的な歪の補正、画像の適正化などの処理を行う。画像処理部１０１は、現像処理後の画像データを画像圧縮符号化するため、再度フレームメモリ１０５に格納する。
【００１４】
画像符号化部１０２は、フレームメモリ１０５から読み出した画像データに対して、フレーム間予測とエントロピー符号化による画像データの冗長性を利用した画像圧縮符号化を行い、符号化ビットストリームを出力する。画像符号化部１０２は、画像圧縮方式として例えばＨＥＶＣ（High Efficiency Video Codec）方式を採用する。ＨＥＶＣ方式では、動画だけでなく静止画を符号化するための規定も標準化しているため、画像符号化部１０２は、動画記録と静止画記録の両方を実現することができる。
【００１５】
記録部１０３は、画像符号化部１０２からの符号化ビットストリームを、各種アプリケーションで再生および編集互換性が保たれている所定のコンテナ形式（ＭＰ４、ＭＯＶ形式など）に変換する。記録部１０３は、所定のコンテナ形式に変換した符号化ビットストリームを、ＵＳＢ（Universal Serial Bus）メモリ、ＳＤ（登録商標）カード、ハードディスクなどの不揮発メモリ媒体（不図示）に記録する。記録部１０３は記録手段として機能する。
【００１６】
メモリバス１０４は、撮像部１００、画像処理部１０１、画像符号化部１０２、記録部１０３と、フレームメモリ１０５との間を接続し、画像データ、符号化データ、各種パラメータデータを高速転送するためのデータバスである。バス転送方式は特に限定されず、ＩＳＡ（Industry Standard Architecture）、ＰＣＩ（Peripheral Component Interconnect）−Ｅｘｐｒｅｓｓ、ＡＸＩ（Advanced eXtensible Interface）などの標準的なバス規格、または独自のバス方式を採用してよい。
【００１７】
フレームメモリ１０５は、画像処理部１０１と画像符号化部１０２で使用される画像データ、フレーム間予測のための参照画像データ、符号化ビットストリームなどを格納する。フレームメモリ１０５には、大容量のＤＲＡＭ（Dynamic Random Access Memory）などが用いられる。
【００１８】
ＣＰＵ１０６は、符号化装置１０を構成する撮像部１００、画像処理部１０１、画像符号化部１０２、記録部１０３の起動、停止、割り込み通知などのハードウェア制御を、ＣＰＵバス１０８を介して行うコントローラである。
【００１９】
フラッシュメモリ１０７は、符号化装置１０の各処理ブロックの動作を制御するためのプログラム、各種パラメタなどを格納した不揮発性メモリである。ＣＰＵ１０６は、フェッチ動作でフラッシュメモリ１０７へアクセスする。
【００２０】
ＣＰＵバス１０８は、撮像部１００、画像処理部１０１、画像符号化部１０２、記録部１０３などの各ペリフェラルとＣＰＵ１０６とを接続する制御用のバスである。バス転送方式は特に限定されず、メモリバス１０４と同様の標準化バス規格方式でもよく、十分な処理余裕があれば低速なＩ２Ｃ（I-squared-C）などのシリアル方式でもよい。
【００２１】
＜画像符号化部＞
図２は、本実施形態に係る画像符号化部１０２のブロック図である。画像符号化部１０２は、イントラ予測部２００、インター予測部２０１、イントラ・インター判定部２０２、予測画像生成部２０３、整数変換部２０４、量子化部２０５、エントロピー符号化部２０６、符号量制御部２０７を備えている。画像符号化部１０２は、さらにビットストリーム生成部２０８、逆量子化部２０９、逆整数変換部２１０、ループフィルタ２１１、モード制御部２１２、フレーム分割制御部２１３を備えている。画像符号化部１０２は、１フレーム単位の動画の符号化処理をフレーム期間に同期して実行する。すなわち、１フレーム期間内に１フレームの動画の符号化処理を完了させるリアルタイムの符号化処理を行う。
【００２２】
イントラ予測部２００は、フレームメモリ１０５から符号化対象ブロックを含む画像データを読み出し、符号化対象ブロック周辺の参照画素データから生成される複数のイントラ予測画像との相関を計算する。イントラ予測部２００は、最も相関の高いイントラ予測モードを選択してイントラ・インター判定部２０２へ通知する。
【００２３】
インター予測部２０１は、符号化対象画像となる画像データと、参照画像となる符号化済みの画像データとをフレームメモリ１０５から読み出す。インター予測部２０１は、ブロック単位で画素データ同士のパターンマッチングを行って動きベクトルを算出し、動きベクトルをイントラ・インター判定部２０２に出力する。
【００２４】
イントラ・インター判定部２０２は、イントラ予測部２００と、インター予測部２０１の処理結果に基づいて、符号化する予測モードを選択する。具体的な選択方法としては、イントラ予測部２００で生成された予測画像と、インター予測部２０１で算出された動きベクトルを用いて参照画像から生成したインター予測画像について、符号化対象画像との予測誤差をそれぞれ比較する。または、イントラ予測部２００とインター予測部２０１がそれぞれ予測誤差を算出し、イントラ・インター判定部２０２が予測誤差を評価値として取得後、比較する方法でもよい。イントラ・インター判定部２０２は、予測誤差の比較の結果、差分値が小さい方の予測モードを判定して予測画像生成部２０３に出力する。
【００２５】
予測画像生成部２０３は、イントラ・インター判定部２０２で選択された予測モードに応じて予測画像を生成する。生成した予測画像は、整数変換部２０４の前段に設けられた減算器に入力され、符号化対象画像との差分画像が生成される。差分画像は、減算器から整数変換部２０４に出力される。また、予測画像は、ローカルデコード画像生成のために逆整数変換部２１０の後段に設けられた加算器に出力される。
【００２６】
整数変換部２０４は、ブロック単位で画像データの空間画素数変換を行って空間周波数領域の係数データに変換する。量子化部２０５は、符号量制御部２０７からの目標符号量に基づいて量子化係数を算出し、整数変換部２０４で生成された係数データに対して量子化処理を行う。量子化された係数データは、エントロピー符号化を行うためにエントロピー符号化部２０６に出力されるとともに、参照画像と予測画像を生成するために逆量子化部２０９に出力される。
【００２７】
エントロピー符号化部２０６は、量子化部２０５にて量子化された係数データの他、インター予測の場合には動き予測で用いた動きベクトルに対して、ビットデータの出現確率の偏りを利用したエントロピー符号化による情報圧縮を行う。エントロピー符号化としては、例えばＣＡＢＡＣ（Context based Adaptive Binary Arithmetic Coding：コンテキスト適応算術符号化）方式が挙げられる。
【００２８】
符号量制御部２０７は、エントロピー符号化部２０６が生成する符号化データの符号量に対してフィードバック制御を行う。符号量制御部２０７は、エントロピー符号化部２０６から符号化データの符号量を取得し、ビットレート、バッファモデルなどに基づいて１フレーム当たりの目標符号量を算出した後、量子化部２０５に出力する。
【００２９】
ビットストリーム生成部２０８は、エントロピー符号化部２０６からの１フレームの符号化データに相当するピクチャデータに、復号処理のために必要なパラメタを付加し、所定のデータフォーマットに整形して出力する。パラメタには、ＳＰＳ（Sequence Parameter Set）、ＰＰＳ（Picture Parameter Set）などのヘッダ情報が含まれ得る。ビットストリーム生成部２０８から出力されたデータはフレームメモリ１０５に格納され、さらに記録部１０３によって画像ファイルとして記録媒体に保存される。
【００３０】
逆量子化部２０９は、量子化部２０５によって量子化された係数データに量子化係数を乗じることで、逆量子化された係数データを計算する。逆整数変換部２１０は、逆量子化部２０９から出力された係数データを画像データに逆整数変換する。
【００３１】
ループフィルタ２１１は、逆整数変換部２１０からの画像データと予測画像生成部２０３からの予測画像とが加算された画像データに対して、ブロック境界で発生する符号化歪みを軽減するフィルタ処理を行う。フィルタ処理後の画像データは、ローカルデコード画像としてフレームメモリ１０５へ出力される。
【００３２】
エントロピー符号化部２０６、ビットストリーム生成部２０８、符号量制御部２０７は、画像フレーム単位で処理を行い、画像符号化部１０２の他の処理ブロックは、所定の矩形画素ブロック（マクロブロック）単位で処理を行うものとする。特に、ＨＥＶＣ方式においては、マクロブロックはＣＴＵ（Coding Tree Unit）に相当し、量子化処理をＣＵ（Coding Unit）単位、動きベクトル探索をＰＵ（Prediction Unit）単位、整数変換処理をＴＵ（Transform Unit）単位で行うものとする。
【００３３】
以上の画像符号化部１０２の各処理ブロックは、符号化手段として機能する。すなわち、符号化手段は、イントラ予測部２００、インター予測部２０１、イントラ・インター判定部２０２、予測画像生成部２０３、整数変換部２０４、量子化部２０５、エントロピー符号化部２０６を含み得る。符号化手段は、さらに符号量制御部２０７、ビットストリーム生成部２０８、逆量子化部２０９、逆整数変換部２１０、ループフィルタ２１１を含み得る。
【００３４】
モード制御部２１２は、ＣＰＵ１０６からのレジスタ設定などのパラメタ指示に基づいて、画像符号化部１０２の動作モードの切り替えと、符号化処理のスケジュール管理を行う。動作モードには、動画記録のみが可能な動画モード、動画記録と同時に静止画記録を行うことが可能な静止画同時記録モード、静止画記録のみを行う静止画モードが含まれる。モード制御部２１２は、スケジューリング手段として機能する。
【００３５】
フレーム分割制御部２１３は、モード制御部２１２により静止画同時記録モードが指定されたときに、画像符号化部１０２による静止画の符号化処理の処理単位を、画像フレーム単位から、画像フレームを分割した部分領域単位に切り替える。ここで、部分領域は、ＨＥＶＣ規格のタイル、Ｈ．２６４規格のスライスであり得る。フレーム分割制御部２１３は、静止画フレームを複数の部分領域に分割する分割手段として機能する。
【００３６】
＜画像符号化部の動作＞
図３は、本実施形態に係る画像符号化部１０２の動作を示すフローチャートである。図３のフローチャートの処理は、符号化装置１０において、タッチパネル、ボタンなどの図示しないインタフェースからのユーザ指示をトリガとして動画記録が開始されると、フレーム期間毎に繰り返し実行される。
【００３７】
まず、モード制御部２１２は、符号化装置１０が動画記録中であるか否かを判断する（ステップＳ３０１）。動画記録中でない場合（ステップＳ３０１でＮＯ）、モード制御部２１２は、ユーザ操作により動画記録の停止指示がなされたものと判断し、フローチャートの処理を終了する。動画記録中である場合（ステップＳ３０１でＹＥＳ）、モード制御部２１２は、動画フレームの符号化処理を開始させる（ステップＳ３０２）。すなわち、１つの動画フレームがフレームメモリ１０５から読み出され、イントラ予測部２００とインター予測部２０１に入力される。
【００３８】
続いて、モード制御部２１２は、動画フレームの符号化処理が完了したか否かを判断する（ステップＳ３０３）。すなわち、モード制御部２１２は、画像符号化部１０２の各処理ブロックによって１つの動画フレームが圧縮符号化され、ビットストリーム生成部２０８からフレームメモリ１０５へのデータの出力が完了したか否かを判断する。
【００３９】
動画フレームの符号化処理が完了していない場合（ステップＳ３０３でＮＯ）、モード制御部２１２は、符号化処理が完了するまで待機する。本実施形態において、モード制御部２１２は、繰り返し問い合わせを行うポーリング方式で符号化処理の完了を判断するが、判断方法は特に限定されない。モード制御部２１２は、ＣＰＵ１０６からの割り込み通知によって、符号化処理の完了を判断してもよい。
【００４０】
動画フレームの符号化処理が完了すると（ステップＳ３０３でＹＥＳ）、モード制御部２１２は、ＣＰＵ１０６からの指示に基づき動作モードを取得する（ステップＳ３０４）。そして、モード制御部２１２は、現フレーム期間内に、ユーザがレリーズボタン操作などによる静止画の同時記録指示を行ったか否か、すなわち動作モードが静止画同時記録モードに設定された否かを判断する（ステップＳ３０５）。
【００４１】
動作モードが静止画同時記録モードでない場合（ステップＳ３０５でＮＯ）、モード制御部２１２は、ステップＳ３０１に戻り、次フレームの動画に対する処理を行う。一方、動作モードが静止画同時記録モードである場合（ステップＳ３０５でＹＥＳ）、静止画フレームの符号化処理を開始する。すなわち、動画フレームの符号化処理の実行中におけるユーザ指示をトリガとして、静止画フレームの符号化処理が開始される。静止画フレームの符号化処理が既に開始されているときには、モード制御部２１２は、記録指示された静止画フレームの符号化処理が完了したか否かを判断する（ステップＳ３０６）。
【００４２】
静止画フレームの符号化処理が完了した場合（ステップＳ３０６でＹＥＳ）、モード制御部２１２は、動作モードを動画記録モードに切り替え、ステップＳ３０１に戻り、次フレームの動画に対する処理を行う。静止画フレームの符号化処理が完了していない場合（ステップＳ３０６でＮＯ）、モード制御部２１２は、タイル設定処理を行い、静止画フレームを複数のタイルに分割する（ステップＳ３０７）。なお、当該静止画に対して、過去のフレーム期間においてタイル設定処理が既に実行されている場合、再度のタイル設定処理を省略してよい。
【００４３】
モード制御部２１２は、タイル設定処理の結果に従い、１タイルの静止画（静止画タイル）の符号化処理を開始する（ステップＳ３０８）。画像符号化部１０２において、静止画タイルの符号化処理を行う際のデータパスおよび制御パスは、イントラ予測部２００による予測画像を用いた動画フレームの符号化処理を行う際のデータパスおよび制御パスと同様である。
【００４４】
続いて、モード制御部２１２は、動画フレームの符号化処理と同様に、静止画タイルの符号化処理が完了したかどうかを判断する（ステップＳ３０９）。静止画タイルの符号化処理が完了していない場合（ステップＳ３０９でＮＯ）、モード制御部２１２は、符号化処理が完了するまで待機する。
【００４５】
静止画タイルの符号化処理が完了すると（ステップＳ３０９でＹＥＳ）、モード制御部２１２は、ステップＳ３０１に戻り、次の動画フレームに対する処理および次の静止画タイルに対する処理を行う。
【００４６】
続いて、上述のタイル設定処理（ステップＳ３０７）について詳述する。本実施形態では、ハードウェア機能として画像符号化部１０２を実現しているため、符号化処理のスピードはクロック周波数に依存する。
例えば、画像符号化部１０２の動作クロック周波数を３３３ＭＨｚとし、１６×１６画素からなる１マクロブロック（ＭＢ）の処理に３００クロック要する構成を仮定すると、１マクロブロックあたり、約０．９マイクロ秒の処理時間を要することになる。マクロブロックは符号化処理の最小単位である。
【００４７】
１フレームの画素数が４Ｋサイズ（水平３８４０画素、垂直２１６０画素）の動画（以下、４Ｋ動画）に対して符号化処理を行う場合、１フレームに含まれるＭＢ数は３２,４００個であるため、符号化処理が完了するまでに約２９ミリ秒かかることになる。結果、４Ｋ動画の１秒あたりのフレーム更新周期（フレームレート）について、画像符号化部１０２のハードウェア性能に応じた上限を約３０フレーム毎秒と見積もることができる。
【００４８】
また、１フレームの画素数が２Ｋサイズ（水平１９２０画素、垂直１０８８画素）の動画（以下、２Ｋ動画）については、上述と同様の計算から、符号化処理が完了するまでに約７.２９０ミリ秒かかることになる。すなわち２Ｋ動画について、３０ｐ（３０フレーム毎秒、プログレッシブ走査）での記録を行う場合、１フレーム期間（約３３．３ミリ秒）内で約２６ミリ秒のマージン時間があると判断できる。さらに、フレームレートが１２０フレーム毎秒（１フレーム期間が約８．３ミリ秒）までの動画記録が可能であると判断できる。
【００４９】
上述の考えにしたがって、本実施形態に係るフレーム分割制御部２１３は、静止画同時記録モードでの動作時に、リアルタイム処理が要求される動画の符号化処理におけるマージン時間を算出する。すなわち、フレーム分割制御部２１３は、１フレーム期間の長さから１フレームの動画の符号化処理にかかる時間を差し引いた時間をマージン時間とする。フレーム分割制御部２１３は、マージン時間に基づいてタイル設定処理を行う。
【００５０】
図４は、本実施形態に係るタイル設定処理の詳細なフローチャートである。フレーム分割制御部２１３は、マクロブロックあたりの符号化処理にかかる時間（以下、マクロブロック処理時間）を取得する（ステップＳ４０１）。マクロブロック処理時間は、画像符号化部１０２のハードウェア性能から導き出される固定値であるため、読み出し専用メモリに保持されていてもよい。また、フレーム分割制御部２１３は、マクロブロック処理時間を、符号化装置１０の起動初期化時に１回だけ取得するように構成されてもよい。
【００５１】
フレーム分割制御部２１３は、現在記録中の動画の画素数を取得する（ステップＳ４０２）。フレーム分割制御部２１３は、画素数をマクロブロック数に換算し、マクロブロック数にマクロブロック処理時間を乗じて、１つの動画フレームの符号化処理にかかる時間（以下、動画フレーム処理時間）を計算する（ステップＳ４０３）。
【００５２】
フレーム分割制御部２１３は、現在記録中の動画のフレームレートを取得する（ステップＳ４０４）。フレーム分割制御部２１３は、フレームレートから換算した１フレーム期間の長さから、動画フレーム処理時間を減じ、マージン時間を計算する（ステップＳ４０５）。
【００５３】
フレーム分割制御部２１３は、同時記録を指示された静止画の画素数を取得する（ステップＳ４０６）。フレーム分割制御部２１３は、ステップＳ４０３と同様に、画素数から換算されたマクロブロック数にマクロブロック処理時間を乗じて、１つの静止画フレームの符号化処理にかかる時間（以下、静止画フレーム処理時間）を計算する（ステップＳ４０７）。
【００５４】
フレーム分割制御部２１３は、静止画フレーム処理時間とマージン時間から、静止画フレームの分割数を決定する（ステップＳ４０８）。静止画フレーム処理時間をマージン時間で除し、これにより得られた値の小数点以下を切り上げた値が、静止画フレームの分割数となる。マージン時間より静止画フレーム処理時間が小さい場合、分割数は１であり、静止画フレームを分割する必要はない。
【００５５】
一方、マージン時間より静止画フレーム処理時間が大きい場合は、分割数が２以上になり、静止画フレームは複数のタイルに分割される。フレーム分割制御部２１３は、静止画の符号化処理の処理単位をフレーム単位からタイル単位に切り替える。これにより、画像符号化部１０２は、分割数と同じ数のフレーム期間をかけて、間欠的に静止画の符号化処理を行う。すなわち、フレーム期間毎に１つの静止画タイルの符号化処理が行われる。
【００５６】
フレーム分割制御部２１３は、静止画フレームの分割数と画素数から、タイルサイズを決定する（ステップＳ４０９）。タイルサイズに基づいて、フレーム分割制御部２１３は、画像符号化部１０２の各処理ブロックにおけるアドレス計算などの符号化シーケンスを管理する。
【００５７】
本実施形態では、分割数が２の場合、静止画フレームをマクロブロックのアライメント位置で水平方向において２分割する。同様に、分割数が３の場合、静止画フレームを水平方向において３分割し、分割数が４の場合、静止画フレームを水平方向において２分割かつ垂直方向において２分割（すなわち４分割）する。分割数が５以上かつ奇数の場合には、分割数を切り上げて２の倍数になるように静止画フレームを分割するものとするが、特に限定はしないものとする。
【００５８】
＜フレーム分割例＞
図５Ａ、図５Ｂは、本実施形態に係るフレーム分割を説明するための図である。図５Ａには、３０フレーム毎秒での４Ｋ動画（４Ｋ３０ｐ動画）の記録時に、４Ｋ静止画の同時記録を行う場合の静止画フレームの分割例が示されている。図５Ｂには、３０フレーム毎秒での２Ｋ動画（２Ｋ３０ｐ動画）の記録時に、８Ｋサイズ（水平７６８０画素、垂直４３２０画素）の静止画（８Ｋ静止画）の同時記録を行う場合の静止画フレームの分割例が示されている。
【００５９】
上述の説明と同様に、画像符号化部１０２のハードウェア性能を、クロック周波数３３３ＭＨｚ、１６×１６画素からなる１マクロブロックの処理に３００クロック（約０．９マイクロ秒）要するものとする。
【００６０】
図５Ａに示される４Ｋ３０ｐ動画の動画フレーム処理時間は約２９．１６ミリ秒であり、約３３ミリ秒のフレーム周期に対して、約３．８４ミリ秒のマージン時間が確保できる。フレーム分割制御部２１３は、４Ｋ静止画の符号化要求を受信した場合、静止画フレーム符号化時間を動画フレーム処理時間と同じく約２９．１６ミリ秒と見積もる。フレーム分割制御部２１３は、静止画フレーム処理時間をマージン時間で除算し、これにより得られた値の小数点以下を切り上げることにより、同時記録を行うためには４Ｋ静止画を８分割する必要があると判断する。
【００６１】
結果、１フレームの４Ｋ静止画は、１６×１６画素のマクロブロックのアライメント境界に合わせたサイズで、タイルＡからタイルＨまでの８つの領域に分割される。これらのタイルは、８フレーム期間かけて順次符号化処理される。
【００６２】
図５Ｂに示される２Ｋ３０ｐ動画の動画フレーム処理時間は、約７．２９ミリ秒であり、約３３ミリ秒のフレーム周期に対して、約２５．７１ミリ秒のマージン時間が確保できる。フレーム分割制御部２１３は、８Ｋ静止画の符号化要求を受信した場合、静止画フレーム処理時間を約１１６．６４ミリ秒と見積もる。フレーム分割制御部２１３は、静止画フレーム処理時間をマージン時間で除算し、これにより得られた値の小数点以下を切り上げることにより、同時記録を行うためには８Ｋ静止画を６分割する必要があると判断する。
【００６３】
結果、１フレームの８Ｋ静止画は、マクロブロックのアライメント境界に合わせた２５６０画素×２１６０ラインのサイズで、タイルＡからタイルＦまでの６つの領域に分割される。これらのタイルは、６フレーム期間かけて順次符号化処理される。
【００６４】
＜静止画同時記録＞
図６は、本実施形態に係る符号化処理を示すタイミングチャートである。まず、時刻ｔＡにおいて動画記録が開始される。画像符号化部１０２は、フレーム期間毎に１つの動画フレームの符号化処理を実行する。各フレーム期間は、図中に示したように、動画フレーム符号化期間の後にマージン期間を有する。マージン期間の長さは上述のマージン時間に等しい。
【００６５】
時刻ｔＢにおいて、ユーザ操作により静止画同時記録の指示が発行されると、マージン期間は、タイル単位での静止画の符号化処理を実行するための静止画タイル符号化期間として割り当てられる。図６の例では、１つの静止画フレームはタイルＡからタイルＤまでの４つのタイルに分割され、静止画同時記録の指示がなされたフレーム期間から４フレーム期間かけて１フレーム分の静止画の符号化処理が実行される。
【００６６】
図６に示した例よりも静止画フレームの画素数がさらに大きく、静止画タイル符号化期間内で静止画タイルの符号化処理が完了できない場合、または動画フレームの画素数がさらに大きくマージン時間が不足する場合には、分割数をさらに増加させればよい。例えば、静止画フレームの分割数は５以上に増加されるとともに、タイル単位の静止画の符号化処理を間欠的に行う静止画フレーム符号化期間は５フレーム期間以上に延長される。
【００６７】
本実施形態によれば、１フレーム期間内において、動画フレームの符号化処理が完了した後に静止画フレームの符号化処理の一部を実行する。１つの静止画フレームは複数のタイルに分割され、静止画フレームの符号化処理は、複数フレーム期間かけてタイル単位で実行される。これにより、回路規模を抑制しつつ、動画記録中に静止画を同時記録することが可能となる。
【００６８】
従来技術においても、動画だけでなく静止画にも適用可能なＨＥＶＣ方式を採用することで、動画記録中の静止画同時記録が可能となるが、動画記録中には動画と同じ画素数までの静止画しか記録できないという機能制約が出てしまう虞がある。本実施形態によれば、フレーム期間における動画の符号化処理後の残りの期間を利用して静止画の符号化処理を実行するため、動画の符号化処理に影響を与えることなく高画素数の静止画を同時記録することが可能となる。
【００６９】
［第２実施形態］
第２実施形態では、画像符号化部１０２は、フレーム期間とは非同期に動画の符号化処理を実行可能であり、複数の動画フレームの符号化処理を完了した後に、タイル単位の静止画の符号化処理を実行する。以下、第１実施形態と異なる点を中心に説明する。
【００７０】
フレーム間動き予測による時間方向の冗長性を利用したＨＥＶＣ、Ｈ．２６４などの圧縮方式では、時間的に前後する動画フレームが参照される。画像符号化部１０２は、フレームメモリ１０５に一時記憶された複数の動画フレームに対して符号化処理を実行する。
例えば、画像符号化部１０２は、時間的に前後に位置する画像を参照するＢ（Bi-directional）フレームを用いたＬｏｎｇＧＯＰ（Group Of Pictures）構造の符号化処理を行う。ＬｏｎｇＧＯＰ構造では、動画フレームに対して入力順で符号化するのではなく、入力されたフレームの並び替えを行い、未来に位置する参照フレームから先に符号化される。
【００７１】
代表的なＭ＝３のＬｏｎｇＧＯＰ構造では、３フレーム単位でフレームの並び替えが行われる。ここでＭは、Ｂフレーム以外、すなわち時間的に前に位置する画像を参照するＰ（Predictive）フレームまたはフレーム内で符号化処理を完結するＩ（Intra）フレームの繰り返し周期を表す。言い換えれば、複数フレームの動画シーケンスにおいて、３フレーム毎にＰフレームまたはＩフレームが出現する。
【００７２】
ＣＰＵ１０６は、動画の符号化処理の制御を行う際に、フレームメモリ１０５に複数の動画フレームを蓄積してから、複数の動画フレームをまとめて画像符号化部１０２における符号化処理を開始してもよい。この場合、画像符号化部１０２は、フレームメモリ１０５内の画像データのオーバーフローまたはアンダーフローが発生しないように、Ｍフレーム期間内にＭ個の動画フレームの符号化処理を完了させる。
【００７３】
＜画像符号化部の動作＞
図７は、本実施形態に係る画像符号化部１０２の動作を示すフローチャートである。図７のフローチャートの処理は、符号化装置１０において、タッチパネル、ボタンなどの図示しないインタフェースからのユーザ指示をトリガとして動画記録が開始されると、フレーム期間毎に繰り返し実行される。
【００７４】
動画記録中の判定処理から静止画同時記録モードの判定処理（ステップＳ７０１〜Ｓ７０５）までは、第１実施形態におけるステップＳ３０１〜Ｓ３０５と同様であるため、説明を省略する。モード制御部２１２は、静止画の符号化処理の開始タイミングを判定するために、並べ替え単位分のフレームについて動画の符号化処理が完了したか否かを判断する（ステップＳ７０６）。
【００７５】
所定の並び替え単位（本実施形態では３フレーム）の動画の符号化処理が完了した場合（ステップＳ７０６でＹＥＳ）、モード制御部２１２は、ステップＳ７０７に進む。静止画の符号化処理についての完了判定処理（ステップＳ７０７〜Ｓ７１０）は、第１実施形態におけるステップＳ３０６〜Ｓ３９と同様であるため、説明を省略する。
【００７６】
一方、所定の並び替え単位の動画の符号化処理が完了していない場合（ステップＳ７０６でＮＯ）、モード制御部２１２は、ステップＳ７０１に戻り、現フレームと同じ並び替え単位内の次の動画フレームに対する処理を行う。
【００７７】
図８は、本実施形態に係るタイル設定処理の詳細なフローチャートである。マクロブロック処理時間の取得処理と動画画素数の取得処理（ステップＳ８０１、Ｓ８０２）は、第１実施形態におけるステップＳ４０１、Ｓ４０２と同様であるため、説明を省略する。
【００７８】
フレーム分割制御部２１３は、ＬｏｎｇＧＯＰ構造における並べ替え単位のフレーム数に基づいて、所定数の動画フレームの符号化処理にかかる時間を計算する（ステップＳ８０３）。ここで処理数は、並び替え単位のフレーム数と等しく３であり、フレーム分割制御部２１３は、フレーム周期に同期せずに連続して３つの動画フレームの符号化処理を行う際に要する時間を計算する。本実施形態においては、所定数の動画フレームの符号化処理に要する時間を動画フレーム処理時間と呼ぶ。第１実施形態と同様の動作クロック数とマクロブロック処理時間を仮定すると、４Ｋ３０ｐ動画の動画フレーム処理時間は、約８７．６ミリ秒になる。
【００７９】
フレーム分割制御部２１３は、現在記録中の動画のフレームレートを取得する（ステップＳ８０４）。フレーム分割制御部２１３は、フレームレートから換算した３フレーム期間の長さから、動画フレーム処理時間を減じ、所定数のフレーム期間についてのマージン時間を計算する（ステップＳ８０５）。フレーム分割制御部２１３は、３フレーム期間（１００ミリ秒）から、動画フレーム処理時間（約８７．６ミリ秒）を減じることにより、約１２．４ミリ秒のマージン時間を得る。
【００８０】
静止画の画素数取得処理からタイルサイズの決定処理（ステップＳ８０６〜Ｓ８０９）は、第１実施形態におけるステップＳ４０６〜Ｓ４０９と同様である。フレーム分割制御部２１３は、４Ｋ静止画の静止画フレーム処理時間（２９．１６ミリ秒）をマージン時間（１２．４ミリ秒）で除算することにより、４Ｋ静止画を３分割することを決定する。第１実施形態に比べて、静止画の分割数は少なくなる。
【００８１】
＜静止画同時記録＞
図９は、本実施形態に係る符号化方法を示すタイミングチャートである。まず、時刻ｔＡにおいて動画記録が開始される。画像符号化部１０２は、３フレーム単位でフレーム並び替えを行い、３つの動画フレームの符号化処理を３フレーム期間連続して間隙無く実行する非同期の符号化処理を行う。図９には、フレーム並び替えの３フレーム単位として、Ｉフレーム、Ｂフレーム、Ｂフレームの組と、Ｐフレーム、Ｂフレーム、Ｂフレームの組が示されている。３フレーム期間毎に、３フレーム分の動画フレーム符号化期間の後でマージン期間が確保される。第１実施形態と比較して、マージン期間は広がるため、静止画の符号化処理に割り当て可能な時間が長くなる。
【００８２】
時刻ｔＢにおいて、ユーザ操作により静止画同時記録の指示が発行されると、マージン期間は静止画タイル符号化期間として割り当てられる。図９の例では、１つの静止画フレームは２つのタイルに分割され、静止画同時記録の指示がなされた後の最初のマージン期間から次のマージン期間にかけて１フレーム分の静止画の符号化処理が実行される。
【００８３】
本実施形態によれば、フレームの並び替え単位に対応する数のフレーム期間毎に、マージン期間をまとめて確保することができるため、静止画フレームの分割数を減らすことが可能となる。分割数を減らすことは符号化データ以外のヘッダ情報などのオーバーヘッドデータを削減することになり、画像データ自体への符号量の割り当てを増やし、画質向上に寄与する。
【符号の説明】
【００８４】
１０  符号化装置
１０２  画像符号化部
１０５  フレームメモリ
１０６  ＣＰＵ
２００  イントラ予測部
２０１  インター予測部
２０２  イントラ・インター判定部
２０３  予測画像生成部
２０４  整数変換部
２０５  量子化部
２０６  エントロピー符号化部
２０７  符号制御部
２０８  ビットストリーム生成部
２０９  逆量子化部
２１０  逆整数変換部
２１１  ループフィルタ
２１２  モード制御部
２１３  フレーム分割制御部
【図１】
2019004439.tif 000003
【図２】
2019004439.tif 000004
【図３】
2019004439.tif 000005
【図４】
2019004439.tif 000006
【図５Ａ】
2019004439.tif 000007
【図５Ｂ】
2019004439.tif 000008
【図６】
2019004439.tif 000009
【図７】
2019004439.tif 000010
【図８】
2019004439.tif 000011
【図９】
2019004439.tif 000012