近年、音声,画像,その他の画素値を統合的に扱うマルチメディア時代を迎え、従来からの情報メディア,つまり新聞,雑誌,テレビ,ラジオ,電話等の情報を人に伝達する手段がマルチメディアの対象として取り上げられるようになってきた。一般に、マルチメディアとは、文字だけでなく、図形、音声、特に画像等を同時に関連づけて表すことをいうが、上記従来の情報メディアをマルチメディアの対象とするには、その情報をデジタル形式にして表すことが必須条件となる。
ところが、上記各情報メディアの持つ情報量をデジタル情報量として見積もってみると、文字の場合1文字当たりの情報量は1〜2バイトであるのに対し、音声の場合1秒当たり64Kbits(電話品質)、さらに動画については1秒当たり100Mbits(現行テレビ受信品質)以上の情報量が必要となり、上記情報メディアでその膨大な情報をデジタル形式でそのまま扱うことは現実的では無い。例えば、テレビ電話は、64Kbit/s〜1.5Mbit/sの伝送速度を持つサービス総合デジタル網(ISDN : Integrated Services Digital Network)によってすでに実用化されているが、テレビ・カメラの映像をそのままISDNで送ることは不可能である。
そこで、必要となってくるのが情報の圧縮技術であり、例えば、テレビ電話の場合、ITU-T(国際電気通信連合 電気通信標準化部門)で勧告されたH.261やH.263規格の動画圧縮技術が用いられている。また、MPEG-1規格の情報圧縮技術によると、通常の音楽用CD(コンパクト・ディスク)に音声情報とともに画像情報を入れることも可能となる。
ここで、MPEG(Moving Picture Experts Group)とは、ISO/IEC(国際標準化機構 国際電気標準会議)で標準化された動画像信号圧縮の国際規格であり、MPEG-1は、動画像信号を1.5Mbit/sまで、つまりテレビ信号の情報を約100分の1にまで圧縮する規格である。また、MPEG-1規格では対象とする品質を伝送速度が主として約1.5Mbit/sで実現できる程度の中程度の品質としたことから、さらなる高画質化の要求をみたすべく規格化されたMPEG-2では、動画像信号を2〜15Mbit/sでTV放送品質を実現する。さらに現状では、MPEG-1,MPEG-2と標準化を進めてきた作業グループ(ISO/IEC JTC1/SC29/WG11) によって、MPEG-1,MPEG-2を上回る圧縮率を達成し、更に物体単位で符号化・復号化・操作を可能とし、マルチメディア時代に必要な新しい機能を実現するMPEG-4が規格化された。MPEG-4では、当初、低ビットレートの符号化方法の標準化を目指して進められたが、現在はインタレース画像も含む高ビットレートも含む、より汎用的な符号化に拡張されている。更に、現在は、ISO/IECとITU-Tが共同でより高圧縮率の次世代画像符号化方式として、MPEG-4 AVCおよびITU H.264の標準化活動が規格化された。
一般に動画像の符号化では、時間方向および空間方向の冗長性を削減することによって情報量の圧縮を行う。そこで時間的な冗長性の削減を目的とする画面間予測符号化では、前方または後方のピクチャを参照してブロック単位で動きの検出および予測画像の作成を行い、得られた予測画像と符号化対象ピクチャとの差分値に対して符号化を行う。ここで、ピクチャとは1枚の画面を表す用語であり、プログレッシブ画像ではフレームを意味し、インタレース画像ではフレームもしくはフィールドを意味する。ここで、インタレース画像とは、1つのフレームが時刻の異なる2つのフィールドから構成される画像である。インタレース画像の符号化や復号化処理においては、1つのフレームをフレームのまま処理したり、2つのフィールドとして処理したり、フレーム内のブロック毎にフレーム構造またはフィールド構造として処理したりすることができる。
参照画像を持たず画面内予測符号化を行うものをIピクチャと呼ぶ。また、1枚のピクチャのみを参照し画面間予測符号化を行うものをPピクチャと呼ぶ。また、同時に2枚のピクチャを参照して画面間予測符号化を行うことのできるものをBピクチャと呼ぶ。Bピクチャは表示時間が前方もしくは後方から任意の組み合わせとして2枚のピクチャを参照することが可能である。参照画像(参照ピクチャ)は符号化および復号化の基本単位であるブロックごとに指定することができるが、符号化を行った符号化データ中に先に記述される方の参照ピクチャを第1参照ピクチャ、後に記述される方を第2参照ピクチャとして区別する。ただし、これらのピクチャを符号化および復号化する場合の条件として、参照するピクチャが既に符号化および復号化されている必要がある。
Pピクチャ又はBピクチャの符号化には、動き補償画面間予測符号化が用いられている。動き補償画面間予測符号化とは、画面間予測符号化に動き補償を適用した符号化方式である。動き補償とは、単純に参照ピクチャの画素値から予測するのではなく、ピクチャ内の各部の動き量(以下、これを動きベクトルと呼ぶ)を検出し、当該動き量を考慮した予測を行うことにより予測精度を向上すると共に、データ量を減らす方式である。例えば、符号化対象ピクチャの動きベクトルを検出し、その動きベクトルの分だけ参照ピクチャをシフトした予測値と符号化対象ピクチャとの予測残差を符号化することによりデータ量を減している。この方式の場合には、復号化の際に動きベクトルの情報が必要になるため、動きベクトルも符号化されて記録又は伝送される(例えば、特許文献1、特許文献2参照)。
図16は従来の画像復号化方法を用いる画像復号化装置の構成を示すブロック図である。
符号化データStrは可変長復号化部VLDで復号され、誤り情報err、動き情報mv、符号化モードmode、予測誤差coeffが出力される。誤り情報errは符号化データStrに含まれる各ブロックのエラーの有無を示す情報である。動き情報mvは画面間動き補償に必要な情報であり、動き量や画面間動き補償で参照する画像(ピクチャ)を示す情報を含んでいる。符号化モードmodeは、ブロックが画面内符号化されているか、画面間符号化されているかを示す情報である。予測誤差coeffは、画面内もしくは画面間における予測誤差を符号化したものであり、予測誤差の大きさを示す情報である。
逆量子化部IQは予測誤差coeffを逆量子化して逆直交変換部ITに出力し、逆直交変換部ITはそれを逆直交変換して加算部Addに出力する。
画面間符号化の場合には、動き補償部MCがピクチャメモリPMから出力される参照画像の画素値を動き情報mvで示す情報に基づいて動き補償し、スイッチSel1に出力する。
画面内符号化の場合には、面内予測部IPが加算部Addの出力を画面内予測し、スイッチSel1に出力する。
スイッチSel1は、符号化モードmodeが画面内符号化を示す場合は面内予測部IPの出力を選択し、符号化モードmodeが画面間符号化を示す場合は動き補償部MCの出力を選択して出力する。
加算部Addは逆直交変換部ITの出力とスイッチSel1の出力を加算する。加算部Addの出力はデブロッキング・フィルタを適用する前の復号画素値であり、面内予測部IPの画面内予測の参照画素値として使用される。
デブロッキング・フィルタDBFは、動き情報mv、符号化モードmode、予測誤差coeffを参照し、加算部Addの出力にデブロッキング・フィルタを適用してブロック歪みを除去し、復号画像Voutを生成する。
誤り情報errによって当該ブロックにエラーがないことが示される場合は復号画像VoutがそのままピクチャメモリPMに格納される。誤り情報errによって当該ブロックにエラーがあることが示された場合は、ピクチャメモリPMに格納された復号画像から誤り修整部ECによって生成された誤り修整画素ブロックを、当該ブロックの復号画素値の代わりとしてピクチャメモリPMに格納する。
ピクチャメモリPMの出力は、次のピクチャの復号を行う際に、動き補償部MCの参照画素値として使用される。
図17はデブロッキング・フィルタを選択する方法の例である。フィルタの種類は、フィルタ0からフィルタ3までの4通りあり、フィルタ0が最も平滑度が高く、フィルタ1、フィルタ2、フィルタ3の順に平滑度が低くなる。
すなわち、画面内符号化の場合は画面間符号化の場合よりもブロック歪みが目立ちやすいため、ブロック境界部において少なくとも一方のブロックが画面内符号化されている場合は、平滑度が高いフィルタ0を適用する。次に、画面間予測誤差があるブロックは、画面間予測誤差がないブロックよりもブロック歪みが目立ちやすいため、少なくとも一方のブロックの画面間予測誤差がある(すなわち、符号化データに当該ブロックの係数が符号化されている)場合は、やや平滑度が高いフィルタ1を適用する。さらに、動き情報mv(動きベクトルなど)が隣接する2つのブロックで異なっていればブロック歪みが目立つためやや平滑度が低いフィルタ2を適用し、動き情報mvが隣接する2つのブロックで同じであれば最も平滑度の低いフィルタ3を適用する。なお、フィルタ3には、デブロッキング・フィルタを適用しない場合も含むものとする。
以上のようにして、ブロック歪みの目立ちやすさに応じ、フィルタ0、フィルタ1、フィルタ2、フィルタ3を切り替えることができる。
図18は従来の画像符号化方法で使用するデブロッキング・フィルタのフローチャートであり、図17のデブロッキング・フィルタを選択する方法の例の実現方法を示す。
Step10では、連続する2つのブロックにつき、少なくとも一方のブロックが画面内符号化か否かを判断し(符号化モードmodeの情報を利用)、少なくとも一方のブロックが画面内符号化であればStep15でフィルタ0を用いたデブロッキング・フィルタ処理を行って終了する。両方のブロックが画面間符号化であれば、Step11の判定を実施する。
Step11では、少なくとも一方のブロックの係数が符号化されているか否かを判断し(予測誤差coeffの情報を利用)、少なくとも一方のブロックの係数が符号化されていればStep16でフィルタ1を用いたデブロッキング・フィルタ処理を行って終了する。両方のブロックの係数が符号化されていなければ、Step12の判定を実施する。
Step12では、両ブロックの動き情報が異なるか否かを判断し(動き情報mvの情報を利用)、動き情報が異なれば、Step17でフィルタ2を用いたデブロッキング・フィルタ処理を行って終了する。そうでなければ(動き情報が一致すれば)、Step18でフィルタ3を用いたデブロッキング・フィルタ処理を行って終了する。
図19はエラーが検出されたブロックの画素値を修整するためのエラー修整の一例を示す説明図である。復号している対象画面で、エラーによって正しく復号できないブロック171の画素値は、画面間予測で参照する、参照画面の同じ空間位置のブロック172の画素値で置換する。このように、エラーが発生したブロックの画素値を、この例の置換などを用いて生成することをエラー修整と呼ぶ。
図20は従来の画像復号化方法を用いる他の画像復号化装置の構成を示すブロック図である。図20の従来の画像復号化装置のブロック図で、図16の従来の画像復号化装置のブロック図と同じ動作をする処理部は、同じ番号を付し、説明を省略する。
図16では、可変長復号化部VLDにて、符号化データStrから誤り情報errを検出した。しかしながら、アプリケーションの種類や機器の実装方法によっては、符号化データStrでなく、符号化データStrを受信する機器から誤り情報errを取得できる場合がある。この場合には、図20に示すように、誤り情報errが外部から与えられる。
特開平5−153574号公報
特開平6−189284号公報
以下、本発明の実施の形態について、図1から図15を用いて説明する。
(実施の形態1)
図1は本発明の実施の形態1に係る画像復号化方法を用いる画像復号化装置の構成を示すブロック図である。図1の本発明の画像復号化方法を用いる画像復号化装置のブロック図と、図16の従来の画像復号化装置のブロック図との違いは、図1のデブロッキング・フィルタDBFには、予測誤差coeff、符号化モードmode、動き情報mvに加え、誤り情報errが入力されることである。
画像復号化装置は、符号化データStrに含まれる各ブロックのエラーを検出して、検出されたエラーの有無に応じて、ブロック間の境界歪みを平滑化するデブロッキング・フィルタDBFの平滑度を切り替え、またはフィルタリングするかしないかを決定する画像復号化装置であって、図1に示すように可変長復号化部VLD、逆量子化部IQ、逆直交変換部IT、動き補償部MC、面内予測部IP、誤り修整部EC、加算部Add、デブロッキング・フィルタDBF、ピクチャメモリPM、スイッチSel1、およびスイッチSel2を備えている。
符号化データStrは可変長復号化部VLDで復号され、誤り情報err、動き情報mv、符号化モードmode、予測誤差coeffが出力される。可変長復号化部VLDは、符号化データに含まれるエラーの有無をブロックごとに検出するエラー検出ステップを実行する手段の一例であり、例えば、所定のシンタックスに適合するデータがこない場合に、符号化データStrにエラーが含まれていると判断し、誤り情報errを出力する。より具体的には、あらかじめ定められた順に所定数および所定の値の範囲のデータが得られない場合、または、符号化データStr中の所定の位置またはタイミングで、あらかじめ定められた「0」「1」のパターンが得られない場合などに符号化データStrにエラーが含まれていると判断する。例えば、符号化データStrがIPパケットなどにより伝送される場合には、各IPパケットにスライス単位もしくはスライスを複数に分割した符号化データが格納される。可変長復号化部VLDは、あるIPパケットが欠落するようなエラーが生じた場合、欠落したIPパケットのパケット番号に基づいて欠落したスライスを特定し、当該スライスの全てもしくは当該スライスの一部に含まれるブロックにエラーが含まれると判断する。誤り情報errは符号化データStrに含まれる各ブロックのエラーの有無を示す情報である。動き情報mvは画面間動き補償に必要な情報であり、動き量や画面間動き補償で参照する画像(ピクチャ)を示す情報を含んでいる。符号化モードmodeは、ブロックが画面内符号化されているか、画面間符号化されているかを示す情報である。予測誤差coeffは、画面内もしくは画面間における予測誤差を符号化したものであり、予測誤差の大きさを示す情報である。
逆量子化部IQは予測誤差coeffを逆量子化して逆直交変換部ITに出力し、逆直交変換部ITはそれを逆直交変換して加算部Addに出力する。
動き補償部MCは、画像内のすべてのブロック境界について、前記決定ステップでの決定に従ったフィルタリングが適用された画像を参照画像として用い、前記符号化データ中の画面間予測符号化されたブロックを復号化する復号化ステップを実行する手段の一例である。画面間符号化の場合には、動き補償部MCがピクチャメモリPMから出力される参照画像の画素値を動き情報mvで示す情報に基づいて動き補償し、スイッチSel1に出力する。このとき、ピクチャメモリPMから出力される参照画像には、デブロッキング・フィルタDBFが適用されている。
画面内符号化の場合には、面内予測部IPが加算部Addの出力を画面内予測し、スイッチSel1に出力する。
スイッチSel1は、符号化モードmodeが画面内符号化を示す場合は面内予測部IPの出力を選択し、符号化モードmodeが画面間符号化を示す場合は動き補償部MCの出力を選択して出力する。
加算部Addは、逆直交変換部ITの出力とスイッチSel1の出力を加算する。加算部Addの出力はデブロッキング・フィルタを適用する前の復号画素値であり、面内予測部IPの参照画素値として使用される。
誤り修整部ECは、エラーが検出された前記ブロックを、動き量0で画面間符号化されたブロックとみなし、参照画像内で前記ブロックと同位置にあるブロックの各画素の画素値を用いて、エラーが検出された前記ブロック内で同位置にある各画素の画素値を置き換える誤り修整ステップを実行する手段の一例である。誤り修整部ECは、誤り情報errによって当該ブロックにエラーがあることが示された場合は、図19に示したように、ピクチャメモリPMに格納されている復号画像から生成された誤り修整画素ブロックを、当該ブロックの復号画素値の代わりとして出力する。
デブロッキング・フィルタDBFは、動き情報mv、符号化モードmode、予測誤差coeffを参照し、加算部Addの出力にデブロッキング・フィルタを適用してブロック歪みを除去し、復号画像Voutを生成する。生成された復号画像Voutは、表示のため外部に出力されるとともに、参照画像として用いられるためスイッチSel2を介してピクチャメモリPMに格納される。さらに詳細には、デブロッキング・フィルタDBFは、各ブロックについてエラーが検出されたか否かに応じて、当該ブロックと隣接するブロックとの境界に対し、平滑度の異なる複数のデブロッキング・フィルタのいずれを用いてフィルタリングするか、およびフィルタリングするかしないかを決定する決定ステップを実行する手段の一例であり、誤り情報errを用いて、エラーが発生して誤り修整部ECで修整されたブロックについても、適切な平滑度のデブロッキング・フィルタを選択してブロック歪みを除去する。なお、説明を簡単にするために、フィルタリングしない場合も、フィルタリングの1つとして説明する。具体的には、デブロッキング・フィルタDBFの平滑度の高さは、フィルタのタップの数によって決まる。また、デブロッキング・フィルタDBFがアダプタブルフィルタの場合は平滑度の高さはフィルタリングの閾値の大きさによって決まる。フィルタのタップ数が多いほどフィルタの平滑度は高くなり、また、フィルタリングの閾値が小さくなるほど平滑度が高くなる。
図2(a)は、デブロッキング・フィルタDBFが適用されるブロック境界の一例を示す図である。同図において、斜線で示す部分はエラーが発生したために誤り修整部ECで修整されたブロックである。同図では、ブロック201は2つのブロック境界(太線で示す部分)で、エラーが発生したブロックと接している。また、ブロック202では、1つのブロック境界(太線で示す部分)で、エラーが発生したブロックと接している。このような場合、ブロック201では、太線部の2つのブロック境界に対してエラー修整用のデブロッキング・フィルタDBFが適用され、ブロック202では、太線部の1つのブロック境界に対してエラー修整用のデブロッキング・フィルタDBFが適用される。
図2(b)は、デブロッキング・フィルタDBFがアダプタブルフィルタである場合の動作の一例を示す図である。同図において縦軸は画素値(例えば、輝度)の大きさを示し、横軸は画素間の位置を示す。また、画素Aと画素Cの間にブロックの境界がある。
まず、境界の両側に位置する画素Aと画素Cの画素値の差を閾値TH1と比較する。画素値の差がTH1以上の場合には、本来の画像にエッジがあるものとしてデブロッキング・フィルタDBFを適用しない。画素値の差がTH1未満の場合には、符号化歪みによって発生した画素値の差であるとし、デブロッキング・フィルタDBFを適用する。
次に、ブロック内の画素である画素Aと画素B、および画素Cと画素Dの差を閾値TH2と比較する。ブロック内の画素値にはブロック歪みが含まれていないはずであるが、画素Aと画素Cの間でデブロッキング・フィルタDBFを適用すれば画素Aと画素Cの画素値がデブロッキング・フィルタ処理で変化する。その影響によって、ブロック内の画素である画素Aと画素B、および画素Cと画素Dの画素値の差も変化する。そこで、ブロック内の画素である画素Aと画素B、および画素Cと画素Dの画素値の差が小さい場合にはブロック内にエッジが無いものと判断し、画素Aと画素Cの間でデブロッキング・フィルタDBFを適用する。逆に、画素Aと画素B、および画素Cと画素Dの画素値の差が大きい場合には、画素Aと画素Cの間でデブロッキング・フィルタDBFを適用することで、ブロック内のエッジが除去される可能性があるため、画素Aと画素Cの間でデブロッキング・フィルタDBFを適用しないか、もしくは弱めのデブロッキング・フィルタDBFを適用する。
例えば、同図では、画素Aの画素値と画素Cの画素値との差が、閾値TH1を超えているので、画素Aと画素Cとの間に本来の画像にエッジがあるものとしてデブロッキング・フィルタDBFは適用されない。もし、画素Aの画素値と画素Cの画素値との差が閾値TH1未満だとすると、画素Aと画素B、および画素Cと画素Dの画素値の差が閾値TH2未満なのでブロック境界にデブロッキング・フィルタDBFが適用される。
このように、アダプタブルフィルタでは、閾値によってデブロッキング・フィルタの適用・非適用を切替えることができるので、閾値を切替えることでデブロッキング・フィルタDBFの強度(適用のされやすさ)を切替えることができる。
以下、誤り情報errを利用した具体的なデブロッキング・フィルタの選択方法の例を、選択方法1、選択方法2、選択方法3、および選択方法4で説明する。
(選択方法1)
図3は本発明の画像復号化方法において選択方法1の手順でデブロッキング・フィルタを行う場合のフローチャートである。図3に示した選択方法1でデブロッキング・フィルタを行う場合のフローチャートと、図18に示した従来の画像符号化方法でデブロッキング・フィルタを行う場合のフローチャートとで同じ動作をするステップは同じステップ番号を付し、説明を省略する。
デブロッキング・フィルタDBFは、エラーが検出されたブロックと前記ブロックに隣接するブロックとについて、前記両ブロック間の境界に対し、前記複数のデブロッキング・フィルタの中で、最も平滑度の高いデブロッキング・フィルタを用いてフィルタリングすることを決定する前記決定ステップを実行する手段の一例である。
Step20で、隣接する2つのブロックについて少なくとも一方のブロックにエラーがあって修整されたブロックであるか否かを判定する。エラーがあった場合(Step20で、はい)には、Step25にてフィルタ4を用いたデブロッキング・フィルタを行って終了する。フィルタ4はエラーのため修整されたブロック専用のデブロッキング・フィルタである。両方のブロックにエラーがなければ(Step20で、いいえ)、Step10に進み、以降の処理は図18の従来の画像符号化方法で使用するデブロッキング・フィルタのフローチャートと同じである。
以上のようにして、エラーが発生し修整されたブロックは、修整されたブロックに適したデブロッキング・フィルタ処理が実施でき、エラーが発生したブロックのブロック歪みを効率よく除去することができる。
なお、フィルタ4を新たに設けるのではなく、平滑度が一番高いフィルタ0をフィルタ4の代わりに使用してもよい。
(選択方法2)
図4は本発明の画像復号化方法において選択方法2の手順でデブロッキング・フィルタを行う場合のフローチャートである。図4に示した選択方法2でデブロッキング・フィルタを行う場合のフローチャートと、図3に示した選択方法1でデブロッキング・フィルタを行う場合のフローチャートとで同じ動作をするステップには同じ記号を付し、説明を省略する。
デブロッキング・フィルタDBFは、エラーが検出された前記ブロックに隣接する前記ブロックについてもエラーが検出された場合、前記両ブロック間の境界にはフィルタリングしないことを決定する前記決定ステップを実行する手段の一例である。すなわち、Step30では隣接する2つのブロックについて、両方のブロックにエラーがあって修整されたブロックであるか否かを判定する。両方にエラーがあった場合には、両ブロックが図19のエラー修整の説明図に示すような方法で参照画像を用いた修整が行われている。両ブロックの境界については、参照画面を復号した際に既にデブロッキング・フィルタ処理が行われているため、再度デブロッキング・フィルタ処理を行う必要がない。そこで、両ブロックにエラーがあった場合(Step30で、はい)は、デブロッキング・フィルタ処理を行わずに終了する。それ以外の場合(Step30で、いいえ)には、Step31に進む。
Step31は、一方のブロックにエラーがあって修整されたブロックであるか否かを判定する。エラーがあった場合(Step31で、はい)には、Step25にてフィルタ4を用いたデブロッキング・フィルタを行って終了する。フィルタ4はエラーのため修整されたブロック専用のデブロッキング・フィルタである。両方のブロックのいずれにもエラーがなければ(Step31で、いいえ)、Step10に進み、以降の処理は図3に示した本発明の画像復号化方法でデブロッキング・フィルタを行う場合のフローチャートと同じである。
以上のようにして、両方のブロックにエラーがある場合はデブロッキング・フィルタ処理が行われないようにし、既に参照画像を復号化した時点でデブロッキング・フィルタ処理された画素値を、再度デブロッキング・フィルタ処理することで必要以上にブロック境界をぼかすことを防ぐことができる。
なお、フィルタ4を新たに設けるのではなく、平滑度が一番高いフィルタ0をフィルタ4の代わりに使用してもよい。
(選択方法3)
図5は本発明の画像復号化方法において選択方法3の手順でデブロッキング・フィルタを行う場合のフローチャートである。図5に示した選択方法3でデブロッキング・フィルタを行う場合のフローチャートと、図3に示した選択方法1でデブロッキング・フィルタを行う場合のフローチャートとで同じ動作をするステップは同じ記号を付し、説明を省略する。
Step31では、隣接する2つのブロックについて、一方のブロックにエラーがあって修整されたブロックであるか否かを判定する。エラーがあった場合(Step31で、はい)には、図19のエラー修整の説明図に示すような方法で参照画像を用いた修整が行われている。エラー修整は、エラーのあったブロックの画素を、参照画像の同じ空間位置のブロックの画素値で置換するため、動きベクトル0で画素値の残差を表す係数が符号化されていない画面間符号化のブロックの復号化と同じ復号処理とみなすことができる。デブロッキング・フィルタDBFは、前記誤り修整ステップで画素値が置き換えられた前記ブロックにつき、動き量0で画面間符号化されたブロックとして処理できるような付加情報を付加もしくは付加情報を変更する情報付加ステップと、前記付加情報が付加されているブロックについては、エラーが検出されなかったブロックと同じ方法でフィルタリングするかしないか及び使用するデブロッキング・フィルタを決定する前記決定ステップとを実行する手段の一例である。したがって、エラーのあるブロックは、Step41にて、そのブロックが動きベクトル0で画素値の残差を表す係数が符号化されていない画面間符号化であるとみなす処理、例えば、エラーのあるブロックに、動きベクトル0で画素値の残差を表す係数が符号化されていない画面間符号化ブロックであることを示すフラグを付加するなどの処理を行い、Step10に進む。両方のブロックにエラーがなければ(Step31で、いいえ)、Step10に進む。Step10以降の処理では各ブロックについて、さらに、動きベクトル0で画素値の残差を表す係数が符号化されていない画面間符号化ブロックであることを示すフラグを確認した上で分岐を判断し、デブロッキング処理を選択する点が異なる。それ以外は図3に示した本発明の画像復号化方法においてデブロッキング・フィルタを行う場合のフローチャートと同じである。
以上の処理により、エラーが発生した場合も、従来のエラーを考慮しないデブロッキング・フィルタ処理と殆ど同じ処理を用い、隣接するエラーのないブロックの情報を用いて適切なデブロッキング・フィルタ処理を行ってブロック歪みを効率よく除去することができる。
(選択方法4)
図6は本発明の画像復号化方法において選択方法4でデブロッキング・フィルタを行う場合のフローチャートである。図6に示した選択方法4でデブロッキング・フィルタを行う場合のフローチャートと、図5に示した選択方法3でデブロッキング・フィルタを行う場合のフローチャートとで同じ動作をするステップには同じ記号を付し、説明を省略する。
Step51では、隣接する2つのブロックについて、エラーがあって修整されたブロックであるか否かを判定する。エラーがあった場合(Step51で、はい)には、図19のエラー修整の説明図に示すような方法で参照画像を用いた修整が行われている。エラー修整は、エラーのあったブロックの画素を、参照画像の同じ空間位置のブロックの画素値で置換するため、動きベクトル0で画素値の残差を表す係数が符号化されていない画面間符号化のブロックの復号化と同じ復号処理とみなすことができる。したがって、エラーのあるブロックは、Step41にて、そのブロックが動きベクトル0で画素値の残差を表す係数が符号化されていない画面間符号化であるとみなす処理、例えば、エラーのあるブロックにフラグを付加するなどの処理を行い、Step10に進む。
Step51で両方のブロックにエラーがなければ(Step51で、いいえ)、Step10に進む。
両方のブロックにエラーがある場合は、両方のブロックが、動きベクトル0で係数が符号化されていない画面間符号化とみなされることになる。その結果、Step10以降では、Step11、Step12と進み、Step18で最も平滑度が低いフィルタ3でデブロッキング・フィルタ処理が行われる。
その他の処理は図5に示した本発明の画像復号化方法におけるデブロッキング・フィルタを行う場合のフローチャートと同じである。
以上の処理により、エラーが一方のブロックであるか、両方のブロックであるかに関わらず、エラーのブロックをStep41で処理した後はエラーがない場合と全く同じ構成にし、選択方法3とほぼ同じ効果をより簡単化した処理で実現することができる。
(実施の形態2)
図7は本発明の実施の形態2に係る画像復号化方法を用いる画像復号化装置の構成を示すブロック図である。図7の本発明の画像復号化装置のブロック図と、図1の本発明の画像復号化装置のブロック図で同じ動作をする処理部には同じ記号を付し、説明を省略する。
実施の形態1において図1の画像復号化装置では、可変長復号化部VLDにて、符号化データStrから誤り情報errを検出した。しかしながら、アプリケーションの種類や機器の実装方法によっては、符号化データStrでなく、符号化データStrを受信する機器から誤り情報errを取得できる場合がある。この場合には、図7に示すように、誤り情報errが外部から与えられる。
図8は、インターネットなどの伝送路を介して符号化データを送受信する送信側装置と受信側装置との関係を示す図である。同図に示すように、送信側装置は内部に画像符号化装置であるVEnc1301、A/V多重部1302及び変調部1303を備えている。VEnc1301は動画像を符号化し、画像の符号化ストリームを次段のA/V多重部1302に出力する。A/V多重部1302ではVEnc1301から入力される画像符号化ストリームと、別途入力されるオーディオ符号化ストリームとを多重化する。さらに、A/V多重部1302は、多重化された符号化ストリームに伝送メディアには依存しない誤り訂正符号FECを必要に応じて付加して、変調部1303に出力する。変調部1303はA/V多重部1302から入力された多重化符号化ストリームを、アナログ伝送用に変調する。このとき、変調部1303では、それぞれの伝送路(例えば、放送またはインターネットなど)に適した誤り訂正符号FECを必要に応じて付加し、アナログ伝送路に送出する。
このように伝送路に送出された多重化符号化ストリームを、受信側装置が受信する。なお、受信側装置は復調部1304、A/V分離部1305及び最終段に本発明の画像復号化装置であるVDec1306を備えている。ここで、復調部1304及びA/V分離部1305は、伝送エラーが生じた前記IPパケットの符号化データ中の位置を検出するエラー位置検出手段の一例である。伝送路を介して受信側装置で受信された多重化符号化ストリームは、まず、復調部1304で復調される。このとき、伝送路上で生じたエラーは、復調部1304で誤り訂正符号FECに基づいて誤り訂正が行われる。誤り訂正でエラーが正しく訂正できる場合には、誤りが発生したストリーム位置を通知しない。一方、誤り訂正で訂正できない場合には、復調部1304では電界強度が所定の閾値よりも低くなったとき、伝送エラーが生じていると判断するなど等により、誤りが発生したストリーム位置が通知される。復調部1304で復調された多重化符号化ストリームはA/V分離部1305に入力され、A/V分離部1305で画像符号化ストリームとオーディオ符号化ストリームとに分離される。さらに、A/V分離部1305においても、分離されたそれぞれの符号化ストリームは、誤り訂正符号FECに基づいて誤り訂正される。誤り訂正でエラーが正しく訂正できる場合には、誤りが発生したストリーム位置を通知しない。一方、誤り訂正で訂正できない場合には、A/V分離部1305ではパケットと呼ばれる伝送単位のヘッダに含まれるパケットの通し番号の不連続を検出したとき、伝送エラーが生じていると判断するなど等により、誤りが発生したストリーム位置が通知される。分離されたオーディオ符号化ストリームは、図示しないオーディオ復号化装置に出力される。VDec1306は、各ブロックが前記符号化データ中において前記エラー位置にあるか否かに応じて、当該ブロックと隣接するブロックとの境界に対し、平滑度の異なる複数のデブロッキング・フィルタのいずれを用いてフィルタリングするか、およびフィルタリングするかしないかを決定する決定手段を備える画像復号化装置の一例である。他方、分離された画像符号化ストリームは、符号化データStrとして画像復号化装置であるVDec1306に入力され、復号化される。この際に、復調部1304及びA/V分離部1305で誤り訂正符号FECを用いても訂正できなかった符号化データStr中の位置が、誤り情報errとしてVDec1306に通知される。
なお、この場合、誤り情報errで通知されるエラーの位置は符号化ストリーム中の位置で示されているので、どのブロックにエラーが含まれているかはVDec1306の内部で復号化が行われる過程で特定される。図7では誤り情報errが直接デブロッキング・フィルタDBFに入力されている例を示しているが、可変長復号化部VLDに入力されるとしてもよい。後出の図10についても同様である。
以上の構成により、誤り情報errが外部から与えられた場合も、図1の実施の形態1と同様に、エラーが発生して誤り修整部ECで修整されたブロックについても、適切なデブロッキング・フィルタを選択してブロック歪みを除去することができる。
(実施の形態3)
図9は本発明の実施の形態3に係る画像復号化方法を用いる画像復号化装置の構成を示すブロック図である。図9に示した本発明の画像復号化装置のブロック図と、図1に示した本発明の画像復号化装置のブロック図とで同じ動作をする処理部は同じ記号を付し、説明を省略する。
図1の実施の形態1、および図7の実施の形態2では、デブロッキング・フィルタDBFで処理した結果をピクチャメモリPMに格納し、動き補償部MCや誤り修整部ECで参照画像として使用する画像復号装置について説明した。これは、デブロッキング・フィルタDBFの結果が画面間予測に使われることから、ループ内フィルタとも呼ばれている。
しかしながら、デブロッキング・フィルタの切り替えに誤り情報errを用いるという本発明の特徴は、デブロッキング・フィルタDBFで処理した結果を復号画像Voutとするが、ピクチャメモリPMにはデブロッキング・フィルタDBF処理前の画像を格納する場合にも適用できる。これは、デブロッキング・フィルタDBFの結果が画面間予測に使われないことから、ポスト・フィルタとも呼ばれている。
以上の構成により、デブロッキング・フィルタDBFの結果が画面間予測に使われない画像復号化で、エラーが発生して誤り修整部ECで修整されたブロックについても、適切なデブロッキング・フィルタを選択してブロック歪みを除去することができる。
(実施の形態4)
図10は本発明の実施の形態4に係る画像復号化方法を用いる画像復号化装置の構成を示すブロック図である。図10に示した本発明の画像復号化装置のブロック図と、図9に示した本発明の画像復号化装置のブロック図とで同じ動作をする処理部は同じ記号を付し、説明を省略する。
図9に示した画像復号化装置では、可変長復号化部VLDにて、符号化データStrから誤り情報errを検出した。しかしながら、アプリケーションの種類や機器の実装方法によっては、符号化データStrから検出するのでなく、符号化データStrを受信する外部の機器または処理部(受信部など)から誤り情報errを取得できる場合がある。この場合には、図10に示すように、誤り情報errが外部から与えられる。
以上の構成により、誤り情報errが外部から与えられた場合も、図9の実施の形態3と同様に、エラーが発生して誤り修整部ECで修整されたブロックについても、適切なデブロッキング・フィルタを選択してブロック歪みを除去することができる。
なお、上記実施の形態では、インターネット及びデジタル放送などの伝送路における伝送エラーによって生じたエラーのあるブロックについて、当該ブロックと隣接するブロックとの境界に生じるブロック歪みを、デブロッキング・フィルタDBFの平滑度の高さを切り替えてフィルタリングする場合について説明した。しかしながら、本発明はこれに限定されず、さらに、例えば、DVDディスクのキズなどによる読み取りエラーなどについても同様にしてブロック歪みの平滑化を適切に行うことができる。
(実施の形態5)
さらに、上記各実施の形態で示した画像復号化方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
図11は、上記各実施の形態の画像復号化方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
図11(b) は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図11(a) は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクFDはケースF内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックTrが形成され、各トラックは角度方向に16のセクタSeに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクFD上に割り当てられた領域に、上記プログラムが記録されている。
また、図11(c) は、フレキシブルディスクFDに上記プログラムの記録再生を行うための構成を示す。画像復号化方法を実現する上記プログラムをフレキシブルディスクFDに記録する場合は、コンピュータシステムCsから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより画像復号化方法を実現する上記画像復号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ICカード、ROMカセット等、プログラムを記録できるものであれば同様に実施することができる。
(実施の形態6)
さらにここで、上記実施の形態で示した画像復号化方法の応用例とそれを用いたシステムを説明する。
図12は、コンテンツ配信サービスを実現するコンテンツ供給システムex100の全体構成を示すブロック図である。通信サービスの提供エリアを所望の大きさに分割し、各セル内にそれぞれ固定無線局である基地局ex107〜ex110が設置されている。
このコンテンツ供給システムex100は、例えば、インターネットex101にインターネットサービスプロバイダex102および電話網ex104、および基地局ex107〜ex110を介して、コンピュータex111、PDA(personal digital assistant)ex112、カメラex113、携帯電話ex114、カメラ付きの携帯電話ex115などの各機器が接続される。
しかし、コンテンツ供給システムex100は図12のような組合せに限定されず、いずれかを組み合わせて接続するようにしてもよい。また、固定無線局である基地局ex107〜ex110を介さずに、各機器が電話網ex104に直接接続されてもよい。
カメラex113はデジタルビデオカメラ等の動画撮影が可能な機器である。また、携帯電話は、PDC(Personal Digital Communications)方式、CDMA(Code Division Multiple Access)方式、W−CDMA(Wideband-Code Division Multiple Access)方式、若しくはGSM(Global System for Mobile Communications)方式の携帯電話機、またはPHS(Personal Handyphone System)等であり、いずれでも構わない。
また、ストリーミングサーバex103は、カメラex113から基地局ex109、電話網ex104を通じて接続されており、カメラex113を用いてユーザが送信する符号化処理されたデータに基づいたライブ配信等が可能になる。撮影したデータの符号化処理はカメラex113で行っても、データの送信処理をするサーバ等で行ってもよい。また、カメラ116で撮影した動画データはコンピュータex111を介してストリーミングサーバex103に送信されてもよい。カメラex116はデジタルカメラ等の静止画、動画が撮影可能な機器である。この場合、動画データの符号化はカメラex116で行ってもコンピュータex111で行ってもどちらでもよい。また、符号化処理はコンピュータex111やカメラex116が有するLSIex117において処理することになる。なお、画像符号化・復号化用のソフトウェアをコンピュータex111等で読み取り可能な記録媒体である何らかの蓄積メディア(CD−ROM、フレキシブルディスク、ハードディスクなど)に組み込んでもよい。さらに、カメラ付きの携帯電話ex115で動画データを送信してもよい。このときの動画データは携帯電話ex115が有するLSIで符号化処理されたデータである。
このコンテンツ供給システムex100では、ユーザがカメラex113、カメラex116等で撮影しているコンテンツ(例えば、音楽ライブを撮影した映像等)を上記実施の形態同様に符号化処理してストリーミングサーバex103に送信する一方で、ストリーミングサーバex103は要求のあったクライアントに対して上記コンテンツデータをストリーム配信する。クライアントとしては、上記符号化処理されたデータを復号化することが可能な、コンピュータex111、PDAex112、カメラex113、携帯電話ex114等がある。このようにすることでコンテンツ供給システムex100は、符号化されたデータをクライアントにおいて受信して再生することができ、さらにクライアントにおいてリアルタイムで受信して復号化し、再生することにより、個人放送をも実現可能になるシステムである。
このシステムを構成する各機器の復号化には上記各実施の形態で示した画像復号化装置を用いるようにすればよい。
その一例として携帯電話について説明する。
図13は、上記実施の形態で説明した画像復号化方法を用いた携帯電話ex115を示す図である。携帯電話ex115は、基地局ex110との間で電波を送受信するためのアンテナex201、CCDカメラ等の映像、静止画を撮ることが可能なカメラ部ex203、カメラ部ex203で撮影した映像、アンテナex201で受信した映像等が復号化されたデータを表示する液晶ディスプレイ等の表示部ex202、操作キーex204群から構成される本体部、音声出力をするためのスピーカ等の音声出力部ex208、音声入力をするためのマイク等の音声入力部ex205、撮影した動画もしくは静止画のデータ、受信したメールのデータ、動画のデータもしくは静止画のデータ等、符号化されたデータまたは復号化されたデータを保存するための記録メディアex207、携帯電話ex115に記録メディアex207を装着可能とするためのスロット部ex206を有している。記録メディアex207はSDカード等のプラスチックケース内に電気的に書換えや消去が可能な不揮発性メモリであるEEPROM(Electrically Erasable and Programmable Read Only Memory)の一種であるフラッシュメモリ素子を格納したものである。
さらに、携帯電話ex115について図14を用いて説明する。携帯電話ex115は表示部ex202及び操作キーex204を備えた本体部の各部を統括的に制御するようになされた主制御部ex311に対して、電源回路部ex310、操作入力制御部ex304、画像符号化部ex312、カメラインターフェース部ex303、LCD(Liquid Crystal Display)制御部ex302、画像復号化部ex309、多重分離部ex308、記録再生部ex307、変復調回路部ex306及び音声処理部ex305が同期バスex313を介して互いに接続されている。
電源回路部ex310は、ユーザの操作により終話及び電源キーがオン状態にされると、バッテリパックから各部に対して電力を供給することによりカメラ付デジタル携帯電話ex115を動作可能な状態に起動する。
携帯電話ex115は、CPU、ROM及びRAM等でなる主制御部ex311の制御に基づいて、音声通話モード時に音声入力部ex205で集音した音声信号を音声処理部ex305によってデジタル音声データに変換し、これを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。また携帯電話機ex115は、音声通話モード時にアンテナex201で受信した受信信号を増幅して周波数変換処理及びアナログディジタル変換処理を施し、変復調回路部ex306でスペクトラム逆拡散処理し、音声処理部ex305によってアナログ音声信号に変換した後、これを音声出力部ex208を介して出力する。
さらに、データ通信モード時に電子メールを送信する場合、本体部の操作キーex204の操作によって入力された電子メールのテキストデータは操作入力制御部ex304を介して主制御部ex311に送出される。主制御部ex311は、テキストデータを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して基地局ex110へ送信する。
データ通信モード時に画像データを送信する場合、カメラ部ex203で撮像された画像データをカメラインターフェース部ex303を介して画像符号化部ex312に供給する。また、画像データを送信しない場合には、カメラ部ex203で撮像した画像データをカメラインターフェース部ex303及びLCD制御部ex302を介して表示部ex202に直接表示することも可能である。
画像符号化部ex312は、本願発明で説明した画像符号化装置を備えた構成であり、カメラ部ex203から供給された画像データを上記実施の形態で示した画像符号化装置に用いた符号化方法によって圧縮符号化することにより符号化画像データに変換し、これを多重分離部ex308に送出する。また、このとき同時に携帯電話機ex115は、カメラ部ex203で撮像中に音声入力部ex205で集音した音声を音声処理部ex305を介してデジタルの音声データとして多重分離部ex308に送出する。
多重分離部ex308は、画像符号化部ex312から供給された符号化画像データと音声処理部ex305から供給された音声データとを所定の方式で多重化し、その結果得られる多重化データを変復調回路部ex306でスペクトラム拡散処理し、送受信回路部ex301でディジタルアナログ変換処理及び周波数変換処理を施した後にアンテナex201を介して送信する。
データ通信モード時にホームページ等にリンクされた動画像ファイルのデータを受信する場合、アンテナex201を介して基地局ex110から受信した受信信号を変復調回路部ex306でスペクトラム逆拡散処理し、その結果得られる多重化データを多重分離部ex308に送出する。
また、アンテナex201を介して受信された多重化データを復号化するには、多重分離部ex308は、多重化データを分離することにより画像データの符号化ビットストリームと音声データの符号化ビットストリームとに分け、同期バスex313を介して当該符号化画像データを画像復号化部ex309に供給すると共に当該音声データを音声処理部ex305に供給する。
次に、画像復号化部ex309は、本願発明で説明した画像復号化装置を備えた構成であり、画像データの符号化ビットストリームを上記実施の形態で示した符号化方法に対応した復号化方法で復号することにより再生動画像データを生成し、これをLCD制御部ex302を介して表示部ex202に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まれる動画データが表示される。このとき同時に音声処理部ex305は、音声データをアナログ音声信号に変換した後、これを音声出力部ex208に供給し、これにより、例えばホームページにリンクされた動画像ファイルに含まる音声データが再生される。
なお、上記システムの例に限られず、最近は衛星、地上波によるデジタル放送が話題となっており、図15に示すようにデジタル放送用システムにも上記実施の形態の少なくとも画像符号化装置または画像復号化装置のいずれかを組み込むことができる。具体的には、放送局ex409では映像情報の符号化ビットストリームが電波を介して通信または放送衛星ex410に伝送される。これを受けた放送衛星ex410は、放送用の電波を発信し、この電波を衛星放送受信設備をもつ家庭のアンテナex406で受信し、テレビ(受信機)ex401またはセットトップボックス(STB)ex407などの装置により符号化ビットストリームを復号化してこれを再生する。また、記録媒体であるCDやDVD等の蓄積メディアex402に記録した符号化ビットストリームを読み取り、復号化する再生装置ex403にも上記実施の形態で示した画像復号化装置を実装することが可能である。この場合、再生された映像信号はモニタex404に表示される。また、ケーブルテレビ用のケーブルex405または衛星/地上波放送のアンテナex406に接続されたセットトップボックスex407内に画像復号化装置を実装し、これをテレビのモニタex408で再生する構成も考えられる。このときセットトップボックスではなく、テレビ内に画像復号化装置を組み込んでも良い。また、アンテナex411を有する車ex412で衛星ex410からまたは基地局ex107等から信号を受信し、車ex412が有するカーナビゲーションex413等の表示装置に動画を再生することも可能である。
更に、画像信号を上記実施の形態で示した画像符号化装置で符号化し、記録媒体に記録することもできる。具体例としては、DVDディスクex421に画像信号を記録するDVDレコーダや、ハードディスクに記録するディスクレコーダなどのレコーダex420がある。更にSDカードex422に記録することもできる。レコーダex420が上記実施の形態で示した画像復号化装置を備えていれば、DVDディスクex421やSDカードex422に記録した画像信号を再生し、モニタex408で表示することができる。
なお、カーナビゲーションex413の構成は例えば図14に示す構成のうち、カメラ部ex203とカメラインターフェース部ex303、画像符号化部ex312を除いた構成が考えられ、同様なことがコンピュータex111やテレビ(受信機)ex401等でも考えられる。
また、上記携帯電話ex114等の端末は、符号化器・復号化器を両方持つ送受信型の端末の他に、符号化器のみの送信端末、復号化器のみの受信端末の3通りの実装形式が考えられる。
このように、上記実施の形態で示した画像復号化方法を上述したいずれの機器・システムに用いることは可能であり、そうすることで、上記実施の形態で説明した効果を得ることができる。
なお、ブロック図(図16、図20、図1、図7、図9、図10、図11など)の各機能ブロックは典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されても良いし、一部又は全てを含むように1チップ化されても良い。例えばメモリ以外の機能ブロックが1チップ化されていても良い。
ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサー を利用しても良い。
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適応等が可能性としてありえる。
また、各機能ブロックのうち、符号化または復号化の対象となるデータを格納する手段だけ1チップ化せずに別構成としても良い。