IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7594638画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
<>
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図1
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図2
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図3
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図4
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図5
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図6
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図7
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図8
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図9
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図10
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図11
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図12
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図13
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図14
  • 特許-画像符号化装置、画像符号化方法、画像復号装置、画像復号方法 図15
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-26
(45)【発行日】2024-12-04
(54)【発明の名称】画像符号化装置、画像符号化方法、画像復号装置、画像復号方法
(51)【国際特許分類】
   H04N 19/126 20140101AFI20241127BHJP
   H04N 19/136 20140101ALI20241127BHJP
   H04N 19/176 20140101ALI20241127BHJP
   H04N 19/46 20140101ALI20241127BHJP
【FI】
H04N19/126
H04N19/136
H04N19/176
H04N19/46
【請求項の数】 19
(21)【出願番号】P 2023127995
(22)【出願日】2023-08-04
(62)【分割の表示】P 2018235909の分割
【原出願日】2018-12-17
(65)【公開番号】P2023139325
(43)【公開日】2023-10-03
【審査請求日】2023-08-04
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】志摩 真悟
【審査官】岩井 健二
(56)【参考文献】
【文献】国際公開第2013/094385(WO,A1)
【文献】国際公開第2013/032794(WO,A1)
【文献】米国特許出願公開第2014/0241423(US,A1)
【文献】特開2013-038758(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04N 19/00 - 19/98
(57)【特許請求の範囲】
【請求項1】
画像を符号化する画像符号化装置であって、
8×8のサイズを有する第1の量子化マトリクスから、4×16のサイズ(前記4×16のサイズは水平方向に4のサイズであり垂直方向に16のサイズであることを示す)を有する第2の量子化マトリクスを生成する生成手段と、
前記4×16のサイズに対応するサイズのサブブロック内の変換係数を、前記第2の量子化マトリクスを用いて量子化する量子化手段と、を備え、
前記第1の量子化マトリクスはr番目の行およびr番目の列(rは0≦r≦7を満たす整数)を有し、前記第2の量子化マトリクスはp番目の行およびq番目の列(pは0≦p≦15を満たす整数であり、qは0≦q≦3を満たす整数)を有し、
前記生成手段は、少なくとも、
(a)前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成するときに前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向において増やさずに前記第1の量子化マトリクスの1列目、3列目、5列目、および7列目の全ての要素を除くようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向において直接的に減らし、且つ、
(b)前記第1の量子化マトリクスにおけるm行2n列(m、nは0以上の整数)の要素を前記第2の量子化マトリクスの2m行n列の要素および前記第2の量子化マトリクスの(2m+1)行n列の要素として配置するようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を垂直方向に増やすことにより、
前記第2の量子化マトリクスを生成する
ことを特徴とする画像符号化装置。
【請求項2】
更に、
前記第1の量子化マトリクスを符号化する符号化手段と、
前記画像の符号化データと前記第1の量子化マトリクスの符号化データとを含むビットストリームを出力する手段と
を備えることを特徴とする請求項1に記載の画像符号化装置。
【請求項3】
前記4×16のサイズに対応するサイズのサブブロックに対する変換処理が行われる場合において、前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成する処理は実行可能であり、
前記4×16のサイズに対応するサイズのサブブロックに対する変換処理が行われない場合において、前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成する処理は実行されないことを特徴とする請求項1に記載の画像符号化装置。
【請求項4】
前記4×16のサイズに対応するサイズの前記サブブロックは、16×16のサイズのブロックを垂直三分割で分割することにより得られた、前記4×16のサイズの第1のサブブロックと8×16のサイズの第2のサブブロックと前記4×16のサイズの第3のサブブロックとを含む3つのサブブロックのうちの前記第1のサブブロックまたは前記第3のサブブロックに対応することを特徴とする請求項1に記載の画像符号化装置。
【請求項5】
更に、
前記生成手段は、
前記8×8のサイズを有する前記第1の量子化マトリクスから、16×4のサイズ(前記16×4のサイズは水平方向に16のサイズであり垂直方向に4のサイズであることを示す)を有する第3の量子化マトリクスを生成し、
前記第3の量子化マトリクスはs番目の行およびt番目の列(sは0≦s≦3を満たす整数であり、tは0≦t≦15を満たす整数)を有し、
前記生成手段は、少なくとも、
(a)前記第1の量子化マトリクスから前記第3の量子化マトリクスを生成するときに前記8×8のサイズを有する前記第1の量子化マトリクスの要素を垂直方向において増やさずに前記第1の量子化マトリクスの1行目、3行目、5行目、および7行目の全ての要素を除くようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を垂直方向において直接的に減らし、且つ、
(b)前記第1の量子化マトリクスにおける2m行n列(m、nは0以上の整数)の要素を前記第3の量子化マトリクスのm行2n列の要素および前記第3の量子化マトリクスのm行(2n+1)列の要素として配置するようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向に増やすことにより、
前記第3の量子化マトリクスを生成し、
前記量子化手段は、前記16×4のサイズに対応するサイズのサブブロック内の変換係数を、前記第3の量子化マトリクスを用いて量子化する
ことを特徴とする請求項1に記載の画像符号化装置。
【請求項6】
前記4×16のサイズに対応するサイズのサブブロック、および、前記16×4のサイズに対応するサイズのサブブロック、に対する変換処理が行われない場合において、前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成する処理と、前記第1の量子化マトリクスから前記第3の量子化マトリクスを生成する処理は実行されないことを特徴とする請求項5に記載の画像符号化装置。
【請求項7】
前記16×4のサイズに対応するサイズのサブブロックは、16×16のサイズのブロックを水平三分割で分割することにより得られた、前記16×4のサイズの第1のサブブロックと16×8のサイズの第2のサブブロックと前記16×4のサイズの第3のサブブロックとを含む3つのサブブロックのうちの前記第1のサブブロックまたは前記第3のサブブロックに対応することを特徴とする請求項5に記載の画像符号化装置。
【請求項8】
前記符号化手段は、少なくとも、
(a)前記第1の量子化マトリクスの第0行第0列目の要素と、所定の値との差分値を符号化し、
(b)所定の走査順において前記第0行第0列目の要素の次の要素である前記第1の量子化マトリクスの第1行第0列目の要素と、前記第1の量子化マトリクスの前記第0行第0列目の要素との差分値を符号化し、
(c)前記所定の走査順において前記第1行第0列目の次の要素である前記第1の量子化マトリクスの第0行第1列目の要素と、前記第1の量子化マトリクスの前記第1行第0列目の要素との差分値を符号化し、
(d)前記所定の走査順において前記第0行第1列目の次の要素である前記第1の量子化マトリクスの第2行第0列目の要素と、前記第1の量子化マトリクスの第0行第1列目の要素と、の差分値を符号化するようにして、
前記第1の量子化マトリクスを符号化する
ことを特徴とする請求項2に記載の画像符号化装置。
【請求項9】
符号化された画像を復号する画像復号装置であって、
8×8のサイズを有する第1の量子化マトリクスから、4×16のサイズ(前記4×16のサイズは水平方向に4のサイズであり垂直方向に16のサイズであることを示す)を有する第2の量子化マトリクスを生成する生成手段と、
前記4×16のサイズに対応するサイズのサブブロック内の量子化された変換係数を、前記第2の量子化マトリクスを用いて逆量子化する逆量子化手段と、を備え、
前記第1の量子化マトリクスはr番目の行およびr番目の列(rは0≦r≦7を満たす整数)を有し、前記第2の量子化マトリクスはp番目の行およびq番目の列(pは0≦p≦15を満たす整数であり、qは0≦q≦3を満たす整数)を有し、
前記生成手段は、少なくとも、
(a)前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成するときに前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向において増やさずに前記第1の量子化マトリクスの1列目、3列目、5列目、および7列目の全ての要素を除くようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向において直接的に減らし、且つ、
(b)前記第1の量子化マトリクスにおけるm行2n列(m、nは0以上の整数)の要素を前記第2の量子化マトリクスの2m行n列の要素および前記第2の量子化マトリクスの(2m+1)行n列の要素として配置するようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を垂直方向に増やすことにより、
前記第2の量子化マトリクスを生成する
ことを特徴とする画像復号装置。
【請求項10】
前記4×16のサイズに対応するサイズのサブブロックに対する変換処理が行われる場合において、前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成する処理は実行可能であり、
前記4×16のサイズに対応するサイズのサブブロックに対する変換処理が行われない場合において、前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成する処理は実行されないことを特徴とする請求項9に記載の画像復号装置。
【請求項11】
前記4×16のサイズに対応するサイズの前記サブブロックは、16×16のサイズのブロックを垂直三分割で分割することにより得られた、前記4×16のサイズの第1のサブブロックと8×16のサイズの第2のサブブロックと前記4×16のサイズの第3のサブブロックとを含む3つのサブブロックのうちの前記第1のサブブロックまたは前記第3のサブブロックに対応することを特徴とする請求項9に記載の画像復号装置。
【請求項12】
更に、
前記生成手段は、
8×8のサイズを有する前記第1の量子化マトリクスから、16×4のサイズ(前記16×4のサイズは水平方向に16のサイズであり垂直方向に4のサイズであることを示す)を有する第3の量子化マトリクスを生成し、
前記第3の量子化マトリクスはs番目の行およびt番目の列(sは0≦s≦3を満たす整数であり、tは0≦t≦15を満たす整数)を有し、
前記生成手段は、少なくとも、
(a)前記第1の量子化マトリクスから前記第3の量子化マトリクスを生成するときに前記8×8のサイズを有する前記第1の量子化マトリクスの要素を垂直方向において増やさずに前記第1の量子化マトリクスの1行目、3行目、5行目、および7行目の全ての要素を除くようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を垂直方向において直接的に減らし、且つ、
(b)前記第1の量子化マトリクスにおける2m行n列(m、nは0以上の整数)の要素を前記第3の量子化マトリクスのm行2n列の要素および前記第3の量子化マトリクスのm行(2n+1)列の要素として配置するようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向に増やすことにより、
前記第3の量子化マトリクスを生成し、
前記逆量子化手段は、前記16×4のサイズに対応するサイズのサブブロック内の量子化された変換係数を、前記第3の量子化マトリクスを用いて逆量子化する
ことを特徴とする請求項9に記載の画像復号装置。
【請求項13】
前記4×16のサイズに対応するサイズのサブブロック、および、前記16×4のサイズに対応するサイズのサブブロック、に対する変換処理が行われない場合において、前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成する処理と、前記第1の量子化マトリクスから前記第3の量子化マトリクスを生成する処理は実行されないことを特徴とする請求項12に記載の画像復号装置。
【請求項14】
前記16×4のサイズに対応するサイズのサブブロックは、16×16のサイズのブロックを水平三分割により得られた、前記16×4のサイズの第1のサブブロックと16×8のサイズの第2のサブブロックと前記16×4のサイズの第3のサブブロックとを含む3つのサブブロックのうちの前記第1のサブブロックまたは前記第3のサブブロックに対応することを特徴とする請求項12に記載の画像復号装置。
【請求項15】
さらに、少なくとも、
(a)前記第1の量子化マトリクスに対応する符号化データを復号することにより、前記第1の量子化マトリクスの第0行第0列目の要素と所定の値との差分値と、前記第1の量子化マトリクスの所定の走査順において連続する2つの要素間の差分値とを含む複数の差分値から得られる一次元行列を導出し、
(b)前記一次元行列における最初の要素である第1の要素を用いて、前記第1の量子化マトリクスの第0行第0列目の要素を導出し、
(c)前記一次元行列における前記第1の要素の次の要素である第2の要素を用いて、所定の走査順において前記第0行第0列目の要素の次の要素である前記第1の量子化マトリクスの第1行第0列目の要素を導出し、
(d)前記一次元行列における前記第2の要素の次の要素である第3の要素を用いて、前記所定の走査順における前記第1行第0列目の要素の次の要素である前記第1の量子化マトリクスの第0行第1列目の要素を導出し、
(e)前記一次元行列における前記第3の要素の次の要素である第4の要素を用いて、前記所定の走査順における前記第0行第1列目の要素の次の要素である前記第1の量子化マトリクスの第2行第0列目である要素を導出するようにして、
前記第1の量子化マトリクスを復号する復号手段を備える
ことを特徴とする請求項9に記載の画像復号装置。
【請求項16】
画像を符号化する画像符号化方法であって、
8×8のサイズを有する第1の量子化マトリクスから、4×16のサイズ(前記4×16のサイズは水平方向に4のサイズであり垂直方向に16のサイズであることを示す)を有する第2の量子化マトリクスを生成する生成工程と、
前記4×16のサイズに対応するサイズのサブブロック内の変換係数を、前記第2の量子化マトリクスを用いて量子化する量子化工程と、を備え、
前記第1の量子化マトリクスはr番目の行およびr番目の列(rは0≦r≦7を満たす整数)を有し、前記第2の量子化マトリクスはp番目の行およびq番目の列(pは0≦p≦15を満たす整数であり、qは0≦q≦3を満たす整数)を有し、
前記生成工程において、少なくとも、
(a)前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成するときに前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向において増やさずに前記第1の量子化マトリクスの1列目、3列目、5列目、および7列目の全ての要素を除くようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向において直接的に減らし、且つ、
(b)前記第1の量子化マトリクスにおけるm行2n列(m、nは0以上の整数)の要素を前記第2の量子化マトリクスの2m行n列の要素および前記第2の量子化マトリクスの(2m+1)行n列の要素として配置するようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を垂直方向に増やすことにより、前記第2の量子化マトリクスを生成する
ことを特徴とする画像符号化方法。
【請求項17】
符号化された画像を復号する画像復号方法であって、
8×8のサイズを有する第1の量子化マトリクスから、4×16のサイズ(前記4×16のサイズは水平方向に4のサイズであり垂直方向に16のサイズであることを示す)を有する第2の量子化マトリクスを生成する生成工程と、
前記4×16のサイズに対応するサイズのサブブロック内の量子化された変換係数を、前記第2の量子化マトリクスを用いて逆量子化する逆量子化工程と、を備え、
前記第1の量子化マトリクスはr番目の行およびr番目の列(rは0≦r≦7を満たす整数)を有し、前記第2の量子化マトリクスはp番目の行およびq番目の列(pは0≦p≦15を満たす整数であり、qは0≦q≦3を満たす整数)を有し、
前記生成工程において、少なくとも、
(a)前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成するときに前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向において増やさずに前記第1の量子化マトリクスの1列目、3列目、5列目、および7列目の全ての要素を除くようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向において直接的に減らし、且つ、
(b)前記第1の量子化マトリクスにおけるm行2n列(m、nは0以上の整数)の要素を前記第2の量子化マトリクスの2m行n列の要素および前記第2の量子化マトリクスの(2m+1)行n列の要素として配置するようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を垂直方向に増やすことにより、前記第2の量子化マトリクスを生成する
ことを特徴とする画像復号方法。
【請求項18】
コンピュータを請求項1ないし8のいずれか1項に記載の画像符号化装置の各手段として機能させるためのコンピュータプログラム。
【請求項19】
コンピュータを請求項9ないし15のいずれか1項に記載の画像復号装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像の符号化技術および復号技術に関するものである。
【背景技術】
【0002】
動画像の圧縮記録の符号化方式として、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】
【文献】特開2013-38758号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
VVCにおいても、HEVCと同様に量子化マトリクスの導入が検討されている。さらにVVCでは、正方形だけでなく長方形のサブブロック分割およびそれに対応した直交変換の形状が検討されている。それぞれの直交変換係数の分布は直交変換の形状によって異なるため、直交変換の形状に応じて最適な量子化マトリクスを適用することが望ましい。しかしながら、全ての直交変換形状に対して個別の量子化マトリクスを定義すると、量子化マトリクスの符号量が不必要に増大する。本発明では、長方形の直交変換に対応した量子化マトリクスの生成技術を提供する。
【課題を解決するための手段】
【0007】
本発明の一様態は、画像を符号化する画像符号化装置であって、
8×8のサイズを有する第1の量子化マトリクスから、4×16のサイズ(前記4×16のサイズは水平方向に4のサイズであり垂直方向に16のサイズであることを示す)を有する第2の量子化マトリクスを生成する生成手段と、
前記4×16のサイズに対応するサイズのサブブロック内の変換係数を、前記第2の量子化マトリクスを用いて量子化する量子化手段と、を備え、
前記第1の量子化マトリクスはr番目の行およびr番目の列(rは0≦r≦7を満たす整数)を有し、前記第2の量子化マトリクスはp番目の行およびq番目の列(pは0≦p≦15を満たす整数であり、qは0≦q≦3を満たす整数)を有し、
前記生成手段は、少なくとも、
(a)前記第1の量子化マトリクスから前記第2の量子化マトリクスを生成するときに前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向において増やさずに前記第1の量子化マトリクスの1列目、3列目、5列目、および7列目の全ての要素を除くようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を水平方向において直接的に減らし、且つ、
(b)前記第1の量子化マトリクスにおけるm行2n列(m、nは0以上の整数)の要素を前記第2の量子化マトリクスの2m行n列の要素および前記第2の量子化マトリクスの(2m+1)行n列の要素として配置するようにして前記8×8のサイズを有する前記第1の量子化マトリクスの要素を垂直方向に増やすことにより、
前記第2の量子化マトリクスを生成する
ことを特徴とする。
【発明の効果】
【0008】
本発明の構成によれば、長方形の直交変換に対応した量子化マトリクスの生成技術を提供することができる。
【図面の簡単な説明】
【0009】
図1】画像符号化装置の機能構成例を示すブロック図。
図2】画像復号装置の機能構成例を示すブロック図。
図3】入力画像および量子化マトリクスの符号化処理のフローチャート。
図4】ビットストリームの復号処理のフローチャート。
図5】コンピュータ装置のハードウェア構成例を示すブロック図。
図6】ビットストリームの構成例を示す図。
図7】分割方法の一例を示す図。
図8】オリジナル量子化マトリクスの一例を示す図。
図9】量子化マトリクスの一例を示す図。
図10】量子化マトリクスの一例を示す図。
図11】(a)は走査方法を示す図、(b)は差分行列1000を示す図。
図12】符号化テーブルの構成例を示す図。
図13】量子化マトリクスの一例を示す図。
図14】量子化マトリクスの一例を示す図。
図15】量子化マトリクスの一例を示す図。
【発明を実施するための形態】
【0010】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の1つである。
【0011】
[第1の実施形態]
先ず、本実施形態に係る画像符号化装置の機能構成例について、図1のブロック図を用いて説明する。制御部199は、画像符号化装置全体の動作制御を行う。ブロック分割部102は、入力画像(動画像を構成する各フレームの画像もしくは静止画像)を複数の基本ブロックに分割し、該分割したそれぞれの基本ブロック(分割画像)を出力する。
【0012】
生成部103は、N×Nのサイズを有する量子化マトリクス(行方向にN個の要素、列方向にN個の要素を有する量子化マトリクス)をオリジナル量子化マトリクスとする。そして生成部103は、このオリジナル量子化マトリクスから、直交変換単位となるサブブロックの画素分のサイズ(P×Q)を有する量子化マトリクスを生成する。ここで、P,Qは、正の整数でP≠Qである。
【0013】
予測部104は、基本ブロックごとに、該基本ブロックを複数のサブブロック(分割画像)に分割する。そして予測部104は、サブブロックごとに、フレーム内予測であるイントラ予測やフレーム間予測であるインター予測等を行って予測画像を生成し、入力画像と該予測画像との差分を予測誤差として求める。また予測部104は、基本ブロックをどのようにサブブロックに分割したのかを示す情報、予測モード、動きベクトル等の予測に必要な情報を予測情報として生成する。
【0014】
変換・量子化部105は、サブブロックごとの予測誤差を直交変換することで、サブブロックごとの変換係数を生成する。そして変換・量子化部105はそれぞれのサブブロックについて、該サブブロックのサイズに応じた量子化マトリクスを生成部103から取得し、該量子化マトリクスを用いて該サブブロック内の変換係数を量子化することで該サブブロックの量子化係数を生成する。
【0015】
逆量子化・逆変換部106は、変換・量子化部105により生成されたそれぞれのサブブロックの量子化係数を、該サブブロックの量子化に用いた量子化マトリクスを用いて逆量子化して変換係数を生成し、該変換係数を逆直交変換して予測誤差を生成する。
【0016】
画像再生部107は、予測部104が生成した予測情報に基づいて、フレームメモリ108に格納されている符号化の処理済の画像データから予測画像を生成し、該予測画像と、逆量子化・逆変換部106が生成した予測誤差と、から画像を再生する。そして画像再生部107は、該再生した画像をフレームメモリ108に格納する。フレームメモリ108に格納されている画像データは、予測部104が現フレームあるいは次のフレームの画像について予測を行う際に参照される画像データとなる。
【0017】
インループフィルタ部109は、フレームメモリ108に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。
【0018】
符号化部110は、変換・量子化部105により生成された量子化係数と、予測部104により生成された予測情報と、を符号化して符号化データを生成する。量子化マトリクス符号化部113は、オリジナル量子化マトリクスを符号化して符号化データを生成する。
【0019】
統合符号化部111は、量子化マトリクス符号化部113により生成された符号化データを用いてヘッダ符号データを生成し、符号化部110により生成された符号化データと、該ヘッダ符号データと、を含むビットストリームを生成して出力する。
【0020】
次に、本実施形態に係る画像符号化装置の動作について説明する。なお、本実施形態では、説明を容易にするため、入力画像のイントラ予測符号化処理について説明するが、これに限定されず、入力画像のインター予測符号化処理にも適用可能である。また本実施形態では、基本ブロックの量子化マトリクスのサイズを16×16の要素を有するサイズとするが、基本ブロックのサイズは16×16に限らない。本実施形態では、上記の符号化処理においては、変換・量子化部105や逆量子化・逆変換部106による処理の開始時には量子化マトリクスが用意されている必要がある。
【0021】
先ず、量子化マトリクスの生成および符号化について説明する。オリジナル量子化マトリクスの一例を図8に示す。図8のオリジナル量子化マトリクス800は、8×8の直交変換係数に対応する量子化マトリクスの一例である。オリジナル量子化マトリクスを構成する各要素の要素値の決定方法は特に限定しない。例えば、オリジナル量子化マトリクスを構成する各要素の要素値として規定の初期値を用いても良いし、該各要素の要素値を個別に設定しても良い。またオリジナル量子化マトリクスは、画像の特性に応じて生成されても構わない。
【0022】
本実施形態では、生成部103は、このようなオリジナル量子化マトリクス800から、他の直交変換の大きさ(つまり分割するサブブロックのサイズ)に対応する量子化マトリクスを生成する。本実施形態では、生成部103は、図8のオリジナル量子化マトリクス800から、図9(a)、9(b),図10(a)、10(b)のそれぞれに示す長方形形状の量子化マトリクス901,902,1001,1002を生成する。なお、図9(b)、図10(b)の量子化マトリクス902、1002は、オリジナル量子化マトリクスのサイズをNXNとしたときに生成される量子化マトリクスのサイズPXQとしたとき、P,Qは、P<N<QあるいはQ<N<Pを満たす正の整数となる。
【0023】
図9(a)に示す量子化マトリクス901は、8×16の直交変換係数に対応する量子化マトリクスである。量子化マトリクス901は、該量子化マトリクス901中(量子化マトリクス中)の位置(行、列)=(2m、n)および位置(行、列)=(2m+1、n)に、オリジナル量子化マトリクス800中の位置(行、列)=(m、n)の要素を配置したものである。ここで、m、nは0以上の整数である。
【0024】
図10(a)に示す量子化マトリクス1001は、16×8の直交変換係数に対応する量子化マトリクスである。量子化マトリクス1001は、該量子化マトリクス1001中の位置(行、列)=(m、2n)および位置(行、列)=(m、2n+1)に、オリジナル量子化マトリクス800中の位置(行、列)=(m、n)の要素を配置したものである。
【0025】
図9(b)に示す量子化マトリクス902は、4×16の直交変換係数に対応する量子化マトリクスである。量子化マトリクス902は、該量子化マトリクス902中の位置(行、列)=(2m、n)および位置(行、列)=(2m+1、n)に、オリジナル量子化マトリクス800中の位置(行、列)=(m、2n)の要素を配置したものである。
【0026】
図10(b)に示す量子化マトリクス1002は、16×4の直交変換係数に対応する量子化マトリクスである。量子化マトリクス1002は、該量子化マトリクス1002中の位置(行、列)=(m、2n)および位置(行、列)=(m、2n+1)に、オリジナル量子化マトリクス800中の位置(行、列)=(2m、n)の要素を配置したものである。
【0027】
このように、本実施形態では、生成部103は、オリジナル量子化マトリクス800から量子化マトリクス901,902,1001,1002を生成して保持する。これにより、分割した長方形形状のサブブロックのサイズが8×16、16×8、16×4、4×16の何れのサイズであっても、対応するサイズの量子化マトリクスは生成済みであるから、該サブブロックの量子化/逆量子化を行うことができる。特に、図9(b)、図10(b)の量子化マトリクス902、1002について、オリジナル量子化マトリクスから、ある方向に関しては拡大し、もう一方の方向に関しては縮小して(1行/1列おきに間引いて)生成される。これは、オリジナル量子化マトリクスから単純縮小して生成される場合よりもオリジナル量子化マトリクスのデータ量を削減でき、かつオリジナル量子化マトリクスから単純拡大して生成される場合よりも画質の劣化を抑制することが可能となる。然るに、rate-distortionのバランスがとれた結果が期待できる。
【0028】
そして生成部103は、このようにして生成したオリジナル量子化マトリクス800および量子化マトリクス901,902,1001,1002を二次元の形状で保持する。なお、後述の予測方法、例えばイントラ予測を用いるかインター予測を用いるかによって、あるいは符号化対象が輝度ブロックか色差ブロックかによって、同じ大きさの直交変換に対して複数の量子化マトリクスを保持することも可能である。一般的に、量子化マトリクスは人間の視覚特性に応じた量子化処理を実現するため、図8~10に示すように量子化マトリクスの左上部分に相当する低周波部分の要素は小さく、右下部分に相当する高周波部分の要素は大きくなっている。
【0029】
量子化マトリクス符号化部113は、二次元形状で保持されている量子化マトリクスを生成部103から取得し、各要素を走査して差分を計算し、計算順に該差分を一次元的に並べた一次元の行列(差分行列)を生成する。そして量子化マトリクス符号化部113は、該生成した差分行列を符号化して符号化データを生成する。
【0030】
本実施形態では、図9,10に示した量子化マトリクスはオリジナル量子化マトリクス800から上記のようにして生成可能であるため、量子化マトリクス符号化部113は、オリジナル量子化マトリクス800のみを符号化する。具体的には、図11(a)に矢印で示された順序で各要素を走査する走査方法に従って、オリジナル量子化マトリクス800の要素ごとに走査順に直前の要素との差分を計算する。例えば、オリジナル量子化マトリクス800は図11(a)で示された対角線スキャンによって走査されるが、左上隅に位置する最初の要素「6」の次はそのすぐ下に位置する要素「9」が走査され、差分である「+3」が計算される。また、オリジナル量子化マトリクス800の最初の要素(本実施形態では「6」)の符号化には、所定の初期値(例えば「8」)との差分を計算するものとするが、これに限らず、任意の値との差分や、最初の要素の値そのものを差分として用いても良い。
【0031】
このようにして、本実施形態では、量子化マトリクス符号化部113は、図11(a)の走査方法を用いてオリジナル量子化マトリクス800から図11(b)に示す差分行列1000を生成する。そして量子化マトリクス符号化部113は、差分行列1000を符号化して符号化データを生成する。本実施形態では図12(a)に示される符号化テーブルを用いて符号化するものとするが、符号化テーブルはこれに限定されず、例えば図12(b)に示される符号化テーブルを用いても良い。
【0032】
本実施形態では、オリジナル量子化マトリクス800および量子化マトリクス901,902,1001,1002のうちオリジナル量子化マトリクス800のみを符号化しているため、長方形形状の量子化マトリクスに対する符号量を削減することができる。また、生成される量子化マトリクスの形状によらず、図11(a)に示す1種類の走査方法のみを用いて符号化することにより、図11(a)の走査方法を実装するためのテーブルを1つのみに限定し、メモリを節約することができる。
【0033】
統合符号化部111は、後述する画像の復号に必要なヘッダ情報を符号化し、該ヘッダ情報と、量子化マトリクス符号化部113によって生成された量子化マトリクスの符号化データと、を統合する。
【0034】
次に、入力画像の符号化について説明する。ブロック分割部102は、入力画像を複数の基本ブロックに分割し、該分割したそれぞれの基本ブロックを出力する。予測部104は、基本ブロックを複数のサブブロックに分割する分割方法を決定する。基本ブロックを複数のサブブロックに分割する分割方法の一例を図7に示す。
【0035】
図7(b)は、サブブロック分割方法(四分木分割)を示している。つまり図7(b)は、基本ブロック700を水平方向および垂直方向に2等分することで該基本ブロック700を4つのサブブロック(1つのサブブロックのサイズは8×8画素分のサイズ)に分割する分割方法(分割パターン)を示している。一方、図7(c)~(f)は、基本ブロック700を長方形のサブブロックに分割するサブブロック分割方法を示している。
【0036】
図7(c)は、基本ブロック700を垂直方向に2等分に分割することで該基本ブロック700を2つの縦長のサブブロック(1つのサブブロックのサイズは8×16画素分のサイズ)に分割する分割方法を示している。
【0037】
図7(d)は、基本ブロック700を水平方向に2等分に分割することで該基本ブロック700を2つの横長のサブブロック(1つのサブブロックのサイズは16×8画素分のサイズ)に分割する分割方法を示している。
【0038】
図7(e)は、基本ブロック700を垂直方向に分割して得られる3つの縦長のサブブロック(左から4×16画素分のサブブロック、8×16画素分のサブブロック、4×16画素分のサブブロック)を示している(三分木分割)。
【0039】
図7(f)は、基本ブロック700を水平方向に分割して得られる3つの横長のサブブロック(上から16×4画素分のサブブロック、16×8画素分のサブブロック、16×4画素分のサブブロック)を示している(三分木分割)。
【0040】
本実施形態では、図7(b)~(f)に示した分割方法(分割パターン)の何れかを用いるものとするが、図7(b)~(f)に限らない。なお、図7(a)に示す如く、基本ブロック700を分割せずに、基本ブロック700をサブブロックとしても構わない。
【0041】
また予測部104は、例えば、サブブロック単位で水平予測や垂直予測などのイントラ予測モードを決定する。そして予測部104は基本ブロックごとに、決定した分割方法に従って該基本ブロックを複数のサブブロックに分割する。そして予測部104は、サブブロックごとに、フレームメモリ108内の画像を用いて、決定したイントラ予測モードに従って予測を行うことで予測画像を生成し、入力画像と該予測画像との差分を予測誤差として求める。また予測部104は、サブブロック分割方法(分割パターン)を示す情報、イントラ予測モード、動きベクトル等の予測に必要な情報を予測情報として生成する。
【0042】
変換・量子化部105は、サブブロックごとの予測誤差を直交変換することで、サブブロックごとの変換係数を生成する。そして変換・量子化部105はそれぞれのサブブロックについて、該サブブロックのサイズに応じた量子化マトリクスを生成部103から取得し、該量子化マトリクスを用いて該サブブロックの変換係数を量子化することで該サブブロックの量子化係数を生成する。
【0043】
変換・量子化部105は、8画素×8画素のサブブロックの変換係数の量子化を行う場合には、オリジナル量子化マトリクス800を生成部103から取得し、該取得したオリジナル量子化マトリクス800を用いて該変換係数の量子化を行う。
【0044】
変換・量子化部105は、8画素×16画素のサブブロックの変換係数の量子化を行う場合には、量子化マトリクス901を生成部103から取得し、該取得した量子化マトリクス901を用いて該変換係数の量子化を行う。
【0045】
変換・量子化部105は、16画素×8画素のサブブロックの変換係数の量子化を行う場合には、量子化マトリクス1001を生成部103から取得し、該取得した量子化マトリクス1001を用いて該変換係数の量子化を行う。
【0046】
変換・量子化部105は、4画素×16画素のサブブロックの変換係数の量子化を行う場合には、量子化マトリクス902を生成部103から取得し、該取得した量子化マトリクス902を用いて該変換係数の量子化を行う。
【0047】
変換・量子化部105は、16画素×4画素のサブブロックの変換係数の量子化を行う場合には、量子化マトリクス1002を生成部103から取得し、該取得した量子化マトリクス1002を用いて該変換係数の量子化を行う。
【0048】
逆量子化・逆変換部106は、変換・量子化部105により生成されたそれぞれのサブブロックの量子化係数を、該サブブロックの量子化に用いた量子化マトリクスを用いて逆量子化して変換係数を生成し、該変換係数を逆直交変換して予測誤差を生成する。
【0049】
画像再生部107は、予測部104が生成した予測情報に基づいて、フレームメモリ108に格納されている処理済の画像から予測画像を生成し、該予測画像と、逆量子化・逆変換部106が生成した予測誤差と、から画像を再生する。そして画像再生部107は、該再生した画像をフレームメモリ108に格納する。
【0050】
インループフィルタ部109は、フレームメモリ108に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。
【0051】
符号化部110は、変換・量子化部105により生成された量子化係数(量子化された変換係数)と、予測部104により生成された予測情報と、をエントロピー符号化して符号化データを生成する。エントロピー符号化の方法は特定の方法に限らず、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。
【0052】
統合符号化部111は、量子化マトリクス符号化部113により生成された符号化データを用いてヘッダ符号データを生成し、符号化部110により生成された符号化データと、該ヘッダ符号データと、を多重化してビットストリームを生成する。そして統合符号化部111は、該生成したビットストリームを出力する。
【0053】
ビットストリームの構成例を図6(a)に示す。シーケンスヘッダには、オリジナル量子化マトリクス800に対応する符号データが含まれ、各要素の符号化結果で構成されている。ただし、符号化される位置はこれに限定されず、ピクチャヘッダやその他のヘッダに符号化される構成をとっても構わない。また、1つのシーケンスの中で量子化マトリクスの変更を行う場合、量子化マトリクスを新たに符号化することで更新することも可能である。その際、全ての量子化マトリクスを書き換えても良いし、書き換える量子化マトリクスの変換ブロックサイズを指定することでその一部を変更するようにすることも可能である。
【0054】
以上説明した画像符号化装置による入力画像および量子化マトリクスの符号化処理について、図3のフローチャートに従って説明する。ステップS301では、生成部103は、オリジナル量子化マトリクス800を生成し、該オリジナル量子化マトリクス800から上記の量子化マトリクス901,902,1001,1002を生成する。
【0055】
ステップS302では、量子化マトリクス符号化部113は、オリジナル量子化マトリクス800の各要素を図11(a)の走査方法に従って走査して差分を計算し、計算順に該差分を一次元的に並べた一次元の行列を差分行列1000として生成する。そして量子化マトリクス符号化部113は、該生成した差分行列1000を符号化して符号化データを生成する。
【0056】
ステップS303では、統合符号化部111は、画像の符号化に必要なヘッダ情報を符号化し、該ヘッダ情報と、量子化マトリクス符号化部113によって生成された量子化マトリクスの符号化データと、を統合する。
【0057】
ステップS304では、ブロック分割部102は、入力画像を複数の基本ブロックに分割する。
【0058】
ステップS305では、予測部104は、ステップS304で分割されたそれぞれの基本ブロックのうち未選択の1つを選択基本ブロックとして選択する。そして予測部104は、サブブロック分割方法(分割パターン)を決定し、該決定したサブブロック分割方法に従って選択基本ブロックを複数のサブブロックに分割する。また予測部104は、サブブロック単位でイントラ予測モードを決定する。そして予測部104は、サブブロックごとに、フレームメモリ108内の画像を用いて、決定したイントラ予測モードに従って予測を行うことで予測画像を生成し、入力画像と該予測画像との差分を予測誤差として求める。また予測部104は、サブブロック分割方法を示す情報、イントラ予測モード、動きベクトル等の予測に必要な情報を予測情報として生成する。
【0059】
ステップS306では、変換・量子化部105は、サブブロックごとの予測誤差を直交変換することで、サブブロックごとの変換係数を生成する。そして変換・量子化部105はそれぞれのサブブロックについて、ステップS301で生成した量子化マトリクスのうち該サブブロックのサイズに応じた量子化マトリクスを用いて該サブブロックの変換係数を量子化して、該サブブロックの量子化係数を生成する。
【0060】
ステップS307では、逆量子化・逆変換部106は、ステップS306で生成されたそれぞれのサブブロックの量子化係数を、該サブブロックの量子化で用いた量子化マトリクスを用いて逆量子化して変換係数を生成する。そして逆量子化・逆変換部106は、該生成された変換係数を逆直交変換して予測誤差を生成する。
【0061】
ステップS308では、画像再生部107は、予測部104が生成した予測情報に基づいて、フレームメモリ108に格納されている処理済みの画像から予測画像を生成する。そして画像再生部107は、該予測画像と、逆量子化・逆変換部106が生成した予測誤差と、から画像を再生する。そして画像再生部107は、該再生した画像をフレームメモリ108に格納する。
【0062】
ステップS309では、符号化部110は、変換・量子化部105により生成された量子化係数と、予測部104により生成された予測情報と、をエントロピー符号化して符号化データを生成する。統合符号化部111は、量子化マトリクス符号化部113により生成された符号化データを用いてヘッダ符号データを生成し、符号化部110により生成された符号化データと、該ヘッダ符号データと、を多重化してビットストリームを生成する。
【0063】
ステップS310では、制御部199は、全ての基本ブロックが符号化されたか否かを判断する。この判断の結果、全ての基本ブロックが符号化された場合には、処理はステップS311に進み、未だ符号化されていない基本ブロックが残っている場合には、処理はステップS305に進む。
【0064】
ステップS311では、インループフィルタ部109は、フレームメモリ108に格納されている画像に対して、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行う。
【0065】
以上説明した本実施形態によれば、特にステップS301で1つの量子化マトリクスから複数の量子化マトリクスを生成し、ステップS302で1つの量子化マトリクスのみを符号化することで、量子化マトリクスの符号量を削減することができる。その結果、生成されるビットストリーム全体のデータ量を削減することになるため、圧縮効率を向上させることができる。また、特に図9(b)、図10(b)の量子化マトリクスについて、オリジナル量子化マトリクスから、ある方向に関しては拡大し、もう一方の方向に関しては縮小して生成される。これは、オリジナル量子化マトリクスから単純縮小して生成される場合よりもオリジナル量子化マトリクスのデータ量を削減でき、かつオリジナル量子化マトリクスから単純拡大して生成される場合よりも画質の劣化を抑制することが可能となる。然るに、rate-distortionのバランスがとれた結果が期待できる。
【0066】
なお、本実施形態では、1つの量子化マトリクスから複数の量子化マトリクスを生成するものとした。しかし、量子化マトリクスごとに別の量子化マトリクスから生成するのか、各要素を符号化するのかを選択し、その選択結果を示す識別子をヘッダ内に符号化する構成としても構わない。例えば、量子化マトリクスの各要素を他の量子化マトリクスから生成するのか個別に符号化するのかを示す情報を、量子化マトリクス符号化方法情報符号としてヘッダに符号化し、図6(b)に示されるビットストリームを生成する構成としても良い。これにより、サブブロックの大きさに応じた画質制御を優先したビットストリーム、量子化マトリクスの符号量がより少ないビットストリーム、を選択的に生成することができる。
【0067】
また、本実施形態では、オリジナル量子化マトリクス800から量子化マトリクス901,902,1001,1002を生成する方法を説明した。しかし、正方形の量子化マトリクスから長方形の量子化マトリクスを生成する方法は第1の実施形態で説明した方法に限らない。
【0068】
例えば、オリジナル量子化マトリクス800から、図13(a)、(b)および図14(a)、(b)のそれぞれに示す長方形形状の量子化マトリクス1201~1204を生成する方法を採用しても良い。
【0069】
図13(a)に示す量子化マトリクス1201は、8×16の直交変換係数に対応する量子化マトリクスである。オリジナル量子化マトリクス800の各行が量子化マトリクス1201の偶数行に配置されている。量子化マトリクス1201の奇数行には、該奇数行を挟む偶数行から補間した要素が配列されている。例えば、量子化マトリクス1201において(行、列)=(1,2)の位置にある要素「14」は、その直上の偶数行の要素「13」とその直下の偶数行の要素「15」とから補間した値として求められたものである。
【0070】
図13(b)に示す量子化マトリクス1202は、4×16の直交変換係数に対応する量子化マトリクスである。量子化マトリクス1202は、上記のとおりオリジナル量子化マトリクス800から生成された量子化マトリクス1201からの奇数列を除いた偶数列のみから成るものである。
【0071】
図14(a)に示す量子化マトリクス1203は、16×8の直交変換係数に対応する量子化マトリクスである。オリジナル量子化マトリクス800の各列が量子化マトリクス1203の偶数列に配置されている。量子化マトリクス1203の奇数列には、該奇数列を挟む偶数列から補間した要素が配列されている。例えば、量子化マトリクス1203において(行、列)=(2,1)の位置にある要素「14」は、左に隣接する列の要素「13」と右に隣接する列の要素「15」とから補間した値として求められたものである。
【0072】
図14(b)に示す量子化マトリクス1204は、16×4の直交変換係数に対応する量子化マトリクスである。量子化マトリクス1204は、上記のとおりオリジナル量子化マトリクス800から生成された量子化マトリクス1203の奇数行を除く偶数行のみから成るものである。
【0073】
このように、オリジナル量子化マトリクス800を行方向もしくは列方向に拡大若しくは縮小することで他の量子化マトリクスを生成する。このような生成方法により、周波数成分に応じたより細かい量子化制御を行うことができ、結果として画質を高めることができる。
【0074】
また本実施形態では、量子化マトリクス902や量子化マトリクス1002を生成する際には、オリジナル量子化マトリクス800の偶数列や偶数行の要素を用いた。しかし、オリジナル量子化マトリクス800の奇数列や奇数行の要素を用いて量子化マトリクスを生成しても良い。
【0075】
例えば、図15(a)に示す如く4×16の直交変換係数に対応する量子化マトリクス1601や、図15(b)に示す如く16×4の直交変換係数に対応する量子化マトリクス1602を生成しても良い。
【0076】
量子化マトリクス1601は、該量子化マトリクス1601中の位置(行、列)=(2m、n)および位置(行、列)=(2m+1、n)に、オリジナル量子化マトリクス800中の位置(行、列)=(m、2n+1)の要素を配置したものである。
【0077】
量子化マトリクス1602は、該量子化マトリクス1602中の位置(行、列)=(m、2n)および位置(行、列)=(m、2n+1)に、オリジナル量子化マトリクス800中の位置(行、列)=(2m+1、n)の要素を配置したものである。
【0078】
このように、1つのオリジナル量子化マトリクスから同じ形状であって異なる要素を有する複数の量子化マトリクスを生成することが可能である。オリジナル量子化マトリクスの偶数列あるいは奇数列の選択を示すフラグ、偶数行あるいは奇数行の選択を示すフラグがそれぞれ符号化されてもよい。
【0079】
さらには、用いられる直交変換方法の種類に応じて、このように生成された同じ形状の複数の量子化マトリクスを切り替える構成としても良い。例えば、直交変換が離散コサイン変換に基づいたものである場合には、量子化マトリクス902や量子化マトリクス1002を生成し、直交変換が離散サイン変換に基づいたものである場合には量子化マトリクス1601や量子化マトリクス1602を生成する。これにより、使用される直交変換の性質に応じた量子化マトリクスを使用することができる。
【0080】
また、使用される直交変換のサイズに制限がある場合は一部の量子化マトリクスの生成や符号化を省略しても良い。例えば、4×16サイズや16×4サイズのサブブロックの画素に対する直交変換が行われない場合は、量子化マトリクス902や量子化マトリクス1002の生成を省いても良い。さらには、8×8、16×8、8×16、16×4、4×16のいずれのサイズのサブブロックの画素に対する直交変換が行われない場合は、オリジナル量子化マトリクス800の符号化自体を省略しても構わない。その場合、量子化マトリクス901,902,1001,1002の生成も当然省略される。ただし、8×8のサブブロックの画素に対する直交変換が用いられない場合でも、16×8、8×16、16×4、4×16の少なくともいずれか1つのサイズのサブブロックの画素に対する直交変換が行われる場合は、オリジナル量子化マトリクス800は符号化され、直交変換に対応する量子化マトリクスが生成される。これにより、用いられる量子化マトリクスのみを符号化・生成することとなり、量子化マトリクスが用いられない場合の余分な符号量を削減することができる。
【0081】
[第2の実施形態]
本実施形態では、第1の実施形態に係る画像符号化装置によって符号化された入力画像を復号する画像復号装置について説明する。以下では第1の実施形態との差分について説明し、以下で特に触れない限りは第1の実施形態と同様である。本実施形態に係る画像復号装置の機能構成例について、図2のブロック図を用いて説明する。
【0082】
制御部299は、画像復号装置全体の動作制御を行う。分離復号部202は、画像符号化装置によって生成されたビットストリームを取得し、該ビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。本実施形態では、分離復号部202は、量子化マトリクスの符号化データをビットストリームから分離する。つまり分離復号部202は上記の統合符号化部111と逆の動作を行う。
【0083】
量子化マトリクス復号部209は、分離復号部202によってビットストリームから分離された量子化マトリクスの符号化データを取得し、該取得した符号化データを復号することで量子化マトリクスを生成する。
【0084】
復号部203は、分離復号部202によってビットストリームから分離された符号化データを復号することで、量子化係数および予測情報を取得する。逆量子化・逆変換部204は、上記の画像符号化装置が有する逆量子化・逆変換部106と同様の動作を行うものである。逆量子化・逆変換部204は、量子化マトリクス復号部209によって復号された量子化マトリクスに基づいて量子化係数に対する逆量子化を行うことで変換係数を取得し、該変換係数に対して逆直交変換を行うことで予測誤差を取得する。
【0085】
画像再生部205は、復号部203によって復号された予測情報に基づいてフレームメモリ206に格納されている画像を参照することで予測画像を生成する。そして画像再生部205は、該生成された予測画像と、逆量子化・逆変換部204によって得られた予測誤差と、を用いて、再生画像を生成し、該生成した再生画像をフレームメモリ206に格納する。
【0086】
インループフィルタ部207は、フレームメモリ206に格納されている再生画像に対して、デブロッキングフィルタなどのインループフィルタ処理を行う。フレームメモリ206に格納されている再生画像は、制御部299によって適宜出力される。再生画像の出力先は特定の出力先に限らず、例えば、ディスプレイなどの表示装置の表示画面に再生画像を表示しても良いし、プロジェクタなどの投影装置に対して該再生画像を出力しても良い。
【0087】
次に、上記の構成を有する画像復号装置の動作(ビットストリームの復号処理)について説明する。本実施形態では、分離復号部202に入力されるビットストリームは、動画像におけるフレームごとのビットストリームであるものとするが、静止画像のビットストリームであっても構わない。また、本実施形態では説明を容易にするため、イントラ予測復号処理のみを説明するが、これに限定されずインター予測復号処理においても適用可能である。
【0088】
分離復号部202は、画像符号化装置によって生成された1フレーム分のビットストリームを取得し、該ビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。分離復号部202は、図6(a)のビットストリームのシーケンスヘッダから量子化マトリクス符号データ(量子化マトリクスの畚かデータ)を抽出し、該量子化マトリクス符号データを量子化マトリクス復号部209に対して送出する。また分離復号部202は、ピクチャデータの基本ブロック単位の符号化データを復号部203に出力する。
【0089】
量子化マトリクス復号部209は、分離復号部202によってビットストリームから分離された量子化マトリクスの符号化データを復号することで、一次元の差分行列を生成する。量子化マトリクスの符号化データの復号には、符号化側で使用した符号化テーブル(第1の実施形態では、図12(a)の符号化テーブルおよび図12(b)の符号化テーブルのうち符号化側で使用した符号化テーブル)を使用する。そして量子化マトリクス復号部209は、生成した一次元の差分行列を逆走査することで、二次元の量子化マトリクス(オリジナル量子化マトリクス)を生成する。この処理は、第1の実施形態にて説明した量子化マトリクス符号化部113と逆の処理である。すなわち、本実施形態では、図11(b)の差分行列1000は、図11(a)の走査方法を用いて、図8のオリジナル量子化マトリクス800を生成する。そして量子化マトリクス復号部209は、該生成したオリジナル量子化マトリクス800から、第1の実施形態と同様にして量子化マトリクス901,902,1001,1002を生成する。その際、必要に応じて、上述したオリジナル量子化マトリクスの偶数列あるいは奇数列の選択を示すフラグ、偶数行あるいは奇数行の選択を示すフラグの復号を行う。そしてこのフラグに従って、オリジナル量子化マトリクスからの生成が行われる。
【0090】
復号部203は、分離復号部202によってビットストリームから分離された符号化データを復号することで、量子化係数および予測情報を取得する。逆量子化・逆変換部204は、量子化マトリクス復号部209によって生成されたオリジナル量子化マトリクス800および量子化マトリクス901,902,1001,1002のうち、予測情報の1つであるサブブロックの分割パターンを示す情報に基づいて復号されるサブブロックのサイズに応じた量子化マトリクスを選択する。そして逆量子化・逆変換部204は、該選択した量子化マトリクスを用いて、該復号対象のサブブロックの量子化係数に対する逆量子化を行うことで変換係数を取得し、該変換係数に対して逆直交変換を行うことで予測誤差を取得する。
【0091】
画像再生部205は、復号部203によって復号された予測情報に基づいてフレームメモリ206に格納されている画像を参照することで予測画像を生成する。そして画像再生部205は、該生成された予測画像と、逆量子化・逆変換部204によって得られた予測誤差と、を用いて、再生画像を生成し、該生成した再生画像をフレームメモリ206に格納する。インループフィルタ部207は、フレームメモリ206に格納されている再生画像に対して、デブロッキングフィルタなどのインループフィルタ処理を行う。
【0092】
以上説明した画像復号装置による1フレーム分のビットストリームの復号処理について、図4のフローチャートに従って説明する。ステップS401では、分離復号部202は、画像符号化装置によって生成された1フレーム分のビットストリームを取得する。そして分離復号部202は、該ビットストリームから復号処理に関する情報や係数に関する符号化データを分離し、ビットストリームのヘッダに存在する符号化データを復号する。
【0093】
ステップS402では、量子化マトリクス復号部209は、分離復号部202によってビットストリームから分離された量子化マトリクスの符号化データを復号することで、一次元の差分行列を生成する。そして量子化マトリクス復号部209は、該生成した一次元の差分行列を逆走査して二次元のオリジナル量子化マトリクス800を生成する。そして量子化マトリクス復号部209は、該生成したオリジナル量子化マトリクス800から第1の実施形態と同様にして量子化マトリクス901,902,1001,1002を生成する。特に、図9(b)、図10(b)の量子化マトリクス902、1002について、オリジナル量子化マトリクスから、ある方向に関しては拡大し、もう一方の方向に関しては縮小して生成される。これは、オリジナル量子化マトリクスから単純縮小して生成される場合よりもオリジナル量子化マトリクスのデータ量を削減でき、かつオリジナル量子化マトリクスから単純拡大して生成される場合よりも画質の劣化を抑制することが可能となる。然るに、rate-distortionのバランスがとれた結果が期待できる。
【0094】
なお、図9(b)、図10(b)の量子化マトリクス902、1002は、オリジナル量子化マトリクスのサイズをNXNとしたときに生成される量子化マトリクスのサイズPXQとしたとき、P,Qは、P<N<QあるいはQ<N<Pを満たす正の整数となる。なお、ブロックからサブブロックへ分割する際、図7(b)~(f)のうちどの種類のパターンを用いるかを示す分割情報に従って適応的に生成してもよい。
【0095】
ステップS403~S406の処理は、入力画像におけるそれぞれの基本ブロックについて行われる。ステップS403では、復号部203は、分離復号部202によってビットストリームから分離された符号化データを復号することで、量子化係数および予測情報を取得する。
【0096】
ステップS404では、逆量子化・逆変換部204は、量子化マトリクス復号部209によって生成された量子化マトリクスのうち、復号対象のサブブロックのサイズおよび形状に応じた量子化マトリクスを選択する。そして逆量子化・逆変換部204は、該選択した量子化マトリクスを用いて、該復号対象のサブブロックの量子化係数に対する逆量子化を行うことで変換係数を取得し、該変換係数に対して逆直交変換を行うことで予測誤差を取得する。
【0097】
ステップS405では、画像再生部205は、復号部203によって復号された予測情報に基づいてフレームメモリ206に格納されている画像を参照することで予測画像を生成する。そして画像再生部205は、該生成された予測画像と、逆量子化・逆変換部204によって得られた予測誤差と、を用いて、再生画像を生成し、該生成した再生画像をフレームメモリ206に格納する。
【0098】
ステップS406では、制御部299は、ビットストリームに含まれている全ての基本ブロックの復号が完了したか否かを判断する。この判断の結果、ビットストリームに含まれている全ての基本ブロックの復号が完了した場合には、処理はステップS407に進む。一方、ビットストリームに含まれている全ての基本ブロックのうち未だ復号が完了していないサブブロックが残っている場合には、該未だ復号が完了していないサブブロックについてステップS403以降の処理を繰り返す。
【0099】
ステップS407では、インループフィルタ部207は、フレームメモリ206に格納されている再生画像に対して、デブロッキングフィルタなどのインループフィルタ処理を行う。
【0100】
以上説明した本実施形態によれば、第1の実施形態で生成された、オリジナル量子化マトリクスのみが符号化されるため、量子化マトリクスの符号量を削減したビットストリームを復号することができる。また、量子化マトリクスの復号に用いられる要素の走査方法が図11(a)の1種類に限定されているため、図11(a)の走査方法を実装するためのテーブルを1つのみに限定し、メモリを節約することができる。
【0101】
なお、本実施形態では、1つの量子化マトリクスから複数の量子化マトリクスを生成するものとした。しかし、量子化マトリクスごとに、別の量子化マトリクスから派生して生成するのか、別の量子化マトリクスとは独立して符号化された各要素を復号するのかを選択する識別子をヘッダから復号する構成としても構わない。例えば、量子化マトリクスの各要素を他の量子化マトリクスから生成するのか個別に復号するのかを示す情報を、図6(b)のビットストリームのヘッダから量子化マトリクス符号化方法情報符号として復号する構成としても良い。これにより、サブブロックの大きさに応じた画質制御を優先するか、量子化マトリクスの符号量をより少なくするか、が選択されたビットストリームを復号することができる。
【0102】
また、本実施形態では、オリジナル量子化マトリクス800から量子化マトリクス901,902,1001,1002を生成する方法を説明した。しかし画像符号化装置側と同様に、正方形の量子化マトリクスから長方形の量子化マトリクスを生成する方法は第1の実施形態で説明した方法に限らない。例えば、オリジナル量子化マトリクス800から、図13(a)、(b)および図14(a)、(b)のそれぞれに示す量子化マトリクス1201~1204を生成する方法を採用しても良い。これにより、周波数成分に応じたより細かい量子化制御を行い、結果として画質を高めたビットストリームを復号することができる。
【0103】
また、使用される直交変換のサイズに制限があるなどによってある量子化マトリクスのサイズが用いられない場合は、使用されない量子化マトリクスの復号や生成を省略しても良い。例えば、4×16や16×4の画素サイズのサブブロックに対する直交変換が行われない場合は、量子化マトリクス902や量子化マトリクス1002の生成を省いても良い。さらには、8×8、16×8、8×16、16×4、4×16の画素サイズのサブブロックに対する直交変換が行われない場合は、オリジナル量子化マトリクス800の復号自体を省略しても構わない。その場合、量子化マトリクス901,902,1001,1002の生成も当然省略される。ただし、8×8画素サイズのサブブロックに対する直交変換が行われない場合でも、16×8、8×16、16×4、4×16の長方形形状の少なくとも1つのサイズのサブブロックに対して直交変換が行われる場合は、オリジナル量子化マトリクス800は復号され、直交変換に対応する量子化マトリクスが生成される。これにより、用いられる量子化マトリクスのみを復号・生成することとなり、量子化マトリクスが用いられない場合の余分な符号量を削減したビットストリームの復号を行うことができる。
【0104】
なお、本実施形態では、画像復号装置は第1の実施形態に係る画像符号化装置とは別個の装置であるものとして説明したが、画像復号装置と第1の実施形態に係る画像符号化装置とを1つの装置に統合しても良い。その場合、この装置は、入力画像を符号化し、必要に応じて該符号化した入力画像を復号することができる。
【0105】
[第3の実施形態]
図1図2に示した各機能部は全てハードウェアで実装しても良いが、一部をソフトウェア(コンピュータプログラム)で実装しても良い。その場合、フレームメモリ108やフレームメモリ206をメモリ装置として有し、該コンピュータプログラムを実行可能なコンピュータ装置は、上記の画像符号化装置や画像復号装置に適用することができる。上記の画像符号化装置や画像復号装置に適用可能なコンピュータ装置のハードウェア構成例について、図5のブロック図を用いて説明する。
【0106】
CPU501は、RAM502やROM503に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりCPU501は、コンピュータ装置全体の動作制御を行うと共に、上記の画像符号化装置や画像復号装置が行うものとして上述した各処理を実行若しくは制御する。
【0107】
RAM502は、ROM503や外部記憶装置506からロードされたコンピュータプログラムやデータ、I/F(インターフェース)507を介して外部から受信したデータ(例えば上記の動画像や静止画像のデータ)を格納するためのエリアを有する。さらにRAM502は、CPU501が各種の処理を実行する際に用いるワークエリアを有する。このようにRAM502は、各種のエリアを適宜提供することができる。ROM503には、コンピュータ装置の設定データや起動プログラムなどが格納されている。
【0108】
操作部504は、キーボード、マウス、タッチパネルなどのユーザインターフェースであり、ユーザが操作することで、各種の指示をCPU501に対して入力することができる。
【0109】
表示部505は、液晶画面やタッチパネル画面などにより構成されており、CPU501による処理結果を画像や文字などでもって表示することができる。例えば、上記の画像復号装置によって復号される再生画像をこの表示部505に表示させても良い。なお、表示部505は、画像や文字を投影するプロジェクタなどの投影装置であっても良い。
【0110】
外部記憶装置506は、ハードディスクドライブ装置などの大容量情報記憶装置である。外部記憶装置506には、OS(オペレーティングシステム)、上記の画像符号化装置や画像復号装置が行うものとして上述した各種の処理をCPU501に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置506に保存されているコンピュータプログラムには、上記のフレームメモリ108やフレームメモリ206以外の各機能部の機能をCPU501に実現させるためのコンピュータプログラムが含まれている。また、外部記憶装置506に保存されているデータには、図12(a)や図12(b)に示した符号化テーブルなど、符号化や復号に必要な各種の情報が含まれている。
【0111】
外部記憶装置506に保存されているコンピュータプログラムやデータは、CPU501による制御に従って適宜RAM502にロードされ、CPU501による処理対象となる。なお、上記のフレームメモリ108やフレームメモリ206は、RAM502、ROM503、外部記憶装置506などのメモリ装置によって実装可能である。
【0112】
I/F507は外部の機器との間のデータ通信を行うためのインターフェースとして機能するものである。例えば、外部のサーバ装置や撮像装置から動画像や静止画像をI/F507を介してRAM502や外部記憶装置506に取得することができる。
【0113】
CPU501、RAM502、ROM503、操作部504、表示部505、外部記憶装置506、I/F507は何れもバス508に接続されている。なお、図5に示した構成は、上記の画像符号化装置や画像復号装置に適用可能なコンピュータ装置のハードウェア構成の一例に過ぎず、各種の変更/変形が可能である。
【0114】
[第4の実施形態]
上記の説明において使用した数値は具体的な説明を行うために使用したものであり、上記の各実施形態が、使用した数値に限定されることを意図したものではない。例えば、量子化マトリクスのサイズや量子化マトリクスの各要素は上記の数値に限らない。
【0115】
また、以上説明した各実施形態の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態の一部若しくは全部を選択的に使用しても構わない。
【0116】
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【符号の説明】
【0117】
102:ブロック分割部 103:生成部 104:予測部 105:変換・量子化部 106:逆量子化・逆変換部 107:画像再生部 108:フレームメモリ 109:インループフィルタ部 110:符号化部 111:統合符号化部 113:量子化マトリクス符号化部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15