(57)【要約】      （修正有）【課題】大幅なハードウェア変更を行うことなく、所定のサイズの画像ブロックを単位とする符号化と、それを含有する大きいサイズの画像ブロックを単位とする符号化の両方に対応する画像符号化装置を提供する。【解決手段】ブロック統合判断部２０３はエンコード完了後、画像符号化部１０２が出力した符号化結果である２値化データを取得する。ブロック統合判断部２０３は、保存した全ブロックの２値化データのＣＵ及びＰＵのシンタックス要素のパラメタ値が統合対象ブロック内で同じかどうかを判断する。同一であった場合は、２値化データ統合部２０４は、Ｈ．２６４規格のマクロブロックと同じサイズのＣＵをより大きなＨＥＶＣ方式のＣＵサイズに統合し、１つのＣＵ情報とＰＵ情報、そして各マクロブロックのＴＵ情報に統合した２値化データへ変換する。【選択図】図２
2020108017.tif 000002
【特許請求の範囲】
【請求項１】
画像データを符号化する画像符号化装置であって、
符号化対象の画像データを、所定の第１のサイズの画像ブロックを単位に、量子化、動き探索、動き補償、そして直交変換を行うことで、符号化用データを生成する生成手段と、
符号化用データを受信し、エントロピー符号化する符号化手段と、
前記生成手段が生成した、前記第１のサイズの隣接する複数の画像ブロックそれぞれの符号化用データの間に違いがあるとき、前記符号化手段が前記隣接する複数の画像ブロックそれぞれの符号化用データを符号化するように制御し、
前記生成手段が生成した、前記第１のサイズの隣接する複数の画像ブロックそれぞれの符号化用データが互いに同じであるとき、前記隣接する複数の画像ブロックの量子化および動き探索にかかわるシンタックス要素を統合し、且つ、前記符号化手段が、前記隣接する複数の画像ブロックが占める第２のサイズの画像ブロックの符号化用データを符号化するように制御する制御手段と
を有することを特徴とする画像符号化装置。
【請求項２】
前記第１のサイズの隣接する複数の画像ブロックの２つめ以降の画像ブロックの符号化パラメタが、最初の画像ブロックを符号化する際に決定した符号化パラメタと同じになり易くするため、前記最初の画像ブロックの符号化する際に決定した符号化パラメタに応じて、２つめ以降の画像ブロックの符号化パラメタを決定する際に用いる設定値を重み付け補正する補正手段を更に有することを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記設定値は、イントラ、インター予測のブロックタイプを判定するための設定値、量子化パラメタを判定する設定値、動きベクトルを判定するための設定値が含まれることを特徴とする請求項２に記載の画像符号化装置。
【請求項４】
前記第１のサイズはＨ．２６４規格のマクロブロックのサイズであり、
前記第２のサイズはＨＥＶＣ規格のＣＵ（Coding Unit）が示すサイズであることを特徴とする請求項１乃至３のいずれか１項に記載の画像符号化装置。
【請求項５】
前記符号化対象の画像データのサイズを示す情報を取得する取得手段を更に有し、
前記制御手段は、
前記取得手段で取得したサイズが、予め設定されたサイズが予め設定された閾値以上の場合は、前記第１のサイズと、前記第２のサイズとの切り替えを許容し、前記符号化手段で生成された符号化データを出力し、
前記取得手段で取得したサイズが前記閾値を下回る場合は前記第２のサイズは用いず、前記第１のサイズの画像ブロックに対して前記符号化手段より生成された符号化データを出力する
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像符号化装置。
【請求項６】
符号化対象の画像データが表すピクチャが、他のピクチャを符号化する際の参照ピクチャとして利用されるタイプであるか否かを示す情報を取得する取得手段を更に有し、
前記制御手段は、
前記取得手段で取得した情報が、他のピクチャを符号化する際の参照ピクチャとして利用されないことを示している場合は、前記第１のサイズと前記第２のサイズとの切り替えを許容し、前記符号化手段で生成された符号化データを出力し、
前記取得手段で取得した情報が、他のピクチャを符号化する際の参照ピクチャとして利用されることを示している場合は、前記第２のサイズは用いず、前記符号化手段で前記第１のサイズの画像ブロックより生成された符号化データを出力する
ことを特徴とする請求項１乃至４のいずれか１項に記載の画像符号化装置。
【請求項７】
前記符号化対象の画像データを生成するための撮像手段を更に有することを特徴とする請求項１乃至６のいずれか１項に記載の画像符号化装置。
【請求項８】
画像データを符号化する画像符号化装置の制御方法であって、
符号化対象の画像データを、所定の第１のサイズの画像ブロックを単位に、量子化、動き探索、動き補償、そして直交変換を行うことで、符号化用データを生成する生成工程と、
符号化用データを受信し、エントロピー符号化する符号化工程と、
前記生成工程が生成した、前記第１のサイズの隣接する複数の画像ブロックそれぞれの符号化用データの間に違いがあるとき、前記符号化工程が前記隣接する複数の画像ブロックそれぞれの符号化用データを符号化するように制御し、
前記生成工程が生成した、前記第１のサイズの隣接する複数の画像ブロックそれぞれの符号化用データが互いに同じであるとき、前記隣接する複数の画像ブロックの量子化および動き探索にかかわるシンタックス要素を統合し、且つ、前記符号化工程が、前記隣接する複数の画像ブロックが占める第２のサイズの画像ブロックの符号化用データを符号化するように制御する制御工程と
を有することを特徴とする画像符号化装置の制御方法。
【請求項９】
コンピュータが読み込み実行することで、前記コンピュータに、請求項８の制御方法が有する各工程を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像の符号化技術、特に画像における符号化ブロックのブロックサイズの決定処理を有する符号化技術に関するものである。
【背景技術】
【０００２】
近年、４Ｋや８Ｋ解像度対応など、映像機器で取り扱うデータ量がさらに増大している。そのため、フレーム間の動き補償とエントロピー符号化を用いたハイブリッド画像圧縮技術として従来から用いられてきたＭＰＥＧ２やＨ．２６４方式に変わり、さらに圧縮効率の高いＨＥＶＣ（High Efficiency Video Codec）方式が採用されつつある。
【０００３】
ＨＥＶＣ方式が従来方式よりも圧縮効率向上に大きく寄与した理由の一つに、Ｈ．２６４方式よりもさらに大きな符号化ブロックサイズが選択可能となったことが挙げられる。具体的には、Ｈ．２６４では１６×１６画素のマクロブロックと呼ばれる矩形画素ブロックを符号化処理の基本単位として定義していたのに対し、ＨＥＶＣ方式では、新たに量子化を行うＣＵ（CodingUnit）、画面内および画面間予測を行うＰＵ（PredictionUnit）、そして直交変換を行うＴＵ（TransformUnit）という単位で、それぞれを階層的に定義し、ＣＵについては最大６４×６４画素から、最小８×８画素のサイズまで自由に選択可能となった。
【０００４】
例えば、画像として画素値の変化がほとんどない平坦な画像領域については、ＣＵブロックサイズを大きくし、一方で細かなテクスチャ部分では従来通り、あるいはそれ以上の小さいＣＵブロックサイズを割り当てて視覚的な符号化に伴う画質劣化を抑えるような、最適なブロックサイズ選択が実現できれば圧縮効率が向上する。
【０００５】
一方、ＨＥＶＣ方式を採用した符号化データの再生および視聴機器や編集環境、インフラは、現時点では十分に整っているとは言えず、記録機器としては従来のＨ．２６４方式とＨＥＶＣ方式の両方に対応したハイブリッドコーデックが製品機能として望まれている。
【０００６】
Ｈ．２６４とＨＥＶＣ両対応ハイブリッドコーデックをハードウェアとして実現するためには、それぞれの方式の回路を搭載したシステムとするよりも、符号化ツール単位に共通する機能をＨ２６４方式のコーデックベースに流用し、ＨＥＶＣ方式特有の差分機能を拡張するアーキテクチャとする方が、回路規模や消費電力の観点からも有利である。
【０００７】
しかしながら、このようなＨ．２６４コーデックのハードウェア構成をベースにしてＨＥＶＣ方式に対応したハイブリッドコーデックでは、マクロブロックを基本処理単位として設計しているため、上述のＨＥＶＣ方式で新規に導入された自由度の高いブロック分割をすることが難しい。
【０００８】
特許文献１は、Ｈ．２６４とＨＥＶＣ方式の両対応コーデック構成ではないが、基本となる符号化単位（基本ＣＵ）を予め定めて符号化し、後から基本ＣＵよりも大きなサイズの新しいＣＵへ統合してエントロピー符号化するという技術を提案している。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１５−１８１２２５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、上記特許文献１の方式では、統合ＣＵ内に含まれる全基本ＣＵの符号化パラメタ（量子化値、残差係数値、予測情報等）が同一な場合のみしか統合しないため、符号化対象画像の絵柄によっては、ＣＵ統合による圧縮性能向上の効果が得られなくなるという問題が残る。
【００１１】
本発明は上記の問題点に鑑み、大幅なハードウェア変更を行うことなく、２つのサイズの小さい方の画像ブロックを単位とする符号化と、それを包含する大きいサイズの画像ブロックを単位とする符号化の両方に対応し、高い圧縮効率の符号化が行える技術を提要しようとするものである。
【課題を解決するための手段】
【００１２】
この課題を解決するため、例えば本発明の画像符号化装置は以下の構成を備える。すなわち、
画像データを符号化する画像符号化装置であって、
符号化対象の画像データを、所定の第１のサイズの画像ブロックを単位に、量子化、動き探索、動き補償、そして直交変換を行うことで、符号化用データを生成する生成手段と、
符号化用データを受信し、エントロピー符号化する符号化手段と、
前記生成手段が生成した、前記第１のサイズの隣接する複数の画像ブロックそれぞれの符号化用データの間に違いがあるとき、前記符号化手段が前記隣接する複数の画像ブロックそれぞれの符号化用データを符号化するように制御し、
前記生成手段が生成した、前記第１のサイズの隣接する複数の画像ブロックそれぞれの符号化用データが互いに同じであるとき、前記隣接する複数の画像ブロックの量子化および動き探索にかかわるシンタックス要素を統合し、且つ、前記符号化手段が、前記隣接する複数の画像ブロックが占める第２のサイズの画像ブロックの符号化用データを符号化するように制御する制御手段とを有する。
【発明の効果】
【００１３】
本発明によれば、大幅なハードウェア変更を行うことなく、２つのサイズの小さい方の画像ブロックを単位とする符号化と、それを包含する大きいサイズの画像ブロックを単位とする符号化の両方に対応し、高い圧縮効率の符号化が行えるようになる。
【図面の簡単な説明】
【００１４】
【図１】実施形態におけるシステム構成図。
【図２】第１の実施形態に係る画像コーデック部の構成図。
【図３】第１の実施形態に係る画像符号化部の構成図。
【図４】第１の実施形態に係る符号化処理手順を示すフローチャート。
【図５】第１の実施形態に係るデータ構造を示す図。
【図６】第２の実施形態に係る画像コーデック部の構成図。
【図７】第２の実施形態に係る符号化処理手順を示すフローチャート。
【図８】第３の実施形態に係る画像コーデック部の構成図。
【図９】第３の実施形態に係る符号化処理手順を示すフローチャート。
【図１０】２値化データのパラメタ例を示す図。
【発明を実施するための形態】
【００１５】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。なお、以下に示す実施形態における構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１６】
［第１の実施形態］
図１は、本第１の実施形態で適用する画像符号化装置の構成図を示している。また。図２は、図１における画像コーデック部１０２の構成図を示している。そして、図３は、図２の画像コーデック部１０２が有する画像符号化部２００の構成図を示している。
【００１７】
＜装置構成＞
画像符号化装置は、撮像部１００、画像処理部１０１、画像コーデック部１０２、記録部１０３、メモリバス１０４、フレームメモリ１０５、ＣＰＵ１０６、フラッシュメモリ１０７、ＣＰＵバス１０８から構成されている。
【００１８】
撮像部１００は、レンズや絞り等で構成される光学部、この光学部を結像した光学像を電気信号へ変換するＣＣＤ等のイメージセンサ、並びに、このイメージセンサで得た電気信号をデジタルデータに変換するＡ／Ｄ変換器を含む。そして、撮像部１００は、例えば、３０フレーム／秒で撮像を行い、各フレームの画像データ（Ａ／Ｄ変換器で得たベイヤ配列のＲＡＷ画像データ）を、メモリバス１０４を介して、大容量ＤＲＡＭ等のフレームメモリ１０５に出力する。
【００１９】
画像処理部１０１は、ＲＡＷ画像データに対してデベイヤ処理（デモザイク処理）を施し、輝度と色差からなる信号に変換後、各信号に含まれるノイズの除去、光学的な歪の補正、並びに、画像を適正化する等の所謂現像処理を行う。そして画像処理部１０１は、現像後の画像データを画像圧縮符号化するため、再度フレームメモリ１０５へ格納する。
【００２０】
画像コーデック部１０２は、フレームメモリ１０５から画像データを読み出し、フレーム間予測とエントロピー符号化による画像データの冗長性を利用した映像圧縮を行ない、符号化ビットストリームを出力する。
【００２１】
本実施形態における画像コーデック部１０２は、映像圧縮方式としてＨ．２６４およびＨＥＶＣ（High Efficiency Video Codec）方式の両方を採用するものとする。
【００２２】
記録部１０３は、前記符号化ビットストリームを、ＭＰ４やＭＯＶ形式等の各種ＰＣアプリケーションで再生や編集互換性が保たれている所定のコンテナ形式に変換し、ＵＳＢ、ＳＤカードまたはハードディスクなど不揮発メモリ媒体に記録する。
【００２３】
メモリバス１０４は、撮像部１００、画像処理部１０１、画像コーデック部１０２、記録部１０３と、フレームメモリ１０５とを接続するためのバスであり、画像データ、符号化データ、各種パラメタデータを高速転送するためのデータバスである。バス転送方式にはＩＳＡ，ＰＣＩ−Ｅｘｐｒｅｓｓ、ＡＸＩ等の標準的にバス規格でも、独自のバス方式を採用しても良く、その種類は問わない。
【００２４】
フレームメモリ１０５は、画像コーデック部１０２の符号化処理の過程で使用する原画像データや、フレーム間予測のための参照画像データ、符号化ビットストリーム等を格納するためのメモリである。
【００２５】
ＣＰＵ１０６は、画像符号化装置を構成する、撮像部１００、画像処理部１０１、画像コーデック部１０２、記録部１０３の起動や停止、割り込み通知などのハードウェア制御を、ＣＰＵバスを介して行うコントローラである。
【００２６】
フラッシュメモリ１０７は、ＣＰＵ１０６を動かすプログラムを格納した不揮発性メモリであり、ＣＰＵ１０６のフェッチ動作で当該メモリへアクセスする。
【００２７】
ＣＰＵバス１０８は、ＣＰＵ１０６と各ペリフェラルとを接続する制御用のバスであり、メモリバス１０４と同様の標準化バス規格方式でも良いし、十分な処理余裕があれば低速なＩ２Ｃ等のシリアル方式でも良く、その書類は問わない。
【００２８】
以上、第１の実施形態における画像符号化装置の構成について説明した。続いて、実施形態における画像コーデック部１０２の内部の構造とその処理内容について説明する。
【００２９】
＜機能ブロック＞
本実施形態の画像コーデック部１０２は、図２に示すように、画像符号化部２００、エントロピー符号化部２０１、符号化パラメタ補正部２０２、ブロック統合判断部２０３、二値化データ統合部２０４、切替部２０５を含む。
【００３０】
また、画像符号化部２００は、図３に示すように、イントラ予測部３００、インター予測部３０１、イントラ・インター判定部３０２、予測画像生成部３０３、直交変換部３０４、量子化部３０５、符号量制御部３０６、逆量子化部３０７、逆直交変換部３０８、ループフィルタ３０９によって構成される。
【００３１】
イントラ予測部３００は、フレームメモリ１０５に格納されたフレーム画像データから符号化対象ブロックの画像データを読み出し、符号化対象ブロック周辺の参照画素データから生成される複数のイントラ予測画像との相関を計算する。そして、イントラ予測部３００は、最も相関の高いイントラ予測画像を選択して、そのベクトルとともに、イントラ・インター判定部３０２へ通知する。
【００３２】
インター予測部３０１は、同様にフレームメモリ１０５に格納した符号化対象となる原画像と、符号化済みの画像データを参照画像として受信し、ブロック単位で画素データ同士のパターンマッチングを行って動きベクトルを算出し、動きベクトルとその動きベクトルが示す参照画像をイントラ・インター判定部３０２へ通知する。
【００３３】
イントラ・インター判定部３０２は、前述のイントラ予測部３００と、インター予測部３０１からの出力の結果に基づいて、符号化する予測方式を選択決定する。
【００３４】
具体的な選択方法としては、イントラ・インター判定部３０２は、符号化対象画像ブロックについてイントラ予測部３００において計算した予測画像と、インター予測部３０１で導出した動きベクトルを用いて参照画像から生成した予測画像について、符号化対象画像との予測誤差とそれぞれ導出し、比較する。
【００３５】
なお、イントラ予測部３００やインター予測部３０１で予測誤差を求めておき、イントラ・インター判定部３０２はそれらを評価値として取得し、評価値どうしを比較するようにしても良い。
【００３６】
いずれにしれも、イントラ・インター判定部３０２は、予測誤差の比較の結果、差分値が小さい方の予測モードを符号化予測モードと判定し、その結果とベクトルとを予測画像生成部３０３に出力する。
【００３７】
予測画像生成部３０３は、イントラ・インター判定部３０２で選択された予測モードとベクトルに応じて予測画像を生成する。
【００３８】
減算器３１０は、入力画像における符号化対象のブロックと、予測画像生成部３０３が生成した予測画像との差分を演算し、その結果（差分画像）を直交変換部３０４に供給する。
【００３９】
直交変換部３０４は、ブロック単位で画素データの空間解像度変換を行って空間周波数領域に変換する。
【００４０】
量子化部３０５は、目標符号量に基づいて量子化係数（量子化ステップ）を算出し、直交変換部３０４で空間周波数領域に変換された変換係数データに対する量子化処理を行う。そして、量子化部３０５は、量子化した変換係数データを、符号化用データとして、エントロピー符号化部２０１、及び、参照画像や予測画像を算出するために逆量子化部３０７へ供給する。
【００４１】
また、量子化部３０５は、量子化係数の他に、イントラ・インター判定部３０２にてインターマクロブロックを採用すると判断したマクロブロックについては、インター予測３０１で導出した動きベクトル情報と参照先のピクチャ情報を、２値化データにして、エントロピー符号化部２０１へ出力する。
【００４２】
符号量制御部３０６は、エントロピー符号化部２０１で出力した符号化データの符号量を取得し、ビットレートやバッファモデルに基づいて１ピクチャ当たりの目標符号量を算出した後、次のピクチャの量子化パラメタを決定し、量子化部３０５に設定する、というフィードバック制御を行う。
【００４３】
逆量子化部３０７は、量子化部３０５にて量子化後の変換係数データに、量子化係数を乗じて変換係数データを計算する。逆直交変換部３０８は、逆量子化部３０７から出力された変換係数データを逆直交変換し、差分画像データを生成する。
【００４４】
加算器３１１は、予測画像生成部３０３が生成した予測画像に、逆直交変換部３０８が生成した差分画像データを加算することで、符号化しようとしたブロックに対応する画像データを生成する。
【００４５】
ループフィルタ３０９は、加算器３１１からの画像データに対して、ブロック境界で発生する符号化歪みを軽減するフィルタ処理を施し、フレームメモリ１０５へローカルデコード画像として出力される。
【００４６】
以上が画像符号化部２００内部のブロック構成と機能である。
【００４７】
続いて、エントロピー符号化部２０１は、量子化部３０５からの量子化され、２値化された変換係数データや、インター予測の場合には動き予測で用いたベクトル値を入力する。そして、エントロピー符号化部２０１は、これらのデータを、ＣＡＢＡＣ（コンテキスト適応算術符号化）方式等のビットデータの出現確率の偏りを利用したエントロピー符号化による情報圧縮を行い、復号処理のために必要なパラメタ（ＳＰＳやＰＰＳ等のヘッダ情報）を付加し、所定のデータフォーマットへ整形してフレームメモリ１０５に出力する。
【００４８】
そして、記録部１０３は、上記のようにしてフレームメモリ１０５に格納された符号化データを、所定のコンテナ形式に変換した上で、ファイルとして記録媒体に保存する。
【００４９】
ここで２値化データのパラメタ例を、図１０に示す。ＨＥＶＣ規格では、上述した量子化、予測、直交変換の処理単位であるＣＵ、ＰＵ、ＴＵ単位毎に２値化データを定義している。
【００５０】
各パラメタ詳細について説明は省略するが、ＣＵ情報では量子化パラメタや、ＣＵ内部のＰＵ分割方式、ＰＵ情報では、イントラ予測モードやインター予測時の動き情報、そしてＴＵ情報には量子化係数の係数値が含まれている。
【００５１】
符号化パラメタ補正部２０２は、画像符号化部２００内の各機能ブロックで使用した符号化パラメタを取得して保存する機能と、さらに処理順で後続するマクロブロック符号化時に、保存したパラメタ設定値を基準にして、符号化対象ブロックの符号化パラメタに重みづけを行って補正する機能とを有する。
【００５２】
具体的な、符号化パラメタ補正部２０２による符号化パラメタの補正処理には、イントラ・インター判定部３０２で行うマクロブロックタイプの判断基準になるイントラ予測、インター予測それぞれの評価値への重みづけ、イントラ予測部３００で計算したイントラ予測モードの採用可能モード候補数の指定、インター予測部３０１で行う参照先ピクチャの優先順位やベクトル探索範囲の指定、そして量子化部３０５で決定する量子化パラメタの選択可能範囲を指定などが含まれる。
【００５３】
尚、本実施形態では、Ｈ．２６４のマクロブロックサイズ（１６×１６画素）よりも大きな３２×３２画素でＣＵ（ＣｏｄｉｎｇＵｎｉｔ）を選択可能とするために、隣接する４つのマクロブロック単位で、上記符号化パラメタ補正処理を行うものとする。
【００５４】
つまり、符号化パラメタ補正部２０２は、この４つのマクロブロックが同じ符号化結果となり易いように、符号化パラメタを補正する。例えば、４つのマクロブロックの最初のマクロブロックがインター予測モードで符号化された場合（デフォルトの重み係数に従うものとする）、残りの３つのマクロブロックについては、インター予測モードが選択され易いように、モード判定の際の重みづけ係数をインター予測モードが選択され易いように補正する。他の符号化パラメタも同様である。
【００５５】
ブロック統合判断部２０３は、画像符号化部２００の符号化処理結果として出力されるエントロピー処理前の２値化データを一時保存し、複数マクロブロック分の２値化データのシンタックス要素を比較し、同じ値であれば当該複数マクロブロック分の２値化データを、より大きなブロックに統合可能であると判断し、ブロック統合可否判断結果を、２値化データ統合部２０４に通知する。
【００５６】
ここで、比較対象となる２値化データは、図１０を用いた２値化データのパラメタ中、ＣＵ情報とＰＵ情報に相当する。
【００５７】
２値化データ統合部２０４は、ブロック統合判断部２０３からブロック統合可否情報を受信し、マクロブロックよりも大きなＣＵサイズに統合可能な場合は、画像符号化部２００が出力した複数マクロブロック分の２値化データを、一つの大きなＣＵブロックサイズに統合する。
【００５８】
切替部２０５は、画像符号化部２００が出力したマクロブロック単位の２値化データと、２値化データ統合部にて、一つの大きなＣＵブロックサイズに統合した２値化データのいずれかを、後段のエントロピー符号化部２０１へ供給するか経路を切り替えるスイッチである。
【００５９】
以上が、本第１の実施形態に係る画像コーデック部のブロック構成である。
【００６０】
＜処理フロー＞
続いて、本実施形態の特徴となる上記構成における処理フローを、図４を参照して説明する。この処理フローは、画像符号化装置が、不図示のタッチパネルやボタン等のユーザインタフェース（操作部）からのユーザ操作をトリガとして、本装置が動画記録状態となって実行するものとする。
【００６１】
初めにＳ４０１にて、ＣＰＵ１０６は、本画像符号化装置がエンコード実行状態であるかを判断し、エンコード停止の指示があった場合は（ＴＲＵＥ）、エンコード処理を停止して本フローを終了する。
【００６２】
エンコード実行状態の場合は（Ｓ４０１のＦＡＬＳＥ）、ＣＰＵ１０６は、画像コーデック部１０２を制御し、１フレーム分の画像符号化処理を、上述の画像コーデック部１０２の処理内容に則って開始する。
【００６３】
Ｓ４０２にて、ＣＰＵ１０６は、マクロブロック単位で実行する符号化処理を１フレーム分完了したかを判断する。
【００６４】
１フレーム分の画像符号化を完了した場合（Ｓ４０２のＴＲＵＥ）は、ＣＰＵ１０６は、後続する次の入力画像のエンコードを開始するために処理をＳ４０１に戻す。
【００６５】
一方、当該符号化対象フレームにおいて、未符号化のマクロブロックが残っている場合（Ｓ４０２のＦＡＬＳＥ）は、ＣＰＵ１０６は、処理をＳ４０３に進める。このＳ４０３にて、ＣＰＵ１０６は、符号化対象のマクロブロックが、ＣＵブロックサイズ相当の統合ブロック内における処理順で、一番目（左上に位置するマクロブロック）かどうかを判断する。
【００６６】
符号化対象ブロックが一番目のマクロブロックの場合（Ｓ４０３のＴＲＵＥ）、ＣＰＵ１０６は処理をＳ４０４に進める。このＳ４０４にて、ＣＰＵ１０６は符号化パラメタ補正部２０２を制御し、当該マクロブロックの符号化パラメタ設定値を、図示せぬＳＲＡＭやフリップフロップなどの記憶素子に保存させる。
【００６７】
また、符号対象マクロブロックが、統合ブロック領域内の処理順で２番目以降の場合（Ｓ４０３のＦＡＬＳＥ）、ＣＰＵ１０６は処理をＳ４０５に進める。このＳ４０５にて、以前のＳ４０４で保持した符号パラメタを読み出し、当該符号化パラメタを基準にして、同じ符号化結果になりやすくなるよう上述の符号化パラメタ補正部２０２で説明したパラメタ値の補正処理を行う。
【００６８】
Ｓ４０６にて、ＣＰＵ１０６は、Ｓ４０４の場合からのフローでは、そのまま画像符号化部１０２内で計算したパラメタで当該マクロブロックのエンコード処理と行う。また、Ｓ４０５を経由したフローの場合、ＣＰＵ１０６は、補正後の符号化パラメタでエンコード実行する。
【００６９】
Ｓ４０７にて、ＣＰＵ１０６の制御下にて、ブロック統合判断部２０３はエンコード完了後、画像符号化部１０２が出力した符号化結果である量子化値、量子化係数、予測モードや動きベクトル情報の２値化データを取得する。そして、ブロック統合判断部２０３は、図示せぬＳＲＡＭやフリップフロップ等の記憶素子に前記統合ブロックサイズ分保存する。
【００７０】
続くＳ４０８にて、ＣＰＵ１０の制御下にて、ブロック統合判断部２０３は、Ｓ４０７で保存した全ブロックの２値化データのＣＵおよびＰＵのシンタックス要素のパラメタ値が、統合対象ブロック内で同じかどうかを判断する。
【００７１】
２値化データ内の該当シンタックス要素のパラメタ値が、同一であった場合は（Ｓ４０８のＴＲＵＥ）、ＣＰＵ１０６は処理をＳ４０９に進める。この場合、２値化データ統合部２０４は、複数のＨ．２６４規格のマクロブロックと同じサイズＣＵは、より大きなＨＥＶＣ方式のＣＵサイズに統合可能である。それ故、Ｓ４０９にて、ＣＰＵ１０６の制御下にて、２値化データ統合部２０４は、一つのＣＵ情報とＰＵ情報、そして各マクロブロックのＴＵ情報に統合した２値化データへ変換する。
【００７２】
ＣＰＵ１０６は、統合後の２値化データを、符号化ビットストリームとして生成するために、切替部２０５のスイッチを制御し、統合後の２値化データをエントロピー符号化部２０１へ供給する。
【００７３】
他方、統合対象ブロック内の２値化データが異なる場合は（Ｓ４０８のＦＡＬＳＥ）、当該マクロブロックは、ブロック統合による、より大きなＣＵブロックへの適用不可能なため、従来通りのマクロブロックと同じＣＵサイズでエントロピー符号化を行う。そのため、ＣＰＵ１０９６は切替部２０５を制御し、スイッチ経路を画像符号化部２００と接続するデータパスに設定する。
【００７４】
そして、ＣＰＵ１０６は、エントロピー符号化部２０１によるブロックの符号化処理を終了後、次のブロックの画像符号化処理のため、１フレーム分のエンコードが完了するまで、上述のフローを繰り返し行う。
【００７５】
以上が本第１の実施形態における符号化処理を説明した。
【００７６】
＜適用例＞
上記動作フローにしたがって、画像コーデック部１０２内の各機能ブロックを動作させた時の２値化データの統合処理について、図５のデータ構造を用いて説明する。
【００７７】
図中には、従来のＨ．２６４方式のマクロブロックと同じ１６×１６サイズで、ＨＥＶＣ符号化を行った場合の、ＣＵ、ＰＵ、ＴＵ情報を示している。
【００７８】
符号化処理の単位と順番は、左上ＭＢ１から右上ＭＢ２、左下ＭＢ３、右下ＭＢ４とＺ順で実行する。
【００７９】
図中の例では、上述の動作フロー実行によって、ＣＵブロックはすべて同じ量子化パラメタＱｐ値（図５（ａ））、ＰＵブロックはすべてイントラ・インターのマクロブロックタイプが同じく（図の場合はすべてインターＭＢ）、かつ動きベクトル値が同じ（図５（ｂ））、そしてＴＵ分割のサイズが同じ（図５（ｃ））に結果になった場合を示している。
【００８０】
この時、画像符号化部２００から出力される２値化データの構造は、マクロブロックごとに、ＣＵ情報、ＰＵ情報、８×８単位のＴＵ情報のならびで、それぞれ４ブロック分出力される。
【００８１】
そして、４ブロック分のＣＵ情報とＰＵ情報のシンタックス要素はすべて共通で同じ値となるため、一つのＣＵ情報とＰＵ情報、そして１６個のＴＵ情報の並びで２値化データを統合することが可能となる（図５（ｄ）；Ｓ４０９の処理に相当）。
【００８２】
この統合後の２値化データを、エントロピー符号化部２０１に入力して符号化すると、３２×３２のＣＵブロック（図５（ｅ））、３２×３２のＰＵブロック（図５（ｆ））、そして１６個のＴＵブロック（図５（ｇ））というＨ．２６４よりも大きなブロックサイズの符号化ビットストリームデータが生成できる。
【００８３】
結果、ＣＵとＰＵ情報を統合した分の符号化ビットを削減できるため、符号化効率を高めることができる。
【００８４】
以上が本第１の実施形態による符号化ブロックの統合を適用時のデータ構造例である。
【００８５】
上述したような実施形態を適用することによって、大幅なハードウェア変更を行うことなく、ＨＥＶＣ方式の符号化時に、より大きなブロックサイズを選択可能となり、圧縮効率向上を実現できるようになる。
【００８６】
［第２の実施形態］
上記第１の実施形態では、マクロブロック単位の符号化処理で、統合後のＣＵブロックサイズの領域内に含まれるブロックの符号化パラメタを同一になるように補正することよって、大きなＣＵブロックを採用する方法を示した。
【００８７】
画像圧縮符号化の一般的な特性として、４Ｋや８Ｋサイズの高解像度になるほど、ブロック内の画素値の変化が少ない（空間的な冗長性が高い）ため、上述してきた符号化ブロック統合によって大きなブロックサイズを採用することは有効である。
【００８８】
一方で、小さな画面サイズを符号化時には、逆に常に符号化ブロックサイズを大きくしてしまうと、画像の解像感、ディティールを損なってしまう場合があるため、適応的に上述のブロック統合処理を採用することが好ましい。
【００８９】
そこで第２の実施形態では、符号化画像の画面サイズ（水平、垂直方向の画素数）を取得する手段と新たに設けて、画面サイズが所定値以上の時にだけ、上述のブロック統合処理の選択的発動を許容することを、さらに異なる動作として実施する。
【００９０】
以下、本第２の実施形態について、図６、図７を用いて説明する。なお、第２の実施形態の説明において、上述した第１の実施形態と共通する部分については、適宜説明を省略する。
【００９１】
＜機能ブロック＞
図６は、第２の実施形態を実現する画像符号化装置における画像コーデック部１０２のブロック図である。なお、ユーザは、不図示のユーザインタフェースを操作し、撮像部１００によるキャプチャする画像のサイズもしくは解像度（水平、垂直方向の画素数）を、複数の候補の中から選択可能とする。そして、選択した画像サイズは不揮発性メモリに保持され、特に変更がないかぎり保持されるものとする。
【００９２】
図６の構成において、図２と異なる点は、画像サイズ判断部６０１が追加された点である。この画像サイズ判断部６０１は、先に示したユーザが選択した画像サイズを不揮発性メモリから取得し、その大小を判断する。そして画像サイズ判断部６０１は、取得した画像サイズが予め設定された閾値以上の場合、上述の第１の実施形態にブロック統合処理を行う前記符号化パラメタ補正部２０２と、ブロック統合判断部２０３の機能を動作するように、動作と停止を制御する。なお、ここでの閾値となる画像サイズは、例えば、４０９６×２１６０である。また、その他のブロック機能については、第１の実施形態と同様であるため説明を省略する。
【００９３】
＜処理フロー＞
続いて第２の実施形態の特徴となる、前記画像サイズ取得判断部６０１の処理も含めたエンコード処理フローを、図７を参照して説明する。尚、第１の実施形態（図４）と同じ処理につて、同参照符号を付し、その説明を省略する。
【００９４】
Ｓ４０２のＦＡＬＳＥ、つまり、未符号化のブロックが残っていると判定された場合、ＣＰＵ１０６は処理をＳ７０１に進める。このＳ７０１にて、ＣＰＵ１０６の制御の下にて、画像サイズ判断部６０１は、当該符号化データの画面サイズが所定値以上か否かを判断する。画像サイズが所定値以上の場合（Ｓ７０１のＴＲＵＥ）は、上述のブロック統合処理を進めてもよいことになる。それ故、Ｓ４０３以降のフローを実行する。
【００９５】
一方で、画像サイズが所定値を下回る場合（Ｓ７０１のＦＡＬＳＥ）は、ＣＰＵ１０６は、上述のブロック統合処理ステップはスキップし、処理をＳ４０６に進める。そして、従来通りのマクロブロック符号化処理を実行する。
【００９６】
同様の理由から、マクロブロック符号化完了後、再度画像サイズが所定値以上か未満かを判断し（Ｓ７０２）、所定値以上の時は（ＴＲＵＥ）、Ｓ４０７以降の２値化データ統合処理までのフローを実行する。一方、画像サイズが所定値未満（ＦＡＬＳＥ）の時は、Ｓ４１０までスキップして、従来通りのエントロピー処理を実行する。
【００９７】
以上、本第２の実施形態における、画像符号化の処理フローを説明した。
【００９８】
［第３の実施形態］
上記第２の実施形態では、符号化画像の画面サイズを判断し、画面サイズに応じてブロック統合処理を選択的に発動させる方法を示した。
【００９９】
本第３の実施形態では、符号化ピクチャのピクチャタイプに応じて、上述のブロック統合処理を選択的に発動することをさらに異なる動作として実施する。
【０１００】
Ｈ．２６４およびＨＥＶＣ方式ともフレーム間予測を用いた画像圧縮では、符号化ピクチャタイプあるいは符号化スライスタイプとして、画面内予測の符号化のみを適用したＩピクチャ（Ｉｎｔｒａピクチャ）、参照画像を一枚だけ参照するＰピクチャ、そして複数枚の参照画像を参照して動き予測を行うＢピクチャが定義している。
【０１０１】
ＩピクチャやＰピクチャは、Ｂピクチャの符号化処理で参照ピクチャとして利用される。つまり、ＩピクチャやＰピクチャの画質が、Ｂピクチャの画質に影響（もしくは伝播）する。
【０１０２】
このことから、上述した第１の実施形態で説明した、一律にマクロブロックを統合して大きなＣＵブロックを構成する手段だけでなく、動画シーケンス中で画質を決める上で重要なピクチャについては、選択的に統合処理を採用することが好ましい。
【０１０３】
本第３の実施形態について、図８、図９を用いて説明する。なお、第３の実施形態の説明に置いて、上述した第１および第２の実施形態と共通する部分について、適宜説明を省略する。
【０１０４】
＜機能ブロック＞
図８は、本第３の実施形態を実現する画像符号化装置における画像コーデック部１０２のブロック図である。第１の実施形態（図２）との差は、ピクチャタイプ判断部８０１が設けられた点である。
【０１０５】
このピクチャタイプ判断部８０１は、ＣＰＵ１０６等のコントローラ、あるいは前記画像符号化部２００から、当該画像コーデック部１０２の符号化対象画像のピクチャタイプを取得する。そして、ピクチャタイプ判断部８０１は、符号化対象のピクチャのタイプに応じて、符号化パラメタ補正部２０２とブロック統合判断部２０３の機能を動作する、しないと制御する。
【０１０６】
具体的には、ピクチャタイプ判断部８０１は、符号化対象のピクチャのタイプが、ＩピクチャあるいはＰピクチャのように参照画像の場合は従来と同様の処理を行う。そして、符号化対象のピクチャが、他のピクチャの参照ピクチャとはならない場合のみ、上述の第１の実施形態にブロック統合処理を行う前記符号化パラメタ補正部２０２と、ブロック統合判断部２０３の機能を動作するように制御する。その他のブロック機能については、第１の実施形態と同様であるため説明を省略する。
【０１０７】
＜処理フロー＞
続いて本第３の実施形態の特徴となる、ピクチャタイプ取得判断部８０１の処理も含めたエンコード処理フローを、図９を参照して説明する。尚、第１の実施形態と内容が重複する処理ステップについてはその説明を省略する。
【０１０８】
Ｓ４０２のＦＡＬＳＥと判定され、まだ未符号化のブロックが残っている場合、ＣＰＵ１０６の制御下にてピクチャタイプ判断部８０１は、Ｓ９０１にて、符号化対象画像のピクチャタイプが、他のピクチャを符号化する際に参照ピクチャであるか否かを判断する。具体的には、ピクチャタイプ判断部８０１は、符号化対象のピクチャがＢピクチャか否かを判断する。そして、符号化対象画像のピクチャがＢピクチャの場合（Ｓ９０１のＴＲＵＥ）は、上述のブロック統合処理を進めてもよいので、Ｓ４０３以降のフローを実行する。
【０１０９】
一方で、符号化対象ピクチャが参照ピクチャとなる場合（Ｉ、Ｐピクチャの場合）、Ｓ９０１の判定はＦＡＬＳＥとなり、上述のブロック統合処理ステップはスキップするため、Ｓ９０１からＳ４０６に処理を進め、従来通りのマクロブロック符号化処理を実行する。
【０１１０】
同様の理由から、マクロブロック符号化完了後、再度ピクチャタイプがＢピクチャか否かを判断する（Ｓ９０２）。Ｂピクチャの時（ＴＲＵＥ）は、Ｓ４０７以降の２値化データ統合処理までのフローを実行し、ＩまたはＰピクチャ等、参照ピクチャとなり得るピクチャの場合（Ｓ９０２がＦＡＬＳＥ）は、Ｓ４１０までの処理をスキップして、従来通りのエントロピー処理を実行する。
【０１１１】
以上が本第３の実施形態における、画像符号化の処理フローである。
【０１１２】
以上説明したように、本第１乃至第３の実施形態によれば、従来のＨ．２６４と、ＨＥＶＣ方式両方に対応したハイブリッドエンコーダにおいて、ハードウェアを大幅に増加させることなく、ＨＥＶＣ方式の符号化時において、Ｈ．２６４方式のマクロブロックよりも大きなブロックサイズを採用して圧縮効率を向上する技術を提供できるようになる。
【０１１３】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１４】
１００…撮像部、１０１…画像処理部、１０２…画像コーデック部、１０３…記録部、１０４…メモリバス、１０５…フレームメモリ、１０６…ＣＰＵ、１０７…フラッシュメモリ、１０８…ＣＰＵバス、２００…画像符号化部、２０１…エントロピー符号化部、２０２…符号化パラメタ補正部、２０３…ブロック統合判断部、２０４…２値化データ統合部、２０５…切替部、３００…イントラ予測部、３０１…インター予測部、３０２…イントラ・インター判定部、３０３…予測画像生成部、３０４…直交変換部、３０５…量子化部、３０６…符号制御部、３０７…逆量子化部、３０８…逆直交変換部、３０９…ループフィルタ、６０１…画像サイズ判断部、８０１…ピクチャタイプ判断部
【図１】
2020108017.tif 000003
【図２】
2020108017.tif 000004
【図３】
2020108017.tif 000005
【図４】
2020108017.tif 000006
【図５】
2020108017.tif 000007
【図６】
2020108017.tif 000008
【図７】
2020108017.tif 000009
【図８】
2020108017.tif 000010
【図９】
2020108017.tif 000011
【図１０】
2020108017.tif 000012