(57)【要約】復号装置には、ブロック化された符号化データの復号を行う復号手段１０１、復号手段１０１による復号結果に０が含まれる場合、その０の個数分だけスキップした位置に復号結果を配置することにより、復号結果のブロック化を行う配置手段１０２、および復号結果の並べ替え順序が登録された並べ替えテーブル１０３が設けられ、配置手段１０２は、０の個数分だけスキップしながら、並べ替えテーブル１０３を参照することにより、復号手段１０１による復号結果を並べ替え後の位置に配置する。
2002101934.tif 000002
【特許請求の範囲】
【請求項１】
ブロック化された符号化データの復号を行う復号手段と、
前記復号手段による復号結果に０が含まれる場合、その０の個数分だけスキップした位置に前記復号結果を配置する配置手段とを備えることを特徴とする復号化装置。
【請求項２】
前記配置手段は、前記復号結果の並べ替え後の位置に直接配置することを特徴とする請求項１記載の復号化装置。
【請求項３】
ブロック化された符号化データの復号を行う復号手段と、
前記復号手段による復号結果に０が含まれる場合、その０の個数分だけスキップして前記復号結果を逆量子化する逆量子化手段と、
前記逆量子化結果を並べ替え後の位置に直接配置する配置手段とを備えることを特徴とする復号化装置。
【請求項４】
逆量子化で行われる演算処理の一部を分担しつつ、符号化データの復号を行う復号手段と、
前記復号手段で行われた演算処理の残りを行うことにより、前記復号手段からの出力結果を逆量子化する逆量子化手段とを備えることを特徴とする復号化装置。
【請求項５】
復号結果の並べ替え順序が登録された並べ替えテーブルと、
前記並べ替えテーブルを参照することにより、復号を行いつつ復号結果の並べ替えを行う復号・並べ替え手段とを備えることを特徴とする復号化装置。
【請求項６】
ブロック内におけるＤＣＴ係数の並べ替え順序が登録された並べ替えテーブルと、
ＤＣＴ係数の復号を行うごとに、前記並べ替えテーブルで指定される順序で、非零のＤＣＴ係数を初期化されたブロックに配置する復号・並べ替え手段とを備えることを特徴とする復号化装置。
【請求項７】
前記復号・並べ替え手段は、復号結果に“０”の個数が含まれる場合、その個数分だけ、前記並べ替えテーブルの参照および前記ブロックへの代入をスキップすることを特徴とする請求項５記載の復号化装置。
【請求項８】
情報源の演算結果が、前記情報源に割り当てられた符号に対応して登録されているルックアップテーブルと、
前記ルックアップテーブルを参照することにより、符号化された情報源の演算結果を取得する取得手段と、
前記取得された演算結果に基づいて逆量子化を行う逆量子化手段とを備えることを特徴とする復号化装置。
【請求項９】
前記情報源がＸであるとすると、前記演算結果は２Ｘ＋１であることを特徴とする請求項８記載の復号化装置。
【請求項１０】
復号を行いつつ、逆量子化を行う復号・逆量子化手段と、
前記復号・逆量子化手段による逆量子化結果をブロック化するブロック化手段とを備えることを特徴とする復号化装置。
【請求項１１】
情報源の演算結果が、前記情報源に割り当てられた符号に対応して登録されているルックアップテーブルをさらに備え、
前記復号・逆量子化手段は、前記ルックアップテーブルを参照することにより、符号化された情報源の演算結果を取得し、前記取得した演算結果に基づいて逆量子化を行うことを特徴とする請求項９記載の復号化装置。
【請求項１２】
復号結果の並べ替え順序が登録された並べ替えテーブルをさらに備え、
前記復号・逆量子化手段は、前記復号結果の並べ替え順序の参照結果に基づいて、前記復号結果の逆量子化を行うことを特徴とする請求項１０または１１記載の復号化装置。
【請求項１３】
前記ブロック化手段は、前記並べ替えテーブルを参照することにより、前記逆量子化結果を並べ替え後の順序でブロック化することを特徴とする請求項１０〜１２のいずれか１項記載の復号化装置。
【請求項１４】
ブロックの初期化を行う初期化手段をさらに備え、
前記復号・逆量子化手段は、復号結果に“０”の個数が含まれる場合、その“０”の個数分だけ逆量子化をスキップすることを特徴とする請求項１０〜１３記載の復号化装置。
【請求項１５】
前記ブロック化手段は、前記“０”の個数分だけ、前記並べ替えテーブルの参照および前記ブロックへの代入をスキップすることを特徴とする請求項１４記載の復号化装置。
【請求項１６】
符号の復号順序とは異なる順序で復号結果を配置しつつ、前記符号を復号することを特徴とする復号化方法。
【請求項１７】
ＤＣＴ係数が配置されるブロックを初期化するステップと、
復号結果に“０”を示す情報が含まれる場合、“０”についてはその後の処理をスキップして非零のＤＣＴ係数を前記ブロックに配置するステップとを備えることを特徴とする復号化方法。
【請求項１８】
ＤＣＴ係数が配置されるブロックを初期化するステップと、
符号化されたＤＣＴ係数を復号するステップと、
ＤＣＴ係数の復号が行われるごとに、非零のＤＣＴ係数の並べ替え順序を取得するステップと、
前記非零のＤＣＴ係数を前記取得された並べ替え順序で前記初期化されたブロック内に配置するステップとを備えることを特徴とする復号化方法。
【請求項１９】
復号と逆量子化を各ブロックごとに一括して行うことを特徴とする復号化方法。
【請求項２０】
復号と並べ替えと逆量子化とを各ブロックごとに一括して行うことを特徴とする復号化方法。
【請求項２１】
符号を復号するごとに逆量子化を行うステップと、
復号順序とは異なる順序で前記逆量子化結果をブロック化するステップとを備えることを特徴とする復号化方法。
【請求項２２】
ＤＣＴ係数が配置されるブロックを初期化するステップと、
復号結果に“０”を示す情報が含まれる場合、“０”については逆量子化処理をスキップするステップと、
復号された非零のＤＣＴ係数を逆量子化し、前記逆量子化結果をブロックに配置するステップとを備えることを特徴とする復号化方法。
【請求項２３】
ＤＣＴ係数が配置されるブロックを初期化するステップと、
復号結果に“０”を示す情報が含まれる場合、“０”については逆量子化処理をスキップするステップと、
復号された非零のＤＣＴ係数の並べ替え順序を取得するステップと、
前記非零のＤＣＴ係数を逆量子化し、前記逆量子化結果を前記並べ替え順序で前記ブロック内に配置するステップとを備えることを特徴とする復号化方法。
【請求項２４】
ジグザグスキャンまたはオルタネートスキャンされたＤＣＴ係数をラスタスキャン順に並べ替えるための配置位置が登録されていることを特徴とするルックアップテーブル。
【請求項２５】
情報源の演算結果が、前記情報源に割り当てられた符号に対応して登録されていることを特徴とするルックアップテーブル。
【請求項２６】
ブロック化された符号を入力するステップと、
前記符号が復号されるごとに、前記符号の配置状態とは異なるように、復号結果を前記ブロック内に配置するステップとをコンピュータに実行させるための復号化プログラム。
【請求項２７】
符号化データの復号を行うステップと、
前記復号結果に０が含まれる場合、その０の個数分だけスキップして前記復号結果をブロック内に配置するステップとをコンピュータに実行させるための復号化プログラム。
【請求項２８】
ブロック化された符号を入力するステップと、
前記符号を復号しつつ、逆量子化を行うステップと、
配置順序を変更しつつ、前記逆量子化結果をブロック化するステップとをコンピュータに実行させるための復号化プログラム。
【発明の詳細な説明】
技術分野
本発明は、復号化装置、復号化方法、ルックアップテーブルおよび復号化プログラムに関し、特に、動画像データの復号に適用して好適なものである。
背景技術
インターネット上や無線ネットワーク上での利用を主なターゲットとして規格化された動画像符号化方式として、ＭＰＥＧ−４（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  Ｐｈａｓｅ４）方式がある。
図１１は、ＭＰＥＧ−４方式による復号化装置の構成例を示すブロック図である。
図１１において、可変長符号化された入力ビット系列が可変長復号器１に入力されると、可変長復号器１は、符号表１５の参照結果に基づいて可変長符号を復号し、ＤＣＴ（Ｄｉｓｃｒｅｔｅ  Ｃｏｓｉｎｅ  Ｔｒａｎｓｆｏｒｍ）係数、動きベクトルおよびヘッダ情報を得る。なお、符号表１５には、可変長符号とＤＣＴ係数、可変長符号と動きベクトルまたは可変長符号とヘッダ情報との対応関係が登録される。
可変長復号器１で復号されたＤＣＴ係数は並べ替え部２に出力され、ジグザグスキャンまたはオルタネートスキャンされているＤＣＴ係数が、ラスタスキャン順に並べ替えられる。
図１２は、ＭＰＥＧ−４方式によるＤＣＴ係数のスキャン方法を示す図である。図１２において、図１２（ａ）はジグザグスキャン、図１２（ｂ）は垂直優先オルタネートスキャン、図１２（ｃ）は水平優先オルタネートスキャン、図１２（ｄ）はラスタスキャンを示し、８×８にブロック化されたＤＣＴ係数はこれらの順序でスキャンされる。
なお、インターマクロブロックについては、全てジグザグスキャンが行われる。一方、イントラマクロブロックについては、ＡＣ成分の予測が無効の場合は、ジグザグスキャンが行われ、対象ブロックの予測が左に隣接するブロックから行われる場合は、図１２（ｂ）の垂直優先オルタネートスキャンが行われ、対象ブロックの予測が上に隣接するブロックから行われる場合は、図１２（ｃ）の水平優先オルタネートスキャンが行われる。
なお、マクロブロックとは、フレーム内を１６×１６画素のブロックに分割した領域をいい、インターマクロブロックでは、現在のフレームと過去または未来のフレームとの差分が符号化の対象とされ、イントラマクロブロックでは、現在のフレームの信号が符号化の対象とされる。
ラスタスキャン順に並べ替えられたＤＣＴ係数はＤＣ／ＡＣ予測部３に出力され、イントラブロックの全てのＤＣ成分および予測処理されたＡＣ成分を対象として、ＤＣＴ係数の予測値を加算することにより、真のＤＣＴ係数に戻される。ＤＣ／ＡＣ予測部３で得られたＤＣＴ係数は逆量子化部４に出力され、逆量子化が行われる。ここで、ＭＰＥＧ−４方式では、Ｈ．２６３方式またはＭＰＥＧ方式の逆量子化方法が適宜選択されて逆量子化される。ただし、ＭＰＥＧ方式の逆量子化方法を選択した場合には、ＭＰＥＧ−２方式で採用されている逆ＤＣＴミスマッチ対策を行うことにより、演算精度の誤差が低減される。
図１３は、ＭＰＥＧ−４方式によるＤＣＴ係数の復号化方法を、インターマクロブロックを例にとって示す図である。
図１３（ａ）において、可変長復号器１は８×８のブロックを初期化する。そして、符号表１５を参照することにより、ビット系列として入力された符号に対応するＤＣＴ係数ＱＦを取得する。
図１３（ｅ）は、符号表１２に登録されている符号とＤＣＴ係数ＱＦとの対応関係を示す図である。
図１３（ｅ）において、ＤＣＴ係数ＱＦ＝“１”、“２”、“３”、“４”に対し、“０ｓ”、“１０ｓ”、“１１０ｓ”、“１１１０ｓ”という符号がそれぞれ割り当てられている。なお、“ｓ”は、０または１の値をとり、“ｓ”＝０ならば、ＱＦは正、“ｓ”＝１ならば、ＱＦは負を意味する。
可変長復号器１は、符号表１５からＤＣＴ係数ＱＦを取得すると、図１３（ｂ）に示すように、そのＤＣＴ係数ＱＦを、図１３（ａ）の初期化されたブロック内に復号順に並べる。例えば、ＤＣＴ係数ＱＦの復号結果として、“４、０、−２、０、１、０、０、・・・”の値が順次得られたとすると、これらのＤＣＴ係数ＱＦをその順序でブロック内に並べる。
ここで、図１３（ｂ）のブロックでは、ＤＣＴ係数ＱＦがジグザグスキャン順に並んでいる。このため、並べ替え部２は、図１３（ｂ）のブロック化されたＤＣＴ係数ＱＦをスキャンし、図１３（ｃ）に示すように、図１３（ｂ）のＤＣＴ係数ＱＦをラスタスキャン順に並べ替える。この結果、図１３（ｂ）のブロックでは、２番目に配置されているＤＣＴ係数ＱＦ＝“−２”が８番目に配置し直され、図１３（ｂ）のブロックでは、４番目に配置されているＤＣＴ係数ＱＦ＝“１”が９番目に配置し直される。
ＤＣＴ係数ＱＦの並べ替えが終了すると、逆量子化部４は、図１３（ｃ）のブロック化されたＤＣＴ係数ＱＦを順次スキャンし、ＤＣＴ係数ＱＦが“０”かどうかを判別する。そして、非零のＤＣＴ係数ＱＦの演算処理を行うことにより、図１３（ｃ）のＤＣＴ係数ＱＦを逆量子化する。
ここで、ＭＰＥＧ−４方式では、ＤＣＴ係数ＱＦが正の場合の逆量子化は、以下の式によって行われる。
・イントラマクロブロックの場合：
Ｈ．２６３方式で量子化されている場合、
Ｆ＝（２｜ＱＦ｜＋１）・ＱＰ−ｄ                      ・・・（１）
ＭＰＥＧ方式で量子化されている場合、
Ｆ＝｜ＱＦ｜・ＱＰ・ＱＭ／８                          ・・・（２）
・インターマクロブロックの場合：
Ｈ．２６３方式で量子化されている場合、
Ｆ＝（２｜ＱＦ｜＋１）・ＱＰ−ｄ                      ・・・（３）
ＭＰＥＧ方式で量子化されている場合、
Ｆ＝（２｜ＱＦ｜＋１）・ＱＰ・ＱＭ／１６              ・・・（４）
ただし、
ＱＰが奇数の場合：ｄ＝０
ＱＰが偶数の場合：ｄ＝１
また、ＱＦは各ＤＣＴ係数、Ｆは逆量子化後の値、ＱＰは量子化パラメータ、ＱＭは係数位置に対応する量子化行列の値である。
なお、ＤＣＴ係数ＱＦが負の場合、（１）〜（４）式の計算の最後にＦの符号を反転させる。
ただし、イントラブロックのＤＣ成分は、（１）または（２）式に従わず、量子化パラメータＱＰに応じて定義された定数を乗ずる。
例えば、量子化がＨ．２６３方式で行われ、逆量子化を行うブロックがインターブロック、量子化パラメータＱＰが８とすると、図１３（ｃ）のブロックのＱＦ＝“４”、“−２”、“１”は、逆量子化処理により、図１３（ｄ）のブロックのＦ＝“７１”、“−３９”、“２３”にそれぞれ変換される。
図１４は、ＭＰＥＧ−４方式によるＤＣＴ係数の復号化方法を、インターマクロブロックを例にとって示すフローチャートである。
図１４において、可変長復号器１はブロックの初期化を行い（ステップＳ２１）、符号表１５を参照しながら、可変長符号化されたＤＣＴ係数を復号する（ステップＳ２３）。
そして、ブロック内の全てのＤＣＴ係数の復号が終了すると（ステップＳ２２）、並べ替え部２は、復号された全てのＤＣＴ係数をスキャンすることにより（ステップＳ２４）、ＤＣＴ係数をラスタスキャン順に並べ替える（ステップＳ２５）。
次に、逆量子化部４は、ブロック内の全てのＤＣＴ係数の逆量子化が終了したかどうかを判断し（ステップＳ２６）、ブロック内の全てのＤＣＴ係数の逆量子化が終了していない場合、ＤＣＴ係数が“０”かどうかを判断する（ステップＳ２７）。そして、ＤＣＴ係数が“０”でない場合、そのＤＣＴ係数を逆量子化し（ステップＳ２８）、以上の処理をブロック内の全てのＤＣＴ係数の逆量子化が終了するまで繰り返す。
ブロック化された逆量子化後のＤＣＴ係数は逆ＤＣＴ部５に出力され、逆離散コサイン変換された後、加算器９に出力される。
一方、可変長復号器１で復号された動きベクトルは動き補償部８に出力され、近傍の動きベクトルから得られる予測値を加算することにより、実際の動きベクトルを得る。そして、この動きベクトルと過去の参照フレーム７とを用いて動き補償を行い、その補償結果を加算器９に出力する。
加算器９は、逆ＤＣＴ部５から出力される逆ＤＣＴ演算結果と動き補償部８から出力される補償結果とを加算し、その加算結果を現在のフレーム６として出力する。この結果、イントラマクロブロックの場合は、逆ＤＣＴ演算結果が現在のフレーム６として出力され、インターマクロブロックの場合は、逆ＤＣＴ演算結果と動き補償結果との加算値が現在のフレーム６として出力される。
しかしながら、従来のＤＣＴ係数の復号化方法では、ブロック内の全てのＤＣＴ係数を復号した後に、それらのＤＣＴ係数の並べ替えが行われていた。
このため、ブロック内のＤＣＴ係数の復号および並べ替えを行うためには、ブロック内の全てのＤＣＴ係数を２回スキャン（図１４のステップＳ２２、Ｓ２５）する必要があり、復号処理に占める負荷が大きくなるという問題があった。
さらに、従来のＤＣＴ係数の復号化方法では、図１３（ｂ）の６４個の全てのＤＣＴ係数の並べ替えが行われるため、最初にブロックを“０”に初期化した後、さらに“０”を代入する処理が頻繁に行われ、無駄な並べ替えが発生するという問題があった。特に、動画像では、ブロック内に占める“０”の割合が多く、並べ替えに無駄が多かった。
また、従来のＤＣＴ係数の逆量子化方法では、ＤＣＴ係数の復号後に、（１）〜（４）式の演算処理を行う必要があり、逆量子化処理にかかる負荷が大きかった。
さらに、従来のＤＣＴ係数の逆量子化方法では、ＤＣＴ係数が“０”かどうかの判別を、図１３（ｃ）のブロック化された６４個全てのＤＣＴ係数について行う必要があり、逆量子化処理の効率が悪かった。
そこで、本発明の第１の目的は、復号結果の並べ替えを行う際の負荷を軽減することが可能な復号化装置、復号化方法、ルックアップテーブルおよび復号化プログラムを提供することである。
また、本発明の第２の目的は、逆量子化処理の効率を向上させることが可能な復号化装置、復号化方法および復号化プログラムを提供することである。
発明の開示
上述した課題を解決するために、本発明に係る復号化装置によれば、ブロック化された符号化データの復号を行う復号手段と、前記復号手段による復号結果に０が含まれる場合、その０の個数分だけスキップした位置に前記復号結果を配置する配置手段とを備えている。
これにより、復号結果が０の値については、ブロックへの代入などの処理を省略することが可能となり、復号処理を高速化することが可能となる。
また、本発明に係る復号化装置の別形態によれば、前記配置手段は、前記復号結果の並べ替え後の位置に直接配置する。
これにより、復号結果の並べ替えを行うために、復号結果をスキャンする必要がなくなることから、復号処理を高速化することが可能となる。
また、本発明に係る復号化装置の別形態によれば、ブロック化された符号化データの復号を行う復号手段と、前記復号手段による復号結果に０が含まれる場合、その０の個数分だけスキップして前記復号結果を逆量子化する逆量子化手段と、前記逆量子化結果を並べ替え後の位置に直接配置する配置手段とを備えている。
これにより、復号結果の並べ替えを行うために、復号結果をスキャンする必要がなくなるとともに、復号結果が０の値については、逆量子化処理を省略することが可能となり、復号処理を高速化することが可能となる。
また、本発明に係る復号化装置の別形態によれば、逆量子化で行われる演算処理の一部を分担しつつ、符号化データの復号を行う復号手段と、前記復号手段で行われた演算処理の残りを行うことにより、前記復号手段からの出力結果を逆量子化する逆量子化手段とを備えている。
これにより、逆量子化処理にかかる負荷を軽減することが可能となり、逆量子化処理の効率を向上させることができる。
また、本発明に係る復号化装置の別形態によれば、復号結果の並べ替え順序が登録された並べ替えテーブルと、前記並べ替えテーブルを参照することにより、復号を行いつつ復号結果の並べ替えを行う復号・並べ替え手段とを備えている。
これにより、復号処理と並べ替え処理とで使われる同一の制御構造を共通化することができ、同一の制御を何度も繰り返して行う必要がなくなることから、復号結果の並べ替えを行う際の負荷を軽減することが可能となる。
また、本発明に係る復号化装置の別形態によれば、ブロック内におけるＤＣＴ係数の並べ替え順序が登録された並べ替えテーブルと、ＤＣＴ係数の復号を行うごとに、前記並べ替えテーブルで指定される順序で、非零のＤＣＴ係数を初期化されたブロックに配置する復号・並べ替え手段とを備えている。
これにより、ブロック内の全てのＤＣＴ係数を１回スキャンするだけで、ブロック内のＤＣＴ係数の復号および並べ替えを行うことが可能となるとともに、最初にブロックを“０”に初期化した後、さらに“０”を代入する処理を省略することが可能となり、復号結果の並べ替えを行う際の負荷を軽減することができる。
また、本発明に係る復号化装置の別形態によれば、前記復号・並べ替え手段は、復号結果に“０”の個数が含まれる場合、その“０”の個数分だけ、前記並べ替えテーブルの参照および前記ブロックへの代入をスキップする。
これにより、復号結果が“０”の値については、並べ替えテーブルの参照やブロックへの代入を省略することが可能となり、復号処理を高速化することが可能となる。
また、本発明に係る復号化装置の別形態によれば、情報源の演算結果が、前記情報源に割り当てられた符号に対応して登録されているルックアップテーブルと、前記ルックアップテーブルを参照することにより、符号化された情報源の演算結果を取得する取得手段と、前記取得された演算結果に基づいて逆量子化を行う逆量子化手段とを備えている。
これにより、情報源の復号処理を行うだけで、復号された情報源の演算結果を得ることが可能となり、情報源の復号時の負荷を増大させることなく、逆量子化で行われる演算処理の少なくとも一部を情報源の復号処理に受け持たせることが可能となることから、逆量子化処理の効率を向上させることができる。
また、本発明に係る復号化装置の別形態によれば、前記情報源がＸであるとすると、前記演算結果は２Ｘ＋１である。
これにより、逆量子化処理で行われる演算処理の一部を復号と同時に行うことが可能となり、他の処理にかかる負荷を増大させることなく、逆量子化処理の効率を向上させることができる。
また、本発明に係る復号化装置の別形態によれば、復号を行いつつ、逆量子化を行う復号・逆量子化手段と、前記復号・逆量子化手段による逆量子化結果をブロック化するブロック化手段とを備えている。
これにより、復号処理と逆量子化処理とで使われる同一の制御構造を共通化することができ、同一の判断処理、ループ処理あるいは分岐処理などの制御を何度も繰り返して行う必要がなくなることから、逆量子化処理を行う際の負荷を軽減することが可能となる。
また、本発明に係る復号化装置の別形態によれば、情報源の演算結果が、前記情報源に割り当てられた符号に対応して登録されているルックアップテーブルをさらに備え、前記復号・逆量子化手段は、前記ルックアップテーブルを参照することにより、符号化された情報源の演算結果を取得し、前記取得した演算結果に基づいて逆量子化を行う。
これにより、逆量子化のためだけに判断処理やループ処理などの制御を行う必要がなくなるとともに、逆量子化処理で行われる演算処理の負荷も軽減することが可能となり、逆量子化処理の効率をより一層向上させることが可能となる。
また、本発明に係る復号化装置の別形態によれば、復号結果の並べ替え順序が登録された並べ替えテーブルをさらに備え、前記復号・逆量子化手段は、前記復号結果の並べ替え順序の参照結果に基づいて、前記復号結果の逆量子化を行う。
これにより、逆量子化を行う際に、復号結果の並べ替え順序を確定させる必要がある場合においても、復号結果をブロックに代入することなく、逆量子化を行うことが可能となり、逆量子化処理を行う際の負荷を軽減することが可能となる。
また、本発明に係る復号化装置の別形態によれば、前記ブロック化手段は、前記並べ替えテーブルを参照することにより、前記逆量子化結果を並べ替え後の順序でブロック化する。
これにより、復号、並べ替えおよび逆量子化で使われる同一の制御構造を共通化することができ、これら３つの処理で個別に行われていた同一の制御を一括して行うことが可能となることから、逆量子化処理を行う際の負荷をより一層軽減することが可能となる。
また、本発明に係る復号化装置の別形態によれば、ブロックの初期化を行う初期化手段をさらに備え、前記復号・逆量子化手段は、復号結果に“０”の個数が含まれる場合、その“０”の個数分だけ逆量子化をスキップする。
これにより、逆量子化を行う場合に、“０”かどうかの判断を省略することが可能となり、逆量子化処理の効率を向上させることができる。
また、本発明に係る復号化装置の別形態によれば、前記ブロック化手段は、前記“０”の個数分だけ、前記並べ替えテーブルの参照および前記ブロックへの代入をスキップする。
これにより、復号結果が“０”の値については、並べ替えテーブルの参照やブロックへの代入を省略することが可能となり、非零のＤＣＴ係数のみについての処理を行うだけで、逆量子化を行うことが可能となることから、復号処理を高速化することが可能となる。
また、本発明に係る復号化方法によれば、符号の復号順序とは異なる順序で復号結果を配置しつつ、前記符号を復号する。
これにより、復号の完了と同時に並べ替えも完了させることができ、復号完了後に、改めて並べ替えを行う必要がなくなることから、復号結果の並べ替えを行う際の負荷を軽減して、復号を高速化することが可能となる。
また、本発明に係る復号化方法の別形態によれば、ＤＣＴ係数が配置されるブロックを初期化するステップと、復号結果に“０”を示す情報が含まれる場合、“０”についてはその後の処理をスキップして非零のＤＣＴ係数を前記ブロックに配置するステップとを備えている。
これにより、非零のＤＣＴ係数についての処理を行うだけで、ＤＣＴ係数のブロック化を完成させることができ、最初にブロックを“０”に初期化した後、さらに“０”を代入するなどの無駄な処理を省くことが可能となることから、ＤＣＴ係数の復号処理を効率よく行うことが可能となる。
また、本発明に係る復号化方法の別形態によれば、ＤＣＴ係数が配置されるブロックを初期化するステップと、符号化されたＤＣＴ係数を復号するステップと、ＤＣＴ係数の復号が行われるごとに、非零のＤＣＴ係数の並べ替え順序を取得するステップと、前記非零のＤＣＴ係数を前記取得された並べ替え順序で前記初期化されたブロック内に配置するステップとを備えている。
これにより、ブロック内の全てのＤＣＴ係数を１回スキャンするだけで、ブロック内のＤＣＴ係数の復号と同時に並べ替えも行うことができ、並べ替えを行うためだけに、ブロック内のＤＣＴ係数を再度スキャンする必要がなくなることから、復号結果の並べ替えを行う際の負荷を軽減することが可能となる。
また、本発明に係る復号化方法の別形態によれば、復号と逆量子化を各ブロックごとに一括して行う。
これにより、復号と逆量子化とで同一の判断処理やループ処理などの制御が行われる場合、これらの制御を１度で済ますことが可能となり、逆量子化を行う際の負荷を軽減して、復号を高速化することが可能となる。
また、本発明に係る復号化方法の別形態によれば、復号と並べ替えと逆量子化とを各ブロックごとに一括して行う。
これにより、復号と並べ替えと逆量子化とで同一の判断処理やループ処理などの制御が行われる場合、これらの制御を１度で済ますことが可能となり、逆量子化を行う際の負荷を軽減して、復号を高速化することが可能となる。
また、本発明に係る復号化方法の別形態によれば、符号を復号するごとに逆量子化を行うステップと、復号順序とは異なる順序で前記逆量子化結果をブロック化するステップとを備えている。
これにより、復号、逆量子化および並べ替えで用いられる同一の判断処理やループ処理などの制御を共通化して、これらの処理を一括して行うことが可能となることから、逆量子化を行う際の負荷を軽減して、復号を高速化することが可能となる。
また、本発明に係る復号化方法の別形態によれば、ＤＣＴ係数が配置されるブロックを初期化するステップと、復号結果に“０”を示す情報が含まれる場合、“０”については逆量子化処理をスキップするステップと、復号された非零のＤＣＴ係数を逆量子化し、前記逆量子化結果をブロックに配置するステップとを備えている。
これにより、ＤＣＴ係数が“０”かどうかの判断を行うことなく、逆量子化処理を行うことが可能となり、逆量子化処理の効率を向上させることが可能となる。
また、本発明に係る復号化方法の別形態によれば、ＤＣＴ係数が配置されるブロックを初期化するステップと、復号結果に“０”を示す情報が含まれる場合、“０”については逆量子化処理をスキップするステップと、復号された非零のＤＣＴ係数の並べ替え順序を取得するステップと、前記非零のＤＣＴ係数を逆量子化し、前記逆量子化結果を前記並べ替え順序で前記ブロック内に配置するステップとを備えている。
これにより、ブロック内の非零のＤＣＴ係数を１回スキャンするだけで、ブロック内のＤＣＴ係数の復号、並べ替えおよび逆量子化を行うことができ、逆量子化を行う際の負荷を軽減することが可能となる。
また、本発明に係るルックアップテーブルによれば、ジグザグスキャンまたはオルタネートスキャンされたＤＣＴ係数をラスタスキャン順に並べ替えるための配置位置が登録されている。
これにより、ルックアップテーブルを参照することで、ＤＣＴ係数の復号時の並べ替えを行うことが可能となる。
また、本発明に係るルックアップテーブルの別形態によれば、情報源の演算結果が、前記情報源に割り当てられた符号に対応して登録されている。
これにより、情報源の復号時にルックアップテーブルを参照するだけで、情報源の演算結果を取得することが可能となり、情報源の復号後に演算処理を行う場合の負荷を軽減することが可能となる。
また、本発明に係る復号化プログラムによれば、ブロック化された符号を入力するステップと、前記符号が復号されるごとに、前記符号の配置状態とは異なるように、復号結果を前記ブロック内に配置するステップとをコンピュータに実行させる。
これにより、復号化プログラムをインストールすることで、復号結果の並べ替えを行う際の負荷を軽減することができ、ハード構成を変更することなく、復号を高速化することが可能となる。
また、本発明に係る復号化プログラムの別形態によれば、符号化データの復号を行うステップと、前記復号結果に０が含まれる場合、その０の個数分だけスキップして前記復号結果をブロック内に配置するステップとをコンピュータに実行させる。
これにより、復号化プログラムをインストールすることで、復号結果が０の値については、ブロックへの代入を省略することが可能となり、ハード構成を変更することなく、復号処理を高速化することが可能となる。
また、本発明に係る復号化プログラムの別形態によれば、ブロック化された符号を入力するステップと、前記符号を復号しつつ、逆量子化を行うステップと、配置順序を変更しつつ、前記逆量子化結果をブロック化するステップとをコンピュータに実行させることを特徴とする。
これにより、復号化プログラムをインストールすることで、逆量子化を行う際の負荷を軽減することができ、ハード構成を変更することなく、復号を高速化することが可能となる。
発明を実施するための最良の形態
以下、本発明の実施形態に係わる復号化装置および復号化方法について、図面を参照しながら説明する。
図１は、本発明の第１実施形態に係わる復号化装置の構成を示すブロック図である。
図１において、復号化装置には、復号手段１０１および復号手段１０２が設けられている。ここで、復号手段１０１は、ブロック化された符号化データの復号を行い、配置手段１０２は、復号手段１０１による復号結果に０が含まれる場合、その０の個数分だけスキップした位置に復号結果を配置することにより、復号結果のブロック化を行う。
また、復号化装置には、並べ替えテーブル１０３が設けられ、並べ替えテーブル１０３には、復号結果の並べ替え順序が登録される。例えば、並べ替えテーブル１０３には、ジグザグスキャンまたはオルタネートスキャンされたＤＣＴ係数をラスタスキャン順に並べ替えるための配置位置を登録することができる。
そして、配置手段１０２は、並べ替えテーブル１０３を参照しつつ、復号手段１０１による復号結果をブロック内に配置することにより、復号手段１０１による復号結果を並べ替え後の位置に直接配置することができる。
これにより、復号結果が０の値については、ブロックへの代入などの処理を省略することが可能となるとともに、復号結果の並べ替えを行うために、復号結果をスキャンする必要がなくなることから、復号処理を高速化することが可能となる。
図２は、本発明の第２実施形態に係わる復号化装置の構成を示すブロック図である。なお、図２の構成は、図１１の可変長復号器１および並べ替え部２の代わりに、復号・並べ替え部１１および並べ替えテーブル１２が設けられ、その他の構成は、図１１と同様の構成を用いることができる。
ここで、復号・並べ替え部１１は、８×８のブロックを“０”に初期化し、非零のＤＣＴ係数を１つ復号するごとに、並べ替えテーブル１２を参照する。そして、並べ替えテーブル１２で指定される順序で、復号された非零のＤＣＴ係数を８×８のブロック内に配置する。非零の全てのＤＣＴ係数の復号および並べ替えが終了すると、ブロック化されたＤＣＴ係数をＤＣ／ＡＣ予測部３に出力する。
ここで、復号・並べ替え部１１は、非零のＤＣＴ係数を、例えば、（“０”の個数）と（非零のＤＣＴ係数の値）と（最後の非零係数であるか否かを示すフラグ）との３つを単位として復号する。そして、復号結果に含まれる（“０”の個数）だけ、並べ替えテーブル２の参照位置をスキップし、そのスキップ後の参照位置で示される配置位置に非零のＤＣＴ係数の値を代入する。
これにより、並べ替えテーブル１２の参照および復号結果のブロックへの代入を、非零のＤＣＴ係数について行うだけで、１ブロック分の復号および並べ替えを完結させることができ、復号処理を高速化することができる。特に、動画像は、ブロック内での“０”の占める割合が多いことから、その効果が大きい。
並べ替えテーブル１２は、ブロック内におけるＤＣＴ係数の並べ替え順序を登録する。例えば、復号されるＤＣＴ係数がジグザグスキャンされている場合、そのＤＣＴ係数をラスタスキャン順に並べ替えるためのブロック内の位置を登録する。
図３（ａ）は、ジグザグスキャンされているＤＣＴ係数をラスタスキャン順に並べ替えるための並べ替えテーブル１２の構成を示す図である。
図３（ａ）において、ジグザグスキャンされているＤＣＴ係数をラスタスキャン順に並べ替えるためには、例えば、０番目の位置のＤＣＴ係数を０番目の位置に、１番目の位置のＤＣＴ係数を１番目の位置に、２番目の位置のＤＣＴ係数を８番目の位置に、３番目の位置のＤＣＴ係数を１６番目の位置に配置し直す必要がある。このため、並べ替えテーブル１２には、ＤＣＴ係数の並べ替え後の位置が８×８のブロックにラスタスキャン順に登録される。
図３は、本発明の一実施形態に係わるＤＣＴ係数の復号化方法を示す図である。図３（ｂ）において、図２の復号・並べ替え部１１は、８×８のブロックを“０”に初期化する。
続いて、復号・並べ替え部１１は、最初のＤＣＴ係数を復号し、復号結果として、例えば、（“０”の個数＝０）と（非零のＤＣＴ係数の値＝“４”）と（最後の非零係数であるか否かを示すフラグ＝“偽”）とが得られたとすると、図３（ａ）の並べ替えテーブル１２の０番目の位置を参照する。この結果、０番目のＤＣＴ係数の復号結果の配置位置として０番目が得られたとすると、図３（ｃ）に示すように、ブロックの０番目の位置に“４”を配置する。
続いて、復号・並べ替え部１１は、次のＤＣＴ係数を復号し、復号結果として、例えば、（“０”の個数＝１）と（非零のＤＣＴ係数の値＝“−２”）と（最後の非零係数であるか否かを示すフラグ＝“偽”）が得られたとすると、図３（ａ）の並べ替えテーブル１２の参照位置を“０”の個数分＝１だけスキップし、並べ替えテーブル１２の２番目の位置を参照する。この結果、今回の非零のＤＣＴ係数の復号結果の配置位置として８番目が得られたとすると、図３（ｃ）に示すように、非零のＤＣＴ係数の値＝“−２”をブロックの８番目の位置に配置する。
ここで、図３（ｂ）のブロックの初期化時に“０”は既に代入されているため、“−２”をブロックの８番目の位置に配置する際に、“０”のブロックへの代入を“０”の個数分＝１だけスキップした場合においても、“０”の配置位置が空のままになることはない。
続いて、復号・並べ替え部１１は、次のＤＣＴ係数を復号し、復号結果として、例えば、（“０”の個数＝１）と（非零のＤＣＴ係数の値＝“１”）と（最後の非零係数であるか否かを示すフラグ＝“真”）が得られたとすると、図３（ａ）の並べ替えテーブル１２の参照位置を“０”の個数分＝１だけスキップし、並べ替えテーブル１２の４番目の位置を参照する。この結果、今回の非零のＤＣＴ係数の復号結果の配置位置として９番目が得られたとすると、図３（ｃ）に示すように、非零のＤＣＴ係数の値＝“１”をブロックの９番目の位置に配置する。そして、（最後の非零係数であるか否かを示すフラグ＝“真”）であるため、１ブロック分の復号を終了し、８×８の１ブロック分の復号結果をＤＣ／ＡＣ予測部３に出力する。
このように、復号を行いながら並べ替えを行うことにより、復号の完了と同時に並べ替えも完了させることができ、復号されたＤＣＴ係数をラスタスキャン順に並べ替えるために、ブロック化されたＤＣＴ係数を改めてスキャンする必要がなくなることから、復号処理を高速化することができる。
また、復号されたＤＣＴ係数を並べ替えながらブロックに配置することが可能となることから、並べ替え後の６４個の係数を保持するための記憶領域を用意するだけで、並べ替え前の６４個の係数を保持するための記憶領域を不要とすることができ、記憶容量を削減することが可能となる。
また、ブロック全体を“０”に初期化して復号が開始されるため、ＤＣＴ係数が“０”の場合には、その値をブロックに代入する必要がなくなり、“０”の個数分だけ処理をスキップすることが可能となることから、処理のさらなる高速化が可能となる。
なお、上述した実施形態では、復号・並べ替え部１１は、非零のＤＣＴ係数を復号する場合、（“０”の個数）と（非零のＤＣＴ係数の値）と（最後の非零係数であるか否かを示すフラグ）との３つを単位とする方法について説明したが、これ以外の方法で復号するようにしてもよい。
例えば、非零のＤＣＴ係数を、（“０”の個数）と（非零のＤＣＴ係数の値）との組を単位として復号するようにしてもよい。この場合、ブロック内のそれ以降の係数が“０”であることを示すためのＥＯＢ（Ｅｎｄ  ｏｆ  Ｂｌｏｃｋ）符号が復号された時に、１ブロック分の復号を終了することができる。
図４は、本発明の一実施形態に係わるＤＣＴ係数の復号化方法を示すフローチャートである。
図４において、復号・並べ替え部１は、ブロックの初期化を行う（ステップＳ１）。
次に、ブロック内の非零の全てのＤＣＴ係数の復号が終了していない場合（ステップＳ２）、可変長符号化されたＤＣＴ係数を復号する。そして、その復号結果に含まれる“０”の個数分だけ、並べ替えテーブル１２の参照位置をスキップし、そのスキップ後の参照位置で特定される配置位置を取得する。そして、復号された非零のＤＣＴ係数を、並べ替えテーブル１２から取得された配置位置に代入する。
以上の動作を非零の全てのＤＣＴ係数について行い、非零の全てのＤＣＴ係数についての処理が終了すると、ブロック化されたＤＣＴ係数をＤＣ／ＡＣ予測部３に出力する。
このように、並べ替えテーブル１２を参照し、ＤＣＴ係数の復号を行いつつＤＣＴ係数の並べ替えを行うことにより、非零のＤＣＴ係数を１回スキャン（図３のステップＳ２）するだけで、ブロック内の全てのＤＣＴ係数の復号および並べ替え結果を得ることが可能となり、復号処理に占める負荷を軽減することができる。
なお、上述した実施形態では、ＭＰＥＧ−４方式に適用した場合について説明したが、これ以外の方式に適用してもよく、例えば、ＭＰＥＧ−１、２方式、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式などに適用するようにしてもよい。
また、並べ替えテーブル１２として、ＤＣＴ係数がジグザグスキャンされている場合を例にとって説明したが、オルタネートスキャンに適用してもよい。また、ジグザグスキャンまたはオルタネートスキャンに応じて、並べ替えテーブル１２を切り替えるようにしてもよい。
図５は、本発明の第３実施形態に係わる復号化装置の構成を示すブロック図である。
図５において、復号化装置には、復号手段２０１および逆量子化手段２０２が設けられている。ここで、復号手段２０１は、逆量子化で行われる演算処理の一部を分担しつつ、符号化データの復号を行い、逆量子化手段２０２は、復号手段２０１で行われた演算処理の残りを行うことにより、復号手段２０１からの出力結果を逆量子化する。
また、復号化装置には、演算テーブル２０３が設けられ、演算テーブル２０３には、情報源に割り当てられた符号と、情報源の演算結果との対応関係が登録されている。例えば、情報源がＸであるとすると、情報源の演算結果として２Ｘ＋１という値を登録することができる。
そして、復号手段２０１は、符号化データが入力されると、演算テーブル２０３を参照することにより、その符号化データに対応した情報源の演算結果を取得し、その情報源の演算結果を逆量子化手段２０２に出力する。
そして、逆量子化手段２０２は、復号手段２０１から受け取った情報源の演算結果に対して、演算処理を行うことにより、逆量子化を行う。
これにより、復号手段２０１が、情報源の演算結果を演算テーブル２０３から取得するだけで、逆量子化で行われる演算処理の一部を完了させることができ、逆量子化手段２０２が、残りの演算処理を行うことで、逆量子化を完了させることができる。
このため、復号手段２０１における負荷を増大させることなく、逆量子化手段２０２で行われる逆量子化処理の負荷を軽減することができ、逆量子化処理の効率を向上させることができる。
図６は、本発明の第４実施形態に係わる復号化装置の構成を示すブロック図である。なお、この第４実施形態は、符号化されたＤＣＴ係数を復号する時に、ＤＣＴ係数そのものをテーブルから取得するのでなく、ＤＣＴ係数の演算結果をテーブルから取得することにより、ＤＣＴ係数の復号時にかかる負荷を増大させることなく、その後に行われる逆量子化処理の負荷を軽減できるようにしたものである。
ここで、図６の構成では、図１１の可変長復号器１および符号表１５の代わりに、可変長復号器１３および演算表１４が設けられ、その他の構成は図１１と同様の構成を用いることができる。
図６において、可変長復号器１３は、インターマクロブロックの場合、図１１の符号表１５の代わりに、演算表１４を参照する。そして、ビット系列として入力された符号に対応するＤＣＴ係数の演算結果を演算表１４から取得し、そのＤＣＴ係数の演算結果を並べ替え部２に出力する。
また、演算表１４には、ＤＣＴ係数の演算結果が、そのＤＣＴ係数に割り当てられた符号に対応して登録される。ここで、インターマクロブロックを逆量子化する場合、（３）、（４）式に示すように、Ｈ．２６３方式またはＭＰＥＧ方式のいずれで量子化されている場合においても、（２｜ＱＦ｜＋１）という演算が行われる。
このため、演算表１４には、ＤＣＴ係数ＱＦに割り当てられた符号に対応して、（２｜ＱＦ｜＋１）という演算結果ＱＦ′を登録する。
図７（ｅ）は、演算表１５に登録されるＤＣＴ係数の演算結果の一例を示す図である。
図７（ｅ）において、演算表１５では、図１１の符号表１５で定義されている“０ｓ”、“１０ｓ”、“１１０ｓ”、“１１１０ｓ”という符号に対応して、ＤＣＴ係数ＱＦの演算結果ＱＦ′＝（２｜ＱＦ｜＋１）＝“１×２＋１”、“２×２＋１”、“３×２＋１”、“４×２＋１”がそれぞれ登録される。
可変長復号器１３は、インターマクロブロックの場合、図７（ｅ）の演算表１４を参照することにより、入力された符号に対応する演算結果（２｜ＱＦ｜＋１）を取得する。そして、入力された符号に含まれる“ｓ”が０ならば、演算表１４から取得した演算結果（２｜ＱＦ｜＋１）をそのままブロック化し、入力された符号に含まれる“ｓ”が１ならば、演算表１１から取得した演算結果（２｜ＱＦ｜＋１）の正負の符号を反転させてブロック化する。そして、８×８のブロック化が終了すると、そのブロック化されたＤＣＴ係数の演算結果ＱＦ′を並べ替え部２に出力する。
並べ替え部２に出力されたインターマクロブロックは、並べ替え部２でラスタスキャン順に並べ替えられた後、逆量子化部４に出力され、（３）、（４）式に従って逆量子化が行われる。
ここで、（３）、（４）式で行われる演算のうち、（２｜ＱＦ｜＋１）という演算は既に行なわれているので、この（２｜ＱＦ｜＋１）という演算を逆量子化部４で行う必要がなくなり、逆量子化を行う際の負荷を軽減することができる。
図７は、本発明の第４実施形態に係わるインターマクロブロックの復号化方法を示す図である。
図７（ａ）において、図６の可変長復号器１３は、８×８のブロックを“０”に初期化する。そして、図７（ｅ）の演算表１４を参照することにより、ビット系列として入力された符号に対応する非零のＤＣＴ係数ＱＦの演算結果（２｜ＱＦ｜＋１）を取得する。そして、図７（ｂ）に示すように、“ｓ”の値に応じて正負の判別が行なわれたＤＣＴ係数ＱＦの演算結果ＱＦ′を、図７（ａ）の初期化されたブロック内に復号順に並べる。
例えば、ＤＣＴ係数ＱＦの復号結果が、“４、０、−２、０、１、０、０、・・・”であるとすると、図７（ｅ）の演算表１４を参照することにより、“４、０、−２、０、１、０、０、・・・”というＤＣＴ係数ＱＦの復号結果を求めることなく、“９、０、−５、０、３、０、０、・・・”というＤＣＴ係数ＱＦの演算結果ＱＦ′を直接求めることができる。
ここで、図７（ｂ）のインターマクロブロックでは、ＤＣＴ係数ＱＦの演算結果ＱＦ′がジグザグスキャン順に並んでいる。このため、並べ替え部２は、図７（ｂ）のブロック化されたＤＣＴ係数ＱＦの演算結果ＱＦ′をスキャンし、図７（ｃ）に示すように、図７（ｂ）のＤＣＴ係数ＱＦの演算結果ＱＦ′をラスタスキャン順に並べ替える。この結果、図７（ｂ）のブロックでは２番目に配置されているＤＣＴ係数ＱＦ＝“−５”が、図７（ｃ）に示すように、８番目に配置し直され、図７（ｂ）のブロックでは４番目に配置されているＤＣＴ係数ＱＦ＝“３”が、図７（ｃ）に示すように、９番目に配置し直される。
ＤＣＴ係数ＱＦの演算結果ＱＦ′の並べ替えが終了すると、逆量子化部４は、図７（ｃ）のブロック化されたＤＣＴ係数ＱＦの演算結果ＱＦ′を順次スキャンする。そして、非零のＤＣＴ係数ＱＦの演算結果ＱＦ′について、以下の演算処理を行うことにより、ＤＣＴ係数ＱＦを逆量子化する。
例えば、ＤＣＴ係数ＱＦがＨ．２６３方式で量子化されている場合、以下の式を用いることができる。
・ＱＰが偶数の場合
Ｆ＝ＱＦ′・ＱＰ−１（ＱＦ′＞０）                      ・・・（５）
Ｆ＝ＱＦ′・ＱＰ＋１（ＱＦ′＜０）                      ・・・（６）
・ＱＰが奇数の場合
Ｆ＝ＱＦ′・ＱＰ                                        ・・・（７）
ここで、量子化パラメータＱＰが８とすると、図７（ｃ）のブロックのＱＦ＝“９”、“−５”、“３”は、（５）、（６）式により、図７（ｄ）のブロックのＦ＝“７１”、“−３９”、“２３”にそれぞれ変換される。
なお、上述した第４実施形態では、インターマクロブロックを処理する方法について説明したが、イントラマクロブロックの場合は、ＤＣ／ＡＣ予測部３において、全てのＤＣ成分および予測処理されたＡＣ成分を対象として、ＤＣＴ係数の予測値の加算が行われる。そして、このＤＣ／ＡＣ予測部３での処理では、（２｜ＱＦ｜＋１）ではなく、ＱＦが使用される。このため、演算表１４から取得した（２｜ＱＦ｜＋１）という演算結果をＤＣ／ＡＣ予測部３に出力すると、ＤＣ／ＡＣ予測部３での処理に却って負荷がかかる。
また、イントラマクロブロックの場合は、Ｈ．２６３方式で量子化されている場合、（１）式に示すように、（２｜ＱＦ｜＋１）という値が逆量子化処理で使われるが、ＭＰＥＧ方式で量子化されている場合、（２）式に示すように、ＱＦの値が逆量子化処理でそのまま使われ、（２｜ＱＦ｜＋１）という値は必要ない。
このため、イントラマクロブロックの場合は、復号時に図７の演算表１４を用いるのではなく、図１１の符号表１５を用いて復号を行うことが好ましい。
図８は、本発明の第５実施形態に係わる復号化装置の構成を示すブロック図である。なお、この第５実施形態は、符号化されたＤＣＴ係数を復号する時に、逆量子化処理も同時に行うことにより、逆量子化処理の効率を向上できるようにしたものである。
ここで、図８の構成では、図１１の可変長復号器１および符号表１５の代わりに、復号処理部２１および並べ替えテーブル２２が設けられ、その他の構成は、図１１と同様の構成を用いることができる。
図８において、復号処理部２１には、インターブロック処理部２１ａおよびイントラブロック復号部２１ｂが設けられている。
インターブロック処理部２１ａは、インターブロックのＤＣＴ係数の復号を行いつつ、逆量子化を行う。そして、非零の逆量子化結果が得られるごとに、並べ替えテーブル２２を参照し、非零の逆量子化結果を並べ替え後の順序でブロック化する。そして、８×８のＤＣＴ係数のブロック化が終了すると、そのブロック化された逆量子化結果を逆ＤＣＴ部５に出力する。
ここで、インターブロック処理部２１ａは、非零のＤＣＴ係数を、例えば、（“０”の個数）と（非零のＤＣＴ係数の値）と（最後の非零係数であるか否かを示すフラグ）との３つを単位として復号し、その（非零のＤＣＴ係数の値）を対象として逆量子化を行う。そして、復号結果に含まれる（“０”の個数）だけ、並べ替えテーブル２２の参照位置をスキップし、そのスキップ後の参照位置で示される配置位置に非零のＤＣＴ係数の逆量子化結果を代入する。
これにより、ＤＣＴ係数が“０”かどうかを判断することなく逆量子化を行うことが可能となるとともに、非零のＤＣＴ係数についての処理を行うだけで、１ブロック分の復号・並べ替えおよび逆量子化を完結させることができ、復号処理を高速化することができる。
なお、ＤＣＴ係数ＱＦがＨ．２６３方式で量子化されている場合は、（３）式に示すように、ＤＣＴ係数ＱＦを逆量子化する際に、ＤＣＴ係数ＱＦの並べ替え後の位置を意識する必要はない。このため、逆量子化を行う際の並べ替えおよび逆量子化の順序は問わない。
一方、ＤＣＴ係数ＱＦがＭＰＥＧ方式で量子化されている場合、（４）式に示すように、ＤＣＴ係数ＱＦを逆量子化する際に、ＤＣＴ係数ＱＦの並べ替え後の位置に対応する量子化行列の値ＱＭが必要となる。このため、並べ替え後の順序でＤＣＴ係数ＱＦのブロック化を行うことなく、逆量子化を行うために、逆量子化を行う際に、並べ替えテーブル２２を参照し、この参照結果に基づいて量子化行列の値ＱＭを取得するようにしてもよい。
イントラブロック復号部２１ｂは、図１３（ｅ）の符号表１５を参照することにより、イントラブロックのＤＣＴ係数を復号する。そして、復号されたＤＣＴ係数を並べ替え部２に出力する。なお、イントラブロック復号部２１ｂでも、並べ替えテーブル２２を参照しつつ、復号と同時に並べ替えを行うようにしてもよい。これにより、並べ替え部２での処理をスキップすることができる。
並べ替えテーブル２２は、ブロック内におけるＤＣＴ係数の並べ替え順序を登録する。例えば、復号されるＤＣＴ係数がジグザグスキャンされている場合、そのＤＣＴ係数をラスタスキャン順に並べ替えるためのブロック内の位置を登録する。
図９（ａ）は、ジグザグスキャンされているＤＣＴ係数をラスタスキャン順に並べ替えるための並べ替えテーブル２２の構成を示す図である。
図９（ａ）において、ジグザグスキャンされているＤＣＴ係数をラスタスキャン順に並べ替えるためには、例えば、０番目の位置のＤＣＴ係数を０番目の位置に、１番目の位置のＤＣＴ係数を１番目の位置に、２番目の位置のＤＣＴ係数を８番目の位置に、３番目の位置のＤＣＴ係数を１６番目の位置に配置し直す必要がある。このため、並べ替えテーブル２２には、ＤＣＴ係数の並べ替え後の位置が８×８のブロックにラスタスキャン順に登録される。
図９は、本発明の第５実施形態に係わるＤＣＴ係数の復号化方法を、インターマクロブロックを例にとって示す図である。なお、図９の説明では、量子化がＨ．２６３方式で行われ、量子化パラメータＱＰが８とする。
図９（ｂ）において、図８のインターブロック処理部２１ａは、８×８のブロックを“０”に初期化する。
続いて、インターブロック処理部２１ａは、最初のＤＣＴ係数を復号し、復号結果として、例えば、（“０”の個数＝０）と（非零のＤＣＴ係数の値＝“４”）と（最後の非零係数であるか否かを示すフラグ＝“偽”）とが得られたとすると、図９（ａ）の並べ替えテーブル２の０番目の位置を参照するとともに、（非零のＤＣＴ係数の値＝“４”）を逆量子化する。この結果、０番目のＤＣＴ係数の復号結果の配置位置として０番目が得られ、（非零のＤＣＴ係数の値＝“４”）の逆量子化結果として“７１”が得られたとすると、図９（ｃ）に示すように、逆量子化結果＝“７１”ブロックの０番目の位置に配置する。
続いて、インターブロック処理部２１ａは、次のＤＣＴ係数を復号し、復号結果として、例えば、（“０”の個数＝１）と（非零のＤＣＴ係数の値＝“−２”）と（最後の非零係数であるか否かを示すフラグ＝“偽”）が得られたとすると、図９（ａ）の並べ替えテーブル２２の参照位置を“０”の個数分＝１だけスキップし、並べ替えテーブル２２の２番目の位置を参照するとともに、（非零のＤＣＴ係数の値＝“−２”）を逆量子化する。この結果、非零のＤＣＴ係数の復号結果の配置位置として８番目が得られ、今回の（非零のＤＣＴ係数の値＝“−２”）の逆量子化結果として“−３９”が得られたとすると、図９（ｃ）に示すように、逆量子化結果＝“−３９”をブロックの８番目の位置に配置する。
ここで、“−３９”をブロックの８番目の位置に配置する際に、“０”のブロックへの代入を“０”の個数分＝１だけスキップした場合においても、図９（ｂ）のブロックの初期化時に“０”は既に代入されているため、“０”の配置位置が空のままになることはない。
続いて、インターブロック処理部２１ａは、次のＤＣＴ係数を復号し、復号結果として、例えば、（“０”の個数＝１）と（非零のＤＣＴ係数の値＝“１”）と（最後の非零係数であるか否かを示すフラグ＝“真”）が得られたとすると、図９（ａ）の並べ替えテーブル２２の参照位置を“０”の個数分＝１だけスキップし、並べ替えテーブル２２の４番目の位置を参照するとともに、（非零のＤＣＴ係数の値＝“１”）を逆量子化する。この結果、非零のＤＣＴ係数の復号結果の配置位置として９番目が得られ、今回の（非零のＤＣＴ係数の値＝“１”）の逆量子化結果として“２３”が得られたとすると、図９（ｃ）に示すように、逆量子化結果＝“２３”をブロックの９番目の位置に配置する。そして、（最後の非零係数であるか否かを示すフラグ＝“真”）であるため、１ブロック分の復号を終了し、８×８の１ブロック分の逆量子化結果を逆ＤＣＴ部５に出力する。
このように、復号を行いながら逆量子化を行うことにより、復号の完了と同時に逆量子化も完了させることが可能となるとともに、逆量子化を行う際に“０”かどうかの判断を行う必要がなくなり、復号処理を高速化することができる。
また、逆量子化されたＤＣＴ係数を並べ替えながらブロックに配置することが可能となることから、並べ替え後の６４個の係数を保持するための記憶領域を用意するだけで、並べ替え前の６４個の係数を保持するための記憶領域を不要とすることができ、記憶容量を削減することが可能となる。
また、ブロック全体を“０”に初期化して逆量子化が開始されるため、逆量子化結果が“０”の場合には、その値をブロックに代入する必要がなくなり、“０”の個数分だけ処理をスキップすることが可能となることから、処理のさらなる高速化が可能となる。
なお、上述した第５実施形態では、インターブロック処理部２１ａは、非零のＤＣＴ係数を復号する場合、（“０”の個数）と（非零のＤＣＴ係数の値）と（最後の非零係数であるか否かを示すフラグ）との３つを単位とする方法について説明したが、これ以外の方法で復号するようにしてもよい。
例えば、非零のＤＣＴ係数を、（“０”の個数）と（非零のＤＣＴ係数の値）との組を単位として復号するようにしてもよい。この場合、ブロック内のそれ以降の係数が“０”であることを示すためのＥＯＢ（Ｅｎｄ  ｏｆ  Ｂｌｏｃｋ）符号が復号された時に、１ブロック分の復号および逆量子化を終了することができる。
また、例えば、Ｈ．２６３方式で量子化されている場合、図１３（ｅ）の符号表１５を参照して非零のＤＣＴ係数ＱＦを復号し、（３）式を用いて逆量子化してもよいし、図７（ｅ）の演算表１４を参照して非零のＤＣＴ係数ＱＦ′を復号し、（５）〜（７）式を用いて逆量子化してもよい。
図１０は、本発明の第５実施形態に係わるＤＣＴ係数の復号化方法を、インターマクロブロックを例にとって示すフローチャートである。
図１０において、インターブロック処理部２１ａは、ブロックの初期化を行う（ステップＳ１１）。
次に、ブロック内の非零の全てのＤＣＴ係数の復号が終了していない場合（ステップＳ１２）、可変長符号化されたＤＣＴ係数を復号する。そして、その復号結果に含まれる“０”の個数分だけ、並べ替えテーブル２２の参照位置をスキップし、そのスキップ後の参照位置で特定される配置位置を取得するとともに、非零のＤＣＴ係数を逆量子化する。そして、逆量子化された非零のＤＣＴ係数を、並べ替えテーブル２２から取得された配置位置に代入する（ステップＳ１３）。
以上の動作を非零の全てのＤＣＴ係数について行い、非零の全てのＤＣＴ係数についての処理が終了すると、ブロック化されたＤＣＴ係数の逆量子化結果を逆ＤＣＴ部５に出力する。
このように、並べ替えテーブル２２を参照し、ＤＣＴ係数の復号、並べ替えおよび逆量子化を一括して行うことにより、非零のＤＣＴ係数を１回スキャン（図１０のステップＳ１２）するだけで、ブロック内の全てのＤＣＴ係数の復号・逆量子化・並べ替えを同時に完了させることが可能となり、復号処理に占める負荷を軽減することができる。
なお、上述した第５実施形態では、並べ替えテーブル２２を設けた場合について説明したが、並べ替えテーブル２２を用いることなく、復号と逆量子化をブロックごとに一括して行うようにしてもよい。
また、イントラブロックを処理する場合、図７（ｅ）の演算表１４と図１３（ｅ）の符号表１５との両方を設け、Ｈ．２６３方式またはＭＰＥＧ方式のいずれかに応じて、演算表１４と符号表１５とを切り替えて参照するようにしてもよい。
また、上述した実施形態では、ＭＰＥＧ−４方式に適用した場合について説明したが、これ以外の方式に適用してもよく、例えば、ＭＰＥＧ−１、２方式、ＪＰＥＧ（Ｊｏｉｎｔ  Ｐｈｏｔｏｇｒａｐｈｉｃ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式などに適用するようにしてもよい。
また、並べ替えテーブル２２として、ＤＣＴ係数がジグザグスキャンされている場合を例にとって説明したが、オルタネートスキャンに適用してもよい。また、ジグザグスキャンまたはオルタネートスキャンに応じて、並べ替えテーブルを切り替えるようにしてもよい。
産業上の利用可能性
以上説明したように、本発明によれば、０をスキップしつつ、復号結果の並べ替えを行うことにより、復号結果の並べ替えを行う際の負荷を軽減することが可能となり、復号を高速化することができる。
【図面の簡単な説明】
図１は、本発明の第１実施形態に係わる復号化装置の構成を示すブロック図である。
図２は、本発明の第２実施形態に係わる復号化装置の構成を示すブロック図である。
図３は、本発明の第２実施形態に係わるＤＣＴ係数の復号化方法を示す図である。
図４は、本発明の第２実施形態に係わるＤＣＴ係数の復号化方法を示すフローチャートである。
図５は、本発明の第３実施形態に係わる復号化装置の構成を示すブロック図である。
図６は、本発明の第４実施形態に係わる復号化装置の構成を示すブロック図である。
図７は、本発明の第４実施形態に係わるＤＣＴ係数の復号化方法を示す図である。
図８は、本発明の第５実施形態に係わる復号化装置の構成を示すブロック図である。
図９は、本発明の第５実施形態に係わるＤＣＴ係数の復号化方法を示す図である。
図１０は、本発明の第５実施形態に係わるＤＣＴ係数の復号化方法を示すフローチャートである。
図１１は、ＭＰＥＧ−４方式による復号化装置の構成例を示すブロック図である。
図１２は、ＭＰＥＧ−４方式によるＤＣＴ係数のスキャン方法を示す図である。
図１３は、ＭＰＥＧ−４方式によるＤＣＴ係数の復号化方法を示す図である。
図１４は、ＭＰＥＧ−４方式によるＤＣＴ係数の復号化方法を示すフローチャートである。
【図１】
2002101934.tif 000003
【図２】
2002101934.tif 000004
【図３】
2002101934.tif 000005
【図４】
2002101934.tif 000006
【図５】
2002101934.tif 000007
【図６】
2002101934.tif 000008
【図７】
2002101934.tif 000009
【図８】
2002101934.tif 000010
【図９】
2002101934.tif 000011
【図１０】
2002101934.tif 000012
【図１１】
2002101934.tif 000013
【図１２】
2002101934.tif 000014
【図１３】
2002101934.tif 000015
【図１４】
2002101934.tif 000016
【手続補正書】
【提出日】平成14年10月25日(2002.10.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
削除
【請求項２】
削除
【請求項３】
ブロック化された符号化データの復号を行う復号手段と、
前記復号手段による復号結果に０が含まれる場合、その０の個数分だけスキップして前記復号結果を逆量子化する逆量子化手段と、
前記逆量子化結果を並べ替え後の位置に直接配置する配置手段とを備えることを特徴とする復号化装置。
【請求項４】
逆量子化で行われる演算処理の一部を分担しつつ、符号化データの復号を行う復号手段と、
前記復号手段で行われた演算処理の残りを行うことにより、前記復号手段からの出力結果を逆量子化する逆量子化手段とを備えることを特徴とする復号化装置。
【請求項５】
削除
【請求項６】
削除
【請求項７】
削除
【請求項８】
情報源の演算結果が、前記情報源に割り当てられた符号に対応して登録されているルックアップテーブルと、
前記ルックアップテーブルを参照することにより、符号化された情報源の演算結果を取得する取得手段と、
前記取得された演算結果に基づいて逆量子化を行う逆量子化手段とを備えることを特徴とする復号化装置。
【請求項９】
前記情報源がＸであるとすると、前記演算結果は２Ｘ＋１であることを特徴とする請求項８記載の復号化装置。
【請求項１０】
復号を行いつつ、逆量子化を行う復号・逆量子化手段と、
前記複号・逆量子化手段による逆量子化結果をブロック化するブロック化手段とを備えることを特徴とする復号化装置。
【請求項１１】
情報源の演算結果が、前記情報源に割り当てられた符号に対応して登録されているルックアップテーブルをさらに備え、
前記復号・逆量子化手段は、前記ルックアップテーブルを参照することにより、符号化された情報源の演算結果を取得し、前記取得した演算結果に基づいて逆量子化を行うことを特徴とする請求項９記載の復号化装置。
【請求項１２】
復号結果の並べ替え順序が登録された並べ替えテーブルをさらに備え、
前記復号・逆量子化手段は、前記復号結果の並べ替え順序の参照結果に基づいて、前記復号結果の逆量子化を行うことを特徴とする請求項１０または１１記載の復号化装置。
【請求項１３】
前記ブロック化手段は、前記並べ替えテーブルを参照することにより、前記逆量子化結果を並べ替え後の順序でブロック化することを特徴とする請求項１０〜１２のいずれか１項記載の復号化装置。
【請求項１４】
ブロックの初期化を行う初期化手段をさらに備え、
前記複号・逆量子化手段は、復号結果に“０”の個数が含まれる場合、その“０”の個数分だけ逆量子化をスキップすることを特徴とする請求項１０〜１３記載の復号化装置。
【請求項１５】
前記ブロック化手段は、前記“０”の個数分だけ、前記並べ替えテーブルの参照および前記ブロックへの代入をスキップすることを特徴とする請求項１４記載の復号化装置。
【請求項１６】
削除
【請求項１７】
削除
【請求項１８】
削除
【請求項１９】
復号と逆量子化を各ブロックごとに一括して行うことを特徴とする復号化方法。
【請求項２０】
復号と並べ替えと逆量子化とを各ブロックごとに一括して行うことを特徴とする復号化方法。
【請求項２１】
符号を復号するごとに逆量子化を行うステップと、
復号順序とは異なる順序で前記逆量子化結果をブロック化するステップとを備えることを特徴とする復号化方法。
【請求項２２】
ＤＣＴ係数が配置されるブロックを初期化するステップと、
複号結果に“０”を示す情報が含まれる場合、“０”については逆量子化処理をスキップするステップと、
複号された非零のＤＣＴ係数を逆量子化し、前記逆量子化結果をブロックに配置するステップとを備えることを特徴とする復号化方法。
【請求項２３】
ＤＣＴ係数が配置されるブロックを初期化するステップと、
復号結果に“０”を示す情報が含まれる場合、“０”については逆量子化処理をスキップするステップと、
復号された非零のＤＣＴ係数の並べ替え順序を取得するステップと、
前記非零のＤＣＴ係数を逆量子化し、前記逆量子化結果を前記並べ替え順序で前記ブロック内に配置するステップとを備えることを特徴とする復号化方法。
【請求項２４】
ジグザグスキャンまたはオルタネートスキャンされたＤＣＴ係数をラスタスキャン順に並べ替えるための配置位置が登録されていることを特徴とするルックアップテーブル。
【請求項２５】
情報源の演算結果が、前記情報源に割り当てられた符号に対応して登録されていることを特徴とするルックアップテーブル。
【請求項２６】
ブロック化された符号を入力するステップと、
前記符号が復号されるごとに、前記符号の配置状態とは異なるように、復号結果を前記ブロック内に配置するステップとをコンピュータに実行させるための復号化プログラム。
【請求項２７】
符号化データの復号を行うステップと、
前記復号結果に０が含まれる場合、その０の個数分だけスキップして前記復号結果をブロック内に配置するステップとをコンピュータに実行させるための復号化プログラム。
【請求項２８】
ブロック化された符号を入力するステップと、
前記符号を復号しつつ、逆量子化を行うステップと、
配置順序を変更しつつ、前記逆量子化結果をブロック化するステップとをコンピュータに実行させるための復号化プログラム。
【国際調査報告】
2002101934.tif 000017
2002101934.tif 000018