(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来の符号化方式では量子化によってデータ圧縮が行える半面、低周波成分側の非ゼロ数値データは圧縮しきれず効率化に限界がある。また、連続する非ゼロ数値データが大きな計数値だと、それに連動してデータ量が増加してしまう。さらに、高圧縮率を目指すために高周波成分側にゼロを連続させるような粗い量子化をすると、主観的な画質が著しく損なわれてしまうという課題があった。
【0006】
かかる事情に鑑みてなされた本発明の目的は、従来の符号化方式に比べて符号化効率を改善することが可能な符号化装置、復号装置、及びプログラムを提供することにある。
【課題を解決するための手段】
【0007】
上記課題を解決するため、本発明に係る符号化装置は、フィッティング関数を用いて符号化する符号化装置であって、入力画像を複数のブロックに分割してブロック画像を生成するブロック分割部と、前記ブロック画像を予測した予測ブロック画像を生成する予測部と、前記ブロック画像と前記予測ブロック画像との差を示す残差ブロック画像に対して変換処理を行い、ブロックごとの変換係数を算出する変換部と、前記ブロックごとの変換係数の一次元配列を曲線近似し、近似曲線を規定するためのフィッティング関数の係数を含むフィッティング関数情報を生成するカーブフィッティング部と、前記フィッティング関数情報、及び前記予測ブロック画像の予測に必要な予測情報のエントロピー符号化を行ってビットストリームを生成するエントロピー符号化部と、前記フィッティング関数情報に基づいて前記近似曲線を求め、該近似曲線によって規定されるデータを二次元に配列して前記ブロックごとの変換係数を復元する逆カーブフィッティング部と、前記復元された変換係数に対して逆変換を行い、前記残差ブロック画像を復元する逆変換部と、を備え、前記予測部は、前記復元された残差ブロック画像及び前記予測ブロック画像を加算した復号済みの画像を参照して前記予測ブロック画像を生成することを特徴とする。
【0008】
さらに、本発明に係る符号化装置において、前記カーブフィッティング部は、前記変換係数をブロックごとに所定の方向にスキャンして一次元配列化した一次元配列データを生成する一次元配列データ生成部と、前記一次元配列データに対して1以上のフィッティング関数を用いて曲線近似するフィッティング部と、を備えることを特徴とする。
【0009】
さらに、本発明に係る符号化装置において、前記カーブフィッティング部は、前記変換係数をブロックごとに複数の方向にスキャンして、一次元配列化した複数の一次元配列データを生成する一次元配列データ生成部と、前記複数の一次元配列データに対して、それぞれ1以上のフィッティング関数を用いて曲線近似するフィッティング部と、を備え、前記エントロピー符号化部は、前記スキャンの方向ごとに前記フィッティング関数情報のエントロピー符号化を行い、コスト値に基づく最適なスキャン方向を決定し、該スキャン方向で生成されたビットストリーム、及び該スキャン方向を識別するための識別情報を出力することを特徴とする。
【0010】
さらに、本発明に係る符号化装置において、前記ブロックごとの変換係数を量子化ステップで除算して量子化係数を生成する量子化部と、前記量子化係数に量子化ステップを乗ずることにより前記ブロックごとの変換係数を復元する逆量子化部と、を更に備え、前記逆変換部は、前記逆量子化部又は前記逆カーブフィッティング部により復元された変換係数に対して逆変換を行い、前記残差ブロック画像を復元し、前記エントロピー符号化部は、前記フィッティング関数情報及び前記量子化係数のエントロピー符号化を行い、コスト値に基づき符号化効率が優れているほうのビットストリームを出力することを特徴とする。
【0011】
さらに、本発明に係る符号化装置において、前記ブロックごとの変換係数を量子化ステップで除算する量子化部を更に備え、前記カーブフィッティング部は、前記量子化部により除算された変換係数の一次元配列を1以上のフィッティング関数を用いて曲線近似し、該フィッティング関数の係数を含むフィッティング関数情報を生成し、前記逆カーブフィッティング部は、前記フィッティング関数情報に基づいて前記近似曲線を求め、該近似曲線によって規定されるデータを二次元に配列して前記量子化部により除算された変換係数を復元し、前記逆カーブフィッティング部により生成された変換係数に量子化ステップを乗ずることにより前記ブロックごとの変換係数を復元する逆量子化部を更に備え、前記逆変換部は、前記逆量子化部により復元された変換係数に対して逆変換を行い、前記残差ブロック画像を復元することを特徴とする。
【0012】
また、上記課題を解決するため、本発明に係る復号装置は、フィッティング関数を用いて符号化されたビットストリームを復号する復号装置であって、前記ビットストリームを復号して、近似曲線を規定するためのフィッティング関数の係数を含むフィッティング関数情報、及びブロック画像の予測に必要な予測情報を取得するエントロピー復号部と、前記フィッティング関数情報に基づいて近似曲線を求め、該近似曲線によって規定されるデータを二次元に配列しブロックごとの変換係数を復元する逆カーブフィッティング部と、前記変換係数に対して逆変換を行って残差ブロック画像を復元する逆変換部と、前記予測情報に従って前記ブロック画像を予測した予測ブロック画像を生成する予測部と、前記残差ブロック画像及び前記予測ブロック画像を加算して復号ブロック画像を生成する加算部と、を備え、前記予測部は、復号済みの前記復号ブロック画像を参照して前記予測ブロック画像を生成することを特徴とする。
【0013】
さらに、本発明に係る復号装置において、前記エントロピー復号部は、量子化係数を更に取得し、前記量子化係数に量子化ステップを乗ずることによりブロックごとの変換係数を復元する逆量子化部を更に備え、前記逆変換部は、前記逆量子化部又は前記逆カーブフィッティング部により復元された変換係数に対して逆変換を行い、前記残差ブロック画像を復元することを特徴とする。
【0014】
さらに、本発明に係る復号装置において、前記逆カーブフィッティング部により復元された第1の変換係数に量子化ステップを乗ずることによりブロックごとの第2の変換係数を復元する逆量子化部を更に備え、前記逆変換部は、前記第2の変換係数に対して逆変換を行って前記残差ブロック画像を復元することを特徴とする。
【0015】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記符号化装置として機能させることを特徴とする。
【0016】
また、上記課題を解決するため、本発明に係るプログラムは、コンピュータを、上記復号装置として機能させることを特徴とする。
【発明の効果】
【0017】
本発明によれば、従来の符号化方式に比べて符号化効率を改善することができるようになる。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態について、符号化装置について説明した後、復号装置について説明する。
【0020】
(第1の実施形態)
本発明の第1の実施形態に係る符号化装置について、以下に説明する。
図1に、本発明の第1の実施形態に係る符号化装置の構成例を示す。
図1に示す符号化装置1は、ブロック分割部11と、減算部12と、変換部13と、カーブフィッティング部14と、逆カーブフィッティング部15と、逆変換部16と、加算部17と、記憶部18と、予測部19と、エントロピー符号化部20とを備える。
【0021】
ブロック分割部11は、入力画像を複数のブロックに分割し、ブロック画像を減算部12及び予測部19に出力する。ブロックのサイズは可変サイズであってもよく、例えば32×32画素、16×16画素、8×8画素、又は4×4画素とする。
【0022】
減算部12は、ブロック分割部11から入力されたブロック画像の各画素値から、後述する予測部19から入力された予測ブロック画像の各画素値を減じた残差ブロック画像を生成し、変換部13に出力する。
【0023】
変換部13は、減算部12から入力された残差ブロック画像に対して直交変換などの変換処理を行って変換係数を算出し、ブロックごとの変換係数をカーブフィッティング部14に出力する。なお、変換部13は直交変換以外の変換を行ってもよい。
【0024】
カーブフィッティング部14は、変換部13から入力されたブロックごとの変換係数の一次元配列を1以上のフィッティング関数を用いて曲線近似する。そして、近似曲線を規定するための1以上のフィッティング関数の係数を含む情報であるフィッティング関数情報を逆カーブフィッティング部15及びエントロピー符号化部20に出力する。
【0025】
図2に、カーブフィッティング部14の第1の構成例を示す。
図2に示すカーブフィッティング部14は、一次元配列データ生成部141と、フィッティング部142とを備える。
【0026】
一次元配列データ生成部141は、変換部13から入力された変換係数をブロックごとに所定の方向にスキャンして一次元配列化した一次元配列データを生成し、フィッティング部142に出力する。スキャンの読込み順は、例えば視覚的に重要な成分から順番に配置するような一次元配列データにすると、その範囲にフィッティングを集中させることができるため、フィッティング部142で視覚特性を考慮したフィッティングが可能となる。ブロック画像のサイズが8×8画素である場合、一次元配列データ生成部141から64個の変換係数がスキャン順にフィッティング部142に入力される。
【0027】
変換部13が離散コサイン変換のような直交変換を行った場合、自然映像では一般的に、低周波成分ほど値が大きく、高周波成分ほど値が小さくなる。そのため変換係数が低周波数成分から高周波数成分まで順方向、もしくは逆方向に漸進的に変化するような順番にスキャンすると、フィッティング関数の数を少なくすることができる。このようなスキャン方法は、ITU−T H.264/MPEG−4 AVCで使用されるジグザグスキャンや、ITU−T H.265/MPEG−H HEVCで使用される斜め方向スキャンなど、任意のスキャン方法を用いることができる。
【0028】
図3に、ブロック画像のサイズが8×8画素である場合の、一次元配列データ生成部141によるスキャン方向の例を示す。
図3(a)(b)はジグザグスキャンのスキャン方向を示しており、
図3(c)(d)は斜めスキャンのスキャン方向を示しており、
図3(e)(f)は4×4画素のサブブロックごとの斜めスキャンのスキャン方向を示している。
【0029】
フィッティング部142は、一次元配列データ生成部141から入力された一次元配列データに対して1以上のフィッティング関数を用いてカーブフィッティングを行うことにより、この変換係数を近似する近似曲線を生成する。そしてフィッティング関数情報をエントロピー符号化部20に出力する。カーブフィッティングは、例えば最小二乗法により行うことができる。
【0030】
カーブフィッティングに複数のフィッティング関数を用いた場合には、フィッティング関数情報にフィッティング関数の種類も含める。また、フィッティング関数情報にフィッティング関数の数を含めてもよい。また、カーブフィッティングにどのフィッティング関数を使用するかの情報(関数の種類、関数の数)を予め符号化装置と復号装置との間で共有しておき、フィッティング関数情報をフィッティング関数の係数のみとして、圧縮効率を上げるようにしてもよい。フィッティング関数の数が少数になるほど符号化劣化が激しいが高圧縮となり、フィッティング関数の数が多数になるほど符号化劣化を防ぐがデータ量は多くなる。
【0031】
フィッティング関数の種類としては、多項式、指数関数、対数関数、分数関数、三角関数、sinc関数、円錐曲線(楕円・放物線・双曲線)、シグモイド関数や、ベッセル関数、ポアソン分布、ガウス分布、ラプラス分布、ローレンツ分布、ランダウ分布などの確率分布の確率密度(質量)関数などである。カーブフィッティングに使用するフィッティング関数の数は1つでもよいし、複数でもよい。
【0032】
例えば、フィッティング関数が正規分布の確率密度関数である場合、フィッティング関数は式(1)で表され、フィッティング関数の係数は、大きさA、平均値μ、及び標準偏差σである。フィッティング関数の係数を指定することで、フィッティング関数の形状は決定される。
【0034】
図4に、カーブフィッティングの一例を示す。ここでは、8×8画素の画像ブロックで、ローレンツ分布の確率密度関数(ローレンツ関数)を1つ、ガウス分布の確率密度関数(ガウス関数)を2つ用いてカーブフィッティング行っている。横軸は一次元配列データ生成部141による64個の変換係数のスキャン順番を表しており、縦軸は変換係数を表している。なお、変換係数は負の値もとるが、ここでは分かり易くするために正の値のみとしている。
【0035】
カーブフィッティングでは、目的に合わせたフィッティングが可能である。例えば前段で離散コサイン変換を行った場合について考えた場合、ジグザグスキャンのようにスキャン要素が低周波成分側から高周波成分側へ分離ができるようなスキャンを行う際には、視覚特性上重要となるDC成分のデータ値を変化させないようなフィッティングを行ったり、低周波成分側にフィッティングを集中させたり、低周波成分から高周波成分まで万遍なくフィッティングを分散させたりすることが可能である。
【0036】
逆カーブフィッティング部15は、カーブフィッティング部14から入力されたフィッティング関数情報に基づいて近似曲線を求める。そして、該近似曲線によって規定されるデータを一次元配列データ生成部141と逆方向にスキャンし二次元に配列してブロックごとの変換係数を復元し、逆変換部16に出力する。
【0037】
逆変換部16は、逆カーブフィッティング部15から入力された変換係数に対して、変換部13で行った変換の逆変換を行って残差ブロック画像を復元し、加算部17に出力する。例えば、変換部13が離散コサイン変換を行った場合には、逆変換部16は逆離散コサイン変換を行う。
【0038】
加算部17は、逆変換部16から入力された残差ブロック画像と、予測部19から入力された予測ブロック画像の各画素値とを加算し、その結果を復号ブロック画像として記憶部18に出力する。
【0039】
記憶部18は、加算部17から入力された復号ブロック画像を記憶するメモリである。
【0040】
予測部19は、記憶部18に記憶された復号済みの復号画像を参照して、対象ブロック内の画素値を予測して予測ブロック画像を生成し、減算部12及び加算部17に出力する。また、予測ブロック画像の生成に必要な情報である予測情報(動きベクトルやイントラ予測モード)をエントロピー符号化部20に出力する。
【0041】
エントロピー符号化部20は、カーブフィッティング部14から入力されたフィッティング関数情報、及び予測部19から入力された予測情報に対して、エントロピー符号化を行い、データ圧縮を行ってビットストリームを生成し、符号化装置1の外部に出力する。エントロピー符号化は、0次指数ゴロム符号やCABC(Context-Adaptive Binary Arithmetic Coding;コンテキスト適応型2値算術符号)など、任意のエントロピー符号化方式を用いることができる。
【0042】
(カーブフィッティングの変形例)
つぎに、カーブフィッティングの変形例について説明する。
図5に、カーブフィッティング部14の第2の構成例を示す。
図5に示すカーブフィッティング部14は、一次元配列データ生成部141と、フィッティング部142とを備える。
【0043】
変形例では、一次元配列データ生成部141は、変換部13から入力された変換係数を、ブロックごとに複数の方向にスキャンして、一次元配列化した複数の一次元配列データを生成し、フィッティング部142に出力する。また、一次元配列データ生成部141は、スキャンした方向を識別するための情報であるスキャン方向識別情報をエントロピー符号化部20に出力する。
【0044】
フィッティング部142は、一次元配列データ生成部141から入力された複数の一次元配列データに対して、それぞれ1以上のフィッティング関数を用いてカーブフィッティングを行うことにより、この変換係数を近似する複数の近似曲線を生成する。そして、フィッティング関数情報を逆カーブフィッティング部15及びエントロピー符号化部20に出力する。
【0045】
この場合、エントロピー符号化部20は、一次元配列データ生成部141によるスキャンの方向ごとに、フィッティング関数情報及び予測情報を入力する。そして、フィッティング関数情報及び予測情報に対して、スキャン方向ごとにエントロピー符号化を行ってビットストリームを生成し、それぞれのコスト値を算出する。ここで、コスト値とは、符号化データ情報量及び歪み量からなるコスト関数により決定される値であり、コスト値に基づき符号化効率を評価することができる。仮にコスト値が小さいほど符号化効率が優れているとみなせるようなコスト関数を適用するとすれば、コスト値を最小化することでレートと歪みに基づいた最適化処理を実現することができる。エントロピー符号化部20は、コスト値に基づく最適なスキャン方向を決定し、該スキャン方向で生成されたビットストリーム、及び該スキャン方向を識別するための識別情報を符号化装置1の外部に出力する。
【0046】
上述したように、符号化装置1は、カーブフィッティング部14により、ブロックごとの変換係数の一次元配列を1以上のフィッティング関数を用いて曲線近似し、フィッティング関数情報を出力する。そのため、符号化装置1は、符号化するデータ量を従来よりも減らすことができ、符号化効率を改善することが可能となる。また、低周波成分側の非ゼロ数値データの大きさや個数の影響を少なくした圧縮が可能となり、また高周波成分側の係数値データについても、ベースラインとなるフィッティング関数を使うことで非ゼロ数値データを連続して残すことが可能となる。その結果、ゼロ数値を連続させるような従来の量子化処理による符号化劣化を改善することができるようになる。
【0047】
また、符号化装置1は、カーブフィッティング部14により、変換係数を複数の方向にスキャンして複数のフィッティング関数情報を生成し、エントロピー符号化部20により、スキャンの方向ごとにフィッティング関数情報のエントロピー符号化を行い、コスト値に基づく最適化処理を行うようにしてもよい。このようにブロックごとに最適化処理を行うことにより、更に符号化劣化を改善することができるようになる。
【0048】
(第2の実施形態)
つぎに、本発明の第2の実施形態に係る符号化装置について説明する。
図6に、第2の実施形態に係る符号化装置の構成例を示す。
図6に示す符号化装置2は、ブロック分割部11と、減算部12と、変換部13と、カーブフィッティング部14と、逆カーブフィッティング部15と、逆変換部16と、加算部17と、記憶部18と、予測部19と、エントロピー符号化部20と、量子化部21と、逆量子化部22と、選択部23とを備える。第2の実施形態の符号化装置2は、第1の実施形態の符号化装置1と比較して、量子化部21、逆量子化部22、及び選択部23を更に備える点が相違する。その他の構成については第1の実施形態と同様であるため、適宜説明を省略する。
【0049】
選択部23は、変換部13から入力されたブロックごとの変換係数を、カーブフィッティング部14又は量子化部21に出力する。
【0050】
量子化部21は、変換部13から入力されたブロックごとの変換係数を量子化ステップで除算して量子化することにより量子化係数を生成し、逆量子化部22及びエントロピー符号化部20に出力する。量子化ステップは、変換係数ごとに変化させてもよい。
【0051】
逆量子化部22は、量子化部21から入力された量子化係数に対し、量子化ステップを乗ずることによりブロックごとの変換係数を復元し、逆変換部16に出力する。
【0052】
逆変換部16は、逆量子化部22及び逆カーブフィッティング部15により復元された変換係数に対して、それぞれ変換部13で行った変換の逆変換を行って残差ブロック画像を復元する。
【0053】
エントロピー符号化部20は、カーブフィッティング部14から入力されたフィッティング関数情報、量子化部21から入力された量子化係数、及び予測部19から入力された予測情報に対して、任意のエントロピー符号化を適用し、データ圧縮を行う。そして、フィッティング関数情報及び量子化係数のエントロピー符号化を行い、コスト値に基づき符号化効率が優れているほうのビットストリームを符号化装置2の外部に出力する。また、フィッティング関数情報と量子化係数のいずれを伝送したか(カーブフィッティング部14による処理と量子化部21による処理のいずれを選択したか)を識別するための識別情報を出力する。
【0054】
上述したように、符号化装置2は、同一の入力画像に対して、カーブフィッティング部14によるフィッティング処理と、量子化部21による量子化処理をそれぞれ行う。そのため、従来の量子化処理と、本発明に適用されるフィッティング処理とを比較して符号化効率が優れているほうを選択することができ、更に符号化劣化を改善することができるようになる。
【0055】
(第3の実施形態)
つぎに、本発明の第3の実施形態に係る符号化装置について説明する。
図7に、第3の実施形態に係る符号化装置の構成例を示す。
図7に示す符号化装置3は、ブロック分割部11と、減算部12と、変換部13と、カーブフィッティング部14と、逆カーブフィッティング部15と、逆変換部16と、加算部17と、記憶部18と、予測部19と、エントロピー符号化部20と、量子化部21と、逆量子化部22とを備える。第3の実施形態の符号化装置3は、第1の実施形態の符号化装置1と比較して、量子化部21及び逆量子化部22を備える点が相違する。その他の構成については第1の実施形態と同様であるため、適宜説明を省略する。
【0056】
量子化部21は、変換部13から入力されたブロックごとの変換係数を、量子化マトリックスを用いて量子化ステップで除算して量子化することにより量子化係数を生成し、カーブフィッティング部14に出力する。
【0057】
カーブフィッティング部14は、量子化部21から入力された量子化係数を一次元配列化したデータに1以上のフィッティング関数を用いてカーブフィッティングを適用する。そして、カーブフィッティングに用いたフィッティング関数の係数を含むフィッティング関数情報を逆カーブフィッティング部15及びエントロピー符号化部20に出力する。
【0058】
逆カーブフィッティング部15は、カーブフィッティング部14から入力されたフィッティング関数情報に基づいて近似曲線を求める。そして、該近似曲線によって規定されるデータを一次元配列データ生成部141と逆方向にスキャンし二次元に配列してブロックごとの変換係数を復元し、逆量子化部22に出力する。
【0059】
逆量子化部22は、逆カーブフィッティング部15から入力された変換係数に対し、量子化ステップを乗ずることによりブロックごとの変換係数を復元し、逆変換部16に出力する。
【0060】
逆変換部16は、逆量子化部22により復元された変換係数に対して、変換部13で行った変換の逆変換を行って残差ブロック画像を復元する。
【0061】
エントロピー符号化部20は、カーブフィッティング部14から入力されたフィッティング関数情報、量子化部21から入力された量子化情報、及び予測部19から入力された予測情報に対して、任意のエントロピー符号化を適用し、データ圧縮を行ってビットストリームを外部に出力する。
【0062】
上述したように、符号化装置3は、量子化部21による従来の量子化処理後にカーブフィッティング部14によるフィッティング処理を行う。一般的に量子化マトリックスを使った重み付け量子化処理を行った後の一次元配列データは、量子化処理前の一次元配列データに比べると低周波成分側の形状が滑らかになっており高周波成分側のピークが削減されているため、よりカーブフィッティングに適した形状になっていることが考えられ、少ない個数のフィッティング関数でフィッティングできると予想される。したがって、符号化装置3は、従来の量子化処理における符号化劣化を許容してでもデータ量の削減を優先させたい場合に有効である。
【0063】
なお、上述した符号化装置1,2,3として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、符号化装置1,2,3の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【0064】
(第4の実施形態)
つぎに、本発明の第4の実施形態に係る復号装置について説明する。
図8に、本発明の第4の実施形態に係る復号装置の構成例を示す。
図8に示す復号装置4は、エントロピー復号部31と、逆カーブフィッティング部32と、逆変換部33と、加算部34と、記憶部35と、予測部36とを備え、符号化装置1により符号化されたデータ(画像の変換係数をフィッティング関数を用いて符号化したビットストリーム)を復号する。
【0065】
エントロピー復号部31は、符号化装置1のエントロピー符号化部20と対をなし、エントロピー符号化部20で符号化されたビットストリームを復号し、近似曲線を規定するための1以上のフィッティング関数の係数を含む情報であるフィッティング関数情報、及びブロック画像の予測処理に必要な情報である予測情報を取得する。そして、フィッティング関数情報を逆カーブフィッティング部32に出力し、予測情報を予測部36に出力する。
【0066】
逆カーブフィッティング部32は、エントロピー復号部31から入力されたフィッティング関数情報に基づいて近似曲線を求める。そして、該近似曲線によって規定されるデータを二次元に配列してブロックごとの変換係数を復元し、逆変換部33に出力する。
【0067】
図9に、逆カーブフィッティング部32の構成例を示す。
図9に示す例では、逆カーブフィッティング部32は、逆フィッティング部321と、二次元配列データ生成部322とを備える。
【0068】
逆フィッティング部321は、エントロピー復号部31から入力されたフィッティング関数情報に基づいて近似曲線を求め、二次元配列データ生成部322に出力する。
【0069】
二次元配列データ生成部322は、逆フィッティング部321から入力された近似曲線から、ブロック画像の画素数分の変換係数を算出する。近似曲線をy=f(x)とすると、例えばブロック画像のサイズが8×8画素である場合、f(0),f(1),・・・,f(63)が変換係数となる。そして、二次元配列データ生成部322は、符号化装置1のカーブフィッティング部14による配列変換を元に戻すように二次元に配列することでブロックごとの変換係数を復元し、逆変換部33に出力する。
【0070】
二次元配列データ生成部322は、符号化装置1のカーブフィッティング部14による配列変換のスキャン方向を識別するための情報であるスキャン方向識別情報を取得した場合には、スキャン方向識別情報により識別されるスキャン方向と逆方向にスキャンして二次元に配列する。
【0071】
逆変換部33は、逆カーブフィッティング部32から入力された変換係数に対して逆変換を行って残差ブロック画像を復元し、加算部34に出力する。逆変換は符号化装置1の逆変換部16と同じ処理である。
【0072】
加算部34は、逆変換部33から入力された残差ブロック画像と、予測部36から入力された予測ブロック画像の各画素値とを加算し、その結果を復号ブロック画像として記憶部35、及び復号装置4の外部に出力する。
【0073】
記憶部35は、加算部34から入力された復号ブロック画像を記憶するメモリである。
【0074】
予測部36は、記憶部35に記憶された復号済みの復号ブロック画像を参照し、エントロピー復号部31から入力された予測情報に従って予測処理を行って予測ブロック画像を生成し、加算部34に出力する。
【0075】
上述したように、復号装置4は、逆カーブフィッティング部32により、フィッティング関数情報に基づいて近似曲線を求め、該近似曲線によって規定されるデータを二次元に配列してブロックごとの変換係数を復元する。フィッティング関数を用いたフィッティング処理を行うことにより、量子化による符号化劣化を改善することができるようになる。
【0076】
(第5の実施形態)
つぎに、本発明の第5の実施形態に係る復号装置について説明する。
図10に、本発明の第5の実施形態に係る復号装置の構成例を示す。
図10に示す復号装置5は、エントロピー復号部31と、逆カーブフィッティング部32と、逆変換部33と、加算部34と、記憶部35と、予測部36と、逆量子化部37と、選択部38とを備え、符号化装置2により符号化されたデータを復号する。第5の実施形態に係る復号装置5は、第4の実施形態に係る復号装置4と比較して、逆カーブフィッティング部32と並列に逆量子化部37を更に備える点が相違する。その他の構成については第4の実施形態と同様であるため、適宜説明を省略する。
【0077】
エントロピー復号部31は、符号化装置2のエントロピー符号化部20と対をなし、エントロピー符号化部20で圧縮されたデータを復号し、フィッティング関数情報、量子化係数、及び予測情報を取得する。そして、フィッティング関数情報を逆カーブフィッティング部32に出力し、量子化係数を逆量子化部37に出力し、予測情報を予測部36に出力する。
【0078】
逆カーブフィッティング部32は、エントロピー復号部31から入力されたフィッティング関数情報に基づいて近似曲線を求める。そして、該近似曲線によって規定されるデータを二次元に配列してブロックごとの変換係数を復元し、逆変換部33に出力する。
【0079】
逆量子化部37は、エントロピー復号部31から入力された量子化係数に対し、量子化ステップを乗ずることによりブロックごとの変換係数を復元し、逆変換部33に出力する。
【0080】
逆変換部33は、逆カーブフィッティング部32又は逆量子化部37から入力された変換係数に対して逆変換を行って残差ブロック画像を復元し、加算部34に出力する。
【0081】
上述したように、復号装置5は、逆カーブフィッティング部32と並列に逆量子化部37を備えるため、符号化装置2により符号化されたデータを復号することができる。
【0082】
(第6の実施形態)
つぎに、本発明の第6の実施形態に係る復号装置について説明する。
図11に、本発明の第6の実施形態に係る復号装置の構成例を示す。
図11に示す復号装置6は、エントロピー復号部31と、逆カーブフィッティング部32と、逆変換部33と、加算部34と、記憶部35と、予測部36と、逆量子化部37とを備え、符号化装置3により符号化されたデータを復号する。第6の実施形態に係る復号装置6は、第4の実施形態に係る復号装置4と比較して、逆カーブフィッティング部32と直列に逆量子化部37を更に備える点が相違する。その他の構成については第4の実施形態と同様であるため、適宜説明を省略する。
【0083】
エントロピー復号部31は、符号化装置3のエントロピー符号化部20と対をなし、エントロピー符号化部20で圧縮されたデータを復号し、フィッティング関数情報及び予測情報を取得する。そして、フィッティング関数情報を逆カーブフィッティング部32に出力し、予測情報を予測部36に出力する。
【0084】
逆カーブフィッティング部32は、エントロピー復号部31から入力されたフィッティング関数情報に基づいて近似曲線を求める。そして、該近似曲線によって規定されるデータを二次元に配列してブロックごとの変換係数を復元し、逆量子化部37に出力する。
【0085】
逆量子化部37は、逆カーブフィッティング部32から入力された変換係数に対し、量子化ステップを乗ずることによりブロックごとの変換係数を復元し、逆変換部33に出力する。量子化ステップは符号化装置3から取得してもよいし、予め符号化装置3と共通の量子化テーブルを有していてもよい。
【0086】
逆変換部33は、逆量子化部37から入力された変換係数に対して逆変換を行って残差ブロック画像を復元し、加算部34に出力する。
【0087】
上述したように、復号装置6は、逆カーブフィッティング部32と直列に逆量子化部37を備えるため、符号化装置3により符号化されたデータを復号することができる。
【0088】
なお、上述した復号装置4,5,6として機能させるためにコンピュータを好適に用いることができ、そのようなコンピュータは、復号装置4,5,6の各機能を実現する処理内容を記述したプログラムを該コンピュータの記憶部に格納しておき、該コンピュータのCPUによってこのプログラムを読み出して実行させることで実現することができる。なお、このプログラムは、コンピュータ読取り可能な記録媒体に記録可能である。
【0089】
上述の実施形態は代表的な例として説明したが、本発明の趣旨及び範囲内で、多くの変更及び置換ができることは当業者に明らかである。したがって、本発明は、上述の実施形態によって制限するものと解するべきではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば、実施形態に記載の複数の構成ブロックを1つに組み合わせたり、あるいは1つの構成ブロックを分割したりすることが可能である。