(57)【特許請求の範囲】
【請求項１】
データの量子化前に圧縮されるデータのヒストグラムを形成するデータ圧縮方法であって、
前記ヒストグラムは、横軸上にデータの値の関数としてデータの発生の数を表し、
前記ヒストグラムがコヒーレントであるかどうか決定するために、前記発生の局部最大値を検出し、連続する局部最大値に対応するデータの値の間の距離を前記横軸上で測定し、
前記ヒストグラムがコヒーレントである場合に、前記距離の平均距離‘デルタ’を計算し、
横軸の増加に対してスライディングウィンドウを使用して、前記発生のフィルタリングを実施し、前記ウィンドウの最初の中心位置は、原点から‘デルタ’の距離に対応し、次の位置は、前の位置で前記ウィンドウに見つかった最大発生値に関する位置から‘デルタ’の距離の変化に対応し、
前記ウィンドウ内での最大の発生を選択し、
前記スライディングウィンドウ内の最大の発生に関する位置間の距離を平均して前記データ量子化の量子化ステップを提供するために、前記スライディングウィンドウ内の最大の発生に関する位置間の距離を計算することを特徴とするデータ圧縮方法。
【請求項２】
考慮される局部最大値は最大の振幅を有するものであることを特徴とする請求項１記載の方法。
【請求項３】
前記ウィンドウの幅は２であることを特徴とする請求項１又は２記載の方法。
【請求項４】
データはビデオデータであり、データの圧縮は量子化の前に非相関フェーズからなり、ヒストグラムは非相関データ上で形成されることを特徴とする請求項１乃至３のうちのいずれか１項記載の方法。
【請求項５】
非相関の後にヒストグラムをプロットするために、データの圧縮に適用された非線形の逆である処理を実施することによるデータの線形化をなすことを特徴とする請求項４記載の方法。
【請求項６】
非相関回路と、非相関されたデータを量子化する回路と、量子化されたデータを受け、量子化ステップを動作する制御回路とからなるデータ圧縮装置であって、
非相関されたデータのヒストグラムを計算し、量子化ステップ値をヒストグラムのコヒーレンスの関数として行なわせるために、前記ヒストグラムに基づいて量子化ステップを計算する回路からなり、
ヒストグラム及び量子化ステップ計算回路は、局部最大値の間の距離の平均である‘デルタ’距離を計算し、係数値に対応して増加する横軸に対してスライディングウィンドウに従ってヒストグラムの発生をフィルタリングし、前記ウィンドウの最初の中心位置は、原点から‘デルタ’の距離に対応し、次の位置は、前の位置で前記ウィンドウに見つかった最大の発生に関する位置から‘デルタ’の距離の変化に対応し、前記スライディングウィンドウ内の最大の発生に関する位置間の距離を平均して前記データ量子化の量子化ステップを提供するために、前記スライディングウィンドウ内の最大の発生に関する位置間の距離を計算することを特徴とするデータ圧縮装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデジタルデータを圧縮する方法及び装置に関し、より詳細には非可逆的な型のソースコーディング、即ち情報のわずかな損失を代償として信号の圧縮をなし、信号の量子化に基づいてコーディングすることに関する。
【０００２】
【従来の技術】
これは例えばビデオデジタルデータの離散的コサイン変換を通してコーディングしその後に変換された係数の量子化がなされる。このコーディングは画像の伝送及び／又は記憶中、特に製作で用いられる。それはビデオ記録又はバルクメモリー内の記憶される情報の量を減少するために用いられる。
【０００３】
スタジオでは画像は読み出され記録され、即ち平均的に５から１０回の間最終的な結果が得られるまでデコード及びコードを多数回おこなうが、フィルムの製作では１００くらいまでのその様な世代が必要とされる。
各画像世代は記憶されたデータのデコーディングを含む。このデコーディングの後に一般に得られた新たな画像のコーディングがなされる。
【０００４】
しかしながら画像のデジタルコーディングでの一つの問題は幾つかの一連のコーディングとデコーディングのカスケードの影響である。従来技術は同一の画質を種々の世代に亘り保存することが可能でなかった。情報の損失から生ずる誤差はコーディング蓄積のこの型による。信号対ノイズ比は２つの世代間で数デシベルにのぼり、非常に急速に貧弱な画質になる。一般に特殊な処理はこの損失を防止するためになされず、特に製作においてこれは非常に煩わしいものである。
【０００５】
【発明が解決しようとする課題】
本発明の目的は上記欠点を克服することである。
【０００６】
【課題を解決するための手段】
この目的に対して、本発明の量子化をなすデータ圧縮の方法は、ヒストグラムがコヒーレントであるときに量子化ステップがこのヒストグラムの最も頻繁な値の間の距離に基づくよう決定されるようにデータの値の関数としての発生の圧縮されるデータのヒストグラムを形成する。
【０００７】
本発明の目的はまた非相関回路と、非相関されたデータを量子化する回路と、量子化されたデータを受け、量子化ステップに基づいて動作する制御回路とを有するデータ圧縮装置であって、それは非相関されたデータのヒストグラムを計算し、この量子化ステップをヒストグラムのコヒーレンスの関数として行なわせるためにこのヒストグラムに基づいて量子化ステップを計算する回路をまた有する。
【０００８】
本発明の方法及び装置の性質により信号対ノイズ比の損失はデータがコード化されたときに無視しうるものとなり、画像の品質は異なる画像の世代に亘り維持される。
【０００９】
【発明の実施の形態】
本発明の特徴と利点は図面を参照して例により与えられる以下の説明からより明確になる。
従来技術から知られている相関及び量子化によるデータの圧縮用のデジタルビデオデータコーダの一般的な原理は図１に示される。
【００１０】
分解（ブレイクダウン）回路１はソース画像から入来するデジタルデータをその入力で受ける。この回路はこれらのデータを分解し即ちその中の冗長性を除去するために情報を非相関（ｄｅｃｏｒｒｅｌａｔｅ）する。斯くして分解回路は例えばサブバンド分解又は離散コサイン変換をなす。
それから非相関された信号は量子化回路又は量子化器２に送られ、この役割は伝送される情報の量を減少することである。次に量子化された信号はエントロピーコーダ３に伝送され、これは最大長さのコードを最も確からしくない値で関連づける。これらは例えばＨＵＦＦＭＡＮＮ、算術的、Ｂ２コード等である。
【００１１】
第一のコーダ出力は伝送され又は記録される圧縮された情報を構成し、用いられた量子化ステップに関する情報を含み、第二の出力は制御回路又は制御器４に接続される。この回路の役割はそれが基準チャンネル又はフローで利用可能なフローに対応するような方法でデータコーダの出力でのフローの制御をすることである。この目的のためにそれは量子化器２に接続され、収集されたフロー情報に関する量子化ステップに基づいて動作する。
【００１２】
例えば分解回路は、離散コサイン変換を介して８ｘ８画素の画像セルで構成される画像のマクロセルを８ｘ８係数のセルに変換し、各係数は、任意選択で重みづけられ、相互に係数のマトリックスのジグザグスキャンを行うことに続いて可変長コーディング（ＶＬＣ）がこれらの係数のエントロピーコーディングを行う前に、量子化される。
【００１３】
斯くして圧縮された情報は記憶され、伝送され、圧縮が逆になされるべきように実施される操作で用いられることを可能にする。
その様な動作に対する典型的なデコーダは図２に示される。
知られている方法でそれはエントロピーデコーダ５からなり、これは逆量子化回路又は逆量子化器（ｄｅｑｕａｎｔｉｚｅｒ）６に接続され、それ自体は逆分解回路７に接続され、これは圧縮から戻された有用な情報を供給する。これらの回路のそれぞれはデータコーダのそれらの逆の動作を実施し、それらはこの例では逆可変長コーディング、受けた量子化ステップを考慮した逆量子化、及び逆離散コサイン変換である。
【００１４】
従って、２つの画像世代間でデータになされる処理は、以下の順になる：
−コーディングに関しては、分解、量子化、エントロピーコーディングの順
−デコーディングに関しては、エントロピーデコーディング、逆量子化、逆分解の順
エントロピーコーディングはデコーダで完全に可逆である。すなわち、コーディング及びデコーディング処理中に情報は損失されない。故に可逆な適用は２つの画像世代間で情報の損失を引き起こさない。
【００１５】
しかしながら分解及び量子化はそれらが近似のソースであり故に誤差を有する非可逆的コーディング技術である。コーディング処理中に情報のわずかな量が失われ、デコーダで回復されない。例えばそれは入力での一連のデータの数学的な変換中の数学的な丸めでの計算の精度に関する近似の問題であり、又は非常に簡単には、一般に統計的ソースデータの関数であり、実際の近似である量子化ステップを計算する量子化の問題である。
【００１６】
しかしながら更により煩わしいのは情報のこれらの損失が複数の世代間で蓄積されることである。その理由は、量子化ステップが１の画像世代から他に変化し、これらの世代は例えばシーケンスの編集が必要となるからである。量子化ステップは一般にコード化される現在の画像の前の画像の流れのようなシーケンスの統計的データを考慮に入れたアルゴリズムに基づき計算される。故に量子化ステップはしばしば複数の世代で編集され変化することに依存して圧縮毎に異なる。用いられた圧縮の原理に依存して、量子化値はｑ／２の最大誤差に対応する最近接整数に丸められた値又はその最大誤差が量子化ステップｑに丸められた値のいずれかである。
【００１７】
全ての場合で画像が新たにコード化される毎に、量子化器が前のコーディングの間に及び所定の係数に対して用いたものと異なるステップを有する場合には、係数の量子化された値は若干異なる。このように、量子化は多数の世代に亘り損失の累積をなし、この誤差の累積は第一の場合（丸め）には集束する。本発明の方法は、量子化の主な影響は値の均一な分布から用いられたステップによるピークの分布を有する分布へ変化し、更に、ステップが各圧縮に対して同じでない場合には、システムは残余のノイズに敏感でなく、結果は誤差の集積がなく各世代に対してほぼ同一であるという事実に基づく。
【００１８】
図３では２つの曲線８、９が直交基準フレーム内に描かれ、ここでＸ軸は係数値を表し、Ｙ軸はその頻度又は出現を表す。
実線の曲線８は、デジタルデータが圧縮されていないソース画像の変換（分解）により得られた係数の例に関する。従って、それはビデオ画像の頻度の従来の分布に関する：ＤＣＴ係数の数はそのレベルの減少関数である。高頻度に対応する係数は多数且つ低レベルであり、低頻度に対応する係数は少数且つ高レベルである。これらのデジタル値の分布は連続である。
【００１９】
点線の曲線９は量子化ステップｑを用いた量子化及び逆量子化操作後の係数に関する。Ｘ軸上の分布はもはや均一ではない。逆量子化操作後に、存在している係数値は多数の量子化ステップのみである。分解回路の下流に置かれることにより、曲線９により実際に得られ辿られた値は量子化ステップｑで離間されるピークに対応する。数学的（ＤＣＴ，逆ＤＣＴ）な計算中の値の丸めはピークのベースに向かう広がりにより表される。
【００２０】
いずれかの技術によりピーク間の間隔を測定することが可能である場合には、どの量子化ステップで値がコード化されたかを見つけ、故に最初の量子化に対して用いられたものと同じステップで逆量子化をなすことがまた可能である。当然のことであるが逆量子化により用いられた後に量子化ステップに関する情報が失われることが仮定されており、それは通常の場合である。
【００２１】
図４のコーディング装置に用いられるのはこの原理に基づく方法である。
もとの画像又は前にコード化されてデコードされた画像であるソース画像は、従来技術の説明で上記に示したような離散コサイン変換をなす分解回路１０に転送される。得られた係数はヒストグラム及び量子化ステップ計算回路１１と量子化器１２に平行に転送される。以下にヒストグラム計算回路と称する第一の回路の役割は、ヒストグラムのコヒーレンスについての情報を供給し、このヒストグラムに基づき以下に説明されるように量子化ステップを計算することである。斯くしてヒストグラム計算回路は制御回路１３を介して量子化器に量子化ステップ値を供給する。量子化器はコード化された２進数のストリームを供給するエントロピーコーダ１４に量子化された係数を送る。このエントロピーコーダはまた、送られたデータのフローが正味の値に比べて非常に大きく、量子化ステップの不正確な計算の仮定を生じさせる場合に、ヒストグラム計算回路により送られた量子化ステップを補正するために制御器１３に接続される。この場合には制御器の役割は転送ストリームをオーソライズされたチャンネルフロー又は設定値に適応することである。
【００２２】
量子化ステップを検出する原理は分解回路の出力での値の分布の計算に基づき、即ちヒストグラムの決定に基づく。これはヒストグラム計算回路１１の役割である。
ヒストグラムは、量子化に対して用いられるアルゴリズムに依存して、マクロセルで行われ、アングロサクソン語のストライプの下で知られているマクロセルの線で行われ、また、完全な画像でさえ行われる。このアルゴリズムが同じ量子化ステップを付与するエンティティで行われ、よりよい精度のために輝度セルに加えてクロミナンスセルを考慮に入れてもよい。
【００２３】
図１又は図４に示されるように量子化は分解の後になされる。前に用いられたステップを決定するためにそれが量子化器の直前に必要であり、それからそれらの間の平均の差を測定するために係数の値のピーク、即ち最も頻繁な値を検出する必要がある。後者は前に用いられた量子化ステップで、即ち前のコーディング中に与えられる。
【００２４】
図５は決してコード化されていないソース画像に対する様なヒストグラムを示し、図６はコード化された画像に対するものである。軸は図３と同じ符号で定義される。
画像は決してコード化されていないが、図５はピークの存在を示す。上記のような一般的な減衰特性から、この曲線は、他のものより画像内に多く現れる頻度に対応するピークの発生を有する。故に、ピークの発生は、頻度により分解された画像に依存し、故に画像の内容に依存しない。故にこれらは画像を頻度係数に分解することから由来する寄生ピークである（これらのピークはまた図３の曲線８上に存在するが、簡単化するために示していない）。
【００２５】
図６はまた量子化ステップに関する「有効な」ピークの隣の寄生ピークの存在を示す。これらの寄生ピーク及び有効なピークの広いベースは逆分解中及びコード化された２進ストリームの発生に対してそれに続く分解中の両方で形成された丸め誤差による。
故に量子化ステップを決定するために、コード化されないデータの分布（図５）と既にコード化されたデータの分布（図６）との間を識別する必要がある。それから、上記のようにピークを検出する必要があり、困難は有効なピークと無効なピークとを識別するために用いられる手段を見いだすことからなる。
【００２６】
図７のフローチャートはヒストグラム計算回路１１により実施される異なる操作を詳細に示し、これはこの問題の解決を可能にする。
第一の段階１５はヒストグラムに適切な決定からなり、即ち分解回路１０により転送されたデータの値の頻度である。その様な分布を得た後に、続く段階１６は最も顕著なピークである最初の５つの最大ピークを検索する。解決策はピークを検出するために局部最大値を見いだすことからなり、即ち値が座標ｘ−１の前の値と座標ｘ＋１の次の値の両方より大きい座標ｘでのピークである。これは、既にコード化された画像の分布の場合に、寄生ピークが考慮に入れられないことを可能にする。
【００２７】
段階１７はこれらのピーク間の距離が全て一単位に等しいかどうか、即ちある規則性が存在するかどうかを決定する。
これがそうである場合には、ヒストグラムはコヒーレントであり、これらの距離のデルタの平均値が計算される。等しいピーク間の距離に対応する±１の検索範囲は量子化器の丸めによる。この理由は、量子化されるデータが整数の形であるからであり、適切な利得はこれがその場合であることを確実にするために充分な精度を提供するからである。量子化ステップｑは一般には実数であり、実数でありうる量子化された値は整数を与えるために逆量子化中に丸められる。従って量子化及び逆量子化（及び付加的に逆分解及び分解）の後に整数はｑの倍数毎に分布するが、最近接整数に丸められる。
【００２８】
斯くしてこの第一のフェーズ、段階１５、１６、１７は分布が連続的な型かどうか、即ちデータが既にコード化されているかどうかを決定することからなる。続くフェーズは、得られた結果に依存して異なる。
それが離散的な分布の場合に又は、言い換えればヒストグラムがコヒーレントである場合には段階１９が実施される。この段階はその座標の測定に対する有効なピークを検索し、量子化ステップの正確な計算をする。
【００２９】
有効ピークのみを考慮する方法は、原点（最大値があるところ）から開始して、デルタの丸められた値に対応する座標を中心として±１の範囲内で次の最大値Ｍ１を検索することからなる。次に、検索は、中心がこの最大値の座標Ｍ１に関してデルタの丸め値によりオフセットされる同じ範囲内の新たな最大値に対してなされる。処理はこのようにして連続する。測定された座標に基づき、差及び差の平均は、量子化ステップを探すために段階２０で計算される。量子化ステップは実数でもよい。コーディングシステムを規格化する方法はデータを量子化するためにこの段階を用いる。
【００３０】
これがそうでない場合にはヒストグラムは連続であると考えられ、段階１８がなされ、ここで量子化ステップは０と見なされる。この場合にはデータはまだコード化されていないと仮定され、規格化は従来のように、即ち、画像と利用可能なフローの複合物の関数として量子化ステップを計算することによりなされる。
この技術は同じ情報が１の画像から次にコード化されていることを仮定する。故に第一の問題は動きの推定でコーディングする場合に提起される。この動きの推定は一般に分解回路の上流でなされ、それにより現在のセルと動きのこの推定により予測されるセルとの間の差のみがコード化される。この予想されたセルに対応する動きベクトルは各圧縮に対して計算され、圧縮毎に若干変化し得る。予想誤差であるコード化された情報は同じではない。
【００３１】
この問題を克服するために２つの解決策が採用される：
−実際の動きに基づく優れた動き推定器、故に画像のコーディングはその内容を変更しないという事実と無関係の優れた動き推定器が用いられ得る。
−内部モードのみでの動作、即ち時間推定を用いず、故に動きの推定である。
第二の問題はコーディング中の可能な「非線形性」に関する。この理由は上記技術がコーディングとデコーディングとの間で可逆な処理を仮定するからである。しかしながら例えばアングロサクソンヨーロピアン通信規格機構のＥＴＳＩ規格によるコーディングの場合には、２つの型の処理が用いられる：第一のものは重み付けマトリックスを有するものであり、第二のものは量子化器内で非線形法則を有するものである。その「非線形性」を補正することが必要である。
【００３２】
鮮明度（ｖｉｓｉｂｉｌｉｔｙ）マトリックスも称される重み付けマトリックスは、その位置に依存して規格化係数を各値に対して適用することからなる。これらのマトリックスを補正するために、最も近い丸め誤差内への分布を計算する前に重み付け係数を分布の値に適用することが必要である。ヒストグラムは、逆重み付けが逆量子化の後にデコーディング中になされる場合には、分解と重み付けの後になされる。
【００３３】
同様に、非線形法則が量子化器内で用いられる場合には、可能な場合には逆法則が事前に適用されなければならない。これら非線形法則はこの問題を克服可能にする例えばＥＴＳＩ規格により一般に線形部分を有する。他の解決策はこの問題を無視することからなり、これは若干広いピークベースを生じ、非線形法則は一般的な法則として若干値を変更するのみである。この方法の原理は図５又は図６の型のヒストグラムを提供する値の分布を計算することにより適用される。
【００３４】
図８はＸ軸として一連のビデオ画像の世代数をとり、Ｙ軸としてデシベルで表示された累積された信号対ノイズの損失をとる基準座標に２つの曲線２１、２２を示す。
曲線２１は本発明による方法の使用なしに丸めによる量子化で形成された画像に関する。信号対ノイズ比は最初の画像形成に対する３ｄＢ周辺から１０ｄＢへと急速に減少する。これはその視覚的品質が非常に急速かつ顕著に劣化する画像で生ずる。打ち切りによる量子化はより悪い結果を与え、累積誤差の収束がないことはこの劣化を制限できない。
【００３５】
曲線２２は本発明の方法を用いた画像の形成中の信号対ノイズの劣化に関する。損失は１ｄＢよりなお低く、０．５ｄＢのオーダーである。
上記の本発明はコーディング中に量子化を用いるデータコーディングシステム全てに関し、これに対して読み出し及び書き込みの数によらず同一の情報品質を保つことが必要である。それはビデオ画像又はオーディオデータのコーディングに特に適用される。
【図面の簡単な説明】
【図１】従来技術の知られているデジタルデータコーダを示す図である。
【図２】従来技術の知られているデジタルデータデコーダを示す図である。
【図３】その値の関数として変換係数の発生を表す曲線を示す。
【図４】本発明のデータコーダを示す図である。
【図５】その値の関数として前もって量子化されない変換係数の発生を表す曲線を示す。
【図６】その値の関数として前もって量子化された変換係数の発生を表す曲線を示す。
【図７】量子化ステップを計算する方法のフローチャートを示す。
【図８】本発明の方法により、又はそれによらずに複数世代による損失を示す。
【符号の説明】
１  分解回路
２  量子化器
３  エントロピーコーダ
４  制御器
５  エントロピーデコーダ
６  逆量子化器
７  逆分解回路
１０  分解回路
１１  量子化ステップ計算回路
１２  量子化器
１３  制御回路
１４  エントロピーコーダ
【図１】
0003775762.tif 000002
【図２】
0003775762.tif 000003
【図３】
0003775762.tif 000004
【図４】
0003775762.tif 000005
【図５】
0003775762.tif 000006
【図６】
0003775762.tif 000007
【図７】
0003775762.tif 000008
【図８】
0003775762.tif 000009