(57)【特許請求の範囲】
【請求項１】
画像フレームを符号化データストリームに変換する方法であって、
（ａ）前記画像フレームをメモリ内に格納するステップと、
（ｂ）前記画像フレームの領域内の複数の画素からなるグループを選択するステップと、
（ｃ）前記選択された複数の画素からなるグループの各画素のカラー属性の色分布を生成するステップと、
（ｄ）前記色分布を検査して、前記選択された複数の画素からなるグループが均一な色分布を有しているか否かを決定するステップと、
（ｅ）前記選択された複数の画素からなるグループが均一な色分布を有していない場合に、前記色分布の平均を決定することによって前記選択された複数の画素からなるグループを処理し、前記複数の画素からなる選択されたグループ内の各画素を調べ、その画素の色属性値がその平均値よりも大きい場合にその画素を高い画素グループに位置付け、その画素の色属性値がその平均値よりも大きくない場合にその画素を低い画素グループに位置付け、前記高い画素グループと前記低い画素グループのうちの１つを選択し、次いで、前記選択した画素グループに対して（ｃ）、（ｄ）、および（ｅ）のステップを繰り返すステップと、
（ｆ）前記選択された複数の画素からなるグループが均一な色分布を有している場合、前記選択された複数の画素からなるグループを前記符号化されたデータストリームに符号化するステップと
を備えることを特徴とする方法。
【請求項２】
前記色分布は、前記選択された複数の画素からなるグループについての輝度分布を備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記ステップ（ｆ）は、前記選択された複数の画素からなるグループを単一の色で符号化することを特徴とする請求項１に記載の方法。
【請求項４】
前記ステップ（ｆ）は、前記色分布の平均を生成し、前記選択されたグループを前記平均の色で符号化することを特徴とする請求項３に記載の方法。
【請求項５】
前記色属性は、輝度であり、前記ステップ（ｃ）は、前記色分布の平均輝度を算出することを備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記ステップ（ｅ）は、
（ｅ１）前記選択された複数の画素からなるグループの平均輝度を決定するステップと
（ｅ２）前記選択された複数の画素からなるグループ内の各画素を調べるステップと
（ｅ３）その画素の輝度値がその平均輝度よりも大きい場合にその画素を高い画素グループに位置付けるステップと
（ｅ４）その画素の輝度値がその平均値よりも大きくない場合にその画素を低い画素グループに位置付けるステップと
を備えることを特徴とする請求項５に記載の方法。
【請求項７】
前記ステップ（ｄ）は、
前記色分布に対する前記色属性の標準偏差Ｔを決定するステップと、
前記画像フレームの全体に対する前記色分布の標準偏差Ｓを決定するステップと、
Ｔ＜Ｓ（Ｑ（１−Ｑ））1/2の場合に、前記色分布が均一であると言われるような割合としてＱを定義するステップと
を備えることを特徴とする請求項１に記載の方法。
【請求項８】
前記ステップ（ｆ）は、
（ｆ１）前記選択された複数の画素からなるグループを前記ステップ（ｅ）で形成された前記前記高い画素グループと前記低い画素グループの１つとマージするステップと、
（ｆ２）前記マージされた複数の画素からなるグループの各画素についての色属性の色分布を生成するステップと、
（ｆ３）前記色分布を検査して、前記マージされた複数の画素からなるグループが均一の色分布を有しているか否かを決定するステップと
（ｆ４）前記マージされた複数の画素からなるグループが均一の色分布を有している場合に、前記マージされた複数の画素からなるグループを符号化するステップと、
（ｆ５）前記マージされた複数の画素からなるグループが均一の色分布を有している場合に、前記選択された複数の画素からなるグループを符号化するステップと
を備えることを特徴とする請求項１に記載の方法。
【請求項９】
前記領域は、矩形であることを特徴とする請求項１に記載の方法。
【請求項１０】
さらに、
（ｇ）前記画像フレームを色分布フィールド、色フィールドおよび画素フィールドとして符号化するステップと
（ｈ）前記色分布フィールドに、前記画像フレーム内の複数の均一な画素フレームの番号を割り当てるステップと
（ｉ）前記色フィールドに、前記均一な画像グループに割り当てられた色を表す色番号を割り当てるステップと、
（ｊ）前記画像フィールドに、前記画像フレーム内の個々の画素に前記色フィールド内の色番号を関連付けるビットパターンを割り当てるステップと
を備えることを特徴とする請求項１に記載の方法。
【請求項１１】
さらに、
（ｋ）前記符号化されたデータストリームを復号するステップを備えることを特徴とする請求項１０に記載の方法。
【請求項１２】
前記ステップ（ｋ）は、
（ｋ１）前記色分布フィールドを検査するステップと、
（ｋ２）前記色分布フィールドが、前記画像フレームが均一であることを示す場合に、前記画像フレーム内の各画素に、前記色フィールド内の色フィールド番号によって表される色を割り当てるステップと、
（ｋ３）前記色分布フィールドが、前記画像フレームが均一でないことを示す場合に、前記色フィールドを解析し、前記画像フレーム内の均一な領域の総数に対応する色フィールド番号を獲得するステップと、
（ｋ４）前記画素フィールドを使用して、前記画像フレーム内の個々の画素に、前記関連付けられた色フィールド番号によって表される色を割り当てるステップと
を備えることを特徴とする請求項１１に記載の方法。
【請求項１３】
画像フレームを符号化データストリームに変換する装置であって、
前記画像フレームを格納するメモリと、
前記画像フレームの領域内の複数の画素からなるグループを選択する手段と、
前記選択された複数の画素からなるグループの各画素のカラー属性の色分布を生成する手段と、
前記色分布を検査して、前記選択された複数の画素からなるグループが均一な色分布を有しているか否かを決定する手段と、
前記選択された複数の画素からなるグループが均一な色分布を有していない場合に動作し、前記色分布の平均を決定することによって前記選択された複数の画素からなるグループを処理する手段であって、前記複数の画素からなる選択されたグループ内の各画素を調べ、その画素の色属性値がその平均値よりも大きい場合にその画素を高い画素グループに位置付け、その画素の色属性値がその平均値よりも大きくない場合にその画素を低い画素グループに位置付け、前記高い画素グループと前記低い画素グループのうちの１つを選択し、さらに前記色分布を検査し、前記選択した画素グループを再処理するように処理する手段と、
前記選択された複数の画素からなるグループが均一な色分布を有している場合に動作し、前記選択された複数の画素からなるグループを前記符号化されたデータストリームに符号化する手段と
を備えることを特徴とする装置。
【請求項１４】
前記色分布は、前記選択された複数の画素からなるグループについての輝度分布を備えることを特徴とする請求項１３に記載の装置。
【請求項１５】
前記選択された複数の画素からなるグループを前記符号化する手段は、前記選択された複数の画素からなるグループを単一の色で符号化する手段を備えることを特徴とする請求項１３に記載の装置。
【請求項１６】
前記選択された複数の画素からなるグループを前記符号化する手段は、前記色分布の平均を生成し、前記選択されたグループを前記平均の色で符号化する手段を備えることを特徴とする請求項１５に記載の装置。
【請求項１７】
前記色属性は、輝度であり、前記色分布を生成する手段は、前記色分布の平均輝度を算出する手段を備えることを特徴とする請求項１３に記載の装置。
【請求項１８】
前記選択された複数の画素からなるグループを符号化する手段は、
前記選択された複数の画素からなるグループの平均輝度を決定する手段と
前記選択された複数の画素からなるグループ内の各画素を調べる手段と
その画素の輝度値がその平均輝度よりも大きい場合に動作し、その画素を高い画素グループに位置付ける手段と
その画素の輝度値がその平均値よりも大きくない場合に動作し、その画素を低い画素グループに位置付ける手段と
を備えることを特徴とする請求項１７に記載の装置。
【請求項１９】
前記色分布を検査して、前記選択された複数の画素からなるグループが均一な色分布を有しているか否かを決定する手段は、
前記色分布に対する前記色属性の標準偏差Ｔを決定する手段と、
前記画像フレームの全体に対する前記色分布の標準偏差Ｓを決定する手段と、
Ｔ＜Ｓ（Ｑ（１−Ｑ））1/2の場合に、前記色分布が均一であると言われるような割合としてＱを定義する手段と
を備えることを特徴とする請求項１３に記載の装置。
【請求項２０】
前記選択された複数の画素からなるグループを前記符号化されたデータストリームに符号化する手段は、
前記選択された複数の画素からなるグループを前記ステップ（ｅ）で形成された前記前記高い画素グループと前記低い画素グループの１つとマージする手段と、
前記マージされた複数の画素からなるグループの各画素についての色属性の色分布を生成する手段と、
前記色分布を検査して、前記マージされた複数の画素からなるグループが均一の色分布を有しているか否かを決定する手段と
前記マージされた複数の画素からなるグループが均一の色分布を有している場合に動作し、前記マージされた複数の画素からなるグループを符号化する手段と、
前記マージされた複数の画素からなるグループが均一の色分布を有している場合に、前記選択された複数の画素からなるグループを符号化する手段と
を備えることを特徴とする請求項１３に記載の装置。
【請求項２１】
前記領域は、矩形であることを特徴とする請求項１３に記載の装置。
【請求項２２】
さらに、
前記画像フレームを色分布フィールド、色フィールドおよび画素フィールドとして符号化する手段と
前記色分布フィールドに、前記画像フレーム内の複数の均一な画素グレームの番号を割り当てる手段と
前記色フィールドに、前記均一な画像グループに割り当てられた色を表す色番号を割り当てる手段と、
前記画像フィールドに、前記画像フレーム内の個々の画素に前記色フィールド内の色番号を関連付けるビットパターンを割り当てる手段と
を備えることを特徴とする請求項１３に記載の装置。
【請求項２３】
さらに、
前記符号化されたデータストリームを復号する手段を備えることを特徴とする請求項２２に記載の装置。
【請求項２４】
前記符号化されたデータストリームを復号する手段は、
前記色分布フィールドを検査する手段と、
前記色分布フィールドが、前記画像フレームが均一であることを示す場合に動作し、前記画像フレーム内の各画素に、前記色フィールド内の色フィールド番号によって表される色を割り当てる手段と、
前記色分布フィールドが、前記画像フレームが均一でないことを示す場合に動作し、前記色フィールドを解析し、前記画像フレーム内の均一な領域の総数に対応する色フィールド番号を獲得する手段と、
前記画素フィールドを使用して、前記画像フレーム内の個々の画素に、前記関連付けられた色フィールド番号によって表される色を割り当てる手段と
を備えることを特徴とする請求項２３に記載の装置。
【発明の詳細な説明】
発明の背景
１．発明の分野
本発明の方法及び装置は、ディジタル化された可視画像の記憶、表示及び再生に関し、特にディジタル化された可視画像を圧縮及び伸長する装置及び方法に関する。
２．技術的背景
コンピュータ及びビデオカセットレコーダ（ＶＣＲ）のような多数のディジタル装置は、例えば映画の形態で可視画像を記憶及び表示するために使用されている。ディジタル化された可視画像には、大きい記憶容量が必要である。映画の１フレームには、ＲＧＢ１６表示モードに対して伸長された形態で表わされる場合、１５３，６００（３２０＊２４０×２）バイトが必要とされる。１５フレーム／秒では、１秒の映画の記憶に２，３０４，０００バイトを要する。ディジタル装置の記憶量は限られており、またディジタル装置は制限された内部帯域幅を有しているため、ディジタル化された画像を圧縮された形態で表示する必要がある。マルチメディア適用においてディジタルビデオが急増したことにより、この必要性はさらに高まってきた。
ディジタル化された単色の可視画像を圧縮する１つの従来技術は、Delp氏及びMitchell氏により最初に著わされたブロック・トランケーション・コーディング（ＢＴＣ）として知られている。文献［E.J.Delp及びO.R.Mitchell氏による"Image Compression Using Block Truncation Coding", IEEE Transactions on Communications, Vol.COM-27, No.9, 1335乃至1342頁，1979年９月（以降“デルプ(Delp)方法”）］を参照されたい。この方法は、小さい領域を遠くから見たとき、その小さい領域内の微細なディテールの平均値を知覚するという人間の目の性質を利用する。微細なディテールが元の情報の平均及び標準偏差を保持する情報により表わされた場合、人間の目は情報損失を全く知覚しない。
ＢＴＣはカラー画像に拡大されている。一般的なカラーＢＴＣ方法は、以下のステップを含む：
１．重複していないｎ×ｍブロックに画像を分解する。
２．各ブロックに対して、平均輝度値Ｙavgを見出し、ステップ３乃至６を実行する。
３．輝度値が平均輝度値Ｙavg以下のブロック中の全ての画素に対して、平均カラーＣlowを見出す。
４．輝度値が平均輝度値Ｙavgより大きいブロック中の全ての画素に対して、平均カラーＣhighを見出す。
５．Ｃlowと関連した画素を２値パターンの“０”として表わし、Ｃhighと関連した画素を“１”として表わすことによって各ブロックに対して２値パターンを構成する。
６．２つの代表的なカラー値と、各画素に対して“０”または“１”の２値パターンとによりブロックをコード化する。
G.Campbell氏他による文献（"Two Bit/Pixel Full Color Encoding"inACM Computer Graphics, Vol.20, No.4, pp.215-223, Dallas,Aug.1986）を参照されたい。このようにして、ブロック内の各画素は、２つのカラーの１つとして表わされる。ブロックは２つのカラーで符号化され、２つのＲＧＢ１６カラーに対して４バイトであり、それは２値パターンの値プラス２値パターンにおける１画素当たり１ビットを示しているため、スペースが節約される。例えば４×４画素のブロックは、２つのカラーを表わす４バイトプラスブロック中の各画素に対して１ビットである１６ビットで符号化される。したがって、ブロックは合計４８ビット即ち６バイトで符号化される。ＢＴＣを使用せずに、各画素がそのＲＧＢ１６カラー値を表わすために必要とされる１６ビットで符号化されると、４×４画素のブロックに対して合計２５６ビットが必要とされる。したがって、ＢＴＣでは結果的に４×４画素のブロックに対して２５６／４８、すなわち１６：３の圧縮率になる。
画像をブロックに分解し、２つの代表的な値としてブロックを符号化し、２値パターンとしてブロック中の画素を符号化する方法は、一般に２値パターン画像コーディング（ＢＰＩＣ）と呼ばれている。ＢＰＩＣを使って使用されることができるブロック寸法は、表示モニタまでの観察距離、画素解像度及び表示モニタの物理的面積に依存する。例えば、文献（D.Chen氏及びA.C.Bovik氏による"Visual  Pattern  Image  Coding"，  IEEE  Transactions  on  Communications，Vol.COM-38, No.12, pp.2136-2146, Dec.1990）を参照されたい。圧縮されるべき画像のカラー分布（color distribution)及び各ブロックによる情報バリエーションの程度は、通常、圧縮が行われるまで分からないため、許容可能なレベルの情報を維持するために必要とされるブロック寸法は、評価することが難しい。
ＢＰＩＣ符号化のバリエーションの一例は、Arturo Rodriguez、Mark Pietras及びSteven Hancock氏によりＩＢＭ社に譲渡された米国特許出願第07/965,580号明細書（"HYBRID VIDEO COMPRESSION SYSTEM AND METHOD CAPABLE OF SOFTWARE-ONLY DECOMPRESSION IN SELECTED MULTIMEDIA SYSTEMS", 1992年10月出願）に記載されている。米国特許出願第07/965,580号明細書では、画像を領域に分割し、均一性テストにより各領域を検査している。領域が均一である場合、それは１つのカラーとして符号化される。領域が均一でない場合、領域はＢＰＩＣで符号化されるか、或は複数の象限（quadrants）に分割され、この象限が均一な領域として、またはＢＰＩＣで符号化される。
米国特許出願第07/965,580号明細書に記載された方法は、象限以上にブロックを分解しないため、それは別の非回帰（ＢＰＩＣ）法と同じ制限を受ける。特に、圧縮されるべき画像のカラー分布及び各ブロックによる情報バリエーションの程度は、通常、圧縮が行われるまで分からないため、許容可能なレベルの情報を維持するために必要とされるブロックまたは象限の寸法の評価は困難である。理想的には、局部的な画像領域の情報内容にしたがってブロック寸法を適応的に選択することが望ましい。
J.U.Roy氏及びN.M.Nasarabadi氏は、大きいブロックで始まり、低い情報バリエーションの適切な解像度が認められるまで、象限にブロックを分解することによってより小さいブロックに関して回帰的にＢＴＣ技術を使用する方法の利用を示唆した。文献（J.U.Roy氏及びN.M.Nasarabadi氏による"Hierarchical Block Truncation Coding", Optical Engineering, Vol.30, No.5, pp.551-556）を参照されたい。
M.Kamel氏は、カラー平均二乗誤差を最小にする最良のしきい値を見出だすためにブロックの平均輝度値に関して期間［Ｙavg−ｔ，Ｙavg＋ｔ］を使用して類似の方法を使用している。文献（M.Kamel氏、C.T.Sun氏及びL.Guan氏による"Image Compression By Variable Block Truncation Coding With Optimal Threshold", IEEE Trans. on Signal Processing, Vol.39, No.1, pp.208-212, Jan.1991）を参照されたい。
回帰的なブロック分解は、結果として非回帰方法より優れた圧縮を実現する。ブロックを表すために必要とされる最少数のカラーを適応的に選択することによって、画像は最初に任意の大きい領域に分割される。大きい均一領域を１色として符号化することは、結果的に同じ大きい領域を１組の小さい領域として同じカラーで無駄に符号化するよりも高い圧縮率が実現される。これは、各領域がそのカラーで符号化されなければならず、それは固定したバイト数を占有するためである。例えば、大きい領域が１色として表された場合、その領域は２バイトのカラー値で符号化される。同じ領域が４つの領域として符号化された場合、各領域は２バイトのカラーで符号化されなければならない。したがって、この例では大きい領域を１色として表すことにより６バイト節約される。
米国特許出願第07/965,580号明細書に記載されているような非回帰方法は、任意の大きさの領域を符号化することはできない。それは上述されたように、画像が分割される領域は許容できない情報損失を避けるために十分に小さく選択されなければならないためである。任意の画像に対して、画像は選択されたブロック寸法より大きい単一の色領域（single color regions）を含んでいるため、この選択は最適ではないことが分かる。領域寸法の最初の選択によりこれらの単一の色領域（single color regions）を小さい領域に分割することによって、非回帰方法は結果的に準最適圧縮を実現する。
小さいブロックに画像を回帰的に分割する技術は、結果的に非回帰方法より大きい圧縮を実現するが、従来技術の回帰方法には画像の品質を低下させるという副次的な作用がある。画像をより小さいブロックに分割することは、画像に人為的なブロック構造を与え、したがって伸長して復元された画像はあたかも人為的な構造がそれに付加されているかのように見える傾向がある。
以下説明するように、本発明の方法及び装置は、画像に人為的な構造を与えない。この方法により、ブロック内の任意の形状の対象物は、前に示唆された方法の象限分解構造を重畳する代わりに、それらの元の境界線を保持することができる。したがって、本発明の方法は、単色の適切な使用が確保されるので高い画像品質を保持する傾向がある。
単一色（single color）として分布を符号化する妥当性を確実にするために、本発明の方法は米国特許出願第07/965,580号明細書に記載されているような均一性テストを使用する。上述のように、米国特許出願第07/965,580号明細書に記載されている方法は画像を領域に分割して、均一性テストにより各領域を試験する。領域が均一ならば、それは１色（one color）として符号化される。領域が均一でないならば、領域はＢＰＩＣで符号化されるか、或は象限に分割されて、その象限が均一な領域としてまたはＢＰＩＣで符号化される。
本発明の方法及び装置は、米国特許出願第07/965,580号明細書に記載された方法とは異なり、ブロックを一連の均一な分布に解像するために均一性テストを回帰的に使用する。以下説明するように、本発明の方法及び装置はより小さいブロックに画像を回帰的に分割する従来技術とは異なり、輝度特性で画素分布を分割することによってフレームを分解する。したがって、上述されたように本発明の方法及び装置は、圧縮されるべき画像に人為的な構造を付加することはなく、それ故伸長して復元されたときの画像の品質を大幅に高める。
ＢＰＩＣ技術とは別に、もう１つの示唆されている圧縮技術は、グループに対する輝度及び色差値を分離することによって画素のグループを表すことに基づいている。国際無線諮問委員会（ＣＣＩＲ）は、この方法に対して特定のコード化方式を定めている。ディジタル化されたフレームの連続した２×２画素領域は、各画素に対して個々の１バイトの輝度値を使用し、また４画素領域に対して代表的な色差（クロミナンス）値の２バイトを使用して符号化される。このようにして、ＲＧＢ24表示モードに対して１画素当たり３バイトの12バイトとして４つの画素を表わす代わりに、４つの画素は50％の圧縮率に対して６バイトとして表される。この圧縮された信号を元のＲＧＢ24表示データに変換する実効的なシステムに関して、Arturo Rodriguez氏他により1993年11月16日に出願された米国特許第5,262,847号明細書を参照されたい。
したがって、高い圧縮率を達成すると同時に圧縮された画像における歪みの導入を減少させる圧縮方法が必要とされている。以下さらに詳細に説明するように、本発明の方法及び装置は、典型的にＣＣＩＲ符号化方式よりもはるかに高い圧縮率を実現する。
以下説明するように、本発明の方法及び装置は、画像に人為的なブロック構造を付加せずに回帰的なＢＰＩＣ技術の利点を保持する。したがって、本発明の方法及び装置は、良好な画像品質、良好な圧縮率、廉価性を組み合わせると同時に伸長の容易さを保持している。
発明の要約
本発明は、カラーまたはモノクローム可視画像を圧縮されたディジタル形態で表示する方法及び装置を提供する。その方法は迅速な伸長を可能にすると同時に従来のＢＰＩＣ法よりも高い画像品質を維持することを可能にする。本発明によれば可視画像または映画のフレームのシーケンスのような一連の関連する可視画像がディジタルまたはアナログ形態で記憶され、本発明のコンプレッサに与えられる。一連のディジタル画像はランダムアクセスメモリ（ＲＡＭ）に供給され、一時に１フレームづつコンピュータの中央処理装置（ＣＰＵ）によって圧縮される。コンプレッサのコード化規則にしたがったデコンプレッサは一時に１フレームづつ伸長して復元し、陰極線管（ＣＲＴ）のような表示装置のビデオＲＡＭに伸長されたフレームを与える。
本発明のコンプレッサは１つのフレームを予め定められた数の任意の大きさの重ならない連続した領域に分割し、それらの連続した領域は簡単なブロックでもよい。各ブロックはテストされてそのブロックが均一なカラー分布を有するか否かが決定される。ブロックが選択された均一性テストによって定められたような均一なカラー分布を有する場合には、そのブロックの各画素は単一のカラーとして与えられ、ただ１つのカラーしかそのブロックをコード化するために必要とされない。ブロックが均一なカラー分布を有しない場合には、そのブロックの２つの分布、Ｐ（高）及びＰ（低）に分割され、ここでＰ（高）は第１の分布の平均輝度Ｙavgよりも高い輝度を有する第１の分布の部分であり、Ｐ（低）は平均輝度Ｙavg以下の輝度を有する第１の分布の部分である。Ｐ（高）及びＰ（低）は均一性に対して別々にテストされ、同じプロセスはその領域が均一な画素分布に分解されるまでそれぞれに対して回帰的に適用される。
コンプレッサはまた分割処理中に分割された均一な分布が混じり合うことを確実にする。例えば、分布が分布Ｐ（高）及びＰ（低）に分割される場合に、これらの分布はさらに分布（Ｐ）（高の高）、Ｐ（高の低）、Ｐ（低の高）、Ｐ（低の低）に分割されてもよい。コンプレッサはＰ（高の低）と混じり合ったＰ（高の高）が均一な分布を生じるか否かを検査する。検査結果が均一な分布である場合には混じり合った分布が単一のカラーとしてコード化される。
１つのブロック内の各均一な分布が単一のカラーとしてコード化され、各カラーを表す異なった２値コードがそれぞれの均一な分布に対して割当てられる。例えば、１つのブロックが２つの均一なカラー分布赤及び黒を含んでいる場合、カラー赤は２値コード“０”を割当てられ、カラー黒は２値コード“１”を割当てられる。
圧縮比率を増加するため、コンプレッサはフレーム間差分技術を使用して連続するフレーム間の冗長の効果を得ることができる。
コンプレッサの規則にしたがって、本発明のデコンプレッサは各画素のカラーを再構成する。上記の例に関連して、カラー赤が２値コード“０”を割当てられ、カラー黒が２値コード“１”を割当てられている場合、デコンプレッサは“０”としてコード化された各画素に対してＲＧＢ１６表示モードに対して２バイトの赤に対する全画素値を置換し、“１”としてコード化された各画素に対して黒を置換する。デコンプレッサは同じ規則にしたがうことによって対応するパターンとカラーを関連させ、コンプレッサはカラーに対してパターンを割当てるために使用される。
【図面の簡単な説明】
図１は、ディジタル画像を圧縮して記憶し、元の画像を伸長して表示するための本発明の技術を使用するシステムの概要図である。
図２は、本発明の圧縮及び伸長システムの機能ブロック図である。
図３は、圧縮される例示的な画像フレームを示す。
図４は、例示的な画像フレームのブロックへの分割を示す。
図５は、均一なブロックに対する代表的な輝度分布を示す。
図６は、非均一なブロックに対する代表的な輝度分布を示す。
図７（ａ）及び７（ｂ）は、図６の分布の２つの別々の分布への分割を示す。
図８（ａ）及び８（ｂ）は、図７（ａ）の分布の２つの別々の分布への分割を示す。
図８（ｃ）及び８（ｄ）は、図７（ｂ）の分布の２つの別々の分布への分割を示す。
図９は、図８（ｂ）及び８（ｃ）の分布の混ざり合うことにより形成された分布を示す。
図１０（ａ）は非均一なブロックに対する別の輝度分布の１例を示す。
図１０（ｂ）及び１０（ｃ）は、図１０（ａ）の分布の一部の２つの分布への分割を示す。
図１０（ｄ）は、図１０（ａ）及び１０（ｂ）の一部の分布の混ざり合うことにより形成された分布を示す。
図１１は、本発明の好ましい実施形態によって使用されるブロックの圧縮フォーマットを示す。
図１２（ａ）乃至１２（ｈ）は、本発明の方法を表すフロー図である。
図１３は、前フレーム間差分法と関連して使用される本発明の方法を表すフロー図である。
図１４は、次フレーム間差分法と関連して使用される本発明の方法を表すフロー図である。
表記法および命名法
以下に述べる詳細な説明は大部分がコンピュータメモリ内のデータビットについての操作を表す象徴的な表示と、アルゴリズムに関する。これらの説明と表示はデータ処理分野における当業者が他の同業者に彼らの作業の内容を効率良く伝えるために使われる手段である。
ここでは、アルゴリズムとは所望の結果を導く自己矛盾の無い一連のステップであると一般的に考えられている。これらのステップは物理量の物理的な操作を必要とする。必須ではないが、一般的に、これらの量は格納、伝送、結合、比較、その他の操作が可能である電気的、あるいは磁気的な信号の形をとる。主に、一般的な慣例の理由で、これらの信号をビット、値、要素、シンボル、文字、用語、数等として引用することは、時々都合が良いことが立証されている。しかしながら、これらの全て、あるいは類似する用語は適当な物理量に関連し、これらの量に与えられた便利なラベルに過ぎないことに留意すべきである。
さらに、実行される操作は加算、比較等の人間により実行される知的な操作に関連する用語を参照する。本発明の一部分となる以下に説明するいずれの動作においても、人間の操作は必要としない、あるいは殆どの場合要求されない。いずれの動作も機械の動作である。本発明の動作を実行する有益な機械は、汎用ディジタルコンピュータ、あるいは同様な他のディジタル装置を含む。いずれの場合でも、コンピュータを動作させる動作方法と、計算方法そのものを区別することを留意すべきである。本発明は、他の所望の物理的な信号を発生するために電気的、あるいは他（例えば、機械的、科学的）の信号を処理するようにコンピュータを動作させる方法に関する。
本発明は、これらの動作を実行する装置にも関する。この装置は、要求される目的のために特別に設計される。あるいは、コンピュータ内に格納されたコンピュータプログラムにより選択的に活性化されたり、変形される汎用コンピュータである。ここで示されるアルゴリズムは特別なコンピュータ、または他の装置に固有のものではない。特に、多くの汎用装置が、ここに述べられた教示に応じて書かれたプログラムとともに使用される。あるいは、要求される方法ステップを実行するためのより特別な装置を設計することはより便利であることが立証される。多くのこれらの装置に要求される構成は、以下の説明から明らかになるであろう。
発明の詳細な説明
以下の説明においては、その内部で圧縮及び伸張が行われるシステム、可視画像のブロックへの分割、画素分布の具体的な形状及び画素分布の符号化、といった特定された多数の詳細説明が述べられている。しかしながら、本発明はこれら特定の詳細説明が無くとも実施可能であることは当業者にとって明らかであろう。他の例においては、本発明が不必要にあいまいになることがないように、周知の回路及び構成は詳細に記述されていない。
図１は本発明に従ってディジタルデータを圧縮し、圧縮されたデータを記憶し、そして実物のデータを再生成する１つの具体的なシステムを示している。図１には、中央処理装置（ＣＰＵ）１４、ランダムアクセスメモリ（ＲＡＭ）１６、読出し／書込み記憶装置１２、リードオンリーメモリ（ＲＯＭ）１８、ネットワークインターフェース装置２１、表示バッファ３２、入力／出力装置３０、そして伸張されるデータの原形、すなわちレーザディスク２６、ビデオカセットレコーダ（ＶＣＲ）２８、又はカメラ２９が示されている。また図示のように、これらのエレメントはバス２０上で互いに通信する。伸張データは、レーザディスク再生機２６、ＶＣＲ２８、カメラ２９により提供され、あるいは入力／出力装置３０により用いられた制御命令を通じて他の装置から提供される。レーザディスク再生機２６、ＶＣＲ２８又はカメラ２９からのアナログ信号は、アナログからディジタルへ（Ａ／Ｄ）の変換器２２に供給される。この変換器２２は、アナログ画像を、色変換器２４により所望の色フォーマット（例えばＲＧＢ１６）に色変換がなされたディジタル表像に変換する。あるいは、仮に色変換回路が存在しない場合は、圧縮手順の一部分としてＣＰＵ１４が色変換を処理するようにしても良い。バス２０上においてディジタル画像はＲＡＭ１６に対し一度に１フレームずつ伝送される。
ＣＰＵ１４はＲＡＭ１６に供給された画像フレームを圧縮する。本発明のフレーム毎の圧縮は、システムがブロックレベルにおけるフレーム間差分方法を利用することを許容し、連続するフレーム間の比較が行われ、連続するフレームに共通のデータを有するブロックは共通性を示し、データを表すのに必要な色に関するビットパターンよりも少ないビットからなる短いコード語により表される。一連のフレーム間において潜在的に同一の情報を有しているので、映画のフレームのシーケンスといった可視画像の系列の前後関係においてこの技術は良好な圧縮を許している。
図１に示されたシステムにおいては、ＣＰＵ１４はＲＡＭ１６に記憶されたフレームを圧縮し、圧縮されたフレームを読出し／書込み記憶装置１２に伝送し、及び／または、最終的にディジタルネットワーク３１を通じて遠隔地の宛先に圧縮された画像を伝送するためにネットワークインターフェース装置に伝送する。全てのフレーム列が圧縮されるまで、後続するフレームは同様に処理されて記憶装置１２に記憶され、あるいはディジタルネットワーク３１上を伝送される。
元の画像を再構成するために、圧縮されたフレームが一度に１フレームずつ、記憶装置１２からＲＡＭ１６に対してバス２０を介して供給される。遠隔のコンピュータの場合には、ディジタルネットワーク３１を通じてネットワークインターフェース装置２１にフレームが到着し、ネットワークインターフェース２１から記憶装置１２又はＲＡＭ１６、又はこれらの両者のいずれかに伝送される。ＣＰＵ１４は、圧縮されたデータを復号化し、再生成された画像を表示バッファ３２に伝送する。図に示すように、表示バッファ３２はディジタルからアナログへ（Ｄ／Ａ）の変換器３４に結合され、この変換器３４は表示器３６に結合される。ＣＰＵ１４は、表示バッファ３２の能力を超えることなく表示器３６上においてフレームが適切な速度で再生されるように、表示バッファ３２に同期する。
表示器３６は、水平方向に６４０画素、垂直方向に４８０画素の典型的な解像度を有する。表示器３６の一般的な物理面積は、対角線方向で１３から１６インチの範囲である。後述するが、本発明の方法及び装置は、いかなるサイズまたは解像度の表示器であっても作動する。
ＣＰＵ１４により実行される処理に係り、図２は本発明の圧縮器のブロックダイアグラムを示している。図１のダイアグラムにおいては、図２において示される圧縮器はＣＰＵ１４のブロック内に配置されている。ＲＡＭ１６に記憶されたフレームのディジタル信号４２は色変換手順４０に供給される。この色変換手順４０は、色変換回路２４が欠如している場合にディジタル画像４２を所望の色フォーマットに変換する。適正な色ビットストリーム４４は、輝度計算手順４４に送り込まれる。この輝度計算手順４４はフレーム内の画素の輝度値を計算する。フレームの輝度分布が輝度分布解析器５０により解析され、これは以下においてより完全に説明がなされ、そして解析結果は符号化器５４に供給される。輝度解析器５０はブロック内の如何なる画素が共にグループ化され、同一の色によって表現されるかを決定する。単一色を用いブロック内のそれぞれのグループを表現するために、符号化器５４は元の輝度信号４６及び色信号４８を処理し、それぞれのグループを代表する色の値を決定する。
色ＢＴＣ符号化によれば、異なる色の画素が同一の色で表現され、符号化が全ての可能な色を反映せねばならないとするならば画素はより少ないビットに符号化されるため結果として“圧縮”がなされることになる。
図３は連続した列から生じた一のフレームから構成され、圧縮されるべき典型的な画像６２を示している。画像６２は、各々の画素が相応の色を有し、前述したＲＡＭ１６においてディジタル形式で表される画素６０の配列として定義される。ＲＧＢ１６色フォーマットによれば、各々の画素は６５，５３６の異なった色の内の一色を表現できる。
ここで図４を参照すると、本発明の方法は画像６２を非重複の隣接ブロック６４に分割する。好ましい実施例においては、ブロック６４の各々は、伝統的なＢＰＩＣ法において一般的に使用されるものよりも大きな領域によって定義される。前述したように、より大きなブロックに分割することで、画像を相対的に小さなブロックに分割する場合よりも顕著な圧縮が得られる。種々のブロックサイズが選択され得ることは明らかであろう。さらに、画像は四角形よりも他の幾何学的パターンに分割されることの方が多いであろう。しかしながら、伸張の容易さを維持すべく矩形領域とすることが好ましい。
ブロック６４の各々は、それが単一色により表現されるべきか否かを決定するためにテストされる。ブロックは一般的には色の分布を有している。もしも、これらの色の殆どが単一の色に非常に近ければ、ブロック全体を単一色で表現することが可能となる。テストが適切に案出されると、少しばかり異なる色を同じ色として画素を表現することにより引き起こされる情報の損出は、人間の視覚によって追従されることはないであろう。本明細書においては、単一色で表現され得るブロックは“均一（もしくは同質homogeneous）”であると言う。
均一性（同質性）テストの第１ステップは、各々のブロック６４の輝度分布を生成することである。本発明で許容される程度にブロックサイズが大きい場合（即ち１６画素×１６画素又は３２画素×３２画素）は、ブロックの連続性の精査を見積もり均一な画素分布を計算し検出するために、ヒストグラムにおけるブロックの輝度情報を収集することが好ましい。ブロック内の情報は、殆ど分散を有さない傾向にあるので、ブロック及びそのヒストグラムにける輝度範囲の最少及び最大値を維持することにより、ブロックを再度精査し、非同質性の画素分布を逐次分離し、あるいは近接した同質性の画素分布をマージ（merge）することよりもヒストグラムの情報を利用することの方がより算定的に能率化できる。以下に、これらのステップを説明する。
図５を参照して、本発明によるテストの下で均一であるブロック６４の輝度分布７４を示す。図において、水平（ｘ）軸７２は輝度を表し、垂直（ｙ）軸７０は特定の輝度値の画素数を示す。画素の輝度は色の類似性を検出することを容易とする赤、青、緑の正しい割合を含んでいるので、色の類似性を検出するために用いられる。人間の目に互いに似ているようにみえる色は人間の目に非類似に見える色の場合よりも近い輝度値を有している。
ブロック６４が互いに十分近い画素からなり、１つの輝度値に十分近い場合は、本発明の方法はブロック全体を１つの色として表す。曲線が平均輝度の付近で偏差が小さければ、画像をより正確に１つの色で表すことができる。
曲線が１つの色で表わされる平均輝度の付近で十分に小さいか否かは、1992年10月にArturo Rodriguez, Mark Pietras, Steven Hancockにより出願され、ＩＢＭに譲渡された米国特許出願第０７／９６５，５８０号明細書「ハイブリッドビデオ圧縮システム及び選択されたマルチメディアシステムにおけるソフトウェアのみからなる伸長方法」に開示されている以下のテストで決定することができる。Ｓは全画像内の輝度の分散（標準偏差）、Ｔは均一性のテスト対象である画素分布の輝度の分散である。画素のＱパーセント、またはそれ以上が同じクラスに属し、画素分布が均一であると判定された場合は、Ｔ＜Ｓ（Ｑ（１−Ｑ））1/2が満たされた場合、同質であると判定できる。分布のサイズが大きくなると誤差の許容値が大きくなるので、Ｑは比較的少ない画素を有する分布については大きく、比較的多い画素を有する分布については小さく設定される。１６画素の分布のＱの典型的な例は０．９３である。１０２４画素の分布のＱの典型的な例は０．８５である。Ｑの典型的な例の選択は通常の知識を有する当業者の能力の範囲内であり、更なる説明は省略する。
知覚的に均一な画像領域の画素分布は非対称であるので、対象となっている画素分布の左側と右側の両方の標準偏差が測定され、それぞれが均一とみなせる分布かどうかテストされる。
他の均一性のテストはエッジ検出演算子（例えば、２次元の１次差分演算子）をブロック内の各画素に空間的に適用し、各画素のそのような演算子の大きさを計算する。対象となっている分布内の各画素におけるエッジ検出演算子の大きさが小さい（閾値以下）である場合、大きな空間的な変化が無いので、画素分布は均一とみなすことができる。
ブロックの完全な画素分布が均一性テストを満足すると、そのブロックは単一色で表される。ブロックの単一色は均一ブロックの画素の色の平均を計算することにより求められる。画素グループの平均色を求める方法は当業者にとって周知であるので説明は省略する。ビットストリームとしてブロックを表現することを以下に説明する。
伸長された画像の忠実度を許容できない程落とすことなく一色で表すことができないブロックは、非常に多くの混合された色を有する。したがって、この種の分布を有するブロックは、上述した均一性テストに失敗する。均一性テストを合格できないブロックの分布の典型例７４を図６に示す。
本発明の教示によれば、均一性テストに合格できない分布７４は、図７に示すように、２つの画素分布８０、８２に分割される。分布７４は以下のように分割される：先ず、図６に示す分布７４の輝度の平均値を求める。平均値より大きい画素は図７（ｂ）に示す高分布８２に位置させ、平均値と等しい、あるいはより小さい画素は図７（ａ）に示す低分布８０に位置させる。したがって、図６に示す分布を有するブロックは、従来例の回帰的なＢＰＩＣ法のように物理的な領域（すなわち、ブロックを小ブロックに分割する）でははく、輝度分布により分割される。
図７（ａ）、図７（ｂ）に示すような２つの分割分布８０、８２は、それぞれ、選択された均一性テストにより均一性がテストされる。好ましい実施例において上述したように、対象となるブロックは、左と右の輝度の標準偏差がともに閾値より小さい場合、均一であると言える。閾値は、完全な画像、フレームの輝度の標準偏差の関数であることが好ましい。
図７（ａ）、図７（ｂ）に示す分布８０、８２が選択された均一性テストに不合格の場合、図８ａ、図８ｂ、図８ｃ、図８ｄに示すように、それぞれが再び２つの分布に分割される。先ず、分布８０、あるいは８２の輝度の平均値を計算し、分布８０、８２それぞれを平均値より大きい輝度を有する分布と、平均値と等しい、あるいは平均値より小さい輝度を有する分布とに分割する。
図７（ａ）に示す分布８０は、図８ａ、図８ｂに示すように分布８４、８６に分割され、図７（ｂ）に示す分布８２は、図８ｃ、図８ｄに示すように分布８８、９０に分割される。均一性テストは各分布８４、８６、８８、９０に適用される。好ましい実施例では、テストが適用される毎に、左と右の輝度の標準偏差がともに閾値より小さい場合、対象となる分布は均一であると言える。閾値は、完全な画像、フレームの輝度の標準偏差の関数であることが好ましい。
均一性のテストステップと、非均一分布の分割ステップは、ブロックが多数の均一分布に分割されるまで繰り返して実行される。各均一分布に異なる色を割り当てる代わりに、分割ステップにより分割されたけれども、合併された時に実際には均一分布であるそれぞれの均一分布を合併する合併（merging）テストが実行される。
図８（ｂ）、図８（ｃ）に示す分布８６、８８は合併された時に均一である分布の例である。上述したように、分布８６は分布８０から分割され、分布８８は分布８２から分割される。本発明の分割処理は図９に示す合併分布９２の均一性を別々にチェックすることはしない。合併分布９２は分布８６、８８の加算結果である。分布９２全体が均一性かどうかチェックされる。
殆どの場合、図８、図９を参照して上述した本発明による合併ステップはより高い圧縮率を達成する。異なるグループに２つの異なる色を割り当てる代わりに、異なる画素分布を一緒に合併し、合併したグループに単一の色を割り当てることにより、符号化フォーマットにおいて実現しなければならない色は１つの少ない色だけである。
図１０（ａ）は正しく合併された分布９６を示す。分布９６は２つの分布に分割される。一方は均一であり、他方は均一ではない。図１０（ａ）に示すように、分布９６の下半分９８は均一であり、分布９６の上半分１００は均一ではなく、図１０ｂ、図１０ｃに示すように、分布９６は２つの分布１０２、１０４に分割される。図１０（ｂ）に示すように、分布９６の下半分１０２と上半分１００は、図１０（ｄ）に示すような分布１０６を形成するために、図１０（ａ）の分布９６の下半分９８と組み合わされる。分布１０６が均一性のテストを受ける。同様に、第１の分布の上半分が均一であり、第１の分布の下半分が均一でない場合は、下側の分布の高い部分が上側の分布と組み合わされ、合併された分布が均一性がどうかチェックされる。
ブロック６４は分布に分割され、分割された分布が均一性かどうかチェックされ、次に、ブロック６４の全体が一連の均一性分布に分解されるまで合併の可能性がチェックされる。図１２（ａ）〜図１２（ｈ）のフローチャートは、図５〜図１０に示したようにブロック６４の全体が処理され、符号化されるまで、分布分割処理、分布合併処理を繰り返す処理の１つの実現可能な例を示す。
図１２（ａ）〜図１２（ｈ）に示すフローチャートを参照すると、図１２（ａ）のステップ２００に示すように、圧縮すべきフレームからブロックＢｉが検索される。ステップ２０２で、ブロックＢｉは同質かどうかテストされる。ブロックが均一の場合は、ステップ２０６に示すように、ブロックの画素の平均色が計算され、ステップ２０８において、さらに後述するようにブロックが符号化される。
ブロックが均一でない場合、ステップ２０４からステップ２１０に分岐し、変数next_no_pix_distに１セットし、ブロックＢｉの全画素を指すために現在の分布ポインタアレイＰ［］の第１番目の要素をセットする。分布を半分に繰り返し分割する処理はバイナリツリー構造となり、変数next_no_pix_distは現在のレベルの後のツリーのレベルにおける画素分布の番号を示す。
ブロックＢｉが同質でない場合、ステップ２１２に示すように、２つの分布に分割される。ステップ２１２は図１２（ｂ）に示すように、「画素分布分割処理」と呼ばれる。図１２（ｂ）のステップ２２８に示すように、この処理はＢｉ内の全ての画素である画素分布を入力とする。ステップ２３０で、これらの画素の平均値が計算される。ステップ２３２で、分割された分布の第１の画素が検索され、ステップ２３４に示すように平均輝度よりも大きいかどうか決定するためにテストされる。ステップ２３６に示すように、平均値よりも小さい、あるいは等しい輝度を有する画素はアレイの次のＰ［next_no_pix_dist］により表されるツリーの次のレベルの画素分布に位置される。逆に言えば、ステップ２４２に示すように、平均値よりも大きい輝度を有する画素はアレイの次のＰ［next_no_pix_dist+1］により表されるツリーの次のレベルの画素分布に位置される。このように、分割分布の子孫はnext_no_pix_distにより表されるように、低輝度から高輝度まで輝度によって順序づけられる。
分割される分布の各画素は図１２（ｂ）のステップ２３４〜２４２に示すように、２つの分布のいずれかに位置される。一度、親の分布が分割されると、子の分布はステップ２４４、２５４に示すように均一性についてテストされる。ステップ２４６、２４８、２５６、２６０に示すように、均一な子分布は変数next_no_pix_distにより示されるnext_statusと呼ばれるアレイにより均一という標識が付けられ、ステップ２５０、２５８に示すように、非均一の分布は非均一という標識が付けられる。このフローは終了し、制御は呼び出し（calling）処理に戻る。この場合は、図１２（ａ）に示すＰＤＩＣ処理であり、ステップ２１４が次に実行される。
ステップ２１４は解析すべき現在の分布を追跡するための変数ｋを初期化する。変数ｋは次のレベルの第１の分布を指すために初期化される。ステップ２１６に示すように、next_statusアレイは変数ｋで示される分布が均一であるか否かを決定するために調べられる。もしも、当該分布が均一である場合は、ステップ２１６からステップ２１８に分岐し、次の分布を指すために変数ｋがインクリメントされる。ステップ２２０に示すように、変数ｋが次のレベルの画素分布の番号を超えている場合は、本方法が全ての分布に対して行われ、図１２（ｇ）に示すような「ＰＤＩＣ特定処理」が呼ばれる。
図１２（ｇ）に示すように、ＰＤＩＣ特定処理は、各均一分布と、変数next_nopix_distに格納されている均一分布の番号により表される色の番号を符号化する。後述するように、ステップ３１４では、これらの色を表現するために、色にｎ値のビットパターンを関連付ける。ステップ３１６では、変数ｋが１にセットされ、ステップ３１８〜３２２に示すように、最終的な均一な分布の色の平均値が計算される。ステップ３２４〜３３０に示すように、ブロックの画素はそれらの平均色に対応するパターンにより符号化される。ステップ３３２は後述するようにブロックを符号化し、現在のブロックの処理が完了したのでこのフローは終了する。
図１２（ａ）のステップ２２０に戻り、次のレベルでまだ分布がある場合は、ステップ２２０はステップ２１６に戻り、次の分布の均一性テストが行われる。次の分布が均一でない場合には、ステップ２１６はステップ２２４に分岐し、図１２（ｈ）に示すようにツリーのレベルが切換えられる。非均一な分布は、ツリーが解析されるべき次のレベルを有することを意味する。ツリーの次のレベルを解析するために、ツリーの現在のレベルを追跡するアレイはツリーの次のレベルを追跡するアレイと等しくなければならない。
図１２（ｈ）、ステップ３３４に示すように、変数ｋが１にセットされる。変数ｋは次の分布アレイnext_Ｐと次の分布の均一性を追跡するアレイnext_statusのインデックスとして使われる。ステップ３３６に示すように、現在レベルのアレイＰ［］とstatus［］は、次のレベルの分布毎の次のレベルのアレイnext_Ｐとnext_statusに等しくセットされる。次のレベルにおいて未だ分布がある場合は、ステップ３４０はステップ３３６に分岐する。次のレベルにおいてもう分布が無い場合は、現在のレベルの画素分布の番号は、ステップ２４２に示すように次のレベルにおける画素分布の番号と等しくセットされる。制御は図１２（ａ）のステップ２２６に戻る。
新しい現在レベルの全ての分布は均一性、および合併についてチェックされなければならない。上述したように、分布はツリーの同じレベルの分布、あるいはつりーの１つ高いレベルの分布と組み合わされる。図１２（ｃ）〜図１２（ｆ）に示すように、「ツリーの次のレベル」処理がこの機能を実行する。
図１２（ｃ）、ステップ２６２に示すように、ツリーの次のレベル処理において、分割親の子の追跡する変数ｋ、ｌはそれぞれ１、２にセットされる。このように、初期状態では、変数ｋは、現在レベルの第１番目の分布を指し、変数ｌは現在レベルの第２番目の分布を指す。図１２（ｂ）のステップ２３６、２３８により課せられる順番により、低輝度値分布は高輝度値分布よりも少ない番号のインデックスが付けられるように、輝度に応じて分布が番号付けされる。図１２（ｃ）のステップ２６４に示すように、現在レベルから次レベルの分布の番号を追跡するために変数next_no_pix_distが１だけインクリメントされる。ステップ２６６に示すように、変数ｋで示される分布と、その直ぐ右側の分布（右は相対的に高輝度の分布を示す）の両方とも均一である場合、ステップ２６８に示すように、均一な分布はツリー内の下のレベルに伝搬される。ステップ２７０に示すように、変数ｋは以前は変数ｌで示されていた分布を指し、変数ｌは１つ右側の分布を指すためにインクリメントされる。変数ｌが画素分布の番号を超えると、現在レベルの全ての分布が処理されたので、ステップ２７２に示すようにこのフローは終了する。現在レベルの分布がまだある場合は、ステップ２７２はステップ２５４に戻る。
図１２（ｃ）のステップ２６６に戻り、解析している現在の分布対の一方、または両方が均一でない場合、ステップ２６６はステップ２７４に分岐し、変数ｋにより指される分布が均一であるか否か、及び変数ｌにより指される分布が均一でないか否かチェックされる。チェック結果が肯定の場合、ステップ２７４は図１２（ｄ）のステップ２７８に分岐する。ステップ２７８に示すように、均一な分布Ｐ［ｋ］はツリー内を下方に伝搬する。ステップ２８０で、均一でない分布Ｐ［ｌ］は分割される。均一でない分布Ｐ［ｌ］の左半分の子分布は図１２（ｄ）のステップ２８２に示すように均一性がチェックされる。もしも、左半分が均一である場合は、ステップ２８４に示すように、Ｐ［ｋ］と合併される。これは、図１０（ａ）〜図１０（ｄ）に示したＰ（低）とＰ（高、低）との合併に類似している。合併分布が均一の場合は、ステップ２８８に示すようにツリー内を下方に伝搬され、変数next_no_pix_dist-1は現在合併している左側の子分布を指す代わりに右側の子分布を指す。合併分布が均一でない場合は、ステップ２８８に示す変数調整は実行されない。同様に、ステップ２８２に示すように左側の子分布が均一でない場合は、ステップ２８８に示す変数調整は実行されない。左側の子分布の均一性、合併の処理が完了すると、ツリー内の高輝度分布側に向けての処理を続けるために、フローは図１２（ｃ）のステップ２７０に戻る。
ステップ２６６に戻り、現在の分布Ｐ［ｋ］が非均一であるが、その右側の分布Ｐ［ｌ］が均一である場合、ステップ２７４はステップ２７６に分岐し、ステップ２７６はさらに図１２（ｅ）のステップ２９０に分岐する。図１２（ｅ）のステップ２９０に示すように、非均一分布Ｐ[ｋ]は分割される。図１２（ｅ）のステップ２９２に示すように、非均一分布の右側の子分布が均一性をチェックされる。右側の子分布が均一である場合、ステップ２９４に示すように、Ｐ［ｌ］と合併される。これは、上述したようなＰ（高）とＰ（低、高）の合併と類似である。合併分布が均一である場合、ステップ２９６、２９８に示すように、右側の子分布next_no_pix_distの位置でツリーの下方に単に伝搬される。逆に言うと、合併分布の均一でない場合、あるいは右側の子分布が均一でない場合、Ｐ[ｌ]は、ステップ３００に示すように、均一分布としてツリーの下方に伝搬される。制御は図１２（ｃ）のステップ２７０に戻り、ツリー内の高輝度分布側に向けての処理が続けられる。
図１２（ｃ）のステップ２６６に戻り、最終的な可能性は現在の分布Ｐ［ｋ］とその右側の分布Ｐ［ｌ］の両方ともが均一でないということである。この場合、ステップ２６６はステップ２７４に分岐し、ステップ２７４は図１２（ｆ）のステップ３０２に分岐する。図１２（ｆ）のステップ３０２、３０４に示すように、現在の分布Ｐ［ｋ］とその右側の分布Ｐ［ｌ］の両方ともが分割される。低分布Ｐ［ｋ］の右側子分布と高分布Ｐ［ｌ］の左側子分布は、ステップ３０６に示すように、均一性がチェックされる。両方とも均一である場合は、それらは合併され、ステップ３０８、３１０に示すように、合併分布の均一性がチェックされる。これは、図６〜図８に示したＰ（低、高）とＰ（高、低）との合併と類似である。合併分布が均一である場合は、低分布Ｐ［ｋ］の右側子分布を示すポインタは合併分布を示すように変更され、高分布Ｐ［ｌ］の左側子分布を示すポインタは高分布Ｐ［ｌ］の右側子分布を示すように変更される。その結果、低分布Ｐ［ｋ］の左側子分布、合併分布、高分布Ｐ［ｌ］の右側子分布の３つの分布はツリー内を下方へ伝搬する。この変更はステップ３１２で行われる。低分布Ｐ［ｋ］の右側子分布と高分布Ｐ［ｌ］の左側子分布のいずれかが均一でない場合、あるいは合併分布が均一でない場合は、低分布Ｐ［ｋ］、高分布Ｐ［ｌ］それぞれの右側子分布、左側子分布の４つの分布はツリー内を下方へ伝搬する。さらに再び、制御は図１２（ｃ）のステップ２７０に移り、ツリーの右側に向かう処理が続行する。
上述したように、図１２（ｃ）〜図１２（ｆ）に示すように、現在のレベルの全てが均一性と、ツリー処理の次のレベルによる合併がチェックされる。１つのレベルの処理が完了すると、ツリーの新レベルが付加されるべきか否かチェックされる。上述したように、新レベルのチェックは図１２（ａ）のステップ２１４〜２２０により実行される。１つのレベルが均一な分布しか含まない場合は、ステップ２２０は図１２（ｇ）のステップ３１４に分岐し、ブロックが順次符号化される。このように、図１２（ａ）〜図１２（ｂ）に示すフローチャートは、適当な場合には分布を合併しながらブロックを繰り返し均一な分布に分解する方法を示す。
ブロック６４の一連の均一な分布への分解に加えて、ブロック６４の最適な圧縮のためにフレーム間差分法が適用される。ソフトウェアのみによるビデオコーデックのためのフレーム間差分法は潜在的なモーション偏差を検索することなくフレーム間の冗長性を利用する。
圧縮法によるフレーム間差分は1992年10月に出願された米国特許出願第０７／９６５，５８０号明細書「ローエンドマルチメディアシステムにおけるソフトウェアのみによる伸長し従うハイブリッドビデオ圧縮方法」に開示されている。この特許の発明者はArturo A. Rodriguez等である。本発明の方法および装置は米国特許出願第０７／９６５，５８０号明細書に記載された方法の改良である。
本発明の方法及び装置においては、フレーム間差分法はブロックベースで、連続するブロック間で行われる。ブロックベースの前フレーム間差分法はブロック内の対応する空間位置の画素を考慮すること、あるいは対応するブロック内で測定された局所画像プロパティ間の類似度を考慮することにより行われる。あるいは、フレームは本発明の画素分布画像符号化（ＰＤＩＣ）により先ず圧縮され、次フレーム間差分法が連続する２つのフレーム毎の空間的に対応する位置のブロック対におけるＰＤＩＣ圧縮法により発生されたデータ表現間の類似度を考慮することにより行われる。
符号化器により実行される類似度テストは現在フレームＦiと以前に発生されたブロックＤi-1とのブロック内の空間的に対応する画素の輝度値の差の絶対値である。もし、絶対値が特定の閾値以下である場合、画素は以前に発生されたフレームから変化していないと判断できる。
空間的に対応するブロックの比較の際に、局所的、全体的なルールが損失度を許容するために適用される。局所ルールは２画素の値の関数として許容されるところのブロック内の画素値の間の差分絶対値の最大値を決定する。全体的なルールは画素の集合において許容される全体的な累積差分を監視する。あるいは、ブロックの境界に沿った全画素が局所的なルールを満足することを強制することにより、全体的なルールは視認できるチルトアーチファクトを低減することができる。
図１３は、前フレーム間差分法を用いた本発明のビデオ圧縮方法のフローチャートである。この前フレーム間差分法においては、対応するブロック中の対応する空間位置の画素が類似性を比較される。あるいは、前フレーム間差分法は、対応するブロック中の測定された局所画像プロパティとの間の類似性を見ることで実行される。ステップ３５０−３５２に示されるように、フレームＦが検索されて、オーバーラップしないブロックに分解される。第１のブロックがステップ３５４で検索され、前フレーム間差分法がステップ３５６で実行される。図１３のステップ３５８に示されるように、ブロックは、現フレーム中の符号化されたブロックに対応する前フレーム中の符号化されたブロックと比較される。現フレームのブロックに変更がないのであれば、当該ブロックは、図１３のステップ３６４に示されるように前フレーム中の対応するブロックとは変更がないことを示すように符号化される。しかしながら、現フレーム中のブロックに変更がある場合には、ブロック３６０及び３６２に示されるように、本発明の上記ＰＤＩＣ方法が適用され、当該ブロックを均一な分布に分解し、これらの分布を符号化する。ステップ３６６及び３６８は、確実に全体のフレームが処理されるようにするためのものである。
図１４は、次フレーム間差分法を用いた本発明に係るビデオ圧縮方法のフローチャートである。図１４のステップ３７０と３７２に示されるように、フレームＦが検索されて、ブロックに分解される。ステップ３７４及び３７６に示されるように、上記ＰＤＩＣ手法がフレーム中の第１のブロックに対して実行される。上記ＰＤＩＣ処理されたブロックは、図１４のステップ３８０に示されるように、前フレームの対応するブロックと比較される。当該ブロックに変更がないのであれば、図１４のステップ３８４に示されるように、前フレーム中の対応ブロックとは変更がないことを示すように符号化される。当該ブロックに変更がある場合には、ステップ３８２に示されるように、本発明のＰＤＩＣ方法により発生される一連の均一な分布として符号化される。ステップ３８６及び３８８は、確実に上記フレームの全てのブロックが処理されるようにするためのものである。
前フレーム間差分法または次フレーム間差分法のいずれかが使用されると、ブロックが前フレーム中の対応するブロックと変更がある場合に、当該ブロックは一連の均一な分布に分解され、符号化される。図１１はどのようにブロックが符号化されるかを示している。複数のビットからなる確定された番号である色分布フィールド１１０は、色の最大数に固定される。例えば、このフィールドにおける３ビットは、最大８色を示している。色分布フィールド１１０は、ブロック中の均一な分布の数を含み、最終的なマージのステップが実行された後は、許可されうる最大値に上がる。次のフィールドである色フィールド１１２は、異なる分布の色を含む。
ブロックが一色に符号化されたならば、上記カラーフィールド１１２は、当該ブロックを表す色を含む。上記ブロックの個々の画素は、各画素が一色で表されるので、符号化されない。後述するように、色分布フィールド１１０中の１の値を上記デコンプレッサが受けたとき、上記デコンプレッサは、復元されたイメージのブロックの各画素に、色フィールド１１２中の色を挿入する。
ブロックが２又はそれ以上の色を有している場合には、当該ブロックの個々の画素は、上記色フィールド１１２で表された色に相当するビットパターンとして、画素フィールド１１４に符号化される。第１の色により表された画素は、“０”の値に相当するビットパターンにコード化される。第２の色により表された画素は、“１”の値に相当するビットパターンにコード化される。
ブロックにただ２色しかない場合には、上記色の明細に従ったビットパターンは、上記ブロックの各画素の２色と関連したバイナリパターンである。上記ブロックに３又は４色である場合、当該ブロック中に３又は４の均一な分布が見つかるので、上記パターンは、それらの対応する色に画素を関連付けるため上記ブロックの各画素のために２ビットのエントリからなる。総括すると、ｎ＋１の均一な画素分布がブロック中にある場合には、色Ｃx（０≦ｘ≦Ｎ）を有する画素は、ｌｏｇ2（ｎ＋１）ビットでの各エントリパターン内の数ｘとして符号化される。
別のコード化手法について更に詳述する。ブロック中に３色が存在し、大多数の画素が０である場合、以下に従ったパターンが使用される。
色０画素＝０
色１画素＝１０
色２画素＝１１
最大の圧縮をするために、最も有力な色が色０として選択される。
この種のコーディングは、一ブロック中における各色の任意の番号使用されることができる。本発明の第１実施例では、コンプレッサは、種々の色を有する画素の数を計算し、より大きな圧縮結果を得るコード化手法を選択する。上記ＰＤＩＣ方法を実行する装置は、これらの付加的な計算を行わなければならないので、このステップは圧縮速度を犠牲にして行われる。
前述したように、可視画像の冗長の利点を得るために、本発明のＰＤＩＣ方法に関連して、差分符号化が採用されることができる。エンコーディングステップにおいて、予め決められたコードは、画素色が先の値と変化していない旨を示すことができる。例えば、ブロックが３つの色を有する場合、Ｃ0は００に、Ｃ1は０１に、Ｃ2は１０に符号化され、そして前フレームと値が変化していない画素は１１となる。図１１に示されるように、一ビット１１６は、当該ブロック全体が前ブロックと変化していないことを示すために、ブロック全体のために用いられている。圧縮されたブロックを表すビットストリームに他の従来のデータ圧縮技術が適用されることができるということが認められるであろう。上記ブロックの各画素が符号化された後に、上記コンプレッサは、当該フレーム中の最終ブロックの処理がなされるまで、該フレーム中の次ブロックに対し処理を繰り返す。図１に示されるように、この圧縮されたフレームはストアされ、そして次フレームはＲＡＭ１６にもたらされる。
上記デコンプレッサは、本質的には上記コンプレッサの逆のものである。上記デコンプレッサは、ブロック中の各色の番号を表す、図１１に示される複数のビットからなる確定された番号である色分布フィールド１１０を解読するようにプログラムされている。上記デコンプレッサは、上記コンプレッサと同様のビットパターンで、色Ｃ0乃至Ｃnを割り当てる。したがって、上記コンプレッサが色Ｃ0である画素にビットパターン０を割り当てたならば、上記ビットッパターン０を有する画素は、ＲＧＢ１６ディスプレイモードのためのフルカラーの値、１６ビットであるＣ0の値に置換される。例えば、Ｃ0が００００のビットパターンを有する白色であると仮定されたい。ビットパターン０を有する画素は、ビットパターン００００に置換される。
上記色分布フィールド１１０は、上記コンプレッサに、色Ｃ0乃至Ｃnの正確な各色の番号（color number）を解析することを許し、また、ｌｏｇ2（ｎ＋１）ビットとして計算される画素当たりのビット数を正確に解析することを許す。
そして、上記伸張されたビットストリームは、図１に示されるように、ディスプレイ３６に表示される。
まとめ
前述したような本発明は、圧縮された形態で一連の可視画像をストアするための方法及び装置を提供する。本発明は種々の図面を参照して説明されているが、これらの図面は単に例示のためのものであり、本発明の精神及び範囲を限定するものではないということが認められるだろう。例えば、図面では、必要上、可視フレームの分布を例に使用しているが、無数の分布の形態が可能である。本発明の方法及び装置は、そのような分布のいずれでも処理するだろう。さらに、均一な分布を符号化する上で異なる複数の符号化の可能性があり、スクリーンは、ブロックの他に種々の幾何学的なパターンに分解されることができるということも認められるだろう。上記分布を分離するために輝度を使用する代わりに、色差（クロミナンス）又は色の関数である他の値を使用できる。本発明の方法は、アナログイメージを処理することができ、アナログ計算装置により実行されることができる。
【図１】
0003727341.tif 000002
【図２】
0003727341.tif 000003
【図５】
0003727341.tif 000004
【図３】
0003727341.tif 000005
【図４】
0003727341.tif 000006
【図６】
0003727341.tif 000007
【図７ａ】
0003727341.tif 000008
【図７ｂ】
0003727341.tif 000009
【図８ａ】
0003727341.tif 000010
【図８ｂ】
0003727341.tif 000011
【図８ｃ】
0003727341.tif 000012
【図８ｄ】
0003727341.tif 000013
【図９】
0003727341.tif 000014
【図１１】
0003727341.tif 000015
【図１０（ａ）】
0003727341.tif 000016
【図１０（ｂ）】
0003727341.tif 000017
【図１０（ｃ）】
0003727341.tif 000018
【図１０（ｄ）】
0003727341.tif 000019
【図１２（ａ）】
0003727341.tif 000020
【図１２（ｂ）１】
0003727341.tif 000021
【図１２（ｂ）２】
0003727341.tif 000022
【図１２（ｃ）】
0003727341.tif 000023
【図１２（ｄ）】
0003727341.tif 000024
【図１２（ｅ）】
0003727341.tif 000025
【図１２（ｆ）】
0003727341.tif 000026
【図１２（ｇ）】
0003727341.tif 000027
【図１２（ｈ）】
0003727341.tif 000028
【図１３】
0003727341.tif 000029
【図１４】
0003727341.tif 000030