(57)【特許請求の範囲】
【請求項１】
画像データを符号化する画像処理装置において、
画像データを、複数の画素を含むブロックにブロック化するブロック化手段と、
前記ブロックの角の画素の値を、前記ブロックの角の画素の値と隣接する他の前記ブロックの角の画素の値から所定の関係式に従って得られる値に補正する補正手段と、
前記補正手段により角の画素の値が補正された前記ブロックを、前記ブロック単位で圧縮して圧縮データを生成する圧縮手段と、
前記圧縮手段により生成された前記圧縮データを復号して予測値を生成する復号手段と、
前記復号手段により生成された前記予測値と、前記補正手段により角の画素の値が補正された前記ブロックの画素の値との差に基づく予測差分を、前記ブロック単位で計算する計算手段と、
前記圧縮手段により生成された前記圧縮データを、前記ブロック単位で伝送単位に単位化するとともに、前記計算手段により生成された前記予測差分を、前記圧縮データとともに前記伝送単位で単位化する単位化手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記計算手段により生成された前記予測差分を、対応する前記ブロックの前記圧縮データとは異なる前記伝送単位に単位化されるようにシャフリングするシャフリング手段をさらに備える
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記補正手段は、前記ブロックの角の画素の値を、隣接する第１乃至第３のブロックの角の第１乃至第３の画素の値との４つの値の平均値に補正するか、水平方向に隣接する前記第１のブロックの前記第１の画素の値との差が、斜め方向に隣接する前記第２のブロックの隣接する角の前記第２の画素の値と、垂直方向に隣接するとともに、前記第２のブロックに対して水平方向に隣接する前記第３のブロックの隣接する角の前記第３の画素との差に等しくなるように補正するか、または垂直方向に隣接する前記第３のブロックの前記第３の画素の値との差が、斜め方向に隣接する前記第２のブロックの隣接する角の前記第２の画素の値と、水平方向に隣接するとともに、前記第２のブロックに対して垂直方向に隣接する前記第１のブロックの隣接する角の前記第１の画素との差に等しくなるように補正する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
隣接する前記ブロックとは、時間的に前または後のフレーム又はフィールドの画像のブロックであり、
前記補正手段は、前記ブロックの角の画素の値を、時間的に前または後の前記フレーム又は前記フィールドの画像の前記ブロックの角の画素の値から得られる値に補正する
ことを特徴とする請求項１に記載の画像処理装置。
【請求項５】
前記補正手段は、前記ブロックの辺を構成する前記画素をADRC処理した結果が、隣接する前記ブロックの隣接する前記画素をADRC処理した結果と対応する関係付けとなるように補正を行う
ことを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記圧縮手段は、ベクトル量子化、JPEGまたはADRC処理により圧縮を行う
ことを特徴とする請求項１に記載の画像処理装置。
【請求項７】
画像データを符号化する画像処理装置の画像処理方法において、
画像データを、複数の画素を含むブロックにブロック化するブロック化ステップと、
前記ブロックの角の画素の値を、前記ブロックの角の画素の値と隣接する他の前記ブロックの角の画素の値から所定の関係式に従って得られる値に補正する補正ステップと、
前記補正ステップの処理により角の画素の値が補正された前記ブロックを、前記ブロック単位で圧縮して圧縮データを生成する圧縮ステップと、
前記圧縮ステップの処理により生成された前記圧縮データを復号して予測値を生成する復号ステップと、
前記復号ステップの処理により生成された前記予測値と、前記補正ステップの処理により角の画素の値が補正された前記ブロックの画素の値との差に基づく予測差分を、前記ブロック単位で計算する計算ステップと、
前記圧縮ステップの処理により生成された前記圧縮データを、前記ブロック単位で伝送単位に単位化するとともに、前記計算ステップの処理により生成された前記予測差分を、前記圧縮データとともに前記伝送単位で単位化する単位化ステップと
を含むことを特徴とする画像処理方法。
【請求項８】
画像データを符号化する画像処理装置のプログラムであって、
画像データを、複数の画素を含むブロックにブロック化するブロック化ステップと、
前記ブロックの角の画素の値を、前記ブロックの角の画素の値と隣接する他の前記ブロックの角の画素の値から所定の関係式に従って得られる値に補正する補正ステップと、
前記補正ステップの処理により角の画素の値が補正された前記ブロックを、前記ブロック単位で圧縮して圧縮データを生成する圧縮ステップと、
前記圧縮ステップの処理により生成された前記圧縮データを復号して予測値を生成する復号ステップと、
前記復号ステップの処理により生成された前記予測値と、前記補正ステップの処理により角の画素の値が補正された前記ブロックの値との差に基づく予測差分を、前記ブロック単位で計算する計算ステップと、
前記圧縮ステップの処理により生成された前記圧縮データを、前記ブロック単位で伝送単位に単位化するとともに、前記計算ステップの処理により生成された前記予測差分を、前記圧縮データとともに前記伝送単位で単位化する単位化ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項９】
画像データを符号化する画像処理装置を制御するコンピュータに、
画像データを、複数の画素を含むブロックにブロック化するブロック化ステップと、
前記ブロックの角の画素の値を、前記ブロックの角の画素の値と隣接する他の前記ブロックの角の画素の値から所定の関係式に従って得られる値に補正する補正ステップと、
前記補正ステップの処理により角の画素の値が補正された前記ブロックを、前記ブロック単位で圧縮して圧縮データを生成する圧縮ステップと、
前記圧縮ステップの処理により生成された前記圧縮データを復号して予測値を生成する復号ステップと、
前記復号ステップの処理により生成された前記予測値と、前記補正ステップの処理により角の画素の値が補正された前記ブロックの値との差に基づく予測差分を、前記ブロック単位で計算する計算ステップと、
前記圧縮ステップの処理により生成された前記圧縮データを、前記ブロック単位で伝送単位に単位化するとともに、前記計算ステップの処理により生成された前記予測差分を、前記圧縮データとともに前記伝送単位で単位化する単位化ステップと
を実行させるプログラム。
【請求項１０】
複数の画素を含むブロックにブロック化され、かつ、前記ブロックの角の画素の値を、前記ブロックの角の画素の値と隣接する他の前記ブロックの角の画素の値から所定の関係式に従って得られる値に補正され、さらに前記ブロックの角の画素の値が補正された前記ブロックをブロック単位で圧縮して生成された圧縮データを復号する画像処理装置において、
前記ブロックは、伝送単位毎に伝送され、
前記伝送単位は、前記ブロック毎の、伝送側で前記圧縮データを復号して生成された予測値と、補正された前記画素の値との差に基づく予測差分をさらに含み、
前記伝送単位から、前記予測差分を分離する分離手段と、
前記分離手段により分離された前記予測差分を利用して、前記圧縮データを復号する復号手段と、
前記復号手段により復号して得られた画像データを記憶する記憶手段と、
前記伝送単位毎に前記ブロックの欠落を検出する検出手段と、
前記検出手段により検出された、欠落した前記ブロックの位置を特定する特定手段と、
前記記憶手段に記憶された前記画像データから、前記特定手段により特定された、欠落した前記ブロックに隣接する前記ブロックの角の画素を抽出する抽出手段と、
前記抽出手段により抽出された、隣接する前記ブロックの角の画素の値から、欠落した前記ブロックの４個の角の画素の値を求め、当該値に基づいて前記圧縮データを推定する推定手段と
を備えることを特徴とする画像処理装置。
【請求項１１】
前記予測差分は、対応する前記ブロックの前記圧縮データとは異なる前記伝送単位にシャフリングして単位化されており、
前記伝送単位の前記ブロックの前記圧縮データと前記予測差分が対応するようにデシャフリングするデシャフリング手段をさらに備える
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記推定手段は、さらに前記予測差分を用いて前記推定を行う
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１３】
前記圧縮データは、ベクトル量子化の圧縮符号化により生成されたベクトル量子化コードであり、
前記推定手段は、欠落した前記ブロックに隣接する前記ブロックの角の前記画素の値を検出し、欠落した前記ブロックの角の前記画素の値が、それぞれ、隣接する前記ブロックの角の前記画素の値と等しいとして、欠落した前記ブロックの前記ベクトル量子化コードを推定するか、水平方向に隣接する第１のブロックの角の第１の画素の値との差が、斜め方向に隣接する第２のブロックの隣接する角の第２の画素の値と、垂直方向に隣接するとともに、前記第２のブロックに対して水平方向に隣接する第３のブロックの隣接する角の第３の画素との差に等しくなる値と等しいとして、欠落した前記ブロックの前記ベクトル量子化コードを推定するか、または垂直方向に隣接する前記第３のブロックの前記第３の画素の値との差が、斜め方向に隣接する前記第２のブロックの隣接する角の前記第２の画素の値と、水平方向に隣接するとともに、前記第２のブロックに対して垂直方向に隣接する前記第１のブロックの隣接する角の前記第１の画素との差に等しいとして、欠落した前記ブロックの前記ベクトル量子化コードを推定する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１４】
前記圧縮データは、ベクトル量子化の圧縮符号化により生成されたベクトル量子化コードであり、
隣接する前記ブロックとは、時間的に前または後のフレーム又はフィールドの画像のブロックであり、
前記推定手段は、時間的に前または後の前記フレーム又はフィールドの画像の前記ブロックの前記画素を用いて、欠落した前記ブロックの前記ベクトル量子化コードを推定する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１５】
前記圧縮データは、ベクトル量子化の圧縮符号化により生成されたベクトル量子化コードであり、
前記推定手段は、前記ブロックの辺を構成する前記画素をADRC処理した結果が、隣接する前記ブロックの隣接する画素をADRC処理した結果と対応するものとして、欠落した前記ブロックの前記ベクトル量子化コードを推定する
ことを特徴とする請求項１０に記載の画像処理装置。
【請求項１６】
複数の画素を含むブロックにブロック化され、かつ、前記ブロックの角の画素の値を、前記ブロックの角の画素の値と隣接する他の前記ブロックの角の画素の値から所定の関係式に従って得られる値に補正され、さらに前記ブロックの角の画素の値が補正された前記ブロックをブロック単位で圧縮して生成された圧縮データを復号する画像処理装置の画像処理方法において、
前記ブロックは、伝送単位毎に伝送され、
前記伝送単位は、前記ブロック毎の、伝送側で前記圧縮データを復号して生成された予測値と、補正された前記画素の値との差に基づく予測差分をさらに含み、
前記伝送単位から、前記予測差分を分離する分離ステップと、
前記分離ステップの処理により分離された前記予測差分を利用して、前記圧縮データを復号する復号ステップと、
前記圧縮データを前記復号ステップの処理により復号して得られた画像データの記憶を制御する記憶制御ステップと、
前記伝送単位毎に前記ブロックの欠落を検出する検出ステップと、
前記検出ステップの処理により検出された、欠落した前記ブロックの位置を特定する特定ステップと、
前記記憶制御ステップの処理に記憶が制御された前記画像データから、前記特定ステップの処理により特定された、欠落した前記ブロックに隣接する前記ブロックの角の画素を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された、隣接する前記ブロックの角の画素の値から、欠落した前記ブロックの４個の角の画素の値を求め、当該値に基づいて前記圧縮データを推定する推定ステップと
を含むことを特徴とする画像処理方法。
【請求項１７】
複数の画素を含むブロックにブロック化され、かつ、前記ブロックの角の画素の値を、前記ブロックの角の画素の値と隣接する他の前記ブロックの角の画素の値から所定の関係式に従って得られる値に補正され、さらに前記ブロックの角の画素の値が補正された前記ブロックをブロック単位で圧縮して生成された圧縮データを復号する画像処理装置のプログラムであって、
前記ブロックは、伝送単位毎に伝送され、
前記伝送単位は、前記ブロック毎の、伝送側で前記圧縮データを復号して生成された予測値と、補正された前記画素の値との差に基づく予測差分をさらに含み、
前記伝送単位から、前記予測差分を分離する分離ステップと、
前記分離ステップの処理により分離された前記予測差分を利用して、前記圧縮データを復号する復号ステップと、
前記圧縮データを前記復号ステップの処理により復号して得られた画像データの記憶を制御する記憶制御ステップと、
前記伝送単位毎に前記ブロックの欠落を検出する検出ステップと、
前記検出ステップの処理により検出された、欠落した前記ブロックの位置を特定する特定ステップと、
前記記憶制御ステップの処理に記憶が制御された前記画像データから、前記特定ステップの処理により特定された、欠落した前記ブロックに隣接する前記ブロックの角の画素を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された、隣接する前記ブロックの角の画素の値から、欠落した前記ブロックの４個の角の画素の値を求め、当該値に基づいて前記圧縮データを推定する推定ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１８】
複数の画素を含むブロックにブロック化され、かつ、前記ブロックの角の画素の値を、前記ブロックの角の画素の値と隣接する他の前記ブロックの角の画素の値から所定の関係式に従って得られる値に補正され、さらに前記ブロックの角の画素の値が補正された前記ブロックをブロック単位で圧縮して生成された圧縮データを復号する画像処理装置を制御するコンピュータに、
前記ブロックは、伝送単位毎に伝送され、
前記伝送単位は、前記ブロック毎の、伝送側で前記圧縮データを復号して生成された予測値と、補正された前記画素の値との差に基づく予測差分をさらに含み、
前記伝送単位から、前記予測差分を分離する分離ステップと、
前記分離ステップの処理により分離された前記予測差分を利用して、前記圧縮データを復号する復号ステップと、
前記圧縮データを前記復号ステップの処理により復号して得られた画像データの記憶を制御する記憶制御ステップと、
前記伝送単位毎に前記ブロックの欠落を検出する検出ステップと、
前記検出ステップの処理により検出された、欠落した前記ブロックの位置を特定する特定ステップと、
前記記憶制御ステップの処理に記憶が制御された前記画像データから、前記特定ステップの処理により特定された、欠落した前記ブロックに隣接する前記ブロックの角の画素を抽出する抽出ステップと、
前記抽出ステップの処理により抽出された、隣接する前記ブロックの角の画素の値から、欠落した前記ブロックの４個の角の画素の値を求め、当該値に基づいて前記圧縮データを推定する推定ステップと
を実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像処理装置および方法、記録媒体、並びにプログラムに関し、特に、転送した画像データの一部が欠落したような場合において、そのエラーが伝搬しないようにして、高エラーロバスト性を実現するようにした画像処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
近年、モバイル通信、テレビ会議システム、またはビデオオンデマンド(VOD(Video On Demmand))システムといった、ネットワークを介して、動画像信号を伝送するシステムが普及しつつある。これに伴い、動画像符号化方法の国際標準化作業が進められている。
【０００３】
動画像符号化方法には、フレーム内の空間的な相関を利用して圧縮するフレーム内符号化と、注目フレームとその前後のフレームの時間的な相関性を利用して圧縮するフレーム間符号化があり、それらの両方を使用するものと、フレーム内符号化のみを使用するものの２種類に分類される。
【０００４】
フレーム内符号化とフレーム間符号化の両方を併用する方式として、代表的なものが、ISO国際標準MPEG(Motion Picture Expert Group)−２であり、リアルタイム動画像通信や蓄積などに利用されている。
【０００５】
これに対して、フレーム内符号化のみを利用するものとしては、ISO国際標準JPEG(Joint Photographic Coding Group)で規定される。静止画像符号化方式を連続利用したJPEGムービがある。
【０００６】
【発明が解決しようとする課題】
フレーム間符号化を利用した符号化方式の場合、時間的に前のフレームを参照して符号化が行われるため、その後のフレームを復号するには、前のフレームの画像データが正しく伝送される必要がある。
【０００７】
しかしながら、特に、無線通信においては、画像データのビットが、伝送路の途中において反転するような伝送エラーが多く発生するため、画像データを正しく復号できないことがある。
【０００８】
また、WAN(Wide Area Network), LAN(Local Area Network)といったネットワークや、ATM(Asynchronous Transfer Mode)ネットワークにおいては、パケットやセルといった、比較的小さなデータの伝送単位に分割してデータが伝送されるが、パケットやセルが衝突したり、中継器のバッファがオーバーフローしたりして、伝送中に欠落する場合がある。MPEGやJPEGの場合、このようなパケットロスなどの伝搬損出が発生した場合、パケットロスが、例えば１パーセントであったとしても、復号した画像には、エラーが他のブロックに伝搬し、画像が破綻することが知られている。
【０００９】
そこで、伝送エラーやパケットロスによる画像劣化を回避するために、エラーが発生したり、パケットが欠落した場合、そのデータ単位を再送する方法が知られている。しかしながら、このような再送処理を行う方式は、遅延が大きいため、画像データなどのように、リアルタイムにデータを伝送する必要があるデータに適用することが困難である。
【００１０】
また、冗長ビットを付加して誤り訂正を行う方法も知られている。しかしながら、冗長ビットを付加した場合、伝送容量が減少してしまうため、全体的な画質の低下につながる。さらに、誤り率が高い場合やビットが連続してエラーする、いわゆるバースト誤り、あるいはパケットロスには、対応することができない。
【００１１】
本発明は、このような状況に鑑みてなされたものであり、エラーが伝搬しないようにするものである。また、本発明は、冗長ビットを付加することにより、伝送容量が減少してしまったり、画質が低下してしまうことを抑制するものである。
【００１２】
【課題を解決するための手段】
本発明の第１の画像処理装置は、画像データを、複数の画素を含むブロックにブロック化するブロック化手段と、ブロックの角の画素の値を、ブロックの角の画素の値と隣接する他のブロックの角の画素の値から所定の関係式に従って得られる値に補正する補正手段と、補正手段により角の画素の値が補正されたブロックを、ブロック単位で圧縮して圧縮データを生成する圧縮手段と、圧縮手段により生成された圧縮データを復号して予測値を生成する復号手段と、復号手段により生成された予測値と、補正手段により角の画素の値が補正されたブロックの画素の値との差に基づく予測差分を、ブロック単位で計算する計算手段と、圧縮手段により生成された圧縮データを、ブロック単位で伝送単位に単位化するとともに、計算手段により生成された予測差分を、圧縮データとともに伝送単位で単位化する単位化手段とを備えることを特徴とする。
【００１４】
前記計算手段により生成された予測差分を、対応するブロックの圧縮データとは異なる伝送単位に単位化されるようにシャフリングするシャフリング手段をさらに備えるようにすることができる。
【００１６】
補正手段は、ブロックの角の画素の値を、隣接する第１乃至第３のブロックの角の第１乃至第３の画素の値との４つの値の平均値に補正するか、水平方向に隣接する第１のブロックの第１の画素の値との差が、斜め方向に隣接する第２のブロックの隣接する角の第２の画素の値と、垂直方向に隣接するとともに、第２のブロックに対して水平方向に隣接する第３のブロックの隣接する角の第３の画素との差に等しくなるように補正するか、または垂直方向に隣接する第３のブロックの第３の画素の値との差が、斜め方向に隣接する第２のブロックの隣接する角の第２の画素の値と、水平方向に隣接するとともに、第２のブロックに対して垂直方向に隣接する第１のブロックの隣接する角の第１の画素との差に等しくなるように補正することができる。
【００１９】
隣接するブロックとは、時間的に前または後のフレーム又はフィールドの画像のブロックであり、補正手段は、ブロックの画素の値を、時間的に前または後のフレーム又はフィールドの画像のブロックの画素の値から得られる値に補正することができる。
【００２２】
前記補正手段は、ブロックの辺を構成する画素をADRC処理した結果が、隣接するブロックの隣接する画素をADRC処理した結果と対応する関係付けとなるように補正を行うことができる。
【００２３】
前記圧縮手段は、ベクトル量子化、JPEGまたはADRC処理により圧縮を行うことができる。
【００２４】
本発明の第１の画像処理方法は、画像データを、複数の画素を含むブロックにブロック化するブロック化ステップと、ブロックの角の画素の値を、ブロックの角の画素の値と隣接する他のブロックの角の画素の値から所定の関係式に従って得られる値に補正する補正ステップと、補正ステップの処理により角の画素の値が補正されたブロックを、ブロック単位で圧縮して圧縮データを生成する圧縮ステップと、圧縮ステップの処理により生成された圧縮データを復号して予測値を生成する復号ステップと、復号ステップの処理により生成された予測値と、補正ステップの処理により角の画素の値が補正されたブロックの画素の値との差に基づく予測差分を、ブロック単位で計算する計算ステップと、圧縮ステップの処理により生成された圧縮データを、ブロック単位で伝送単位に単位化するとともに、計算ステップの処理により生成された予測差分を、圧縮データとともに伝送単位で単位化する単位化ステップとを含むことを特徴とする。
【００２５】
本発明の第１の記録媒体のプログラムは、画像データを、複数の画素を含むブロックにブロック化するブロック化ステップと、ブロックの角の画素の値を、ブロックの角の画素の値と隣接する他のブロックの角の画素の値から所定の関係式に従って得られる値に補正する補正ステップと、補正ステップの処理により角の画素の値が補正されたブロックを、ブロック単位で圧縮して圧縮データを生成する圧縮ステップと、圧縮ステップの処理により生成された圧縮データを復号して予測値を生成する復号ステップと、復号ステップの処理により生成された予測値と、補正ステップの処理により角の画素の値が補正されたブロックの値との差に基づく予測差分を、ブロック単位で計算する計算ステップと、圧縮ステップの処理により生成された圧縮データを、ブロック単位で伝送単位に単位化するとともに、計算ステップの処理により生成された予測差分を、圧縮データとともに伝送単位で単位化する単位化ステップとを含むことを特徴とする。
【００２６】
本発明の第１のプログラムは、画像データを、複数の画素を含むブロックにブロック化するブロック化ステップと、ブロックの角の画素の値を、ブロックの角の画素の値と隣接する他のブロックの角の画素の値から所定の関係式に従って得られる値に補正する補正ステップと、補正ステップの処理により角の画素の値が補正されたブロックを、ブロック単位で圧縮して圧縮データを生成する圧縮ステップと、圧縮ステップの処理により生成された圧縮データを復号して予測値を生成する復号ステップと、復号ステップの処理により生成された予測値と、補正ステップの処理により角の画素の値が補正されたブロックの値との差に基づく予測差分を、ブロック単位で計算する計算ステップと、圧縮ステップの処理により生成された圧縮データを、ブロック単位で伝送単位に単位化するとともに、計算ステップの処理により生成された予測差分を、圧縮データとともに伝送単位で単位化する単位化ステップとを実行させることを特徴とする。
【００２７】
ブロックは、伝送単位毎に伝送され、伝送単位は、ブロック毎の、伝送側で圧縮データを復号して生成された予測値と、補正された画素の値との差に基づく予測差分をさらに含み、本発明の第２の画像処理方法は、伝送単位から、予測差分を分離する分離手段と、分離手段により分離された予測差分を利用して、圧縮データを復号する復号手段と、復号手段により復号して得られた画像データを記憶する記憶手段と、伝送単位毎にブロックの欠落を検出する検出手段と、検出手段により検出された、欠落したブロックの位置を特定する特定手段と、記憶手段に記憶された画像データから、特定手段により特定された、欠落したブロックに隣接するブロックの角の画素を抽出する抽出手段と、抽出手段により抽出された、隣接するブロックの角の画素の値から、欠落したブロックの４個の角の画素の値を求め、当該値に基づいて圧縮データを推定する推定手段とを備えることを特徴とする。
【００３０】
前記予測差分は、対応するブロックの圧縮データとは異なる伝送単位にシャフリングして単位化されており、伝送単位のブロックの圧縮データと予測差分が対応するようにデシャフリングするデシャフリング手段をさらに備えるようにすることができる。
【００３１】
前記推定手段は、さらに予測差分を用いて推定を行うことができる。
【００３２】
前記圧縮データは、ベクトル量子化の圧縮符号化により生成されたベクトル量子化コードであり、推定手段は、欠落したブロックに隣接するブロックの角の画素の値を検出し、欠落したブロックの角の画素の値が、それぞれ、隣接するブロックの角の画素の値と等しいとして、欠落したブロックのベクトル量子化コードを推定するか、水平方向に隣接する第１のブロックの角の第１の画素の値との差が、斜め方向に隣接する第２のブロックの隣接する角の第２の画素の値と、垂直方向に隣接するとともに、第２のブロックに対して水平方向に隣接する第３のブロックの隣接する角の第３の画素との差に等しくなる値と等しいとして、欠落したブロックのベクトル量子化コードを推定するか、または垂直方向に隣接する第３のブロックの第３の画素の値との差が、斜め方向に隣接する第２のブロックの隣接する角の第２の画素の値と、水平方向に隣接するとともに、第２のブロックに対して垂直方向に隣接する第１のブロックの隣接する角の第１の画素との差に等しいとして、欠落したブロックのベクトル量子化コードを推定することができる。
【００３５】
圧縮データは、ベクトル量子化の圧縮符号化により生成されたベクトル量子化コードであり、隣接するブロックとは、時間的に前または後のフレーム又はフィールドの画像のブロックであり、推定手段は、時間的に前または後のフレーム又はフィールドの画像のブロックの画素を用いて、欠落したブロックのベクトル量子化コードを推定することができる。
【００３８】
前記圧縮データは、ベクトル量子化の圧縮符号化により生成されたベクトル量子化コードであり、推定手段は、ブロックの辺を構成する画素をADRC処理した結果が、隣接するブロックの隣接する画素をADRC処理した結果と対応するものとして、欠落したブロックのベクトル量子化コードを推定することができる。
【００３９】
ブロックは、伝送単位毎に伝送され、伝送単位は、ブロック毎の、伝送側で圧縮データを復号して生成された予測値と、補正された画素の値との差に基づく予測差分をさらに含み、本発明の第２の画像処理方法は、伝送単位から、予測差分を分離する分離ステップと、分離ステップの処理により分離された予測差分を利用して、圧縮データを復号する復号ステップと、圧縮データを復号ステップの処理により復号して得られた画像データの記憶を制御する記憶制御ステップと、伝送単位毎にブロックの欠落を検出する検出ステップと、検出ステップの処理により検出された、欠落したブロックの位置を特定する特定ステップと、記憶制御ステップの処理に記憶が制御された画像データから、特定ステップの処理により特定された、欠落したブロックに隣接するブロックの角の画素を抽出する抽出ステップと、抽出ステップの処理により抽出された、隣接するブロックの角の画素の値から、欠落したブロックの４個の角の画素の値を求め、当該値に基づいて圧縮データを推定する推定ステップとを含むことを特徴とする。
【００４０】
ブロックは、伝送単位毎に伝送され、伝送単位は、ブロック毎の、伝送側で圧縮データを復号して生成された予測値と、補正された画素の値との差に基づく予測差分をさらに含み、本発明の第２の記録媒体のプログラムは、伝送単位から、予測差分を分離する分離ステップと、分離ステップの処理により分離された予測差分を利用して、圧縮データを復号する復号ステップと、圧縮データを復号ステップの処理により復号して得られた画像データの記憶を制御する記憶制御ステップと、伝送単位毎にブロックの欠落を検出する検出ステップと、検出ステップの処理により検出された、欠落したブロックの位置を特定する特定ステップと、記憶制御ステップの処理に記憶が制御された画像データから、特定ステップの処理により特定された、欠落したブロックに隣接するブロックの角の画素を抽出する抽出ステップと、抽出ステップの処理により抽出された、隣接するブロックの角の画素の値から、欠落したブロックの４個の角の画素の値を求め、当該値に基づいて圧縮データを推定する推定ステップとを含むことを特徴とする。
【００４１】
ブロックは、伝送単位毎に伝送され、伝送単位は、ブロック毎の、伝送側で圧縮データを復号して生成された予測値と、補正された画素の値との差に基づく予測差分をさらに含み、本発明の第２のプログラムは、伝送単位から、予測差分を分離する分離ステップと、分離ステップの処理により分離された予測差分を利用して、圧縮データを復号する復号ステップと、圧縮データを復号ステップの処理により復号して得られた画像データの記憶を制御する記憶制御ステップと、伝送単位毎にブロックの欠落を検出する検出ステップと、検出ステップの処理により検出された、欠落したブロックの位置を特定する特定ステップと、記憶制御ステップの処理に記憶が制御された画像データから、特定ステップの処理により特定された、欠落したブロックに隣接するブロックの角の画素を抽出する抽出ステップと、抽出ステップの処理により抽出された、隣接するブロックの角の画素の値から、欠落したブロックの４個の角の画素の値を求め、当該値に基づいて圧縮データを推定する推定ステップとを実行させることを特徴とする。
【００４２】
本発明の第１の画像処理装置および方法、記録媒体、並びにプログラムにおいては、画像データが複数の画像を含むブロックにブロック化され、ブロックの角の画素の値が、ブロックの角の画素の値と隣接する他のブロックの角の画素の値から所定の関係式に従って得られる値に補正される。
【００４３】
本発明の第２の画像処理装置および方法、記録媒体、並びにプログラムにおいては、ブロックの欠落が検出された場合、欠落したブロックに隣接するブロックの角の画素が抽出され、抽出された隣接するブロックの角の画素の値から、欠落したブロックの４個の角の画素の値が求められ、当該値に基づいて圧縮データが推定される。
【００４４】
【発明の実施の形態】
図１は、本発明を適用した動画像符号化装置の構成例を表している。この動画像符号化装置１においては、ブロック化部１１が、入力された画像データを複数の画素が１つのブロックとなるようにブロック化する。演算部１２は、ブロック化部１１より供給されたブロック化された画像データを、そのブロックが伝送途中において欠落したような場合において、復号側において、周辺のブロックからその欠落したブロックの画素を推定することができるように補正するための演算処理を行う。
【００４５】
演算部１２により補正された画像データは、圧縮符号化部１３と演算器１８に供給される。圧縮符号化部１３は、演算部１２より供給された画像データをブロック単位でベクトル量子化することで、圧縮符号化する。
【００４６】
圧縮符号化部１３より出力された圧縮データ（ベクトル量子化コード）は、バッファ１４に供給され、記憶されるとともに、圧縮復号部１７に供給され、復号される。演算器１８は、演算部１２より供給された画像データから、圧縮復号部１７より供給された復号された画像データを減算することで、その予測差分に対応する差分信号を生成し、バッファ１４に供給し、記憶させる。
【００４７】
シャフリング部１５は、バッファ１４より供給されたベクトル量子化コードと予測差分との組み合わせをシャフリングして、同一のブロックのベクトル量子化コードと予測差分が同一の組み合わせにならないようにする処理を行う。
【００４８】
パケット化部１６は、シャフリング部１５より供給されたシャフリングされた各組のベクトル量子化コードと予測差分の各組を、各パケットにパケット化して、所定の伝送路に伝送する。
【００４９】
制御部１９は、例えば、マイクロコンピュータなどにより構成され、上記したブロック下部１１乃至演算器１８の動作を制御する。
【００５０】
制御部１９には、必要に応じて、インタフェース２０を介して、磁気ディスク３１、光ディスク３２、光磁気ディスク３３、半導体メモリ３４などが適宜接続される。
【００５１】
次に、図２のフローチャートを参照して、図１の動画像符号化装置１の符号化処理について説明する。
【００５２】
ブロック化部１１は、ステップＳ１において、ブロック化処理を行う。図３は、このブロック化処理の例を表している。この例においては、入力された１フレーム分の画像データがｍ×ｎ個の画素毎にブロック化される。
【００５３】
なお、このブロック化は、フレーム単位で行ってもよいし、フィールド単位で行ってもよい。本明細書においては、フレームまたはフィールドといった画像の単位をアクセスユニットとも称する。
【００５４】
ステップＳ２において、演算部１２は、ステップＳ１において、ブロック化部１１によりブロック化された各ブロックの画素の値を補正することで、そのブロックが欠落した場合において、その欠落したブロックの画素を復号側において、推定することができるようにするための演算処理を行う。
【００５５】
図４は、このような演算部１２による演算処理の例を表している。この例においては、４×４（ｍ＝ｎ＝４）個の画素で１つのブロックが構成されるように、ブロック化が行われている。そして、演算部１２は、注目ブロックの４つの角に位置する画素ａ３，ｂ２，ｃ１，ｄ０の値を、接するブロックの角の画素との平均値で置き換える。
【００５６】
すなわち、注目ブロックの左上の画素ａ３は、水平方向に隣接するブロックの右上の画素ａ２、垂直方向に隣接するブロックの左下の角の画素ａ１、並びに斜め方向に隣接するブロック（左方向に隣接するブロックに対して垂直方向に隣接し、かつ垂直方向に隣接するブロックに対して、水平方向に隣接するブロック）の右下の画素ａ０と隣接しており、これらの平均値Ａが次式に基づいて、演算される。そして、画素ａ３は、平均値Ａに置換される。
【００５７】
【数１】
0004051697.tif 000002
【００５８】
同様に、注目ブロックの右上の画素ｂ２は、水平方向に隣接するブロックの左上の画素ｂ３、垂直方向に隣接するブロックの右下の画素ｂ０、並びに斜め方向に隣接するブロックの左下の画素ｂ１と隣接しており、それらの平均値Ｂにより置換される。この平均値Ｂは、次式で表される。
【００５９】
【数２】
0004051697.tif 000003
【００６０】
注目ブロックの左下の画素ｃ１は、水平方向に隣接するブロックの右下の画素ｃ０、垂直方向に隣接するブロックの左上の画素ｃ３、並びに斜め方向に隣接するブロックの右上の画素ｃ２との平均値Ｃにより置換される。この平均値Ｃは、次式により演算される。
【００６１】
【数３】
0004051697.tif 000004
【００６２】
さらに、注目ブロックの右下の画素ｄ０は、水平方向に隣接するブロックの左下の画素ｄ１、垂直方向に隣接するブロックの右上の画素ｄ２、並びに斜め方向に隣接するブロックの左上の画素ｄ３との平均値Ｄにより置換される。平均値Ｄは、次式により演算される。
【００６３】
【数４】
0004051697.tif 000005
【００６４】
演算部１２は、さらに必要に応じて、例えば、図５に示されるように、注目ブロックの４つの角の画素よりさらに内側の画素を、隣接するブロックの４つの角の画素の内側の所定の画素の値と置き換える処理を実行する。図５の例においては、注目ブロックの中央の２×２個の画素ｅ０乃至ｅ３は、上下左右に隣接するブロックの中央の２×２個の画素のいずれかに置換されている。
【００６５】
すなわち、注目ブロックの中央の２×２個の画素のうちの画素ｅ０は、上側に隣接するブロックの中央の２×２個の画素ｆ０乃至ｆ３のうちの、左下の画素ｆ２と置換される。その下側の画素ｅ２は、左側に隣接するブロックの中央の２×２個の画素ｇ０乃至ｇ３のうちの、右下の画素ｇ３と置換される。
【００６６】
同様に、画素ｅ１は、右側に隣接するブロックの中央の２×２個の画素ｈ０乃至ｈ３のうちの、左上の画素ｈ０と置換され、画素ｅ３は、下側に隣接するブロックの中央の２×２個の画素ｉ０乃至ｉ３のうちの、右上の画素ｉ１と置換される。
【００６７】
なお、演算部１２における補正演算処理としては、図４と図５に示される例の他、図４に示される画素ａ３の値を、次の式（５）または式（６）を満足するような値に補正してもよい。
【００６８】
ａ０−ａ１＝ａ２−ａ３  ．．．（５）
【００６９】
ａ０−ａ２＝ａ１−ａ３  ．．．（６）
【００７０】
この場合、同様に、画素ｂ２の値は、次の式（７）または式（８）が満足される値に補正される。
【００７１】
ｂ０−ｂ１＝ｂ２−ｂ３  ．．．（７）
【００７２】
ｂ０−ｂ２＝ｂ１−ｂ３  ．．．（８）
【００７３】
さらに、画素ｃ１は、次の式（９）または式（１０）を満足するように補正される。
【００７４】
ｃ０−ｃ１＝ｃ２−ｃ３  ．．．（９）
【００７５】
ｃ０−ｃ２＝ｃ１−ｃ３  ．．．（１０）
【００７６】
画素ｄ０は、次の式（１１）または式（１２）を満足するように補正される。
【００７７】
ｄ０−ｄ１＝ｄ２−ｄ３  ．．．（１１）
【００７８】
ｄ０−ｄ２＝ｄ１−ｄ３  ．．．（１２）
【００７９】
この他、さらにブロックの４個の角の画素だけでなく、各ブロックの辺を構成する画素の全て、または任意の画素について、入れ替える処理を行うようにしてもよい。
【００８０】
図５に示されるように、通常のブロック化の処理に比べて、距離がより遠い位置に位置する画素を集めてブロック化することで、ブロックが欠落した場合においても、復号時におけるエラーが分散されることになるので、エラーに基づき、視覚的に画像が劣化することが抑制される。また、欠落したブロックを推定することが容易となる。
【００８１】
各ブロックにおいて、補正する画素の数を増やせば、それだけ欠落したブロックの推定が容易となる。しかしながら、その数をあまり増やすと、ブロックが欠落した場合において、その欠落したブロックを構成する画素を推定することが容易となる反面、量子化歪みが大きくなる。そこで、この補正処理は、量子化歪みが顕著とならない程度に行うようにするのが好ましい。具体的には、各種の画像について、テストを行うことで、補正の数や方法を選択することができる。
【００８２】
このように、画素の値が隣接するブロックの画素の値と関係付けられるように補正された各ブロック毎の画像データは、ステップＳ３において、圧縮符号化部１３により圧縮符号化処理される。この圧縮符号化は、フレーム内符号化とされる。
【００８３】
図６は、この圧縮符号化処理の例としてのベクトル量子化（VQ)符号化処理を表している。
【００８４】
ステップＳ２１において、圧縮符号化部１３は、ステップＳ２の処理で、演算部１２より補正された画像データを、任意の大きさのブロックにブロック化する。このブロックは、ステップＳ１におけるブロックと対応するブロックとされる。例えば、図４または図５に示される例の場合、４×４個の画素データ毎にブロック化が行われる。
【００８５】
ステップＳ２２において、圧縮符号化部１３は、内蔵するメモリに予め記憶されているコードブックの第ｉ番目のベクトル量子化コードに対応する代表ベクトルＣを読み出す。そして、ステップＳ２３において、圧縮符号化部１３は、次式に基づいて、ステップＳ２１の処理でブロック化された注目ブロックの画素で構成されるベクトルＶの代表ベクトルＣとの距離Ｅを演算する。
【００８６】
【数５】
0004051697.tif 000006
【００８７】
なお、上記式において、Ｄは次元数を表し、ｍ×ｎに等しい。また、Ｎはコードブックに記録されているベクトル量子化コードの数に対応する。従って、一般的に、この値Ｎは、値Ｄより小さい。
【００８８】
ステップＳ２４において、圧縮符号化部１３は、変数ｉの値が値Ｎと等しいか否かを判定する。変数ｉの値が値Ｎと等しくない場合には、ステップＳ２５に進み、圧縮符号化部１３は、変数ｉの値を１だけインクリメントした後、ステップＳ２２の処理を再び実行する。これにより、コードブックに記録されている次のベクトル量子化コードに対応する代表ベクトルＣが読み出され、ステップＳ２３において、ベクトルＶのその代表ベクトルＣとの距離Ｅが演算される。
【００８９】
以上のステップＳ２２乃至ステップＳ２５の処理が、ステップＳ２４において、ｉ＝Ｎと判定するまで、繰り返し実行される。
【００９０】
ステップＳ２４において、変数ｉの値が値Ｎと等しいと判定された場合（ブロックの画素で構成されるベクトルＶの、コードブックに記録されているベクトル量子化コードに対応する全ての代表ベクトルＣとの距離Ｅの演算が終了したと判定された場合）、ステップＳ２６に進み、圧縮符号化部１３は、Ｎ個求められた距離Ｅｉ（ｉ＝０，１，２，．．．Ｎ−１）のうち、最小値を求める。そして、その最小の距離Ｅｉが対応するベクトル量子化コードｉの値を、ベクトル量子化コードの最適値として出力する。
【００９１】
図７は、以上のベクトル量子化の処理を模式的に表している。すなわち、図７の例においては、ｍ×ｎ（図４と図５の例の場合、ｍ＝ｎ＝４）次元のベクトル空間に対応して、９個（Ｎ＝９）の代表ベクトルがコードブックに記録されている。図７において、番号０乃至番号８がベクトル量子化コードの番号（図６のステップＳ２２，Ｓ２４，Ｓ２５のｉ）を表している。そして、図７の例の場合、４×４個の画素で構成されるブロックのベクトルＶ（図７においてＸ印で示される位置のベクトル）は、番号５のベクトル量子化コードで表される代表ベクトルとの距離が最も小さい。そこで、この例においては、番号５のベクトル量子化コードが出力される。
【００９２】
図２に戻って、以上のようにして、ステップＳ３において、圧縮符号化処理が行われた後、ステップＳ４において、圧縮復号部１７は、ステップＳ３の処理で圧縮符号化された画像データを復号する処理を行う。すなわち、圧縮復号部１７は、圧縮符号化部１３より供給されたベクトル量子化コードを、対応する代表ベクトルに変換し、演算器１８に出力する。
【００９３】
ステップＳ５において、演算器１８は、演算部１２より供給された、補正されたブロック単位の画素データから、圧縮復号部１７より供給された代表ベクトルを減算することで、予測差分を計算する処理を実行する。演算器１８より出力された差分信号は、バッファ１４に供給され、記憶される。
【００９４】
図８は、予測差分計算の例を表している。図８の例においては、４×４個の画素で構成される１つのブロックの画像データ（演算部１２により補正された画像データ）から、圧縮復号部１７より出力されるベクトル量子化コードに対応する４×４個の画素で構成される代表ベクトルの値が対応する位置同士で減算され、予測差分が生成される。例えば、ブロックの左上の画素の値９９から、左上の代表ベクトルの値９５が減算されて、その位置の画素の予測差分は４となる。その右隣の画素の値１００から、対応する位置の代表ベクトルの画素の値１０２が減算されて、予測差分は−２となる。
【００９５】
以上のようにして、予測差分の数４×４個となる。
【００９６】
従って、予測差分をベクトル量子化コードとともにそのまま伝送するようにすると、伝送情報量が大きくなってしまう。そこで、予測差分も圧縮して、伝送することができる。この場合、演算器１８は、例えば、次のような方法により、予測差分を圧縮する。
【００９７】
（１）各ブロックの４個の角の差分は、そのまま伝送し、その他の差分は、量子価値（例えば、平均値１個）を伝送する。
（２）４個の角の画素の差分は、そのまま伝送し、その他の差分は伝送しない。この場合、復号側では、４個の角以外の画素に関しては、予測差分に基づく復号処理は行わない。差分は、可逆の符号化を行って伝送される。
（３）各ブロックの４つの辺上に位置する画素の差分は、そのまま伝送し、その他の位置の差分は、量子化して伝送する。
（４）各ブロックの４つの辺上に位置する画素に関する差分だけを伝送し、その他の位置の差分は伝送しない。この場合、復号側では、各ブロックの４つの辺上に位置する画素に対する予測差分を用いた復号処理を行い、その他の位置の画素に対する予測差分に基づく復号処理は行わない。差分は、可逆の符号化を行って伝送する。
【００９８】
これらの可逆の符号化としては、例えば、DPCM(Differential Pulse Code Modulation)やハフマン符号などを用いた符号化をあげることができる。
【００９９】
図９は、所定の画像に対して、ベクトル量子化を行った場合における予測差分の分布の例を表している。この例においては、ブロックサイズは４×４とされ、各ブロックに対するベクトル量子化コードの数（Ｎ）の値は、１０２４とされている。従って、その圧縮率は、約７．８とされている。図９のヒストグラムより明かなように、予測差分は、その値が０である付近に集中している。従って、このグラフから効率よく圧縮することができることがわかる。
【０１００】
なお、図９において、縦軸は頻度を表し、横軸は予測差分を表している。
【０１０１】
図２に戻って、以上のようにして、ステップＳ５の処理で予測差分が計算された後、ステップＳ６において、シャフリング部１５は、シャフリング処理を実行する。
【０１０２】
すなわち、バッファ１４には、例えば、図１０の左側に示されるように、各ブロック毎に、ベクトル量子化コードと予測差分が対応して記憶されている。この同一のブロックのベクトル量子化コードと予測差分を、同一のパケットに収容して伝送するようにすると、そのパケットが伝送途中において欠落したような場合、そのブロックのベクトル量子化コードと予測差分の両方が消失してまうことになる。そこで、シャフリング部１５は、図１０の右側に示されるように、各ブロックのベクトル量子化コードと予測差分が異なるパケットに収容されるように、その組み合わせをシャフリングする。
【０１０３】
ステップＳ７において、パケット化部１６は、ステップＳ６の処理でシャフリングされたベクトル量子化コードと予測差分の１つの組み合わせが、１つのパケット内に収容されるように、各ブロック毎に、パケット化を行う。
【０１０４】
また、パケット化部１５は、図１１に示されるように、各パケットにヘッダ（またはトレーラ）を付加する。ヘッダ（またはトレーラ）には、パケットの送出先のアドレスと、パケットに収容されているデータ（ベクトル量子化コードと予測差分）の誤り検出のための誤り検出符号が収容されている。また、図示は省略されているが、ヘッダ（またはトレーラ）には、パケットのシリアル番号が記述されている。
【０１０５】
このように、データはパケットに区分され、伝送されるが、パケットは伝送単位であって、伝送路によっては、伝送単位はセルとされる。
【０１０６】
パケットは、インターネット、LAN, WANといった各種のネットワークを介して伝送されたり、あるいは所定の記録媒体に記録再生されることで伝送される。
【０１０７】
図１２は、以上のようにして、伝送路に伝送されたパケットを受信し、復号する動画像復号装置の構成例を表している。この動画像復号装置５０は、伝送路を介して伝送されてきたパケットをパケット欠落検出部５１に入力する。パケット欠落検出部５１は、パケットが入力されると、そのヘッダに記録されているシリアル番号から、パケットが欠落したか否かを判定するとともに、入力されたパケットをデパケット化し、デシャフリング部５２に供給する。また、パケット欠落検出部５１は、パケットの欠落が検出された場合、パケットが欠落されたことを、位置特定部５８に通知する。位置特定部５８は、パケット欠落検出部５１より検出されたパケットのシリアル番号の通知を受け、パケットの欠落が通知された場合には、その前後のパケットのシリアル番号から、欠落したパケットの位置を特定する。位置特定部５８は、また、欠落したデータが、ベクトル量子化コードと予測差分のうちのいずれかであるのかを検出する。
【０１０８】
デシャフリング部５２は、パケット欠落検出部５１より供給されたベクトル量子化コードと予測差分の組み合わせをデシャフリングし、バッファ５３に供給し、記憶させる。圧縮復号部５４は、バッファ５３より供給されたベクトル量子化コードを、対応する代表ベクトルに変換することで、復号処理を行う。
【０１０９】
演算器５５は、圧縮復号部５４より供給された代表ベクトルに、バッファ５３より供給された、対応するブロックの予測差分（差分信号）を加算し、元の画像データを復号する。演算器５５は、予測差分がDPCMやハフマン符号などを用いて圧縮符号化されている場合には、その復号処理を実行し、その復号された結果と、代表ベクトルとを加算する。バッファ５６は、演算器５５より供給された復号結果を記憶する。
【０１１０】
選択部５７は、バッファ５６より供給された画像データ、または欠落情報推定部６０より供給された画像データを選択し、出力する。
【０１１１】
周辺ブロック抽出部５９は、欠落したブロックの位置を特定する情報が位置特定部５８から供給された場合、その欠落したブロックの周辺のブロック（欠落したブロックの画素を推定するのに必要なブロック）を、バッファ５６に記憶されているブロックの中から抽出し、欠落情報推定部６０に供給する。周辺ブロック抽出部５９は、また、その抽出した周辺ブロックに対応する予測差分をバッファ５３から読み出し、欠落情報推定部６０に供給する。欠落情報推定部６０は、周辺ブロック抽出部５９より入力された情報から、欠落したブロックの画素を推定し、推定して得られた結果を選択部５７に出力する。
【０１１２】
例えば、マイクロコンピュータなどにより構成される制御部６１は、上述したパケット欠落検出部５１乃至欠落情報推定部６０の動作を制御する。
【０１１３】
制御部６１には、必要に応じて、インタフェース６２が接続され、インタフェース６２には、磁気ディスク７１、光ディスク７２、光磁気ディスク７３、または半導体メモリ７４が装着される。
【０１１４】
次に、図１３のフローチャートを参照して、図１２の動画像復号装置５０の画像復号処理について説明する。
【０１１５】
ステップＳ４１において、パケット欠落検出部５１は、欠落パケット検出処理を実行する。上述したように、パケットのヘッダには、パケット（ブロック）のシリアル番号が収容されており、パケット欠落検出部５１は、各パケットのシリアル番号を読み取ることで、この検出処理を実行する。
【０１１６】
ステップＳ４２において、パケット欠落検出部５１は、パケットが欠落しているか否か（シリアル番号が不連続になっているか否か）を判定する。パケットが欠落していない場合、ステップＳ４３において、デシャフリング部５２は、パケット欠落検出部５１よりデパケット化されて供給されるベクトル量子化コードと予測差分の組み合わせをデシャフリングする。
【０１１７】
図１４は、このデシャフリングの様子を表している。図１４の左側に示されているように、各パケットに収容されているベクトル量子化コードと予測差分は、異なるブロックの組となっている。この図１４の左側に示されているベクトル量子化コードと予測差分の組み合わせは、図１０の右側に示されているベクトル量子化コードと予測差分の組み合わせと同一である。デシャフリング部５２は、この組み合わせを、図１４の右側に示されるように、同一のブロックのベクトル量子化コードと予測差分が対応する組み合わせになるように、デシャフリングする。この図１４の右側に示されているベクトル量子化コードと予測差分の組み合わせは、図１０の左側に示されているベクトル量子化コードと予測差分の組み合わせと同一である。
【０１１８】
なお、図１４には、パケット４１が図示されているが、実際には、パケット欠落検出部５１により、デパケッタイズが行われており、パケットとしての構成は、既に分解されている。
【０１１９】
ステップＳ４４において、圧縮復号部５４は、圧縮復号処理を実行する。すなわち、デシャフリング部５２によりデシャフリングされたベクトル量子化コードと予測差分の組み合わせからなるデータは、バッファ５３に一旦記憶されるが、ベクトル量子化コードはそこから読み出されて、圧縮復号部５４に供給される。圧縮復号部５４は、入力されたベクトル量子化コードを、対応する代表ベクトルに変換して、圧縮復号処理を行い、演算器５５に出力する。演算器５５にはまた、バッファ５３より読み出された、対応するブロックの予測差分が入力される。演算器５５は、予測差分が圧縮符号化されている場合には、圧縮復号処理を行い、代表ベクトルに加算して、元の画像データを復号する。
【０１２０】
ステップＳ４５において、バッファ５６は、演算器５５より供給された復号された画像データを記憶する処理を実行する。
【０１２１】
以上のようにして、バッファ５６には、欠落していないパケットに含まれていたベクトル量子化コードと予測差分に基づいて復号された画像データが記憶される。
【０１２２】
ステップＳ４２において、パケットが欠落していると判定された場合、ステップＳ４６において、位置特定部５８は、欠落しているパケットの位置を特定する処理を実行する。具体的には、各ブロックのベクトル量子化コードは、各パケット毎に伝送されてくるので、パケットのシリアル番号が欠落している場合、その前後のシリアル番号を特定することで、欠落しているパケット（ブロック）が特定される。
【０１２３】
ステップＳ４７において、周辺ブロック抽出部５９は、ステップＳ４６の処理で、位置特定部５８により特定された欠落パケットのブロックの周辺のブロックをバッファ５６から抽出する。周辺ブロック抽出部５９は、抽出した周辺ブロックの画素データを、バッファ５３から読み出した、対応するブロックの予測差分とともに、欠落情報推定部６０に出力する。
【０１２４】
ステップＳ４８において、欠落情報推定部６０は、欠落したブロックの画素を推定する処理を実行する。
【０１２５】
以上の処理は、各ブロック毎に、１つのアクセスユニットについて、完了するまで繰り返し実行される。そして、１つのアクセスユニットについて、処理が完了したとき、次のアクセスユニットについての処理が実行される。
【０１２６】
図１５は、図１３におけるステップＳ４８の欠落情報推定処理の詳細を表している。
【０１２７】
ステップＳ６１において、欠落情報推定部６０は、欠落しているのがベクトル量子化コードであるのか否かを判定する。欠落しているのがベクトル量子化コードではないと判定された場合、パケットの欠落が既に検出されているので、欠落しているのは、ベクトル量子化コードではなく、予測差分であるということになる。この場合、ステップＳ６４に進み、欠落情報推定部６０は、ベクトル量子化コードを出力する処理を実行する。
【０１２８】
すなわち、予測差分が存在しないので、そのブロックの代表ベクトルには、演算器５５において、予測差分が付加されずに、そのままバッファ５６に供給され、記憶されている。欠落情報推定部６０は、バッファ５６に、このようにして記憶されているベクトル量子化コードに対応する代表ベクトルを、周辺ブロック抽出部５９を介して読み出し、これをそのまま選択部５７に出力する。
【０１２９】
ステップＳ６１において、欠落しているのがベクトル量子化コードであると判定された場合、ステップＳ６２において、欠落情報推定部６０は、さらに予測差分が欠落しているか否かを判定する。予測差分が欠落していない場合には、欠落しているのは、ベクトル量子化コードのみということになる。この場合、ステップＳ６５に進み、欠落情報推定部６０は、予測差分を利用してベクトル量子化コードを推定し、推定したベクトル量子化コードに対応する代表ベクトルを生成して、選択部５７に出力する。
【０１３０】
図１の動画像符号化装置１の演算部１２において、図４に示されるような補正演算処理が実行されている場合、図４の中央に示されているブロックが欠落しているとすると、欠落情報推定部６０は、このブロックの画素（ベクトル量子化コード）を推定することになる。このとき、図４に示されるように、補正処理が行われているので、そのブロックの左上の画素ａ３は、垂直方向に隣接するブロックの左下の画素ａ１、左方向に隣接するブロックの右上の画素ａ２、または斜め方向に隣接するブロックの右下の画素ａ０と同一の値（平均値）となっている。そこで、欠落情報推定部６０は、画素ａ０，ａ１，ａ２のいずれかの値を読み取り、画素ａ３の値を、読み取った値と同一の値に設定する。
【０１３１】
同様に、注目ブロック（欠落したブロック）の右上の画素ｂ２の値は、隣接するブロックの画素ｂ０，ｂ１，ｂ３のいずれかの値と同一の値に設定される。さらに、左下の画素ｃ１は、隣接するブロックの角の画素ｃ０，ｃ２，ｃ３のいずれかと同一の値に設定され、右下の画素ｄ０の値は、隣接するブロックの隣接する角の画素ｄ１，ｄ２，ｄ３のいずれかの値に等しい値に設定される。
【０１３２】
このように、符号化側で、画素ａ０乃至ａ３を、それらの平均値に設定しているので、画素ａ３が欠落していたとしても、画素ａ０，ａ１，ａ２から、画素ａ３を復元することができる。画素ｂ２も、画素ｂ０，ｂ１，ｂ３から復元することができ、画素ｃ１は、画素ｃ０，ｃ２，ｃ３から、画素ｄ０は、画素ｄ１，ｄ２，ｄ３から、それぞれ復元することができる。
【０１３３】
そして、この注目ブロックの予測差分は存在するため、欠落情報推定部６０は、４×４個の画素のうちの、画素の４個の角の画素の値ａ３，ｂ２，ｃ１，ｄ０に、対応する位置の予測差分を加算することで、元の画素の値を復元する。
【０１３４】
さらに、欠落情報推定部６０は、４×４個の画素のうち、４個の角の画素の値が、復元した値の画素に等しい代表ベクトルを、内蔵するブックコードの中から選択する。選択した代表ベクトルが１つである場合には、欠落情報推定部６０は、その代表ベクトルを欠落したブロックの代表ベクトルとして推定し、選択部５７に出力する。
【０１３５】
代表ベクトルが複数存在する場合には、欠落情報推定部６０は、その中のいずれか１つを選択し、欠落したブロックの代表ベクトルとする。
【０１３６】
複数の代表ベクトルの中から１つの代表ベクトルを選択する場合、欠落情報推定部６０は、４×４個の画素のうち、４個の角の画素以外の１２個の画素の値を、公知の補間処理方法（例えば、クラス分類適応処理、線形補間など）により予測し、その予測して得られた１２個の画素と、上述したようにして隣接する画素と同一の値として設定された４個の画素の合計１６個の画素で、１つのベクトルを構成する。さらに、欠落情報推定部６０は、そのベクトルと、コードブックに記憶されている代表ベクトルとの距離を演算し、距離が最も小さい（誤差が最も小さい）代表ベクトルを選択し、その代表ベクトルを欠落したブロックの代表ベクトルとして出力する。
【０１３７】
符号化側において、図４に示されるような補正処理を行わずとも、復号側において、ベクトル量子化コードを推定することは可能であるが、図４に示されるような補正処理を行った方が、より正確にベクトル量子化コードを推定することが可能となる。
【０１３８】
補正処理が図５に示されるように行われている場合においては、欠落情報推定部６０は、図５における画素ｅ０を画素ｆ２と等しい値に設定し、画素ｅ１を画素ｈ０に等しい値に設定し、画素ｅ２を画素ｇ３に等しい値に設定し、さらに画素ｅ３を画素ｉ１に等しい値に設定する。従って、この場合、４×４個の画素のうち、８個の画素が復元される。従って、図４に示される例の場合より、注目ブロック（欠落したブロック）のベクトル量子化コードを、より正確に推定することが可能となる。
【０１３９】
ステップＳ６２において、予測差分が欠落していると判定された場合、結局、ベクトル量子化コードと予測差分の両方が欠落しているということになる。そこで、この場合、ステップＳ６３において、欠落情報推定部６０は、予測差分を用いない点を除き、ステップＳ６５における場合と同様に、ベクトル量子化コードを推定し、対応する代表ベクトルを出力する。
【０１４０】
さらに、図１６乃至図２０を参照して、補正演算処理（対応付け処理）の他の例について説明する。
【０１４１】
図１６の例においては、注目ブロック８１の４個の角の画素１０１，１０３，１０６，１０８が、それぞれ斜め方向に隣接するブロック８２の画素１２１，ブロック８４の画素１４１，ブロック８７の画素１７１，またはブロック８９の画素１９１と入れ替えられる。さらに、注目ブロック８１の上辺を構成する画素のうち、左から３番目の画素１０２は、垂直方向に隣接するブロック８３の下辺を構成する画素のうち、左側から２番目の画素１３１と入れ替えられる。注目ブロック８１の左側の垂直方向の辺を構成する画素のうち、上から２番目の画素１０４は、左側に隣接するブロック８５の上から３番目の画素１５１と入れ替えられる。注目ブロック８１の右側の垂直方向の辺を構成する画素のうち、上から３番目の画素１０５は、水平方向に隣接するブロック８６の垂直方向の辺を構成する画素のうち、上から２番目の画素１６１と入れ替えられる。さらに注目ブロック８１の下辺を構成する画素のうち、左から２番目の画素１０７は、垂直方向に隣接するブロック８８の上辺を構成する画素のうち、左側から３番目の画素１８１と入れ替えられる。
【０１４２】
すなわち、図１６の例においては、注目ブロック８１の各辺を構成する画素のいずれかは、隣接するブロックの辺を構成する画素のいずれかと入れ替えれている。
【０１４３】
対応付けは、図１７に示されるように、異なるフレーム（またはフィールド）に基づいて、行うことも可能である。すなわち、図１７の例においては、フレームｎのブロック２１１の右上の画素２４１は、時間的に次のフレームｎ＋１の対応するブロック２２１の右上の画素２７１と同一の値に設定される。同様に、ブロック２１１の右下の画素２４２は、ブロック２２１の右下の画素２７２と同一の値に設定される。
【０１４４】
ブロック２１２の４つの角の画素２４３乃至２４６は、それぞれ対応するフレームｎ＋１のブロック２２２の４つの画素２７３乃至２７６と同一の値に設定される。ブロック２１３の左上の画素２４７と左下の画素２４８も同様に、フレームｎ＋１の対応するブロック２２３の左上の画素２７７または画素２７８と同一の値に設定される。
【０１４５】
このように、異なるアクセスユニット間において、画素の対応付けが行われる場合、図１８に示されるように、動きベクトルに基づいて、対応付けを行うことができる。図１８の例においては、フレームｎ＋１のブロック２２１は、フレームｎの動きベクトルｖ０に基づいて規定されるブロック３１１に対応し、ブロック２２２は、動きベクトルｖ１に基づいて規定されるブロック３１２に対応し、ブロック２２３は、動きベクトルｖ２に基づいて規定されるブロック３１３に対応する。このような場合、ブロック２２１の右上の画素２７１は、ブロック３１１の右上の画素３５１と同一の値に設定され、ブロック２２１の右下の画素２７２は、ブロック３１１の右下の画素３５２と同一の値に設定される。
【０１４６】
同様に、ブロック２２２の４個の角の画素２７３乃至２７６の値は、対応するブロック３１２の４個の角の画素３５３乃至３５６と同一の値にそれぞれ設定される。ブロック２２３の左上の画素２７４と左下の画素２７８も、対応するブロック３１３の左上の画素３５７と左下の画素３５８と同一の値に、それぞれ設定される。
【０１４７】
図１９は、異なるフレーム間の対応付けを行うとともに、同一のフレーム内において、隣接するブロックとの対応付けを行う例を示している。
【０１４８】
すなわち、図１９の例においては、図１７における場合と同様に、ブロック２１１の画素２４１，２４２が、ブロック２２１の画素２７１，２７２とそれぞれ同一の値に設定され、ブロック２１２の画素２４３乃至２４６が、ブロック２２２の画素２７３乃至２７６とそれぞれ同一の値に設定され、ブロック２１３の画素２４７，２４８が、ブロック２２３の画素２７７，２７８とそれぞれ同一の値に設定される。さらに、また、４×４個の画素のうち、内側の中央の２×２個の画素は、隣接するブロックの中央の２×２個の画素のいずれかと置き換えられる。
【０１４９】
例えば、ブロック２１５の中央の２×２個の画素のうち、左上の画素４３５は、左方向に隣接するブロック２１４の中央の２×２個の画素のうちの、右上の画素４３２と書き換えられ、右上の画素４３６は、上方向に隣接するブロック２１２の中央の２×２個の画素のうちの、右下の画素４１８と入れ替えられる。同様に、ブロック２１５の中央の２×２個の画素のうちの、左下の画素４３７は、下方向に隣接するブロック２１８の２×２個の画素のうち、左上の画素４５１と置換され、右下の画素４３８は、右方向に隣接するブロック２１６の２×２個の画素のうち、左下の画素４４１と置換される。
【０１５０】
図２０は、さらに、他の補正例を表している。この例においては、注目ブロック８１の上辺を構成する左側から３つの画素ａ５，ａ６，ａ７のほか、画素ａ５の左側に隣接するブロック８５の右上の画素ａ４と、それらに対して上方向に隣接するブロック８３の下辺の画素ｈ１，ｈ２，ｈ３と、画素ａ４の上方向に隣接するブロック８２の画素ａ０により、別のブロック５１１が構成されている。
【０１５１】
同様に、注目ブロック８１の右側の垂直方向の上から３つの画素ｂ５，ｂ６，ｂ７と、それらに対して右方向に隣接するブロック８６の左側の垂直方向の辺の画素ｂ１，ｂ２，ｂ３、並びに画素ｂ５の上方向に隣接するブロック１３の右下の画素ｂ４と、画素ｂ４に対して、右方向に隣接するブロック８４の画素ｂ０により、ブロック５１２が構成されている。
【０１５２】
注目ブロック８１の下辺を構成する画素ｃ０乃至ｃ２と、それらに隣接するブロック８８の上辺の画素ｃ４乃至ｃ６、並びに画素ｃ２の右側に隣接するブロック８６の画素ｃ３と、その下側に隣接するブロック８９の画素ｃ７により、ブロック５１３が構成されている。さらに、注目ブロック８１の左側の垂直方向の辺の画素ｄ４乃至ｄ６と、その左側に隣接するブロック８５の垂直方向の辺の画素ｄ０乃至ｄ２、並びに画素ｄ６の下側に隣接するブロック８８の画素ｄ７と、その左側に隣接するブロック８７の画素ｄ３により、ブロック５１４が構成されている。
【０１５３】
そして、例えば、ブロック５１１においては、それぞれ上下に対応する画素の１ビットADRC処理した結果が一致するように、画素の値が補正される。
【０１５４】
すなわち、画素ａ０を１ビットADRC処理した結果、得られた値が０（または１）であれば、対応する画素ａ４を１ビットADRC処理した結果が０（または１）となるように、画素ａ４が補正される。同様に、画素ａ１を１ビットADRC処理した結果、得られた値が０（または１）である場合には、画素ａ５を１ビットADRC処理した結果が０（または１）となるように、画素ａ５の値が補正される。さらに、画素ａ２を１ビットADRC処理した結果の値が０（または１）である場合には、対応する画素ａ６の値は、１ビットADRC処理した結果が０（または１）となるように補正される。画素ａ３を１ビットADRC処理した結果が０（または１）である場合には、画素ａ７は、１ビットADRC処理した結果が０（または１）となるように補正される。
【０１５５】
すなわち、以下の式が満足されるように、画素ａ４乃至ａ７が補正される。
【０１５６】
ａ０の１ビットADRC処理の結果＝ａ４の１ビットADRC処理の結果
ａ１の１ビットADRC処理の結果＝ａ５の１ビットADRC処理の結果
ａ２の１ビットADRC処理の結果＝ａ６の１ビットADRC処理の結果
ａ３の１ビットADRC処理の結果＝ａ７の１ビットADRC処理の結果
【０１５７】
同様のことがブロック５１２，５１３、および５１４においても行われる。
【０１５８】
すなわち、次式が満足されるような補正が行われる。
【０１５９】
ｂ０の１ビットADRC処理の結果＝ｂ４の１ビットADRC処理の結果
ｂ１の１ビットADRC処理の結果＝ｂ５の１ビットADRC処理の結果
ｂ２の１ビットADRC処理の結果＝ｂ６の１ビットADRC処理の結果
ｂ３の１ビットADRC処理の結果＝ｂ７の１ビットADRC処理の結果
【０１６０】
ｃ０の１ビットADRC処理の結果＝ｃ４の１ビットADRC処理の結果
ｃ１の１ビットADRC処理の結果＝ｃ５の１ビットADRC処理の結果
ｃ２の１ビットADRC処理の結果＝ｃ６の１ビットADRC処理の結果
ｃ３の１ビットADRC処理の結果＝ｃ７の１ビットADRC処理の結果
【０１６１】
ｄ０の１ビットADRC処理の結果＝ｄ４の１ビットADRC処理の結果
ｄ１の１ビットADRC処理の結果＝ｄ５の１ビットADRC処理の結果
ｄ２の１ビットADRC処理の結果＝ｄ６の１ビットADRC処理の結果
ｄ３の１ビットADRC処理の結果＝ｄ７の１ビットADRC処理の結果
【０１６２】
このような補正処理を行うことにより、復号側において、欠落したブロックの画素をより正確に推定することが可能となる。
【０１６３】
以上のように、フレーム内における符号化のみを行うようにしたので、複数フレームに渡って、エラーが伝搬するようなことが防止される。その結果、高品質の画像データを伝送し、復号することが可能となる。
【０１６４】
また、伝送エラー対策のための誤り訂正符号などの冗長なビットを付加する必要がないため、冗長ビットの増加に起因する画質劣化を抑制することが可能となる。
【０１６５】
さらに、画像の相関性を利用して、エラーによって欠落したパケットや、ビットが反転した伝送データを、自己回復することができるので、データを再送したり、誤り訂正などで高度に保護する必要がなくなる。また、再送がなくなる結果、再送による遅延が防げるため、ネットワークの輻輳なども回避することが可能となる。
【０１６６】
上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１６７】
この記録媒体は、図１と図１２に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク３１，７１（フロッピディスクを含む）、光ディスク３２，７２（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク３３，７３（ＭＤ（Mini-Disk）を含む）、もしくは半導体メモリ３４，７４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROMや、ハードディスクなどで構成される。
【０１６８】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１６９】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１７０】
【発明の効果】
以上の如く、本発明によれば、画像データを符号化し、伝送し、復号することができる。
【０１７１】
また、本発明によれば、伝送時におけるエラーの伝搬を防止することができる。その結果、高品質の画像データの授受が可能となる。
【０１７２】
さらに、本発明によれば、冗長ビットを付加する必要がなく、冗長ビットの増加に起因する画質劣化を抑制することができる。
【０１７３】
また、本発明によれば、欠落したデータを再送する必要がなくなり、リアルタイムでデータを授受することが可能となる。
【０１７４】
さらに、本発明によれば、画像データを再送する必要性や、誤り訂正などで高度に保護する必要がなくなる。その結果、符号化側あるいは復号側の構成を簡略化し、低コスト化することが可能となる。
【０１７５】
また、本発明によれば、再送により、伝送系が輻輳することを抑制することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用した動画像符号化装置の構成例を示すブロック図である。
【図２】図１の動画像符号装置の符号化処理を説明するフローチャートである。
【図３】図２のステップＳ１のブロック化処理を説明する図である。
【図４】図２のステップＳ２における演算処理の例を説明する図である。
【図５】図２のステップＳ２の演算処理の他の例を説明する図である。
【図６】図２のステップＳ３の圧縮符号化処理の例としてのベクトル量子化符号化処理を説明するフローチャートである。
【図７】ベクトル量子化を説明する図である。
【図８】図２のステップＳ５の予測差分計算処理を説明する図である。
【図９】予測差分のヒストグラムである。
【図１０】図２のステップＳ６のシャフリング処理を説明する図である。
【図１１】図２のステップＳ７のパケット化処理を説明する図である。
【図１２】本発明を適用した動画像復号装置の構成例を示すブロック図である。
【図１３】図１２の動画像復号装置の画像復号処理を説明するフローチャートである。
【図１４】図１３のステップＳ４３のデシャフリング処理を説明する図である。
【図１５】図１３のステップＳ４８の欠落情報推定処理を説明するフローチャートである。
【図１６】図２のステップＳ２における演算処理の他の例を示す図である。
【図１７】図２のステップＳ２における演算処理の他の例を示す図である。
【図１８】図２のステップＳ２における演算処理の他の例を示す図である。
【図１９】図２のステップＳ２における演算処理の他の例を示す図である。
【図２０】図２のステップＳ２における演算処理の他の例を示す図である。
【符号の説明】
１  動画像符号化装置，  １１  ブロック化部，  １２  演算部，  １３  圧縮符号化部，  １４  バッファ，  １５  シャフリング部，  １６  パケット化部，  １７  圧縮復号部，  １８  演算器，  ５１  パケット欠落検出部，  ５２  デシャフリング部，  ５３  バッファ，  ５４  圧縮復号部，  ５５  演算器，  ５６  バッファ，  ５７  選択部，  ５８  位置特定部，  ５９  周辺ブロック抽出部，  ６０  欠落情報推定部
【図１】
0004051697.tif 000007
【図２】
0004051697.tif 000008
【図３】
0004051697.tif 000009
【図４】
0004051697.tif 000010
【図５】
0004051697.tif 000011
【図６】
0004051697.tif 000012
【図７】
0004051697.tif 000013
【図８】
0004051697.tif 000014
【図９】
0004051697.tif 000015
【図１０】
0004051697.tif 000016
【図１１】
0004051697.tif 000017
【図１２】
0004051697.tif 000018
【図１３】
0004051697.tif 000019
【図１４】
0004051697.tif 000020
【図１５】
0004051697.tif 000021
【図１６】
0004051697.tif 000022
【図１７】
0004051697.tif 000023
【図１８】
0004051697.tif 000024
【図１９】
0004051697.tif 000025
【図２０】
0004051697.tif 000026