(57)【要約】      （修正有）【課題】動画像符号化装置において適応オフセット処理による高画質を保ちつつ、処理量を削減可能な手法を提供する。【解決手段】動画像符号化装置は、符号化対象画像をブロック単位に予測符号化する符号化手段と、予測符号化された画像を復号して復号画像を生成する復号手段と、復号画像にデブロッキングフィルタ処理を施すフィルタ手段と、デブロッキングフィルタ処理された復号画像にオフセット処理を施すオフセット処理手段とを備える。符号化手段は、オフセット処理手段によりオフセット処理された復号画像に基づき予測符号化を行い、オフセット処理手段は、処理対象のブロックの画像の特徴に応じて、ブロック内の画像が低周波成分画像に関する特徴を有する場合に第１のオフセット処理を実行し、ブロック内の画像が低周波成分画像に関する特徴を有しない場合に第２のオフセット処理を実行する。【選択図】図１
2017085496.tif 000002
【特許請求の範囲】
【請求項１】
動画像符号化装置であって、
符号化対象画像をブロック単位に予測符号化する符号化手段と、
前記予測符号化された符号化画像を復号して復号画像を生成する復号手段と、
前記復号画像にデブロッキングフィルタ処理を施すフィルタ手段と、
前記デブロッキングフィルタ処理が施された復号画像にオフセット処理を施すオフセット処理手段と
を備え、
前記符号化手段は、前記オフセット処理手段によりオフセット処理された復号画像に基づき前記予測符号化を行い、
前記オフセット処理手段は、処理対象のブロックの画像の特徴に応じて、前記ブロックの画像が低周波成分画像に関する特徴を有する場合に低周波成分画像のための第１のオフセット処理を選択して実行し、前記ブロックの画像が低周波成分画像に関する特徴を有しない場合に高周波成分画像のための第２のオフセット処理を選択して実行することを特徴とする動画像符号化装置。
【請求項２】
前記処理対象のブロックの画像の分散値を算出する算出手段を更に備え、
前記オフセット処理手段は、前記処理対象のブロックの画像の分散値に基づき、前記分散値が第１の閾値より小さい場合に前記第１のオフセット処理を選択し、前記分散値が第１の閾値以上の場合に前記第２のオフセット処理を選択することを特徴とする請求項１に記載の動画像符号化装置。
【請求項３】
前記デブロッキングフィルタ処理が施された前記復号画像の前記処理対象のブロックに含まれる画素につき、画素値が取り得る値の範囲を複数に分割して得られるバンドごとに、画素値が該バンドに含まれる画素数をカウントする計数手段と、
複数のバンドのうち、連続する所定数のバンドに含まれる画素数が最大となる先頭のバンド位置を決定する決定手段と
を更に備え、
前記オフセット処理手段は、該決定された先頭のバンド位置から前記所定数のバンドに含まれる画素数が第２の閾値以上の場合に前記第１のオフセット処理を選択し、前記決定された先頭のバンド位置から前記所定数のバンドに含まれる画素数が前記第２の閾値より小さい場合に前記第２のオフセット処理を選択することを特徴とする請求項１に記載の動画像符号化装置。
【請求項４】
前記デブロッキングフィルタ処理が施された前記復号画像の前記処理対象のブロックに含まれる画素につき、画素値が取り得る値の範囲を複数に分割して得られるバンドごとに、画素値が該バンドに含まれる画素数をカウントする計数手段と、
複数のバンドのうち、連続する所定数のバンドに含まれる画素数が最大となる先頭のバンド位置を決定する決定手段と
前記処理対象のブロックの画像の分散値を算出する算出手段を更に備え、
前記オフセット処理手段は、前記処理対象のブロックの画像の分散値に基づき、分散値が第１の閾値より小さい場合に、前記決定された先頭のバンド位置から所定数のバンドに含まれる画素について前記第１のオフセット処理を選択し、前記分散値が第１の閾値以上の場合に前記第２のオフセット処理を選択して実行することを特徴とする請求項１に記載の動画像符号化装置。
【請求項５】
前記算出手段は、前記符号化対象画像と、前記デブロッキングフィルタ処理が施された前記復号画像とのいずれかにつき、前記処理対象のブロックの画像の分散値を算出することを特徴とする請求項２又は４に記載の動画像符号化装置。
【請求項６】
前記算出手段が、前記符号化対象画像につき前記処理対象のブロックの画像の分散値を算出した場合に、
前記符号化手段は、予測符号化における量子化ステップサイズを前記分散値に基づき制御することを特徴とする請求項５に記載の動画像符号化装置。
【請求項７】
前記オフセット処理手段は、前記第１のオフセット処理と前記第２のオフセット処理とのいずれかを選択した場合に、該選択されたオフセット処理に基づく画質改善効果に対応するコストを算出し、前記コストが所定値より大きい場合に前記選択されたオフセット処理を実行することを特徴とする請求項１乃至６のいずれか１項に記載の動画像符号化装置。
【請求項８】
前記オフセット処理手段は、前記デブロッキングフィルタ処理が施された前記復号画像につき、前記選択されたオフセット処理を行った場合と行わなかった場合とで、前記符号化対象画像との差分絶対値和を比較し、比較された該差分絶対値和の差を前記コストとすることを特徴とする請求項７に記載の動画像符号化装置。
【請求項９】
前記低周波成分画像は平坦部の画像であって、前記高周波成分画像はエッジ部分の画像であることを特徴とする請求項１乃至８のいずれか１項に記載の動画像符号化装置。
【請求項１０】
被写体像を撮像し、符号化対象画像を出力する撮像手段と、
前記撮像手段から出力された前記符号化対象画像をブロック単位に符号化処理する請求項１乃至９のいずれか１項に記載の前記動画像符号化装置と
を備えることを特徴とする撮像装置。
【請求項１１】
動画像符号化装置の制御方法であって、
符号化手段が、符号化対象画像をブロック単位に予測符号化する符号化工程と、
復号手段が、前記予測符号化された符号化画像を復号して復号画像を生成する復号工程と、
フィルタ手段が、前記復号画像にデブロッキングフィルタ処理を施すフィルタ工程と、
オフセット処理手段が、前記デブロッキングフィルタ処理が施された復号画像にオフセット処理を施すオフセット処理工程と
を備え、
前記符号化工程では、前記オフセット処理手段によりオフセット処理された復号画像に基づき前記予測符号化を行い、
前記オフセット処理工程では、処理対象のブロックの画像の特徴に応じて、前記ブロックの画像が低周波成分画像に関する特徴を有する場合に低周波成分画像のための第１のオフセット処理を選択して実行し、前記ブロックの画像が低周波成分画像に関する特徴を有しない場合に高周波成分画像のための第２のオフセット処理を選択して実行することを特徴とする動画像符号化装置の制御方法。
【請求項１２】
コンピュータを請求項１乃至９のいずれか１項に記載の動画像符号化装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は動画像符号化装置及びその制御方法、並びにコンピュータプログラムに関する。
【背景技術】
【０００２】
デジタルビデオカメラやハードディスクレコーダーなど、動画像を記録できるデジタル機器が普及している。これらのデジタル機器では情報量の多い動画像を容量の制限されたフラッシュメモリやハードディスクといった記録メディアに効率的に記録するため、動画像データの圧縮符号化を行っている。
【０００３】
代表的な動画像圧縮符号化方式として、H.264符号化方式がある。H.264符号化方式はビデオカメラのハイビジョン記録方式であるAVCHDや、地上デジタル放送のワンセグ放送に採用されていて、広く普及している動画像圧縮符号化方式である（非特許文献１参照）。
【０００４】
近年、4kテレビが市場に出るなど、動画像の高解像度化、高フレームレート化が進んでいる。それにともない、動画像の圧縮効率のさらなる向上が求められている。H.264符号化方式の後継規格として、さらに高効率な動画像圧縮符号化方式であるHEVC（High Efficiency Video Coding）符号化方式が国際標準規格として策定された。HEVC符号化方式はH.264符号化方式の約2倍の圧縮効率があるといわれ、次世代動画像デジタル機器に採用される見込みであり、将来的に広く普及する可能性が高い動画像圧縮符号化方式である（非特許文献２参照）。
【０００５】
HEVC符号化方式で新たに採用された符号化ツールとして、適応オフセット処理（SAO：Sample Adaptive Offset）と呼ばれる技術がある。これは、デブロッキングフィルタ後のデコード画像に対して行われる処理で、HEVC符号化方式の高画質化に大きく貢献している（特許文献１参照）。
【０００６】
適応オフセット処理には、バンドオフセット処理とエッジオフセット処理とがあり、符号化時にCTU（Coding Tree Unit）単位でどちらの処理を行うか、もしくはどちらも行わないかを決定する。バンドオフセット処理を行う場合、バンド位置とオフセット値とを決定し、エッジオフセット処理を行うときは、エッジ方向とオフセット値とを決定して、それらのパラメータの符号化を行う。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開2012-5113号公報
【非特許文献】
【０００８】
【非特許文献１】改訂三版H.264/AVC  教科書、大久保  榮[監修]、角野眞也、菊池義浩、鈴木輝彦[共編]、2009年1月1日発行
【非特許文献２】高効率映像符号化技術 HEVC/H.265とその応用、村上篤道、浅井光太郎、関口俊一[共編]、2013年2月25日発行
【発明の概要】
【発明が解決しようとする課題】
【０００９】
符号化時に適応オフセット処理のパラメータを決定する際には、画素単位でバンド位置やエッジ方向を調べ、適切なオフセット値算出のための処理などを行う必要がある。適応オフセット処理の全てのパターンでそれらの処理を行い、評価値を算出して、それに基づきパラメータ決定を行うと、処理量が非常に膨大になってしまう。
【００１０】
そこで本発明は、動画像符号化装置において適応オフセット処理による高画質を保ちつつ、処理量を削減可能な手法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するための本発明は、動画像符号化装置であって、
符号化対象画像をブロック単位に予測符号化する符号化手段と、
前記予測符号化された符号化画像を復号して復号画像を生成する復号手段と、
前記復号画像にデブロッキングフィルタ処理を施すフィルタ手段と、
前記デブロッキングフィルタ処理が施された復号画像にオフセット処理を施すオフセット処理手段と
を備え、
前記符号化手段は、前記オフセット処理手段によりオフセット処理された復号画像に基づき前記予測符号化を行い、
前記オフセット処理手段は、処理対象のブロックの画像の特徴に応じて、前記ブロック内の画像が低周波成分画像に関する特徴を有する場合に低周波成分画像のための第１のオフセット処理を選択して実行し、前記ブロック内の画像が低周波成分画像に関する特徴を有しない場合に高周波成分画像のための第２のオフセット処理を選択して実行することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、動画像符号化装置において、適応オフセット処理による高画質を保ちつつ、処理量を削減できる。
【図面の簡単な説明】
【００１３】
【図１】発明の実施形態１に対応する符号化装置を用いたカメラシステムの一例を示すブロック図
【図２】発明の実施形態に対応するバンドオフセット処理の例を説明するための図
【図３】発明の実施形態に対応するエッジオフセット処理のエッジ方向を説明するための図
【図４】発明の実施形態に対応するエッジオフセット処理のカテゴリを説明するための図
【図５】発明の実施形態に対応するバンドオフセット処理部の機能構成の一例を示す機能ブロック図
【図６】発明の実施形態に対応するエッジオフセット処理部の機能構成の一例を示す機能ブロック図
【図７】発明の実施形態２に対応する符号化装置を用いたカメラシステムの一例を示すブロック図
【図８】発明の実施形態３に対応する符号化装置を用いたカメラシステムの一例を示すブロック図
【図９】発明の実施形態３に対応するバンド位置毎の画素数の計数方法を説明するための図
【図１０】発明の実施形態３に対応する処理の一例を示すフローチャート
【図１１】発明の実施形態４に対応する符号化装置を用いたカメラシステムの一例を示すブロック図
【発明を実施するための形態】
【００１４】
以下、図面を参照しながら本発明の好適な実施の形態を説明する。
【００１５】
［実施形態１］
図１は発明の第１の実施形態に対応する動画像符号化装置を用いたカメラシステムの例を示すブロック図である。図１では、HEVC符号化方式を実現する動画像符号化装置を例に示してある。図１のカメラシステム１００において、レンズ、撮像素子、記録メディアのような物理的デバイスを少なくとも除いた動画像符号化装置の各ブロックは専用ロジック回路やメモリを用いてハードウェア的に構成されてもよい。或いは、メモリに記憶されている処理プログラムをＣＰＵ等のコンピュータが実行することにより、ソフトウェア的に構成されてもよい。
【００１６】
以下、図１に示す各構成要素を参照して、発明の実施形態に対応するカメラシステムの動作を説明する。まず、被写体からの反射光がレンズ１０１を通過して、撮像部１０２のＣＣＤやＣＭＯＳ等の撮像素子に入射し、被写体像の撮影が行われる。撮像部１０２では、撮像画素において生成されたアナログ画像のアナログ画素データをデジタル画素データに変換してデジタル画像を生成し、現像処理部１０３に出力する。
【００１７】
現像処理部１０３は、入力されたデジタル画像に対してディベイヤー処理、キズ補正、ノイズ除去、拡大縮小処理、YCbCr形式への色変換などの画像処理を実施する。画像処理後、圧縮符号化が可能な形式になったデジタル画像が、現像処理部１０３から符号化フレームバッファ１０４へ提供される。この画像を符号化対象画像とする。
【００１８】
動画像符号化装置では、当該符号化対象画像に対して予測符号化処理を行う。まず、動き予測部１０５では、符号化フレームバッファ１０４に格納されている符号化対象画像と、参照フレームバッファ１１６に格納されている参照画像との間でブロックマッチングをとり、動きベクトル検出を行う。符号化対象画像と、検出された動きベクトルと参照画像とに基づき生成した予測画像との間で画素の差分をとり、その差分画像を直交変換部１０６に出力する。またローカルデコード画像作成用に、動きベクトルに基づき生成された予測画像を動き補償部１１３に出力する。
【００１９】
直交変換部１０６では、送られてきた差分画像に対して離散コサイン変換を行い、変換係数を生成し、量子化部１０７に出力する。量子化部１０７では、直交変換部１０６から送られてきた変換係数に対して、量子化制御部１０８が出力する量子化ステップサイズに従い、量子化処理を行う。量子化処理により得られた変換係数は符号化ストリーム作成のため可変長符号化部１０９、ならびにローカルデコード画像作成のため逆量子化部１１１に出力される。可変長符号化部１０９では、以上の予測符号化処理により得られた量子化処理後の変換係数に対してジグザグスキャン、オルタネートスキャン等を行い、可変長符号化が行われる。これに対して、動きベクトルや量子化ステップサイズ、マクロブロック分割情報、適応オフセット処理用パラメータなどの符号化方式情報を可変長符号化したものを付加し、符号化ストリームを生成する。生成された符号化ストリームは記録メディア１１０に記録される。
【００２０】
また符号化の際にマクロブロックごとの発生符号量を算出し、量子化制御部１０８に出力する。量子化制御部１０８では、可変長符号化部１０９から送られてくる発生符号量を用いて、目標とする符号量になるように量子化ステップサイズを決定し、量子化部１０７に出力する。
【００２１】
次に、予測符号化処理により得られた量子化後の変換係数に基づく復号処理を行う。具体的に逆量子化部１１１では、量子化部１０７から送られてきた量子化後の変換係数に対して逆量子化を行い、ローカルデコード用の変換係数を生成する。この変換係数は逆直交変換部１１２に出力される。逆直交変換部１１２では、送られてきた変換係数に対して逆離散コサイン変換を行い差分画像を生成する。生成された差分画像は動き補償部１１３に出力される。動き補償部１１３では、動き予測部１０５から送られてきた動きベクトル位置の予測画像と、逆直交変換部１１２から送られてきた差分画像を加算することにより、ローカルデコード用の復号画像データを生成する。以上の復号処理により生成された復号画像データはデブロッキングフィルタ部１１４に出力される。
【００２２】
デブロッキングフィルタ部１１４では、復号画像データに対して、ブロック境界におけるノイズの発生を抑制するためにデブロッキングフィルタをかける。デブロッキングフィルタ後の画像は、適応オフセット処理部１１５に出力される。また、分散算出用に分散算出部１１７にも出力される。分散算出部１１７では、入力された画像につき処理対象のブロック単位での分散値を算出する。分散値とは、画素値の大きさのちらばり具合を示す指標であり、平坦な絵柄ほど分散値が小さく、複雑な絵柄ほど分散値が大きくなる傾向がある。分散値を算出するブロックがL×Lであり、その画素値がP1〜PL×Lであるとする。この場合、画素の平均値Pmean、および画素の分散値varは以下の式（１）、式（２）により算出することができる。
2017085496.tif 000003
2017085496.tif 000004
【００２３】
例えば分散値を算出する処理対象となるブロックをCTUと同じサイズであるとし、そのブロックサイズが６４×６４だとすると、Ｌ＝６４を式（１）、式（２）に代入することで分散値を算出することができる。算出された分散値は適応オフセット処理部１１５に出力される。
【００２４】
適応オフセット処理部１１５では、バンドオフセット処理、エッジオフセット処理、もしくは何も処理をしない、のいずれかを選択し、適応オフセット処理を行うバンド位置、エッジ方向、オフセット値などを決定する。適応オフセット処理の詳細については後述する。
【００２５】
デブロッキングフィルタ後の画像に対して適応オフセット処理を行ったものをローカルデコード画像として参照フレームバッファ１１６に格納する。また、適応オフセット処理としてどの処理を選択したか、バンド位置、エッジ方向、オフセット値などの適応オフセット処理用のパラメータを符号化ストリームとして生成するため、可変長符号化部１０９に出力する。このような動作により、符号化ストリーム、ローカルデコード画像が作成される。
【００２６】
次に適応オフセット処理の詳細について説明する。HEVC符号化方式における適応オフセット処理にはバンドオフセット処理とエッジオフセット処理がある。一般的にバンドオフセット処理は、画素値の変化が少ない平坦部（低周波成分の多い画像）に効果があるといわれている。また、エッジオフセット処理は、画素値の変化が大きいエッジ部分など、モスキートノイズが出やすい部分（高周波成分の多い画像）に効果があるといわれている。
【００２７】
これらの処理は、CTUごとに、画像の特徴に応じて適応オフセット処理としてバンドオフセット処理とエッジオフセット処理のどちらか一方のみを適用できる。即ち、ＣＴＵの画像が低周波成分画像に関する特徴を有する場合には低周波成分画像のためのバンドオフセット処理を選択し、低周波成分画像に関する特徴を有しない場合は高周波成分画像のためのエッジオフセット処理を選択する。またCTUごとに適応オフセット処理を行わない、という選択をすることもできる。適応オフセット処理は、輝度と色差に対してそれぞれ独立に処理を行うことができる。ここでは輝度も色差も１画素が８ビットで構成されるものとし、画素値は０〜２５５の範囲の値をとるものとする。また、適応オフセット処理は輝度の処理が行われた後で色差の処理が行われるものとし、これ以降はすべて輝度に関する動作の説明とする。
【００２８】
バンドオフセット処理について説明する。バンドオフセット処理は画素値の０〜２５５の範囲を８画素値ごとの複数のバンドに分け、オフセットを加える先頭のバンド位置の指定と、指定された先頭から所定数の（４バンド分の４つの）オフセット値の指定を行い、指定されたバンド位置に該当する画素値の画素に対して、指定されたオフセット値を加える処理を行う。バンド位置の指定方法は、以下の式（３）で表すものとする。
バンド位置＝画素値／８      ...（３）
すなわち画素値０〜７であればバンド位置＝０、画素値８〜１５であればバンド位置＝１となる。以下、画素値１６〜２５５について、バンド位置が８ずつずれていく。オフセット値を指定できるバンド位置は、指定されたバンド位置から４バンド分である。指定されたバンド位置をＢＰとすると、ＢＰ、ＢＰ＋１、ＢＰ＋２、ＢＰ＋３の４つのバンド位置のオフセットをそれぞれ指定できる。バンド位置がＢＰのオフセット値をＯＦＦ０，ＢＰ＋１のオフセット値をＯＦＦ１、ＢＰ＋２のオフセット値をＯＦＦ２、ＢＰ＋３のオフセット値をＯＦＦ３とする。適応オフセット処理前の画素の画素値がバンド位置ＢＰ、ＢＰ＋１、ＢＰ＋２、ＢＰ＋３のどれかに該当する場合、該当したバンド位置のオフセット値を加える処理を行い、バンドオフセット処理後の画像が生成される。
【００２９】
次に、バンドオフセット処理の例を図２を参照して説明する。ここではＢＰ＝３、すなわちバンドオフセットのバンド位置として画素値２４〜３１を指定している。また、オフセット値としてＯＦＦ０＝１、ＯＦＦ１＝−１、ＯＦＦ２＝３、ＯＦＦ３＝２と指定している。これは画素値２４〜３１にはオフセット値１、画素値３２〜３９にはオフセット値−１、画素値４０〜４７にはオフセット値３、画素値４８〜５５にはオフセット値２を指定していることになる。例えば、適応オフセット処理前の画素が３３であった場合、オフセット値は−１なので、画素値を３３−１＝３２に変更する。同様にしてCTU内のすべての画素に対して画素値を調べ、指定したバンド位置に該当する画素について、指定されたオフセット値を加える。指定されたバンド位置に該当しない画素は画素値を変更しない。このようにして、バンドオフセット処理が完了する。
【００３０】
次にエッジオフセット処理について説明する。エッジオフセット処理は、処理を行う対象画素（注目画素）と、その隣接画素の３画素の大小関係によって４つのカテゴリに分類され、カテゴリごとにオフセット値を加える処理を行う。隣接画素の方向を指定するエッジ方向の指定と、４つのカテゴリごとのオフセット値の指定を行う。エッジ方向について、図３を用いて説明する。エッジオフセット処理の対象画素をC、そのエッジ方向の隣接画素をNとする。図３の（ａ）横方向、（ｂ）縦方向、（ｃ）斜め方向１、（ｄ）斜め方向２の４つのエッジ方向のうち１つを指定する。
【００３１】
カテゴリについて、図４を用いて説明する。指定されたエッジ方向に対して、エッジオフセット処理の対象画素Cと、隣接画素２画素Nの計３画素の画素値の大小関係でカテゴリが決定される。隣接画素Nがどちらも対象画素Cよりも大きい場合（ａ）カテゴリ１、となる。隣接画素Ｎの１画素が対象画素Cと同じ画素値で、もう一つの隣接画素Nが対象画素Cよりも大きい場合（ｂ）カテゴリ２、となる。隣接画素Ｎの１画素が対象画素Cと同じ画素値で、もう一つの隣接画素Nが対象画素Cよりも小さい場合（ｃ）カテゴリ３、となる。隣接画素Nがどちらも対象画素Cよりも小さい場合（ｄ）カテゴリ４、となる。このように決められた４つのカテゴリに対して、それぞれオフセット値の指定を行う。
【００３２】
適応オフセット処理前の画素が、指定されたエッジ方向の隣接画素を含めた３画素の大小関係で４つのカテゴリのうちどれかに当てはまる場合、そのカテゴリについて指定されたオフセット値を加算する処理を行い、エッジオフセット処理後の画像を生成する。この４つのカテゴリに当てはまらない場合、対象画素はエッジオフセット処理の適用外となる。このようにしてエッジオフセット処理が完了する。
【００３３】
符号化時の適応オフセット処理について説明する。符号化時には、適応オフセット処理として、バンドオフセット処理を行うか、エッジオフセット処理を行うか、適応オフセット処理を行わないかの符号化判定処理を行う。この判定結果に従い、デブロッキングフィルタ後の画像に対して適応オフセット処理を行い、ローカルデコード画像を作成する。この符号化判定処理はCTUごとに行われる。
【００３４】
次に、本実施形態に対応する適応オフセット処理部１１５の動作について説明する。適応オフセット処理部１１５では、分散算出部１１７の出力する分散値に応じて、バンドオフセット処理とエッジオフセット処理のどちらか一方だけを選択して符号化判定処理を行う。一般的にバンドオフセット処理は画素値の変化が少ない平坦部の画像に効果があるといわれている。その特性を利用し、処理対象のブロックが平坦である場合にはバンドオフセット処理を行うかどうかの符号化判定処理のみを行い、平坦ではない場合にはエッジオフセット処理を行うかどうかの符号化判定処理のみを行う。
【００３５】
適応オフセットの処理対象となるブロックが平坦部かどうかの判定に分散算出部１１７の出力するブロック単位の分散値を用いる。分散値が低い場合に平坦部という判定を行う。あらかじめ決められた閾値αに対して、分散値をvarとすると、var＜αの場合に、そのブロックを平坦部と判定する。分散値を用いてそのブロックが平坦部と判定された場合は、バンドオフセット処理を行うかどうかの符号化判定処理を行う。平坦部と判定されなかった場合は、エッジオフセット処理を行うかどうかの符号化判定処理を行う。
【００３６】
このように本実施形態では、バンドオフセット処理の効果が高そうな平坦部の処理にはバンドオフセット処理のみ符号化判定処理を行い、そうでない場合にはエッジオフセット処理のみ符号化判定処理を行う。これにより、適応オフセット処理に対して適切な判定処理を行いつつ、処理量を削減することができる。
【００３７】
バンドオフセット処理の符号化判定処理について説明する。まず、バンドオフセットを適用するバンド位置とオフセット値を決定する。その後、バンドオフセット処理を行うかどうかの符号化判定処理を行う。なお、ここで説明する方法は一例であって、パラメータの決定方法や、バンドオフセット処理を行うかどうかの判定方法は、ここで説明するものに限定されない。
【００３８】
符号化時のバンドオフセット処理のパラメータ（オフセット値）決定方法、および符号化判定処理の例を、図５を用いて説明する。図５は、適応オフセット処理部１１５がバンドオフセット処理部として機能する場合の機能構成の一例を示すブロック図である。なお、図５の機能ブロック図は、適応オフセット処理部１１５における処理の流れを示すフロー図として参照することも可能である。その場合、図５の各機能ブロックは、適応オフセット処理部１１５において実行される処理ステップをそれぞれ表すものとして解釈される。
【００３９】
図５に示すオフセット値の決定方法では、バンド位置ごとのデブロッキングフィルタ後の画像と符号化対象画像の差分平均値をオフセット値として用いる。バンド位置の決定方法としては、全バンド位置におけるバンドオフセット適用後の画像と符号化対象画像との間で差分絶対値和によるコスト算出を行い、もっともコストが小さいときのバンド位置をバンドオフセットのバンド位置として用いる。適応オフセット処理のパラメータはCTUごとに符号化されるので、CTU単位でパラメータの決定処理、符号化判定処理が行われる。
【００４０】
まず、バンド位置ごとのオフセット値を算出する。バンド位置カウンタ５０１はバンド位置ごとにカウンタを持っており、デブロッキングフィルタ後の画像に対して画素毎にどこのバンド位置に該当するかを調べ、それぞれのバンド位置に属する画素数をカウントする。バンド位置ごとの画素数はオフセット値算出部５０４に出力される。差分算出部５０２はデブロッキングフィルタ後の画像に対して画素毎にどこのバンド位置に該当するか調べ、さらにデブロッキングフィルタ後の画像と符号化対象画像との間で画素ごとに差分をとり、バンド位置と差分値をセットで累積加算部５０３に出力する。
【００４１】
累積加算部５０３はバンド位置ごとに該当する差分値の累積加算処理を行い、バンド位置ごとの累積加算値をオフセット値算出部５０４に出力する。オフセット値算出部５０４では、バンド位置ごとに累積加算値を画素数で割り、１画素あたりの差分平均値を算出する。これを、当該バンド位置のオフセット値として決定する。バンド位置ごとのオフセット値はオフセット値加算部５０５に出力される。次に、全バンド位置におけるバンドオフセット適用後のコスト算出を行う。オフセット値加算部５０５では、デブロッキングフィルタ後の画像に対して指定された先頭バンド位置のバンドオフセット処理を行う。指定された先頭バンド位置から４バンド分に該当する画素値に対して、オフセット値算出部５０４で決定したオフセット値を用いて加算処理を行う。オフセット加算後の画像はコスト算出部５０６に出力される。
【００４２】
コスト算出部５０６では、オフセット加算後の画像と符号化対象画像との間で、すべての画素に対する差分絶対値和を算出し、これを当該先頭バンド位置のコストとする。すべての先頭バンド位置に対して、オフセット値加算部５０５でのオフセット加算処理とコスト算出部５０６でのコスト算出を行い、もっともコストが小さい先頭バンド位置を、バンドオフセットのバンド位置として決定する。このようにして、バンドオフセット処理のバンド位置、オフセット値、そのときのコストが決定する。このコストは判定部５０７に送られる。コスト算出部５０６では、さらにバンドオフセット処理を行わない場合のコスト算出も行う。デブロッキングフィルタ後の画像と符号化対象画像との間で、すべての画素に対する差分絶対値和を算出し、これをバンドオフセット処理を行わない場合のコストとする。このコストも判定部５０７に送られる。
【００４３】
判定部５０７では、バンドオフセット処理を行うかどうかの符号化判定処理が行われる。まず、バンドオフセット処理を行った場合に画質がどの程度良くなるかを示す指標となる、画質改善コストを算出する。これはバンドオフセット処理を行わない場合のコストからバンドオフセット処理を行った場合のコストを引いたものとなる。バンドオフセット処理を行う場合、バンド位置、オフセット値を符号化する必要がある。バンドオフセット処理を行うかどうかの判定は、この符号量の増加に対して、それ以上の画質改善の効果が得られるかどうかによって決めることができる。バンドオフセット処理を行わない場合のコストが元々少ない場合には、画質改善コストが小さくなるので改善効果は低くなる。一方、バンドオフセット処理を行わない場合のコストが高い場合には、画質改善コストが大きくなり高い改善効果が期待できる。符号量の増加はほぼ一定なので、画質改善コストが所定値以上であれば、画質改善効果が大きいと判断することができる。判定部５０７では、画質改善コストが所定値以上であればバンドオフセット処理を行い、画質改善コストが所定値より小さければ、バンドオフセット処理を行わない、という判定を行う。
【００４４】
判定結果はコスト算出部５０６に送られる。コスト算出部５０６では判定結果に従い、符号化パラメータ、およびローカルデコード画像を出力する。
【００４５】
判定結果がバンドオフセット処理を行わないという場合は、符号化パラメータとして適応オフセット処理を行わないというフラグを出力する。また、ローカルデコード画像として、デブロッキングフィルタ後の画像を出力する。判定結果がバンドオフセット処理を行うという場合は、符号化パラメータとしてバンドオフセット処理を行うというフラグ、バンド位置、４バンド分のオフセット値を出力する。またローカルデコード画像としてデブロッキングフィルタ後の画像にバンドオフセット処理を施した画像を出力する。
【００４６】
以上のようにして、バンドオフセット処理のパラメータであるバンド位置、オフセット値を決定することができる。また、バンドオフセット処理を行うかどうかを判定することができる。
【００４７】
次に、エッジオフセット処理の符号化判定処理について説明する。まず、エッジオフセットを適用するエッジ方向とオフセット値を決定する。その後、エッジオフセット処理を行うかどうかの符号化判定処理を行う。これらのパラメータの決定方法や、エッジオフセット処理を行うかどうかの判定方法にはさまざまなものが考えられる。符号化時のエッジオフセット処理のパラメータ決定方法、および符号化判定処理の例を、図６を用いて説明する。図６は、適応オフセット処理部１１５がエッジオフセット処理部として機能する場合の機能構成の一例を示すブロック図である。なお、図６の機能ブロック図は、適応オフセット処理部１１５における処理の流れを示すフロー図として参照することも可能である。その場合、図６の各機能ブロックは、適応オフセット処理部１１５において実行される処理ステップをそれぞれ表すものとして解釈される。
【００４８】
オフセット値の決定方法は、各エッジ方向、カテゴリごとのデブロッキングフィルタ後の画像と符号化対象画像の差分平均値をオフセット値として用いるものである。エッジ方向の決定方法は、全エッジ方向におけるエッジオフセット適用後の画像と符号化対象画像との間で差分絶対値和によるコスト算出を行い、もっともコストが小さいときのエッジ方向をエッジオフセットのエッジ方向として用いるものである。
【００４９】
まず、各エッジ方向、カテゴリごとのオフセット値を算出する。カテゴリカウンタ６０１は各エッジ方向のカテゴリごとにカウンタを持っている。図３の（ａ）〜（ｄ）の４つのエッジ方向のそれぞれに、図４の（ａ）〜（ｄ）の４つのカテゴリに対するカウンタを持っている。デブロッキングフィルタ後の画像に対して画素ごとに、４つのエッジ方向すべてに対してどのカテゴリに該当するかを調べ、それぞれのカテゴリに属する画素数をカウントする。各エッジ方向、カテゴリごとの画素数はオフセット値算出部６０４に出力される。
【００５０】
差分算出部６０２はデブロッキングフィルタ後の画像に対して画素ごとに、各エッジ方向のどこのカテゴリに該当するか調べる。さらにデブロッキングフィルタ後の画像と符号化対象画像との間で画素ごとに差分をとり、エッジ方向、カテゴリと差分値をセットで累積加算部６０３に出力する。累積加算部６０３は各エッジ方向のカテゴリごとに該当する差分値の累積加算処理を行い、各エッジ方向のカテゴリごとの累積加算値をオフセット値算出部６０４に出力する。オフセット値算出部６０４では、各エッジ方向のカテゴリごとに累積加算値を画素数で割り、１画素あたりの差分平均値を算出する。これを、当該エッジ方向、カテゴリのオフセット値として決定する。各エッジ方向のカテゴリごとのオフセット値はオフセット値加算部６０５に出力される。
【００５１】
次に、全エッジ方向におけるエッジオフセット適用後のコスト算出を行う。オフセット値加算部６０５では、デブロッキングフィルタ後の画像に対して指定されたエッジ方向のエッジオフセット処理を行う。指定されたエッジ方向の各カテゴリに該当する画素値に対して、オフセット値算出部６０４で決定したオフセット値を用いて加算処理を行う。オフセット加算後の画像はコスト算出部６０６に出力される。
【００５２】
コスト算出部６０６では、オフセット加算後の画像と符号化対象画像との間で、すべての画素に対する差分絶対値和を算出し、これを当該エッジ方向のコストとする。すべてのエッジ方向に対して、オフセット値加算部６０５でのオフセット加算処理とコスト算出部６０６でのコスト算出を行い、もっともコストが小さいエッジ方向を、エッジオフセットのエッジ方向として決定する。このようにして、エッジオフセット処理のエッジ方向、オフセット値、そのときのコストが決定する。このコストは判定部６０７に送られる。
【００５３】
コスト算出部６０６では、さらにエッジオフセット処理を行わない場合のコスト算出も行う。デブロッキングフィルタ後の画像と符号化対象画像との間で、すべての画素に対する差分絶対値和を算出し、これをエッジオフセット処理を行わない場合のコストとする。このコストも判定部６０７に送られる。
【００５４】
判定部６０７では、エッジオフセット処理を行うかどうかの符号化判定処理が行われる。まず、エッジオフセット処理を行った場合に画質がどの程度良くなるかを示す指標となる、画質改善コストを算出する。これはエッジオフセット処理を行わない場合のコストからエッジオフセット処理を行った場合のコストを引いたものとなる。
【００５５】
エッジオフセット処理を行う場合、エッジ方向、オフセット値を符号化する必要がある。エッジオフセット処理を行うかどうかの判定は、この符号量の増加に対して、それ以上の画質改善の効果が得られるかどうかによって決めることができる。エッジオフセット処理を行わない場合のコストが元々少ない場合には、画質改善コストが小さくなるので改善効果は低くなる。一方、エッジオフセット処理を行わない場合のコストが高い場合には、画質改善コストが大きくなり高い改善効果が期待できる。符号量の増加はほぼ一定なので、画質改善コストがある決められた閾値以上であれば、画質改善効果が大きいといえる。判定部６０７では、画質改善コストがあらかじめ決められたある閾値以上であればエッジオフセット処理を行い、画質改善コストが閾値以下であれば、エッジオフセット処理を行わない、という判定を行う。
【００５６】
判定結果はコスト算出部６０６に送られる。コスト算出部６０６では判定結果に従い、符号化パラメータ、およびローカルデコード画像を出力する。判定結果がエッジオフセット処理を行わないという場合は、符号化パラメータとして適応オフセット処理を行わないというフラグを出力する。また、ローカルデコード画像として、デブロッキングフィルタ後の画像を出力する。  判定結果がエッジオフセット処理を行うという場合は、符号化パラメータとしてエッジオフセット処理を行うというフラグ、エッジ方向、各カテゴリのオフセット値を出力する。またローカルデコード画像としてデブロッキングフィルタ後の画像にエッジオフセット処理を施した画像を出力する。
【００５７】
以上のようにして、エッジオフセット処理のパラメータであるエッジ方向、オフセット値を決定することができる。また、エッジオフセット処理を行うかどうかを判定することができる。なお、エッジオフセット処理のパラメータ決定方法、およびエッジオフセット処理を行うかどうかの判定方法はこれに限ったものではなく、どのような方法を用いてもよい。
【００５８】
以上のように、適応オフセット処理の対象となるブロックのデブロッキングフィルタ後の画素の分散値を取得し、その分散値に応じてバンドオフセット処理の符号化判定処理、もしくはエッジオフセット処理の符号化判定処理のどちらか一方のみを行う。バンドオフセット処理に効果がある平坦部においてはバンドオフセット処理の符号化判定処理を行い、そうではない場合にはエッジオフセット処理の符号化判定処理を行うことにより、適応オフセット処理の効果を損なうことなく処理を削減することができる。なお、本実施例ではHEVC符号化方式を例に説明を行ったが、適応オフセット処理を行うものであれば、どのような符号化方式にも適用することができる。
【００５９】
［実施形態２］
次に発明の第２の実施形態について説明する。通常、動画像の符号化においては主観画質を向上させるために、適応量子化制御を行うことが多い。これは画像の特徴を抽出し、視覚的に劣化が目立たない部分と視覚的に劣化が目立つ部分とで適応的に量子化ステップサイズを変える制御を行う。この画像の特徴を表すパラメータの一つとして、符号化対象画像のブロック単位の分散値が一般的に用いられている。そこで、本実施形態では、画像の特徴を表すパラメータとして符号化対象画像の分散値を用いるシステムにおいて、その分散値を適応オフセット処理にも用いる場合を説明する。
【００６０】
本実施形態では適応オフセット処理の対象ブロックの分散値を、デブロッキングフィルタ後の画素から算出するのではなく、これから符号化を行う符号化対象画像の画素から算出することを特徴とする。本実施形態に対応する動画像符号化装置を用いたカメラシステム構成を表すブロック図を図７に示す。ここでは、第１の実施形態との差異についてのみ詳細に説明する。図１では、デブロッキングフィルタ部１１４の後段に分散算出部１１７を配置していたが、図７では、符号化フレームバッファの後段に分散算出部７０１を配置している。これにより、適応量子化制御用の分散値算出部と、適応オフセット処理の符号化判定用の分散値算出部を兼用できるので、回路規模を抑えることができる。
【００６１】
図７において、分散算出部７０１は、符号化フレームバッファ１０４からブロック単位で符号化対象画像を取得する。実施形態１における式（１）、式（２）を用いてブロック単位で分散値を算出する。分散値を算出するブロック単位は、例えばCTUサイズである。算出した分散値は量子化制御部７０２、および適応オフセット処理部１１５に送られる。量子化制御部７０２では、分散算出部７０１が出力する分散値に応じて量子化ステップサイズを変化させる。例えば、分散値が低いときには量子化ステップサイズを小さくし、分散値が高いときには量子化ステップサイズを大きくする、といった動作を行う。適応オフセット処理部１１５では、分散算出部７０１が出力する分散値に応じて、実施形態１と同様にバンドオフセット処理とエッジオフセット処理のどちらか一方だけを選択して符号化判定処理を行う。符号化処理によって、ローカルデコード画像は符号化対象画像に対して劣化しているが、平坦部であるという特徴は変わらない。そのため適応オフセット処理の対象画像である、デブロッキングフィルタ後のローカルデコード画像も、やはり平坦部という判定をすることができる。
【００６２】
このように、本実施形態では、適応量子化制御用の分散値算出部と、適応オフセット処理の符号化判定用の分散値算出部を兼用することにより回路規模を抑えることができる。また、実施形態１と同様にバンドオフセット処理の効果が高そうな平坦部の処理にはバンドオフセット処理のみ符号化判定処理を行い、そうではない場合にはエッジオフセット処理のみ符号化判定処理を行うことで、適応オフセット処理に対して適切な判定処理を行いつつ、処理量を削減することができる。
【００６３】
［実施形態３］
次に、発明の第３の実施形態を説明する。上記の実施形態１及び２では、バンドオフセット処理とエッジオフセット処理のいずれを実行するかの判定に用いる画像の特徴パラメータとして画像の分散値を用いる場合を説明した。これに対し本実施形態では、適応オフセット処理の対象となるブロックのデブロッキングフィルタ後の画素のバンド位置毎の画素数を取得し、連続した所定数のバンド（４バンド）で画素数が最大となるバンド位置とその画素数を算出する。そして、画素数に応じてバンドオフセット処理の符号化判定処理、もしくはエッジオフセット処理の符号化判定処理のどちらか一方のみを行う。
【００６４】
本実施形態に対応する動画像符号化装置を用いたカメラシステム構成を表すブロック図を図８に示す。ここでは、実施形態１との差異についてのみ詳細に説明する。図１及び図７では、動画像符号化装置は分散算出部１１７、７０１を備えていたが、本実施形態ではデブロッキングフィルタ部１１４の後段に画素数計数部８０１とバンド位置判定部８０２が配置されている。画素数計数部８０１は、バンドオフセット処理のバンド位置ごとにカウンタを持っており、バンド位置ごとの画素数をカウントしバンド位置判定部８０２に出力する。バンド位置判定部８０２は、バンド位置ごとの画素数からバンドオフセット処理のバンド位置を決定する。また、バンドオフセット処理の符号化判定処理を行うのか、エッジオフセット処理の符号化判定処理を行うのかを決定する。
【００６５】
以下、図９及び図１０を参照しながら画素数計数部８０１及びバンド位置判定部８０２の動作をより具体的に説明する。図９は、バンド位置ごとの画素数の例を示す図であり、図１０は画素数計数部８０１、バンド位置判定部８０２及び適応オフセット処理部１１５の動作の一例を示すフローチャートである。
【００６６】
まずＳ１００１において画素数計数部８０１では、適応オフセット処理の対象となるデブロッキングフィルタ部１１４の出力する画像に対して、CTU単位でバンドオフセット処理のバンド位置ごとの画素数を計測する。式（３）で表されたバンド位置０から３１の計３２個のカウンタを持ち、デブロッキングフィルタ部１１４の出力する画像を１画素ごとに画素値を判定し、該当するバンド位置のカウンタをカウントアップしていく。CTUのすべての画素の計測が終了したら、各バンド位置の画素数をバンド位置判定部１１８に出力する。
【００６７】
Ｓ１００２において、バンド位置判定部８０２は、バンド位置ごとの画素数から連続した４バンド内の画素数をそれぞれ算出する。次にＳ１００３において、バンド位置判定部８０２は、４バンド内の画素数が最大となるバンド位置を決定する。バンド位置ごとの画素数の例を図９を用いて説明する。バンド位置０〜３１の画素数をそれぞれcnt0〜cnt31と表す。各バンド位置を先頭とする連続した４バンド分の画素数をそれぞれ算出する。例えば、バンド位置０を先頭とする場合の４バンド分の画素数はcnt0＋cnt1＋cnt2＋cnt3となる。バンド位置が３１を超える場合は、バンド位置０に戻る。例えば、バンド位置３０を先頭とする場合の４バンド分の画素数はcnt30＋cnt31＋cnt0＋cnt１となる。
【００６８】
バンド位置判定部８０２は、以上のようにして算出したバンド位置０〜３１を先頭とする４バンド分の画素数のうち、もっとも画素数の多いバンド位置を選択する。これをバンドオフセット処理を行うときのバンド位置とする。実施形態１及び２では、全バンド位置のバンドオフセット処理後の画像から、最も画質改善効果の高いものを選択していた。これに対して本実施形態では、各バンド位置の画素数を計測し、その画素数を比較するのみでバンド位置を決めるので処理量を削減することができる。
【００６９】
次に、バンド位置判定部８０２は、選択したバンド位置を先頭とする４バンド分の画素数からバンドオフセット処理の符号化判定処理を行うか、エッジオフセット処理の符号化判定処理を行うかを選択する。選択したバンド位置を先頭とする４バンド分の画素数は、バンドオフセット処理の適用対象となる画素の画素数である。すなわち、この画素数が多いほどバンドオフセット処理の効果が高いことが見込める。この４バンド分の画素数がある閾値以上である場合に、バンドオフセット処理の符号化判定処理を行う。この閾値をβとし、この値はあらかじめ決めておく。閾値βの決定方法は、例えばCTUの画素数の５０％以上というように決めておくことができる。CTUサイズが６４×６４画素で、その５０％を閾値βに設定する場合、以下の式（４）のように算出することができる。
β＝（６４×６４）×（５０／１００）＝２０４８ ...（４）
【００７０】
バンド位置判定部８０２は、選択したバンド位置を先頭とする連続した４バンド分の画素値を適応オフセット処理部１１５に渡す。Ｓ１００４において適応オフセット処理部１１５は、当該４バンド分の画素数が、閾値β以上であるか判別する。もし、４バンド分の画素数が閾値β以上である場合、S１００５において適応オフセット処理部１１５はバンドオフセット処理の符号化判定処理を実行する。一方、４バンド分の画素数が閾値βよりも少ない場合、Ｓ１００６において適応オフセット処理部１１５はエッジオフセット処理の符号化判定処理を実行する。なお、実行されるバンドオフセット処理及びエッジオフセット処理の詳細は上述と同様であるので説明は省略する。以上のようにして、適応オフセット処理の符号化判定処理が行われる。
【００７１】
次に、本実施形態に対応するバンドオフセット処理の符号化判定処理について説明する。バンドオフセットを適用するバンド位置は、バンド位置判定部１１８により既に決定している。このバンド位置において、まずバンドオフセット処理に適用するオフセット値を決定する。その後、バンドオフセット処理を行うかどうかの符号化判定処理を行う。
【００７２】
バンドオフセット処理のオフセット値決定方法、および符号化判定処理の例を、図５を用いて説明する。オフセット値の決定方法は、バンド位置判定部１１８で決定したバンド位置のデブロッキングフィルタ後の画像と符号化画像の差分平均値をオフセット値として用いるものである。まず、バンド位置ごとのオフセット値を算出する。バンド位置カウンタ５０１は４バンド分のカウンタを持っている。デブロッキングフィルタ後の画像に対して、決定したバンド位置を先頭とする４バンドに該当するかどうかを画素ごとに調べ、該当したバンド位置に属する画素数をカウントする。各バンド位置の画素数はオフセット値算出部５０４に出力される。
【００７３】
差分算出部５０２はデブロッキングフィルタ後の画像に対して、決定したバンド位置を先頭とする４バンドに該当するか調べ、該当した画素はデブロッキングフィルタ後の画像と符号化画像との間で画素の差分をとる。バンド位置と画素差分値をセットで累積加算部５０３に出力する。累積加算部５０３はバンド位置ごとに該当する画素差分値の累積加算処理を行い、バンド位置ごとの累積加算値をオフセット値算出部５０４に出力する。オフセット値算出部５０４では、バンド位置ごとに累積加算値を画素数で割り、１画素あたりの差分平均値を算出する。これを、当該バンド位置のオフセット値として決定する。バンド位置ごとのオフセット値はオフセット値加算部５０５に出力される。
【００７４】
次に、バンドオフセット適用後のコスト算出を行う。オフセット値加算部５０５では、デブロッキングフィルタ後の画像に対してバンドオフセット処理を行う。バンド位置判定部１１８で決定した先頭バンド位置から４バンド分に該当する画素値に対して、オフセット値算出部５０４で決定したオフセット値を用いて加算処理を行う。オフセット加算後の画像はコスト算出部５０６に出力される。コスト算出部５０６では、オフセット加算後の画像と符号化画像との間で、すべての画素に対する差分絶対値和を算出し、これをバンドオフセット適用時のコストとする。このようにして、バンドオフセット処理のオフセット値とそのときのコストが決定する。このコストは判定部５０７に送られる。
【００７５】
コスト算出部５０６では、実施形態１と同様、バンドオフセット処理を行わない場合のコスト算出も行う。算出したコストは判定部５０７に送信する。判定部５０７では、バンドオフセット処理を行うかどうかの符号化判定処理を行う。まず、実施形態１と同様にして画質改善コストを算出する。判定部５０７では、画質改善コストがあらかじめ決められたある閾値以上であればバンドオフセット処理を行い、画質改善コストが閾値以下であれば、バンドオフセット処理を行わない、という判定を行う。判定結果はコスト算出部５０６に送られる。コスト算出部５０６では判定結果に従い、符号化パラメータ、およびローカルデコード画像を出力する。判定結果がバンドオフセット処理を行わないという場合は、符号化パラメータとして適応オフセット処理を行わないというフラグを出力する。また、ローカルデコード画像として、デブロッキングフィルタ後の画像を出力する。判定結果がバンドオフセット処理を行うという場合は、符号化パラメータとしてバンドオフセット処理を行うというフラグ、バンド位置、４バンド分のオフセット値を出力する。またローカルデコード画像としてデブロッキングフィルタ後の画像にバンドオフセット処理を施した画像を出力する。
【００７６】
以上のようにして、バンドオフセット処理のパラメータである、オフセット値を決定することができる。また、バンドオフセット処理を行うかどうかを判定することができる。
【００７７】
次に、エッジオフセット処理の符号化判定処理であるが、当該処理は実施形態１と同様であり、図３、図４及び図６に従って実行することができるので、ここでの詳細な説明は省略する。
【００７８】
以上のように、適応オフセット処理の対象となるブロックのデブロッキングフィルタ後の画素のバンド位置ごとの画素数を取得し、連続した４バンドで最も画素数の多いバンド位置とその画素数を算出し、その画素数に応じてバンドオフセット処理の符号化判定処理、もしくはエッジオフセット処理の符号化判定処理のどちらか一方のみを行う。
【００７９】
本実施形態では、ある４バンド部分に画素が集中しており、バンドオフセット処理の効果が高そうな場合にはバンドオフセット処理のみ符号化判定処理を行い、そうでない場合にはエッジオフセット処理のみ符号化判定処理を行うことで、適応オフセット処理に対して適切な判定処理を行いつつ、処理量を削減することができる。なお、HEVC符号化方式を例に説明を行ったが、適応オフセット処理を行うものであれば、どのような符号化方式にも適用することができる。
【００８０】
［実施形態４］
次に、発明の第４の実施形態を説明する。上記の実施形態３では、バンド位置毎の画素数に基づきバンドオフセット処理のバンド位置決定と符号化判定に関する処理を行った。これに対し、本実施形態では、バンドオフセット処理のバンド位置決定にのみバンド位置毎の画素数を使用し、符号化判定に関する処理には実施形態１及び２で使用した画像の分散値を使用する。
【００８１】
本実施形態に対応する動画像符号化装置を用いたカメラシステム構成を表すブロック図を図１１に示す。ここでは、実施形態３との差異についてのみ詳細に説明する。図１１に示す構成では、デブロッキングフィルタ部１１４の後段にさらに分散算出部１１０１が配置される。分散算出部１１０１は、デブロッキングフィルタ処理後の画素に対して分散値を算出し、適応オフセット処理部１１５はその分散値に応じて、バンドオフセット処理とエッジオフセット処理のどちらか一方だけを選択して符号化判定処理を行う。
【００８２】
本実施形態におけるバンド位置の決定方法、及び、バンドオフセット処理とエッジオフセット処理の符号化判定処理の詳細については実施形態３で説明したものと同様である。また、分散値の算出及びバンドオフセット処理とエッジオフセット処理のいずれか一方を選択する選択方法については実施形態１で説明したものと同様である。よって、これらの詳細に関する説明は省略する。なお、分散算出部１１０１の配置位置については、実施形態２で示したように符号化フレームバッファ１０４の後段に配置することもできる。その場合には、量子化制御部１０８が量子化ステップサイズを制御するために分散値を利用することができる。
【００８３】
以上のように、本実施形態では画像の分散値に従いバンドオフセット処理の効果が高そうな平坦部の処理にはバンドオフセット処理のみ符号化判定処理を行い、そうでない場合にはエッジオフセット処理のみ符号化判定処理を行うことで、適応オフセット処理に対して適切な判定処理を行いつつ、処理量を削減することができる。また各バンド位置の画素数を計測し、その画素数を比較することでバンド位置を決定することにより、処理量を削減することができる。
【００８４】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８５】
１０１：レンズ、１０２：撮像部、１０３：現像処理部
【図１】
2017085496.tif 000005
【図２】
2017085496.tif 000006
【図３】
2017085496.tif 000007
【図４】
2017085496.tif 000008
【図５】
2017085496.tif 000009
【図６】
2017085496.tif 000010
【図７】
2017085496.tif 000011
【図８】
2017085496.tif 000012
【図９】
2017085496.tif 000013
【図１０】
2017085496.tif 000014
【図１１】
2017085496.tif 000015