(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-06-21
(45)【発行日】2024-07-01
(54)【発明の名称】画像符号化装置、画像符号化方法、及びプログラム、画像復号装置、画像復号方法、及びプログラム
(51)【国際特許分類】
H04N 19/126 20140101AFI20240624BHJP
H04N 19/157 20140101ALI20240624BHJP
H04N 19/176 20140101ALI20240624BHJP
H04N 19/186 20140101ALI20240624BHJP
【FI】
H04N19/126
H04N19/157
H04N19/176
H04N19/186
(21)【出願番号】P 2023151302
(22)【出願日】2023-09-19
(62)【分割の表示】P 2019168859の分割
【原出願日】2019-09-17
【審査請求日】2023-09-19
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】志摩 真悟
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2019/003676(WO,A1)
【文献】Takeshi Tsukuba, et al.,AHG13/Non-CE6/CE8: Chroma Transform Skip,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-N0123-v2,14th Meeting: Geneva, CH,2019年03月,pp.1-6
【文献】Tung Nguyen, et al.,Non-CE8: Minimum Allowed QP for Transform Skip Mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/ WG 11,JVET-O0405-v1,15th Meeting: Gothenburg,2019年06月,pp.1-3
【文献】Marta Karczewicz, et al.,Non-CE8: Minimum QP for Transform Skip Mode,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/ WG 11,JVET-O0919-v2,15th Meeting: Gothenburg, SE,2019年07月,pp.1-3
【文献】Jie Zhao, Seethal Paluri, and Seung Hwan Kim,Non-CE8: Minimum QP for Palette Escape Coding,16th Meeting: Geneva, CH,JVET-P0460,16th Meeting: Geneva, CH,2019年10月,pp.1-4
【文献】Yung-Hsuan Chao, et al.,Non-CE8: Minimum QP for escape mode in palette,Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11,JVET-P0474,16th Meeting: Geneva, CH,2019年09月,pp.1-3
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 ー 10/98
(57)【特許請求の範囲】
【請求項1】
輝度成分と色差成分とを少なくとも含む複数の成分を有する画像を符号化してビットストリームを生成する画像符号化装置において、
符号化対象のブロックの色差成分に変換処理が施されるか判定する判定手段と、
前記符号化対象のブロックの前記色差成分に前記変換処理が施されると前記判定手段によって判定された場合、前記符号化対象のブロックの前記色差成分に対応する第1の量子化パラメータを用いて前記符号化対象のブロックの前記色差成分を符号化する符号化手段と
を有し、
前記符号化手段は、前記符号化対象のブロックの前記色差成分に前記変換処理が施されないと前記判定手段によって判定された場合において、基準値よりも前記第1の量子化パラメータが小さい場合、当該基準値を量子化パラメータとして用いて、前記符号化対象のブロックの前記色差成分を符号化し、
前記基準値は、前記複数の成分において共通に用いられ、
前記色差成分はcb成分であり、
前記符号化手段は、前記基準値を示す情報として、量子化ステップを1とするための量子化パラメータの値に一致する所定の値と前記基準値との差分を特定するための情報を前記ビットストリームに符号化し、
前記量子化ステップを1とするための前記量子化パラメータの値は4である
ことを特徴とする画像符号化装置。
【請求項2】
輝度成分と色差成分とを含む複数の成分を有する画像を符号化して生成されたビットストリームを復号する画像復号装置であって、
前記ビットストリームから復号される第1の情報に基づいて復号対象のブロックの色差成分に対応する第1の量子化パラメータを導出する導出手段と、
前記復号対象のブロックの前記色差成分に変換処理が施されるか判定する判定手段と、
前記復号対象のブロックの前記色差成分に前記変換処理が施されると前記判定手段によって判定された場合、前記第1の量子化パラメータを用いて前記復号対象のブロックの前記色差成分を復号する復号手段と、
を有し、
前記復号手段は、量子化パラメータの基準値を示す情報として、量子化ステップを1とするための量子化パラメータの値に一致する所定の値と前記基準値との差分を特定するための第2の情報を前記ビットストリームから復号し、
前記復号手段は、前記復号対象のブロックの前記色差成分に前記変換処理が施されないと前記判定手段によって判定された場合において、前記第2の情報に基づく前記基準値よりも前記第1の量子化パラメータが小さい場合、当該基準値を量子化パラメータとして用いて、前記復号対象のブロックの前記色差成分を復号し、
前記色差成分はcb成分であり、
前記基準値は、前記複数の成分において共通に用いられ、
前記量子化ステップを1とするための前記量子化パラメータの値は4である
ことを特徴とする画像復号装置。
【請求項3】
輝度成分と色差成分とを少なくとも含む複数の成分を有する画像を符号化してビットストリームを生成する画像符号化方法であって、
符号化対象のブロックの色差成分に変換処理が施されるか判定する判定工程と、
前記符号化対象のブロックの前記色差成分に前記変換処理が施されると判定された場合、前記符号化対象のブロックの前記色差成分に対応する第1の量子化パラメータを用いて前記符号化対象のブロックの前記色差成分を符号化する第1の符号化工程と、
前記符号化対象のブロックの前記色差成分に前記変換処理が施されないと判定された場合において、基準値よりも前記第1の量子化パラメータが小さい場合、当該基準値を量子化パラメータとして用いて、前記符号化対象のブロックの前記色差成分を符号化する第2の符号化工程と
を有し、
前記基準値は、前記複数の成分において共通に用いられ、
前記色差成分はcb成分であり、
前記基準値を示す情報として、量子化ステップを1とするための量子化パラメータの値に一致する所定の値と前記基準値との差分を特定するための情報を前記ビットストリームに符号化する第3の符号化工程を更に有し、
前記量子化ステップを1とするための前記量子化パラメータの値は4である
ことを特徴とする画像符号化方法。
【請求項4】
輝度成分と色差成分とを含む複数の成分を有する画像を符号化して生成されたビットストリームを復号する画像復号方法であって、
前記ビットストリームから復号される第1の情報に基づいて復号対象のブロックの色差成分に対応する第1の量子化パラメータを導出する導出工程と、
前記復号対象のブロックの前記色差成分に変換処理が施されるか判定する判定工程と、
前記復号対象のブロックの前記色差成分に前記変換処理が施されると判定された場合、前記第1の量子化パラメータを用いて前記復号対象のブロックの前記色差成分を復号する第1の復号工程と、
量子化パラメータの基準値を示す情報として、量子化ステップを1とするための量子化パラメータの値に一致する所定の値と前記基準値との差分を特定するための第2の情報を前記ビットストリームから復号する第2の復号工程と、
前記復号対象のブロックの前記色差成分に前記変換処理が施されないと判定された場合において、前記第2の情報に基づく前記基準値よりも前記第1の量子化パラメータが小さい場合、当該基準値を量子化パラメータとして用いて、前記復号対象のブロックの前記色差成分を復号する第3の復号工程と
を有し、
前記色差成分はcb成分であり、
前記基準値は、前記複数の成分において共通に用いられ、
前記量子化ステップを1とするための前記量子化パラメータの値は4である
ことを特徴とする画像復号方法。
【請求項5】
請求項1に記載の画像符号化装置の各手段として、コンピュータを機能させるためのプログラム。
【請求項6】
請求項2に記載の画像復号装置の各手段として、コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像符号化技術に関する。
【背景技術】
【0002】
動画像の圧縮符号化方式として、HEVC(High Efficiency Video Coding)符号化方式(以下、HEVCと記す)が知られている。
【0003】
また、近年、HEVCの後継として、さらに高効率な符号化方式の国際標準化を行う活動が開始され、JVET(Joint Video Experts Team)がISO・IECとITU-Tの間で設立された。このJVETにて、HEVCの後継の符号化方式であるVVC(Versatile Video Coding)符号化方式(以下、VVC)の標準化が進められている。
【0004】
これらの符号化方式では、自然画ではない人工的に作成された画像に対する符号化効率向上のため、パレット符号化と呼ばれる方式が検討されている。これは、画像を表す代表的な色を予め決定し、入力された画素の値をこの代表色を示すインデックスを用いて符号化する技術となっている。特開2016-103804(特許文献1)では、このパレット符号化に用いられる量子化パラメータを補正する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、HEVCやVVCにおいては、量子化処理に用いられる量子化パラメータが4の時、量子化ステップ(Scaling factor)が1となるように設計されている。すなわち量子化パラメータが4の時に量子化の前と後とで値が変化しないように設計されている。言い換えると、量子化パラメータが4よりも大きい場合、量子化ステップが1よりも大きくなり、量子化後の値は元の値より小さくなる。反対に量子化パラメータが4よりも小さい場合、量子化ステップが1よりも小さい小数の値となり、量子化後の値は元の値より大きくなり、結果として階調性を高める効果がある。通常の直交変換を用いた符号化処理の場合、量子化パラメータを4より小さくすると、階調性が高まるため、量子化パラメータが4の時よりも圧縮後の画質を向上させる効果がある。一方で、直交変換を用いない符号化処理の場合には、階調性を高めても圧縮後の画質は向上せず、符号量が増大するといった問題が生じている。
【0007】
本発明は上述した課題を解決するためになされたものであり、量子化パラメータを適応的に補正することで不必要に符号量が増加してしまう可能性を低減することを目的としている。
【課題を解決するための手段】
【0008】
前述の問題点を解決するため、本発明の画像符号化装置は以下の構成を有する。すなわち、輝度成分と色差成分とを少なくとも含む複数の成分を有する画像を符号化してビットストリームを生成する画像符号化装置において、 符号化対象のブロックの色差成分に変換処理が施されるか判定する判定手段と、 前記符号化対象のブロックの前記色差成分に前記変換処理が施されると前記判定手段によって判定された場合、前記符号化対象のブロックの前記色差成分に対応する第1の量子化パラメータを用いて前記符号化対象のブロックの前記色差成分を符号化する符号化手段とを有し、前記符号化手段は、前記符号化対象のブロックの前記色差成分に前記変換処理が施されないと前記判定手段によって判定された場合において、基準値よりも前記第1の量子化パラメータが小さい場合、当該基準値を量子化パラメータとして用いて、前記符号化対象のブロックの前記色差成分を符号化し、前記基準値は、前記複数の成分において共通に用いられ、前記色差成分はcb成分であり、前記符号化手段は、前記基準値を示す情報として、量子化ステップを1とするための量子化パラメータの値に一致する所定の値と前記基準値との差分を特定するための情報を前記ビットストリームに符号化し、前記量子化ステップを1とするための前記量子化パラメータの値は4である。
【0009】
また、本発明の画像復号装置は以下の構成を有する。すなわち、輝度成分と色差成分とを含む複数の成分を有する画像を符号化して生成されたビットストリームを復号する画像復号装置であって、前記ビットストリームから復号される第1の情報に基づいて復号対象のブロックの色差成分に対応する第1の量子化パラメータを導出する導出手段と、前記復号対象のブロックの前記色差成分に変換処理が施されるか判定する判定手段と、前記復号対象のブロックの前記色差成分に前記変換処理が施されると前記判定手段によって判定された場合、前記第1の量子化パラメータを用いて前記復号対象のブロックの前記色差成分を復号する復号手段と、を有し、前記復号手段は、量子化パラメータの基準値を示す情報として、量子化ステップを1とするための量子化パラメータの値に一致する所定の値と前記基準値との差分を特定するための第2の情報を前記ビットストリームから復号し、前記復号手段は、前記復号対象のブロックの前記色差成分に前記変換処理が施されないと前記判定手段によって判定された場合において、前記第2の情報に基づく前記基準値よりも前記第1の量子化パラメータが小さい場合、当該基準値を量子化パラメータとして用いて、前記復号対象のブロックの前記色差成分を復号し、前記色差成分はcb成分であり、前記基準値は、前記複数の成分において共通に用いられ、前記量子化ステップを1とするための前記量子化パラメータの値は4である。
【発明の効果】
【0010】
本発明により、量子化パラメータを適応的に補正することで不必要に符号量が増加してしまう可能性を低減することができる。
【図面の簡単な説明】
【0011】
【
図1】実施形態1における画像符号化装置の構成を示すブロック図である。
【
図2】実施形態2における画像復号装置の構成を示すブロック図である。
【
図3】実施形態1に係る画像符号化装置における画像符号化処理を示すフローチャートである。
【
図4】実施形態2に係る画像復号装置における画像復号処理を示すフローチャートである。
【
図5】各実施形態における画像符号化装置及び画像復号装置に適用可能なコンピュータのハードウェア構成例を示すブロック図である。
【
図6】実施形態1によって生成され、実施形態2によって復号されるビットストリーム構造の一例を示す図である。
【
図7】各実施形態で用いられるサブブロック分割の一例を示す図である。
【発明を実施するための形態】
【0012】
本発明の実施の形態を、添付の図面に基づいて説明する。なお、以下の実施形態において示す構成は一例であり、本発明は以下の実施形態で説明する構成に限定されるものではない。なお、基本ブロックやサブブロックといった呼称は、各実施形態において便宜的に用いている呼称であり、その意味が変わらない範囲で、適宜、他の呼称を用いてもよい。例えば、基本ブロックやサブブロックは、基本ユニットやサブユニットと称されてもよいし、単にブロックやユニットと称されてもよい。
【0013】
<実施形態1>
以下、本発明の実施形態を、図面を用いて説明する。
【0014】
図1は本実施形態の画像符号化装置を示すブロック図である。
図1において、101は画像データが入力される端子である。
【0015】
102はブロック分割部であり、入力画像を複数の基本ブロックに分割し、基本ブロック単位の画像を後段に出力する。例えば、128×128画素のブロックを基本ブロックとしてもよいし、32×32画素のブロックを基本ブロックとしてもよい。
【0016】
103は量子化値補正情報生成部であり、量子化ステップを規定する量子化パラメータの補正処理についての情報である、量子化値補正情報を生成し、出力する。量子化値補正情報の生成方法については特に限定しないが、ユーザが量子化値補正情報を指定する入力を行ってもよいし、入力画像の特性から画像符号化装置が算出してもよいし、初期値としてあらかじめ指定されたものを使用してもよい。なお、量子化パラメータは量子化ステップを直接的に示すのではなく、例えば、量子化パラメータが4の時、量子化ステップ(Scaling factor)が1となるように設計されている。量子化パラメータの値が大きければ、量子化ステップも大きくなる。
【0017】
104は予測部であり、基本ブロック単位の画像データに対し、サブブロックへの分割方法を決定する。そして、決定した形状及び大きさのサブブロックへと基本ブロックを分割する。そして、サブブロック単位でフレーム内予測であるイントラ予測やフレーム間予測であるインター予測などを行い、予測画像データを生成する。例えば、予測部104は、1つのサブブロックに対して行う予測方法を、イントラ予測、インター予測、及び、イントラ予測とインター予測とを組み合わせた予測符号化の中から選択し、選択した予測を行って、当該サブブロックのための予測画像データを生成する。なお、予測部104は、どのような符号化を行うかをフラグ等に基づいて判定する判定手段としても機能する。
【0018】
さらに、予測部104は、入力された画像データと前記予測画像データから予測誤差を算出し、出力する。例えば、予測部104は、サブブロックの各画素値と、当該サブブロックに対する予測によって生成された予測画像データの各画素値との差分を算出し、それを予測誤差として算出する。
【0019】
また、予測部104は、予測に必要な情報を、予測誤差と併せて出力する。予測に必要な情報とは、例えばサブブロックの分割状態を示す情報や、当該サブブロックの予測方法を示す予測モード、動きベクトル等の情報である。以下ではこの予測に必要な情報を予測情報と呼称する。また、当該サブブロックで用いられている色(画素値)の種類が少ない場合などは、パレットを用いたパレット符号化を用いた方が効率良く圧縮できると判断できる。この判断は、画像符号化装置又はユーザによって行ってもよい。このように判断された場合には、予測画像データを生成する方法としてパレット符号化を選択することもできる。パレットとは、色を示す情報と、その色を示す情報を特定するためのインデックスとが関連付けられたエントリーを1又は複数有する。
【0020】
パレット符号化が選択された場合、パレット符号化を使用することを示すフラグ(以下パレットフラグと記す)が予測情報として出力される。また、各画素がパレット中のどの色を用いるかを示すインデックスも予測情報として出力される。さらには、パレット中には存在しない(対応するエントリーがない)色を示す情報(以下、エスケープ値と記す)なども予測情報として出力される。このように、パレット符号化では、パレット中に存在しない色については、エスケープ値として、パレットを用いずに、その色を示す値を直接的に示す情報を用いて符号化することが可能である。例えば、予測部104は、パレット符号化を用いて符号化するサブブロック中の特定の画素について、エスケープ値を用いて符号化することができる。つまり、予測部104は、画素単位にエスケープ値を用いるかどうかを決めることができる。エスケープ値を用いた符号化はエスケープ符号化とも呼ばれる。
【0021】
105は前記予測誤差をサブブロック単位で直交変換(直交変換処理)して、予測誤差の各周波数成分を表す変換係数を得る変換・逆量子化部である。変換・逆量子化部105は、さらに変換係数に対して量子化を行い、残差係数(量子化された変換係数)を得る変換・量子化部である。変換スキップやパレット符号化が用いられる場合には直交変換処理は実施されない。なお、直交変換を行う機能と、量子化を行う機能とは別々の構成にしてもよい。
【0022】
106は変換・量子化部105から出力された残差係数を逆量子化して、変換係数を再生し、さらに逆直交変換(逆直交変換処理)して、予測誤差を再生する逆量子化・逆変換部である。変換スキップやパレット符号化が用いられる場合には逆直交変換処理は実施されない。なお、このように、直交変換係数を再生(導出)する処理を逆量子化と称するものとする。なお、逆量子化を行う機能と、逆直交変換処理を行う機能とは別々の構成にしてもよい。108は再生された画像データを格納しておくフレームメモリである。
【0023】
107は画像再生部である。予測部104から出力された予測情報に基づいて、フレームメモリ108を適宜参照して予測画像データを生成し、この予測画像データと、入力された予測誤差とから再生画像データを生成し、出力する。
【0024】
109はインループフィルタ部である。再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行い、フィルタ処理された画像を出力する。
【0025】
110は符号化部である。変換・量子化部105から出力された残差係数、及び、予測部104から出力された予測情報を符号化して、符号データを生成し出力する。
【0026】
111は統合符号化部である。量子化値補正情報生成部103からの出力を符号化して、ヘッダ符号データを生成する。さらに符号化部110から出力された符号データと合わせて、ビットストリームを生成して出力する。なお、量子化パラメータを示す情報についてもビットストリームに符号化される。例えば、量子化パラメータを示す情報は、符号化対象の量子化パラメータと、他の量子化パラメータ(例えば前のサブブロックの量子化パラメータ)との差分値を示す情報である。
【0027】
112は端子であり、統合符号化部111で生成されたビットストリームを外部に出力する。
【0028】
上記画像符号化装置における画像の符号化動作を以下に説明する。本実施形態では動画像データをフレーム単位(ピクチャ単位)に入力する構成とするが、1フレーム分の静止画像データを入力する構成としても構わない。
【0029】
画像の符号化に先立ち、量子化値補正情報生成部103は、変換スキップやパレット符号化が用いられた場合に、後段で量子化パラメータを補正する際に用いられる量子化値補正情報を生成する。量子化値補正情報生成部103は、少なくとも、変換スキップ及びパレット符号化のいずれかが用いられた場合に、量子化値補正情報を生成するようにすればよい。ただし、いずれの場合でも量子化補正情報を生成するとさらに符号量を低減することができる。本実施形態では、量子化値補正情報は、例えば、量子化パラメータを補正する際の最小の量子化値(最小QP値)を示すQPminを示す情報を含むものとする。例えば、量子化パラメータがこのQPminよりも小さい場合は、QPminとなるように補正される。この量子化値補正情報がどのように用いられるかの詳細な説明は後述する。量子化値補正情報の生成方法については特に限定しないが、ユーザが量子化値補正情報を入力(指定)してもよいし、入力画像の特性から画像符号化装置が量子化値補正情報を算出してもよいし、予め指定された初期値を使用してもよい。初期値としては、量子化ステップが1であることを示す値(例えば4)を用いることができる。変換スキップやパレット符号化を用いる場合、量子化ステップを1未満にしても、量子化ステップが1のときと画質が変わらないため、QPminを4とすることは、変換スキップやパレット符号化を用いる場合に適している。なお、QPminを初期値とする場合は、量子化値補正情報を省略することもできる。また、後述のように、QPminを初期値以外の値とする場合は、初期値との差分値を量子化値補正情報としてもよい。
【0030】
また、予測部104においてパレット符号化するか否かを判断する際の実装上の制限に基づいて量子化値補正情報を決定してもよい。また、変換量子化部105において直交変換するか否かを判断する際の実装上の制限に基づいて量子化値補正情報を決定してもよい。
【0031】
そして、生成された量子化値補正情報は変換・量子化部105、逆量子化・逆変換部106及び統合符号化部111に入力される。
【0032】
端子101から入力された1フレーム分の画像データはブロック分割部102に入力される。
【0033】
ブロック分割部102では、入力された画像データを複数の基本ブロックに分割し、基本ブロック単位の画像を予測部104に出力する。
【0034】
予測部104では、ブロック分割部102から入力された画像データに対し、予測処理を実行する。具体的には、まず、基本ブロックをさらに細かいサブブロックに分割するサブブロック分割を決定する。
【0035】
図7にサブブロック分割方法の一例を示す。太枠の700は基本ブロックを表しており、説明を簡易にするため、32×32画素の構成とし、太枠内の各四角形はサブブロックを表すものとする。
図7(b)は従来の正方形サブブロック分割の一例を表しており、32×32画素の基本ブロックは16×16画素のサブブロックに分割されている。一方、
図7(c)~(f)は長方形サブブロック分割の一例を表しており、
図7(c)では基本ブロックは16×32画素の縦長、
図7(d)では32×16画素の横長の長方形のサブブロックに分割されている。また、
図7(e)、(f)では、1:2:1の比で長方形サブブロックに分割されている。このように正方形だけではなく、長方形のサブブロックも用いて符号化処理を行っている。
【0036】
本実施形態では、32×32画素の基本ブロックを、分割しない
図7(a)のみが用いられるものとするが、サブブロック分割方法はこれに限定されない。
図7(b)のような四分木分割や、
図7(e)、(f)のような三分木分割または
図7(c)や
図7(d)のような二分木分割を用いても構わない。
【0037】
そして、予測部104は、処理対象の各サブブロック(符号化対象のブロック)に対し、予測モードを決定する。具体的には、予測部104は、処理対象のサブブロックを含むフレームと同一フレームで符号化済の画素を用いるイントラ予測、あるいは、符号化済みの異なるフレームの画素を用いるインター予測などを、サブブロック単位に、使用する予測モードとして決定する。
【0038】
そして、予測部104は、決定した予測モードと符号化済の画素とから予測画像データを生成し、さらに入力された画像データと前記予測画像データとから、予測誤差を生成し、変換・量子化部105に出力される。
【0039】
また、予測部104は、サブブロック分割や予測モードなどの情報を、予測情報として、符号化部110及び画像再生部107に出力する。ただし、処理対象の各サブブロックにおいては、イントラ予測やインター予測といった予測モードの代わりにパレット符号化を選択することもできる。その場合、パレット符号化を使用するかを示すパレットフラグを予測情報として出力する。そして、当該サブブロックでパレット符号化を選択した場合(例えば、パレットフラグが1)、各画素に対応するパレットに含まれる色情報を示すインデックスやエスケープ値も予測情報として出力する。
【0040】
一方、当該サブブロックでパレット符号化を選択しなかった場合、すなわちイントラ予測やインター予測といった予測モードを選択した場合(例えば、パレットフラグの値が0)、パレットフラグに続いて他の予測情報や予測誤差を出力する。
【0041】
変換・量子化部105は、予測部104から出力された予測誤差に対して直交変換処理や量子化処理を行う。具体的にはまず、イントラ予測やインター予測など、パレット符号化以外の予測モードを用いたサブブロックの予測誤差に対して直交変換処理を施すか否かの判定を行う。ここで、風景や人物等をカメラで撮像して生成されるような自然画を対象とする画像符号化について考える。一般的に、このような画像符号化においては、予測誤差に対して直交変換を施し周波数成分に分解し、人間の視覚特性に合わせた量子化処理を行うことで、画質劣化を目立たせずにデータ量の削減を行うことが可能である。一方、画像内の物体の境界が際立っている人工的な画像(例えばコンピュータグラフィックス)においては、高周波成分が大きい。そのため、直交変換を用いるとかえってデータ量が増えてしまうケースがある。このため変換・量子化部105は、当該サブブロックの各色成分(Y、Cb、Cr)に対し、それぞれ直交変換を行うか否かを判定し、判定結果を変換スキップ情報として生成する。つまり、変換スキップ情報は、色成分(Y、Cb、Cr)ごとに生成することができる。つまり、色成分ごとに変換スキップを行うか否かを決定するようにしてもよい。例えば、輝度成分(Y)のための変換スキップ情報と、色差成分(Cb及びCr)のための変換スキップ情報の2つを生成するようにしてもよい。
【0042】
当該サブブロックの当該色成分(Y、CbもしくはCr)に対し、直交変換処理を施すと判定した場合には、当該色成分に対応する予測誤差に対して直交変換処理を行い、直交変換係数を生成する。そして、量子化パラメータを用いた量子化処理を行い、残差係数を生成する。ここで使用される量子化パラメータの値自体の決定方法については特に限定しないが、ユーザが量子化パラメータを入力してもよいし、入力画像の特性(画像の複雑度等)から画像符号化装置が算出してもよい。また、初期値として予め指定されたものを使用してもよい。本実施形態では、不図示の量子化パラメータ算出部によって量子化パラメータQPが算出され、変換・量子化部105に入力されるものとする。当該サブブロックの輝度成分(Y)の直交変換係数はこの量子化パラメータQPを用いて量子化され、残差係数が生成される。一方、当該サブブロックのCb成分の直交変換係数は、この量子化パラメータQPをCb成分向けに調整された量子化パラメータQPcbを用いて量子化され、残差係数が生成される。同様に、当該サブブロックのCr成分の直交変換係数は、この量子化パラメータQPをCr成分向けに調整された量子化パラメータQPcrを用いて量子化され、残差係数が生成される。このQPから、QPcb及びQPcrを算出する方法については特に限定しないが、算出のためのテーブルを予め用意しておいてもよい。また、QPcb及びQPcrの算出に用いたテーブルも別途符号化し、復号側でも同一のQPcb及びQPcrが算出できるようにしてもよい。算出に用いたテーブルを別途符号化する場合は、後段の統合符号化部111において、ビットストリームのシーケンスまたはピクチャのヘッダ部に符号化することとなる。
【0043】
一方、当該サブブロックの当該色成分に対し、直交変換処理を行わないと判定した場合、すなわち変換スキップを行うと判定した場合には、量子化パラメータQPを補正した補正量子化パラメータを用いて予測誤差を量子化し、残差係数を生成する。具体的には、当該サブブロックの輝度成分(Y)の予測誤差は前述のQPを補正したQP’を用いて量子化され、残差係数が生成される。一方、当該サブブロックのCb成分の予測誤差は前述のQPcbを補正したQPcb’を用いて量子化され、残差係数が生成される。同様に当該サブブロックのCr成分の予測誤差は前述のQPcrを補正したQPcr’を用いて量子化され残差係数が生成される。
【0044】
ここで量子化パラメータ(QP、QPcb、QPcr)から補正量子化パラメータ(QP’、QPcb’、QPcr’)を算出する具体的な方法を説明する。下記の所定の判定を示す式(1)~(3)は、量子化パラメータ(QP、QPcb、QPcr)から補正量子化パラメータ(QP’、QPcb’、QPcr’)を算出する式である。QPminは量子化値補正情報生成部103から入力された補正処理に用いられる最小QP値(最小値)である。
QP’ =Max(QPmin,QP) …(1)
QPcb’=Max(QPmin,QPcb) …(2)
QPcr’=Max(QPmin,QPcr) …(3)
(ただし、Max(A,B)はAとBの内の大きい方を表すものとする。)
【0045】
例えば上式(1)~(3)において、最小QP値であるQPminが4であれば、補正量子化パラメータ(QP’、QPcb’、QPcr’)は4を下回ることがなくなる。すなわち量子化ステップが1を下回ることが無くなり、変換スキップを用いた場合に不必要な符号量の増大を防止することができる。また、Y、Cb、Crの各色成分に対して異なる最小QP値を設定する構成としてもよいが、本実施形態では同一の最小QP値QPminを全ての色成分に適用することとする。
【0046】
このようにして生成された残差係数及び変換スキップ情報は、逆量子化・逆変換部106及び符号化部110に入力される。
【0047】
次に、当該サブブロックがパレット符号化される場合の処理について、以下に説明する。パレット符号化においてはそもそも予測誤差が発生しないため、直交変換処理は行われない。またパレットに含まれる色を示すインデックスが設定された画素に対しては量子化処理も実施されない。
【0048】
一方で、パレット中に存在しない色を符号化するために、エスケープ値が設定された画素に対しては、符号量の増大を制限するため、エスケープ値自体に量子化処理を実施する。エスケープ値に対する量子化処理では、前述の量子化パラメータ(QP、QPcb、QPcr)ではなく、補正量子化パラメータ(QP’、QPcb’、QPcr’)を用いる。これにより、変換スキップを用いた場合と同様に、パレット符号化を用いた場合においても不必要な符号量の増大を防止することができる。量子化されたエスケープ値は残差係数と同様に逆量子化・逆変換部106及び符号化部110に入力される。
【0049】
次に、逆量子化・逆変換部106は、入力された残差係数に対して逆量子化処理や逆直交変換処理を行う。
【0050】
具体的にはまず、イントラ予測やインター予測など、パレット符号化以外の予測モードを用いたサブブロックの残差係数に対して逆量子化処理を実施し、直交変換係数を再生する。
【0051】
各サブブロックの各色成分に対し、直交変換が施されているか否かは変換・量子化部105から入力された変換スキップフラグに基づいて判定する。変換スキップフラグが0の場合は変換スキップが用いられないことを示す。この際に用いられる量子化パラメータは変換・量子化部105と同様であり、直交変換処理を施されて生成された残差係数に対しては、各色成分に対して、前述の量子化パラメータ(QP、QPcb、QPcr)が用いられる。
【0052】
一方で変換スキップを用いて生成された場合(例えば、変換スキップフラグが1)、残差係数に対しては、各色成分に対して、前述の補正量子化パラメータ(QP’、QPcb’、QPcr’)が用いられる。
【0053】
すなわち、直交変換処理を施されて生成された残差係数に対しては、量子化パラメータ(QP、QPcb、QPcr)を用いて逆量子化し、さらに逆直交変換を施すことで予測誤差を再生する。一方で変換スキップされて生成された残差係数に対しては、補正量子化パラメータ(QP’、QPcb’、QPcr’)を用いて逆量子化し、予測誤差を再生する。こうして再生された予測誤差は、画像再生部107に出力される。
【0054】
また、当該サブブロックがパレット符号化されている場合、量子化されたエスケープ値に対し補正量子化パラメータ(QP’、QPcb’、QPcr’)を用いて逆量子化し、エスケープ値を再生する。再生されたエスケープ値は画像再生部107に出力される。
【0055】
画像再生部107では、予測部104から入力されるパレットフラグによって、当該サブブロックがパレット符号化されていないことを示す場合、他の予測情報に基づいて、フレームメモリ108を適宜参照し、予測画像を再生する。そして再生された予測画像と逆量子化・逆変換部106から入力された再生された予測誤差から画像データを再生し、フレームメモリ108に入力し、格納する。一方、当該サブブロックがパレット符号化されていることを示す場合には、予測情報として入力された各画素がパレット中のどの色を用いるかを示すインデックスやエスケープ値などを用いて画像データを再生し、フレームメモリ108に入力し、格納する。
【0056】
インループフィルタ部109では、フレームメモリ108から再生画像を読み出しデブロッキングフィルタなどのインループフィルタ処理を行う。インループフィルタ処理は、予測部104の予測モードや変換・量子化部105で利用される量子化パラメータの値、さらに量子化後の処理サブブロックに非ゼロの値(以下、有意係数とする)が存在するか否かやサブブロック分割情報に基づいて行われる。そして、フィルタ処理された画像を再びフレームメモリ108に入力し、再格納する。
【0057】
符号化部110では、サブブロック単位で、変換・量子化部105で生成された残差係数、予測部104から入力された予測情報をエントロピー符号化し、符号データを生成する。具体的にはまず、当該サブブロックがパレット符号化されているか否かを示すパレットフラグを符号化する。当該サブブロックがパレット符号化されていない場合には、予測情報として入力されたパレットフラグとして0をエントロピー符号化し、続いて他の予測情報や残差係数をエントロピー符号化し、符号データを生成する。一方、当該サブブロックがパレット符号化されている場合、パレットフラグとして1をエントロピー符号化し、続いて各画素がパレット中のどの色を用いるかを示すインデックスやエスケープ値などを符号化し、符号データを生成する。エントロピー符号化の方法は特に指定しないが、ゴロム符号化や、算術符号化、ハフマン符号化などを用いることができる。生成された符号データは統合符号化部111に出力される。
【0058】
統合符号化部111では、量子化値補正情報生成部103から入力された量子化値補正情報を符号化し、量子化値補正情報符号を生成する。符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。本実施形態では、一例として、量子化ステップ1を示す4を基準(初期値)とし、基準の4と、量子化値補正情報である最小QP値QPminとの差分値をゴロム符号化するものとする。本実施形態ではQPminを4としていたので、基準の4との差分値である0をゴロム符号化した1ビットの符号「0」を量子化値補正情報符号とする。これにより量子化値補正情報の符号量を最低限にすることができる。さらに、前述の量子化パラメータQPから、QPcb及びQPcrを算出するテーブルを符号化する場合、ここで当該のテーブルも符号化する。また、これらの符号や符号化部110から入力された符号データなどを多重化してビットストリームを形成する。最終的には、ビットストリームは端子112から外部に出力される。
【0059】
図6(a)に符号化された量子化値補正情報を含んだビットストリームの例を示す。量子化制御サイズ情報は量子化制御サイズ情報符号としてシーケンス、ピクチャ等のヘッダのいずれかに含まれる。本実施形態では
図6(b)に示されるようにシーケンスのヘッダ部分に含まれるものとする。ただし、符号化される位置はこれに限られず、
図6(a)に示されるように、ピクチャのヘッダ部分に含まれても構わない。
【0060】
図3は、実施形態1に係る画像符号化装置における符号化処理を示すフローチャートである。
【0061】
まず、ステップS301にて、ブロック分割部102はフレーム単位の入力画像を基本ブロック単位に分割する。
【0062】
ステップS302にて、量子化値補正情報生成部103は、量子化パラメータの補正処理についての情報である量子化値補正情報を決定する。量子化値補正情報は統合符号化部111によって符号化される。
【0063】
ステップS303にて、予測部104はステップS301にて生成された基本ブロック単位の画像データに対して予測処理を行い、サブブロック分割や予測モードなどの予測情報と、予測画像データとを生成する。さらに入力された画像データと前記予測画像データから予測誤差を算出する。ただし、当該サブブロックで用いられている色(画素値)の種類が少なく、パレット符号化を用いた方が効率良く圧縮できると判断された場合には、パレット符号化を選択することもできる。予測部104は当該サブブロックがパレット符号化されているか否かを示すパレットフラグも生成する。
【0064】
ステップS304にて、当該サブブロックにパレット符号化以外の予測モードが用いられている場合、変換・量子化部105はまず、ステップS303で算出された予測誤差の各色成分(Y、Cb、Cr)に対して直交変換処理を施すか否かの判定を行う。そして、その判定結果として変換スキップ情報を生成する。当該色成分に対して直交変換処理を施すと判定した場合には、当該色成分に対応する予測誤差に対して直交変換を行い、直交変換係数を生成する。そして量子化パラメータ(QP、QPcb、QPcr)を用いて量子化を行い、残差係数を生成する。一方、当該色成分に対して直交変換処理をスキップすると判定した場合は、当該色成分に対応する予測誤差に対して補正量子化パラメータ(QP’、QPcb’、QPcr’)を用いて量子化を行い、残差係数を生成する。また、当該サブブロックがパレット符号化されている場合、変換・量子化部105は、エスケープ値に対して補正量子化パラメータ(QP’、QPcb’、QPcr’)を用いた量子化を行い、量子化されたエスケープ値を生成する。
【0065】
ステップS305にて、逆量子化・逆変換部106はステップS304で生成された残差係数に対して逆量子化処理や逆直交変換処理を行う。具体的には、パレット符号化以外の予測モードが用いられている場合、逆量子化・逆変換部106はまず、各サブブロックの各色成分に対し直交変換が施されているか否かをステップS304で生成された変換スキップ情報に基づいて判定する。そして判定結果に基づいて、残差係数に逆量子化処理を施す。
【0066】
この際用いられる量子化パラメータはステップS304と同様であり、直交変換処理を施されて生成された残差係数に対しては、各色成分に対して、前述の量子化パラメータ(QP、QPcb、QPcr)が用いられる。
【0067】
一方で変換スキップされて生成された残差係数に対しては、各色成分に対して、前述の補正量子化パラメータ(QP’、QPcb’、QPcr’)が用いられる。すなわち、直交変換処理を施されて生成された残差係数に対しては、量子化パラメータ(QP、QPcb、QPcr)を用いて逆量子化し、さらに逆直交変換を施すことで予測誤差を再生する。一方で変換スキップされて生成された残差係数に対しては、補正量子化パラメータ(QP’、QPcb’、QPcr’)を用いて逆量子化し、予測誤差を再生する。
【0068】
また、当該サブブロックがパレット符号化されている場合、ステップS304で量子化されたエスケープ値に対して補正量子化パラメータ(QP’、QPcb’、QPcr’)を用いて逆量子化し、エスケープ値を再生する。
【0069】
ステップS306にて、ステップS303で生成されたパレットフラグによって、当該サブブロックがパレット符号化されていないことが示されている場合、画像再生部107はステップS303で生成された予測情報に基づいて予測画像を再生する。さらに再生された予測画像とステップS305で生成された予測誤差から画像データを再生する。一方、パレットフラグによって、当該サブブロックがパレット符号化されていることを示す場合には、画像再生部107は各画素がパレット中のどの色を用いるかを示すインデックスやエスケープ値などを用いて画像データを再生する。
【0070】
ステップS307にて、符号化部110は、ステップS303で生成された予測情報、及び、ステップS304で生成された残差係数を符号化し、符号データを生成する。具体的には、まず、当該サブブロックがパレット符号化されているか否かを示すパレットフラグを符号化する。当該サブブロックがパレット符号化されていない場合には、予測情報として入力されたパレットフラグとして0をエントロピー符号化し、続いて他の予測情報や残差係数をエントロピー符号化し、符号データを生成する。
【0071】
一方、当該サブブロックがパレット符号化されている場合、パレットフラグとして1をエントロピー符号化し、続いて各画素がパレット中のどの色を用いるかを示すインデックスやエスケープ値などを符号化し、符号データを生成する。さらに他の符号データも含め、ビットストリームを生成する。
【0072】
ステップS308にて、画像符号化装置は、フレーム内の全ての基本ブロックの符号化が終了したか否かの判定を行い、終了していればステップS309に進み、そうでなければ次の基本ブロックを対象として、ステップS303に戻る。
【0073】
ステップS309にて、インループフィルタ部109はステップS306で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
【0074】
以上の構成と動作により、特にステップS302において量子化値補正情報を生成し、ステップS304及びS305において、量子化値補正情報に基づいて補正された量子化パラメータを用いることで、不必要な符号量の増加を防止することができる。結果として、生成されるビットストリーム全体のデータ量を抑え、符号化効率を向上させることができる。
【0075】
なお、本実施形態では、Y、Cb、Crといった各色成分に対応する量子化パラメータを補正する構成としたが、本発明はこれに限定されない。例えば、VVCで検討されているCbとCrの残差係数をまとめて符号化する色差残差係数共通符号化には別の量子化パラメータQPcbcrが用いられるが、これに適用してもよい。
QPcbcr’=Max(QPmin,QPcbcr) …(4)
【0076】
すなわち、上記の式(4)のように、変換スキップされ色差残差係数共通符号化される予測誤差に対して、補正された量子化パラメータQPcbcr’を用いて量子化する構成としてもよい。これにより、変換スキップされ色差残差係数共通符号化される予測誤差に対しても適切な量子化パラメータの補正を行うことが可能となり、不必要な符号量の増加を防止することができる。また、不必要に量子化ステップを小さくすることもないため、処理負荷も低減することができる。
【0077】
また、本実施形態では、単一の量子化値補正情報に基づいて一律に量子化値の補正を行う構成としたが、各色成分によって、あるいは変換スキップとパレット符号化に対して別々の量子化値補正情報を用いる構成としてもよい。具体的には、QPminの代わりに、輝度用のQPminY、Cb用のQPmincb、Cr用のQPmincrを個別に定義し、色成分によって個別の量子化値補正を行う構成としてもよい。これは特に色成分によってビット深度が異なる場合、ビット深度に応じて最適な量子化パラメータの補正を行うことができる。また、同様にQPminの代わりに変換スキップ用のQPminTSとパレット符号化用のQPminPLTを個別に定義し、それぞれのケースに応じて異なる量子化値補正を行う構成としてもよい。これは特に入力された画素値のビット深度とパレット符号化で用いられるビット深度が異なる場合、それぞれのケースに応じて最適な量子化パラメータの補正を行うことができる。
【0078】
なお、変換スキップ及びパレット符号化のいずれかが用いられた場合に量子化パラメータを補正するようにしてもよい。そのようにしても、不必要に符号量が増加してしまう可能性を低減することができる。ただし、いずれの場合でも量子化パラメータを補正すると不必要に符号量が増加してしまう可能性をさらに低減することができる。
【0079】
<実施形態2>
図2は、本発明の実施形態2に係る画像復号装置の構成を示すブロック図である。本実施形態では、実施形態1で生成された符号化データの復号を例にとって説明する。画像復号装置は、基本的に、実施形態1の画像符号化装置の逆の動作を行うこととなる。
【0080】
201は符号化されたビットストリームを入力する端子である。
【0081】
202は分離復号部であり、ビットストリームから、復号処理に関する情報や、係数に関する符号データを分離し、それを復号する。また、分離復号部202は、ビットストリームのヘッダ部に存在する符号データを復号する。本実施形態では、量子化値補正情報を再生(復号)し、後段に出力する。分離復号部202は
図1の統合符号化部111と逆の動作を行う。
【0082】
203は復号部であり、分離復号部202から出力された符号データを復号し、残差係数及び予測情報を再生する。
【0083】
204は逆量子化・逆変換部であり、
図1の106同様、サブブロック単位で残差係数を入力し、逆量子化を行って変換係数を得、さらに逆直交変換を行い、予測誤差を再生する。ただし、変換スキップやパレット符号化が用いられる場合には、逆直交変換処理は実施されない。また、逆量子化を行う機能と、逆直交変換を行う機能とは別々の構成にしてもよい。なお、逆量子化・逆変換部204は、どのような符号化を行うかをフラグ等に基づいて判定する判定手段としても機能する。
【0084】
なお、量子化パラメータを示す情報も復号部203によってビットストリームから復号される。例えば、量子化パラメータを示す情報は、対象の量子化パラメータと、他の量子化パラメータ(例えば前のサブブロックの量子化パラメータ)との差分値を示す情報である。他の量子化パラメータは、複数の他のサブブロックの複数の量子化パラメータの平均値と、対象量子化パラメータとの差分値を示す情報であってもよい。逆量子化・逆変換部204は、例えば、他の量子化パラメータにこの差分値を加算することによって、対象の量子化パラメータを導出する。最初の量子化パラメータについては、別途復号される初期値に差分値を加算して量子化パラメータを導出すればよい。このようにして導出された量子化パラメータを補正することによって、前述の補正量子化パラメータを導出することとなる。
【0085】
206はフレームメモリである。再生されたピクチャの画像データを格納しておく。
【0086】
205は画像再生部である。入力された予測情報に基づいてフレームメモリ206を適宜参照して予測画像データを生成する。ここでの予測画像データの生成方法は、実施形態1の予測部104と同様に、イントラ予測やインター予測等の予測方法が用いられる。また、前述のようにイントラ予測とインター予測とを組み合わせた予測方法が用いられてもよい。また、実施形態1と同様に予測処理はサブブロック単位に行われる。そして、この予測画像データと逆量子化・逆変換部204で再生された予測誤差から再生画像データを生成し、出力する。
【0087】
207はインループフィルタ部である。
図1の109同様、再生画像に対し、デブロッキングフィルタなどのインループフィルタ処理を行い、フィルタ処理された画像を出力する。
【0088】
208は端子であり、再生された画像データを外部に出力する。再生画像は、例えば、外部の表示装置等に出力される。
【0089】
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では、実施形態1で生成されたビットストリームを復号する。
【0090】
図2において、端子201から入力されたビットストリームは分離復号部202に入力される。復号部202では、ビットストリームから復号処理に関する情報や、係数に関する符号データを分離し、それを復号する。また、分離復号部202は、ビットストリームのヘッダ部に存在する符号データを復号する。具体的には、量子化値補正情報を再生(復号)する。本実施形態では、まず、
図6(b)に示されるビットストリームのシーケンスヘッダから量子化値補正情報符号を抽出して復号する。具体的には、実施形態1でゴロム符号化された1ビットの符号「0」をゴロム複号して0を取得し、さらに基準の4を0に加算した4を量子化値補正情報であるQPminに設定する。このようにして得られた量子化値補正情報は逆量子化・逆変換部204に出力される。続いて、ピクチャデータの基本ブロック単位の符号データを再生し、これも復号部203に出力する。
【0091】
復号部203では、符号データを復号し、残差係数、予測情報、及び量子化パラメータを再生する。再生された残差係数や量子化パラメータは逆量子化・逆変換部204に出力され、再生された予測情報は画像再生部205に出力される。再生された予測情報には、基本ブロック内のサブブロック分割に関する情報や、パレットフラグ、変換スキップ情報なども含まれる。
【0092】
逆量子化・逆変換部204では、入力された残差係数に対して、逆量子化や逆直交変換を行う。具体的にはまず、復号部203から入力されたパレットフラグに基づいて、復号対象のサブブロックがパレット符号化されているか否かを判定する。
【0093】
パレット符号化されていない場合には、当該サブブロックの残差係数に対して逆量子化処理を施し、直交変換係数を再生する。この際、逆量子化処理に用いられる量子化パラメータは、各色成分に対応する残差係数が直交変換処理を施されているか否かによって変わってくるが、直交変換処理が施されているか否かは復号部203から入力された変換スキップ情報に基づいて判定する。この逆量子化処理に用いられる量子化パラメータは実施形態1の逆量子化・逆変換部106と同様であり、直交変換処理を施されて生成された残差係数に対しては、各色成分に対して、前述の量子化パラメータ(QP、QPcb、QPcr)が用いられる。
【0094】
一方で、変換スキップされて生成された残差係数に対しては、各色成分に対して、前述の補正量子化パラメータ(QP’、QPcb’、QPcr’)が用いられる。すなわち、直交変換処理を施されて生成された残差係数に対しては、量子化パラメータ(QP、QPcb、QPcr)を用いて逆量子化し、さらに逆直交変換を施して予測誤差を再生する。こうして再生された予測情報は画像再生部205に出力される。
【0095】
また、復号対象のサブブロックがパレット符号化されている場合には、復号部203から入力された量子化されたエスケープ値に対し補正量子化パラメータ(QP’、QPcb’、QPcr’)を用いて逆量子化し、エスケープ値を再生する。再生されたエスケープ値は画像再生部205に出力される。なお、当該サブブロックにおける、エスケープ値以外を用いて再生された値(インデックスで示されるパレットに含まれる色の値)も、エスケープ値と合わせて画像再生部205に出力される。これらの画像再生部205に出力される値によって予測画像が構成される。
【0096】
画像再生部205では、復号部203から入力されたパレットフラグによって、当該サブブロックがパレット符号化されていないことを示す場合、他の予測情報に基づいて、フレームメモリ206を適宜参照し、予測画像を再生する。この予測画像と逆量子化・逆変換部204から入力された予測誤差から画像データを再生し、フレームメモリ206に入力し、格納する。具体的には、画像再生部205は、予測画像と予測誤差とを加算することによって画像データを再生する。
【0097】
一方、パレットフラグによって、当該サブブロックがパレット符号化されていることを示す場合には、予測情報として入力された各画素がパレット中のどの色を用いるかを示すインデックスや再生されたエスケープ値などを用いて画像データを再生する。そして、フレームメモリ206に入力し、格納する。格納された画像データは予測の際の参照に用いられる。
【0098】
インループフィルタ部207では、
図1の109同様、フレームメモリ206から再生画像を読み出し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。そして、フィルタ処理された画像は再びフレームメモリ206に入力される。
【0099】
フレームメモリ206に格納された再生画像は、最終的には端子208から外部に出力される。
【0100】
図4は、実施形態2に係る画像復号装置における画像の復号処理を示すフローチャートである。
【0101】
まず、ステップS401にて、分離復号部202はビットストリームから復号処理に関する情報や係数に関する符号データに分離して、ヘッダ部分の符号データを復号し、量子化値補正情報を再生する。
【0102】
ステップS402にて、復号部203はステップS401で分離された符号データを復号し、残差係数、予測情報、及び量子化パラメータを再生する。より具体的には、まず、復号対象のサブブロックがパレット符号化されているか否かを示すパレットフラグを再生する。再生されたパレットフラグが0を示している場合、すなわち当該サブブロックがパレット符号化されていない場合、続いて他の予測情報や残差係数、変換スキップ情報を再生する。一方、再生されたパレットフラグが1を示している場合、すなわち当該サブブロックがパレット符号化されている場合、各画素がパレット中のどの色を用いるかを示すインデックスや量子化されたエスケープ値などを再生する。
【0103】
ステップS403にて、復号対象のサブブロックがパレット符号化されていない場合、逆量子化・逆変換部204はまず、当該サブブロックの各色成分に対し直交変換が施されているか否かを、ステップS402で再生された変換スキップ情報に基づいて判定する。そして判定結果に基づいて、残差係数に逆量子化処理を施す。
【0104】
この際用いられる量子化パラメータは実施形態1のステップS305と同様であり、直交変換処理を施されて生成された残差係数に対しては、各色成分に対して、前述の量子化パラメータ(QP、QPcb、QPcr)が用いられる。
【0105】
一方で変換スキップされて生成された残差係数に対しては、各色成分に対して、前述の補正量子化パラメータ(QP’、QPcb’、QPcr’)が用いられる。すなわち、直交変換処理を施されて生成された残差係数に対しては、量子化パラメータ(QP、QPcb、QPcr)を用いて逆量子化し、さらに逆直交変換を施すことで予測誤差を再生する。一方で変換スキップされて生成された残差係数に対しては、補正量子化パラメータ(QP’、QPcb’、QPcr’)を用いて逆量子化し、予測誤差を再生する。
【0106】
また、当該サブブロックがパレット符号化されている場合、ステップS402で再生された量子化されたエスケープ値に対して補正量子化パラメータ(QP’、QPcb’、QPcr’)を用いて逆量子化し、エスケープ値を再生する。
【0107】
ステップS404にて、ステップS402で再生されたパレットフラグによって、当該サブブロックがパレット符号化されていないことを示す場合、画像再生部205はステップS402で生成された予測情報に基づいて予測画像を再生する。さらに再生された予測画像とステップS403で生成された予測誤差から画像データを再生する。
【0108】
また、パレットフラグによって、当該サブブロックがパレット符号化されていることを示す場合には、画像再生部205は各画素がパレット中のどの色を用いるかを示すインデックスやエスケープ値などを用いて画像データを再生する。
【0109】
ステップS405にて、画像復号装置はフレーム内の全ての基本ブロックの復号が終了したか否かの判定を行い、終了していればステップS406に進み、そうでなければ次の基本ブロックを対象としてステップS402に戻る。
【0110】
ステップS406にて、インループフィルタ部207はステップS404で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
【0111】
以上の構成と動作により、実施形態1で生成された、量子化値補正情報に基づいて補正された量子化パラメータを用いることで、不必要な符号量の増加を抑えたビットストリームを復号することができる。
【0112】
なお、本実施形態では
図6(b)に示すように、量子化制御サイズ情報がシーケンスヘッダ部分に含まれているビットストリームを復号するものとしたが、情報の符号化位置はこれに限定されない。
図6(a)に示されるように画像のピクチャヘッダ部分で符号化されていてもよいし、他の位置で符号化されていても構わない。
【0113】
なお、本実施形態では、Y、Cb、Crといった各色成分に対応する量子化パラメータを補正する構成としたが、本発明はこれに限定されない。変換スキップされ、色差残差係数共通符号化された残差係数に対しては、前述の式(4)で算出された補正された量子化パラメータであるQPcbcr’を用いて逆量子化する構成としてもよい。これにより、変換スキップされ色差残差係数共通符号化された残差係数に対しても適切な量子化パラメータの補正を行うことが可能となり、不必要な符号量の増加を防止したビットストリームを復号することができる。また、不必要に量子化ステップを小さくすることもないため、処理負荷も低減することができる。
【0114】
また、本実施形態では、単一の量子化値補正情報に基づいて一律に量子化値の補正を行う構成としたが、各色成分によって、あるいは変換スキップとパレット符号化に対して別々の量子化値補正情報を用いる構成としてもよい。具体的には、QPminの代わりに、輝度用のQPminY、Cb用のQPmincb、Cr用のQPmincrを個別に定義し、色成分によって個別の量子化値補正を行う構成としてもよい。これは特に色成分によってビット深度が異なる場合、ビット深度に応じて最適な量子化パラメータの補正を行うことができる。また、同様にQPminの代わりに変換スキップ用のQPminTSとパレット符号化用のQPminPLTを個別に定義し、それぞれのケースに応じて異なる量子化値補正を行う構成としてもよい。これは特に出力され画素値のビット深度とパレット符号化で用いられるビット深度が異なる場合、それぞれのケースに応じて最適な量子化パラメータの補正を行うことができる。
【0115】
なお、変換スキップ及びパレット符号化のいずれかが用いられた場合に量子化パラメータを補正するようにしてもよい。そのようにしても、不必要に符号量が増加してしまう可能性を低減することができる。ただし、いずれの場合でも量子化パラメータを補正すると不必要に符号量が増加してしまう可能性をさらに低減することができる。
【0116】
<実施形態3>
図1、
図2に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成してもよい。
【0117】
図5は、上記各実施形態に係る画像符号化装置や画像復号装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【0118】
CPU501は、RAM502やROM503に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、CPU501は、
図1、
図2に示した各処理部として機能することになる。なお、CPU以外の種々のハードウェアプロセッサを用いることもできる。
【0119】
RAM502は、外部記憶装置506からロードされたコンピュータプログラムやデータ、I/F(インターフェース)507を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM502は、CPU501が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM502は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
【0120】
ROM503には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部504は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU501に対して入力することができる。表示部505は、CPU501による処理結果を表示する。また出力部505は例えば液晶ディスプレイで構成される。
【0121】
外部記憶装置506は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置506には、OS(オペレーティングシステム)や、
図1、
図2に示した各部の機能をCPU501に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置506には、処理対象としての各画像データが保存されていてもよい。
【0122】
外部記憶装置506に保存されているコンピュータプログラムやデータは、CPU501による制御に従って適宜、RAM502にロードされ、CPU501による処理対象となる。I/F507には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F507を介して様々な情報を取得したり、送出したりすることができる。508は上述の各部を繋ぐバスである。
【0123】
上述の構成からなる作動は前述のフローチャートで説明した作動をCPU501が中心となってその制御を行う。
【0124】
(その他の実施例)
各実施形態は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【0125】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【0126】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【符号の説明】
【0127】
101、112、201、208 端子
102 ブロック分割部
103 量子化値補正情報生成部
104 予測部
105 変換・量子化部
106、204 逆量子化・逆変換部
107、205 画像再生部
108、206 フレームメモリ
109、207 インループフィルタ部
110 符号化部
111 統合符号化部
202 分離復号部
203 復号部