(57)【要約】      （修正有）【課題】符号化による画質の劣化を低減し得る符号化装置及び符号化方法を提供する。【解決手段】画像処理装置は、画像を構成する複数の画素の画素値に基づく輝度情報を取得する輝度情報取得部２０１と、輝度情報に基づいて、複数の画素を含むブロックにおけるブロックサイズの上限に関するブロックサイズ制限情報を生成するブロックサイズ制限部２０２と、ブロックサイズ制限情報に基づいて設定されたブロックを単位として画像の符号化を行う符号化処理部１１４とを有する。【選択図】図２
2018093386.tif 000002
【特許請求の範囲】
【請求項１】
画像を構成する複数の画素の画素値に基づく輝度情報を取得する輝度情報取得手段と、
前記輝度情報に基づいて、前記複数の画素を含むブロックにおけるブロックサイズの上限に関するブロックサイズ制限情報を生成するブロックサイズ制限手段と、
前記ブロックサイズ制限情報に基づいて設定された前記ブロックを単位として前記画像の符号化を行う符号化手段と
を有することを特徴とする符号化装置。
【請求項２】
前記輝度情報取得手段は、前記画素値を用いて前記輝度情報を算出することにより、前記輝度情報を取得することを特徴とする請求項１に記載の符号化装置。
【請求項３】
前記輝度情報取得手段は、外部の装置によって前記画素値を用いて算出された前記輝度情報を取得することを特徴とする請求項１に記載の符号化装置。
【請求項４】
前記輝度情報の算出は、Ｍａｘｉｍｕｍ  Ｃｏｎｔｅｎｔ  Ｌｉｇｈｔ  Ｌｅｖｅｌ又はＭａｘｉｍｕｍ  Ｆｒａｍｅ−Ａｖｅｒａｇｅ  Ｌｉｇｈｔ  Ｌｅｖｅｌを算出する処理の中で算出された前記画素値を用いて行われることを特徴とする請求項２又は３に記載の符号化装置。
【請求項５】
前記ブロックサイズ制限手段は、前記輝度情報が示す輝度が第１の範囲内である場合に、前記ブロックサイズの上限を第１のサイズに設定することを特徴とする請求項１乃至４のいずれか１項に記載の符号化装置。
【請求項６】
前記ブロックサイズ制限手段は、更に、前記輝度が前記第１の範囲内よりも低い第２の範囲内であると判断した場合に、前記ブロックサイズの上限を第２のサイズに設定することを特徴とする請求項５に記載の符号化装置。
【請求項７】
前記第２のサイズは、前記第１のサイズよりも大きいことを特徴とする請求項６に記載の符号化装置。
【請求項８】
前記ブロックサイズ制限手段は、前記輝度が前記第１の範囲内である第１輝度領域と、前記輝度が第２の範囲内である第２輝度領域とが隣接する場合に、前記第１輝度領域と第２輝度領域との境界が同一のブロックに含まれるように前記ブロックサイズ制限情報を更新することを特徴とする請求項６又は７に記載の符号化装置。
【請求項９】
前記ブロックサイズ制限手段は、前記輝度の分散値に応じて、前記ブロックサイズ制限情報を更新することを特徴とする請求項６乃至８のいずれか１項に記載の符号化装置。
【請求項１０】
前記ブロックサイズ制限手段は、前記画像の伝達関数がＰｅｒｃｅｐｔｕａｌ  Ｑｕａｎｔｉｚｅｒ又は、Ｈｙｂｒｉｄ  Ｌｏｇ  Ｇａｍｍａに対応するものである場合に前記ブロックサイズの上限を最大ブロックサイズよりも小さい値に制限するように前記ブロックサイズ制限情報を生成することを特徴とする請求項１乃至９のいずれか１項に記載の符号化装置。
【請求項１１】
前記ブロックサイズ制限手段は、前記画素の各々の前記画素値から算出された前記輝度情報に基づいて、画素単位で判断を行って前記ブロックサイズ制限情報を生成することを特徴とする請求項１乃至１０のいずれか１項に記載の符号化装置。
【請求項１２】
前記ブロックサイズ制限手段は、複数の前記画素を含む画素群を単位として算出された前記輝度情報に基づいて、画素群単位で判断を行って前記ブロックサイズ制限情報を生成することを特徴とする請求項１乃至１０のいずれか１項に記載の符号化装置。
【請求項１３】
前記ブロックは、マクロブロック、Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ、Ｃｏｄｉｎｇ  Ｕｎｉｔ、Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ又はＴｒａｎｓｆｏｒｍ  Ｕｎｉｔのいずれかであることを特徴とする請求項１乃至１２のいずれか１項に記載の符号化装置。
【請求項１４】
前記符号化手段は、前記ブロックサイズ制限情報に基づいて前記ブロックの量子化パラメータの割り当ての優先度を設定することを特徴とする請求項１乃至１３のいずれか１項に記載の符号化装置。
【請求項１５】
画像を構成する複数の画素の画素値に基づく輝度情報を取得するステップと、
前記輝度情報に基づいて、前記複数の画素を含むブロックにおけるブロックサイズの上限に関するブロックサイズ制限情報を生成するステップと、
前記ブロックサイズ制限情報に基づいて設定された前記ブロックを単位として前記画像の符号化を行うステップと
を有することを特徴とする符号化方法。
【請求項１６】
コンピュータに、
画像を構成する複数の画素の画素値に基づく輝度情報を取得するステップと、
前記輝度情報に基づいて、前記複数の画素を含むブロックにおけるブロックサイズの上限に関するブロックサイズ制限情報を生成するステップと、
前記ブロックサイズ制限情報に基づいて設定された前記ブロックを単位として前記画像の符号化を行うステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、符号化装置及び符号化方法に関する。
【背景技術】
【０００２】
動画像データを圧縮符号化する画像処理装置として撮像装置、携帯型通信装置等が知られている。このような画像処理装置は、撮像部によって動画像信号を取得し、取得した動画像信号を圧縮符号化し、圧縮符号化が行われた動画像ファイルを記録媒体に記録する。従来、圧縮符号化前の画像データは１００ｎｉｔｓの輝度レベルを上限とするＳＤＲ（Ｓｔａｎｄａｒｄ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）で表現されたものであった。しかしながら、近年では、輝度レベルの上限を１００００ｎｉｔｓ程度にまで拡張させたＨＤＲ（Ｈｉｇｈ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）で表現され、人が知覚できる輝度範囲に近い輝度範囲を有する画像データが提供されている。
【０００３】
ＨＤＲ画像を復号する際には、逆対数変換が行われる。この逆対数変換において、非可逆圧縮で生じた誤差が増幅し、ＨＤＲ画像の画質が劣化することがある。特許文献１は、対数逆変換による誤差の拡大が比較的小さな輝度領域、又は、誤差が拡大しない輝度領域に量子化誤差が集中するように量子化を行い、量子化により得られたインデックス画像を符号化する方法を開示している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１０６３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１において、量子化を行う際の符号化の単位となるブロックのサイズについては考慮されていない。そのため、ブロックサイズが大きい場合には、符号化による画質の劣化が広範囲に広がることがある。
【０００６】
本発明は、符号化による画質の劣化を低減し得る符号化装置及び符号化方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一観点によれば、画像を構成する複数の画素の画素値に基づく輝度情報を取得する輝度情報取得手段と、前記輝度情報に基づいて、前記複数の画素を含むブロックにおけるブロックサイズの上限に関するブロックサイズ制限情報を生成するブロックサイズ制限手段と、前記ブロックサイズ制限情報に基づいて設定された前記ブロックを単位として前記画像の符号化を行う符号化手段とを有することを特徴とする符号化装置が提供される。
【０００８】
本発明の他の観点によれば、画像を構成する複数の画素の画素値に基づく輝度情報を取得するステップと、前記輝度情報に基づいて、前記複数の画素を含むブロックにおけるブロックサイズの上限に関するブロックサイズ制限情報を生成するステップと、前記ブロックサイズ制限情報に基づいて設定された前記ブロックを単位として前記画像の符号化を行うステップとを有することを特徴とする符号化方法が提供される。
【発明の効果】
【０００９】
本発明によれば、符号化による画質の劣化を低減し得る符号化装置及び符号化方法が提供される。
【図面の簡単な説明】
【００１０】
【図１】第１実施形態による画像処理装置を示すブロック図である。
【図２】第１実施形態による画像処理装置に備えられている符号化処理部を示すブロック図である。
【図３】第１実施形態によるブロックの構成を示す図である。
【図４】第１実施形態による符号化処理部の動作を示すフローチャートである。
【図５】第１実施形態による輝度情報算出部の動作を示すフローチャートである。
【図６】第１実施形態によるブロックサイズ制限部の動作を示すフローチャートである。
【図７】第２実施形態によるブロックサイズ制限部の動作を示すフローチャートである。
【図８】第３実施形態による符号化処理部の動作を示すフローチャートである。
【図９】第３実施形態によるＣＰＵによって行われる輝度情報算出の動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
本発明の実施の形態を、添付の図面を参照して以下に詳細に説明するが、本発明は、以下の実施形態に限定されるものではない。
【００１２】
［第１実施形態］
第１実施形態による符号化装置及び符号化方法について、図面を参照して詳細に説明する。図１は、本実施形態による画像処理装置１００を示すブロック図である。図１に示すように、本実施形態による画像処理装置１００は、ＣＰＵ１０１と、メモリ１０２と、不揮発性メモリ１０３と、操作部１０４と、撮像部１１２と、画像処理部１１３と、符号化処理部１１４と、表示制御部１１５と、表示部１１６とを有している。更に、本実施形態による画像処理装置１００は、通信制御部１１７と、通信部１１８と、記録媒体制御部１１９と、内部バス１３０とを有している。画像処理装置１００は、撮影レンズ１１１を用いて被写体の光学像を撮像部１１２の画素アレイに結像するが、撮影レンズ１１１は、画像処理装置１００のボディ（筐体、本体）から、着脱不能であってもよいし、着脱可能であってもよい。また、画像処理装置１００は、記録媒体制御部１１９を介して画像データの書き込み及び読み出しを記録媒体１２０に対して行う。記録媒体１２０は、画像処理装置１００に着脱可能であってもよいし、着脱不能であってもよい。
【００１３】
ＣＰＵ１０１は、不揮発性メモリ１０３に記憶されているコンピュータプログラムを実行することによって、内部バス１３０を介して画像処理装置１００の各部（各機能ブロック）の動作を制御する。
【００１４】
メモリ１０２は、書き換え可能な揮発性メモリである。メモリ１０２は、画像処理装置１００の各部の動作を制御するためのコンピュータプログラム、画像処理装置１００の各部の動作に関するパラメータ等の情報、通信制御部１１７によって受信される情報等を一時的に記録する。また、メモリ１０２は、撮像部１１２によって取得された画像、画像処理部１１３、符号化処理部１１４等によって処理された画像及び情報を一時的に記録する。メモリ１０２は、これらを一時的に記録するために十分な記憶容量を備えている。
【００１５】
不揮発性メモリ１０３は、電気的に消去及び記録が可能なメモリであり、例えばＥＥＰＲＯＭ等が用いられる。不揮発性メモリ１０３は、画像処理装置１００の各部の動作を制御するコンピュータプログラム及び画像処理装置１００の各部の動作に関するパラメータ等の情報を記憶する。当該コンピュータプログラムにより、本実施形態による画像処理装置１００によって行われる各種動作が実現される。
【００１６】
操作部１０４は、画像処理装置１００を操作するためのユーザインターフェースを提供する。操作部１０４は、電源ボタン、メニューボタン、撮影ボタン等の各種ボタンを含んでおり、各種ボタンはスイッチ、タッチパネル等により構成される。ＣＰＵ１０１は、操作部１０４を介して入力されたユーザの指示に従って画像処理装置１００を制御する。なお、ここでは、操作部１０４を介して入力される操作に基づいてＣＰＵ１０１が画像処理装置１００を制御する場合を例に説明したが、これに限定されるものではない。例えば、不図示のリモートコントローラ、不図示の携帯端末等から通信部１１８を介して入力される要求に基づいて、ＣＰＵ１０１が画像処理装置１００を制御してもよい。
【００１７】
撮影レンズ（レンズユニット）１１１は、ズームレンズ、フォーカスレンズ等を含む不図示のレンズ群、不図示のレンズ制御部、不図示の絞り等によって構成される。撮影レンズ１１１は、画角を変更するズーム手段として機能し得る。レンズ制御部は、ＣＰＵ１０１から送信される制御信号により、焦点の調整及び絞り値（Ｆ値）の制御を行う。撮像部１１２は、動画像を構成する複数の画像を順次取得する取得手段として機能し得る。撮像部１１２としては、例えば、例えばＣＣＤ（電荷結合素子）、ＣＭＯＳ（相補型金属酸化膜半導体）素子等でのエリアイメージセンサが用いられる。撮像部１１２は、被写体の光学像を電気信号に変換する不図示の光電変換部が行列状、すなわち、２次元的に配列された不図示の画素アレイを有している。当該画素アレイには、被写体の光学像が撮影レンズ１１１によって結像される。撮像部１１２は、撮像した画像を画像処理部１１３又はメモリ１０２に出力する。なお、撮像部１１２は、静止画像を取得することも可能である。
【００１８】
画像処理部１１３は、撮像部１１２から出力される画像データ、又は、メモリ１０２から読み出された画像データに対し、所定の画像処理を行う。当該画像処理の例としては、補間処理、縮小処理（リサイズ処理）、色変換処理等が挙げられる。また、画像処理部１１３は、撮像部１１２によって取得された画像データを用いて、露光制御、測距制御等のための所定の演算処理を行う。画像処理部１１３による演算処理によって得られた演算結果に基づいて、露光制御、測距制御等がＣＰＵ１０１によって行われる。具体的には、ＡＥ（自動露出）処理、ＡＷＢ（オートホワイトバランス）処理、ＡＦ（オートフォーカス）処理等がＣＰＵ１０１によって行われる。
【００１９】
符号化処理部１１４は、画像データに対してフレーム内予測符号化（画面内予測符号化）、フレーム間予測符号化（画面間予測符号化）等を行うことによって、画像データのサイズを圧縮する。符号化処理部１１４は、例えば、半導体素子等により構成された符号化装置である。符号化処理部１１４は、画像処理装置１００の外部に設けられた符号化装置であってもよい。符号化処理部１１４は、例えば、Ｈ．２６５（ＩＴＵ  Ｈ．２６５又はＩＳＯ／ＩＥＣ２３００８−２）方式によって符号化処理を行う。符号化処理部１１４の詳細については、図２を用いて後述する。
【００２０】
表示制御部１１５は、表示部１１６を制御する。表示部１１６は、不図示の表示画面を備える。表示制御部１１５は、画像データに対してリサイズ処理、色変換処理等を行うことにより、表示部１１６の表示画面に表示可能な画像を生成し、当該画像、すなわち、画像信号を表示部１１６に出力する。表示部１１６は、表示制御部１１５から送られてくる画像信号に基づいて、表示画面に画像を表示する。表示部１１６は、表示画面にメニュー等の設定画面を表示する機能であるＯＳＤ（Ｏｎ  Ｓｃｒｅｅｎ  Ｄｉｓｐｌａｙ）機能を備えている。表示制御部１１５は、画像信号にＯＳＤ画像を重畳して表示部１１６に画像信号を出力し得る。表示部１１６は、液晶ディスプレイ、有機ＥＬディスプレイ等により構成されており、表示制御部１１５から送られてきた画像信号を表示する。表示部１１６は、例えばタッチパネルであってもよい。表示部１１６がタッチパネルである場合、表示部１１６は、操作部１０４としても機能し得る。
【００２１】
通信制御部１１７は、ＣＰＵ１０１に制御される。通信制御部１１７は、ＩＥＥＥ８０２．１１等によりあらかじめ定められた無線通信規格に適合する変調信号を生成して、当該変調信号を通信部１１８に出力する。また、通信制御部１１７は、無線通信規格に適合する変調信号を、通信部１１８を介して受信し、受信した変調信号を復号し、復号した信号に応じた信号をＣＰＵ１０１に出力する。通信制御部１１７は、通信設定を記憶するためのレジスタを備えている。通信制御部１１７は、ＣＰＵ１０１からの制御によって、通信時の送受信感度を調整し得る。通信制御部１１７は、所定の変調方式で送受信を行うことができる。通信部１１８は、通信制御部１１７から供給される変調信号を画像処理装置１００の外部にある情報通信機器等の外部機器１２７へ出力し、また、外部機器１２７からの変調信号を受信するアンテナを備えている。また、通信部１１８には、通信用の回路等が備えられている。なお、ここでは、通信部１１８によって無線通信が行われる場合を例に説明したが、通信部１１８によって行われる通信は無線通信に限定されるものではない。例えば、配線等を用いた電気的な接続によって通信部１１８と外部機器１２７とが接続されてもよい。
【００２２】
記録媒体制御部１１９は、記録媒体１２０を制御する。記録媒体制御部１１９は、ＣＰＵ１０１からの要求に基づいて、記録媒体１２０を制御するための制御信号を記録媒体１２０に出力する。記録媒体１２０としては、例えば不揮発性メモリや磁気ディスク等が用いられる。記録媒体１２０は、上述したように、着脱可能であってもよいし、着脱不能であってもよい。記録媒体１２０は、符号化された画像データ等を記録する。記録媒体１２０のファイルシステムに適合した形式で画像データ等がファイルとして保存される。ファイルとしては、例えば、ＭＰ４ファイル（ＩＳＯ/ＩＥＣ  １４４９６-１４:２００３）、ＭＸＦ（Ｍａｔｅｒｉａｌ  ｅＸｃｈａｎｇｅ  Ｆｏｒｍａｔ）ファイル等が挙げられる。各々の機能ブロック１０１〜１０４、１１２〜１１５、１１７、１１９は、内部バス１３０を介して互いにアクセス可能となっている。
【００２３】
＜符号化処理部＞
図２は、本実施形態による画像処理装置１００に備えられている符号化処理部１１４を示すブロック図である。図２においては、符号化処理部１１４とメモリ１０２とが抜き出して示されている。符号化処理部１１４は、例えば、動画圧縮規格の１つであるＨ．２６５の符号化方式によって符号化を行う。
【００２４】
輝度情報取得部２０１は、メモリ１０２から符号化対象となる画像データを取得し、画像データの画素値に基づいて各画素、又は複数の画素を含む画素群に対応する輝度情報を算出することにより輝度情報の取得を行う。すなわち、輝度情報取得部２０１は輝度情報取得手段として機能する。算出された輝度情報は、メモリ１０２に一旦保存してもよく、輝度情報取得部２０１からブロックサイズ制限部２０２に直接送信してもよい。なお、輝度情報は、各画素の輝度に関する情報を含み得る。具体的には、輝度情報は、各画素の輝度を含んでもよく、複数の画素の輝度から算出された輝度の平均値、合計値、最大値、最小値等の加工後の値を含んでもよい。
【００２５】
ブロックサイズ制限部２０２は、画像の符号化の単位であるブロックのサイズ（ブロックサイズ）の上限の制限に関するブロックサイズ制限情報を生成し、メモリ１０２に保存することによりブロックサイズ制限情報の設定を行う。また、ブロックサイズ制限部２０２は、設定されたブロックサイズ制限情報の更新を行う。すなわち、ブロックサイズ制限部２０２はブロックサイズ制限手段として機能する。ここでブロックとしては、マクロブロック、Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ（ＣＴＵ）、Ｃｏｄｉｎｇ  Ｕｎｉｔ（ＣＵ）、Ｐｒｅｄｉｃｔｉｏｎ  Ｕｎｉｔ（ＰＵ）、Ｔｒａｎｓｆｏｒｍ  Ｕｎｉｔ（ＴＵ）等が用いられ得る。マクロブロックはＨ.２６４規格における符号化の単位である。ＣＴＵ、ＣＵ、ＰＵ、ＴＵはＨ．２６５規格における符号化の単位である。ＣＴＵは、Ｈ．２６５規格において各画像の符号化処理を行うブロックの単位である。ＣＵはＣＴＵを再帰的に分割するためのブロックの単位である。ＰＵはＣＵを予測処理用に分割するためのブロックの単位である。ＴＵはＣＵを変換処理用に分割するためのブロックの単位である。
【００２６】
ブロックサイズ制限部２０２は、輝度情報取得部２０１から受信した輝度情報、あるいはメモリ１０２から取得した輝度情報に基づいて、各ブロックのうちのいずれか、又は全てのブロックサイズの範囲の制限を規定するブロックサイズ制限情報を生成する。そして、ブロックサイズ制限部２０２は、ブロックサイズ制限情報を予測符号化方法決定部２０３へ出力する。また、ブロックサイズ制限部２０２は、予測符号化条件情報として、ある着目画素ブロックを符号化する際に、その着目画素ブロック（符号化対象ブロック）の予測画素ブロックを取得する範囲を規定する情報を予測符号化方法決定部２０３に出力する。
【００２７】
予測符号化方法決定部２０３は、ブロックサイズ制限部２０２から入力される予測符号化条件情報に基づいて、符号化対象領域内の各画素ブロックに対する予測符号化方法を決定する。予測符号化方法決定部２０３は、入力される画像信号と、メモリ１０２から読み出した符号化済みの画素値とから、簡易的なフレーム内予測又は動き検出を含むフレーム間予測処理を行うことによって、符号化効率を示す評価値を算出する。そして、予測符号化方法決定部２０３は、符号化効率が最良となる予測符号化方式を決定する。符号化対象の画素ブロックがＩスライスの場合には、予測符号化方法決定部２０３は、フレーム内の予測画素のブロックサイズと予測モードとを決定する。符号化画素ブロックがＰスライス又はＢスライスの場合には、フレーム内予測又はフレーム間予測の内、符号化効率の高い方を選択する。なお、フレーム内の全てのスライスがＩスライスであるフレームはＩフレームと称され、フレーム内の全てのスライスがＰスライスであるフレームはＰフレームと称され、フレーム内の全てのスライスがＢスライスであるフレームはＢフレームと称される。予測符号化方法決定部２０３は、フレーム内予測の場合にはブロックサイズ制限情報に基づき、フレーム内の予測画素のブロックサイズ、フレーム内予測モード等のフレーム内予測符号化用パラメータを決定する。更に、予測符号化方法決定部２０３は、ブロックサイズ制限情報に基づき、制限内に収まるようにフレーム内の予測画素のブロックサイズを分割する。予測符号化方法決定部２０３は、ブロックサイズ制限情報が無い場合には、フレーム内の予測画素のブロックサイズを決定する。また、予測符号化方法決定部２０３は、フレーム間予測の場合には、参照フレーム、画素ブロックの分割パターン、動きベクトル等のフレーム間予測符号化用パラメータを決定する。更に、予測符号化方法決定部２０３は、ブロックサイズ制限情報に基づき、制限内に収まるように画素ブロックの分割パターンを変更する。予測符号化方法決定部２０３は、決定した予測符号化用パラメータを予測符号化処理部２０４に出力する。
【００２８】
予測符号化処理部２０４は、符号化対象のフレーム中の着目画素ブロックを符号化する際、以下のように動作する。すなわち、予測符号化処理部２０４は、予測符号化方法決定部２０３によって決定された予測符号化用パラメータに応じて、メモリ１０２から読み出した符号化済み画像から予測画素ブロックを生成する。そして、予測符号化処理部２０４は、着目画素ブロックと予測画素ブロックとの差分である予測残差ブロックを、直交変換・量子化部２０５に出力する。また、予測符号化処理部２０４は、予測画素ブロックを局所復号化部２０６にも出力する。
【００２９】
直交変換・量子化部２０５は、予測符号化処理部２０４から供給される予測残差ブロックに対して直交変換処理を行う。また、直交変換・量子化部２０５は、符号量制御部２０７によって設定された量子化パラメータに応じた量子化ステップを用いて、直交変換処理により得られた係数を量子化する。直交変換・量子化部２０５は、量子化後の係数、すなわち、量子化データを、エントロピー符号化部２０８と局所復号化部２０６とに出力する。
【００３０】
局所復号化部２０６は、直交変換・量子化部２０５から入力される量子化データに対して、逆量子化処理及び逆直交変換処理を行うことによって、予測残差データを生成する。そして、局所復号化部２０６は、生成された予測残差データに、予測符号化処理部２０４から入力される予測画像を加算して復号化処理を行い、復号化処理によって得られた画素ブロックによって示される画像データをメモリ１０２に格納する。メモリ１０２に格納された復号化処理後の画像データは、フレーム内予測処理に利用される。更に、デブロッキングフィルタ処理が施された復号化データがメモリ１０２に保持される。メモリ１０２に保持されたデブロッキングフィルタ処理後の復号化データは、フレーム間予測処理にも利用される。
【００３１】
符号量制御部２０７は、符号化ピクチャバッファがオーバーフロー又はアンダーフローしないように符号化データの符号量を制御する。符号量制御部２０７は、エントロピー符号化部２０８から供給されるエントロピー符号化後の発生符号量に基づいて、後続のフレームに対する量子化パラメータを生成し、生成された量子化パラメータを直交変換・量子化部２０５に供給する。なお、符号量制御部２０７は、ブロックサイズ制限部２０２で設定された量子化優先度情報に基づいて、例えば重み付け量子化係数を変更することにより量子化パラメータを調整する。
【００３２】
エントロピー符号化部２０８は、入力される量子化データに対してスライス単位にＣＡＢＡＣ（コンテキスト適応型２値算術符号化）によるエントロピー符号化処理を行う。エントロピー符号化部２０８は、入力される多値の量子化データを２値のデータに変換する２値化部と、２値化部によって生成される２値化データを格納する２値化データメモリとを有している。また、エントロピー符号化部２０８は、２値化データの発生確率をコンテキストに応じて計算し、計算によって求められた２値データの発生確率を保持するコンテキスト計算部を有する。また、エントロピー符号化部２０８は、コンテキスト計算部から供給される２値データの発生確率に応じて算術符号化を行う算術符号化部を有する。こうして符号化されたデータを多重化処理部２０９に出力するとともに、エントロピー符号化後の発生符号量を符号量制御部２０７に出力する。
【００３３】
以上のように、予測符号化方法決定部２０３、予測符号化処理部２０４、直交変換・量子化部２０５、局所復号化部２０６、符号量制御部２０７及びエントロピー符号化部２０８の一部又は全部は、符号化手段として機能する。この符号化手段による画像の符号化はブロックサイズ制限情報に基づき設定されるブロックを単位として行われる。
【００３４】
多重化処理部２０９は、画像の符号化の開始の際には、符号化対象のフレームのサイズ等の各種シンタックス情報に符号化された画像データを付加することでストリームデータを生成してメモリ１０２に保存する。
【００３５】
符号化処理部１１４のＣＰＵ２１０は、不揮発性メモリ１０３に記憶されているコンピュータプログラムを実行することによって、符号化処理部１１４の各部の動作を制御する。メモリ１０２は、符号化処理部１１４の各部の動作を制御するコンピュータプログラム、各部の動作に関するパラメータ等の情報を一時的に記憶する。
【００３６】
＜ブロックの構成＞
図３（ａ）、図３（ｂ）及び図３（ｃ）は、本実施形態における、ブロックの構成の一例を示す図である。図３（ａ）に示されるように、動画像を構成する１つの画像であるフレーム３００は、最大ブロックサイズである複数のブロック３０１に分割することができる。複数のブロック３０１は、図３（ａ）において、Ａ１、Ａ２、Ａ３、Ａ４、…、Ｂ１、Ｂ２、…と示されている。各種ブロックにおける最大ブロックサイズについて説明する。ブロック３０１がマクロブロックである場合、ブロック３０１は、１６×１６個の画素３０２で構成される。ブロック３０１がＣＴＵ、ＣＵ、ＰＵである場合、ブロック３０１は、６４×６４個の画素３０２で構成される。ブロック３０１がＴＵである場合、ブロック３０１は、３２×３２個の画素３０２で構成される。
【００３７】
図３（ｂ）及び図３（ｃ）は、ブロック３０１の構成例を示す図である。図３（ｂ）に示されるように、ブロック３０１を各々が複数の画素３０２を含む複数の画素群３０３に分割して、画素群３０３に含まれる各画素３０２の輝度の平均値、合計値等を画素群３０３の輝度としてもよい。この場合、画素群３０３を画素３０２と同視して扱うことができる。このように、画素３０２又は画素群３０３は、輝度情報取得部２０１における輝度情報の算出を行う際の最小単位となる。
【００３８】
図３（ｃ）は、最大ブロックサイズであるブロック３０１の分割の例を示す図である。上述のように、予測符号化方法決定部２０３は、ブロックサイズを決定する。例えば、ブロック３０１がＣＵの場合においては、最大ブロックサイズでは、ブロック３０１は６４×６４個の画素３０２で構成され、ブロック３０１は、ブロック３０４ａ、３０４ｂ、３０４ｃのような異なるサイズの複数のブロックに分割することができる。各ブロック３０４ａ、３０４ｂ、３０４ｃには、輝度情報の算出を行う複数の画素３０２又は複数の画素群３０３が含まれる。なお、マクロブロック、ＣＴＵ、ＰＵ、ＴＵにおいても同様にしてブロック３０１を複数のブロックに分割することができる。
【００３９】
＜符号化処理部１１４の動作＞
図４は、本実施形態による符号化処理部１１４の動作を示すフローチャートである。この動作は、画像処理装置１００の電源がオンの状態において、不揮発性メモリ１０３に格納されているプログラムがメモリ１０２に展開され、符号化処理部１１４内のＣＰＵ２１０がメモリ１０２のプログラムを読み出して実行することにより実現される。図４のフローチャートによる処理は、フレームごとに実行されるものであり、当該処理は定期的に繰り返し実行されてもよい。
【００４０】
ステップＳ４０１において、ＣＰＵ２１０は、画像処理部１１３がメモリ１０２に保存した伝達関数情報をメモリ１０２から取得する。その後、ＣＰＵ２１０は、処理をステップＳ４０１からステップＳ４０２に移行させる。
【００４１】
ステップＳ４０２において、ＣＰＵ２１０は、ステップＳ４０１においてメモリ１０２から取得した伝達関数情報が所定のＨＤＲ方式に対応する所定の伝達関数を示すものであるか否かを判断する。所定の伝達関数の一例としては、ＰＱ（Ｐｅｒｃｅｐｔｕａｌ  Ｑｕａｎｔｉｚｅｒ）、又は、ＨＬＧ（Ｈｙｂｒｉｄ  Ｌｏｇ  Ｇａｍｍａ）が挙げられる。ＣＰＵ２１０は、伝達関数情報が、所定のＨＤＲ方式に対応するものであると判断した場合（ステップＳ４０２においてＹＥＳ）、処理をステップＳ４０２からステップＳ４０３に移行させる。ＣＰＵ２１０は、伝達関数情報が、所定のＨＤＲ方式に対応するものでないと判断した場合（ステップＳ４０２においてＮＯ）、処理をステップＳ４０２からステップＳ４０８に移行させる。
【００４２】
ステップＳ４０３において、ＣＰＵ２１０は、画像処理部１１３によりメモリ１０２に画像データが書き込まれたことを確認し、メモリ１０２内の画像データが格納されているアドレスを示すアドレス情報を取得する。その後、ＣＰＵ２１０は、処理をステップＳ４０３からステップＳ４０４に移行させる。
【００４３】
ステップＳ４０４において、ＣＰＵ２１０は、輝度情報取得部２０１に対してメモリ１０２に格納されている画像データのアドレス情報を出力する。輝度情報取得部２０１は、画像データに含まれる画素値から画素３０２又は画素群３０３に対応する輝度情報を算出することにより輝度情報を取得する。なお、輝度情報の算出処理の詳細に関しては後述する。その後、ＣＰＵ２１０は、処理をステップＳ４０４からステップＳ４０５に移行させる。
【００４４】
ステップＳ４０５において、ＣＰＵ２１０は、画像処理装置１００内にあらかじめ決められている設定情報に基づいて、ブロックサイズ制限の判断を画素単位で行うか、あるいは画素群単位で行うかを判断する。画像処理装置１００内にあらかじめ決められている設定情報とは、例えば、撮影モード、解像度等の設定についての情報である。例えば、撮影モードが高フレームレートのモードに設定されている場合には、画素群単位で処理を行うことで処理を高速化することができる。同様に、解像度が高い設定となっている場合にも、画素群単位で処理を行うことで処理を高速化することができる。ＣＰＵ２１０は、画素単位でブロックサイズ制限を行うと判断した場合（ステップＳ４０５において「画素単位」）、処理をステップＳ４０５からステップＳ４０６に移行させる。ＣＰＵ２１０は、画素群単位でブロックサイズの制限を行うと判断した場合（ステップＳ４０５において「画素群単位」）、処理をステップＳ４０５からステップＳ４０７に移行させる。
【００４５】
ステップＳ４０６において、ＣＰＵ２１０は、ブロックサイズ制限部２０２を制御することにより、画素単位でブロックサイズの制限を判断し、ブロックサイズ制限情報を生成する。ブロックサイズ制限部２０２における処理の詳細に関しては後述する。ＣＰＵ２１０は、処理をステップＳ４０６からステップＳ４０８に移行させる。
【００４６】
ステップＳ４０７において、ＣＰＵ２１０は、ブロックサイズ制限部２０２を制御することにより、画素群単位でブロックサイズの制限を判断し、ブロックサイズ制限情報を生成し、メモリ１０２に保存する。ブロックサイズ制限部２０２における処理の詳細に関しては後述する。ＣＰＵ２１０は、処理をステップＳ４０７からステップＳ４０８に移行させる。
【００４７】
ステップＳ４０８において、ＣＰＵ２１０は、メモリ１０２に保存されたブロックサイズ制限情報に基づいて、量子化の際における各ブロックの量子化パラメータの割り当てについての優先度を設定する。ブロックサイズ制限情報によりブロックサイズの上限が制限されているブロックに対しては量子化パラメータの割り当ての優先度を高く設定し、その他のブロックに対しては優先度を低く設定する。また、ＣＰＵ２１０は、ブロックサイズの上限の制限の程度に応じて、優先度に重み付けをしてもよい。例えば、ＴＵのブロックにおいて、ブロックサイズの上限が１６×１６個に制限されているブロックよりも、上限が８×８個に制限されているブロックの量子化パラメータの割り当てを優先させるように優先度の重み付けを設定することができる。その後、ＣＰＵ２１０は、処理をステップＳ４０８からステップＳ４０９に移行させる。
【００４８】
ステップＳ４０９において、ＣＰＵ２１０は、予測符号化方法決定部２０３、予測符号化処理部２０４、直交変換・量子化部２０５、局所復号化部２０６、符号量制御部２０７及びエントロピー符号化部２０８を制御して符号化処理を実行する。予測符号化方法決定部２０３は、ブロックサイズ制限情報に基づいて各ブロックのサイズを決定する。当該符号化処理は、このブロックを単位として行われる。その後、ＣＰＵ２１０は、処理をステップＳ４０９からステップＳ４１０に移行させる。
【００４９】
ステップＳ４１０において、ＣＰＵ２１０は、多重化処理部２０９を制御し、符号化された画像データに各種シンタックス情報を付加してストリームデータを生成し、生成されたストリームデータをメモリ１０２に保存する。その後、ＣＰＵ２１０は、本フローチャートにおける処理を終了する。なお、シンタックス情報にはＣＥＡ−８６１．３規格で定められているＭａｘｉｍｕｍ  Ｃｏｎｔｅｎｔ  Ｌｉｇｈｔ  Ｌｅｖｅｌ（ＭａｘＣＬＬ）、Ｍａｘｉｍｕｍ  Ｆｒａｍｅ−Ａｖｅｒａｇｅ  Ｌｉｇｈｔ  Ｌｅｖｅｌ（ＭａｘＦＡＬＬ）が含まれる。
【００５０】
なお、図４に示すフローチャートにおける処理は、ＣＰＵ２１０を介在させずに各ブロックが実行することにより実現されてもよい。また、各ブロックは上述の処理の一部を並行して行ってもよい。
【００５１】
＜輝度情報取得部２０１の動作＞
図５は、本実施形態による輝度情報取得部２０１の動作を示すフローチャートである。本処理は、図４のステップＳ４０４における符号化処理部１１４の輝度情報取得部２０１の処理に関してより詳細に説明したものである。
【００５２】
ステップＳ５０１において、輝度情報取得部２０１は、メモリ１０２から画像データを読み出す。輝度情報取得部２０１は、読み出された画像データの画素値がＹＵＶ形式、ＹＣｂＣｒ形式等である場合には、当該画像データの画素値からガンマ補正後のＲＧＢデータ（以下、ガンマ補正後のＲＧＢデータをＲ’Ｇ’Ｂ’データと呼ぶ）を算出する。その後、輝度情報取得部２０１は、算出されたＲ’Ｇ’Ｂ’データをメモリ１０２に保存する。輝度情報取得部２０１は、メモリ１０２からＲ’Ｇ’Ｂ’データを読み出し、Ｒ’Ｇ’Ｂ’データに対して、デガンマ処理を行いリニアなＲＧＢデータを算出してメモリ１０２に保存する。輝度情報取得部２０１は、メモリ１０２からＲＧＢデータを読み出し、ＲＧＢデータの中の最大値を算出して、ＭａｘＣＬＬ値として取得する。更に、輝度情報取得部２０１は、ＲＧＢデータの中での平均値を算出してＭａｘＦＡＬＬ値として取得する。輝度情報取得部２０１は、算出されたＭａｘＣＬＬ及びＭａｘＦＡＬＬを、輝度情報として、ブロックサイズ制限部２０２に送信し、又はメモリ１０２に保存する。その後、輝度情報取得部２０１は、処理をステップＳ５０１からステップＳ５０２に移行させる。
【００５３】
ステップＳ５０２において、輝度情報取得部２０１は、メモリ１０２から読み出した画像データの各画素３０２の画素値から、各画素３０２の輝度を取得する。なお、ステップＳ５０２の処理は、輝度がＲＧＢデータから取得される場合には、ステップＳ５０１におけるＭａｘＣＬＬを算出する処理又はＭａｘＦＡＬＬを算出する処理の中で算出されたＲＧＢデータ等の画素値を用いて行われてもよい。その後、輝度情報取得部２０１は、処理をステップＳ５０２からステップＳ５０３に移行させる。
【００５４】
ステップＳ５０３において、輝度情報取得部２０１は、メモリ１０２から画像データを読み出し、所定の画素群３０３単位で各画素群３０３の輝度の平均値、合計値、最大値、最小値等を算出する。なお、ステップＳ５０３の処理は、各画素群３０３の輝度がＲＧＢデータから算出される場合には、ステップＳ５０１におけるＭａｘＣＬＬを算出する処理又はＭａｘＦＡＬＬを算出する処理の中で算出されたＲＧＢデータ等の画素値を用いて行われてもよい。その後、輝度情報取得部２０１は、本フローチャートにおける処理を終了する。なお、図５に示すフローチャートの各ステップの処理は、輝度情報取得部２０１に代えてＣＰＵ２１０が行ってもよい。
【００５５】
＜ブロックサイズ制限部２０２の動作＞
図６は、本実施形態によるブロックサイズ制限部２０２の動作を示すフローチャートである。本処理は、図４のステップＳ４０６又はステップＳ４０７における符号化処理部１１４のブロックサイズ制限部２０２の処理に関して詳細に説明したものである。処理が画素単位で行われる場合はステップＳ４０６における処理となり、処理が画素群単位で行われる場合はステップＳ４０７の処理となる。
【００５６】
ステップＳ６０１において、ブロックサイズ制限部２０２は、ブロックサイズを仮決定する。一例として、本ステップで仮決定するブロックサイズは、ＣＴＵ、ＣＵ、ＰＵ、ＴＵ等の最大ブロックサイズとしてもよい。その後、ブロックサイズ制限部２０２は、処理をステップＳ６０１からステップＳ６０２に移行させる。
【００５７】
ステップＳ６０２において、ブロックサイズ制限部２０２は、処理を行うブロックを選択する。本フローチャートにおいて、ループ処理によりステップＳ６０２が繰り返し実行されるごとに順次異なるブロックが選択される。ブロックの選択の順序は、例えば、いわゆるラスター順とすることができる。ラスター順とは、例えば、初回には、フレーム内の左上のブロックを選択し、次の回には、前回選択したブロックの右側のブロックを選択し、右端のブロックを選択した後は１つ下の行の左端のブロックを選択し、以下これを繰り返すという順序である。ブロックの選択の終了後、ブロックサイズ制限部２０２は、処理をステップＳ６０２からステップＳ６０３に移行させる。
【００５８】
ステップＳ６０３において、ブロックサイズ制限部２０２は、選択されたブロック内の画素３０２又は画素群３０３において、輝度情報が示す輝度が第１の範囲内であるか否かを判断する。ブロックサイズ制限部２０２は、画素３０２又は画素群３０３における輝度が第１の範囲内である場合には（ステップＳ６０３においてＹＥＳ）、処理をステップＳ６０３からステップＳ６０４に移行させる。ブロックサイズ制限部２０２は、画素３０２又は画素群３０３における輝度が第１の範囲外である場合（ステップＳ６０３においてＮＯ）、処理をステップＳ６０３からステップＳ６０５に移行させる。
【００５９】
ステップＳ６０４において、ブロックサイズ制限部２０２は、選択されたブロック内のブロックサイズの上限を所定の第１のサイズに制限するようにブロックサイズ制限情報を更新してメモリ１０２に保存する。その後、ブロックサイズ制限部２０２は、処理をステップＳ６０４からステップＳ６０７に移行させる。
【００６０】
ステップＳ６０５において、ブロックサイズ制限部２０２は、選択されたブロック内の画素３０２又は画素群３０３において、輝度情報が示す輝度が、第１の範囲内よりも低い輝度である第２の範囲内であるか否かを判断する。ブロックサイズ制限部２０２は、画素３０２又は画素群３０３における輝度が第２の範囲内であると判断した場合には（ステップＳ６０５においてＹＥＳ）、処理をステップＳ６０５からステップＳ６０６に移行させる。ブロックサイズ制限部２０２は、画素３０２又は画素群３０３の輝度が第２の範囲外であると判断した場合（ステップＳ６０５においてＮＯ）、処理をステップＳ６０５からステップＳ６０７に移行させる。
【００６１】
ステップＳ６０６において、ブロックサイズ制限部２０２は、選択されたブロック内のブロックサイズの上限を所定の第２のサイズに制限するようにブロックサイズ制限情報を更新してメモリ１０２に保存する。その後、ブロックサイズ制限部２０２は、処理をステップＳ６０６からステップＳ６０７に移行させる。なお、第２のサイズは第１のサイズよりも大きいサイズとして、ステップＳ６０６で設定されるブロックサイズの制限が、ステップＳ６０４で設定されるブロックサイズの制限よりも緩いものとすることが好ましい。この場合、ブロックサイズの上限の制限を輝度に応じて２段階に設定することができる。
【００６２】
なお、ブロックサイズ制限情報は、ブロックごとに、輝度が第１の範囲内又は第２の範囲内にある画素３０２又は画素群３０３のラスター順の番号で示されていてもよい。この場合、ブロックサイズ制限情報は、ブロック番号と、輝度が第１の範囲内である画素３０２又は画素群３０３の番号と、輝度が第２の範囲内である画素３０２又は画素群３０３の番号とを列挙した文字列により構成される。また、第１の範囲及び第２の範囲は、輝度の上限及び下限で規定される範囲であってもよく、所定の閾値を超える輝度というように下限のみで規定される範囲であってもよい。
【００６３】
ステップＳ６０７において、ブロックサイズ制限部２０２は、選択されたブロック内の全ての画素３０２又は全ての画素群３０３に対してステップＳ６０３からステップＳ６０６までの処理が実行されたか否かを判断する。ブロックサイズ制限部２０２は、選択されたブロック内の全ての画素３０２又は全ての画素群３０３に対して処理が実行されたと判断した場合（ステップＳ６０７においてＹＥＳ）、処理をステップＳ６０７からステップＳ６０８に移行させる。ブロックサイズ制限部２０２は、選択されたブロック内に処理が実行されていない画素３０２又は画素群３０３があると判断した場合（ステップＳ６０７においてＮＯ）、処理をステップＳ６０７からステップＳ６０３に移行させる。
【００６４】
ステップＳ６０８において、ブロックサイズ制限部２０２は、フレーム内の全てのブロックに対して、ステップＳ６０２からステップＳ６０７までの処理が実行されたか否かを判断する。ブロックサイズ制限部２０２は、フレーム内の全てのブロックに対して処理が実行されたと判断した場合（ステップＳ６０８においてＹＥＳ）、処理をステップＳ６０８からステップＳ６０９に移行させる。ブロックサイズ制限部２０２は、フレーム内に処理が実行されていないブロックがあると判断した場合（ステップＳ６０８においてＮＯ）、処理をステップＳ６０８からステップＳ６０２に移行させる。
【００６５】
ステップＳ６０９において、ブロックサイズ制限部２０２は、フレーム内のブロックサイズ制限情報にフレーム番号を付加して、メモリ１０２に保存し、本フローチャートにおける処理を終了させる。
【００６６】
なお、図６のフローチャートにおいては、輝度の判断を第１の範囲及び第２の範囲により行う場合が示されているが、同様にして３以上の範囲による輝度の判断を行ってもよい。また、輝度の判断を第１の範囲のみで行ってもよく、すなわち、ステップＳ６０５とステップＳ６０６を省略してもよい。また、図６のフローチャートにおける処理は、ＣＴＵ、ＣＵ、ＰＵ、ＴＵの各ブロックに対して実行されてもよく、ブロックの種類ごとにプロックサイズ制限情報が生成されてもよい。また、図６に示すフローチャートの各ステップの処理は、ブロックサイズ制限部２０２に代えてＣＰＵ２１０が行ってもよい。
【００６７】
本実施形態では、輝度が所定の範囲内、典型的には輝度が比較的大きい画素において、ブロックサイズの上限を制限することにより、ブロックサイズを小さくすることができる。これにより、輝度の大きい画素において特に顕著となる符号化の際の量子化による画質の劣化が及ぶ範囲を狭くすることができる。したがって、本実施形態によれば、符号化による画質の劣化を低減し得る符号化装置及び符号化方法が提供される。  
【００６８】
［第２実施形態］
第２実施形態による符号化装置及び符号化方法について、図面を参照して詳細に説明する。本実施形態と第１実施形態との相違点は、ブロックサイズ制限部２０２の動作である。本実施形態において、画像処理装置１００の構成は図１と同様であるため説明を省略する。また、本実施形態において、符号化処理部１１４の構成は図２と同様であるため説明を省略する。また、本実施形態において、符号化処理部１１４及び輝度情報取得部２０１の動作は、それぞれ、図４及び図５と同様であるため説明を省略する。
【００６９】
＜ブロックサイズ制限部２０２の動作＞
図７は、本実施形態によるブロックサイズ制限部２０２の動作を示すフローチャートである。本動作は、図４のステップＳ４０６又はステップＳ４０７における符号化処理部１１４のブロックサイズ制限部２０２の処理に関して詳細に説明したものである。処理が画素単位で行われる場合はステップＳ４０６における処理となり、処理が画素群単位で行われる場合はステップＳ４０７の処理となる。なお、以下の説明において、図６の説明と共通する部分については説明を省略又は簡略化することがある。
【００７０】
ステップＳ７０１において、ブロックサイズ制限部２０２は、ブロックサイズを仮決定する。当該処理は、図６のステップＳ６０１と同様である。その後、ブロックサイズ制限部２０２は、処理をステップＳ７０１からステップＳ７０２に移行させる。
【００７１】
ステップＳ７０２において、ブロックサイズ制限部２０２は、処理を行うブロックを選択する。当該処理は、図６のステップＳ６０２と同様である。ブロックの選択の終了後、ブロックサイズ制限部２０２は、処理をステップＳ７０２からステップＳ７０３に移行させる。
【００７２】
ステップＳ７０３において、ブロックサイズ制限部２０２は、選択されたブロック内の画素３０２又は画素群３０３において、輝度情報が示す輝度が第１の範囲内であるか否かを判断する。ブロックサイズ制限部２０２は、画素３０２又は画素群３０３における輝度が第１の範囲内である場合には（ステップＳ７０３においてＹＥＳ）、処理をステップＳ７０３からステップＳ７０４に移行させる。ブロックサイズ制限部２０２は、画素３０２又は画素群３０３における輝度が第１の範囲外である場合（ステップＳ７０３においてＮＯ）、処理をステップＳ７０３からステップＳ７０５に移行させる。
【００７３】
ステップＳ７０４において、ブロックサイズ制限部２０２は、レジスタのフラグＦＬＧ＿Ａの値を１にセットする。フラグＦＬＧ＿Ａは、値が１のとき、ブロック内に輝度が第１の範囲内である画素３０２又は画素群３０３を含む領域（以下、第１輝度領域と呼ぶ）が存在することを示し、値が０のとき、ブロック内に第１輝度領域が存在しないことを示す情報である。その後、ブロックサイズ制限部２０２は、処理をステップＳ７０４からステップＳ７０７に移行させる。なお、フラグＦＬＧ＿Ａには、ブロック内における第１輝度領域の位置情報も付加しておくものとする。
【００７４】
ステップＳ７０５において、ブロックサイズ制限部２０２は、選択されたブロック内の画素３０２又は画素群３０３において、輝度情報が示す輝度が、第１の範囲内よりも低い輝度である第２の範囲内であるか否かを判断する。ブロックサイズ制限部２０２は、画素３０２又は画素群３０３における輝度が第２の範囲内であると判断した場合には（ステップＳ７０５においてＹＥＳ）、処理をステップＳ７０５からステップＳ７０６に移行させる。ブロックサイズ制限部２０２は、画素３０２又は画素群３０３の輝度が第２の範囲外であると判断した場合（ステップＳ７０５においてＮＯ）、処理をステップＳ７０５からステップＳ７０７に移行させる。
【００７５】
ステップＳ７０６において、ブロックサイズ制限部２０２は、レジスタのフラグＦＬＧ＿Ｂの値を１にセットする。フラグＦＬＧ＿Ｂは、値が１のとき、ブロック内に輝度が第２の範囲内である画素３０２又は画素群３０３を含む領域（以下、第２輝度領域と呼ぶ）が存在することを示し、値が０のとき、ブロック内に第２輝度領域が存在しないことを示す情報である。その後、ブロックサイズ制限部２０２は、処理をステップＳ７０６からステップＳ７０７に移行させる。なお、フラグＦＬＧ＿Ｂには、ブロック内における第２輝度領域の位置情報も付加しておくものとする。
【００７６】
ステップＳ７０７において、ブロックサイズ制限部２０２は、フラグＦＬＧ＿Ａの値が１であり、かつ、フラグＦＬＧ＿Ｂの値も１であるか否かを判断する。この処理では、ブロックサイズ制限部２０２は、フラグＦＬＧ＿Ａ及びフラグＦＬＧ＿Ｂに基づいて、選択されたブロック内に第１輝度領域と第２輝度領域との両方が存在するか否かを判断している。ブロックサイズ制限部２０２は、フラグＦＬＧ＿Ａの値が１であり、かつ、フラグＦＬＧ＿Ｂの値も１であると判断した場合（ステップＳ７０７においてＹＥＳ）、処理をステップＳ７０７からステップＳ７０８に移行させる。ブロックサイズ制限部２０２は、フラグＦＬＧ＿Ａの値とフラグＦＬＧ＿Ｂの値の少なくとも１つが０であると判断した場合（ステップＳ７０７においてＮＯ）、処理をステップＳ７０７からステップＳ７１０に移行させる。
【００７７】
ステップＳ７０８において、ブロックサイズ制限部２０２は、選択されたブロック内において、隣接している第１輝度領域と第２輝度領域が存在しているか否かを判断する。具体的には、ブロックサイズ制限部２０２は、フラグＦＬＧ＿ＡとフラグＦＬＧ＿Ｂに付加された画素３０２又は画素群３０３の位置情報に基づいて当該判断を行う。ブロックサイズ制限部２０２は、隣接している第１輝度領域と第２輝度領域が存在すると判断した場合（ステップＳ７０８においてＹＥＳ）、処理をステップＳ７０８からステップＳ７０９に移行させる。ブロックサイズ制限部２０２は、隣接している第１輝度領域と第２輝度領域が存在しないと判断した場合（ステップＳ７０８においてＮＯ）、処理をステップＳ７０８からステップＳ７１０に移行させる。
【００７８】
ステップＳ７０９において、ブロックサイズ制限部２０２は、隣接している第１輝度領域と第２輝度領域との境界を同一ブロックとするようにブロックサイズ制限情報を更新してメモリ１０２に保存する。画素３０２又は画素群３０３ごとに繰り返しステップＳ７０９を実行してもよく、その場合は、隣接している第１輝度領域と第２輝度領域を発見するごとにブロックサイズ制限情報を更新してメモリ１０２に保存する。その後、ブロックサイズ制限部２０２は、処理をステップＳ７０９からステップＳ７１０に移行させる。
【００７９】
ステップＳ７１０において、ブロックサイズ制限部２０２は、選択されたブロック内の全ての画素３０２又は画素群３０３に対してステップＳ７０３からステップＳ７０９の処理が実行されたか否かを判断する。ブロックサイズ制限部２０２は、選択されたブロック内の全ての画素３０２又は画素群３０３に対して処理が実行されたと判断した場合（ステップＳ７１０においてＹＥＳ）、処理をステップＳ７１０からステップＳ７１１に移行させる。ブロックサイズ制限部２０２は、選択されたブロック内に処理が実行されていない画素３０２又は画素群３０３があると判断した場合（ステップＳ７１０においてＮＯ）、処理をステップＳ７１０からステップＳ７０３に移行させる。
【００８０】
ステップＳ７１１において、ブロックサイズ制限部２０２は、再びフラグＦＬＧ＿Ａの値が１であり、かつ、フラグＦＬＧ＿Ｂの値も１であるか否かを判断する。ブロックサイズ制限部２０２は、フラグＦＬＧ＿Ａの値が１であり、かつ、フラグＦＬＧ＿Ｂの値も１であると判断した場合（Ｓ７１１においてＹＥＳ）、処理をステップＳ７１１からステップＳ７１２に移行させる。ブロックサイズ制限部２０２は、フラグＦＬＧ＿Ａの値とＦＬＧ＿Ｂの値の少なくとも１つが０であると判断した場合（Ｓ７１１においてＮＯ）、処理をステップＳ７１１からステップＳ７１３に移行させる。
【００８１】
ステップＳ７１２において、ブロックサイズ制限部２０２は、ブロック内の画素３０２又は画素群３０３の輝度の分散値を算出することにより、ブロック内の輝度の平坦度を取得する。分散値とは、ブロック内における画素３０２又は画素群３０３の輝度の２乗の平均と平均の２乗との差である。ブロックサイズ制限部２０２は、輝度の分散値に応じてブロックサイズ制限情報を更新してメモリ１０２に保存する。例えば、ブロックサイズ制限部２０２は、輝度の分散値が小さい場合には、ブロックサイズ制限情報により規定されるブロックサイズの上限を低く設定することにより、ブロックサイズの制限を厳しくする。その後、ブロックサイズ制限部２０２は、処理をステップＳ７１２からステップＳ７１３に移行させる。
【００８２】
ステップＳ７１３において、ブロックサイズ制限部２０２は、フレーム内の全てのブロックに対して、ステップＳ７０２からステップＳ７１２までの処理が実行されたか否かを判断する。ブロックサイズ制限部２０２は、フレーム内の全てのブロックに対して処理が実行されたと判断した場合（ステップＳ７１３においてＹＥＳ）、処理をステップＳ７１３からステップＳ７１４に移行させる。ブロックサイズ制限部２０２は、フレーム内に処理が実行されていないブロックがあると判断した場合（ステップＳ７１３においてＮＯ）、処理をステップＳ７１３からステップＳ７０２に移行させる。
【００８３】
ステップＳ７１４において、ブロックサイズ制限部２０２は、フレーム内のブロックサイズ制限情報にフレーム番号を付加して、メモリ１０２に保存し、本フローチャートにおける処理を終了させる。
【００８４】
なお、図７のフローチャートにおいては、輝度の判断を第１の範囲及び第２の範囲により行う場合が示されているが、同様にして３以上の範囲による輝度の判断を行ってもよい。また、輝度の判断を第１の範囲のみで行ってもよく、すなわち、ステップＳ７０５とステップＳ７０６を省略してもよい。また、図７のフローチャートにおける処理は、ＣＴＵ、ＣＵ、ＰＵ、ＴＵの各ブロックに対して実行されてもよく、ブロックの種類ごとにプロックサイズ制限情報が生成されてもよい。また、図７に示すフローチャートの各ステップの処理は、ブロックサイズ制限部２０２に代えてＣＰＵ２１０が行ってもよい。
【００８５】
本実施形態では、輝度が第１の範囲内にある第１輝度領域（典型的には輝度が比較的高い画素）と、輝度が第２の範囲内にある第２輝度領域（典型的には輝度が比較的低い画素）が混在している場合における処理について述べた。第１輝度領域と第２輝度領域が隣接している場合にこれらの境界を同一ブロックとすることにより、輝度の境界による影響を考慮することができ、境界付近の量子化による画質の劣化を低減することができる。また、第１輝度領域と第２輝度領域が存在し、かつ分散値が小さい場合に、分散値に応じてブロックサイズの制限を設定することにより、高輝度の領域と低輝度の領域が混在する画像において、画像の平坦性を考慮したブロックサイズの設定が可能となる。
【００８６】
以上のように、本実施形態によれば、第１実施形態の効果に加え、高輝度の領域と低輝度の領域が混在する画像において、輝度の境界の影響及び画像の平坦性を考慮してブロックサイズの制限が行われ、符号化による画質の劣化をより低減することができる。
【００８７】
［第３実施形態］
第３実施形態による符号化装置及び符号化方法について、図面を参照して詳細に説明する。本実施形態が第１実施形態又は第２実施形態との相違する点は、本実施形態においては輝度情報の算出が符号化処理部１１４の外部の装置で行われている点である。すなわち、本実施形態では、輝度情報取得部２０１は、符号化処理部１１４の外部の装置によって画素値を用いて算出された輝度情報を取得する。なお、画像処理装置１００の構成は図１と同様であるため説明を省略する。また、本実施形態において、符号化処理部１１４の構成は図２と同様であるため説明を省略する。また、本実施形態において、ブロックサイズ制限部２０２の動作は、図６又は図７と同様であるため説明を省略する。
【００８８】
＜符号化処理部１１４の動作＞
図８は、本実施形態による符号化処理部１１４の動作を示すフローチャートである。この動作は、画像処理装置１００の電源がオンの状態において、不揮発性メモリ１０３に格納されているプログラムがメモリ１０２に展開され、符号化処理部１１４内のＣＰＵ２１０がメモリ１０２のプログラムを読み出して実行することにより実現される。図８のフローチャートによる処理は、フレームごとに実行されるものであり、当該処理は定期的に繰り返し実行されてもよい。
【００８９】
ステップＳ８０１及びステップＳ８０２の動作は、それぞれ図４のステップＳ４０１及びステップＳ４０２と同様であるため説明を省略する。ステップＳ８０３において、ＣＰＵ２１０は、ＣＰＵ１０１によりメモリ１０２に格納された輝度情報を取得する。その後、ＣＰＵ２１０は、処理をステップＳ８０３からステップＳ８０４に移行させる。なお、ＣＰＵ１０１によりメモリ１０２に格納された輝度情報を取得することは必須ではなく、別の方法により行われてもよい。例えば、ＣＰＵ２１０による輝度情報の取得は、画像処理部１１３から符号化処理部１１４に送信されることにより行われてもよく、画像処理装置１００以外の外部機器１２７から符号化処理部１１４に送信されることにより行われてもよい。
【００９０】
ステップＳ８０４において、ＣＰＵ２１０は、Ｓ４０３と同様の動作により画像データのアドレス情報を取得する。その後、ＣＰＵ２１０は、処理をステップＳ８０４からステップＳ８０５に移行させる。その後のステップＳ８０５からステップＳ８１０の動作は、それぞれ図４のステップＳ４０５からステップＳ４１０の動作と同様であるため説明を省略する。
【００９１】
＜ＣＰＵ１０１による輝度情報算出の動作＞
図９は、本実施形態によるＣＰＵ１０１における輝度情報算出の動作を示すフローチャートである。この動作は、画像処理装置１００の電源がオンの状態において、不揮発性メモリ１０３に格納されているプログラムがメモリ１０２に展開され、ＣＰＵ１０１が、メモリ１０２のプログラムを読み出して実行することにより実現される。図９のフローチャートによる処理は、フレームごとに実行されるものであり、当該処理は定期的に繰り返し実行されてもよい。
【００９２】
ステップＳ９０１において、ＣＰＵ１０１は、画像処理部１１３から取得した伝達関数情報が所定のＨＤＲ方式に対応する所定の伝達関数を示すものであるか否かを判断する。所定の伝達関数の一例としては、ＰＱ又はＨＬＧが挙げられる。ＣＰＵ１０１は、伝達関数情報が、所定のＨＤＲ方式に対応するものであると判断した場合（ステップＳ９０１においてＹＥＳ）、処理をステップＳ９０１からステップＳ９０２に移行させる。ＣＰＵ１０１は、伝達関数情報が、所定のＨＤＲ方式に対応するものでないと判断した場合（ステップＳ９０１においてＮＯ）、処理をステップＳ９０１からステップＳ９０６に移行させる。
【００９３】
ステップＳ９０２において、ＣＰＵ１０１は、メモリ１０２から画像データを読み出す。ＣＰＵ１０１は、読み出された画像データの画素値がＹＵＶ形式、ＹＣｂＣｒ形式等である場合には、当該画像データの画素値からＲ’Ｇ’Ｂ’データを算出してメモリ１０２に保存する。ＣＰＵ１０１は、メモリ１０２からＲ’Ｇ’Ｂ’データを読み出し、Ｒ’Ｇ’Ｂ’データに対して、デガンマ処理を行いリニアなＲＧＢデータを算出してメモリ１０２に保存する。ＣＰＵ１０１は、メモリ１０２からＲＧＢデータを読み出し、ＲＧＢデータの中の最大値を算出して、ＭａｘＣＬＬ値として取得する。更に、ＣＰＵ１０１は、ＲＧＢデータの中での平均値を算出してＭａｘＦＡＬＬ値として取得する。ＣＰＵ１０１は、算出されたＭａｘＣＬＬ及びＭａｘＦＡＬＬを、輝度情報として、ブロックサイズ制限部２０２に送信し、又はメモリ１０２に保存する。その後、ＣＰＵ１０１は、処理をステップＳ９０２からステップＳ９０３に移行させる。
【００９４】
ステップＳ９０３において、ＣＰＵ１０１は、メモリ１０２から読み出した画像データの画素値から各画素３０２の輝度を取得する。なお、ステップＳ９０３の処理は、輝度がＲＧＢデータから取得される場合には、ステップＳ９０２においてＭａｘＣＬＬを算出する処理又はＭａｘＦＡＬＬを算出する処理の中で算出されたＲＧＢデータ等の画素値を用いて行われてもよい。その後、ＣＰＵ１０１は、処理をステップＳ９０３からステップＳ９０４に移行させる。
【００９５】
ステップＳ９０４において、ＣＰＵ１０１は、メモリ１０２から画像データを読み出し、所定の画素群３０３単位で各画素群３０３の輝度の平均値、合計値、最大値、最小値等を算出する。なお、ステップＳ９０４の処理は、各画素群３０３の輝度がＲＧＢデータから算出される場合には、ステップＳ９０２におけるＭａｘＣＬＬを算出する処理又はＭａｘＦＡＬＬを算出する処理とともに行われてもよい。その後、ＣＰＵ１０１は、処理をステップＳ９０４からステップＳ９０５に移行させる。
【００９６】
ステップＳ９０５において、ＣＰＵ１０１は、ステップＳ９０２からステップＳ９０４までの処理において生成された輝度情報を符号化処理部１１４に出力する。出力の方法はＣＰＵ１０１がメモリ１０２に輝度情報を書き込むことにより符号化処理部１１４が読み出すことができるようにするものであってもよく、ＣＰＵ１０１が輝度情報を直接符号化処理部１１４のレジスタ等に書き込むものであってもよい。その後、ＣＰＵ１０１は、処理をステップＳ９０５からステップＳ９０６に移行させる。
【００９７】
ステップＳ９０６において、ＣＰＵ１０１は、ステップＳ９０１において取得した伝達関数情報を符号化処理部１１４に出力する。出力の方法はＣＰＵ１０１がメモリ１０２に伝達関数情報を書き込むことにより符号化処理部１１４が読み出すことができるようにするものであってもよく、ＣＰＵ１０１が伝達関数情報を直接符号化処理部１１４のレジスタ等に書き込むものであってもよい。その後、ＣＰＵ１０１は、処理をステップＳ９０６からステップＳ９０７に移行させる。
【００９８】
ステップＳ９０７において、ＣＰＵ１０１は、メモリ１０２に保存されている画像データのアドレス情報を符号化処理部１１４に出力する。なお、符号化処理部１１４が画像処理装置１００の外部に存在する場合には、画像データは通信制御部１１７を介して、符号化処理部１１４に出力される。その後、ＣＰＵ１０１は、処理をステップＳ９０６からステップＳ９０７に移行させる。
【００９９】
ステップＳ９０８において、ＣＰＵ１０１は、符号化処理部１１４から出力されたストリームデータを受信して、メモリ１０２に保存する。その後、ＣＰＵ１０１は、ストリームデータを、ＭＰ４ファイル、ＭＸＦファイル等にコンテナ化し、記録媒体制御部１１９を制御してコンテナ化したファイルを記録媒体１２０に保存する。その後、ＣＰＵ１０１は、本フローチャートにおける処理を終了する。
【０１００】
なお、図９に示すフローチャートにおける処理は、ＣＰＵ１０１に代えて画像処理部１１３が実行することにより実現されてもよい。
【０１０１】
以上に示したように、輝度情報の算出を符号化処理部１１４の内部で行わず、外部の装置で算出された輝度情報を取得して符号化処理を行う本実施形態の構成においても、第１又は第２実施形態と同様の効果を得ることができる。例えば、外部の専用コーデックを符号化処理部１１４として使用する場合において、輝度情報の算出機能が無い場合であっても実施可能である。
【０１０２】
[変形実施形態]
以上、好適な実施形態に基づいて本発明について詳述したが、本発明はこれらの実施形態に限定されるものではなく、要旨を逸脱しない範囲での様々な形態も本発明に含まれる。
【０１０３】
本発明が適用され得る対象は、上述の実施形態で説明した画像処理装置１００、符号化処理部１１４等に限定されるものではない。例えば、画像処理装置又は符号化装置を複数の装置から構成されるシステムとした場合であっても上述の実施形態と同様の機能を実現することが可能である。
【０１０４】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１０５】
１００  画像処理装置
１１４  符号化処理部
２０１  輝度情報取得部
２０２  ブロックサイズ制限部
２０３  予測符号化方法決定部
２０４  予測符号化処理部
２０５  直交変換量子化部
２０６  局所復号化部
２０７  符号量制御部
２０８  エントロピー符号化部
２０９  多重化処理部
２１０  ＣＰＵ
【図１】
2018093386.tif 000003
【図２】
2018093386.tif 000004
【図３】
2018093386.tif 000005
【図４】
2018093386.tif 000006
【図５】
2018093386.tif 000007
【図６】
2018093386.tif 000008
【図７】
2018093386.tif 000009
【図８】
2018093386.tif 000010
【図９】
2018093386.tif 000011