(57)【要約】【課題】  直交変換に適した量子化マトリクスを得るためのデータ量を軽減させるための技術を提供すること。【解決手段】  Ｍ（Ｍは２以上の整数）個の要素を有する第１の１次元ベクトルと、Ｎ（Ｎは２以上の整数）個の要素を有する第２の１次元ベクトルと、を用いて、Ｍ×Ｎのサイズを有する量子化マトリクスを生成する。Ｍ画素×Ｎ画素のサイズを有するサブブロックに対する直交変換で得られる変換係数群を量子化マトリクスを用いて量子化する。【選択図】  図１
2020005143.tif 000002
【特許請求の範囲】
【請求項１】
Ｍ（Ｍは２以上の整数）個の要素を有する第１の１次元ベクトルと、Ｎ（Ｎは２以上の整数）個の要素を有する第２の１次元ベクトルと、を用いて、Ｍ×Ｎのサイズを有する量子化マトリクスを生成する生成手段と、
Ｍ画素×Ｎ画素のサイズを有するサブブロックに対する直交変換で得られる変換係数群を前記量子化マトリクスを用いて量子化する量子化手段と
を備えることを特徴とする画像符号化装置。
【請求項２】
前記生成手段は、前記第１の１次元ベクトルにおけるｉ（１≦ｉ≦Ｍ）番目の要素の値と、前記第２の１次元ベクトルにおけるｊ（１≦ｊ≦Ｎ）番目の要素の値と、に基づいて、前記量子化マトリクスにおいて水平方向位置ｉおよび垂直方向位置ｊにおける要素の値を求めることを特徴とする請求項１に記載の画像符号化装置。
【請求項３】
前記画像符号化装置は更に、
前記第１の１次元ベクトルと、前記第２の１次元ベクトルと、を符号化する第１の符号化手段と、
前記量子化手段により量子化された変換係数群を符号化する第２の符号化手段と、
前記第１の符号化手段による符号化結果と、前記第２の符号化手段による符号化結果と、を出力する出力手段と
を備えることを特徴とする請求項１または２に記載の画像符号化装置。
【請求項４】
前記画像符号化装置は更に、
前記第１の１次元ベクトルおよび前記第２の１次元ベクトルのうち一方を符号化する第１の符号化手段と、
前記量子化手段により量子化された変換係数群を符号化する第２の符号化手段と、
前記第１の符号化手段による符号化結果と、前記第２の符号化手段による符号化結果と、を出力する出力手段と
を備えることを特徴とする請求項１または２に記載の画像符号化装置。
【請求項５】
前記第１の１次元ベクトルおよび前記第２の１次元ベクトルのうち他方は前記一方から生成可能であることを特徴とする請求項４に記載の画像符号化装置。
【請求項６】
Ｍ（Ｍは２以上の整数）画素×Ｎ（Ｎは２以上の整数）画素のサイズを有するサブブロックに対する直交変換で得られる変換係数群を、Ｍ個の要素を有する第１の１次元ベクトルとＮ個の要素を有する第２の１次元ベクトルとを用いて生成されたＭ×Ｎのサイズの量子化マトリクスを用いて量子化した変換係数群の符号化結果と、前記第１の１次元ベクトルの符号化結果と、前記第２の１次元ベクトルの符号化結果と、を復号する復号手段と、
前記復号手段により復号された前記第１の１次元ベクトルと前記第２の１次元ベクトルとを用いてＭ×Ｎのサイズを有する量子化マトリクスを生成し、前記復号手段が復号した変換係数群を該生成した量子化マトリクスを用いて逆量子化する逆量子化手段と、
前記逆量子化手段により得られる変換係数群に対して逆直交変換を行うことでサブブロックを復号する手段と
を備えることを特徴とする画像復号装置。
【請求項７】
Ｍ（Ｍは２以上の整数）画素×Ｎ（Ｎは２以上の整数）画素のサイズを有するサブブロックに対する直交変換で得られる変換係数群を、Ｍ個の要素を有する第１の１次元ベクトルとＮ個の要素を有する第２の１次元ベクトルとを用いて生成されたＭ×Ｎのサイズの量子化マトリクスを用いて量子化した変換係数群の符号化結果と、前記第１の１次元ベクトルの符号化結果と、を復号する復号手段と、
前記復号手段により復号された前記第１の１次元ベクトルと、該復号された第１の１次元ベクトルから生成されたＮ個の要素を有する第２の１次元ベクトルと、を用いてＭ×Ｎのサイズを有する量子化マトリクスを生成し、前記復号手段が復号した変換係数群を該生成した量子化マトリクスを用いて逆量子化する逆量子化手段と、
前記逆量子化手段により得られる変換係数群に対して逆直交変換を行うことでサブブロックを復号する手段と
を備えることを特徴とする画像復号装置。
【請求項８】
画像符号化装置が行う画像符号化方法であって、
前記画像符号化装置の生成手段が、Ｍ（Ｍは２以上の整数）個の要素を有する第１の１次元ベクトルと、Ｎ（Ｎは２以上の整数）個の要素を有する第２の１次元ベクトルと、を用いて、Ｍ×Ｎのサイズを有する量子化マトリクスを生成する生成工程と、
前記画像符号化装置の量子化手段が、Ｍ画素×Ｎ画素のサイズを有するサブブロックに対する直交変換で得られる変換係数群を前記量子化マトリクスを用いて量子化する量子化工程と
を備えることを特徴とする画像符号化方法。
【請求項９】
画像復号装置が行う画像復号方法であって、
前記画像復号装置の第１の復号手段が、Ｍ（Ｍは２以上の整数）画素×Ｎ（Ｎは２以上の整数）画素のサイズを有するサブブロックに対する直交変換で得られる変換係数群を、Ｍ個の要素を有する第１の１次元ベクトルとＮ個の要素を有する第２の１次元ベクトルとを用いて生成されたＭ×Ｎのサイズの量子化マトリクスを用いて量子化した変換係数群の符号化結果と、前記第１の１次元ベクトルの符号化結果と、前記第２の１次元ベクトルの符号化結果と、を復号する復号工程と、
前記画像復号装置の逆量子化手段が、前記復号工程で復号された前記第１の１次元ベクトルと前記第２の１次元ベクトルとを用いてＭ×Ｎのサイズを有する量子化マトリクスを生成し、前記復号工程で復号した変換係数群を該生成した量子化マトリクスを用いて逆量子化する逆量子化工程と、
前記画像復号装置の第２の復号手段が、前記逆量子化工程で得られる変換係数群に対して逆直交変換を行うことでサブブロックを復号する工程と
を備えることを特徴とする画像復号方法。
【請求項１０】
画像復号装置が行う画像復号方法であって、
前記画像復号装置の第１の復号手段が、Ｍ（Ｍは２以上の整数）画素×Ｎ（Ｎは２以上の整数）画素のサイズを有するサブブロックに対する直交変換で得られる変換係数群を、Ｍ個の要素を有する第１の１次元ベクトルとＮ個の要素を有する第２の１次元ベクトルとを用いて生成されたＭ×Ｎのサイズの量子化マトリクスを用いて量子化した変換係数群の符号化結果と、前記第１の１次元ベクトルの符号化結果と、を復号する復号工程と、
前記画像復号装置の逆量子化手段が、前記復号工程で復号された前記第１の１次元ベクトルと、該復号された第１の１次元ベクトルから生成されたＮ個の要素を有する第２の１次元ベクトルと、を用いてＭ×Ｎのサイズを有する量子化マトリクスを生成し、前記復号工程で復号した変換係数群を該生成した量子化マトリクスを用いて逆量子化する逆量子化工程と、
前記画像復号装置の第２の復号手段が、前記逆量子化工程で得られる変換係数群に対して逆直交変換を行うことでサブブロックを復号する工程と
を備えることを特徴とする画像復号方法。
【請求項１１】
コンピュータを、請求項１乃至５の何れか１項に記載の画像符号化装置の各手段として機能させるためのコンピュータプログラム。
【請求項１２】
コンピュータを、請求項６または７に記載の画像復号装置の各手段として機能させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像の符号化／復号技術に関するものである。
【背景技術】
【０００２】
動画像の圧縮記録の符号化方式として、ＨＥＶＣ（Ｈｉｇｈ  Ｅｆｆｉｃｉｅｎｃｙ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＨＥＶＣと記す）が知られている。ＨＥＶＣでは符号化効率向上のため、従来のマクロブロック（１６×１６画素）より大きなサイズの基本ブロックが採用された。この大きなサイズの基本ブロックはＣＴＵ（Ｃｏｄｉｎｇ  Ｔｒｅｅ  Ｕｎｉｔ）と呼ばれ、そのサイズは最大６４×６４画素である。ＣＴＵはさらに予測や変換を行う単位となるサブブロックに分割される。
【０００３】
また、ＨＥＶＣにおいては、量子化マトリクスと呼ばれる、直交変換を施した後の係数（以下、直交変換係数と記す）を周波数成分に応じて重み付けするマトリクスを用いた処理が用いられている。人間の視覚には劣化が目立ちにくい高周波成分のデータをより削減することで、画質を維持しながら圧縮効率を高めることが可能となっている。特許文献１には、このような量子化マトリクスを符号化する技術が開示されている。
【０００４】
近年、ＨＥＶＣの後継としてさらに高効率な符号化方式の国際標準化を行う活動が開始された。ＪＶＥＴ（Ｊｏｉｎｔ  Ｖｉｄｅｏ  Ｅｘｐｅｒｔｓ  Ｔｅａｍ）がＩＳＯ／ＩＥＣとＩＴＵ−Ｔの間で設立され、ＶＶＣ（Ｖｅｒｓａｔｉｌｅ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）符号化方式（以下、ＶＶＣ）として標準化が進められている。符号化効率向上のため、従来の正方形サブブロックベースのイントラ予測・直交変換方法に加え、長方形サブブロックベースのイントラ予測・直交変換方法が検討されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−３８７５８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ＶＶＣにおいても、ＨＥＶＣと同様に量子化マトリクスの導入が検討されている。さらにＶＶＣでは、正方形だけでなく長方形のサブブロック分割およびそれに対応した直交変換の形状が検討されている。ＨＥＶＣではサポートされている直交変換の大きさは、４×４、８×８、１６×１６、３２×３２の４通りのみであったが、ＶＶＣではこれらを二分木、三分木分割したサブブロックや直交変換が検討されており、より多くの種類に対応する必要がある。また、それぞれの直交変換係数の分布は直交変換の形状によって異なるため、直交変換の形状に応じて最適な量子化マトリクスは異なる。そのため、最適な画質での符号化を実現するためには、それぞれの直交変換に適した量子化マトリクスの設定が必要となる。本発明では、直交変換に適した量子化マトリクスを得るためのデータ量を軽減させるための技術を提供する。
【課題を解決するための手段】
【０００７】
本発明の一様態は、Ｍ（Ｍは２以上の整数）個の要素を有する第１の１次元ベクトルと、Ｎ（Ｎは２以上の整数）個の要素を有する第２の１次元ベクトルと、を用いて、Ｍ×Ｎのサイズを有する量子化マトリクスを生成する生成手段と、Ｍ画素×Ｎ画素のサイズを有するサブブロックに対する直交変換で得られる変換係数群を前記量子化マトリクスを用いて量子化する量子化手段とを備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、直交変換に適した量子化マトリクスを得るためのデータ量を軽減させることができる。
【図面の簡単な説明】
【０００９】
【図１】画像符号化装置の機能構成例を示すブロック図。
【図２】画像復号装置の機能構成例を示すブロック図。
【図３】符号化処理のフローチャート。
【図４】復号処理のフローチャート。
【図５】コンピュータ装置のハードウェア構成例を示すブロック図。
【図６】ビットストリームの構成例を示す図。
【図７】サブブロックの分割の種類の一例を示す図。
【図８】量子化マトリクスを生成するための量子化ベクトルの一例を示す図。
【図９】量子化マトリクスの一例を示す図。
【図１０】符号化テーブルの構成例を示す図。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照し、本発明の実施形態について説明する。なお、以下説明する実施形態は、本発明を具体的に実施した場合の一例を示すもので、特許請求の範囲に記載した構成の具体的な実施形態の１つである。
【００１１】
先ず、本実施形態に係る画像符号化装置の機能構成例について、図１のブロック図を用いて説明する。分割部１０２は、入力画像を複数の基本ブロック（ＣＴＵ）に分割する。入力画像は、撮像装置が撮像した動画像を構成する各フレームの画像であっても良いし、撮像装置が定期的若しくは不定期的に撮像したそれぞれの静止画像であっても良いし、１枚の画像であっても良い。また、このような入力画像は撮像装置から直接的若しくは間接的に取得するようにしても良いし、入力画像群を保持している装置から取得するようにしても良い。また、基本ブロックのサイズについては特定のサイズに限らず、例えば、６４画素×６４画素を最大サイズとする任意のサイズであっても良い。
【００１２】
予測部１０４は、基本ブロックを複数のサブブロック（基本ブロックよりも小さいサイズのブロック）に分割し、サブブロック単位でフレーム内予測（イントラ予測）やフレーム間予測（インター予測）等を行うことで予測画像を生成する。そして予測部１０４は、新たに分割部１０２から入力された入力画像とサブブロック単位の予測画像との差分を予測誤差として求め、該予測誤差と、予測に必要な情報（例えばサブブロック分割方法、予測モード、動きベクトル等）である予測情報と、を出力する。
【００１３】
生成部１０３は、Ｍ（Ｍは２以上の整数）個の要素を有する１次元ベクトル（量子化ベクトル）と、Ｎ（Ｎは２以上の整数）個の要素を有する１次元ベクトル（量子化ベクトル）と、を用いて、Ｍ×Ｎのサイズを有する量子化マトリクスを生成する。量子化マトリクスを生成するために用いる量子化ベクトルは、どのような取得方法で取得しても良い。量子化マトリクスとは、直交変換を施した後の変換係数に対して、周波数成分に応じて重み付けするための成分を有するマトリクスのことを指す。なお、量子化マトリクスは、量子化スケーリングリストと呼ばれることもある。
【００１４】
例えば生成部１０３は、ユーザが各要素の値を指定することで生成した量子化ベクトルを取得しても良いし、入力画像の画像特性に応じて生成した量子化ベクトルを取得しても良いし、初期値が設定された要素を有する量子化ベクトルを取得しても良い。
【００１５】
変換・量子化部１０５は、サブブロックごとの予測誤差に対して直交変換を行うことで、それぞれのサブブロックに対する変換係数群を生成する。そして変換・量子化部１０５は、それぞれのサブブロックの変換係数群に対して、生成部１０３が生成した量子化マトリクスを用いて量子化を行うことで、各サブブロックに対する量子化済み変換係数群を生成する。
【００１６】
逆量子化・逆変換部１０６は、各サブブロックに対する量子化済み変換係数群に対して、生成部１０３が生成した量子化マトリクスを用いて逆量子化を行うことで、各サブブロックに対する変換係数群を生成する。そして逆量子化・逆変換部１０６は、それぞれのサブブロックの変換係数群に対して逆直交変換を行うことで、それぞれのサブブロックの予測誤差を生成する。
【００１７】
再生部１０７は、予測部１０４から出力された予測情報を用いて、フレームメモリ１０８に格納されている再生画像群を適宜参照して予測画像を生成する。そして再生部１０７は、該予測画像と、逆量子化・逆変換部１０６により得られる各サブブロックの予測誤差と、から再生画像を生成（再生）し、該生成した再生画像をフレームメモリ１０８に格納する。
【００１８】
フィルタ部１０９は、フレームメモリ１０８に格納されているそれぞれの再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行ってからフレームメモリ１０８に対して出力する。なお、フィルタ部１０９による再生画像の出力先については特定の出力先に限らない。例えば、再生画像は画像符号化装置が接続されているネットワークを介して外部の装置に対して出力しても良い。
【００１９】
符号化部１１０は、変換・量子化部１０５により量子化された量子化済み変換係数群と、予測部１０４から出力された予測情報と、を符号化することで、量子化済み変換係数群の符号化結果と、予測情報の符号化結果と、を含む符号化データを生成する。
【００２０】
符号化部１１３は、生成部１０３が量子化マトリクスを生成するために用いた量子化ベクトル（Ｍ個の要素を有する量子化ベクトルとＮ個の要素を有する量子化ベクトル）を符号化して符号化データを生成する。
【００２１】
統合符号化部１１１は、符号化部１１０により生成された符号化データと、符号化部１１３により生成された符号化データと、を統合したビットストリームを生成し、該生成したビットストリームを出力する。
【００２２】
なお、ビットストリームの出力先については特定の出力先に限らない。例えば、ビットストリームは、画像符号化装置が有するメモリに出力しても良いし、画像符号化装置が接続されているネットワークを介して外部の装置に対して出力しても良いし、放送用として外部に送信しても良い。
【００２３】
次に、図１に示した各機能部の動作について、具体例を挙げて説明する。以下では説明を簡単にするために、イントラ予測符号化の処理のみを説明するが、これに限定されずインター予測符号化の処理においても適用可能である。
【００２４】
生成部１０３は、入力画像に対する符号化処理に先立ち（例えば、量子化マトリクスを用いた量子化処理に先立ち）、量子化マトリクスを生成する。生成部１０３は、符号化を行うサブブロックのサイズに応じたサイズを有する量子化マトリクスを生成する。
【００２５】
図７にサブブロックの分割の種類の一例を示す。図７（ａ）は、サブブロックに分割されていない８画素×８画素の基本ブロック７００（＝サブブロック）を示す。図７（ｂ）は、従来の正方形サブブロック分割の一例を表しており、８画素×８画素の基本ブロック７００が４画素×４画素のサブブロックを単位に分割されている。
【００２６】
図７（ｃ）〜（ｆ）は、長方形サブブロック分割の種類の一例を表している。図７（ｃ）では８画素×８画素の基本ブロック７００は、４画素（水平方向）×８画素（垂直方向）のサブブロックを単位に分割されている。また、図７（ｄ）では８画素×８画素の基本ブロック７００は、８画素（水平方向）×４画素（垂直方向）のサブブロックを単位に分割されている。
【００２７】
図７（ｅ）では、８画素×８画素の基本ブロック７００は、２画素（水平方向）×８画素（垂直方向）のサブブロック、４画素（水平方向）×８画素（垂直方向）のサブブロック、２画素（水平方向）×８画素（垂直方向）のサブブロック、に分割されている。
【００２８】
図７（ｆ）では、８画素×８画素の基本ブロック７００は、８画素（水平方向）×２画素（垂直方向）のサブブロック、８画素（水平方向）×４画素（垂直方向）のサブブロック、８画素（水平方向）×２画素（垂直方向）のサブブロック、に分割されている。
【００２９】
このように、図７（ｃ）〜（ｆ）に示す如く、正方形だけではなく、長方形のサブブロックも用いて符号化処理を行っている。
【００３０】
Ｍ画素（水平方向）×Ｎ画素（垂直方向）のサイズを有するサブブロックの変換係数群の量子化には、水平方向の要素数が「Ｍ」で垂直方向の要素数が「Ｎ」である量子化マトリクスが必要である。本実施形態ではこの場合、生成部１０３は、Ｍ個の要素を有する量子化ベクトルと、Ｎ個の要素を有する量子化ベクトルと、を取得し、これらの量子化ベクトルを用いて、Ｍ×Ｎのサイズを有する量子化マトリクスを生成する。
【００３１】
以下では、分割部１０２が、図７（ｃ）に示す如く、８画素×８画素の基本ブロックを４画素（水平方向）×８画素（垂直方向）の縦長のサブブロックを単位に分割するケースについて説明する。この場合、生成部１０３は、水平方向の要素数が「４」で垂直方向の要素数が「８」である量子化マトリクスを生成するべく、４個の要素を有する量子化ベクトルと、８個の要素を有する量子化ベクトルと、を取得する。４個の要素を有する量子化ベクトルと、８個の要素を有する量子化ベクトルと、を用いて、水平方向の要素数が「４」で垂直方向の要素数が「８」である量子化マトリクスを生成する方法について図８を用いて説明する。
【００３２】
図８（ａ）、（ｃ）、（ｅ）、（ｇ）、（ｉ）、（ｋ）には４個の要素を有する量子化ベクトル８００の一例が示されており、図８（ｂ）、（ｄ）、（ｆ）、（ｈ）、（ｊ）、（ｌ）には８個の要素を有する量子化ベクトル８０１の一例が示されている。各矩形の中に記されている数値は、量子化ベクトルにおける各要素の値である。以下では、図８を用いて量子化マトリクスの生成方法として幾つかの例を挙げて説明する。
【００３３】
＜量子化マトリクスの生成方法１＞
生成部１０３は、量子化ベクトル８００において左からｉ（１≦ｉ≦４）番目の要素の値と、量子化ベクトル８０１において左からｊ（１≦ｊ≦８）番目の要素の値と、の積の値（積値）を求める。そして生成部１０３は、該求めた積値を、量子化マトリクスにおいて位置（ｉ，ｊ）（量子化マトリクスの左上隅の位置を（１、１）としたときの水平方向位置ｉ及び垂直方向位置ｊ）における要素の値とする。
【００３４】
例えば、図８（ａ）の量子化ベクトル８００において左からｉ番目の要素の値と、図８（ｂ）の量子化ベクトル８０１において左からｊ番目の要素の値と、の積値を位置（ｉ，ｊ）における要素の値とする量子化マトリクスを図９（ａ）に示す。
【００３５】
＜量子化マトリクスの生成方法２＞
生成部１０３は、量子化ベクトル８００において左からｉ（１≦ｉ≦４）番目の要素の値と、量子化ベクトル８０１において左からｊ（１≦ｊ≦８）番目の要素の値と、の合計値を求める。そして生成部１０３は、該合計値を、量子化マトリクスにおいて位置（ｉ，ｊ）における要素の値とする。
【００３６】
例えば、図８（ｃ）の量子化ベクトル８００において左からｉ番目の要素の値と、図８（ｄ）の量子化ベクトル８０１において左からｊ番目の要素の値と、の合計値を位置（ｉ，ｊ）における要素の値とする量子化マトリクスを図９（ｂ）に示す。
【００３７】
＜量子化マトリクスの生成方法３＞
生成部１０３は、量子化ベクトル８００において左からｉ（１≦ｉ≦４）番目の要素の値と、量子化ベクトル８０１において左からｊ（１≦ｊ≦８）番目の要素の値と、の合計値を求める。そして生成部１０３は、該合計値に規定値を加えた値を、量子化マトリクスにおいて位置（ｉ，ｊ）における要素の値とする。
【００３８】
例えば、図８（ｅ）の量子化ベクトル８００の左からｉ番目の要素の値と、図８（ｆ）の量子化ベクトル８０１の左からｊ番目の要素の値と、の合計値に規定値「１６」を加えた値を位置（ｉ，ｊ）における要素の値とする量子化マトリクスを図９（ｃ）に示す。
【００３９】
＜量子化マトリクスの生成方法４＞
生成部１０３は、量子化ベクトル８００において左からｉ（１≦ｉ≦４）番目の要素の値と、量子化ベクトル８０１において左からｊ（１≦ｊ≦８）番目の要素の値と、の積の値（積値）を求める。そして生成部１０３は、該求めた積値に規定値を加えた値を、量子化マトリクスにおいて位置（ｉ，ｊ）（量子化マトリクスの左上隅の位置を（１、１）としたときの水平方向位置ｉ及び垂直方向位置ｊ）における要素の値とする。
【００４０】
例えば、図８（ｇ）の量子化ベクトル８００の左からｉ番目の要素の値と、図８（ｈ）の量子化ベクトル８０１の左からｊ番目の要素の値と、の積値に規定値「１６」を加えた値を位置（ｉ，ｊ）における要素の値とする量子化マトリクスを図９（ｄ）に示す。
【００４１】
このように、Ｍ個の要素を有する量子化ベクトルのｉ（１≦ｉ≦Ｍ）番目の要素の値と、Ｎ個の要素を有する量子化ベクトルのｊ（１≦ｊ≦Ｎ）番目の要素の値と、に基づいて量子化マトリクスにおいて水平方向位置ｉおよび垂直方向位置ｊの要素の値を求める。
【００４２】
符号化部１１３は、生成部１０３が量子化マトリクスを生成するために取得したそれぞれの量子化ベクトルを符号化し、該それぞれの量子化ベクトルの符号化結果を含む符号化データを生成する。
【００４３】
量子化ベクトルの符号化では、先頭（左端の要素）の要素の値と、左端の要素以外の着目要素の値と該着目要素の左隣の要素の値との差分値と、を符号化する。例えば、生成部１０３が図８（ａ）の量子化ベクトル８００を符号化する場合には、先ず、以下の値を符号化対象値として取得する。
【００４４】
・  左端の要素の値「４」
・  左端から２番目の要素の値「５」と左端の要素の値「４」との差分値「１」
・  左端から３番目の要素の値「７」と左端から２番目の要素の値「５」との差分値「２」
・  左端から４番目の要素の値「８」と左端から３番目の要素の値「７」との差分値「１」
次に符号化部１１３は、図１０（ａ）に例示する符号化テーブルや図１０（ｂ）に例示する符号化テーブルを参照し、それぞれの符号化対象値に対応する二値符号を特定し、該特定した二値符号を符号化する。なお、符号化に用いる符号化テーブルの構成は図１０（ａ）や図１０（ｂ）に示した符号化テーブルに限らない。
【００４５】
なお、上記の例では、左端の要素の値「４」を符号化対象値としたが、これに限らず、左端の要素の値「４」と規定の初期値（例えば４）との差分を符号化対象値としても良い。
【００４６】
このように本実施形態では、要素数が「３２」の量子化マトリクスを符号化するのではなく、要素数が「４」の量子化ベクトル及び要素数が「８」の量子化ベクトルを符号化するので、量子化マトリクスを得るために必要なデータの符号量が削減できる。
【００４７】
図１に戻って、分割部１０２は、入力画像を複数の基本ブロックに分割し、予測部１０４は、基本ブロックを複数のサブブロックに分割し、サブブロック単位で水平予測や垂直予測などのイントラ予測モードを決定する。そして予測部１０４は、決定したイントラ予測モードおよび符号化済の画素から予測画像を生成し、入力された画像と予測画像から予測誤差を生成し、該予測誤差を変換・量子化部１０５に対して出力する。一方、予測部１０４は、サブブロック分割やイントラ予測モードなどの「予測に必要な情報」は予測情報として、符号化部１１０及び再生部１０７に対して出力する。変換・量子化部１０５は、それぞれのサブブロックに対する変換係数群を生成し、該変換係数群に対して、生成部１０３が生成した量子化マトリクスを用いて量子化を行うことで、各サブブロックに対する量子化済み変換係数群を生成する。例えば、図７（ｃ）に示したそれぞれのサブブロックの変換係数群に対して、図９（ａ）に示した量子化マトリクスを用いた量子化処理を行うことで、量子化済み変換係数群を生成する。
【００４８】
逆量子化・逆変換部１０６は、各サブブロックに対する量子化済み変換係数群に対して、生成部１０３が生成した量子化マトリクスを用いて逆量子化を行うことで、各サブブロックに対する変換係数群を生成する。そして逆量子化・逆変換部１０６は、それぞれのサブブロックの変換係数群に対して逆直交変換を行うことで、それぞれのサブブロックの予測誤差を生成する。
【００４９】
再生部１０７は、予測部１０４から出力された予測情報を用いて、フレームメモリ１０８に格納されている再生画像群を適宜参照して予測画像を生成する。そして再生部１０７は、該予測画像と、逆量子化・逆変換部１０６により得られる各サブブロックの予測誤差と、から再生画像を生成し、該生成した再生画像をフレームメモリ１０８に格納する。
【００５０】
フィルタ部１０９は、フレームメモリ１０８に格納されているそれぞれの再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行ってから出力する。
【００５１】
符号化部１１０は、変換・量子化部１０５により量子化された量子化済み変換係数群と予測部１０４から出力された予測情報とに対してエントロピー符号化を行って、量子化済み変換係数群の符号化結果と予測情報の符号化結果とを含む符号化データを生成する。エントロピー符号化の種別については特定の種別に限定せず、ゴロム符号化、算術符号化、ハフマン符号化などを用いることができる。
【００５２】
統合符号化部１１１は、符号化部１１０により生成された符号化データと、符号化部１１３により生成された符号化データと、を多重化してビットストリームを生成し、該生成したビットストリームを出力する。
【００５３】
本実施形態に係るビットストリームの構成例を図６（ａ）に示す。シーケンスヘッダには、量子化マトリクスの生成に用いられた量子化ベクトルの符号化データが含まれており、量子化ベクトルの各要素の符号化結果で構成されている。ここでは、図８（ａ）の量子化ベクトルおよび図８（ｂ）の量子化ベクトルが符号化されているものとしている。なお、量子化ベクトルの符号化データのビットストリームにおける位置は図８（ａ）に示した位置に限らず、ピクチャヘッダやその他のヘッダ内の位置であっても良い。また、１つのシーケンスの中で量子化マトリクスの変更を行う場合、量子化マトリクスに対応する量子化ベクトルを新たに符号化することで更新することも可能である。この際、全ての量子化マトリクスを書き換えても良いし、書き換える量子化マトリクスに対応する量子化ベクトルのサイズを指定することでその一部を変更するようにすることも可能である。また、ビットストリームには（例えば、シーケンスヘッダには）、量子化ベクトルから量子化マトリクスを生成する方法（例えば上記の生成方法１〜４の何れであるのか）を示す情報も含まれている。
【００５４】
次に、画像符号化装置が１フレーム分の入力画像について行う符号化処理について、同処理のフローチャートを示す図３を用いて説明する。ステップＳ３０１では、生成部１０３は、Ｍ個の要素を有する量子化ベクトルと、Ｎ個の要素を有する量子化ベクトルと、を用いて、Ｍ×Ｎのサイズを有する量子化マトリクスを生成する。
【００５５】
ステップＳ３０２では、符号化部１１３は、ステップＳ３０１において量子化マトリクスを生成するために用いたそれぞれの量子化ベクトルを符号化して符号化データを生成する。
【００５６】
ステップＳ３０４では、分割部１０２は、入力画像を複数の基本ブロックに分割する。ステップＳ３０５では予測部１０４は、複数の基本ブロックのうち未選択の基本ブロックを選択基本ブロックとして選択する。そして予測部１０４は、該選択基本ブロックを複数のサブブロックに分割し、サブブロック単位で予測符号化を行って予測誤差を求めると共に予測情報を取得する。
【００５７】
ステップＳ３０６で変換・量子化部１０５は、それぞれのサブブロックに対する変換係数群を生成し、該変換係数群に対し、ステップＳ３０１で生成した量子化マトリクスを用いて量子化を行うことで、各サブブロックに対する量子化済み変換係数群を生成する。
【００５８】
ステップＳ３０７では、逆量子化・逆変換部１０６は、各サブブロックに対する量子化済み変換係数群に対して、ステップＳ３０１で生成した量子化マトリクスを用いて逆量子化を行うことで、各サブブロックに対する変換係数群を生成する。そして逆量子化・逆変換部１０６は、それぞれのサブブロックの変換係数群に対して逆直交変換を行うことで、それぞれのサブブロックの予測誤差を生成する。
【００５９】
ステップＳ３０８では、再生部１０７は、ステップＳ３０５にて予測部１０４が取得した予測情報を用いて、フレームメモリ１０８に格納されている再生画像群を適宜参照して予測画像を生成する。そして再生部１０７は、該予測画像と、逆量子化・逆変換部１０６により得られる各サブブロックの予測誤差と、から再生画像を生成し、該生成した再生画像をフレームメモリ１０８に格納する。
【００６０】
ステップＳ３０９では、符号化部１１０は、ステップＳ３０６にて量子化された量子化済み変換係数群と、ステップＳ３０５にて予測部１０４が取得した予測情報と、に対してエントロピー符号化を行って符号化データを生成する。そして統合符号化部１１１は、符号化部１１０により生成された符号化データと、ステップＳ３０２において符号化部１１３により生成された量子化ベクトルなどの符号化データと、を多重化してビットストリームを生成する。
【００６１】
そして、複数の基本ブロックのうち未選択の基本ブロックが残っている場合には、処理はステップＳ３１０を介してステップＳ３０５に進む。一方、複数の基本ブロックの全てが選択基本ブロックとして選択された場合には、処理はステップＳ３１０を介してステップＳ３１１に進む。
【００６２】
ステップＳ３１１では、フィルタ部１０９は、フレームメモリ１０８に格納されているそれぞれの再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行ってから出力する。
【００６３】
以上の構成と動作により、特にステップＳ３０２において、二次元の量子化マトリクスの代わりに一次元の量子化ベクトルを符号化することで、量子化マトリクスを得るために必要な情報の符号量を削減することができる。結果として、生成されるビットストリーム全体のデータ量を削減することになるため、圧縮効率を向上させることができる。
【００６４】
なお、本実施形態では、図７（ｃ）に示す如く、８画素×８画素の基本ブロックを４画素（水平方向）×８画素（垂直方向）の縦長のサブブロックを単位に分割するケースについて説明した。しかし、サブブロック分割方法はこれに限定されない。例えば、図７（ｂ）のような四分木分割や、図７（ｅ）、（ｆ）のような三分木分割または図７（ａ）のような無分割を用いても構わない。図７（ｃ）以外のサブブロック分割も用いられる場合には、生成部１０３では、サブブロックに対応する量子化マトリクスのための量子化ベクトルが生成される。
【００６５】
また、図８に示す量子化ベクトルを他の種類のサブブロックに適用してもよい。例えば、図７（ａ）の８画素（水平方向）ｘ８画素（垂直方向）のサブブロックに関しては、図８（ｂ）の８つの係数を有する量子化ベクトルを水平方向及び垂直方向のためにそれぞれ適用する。すなわち、図８（ｂ）のベクトルを２回使用する。
【００６６】
例えば、図７（ｂ）の４画素（水平方向）ｘ４画素（垂直方向）のサブブロックに関しては、図８（ａ）の４つの係数を有する量子化ベクトルを水平方向及び垂直方向のためにそれぞれ適用する。すなわち、図８（ａ）のベクトルを２回使用する。
【００６７】
例えば、図７（ｄ）、（ｆ）の８画素（水平方向）ｘ４画素（垂直方向）のサブブロックに関しては、図８（ｂ）の８つの係数を有する量子化ベクトルをサブブロックの水平方向に適用する。また、図８（ａ）の４つの係数を有する量子化ベクトルをサブブロックの垂直方向に適用する。
【００６８】
例えば、図７（ｅ）の２画素（水平方向）ｘ８画素（垂直方向）のサブブロックに関しては、図８（ａ）の４つの係数を有する量子化ベクトルのうち、任意の２つの係数の組み合わせをサブブロックの水平方向に適用する。例えば、図８（ａ）の４つの係数のうち最初の２つの係数が選択されてもよい。そして、図８（ｂ）の８つの係数を有する量子化ベクトルをサブブロックの垂直方向に適用する。このように各種類のサブブロックに適用される量子化ベクトルの生成方法に関する情報も後述の画像復号装置で生成可能なように符号化される。
【００６９】
また、異なる数の係数の量子化ベクトル群（２個、４個、８個、１６個、３２個）を水平方向および垂直方向についてそれぞれ用意し、それらを符号化してもよい。この場合、それぞれのベクトルに対して識別可能なインデックスが与えられる。そして、サブブロックに対して所望のベクトルが適用されるように、各サブブロックに対して水平方向の量子化ベクトルおよび垂直方向の量子化ベクトルのインデックスを関連付けることになる。
【００７０】
＜変形例＞
本実施形態では、量子化マトリクスの生成に用いられる量子化ベクトルは全て符号化する構成とした。これは、符号化側で量子化マトリクスの生成に要した量子化ベクトルを復号側に通知するためである。しかし、一方の量子化ベクトルが他方の量子化ベクトルから生成可能である場合には、必ずしも両方の量子化ベクトルを復号側に通知する必要はなく、該他方の量子化ベクトルを通知するようにしても良い。この場合、復号側では、該他方の量子化ベクトルを復号し、該復号した他方の量子化ベクトルから一方の量子化ベクトルを生成し、該一方の量子化ベクトル及び該他方の量子化ベクトルから量子化マトリクスを生成することができる。
【００７１】
例えば、図８（ｊ）の量子化ベクトルは図８（ｉ）の量子化ベクトルから補間処理により生成可能である。つまり、図８（ｉ）の量子化ベクトルにおいて左端からｉ（ｉ＝１，２，３，４）番目の要素の値を、図８（ｊ）の量子化ベクトルにおいて左端から（２×ｉ−１）番目の要素の値とする。そして図８（ｊ）の量子化ベクトルにおいて左端からｊ（ｊ＝２，４，６）番目の要素の値を、図８（ｊ）の量子化ベクトルにおいて左端から（ｊ−１）番目の要素の値と（ｊ＋１）番目の要素の値との平均値とする。そして、図８（ｊ）の量子化ベクトルにおいて右端の要素の値を、図８（ｉ）の量子化ベクトルにおいて右端の要素の値とする。
【００７２】
然るにこのような場合、復号側には、図８（ｉ）の量子化ベクトルを通知すれば良い。つまり、復号側は、図８（ｉ）の量子化ベクトルから図８（ｊ）の量子化ベクトルを生成し、図８（ｊ）の量子化ベクトルと図８（ｉ）の量子化ベクトルとから例えば図９（ｅ）の量子化マトリクスを生成することができる。然るにこのような場合は、図８（ｊ）の量子化ベクトルは符号化せずに、図８（ｉ）の量子化ベクトルを符号化する。これにより、図９（ｅ）の量子化マトリクスを得るために必要なデータの符号量をさらに削減することができる。なお、上記の補間処理の逆の処理により、図８（ｊ）の量子化ベクトルから図８（ｉ）の量子化ベクトルを生成することが可能であるため、図８（ｉ）の量子化ベクトルは符号化せずに、図８（ｊ）の量子化ベクトルを符号化するようにしても良い。この場合、量子化マトリクスにかかる符号量は若干増加するが、より細かい量子化マトリクスの制御を行うことが可能となる。
【００７３】
また、一方の量子化ベクトルから他方の量子化ベクトルを生成する方法は上記の補間処理に限らない。例えば、図８（ｋ）の量子化ベクトルと図８（ｌ）の量子化ベクトルとを用いて上記の生成方法１により図９（ｆ）の量子化マトリクスが生成されるケースを想定する。この場合、図８（ｋ）の量子化ベクトルと図８（ｌ）の量子化ベクトルの両方を符号化しても良いが、図８（ｌ）の量子化ベクトルは図８（ｋ）の量子化ベクトルの要素の重複コピーにより生成することが可能である。つまり、図８（ｋ）の量子化ベクトルにおいて左端からｉ（ｉ＝１，２，３，４）番目の要素の値を、図８（ｌ）の量子化ベクトルにおいて左端から（２×ｉ−１）番目及び（２×ｉ）番目の要素の値とする。然るに、図８（ｌ）の量子化ベクトルは符号化せずに、図８（ｋ）の量子化ベクトルを符号化するようにしても良く、これにより、図９（ｆ）の量子化マトリクスを得るために必要なデータの符号量をさらに削減することができる。なお、図８（ｋ）の量子化ベクトルは図８（ｌ）の量子化ベクトルから生成することが可能であるから、図８（ｋ）の量子化ベクトルは符号化せずに、図８（ｌ）の量子化ベクトルを符号化するようにしても良い。この場合、量子化マトリクスにかかる符号量は若干増加するが、より細かい量子化マトリクスの制御を行うことが可能となる。
【００７４】
また、本実施形態では、量子化マトリクスは符号化せずに量子化ベクトルを符号化する構成としたが、量子化マトリクスを選択的に符号化する構成としても構わない。例えば、図６（ｂ）および図６（ｃ）は、量子化マトリクス符号化情報符号を新たに導入することで、本実施形態の量子化ベクトル符号化と従来の量子化マトリクス符号化を選択的にしたものである。例えば、量子化マトリクス符号化情報符号が「０」を示している場合には、本実施形態の１次元の量子化ベクトル符号化が用いられ、図６（ｂ）のビットストリームが生成される。一方、量子化マトリクス符号化情報符号が「１」を示している場合には、従来の２次元の量子化マトリクス符号化が用いられ、図６（ｃ）のビットストリームが生成される。
【００７５】
また、量子化マトリクス符号化情報符号が「０」を示している場合には、「量子化マトリクス不使用」であることを示してもよい。この場合、量子化ベクトルおよび量子化マトリクスのいずれも符号化されない。このような例において、量子化マトリクス符号化情報符号が「１」を示している場合には、本実施形態の１次元の量子化ベクトル符号化が用いられ、図６（ｂ）のビットストリームが生成される。そして、量子化マトリクス符号化情報符号が「２」を示している場合には、従来の２次元の量子化マトリクス符号化が用いられ、図６（ｃ）のビットストリームが生成される。
【００７６】
さらには量子化マトリクス単位で、本実施形態の量子化ベクトル符号化と従来の量子化マトリクス符号化とを切り替えることができる構成としても良い。これにより、量子化マトリクス符号量削減と量子化マトリクス制御とを選択的に実現することが可能となる。
【００７７】
なお、従来の２次元の量子化マトリクスの符号化の際の符号量に対して、所定量以上の符号量の削減が見込まれる場合に１次元の量子化ベクトル符号化を選択してもよい。あるいは、高解像度の画像など、量子化ベクトルでは表現しきれない場合に２次元の量子化マトリクスを採用してもよい。
【００７８】
本実施形態では、図１の画像符号化装置において生成されたビットストリームを復号する画像復号装置について説明する。なお、本実施形態に係る画像復号装置は、図１の画像符号化装置と一体化した装置であっても良いし、別個の装置であっても良い。先ず、本実施形態に係る画像復号装置の機能構成例について、図２のブロック図を用いて説明する。
【００７９】
分離部２０１は、画像符号化装置によって生成されたビットストリームを取得し、該ビットストリームからビットストリームに含まれている上記の各情報を分離する。つまり、分離部２０１は、上記の統合符号化部１１１が行った動作と逆の動作を行うことで、ビットストリームに含まれている上記の各情報を分離する。
【００８０】
なお、ビットストリームは、動画像を構成する各フレームの画像のビットストリームであっても良いし、撮像装置が定期的若しくは不定期的に撮像したそれぞれの静止画像のビットストリームであっても良いし、１枚の画像のビットストリームであっても良い。また、このようなビットストリームは画像符号化装置から直接的若しくは間接的に取得するようにしても良いし、ビットストリーム群を保持している装置から取得するようにしても良い。
【００８１】
再生部２０９は、量子化ベクトルの符号化データを復号して量子化ベクトルを復元（再生）し、該復元した量子化ベクトルから量子化マトリクスを生成する。量子化ベクトルから量子化マトリクスを生成する方法（例えば上記の生成方法１〜４の何れであるのか）を示す情報は上記のビットストリームのヘッダ等に格納されている。然るに、再生部２０９は、この情報が示す方法に従って、量子化ベクトルから量子化マトリクスを生成する。なお、画像符号化装置と画像復号装置との間で予め量子化ベクトルから量子化ベクトルを生成する方法が既知であれば、量子化ベクトルから量子化マトリクスを生成する方法を示す情報をヘッダ等に含めなくても良い。
【００８２】
復号部２０３は、符号化部１１０が行った動作と逆の動作を行うことで、量子化済み変換係数群の符号化結果と予測情報の符号化結果とを含む符号化データを復号して、量子化済み変換係数群および予測情報を取得する。
【００８３】
逆量子化・逆変換部２０４は、上記の逆量子化・逆変換部１０６と同様に動作し、復号部２０３が取得した量子化済み変換係数群に対して、再生部２０９が生成した量子化マトリクスを用いて逆量子化を行うことで各サブブロックに対する変換係数群を生成する。そして逆量子化・逆変換部２０４は、それぞれのサブブロックの変換係数群に対して逆直交変換を行うことで、それぞれのサブブロックの予測誤差を生成する。
【００８４】
再生部２０５は、上記の再生部１０７と同様に動作し、復号部２０３が復号した予測情報を用いて、フレームメモリ２０６に格納されている再生画像群を適宜参照して予測画像を生成する。そして再生部２０５は、該予測画像と、逆量子化・逆変換部２０４により得られる各サブブロックの予測誤差と、から再生画像を生成（再生）し、該生成した再生画像をフレームメモリ２０６に格納する。
【００８５】
フィルタ部２０７は、上記のフィルタ部１０９と同様に動作する。つまりフィルタ部２０７は、フレームメモリ２０６に格納されているそれぞれの再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行ってからフレームメモリ２０６に対して出力する。なお、フィルタ部２０７による再生画像の出力先については特定の出力先に限らない。例えば、再生画像は画像復号装置が接続されているネットワークを介して外部の装置に対して出力しても良い。
【００８６】
次に、図２に示した各機能部の動作について、具体例を挙げて説明する。以下では説明を簡単にするために、イントラ予測符号化の処理のみを説明するが、これに限定されずインター予測符号化の処理においても適用可能である。
【００８７】
分離部２０１は、図６（ａ）のビットストリームを取得し、該ビットストリームからビットストリームに含まれている上記の各情報を分離する。これにより分離部２０１は、シーケンスヘッダ、量子化済み変換係数群の符号化結果と予測情報の符号化結果とを含む符号化データ、量子化ベクトルの符号化データ、等を取得する。以下では、量子化ベクトルの符号化データは、図８（ａ）の量子化ベクトル及び図８（ｂ）の量子化ベクトルの符号化データであるものとする。
【００８８】
再生部２０９は、量子化ベクトルの符号化データを復号して図８（ａ）の量子化ベクトル及び図８（ｂ）の量子化ベクトルを復元する。復号では量子化ベクトルの符号化と逆の処理を行い、図１０（ａ）に例示する符号化テーブルや図１０（ｂ）に例示する符号化テーブルを参照して、二値符号に対応する符号化対象値を特定し、該符号化対象値から量子化ベクトルの各要素の値を復元する。そして再生部２０９は、シーケンスヘッダから「量子化ベクトルから量子化マトリクスを生成する方法（ここでは上記の生成方法１）を示す情報」を取得する。そして再生部２０９は、該情報が示す生成方法１に従って、図８（ａ）の量子化ベクトル及び図８（ｂ）の量子化ベクトルから図９（ａ）の量子化マトリクスを生成する。なお、量子化ベクトルの復号に用いる符号化テーブルは、量子化ベクトルの符号化に用いたものであれば良く、図１０（ａ）や図１０（ｂ）に示した符号化テーブルに限らない。
【００８９】
また、図８に示す量子化ベクトルを４画素（水平方向）ｘ８画素（垂直方向）以外のサブブロックに適用させる場合、まず、各種類のサブブロックに適用される量子化ベクトルの生成方法に関する情報を復号する。この量子化ベクトルの生成方法に基づいて、それぞれのサブブロックに対する量子化ベクトルが生成される。また、４画素（水平方向）ｘ８画素（垂直方向）のサブブロックと同様に、ビットストリームから生成方法に関する情報に基づいて各サブブロックに対応する量子化マトリクスが量子化ベクトルに基づいて生成される。
【００９０】
復号部２０３の動作は上記の通りである。逆量子化・逆変換部２０４は、復号部２０３が取得した量子化済み変換係数群に対して、再生部２０９が生成した図９（ａ）の量子化マトリクスを用いて逆量子化を行うことで、図７（ｃ）の各サブブロックに対する変換係数群を生成する。そして逆量子化・逆変換部２０４は、それぞれのサブブロックの変換係数群に対して逆直交変換を行うことで、それぞれのサブブロックの予測誤差を生成する。再生部２０５及びフィルタ部２０７の動作は上記の通りである。
【００９１】
次に、画像復号装置が１フレーム分のビットストリームについて行う復号処理について、同処理のフローチャートを示す図４を用いて説明する。ステップＳ４０１では、分離部２０１は、ビットストリームを取得し、該ビットストリームからビットストリームに含まれている上記の各情報を分離する。ステップＳ４０２では、再生部２０９は、量子化ベクトルの符号化データを復号して量子化ベクトルを復元し、該復元した量子化ベクトルから量子化マトリクスを生成する。
【００９２】
ステップＳ４０３では、復号部２０３は、量子化済み変換係数群の符号化結果と予測情報の符号化結果とを含む符号化データを復号して、量子化済み変換係数群および予測情報を取得する。
【００９３】
ステップＳ４０４では、逆量子化・逆変換部２０４は、ステップＳ４０３で取得した量子化済み変換係数群に対して、ステップＳ４０２で生成した量子化マトリクスを用いて逆量子化を行うことで、各サブブロックに対する変換係数群を生成する。そして逆量子化・逆変換部２０４は、それぞれのサブブロックの変換係数群に対して逆直交変換を行うことで、それぞれのサブブロックの予測誤差を生成する。
【００９４】
ステップＳ４０５では、再生部２０５は、ステップＳ４０３で取得した予測情報を用いて、フレームメモリ２０６に格納されている再生画像群を適宜参照して予測画像を生成する。そして再生部２０５は、該予測画像と、ステップＳ４０４で生成した各サブブロックの予測誤差と、から再生画像を生成（再生）し、該生成した再生画像をフレームメモリ２０６に格納する。
【００９５】
ステップＳ４０７では、フィルタ部２０７は、フレームメモリ２０６に格納されているそれぞれの再生画像に対し、デブロッキングフィルタやサンプルアダプティブオフセットなどのインループフィルタ処理を行ってからフレームメモリ２０６に対して出力する。
【００９６】
＜変形例＞
前述したように、符号化側で量子化マトリクスの生成に要した量子化ベクトルのうち一方が他方から生成可能である場合、両方の量子化ベクトルを符号化する必要はない。すなわち、一方の量子化ベクトルを符号化し、該他方の量子化ベクトルを符号化しなくてもよい。この場合、復号側では、復号した量子化ベクトルからもう一方の量子化ベクトルを生成し、該復号した量子化ベクトルと、該復号した量子化ベクトルから生成した量子化ベクトルと、を用いて量子化マトリクスを生成する。
【００９７】
例えば、量子化ベクトルの符号化データとして、図８（ｉ）の量子化ベクトルの符号化データを取得した場合、該符号化データを復号して図８（ｉ）の量子化ベクトルを取得する。そして図８（ｉ）の量子化ベクトルから上記の補間処理によって図８（ｊ）の量子化ベクトルを生成し、図８（ｉ）の量子化ベクトルと図８（ｊ）の量子化ベクトルとから図９（ｅ）の量子化マトリクスを生成する。これは、量子化ベクトルの符号化データとして図８（ｉ）の量子化ベクトル及び図８（ｊ）の量子化ベクトルの符号化データを取得した場合も同様で、図８（ｉ）の量子化ベクトルさえ復号すれば、図８（ｊ）の量子化ベクトルは生成することができる。
【００９８】
また上記のように、図８（ｊ）の量子化ベクトルから図８（ｉ）の量子化ベクトルを生成することもできるため、量子化ベクトルの符号化データとして、図８（ｊ）の量子化ベクトルの符号化データを取得する構成としても良い。この場合も同様に、図８（ｊ）の量子化ベクトルの符号化データを復号して該量子化ベクトルを取得し、該量子化ベクトルから図８（ｉ）の量子化ベクトルを生成し、図８（ｉ）および図８（ｊ）の量子化ベクトルから図９（ｅ）の量子化マトリクスを生成する。これは、量子化ベクトルの符号化データとして図８（ｉ）の量子化ベクトル及び図８（ｊ）の量子化ベクトルの符号化データを取得した場合も同様である。
【００９９】
また例えば、量子化ベクトルの符号化データとして、図８（ｋ）の量子化ベクトルの符号化データを取得した場合、該符号化データを復号して図８（ｋ）の量子化ベクトルを取得する。そして図８（ｋ）の量子化ベクトルから上記の重複コピーによって図８（ｌ）の量子化ベクトルを生成し、図８（ｋ）の量子化ベクトルと図８（ｌ）の量子化ベクトルとから図９（ｆ）の量子化マトリクスを生成する。これは、量子化ベクトルの符号化データとして図８（ｋ）の量子化ベクトル及び図８（ｌ）の量子化ベクトルの符号化データを取得した場合も同様で、図８（ｋ）の量子化ベクトルさえ復号すれば、図８（ｌ）の量子化ベクトルは生成することができる。
【０１００】
また上記のように、図８（ｌ）の量子化ベクトルから図８（ｋ）の量子化ベクトルを生成することもできるため、量子化ベクトルの符号化データとして、図８（ｌ）の量子化ベクトルの符号化データを取得する構成としても良い。この場合も同様に、図８（ｌ）の量子化ベクトルの符号化データを復号して該量子化ベクトルを取得し、該量子化ベクトルから図８（ｋ）の量子化ベクトルを生成し、図８（ｋ）および図８（ｌ）の量子化ベクトルから図９（ｆ）の量子化マトリクスを生成する。これは、量子化ベクトルの符号化データとして図８（ｋ）の量子化ベクトル及び図８（ｌ）の量子化ベクトルの符号化データを取得した場合も同様である。
【０１０１】
また、本実施形態では、量子化マトリクスは符号化せずに量子化ベクトルを符号化したビットストリームを復号する構成としたが、量子化マトリクスを選択的に符号化したビットストリームを復号する構成としても構わない。例えば、量子化マトリクス符号化情報符号（シーケンスヘッダに含まれている）が「０」を示している場合には、本実施形態の量子化ベクトル符号化が用いられ、図６（ｂ）のビットストリームが生成されるので、上記の通りの復号動作を行う。これにより、図６（ｂ）のビットストリームが復号される。一方、量子化マトリクス符号化情報符号が「１」を示している場合には、従来の量子化マトリクス符号化が用いられ、図６（ｃ）のビットストリームが生成されるので、従来の量子化マトリクスの復号動作を行う。
【０１０２】
また、上述の異なる符号の割り当てを用いてもよい。すなわち、量子化マトリクス符号化情報符号が「０」を示している場合には、「量子化マトリクス不使用」であることを示してもよい。この場合、量子化ベクトルおよび量子化マトリクスのいずれも符号化されない。このような例において、量子化マトリクス符号化情報符号が「１」を示している場合には、本実施形態の１次元の量子化ベクトル符号化が用いられ、図６（ｂ）のビットストリームが生成される。そして、量子化マトリクス符号化情報符号が「２」を示している場合には、従来の２次元の量子化マトリクス符号化が用いられ、図６（ｃ）のビットストリームが生成される。
【０１０３】
さらには量子化マトリクス単位で、本実施形態の量子化ベクトル復号と従来の量子化マトリクス復号とを切り替えることができる構成としても良く、その場合は、量子化マトリクス単位で復号動作を切り替えることになる。これにより、量子化マトリクス符号量削減と量子化マトリクス制御とを選択的に実現したビットストリームを復号することが可能となる。
【０１０４】
図１に示した各機能部や図２に示した各機能部はハードウェアで実装しても良いが、フレームメモリ１０８、２０６を除く各機能部についてはソフトウェア（コンピュータプログラム）で実装しても良い。後者の場合、このコンピュータプログラムを実行可能なコンピュータ装置は、上記の画像符号化装置や画像復号装置に適用可能である。上記の画像符号化装置や画像復号装置に適用可能なコンピュータ装置のハードウェア構成例について、図５のブロック図を用いて説明する。
【０１０５】
ＣＰＵ５０１は、ＲＡＭ５０２やＲＯＭ５０３に格納されているコンピュータプログラムやデータを用いて各種の処理を実行する。これによりＣＰＵ５０１は、コンピュータ装置全体の動作制御を行うと共に、該コンピュータ装置を適用した上記の画像符号化装置や画像復号装置が行うものとして上述した各処理を実行若しくは制御する。
【０１０６】
ＲＡＭ５０２は、ＲＯＭ５０３や外部記憶装置５０６からロードされたコンピュータプログラムやデータ、Ｉ／Ｆ（インターフェース）５０７を介して外部から受信したデータ（入力画像やビットストリームなど）を格納するためのエリアを有する。さらにＲＡＭ５０２は、ＣＰＵ５０１が各種の処理を実行する際に用いるワークエリアを有する。このようにＲＡＭ５０２は、各種のエリアを適宜提供することができる。ＲＯＭ５０３には、コンピュータ装置の設定データや起動プログラムなど、書換不要の情報が格納されている。
【０１０７】
操作部５０４は、キーボード、マウス、タッチパネルなどのユーザインターフェースにより構成されており、ユーザが操作することで各種の指示をＣＰＵ５０１に対して入力することができる。
【０１０８】
表示部５０５は、液晶画面やタッチパネル画面などにより構成されており、ＣＰＵ５０１による処理結果を画像や文字などでもって表示することができる。また表示部５０５は、画像や文字を投影する投影装置であっても良い。
【０１０９】
外部記憶装置５０６は、ハードディスクドライブ装置などの大容量情報記憶装置である。外部記憶装置５０６には、ＯＳ（オペレーティングシステム）や、上記の画像符号化装置や画像復号装置が行うものとして上述した各処理をＣＰＵ５０１に実行若しくは制御させるためのコンピュータプログラムやデータが保存されている。外部記憶装置５０６に保存されているコンピュータプログラムには、図１，２に示した各機能部（フレームメモリ１０８、２０６を除く）の機能をＣＰＵ５０１に実現させるためのコンピュータプログラムが含まれている。また、外部記憶装置５０６に保存されているデータには、上記の説明において既知の情報として取り扱った情報が含まれている。
【０１１０】
外部記憶装置５０６に保存されているコンピュータプログラムやデータは、ＣＰＵ５０１による制御に従って適宜ＲＡＭ５０２にロードされ、ＣＰＵ５０１による処理対象となる。なお、上記のフレームメモリ１０８、２０６は、上記のＲＡＭ５０２や外部記憶装置５０６などでもって実装可能である。
【０１１１】
Ｉ／Ｆ５０７は、外部装置との間のデータ通信を行うためのインターフェースであり、例えば、入力画像やビットストリームなどはこのＩ／Ｆ５０７を介して受信して、ＲＡＭ５０２や外部記憶装置５０６に格納される。また、上記の画像符号化装置によって生成されたビットストリームや上記の画像復号装置によって復号された画像をＩ／Ｆ５０７を介して外部の装置（表示装置、サーバ装置など）に対して送信しても良い。
【０１１２】
ＣＰＵ５０１、ＲＡＭ５０２、ＲＯＭ５０３、操作部５０４、表示部５０５、外部記憶装置５０６、Ｉ／Ｆ５０７は何れも、バス５０８に接続されている。なお、図５に示した構成は、上記の画像符号化装置や画像復号装置に適用可能なコンピュータ装置のハードウェア構成の一例に過ぎず、適宜変更／変形が可能である。
【０１１３】
なお、上記の各実施形態や各変形例における説明で使用した数値や処理順序は一例である。また、上記の各実施形態や各変形例の符号化処理／復号処理は、量子化マトリクスを用いてサブブロックを量子化／逆量子化する処理を含む符号化処理／復号処理の一例であり、上記の各実施形態や変形例において説明した符号化処理／復号処理に限らない。
【０１１４】
なお、以上説明した各実施形態や各変形例の一部若しくは全部を適宜組み合わせて使用しても構わない。また、以上説明した各実施形態や各変形例の一部若しくは全部を選択的に使用しても構わない。
【０１１５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１１６】
１０２：分割部  １０３：生成部  １０４：予測部  １０５：変換・量子化部  １０６：逆量子化・逆変換部  １０７：再生部  １０８：フレームメモリ  １０９：フィルタ部  １１０：符号化部  １１１：統合符号化部  １１３：符号化部
【図１】
2020005143.tif 000003
【図２】
2020005143.tif 000004
【図３】
2020005143.tif 000005
【図４】
2020005143.tif 000006
【図５】
2020005143.tif 000007
【図６】
2020005143.tif 000008
【図７】
2020005143.tif 000009
【図８】
2020005143.tif 000010
【図９】
2020005143.tif 000011
【図１０】
2020005143.tif 000012