(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-05
(45)【発行日】2024-07-16
(54)【発明の名称】画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラム
(51)【国際特許分類】
H04N 19/82 20140101AFI20240708BHJP
H04N 19/119 20140101ALI20240708BHJP
H04N 19/136 20140101ALI20240708BHJP
H04N 19/124 20140101ALI20240708BHJP
【FI】
H04N19/82
H04N19/119
H04N19/136
H04N19/124
(21)【出願番号】P 2023067792
(22)【出願日】2023-04-18
(62)【分割の表示】P 2018122421の分割
【原出願日】2018-06-27
【審査請求日】2023-04-18
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】100126240
【氏名又は名称】阿部 琢磨
(74)【代理人】
【識別番号】100223941
【氏名又は名称】高橋 佳子
(74)【代理人】
【識別番号】100159695
【氏名又は名称】中辻 七朗
(74)【代理人】
【識別番号】100172476
【氏名又は名称】冨田 一史
(74)【代理人】
【識別番号】100126974
【氏名又は名称】大朋 靖尚
(72)【発明者】
【氏名】河口 修
(72)【発明者】
【氏名】志摩 真悟
【審査官】間宮 嘉誉
(56)【参考文献】
【文献】国際公開第2017/206826(WO,A1)
【文献】特開2015-111787(JP,A)
【文献】特開2013-219680(JP,A)
【文献】特表2015-518353(JP,A)
【文献】特表2016-518762(JP,A)
【文献】特開2017-55464(JP,A)
【文献】FANG, Xue et al.,A Unified LCU, Sub-LCU and Sub-CU (TU) Delta QP Signaling,JCTVC-G893 (version 1),ITU,2011年11月19日,pp.1-4,[online],[retrieved on 2024-05-30],Retrieved from the Internet: <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC-G893-v1.zip>,JCTVC-G893.doc
【文献】LI, Xiang et al.,Multi-Type-Tree,JVET-D0117 (version 3),ITU,2016年10月20日,pp.1-3,[online],[retrieved on 2024-05-30],Retrieved from the Internet: <URL: https://jvet-experts.org/doc_end_user/documents/4_Chengdu/wg11/JVET-D0117-v3.zip>,JVET-D0117_r1.doc
【文献】AUWERA, Geert Van der et al.,Varying QP Deblocking,JCTVC-G384 (version 2),ITU,2011年11月18日,pp.1-8,[online],[retrieved on 2024-05-30],Retrieved from the Internet: <URL: http://phenix.it-sudparis.eu/jct/doc_end_user/documents/7_Geneva/wg11/JCTVC-G384-v2.zip>,JCTVC-G384-r1.docx
(58)【調査した分野】(Int.Cl.,DB名)
H04N 7/12
H04N 19/00-19/98
(57)【特許請求の範囲】
【請求項1】
画像をブロック単位で符号化可能な画像符号化装置であって、
画像を複数のコーディングツリーユニットに分割する第1の分割手段と、
前記コーディングツリーユニットを複数のブロックに分割する第2の分割手段と、
前記第2の分割手段によって分割される回数に応じた分割値と、量子化パラメータを共有するブロックグループを決定するための閾値とを比較する比較手段と、
前記比較手段による比較結果に基づいて、量子化パラメータの値を示すデータの符号化を行う符号化手段と、
デブロッキングフィルタ処理を行うフィルタ処理手段と
を有し、
前記分割値は、前記第2の分割手段によって分割される回数が多くなると、大きくなる値であり、
量子化パラメータを共有する前記ブロックグループは、前記分割値が前記閾値より大きい複数のブロックを少なくとも含むことが可能であり、
前記ブロックグループに含まれるブロックであって前記ブロックグループに対応する領域よりも小さいブロックの内の少なくともいずれかにゼロではない係数が含まれる場合、前記符号化手段は、当該ブロックグループにおいて共有される量子化パラメータの値を示す第1のデータを、前記ゼロではない係数が含まれる、前記ブロックグループに対応する領域よりも小さいブロックに関連付けて符号化し、
前記ブロックグループが、大きさが1:2:1の比の3つのブロックから成り、かつ、当該3つのブロックにゼロではない係数が含まれない場合、前記符号化手段は前記第1のデータを符号化せず、前記フィルタ処理手段は、前記3つのブロックにおけるそれぞれのデブロッキングフィルタ処理を、前記ブロックグループ以外の他のブロックのための複数の量子化パラメータの平均値を計算することで導出された量子化パラメータの値を用いて実行し、
前記符号化手段は、前記閾値を特定するための情報を符号化する
ことを特徴とする画像符号化装置。
【請求項2】
画像を複数のコーディングツリーユニットに分割するとともに当該コーディングツリーユニットを複数のブロックに分割することで符号化されたビットストリームを復号可能な画像復号装置であって、
前記コーディングツリーユニットが分割される回数に応じた分割値と、量子化パラメータを共有するブロックグループを決定するための閾値とを比較する比較手段と、
前記比較手段による比較結果に基づいて、量子化パラメータの値を示すデータの復号を行う復号手段と、
デブロッキングフィルタ処理を行うフィルタ処理手段と
を有し、
前記分割値は、前記コーディングツリーユニットが分割される回数が多くなると、大きくなる値であり、
量子化パラメータを共有する前記ブロックグループは、前記分割値が前記閾値より大きい複数のブロックを少なくとも含むことが可能であり、
前記ブロックグループに含まれるブロックであって前記ブロックグループに対応する領域よりも小さいブロックの内の少なくともいずれかにゼロではない係数が含まれる場合、前記復号手段は、当該ブロックグループにおいて共有される量子化パラメータの値を示す第1のデータを、前記ゼロではない係数が含まれる、前記ブロックグループに対応する領域よりも小さいブロックの処理において復号し、
前記ブロックグループが、大きさが1:2:1の比の3つのブロックから成り、かつ、当該3つのブロックにゼロではない係数が含まれない場合、前記復号手段は前記第1のデータを復号せず、前記フィルタ処理手段は、前記3つのブロックにおけるそれぞれのデブロッキングフィルタ処理を、前記ブロックグループ以外の他のブロックのための複数の量子化パラメータの平均値を計算することで導出された量子化パラメータの値を用いて実行し、
前記復号手段は、前記閾値を特定するための情報を復号する
ことを特徴とする画像復号装置。
【請求項3】
画像をブロック単位で符号化可能な画像符号化方法であって、
画像を複数のコーディングツリーユニットに分割する第1の分割工程と、
前記コーディングツリーユニットを複数のブロックに分割する第2の分割工程と、
前記第2の分割工程によって分割される回数に応じた分割値と、量子化パラメータを共有するブロックグループを決定するための閾値とを比較する比較工程と、
前記比較工程による比較結果に基づいて、量子化パラメータの値を示すデータの符号化を行う符号化工程と、
デブロッキングフィルタ処理を行うフィルタ処理工程と
を有し、
前記分割値は、前記第2の分割工程によって分割される回数が多くなると、大きくなる値であり、
量子化パラメータを共有する前記ブロックグループは、前記分割値が前記閾値より大きい複数のブロックを少なくとも含むことが可能であり、
前記ブロックグループに含まれるブロックであって前記ブロックグループに対応する領域よりも小さいブロックの内の少なくともいずれかにゼロではない係数が含まれる場合、前記符号化工程において、当該ブロックグループにおいて共有される量子化パラメータの値を示す第1のデータを、前記ゼロではない係数が含まれる、前記ブロックグループに対応する領域よりも小さいブロックに関連付けて符号化し、
前記ブロックグループが、大きさが1:2:1の比の3つのブロックから成り、かつ、当該3つのブロックにゼロではない係数が含まれない場合、前記符号化工程において前記第1のデータを符号化せず、前記フィルタ処理工程において、前記3つのブロックにおけるそれぞれのデブロッキングフィルタ処理を、前記ブロックグループ以外の他のブロックのための複数の量子化パラメータの平均値を計算することで導出された量子化パラメータの値を用いて実行し、
前記符号化工程において、前記閾値を特定するための情報を符号化する
ことを特徴とする画像符号化方法。
【請求項4】
画像を複数のコーディングツリーユニットに分割するとともに当該コーディングツリーユニットを複数のブロックに分割することで符号化されたビットストリームを復号可能な画像復号方法であって、
前記コーディングツリーユニットが分割される回数に応じた分割値と、量子化パラメータを共有するブロックグループを決定するための閾値とを比較する比較工程と、
前記比較工程による比較結果に基づいて、量子化パラメータの値を示すデータの復号を行う復号工程と、
デブロッキングフィルタ処理を行うフィルタ処理工程と
を有し、
前記分割値は、前記コーディングツリーユニットが分割される回数が多くなると、大きくなる値であり、
量子化パラメータを共有する前記ブロックグループは、前記分割値が前記閾値より大きい複数のブロックを少なくとも含むことが可能であり、
前記ブロックグループに含まれるブロックであって前記ブロックグループに対応する領域よりも小さいブロックの内の少なくともいずれかにゼロではない係数が含まれる場合、前記復号工程において、当該ブロックグループにおいて共有される量子化パラメータの値を示す第1のデータを、前記ゼロではない係数が含まれる、前記ブロックグループに対応する領域よりも小さいブロックの処理において復号し、
前記ブロックグループが、大きさが1:2:1の比の3つのブロックから成り、かつ、当該3つのブロックにゼロではない係数が含まれない場合、前記復号工程において前記第1のデータを復号せず、前記フィルタ処理工程において、前記3つのブロックにおけるそれぞれのデブロッキングフィルタ処理を、前記ブロックグループ以外の他のブロックのための複数の量子化パラメータの平均値を計算することで導出された量子化パラメータの値を用いて実行し、
前記復号工程において、前記閾値を特定するための情報を復号する
ことを特徴とする画像復号方法。
【請求項5】
コンピュータを、請求項1に記載の画像符号化装置の各手段として機能させることを特徴とするプログラム。
【請求項6】
コンピュータを、請求項2に記載の画像復号装置の各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は画像符号化装置、画像符号化方法及びプログラム、画像復号装置、画像復号方法及びプログラムに関する。
【背景技術】
【0002】
動画像の圧縮記録の符号化方式として、HEVC(High Efficiency Video Coding)符号化方式(以下、HEVCと記す)が知られている。HEVCでは符号化効率向上のため、従来のマクロブロック(16×16画素)より大きなサイズの基本ブロックが採用された。この大きなサイズの基本ブロックはCTU(Coding Tree Unit)と呼ばれ、そのサイズは最大64×64画素である。CTUはさらに予測や変換を行う単位となるサブブロックに分割される。特開2012-161074(特許文献1)では、量子化パラメータを符号化するサブブロックサイズ(以下、量子化の制御サイズとする)を算出し、量子化パラメータの符号化単位の変更を可能にする技術が開示されている。
【0003】
近年、HEVCの後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。JVET(Joint Video Experts Team)がISO・IECとITU-Tの間で設立され、VVC(Versatile Video Coding)符号化方式(以下、VVC)として標準化が進められている。符号化効率向上のため、従来の正方形サブブロックベースのイントラ予測・直交変換方法に加え、長方形サブブロックベースのイントラ予測・直交変換方法が検討されている。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
VVCにおいては、HEVCのような正方形のサブブロックだけでなく長方形のサブブロック分割が検討されている。HEVCにおける量子化パラメータを符号化する基準となる量子化の制御サイズは、正方形のサブブロックを想定したものである。一方、VVCで検討されている長方形のサブブロック分割がなされた場合、量子化パラメータを符号化するか否かを一意に決められないケースが存在する。したがって、本発明は上述した課題を解決するためになされたものであり、正方形だけでなく長方形のサブブロックでも適切に量子化パラメータの符号化の制御を可能にすることを目的としている。
【課題を解決するための手段】
【0006】
前述の問題点を解決するため、本発明の画像符号化装置は以下の構成を有する。すなわち、画像をブロック単位で符号化可能な画像符号化装置であって、画像を複数のコーディングツリーユニットに分割する第1の分割手段と、前記コーディングツリーユニットを複数のブロックに分割する第2の分割手段と、前記第2の分割手段によって分割される回数に応じた分割値と、量子化パラメータを共有するブロックグループを決定するための閾値とを比較する比較手段と、前記比較手段による比較結果に基づいて、量子化パラメータの値を示すデータの符号化を行う符号化手段と、デブロッキングフィルタ処理を行うフィルタ処理手段とを有し、前記分割値は、前記第2の分割手段によって分割される回数が多くなると、大きくなる値であり、量子化パラメータを共有する前記ブロックグループは、前記分割値が前記閾値より大きい複数のブロックを少なくとも含むことが可能であり、前記ブロックグループに含まれるブロックであって前記ブロックグループに対応する領域よりも小さいブロックの内の少なくともいずれかにゼロではない係数が含まれる場合、前記符号化手段は、当該ブロックグループにおいて共有される量子化パラメータの値を示す第1のデータを、前記ゼロではない係数が含まれる、前記ブロックグループに対応する領域よりも小さいブロックに関連付けて符号化し、前記ブロックグループが、大きさが1:2:1の比の3つのブロックから成り、かつ、当該3つのブロックにゼロではない係数が含まれない場合、前記符号化手段は前記第1のデータを符号化せず、前記フィルタ処理手段は、前記3つのブロックにおけるそれぞれのデブロッキングフィルタ処理を、前記ブロックグループ以外の他のブロックのための複数の量子化パラメータの平均値を計算することで導出された量子化パラメータの値を用いて実行し、前記符号化手段は、前記閾値を特定するための情報を符号化する。
【0007】
また、本発明の画像復号装置は以下の構成を有する。すなわち、画像を複数のコーディングツリーユニットに分割するとともに当該コーディングツリーユニットを複数のブロックに分割することで符号化されたビットストリームを復号可能な画像復号装置であって、前記コーディングツリーユニットが分割される回数に応じた分割値と、量子化パラメータを共有するブロックグループを決定するための閾値とを比較する比較手段と、前記比較手段による比較結果に基づいて、量子化パラメータの値を示すデータの復号を行う復号手段と、デブロッキングフィルタ処理を行うフィルタ処理手段とを有し、前記分割値は、前記コーディングツリーユニットが分割される回数が多くなると、大きくなる値であり、量子化パラメータを共有する前記ブロックグループは、前記分割値が前記閾値より大きい複数のブロックを少なくとも含むことが可能であり、前記ブロックグループに含まれるブロックであって前記ブロックグループに対応する領域よりも小さいブロックの内の少なくともいずれかにゼロではない係数が含まれる場合、前記復号手段は、当該ブロックグループにおいて共有される量子化パラメータの値を示す第1のデータを、前記ゼロではない係数が含まれる、前記ブロックグループに対応する領域よりも小さいブロックの処理において復号し、前記ブロックグループが、大きさが1:2:1の比の3つのブロックから成り、かつ、当該3つのブロックにゼロではない係数が含まれない場合、前記復号手段は前記第1のデータを復号せず、前記フィルタ処理手段は、前記3つのブロックにおけるそれぞれのデブロッキングフィルタ処理を、前記ブロックグループ以外の他のブロックのための複数の量子化パラメータの平均値を計算することで導出された量子化パラメータの値を用いて実行し、前記復号手段は、前記閾値を特定するための情報を復号する。
【発明の効果】
【0008】
本発明により、正方形サブブロックだけでなく長方形サブブロックにおいても適切に量子化パラメータの符号化を行うことができる。
【図面の簡単な説明】
【0009】
【
図1】本実施形態における画像符号化装置の構成を示すブロック図
【
図2】本実施形態における画像復号装置の構成を示すブロック図
【
図3】本実施形態に係る画像符号化装置における画像符号化処理を示すフローチャート
【
図4】本実施形態に係る画像復号装置における画像復号処理を示すフローチャート
【
図5】本実施形態の画像符号化装置、復号装置に適用可能なコンピュータのハードウェア構成例を示すブロック図
【
図7】本実施形態で用いられるサブブロック分割の一例を示す図
【
図8】本実施形態における量子化の制御サイズと処理対象サブブロックの水平方向と垂直方向のサイズのうち短い方との比較を示す図
【
図9】本実施形態における量子化の制御サイズと処理対象サブブロックの水平方向と垂直方向のサイズのうち短い方との比較を示す図
【
図10】本実施形態における量子化パラメータの符号化と有意係数の関係を示す図
【
図11】本実施形態における量子化の制御サイズと処理対象サブブロックの水平方向と垂直方向のサイズのうち長い方との比較を示す図
【
図12】本実施形態および本実施形態における量子化の制御サイズの画素数と処理対象サブブロックの画素数との比較を示す図
【
図13】本実施形態で用いられるサブブロック分割のブロックの深さを示す図
【
図14】本実施形態における量子化の制御深度と処理対象サブブロックの深さの比較を示す図
【
図15】本実施形態における量子化パラメータ共有単位に有意係数が存在しない場合の量子化パラメータの参照を示す図
【
図16】量子化の制御の深さを用いた量子化パラメータの符号化処理のフローチャート
【
図17】量子化の制御の深さを用いた量子化パラメータの復号処理のフローチャート
【
図18】量子化の制御のサイズおよび深さを用いた量子化パラメータの符号化処理のフローチャート
【
図19】量子化の制御のサイズおよび深さを用いた量子化パラメータの復号処理のフローチャート
【発明を実施するための形態】
【0010】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【0011】
図1は本実施形態の画像符号化装置を示すブロック図である。
図1において、制御部100は画像符号化装置全体を制御するプロセッサであり、端子101は画像データを入力する入力端子である。
【0012】
ブロック分割部102は、入力画像を複数の基本ブロックに分割し、基本ブロック単位の画像を後段に出力する。
【0013】
生成部103は、量子化パラメータを符号化する基準となるサイズ(量子化の制御サイズ)に関する情報などを生成し、出力する。量子化の制御サイズの情報の生成方法については特に限定しないが、ユーザが量子化の制御サイズを入力してもよいし、入力画像の特性から量子化の制御サイズを算出してもよいし、初期値としてあらかじめ指定された量子化の制御サイズを使用してもよい。
【0014】
予測部104は、基本ブロックを分割することによりサブブロックを生成し、サブブロック単位でフレーム内予測であるイントラ予測やフレーム間予測であるインター予測などを行い、予測画像データを生成する。さらに、入力された画素値である画像データと予測画像データから予測誤差を算出し、出力する。また、予測に必要な情報、例えばサブブロック分割、予測モードや動きベクトル等の情報も予測誤差と併せて出力される。以下ではこの予測に必要な情報を予測情報と呼称する。
【0015】
変換・量子化部105は、サブブロック単位で予測誤差を示す残差に対して直交変換を行い、さらに量子化を行い、当該残差を表す残差係数を得る。なお、量子化パラメータは、直交変換によって得られた変換係数の量子化に用いるパラメータである。
【0016】
逆量子化・逆変換部106は、変換・量子化部105から出力された残差係数を逆量子化して変換係数を再生し、さらに逆直交変換して予測誤差を再生する。
【0017】
フレームメモリ108は、再生された画像データを格納するメモリである。
【0018】
画像再生部107は、予測部104から出力された予測情報に基づいて、フレームメモリ108を適宜参照して予測画像データを生成し、これと入力された予測誤差から再生画像データを生成する。
【0019】
インループフィルタ部109は、再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。
【0020】
符号化部110は、変換・量子化部105から出力された残差係数および予測部104から出力された予測情報を符号化して、符号データを生成する。
【0021】
統合符号化部111は、生成部103からの量子化の制御サイズに関する情報を符号化して、ヘッダ符号データを生成する。さらに符号化部110から出力された符号データと合わせて、ビットストリームを形成する。
【0022】
端子112はであり、統合符号化部111で生成されたビットストリームを外部に出力する出力端子である。
【0023】
上記画像符号化装置における画像の符号化動作を以下に説明する。本実施形態では動画像データをフレーム単位に入力する構成とするが、1フレーム分の静止画像データを入力する構成としても構わない。
【0024】
端子101から入力された1フレーム分の画像データはブロック分割部102に入力される。
【0025】
ブロック分割部102では、入力された画像データを複数の基本ブロックに分割し、基本ブロック単位の画像を予測部104に出力する。
【0026】
予測部104では、ブロック分割部102から入力された画像データに対し、予測処理を実行する。具体的には、まず、基本ブロックをさらに細かいサブブロックに分割するサブブロック分割を決定する。
【0027】
図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の比で長方形サブブロックに分割されている。このように、本実施形態では、正方形だけではなく、長方形のサブブロックを用いて符号化処理が行われる。そして、本実施の形態では、このような基本ブロックの分割種類に関する情報が分割情報として符号化される。さらには、後述の
図15の左側の図に示すようなサブブロックの階層構造を得るために、分割種類の情報が階層化されて符号化される。
【0028】
そして、予測部104は、処理対象の各サブブロックに対し、予測モードを決定する。具体的には、予測部104は、処理対象の各サブブロックを含むフレームと同一フレームで符号化済みの画素を用いるイントラ予測、あるいは、符号化済みの異なるフレームの画素を用いるインター予測などのサブブロック単位の予測モードを決定する。そして、予測部104は、決定した予測モードおよび符号化済の画素から予測画像データを生成し、さらに入力された画像データと予測画像データから、予測誤差が生成され、変換・量子化部105に出力される。また、予測部104は、サブブロック分割や予測モードなどの情報を予測情報として、符号化部110、画像再生部107に出力する。
【0029】
ここで、変換・量子化部105で実行される変換処理や、量子化処理についてより詳しく説明する。変換・量子化部105は、予測部104によって予測処理が行われたサブブロックの画像データ(画素値)に対して周波数変換を行い、さらに量子化を行う。
図8の(a)~(f)はブロックの分割の種類と量子化の制御サイズとの関係を示している。変換・量子化部105は、処理対象サブブロックサイズと生成部103から出力される量子化の制御サイズに基づいて、どのサブブロック単位で量子化パラメータを共有し、符号化するかを決定する。すなわち、後段の符号化部110において、量子化の制御サイズとサブブロックのサイズとの比較に従って、複数のサブブロックで量子化パラメータが共有されるべきか否かが決定される。量子化パラメータの符号化については後述する。量子化に使用される量子化パラメータの値自体の決定方法については、特に限定はしないが、ユーザが量子化パラメータを入力しても良いし、入力画像の特性から算出しても、初期値として予め指定されたものを使用しても良い。
【0030】
次に、量子化パラメータを符号化する単位の決定方法について説明する。
【0031】
変換・量子化部105は、処理対象サブブロックの水平方向と垂直方向のうち短い方の辺の長さと量子化の制御サイズを比較し、どの単位で量子化パラメータを符号化するか、すなわちどの単位で同じ量子化パラメータを用いるかを決定する。
【0032】
図8は、処理対象サブブロックの水平方向と垂直方向のうち短い方の一辺の長さと量子化の制御サイズを比較した場合にどの単位で量子化パラメータを符号化するかを示す。
図8では、正方ブロックの一辺の長さが量子化の制御サイズとして定義されている。具体的には
図8では量子化の制御サイズとして16が適用される例を示している。
図8は処理対象サブブロックの水平方向と垂直方向のうち短い方の長さを矢印で示している。また、
図8の処理対象サブブロックの太枠の矩形は、処理対象サブブロックと量子化の制御サイズを比較した結果によって決定された量子化パラメータが共有される領域を示している。また、Qpは量子化パラメータを示している。
図8において、(a)、(b)、(c)、(d)に関しては、各処理対象サブブロックの水平方向と垂直方向のうち短い方の長さが量子化の制御サイズ(16)以上である。そのため、各処理対象サブブロックはそれぞれ個別の量子化パラメータ(QpA~QpD)を用いて量子化される。そして、サブブロックごとに対応する量子化パラメータ(QpA~QpD)がそれぞれ符号化される。一方、
図8の(e)、(f)に関しては、処理対象の基本ブロックにおいて、水平方向と垂直方向のうち短い方の一辺の長さが量子化の制御サイズより小さいサブブロックが含まれるため、量子化パラメータは複数のサブブロックで共有される。具体的には、
図8(e)、(f)に関しては、それぞれ3つのサブブロックは、同一の量子化パラメータを用いて量子化される。このとき、符号化される量子化パラメータとしては、サブブロックごとではなく、共有の量子化パラメータとして1つの量子化パラメータが符号化される。以上説明したとおり、量子化パラメータは処理対象サブブロックのサイズと量子化の制御サイズに基づいて使用される。
【0033】
次に、
図8とは異なる量子化の制御サイズの場合の例を、
図9を用いて説明する。
図9においても、正方ブロックの一辺の長さが量子化の制御サイズとして定義されている。具体的には
図9では、処理対象の基本ブロックの一辺と同じ長さ32が量子化の制御サイズとして適用される例を示している。
図9の太枠、矢印、Qpの意味は
図8と同様であるため説明を割愛する。
図9(a)~(f)では、処理対象サブブロックの水平方向と垂直方向のうち短い方の長さと量子化の制御サイズを比較すると、処理対象サブブロックはいずれも量子化の制御サイズと同じまたは小さい。そのため、それぞれのケースにおいて、各サブブロックは同一の量子化パラメータを用いて量子化される。符号化される量子化パラメータとしては、サブブロックごとではなく、共有の量子化パラメータとして1つの量子化パラメータが符号化される。
【0034】
図1に戻り、逆量子化・逆変換部106では、入力された残差係数を逆量子化して変換係数を再生し、さらに再生された変換係数を逆直交変換して予測誤差を再生し、画像再生部107に出力する。各サブブロックの逆量子化処理においては、変換・量子化部105で用いた量子化パラメータと同一のものが用いられる。
【0035】
画像再生部107では、予測部104から入力される予測情報に基づいて、フレームメモリ108を適宜参照し、予測画像を再生する。そして再生された予測画像と逆量子化・逆変換部106から入力された再生された予測誤差から画像データを再生し、フレームメモリ108に入力し、格納する。
【0036】
インループフィルタ部109では、フレームメモリ108から再生画像を読み出しデブロッキングフィルタなどのインループフィルタ処理を行う。インループフィルタ処理は、予測部104の予測モードや変換・量子化部105で利用される量子化パラメータの値、さらに量子化後の処理サブブロックに非ゼロの値(以下、有意係数とする)が存在の有無、あるいはサブブロック分割情報に基づいて行われる。そして、フィルタ処理された画像を再びフレームメモリ108に入力し、再格納する。
【0037】
符号化部110では、ブロック単位で、変換・量子化部105で生成された残差係数、予測部104から入力された予測情報をエントロピー符号化し、符号データを生成する。
【0038】
エントロピー符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。生成された符号データは統合符号化部111に出力される。量子化情報を構成する量子化パラメータの符号化においては、符号化対象のサブブロックの量子化パラメータと当該サブブロックよりも前に符号化されたサブブロックの量子化パラメータを用いて算出する予測値との差分値を示す識別子が符号化される。本実施形態では、符号化順で当該サブブロックの直前に符号化された量子化パラメータを予測値として、当該サブブロックの量子化パラメータとの差分値を計算するものとするが、量子化パラメータの予測値はこれに限定されない。当該サブブロックの左または右に隣接しているサブブロックの量子化パラメータを予測値としても良いし、平均値など複数のサブブロックの量子化パラメータから算出される値を予測値としても構わない。
【0039】
ここで、量子化の制御サイズに基づいて量子化パラメータを符号化する処理について
図10を用いてさらに説明する。
図10(a)~(f)の左側の図は、ブロック分割の種類と各サブブロックで使用した量子化パラメータ(Qp)を示す。また、斜線の入っているサブブロックは、符号化される量子化パラメータと関連付けられるサブブロックを示している。また、太枠の四角は量子化の制御サイズと処理対象サブブロックサイズに基づいて決定した量子化パラメータが共有される領域を示す。
図10(a)~(f)のそれぞれの中央の図は、各サブブロックが有意係数を有するか否かを示す。有意係数とは変換・量子化後の残差係数のうち非ゼロの係数のことを示す。すなわち有意係数ありとは、変換・量子化後のサブブロックにおいて、非ゼロの残差係数が少なくとも1つ存在することを示す。また、
図10(a)~(f)のそれぞれの右側の図に示される矢印は符号化(復号)の順番を示している。本実施形態では、量子化パラメータが共有される領域内において、量子化パラメータは、符号化順で最初に有意係数が含まれているサブブロックに関連付けられて符号化される。例えば、
図10(b)では、符号化順で最初に有意係数を含むサブブロックは右上のサブブロックであるため、当該サブブロックに関連付けられて量子化パラメータが符号化される。この場合、左下と右下のサブブロックにおいては、当該量子化パラメータ符号化単位においては量子化パラメータが右上サブブロックにて既に符号化されているため、量子化パラメータは符号化されない。一方で、左下、右下のサブブロックにおける量子化・逆量子化処理においては、右上サブブロックと同一の量子化パラメータである、QpAが用いられる。さらに左上サブブロックには有意係数が存在しないため、逆量子化処理は実行されないが、デブロッキングフィルタなど量子化パラメータを用いる処理には、右上サブブロックと同一の量子化パラメータであるQpAが用いられる。また、
図10(f)では符号化順で最初に有意係数を含むサブブロックは下側に位置するサブブロックであるため、当該サブブロックに量子化パラメータが関連付けられて符号化され、上、真ん中のサブブロックに対して量子化パラメータは符号化されない。ただし、
図10(f)の上、真ん中のサブブロックでは、
図10(b)の左上サブブロック同様、デブロッキングフィルタなど量子化パラメータを用いる処理には、下のサブブロックと同一の量子化パラメータであるQpAが用いられる。
【0040】
このように、量子化の制御サイズにより決定した量子化パラメータが共有される領域内のサブブロックにおいて、符号化順で最初に有意係数を含むサブブロックに量子化パラメータが関連付けられて符号化される。
【0041】
統合符号化部111では、量子化の制御サイズに関する情報が符号化される。符号化の方法は特に指定しないが、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。また、これらの符号や符号化部110から入力された符号データなどを多重化してビットストリームを形成する。最終的には、ビットストリームは端子112から外部に出力される。
【0042】
図6(a)に符号化された量子化の制御サイズに関する情報を含んだビットストリームの例を示す。量子化の制御サイズに関する情報はシーケンス、ピクチャ等のヘッダのいずれかに含まれる。本実施形態では
図6(a)に示されるようにピクチャのヘッダ部分に含まれるものとする。ただし、符号化される位置はこれに限られず、
図6(b)に示されるように、シーケンスのヘッダ部分に含まれても構わない。
【0043】
図3は、本実施形態に係る画像符号化装置における符号化処理を示すフローチャートである。
【0044】
まず、ステップS301にて、ブロック分割部102はフレーム単位の入力画像を基本ブロック単位に分割する。
【0045】
ステップS302にて、生成部103は、量子化パラメータを符号化するサイズである量子化の制御サイズを決定する。そして、その情報を量子化の制御サイズ情報とする。量子化の制御サイズ情報も統合符号化部111によって符号化される。
【0046】
ステップS303にて、予測部104はステップS301にて生成された基本ブロック単位の画像データに対して分割処理を行い、サブブロックを生成する。そして予測部104は、その生成されたサブブロック単位で予測処理を行い、ブロック分割や予測モードなどの予測情報および予測画像データを生成する。さらに入力された画像データと前記予測画像データから予測誤差を算出する。
【0047】
ステップS304にて、変換・量子化部105はステップS303で算出された予測誤差を直交変換して変換係数を生成する。さらにステップS302において生成された量子化の制御サイズ情報に基づいて決定した量子化パラメータを用いて量子化を行い、残差係数を生成する。具体的には、前述したとおり、量子化の制御サイズ情報(例えば正方ブロックの一辺の長さ)と、サブブロックのサイズ(例えば短辺あるいは長辺の長さ)との比較を行い、基本ブロック内のサブブロックで量子化パラメータを共有するか否かが決定される。その決定に基づいて、各領域のサブブロックに対応する量子化パラメータを用いて各サブブロックの量子化が実行され、各サブブロックの残差係数が生成される。
【0048】
ステップS305にて、逆量子化・逆変換部106はステップS304で生成された残差係数を逆量子化・逆直交変換し、予測誤差を再生する。本ステップでの逆量子化処理には、ステップS304で用いられた量子化パラメータと同一のものが用いられる。
【0049】
ステップS306にて、画像再生部107はステップS303で生成された予測情報に基づいて予測画像を再生する。さらに再生された予測画像とステップS305で生成された予測誤差から画像データを再生する。
【0050】
ステップS307にて、符号化部110は、ブロックの分割情報とともに、ステップS303で生成された予測情報およびステップS304で生成された残差係数を符号化し、符号データを生成する。また、ステップS304で利用した量子化パラメータを、ステップS302で生成した量子化の制御サイズ情報に基づいて符号化する。さらに他の符号データも含め、ビットストリームを生成する。具体的には、ステップS304において決定された量子化パラメータが共有される領域のうち、符号化されるサブブロックの順において、少なくとも1つの有意係数を含むサブブロックに関連づけて量子化パラメータが符号化される。
【0051】
ステップS308にて、画像符号化装置の制御部100は、フレーム内の全ての基本ブロックの符号化が終了したか否かの判定を行い、終了していればステップS309に進み、そうでなければ次の基本ブロックを対象として、ステップS303に戻る。
【0052】
ステップS309にて、インループフィルタ部109はステップS306で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
【0053】
以上、特にステップS302において量子化の制御サイズ情報を生成し、ステップS304及びS307において、量子化の制御サイズ情報に基づいて量子化・符号化処理をすることで、適切に量子化パラメータの符号化処理を可能にすることができる。結果として、生成されるビットストリーム全体のデータ量を抑えつつ、符号化された画像の画質を向上させることができる。
【0054】
なお、本実施形態では、量子化の制御サイズとの比較に処理対象サブブロックの水平方向と垂直方向のうち短い方の長さを用いて、量子化パラメータが共有される領域を判定するとしたが、本発明はこれに限定されない。例えば、
図11(a)~(f)に示すように、処理対象サブブロックの水平方向と垂直方向のうち長い方の長さとの比較を実施し、量子化パラメータの共有単位を決定してもよい。
図11では、量子化の制御サイズとしての正方ブロックの一辺の長さ(16)に対して各サブブロックの長辺の長さがそれぞれ比較対象となる。
図11では、量子化の制御サイズ(16)よりも全てのサブブロックの長辺が長いので、各サブブロックに対して量子化パラメータが符号化されることになる。これにより長方形サブブロックに対しては、量子化パラメータの符号量の削減よりも、量子化パラメータの細かい制御を重視したビットストリームを生成することができる。
【0055】
さらに、他の実施形態として、処理対象サブブロックの画素数と量子化の制御サイズの画素数を比較することにより、量子化パラメータが共有される領域を判定してもよい。処理対象サブブロックと量子化の制御サイズを画素数で比較する場合を
図12(a)~(f)に示す。
図12において、量子化の制御サイズは16×16画素であるため、画素数が256となる。また処理対象サブブロックについては、
図12(a)~(f)の全てのサブブロックにおいて画素数は256画素以上となっている。よって、
図12の例においては、全てのサブブロックにおいて量子化パラメータがそれぞれ符号化されることとなる。これにより、サブブロックの形状に関わらず、サブブロック内の画素数に基づいた量子化パラメータ制御を実現することができる。
【0056】
また、本実施形態において、量子化の制御サイズは正方ブロックの一辺であるものとして説明したが、長方形であってもよい。この場合、量子化の制御サイズの幅と高さをそれぞれ指定してもよい。この場合は、処理対象サブブロックの垂直方向および水平方向の長さを量子化の制御サイズの幅と高さのそれぞれと比較し、両方もしくは片方の長さが量子化の制御のサイズ以上である場合にそれぞれのサブブロックについて量子化パラメータを符号化してもよい。これにより、縦長長方形サブブロックと横長長方形サブブロックに対し、異なる量子化パラメータ制御を実現することができる。なお、処理対象の基本ブロックに両方の長さもしくは片方の長さが量子化の制御サイズ未満のサブブロックが存在する場合、この条件を満たすサブブロックで共有されるべき1つの量子化パラメータが符号化されることになる。
【0057】
また、本実施形態では、量子化パラメータが符号化される単位を空間的なサイズで定義したがこれに限定されるものでない。基本ブロックから何回分割したかの回数を示す量子化制御の深さ(以下、量子化の制御深度とする)を生成し、量子化の制御深度と処理対象サブブロックの分割の深さを比較して量子化パラメータを符号化するか否かを判定してもよい。この場合、
図6に示す量子化の制御サイズ情報に代えて、量子化の制御深度情報が符号化される。
【0058】
ここで、処理対象サブブロックの分割の深さについて
図13を用いて説明する。
図13のD0、D1はそれぞれ深さ0と深さ1を示す。
図13(a)は基本ブロックに対して一度も分割されておらずサブブロックの深さは0(D0)であることを示す。
図13(b)は基本ブロックに対し4分木分割されており、各サブブロックは深さ1(D1)であることを示す。
図13(c)および(d)は基本ブロックに対し2分木分割されており、各サブブロックは深さ1(D1)であることを示す。
図13の(e)および(f)は基本ブロックに対し3分木分割されており、各サブブロックの深さは1(D1)であることを示す。このように、基本ブロックに対し1度分割されたサブブロックは、4分木分分割、2分木分割、3分木分割のいずれで合っても深さが1増加するものとする。
【0059】
次に量子化の制御深度と各処理対象サブブロックの分割の深さに応じて、どのように量子化パラメータが符号化されるかを、
図14を用いて説明する。
図14(a)~(e)において、一番外側の正方形が基本ブロックであることを示す。また、
図14(a)~(e)のそれぞれにおいて、左側がサブブロックの分割を示しており、右側は量子化パラメータが共有される領域を示している。また、図中の各ブロック内のD0、D1、D2、D3、D4は各サブブロックの深さを示しており、例えばD0は深さ0を示し、D4は深さ4を示す。Qpは量子化パラメータを示す。
図14(a)、(b)、(c)、(d)、(e)はそれぞれ量子化の制御深度が0、1、2、3、4の場合を示している。
図14(a)の場合、すなわち量子化の制御深度が0の場合は図中の全てのサブブロックで共通の量子化パラメータ用い、符号化順で最初の有意係数が含まれているサブブロックに関連付けて量子化パラメータが符号化される。この場合、符号化される量子化パラメータは1個となる。
図14(b)の場合、すなわち量子化の制御深度が1の場合は、
図14(b)の右側のブロックの単位で量子化パラメータが共有される。さらに当該ブロック単位で符号化順の最初に有意係数が含まれているサブブロックに関連付けて1つの量子化パラメータが符号化される。この場合は符号化される量子化パラメータは4個となる。
図14(c)の場合、すなわち量子化の制御深度が2の場合は、同図の右側のブロックの単位で量子化パラメータが共有され、当該単位で符号化順の最初に有意係数が含まれているサブブロックに関連付けて1つの量子化パラメータが符号化される。この場合は符号化される量子化パラメータは11個となる。
図14(d)の場合、すなわち量子化の制御深度が3の場合は、
図14(d)の右側のブロックの単位で量子化パラメータが共有され、当該単位で符号化順の最初に有意係数が含まれているサブブロックに関連付けて量子化パラメータが符号化される。この場合は符号化される量子化パラメータは23個となる。
図14(e)の場合、すなわち量子化の制御深度が4の場合は、
図14(d)の右側のブロックの単位で量子化パラメータを用いる。
図14(e)の場合、ブロックの分割の深さと量子化の制御深度とが同じであるため、それぞれのブロックについて量子化パラメータが符号化される。この場合は符号化される量子化パラメータは27個となる。
【0060】
ここで、量子化パラメータが共有される領域において、有意係数が1つも含まれないサブブロックが存在する場合について、
図15を用いて説明する。
図15(a)は、
図14と同様にサブブロック分割を示し、D0、D1、D2、D3、D4は各サブブロックの深さを示す。
図15(b)は、
図14と同様に量子化の制御深度と各サブブロックの深さに基づいて決定される量子化パラメータの共有領域を示す一例である。なお、
図15(b)は量子化の制御深度が2の場合を例としている。
図15(b)において、QpGの量子化パラメータに対応する領域内の3つのサブブロック全てに有意係数が存在しない場合を例に説明する。この場合、当該サブブロック3つに対する量子化パラメータQpGは符号化されない。ただし、デブロッキングフィルタなどの処理には、その直前に符号化された量子化パラメータと同じ値、すなわちQpFが用いられる。なお、有意係数が存在しない量子化パラメータ符号化単位において、量子化パラメータを使用する処理では符号化順で直前に符号化された量子化パラメータを使用するとしたが、本発明はこれに限定されない。例えば、上に隣接する量子化パラメータ符号化単位の量子化パラメータであるQpDを用いてもよいし、左に隣接する量子化パラメータであるQpFを用いてもよい。また、平均値など複数の量子化パラメータ符号化単位の量子化パラメータから算出される値を用いても構わない。さらには、スライスに対する量子化パラメータの初期値を用いても構わない。なお、スライスとはフレームを分割した単位のことであり、少なくとも一つ以上の基本ブロックから構成される。このように、処理対象サブブロックの深さと量子化の制御深度を比較し、処理対象サブブロックの深さが量子化の制御深度以下である場合に量子化パラメータを共有するようにしてもよい。サブブロック分割の情報は分割の度に符号化されるため、これによりサブブロック分割情報と親和性の高い量子化パラメータ符号化制御を実現することが可能となり、結果としてシンタックスの構造を簡易化することができる。
【0061】
図16は、量子化の制御深度を用いた量子化パラメータの符号化処理を示すフローチャートである。
【0062】
ステップS1601において、変換量子化部105は、量子化の制御深度とサブブロックの分割の深さとを比較する。
【0063】
ステップS1602において、変換量子化部105は、S1601における比較の結果量子化の制御深度より深い分割の深さを有するサブブロックの領域を1つの量子化パラメータを共有する領域として決定する。
【0064】
ステップS1603において、変換量子化部105は、決定された領域内のサブブロックに対して、同じ量子化パラメータを用いて量子化する。
【0065】
ステップS1604において、符号化部110は、決定された領域内のサブブロックのうち、符号化順で少なくとも1つの有意係数が残差係数として存在するサブブロックに関連付けてステップS1603において用いられた量子化パラメータを符号化する。そして、統合符号化部111は、量子化の制御深度情報を符号化する。
【0066】
図16処理はフレーム内の基本ブロックに対してそれぞれ行われることになる。
【0067】
さらに、量子化の制御サイズと量子化の制御深度の両方を生成し、組み合わせて利用してもよい。この場合、
図6に示す量子化の制御サイズ情報に加えて、量子化の制御深度情報が符号化される。
【0068】
例えば、処理対象サブブロックの深さが量子化の制御深度以下で、かつ、処理対象サブブロックの水平方向と垂直方向のうち短い方の辺の長さが量子化の制御のサイズ以上である場合にサブブロックごとに量子化パラメータを符号化するとしてもよい。具体的には、量子化の制御深度に対応する領域ごとにサブブロックの短辺の長さと量子化の制御サイズとの比較が行われる。各領域において、量子化の制御サイズ以上の短辺の長さのサブブロックが存在する場合、当該領域内の各サブブロックに対してそれぞれ量子化パラメータが符号化される。当該領域内のいずれのサブブロックの短辺の長さが量子化の制御サイズ以上ではない場合、当該領域内のサブブロック間で1つの量子化パラメータが共有され、その1つの量子化パラメータが符号化される。
【0069】
また、処理対象サブブロックの深さが量子化の制御深度以下で、かつ、処理対象サブブロックの水平方向と垂直方向のうち長い方の辺の長さが量子化の制御のサイズ以上である場合にサブブロックごとに量子化パラメータを符号化するとしてもよい。この場合、量子化の制御深度に対応する領域ごとにサブブロックのサイズと量子化の制御サイズとの比較が行われる。各領域において、量子化の制御サイズ以上の長辺の長さのサブブロックが存在する場合、当該領域内の各サブブロックに対してそれぞれ量子化パラメータが符号化される。当該領域内のいずれのサブブロックの長辺の長さが量子化の制御サイズ以上ではない場合、当該領域内のサブブロック間で1つの量子化パラメータが共有され、その1つの量子化パラメータが符号化される。
【0070】
また、処理対象サブブロックの深さが量子化の制御深度以下で、かつ、処理対象サブブロックの画素数が量子化の制御サイズの画素数以上である場合にサブブロックごとに量子化パラメータを符号化するとしてもよい。この場合、量子化の制御深度に対応する領域ごとにサブブロックのサイズと量子化の制御サイズとの比較が行われる。各領域において、量子化の制御サイズの画素数以上の画素数のサブブロックが存在する場合、当該領域内の各サブブロックに対してそれぞれ量子化パラメータが符号化される。当該領域内のいずれのサブブロックの画素数がいずれも量子化の制御サイズ以上ではない場合、当該領域内のサブブロック間で1つの量子化パラメータが共有され、その1つの量子化パラメータが符号化される。
【0071】
さらには、量子化の制御サイズの幅と高さをそれぞれ指定し、量子化の制御深度と組み合わせて用いてもよい。この場合、量子化の制御深度に対応する領域ごとに、サブブロックの垂直方向と水平方向の長さを量子化の制御サイズの幅と高さのそれぞれと比較する。この場合において、垂直方向と水平方向のうち両方もしくは片方の長さが量子化の制御サイズの幅と高さ以上のサブブロックが存在する場合、対象領域内のそれぞれのサブブロックに対して量子化パラメータが符号化される。垂直方向と水平方向のうち両方もしくは片方の長さが量子化の制御サイズの幅と高さ以上のサブブロックが存在しない場合、当該領域に対して量子化パラメータが共有され、1つの量子化パラメータが符号化される。
【0072】
このように、長方形サブブロック分割が多用された場合において、量子化の制御深度だけでなく量子化の制御サイズを用いることで、極端に細長い長方形サブブロックにおいても量子化パラメータ符号化制御を実現することが可能となる。
【0073】
図18は、量子化の制御サイズと量子化の制御深度の両方を用いて量子化パラメータの符号化処理を示すフローチャートである。
【0074】
ステップS1801において、変換・量子化部105は、量子化の制御深度とサブブロックの分割の深さとを比較し、量子化の制御深度に対応するブロックの深さの領域を決定する。
【0075】
ステップS1802において、変換・量子化部105は、ステップS1801において決定された領域ごとに各領域に含まれるサブブロックのサイズと量子化の制御サイズとを比較する。
【0076】
ステップS1803において、変換・量子化部105は、ステップS1802の比較の結果、対象とする領域内のサブブロックで1つの量子化パラメータを共有するか否かが決定される。その決定に基づいて、各領域のサブブロックに対応する量子化パラメータを用いて各サブブロックの量子化が実行され、各サブブロックの残差係数が生成される。
【0077】
ステップS1804において、対象とする領域内のサブブロックで1つの量子化パラメータを共有する場合、符号化部110は、符号化順で少なくとも1つの有意係数を有する最初のサブブロックに量子化パラメータを関連付けて符号化する。その一方、その他のサブブロック関連付けて量子化パラメータは符号化されない。また、対象とする領域内のサブブロックで1つの量子化パラメータを共有しない場合、符号化部110は、有意係数が存在しないサブブロックを除くサブブロックのそれぞれについて関連付けて量子化パラメータが符号化する。そして、統合符号化部111は、量子化の制御サイズ情報および量子化の制御深度情報が符号化される。
【0078】
このような符号化処理が基本ブロックのそれぞれについて行われる。
【0079】
量子化の制御サイズと量子化の制御深度の両方を用いて量子化パラメータの符号化処理を行う場合、サブブロックの長辺を用いて量子化の制御サイズとの比較を行う方がそれぞれのサブブロックに量子化パラメータが関連付けられる可能性が高い。すなわちサブブロックの長辺を用いて量子化の制御サイズとの比較を行う方が細長い形状の物体に適している。
【0080】
なお、サブブロックの分割の種類が階層的に連続した場合、量子化の制御サイズとサブブロックのサイズとの比較の結果にかかわらず、量子化パラメータの共有を禁止してもよい。これによって細長い形状の物体に適したサブブロックの量子化を行うことができる。
【0081】
図2は、画像復号装置の構成を示すブロック図である。本実施形態では、
図1に示す画像符号化装置において生成された符号化データの復号を例にとって説明する。
【0082】
端子201は符号化されたビットストリームを入力する入力端子である。
【0083】
分離復号部202は、ビットストリームから復号処理に関する情報や残差係数に関する符号データに分離し、またビットストリームのヘッダ部に存在する符号データを復号する。本実施形態では、量子化の制御サイズ情報を復号し、後段に出力する。分離復号部202は、
図1の統合符号化部111と逆の動作を行う。
【0084】
復号部203は、分離復号部202から出力された符号データから、残差係数および予測情報を取得する。
【0085】
逆量子化・逆変換部204は、ブロック単位で入力された残差係数に対して逆量子化を行い、さらに逆直交変換を行うことにより予測誤差を取得する。
【0086】
フレームメモリ206は、再生されたピクチャの画像データを格納するメモリである。
【0087】
画像再生部205は、入力された予測情報に基づいてフレームメモリ206を適宜参照して予測画像データを生成する。そして、この予測画像データと逆量子化・逆変換部204で再生された予測誤差から再生画像データを生成し、出力する。
【0088】
インループフィルタ部、207はである。
図1のインループフィルタ部109同様、再生画像に対し、デブロッキングフィルタなどのインループフィルタ処理を行い、フィルタ処理された画像を出力する。
【0089】
端子208、再生された画像データを外部に出力する出力端子である。
【0090】
上記画像復号装置における画像の復号動作を以下に説明する。本実施形態では、本実施形態で生成されたビットストリームを復号する。
【0091】
図2において、制御部200は画像復号装置全体を制御するプロセッサであり、端子201から入力されたビットストリームは分離復号部202に入力される。復号部202では、ビットストリームから復号処理に関する情報や係数に関する符号データに分離し、ビットストリームのヘッダ部に存在する符号データを復号する。具体的には、量子化の制御サイズ情報を復号する。本実施形態では、まず、
図6(a)に示されるビットストリームのピクチャヘッダから量子化の制御サイズ情報を復号する。このようにして得られた量子化の制御サイズ情報は復号部203および逆量子化・逆変換部204に出力される。さらに、ピクチャデータのブロック単位の符号データを復号部203に出力する。
【0092】
復号部203では、符号データを復号し、残差係数、予測情報および量子化パラメータを取得する。残差係数や量子化パラメータは逆量子化・逆変換部204に出力され、取得された予測情報は画像再生部205に出力される。
【0093】
ここで、量子化の制御サイズに基づいて、各サブブロックに量子化パラメータを割り当てる処理について
図10を用いて説明する。上述したとおり、
図10(a)~(f)において、左側はブロック分割の種類と各サブブロックで符号化時に使用された量子化パラメータ(Qp)が示されている。また、斜線の入っているサブブロックは量子化パラメータが関連付けられているサブブロックを示している。また、太枠の四角は量子化の制御サイズと処理対象サブブロックサイズに基づいて決定した量子化パラメータが共有される領域を示している。量子化の制御サイズとの比較方法については画像符号化装置と同様である。例えば、
図8および
図9を用いて説明したように、処理対象サブブロックの水平方向と垂直方向のうち短辺と量子化の制御サイズとの比較を行う。同図の真ん中は各サブブロックが有意係数を持つか否かを示す。有意係数とは残差係数のうち非ゼロの係数のことを示す。すなわち有意係数ありとは、サブブロック内において、非ゼロの残差係数が少なくとも1つ存在することを示す。また、同図の右側に図示される矢印は復号の順番を示す。量子化パラメータ符号化単位内のサブブロックにおいて、復号順で最初に有意係数が含まれているサブブロックにおいて、量子化パラメータは復号される。例えば、
図10(b)では、復号順で最初に有意係数を含むサブブロックは右上のサブブロックであるため、当該サブブロックに対して量子化パラメータが復号される。この場合、左下と右下のサブブロックにおいては、当該量子化パラメータが共有される領域内であり、すでに量子化パラメータが右上サブブロックにて既に復号されている。すなわち、左下と右下のサブブロックに対応する量子化パラメータの符号化データはビットストリーム中に存在せず、左下と右下のサブブロックに対応する量子化パラメータは復号されない。左下、右下のサブブロックにおける量子化・逆量子化処理においては、右上サブブロックと同一の量子化パラメータである、QpAが用いられる。さらに左上サブブロックには有意係数が存在しないため、逆量子化処理は実行されないが、デブロッキングフィルタなど量子化パラメータを用いる処理には、右上サブブロックと同一の量子化パラメータであるQpAが用いられる。また、
図10(f)では復号順で最初に有意係数を含むサブブロックは下側に位置するサブブロックであるため、当該サブブロックに対して関連付けられた量子化パラメータが復号される。
図10(f)上、中央のサブブロックに対応する量子化パラメータの符号化データはビットストリーム中に存在せず、上、中央のサブブロックに対応する量子化パラメータは復号されない。ただし、
図10(f)の上、真ん中のサブブロックでは、
図10(b)の左上サブブロック同様、デブロッキングフィルタなど量子化パラメータを用いる処理には、下のサブブロックと同一の量子化パラメータであるQpAが用いられる。このように、量子化の制御サイズにより決定した量子化パラメータ符号化単位内のサブブロックにおいて、復号順で最初に有意係数を含むサブブロックに対して量子化パラメータが復号される。
【0094】
逆量子化・逆変換部204では、入力された残差係数に対し逆量子化を行って直交変換係数を生成し、さらに逆直交変換を施して予測誤差を再生する。各サブブロックの逆量子化においては、量子化パラメータが共有される領域ごとに共通の量子化パラメータを用いて逆量子化される。取得された予測情報は画像再生部205に出力される。
【0095】
画像再生部205では、復号部203から入力された予測情報に基づいて、フレームメモリ206を適宜参照し、予測画像を再生する。この予測画像と逆量子化・逆変換部204から入力された予測誤差から画像データを再生し、フレームメモリ206に入力し、格納する。格納された画像データは予測の際の参照に用いられる。
【0096】
インループフィルタ部207では、
図1の109同様、フレームメモリ206から再生画像を読み出し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。そして、フィルタ処理された画像は再びフレームメモリ206に入力される。
【0097】
フレームメモリ206に格納された再生画像は、最終的には端子208から外部に出力される。
【0098】
図4は、画像復号装置における画像の復号処理を示すフローチャートである。
【0099】
まず、ステップS401にて、分離復号部202はビットストリームから復号処理に関する情報や係数に関する符号データに分離して、ヘッダ部分の符号データを復号し、量子化の制御サイズ情報を取得する。
【0100】
ステップS402にて、復号部203はステップS401で分離された符号データを復号し、ブロックの分割情報、残差係数、予測情報および量子化パラメータを取得する。
【0101】
ステップS403にて、逆量子化・逆変換部204は、サブブロック単位で残差係数に対し逆量子化を行い、さらに逆直交変換を行うことにより、予測誤差を取得する。具体的には、量子化の制御サイズ情報(例えば正方ブロックの一辺の長さ)と、取得されたブロックの分割情報から決定されるサブブロックのサイズ(例えば短辺あるいは長辺の長さ)との比較を行う。その結果、量子化パラメータが共有される領域(サブブロック)が決定される。そして、それぞれのサブブロックに割り当てられた量子化パラメータに基づいて逆量子化処理が行われる。
【0102】
ステップS404にて、画像再生部205はステップS402で取得された予測情報に基づいて予測画像を再生する。さらに再生された予測画像とステップS403で生成された予測誤差から画像データを再生する。
【0103】
ステップS405にて、画像復号装置の制御部200は、フレーム内の全てのブロックの復号が終了したか否かの判定を行い、終了していればステップS406に進み、そうでなければ次のブロックを対象としてステップS402に戻る。
【0104】
ステップS406にて、インループフィルタ部207はステップS404で再生された画像データに対し、インループフィルタ処理を行い、フィルタ処理された画像を生成し、処理を終了する。
【0105】
以上の構成と動作により、量子化の制御サイズの情報を用いた量子化パラメータの復号処理によりデータ量を抑えたビットストリームを復号することができる。
【0106】
なお、画像復号装置において、
図6(a)に示すように、量子化の制御サイズの情報がピクチャヘッダ部分に含まれているビットストリームを復号するものとしたが、情報の符号化位置はこれに限定されない。
図6(b)に示されるように画像のシーケンスヘッダ部分で符号化されていても良いし、他の位置で符号化されていても構わない。
【0107】
なお、本実施形態では、量子化の制御サイズとの比較に処理対象サブブロックの水平方向と垂直方向のうち短い方の長さを用いて判定するとしたが、本発明はこれに限定されない。例えば、
図11に示すとおり、処理対象サブブロックの水平方向と垂直方向のサイズのうち長辺の長さと量子化の制御サイズとの比較を実施し、量子化パラメータが共有される領域を決定してもよい。
図11では、量子化の制御サイズ(16)よりも全てのサブブロックの長辺が長いので、各サブブロックに対して量子化パラメータが符号化されることになる。この場合、長方形サブブロックに対しては、量子化パラメータの符号量削減よりも、縦長あるいは横長のオブジェクトに対応した量子化処理を行うことができる。
【0108】
さらに、他の実施形態として、処理対象サブブロックの画素数と量子化の制御サイズの画素数を比較することにより、量子化パラメータが共有される領域を判定してもよい。処理対象サブブロックのサイズと量子化の制御サイズを画素数で比較する場合を
図12に示す。
図12において、量子化の制御サイズは16×16画素であるため、画素数が256となる。
図12(a)~(f)の例では、全てのサブブロックにおいて画素数は256画素以上となっている。よって、
図12の例においては、全てのサブブロックにおいて量子化パラメータは共有されずにそれぞれ使用され、各量子パラメータが復号されることとなる。これにより、サブブロックの形状に関わらず、サブブロック内の画素数に基づいた量子化パラメータ制御を実現することができる。
【0109】
また、本実施形態において、量子化の制御サイズは正方ブロックの一辺であるものとして説明したが、長方形でもよい。この場合、量子化の制御サイズの幅と高さをそれぞれ指定してもよい。この場合、処理対象サブブロックの垂直方向および水平の長さを量子化の制御サイズの幅と高さのそれぞれと比較し、両方もしくは片方の長さが量子化の制御のサイズ以上である場合にそれぞれのサブブロックについて量子化パラメータを復号するとしてもよい。なお、処理対象の基本ブロック内に両方の長さもしくは片方の長さが量子化の制御サイズ未満のサブブロックが存在する場合、この条件を満たすサブブロックで共有されるべき1つの量子化パラメータが復号されることになる。これにより、縦長長方形サブブロックと横長長方形サブブロックに対し、異なる量子化パラメータ制御を実現することができる。
【0110】
また、本実施形態では、量子化パラメータが符号化される基準を空間的なサイズで定義したがこれに限定されるものでない。基本ブロックから何回分割したかの回数を示す量子化制御の深さ(以下、量子化の制御深度とする)をビットストリームから復号し、量子化の制御深度と処理対象サブブロックの分割の深さを比較する。これにより、復号される量子化パラメータが共有されるサブブロックの領域を判定してもよい。ここで、処理対象サブブロックの深さについて
図13を用いて説明する。
図13のD0、D1はそれぞれ深さ0と深さ1を示す。
図13(a)は基本ブロックに対して一度も分割されておらずサブブロックの深さは0(D0)であることを示す。
図13(b)は基本ブロックに対し4分木分割されており、各サブブロックは深さ1(D1)であることを示す。
図13(c)および(d)は基本ブロックに対し2分木分割されており、各サブブロックは深さ1(D1)であることを示す。
図13の(e)および(f)は基本ブロックに対し3分木分割されており、各サブブロックの深さは1(D1)であることを示す。このように、基本ブロックに対し1度分割されたサブブロックは、4分木分分割、2分木分割、3分木分割のいずれであっても深さが1増加するものとする。次に量子化の制御深度と各処理対象サブブロックの分割の深さに応じて、どのように量子化パラメータが復号されるかを、
図14を用いて説明する。
図14(a)~(e)において、一番外側の正方形が基本ブロックであることを示す。また、
図14(a)~(e)のそれぞれにおいて、左側がサブブロックの分割を示しており、右側は量子化パラメータが共有される領域を示している。また、図中の各ブロック内のD0、D1、D2、D3、D4は各サブブロックの深さを示しており、例えばD0は深さ0を示し、D4は深さ4を示す。Qpは量子化パラメータを示す。
図14(a)、(b)、(c)、(d)、(e)はそれぞれ量子化の制御深度が0、1、2、3、4の場合を示している。
図14(a)の場合、すなわち量子化の制御深度が0の場合は図中の全てのサブブロックで共通の量子化パラメータが復号される。この量子化パラメータは、復号順で最初の有意係数が含まれているサブブロックにおいて復号される。この場合、復号される量子化パラメータは1個となる。
図14(b)の場合、すなわち量子化の制御深度が1の場合は、
図14(b)の右図に示すブロックの単位で共通の量子化パラメータが符号化されている。これらの量子化パラメータは、復号順で最初に有意係数が含まれているサブブロックに関連付けられており、復号されることになる。
図14(b)の場合、復号される量子化パラメータは4個となる。
図14(c)の場合、すなわち量子化の制御深度が2の場合は、
図14(c)の右図に示すブロックの単位で共通の量子化パラメータが符号化されている。これらの量子化パラメータは、復号順で最初に有意係数が含まれているサブブロックに関連付けられており、復号される。この場合は復号される量子化パラメータは11個となる。
図14(d)の場合、すなわち量子化の制御深度が3の場合は、
図14(d)の右図に示すブロックの単位で共通の量子化パラメータが符号化されている。この場合においても、各量子化パラメータは復号順で最初に有意係数が含まれているサブブロック関連付けられており、復号されることになる。
図14(d)の場合は復号される量子化パラメータは23個となる。
図14(e)の場合、すなわち量子化の制御深度が4の場合は、
図14(d)の右図に示すブロックの単位すなわち各ブロックに対して量子化パラメータが符号化されている。有意係数が含まれていないサブブロックの量子化パラメータは復号されないが、全てのサブブロックに有意係数が含まれているとすると、27個の量子化パラメータが復号される。ここで、量子化パラメータが共有される領域において、有意係数が1つも含まれないサブブロックが存在する場合について、
図15を用いて説明する。
図15(a)は
図14と同様にサブブロック分割を示し、D0、D1、D2、D3、D4は各サブブロックの分割の深さを示す。
図15(b)は、
図14と同様に量子化の制御深度と各サブブロックの深さに基づいて決定される量子化パラメータの共有領域を示す一例である。なお、
図15は量子化の制御深度が2の場合を例としている。なお、
図15の量子化パラメータ符号化単位QpG内の3つのサブブロック全てに1つも有意係数が存在しない場合、当該サブブロック3つにおいて量子化パラメータは復号されない。ただし、デブロッキングフィルタなど量子化パラメータを用いる処理には、復号順で当該量子化パラメータの符号化単位の直前に復号された量子化パラメータと同じ値、すなわちQpFがQpG内の3つのサブブロックに適用される。なお、有意係数が存在しない量子化パラメータの符号化単位において、量子化パラメータを使用する処理では復号順で直前に符号化された量子化パラメータを使用してもよいが、本発明はこれに限定されない。例えば、上に隣接する量子化パラメータ符号化単位の量子化パラメータであるQpDを用いてもよいし、左に隣接する量子化パラメータであるQpFを用いてもよい。また、平均値など複数の量子化パラメータ符号化単位の量子化パラメータから算出される値を用いても構わない。さらには、スライスに対する量子化パラメータの初期値を用いても構わない。なお、スライスとはフレームを分割した単位のことであり、少なくとも一つ以上の基本ブロックから構成される。このように、処理対象サブブロックの深さと量子化の制御深度を比較し、処理対象サブブロックの深さが量子化の制御深度以下である場合に共有されるべき量子化パラメータが復号されるとしてもよい。サブブロックの分割情報は分割の度に復号されるため、これによりサブブロックの分割情報と親和性の高い量子化パラメータ符号化制御を実現することが可能となり、結果としてシンタックスの構造を簡易化したビットストリームを復号することができる。
【0111】
図17は、量子化の制御深度を用いた量子化パラメータの復号処理を示すフローチャートである。
【0112】
ステップS1701において、分離復号部202は、ビットストリームから量子化の制御サイズ情報及び量子化の制御深度に関する情報を復号する。そして、復号部203は、分割情報を復号し、サブブロックの形状および深さに関する情報を取得する。逆量子化・変換部204は、分離復号部202において復号された量子化の制御深度情報と、復号部203によって復号された分割情報に基づいて得られるサブブロックの分割の深さとを比較する。
【0113】
ステップS1702において、逆量子化・変換部204は、S1701における比較の結果、量子化の制御深度より深い分割の深さを有するサブブロックの領域を、1つの量子化パラメータを共有する領域として決定する。
【0114】
ステップS1703において、逆量子化・変換部204は、決定された領域内のサブブロックのうち、復号順で少なくとも1つの有意係数が残差係数として存在するサブブロックに関連付けられた量子化パラメータを復号する。
【0115】
ステップS1704において、逆量子化・変換部204は、ステップS1702において決定された領域内のサブブロックに対して、ステップS1703において復号された量子化パラメータを用いて逆量子化を行う。
【0116】
図17処理はフレーム内の基本ブロックに対してそれぞれ行われることになる。
【0117】
さらに、量子化の制御サイズと量子化の制御深度の両方を生成し、組み合わせて利用してもよい。この場合、
図6に示す量子化の制御サイズに関する情報に加えて、量子化の制御深度に関する情報が復号される。
【0118】
例えば、処理対象サブブロックの深さが量子化の制御深度以下で、かつ、処理対象サブブロックの水平方向と垂直方向のうち短い方の一辺の長さが量子化の制御のサイズ以上である場合に各サブブロックに対する量子化パラメータが復号される。具体的には、量子化の制御深度に対応する領域ごとにサブブロックの短辺の長さと量子化の制御サイズとの比較が行われる。各領域において、量子化の制御サイズ以上の短辺の長さのサブブロックが存在する場合、当該領域内の各サブブロックに対してそれぞれ量子化パラメータが復号される。当該領域内のサブブロックの短辺の長さがいずれも量子化の制御サイズ以上ではない場合、当該領域内のサブブロック間で共有される1つの量子化パラメータが復号される。
【0119】
また、処理対象サブブロックの深さが量子化の制御深度以下で、かつ、処理対象サブブロックの水平方向と垂直方向のうち長い方の一辺の長さが量子化の制御のサイズ以上である場合に各サブブロックに対する量子化パラメータを復号するとしてもよい。具体的には、量子化の制御深度に対応する領域ごとにサブブロックのサイズと量子化の制御サイズとの比較が行われる。各領域において、量子化の制御サイズ以上の長辺の長さのサブブロックが存在する場合、当該領域内の各サブブロックに対してそれぞれ量子化パラメータが復号される。当該領域内のサブブロックの長辺の長さがいずれも量子化の制御サイズ以上ではない場合、当該領域内のサブブロック間で共有される1つの量子化パラメータが復号される。
【0120】
また、処理対象サブブロックの深さが量子化の制御深度以下で、かつ、処理対象サブブロックの画素数が量子化の制御サイズの画素数以上である場合に量子化パラメータを復号するとしてもよい。この場合、量子化の制御深度に対応する領域ごとにサブブロックのサイズと量子化の制御サイズとの比較が行われる。各領域において、量子化の制御サイズの画素数以上の画素数のサブブロックが存在する場合、当該領域内の各サブブロックに対してそれぞれ量子化パラメータが復号される。また、各領域において、サブブロックのサイズがいずれも量子化の制御のサイズ以上ではない場合、当該領域内のサブブロック間で共有される1つの量子化パラメータが復号される。
【0121】
さらには、量子化の制御サイズの幅と高さをそれぞれ指定し、量子化の制御深度と組み合わせて用いてもよい。この場合、量子化の制御深度に対応する領域ごとに、サブブロックの垂直方向と水平方向の長さを量子化の制御サイズの幅と高さのそれぞれと比較する。この場合において、両方もしくは片方の辺の長さが量子化の制御のサイズ以上であるサブブロックが存在する場合、サブブロックごとにそれぞれ量子化パラメータが復号される。
【0122】
図19は、量子化の制御サイズと量子化の制御深度の両方を用いて量子化パラメータの復号処理を示すフローチャートである。
【0123】
ステップS1901において、分離復号部202は、ビットストリームから量子化の制御サイズに関する情報及び量子化の制御深度に関する情報を復号する。そして、復号部203は、分割情報を復号し、サブブロックの形状および深さに関する情報を取得する。そして、逆量子化・逆変換部204は、量子化の制御深度とサブブロックの分割の深さとを比較し、量子化の制御深度に対応する深さのサブブロックの分割領域を決定する。
【0124】
ステップS1902において、逆量子化・逆変換部204は、ステップS1901において決定された領域ごとに各領域に含まれるサブブロックのサイズと量子化の制御サイズとを比較する。ここで、サブブロックのサイズは、復号された分割情報に基づいて決定されるサブブロックの形状から求めることができる。
【0125】
ステップS1903において、逆量子化・逆変換部204は、ステップS1902の比較の結果、対象とする領域内のサブブロックで1つの量子化パラメータを共有するか否かが決定される。その決定に基づいて、各領域のサブブロックに対応する量子化パラメータを用いて各サブブロックの量子化が実行され、各サブブロックの残差係数が生成される。
【0126】
ステップS1904において、対象とする領域内のサブブロックで1つの量子化パラメータが共有される場合、復号部203は、復号順で少なくとも1つの有意係数を有する最初のサブブロックに関連付けられた量子化パラメータを復号する。なお、その他のサブブロックに関連付けられた量子化パラメータの符号化データは存在しない。また、対象とする領域内のサブブロックで1つの量子化パラメータを共有しない場合、復号部203は、有意係数が存在しないサブブロックを除くサブブロックのそれぞれについて関連付けられた量子化パラメータを復号することになる。
【0127】
このような復号処理が基本ブロックのそれぞれについて行われる。
【0128】
量子化の制御サイズと量子化の制御深度の両方を用いて量子化パラメータの復号処理を行う場合、サブブロックの長辺を用いて量子化の制御サイズとの比較を行う方がそれぞれのサブブロックに量子化パラメータが関連付けられる可能性が高い。すなわちサブブロックの長辺を用いて量子化の制御サイズとの比較を行う方が細長い長方形の形状の物体に適している。
【0129】
これにより、長方形サブブロック分割が多用された場合において、量子化の制御深度だけでなく量子化の制御サイズを用いることで、極端に細長い長方形サブブロックにおいても量子化パラメータ符号化制御を実現することが可能となる。
【0130】
なお、サブブロックの分割の種類が階層的に連続した場合、量子化の制御サイズとサブブロックのサイズとの比較の結果にかかわらず、量子化パラメータの共有を禁止してもよい。これによって細長い形状の物体に適したサブブロックの量子化を行うことができる。
図1、
図2に示した各処理部はハードウェアでもって構成しているものとして上記実施形態では説明した。しかし、これらの図に示した各処理部で行う処理をコンピュータプログラムでもって構成しても良い。
【0131】
図5は、上記各実施形態に係る画像表示装置に適用可能なコンピュータのハードウェアの構成例を示すブロック図である。
【0132】
CPU501は、RAM502やROM503に格納されているコンピュータプログラムやデータを用いてコンピュータ全体の制御を行うと共に、上記各実施形態に係る画像処理装置が行うものとして上述した各処理を実行する。即ち、CPU501は、
図1、
図2に示した各処理部として機能することになる。
【0133】
RAM502は、外部記憶装置506からロードされたコンピュータプログラムやデータ、I/F(インターフェース)507を介して外部から取得したデータなどを一時的に記憶するためのエリアを有する。更に、RAM502は、CPU501が各種の処理を実行する際に用いるワークエリアを有する。即ち、RAM502は、例えば、フレームメモリとして割り当てたり、その他の各種のエリアを適宜提供したりすることができる。
【0134】
ROM503には、本コンピュータの設定データや、ブートプログラムなどが格納されている。操作部504は、キーボードやマウスなどにより構成されており、本コンピュータのユーザが操作することで、各種の指示をCPU501に対して入力することができる。表示部505は、CPU501による処理結果を表示する。また表示部505は例えば液晶ディスプレイで構成される。
【0135】
外部記憶装置506は、ハードディスクドライブ装置に代表される、大容量情報記憶装置である。外部記憶装置506には、OS(オペレーティングシステム)や、
図1、
図2に示した各部の機能をCPU501に実現させるためのコンピュータプログラムが保存されている。更には、外部記憶装置506には、処理対象としての各画像データが保存されていても良い。
【0136】
外部記憶装置506に保存されているコンピュータプログラムやデータは、CPU501による制御に従って適宜、RAM502にロードされ、CPU501による処理対象となる。I/F507には、LANやインターネット等のネットワーク、投影装置や表示装置などの他の機器を接続することができ、本コンピュータはこのI/F507を介して様々な情報を取得したり、送出したりすることができる。508は上述の各部を繋ぐバスである。
【0137】
上述の構成からなる作動は前述のフローチャートで説明した作動をCPU501が中心となってその制御を行う。
【0138】
本発明の目的は、前述した機能を実現するコンピュータプログラムのコードを記録した記憶媒体を、システムに供給し、そのシステムがコンピュータプログラムのコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたコンピュータプログラムのコード自体が前述した実施形態の機能を実現し、そのコンピュータプログラムのコードを記憶した記憶媒体は本発明を構成する。また、そのプログラムのコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した機能が実現される場合も含まれる。
【0139】
さらに、以下の形態で実現しても構わない。すなわち、記憶媒体から読み出されたコンピュータプログラムコードを、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。そして、そのコンピュータプログラムのコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行って、前述した機能が実現される場合も含まれる。
【0140】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するコンピュータプログラムのコードが格納されることになる。
【0141】
本発明は静止画・動画の符号化・復号を行う符号化装置・復号装置に用いられる。特に、量子化処理を使用する符号化方式および復号方式に適用が可能である。
【符号の説明】
【0142】
101、112、201、208 端子
102 ブロック分割部
103 生成部
104 予測部
105 変換・量子化部
106、204 逆量子化・逆変換部
107、205 画像再生部
108、206 フレームメモリ
109、207 インループフィルタ部
110 符号化部
111 統合符号化部
202 分離復号部
203 復号部