(57)【要約】【課題】  圧縮率を高めることはもちろんのこと、圧縮のための演算負荷を減らすことが可能な映像信号の圧縮方法を提供する。【解決手段】  静止画像フレームを時系列に配列したフレーム群として構成される映像信号を、完全に再現できるように圧縮するにあたり、各フレーム上の各画素（ｉ，ｊ）を走査線ごと逆方向に処理して、同一の画素値が連続する区間を信号平坦部を抽出すると共に、その区間をマスクし、マスクされていない画素に対して線形予測誤差変換を行った後、各画素の値を可変ビット長に変換する。【選択図】  図３
2005045527.tif 000002
【特許請求の範囲】
【請求項１】
静止画像であるフレームを時系列に配列したフレーム群として構成される映像信号に対して、当該映像信号を再現できるように情報量を圧縮する方法であって、
前記各フレーム上の各画素データが同一となる区間を走査線方向に従って検出し、当該検出した区間をマスク領域としてマスクすると共に、当該検出した区間の情報を信号平坦部データとして抽出する信号平坦部処理段階と、
前記各フレームにおいてマスクされなかった非マスク領域に存在する各画素を対象画素とし、前記対象画素の画素値および、前記対象画素の近傍に位置する近傍画素の画素値を利用して、前記対象画素および前記近傍画素の画素値に乗じる線形係数が異なる複数の予測計算式に対して、複数の予測誤差候補を算出し、前記予測誤差候補の中から最適なものを前記対象画素の予測誤差として採用し、前記対象画素の値を前記予測誤差に置き換える予測誤差算出段階と、
前記予測誤差に置き換えられた各画素データを可変長で符号化する可変長符号化段階と、
を有することを特徴とする映像信号の圧縮方法。
【請求項２】
請求項１において、
前記信号平坦部処理段階における各フレーム上の各画素データの処理方向は、奇数番目の走査線と偶数番目の走査線で逆方向に行うことを特徴とする映像信号の圧縮方法。
【請求項３】
請求項１において、
前記映像信号が、ＲＧＢの３原色成分で構成されている場合、Ｘ＝Ｒ−Ｇ、Ｚ＝Ｂ−Ｇ、Ｙ＝Ｇ＋（Ｘ＋Ｚ）／３なる変換式によりＸＹＺ成分に変換する色信号間演算段階を、前記信号平坦部処理段階の直前に設け、前記信号平坦部処理段階、前記予測誤差算出段階、前記可変長符号化段階がＸ、Ｙ、Ｚ成分別に処理されるものであることを特徴とする映像信号の圧縮方法。
【請求項４】
請求項１において、
前記映像信号が、ＲＧＢの３原色成分で構成されている場合、輝度信号成分Ｙ2、第１色信号成分Ｕ、第２色信号成分Ｖに変換し、前記第１色信号成分Ｕと前記第２色信号成分Ｖに対して、所定の比率で画素を間引く処理を行う色信号間演算段階を、前記信号平坦部処理段階の直前に設け、前記信号平坦部処理段階、前記予測誤差算出段階、前記可変長符号化段階がＹ2、Ｕ、Ｖ成分別に処理されるものであることを特徴とする映像信号の圧縮方法。
【請求項５】
請求項１において、
前記フレーム群を構成する各フレームについて、直前のフレームの同一位置の画素と値が同一である画素が連続する区間をマスク領域としてマスクすると共に、当該区間の情報をフレーム間同一データとして抽出するフレーム間演算段階を、前記予測誤差算出段階の前に設けたことを特徴とする映像信号の圧縮方法。
【請求項６】
請求項１において、
前記予測誤差算出段階における前記近傍画素は、前記対象画素の８近傍範囲に含まれると共に、走査線の処理上前方に位置する３つの画素であって、走査線の処理上前方に位置する各対象画素において算出された予測誤差候補の絶対値の累積値を、各予測計算式について算出し、前記累積値が最小となる予測計算式で算出された予測誤差候補を、前記対象画素の予測誤差として採用するものであることを特徴とする映像信号の圧縮方法。
【請求項７】
請求項１において、
前記可変長符号化段階の前段に、前記予測誤差値の絶対値に対して全体を１ビット上位にずらし、正負極性ビットを最下位ビットに挿入する極性処理段階を有することを特徴とする映像信号の圧縮方法。
【請求項８】
請求項１において、
前記可変長符号化段階は、前記予測誤差値に変換された各画素のビット成分のうち、下位のビット成分をそのままのビット成分で符号化し、残りの上位ビット成分に対してビット成分を変更して符号化を行うものであることを特徴とする映像信号の圧縮方法。
【請求項９】
画素の集合である静止画像に対して、当該静止画像を再現できるように情報量を圧縮する方法であって、
前記静止画像上の各画素データが同一となる区間を走査線方向に従って検出し、当該検出した区間をマスク領域としてマスクすると共に、当該検出した区間の情報を信号平坦部データとして抽出する信号平坦部処理段階と、
前記各フレームにおいてマスクされなかった非マスク領域に存在する各画素を対象画素とし、前記対象画素の画素値および、前記対象画素の近傍に位置する近傍画素の画素値を利用して、前記対象画素および前記近傍画素の画素値に乗じる線形係数が異なる複数の予測計算式に対して、複数の予測誤差候補を算出し、前記予測誤差候補の中から最適なものを前記対象画素の予測誤差として採用し、前記対象画素の値を前記予測誤差に置き換える予測誤差算出段階と、
前記予測誤差に置き換えられた各画素データを可変長で符号化する可変長符号化段階と、
を有することを特徴とする静止画像の圧縮方法。
【請求項１０】
前記映像信号に対して、請求項１から請求項９に記載のいずれかの方法により出力された符号データを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像制作、映像データの素材保管、ロケ素材の中継など映像制作分野、特にＮＴＳＣ以上の品質の高い高精細映像制作を行う分野、コンピュータグタフィックスを用いたＣＧアニメーション映像制作分野、科学技術シミュレーションにおける可視化映像制作分野、ＣＤ・ＤＶＤ・半導体メモリ等のデジタル記録媒体を用いた映像記録再生装置分野、電子カルテや遠隔医療における医用静止画・動画像の保存と伝送、リモートセンシング・衛星画像解析・地図情報処理分野におけるデータの保管と伝送など、データの改変が嫌われる分野等において好適なデータの圧縮技術に関する。
【背景技術】
【０００２】
従来より、映像信号の圧縮には様々な手法が用いられている。映像信号を圧縮して符号化する手法として、ＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４などが実用化されている。このような圧縮符号化方式により、映像信号を小さいデータとして扱うことが可能となり、データの記録・伝送の効率化に貢献している。
【０００３】
上述のようなＭＰＥＧ−１、ＭＰＥＧ−２、ＭＰＥＧ−４等はいずれもロッシー符号化方式といわれるものであり、効率的な圧縮が可能であるが、復号化にあたって、少なからず品質の劣化を伴い、原信号を完全に再現することはできない。そのため、映像制作、素材保管、ロケ素材の中継など映像制作分野では、これらの符号化方式を適用できず、非効率ではあるが、非圧縮で保存・伝送する方式がとられている。特に最近は高精細ＨＤＴＶ映像を扱うプロダクションが増え、素材容量が膨大になり、ワークディスクを管理する上で問題になっていた。
【０００４】
このような問題を解決するため、複数のマルコフモデルで周囲の画素を予測する手法（特許文献１参照）等が提案されている。
【特許文献１】特開平１１−１６４３０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来の手法では、圧縮率を高めるために膨大な計算を行わなければならないという問題がある。特に、１つのフレーム上で細かい変化が少ないＣＧ（コンピュータグラフィックス）等で作成された映像に対して行うと、不必要に多くの計算を行うことになる。そこで、本発明は、圧縮率を高めることはもちろんのこと、圧縮のための演算負荷を減らすことが可能な静止画像の圧縮方法および映像信号の圧縮方法を提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明では、静止画像であるフレームを時系列に配列したフレーム群として構成される映像信号に対して、当該映像信号を再現できるように情報量を圧縮する方法として、各フレーム上の各画素データが同一となる区間を走査線方向に従って検出し、検出した区間をマスク領域としてマスクすると共に、検出した区間の情報を信号平坦部データとして抽出する信号平坦部処理段階と、各フレームにおいてマスクされなかった非マスク領域に存在する各画素を対象画素とし、対象画素の画素値および、対象画素の近傍に位置する近傍画素の画素値を利用して、対象画素および近傍画素の画素値に乗じる線形係数が異なる複数の予測計算式に対して、複数の予測誤差候補を算出し、予測誤差候補の中から最適なものを対象画素の予測誤差として採用し、対象画素の値を予測誤差に置き換える予測誤差算出段階と、予測誤差に置き換えられた各画素データを可変長で符号化する可変長符号化段階を実行するようにしたことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、各フレーム上を走査線方向に処理して信号平坦部を抽出し、抽出された部分以外の画素について、近傍の画素を利用して複数の予測式それぞれに対して算出した値から最適なものを、その画素の予測誤差として選出した後、予測誤差で記録された画素を可変長で符号化するようにしたので、ＣＧ等に特有の同一の画素値が連続する部分は、信号平坦部として抽出され、また、他の部分は、予測誤差、可変長符号化により少ないビット数で記録することができ、全体として、演算量を抑え、かつ圧縮率の高い圧縮を行うことが可能となるという効果を奏する。
【発明を実施するための最良の形態】
【０００８】
以下、本発明の実施形態について図面を参照して詳細に説明する。
（デジタル映像信号の構造）
まず、本発明に係る映像信号の圧縮方法において可逆圧縮対象とするデジタル映像信号について説明しておく。本実施形態では、映像信号として三原色の色信号から構成されるカラー映像信号を適用した場合を例にとって説明していく。図１（ａ）は、本発明において扱うデジタル映像信号を模式化して示した図である。図１において、左右方向は時系列方向であり、右側に行く程、時間が進むことになる。図１（ａ）に示した映像信号は１フレームが光の三原色であるＲ・Ｇ・Ｂの３プレーンで構成されている。
【０００９】
図１（ａ）に示したようなデジタル映像信号を得るには、まず、映像をＴＶカメラ等で撮影してデジタル化する。ＣＧ等の場合は、カメラを通さず、データそのものを入力する。このようにして、デジタル映像信号が得られる。このようなデジタル映像信号は、１秒間に複数フレーム（静止画像）を有し、各フレームがＲ、Ｇ、Ｂの３色の輝度値を有するものとなっている。なお、本実施形態では、１秒間に３０フレーム、各画素の各色に８ビットが割り当てられているものとして説明する。例えば、１０秒間に渡って記録したデジタル映像信号は、３００フレーム、９００プレーンで構成されるフレーム群となる。
（本発明の圧縮方法）
続いて、本発明に係る映像信号の圧縮方法の概要について説明する。本発明の圧縮方法は、コンピュータ、およびコンピュータに搭載される専用のソフトウェアプログラムにより実行される。図２は、本発明に係る映像信号の圧縮方法の概要を示すフローチャートである。まず、図１（ａ）に示したようなデジタル映像信号を、圧縮するための装置（専用のソフトウェアを搭載したコンピュータ等）に読み込ませる。すると、圧縮用の装置が処理を開始する。まず、デジタル映像信号の各フレームの各プレーンについて、色信号間の相関演算処理を行う（ステップＳ１）。具体的には、Ｒ、Ｇ、Ｂの各プレーンの各画素の値を基に、以下の〔数式１〕に従って計算し、Ｒ、Ｇ、Ｂの各プレーンを、新たなＸ、Ｙ、Ｚの各プレーンに再構成する。この結果、図１（ｂ）に示すように、各フレームは、Ｘ、Ｙ、Ｚプレーンにより構成されることになる。
〔数式１〕
Ｘ＝Ｒ−Ｇ
Ｚ＝Ｂ−Ｇ
Ｙ＝Ｇ＋Ｘ／３＋Ｚ／３
〔数式１〕において、Ｘは、ＧとＲの差分演算、Ｚは、ＧとＢの差分演算により得られるものであることを示している。なお、Ｙを求めるための第三式の右辺の要素にＸ、Ｚが含まれているため、第三式による演算以前に、Ｘを求めるための第一式、Ｚを求めるための第二式を演算処理を行っておかなければならない。ここで、いずれにおいても、Ｇを基準としているのは、輝度信号はＧを主体としており、Ｒ−Ｇ、Ｂ−Ｇの色差信号の空間分解能はＧ信号に対して１／２程度になるためである。すなわち、Ｒ、Ｂの２プレーンを差分信号Ｘ、Ｚにすると、隣接画素間の輝度差が小さくなり、圧縮に適したデータとなる。なお、入力映像が、モノクロである場合は、Ｘ、Ｚの値は共に「０」となる。
【００１０】
続いて、信号平坦部の処理を行う（ステップＳ２）。信号平坦部とは、信号レベルが均一な値になっている箇所をいう。コンピュータグラフィックス映像等を除き、均一な値として信号レベルの最小値「０」または信号レベルの最大値（例えば２５５）が通常候補になる。実写映像では、一般にこのような箇所はまれであるが、照明が全暗になりＡ／Ｄ変換器入力が零校正レベル以下であったり（カメラの校正により全暗時にはカメラ信号出力が負値になる場合もある）、映像が逆光照明になってＡ／Ｄ変換器が飽和したりすると、このような箇所が生じる。信号レベルが「０」および信号レベルが最大値のいずれであっても、信号平坦部は、同一の信号レベルが所定の領域（所定の画素数）連続して記録される。このため、この部分は圧縮し易いデータになっている。すなわち、ステップＳ２においては、隣接する画素との値の差が「０」である画素が連続する部分を、信号平坦部データとして別途記録することになる。画素の差分演算の方向は、画素の走査線方向に行う。具体的には、隣接する画素と画素値の差が「０」である限り、次の画素との比較を行っていき、差が「１」以上となる画素が存在した場合に、その直前の画素までを信号平坦部として抽出する。信号平坦部データが記録された場合、プレーン上のその領域はマスク領域としてマスクされることになる。
【００１１】
ここで、信号平坦部処理の様子を図３を用いて説明する。例えば、画像が横７２０画素×縦４８０画素で構成されている場合、左上端の画素（１，１）から右下端の画素（７２０，４８０）まで順次処理していくが、左上端の画素（１，１）から右上端の画素（７２０，１）まで右方向に向かって処理した後、右端２行目の画素（７２０，２）から左端２行目の画素（１，２）まで左方向に向かって処理し、さらに、左端３行目の画素（１，３）から右端３行目の画素（７２０，３）まで左方向に向かって処理する、という具合にジグザグに処理し、右端４７９行目の画素（７２０，４７９）から右端最下行の画素（７２０，４８０）を通って、左端最下行の画素（１，４８０）まで処理していく。この処理方向において、連続する画素の値が同一である場合に、信号平坦部データとして記録する。このようにして、奇数番目と偶数番目の処理方向を逆にするのは、処理する画素値の変動を抑えるためである。例えば、図３の例で、画素（７２０，１）の画素値に着目すると、画素（７２０，２）の画素値とは大きく変わらないと予想されるが、画素（１，２）の画素値とは大きく変わることが予想される。ステップＳ２および後述するステップＳ３の処理においては、画素値の差が「０」である場合にデータ圧縮が可能となるので、画素値の変動を抑えるため、奇数番目と偶数番目の処理方向を逆にしているのである。
【００１２】
信号平坦部データの作成は、信号平坦部の先頭画素の座標値を記録すると共に、同一画素値が連続する画素数、画素値を信号平坦部テーブルに記録していくことにより行われる。信号平坦部テーブルの一例を図４（ａ）に示す。本実施形態では、信号平坦部データは、先頭画素のｉｊ座標、連続する画素数、信号平坦部に共通となる画素値で構成されている。図４（ａ）の１段目に示す信号平坦部は、（５，１０）から８５個（すなわち（５，９４）まで）の画素の値が「１３６」で同一であることを示している。図４の２段目に示す信号平坦部は、（６８１，２５）から１０６個の画素の値が「８８」で同一であることを示している。（６８１，２５）から１０６個となると、右端の（７２０，２５）に達するので、その下の行の（７２０，２６）から（６５５，２６）までが信号平坦部となる。
【００１３】
なお、図４（ａ）に示した信号平坦部テーブルは、フレーム番号およびプレーン種別毎に用意されており、復号時に、信号平坦部データを、どのフレームのどのプレーンに戻せば良いかがわかるようになっている。
【００１４】
次に、信号平坦部処理されたデジタル映像信号に対して、時間的に隣接するフレーム間の演算処理を行う（ステップＳ３）。具体的には、まず、隣接するフレーム間の同一色プレーン同士で同一座標の画素同士の差分演算を行う。その結果、差分が「０」、すなわち画素の値が同一となる画素の集合をフレーム間同一データとして別途記録する。ステップＳ３における隣接フレーム間の画素の差分演算も、上記ステップＳ２と同様に、画素の走査線方向に行う。具体的には、隣接するフレーム間の同一座標の画素との差が「０」である限り、次の画素についても比較を行っていき、差が「１」以上となる区間が存在した場合に、その直前の画素までの画素をフレーム間同一データとして抽出する。なお、この際、既に信号平坦部処理でマスクされた領域は、比較対象の画素から除外する。フレーム間同一データが記録された場合、後続するフレームのその領域はマスク領域としてマスクされることになる。なお、隣接するフレーム間とは、例えば、図１（ｂ）の例ではフレームＦ１とフレームＦ２のことであり、フレームＦ２が後続するフレームとなる。フレームＦ１とフレームＦ２間で相関演算を行う場合、フレームＦ１のＸプレーンとフレームＦ２のＸプレーン、フレームＦ１のＹプレーンとフレームＦ２のＹプレーン、フレームＦ１のＺプレーンとフレームＦ２のＺプレーンの３つの相関演算が行われる。
【００１５】
フレーム間の差分演算は、同一プレーンの同一座標の画素同士を比較することにより行う。すなわち、画素（１，１）同士を比較した後、画素（２，１）同士を比較し、図３に示した信号平坦部の場合と同様に、各行ごとに処理方向を逆にして、画素（１，４８０）まで処理を行うことになる。この結果、画素同士の差分が「０」となる区間を、マスク領域としてマスクすると共に、フレーム間同一データとして記録する。
【００１６】
フレーム間同一データの作成は、差分が「０」となった先頭画素の座標値を記録すると共に、差分が「０」となる画素が連続する画素数をフレーム間テーブルに記録していくことにより行われる。フレーム間テーブルの一例を図４（ｂ）に示す。本実施形態では、フレーム間同一データは、先頭画素のｉｊ座標、連続する画素数で構成されている。
【００１７】
なお、図４（ｂ）に示したフレーム間テーブルは、フレーム間およびプレーン種別毎に用意されており、復号時に、フレーム間同一データを、どのフレームのどのプレーンに戻せば良いかがわかるようになっている。
【００１８】
このように、隣接する両フレーム間において、画素の差分演算を行うと、動きが早い部分については、当然画素値の差分が大きくなる。例えば、ある風景の中の特定の位置で物体が激しく動いているシーンなどでは、物体が存在する位置では、相関が低いことがあらかじめわかっているので、相関演算の処理を行うだけ無駄になる。このような場合、動きの速い部分だけをフレーム間演算の非適用領域として設定しておき、その他の領域についてのみフレーム間演算を行うようにすれば良い。そのため、本発明では、画像のフレームを表示手段などに表示させ、非適用領域のフレーム上の位置と、フレーム番号（時刻）をあらかじめ利用者に設定させるようにしている。このように、非適用領域が設定されたフレームについては、非適用領域を除いた領域について相関演算を行う。
【００１９】
以上のようにして、デジタル映像信号のフレーム群から信号平坦部データ、フレーム間同一データが分離され、分離された各データの画素は、いわゆるランレングス形式により、各テーブルに少ないデータ量で記録される。また、各プレーン上には、信号平坦部データ、フレーム間同一データとして抽出された画素に対応する領域は、マスク領域としてマスクされる。
【００２０】
なお、マスク領域は、各フレーム各プレーンにおいて、マスクされた区間の座標を、マスクデータに記録することにより行われる。後述する非マスク領域に対する処理は、コンピュータが、マスクデータを参照してマスク領域を認識し、マスク領域以外を非マスク領域として認識することにより、処理すべき画素が決定される。
【００２１】
続いて、非マスク領域の画素について、近傍の画素を基に各画素の予測値と予測誤差の算出を行う（ステップＳ４）。本実施形態では、算出対象とする対象画素（ｉ，ｊ）の予測誤差値ｅ（ｉ，ｊ）を算出するために、対象画素の元の画素値ｘ（ｉ，ｊ）、および図５に示すような近傍３画素（ｉ−１，ｊ−１）、（ｉ，ｊ−１）、（ｉ−１，ｊ）の値ｘ（ｉ−１，ｊ−１）、ｘ（ｉ，ｊ−１）、ｘ（ｉ−１，ｊ）を利用する。
【００２２】
以下に、このような近傍３画素を利用した予測誤差変換について説明する。予測誤差変換の処理概要を図６のフローチャートに示す。まず、あらかじめ準備された複数の予測計算式を用いて、各予測計算式に対応した線形予測誤差を算出する（ステップＳ１１）。具体的には、画素（ｉ，ｊ）の予測誤差を算出する予測計算式として、以下の〔数式２〕〜〔数式８〕を用意している。
〔数式２〕
ｅ０＝ｘ（ｉ，ｊ）−ｘ（ｉ−１，ｊ）
〔数式３〕
ｅ１＝ｘ（ｉ，ｊ）−ｘ（ｉ，ｊ−１）
〔数式４〕
ｅ２＝ｘ（ｉ，ｊ）−ｘ（ｉ−１，ｊ−１）
〔数式５〕
ｅ３＝ｘ（ｉ，ｊ）−ｘ（ｉ−１，ｊ）−ｘ（ｉ，ｊ−１）＋ｘ（ｉ−１，ｊ−１）
〔数式６〕
ｅ４＝ｘ（ｉ，ｊ）−ｘ（ｉ−１，ｊ）−｛ｘ（ｉ，ｊ−１）−ｘ（ｉ−１，ｊ−１）｝／２
〔数式７〕
ｅ５＝ｘ（ｉ，ｊ）−ｘ（ｉ，ｊ−１）−｛ｘ（ｉ−１，ｊ）−ｘ（ｉ−１，ｊ−１）｝／２
〔数式８〕
ｅ６＝ｘ（ｉ，ｊ）−｛ｘ（ｉ−１，ｊ）＋ｘ（ｉ，ｊ−１）｝／２
上記〔数式２〕〜〔数式８〕において、ｅ０〜ｅ６は各予測計算式による画素（ｉ，ｊ）の予測誤差であり、ｘ（ｉ，ｊ）、ｘ（ｉ，ｊ−１）、ｘ（ｉ−１，ｊ）、ｘ（ｉ−１，ｊ−１）は画素（ｉ，ｊ）、（ｉ，ｊ−１）、（ｉ−１，ｊ）、（ｉ−１，ｊ−１）における画素値である。
【００２３】
続いて、上記各予測計算式別の予測誤差値の絶対値の累積である累積誤差が最小となる線形予測誤差をその画素の予測誤差として選出する（ステップＳ１２）。ここでは、累積誤差という考え方を用いている。具体的には、各予測計算式〔数式２〕〜〔数式８〕により算出された予測誤差の過去の画素についての累積値をＡ０〜Ａ６として設定する。そして、この累積誤差Ａ０〜Ａ６のうち、最小となるものに対応する予測誤差を選出する。例えば、Ａ０〜Ａ６のうち、Ａ３が最小であったとする。この場合、〔数式５〕で算出された予測誤差ｅ３を符号化対象とする予測誤差ｅ（ｉ，ｊ）として選出することになる。選出された予測誤差ｅ（ｉ，ｊ）は、画素（ｉ，ｊ）の元の値ｘ（ｉ，ｊ）と置き換えられて以降処理が行われることになる。
【００２４】
続いて、累積誤差Ａ０〜Ａ６に各予測誤差ｅ０〜ｅ６の絶対値を加算する（ステップＳ１３）。具体的には、以下の〔数式９〕に示すように、累積誤差値となる変数Ａ０〜Ａ６を更新していく。同時に、各サンプルの処理を行う度に、カウンタを１つづつ加算していく処理を行う。
〔数式９〕
Ａ０←Ａ０＋｜ｅ０｜      Ａ１←Ａ１＋｜ｅ１｜
Ａ２←Ａ２＋｜ｅ２｜      Ａ３←Ａ３＋｜ｅ３｜
Ａ４←Ａ４＋｜ｅ４｜      Ａ５←Ａ５＋｜ｅ５｜
Ａ６←Ａ６＋｜ｅ６｜
続いて、カウンタが所定回数を超えたかどうかの判定を行う（ステップＳ１４）。本実施形態では、この所定回数を１００回として設定している。すなわち、カウンタが１００を超えたかどうかの判定を行う。
【００２５】
この結果、カウンタが１００を超えていたら、累積誤差を半分にする（ステップＳ１５）。具体的には、以下の〔数式１０〕に示すように、累積誤差となる変数Ａ０〜Ａ６を２で除算する。同時に、カウンタを０にリセットする。すなわち、ここでのＡ０〜Ａ６は純粋な意味での累積誤差ではなく、累積誤差の移動平均となっている。本実施形態では、直前の最大１００画素までは累積されるが、それ以前のものは半分になるように処理する。これにより、距離的に離れた画素の影響が小さくなるようにしている。
〔数式１０〕
Ａ０←（Ａ０）／２      Ａ１←（Ａ１）／２
Ａ２←（Ａ２）／２      Ａ３←（Ａ３）／２
Ａ４←（Ａ４）／２      Ａ５←（Ａ５）／２
Ａ６←（Ａ６）／２
上記ステップＳ１１〜ステップＳ１５の処理を全フレーム、全プレーンの非マスク領域における全画素に対して実行することにより、非マスク領域の全画素の値が元の値ｘ（ｉ，ｊ）から対象誤差ｅ（ｉ，ｊ）に置き換えられることになる。なお、プレーン上の各画素データの中には、上記ステップＳ２の信号平坦部処理、ステップＳ３のフレーム間演算においてマスクされたマスク領域が存在する。このマスク領域上の各画素については、予測誤差算出の対象画素とはしないが、マスク領域に属さない対象画素の予測誤差算出のために利用される。例えば、図５に示すようなプレーンにおいて、マスク領域に属さない画素（ｉ，ｊ）を対象画素として予測誤差を求める際、画素（ｉ−１，ｊ−１）、画素（ｉ，ｊ−１）、画素（ｉ−１，ｊ）のいずれかがマスク領域に存在するか否かに関わらず、画素（ｉ−１，ｊ−１）、画素（ｉ，ｊ−１）、画素（ｉ−１，ｊ）の値を利用して画素（ｉ，ｊ）の予測誤差の算出を行う。
【００２６】
上記のようにして予測符号化が行われたら、続いて、各画素データの正負極性処理を行う（ステップＳ５）。上記ステップＳ１〜ステップＳ４までの処理により各画素の値は、Ｒ，Ｇ，Ｂ値から、Ｘ，Ｙ，Ｚ値の予測誤差に置き換えられたが、各画素のビット形式は、当初のままである。通常、コンピュータ等の計算機で演算される場合は、各データは３２ビット単位で処理され、２の補数表現を用いて表現されている。これを、正負の符号付き絶対値表現に変換し、なおかつ、その絶対値部分を上位に１ビット移動させ、正負の符号ビットをＬＳＢ（最下位ビット）に移動させる。ステップＳ５におけるビット構成の変換の様子を模式的に示すと図７のようになる。図７（ａ）は処理前のビット構成であり、図７（ｂ）は処理後のビット構成である。このように正負の符号ビットをＬＳＢに移動させるのは、後のステップＳ６における可変長符号化処理で、各画素のビット長を検出し易くするためである。
【００２７】
次に、各画素を可変長に変換する処理を行っていく（ステップＳ６）。本実施形態における可変長符号化は、一般にゴロム符号化と呼ばれる方式を採用している。具体的には、１画素を構成するビット成分を上位ビット成分と下位ビット成分に分け、下位ビット成分は変更を加えずそのままとし、上位ビット成分は、上位ビットだけを十進数変換した数値分のビット「０」を並べ、最後にセパレータビット「１」を加えた配列とする。例えば、８ビットのビット成分「００１０１０００」を考えてみる。このとき、下位ビット成分を４ビットとすると、下位ビット成分は「１０００」となる。上位ビットは「００１０」であるため、これを十進数変換した「２」個分の「０」を配列して最後に「１」を加えた「００１」に変換される。この結果、８ビットのビット列「００１０１０００」は、７ビットのビット列「００１１０００」に変換されることになる。本実施形態では、変換の前後でビット成分を不変とする下位ビット成分のビット長を各画素で可変とするようにしている。
【００２８】
以下、ステップＳ６における可変長符号化処理を具体的に説明していく。図８は可変長符号化の概要を示すフローチャートである。まず、処理済みの画素のビット長の移動平均である平均ビット長Ｂｆを算出する（ステップＳ２１）。平均ビット長Ｂｆは、処理済みのビット長の累積値である累積ビット長ＲＢを、処理済みの画素数を基にしたカウンタＣで除算することにより求められる。すなわち、Ｂｆ＝ＲＢ／Ｃで算出される。累積ビット長ＲＢは、初期状態では０であるので、（ｉ，ｊ）＝（１，１）の画素を処理する場合には、（ｉ，ｊ）＝（１，１）の画素のビット長Ｂｄ（ｉ，ｊ）を初期値として設定しておく。また、初期のカウンタＣ＝１と設定する。
【００２９】
続いて、座標（ｉ，ｊ）における画素のビット長Ｂｄ（ｉ，ｊ）を算出する（ステップＳ２２）。（ｉ，ｊ）＝（２，１）以降の画素については、平均ビット長Ｂｆの算出後、画素のビット長Ｂｄ（ｉ，ｊ）を算出する。このビット長Ｂｄ（ｉ，ｊ）は、上記ステップＳ５においてビット構成の変換を行ったことにより算出し易くなっている。図７（ｂ）に示したようなビット構成に変換したことにより、各画素のビット構成において先頭にビット「１」が出現したところからがビット長となる。次に、変更部のビット長Ｂｖを算出する（ステップＳ２３）。これは、上記画素のビット長Ｂｄ（ｉ，ｊ）から平均ビット長Ｂｆを減じることにより算出される。続いて、データの符号出力を行う（ステップＳ２４）。具体的には、上位Ｂｖビットを十進数変換した数値分だけ「０」を出力した後、セパレータビット「１」を出力し、下位Ｂｆビットを不変部として出力する。符号出力は、ハードディスク、ＣＤ−Ｒ等の外部記憶装置への記録として行われることになる。次に、累積ビット長ＲＢにビット長Ｂｄ（ｔ）を加算する（ステップＳ２５）。同時に、各画素の処理を行う度に、カウンタＣを１つずつ加算していく処理を行う。続いて、カウンタＣが所定の数を超えたかどうかを判定する（ステップＳ２６）。所定の数としては、ここでも１００程度を設定している。そのため、カウンタが１００を超えたかどうかを判断することになる。この結果、カウンタが１００を超えていたら、累積ビット長ＲＢを半分にする（ステップＳ２７）。具体的には、累積ビット長となる変数ＲＢを２で除算する。同時に、カウンタＣを半分に１／２にする。
【００３０】
上記のようにして、各画素について可変ビット長での符号化が行われて行く。符号化により得られた可変ビット長で表現された画素の集合は、可変長予測誤差データとして出力される。
（符号データの記録）
以上のようにして得られた符号データは、フレーム単位で記録される。ここで、フレーム単位で記録された符号データの様子を図９に示す。すなわち、各フレームごとに、信号平坦部データ、フレーム間同一データ、可変長予測誤差データが記録されることになる。これらのデータを記録すべき記録媒体に合わせたフォーマットで記録する。
（復号方法）
次に、上記圧縮方法により圧縮された符号データを復号解凍する方法について説明する。復号は、コンピュータ、およびコンピュータに搭載される専用のソフトウェアプログラムにより実行される。復号方法の概要を図１０のフローチャートに示す。
【００３１】
まず、図９に示したような符号データを記録した記録媒体を、復号するための装置（専用のソフトウェアを搭載したコンピュータ）に読み込ませる。読み込みは、フレーム単位で順次行われる。まず、信号平坦部データを読み込み、信号平坦部の画素値を各プレーンに配置すると共に、マスクデータを作成し、信号平坦部領域の画素をマスクする（ステップＳ３１）。続いて、フレーム間同一データを読み込み、各プレーンの該当する領域に対して、直前フレームにおいて該当する画素値を配置すると共に、ステップＳ３１において作成したマスクデータに、配置した画素の領域をマスクするように追記する（ステップＳ３２）。なお、ステップＳ３２の処理は、先頭のフレームに対しては行われない。先頭のフレームには、対応するフレーム間同一データが存在しないからである。次に、可変長予測誤差データを読み込み、可変長予測誤差データを各画素が固定長で表現されたデータに復元していく（ステップＳ３３）。これは、上記ステップＳ６における処理と逆の処理を行えば良い。続いて、各画素ごとに復元されたデータの極性を復元する（ステップＳ３４）。これは、上記ステップＳ５における処理と逆の処理を行えば良い。次に、極性が復元された各画素のデータを、マスクデータを参照して、各プレーンに配置していく（ステップＳ３５）。具体的には、マスクデータに記録されているマスク領域以外の非マスク領域に該当する座標に、符号化時と同様に画素データを配置していく。すなわち、図３に示した矢印の方向に、画素（１，１）から順に画素（１，４８０）まで配置していくことになる。
【００３２】
この時点で、各座標（ｉ，ｊ）の各画素の値は、予測誤差ｅ（ｉ，ｊ）で記録されているので、元の画素値ｘ（ｉ，ｊ）に復元する（ステップＳ３６）。これは、上記ステップＳ４における処理と逆の処理を行えば良い。
【００３３】
この時点で、フレーム群は、図１（ｂ）に示したように、各フレームが、Ｘ、Ｙ、Ｚプレーンで構成された状態となっているので、Ｒ、Ｇ、Ｂプレーンで構成される元のフレームに復元する（ステップＳ３７）。これは、上記〔数式１〕を利用することにより復元できる。ステップＳ３１からステップＳ３７の処理を、全フレームに対して繰り返し行うことにより、デジタル映像信号が復元されることになる。本実施形態で説明した圧縮方法は、ロスレス型（可逆型）であるので、復元された映像信号は、欠落なく、圧縮前の映像信号と全く同じものとなる。
【００３４】
なお、上記実施形態では、圧縮対象の原デジタル映像信号としてＲＧＢのカラー映像信号を入力した場合を例にとって説明したが、原デジタル映像信号としてモノクロ映像信号を入力し、圧縮を行なうことも可能である。この場合、上記〔数式１〕において、Ｘ、Ｚプレーンの画素値が全て「０」となるため、Ｙプレーンについての処理だけを行えば良いことになる。
【００３５】
以上、本発明の好適な実施形態について説明したが、本発明は、上記実施形態に限定されず、種々の変形が可能である。以下に、変形例について説明する。
（ロッシー型）
上記実施形態では、ロスレス型で完全に元の状態に戻せる方式で圧縮を行ったが、不可逆ではあるが可逆圧縮に近い画質が得られるニアロスレス型の方式とすることも可能である。この場合、上記ステップＳ１における色信号間の演算処理が異なることになる。具体的には、図１に示したように、Ｒ，Ｇ，Ｂの信号をＸ，Ｙ，Ｚに変換するのではなく、以下の〔数式１１〕を利用して、Ｙ2、Ｕ、Ｖに変換する。
〔数式１１〕
Ｙ2＝０．２９９Ｒ＋０．５８７Ｇ＋０．１１４Ｂ
Ｕ＝−０．１６８４Ｒ−０．３３１６Ｇ＋０．５Ｂ
Ｖ＝０．５Ｒ−０．４１８７Ｇ−０．０８１３Ｂ
上記〔数式１１〕は、小数点演算を伴うため、整数値化されたＹ2、Ｕ、Ｖから、元のＲ、Ｇ、Ｂの値を復元することはできず、この状態で基本的にロッシー型になる。さらに、Ｕプレーン、Ｖプレーンについては、縦方向、横方向に画素を１／２に間引きする。例えば、７２０×４８０画素の画像の場合、３６０×２４０画素の画像となり、画素数が１／４に減少することになる。Ｒ，Ｇ，Ｂの信号からＹ2、Ｕ、Ｖの信号への変換の様子を図１１に示す。図１１（ａ）は、図１（ａ）と全く同じであり、入力されたデジタル映像信号を示している。図１１（ｂ）に示すように、Ｕプレーン、Ｖプレーンは画素数が縦方向、横方向それぞれ半分になっている。このようにして得られたＹ2、Ｕ、Ｖプレーンについて、上記ステップＳ３からステップＳ６の処理が施され、不可逆圧縮が行われることになり、Ｙ2プレーンについてはほとんどロスは無いが、Ｕ、Ｖプレーンの解像度は１／４に低下する。ただし、ヒトの視覚系は、輝度信号Ｙ2プレーンに比べ色差信号Ｕ、Ｖプレーンに対しては認識能力が鈍感であることが知られているため、全体的に画質の劣化を認識することが難しく、可逆圧縮された画像とほぼ同等な画質を得ることができる（ニアロスレス符号化と呼ばれる）。
【００３６】
以上、本発明は、複数の静止画像で構成される映像信号に対して行われるため、入力データが静止画像である場合は、静止画像の圧縮方法としても利用することができる。この場合、上記ステップＳ１〜ステップＳ６のうち、ステップＳ３の処理以外を実行することにより、静止画像の圧縮が可能となる。
【図面の簡単な説明】
【００３７】
【図１】本発明の映像信号の圧縮方法で圧縮対象とするデジタル映像信号の構造を示す模式図である。
【図２】本発明に係る映像信号の圧縮方法の概要を示すフローチャートである。
【図３】フレーム上における画素の処理順序を示す図である。
【図４】信号平坦部テーブル、フレーム間テーブルの様子を示す図である。
【図５】予測誤差算出処理を行う際の各画素の位置関係を示す図である。
【図６】予測誤差算出の詳細を示すフローチャートである。
【図７】極性処理の処理の様子を示す図である。
【図８】可変長符号化の概要を示すフローチャートである。
【図９】本発明に係る映像信号の圧縮方法により得られる符号データを示す図である。
【図１０】圧縮された映像信号の復号処理の概要を示すフローチャートである。
【図１１】不可逆圧縮を行う場合の、色信号間演算の様子を示す模式図である。
【図１】
2005045527.tif 000003
【図２】
2005045527.tif 000004
【図３】
2005045527.tif 000005
【図４】
2005045527.tif 000006
【図５】
2005045527.tif 000007
【図６】
2005045527.tif 000008
【図７】
2005045527.tif 000009
【図８】
2005045527.tif 000010
【図９】
2005045527.tif 000011
【図１０】
2005045527.tif 000012
【図１１】
2005045527.tif 000013