(57)【特許請求の範囲】
【請求項１】
合成開口レーダ（ＳＡＲ）データを圧縮する方法であって、
前記ＳＡＲデータをサンプリングし、該ＳＡＲデータの複数のブロックにする、サンプリングするステップと、
前記ＳＡＲデータの各ブロックを、変換係数の対応するブロックに変換するステップと、
量子化パラメータに従って、前記変換係数の各ブロックを量子化し、量子化された変換係数の対応するブロックを得る、量子化するステップと、
前記ブロックを逆多重化し、前記量子化された変換係数の複数組のブロックとしての逆多重化ブロックにする、逆多重化するステップと、
確率モデルに従って、前記量子化された変換係数の各組の逆多重化ブロック内のブロックを並列に算術符号化し、前記量子化された変換係数の逆多重化ブロックの組毎に１つの中間ビットストリームを生成し、１つの逆多重化ブロックの前記量子化された変換係数の符号化は、次に続く逆多重化ブロックの前記量子化された変換係数から独立している、符号化するステップと、
前記中間ビットストリームを多重化し、圧縮されたビットストリームにする、多重化するステップと
を含み、
前記符号化は、該符号化が独立しているように前記逆多重化ブロックの組毎に前記中間ビットストリームの最後に、１つの出力ビットと、ｆ＋１個のフォロービットと、１つのストップマークとを書き込む
合成開口レーダ（ＳＡＲ）データを圧縮する方法。
【請求項２】
合成開口レーダ（ＳＡＲ）データを圧縮する方法であって、
前記ＳＡＲデータをサンプリングし、該ＳＡＲデータの複数のブロックにする、サンプリングするステップと、
前記ＳＡＲデータの各ブロックを、変換係数の対応するブロックに変換するステップと、
量子化パラメータに従って、前記変換係数の各ブロックを量子化し、量子化された変換係数の対応するブロックを得る、量子化するステップと、
前記ブロックを逆多重化し、前記量子化された変換係数の複数組のブロックとしての逆多重化ブロックにする、逆多重化するステップと、
確率モデルに従って、前記量子化された変換係数の各組の逆多重化ブロック内のブロックを並列に算術符号化し、前記量子化された変換係数の逆多重化ブロックの組毎に１つの中間ビットストリームを生成し、１つの逆多重化ブロックの前記量子化された変換係数の符号化は、次に続く逆多重化ブロックの前記量子化された変換係数から独立している、符号化するステップと、
前記中間ビットストリームを多重化し、圧縮されたビットストリームにする、多重化するステップと
を含み、
最後の量子化された変換係数が最も大きな所定の取り得る符号値の４分の１よりも小さい場合には、前記符号化は、１つの０ビット、次に、（ｆ＋１）個の１ビットを書き込み、そうではなく、前記最後の量子化された変換係数が前記最も大きな所定の取り得る符号値の４分の１以上である場合には、１つの１ビット、次に、（ｆ＋１）個の０ビットを書き込む
合成開口レーダ（ＳＡＲ）データを圧縮する方法。
【請求項３】
前記ＳＡＲデータの各ブロックのサイズは、８×８または１６×１６ピクセルである請求項１または２に記載の方法。
【請求項４】
前記変換は、一次元離散コサイン変換を使用する請求項１または２に記載の方法。
【請求項５】
前記ＳＡＲデータのブロック毎の分散を求めるステップをさらに含む請求項１または２に記載の方法。
【請求項６】
前記量子化パラメータは、前記分散、目標ビットレート、または圧縮比に応じて決まる請求項５に記載の方法。
【請求項７】
前記分散、所定の１組のしきい値、および前記目標ビットレートに対する、先行して符号化された逆多重化ブロックの出力ビットに基づくビット使用比に従って、前記量子化パラメータを調整し、調整された量子化パラメータ値を生成する、調整するステップをさらに含む請求項５に記載の方法。
【請求項８】
前記量子化は、スカラーである請求項１または２に記載の方法。
【請求項９】
前記量子化パラメータを調整するためのフィードバックとして、多数の前記出力ビットが与えられる請求項７に記載の方法。
【請求項１０】
前記変換係数は、スカラー量子化にかけられ、該スカラー量子化は、損失が多い圧縮であり、ＱＰが大きいほど、生み出される圧縮品質が粗くなる請求項１または２に記載の方法。
【請求項１１】
前記量子化は、前記変換係数毎に不均一なスケーリングを決定する量子化行列を使用する請求項１または２に記載の方法。
【請求項１２】
前記確率モデルは、取り得る変換係数毎に１つの確率モデルに対応する請求項１または２に記載の方法。
【請求項１３】
前記確率モデルは、前記１組の逆多重化ブロックを符号化した後に更新される請求項１または２に記載の方法。
【請求項１４】
前記符号化することは、前記組内の逆多重化ブロック毎に１つの算術符号化ユニットを使用し、該算術符号化ユニット毎に複数の確率モデルが存在する請求項１または２に記載の方法。
【請求項１５】
前記方法は、単一のフィールドプログラマブルゲートアレイにおいて実施される請求項１または２に記載の方法。
【請求項１６】
前記算術符号化ユニットは、１組のフィールドプログラマブルゲートアレイにおいて実施され、前記組の逆多重化ブロック毎に１つのフィールドプログラマブルゲートアレイが存在する請求項１または２に記載の方法。
【請求項１７】
前記量子化は、均一な量子化である請求項１または２に記載の方法。
【請求項１８】
前記量子化は、不均一な量子化である請求項１または２に記載の方法。
【請求項１９】
１つの逆多重化ブロックの前記量子化された変換係数の前記符号化は、次に続く逆多重化ブロックの前記量子化された変換係数から独立しており、前記逆多重化ブロックの最後の量子化された変換係数を強制的に符号化し、対応するビットを前記中間ビットストリームに書き込む請求項１または２に記載の方法。
【請求項２０】
前記逆多重化ブロックにおいて符号化される最後の量子化された変換係数が最も大きな所定の取り得る符号値の４分の１よりも小さい場合には、前記符号化は、１つの０ビット、次に、（ｆ＋１）個の１ビット、次に、１つの０ビットを書き込み、そうではなく、前記最後の要素が最大変換係数値の４分の１以上である場合には、前記符号化は、１つの１ビット、次に、（ｆ＋１）個の０ビット、次に、１つの１ビットを書き込む請求項１に記載の方法。
【請求項２１】
トレーニングデータから前記確率モデルを決定するステップをさらに含む請求項１または２に記載の方法。
【請求項２２】
前記逆多重化ブロック内の変換係数の位置および量子化パラメータに基づいて、前記変換係数毎に１つの確率モデルが存在する請求項１または２に記載の方法。
【請求項２３】
先行して符号化された、量子化された変換係数の分布に従って、前記確率モデルを更新するステップをさらに含む請求項１または２に記載の方法。
【請求項２４】
前記更新は、前記量子化された変換係数をそれぞれ符号化した後に実行される請求項２３に記載の方法。
【請求項２５】
前記更新は、前記逆多重化ブロックをそれぞれ符号化した後に実行される請求項２３に記載の方法。
【請求項２６】
前記更新は、前記１組の逆多重化ブロックを符号化した後に実行される請求項２３に記載の方法。
【請求項２７】
前記更新は、所定の時間の後に実行される請求項２３に記載の方法。
【請求項２８】
各前記しきい値は、ＱＰ差ΔＱｐであり、前記方法は、次の逆多重化ブロックを符号化する前に前記ＱＰ差ΔＱｐによって前記ＱＰを調整するステップをさらに含む請求項７に記載の方法。
【請求項２９】
前記ＳＡＲデータをトレーニングすることから得られた表内で前記目標ビットレートを探索するステップをさらに含む請求項６に記載の方法。
【請求項３０】
前記ＳＡＲデータをトレーニングすることから得られた表内で前記量子化パラメータを探索するステップをさらに含む請求項１または２に記載の方法。
【請求項３１】
前記量子化された変換係数にそれぞれオフセット値を加え、前記量子化された変換係数を全て正にする、加えるステップをさらに含む請求項１または２に記載の方法。
【請求項３２】
前記量子化された変換係数に対応する前記確率モデルは、０を中心にして対称であり、前記符号化は、各前記量子化された変換係数の絶対値を符号化し、前記方法は、
前記量子化された変換の符号化されない符号ビットを前記中間ビットストリームに書き込み、メモリ要件を低減する、書き込むステップをさらに含む請求項１または２に記載の方法。
【請求項３３】
前記逆多重化ブロック毎の前記量子化パラメータは、前記圧縮されたビットストリーム内に符号化される請求項１または２に記載の方法。
【請求項３４】
合成開口レーダ（ＳＡＲ）データを符号化するための装置であって、
前記ＳＡＲデータをサンプリングし、ＳＡＲデータの複数のブロックにする、サンプリングする手段と、
前記ＳＡＲデータの各ブロックを、変換係数の対応するブロックに変換する、変換器と、
量子化パラメータに従って、前記変換係数の各ブロックを量子化して、量子化された変換係数の対応するブロックを得る、量子化器と、
量子化された変換係数の複数組のブロックとしての逆多重化ブロックを生成するように構成される、逆多重化器と、
前記量子化された変換係数の各組の逆多重化ブロック内のブロックを並列に、且つ確率モデルに従って符号化して、前記量子化された変換係数の逆多重化ブロックの組毎に１つの中間ビットストリームを生成するように構成され、１つの逆多重化ブロックの前記量子化された変換係数の符号化は、次に続く逆多重化ブロックの前記量子化された変換係数から独立している、算術符号化器と、
前記中間ビットストリームを統合して、圧縮されたビットストリームにする、多重化器と
を含み、
前記算術符号化器は、符号化が独立しているように前記逆多重化ブロックの組毎に前記中間ビットストリームの最後に、１つの出力ビットと、ｆ＋１個のフォロービットと、１つのストップマークとを書き込む
合成開口レーダ（ＳＡＲ）データを符号化するための装置。
【請求項３５】
合成開口レーダ（ＳＡＲ）データを符号化するための装置であって、
前記ＳＡＲデータをサンプリングし、ＳＡＲデータの複数のブロックにする、サンプリングする手段と、
前記ＳＡＲデータの各ブロックを、変換係数の対応するブロックに変換する、変換器と、
量子化パラメータに従って、前記変換係数の各ブロックを量子化して、量子化された変換係数の対応するブロックを得る、量子化器と、
量子化された変換係数の複数組のブロックとしての逆多重化ブロックを生成するように構成される、逆多重化器と、
前記量子化された変換係数の各組の逆多重化ブロック内のブロックを並列に、且つ確率モデルに従って符号化して、前記量子化された変換係数の逆多重化ブロックの組毎に１つの中間ビットストリームを生成するように構成され、１つの逆多重化ブロックの前記量子化された変換係数の符号化は、次に続く逆多重化ブロックの前記量子化された変換係数から独立している、算術符号化器と、
前記中間ビットストリームを統合して、圧縮されたビットストリームにする、多重化器と
を含み、
前記算術符号化器は、最後の量子化された変換係数が最も大きな所定の取り得る符号値の４分の１よりも小さい場合には、１つの０ビット、次に、（ｆ＋１）個の１ビットを書き込み、そうではなく、前記最後の量子化された変換係数が前記最も大きな所定の取り得る符号値の４分の１以上である場合には、１つの１ビット、次に、（ｆ＋１）個の０ビットを書き込む
合成開口レーダ（ＳＡＲ）データを符号化するための装置。
【請求項３６】
前記符号化器は、単一のフィールドプログラマブルゲートアレイにおいて実装される請求項３４または３５に記載の装置。
【請求項３７】
前記符号化器は、符号化される前記１組の逆多重化ブロックのブロック毎に１つのフィールドプログラマブルゲートアレイを並列に使用する請求項３４または３５に記載の装置。
【請求項３８】
前記ＳＡＲデータは、逆多重化およびサンプリングされて、複数の逆多重化ブロックから成るＮ個のストリームにされ、該逆多重化ブロックのストリームは、それぞれ、１つのフィールドプログラマブルゲートアレイによって並列に処理される請求項３４または３５に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は包括的には、合成開口レーダ（ＳＡＲ）によって捕捉される信号を圧縮することに関し、より詳細には、生ＳＡＲ信号を、複雑性の低いデバイスで圧縮することに関する。
【背景技術】
【０００２】
合成開口レーダ（ＳＡＲ）は、典型的には宇宙プラットフォームを用いて、目標物または地形から生レーダデータを捕捉する。事後処理によって、生ＳＡＲデータが振幅画像および位相マップに変換され、物体および地形を視覚化することができるようになる。計算が非常に複雑であることに起因して、ＳＡＲデータ処理は典型的には、地上において実行される。
【０００３】
図１は、従来のＳＡＲシステムを示す。生ＳＡＲデータ１０１が宇宙プラットフォーム１１０、たとえば、衛星、宇宙ステーションまたはシャトルによって捕捉される。その生データは、事後処理して（１２０）ＳＡＲ画像１３０を得るために、地上ステーションに送信される（１１０）。
【０００４】
代替的に、図２に示されるように、送信する（１２０）前に、生ＳＡＲデータ１０１に圧縮（１５１）が適用される。その後、圧縮された生データが地上ステーションに送信され、地上ステーションでは、そのデータの圧縮が解除され（１５２）、ＳＡＲ画像１３０を生成するために処理される（１２０）。圧縮されたデータからＳＡＲ画像１３０を高い品質で再構成することができるようにするのと同時に、送信の帯域幅を低減するために、高い符号化効率が要求される。
【０００５】
ＪＰＥＧのような標準化された画像圧縮方法は、生ＳＡＲデータの高い符号化効率を達成するのに適していないことが既知である。その主な理由は、生ＳＡＲデータには性質上雑音が多く含まれているためであり、その性質は、自然画像を符号化するのに適しているＪＰＥＧ符号化標準規格とはあまり適合していない。生ＳＡＲデータの統計は、ガウス雑音に似ており、自然画像データの統計とは全く異なることに留意されたい。
【０００６】
マゼラン宇宙船によって捕捉される生ＳＡＲデータを圧縮するために、ブロック適応量子化（ＢＡＱ）を用いることができる。たとえば、全て参照によって本明細書に援用される特許文献１および非特許文献１を参照されたい。数多くの従来の画像圧縮方法と同じように、ＢＡＱは、生ピクセル値を、たとえば、８ビットから４ビットに量子化する。しかしながら、ＳＡＲによって捕捉される生データのような、大きなダイナミックレンジを有する入力の場合、さらに効率的な圧縮を達成するために、量子化ステップサイズは、入力信号のレベルに適応しなければならない。それゆえ、ＢＡＱは、１６×１６ブロック毎に、量子化ステップサイズを適応させる。
【０００７】
より高い解像度を達成するために、生データのサンプリングレートを高くする必要がある。送信帯域幅に制限が与えられると、ＳＡＲ画像の品質を維持しながら、圧縮比を高くする必要もある。ＢＡＱは、適度な圧縮比で適度な品質のＳＡＲ画像を提供することができる。しかしながら、圧縮比が２：１よりも大きいときに、品質が大きく劣化することが既知である。それゆえ、品質を低下させることなく、高い圧縮比で生ＳＡＲを圧縮する方法を提供する必要がある。
【０００８】
処理されたＳＡＲを圧縮するための数多くの方法が既知であるが、生ＳＡＲデータを圧縮するために開発された方法は比較的少ない。全て参照によって本明細書に援用される非特許文献２、非特許文献３および非特許文献４を参照されたい。
【０００９】
ＢＴＣ方法は、ＳＡＲ画像のローカルブロック特性に適合する２レベル量子化器を使用する。その方法は、複雑性が低く、高い圧縮比、たとえば、約４：１の圧縮比を達成することができる。しかしながら、出力画像の品質は大きく劣化する。一般的に、ＢＴＣの性能は、ＢＡＱの性能よりも悪い。
【００１０】
Magli他は、ＢＡＱの場合のように、ピクセルのブロックに適応量子化を適用する。最初に、生データにデジタルウエーブレット変換（ＤＷＴ）が適用され、周波数領域おいて、ウエーブレット係数に関してＢＡＱが実行されるようになる。ウエーブレット変換は、ブロック単位の方式に比べてより高い計算の複雑性を有し、さらに著しく多くのメモリも必要とすることが既知である。したがって、その方法は、複雑性の低いデバイスには適していない。
【００１１】
ＮＬＲ（ＦＦＴ−ＥＣＢＡＱ）法は、生ＳＡＲデータに２次元高速フーリエ変換（ＦＦＴ）を適用し、その後、エントロピー制約ＢＡＱ（ＥＣＢＡＱ）を適用した後に、エントロピー符号化が実行される。その方法の主な欠点は、ブロックサイズが小さいほど、ＦＦＴがクロスリーク雑音を引き起こすことであり、それは、ＦＦＴサイズが大きいほど好ましいこと、たとえば、１２８×６４のＦＦＴサイズが好ましいことを意味する。しかしながら、そのようなＦＦＴは複雑すぎて、複雑性の低いデバイスにおいて実施することはできない。実際には、その方法は、最も高速の既知のＦＦＴ指向ＤＳＰ  ＡＳＩＣ（ｐｏｗｅｒＦＦＴ（商標））に依拠して、長いサイズのＦＦＴを計算する。そのチップを用いない場合、その変換サイズは、大幅に、たとえば８分の１または１６分の１に低減されなければならないであろう。各サンプルが８ビットであると仮定すると、その方法の最大スループットは、最大で１２５メガサンプル／秒（ＭＳＰＳ）、または１ギガビット／秒であり、それは、高い解像度のＳＡＲ画像を再構成することを目指す用途によって必要とされるように、さらに高いスループット、たとえば、４Ｇビット／秒を必要とする用途にとっては不十分である。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】米国特許第５，６６１，４７７号「Method for compressing and decompressing raw digital SAR data and devices for executing them」
【非特許文献】
【００１３】
【非特許文献１】Kwok他著「Block Adaptive Quantization of Magellan SAR Data」（IEEE Trans on Geosc. and Remote Sensing, vol. 27, No. 4, pp. 375-383, July 1989）
【非特許文献２】Delp他著「Image Compression Using Block Truncation Coding (BTC)」（IEEE Transactions Communications, Vol. Com-27, No. 9, September 1979）
【非特許文献３】Magli他著「Wavelet-based compression of SAR raw data」（Geoscience and Remote Sensing Symposium, 2002, IEEE International, pp. 1129-1131）
【非特許文献４】Magli他著「Frequency domain raw SAR data compression for multi-mode SAR Instruments」（National Aerospace Laboratory (NLR), EUSAR 2006, 16-18 May 2006）
【発明の概要】
【発明が解決しようとする課題】
【００１４】
ハードウエアの複雑性を低いままにしながら、増強された圧縮比で、高い解像度のＳＡＲ画像を達成することができ、従来技術の不都合な点を克服することができる、生ＳＡＲデータを圧縮する方法および装置を有することが望ましい。
【課題を解決するための手段】
【００１５】
１つの方法が、ＳＡＲをサンプリングしてブロックにし、各ブロックを変換係数の対応するブロックに変換することによって、合成開口レーダ（ＳＡＲ）データを圧縮する。変換係数の各ブロックは、量子化パラメータに従って量子化され、量子化された変換係数の対応するブロックが得られ、それらの変換係数は逆多重化され、量子化された変換係数の複数組の逆多重化ブロックが生成される。各組の逆多重化ブロック内の量子化された変換係数は、確率モデルに従って並列に算術符号化され、逆多重化ブロックの組毎に１つの中間ビットストリームが生成される。１つの逆多重化ブロックの量子化された変換係数の符号化は、次に続く逆多重化ブロックの量子化された変換係数から独立している。その後、中間ビットストリームが圧縮されて、圧縮されたビットストリームが生成され、後に復号してＳＡＲ画像を構成するために、その圧縮されたビットストリームを送信することができるか、または格納することができる。
【００１６】
その方法は、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）において実施することができる。その方法全体のために、単一のＦＰＧＡを用いることができる。代替的に、その組の逆多重化ブロック毎に１つの個別のＦＰＧＡを用いて、その組の逆多重化ブロックを並列に符号化することができる。その後、フロントエンドステップのために、別のＦＰＧＡを用いることができる。
【図面の簡単な説明】
【００１７】
【図１】従来技術の宇宙で操作されるＳＡＲシステムのブロック図である。
【図２】従来技術の宇宙で操作されるＳＡＲシステムのブロック図である。
【図３】本発明による、１つのブロック生ＳＡＲデータを圧縮するための符号化プロセスのブロック図である。
【図４】本発明の実施形態による、１つのブロック生ＳＡＲデータを復号するためのプロセスのブロック図である。
【図５】本発明の実施形態による、量子化パラメータを初期化するための表である。
【図６】本発明の実施形態による、ブロック単位のビット割当てのブロック図である。
【図７】本発明による、ブロック単位のレート制御の実施形態に従って生ＳＡＲデータを圧縮する方法の流れ図である。
【図８】本発明の実施形態による、並列設計の修正算術符号化構造のブロック図である。
【図９】本発明の実施形態による、単一ＦＰＧＡハードウエア設計のブロック図である。
【図１０】本発明の実施形態による、多数ＦＰＧＡハードウエア設計のブロック図である。
【図１１】本発明の実施形態による、多数ＦＰＧＡハードウエア設計のブロック図である。
【発明を実施するための形態】
【００１８】
本発明の実施形態は、生合成開口レーダ（ＳＡＲ）信号を圧縮する方法および装置を記述する。メモリサイズ、処理能力、帯域幅およびスループットのような、ハードウエアに関する制約に起因して、生ＳＡＲデータはブロック毎に圧縮される。複雑性を制限するために、且つ従来技術の方法とは対照的に、その圧縮方法は、比較的小さなブロックサイズ、たとえば、８×８または１６×１６ピクセルの場合に有効であるように設計される。本発明の焦点は、実施態様の複雑性を制限することにあるが、より大きなブロックサイズを用いることもできる。
【００１９】
図３は、本発明の圧縮方法３００のブロック図である。生ＳＡＲデータ３０１が、変換モジュール３１０に入力される。本発明の好ましい実施形態では、変換モジュールは一次元離散コサイン変換（１Ｄ−ＤＣＴ）である。ただし、ＤＣＴ係数は求められる。より高次元の変換、および他の変換ベースを用いることもできる。
【００２０】
各ブロック内の生データの分散も求められる（３２０）。表５００に格納される目標出力ビットレートまたは圧縮比に従って、初期量子化パラメータ（ＱＰ）が求められる（３３０）。図５を参照されたい。レート制御モジュール３４０が、分散と、所定の１組のしきい値と、目標ビットレートに対する、先行して符号化されたブロックの出力ビットに基づくビット使用比とに従って、初期ＱＰを調整し、調整されたＱＰ値６０１が生成される。その後、調整されたＱＰ値を用いて、変換係数が量子化され（３５０）、量子化された変換係数が生成される。
【００２１】
ＱＰ値６０１および量子化された変換係数３５１は修正算術符号化器３６０に送信され、修正算術符号化器３６０は確率モデル３６１を使用する。
【００２２】
本発明のサンプルは、独立し、且つランダムに分布する。それゆえ、本発明の確率モデルは従来通りであり、量子化された変換係数のランダム分布を表す。それは、本発明のサンプル空間、サンプルおよび各サンプルの確率に関して定義される。そのモデルとして、当該技術分野において知られているように、線形モデル、二項モデルまたはガウスモデルを用いることができる。そのモデルは、ＳＡＲトレーニングデータから学習することができるか、または先行して符号化されるデータに基づいて更新することができる。本発明では、１つのブロック内の量子化された変換係数毎に別個のモデルが保持され、たとえば、ＤＣ係数は１つの確率モデルを有し、一方、ＡＣ係数のそれぞれは、当該ＡＣ係数自体の確率モデルを有する。
【００２３】
従来の算術符号化は、効率的に圧縮することができることが既知である。しかしながら、従来の算術符号化器は、順次処理に限定される。これは、従来の算術符号化器は、複雑性が低く、スループット要件が高いハードウエアデバイスには適していないことを意味する。本発明において、本発明人は、複雑性が低いハードウエアで、より高いスループットを実現することができるようにする、算術符号化のための並列設計を記述する。
【００２４】
本発明の算術符号化器３６０の出力は、圧縮されたビットストリーム３０２である。レート制御モジュール３４０へのフィードバックとしてビットカウントが与えられて、全ビット使用比が更新され（３７０）、必要に応じてＱＰが調整される。各ブロックを符号化するために用いられるＱｐも、後続の復号中に使用されることになる圧縮されたビットストリームに挿入されることに留意されたい。
【００２５】
図４は、対応する復号器４００を示しており、それは、符号化プロセスを逆にする。最初に、圧縮されたビットストリーム３０２が修正算術復号器４１０に渡される。復号された係数は、ビットストリーム３０２から抽出された（４１５）対応するＱＰ６０１と、変換係数とを乗算することによって、逆スカラー量子化される（４２０）。その後、１Ｄ−ＤＣＴ変換４３０が適用され、再構成された生ＳＡＲデータ４０１が得られる。
【００２６】
図７は、方法７００をさらに詳細に示す。本発明人は、物体または地形７０８から捕捉されるＳＡＲデータ７０９をサンプリングして（７１０）、小さな８×８ブロック７１１にする。１Ｄ−ＤＣＴが適用され（７２０）、変換係数７１１の対応するブロックが生成され、そのブロックは、量子化パラメータ（ＱＰ）６０１に従って量子化され（７３０）、量子化された変換係数７３１の対応するブロックが得られる。
【００２７】
ブロック７３１は、複数組のＮ個のブロック７４１に逆多重化される（７４０）。各組内のＮ個のブロックは、確率モデル７４９に従って、並列に算術符号化され（７５０）、ブロックの組毎に中間ビットストリーム７５１が生成される。１つのブロックの量子化された変換係数の符号化は、次に続くブロックの量子化された変換係数から独立している。中間ビットストリームは、地上７６２においてさらに処理するために、圧縮されたビットストリーム７６１に多重化される（７６０）。
【００２８】
破線によって示されるように、ブロック１１００のＮ個のストリームが並列に生成されるように、サンプリング７１０中に逆多重化７４０を実行することができることに留意されたい。この実施形態では、Ｎ個のデータストリームが、変換モジュール、量子化モジュールおよび符号化モジュールによって並列に処理されている。図１１も参照されたい。
【００２９】
変換
本発明の好ましい実施形態では、１Ｄ−ＤＣＴを用いて、入力信号が空間サンプル領域から周波数領域に変換される。１Ｄ−ＤＣＴは、生ＳＡＲデータを圧縮しないが、ＳＡＲデータの相関をなくし、さらに効率的に圧縮するのを容易にする。２Ｄ−ＤＣＴに比べて、１Ｄ−ＤＣＴはより低い複雑性を有する。また、ガウス雑音に似ている生ＳＡＲデータの性質に起因して、小さいブロックサイズの場合には特に、２Ｄ変換を実行することによって大きな利得は与えられない。
【００３０】
本発明では、１Ｄ−ＤＣＴは各ブロックの行に沿って実行され、行は生ＳＡＲデータ内のレンジ方向に対応する。列は方位角に対応する。８×８のブロックサイズの場合、８×１ＤＣＴが各行に適用され、８×１ＤＣＴ係数の８つの行が合わせて、本発明の変換係数の８×８ブロックを形成する。
【００３１】
ＱＰ初期化
ＱＰは、目標ビットレートまたは圧縮比に従って初期化される。目標圧縮比は、所与の伝送帯域幅、たとえば目標ビットレート、および圧縮を用いない場合の生ＳＡＲデータのサイズ、すなわちビット数から求められる。目標圧縮比は、本発明の算術符号化器３６０への入力パラメータである。
【００３２】
図５に示されるように、目標ビットレート５０１、目標圧縮比５０２、および全てのブロックにおいて用いられる初期ＱＰ５０３の間の実験的な関係を、トレーニングＳＡＲデータから求めることができる（３３０）。その後、目標圧縮比に基づいて、表５００を探索することによって、初期ＱＰを得ることができる。
【００３３】
出力ビットレートをさらに細かく制御する必要がある用途の場合、分散によって初期ＱＰを調整して、利用可能なビットレートをさらに良好に割り当てると共に利用することもでき、それゆえ、良好な総合圧縮を達成することができる。このレート制御手順は、後にさらに詳細に説明される（３４０）。
【００３４】
ＱＰを調整する
圧縮品質およびレート制御を最大にするために、ＱＰが調整される。その調整は主に２つの要因、すなわちブロックデータエントロピー、および消費された、または残りのビット数に基づく。エントロピーが高いほど、データブロック内に、より多くの情報が含まれることを意味し、それゆえ、より保存的な圧縮であるほど、より小さなＱＰが適用されるべきであることを意味する。同様に、エントロピーが低いほど、データブロック内に含まれる情報が少ないことを意味し、それゆえ、より積極的な圧縮であるほど、より大きなＱＰが適用されるべきであることを意味する。エントロピーの計算は低コストのハードウエアデバイスとっては複雑すぎるため、ブロック分散がエントロピーの良好な近似であり、エントロピーほど計算上の要求が厳しくない。
【００３５】
図６は、２つの要因、すなわちブロック分散６０３およびビット使用比に基づいて、初期ＱＰ６０２から、ブロック毎のＱＰ６０１を適合させるためのプロセス６００を示す。ブロック分散６０３が、入力ブロック内の全てのサンプル値、たとえば、１つの８×８ブロック内の２５６個のサンプルから求められる（３２０）。その後、その分散は、探索６１０によって、表５００内の１組の所定のしきい値６０４と比較される。これらのしきい値は、トレーニングＳＡＲデータから実験的に求められ、特定のデバイス用にプログラム可能である。
【００３６】
各しきい値は、ＱＰ差（ΔＱｐ）に対応する。この対応は、表５００によって表される。分散を比較し、表を探索することによって、ＱＰ差ΔＱｐ（ｖａｒ）が求められる（６１０）。たとえば、分散が第１のしきい値よりも小さい場合には、ＱＰ差ΔＱｐ（ｖａｒ）は、表内の第１のΔＱｐになるように設定される。初期ＱＰは、目標圧縮比に従って上記のように求められ、生ＳＡＲデータの全てのブロックの場合に初期ＱＰとして用いられる。ＱＰ差ΔＱｐ（ｖａｒ）を初期ＱＰに加える（６２０）ことによって、調整されたＱＰが得られる。
【００３７】
上記のように、ＱＰに影響を及ぼす別の要因は、ビット使用比である。この調整も、レート制御が要求され、強制的に実施されるときに行なうことができる。ビット使用比によって影響を及ぼされるＱＰ差、すなわちΔＱｐ（ｒａｔｅ）を求めるために、最初に、符号化されたブロックの数６０５、およびブロックを符号化するために消費されたビットの数６０６から、推定される全ビット使用量が求められる（６３０）。その後、推定される全ビット使用量が、目標ビットレート６０８と比較され（６０７）、ΔＱｐ（ｒａｔｅ）が求められる（６４０）。全ビット使用量およびΔＱｐ（ｒａｔｅ）を計算する方法に関する詳細は後に説明される。その後、ΔＱｐ（ｒａｔｅ）が、先に変更されたＱＰに加えられる（６５０）。すなわち、調整されたＱＰ６０１は、初期ＱＰ＋ΔＱｐ（ｖａｒ）＋ΔＱｐ（ｒａｔｅ）に等しい。
【００３８】
ビット使用条件を調べるために、生ＳＡＲデータ３０１を符号化するために近似的に必要とされることになる全ビット数を推定するために、最初に、３つの変数、すなわち、全ブロック数、符号化されたブロック数６０５、および消費されたビット数６０６が得られる。その後、この近似値が、目標ビット使用量と比較される。近似されたビット使用量が目標ビット使用量よりも大きく、且つ許容パーセンテージを超えている場合には、ＱＰを大きくする。そうではなく、近似されたビット使用量が目標ビット使用量よりも少なく且つ許容パーセンテージを超えている場合には、ＱＰを小さくする。
【００３９】
各ブロックが符号化された後に、符号化されたブロックの全数６０５および消費されたビットの全数６０６が更新される。現在ブロックを量子化する前に、近似的な全ビット数６３０が（消費されたビット数）／（符号化されたブロック数）×（全ブロック数）によって求められる。その後、推定された全ビット使用量が、目標ビット使用量と比較される。
【００４０】
（推定された全ビット：目標全ビット）の比が求められる。その比が１よりも大きい場合には、ビット消費がビットバジェットを超えている。そうでない場合には、それはバジェット内にある。この比から１を引くことによって、目標を上回っているか、または下回っている、推定された全ビットのパーセンテージが与えられる。その後、推定されたビットレートが指定された許容範囲を何倍上回っているか、または何倍下回っているかを調べるために、このパーセンテージが許容しきい値で割られる。
【００４１】
たとえば、その用途が５％ビットレート分散を許容することができるが、目標ビット使用量に対する推定されるビット使用量の比が９％である場合には、推定値は許容値よりも（９／５）倍大きい。
【００４２】
量子化
変換係数がスカラー量子化３５０にかけられる。スカラー量子化は損失が多い圧縮であり、ＱＰ値が大きいほど、圧縮品質が粗くなる。
【００４３】
一実施形態では、１Ｄ−ＤＣＴから得られる全ての変換係数に、均一なスカラー量子化が適用される。本発明の第２の実施形態では、変換係数の不均一な量子化が適用され、その場合、そのブロックのためのＱＰ値が、変換係数毎に不均一なスケーリングを決定する量子化行列によってさらに変更される。
【００４４】
並列算術符号化
量子化された変換係数は、本発明の修正算術符号化器によって、損失を生じることなく符号化される。従来の算術符号化方法の１つの大きな欠点は、その「順次」処理の性質であり、その性質によって、従来の算術符号化方法は、複雑性の低いデバイスには適せず、高いスループットが要求される。従来の方法では、符号化は、シンボル毎およびブロック毎に実行されなければならない。その理由は、１つの構文要素、たとえば、量子化された変換係数の符号化が、後続の要素に依存することがあるためである。場合によっては、多数の連続した要素がまとめて符号化されることがある。
【００４５】
並列処理を用いない場合、ブロック（ｎ＋１）はブロック（ｎ）の後に符号化され、ブロック（ｎ）の最後の要素は、ブロック（ｎ＋１）の要素に依存することがある。すなわち、ブロック（ｎ）の最後の要素を表すためのビットが、ブロック（ｎ＋１）内の最初、またはそれ以降の要素に、すなわちこの要素の確率に依存することがある。さらに、それらのビットは、ブロック（ｎ＋１）の最初、またはそれ以降の要素が符号化された後にしか、ビットストリームに書き込むことができない。
【００４６】
算術符号化は、可変長エントロピー符号化を使用する、損失がないデータ圧縮の方法である。頻繁に用いられるビット列ほど、より少ないビットによって表され、頻繁に用いられないビット列ほど、より多くのビットを使用する。入力データを成分列に分離し、各列をコードワードで置き換えるハフマン符号化のような他のエントロピー符号化技法とは対照的に、算術符号化は、単一のコードワードで、たとえば、範囲［０，１］内の部分ｎで全入力データを符号化する。
【００４７】
算術符号化は以下のように機能する。最初に、［０，１］に初期化される「現在区間」［低値，高値］で開始する。その際、シンボル（ビット列）毎に、２つのステップを実行する。
（ａ）現在区間を、取り得るシンボル毎に１つずつの複数の小間隔に細分する。ただし、小間隔のサイズは、確率モデルによる、そのシンボルの推定される確率に比例する。
（ｂ）実際に生じるシンボルに対応する小間隔を選択し、それを新たな現在区間にする。最後の現在区間を全ての他の取り得る最後の区間から区別するために十分な数のビットが出力されなければならない。
【００４８】
算術符号化は、符号化されるシンボル毎に、確率モデルによって与えられる累積確率を、区間［低値，高値］にスケーリングする。低値および高値が互いに極めて近く、このスケーリング動作が、確率モデルのいくつかの異なるシンボルを［低値，高値］区間内の同じ整数上にマッピングするほど近いとき、次のシンボル（または複数のシンボル）が符号化されるまで、その符号化は続けることはできない。
【００４９】
算術符号化では、低値および高値内の最初のビットが同一であるときにのみ、１つのビットを書き込むことができる。低値が０．．．であり、高値が０．．．である場合には、０ビットを書き込み、低値が１．．．であり、高値が１．．．である場合には、１ビットを書き込む。したがって、低値が０１であり、高値が１０であるときには、ビットを書き込むことはできない。４分の１≦低値≦２分の１≦高値＜４分の３であるときに、これが起こることがある。この場合、低値および高値のための２つのビットは逆の極性、０１または１０のいずれかを有する。たとえば、次のビットが０であることがわかる場合、すなわち高値が２分の１未満に降下し、［０，２分の１］が全区間に拡張される場合には、次に続くビットは１である。なぜなら、その間隔の範囲が、拡張された間隔の中間点よりも上になければならないためである。間隔を拡張した後に、依然として、４分の１≦低値≦２分の１≦高値＜４分の３を有することができる。この場合、算術符号化器は、次の低値および高値に同一ビットを書き込むことができるか否かを調べ続ける。
【００５０】
逆に、次の出力ビットが１である場合には、算術符号化器は、その後、０ビットを書き込む。このようにして、その区間は安全に拡張することができる。すなわち、１つのビットを出力することができる場合には、そのビットに、逆のパリティの特定の数のビットが続く。いくつかの場合に、１つまたは複数の区間拡張後に、［低値，高値］は依然として、４分の１≦低値≦２分の１≦高値＜４分の３という条件に入る。この場合には、いかなるビットも書き込むことなく、その区間が拡張される回数が変数ｆとして記録される。その後、ビットが最終的に書き込まれるときに、そのビットに、全部でｆ個の逆のパリティビットが続く。これらのｆ個のビットはフォロービットと呼ばれる。
【００５１】
従来の算術符号化に固有である依存性を解消し、それによって並列化を達成するために、互換性のある符号化方式が、次のブロック内のいかなる要素にも関係なく、各ブロックの最後の係数が符号化された後に、１つのブロック内の量子化された変換係数に対応するビットを書き込む。
【００５２】
本発明において、本発明人は、１組のブロックのための「ストップマーク」を使用する拡張修正算術符号化を記述する。これは、ブロック間の依存性を解消し、並列に実施することができるようにする。その効果は、本発明における量子化された変換係数に対応する多数のシンボルを同時に符号化することができることである。これを果たすために、連続するシンボル間の符号化依存性が解消される。この拡張の結果として、ビットストリーム内に付加的な冗長ビットが存在する。通常、シンボルがより独立して符号化されるようになるほど、ビットレートが高くなることを犠牲にするものの、より柔軟に並列処理を達成することができるようになる。以下の説明では、本発明人は、ブロックレベル並列設計を記述し、それは、符号化効率と並列処理との間の良好なトレードオフを提供する。
【００５３】
本発明は、以下のプロセスを呼び出すことによって、並列処理を達成する。最後の要素（量子化された変換係数）からの「低値」が、所定の最大限の取り得る符号値、たとえば６５５３５の、または正規化される場合には１の４分の１未満である場合には、算術符号化器は、１つの０ビットを書き込み、次に、（ｆ＋１）個の１ビットを、次に、１つの０ビットを書き込む。そうではなく、最後の要素が所定の最大限の取りうる符号値の４分の１以上である場合には、算術符号化器は、１つの１ビットを書き込み、次に、（ｆ＋１）個の０ビット、次に、１つの１ビットを書き込む。フォロービットの後にこの付加ビットを書き込むことによって、各ブロックの終了が個別に符号化され、現在ブロックのシンボルが、再構成されることになるシンボルに関して復号器にとって何ら曖昧なことがなく、２値形式で明白に表される。
【００５４】
復号器が、符号化器によって実行されるようなｆ個のビットをカウントするプロセスに完全に追従しない場合には、最後のビットが必要である。復号器が、符号化器によって実行されるようなｆ個のビットをカウントするプロセスに完全に追従し、それによってさらに複雑になる場合には、最後のビットが出力に書き込まれる必要はない。しかしながら、この手法によれば、１つのブロックの量子化された変換係数の符号化は依然として、次に続くブロックの量子化された変換係数から独立している。
【００５５】
図８は、並列に動作すると共に上記の方法を利用するＮ個の算術符号化ユニット８１０でコンテクスト適応算術符号化を実施するための本発明の並列設計を示す。確率モデル８４０が、変換係数毎に用いられる。一般的に、確率モデルが正確であれば、符号化性能がより良好になる。静的な設計では、トレーニングデータから確率モデルを得ることができ、符号化中に更新されない。
【００５６】
従来の適応算術符号化では、各シンボルが符号化された後に、確率モデルが更新される。その後、そのモデルを用いて、次のシンボルがさらに良好に符号化される。しかしながら、本発明の並列設計では、多数のユニットからシンボル毎にモデルを更新することは、管理不可能であり、競合条件下で読出し‐書込みが無秩序に生じることがあり、すなわち、読出しおよび書込みの順序が決定されないことがある。
【００５７】
図８に示されるような、本発明の１つの実施形態では、算術符号化ユニットのそれぞれが、全ての算術符号化ユニット間で共通である確率モデル８４０に基づいて、量子化された変換係数の１組のＮ個のブロック８３０内のブロックのうちの１つを並列に符号化する。この場合には、１サイクル内の全てのブロックを符号化するプロセス中には変化しないままにしながら、Ｎ個のブロック８３０の符号化が完了してから遅延８３０を経た後にのみ、モデルが更新される（８２０）。この設計も、所定の時間期間にわたってＮ個のブロックが符号化された後に更新が行なわれる事例にも拡張される。符号化器８１０の中間ビットストリームが多重化され（８５０）、出力ビットストリーム３０２が生成される。
【００５８】
本発明の第２の実施形態では、算術符号化ユニットのそれぞれが、そのユニットに特有であり、他のユニットから独立している指定された確率モデルに基づいて、量子化された変換係数の１つのブロックを符号化する。ユニット毎の確率モデルの更新が、個別に、且つ特定のユニットが符号化するデータのみに基づいて実行される。
【００５９】
上記の実施形態の両方において、確率モデル（複数可）も、先行して符号化されるシンボルの統計に基づいて、時間とともに周期的に更新することができる（８２０）。
【００６０】
範囲［−５１２／ＱＰ，＋５１１／ＱＰ］にある量子化された変換係数を符号化するために、本発明の一実施形態は最初に、（５１２／ＱＰ）のオフセットを加えて、符号化される全ての係数が範囲［０，１０２３／ＱＰ］内に入るようにし、その後、上記のような算術符号化を適用する。この実施形態は、確率モデル毎に１０２４／ＱＰ×Ｎビットのメモリを必要とする。ただし、Ｎは確率モデルにおける量子化された変換係数毎の確率を表すためのビット数である。
【００６１】
本発明人は、量子化された変換係数の確率分布が対称であることを理解している。それゆえ、本発明人は、オフセットすることなく、量子化された変換係数の絶対値、すなわち範囲［−５１２／ＱＰ，＋５１１／ＱＰ］内の係数の絶対値を符号化することによってメモリのサイズを削減することができる。値が０でない場合には、符号化されない符号ビットが、中間ビットストリームに別個に書き込まれる。すなわち、符号ビットは、算術符号化されない。この変更は、１０２４／ＱＰ×Ｎから５１２／ＱＰ×Ｎまで少なくも２分の１だけ、確率モデル毎に必要とされるメモリを効率的に低減する。量子化された変換係数毎に別個の確率モデルが存在し、その実施態様が、読出し／書込み動作のための複数のタイミング要件を満たすために同じ表のいくつかのバージョンを格納することができる場合には、全メモリ節約量をさらに大きくすることができる。
【００６２】
ハードウエア設計
機内でのＳＡＲ処理のためにフィールドプログラマブルゲートアレイ（ＦＰＧＡ）が典型的である。しかしながら、セミカスタムＡＳＩＣおよび他のカスタムシリコンデバイスと比べて、ＦＰＧＡ性能は典型的には、はるかに制限される。詳細には、放射線耐性デバイスおよび軍事用途のデバイスは典型的には、最新の市販のデバイスよりも低い性能を有する。
【００６３】
図９に示されるように、本発明の第１の実施形態の場合、その圧縮方法は単一のＦＰＧＡ９００において実施される。この実施形態の利点は、単一のハードウエアしか必要としないことである。全ての処理が単一のＦＰＧＡ９００において実現されるが、それでも、算術符号化ユニットは並列に動作して、スループット要件を満たす。
【００６４】
図１０に示されるように、本発明の第２の実施形態の場合、その圧縮方法は、さらに高いスループットを達成するために、多数のＦＰＧＡ１００１および１００２で実現される。この設計は、全てのフロントエンド動作を、単一のＦＰＧＡ１００１に分担させる。その後、算術符号化が多数のＦＰＧＡ１００２において実施され、各ＦＰＧＡは１つの並列チャネルに対応する。この設計は、単一のＦＰＧＡ設計よりも、ハードウエアとタイミングとの間の自由度をさらに大きくするのを容易にする。
【００６５】
図１１に示されるように、本発明の第３の実施形態の場合、ＳＡＲは逆多重化され、サンプリングされて（１１０１）、Ｎ個のブロックストリームにされる。各ストリームは個別のＦＰＧＡ１１０２によって並列に処理され、Ｎ個の中間ビットストリーム１１１１が生成され、その後、それらのビットストリームは多重化されて、圧縮されたビットストリーム３０２が生成される。
【００６６】
本発明の実施形態による修正算術符号化法によれば、上記の設計が、並列処理を通じて高いスループットを達成することができるようになることを強調しておきたい。
【００６７】
従来技術との比較
従来技術のシステムとは対照的に、本発明のシステムは、大きな違いおよび利点を有する。
【００６８】
従来のＢＡＱ手法と比べて、本発明は多くのものを含む。生データサンプルに対するブロック適応量子化を処理するＢＡＱとは対照的に、本発明は、離散コサイン変換、エントロピー符号化、およびレート制御も含む。本発明における量子化は周波数領域において実行される。さらに、本発明における量子化は、ＢＡＱにおける量子化とは異なり、計算がより簡単であり、エントロピー符号化と非常に効率的に組み合わせられる。この包括的な設計によれば、圧縮品質を著しく劣化させることなく、より高い圧縮比を達成することができる。
【００６９】
ＦＦＴ−ＥＣＢＡＱ法と比べて、本発明は、いくつかの態様において異なる。最初に、サンプルを周波数領域に変換するために用いられる１Ｄ−ＤＣＴの長さがより短いため、本発明の符号化は、複雑性が制限されたプラットフォームの場合に、より実用的であり、実現性が高い。ＦＦＴ−ＥＣＢＡＱの長いサイズの２Ｄ−ＦＦＴと比べて、本発明では、ハードウエアの複雑性を大幅に低減する。それゆえ、本発明は、１つのＦＰＧＡにおいて実施することができ、他の外部チップにアクセスすることができるようにする必要はない。圧縮品質を著しく損なうことなく、本発明において変換サイズをより短くすることができる理由は、本発明が、異なるブロック適応量子化方式を用いることである。
【００７０】
本発明によって用いられる量子化はスカラー量子化であり、それは、ブロック内の全てのＤＣＴ係数の均一な分割を適用する。したがって、本発明では、ＦＦＴ−ＥＣＢＡＱにおいて実行されるように、１ブロック内でビットを割り当てるために、ブロックサイズを大きくする必要はない。
【００７１】
実際には、本発明におけるビット割当ては、ブロックエントロピーの近似として、ブロック分散に従って、より小さいサイズのブロックの中で行なわれる。このビット割当ては、より高い全体品質を達成するために、より多くのビットを、より多くの情報を含む、すなわち、より分散が大きなブロックに「動かす」。
【００７２】
本発明人は、レート制御手順によって、ブロック毎にＱＰを適応させる。ＦＦＴ−ＥＣＢＡＱでは、そのタイプのエントロピー符号化器は規定されない。それに対して、本発明において、本発明人は、より効率的に圧縮するために算術符号化を使用した。さらに、本発明によって用いられる算術符号化器および復号器を変更して、並列設計を可能にする。
【００７３】
ＢＴＣのような他の従来技術の方法と比べると、本発明は、ブロック単位のビット割当ておよびレート制御とともに、ＤＣＴ、エントロピー符号化、およびより効率的な量子化を導入することによって、他の方法とは異なり、且つ他の方法よりも進んでいる。本発明は、はるかに高い性能を生み出す。
【００７４】
本発明の精神および範囲の中で、種々の他の改変および変更を行なうことができることは理解されたい。それゆえ、添付の特許請求の範囲の目的は、本発明の真の精神および範囲に入るような全ての変形および変更を包含することである。
【図１】
0005052541.tif 000002
【図２】
0005052541.tif 000003
【図３】
0005052541.tif 000004
【図４】
0005052541.tif 000005
【図５】
0005052541.tif 000006
【図６】
0005052541.tif 000007
【図７】
0005052541.tif 000008
【図８】
0005052541.tif 000009
【図９】
0005052541.tif 000010
【図１０】
0005052541.tif 000011
【図１１】
0005052541.tif 000012