(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-01-11
(45)【発行日】2024-01-19
(54)【発明の名称】画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
(51)【国際特許分類】
H04N 19/117 20140101AFI20240112BHJP
H04N 19/159 20140101ALI20240112BHJP
H04N 19/176 20140101ALI20240112BHJP
H04N 19/86 20140101ALI20240112BHJP
【FI】
H04N19/117
H04N19/159
H04N19/176
H04N19/86
(21)【出願番号】P 2018235911
(22)【出願日】2018-12-17
【審査請求日】2021-12-16
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】大川 浩司
(72)【発明者】
【氏名】志摩 真悟
【審査官】鉢呂 健
(56)【参考文献】
【文献】国際公開第2020/114513(WO,A1)
【文献】国際公開第2020/123442(WO,A1)
【文献】特表2007-503775(JP,A)
【文献】米国特許出願公開第2018/0091812(US,A1)
【文献】BROSS, Benjamin et al.,Versatile Video Coding (Draft 3),Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 12th Meeting: Macao, CN, 3-12 Oct. 2018, [JVET-L1001-v7],JVET-L1001 (version 11),ITU-T,2018年12月20日,<URL:https://jvet-experts.org/doc_end_user/documents/12_Macao/wg11/JVET-L1001-v11.zip>: JVET-L1001-v7.docx: pp.141-142,158-161
【文献】WANG, Biao et al.,CE10-related: modification for blocks applied with combined inter-intra prediction,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11 13th Meeting: Marrakesh, Morocco, 9-18 Jan. 2019, [JVET-M0294],JVET-M0294 (version 2),ITU-T,2019年01月13日,<URL:https://jvet-experts.org/doc_end_user/documents/13_Marrakech/wg11/JVET-M0294-v2.zip>: JVET-M0294-r2.docx: pp.1-6
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
画像をブロックごとに予測処理を行って符号化する符号化手段と、
第1のブロックと、当該第1のブロックと隣接する第2のブロックとの境界に対して行うデブロッキングフィルタ処理のbS値を、前記第1のブロックの予測処理で用いられるモード、および、前記第2のブロックの予測処理で用いられるモードの少なくともいずれか1つに基づいて決定する決定手段と、
前記第1のブロックの第1の量子化パラメータと、前記第2のブロックの第2の量子化パラメータと、前記決定手段が決定したbS値
とを用いて導出されたtc値に基づき、デブロッキングフィルタ処理を、前記境界に対して行う処理手段と
を備え、
前記符号化手段は、
符号化の対象のブロックが含まれる画像内の画素を用いて、当該対象のブロックの予測画素を導出する第1のモード、
符号化の対象のブロックが含まれる画像とは異なる画像の画素を用いて、当該対象のブロックの予測画素を導出する第2のモード、及び、
イントラ予測を用いて得られた予測画素の値と、インター予測を用いて得られた予測画素の値と、
画像における当該対象のブロックの位置に依存する重みの値と、を用いて、当該対象のブロックの予測画素を生成する第3のモードのいずれかを、
予測処理において用いることが可能であり、
前記決定手段は、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて、前記第3のモードが用いられる場合、前記第3のモードにおいて用いられる重みの値に関わらず、
前記第1のブロックと前記第2のブロックの前記境界に対して行うデブロッキングフィルタ処理のbS値を、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて前記第1のモードが用いられる場合と同一のbS値とする
ことを特徴とする画像符号化装置。
【請求項2】
前記決定手段は、
前記第1のブロックと前記第2のブロックとの内の少なくともいずれかにおいて、前記第3のモードが用いられる場合、
前記第1のブロックと前記第2のブロックの境界に対して行うデブロッキングフィルタ処理のbS値を、
前記第1のブロックと前記第2のブロックの両方において前記第2のモードが用いられる場合よりも強いbS値とする
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項3】
前記処理手段は、前記ブロックにおける輝度成分及び色差成分の中から前記bS値に応じて前記デブロッキングフィルタ処理の対象とする成分を選択することで、前記
tc値に基づき、デブロッキングフィルタ処理を行う
ことを特徴とする請求項1または2に記載の画像符号化装置。
【請求項4】
前記処理手段は、前記デブロッキングフィルタ処理を行うか否かを前記bS値に応じて選択することで、前記
tc値に基づき、デブロッキングフィルタ処理を行う
ことを特徴とする請求項1乃至3の何れか1項に記載の画像符号化装置。
【請求項5】
前記決定手段は、平滑化効果の異なるフィルタのうち前記境界における輝度成分に適用するフィルタを、前記境界における画素の画素値に基づいて決定する
ことを特徴とする請求項1乃至4の何れか1項に記載の画像符号化装置。
【請求項6】
前記第3のモードにおいて、イントラ予測を用いて得られた予測画素の値と、インター予測を用いて得られた予測画素の値と、前記重みの値と、から得られた値を右に所定数だけビットシフトさせることで、前記対象のブロックの予測画素が生成されることを特徴とする請求項1乃至5のいずれか1項に記載の画像符号化装置。
【請求項7】
ブロックごとに予測処理を行って画像を復号する復号手段と、
第1のブロックと、当該第1のブロックと隣接する第2のブロックの境界に対して行うデブロッキングフィルタ処理のbS値を、前記第1のブロックの予測処理で用いられるモード、および、前記第2のブロックの予測処理で用いられるモードの少なくともいずれか1つに基づいて決定する決定手段と、
前記第1のブロックの第1の量子化パラメータと、前記第2のブロックの第2の量子化パラメータと、前記決定手段が決定したbS値
とを用いて導出されたtc値に基づき、デブロッキングフィルタ処理を前記境界に対して行う処理手段と
を備え、
前記復号手段は、
復号の対象のブロックが含まれる画像内の画素を用いて、当該対象のブロックの予測画素を導出する第1のモード、
復号の対象のブロックが含まれる画像とは異なる画像の画素を用いて、当該対象のブロックの予測画素を導出する第2のモード、及び、
イントラ予測を用いて得られた予測画素の値と、インター予測を用いて得られた予測画素の値と、
画像における当該対象のブロックの位置に依存する重みの値と、を用いて、当該対象のブロックの予測画素を生成する第3のモードのいずれかを、
予測処理において用いることが可能であり、
前記決定手段は、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて、前記第3のモードが用いられる場合、前記第3のモードにおいて用いられる重みの値に関わらず、
前記第1のブロックと前記第2のブロックの前記境界に対して行うデブロッキングフィルタ処理のbS値を、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて前記第1のモードが用いられる場合と同一のbS値とする
ことを特徴とする画像復号装置。
【請求項8】
前記決定手段は、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて、前記第3のモードが用いられる場合、
前記第1のブロックと前記第2のブロックの境界に対して行うデブロッキングフィルタ処理のbS値を、
前記第1のブロックと前記第2のブロックの両方において前記第2のモードが用いられる場合よりも強いbS値とする
ことを特徴とする請求項7に記載の画像復号装置。
【請求項9】
前記処理手段は、前記ブロックにおける輝度成分及び色差成分の中から前記bS値に応じて前記デブロッキングフィルタ処理の対象とする成分を選択することで、前記
tc値に基づき、デブロッキングフィルタ処理を行う
ことを特徴とする請求項7または8に記載の画像復号装置。
【請求項10】
前記処理手段は、前記デブロッキングフィルタ処理を行うか否かを前記bS値に応じて選択することで、前記
tc値に基づき、デブロッキングフィルタ処理を行う
ことを特徴とする請求項7乃至9の何れか1項に記載の画像復号装置。
【請求項11】
前記決定手段は、平滑化効果の異なるフィルタのうち前記境界における輝度成分に適用するフィルタを、前記境界における画素の画素値に基づいて決定する
ことを特徴とする請求項7乃至10の何れか1項に記載の画像復号装置。
【請求項12】
前記第3のモードにおいて、イントラ予測を用いて得られた予測画素の値と、インター予測を用いて得られた予測画素の値と、前記重みの値と、から得られた値を右に所定数だけビットシフトさせることで、前記対象のブロックの予測画素が生成されることを特徴とする請求項7乃至11のいずれか1項に記載の画像復号装置。
【請求項13】
画像をブロックごとに予測処理を行って符号化する符号化工程と、
第1のブロックと、当該第1のブロックと隣接する第2のブロックとの境界に対して行うデブロッキングフィルタ処理のbS値を、前記第1のブロックの予測処理で用いられるモード、および、前記第2のブロックの予測処理で用いられるモードの少なくともいずれか1つに基づいて決定する決定工程と、
前記第1のブロックの第1の量子化パラメータと、前記第2のブロックの第2の量子化パラメータと、前記決定工程において決定したbS値
とを用いて導出されたtc値に基づき、デブロッキングフィルタ処理を前記境界に対して行う処理工程と
を有し、
前記符号化工程において、
復号の対象のブロックが含まれる画像内の画素を用いて、当該対象のブロックの予測画素を導出する第1のモード、
復号の対象のブロックが含まれる画像とは異なる画像の画素を用いて、当該対象のブロックの予測画素を導出する第2のモード、及び、
イントラ予測を用いて得られた予測画素の値と、インター予測を用いて得られた予測画素の値と、
画像における当該対象のブロックの位置に依存する重みの値と、を用いて、当該対象のブロックの予測画素を生成する第3のモードのいずれかを、
予測処理において用いることが可能であり、
前記決定工程において、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて、前記第3のモードが用いられる場合、前記第3のモードにおいて用いられる重みの値に関わらず、
前記第1のブロックと前記第2のブロックの前記境界に対して行うデブロッキングフィルタ処理のbS値を、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて前記第1のモードが用いられる場合と同一のbS値とする
ことを特徴とする画像符号化方法。
【請求項14】
ブロックごとに予測処理を行って画像を復号する復号工程と、
第1のブロックと、当該第1のブロックと隣接する第2のブロックの境界に対して行うデブロッキングフィルタ処理のbS値を、前記第1のブロックの予測処理で用いられるモード、および、前記第2のブロックの予測処理で用いられるモードの少なくともいずれか1つに基づいて決定する決定工程と、
前記第1のブロックの第1の量子化パラメータと、前記第2のブロックの第2の量子化パラメータと、前記決定工程において決定したbS値
とを用いて導出されたtc値に基づき、デブロッキングフィルタ処理を前記境界に対して行う処理工程と
を有し、
前記復号工程において、
復号の対象のブロックが含まれる画像内の画素を用いて、当該対象のブロックの予測画素を導出する第1のモード、
復号の対象のブロックが含まれる画像とは異なる画像の画素を用いて、当該対象のブロックの予測画素を導出する第2のモード、及び、
イントラ予測を用いて得られた予測画素の値と、インター予測を用いて得られた予測画素の値と、
画像における当該対象のブロックの位置に依存する重みの値と、を用いて、当該対象のブロックの予測画素を生成する第3のモードのいずれかを、
予測処理において用いることが可能であり、
前記決定工程において、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて、前記第3のモードが用いられる場合、前記第3のモードにおいて用いられる重みの値に関わらず、
前記第1のブロックと前記第2のブロックの前記境界に対して行うデブロッキングフィルタ処理のbS値を、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて前記第1のモードが用いられる場合と同一のbS値とする
ことを特徴とする画像復号方法。
【請求項15】
コンピュータを、請求項1乃至6の何れか1項に記載の画像符号化装置の各手段として機能させるためのコンピュータプログラム。
【請求項16】
コンピュータを、請求項7乃至12の何れか1項に記載の画像復号装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像符号化技術、画像復号技術に関するものである。
【背景技術】
【0002】
動画像の圧縮記録の符号化方式として、H.264/AVC符号化方式(以下、H.264と記す)やHEVC(High Efficiency Video Coding)符号化方式(以下、HEVCと記す)が知られている。HEVCでは符号化効率向上のため、従来のマクロブロック(16画素×16画素)より大きなサイズの基本ブロックが採用された。この大きなサイズの基本ブロックはCTU(Coding Tree Unit)と呼ばれ、そのサイズは最大64画素×64画素である。CTUはさらに予測や変換を行う単位となるサブブロックに分割される。
【0003】
またHEVCにおいては、逆量子化・逆変換処理後の信号と予測画像とを加算した再構成画像のブロック境界に適応的なデブロッキングフィルタ処理を行う事で、視覚的に目立ち易いブロック歪を抑える事ができ、予測画像への画質劣化の伝搬を防ぐ事ができた。特許文献1では、このようなデブロッキングフィルタに関する技術が開示されている。
【0004】
近年、HEVCの後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。JVET(Joint Video Experts Team)がISO/IECとITU-Tの間で設立され、VVC(Versatile Video Coding)符号化方式(以下、VVC)として標準化が進められている。符号化効率向上のため、従来のイントラ予測、インター予測に加え、イントラ予測画素とインター予測画素の両方を用いた新たな予測方法(以下、重み付きイントラ・インター予測と呼称する)が検討されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
VVCにおいても、HEVCと同様にデブロッキングフィルタの導入が検討されている。またVVCでは、従来のイントラ予測、インター予測に加えて、イントラ予測画素とインター予測画素の両方を用いて新しい予測画素を生成する重み付きイントラ・インター予測の導入が検討されている。HEVCではデブロッキングフィルタの強度の決定方法はイントラ予測・インター予測といった予測方法を前提としている。一方、新しい予測方法である重み付きイントラ・インター予測に対する方法もインター予測と同一の方法でデブロッキングフィルタの強度が決定されるが、これではブロック境界の歪を十分に抑える事ができないという課題があった。本発明では、重み付きイントラ・インター予測に対するデブロッキングフィルタ処理の強度を適切に決定し、ブロック境界に発生する歪を抑制するための技術を提供する。
【課題を解決するための手段】
【0007】
本発明の一様態は、画像をブロックごとに予測処理を行って符号化する符号化手段と、
第1のブロックと、当該第1のブロックと隣接する第2のブロックとの境界に対して行うデブロッキングフィルタ処理のbS値を、前記第1のブロックの予測処理で用いられるモード、および、前記第2のブロックの予測処理で用いられるモードの少なくともいずれか1つに基づいて決定する決定手段と、
前記第1のブロックの第1の量子化パラメータと、前記第2のブロックの第2の量子化パラメータと、前記決定手段が決定したbS値とを用いて導出されたtc値に基づき、デブロッキングフィルタ処理を、前記境界に対して行う処理手段と
を備え、
前記符号化手段は、
符号化の対象のブロックが含まれる画像内の画素を用いて、当該対象のブロックの予測画素を導出する第1のモード、
符号化の対象のブロックが含まれる画像とは異なる画像の画素を用いて、当該対象のブロックの予測画素を導出する第2のモード、及び、
イントラ予測を用いて得られた予測画素の値と、インター予測を用いて得られた予測画素の値と、画像における当該対象のブロックの位置に依存する重みの値と、を用いて、当該対象のブロックの予測画素を生成する第3のモードのいずれかを、
予測処理において用いることが可能であり、
前記決定手段は、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて、前記第3のモードが用いられる場合、前記第3のモードにおいて用いられる重みの値に関わらず、
前記第1のブロックと前記第2のブロックの前記境界に対して行うデブロッキングフィルタ処理のbS値を、
前記第1のブロックと前記第2のブロックの内の少なくともいずれかにおいて前記第1のモードが用いられる場合と同一のbS値とする
ことを特徴とする。
【発明の効果】
【0008】
本発明の構成によれば、重み付きイントラ・インター予測に対するデブロッキングフィルタ処理の強度を適切に決定し、ブロック境界に発生する歪を抑制することができる。
【図面の簡単な説明】
【0009】
【
図1】画像符号化装置の機能構成例を示すブロック図。
【
図2】画像復号装置の機能構成例を示すブロック図。
【
図5】コンピュータ装置のハードウェア構成例を示すブロック図。
【
図7】デブロッキングフィルタ処理の一例を示す図。
【発明を実施するための形態】
【0010】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の1つである。例えば、以下の説明において、「基本ブロック」や「サブブロック」といった語句を用いるが、各実施形態は画像符号化技術において「ブロック」や「ユニット」等の名称で呼ばれる種々の処理単位に応用可能である。
【0011】
[第1の実施形態]
先ず、本実施形態に係る画像符号化装置の機能構成例について
図1のブロック図を用いて説明する。制御部199は、画像符号化装置全体の動作制御を行う。ブロック分割部102は、入力画像(動画像を構成する各フレームの画像もしくは静止画像)を複数の基本ブロックに分割し、該分割したそれぞれの基本ブロック(分割画像)を出力する。
【0012】
予測部103は、基本ブロックごとに、該基本ブロックを複数のサブブロック(分割画像)に分割する。そして予測部103は、サブブロックごとに、フレーム内予測(イントラ予測)、フレーム間予測(インター予測)、又は、フレーム内予測とフレーム間予測の両者を重み付けして組み合わせる重み付きイントラ・インター予測を行って予測画像を生成する。そして予測部103はサブブロックごとに、予測画像とサブブロックとの差分を予測誤差として求める。また予測部103は、基本ブロックをどのようにサブブロックに分割したのかを示す情報、予測モード、動きベクトル等の予測に必要な情報、を予測情報として生成する。
【0013】
変換・量子化部104は、サブブロックごとの予測誤差を直交変換することで、サブブロックごとの変換係数(直交変換係数)を生成する。そして変換・量子化部104はそれぞれのサブブロックの変換係数を量子化することで該サブブロックの量子化係数を生成する。
【0014】
逆量子化・逆変換部105は、変換・量子化部104により生成されたそれぞれのサブブロックの量子化係数を、該サブブロックの量子化に用いた量子化マトリクスを用いて逆量子化して変換係数を生成し、該変換係数を逆直交変換して予測誤差を生成する。
【0015】
画像再生部106は、予測部103が生成した予測情報に基づいて、フレームメモリ107に格納されている符号化済の画像データから予測画像を生成し、該予測画像と、逆量子化・逆変換部105が生成した予測誤差と、から画像を再生する。そして画像再生部106は、該再生した画像をフレームメモリ107に格納する。フレームメモリ107に格納されている画像は、予測部103が他のフレームの画像について予測(予測処理)を行う際に参照される画像となる。
【0016】
インループフィルタ部108は、フレームメモリ107に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。
【0017】
フィルタ処理強度計算部112は、予測部103から出力される予測情報と、変換・量子化部104から出力される量子化係数と、を用いて、互いに隣接するサブブロックの境界に対して行うデブロッキングフィルタ処理の強度(bS値)を計算する。
【0018】
互いに隣接する2つのサブブロックのうち一方をサブブロックP、他方をサブブロックQと称すると、サブブロックPとサブブロックQとの境界に対して行うデブロッキングフィルタ処理の強度であるbS値は以下のようにして計算される。
【0019】
・ サブブロックPおよびサブブロックQのうち少なくとも一方がイントラ予測あるいは重み付きイントラ・インター予測が適用されたサブブロックである場合はbS値=2とする
・ 上記以外、サブブロックPおよびサブブロックQのうち少なくとも一方のサブブロックに非零の直交変換係数が存在する場合はbS値=1
・ 上記以外、サブブロックPの動きベクトルとサブブロックQの動きベクトルとの差の絶対値(大きさ)が規定値以上(例えば1画素以上)である場合はbS値=1
・ 上記以外、サブブロックPとサブブロックQの動き補償の参照画像が異なるか、動きベクトルの数が異なる場合、bS値=1
・ 上記以外、bS値=0
ここで、bS値が大きいほど、強度の強いデブロッキングフィルタを用いたデブロッキングフィルタ処理を施すものとする。本実施形態では、bS値=0ではデブロッキングフィルタ処理が実施されず、bS値=1では輝度成分にのみデブロッキングフィルタ処理が実施される。bS値=2では輝度成分および色差成分にデブロッキングフィルタ処理が実施される。すなわち本実施形態においては、bS値は、デブロッキングフィルタ処理を行うか否かを示したり、輝度成分や色差成分といったデブロッキングフィルタ処理の対象となる信号(画像成分)の種類を示しているが、これに限定されるものではない。デブロッキングフィルタ処理の強度の種類はもっと数が多くてもいいし少なくてもよい。デブロッキングフィルタ処理の強度に応じた処理の内容も異なっていてもよい。
例えば、H.264のデブロッキングフィルタ処理のように、bS値が0~4の五段階の値をとっても良い。本実施形態では重み付きイントラ・インター予測を使用したサブブロックの境界に対するデブロッキングフィルタ処理の強度は、該サブブロックがイントラ予測を使用した時と同一の値となっている。これはbS値=2、即ち最大の強度であることを示しているが、本実施形態はこれに限定されるものではない。本実施形態におけるbS値=1とbS値=2との間に中間的なbS値を設け、サブブロックPとサブブロックQの少なくとも一方が重み付きイントラ・インター予測の場合は、この中間的なbS値を用いる構成としても良い。その場合、輝度成分には通常のbS値=2の時と同様のデブロッキングフィルタ処理を実施し、色差成分にはbS値=2の時よりも平滑効果の強度が弱いデブロッキングフィルタ処理を実施することも可能である。これにより、重み付きイントラ・インター予測を用いたサブブロックの境界に対しては、中間的な平滑する度合のデブロッキングフィルタ処理を実施することができる。以上のように、単に「デブロッキングフィルタ処理の強度」と称する場合は、デブロッキングフィルタ処理を行う対象となる信号(輝度成分又は色差成分)を変えたり、デブロッキングフィルタによって信号を補正する平滑効果の強度を変えたりすることで、デブロッキングフィルタ処理の強度を変えることを意味するものとする。
【0020】
以上のように、フレームメモリ107に格納されている再生画像(復号画像)において隣接するそれぞれのブロックの境界に対して行うデブロッキングフィルタ処理の強度を、該それぞれのブロックの予測符号化の過程で得た情報に基づいて決定する。
【0021】
本実施形態では、サブブロックの境界を含む8画素×8画素の画像領域に対してデブロッキングフィルタを適用することで、該画像領域に対するデブロッキングフィルタ処理を実現させる。
【0022】
ここで、インループフィルタ部108が行うデブロッキングフィルタ処理について、
図7の例を挙げて詳細に説明する。
図7では、8画素×8画素のサイズを有するサブブロックP(
図7ではブロックPと称している)の右隣に8画素×8画素のサイズを有するサブブロックQ(
図7ではブロックQと称している)が隣接している。ここで、サブブロックPとサブブロックQとの境界部分(サブブロックPの右端の4画素(横)×8画素(縦)とサブブロックQの左端の4画素(横)×8画素(縦)から成る8画素(横)×8画素(縦))に対してデブロッキングフィルタ処理を行うとする。このとき、境界部分の上半分と下半分のそれぞれに対して以下に説明する処理を行うことで、該上半分と該下半分のそれぞれに対してデブロッキングフィルタ処理を実現させることができる。ここで、境界部分の上半分とは、サブブロックPの右上の4画素(横)×4画素(縦)とサブブロックQの左上の4画素(横)×4画素(縦)とから成る8画素(横)×4画素(縦)の画像領域を指す。また境界部分の下半分とは、サブブロックPの右下の4画素(横)×4画素(縦)とサブブロックQの左下の4画素(横)×4画素(縦)とから成る8画素(横)×4画素(縦)の画像領域を指す。
【0023】
以下では、境界部分の下半分に対するデブロッキングフィルタ処理について説明する。以下に説明するデブロッキングフィルタ処理は、境界部分の上半分にも同様に適用される。
【0024】
図7のp00~p33が記された各矩形は、サブブロックPの右下の4画素(横)×4画素(縦)の画像領域における各画素を表しており、p00~p33は画素値を示している。
図7のq00~q33は、サブブロックQの左下の4画素(横)×4画素(縦)の画像領域における各画素を表しており、q00~q33は画素値を示している。まず、輝度信号に関し、bS値≧1の場合、下記の式を用いてフィルタリング処理を行うか否かを判定する。
【0025】
|p20-2×p10+p00|+|p23-2×p13+p03|+|q20-2×q10+q00|+|q23-2×q13+q03|<β
ここで、βはサブブロックPの量子化パラメータとサブブロックQの量子化パラメータとの平均値から求められる値である。この不等式が満たされている場合にのみ、デブロッキングフィルタ処理を行うと判断する。デブロッキングフィルタ処理を行う場合、次に、平滑化効果の異なるストロングフィルタリングとウィークフィルタリングの何れを使用するのかを判定する。以下の(1)~(6)の不等式が全て満たされていれば平滑効果が強いストロングフィルタリングを使用すると判断し、それ以外の場合は平滑効果がストロングフィルタリングよりも弱いウィークフィルタリングを使用すると判断する。
(1) 2×(|p20-2×p10+p00|+|q20-2×q10+q00|)<(β>>2)
(2) 2×(|p23-2×p13+p03|+|q23-2×q13+q03|)<(β>>2)
(3) |p30-p00|+|q00-q30|<(β>>3)
(4) |p33-p03|+|q03-q33|<(β>>3)
(5) |p00-q00|<((5×tc+1)>>1)
(6) |p03-q03|<((5×tc+1)>>1)
ここで、>>N(N=1~3)はNビット算術右シフト演算を意味し、tcはbS値とサブブロックPの量子化パラメータとサブブロックQの量子化パラメータとから求められる値である。
【0026】
輝度信号に対する、平滑効果が強いストロングフィルタリング処理は、フィルタリング後の画素をp’0k,p’1k,p’2k,q’0k,q’1k,q’2k(k=0~3)とすると、以下の式で表される。
【0027】
p’0k=Clip3(p0k-2×tc,p0k+2×tc,(p2k+2×p1k+2×p0k+2×q0k+q1k+4)>>3)
p’1k=Clip3(p1k-2×tc,p1k+2×tc,(p2k+p1k+p0k+q0k+2)>>2)
p’2k=Clip3(p2k-2×tc,p2k+2×tc,(2×p3k+3×p2k+p1k+p0k+q0k+4)>>3)
q’0k=Clip3(q0k-2×tc,q0k+2×tc,(q2k+2×q1k+2×q0k+2×p0k+p1k+4)>>3)
q’1k=Clip3(q1k-2×tc,q1k+2×tc,(q2k+q1k+q0k+p0k+2)>>2)
q’2k=Clip3(q2k-2×tc,q2k+2×tc,(2×q3k+3×q2k+q1k+q0k+p0k+4)>>3)
ここで、Clip3(a,b,c)は、cの範囲がa≦b≦cとなるようにクリップ処理する関数である。一方、輝度信号に対する、平滑効果が弱いウィークフィルタリング処理は以下のように実施される。
【0028】
Δ=(9×(q0k-p0k)-3×(q1k-p1k)+8)>>4
|Δ|<10×tc
この不等式が満たされない場合は、デブロッキングフィルタ処理は実施されず、満たす場合は、画素値p0k及び画素値q0kに対して以下に示す処理を行うものとする。
【0029】
Δ=Clip3(-tc,tc,Δ)
p’0k=Clip1Y(p0k+Δ)
q’0k=Clip1Y(q0k-Δ)
ここで、Clip1Y(a)は、aの範囲が0≦a≦(輝度信号のビット深度で表現可能な最大値)となるようにクリップ処理を行う関数である。さらに次の条件を満たすとき、
|p20-2×p10+p00|+|p23-2×p13+p03|<(β+(β>>1))>>3)
|q20-2×q10+q00|+|q23-2×q13+q03|<(β+(β>>1))>>3)
それぞれp1k,q1kに対して以下のフィルタ処理が行われる。
【0030】
Δp=Clip3(-(tc>>1),tc>>1,(((p2k+p0k+1)>>1)-p1k+Δ)>>1)
p’1k=Clip1Y(p1k+Δp)
Δq=Clip3(-(tc>>1),tc>>1,(((q2k+q0k+1)>>1)-q1k+Δ)>>1)
q’1k=Clip1Y(q1k+Δq)
色差信号のデブロッキングフィルタ処理については、bS値=2の時のみ以下の処理が行われる。
【0031】
Δ=Clip3(-tc,tc,((((q0k-p0k)<<2)+p1k-q1k+4)>>3))
p’0k=Clip1C(p0k+Δ)
p’0k=Clip1C(p0k-Δ)
ここで、Clip1C(a)は、aの範囲が0≦a≦(色差信号のビット深度で表現可能な最大値)となるようにクリップ処理を行う関数である。本実施形態では、デブロッキングフィルタ処理の強度を示すbS値は、デブロッキングフィルタの処理対象の信号の種類を示し、それとは別に平滑化効果の高いストロングフィルタ、平滑化効果の弱いウィークフィルタを画素値の条件に応じて使い分けた。しかしこれに限定されるものではない。例えば、bS値に応じて信号の種類だけでなく平滑化効果の強弱が決定されてもよいし、平滑化効果の強弱だけがbS値によって決定され、信号の種類はまた別の条件によって決定されてもよい。
【0032】
符号化部109は、変換・量子化部104により生成された量子化係数と、予測部103により生成された予測情報と、を符号化して符号化データを生成する。統合符号化部110は、符号化部109により生成された符号化データと、入力画像の復号に必要な情報を含むヘッダデータと、を含むビットストリームを生成して出力する。
【0033】
次に、本実施形態に係る画像符号化装置の動作について説明する。ブロック分割部102は、入力画像を複数の基本ブロックに分割し、該分割したそれぞれの基本ブロックを出力する。
【0034】
予測部103は、基本ブロックごとに、該基本ブロックを複数のサブブロック(分割画像)に分割する。そして予測部103は、サブブロックごとに、以下の何れの予測方法を用いて符号化するのかを決定する。
【0035】
・ 水平予測や垂直予測などのイントラ予測
・ 参照フレームから動き補償を行うインター予測
・ イントラ予測とインター予測を組み合わせた重み付きイントラ・インター予測
本実施形態で用いられる予測方法について、改めて説明する。イントラ予測では、符号化対象となるブロック(符号化対象ブロック)の空間的に周辺に位置する符号化済画素を用いて符号化対象ブロックの予測画素を生成(導出)し、水平予測や垂直予測、DC予測などのイントラ予測方法を示すイントラ予測モードも生成する。
【0036】
インター予測では、符号化対象ブロックとは時間的に異なるフレームの符号化済画素を用いて符号化対象ブロックの予測画素を生成し、参照するフレームや動きベクトルなどを示す動き情報も生成する。
【0037】
重み付きイントラ・インター予測では、前述のイントラ予測により生成された画素値と前述のインター予測により生成された画素値とを加重平均して(両方を用いて)、符号化対象ブロックの予測画素の画素値を生成する。予測画素の画素値は、例えば、下記の式(1)を用いて計算する(基本ブロックのサイズが8画素×8画素の場合の式)。
【0038】
p[x][y]=(w×pInter[x][y]+(8-w)×pIntra[x][y])>>3)…(1)
ただし、「>>」は右へのビットシフトを表す。上記の式(1)において、p[x][y]は符号化対象ブロック内の座標(x,y)における算出された重み付きイントラ・インター予測による予測画素の画素値である。pInter[x][y]は符号化対象ブロック内の座標(x,y)におけるインター予測による画素値、pInter[x][y]は符号化対象ブロック内の座標(x,y)におけるインター予測による画素値を表している。wはインター予測の画素値およびイントラ予測の画素値に対する重み値を表しており、本実施形態ではw=4の時にインター予測の画素値とイントラ予測の画素値に対する重みが同一となる。言い換えれば、w>4であればインター予測の画素値に対する重みが増し、w<4であればイントラ予測の画素値に対する重みが増す。重み値wの決定方法は特に限定しないが、イントラ予測モードやインター予測の動きベクトルの大きさ、符号化対象ブロックの位置などに応じて決定されるものとする。こうして重み付きイントラ・インター予測では、符号化対象ブロックの予測画素を生成し、予測画素の生成に用いられたイントラ予測モードや動き情報も生成する。
【0039】
そして予測部103は、決定した予測方法および符号化済の画素から予測画像を生成し、サブブロックと予測画像から予測誤差を生成する。また予測部103は、基本ブロックをどのようにサブブロックに分割したのかを示す情報、予測モード、動きベクトル等の予測に必要な情報を予測情報として生成する。
【0040】
変換・量子化部104は、サブブロックごとの予測誤差を直交変換することで、サブブロックごとの変換係数を生成する。そして変換・量子化部104はそれぞれのサブブロックの変換係数を量子化することで該サブブロックの量子化係数を生成する。
【0041】
逆量子化・逆変換部105は、変換・量子化部104により生成されたそれぞれのサブブロックの量子化係数を、該サブブロックの量子化に用いた量子化マトリクスを用いて逆量子化して変換係数を生成し、該変換係数を逆直交変換して予測誤差を生成する。
【0042】
画像再生部106は、予測部103が生成した予測情報に基づいて、フレームメモリ107に格納されている符号化済画像データから予測画像を生成し、該予測画像と、逆量子化・逆変換部105が生成した予測誤差と、から画像を再生する。そして画像再生部106は、該再生した画像をフレームメモリ107に格納する。
【0043】
フィルタ処理強度計算部112は、予測部103から出力される予測情報と、変換・量子化部104から出力される量子化係数と、を用いて上記の処理を行うことで、互いに隣接するサブブロックの境界に対して行うデブロッキングフィルタ処理の強度を計算する。
【0044】
インループフィルタ部108は、フレームメモリ107に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。インループフィルタ部108にて行うデブロッキングフィルタ処理は、フィルタ処理強度計算部112が求めた強度に基づいている。
【0045】
符号化部109は、変換・量子化部104により生成された量子化係数と、予測部103により生成された予測情報と、をエントロピー符号化して符号化データを生成する。エントロピー符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。
【0046】
統合符号化部110は、符号化部109により生成された符号化データやヘッダデータなどを多重化してビットストリームを生成し、該生成したビットストリームを出力する。
【0047】
以上説明した画像符号化装置による入力画像の符号化処理について、
図3のフローチャートに従って説明する。ステップS301では、統合符号化部110は、画像の符号化に必要なヘッダを符号化してヘッダデータ(符号化データ)を生成する。
【0048】
ステップS302では、ブロック分割部102は、入力画像を複数の基本ブロックに分割する。ステップS303では、予測部103は、ステップS302で分割されたそれぞれの基本ブロックのうち未選択の1つを選択基本ブロックとして選択する。そして予測部103は、サブブロック分割方法(本実施形態ではイントラ予測、インター予測、重み付きイントラ・インター予測の何れか1つの予測方法)を決定し、該決定したサブブロック分割方法に従って選択基本ブロックを複数のサブブロックに分割する。また予測部103は、サブブロック単位で予測方法を決定する。そして予測部103は、サブブロックごとに、フレームメモリ107内の画像を用いて、決定した予測方法に従って予測を行うことで予測画像を生成し、サブブロックと該予測画像との差分を予測誤差として求める。また予測部103は、サブブロック分割方法を示す情報、予測モード、動きベクトル等の予測に必要な情報を予測情報として生成する。
【0049】
ステップS304では、変換・量子化部104は、サブブロックごとの予測誤差を直交変換することで、サブブロックごとの変換係数を生成する。そして変換・量子化部104はそれぞれのサブブロックの変換係数を量子化して、該サブブロックの量子化係数を生成する。
【0050】
ステップS305では、逆量子化・逆変換部105は、ステップS304で生成されたそれぞれのサブブロックの量子化係数を、該サブブロックの量子化で用いた量子化マトリクスを用いて逆量子化して変換係数を生成する。そして逆量子化・逆変換部105は、該生成された変換係数を逆直交変換して予測誤差を生成する。
【0051】
ステップS306では、画像再生部106は、予測部103が生成した予測情報に基づいて、フレームメモリ107に格納されている符号化処理済の画像データから予測画像を生成する。そして画像再生部106は、該予測画像と、逆量子化・逆変換部105が生成した予測誤差と、から画像を再生する。そして画像再生部106は、該再生した画像をフレームメモリ107に格納する。
【0052】
ステップS307では、符号化部109は、変換・量子化部104により生成された量子化係数と、予測部103により生成された予測情報と、をエントロピー符号化して符号化データを生成する。統合符号化部110は、符号化部109により生成された符号化データと、ヘッダデータと、を多重化してビットストリームを生成する。
【0053】
ステップS308では、制御部199は、全ての基本ブロックが符号化されたか否かを判断する。この判断の結果、全ての基本ブロックが符号化された場合には、処理はステップS309に進み、未だ符号化されていない基本ブロックが残っている場合には、処理はステップS303に進む。
【0054】
ステップS309でフィルタ処理強度計算部112は、予測部103が求めた予測情報と変換・量子化部104が求めた量子化係数とを用いて上記の処理を行うことで、互いに隣接するサブブロックの境界に対して行うデブロッキングフィルタ処理の強度を計算する。
【0055】
ステップS310では、インループフィルタ部108は、フレームメモリ107に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。互いに隣接するサブブロックの境界に対して行うデブロッキングフィルタ処理は、該境界についてフィルタ処理強度計算部112が求めた強度に基づいている。
【0056】
このように本実施形態によれば、特にステップS309において、重み付きイントラ・インター予測を使用したサブブロックの境界に対して歪み補正効果の高いデブロッキングフィルタを設定できる。これにより、ブロック歪を抑制することができ、主観画質を向上させることができる。また、デブロッキングフィルタ処理の強度の計算に新たな演算を必要としないため、実装の複雑度を高めることもない。
【0057】
また、本実施形態では、デブロッキングフィルタ処理の強度(bS値)によって、輝度または色差のブロック境界に対するデブロッキングフィルタ処理の有無が変更される構成としたが、強度(bS値)によって、フィルタ自体の平滑効果の強度を変更する構成としても良い。例えば、デブロッキングフィルタ処理の強度(bS値)が大きい際にはよりタップ長が長く補正効果の高いフィルタを用い、デブロッキングフィルタ処理の強度(bS値)が小さい際にはよりタップ長の短い補正効果の低いフィルタを用いることもできる。これにより、デブロッキングフィルタ処理の有無以外の手法でフィルタの強度、すなわち補正効果を調整することが可能となる。
【0058】
[第2の実施形態]
本実施形態を含む以下の各実施形態では、第1の実施形態との差分について説明し、以下で特に触れない限りは第1の実施形態と同様であるものとする。本実施形態では、画像符号化装置は
図3のフローチャートに従って以下のような処理を行う。
【0059】
本実施形態に係るビットストリームの構成例を
図6に示す。ピクチャヘッダにはデブロッキングフィルタリング処理の強度の重み付け閾値(強度重み付け閾値)であるfilter_weight_thresholdが格納されている。これは重み付きイントラ・インター予測における重み値wによって、デブロッキングフィルタのbS値の算出において、当該のサブブロックをイントラ予測を適用したサブブロック、インター予測を適用したサブブロックのどちらとして扱うかを決める閾値である。
【0060】
ステップS309では、フィルタ処理強度計算部112はbS値を計算する。具体的には以下の不等式が成立する場合には、重み付きイントラ・インター予測のサブブロックはイントラ予測のサブブロックとしてbS値が計算される。
【0061】
w<filter_weight_threshold
例えばfilter_weight_thresholdの値が4の時、4未満のwを持つ重み付きイントラ・インター予測のサブブロックは全てイントラ予測のサブブロックとして扱われる。4以上のwを持つ重み付きイントラ・インター予測のサブブロックは全てインター予測のサブブロックとして扱われる。以下の表に、
図7のサブブロックPとサブブロックQが、イントラ予測、インター予測、重み付きイントラ・インター予測(w=3)、重み付きイントラ・インター予測(w=5)のそれぞれで符号化された際のbS値の一例を示す。
【0062】
【0063】
この表では、filter_weight_threshold=4としている。例えば、隣接するサブブロックPおよびサブブロックQのうち少なくとも一方がイントラ予測あるいは重み付きイントラ・インター予測(w=3)で符号化されている場合、該一方はイントラ予測ブロックとして扱われるため、bS値を2とする。また、サブブロックPおよびサブブロックQのいずれもインター予測あるいは重み付きイントラ・インター予測(w=5)で符号化されている場合は、サブブロックPもサブブロックQもインター予測ブロックとして扱われるため、bS値は0または1とする。0とするか1とするかの判断は第1の実施形態におけるフィルタ処理強度計算部112と同様であり、サブブロックPおよびサブブロックQの非零の直交変換係数の有無や動きベクトルの数や大きさの差、参照画像の差などにより決定される。
【0064】
フィルタ処理強度計算部112は、このような表のデータを参照してbS値を決定している。なお、本実施形態ではfilter_weight_thresholdをピクチャヘッダに格納しているが、格納先は特定の格納先に限定されるものではなく、例えば、シーケンスヘッダに格納してもよい。また本実施形態では、bS値の計算の際に重み付きイントラ・インター予測のサブブロックをイントラ予測のサブブロック、インター予測のサブブロックのどちらとして扱うかを判定するための情報として強度重み付け閾値をヘッダに格納した。しかし、これに限定されるものではない。必ずイントラ予測のサブブロックとして扱うという事を示すフラグ情報を格納してもよいし、必ずインター予測のサブブロックとして扱うという事を示す情報を格納してもよい。あるいは、filter_weight_thresholdの値から予め4を減算しておいたものを強度重み付け閾値filter_weight_threshold_minus4としてもよい。これにより、filter_weight_threshold_minus4の値は0およびその周辺の値に設定される可能性が高まるため、ゴロム符号化などにより情報自体の符号量を減少することができる。
【0065】
このように、本実施形態によれば、複雑な処理を必要とせず、重み付きイントラ・インター予測のサブブロックに対するデブロッキングフィルタ処理の強度を決定する事ができる。また、ユーザが自由に重み付きイントラ・インター予測のブロックのデブロッキングフィルタ処理の強度を調整する事ができる。
【0066】
また、本実施形態ではフィルタの強さを決定するための情報をヘッダに出力したが、これに限定されるものではない。予めwの値によって重み付きイントラ・インター予測のサブブロックをイントラ・インターのどちらとして扱うかを一意に定めていてもよい。また、bS値に関係なく、イントラの重みが強いほど強く平滑化するデブロッキングフィルタがかかっていてもよい。これにより、強度重み付け閾値分の符号量を節約するとともに、予測モードによりデブロッキングフィルタ処理を固定化することで、実装複雑度を低下させることができる。
【0067】
[第3の実施形態]
本実施形態では、第1の実施形態に係る画像符号化装置によって符号化された入力画像を復号する画像復号装置について説明する。本実施形態に係る画像復号装置の機能構成例について、
図2のブロック図を用いて説明する。
【0068】
制御部299は、画像復号装置全体の動作制御を行う。分離復号部202は、画像符号化装置によって生成されたビットストリームを取得し、該ビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。本実施形態では、分離復号部202は上記の統合符号化部110と逆の動作を行う。
【0069】
復号部203は、分離復号部202によってビットストリームから分離された符号化データを復号することで、量子化係数および予測情報を取得する。逆量子化・逆変換部204は、上記の画像符号化装置が有する逆量子化・逆変換部105と同様の動作を行うものである。逆量子化・逆変換部204は、量子化係数に対する逆量子化を行うことで変換係数を取得し、該変換係数に対して逆直交変換を行うことで予測誤差を取得する。
【0070】
画像再生部205は、復号部203によって復号された予測情報に基づいてフレームメモリ206に格納されている画像を参照することで予測画像を生成する。そして画像再生部205は、該生成された予測画像と、逆量子化・逆変換部204によって得られた予測誤差と、を用いて、再生画像を生成し、該生成した再生画像をフレームメモリ206に格納する。
【0071】
フィルタ処理強度計算部209は、復号部203によって復号された予測情報と量子化係数を用いて、隣接するサブブロック間の境界に対するデブロッキングフィルタ処理の強度であるbS値をフィルタ処理強度計算部112と同様に決定する。
【0072】
インループフィルタ部207は、フレームメモリ206に格納されている再生画像に対して、インループフィルタ部108と同様にデブロッキングフィルタなどのインループフィルタ処理を行う。インループフィルタ部207によるデブロッキングフィルタ処理は、フィルタ処理強度計算部209が求めたbS値に対応するデブロッキングフィルタ処理である。
【0073】
フレームメモリ206に格納されている再生画像は、制御部299によって適宜出力される。再生画像の出力先は特定の出力先に限らず、例えば、ディスプレイなどの表示装置の表示画面に再生画像を表示しても良いし、プロジェクタなどの投影装置に対して該再生画像を出力しても良い。
【0074】
次に、上記の構成を有する画像復号装置の動作(ビットストリームの復号処理)について説明する。本実施形態では、分離復号部202に入力されるビットストリームは、動画像におけるフレームごとのビットストリームであるものとするが、静止画像のビットストリームであっても構わない。
【0075】
分離復号部202は、画像符号化装置によって生成された1フレーム分のビットストリームを取得し、該ビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。また分離復号部202は、ピクチャデータの基本ブロック単位の符号化データを復号部203に出力する。
【0076】
復号部203は、分離復号部202によってビットストリームから分離された符号化データを復号することで、量子化係数および予測情報を取得する。この予測情報には、それぞれのサブブロックが以下の何れの予測方法で符号化されたのかを示す情報が含まれている。
【0077】
・ 水平予測や垂直予測などのイントラ予測
・ 参照フレームから動き補償を行うインター予測
・イントラ予測とインター予測を組み合わせた重み付きイントラ・インター予測
逆量子化・逆変換部204は、それぞれのサブブロックの量子化係数に対する逆量子化を行うことで変換係数を取得し、該変換係数に対して逆直交変換を行うことで予測誤差を取得する。
【0078】
画像再生部205は、復号部203によって復号された予測情報に基づいてフレームメモリ206に格納されている画像を参照することで予測画像を生成する。そして画像再生部205は、該生成された予測画像と、逆量子化・逆変換部204によって得られた予測誤差と、を用いて、再生画像を生成し、該生成した再生画像をフレームメモリ206に格納する。
【0079】
フィルタ処理強度計算部209は、復号部203によって復号された予測情報と量子化係数を用いて、隣接するサブブロック間の境界に対するデブロッキングフィルタ処理の強度であるbS値をフィルタ処理強度計算部112と同様に決定する。
【0080】
インループフィルタ部207は、フレームメモリ206に格納されている再生画像に対して、インループフィルタ部108と同様にデブロッキングフィルタなどのインループフィルタ処理を行う。インループフィルタ部207によるデブロッキングフィルタ処理は、フィルタ処理強度計算部209が求めたbS値に対応するデブロッキングフィルタ処理である。
【0081】
本実施形態では、第1の実施形態と同様にbS値は、デブロッキングフィルタの処理対象の信号(画像成分)の種類を示し、それとは別に平滑化効果の高いストロングフィルタ、平滑化効果の弱いウィークフィルタを画素値の条件に応じて使い分ける。しかしこれに限定されるものではない。例えばbS値に応じて信号の種類だけでなく平滑化効果の強弱が決定されてもよいし、平滑化効果の強弱だけがbS値によって決定され、信号の種類はまた別の条件によって決定されてもよい。
【0082】
以上説明した画像復号装置による1フレーム分のビットストリームの復号処理について、
図4のフローチャートに従って説明する。ステップS401では、分離復号部202は、画像符号化装置によって生成された1フレーム分のビットストリームを取得する。そして分離復号部202は、該ビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。
【0083】
ステップS402~S405の処理は、入力画像における(画像内の)それぞれの基本ブロックについて行われる。ステップS402では、復号部203は、分離復号部202によってビットストリームから分離された符号化データを復号することで、量子化係数および予測情報を取得する。
【0084】
ステップS403では、逆量子化・逆変換部204は、復号対象のサブブロックの量子化係数に対する逆量子化を行うことで変換係数を取得し、該変換係数に対して逆直交変換を行うことで予測誤差を取得する。
【0085】
ステップS404では、画像再生部205は、復号部203によって復号された予測情報に基づいてフレームメモリ206に格納されている画像を参照することで予測画像を生成する。そして画像再生部205は、該生成された予測画像と、逆量子化・逆変換部204によって得られた予測誤差と、を用いて、再生画像を生成し、該生成した再生画像をフレームメモリ206に格納する。
【0086】
ステップS405では、制御部299は、ビットストリームに含まれている全ての基本ブロックの復号が完了したか否かを判断する。この判断の結果、ビットストリームに含まれている全ての基本ブロックの復号が完了した場合には、処理はステップS406に進む。一方、ビットストリームに含まれている全ての基本ブロックのうち未だ復号が完了していない基本ブロックが残っている場合には、該未だ復号が完了していない基本ブロックについてステップS402以降の処理を繰り返す。
【0087】
ステップS406では、フィルタ処理強度計算部209は、復号部203によって復号された予測情報と量子化係数を用いて、隣接するサブブロック間の境界に対するデブロッキングフィルタ処理の強度であるbS値をフィルタ処理強度計算部112と同様に決定する。
【0088】
ステップS407では、インループフィルタ部207は、ステップS404でフレームメモリ206に格納した再生画像に対して、インループフィルタ部108と同様にデブロッキングフィルタなどのインループフィルタ処理を行う。インループフィルタ部207によるデブロッキングフィルタ処理は、ステップS406でフィルタ処理強度計算部209が求めたbS値に対応するデブロッキングフィルタ処理である。
【0089】
このように、本実施形態によれば、第1の実施形態に係る画像符号化装置によって生成された、重み付きイントラ・インター予測で符号化されたサブブロックに対して適切なデブロッキングフィルタを適用したビットストリーム、を復号することができる。
【0090】
また、本実施形態では、デブロッキングフィルタ処理の強度(bS値)によって、輝度または色差のブロック境界のフィルタの有無が変更される構成としたが、デブロッキングフィルタ処理の強度(bS値)によって、フィルタ自体の平滑効果の強度を変更する構成としても良い。例えば、デブロッキングフィルタ処理の強度(bS値)が大きい際にはよりタップ長が長く補正効果の高いフィルタを用い、デブロッキングフィルタ処理の強度(bS値)が小さい際にはよりタップ長の短い補正効果の低いフィルタを用いることもできる。これにより、フィルタの有無以外の手法でフィルタの強度、すなわち補正効果を調整したビットストリームを復号することが可能となる。
【0091】
[第4の実施形態]
本実施形態では、第2の実施形態に係る画像符号化装置によって符号化された入力画像を復号する画像復号装置について説明する。本実施形態では、
図4のフローチャートに従った処理において、以下の点が第3の実施形態と異なる。
【0092】
ステップS401では、分離復号部202は、
図6で示されるビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。この復号では、ピクチャヘッダ中の強度重み付け閾値であるfilter_weight_thresholdを復号する。
【0093】
ステップS406では、フィルタ処理強度計算部209はbS値を計算する。なお、本実施形態では、bS値を0とするか1とするかの判断は第3の実施形態のフィルタ処理強度計算部209と同様である。
【0094】
本実施形態では、filter_weight_thresholdはピクチャヘッダ内に存在しているが、これに限定されるものではなく、例えば、シーケンスヘッダ内に存在してもよい。また本実施形態では、bS値の計算の際に重み付きイントラ・インター予測のブロックをイントラ予測のサブブロック、インター予測のサブブロックのどちらとして扱うかを判定するための情報として強度重み付け閾値を復号した。しかし、これに限定されるものではない。必ずイントラ予測のサブブロックとして扱うという事を示すフラグ情報を復号してもよいし、必ずインター予測のサブブロックとして扱うという事を示す情報を復号してもよい。あるいは、filter_weight_thresholdの値から予め4を減算しておいたものを強度重み付け閾値filter_weight_threshold_minus4として復号してもよい。これにより、filter_weight_threshold_minus4の値は0およびその周辺の値に設定される可能性が高くなるため、情報自体の符号量が少ないビットストリームを復号することができる。
【0095】
このように、本実施形態によれば、複雑な処理を必要とせず、重み付きイントラ・インター予測のサブブロックに対するデブロッキングフィルタ処理の強度を決定する事ができる。また、ユーザが自由に重み付きイントラ・インター予測のサブブロックのデブロッキングフィルタ処理の強度を調整したビットストリームを復号できる。
【0096】
また、本実施形態ではフィルタの強さを決定する情報をヘッダから復号したが、これに限定されるものではない。予めwの値によって重み付きイントラ・インター予測のサブブロックをイントラ・インターのどちらとして扱うかを一意に定めていてもよい。また、bS値に関係なく、イントラの重みが強いほど強く平滑化するデブロッキングフィルタがかかっていてもよい。これにより、強度重み付け閾値分の符号量を節約したビットストリームを復号するとともに、予測モードによりデブロッキングフィルタ処理を固定化することで、実装複雑度を低下させることができる。
【0097】
[第5の実施形態]
図1,
図2に示した各機能部は全てハードウェアで実装しても良いが、一部をソフトウェア(コンピュータプログラム)で実装しても良い。その場合、フレームメモリ107やフレームメモリ206をメモリ装置として有し、該コンピュータプログラムを実行可能なコンピュータ装置は、上記の画像符号化装置や画像復号装置に適用することができる。上記の画像符号化装置や画像復号装置に適用可能なコンピュータ装置のハードウェア構成例について、
図5のブロック図を用いて説明する。
【0098】
CPU501は、RAM502やROM503に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU501は、コンピュータ装置全体の動作制御を行うと共に、上記の画像符号化装置や画像復号装置が行うものとして上述した各処理を実行若しくは制御する。
【0099】
RAM502は、ROM503や外部記憶装置506からロードされたコンピュータプログラムやデータ、I/F(インターフェース)507を介して外部から受信したデータ(例えば上記の動画像や静止画像のデータ)を格納するためのエリアを有する。さらにRAM502は、CPU501が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM502は、各種のエリアを適宜提供することができる。ROM503には、コンピュータ装置の設定データや起動プログラムなどが格納されている。
【0100】
操作部504は、キーボード、マウス、タッチパネルなどのユーザインターフェースであり、ユーザが操作することで、各種の指示をCPU501に対して入力することができる。
【0101】
表示部505は、液晶画面やタッチパネル画面などにより構成されており、CPU501による処理結果を画像や文字などでもって表示することができる。例えば、上記の画像復号装置によって復号される再生画像をこの表示部505に表示させても良い。なお、表示部505は、画像や文字を投影するプロジェクタなどの投影装置であっても良い。
【0102】
外部記憶装置506は、ハードディスクドライブ装置などの大容量情報記憶装置である。外部記憶装置506には、OS(オペレーティングシステム)、上記の画像符号化装置や画像復号装置が行うものとして上述した各種の処理をCPU501に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置506に保存されているコンピュータプログラムには、上記のフレームメモリ107やフレームメモリ206以外の各機能部の機能をCPU501に実現させるためのコンピュータプログラムが含まれている。また、外部記憶装置506に保存されているデータには、上記の説明で既知の情報として説明したもの(強度重み付け閾値、表1のテーブルのデータなど)等、符号化や復号に必要な各種の情報が含まれている。
【0103】
外部記憶装置506に保存されているコンピュータプログラムやデータは、CPU501による制御に従って適宜RAM502にロードされ、CPU501による処理対象となる。なお、上記のフレームメモリ107やフレームメモリ206は、RAM502、外部記憶装置506などのメモリ装置によって実装可能である。
【0104】
I/F507は外部の機器との間のデータ通信を行うためのインターフェースとして機能するものである。例えば、外部のサーバ装置や撮像装置から動画像や静止画像をI/F507を介してRAM502や外部記憶装置506に取得することができる。
【0105】
CPU501、RAM502、ROM503、操作部504、表示部505、外部記憶装置506、I/F507は何れもバス508に接続されている。なお、
図5に示した構成は、上記の画像符号化装置や画像復号装置に適用可能なコンピュータ装置のハードウェア構成の一例に過ぎず、各種の変更/変形が可能である。
【0106】
[第6の実施形態]
上記の各実施形態ではサブブロックを符号化単位とした。しかし、符号化単位はサブブロックに限らず、例えば、基本ブロックを符号化単位としても良い。また、上記の説明において使用した数値は具体的な説明を行うために使用したものであり、上記の各実施形態が、使用した数値に限定されることを意図したものではない。例えば、上記の説明において使用したwの値や強度重み付け閾値の値やブロックのサイズなどは一例であり、上記の数値に限らない。
【0107】
また、上記の各実施形態では、画像復号装置は画像符号化装置とは別個の装置であるものとして説明したが、画像復号装置と画像符号化装置とを1つの装置に統合しても良い。その場合、この装置は、入力画像を符号化し、必要に応じて該符号化した入力画像を復号することができる。
【0108】
また、デブロッキングフィルタを適用する対象はサブブロックの境界に限らず、例えば、変換ユニットの境界であっても良い。また、上記の実施形態では、デブロッキングフィルタのサイズを8画素×8画素としたが、このサイズに限らない。また、変換ユニットのサイズは、サブブロックと同じサイズであっても良いし、サブブロックと異なるサイズであっても良い。
【0109】
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
【0110】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0111】
102:ブロック分割部 103:予測部 104:変換・量子化部 105:逆量子化・逆変換部 106:画像再生部 107:フレームメモリ 108:インループフィルタ部 109:符号化部 110:統合符号化部 112:フィルタ処理強度計算部 202:分離復号部 203:復号部 204:逆量子化・逆変換部 205:画像再生部 206:フレームメモリ 207:インループフィルタ部 209:フィルタ処理強度計算部 299:制御部