(57)【特許請求の範囲】
【請求項１】
画像を複数画素のブロックに分割し，ブロック毎に直交変換係数を量子化することで得られる２次元データを１次元データ列に変換する直交変換係数のスキャン方法において，
前記量子化値の２次元データの先頭からＮ番目までを予め定められたジグザグスキャンのスキャン順で読み出す過程と，
それぞれ異なるスキャン順を定める複数のスキャンパターンの中から，前記読み出したＮ個の量子化値により一意に定まる一つのスキャンパターンを選択する過程と，
前記選択したスキャンパターンによって定められたスキャン順に従って前記２次元データを１次元データ列に変換する過程とを有する
ことを特徴とする直交変換係数のスキャン方法。
【請求項２】
前記スキャンパターンを選択する過程では，前記先頭からＮ番目までの量子化値の大小比較にもとづいてスキャンパターンを選択する
ことを特徴とする請求項１記載の直交変換係数のスキャン方法。
【請求項３】
前記スキャンパターンを選択する過程では，前記先頭からＮ番目までの量子化値の分散にもとづいてスキャンパターンを選択する
ことを特徴とする請求項１記載の直交変換係数のスキャン方法。
【請求項４】
請求項１記載の直交変換係数のスキャン方法によって生成した量子化値の１次元データ列を２次元データに変換する直交変換係数の逆スキャン方法であって，
前記１次元データ列の先頭からＮ番目までの量子化値を取り出す過程と，
請求項１記載の複数のスキャンパターンの中から，前記取り出した量子化値により一意に定まる一つのスキャンパターンを選択する過程と，
選択されたスキャンパターンに対応するスキャン順に従って，前記１次元データ列の各量子化値を２次元データの定められた位置に格納する過程とを有する
ことを特徴とする直交変換係数の逆スキャン方法。
【請求項５】
画像を複数画素のブロックに分割し，ブロック毎に直交変換係数を量子化することで得られる２次元データを１次元データ列に変換するスキャン装置であって，
あらかじめ定められた複数の異なるスキャンパターンにそれぞれ対応したスキャン順に従って前記２次元データを１次元データ列に変換する複数のスキャン手段と，
前記複数のスキャンパターンの中から，先頭からＮ番目までの予め定められたジグザグスキャンのスキャン順でスキャンされた量子化値により一意に定まる一つのスキャンパターンを選択するスキャン順決定手段と，
前記スキャン順決定手段によって選択されたスキャンパターンに対応するスキャン手段の出力を，１次元データ列への変換結果として出力する選択手段とを備え，
先頭からＮ番目までの固定のスキャン順に従って読み出された結果からスキャン順を切り換える
ことを特徴とする直交変換係数のスキャン装置。
【請求項６】
請求項５記載の直交変換係数のスキャン装置によって生成した量子化値の１次元データ列を２次元データに変換する逆スキャン装置であって，
前記１次元データ列の先頭からＮ番目までの量子化値を取り出す手段と，
請求項１記載の複数のスキャンパターンの中から，前記取り出した量子化値により一意に定まる一つのスキャンパターンを選択するスキャン順決定手段と，
前記スキャン順決定手段によって選択されたスキャンパターンに対応するスキャン順に従って，前記１次元データ列の各量子化値を２次元データの定められた位置に格納する可変順序逆スキャン手段とを備える
ことを特徴とする直交変換係数の逆スキャン装置。
【請求項７】
請求項１，請求項２または請求項３記載の直交変換係数のスキャン方法を，コンピュータに実行させるための直交変換係数のスキャン用プログラム。
【請求項８】
請求項４記載の直交変換係数の逆スキャン方法を，コンピュータに実行させるための直交変換係数の逆スキャン用プログラム。
【請求項９】
請求項１，請求項２または請求項３記載の直交変換係数のスキャン方法を，コンピュータに実行させるための直交変換係数のスキャン用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１０】
請求項４記載の直交変換係数の逆スキャン方法を，コンピュータに実行させるための直交変換係数の逆スキャン用プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，映像符号化方式において，直交変換係数のスキャン順を切り換えるスキャン方法に関するものである。
【背景技術】
【０００２】
映像を複数画素のブロックサイズに分割し，直交変換を施す符号化方式を用いて風景などの自然界の映像を符号化すると，直交変換係数のエネルギーは低周波領域に集中する傾向がある。そこで多くの符号化方式では，直交変換係数の量子化値を低周波から順にジグザグにスキャンし，２次元のデータを１次元のデータ列に並べ替える。
【０００３】
ブロックサイズが８×８の場合のジグザグスキャンの一例を図１３に示す。このようなジグザグスキャンによってできたデータ列は，最初の方に有意の係数が連続し，後ろにいくに従って有意係数の存在確率が低くなる。そこで，ハフマン符号などを用い，有意係数が連続するほど短い符号長を割り当てることで，符号化効率が向上する。また，有意係数が無くなったところにＥＯＢ（End of Block）符号を入れてデータ列を打ち切ることで，さらに符号長を短くすることができる。
【０００４】
しかし，必ずしもこのジグザグのスキャン順が最適とは限らないため，複数のスキャン順を状況に応じて切り換える手法が考えられる。例えば特許文献１では，複数のスキャンパターンでスキャンを行い，ＥＯＢが最も早く発生するスキャン順を選択している。この方式の処理フローを図１４に示す。スキャン順のパターンは１からＳまであるとする。
【０００５】
直交変換係数の量子化が終了後，まずスキャンパターンのインデックス番号ｉを１に初期化し（Ｓ１００），ｉ番目のスキャンパターンについてスキャンを行い，１次元のデータ列を求める（Ｓ１０１）。また，そのデータ列の最後の有意係数の位置ｋ［ｉ］（即ちＥＯＢの位置）を求める（Ｓ１０３）。この操作を全てのスキャンパターンｉ（ｉ＝１，…，Ｓ）について行う（Ｓ１０１〜Ｓ１０４）。
【０００６】
全スキャンパターンについて終了した後，最後の有意係数の位置が最も手前となるスキャンパターンｉ＿ｍｉｎを実際に使用するスキャンパターンとし（Ｓ１０５），そのスキャン順で求まる１次元データ列を可変長符号化する（Ｓ１０６）。また，選択したスキャンパターンの番号ｉ＿ｍｉｎを出力する（Ｓ１０７）。
【０００７】
この処理を実現するための構成例を図１５に示す。この構成例は，量子化部１００，第１スキャン部，第２スキャン部，... ，第Ｓスキャン部１０１−１〜Ｓ，スキャン順決定部１０２，セレクタ１０４，可変長符号化部１０５から構成される。なお，スキャン部１０１は，スキャンパターンの個数分あるとする（この場合はＳ個ある）。
【０００８】
量子化部１００は，入力された２次元直交変換係数を所定の量子化幅で量子化する。第１スキャン部〜第Ｓスキャン部１０１は，それぞれ予め設定されたスキャンパターンで２次元直交変換係数の量子化値を走査し，連続するゼロの個数（ラン）と量子化値（レベル）情報をセレクタ１０４に出力する。また，ＥＯＢの位置情報をスキャン順決定部１０２に送信する。
【０００９】
スキャン順決定部１０２は，第１スキャン部〜第Ｓスキャン部１０１から送られてくるＥＯＢの位置情報から，最もＥＯＢの位置が手前となるスキャンパターンを求め，その番号をセレクタ１０４に送信するとともに，スキャンモード番号として出力する。セレクタ１０４は，第１スキャン部〜第Ｓスキャン部１０１から送られてくる１次元データ列のうち，スキャン順決定部１０２から送られるモード番号のデータ列を出力する。可変長符号化部１０５は，入力された１次元のデータ列を可変長符号化して出力する。
【００１０】
このような仕組みを用いて複数のスキャン順を切り換えることで，符号化効率がさらに向上する。
【００１１】
また，この出力データを復号する場合の構成例を図１６に示す。この装置は可変長符号復号部２００，可変順序逆スキャン部２０１，逆量子化部２０２から構成される。可変長符号復号部２００は，入力された可変長符号を１次元のデータ列に直し，可変順序逆スキャン部２０１に出力する。可変順序逆スキャン部２０１は，スキャン順モード情報で指定されたパターンをもとに，入力された１次元データ列の各係数について，２次元配列での格納位置を求め，量子化値とともに逆量子化部２０２に送る。逆量子化部２０２では，可変順序逆スキャン部２０１から量子化値と格納位置を受信すると，２次元配列の指定位置に量子化値を格納し，入力量子化幅で逆量子化して直交変換係数として出力する。
【００１２】
このような仕組みを用いることで，複数のスキャン順を使用した符号化データを復号することができる。
【特許文献１】特開平６−８６０７６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら，複数のスキャン順を切り換える場合には，スキャン順を決定するための演算コストがかかる上，選択されたスキャン順の情報をビットストリーム内に埋め込む必要があるなどの問題がある。特に４×４ＤＣＴを用いるＨ．２６４映像符号化規格など，ＤＣＴの単位が小さい場合にはスキャン回数が多くなるため，この問題は顕著になる。
【００１４】
本発明は上記問題点の解決を図り，スキャン順を決定するための演算コストの増加を抑えつつ，スキャン順のパターン情報無しでスキャン順の切り換えを行うことができるようにすることを目的とする。
【課題を解決するための手段】
【００１５】
そこで本発明では，前記課題を解決するために，途中までのスキャン順を固定とし，それ以降のスキャン順を可変とする手段を備え，可変部分のスキャン順のパターンは固定部分までのスキャンで読み取った量子化値から決定することを特徴とする。
【００１６】
例えば，最初の３係数のスキャンは（０，０）→（０，１）→（１，０）の固定順で行い，それ以降の係数のスキャンは，（０，１）の係数と（１，０）の係数の大小比較から，
・（０，１）＝（１，０）：スキャンパターン１
・（０，１）＞（１，０）：スキャンパターン２
・（０，１）＜（１，０）：スキャンパターン３
という形で決定する，という方法を採る。
【００１７】
図１に，本発明における符号化器のスキャン処理のフローの一例を示す。
［ステップＳ１］：処理を開始すると，量子化値の２次元データの最初からＮ番目（Ｎは３以上の所定数）までを固定したスキャン順で読み出す。
［ステップＳ２］：読み出した量子化値からＮ＋１番目以降の量子化値のスキャン順のパターンＰを決定する。
［ステップＳ３］：スキャンパターンＰのスキャン順で量子化値をスキャンする。
［ステップＳ４］：スキャン結果を可変長符号化する。
【００１８】
本フローチャートのステップＳ２にあるスキャンパターンＰ決定処理フローの一例を図２に示す。
【００１９】
スキャンパターンＰ決定処理では，例えば読み出した係数Ａ（０，１）とＡ（１，０）とを比較（Ｓ２１０）し，Ａ（０，１）＝Ａ（１，０）ならジグザグスキャンをスキャンパターン（Ｐ＝１）として選択する（Ｓ２１１）。Ａ（０，１）＞Ａ（１，０）なら横方向優先スキャンをスキャンパターン（Ｐ＝２）として選択する（Ｓ２１２）。Ａ（０，１）＜Ａ（１，０）なら縦方向優先スキャンをスキャンパターン（Ｐ＝３）として選択する（Ｓ２１３）。
【００２０】
符号化単位のブロックサイズが４×４の場合のジグザグスキャン，横方向優先スキャン，縦方向優先スキャンの例を図３に示す。この切り換え方法を用いた場合，７割以上の正答率でスキャンパターンの切り換えを行うことができる。
【００２１】
また，最初の６係数のスキャンを（０，０）→（０，１）→（１，０）→（２，０）→（１，１）→（０，２）の固定順に行い，それ以降のスキャンは，これら６つの分散から，「低周波領域優先スキャン」と「ジグザグスキャン」を切り換えるという方法も考えられる。
【００２２】
符号化単位として８×８ブロックを用いる場合のスキャンパターンの一例を図４に示す。また，この場合の図１に示すフローチャートのＳ２にあるスキャンパターンＰ決定処理フローの一例を図５に示す。
【００２３】
この例のスキャンパターンＰ決定処理では，読み出した係数（０，０），（０，１），（１，０），（２，０），（１，１），（０，２）の分散Ｖａｒを計算し（Ｓ２２０），分散Ｖａｒと予め定めた閾値Ｔｈとを比較する（Ｓ２２１）。もしＶａｒ＞Ｔｈならばジグザグスキャンをスキャンパターン（Ｐ＝１）として選択し（Ｓ２２２），もしＶａｒ≦Ｔｈならば低周波領域優先スャンをスキャンパターン（Ｐ＝４）として選択する（Ｓ２２３）。
【００２４】
図１のフローチャートに示す処理を実現するための構成図の一例を図６に示す。この装置は，量子化部１０，スキャン順決定部１１，第１スキャン部１２−１，第２スキャン部１２−２，... ，第Ｓスキャン部１２−Ｓ，セレクタ１３，可変長符号化部１４から構成される。
【００２５】
量子化部１０，セレクタ１３，可変長符号化部１４は，それぞれ図１５に示した既存技術の復号部の構成例における同名のものと同等の機能を有するものとする。第１スキャン部１２−１，第２スキャン部１２−２，... ，第Ｓスキャン部１２−Ｓについても，前述の図１５における同名のものと同等の機能を有するが，先頭からＮ番目までのスキャン順は全て等しいとする。スキャン順決定部１０２は，スキャン順でＮ番目までの量子化値をもとに，予め決められたスキャンパターンから一つを選択し，そのモード番号を出力する。このような仕組みを用いることで，図１に示すフローチャートの処理を実現できる。
【００２６】
また，復号部におけるスキャン処理のフローの一例を図７に示す。
［ステップＳ３０］：可変長符号を復号し，ランとレベルのデータに直す。
［ステップＳ３１］：スキャン順でＮ番目までの量子化値を取り出し，その値からスキャンパターンＰを決定する。
［ステップＳ３２］：スキャンパターンＰの逆スキャン順から決定される２次元配列の所定の位置へ量子化値を格納する。
【００２７】
この処理を実現するための構成図の一例を図８に示す。この装置は，可変長符号復号部２０，量子化値読み出し部２１，スキャン順決定部２２，可変順序逆スキャン部２３，逆量子化部２４から構成される。可変長符号復号部２０，逆量子化部２４は，それぞれ図１６に示した既存技術の構成例における同名のものと同等の機能を有するものとする。また，スキャン順決定部２２は，図６のスキャン順決定部１１と同等の機能を有するものとする。
【００２８】
可変順序逆スキャン部２３は，スキャン順決定部２２の出力であるスキャン順モード情報で指定されたパターンをもとに，量子化値の２次元配列での格納位置を求め，量子化値とともに逆量子化部２４に送る。
【００２９】
このような仕組みを用いることで，可変長符号を直交変換係数へと復号することができる。
【００３０】
なお，固定部分，可変部分のスキャンの順序はこれらの例に限定されるものではなく，任意のものを用いることができる。
【発明の効果】
【００３１】
本発明によれば，スキャンパターンの決定を量子化値の一部のみから行うため，判定処理が軽くなる。また，スキャン順が固定されている部分の量子化値からスキャン順のパターンを判定するため，スキャン順のパターン情報を復号側へ送る必要がなくなる。これらにより，演算コストの増加を最小限に抑えつつ，スキャン順のパターン情報無しでスキャン順の切り換えを行うことができる。
【００３２】
したがって，本発明は，スキャン順を選択する計算量の削減という効果，さらにスキャン順をヘッダー情報として伝送する必要が無いことによる情報伝送効率の向上という効果を奏する。
【発明を実施するための最良の形態】
【００３３】
以下に本発明の実施例について説明する。本実施例では，映像を４×４ブロック毎に直交変換・量子化と可変長符号化を施すものとする。また，量子化値の２次元配列Ａのうち，（０，０），（０，１），（１，０）の位置の３つの量子化値Ａ（０，０），Ａ（０，１），Ａ（０，１）は常にこの順番でスキャンし，それ以降の１３個の量子化値のスキャンパターンは３種類から切り換えるものとする（即ちＮ＝３）。先頭から３番目までのスキャン順は同じで，それ以降が異なっている。また，これらのスキャンパターンの切り換えは，Ａ（０，１）とＡ（１，０）の大小比較から以下のように決定する。
【００３４】
・Ａ（０，１）＝Ａ（１，０）：スキャンパターン１（ジグザグスキャン）
・Ａ（０，１）＞Ａ（１，０）：スキャンパターン２（横方向優先スキャン）
・Ａ（０，１）＜Ａ（１，０）：スキャンパターン３（縦方向優先スキャン）
本実施例の処理フローの例を図９に示す。直交変換行列を所定の量子化幅で量子化した後，変換係数の量子化値の２次元配列Ａのうち，Ａ（０，０），Ａ（０，１），Ａ（１，０）をこの順でスキャンする（Ｓ４０）。次に，Ａ（０，１）とＡ（１，０）の大小を比較し（Ｓ４１），Ａ（０，１）＝Ａ（１，０）ならば１をＰに代入し（Ｓ４２），Ａ（０，１）＞Ａ（１，０）ならば２をＰに代入し（Ｓ４３），Ａ（０，１）＜Ａ（１，０）ならば３をＰに代入する（Ｓ４４）。その後，量子化値の２次元配列ＡをスキャンパターンＰで走査し（Ｓ４５），可変長符号化を施す（Ｓ４６）。
【００３５】
また，この処理を実現するための構成図の一例を図１０に示す。この装置は，量子化部１０，比較器１１０，第１スキャン部１２−１，第２スキャン部１２−２，第３スキャン部１２−３，セレクタ１３，可変長符号化部１４から構成される。
【００３６】
量子化部１０，セレクタ１３，可変長符号化部１４については，図６における同名のものと同等の機能を有する。セレクタ１３は，比較器１１０から送信されるモード番号が１のときは第１スキャン部１２−１のランとレベルを可変長符号化部１４へ送信する。また，モード番号が２，３のときはそれぞれ第２スキャン部１２−２，第３スキャン部１２−３のランとレベルを可変長符号化部１４へと送る。
【００３７】
第１スキャン部１２−１は，スキャンパターン１に従って量子化値を走査し，ランとレベルの情報をセレクタ１３へと送信する。第２スキャン部１２−２は，スキャンパターン２に従って，第３スキャン部１２−３は，スキャンパターン３に従って同様の操作を行う。比較器１１０は，Ａ（０，１）とＡ（１，０）の比較結果からスキャンモード番号をセレクタ１３に送信する。このような装置を用いることで，図９に示す処理を実現することができる。
【００３８】
次に，復号時のスキャン操作のフローチャートの一例を図１１に示す。まず，可変長符号をランとレベルのデータに復号する（Ｓ５０）。次に，３番目までの量子化値Ａ（０，０），Ａ（０，１），Ａ（１，０）を取り出して（Ｓ５１），Ａ（０，１）とＡ（１，０）の大小を比較し（Ｓ５２），Ａ（０，１）＝Ａ（１，０）ならば１をＰに代入し（Ｓ５３），Ａ（０，１）＞Ａ（１，０）ならば２をＰに代入し（Ｓ５４），Ａ（０，１）＜Ａ（１，０）ならば３をＰに代入する（Ｓ５５）。そして各量子化値の２次元配列での格納位置を，スキャンパターンＰの逆スキャン順から求め，それぞれ所定の位置に格納する（Ｓ５６）。その後，所定の量子化幅で逆量子化を施すことで，直交変換係数の２次元配列へと復号することができる。
【００３９】
この処理を実現するための構成図の一例を図１２に示す。この装置は，可変長符号復号部２０，量子化値読み出し部２１，スイッチ２６，比較器２５，第１逆スキャン部２７−１，第２逆スキャン部２７−２，第３逆スキャン部２７−３，逆量子化部２４から構成される。可変長符号復号部２０，逆量子化部２４は，図８における同名のものと同等の機能を有する。
【００４０】
量子化値読み出し部２１は，ランとレベルから先頭の３つの量子化値を取り出し，そのうちＡ（０，１）とＡ（１，０）を比較器２５へと送る。比較器２５は，Ａ（０，１）とＡ（１，０）の大小を比較し，スイッチ２６に制御信号を送り，Ａ（０，１）＝Ａ（１，０）ならばａ，Ａ（０，１）＞Ａ（１，０）ならばｂ，Ａ（０，１）＜Ａ（１，０）ならばｃにスイッチ２６を切り換える。
【００４１】
スイッチ２６は，比較器２５からの制御信号に応じてランとレベルの送信先を切り換える。
【００４２】
第１逆スキャン部２７−１は，スキャンパターン１をもとに，入力されたランとレベルから量子化値の２次元配列での格納位置を求め，量子化値とともに逆量子化部２４へと送る。第２逆スキャン部２７−２は，スキャンパターン２をもとに，第３逆スキャン部２７−３は，スキャンパターン３をもとに，同様の動作を行う。
【００４３】
このような仕組みを用いることで，可変長符号を直交変換係数へと復号することができる。
【００４４】
実施例として，図３に示したスキャンパターンの切り換えの例を説明したが，例えば図４に示したジグザグスキャンと低周波領域優先スキャンの切り換えについても，同様に実施可能である。本発明の実施において，どのようなスキャンパターンを用いるかについては設計選択的事項であり，他のスキャンパターンを用いてもよいことは明らかである。
【００４５】
以上のスキャン順切り換えの処理は，コンピュータとソフトウェアプログラムとによっても実現することができ，そのプログラムをコンピュータ読み取り可能な記録媒体に記録して提供することも，ネットワークを通して提供することも可能である。
【図面の簡単な説明】
【００４６】
【図１】本発明における符号化器のスキャン処理のフローチャートである。
【図２】パターンＰ決定処理フローチャート（その１）である。
【図３】スキャンパターンの一例（縦横切り換え）を示す図である。
【図４】スキャンパターンの一例（ジグザグと低周波優先での切り換え）を示す図である。
【図５】パターンＰ決定処理フローチャート（その２）である。
【図６】本発明の構成例を示す図である。
【図７】本発明の復号部のフローチャートである。
【図８】本発明の復号部の構成例を示す図である。
【図９】実施例のフローチャートである。
【図１０】実施例の構成例を示す図である。
【図１１】実施例の復号部のフローチャートである。
【図１２】実施例の復号部の構成例を示す図である。
【図１３】８×８ブロックのジグザグスキャンの一例を示す図である。
【図１４】スキャン順決定方法の既存技術のフローチャートである。
【図１５】既存技術の構成例を示す図である。
【図１６】既存技術の復号部の構成例を示す図である。
【符号の説明】
【００４７】
１０  量子化部
１１  スキャン順決定部
１２−１〜１２〜Ｓ  第１スキャン部〜第Ｓスキャン部
１３  セレクタ
１４  可変長符号化部
２０  可変長符号復号部
２１  量子化値読み出し部
２２  スキャン順決定部
２３  可変順序逆スキャン部
２４  逆量子化部
【図１】
0004460521.tif 000002
【図２】
0004460521.tif 000003
【図３】
0004460521.tif 000004
【図４】
0004460521.tif 000005
【図５】
0004460521.tif 000006
【図６】
0004460521.tif 000007
【図７】
0004460521.tif 000008
【図８】
0004460521.tif 000009
【図９】
0004460521.tif 000010
【図１０】
0004460521.tif 000011
【図１１】
0004460521.tif 000012
【図１２】
0004460521.tif 000013
【図１３】
0004460521.tif 000014
【図１４】
0004460521.tif 000015
【図１５】
0004460521.tif 000016
【図１６】
0004460521.tif 000017