JP2007166665A - 画像復号化方法及び装置 - Google Patents

画像復号化方法及び装置 Download PDF

Info

Publication number
JP2007166665A
JP2007166665A JP2007038687A JP2007038687A JP2007166665A JP 2007166665 A JP2007166665 A JP 2007166665A JP 2007038687 A JP2007038687 A JP 2007038687A JP 2007038687 A JP2007038687 A JP 2007038687A JP 2007166665 A JP2007166665 A JP 2007166665A
Authority
JP
Japan
Prior art keywords
encoding
circuit
alpha map
block
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
JP2007038687A
Other languages
English (en)
Inventor
Noboru Yamaguchi
昇 山口
Takashi Ida
孝 井田
Toshiaki Watanabe
敏明 渡邊
Naoaki Kuratate
尚明 倉立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2007038687A priority Critical patent/JP2007166665A/ja
Publication of JP2007166665A publication Critical patent/JP2007166665A/ja
Abandoned legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

【課題】オブジェクトの形状情報を効率良く符号化/復号化すること。
【解決手段】画像のオブジェクトを含む方形領域を分割したM×N画素で構成されるブロックを符号化した符号化データとブロック内のスキャン順序である符号化順序の切り換え情報を示す符号とが多重化された多重化符号化データを入力するステップと、符号化データから前記符号を復号して切り換え情報を得るステップと、当該切り換え情報を基にブロック内のスキャン順序である復号化順序を切り換えるステップと、復号化順序を切り換えながら多重化符号化データ中のブロックの符号化データを復号してブロックを再生するステップとを有する。
【選択図】 図38

Description

本発明は、画像信号を高能率に符号化し、伝送・蓄積するための画像復号化方法及び装置に関する。
画像信号は膨大な情報量を持つため、伝送や蓄積に供する場合には圧縮符号化するのが一般的である。画像信号を高能率に符号化するには、フレーム単位の画像を、所要画素数単位でブロック分けし、その各ブロック毎に直交変換して画像の持つ空間周波数を各周波数成分に分離し、変換係数として取得してこれを符号化する。
ところで、画像符号化の一つとして、『J.Y.A. Wang et al. “Applying Mid-level Vision Techniques for Video Data Compression and Manipulation”, M. I. T. Media Lab. Tech. Report No.263, Feb.1994, 』において、ミッドレベル符号化と呼ばれる範疇に属する画像符号化法が提案されている。
この方式では、例えば、図31(a)のような背景と被写体(以後、オブジェクトと呼ぶ)からなる画像があったとして、この背景とオブジェクトを図28(b),(c)のように分けて符号化している。
このように、背景(図31(c))やオブジェクト(図31(b))を別々に符号化するためには、オブジェクトの形状や画面内の位置を表す副画像情報であるアルファマップ信号(図31(d)白画素がオブジェクトの画素を示す)が必要となる。なお、背景のアルファマップ信号(図31(e))は、オブジェクトのアルファマップ信号から一意に求められる。
ところで、このアルファマップ信号を効率的に符号化する方法として、2値画像の符号化法(例えば、MMR(Modified Modified READ)符号化等)や、線図形の符号化法(チェイン符号化等)が用いられている。
また、更にアルファマップの符号量を低減するために、形状の輪郭線をポリゴン近似してスプライン曲線でスムーシングする方法(J. Ostermann, “Object-based analysis-synthesis coding based on the source model of moving rigid 3D objects”, Signal Process.: Image Comm.Vol.6 No.2 pp.143-161, 1994)や、アルファマップを縮小して符号化し、拡大する際に曲線近似する方法(特開平07−152915号公報参照)などがある。
J.Y.A. Wang et al. "Applying Mid-level Vision Techniques for Video Data Compression and Manipulation", M. I. T. Media Lab. Tech. Report No.263, Feb.1994. J. Ostermann, "Object-based analysis-synthesis coding based on the source model of moving rigid 3D objects", Signal Process.: Image Comm.Vol.6 No.2 pp.143-161, 1994. 特開平07−152915号公報
画像を符号化する場合に、画面内を背景とオブジェクトに分割して符号化する方式があるが、この場合、背景とオブジェクトを分けるために、オブジェクトの形状や画面内の位置を表すアルファマップ信号が必要となる。そして、画像の符号化情報と共に、このアルファマップの情報も符号化してビットストリーム化し、伝送や蓄積に供する。
しかし、画面内を背景とオブジェクトに分割して符号化する方式の場合、従来の符号化法のように画面内を一括して符号化するのに比べ、アルファマップがある分、符号量増加が問題となり、このアルファマップの符号量増加による符号化効率の低下が問題となる。
そこでこの発明の目的とするところは、オブジェクトの形状や画面内の位置などを表す副画像情報であるアルファマップの情報を効率良く符号化できるとともに、その復号を行うことができるようにした画像符号化装置および画像復号化装置を提供することにある。
本発明は、上記目的を達成するため、2値画像を拡大・縮小する解像度変換手段と、縮小された2値画像を符号化する手段と、解像度変換手段の拡大・縮小率を符号化して上記2値画像の符号化データと併せて伝送する手段を有し、解像度変換手段の拡大縮小率を変えることで、符号化手段の発生符号量を制御する構成とする。
また、本発明は、上記目的を達成するため、画像をその画像のオブジェクト領域と背景領域に区別するための副画像情報であるアルファマップと共に符号化して出力するようにした画像符号化装置において、前記アルファマップを解像度変換して縮小する解像度変換手段と、縮小されたアルファマップを符号化する手段と、前記解像度変換手段の縮小率を符号化して前記縮小されたアルファマップの符号化データと併せて伝送する手段を有し、解像度変換手段の縮小率を変えることで、符号化手段の発生符号量を制御する構成とすることを特徴とする。
また、本発明は、上記目的を達成するため、MMR(Modified Modified READ)符号化で用いられる2次元符号化において、垂直モードが適用される範囲を変える手段と、拡大した垂直モードの範囲に応じて、符号表を拡張する手段を有し、垂直モードが適用される範囲を表す情報を、上記2次元符号化データと併せて伝送することを特徴とする。
また、本発明は、上記目的を達成するため、画面内のオブジェクトを含む小領域を設定する手段と、小領域内のアルファマップ信号を符号化する手段を有し、画面内における小領域の位置および大きさの情報を、上記アルファマップ信号の符号化データと併せて伝送する手段を有する構成の2値画像符号化装置とする。
本発明ではアルファマップの縮小画像を符号化することで、符号量の増加を抑える。さらに、縮小率の情報を送ることで、所望のサイズでアルファマップを符号化することができ、アルファマップの発生符号量と形状の精度のトレードオフを図ることが可能となる。
また、本発明ではG4−FAX(G4規格のファクシミリ)の符号化方式である、MMRの垂直モードの範囲を拡大することが可能となり、水平方向のみではなく、垂直方向にも高い相関を有するアルファマップの性質を利用して、符号化効率を向上させることが可能となる。
また、本発明では、オブジェクトに対して必要最小限の領域のアルファマップを符号化することで、オブジェクトの大きさが画面に比較して小さい場合に符号化効率を向上させることができる。
また、本発明は、MMR符号化のような、相対アドレス符号化(垂直モード)とランレングス符号化(水平モード)を適応的に切り換える符号化法を適用した画像符号化装置において、画面の横幅より大きいかまたは画面の横幅と等しい長さとした最大ラン長を設定すると共に、この最大ラン長までのランレングス符号を備える手段と、前記ランレングス符号を用い、2値画像を、表示のラスタ走査順に符号化すると共に、また、最大ラン長を越えるラン長を符号化する場合には、ラスタ走査の走査線を飛び越える指示である垂直方向パスモードの符号に置き換える符号化手段とを備えたことを特徴とする。
さらに、MMR符号化のような、相対アドレス符号化とランレングス符号化を適応的に切り換える符号化法を適用して符号化された符号化情報を復号する復号化装置において、与えられた符号化情報をラスタ順に復号する復号手段と、画面幅より大きいかまたは画面幅と等しい長さとした最大ラン長を設定すると共に、復号手段により垂直方向のパスモード情報が復号されると垂直スキップモードにより上記最大ラン長対応の情報に復号する復号化手段を設けたことを特徴とする。
本発明においては、ランレングス符号を用い、2値画像を、表示のラスタ走査順に符号化すると共に、また、最大ラン長を越えるラン長を符号化する場合には、ラスタ走査の走査線を飛び越える指示である垂直方向パスモードの符号に置き換える符号化を行って符号量を少なくする。そして、復号化は、与えられた符号化情報をラスタ順に復号し、復号手段により垂直方向のパスモード情報が復号されると垂直スキップモードにより、上記画面幅より大きいかまたは画面幅と等しい長さとした最大ラン長対応の情報に復号する。これにより、垂直方向パスモードの符号を用いて符号化したものであっても復号化できて、最大ラン長を越えるラン長を短い符号量で符号化および復号化することが可能になる。
以上は、いずれも画面単位で、かつ、ライン方向を主体に圧縮符号化し、あるいは復号化するようにしたものであるが、MPEG等においては、画面を複数のブロック(マクロブロック)に区分し、このブロック(マクロブロック)単位で処理する方式を採用している。そのため、マクロブロック単位で圧縮符号化処理し、また、復号化処理する技術が必要である。
そのために本発明は、2値画像を所定の小領域毎に拡大・縮小する解像度変換手段と、前記小領域毎に2値化像を符号化する手段と、前記小領域毎に解像度変換手段の適用した拡大・縮小率の情報を符号化して前記2値画像の符号化データと併せて伝送する手段を有し、小領域毎に解像度変換手段の拡大・縮小率を変えることで、符号化手段の発生符号量を制御することを特徴とする2値画像符号化装置を提供する。さらにまた本発明は、前記解像度変換手段の適用した拡大・縮小率にしたがって可変長符号を切り替える。
また本発明は、所定の小領域毎に解像度変換手段の情報を復号する手段と、前記解像度変換手段の適用した拡大・縮小率の情報にしたがって小領域毎に2値画像を復号化する手段と、前記解像度変換手段の適用した拡大・縮小率の情報にしたがって2値画像を拡大する解像度変換手段を有する2値画像復号化装置を提供する。
また本発明は、解像度変換手段の適用した拡大・縮小率の情報にしたがって可変長符号を切り換えることを特徴とする。
また本発明は、オブジェクトを含む長方形領域をM×N画素(M:水平方向の画素数.N:垂直方向の画素数)で構成される方形ブロック毎に分割する手段と、上記方形ブロックを長方形領域の左上あるいは右下から順次符号化する手段を有し、方形ブロックの全てあるいは一部に対して相対アドレス符号化を適用する2値画像符号化装置であって、方形ブロックに接する再生値を蓄える手段と、変化画素を検出する手段を有し、方形ブロックに接する再生値も含めて変化画素を検出することで、変化画素数を削減することを可能とする画像符号化装置を提供する。
また本発明は、M×N画素で構或される方形ブロック毎に長方形領域の左上あるいは右下から順次復号化する2値画像復号化装置であって、方形ブロックに接する再生値を蓄える手段と、変化画素を検出する手段と、変化画素との相対アドレスを復号する手段を有し,方形ブロックに接する再生値も含めて変化画素を検出することを特徴とする画像復号化装置を提供する。
また本発明は、オブジェクトを含む長方形領域をM×N画素(M:水平方向の画素数,N:垂直方向の画素数)で構成される方形ブロック毎に分割する手段を有し、方形ブロックの全てあるいは一部に対して相対アドレス符号化を適用する2値画像符号化装置であって、方形ブロック内の符号化順序(スキャン順序)を適応的に切り換える手段と、上記切り換え情報を併せて符号化する手段を有することを特徴とする画像符号化装置を提供する。
また本発明は、M×N画素で構成される方形ブロック毎に復号化する2値画像復号化装置であって、方形ブロック内の復号化順序(スキャン順序)を切り換える手段と、復号化順序の切り換え情報を復号する手段を有し、上記切り換え情報に応じてM×N画素の方形ブロックを再生することを特徴とする画像復号化装置を提供する。
また本発明は、オブジェクトを含む長方形領域をM×N画素(M:水平方向の画素数,N:垂直方向の画素数)で構成される方形ブロック毎に分割する手段を有し、方形ブロックの全てあるいは一部に対して相対アドレス符号化を適用する2値画像符号化装置であって、方形ブロック内のラインを交互にスキャンすることで、ラスタスキャンされた(2M)×(N/2)画素のブロックに変換する手段と、上記変換手段を適応的に用いる手段を有し、方形ブロックに上記変換手段を用いたか否かを識別する情報も併せて符号化することを特徴とする画像信号化装置を提供する。
また本発明は、M×N画素あるいは(2M)×(N/2)画素で構成される方形ブロック毎に相対アドレスを復号化する2値画像復号化装置であって、ブロックの変換手段を用いたか否かを識別する符号を復号する手段と、ラスタスキャンされた(2M)×(N/2)画素のブロックをM×N画素のブロックに逆変換する手段を有し、前記識別情報に応じてM×N画素の方形ブロックを再生することを特徴とする画像復号化装置を提供する。
また本発明は、オブジェクトの画像信号と、このオブジェクトの画像に対応し、画像をその画像のオブジェクト領域と背景領域に区別するための情報であるアルファマップとを分けて符号化する画像符号化装置において、オブジェクトの画像信号とおよびそのオブジェクトに対応するアルファマップの動き補償予測を行うと共に、動き補償予測されたアルファマップの予測誤差がしきい値よりも小さい場合には、オブジェクトの画像信号の動き補償予測値をコピーする符号化方式であって、画像信号で既に符号化されている動きベクトル(MVY )と、アルファマップの動きベクトル(MVA )との差分ベクトル(MVDA )を符号化する符号化手段と、上記差分ベクトル(MVDA )を検出する際に、上記動きベクトル(MVY )を中心として、差分ベクトル(MVDA )を小さい順から、大きい順へと検出する検出手段と、アルファマップの動き補償予測誤差がしきい値よりも小さくなった時点で、動きベクトルの検出を終了し、その時点での動きベクトルを上記差分ベクトル(MVDA )とする動きベクトル検出回路とを有することを特徴とする画像符号化装置を提供する。
また本発明は、オブジェクトの画像信号と、そのオブジェクトに対応するアルファマップを分けて符号化する画像符号化装置において、オブジェクトの画像信号とおよびそのオブジェクトに対応するアルファマップの動き補償予測を行うと共に、動き補償予測されたアルファマップの予測誤差がしきい値よりも小さい場合には、オブジェクトの画像信号の動き補償予測値をコピーする符号化方式であって、動きベクトル(MVY )は符号表に従って符号化すると共に、画像信号で既に符号化されている動きベクトル(MVY )とアルファマップの動きベクトル(MVA )との差分ベクトル(MVDA )を当該差分ベクトル(MVDA )用符号表に従って符号化する手段を有し、差分ベクトル(MVDA )のダイナミックレンジが動きベクトル(MVY )を符号化する際の上記符号表のダイナミックレンジよりも小さくなるように制限することを特徴とする画像符号化装置を提供する。
またこの符号化装置によって符号化されたデータを復号するために本発明は、画像信号で既に再生されている動きベクトル(MVY )と差分ベクトル(MVDA )より符号表に従って画像を復号する手段と、アルファマップの動きベクトル(MVA )を生成する手段とを有し、上記符号表は、動きベクトル(MVY )用と差分ベクトル(MVDA )用をそれぞれ設けると共に、差分ベクトル(MVDA )用符号表は上記動きベクトル(MVY )を復号化する際の符号表のダイナミックレンジよりも小さいダイナミックレンジとすることを特徴とする画像復号化装置を提供する。
また本発明は、アルファマップをブロックに区分し、そのブロック毎に符号化すると共に、その符号化はそのブロック毎のアルファマップの情報状況対応に属性を与え、その属性を符号化するようにした方式であって、各ブロックに対して、各々の属性に固有のラベルを少なくとも2ビット表現で割り当てると共に、そのラベルを割り当てたプレーンをブロックタイプのプレーンとして得る手段と、上記ラベルで構成されるブロックタイプのプレーンを、桁位置別に分解してビットプレーンに分解する手段と、各々のビットプレーンを個別に2値画像符号化する手段とを有する画像符号化装置を提供する。
またこの画像符号化装置により符号化されたデータを復号化して、アルファマップのブロック毎の属性を再生するために本発明は、各ビットプレーンを個別に2値画像復号化する手段と、ビットプレーンを合成してブロックタイプのプレーンを再生する手段とを有する画像復号化装置を提供する。
また、本発明は、画像をその画像のオブジェクト領域と背景領域に区別するための情報であるアルファマップと共に符号化して出力するようにした画像符号化装置において、前記アルファマップをブロックに分割して、そのブロック毎に符号化を行い、既に符号化したブロックの一部分から切りだした参照パターンを用いてベクトル量子化のインデックステーブルをブロック毎に生成するテーブル生成手段と、前記インデックステーブルを用いてアルファマップをベクトル量子化によって符号化する手段とを有するオブジェクト画像の画像符号化装置を提供する。
また、この符号化装置により符号化されて得られた符号化ビットストリームを復号化する復号化装置として本発明は、前記ブロック毎に復号化を行い、既に復号したブロックの一部分から切りだした参照パターンを用いてベクトル量子化のインデックステーブルをブロック毎に生成するテーブル生成手段と、前記インデックステーブルを用いてアルファマップをベクトル量子化によって復号する手段とを有するオブジェクト画像の画像復号装置を提供する。
本発明によれば、アルファマップの符号量を低減することができるため、従来の符号化法と比べて大幅な符号化効率の低下なしに、背景とオブジェクトを別々に符号化することができるようになる。
以下、図面を参照して本発明の具体例を説明する。
(第1の具体例)本発明は、図1の画像伝送システムにおける送受信装置(図1のA,B)内の、画像符号化・復号化装置に関するものであり、アルファマップ信号の高能率圧縮符号化・復号化を図ることができるようにしたものである。
本発明では、符号化装置側において、アルファマップ信号について、解像度縮小を図り、符号化すると共に、得られた符号を縮小率情報とともに多重化して伝送や蓄積用のアルファマップ信号とすることで、アルファマップ信号を効率良く符号化できるようにする。
また、本発明では、復号化装置側において、このような高能率符号化されたアルファマップ信号を再生する時は、アルファマップの符号化成分と、縮小率情報とを分離し、アルファマップの符号化成分は復号した後に縮小率情報に従って元の解像度に拡大するようにし、これによって元のサイズのアルファマップ信号を復元できるようにして、アルファマップを用いた符号化画像の復号も支障なく行えるようにする。
図2は、このような本発明における画像符号化装置のブロック図である。本発明における画像符号化装置は、図2に示すように、差分回路100、動き補償予測回路110、直交変換回路120、量子化回路130、可変長符号化回路140、逆量子化回路150、逆直交変換回路160、加算回路170、多重化回路180、アルファマップ符号化回路200とから構成される。
アルファマップ符号化回路200は、入力されたアルファマップを符号化し、この符号化された信号をアルファマップ信号として多重化回路180に出力する機能と、このアルファマップ信号を復号して局部復号信号として出力する機能を有する。
特に、本アルファマップ符号化回路200は、入力されたアルファマップを符号化するにあたり、与えられた縮小率(倍率)で解像度を縮小する処理を行い、この解像度縮小処理されたものを符号化すると共に、この符号化したものと縮小率の情報(倍率情報)とを多重化してこれをアルファマップ信号として多重化回路180に出力する機能を有する。そして、局部復号信号としては、解像度縮小処理されたものを元の解像度に戻す処理をして得たものを用いる構成である。
差分回路100は、動き補償予測回路110より供給される動き補償予測信号と入力画像信号との差分信号を算出するものであり、直交変換回路120は、差分回路100から供給された差分信号を、アルファマップの情報にしたがって、直交変換係数に変換して出力するものである。
量子化回路130はこの直交変換回路120により得られた直交変換係数を量子化する回路であり、可変長符号化回路140はこの量子化回路130の出力を符号化して出力するものである。多重化回路180はこの可変長符号化回路140により符号化されたものと、前記アルファマップ信号とを、動きベクトル情報等のサイド情報と共に多重化してビットストリームとして出力するものである。
逆量子化回路150は量子化回路130の出力を逆量子化するものであり、逆直交変換回路160はこの逆量子化回路150の出力を前記アルファマップに基いて逆直交変換するものであり、加算回路170はこの逆直交変換回路160の出力と動き補償予測回路110から与えられる予測信号(動き補償予測信号)とを加算して差分回路100に出力するものである。
動き補償予測回路110は、フレームメモリを有し、アルファマップ復号化回路200から与えられる局部復号信号にもとづいて動作してオブジェクト領域の信号、背景領域の信号を蓄積する機能を有する。また、動き補償予測回路110は蓄積したオブジェクト領域の画像から動き補償値を予測して予測値として出力し、また、蓄積した背景領域の画像から動き補償値を予測して予測値として出力する機能を有する。
このような構成の本装置は、画像信号とその画像信号のアルファマップが入力される。
アルファマップ符号化回路200では、線20を介して入力されるアルファマップを、指示された解像度縮小率(倍率)で縮小して符号化し、この符号化されたアルファマップ信号を前記解像度縮小率情報(倍率情報)とともに多重化してから線30を介して出力し、また、符号化されたアルファマップ信号を元の解像度に戻すかたちで復号して得た局部復号信号を線40を介して直交変換回路120,逆直交変換回路160及び動き補償予測回路110に出力する。
本アルファマップ符号化回路200は、入力されたアルファマップを符号化するにあたり、与えられた縮小率で解像度を縮小する処理を行い、この解像度縮小処理されたものを符号化すると共に、この符号化したものと縮小率の情報とを多重化してこれをアルファマップ信号として多重化回路180に出力する。これにより、アルファマップ信号を高効率で符号化することを可能にする。
そして、局部復号信号としては、解像度縮小処理されたものを元の解像度に戻す処理をして得たものを用い、これを線40を介して直交変換回路120,逆直交変換回路160に出力する。これにより、直交変換回路120,逆直交変換回路160での処理を元のサイズのアルファマップで行うことができるようにする。
画像信号は、所定画素サイズ(N×N画素)のブロックに分割された後、ブロック位置順に線10を介して差分回路100に供給される。そして、差分回路100では、この入力(画像信号)と、予測信号(オブジェクト予測回路110からの動き補償予測信号の出力)との差分信号が算出され、直交変換回路120に供給される。
直交変換回路120では、供給された差分信号を線40を介して供給されるアルファマップの情報にしたがって、直交変換係数に変換した後、量子化回路130に供給する。そして、ここで量子化される。量子化回路130にて量子化された変換係数は、可変長符号化回路140において符号化されると共に、逆量子化回路150に供給される。
逆量子化回路150に供給された変換係数は、逆量子化された後、逆直交変換回路160において逆変換される。そして、加算回路170において動き補償予測回路110より供給される動き補償予測値と加算される。加算回路170の出力である局部復号画像は、動き補償予測回路110内のフレームメモリに蓄えられる。
そして、動き補償予測回路110は、アルファマップ復号化回路200から与えられる局部復号信号にもとづいてオブジェクトの領域のブロックの処理のタイミングではオブジェクトの動き補償予測値を、それ以外のタイミングでは背景部分の動き補償予測値を出力して差分回路100に与える。
すなわち、動き補償予測回路110ではアルファマップ信号の局部復号信号から現在、オブジェクトのブロック対応部分の画像信号が差分回路100に入力されているのか、あるいは背景部分のブロック対応部分の画像信号が差分回路100に入力されているのかを知り、オブジェクトのブロック対応部分の画像信号の入力期間中であれば、オブジェクトの動き補償予測信号を、そして、背景部分のブロック対応部分の画像信号入力期間中であれば、背景の動き補償予測信号を、差分回路100に与える。
その結果、差分回路100では、この入力された画像信号と、その画像の領域対応の予測信号との差を算出するので、入力画像がオブジェクト対応の領域のものであれば、そのオブジェクトの対応位置での予測値との差分信号が、また、入力画像が背景の領域のものであれば、その背景位置対応の予測値との差分信号が算出され、直交変換回路120に供給される。
直交変換回路120では、供給された差分信号を線40を介して供給されるアルファマップの情報にしたがって、直交変換係数に変換した後、量子化回路130に供給する。そしてここで量子化される。
量子化回路130にて量子化された変換係数は、可変長符号化回路140において符号化されると共に、逆量子化回路150に供給される。そして、逆量子化回路150に供給された変換係数はここで逆量子化された後、逆直交変換回路160において逆変換されて加算回路170に供給される。そして、予測値切り換え回路500を介して加算回路170に供給される予測値と加算されることになる。
加算回路170の出力である局部復号画像の信号は、動き補償予測回路110に供給され、動き補償予測回路110ではアルファマップ信号の局部復号信号から現在、オブジェクトのブロック対応の信号が加算回路170から出力されているのか、あるいは背景部分のブロック対応の信号が加算回路170から出力されているのかを知り、オブジェクトのブロック対応の信号の出力中であれば、オブジェクト用のフレームメモリに、そして、背景部分のブロック対応の信号の出力中であれば、背景用のメモリに与えるべく動作して対応のメモリに蓄えさせる。
そして、これにより、オブジェクト画像のみ、背景画像のみの画像がそれぞれメモリ上に得られることになる。そして、動き補償予測回路110はオブジェクト画像を利用して予測値を求め、また、背景部分の画像を利用して背景画像の予測値を求めることができる。
上述したように、アルファマップ符号化回路200では、入力されるアルファマップを符号化し、この符号化されたアルファマップ信号を線30を介して多重化回路180に供給している。
また、多重化回路180には、可変長符号化回路140から出力された変換係数が線40を介して供給されている。そして、多重化回路180は供給されているこれらアルファマップ信号および変換係数の符号化値とを、動きベクトル情報等のサイド情報と共に多重化した後、線50を介して出力して本画像符号化装置の最終出力としての符号化ビットストリームとなる。
以上が符号化装置の構成と作用であり、画像の誤差信号を得るにあたって、オブジェクト用および背景用の画像により動き補償予測を行うべく、アルファマップにしたがって処理中の画像の現在ブロック位置がオブジェクト領域位置であるのか、背景領域位置であるのかを判別しながら、処理中の画像の現在ブロック位置がオブジェクト領域位置であればオブジェクト用の画像から求めた予測値を用い、背景領域位置であれば背景用の画像から求めた予測値を用いて差分を求めるようにした。
そして、オブジェクト用および背景用の予測には動き補償予測回路に、この差分から得た画像について、アルファマップにしたがってそれぞれ対応の領域部分の画像を保持させ、予測に供するようにした。これにより、オブジェクトおよび背景それぞれで最適な動き補償予測を行うことができるようになり、質の良い画像圧縮符号化と復号化を可能にする。
また、本発明では、アルファマップについて、解像度縮小を図り、符号化すると共に、得られた符号を縮小率情報と共に多重化して伝送や蓄積用のアルファマップ信号とするようにした。そのため、アルファマップ信号は効率良く符号化できることになり、オブジェクトの形状情報を効率良く符号化できるようになる。
また、アルファマップ信号を再生する時は、アルファマップの符号化成分と、縮小率情報とを分離し、アルファマップの符号化成分は復号した後に縮小率情報に従って元の解像度に拡大するようにしたことで、元のサイズのアルファマップを復元できるようになり、アルファマップを用いた符号化画像の復号も支障なく行えるようになる。
一方、図3は本発明が用いられる復号化装置のブロック図である。復号化装置は、図3に示すように、分離回路300、可変長復号化回路310、逆量子化回路320、逆直交変換回路330、加算回路340、動き補償予測回路350、アルファマップ復号化回路400とより構成される。
分離化回路300は入力される符号化ビットストリームを分離化処理してアルファマップ信号と画像の符号化信号等を得る回路であり、アルファマップ復号化回路400はこの分離化回路300にて分離されたアルファマップ信号を復号してアルファマップを再生する回路である。ここでは、アルファマップ復号化回路400は、供給されたアルファマップ信号からアルファマップの成分と、縮小率の情報(倍率情報)を分離し、アルファマップの成分を復号すると共に、これを縮小率の情報に基づいて解像度拡大し、元の解像度のアルファマップに復元する機能を有する。
可変長復号化回路310は、分離化回路300にて分離された画像の符号化信号を復号するものであり、逆量子化回路320はこの復号されたものを逆量子化して元の係数に戻すものであり、逆直交変換回路330はこの係数をアルファマップにしたがって逆直交変換して予測誤差信号に戻すものであり、加算回路340は、この予測誤差信号に動き補償予測回路350からの動き補償予測値を加算して再生画像信号として出力するものである。この再生画像信号が復号化装置の最終出力となる。
動き補償予測回路350は、加算回路340から出力された再生画像信号をアルファマップにしたがってフレームメモリに蓄積することによりオブジェクト画像と背景画像とを得ると共に、この蓄積されて得られた画像からオブジェクトの動き補償予測信号、背景の動き補償予測を得るものである。
このような構成の復号化装置においては、符号化ビットストリームは、線70を介して分離化回路300に供給され、分離化回路300において各々の情報毎に分離されることにより、アルファマップ信号に関する符号と、画像信号の可変長符号とに分けられる。
そして、アルファマップ信号に関する符号は、線80を介してアルファマップ復号化回路400に供給され、また、画像信号の可変長符号は可変長復号化回路310にそれぞれ供給される。
アルファマップ信号に関する符号はアルファマップ復号化回路400においてアルファマップ信号に再生され、線90を介して逆直交変換回路330と動き補償予測回路350に出力される。
すなわち、アルファマップ復号化回路400は、供給されたアルファマップ信号からアルファマップの成分と、縮小率の情報を分離し、アルファマップの成分を復号すると共に、これを縮小率の情報に基づいて解像度拡大し、元の解像度のアルファマップに復元して逆直交変換回路330と動き補償予測回路350に出力する。
一方、可変長復号化回路310では、分離化回路300から供給される符号を復号し、逆量子化回路320に供給して、ここで逆量子化する。逆量子化された変換係数は、線90を介して供給されるアルファマップにしたがって逆直交変換回路330により逆変換され、加算回路340に供給される。加算回路340では、逆直交変換回路330からの逆直交変換された信号と、動き補償予測回路350より供給される動き補償予測信号とを加算し、再生画像を得る。
本発明では、符号化装置側において、アルファマップについて、解像度縮小を図り、符号化すると共に、得られた符号を縮小率情報とともに多重化して伝送や蓄積用のアルファマップ信号とするようにした。そのため、アルファマップ信号は効率良く符号化できることになり、オブジェクトの形状情報を効率良く符号化できるようになる。
また、本発明では、復号化装置側において、このような高能率圧縮符号化されたアルファマップ信号を再生する時は、アルファマップの符号化成分と、縮小率情報とを分離し、アルファマップの符号化成分は復号した後に縮小率情報に従って元の解像度に拡大するようにしたことで、元のサイズのアルファマップを復元できるようになり、アルファマップを用いた符号化画像の復号も支障なく行えるようになる。
本発明で重要なものは、符号化装置におけるアルファマップ符号化回路200と、復号化装置におけるアルファマップ復号化回路400であり、所望の倍率で解像度縮小・拡大変換を行える機能を持たせた点に特徴がある。従って、これについて以下詳述する。
すなわち、本発明の主体は、アルファマップ符号化回路200およびアルファマップ復号化回路400であり、その他の構成に関しては、本発明者等がすでに出願した特願平7−97073号に記載の任意形状画像の符号化方式の技術を用いれば良いので、ここでは深くは立ち入らない。
図4、図5および図6を用いて、本発明の主体的要素であるアルファマップ符号化回路200の具体例の説明を、また、図7および図8を用いてアルファマップ復号化回路400の具体例の説明をする。
図4は、特開平07−152915号公報にて提案されている方法である。アルファマップ符号化回路200内では、線20を介して供給されるアルファマップ信号を、解像度変換を行う手段である解像度変換回路210にて縮小し、符号化対象となるサンプリング数を減らした後、線21を介して2値画像符号化回路220に供給してここでMMRやチェイン符号化等で符号化した後、線30を介して多重化回路180に供給する。
さらに、解像度変換回路210にて縮小されたアルファマップ信号は、線21を介して解像度変換回路230に供給され、線20を介してアルファマップ符号化回路200に供給された元信号のサンプル数まで拡大された後、線40を介して出力される。
図5は、解像度変換回路210,230における縮小・拡大変換の例である。この変換の説明を、参考文献“尾上編:画像処理ハンドブック,p.630,昭晃堂”を基に説明する。
図5(a)において、Pexは変換後の画素位置であり、当該Pexは図5(a)のように実数画素位置を指し示す。
そこで、入力信号の整数画素位置A,B,C,Dとの距離関係から、8つの領域に分けて図5(b)に示す論理式により、A〜Dの画素値Ia〜IdからPexの画素値Ipを求める。
図4の発明ではアルファマップを縮小・拡大する際の誤差を許容する代わりに、符号量を低減することを目的としている。しかし、縮小・拡大率が固定になっていると、アルファマップ信号の誤差と符号量とのトレードオフを図ることは不可能である。
図6は本発明のアルファマップ符号化回路200の構成を示す図である。図に示すように、本発明のアルファマップ符号化回路200は、解像度変換回路210,230、2値画像符号化回路220、多重化回路240とから構成されている。
解像度変換回路210は解像度縮小変換用の変換回路であり、与えられる拡大率に従った縮小率でアルファマップを符号化し、また、解像度変換回路230は解像度縮拡大変換用の変換回路であって、与えられる拡大率に従った拡大率でアルファマップを符号化する機能を有する。
解像度変換回路230は解像度変換回路210が解像度縮小変換したものを元のサイズに戻すために設けてあり、この解像度変換回路230により元のサイズに戻されたアルファマップが、線40を介して直交変換回路120,逆直交変換回路160に与えられるアルファマップ局部復号信号となる。
2値画像符号化回路220は解像度変換回路210の出力する解像度縮小変換されたアルファマップ信号を2値画像符号化して出力するものであり、多重化回路240は2値画像符号化出力と前記与えられる拡大率の情報とを多重化して出力するものである。
このような構成のアルファマップ符号化回路200においては、線20を介して入力されるアルファマップを、解像度変換回路210により指定の拡大率で縮小符号化し、この符号化されたアルファマップ信号を線30を介して出力し、また、縮小符号化されたアルファマップ信号を解像度変換回路230により元の解像度に復号して得た局部復号信号を線40を介して直交変換回路120,逆直交変換回路160に出力する。
すなわち、線60を介してアルファマップ符号化回路200に所望とする縮小・拡大率の設定情報を供給することで、上記トレードオフを図ることが可能となる。
線60を介して供給された縮小・拡大率の設定情報信号は、解像度変換回路210,230、2値画像符号化回路220に供給され、アルファマップ信号の発生符号量を制御することが可能となる。また、線60を介して供給された縮小・拡大率の符号(設定情報信号)は、多重化回路240にて、符号化されたアルファマップ信号と多重化され、線30を介して出力され、アルファマップの符号化信号として画像符号化装置の最終出力段である多重化回路180に与えられることになる。
一方、図7は図4のアルファマップ符号化回路に対するアルファマップ復号化回路の概念であり、図8は本発明の具体的なアルファマップ復号化回路400である。
図に示すように、アルファマップ復号化回路400は、2値画像復号化回路410、解像度変換回路420、分離回路430にて構成される。分離回路430は、画像復号化装置の分離回路300で分離されて入力されたアルファマップ信号からアルファマップ信号の符号と縮小・拡大率の符号に分離する回路であり、2値画像復号化回路410はアルファマップ信号の符号を、分離回路430から分離して与えられる縮小・拡大率の符号にしたがって2値画像に戻す回路であり、解像度変換回路420はこの2値画像を、分離回路430から分離して与えられる縮小・拡大率の符号にしたがって解像度拡大変換して出力するものである。
図8において、線80を介してアルファマップ復号化回路400に供給された符号は、分離回路430によりアルファマップ信号の符号と縮小・拡大率の符号に分離され、各々線81および線82を介して出力される。
2値画像復号化回路410では、線81を介して供給されるアルファマップ信号の符号と線82を介して供給される縮小・拡大率の符号から、縮小されたアルファマップ信号を再生し、線83を介して解像度変換回路420に供給する。解像度変換回路420では、線82を介して供給される縮小・拡大率の符号から、縮小されたアルファマップ信号を元のサイズに拡大してアルファマップ信号を再生した後、線90を介して出力する。
(第2の具体例)本発明ではアルファマップ信号の圧縮符号化に2値画像符号化を用いるが、次に、本発明の第2の具体例としてその2値画像符号化の詳細を図9および図10を用いて説明する。本具体例は、第1の具体例における2値画像符号化回路220に関するものである。
図10は本発明で用いる可変長符号の符号化コード例と、公知のMMR符号化での符号化コード例を対比して示す図であり、特定の状態情報をMMR符号化と本発明で用いられる可変長符号化ではどのようになるかを対比して示したものである。例えば、Pはパスモードを示し、これがMMR符号化では“0001”、本発明では“0000 001”と表し、また、V0 ,V1 ,V2 ,V3 ,V4,V5 はそれぞれ垂直モードを示しており、V0 は1ラインの同一位置、V1 は1ライン下の1画素分のずれ、V2 は1ライン下の2画素分のずれ、V3 は1ライン下の3画素分のずれ、V4 は1ライン下の4画素分のずれ、V5 は1ライン下の5画素分のずれという意味を持ち、これらをMMR符号化では“1”、“01S”、“0000 1S”、“0000 01S”、該当なし、該当なし、そして、本発明では“01”、“1S”、“001S”、“0001 S”、“0000 1S”、“0000 01S”、“0000 0001S”と表し、Hは水平モードでMMR符号化では“001”、本発明では“0000 1”と表し、さらに本発明ではESC符号を追加してこれを“0000 00001”と表し、といった具合であることを示している。
なお、図10での符号中の“S”は、a1とb1の位置関係が左か右かを示すためのsign bitである。
また、図9は、MMR符号化で用いられている2値画像の2次元符号化を説明する図である。
この第2の具体例における2次元符号化では、例えば、図9(a)に示したように、参照ラインと符号化ライン上の5つの変化画素の位置関係を符号化するケースを例に説明する。但し、a1とb1の距離が3画素以内のときは垂直モード(V)とし、その距離を符号化し、それ以外の場合には水平モード(H)とすることにする。
ここで図9において、“a0”は符号化ライン上の起点変化画素であり、“a1”は符号化ライン上で“a0”よりも右にある最初の変化画素であり、“a2”は符号化ライン上で“a1”の次の変化画素であり、“b1”は参照ライン上で“a0”よりも右側にあって、しかも、“a0”と反対色の最初の変化画素である。
また、“b2”は参照ライン上で“b1”の次の変化画素を示している。
この場合でのMMR符号化の手順は、つぎのようになる。
[1] 図9(b)に示すように、は参照ライン上での上記変化画素b2が、符号化ライン上での上記最初の変化画素a1よりも左側にあるときには、1ライン分の画素数分、飛ぶことを意味するパスモード(P)とし、符号化ライン上での上記起点変化画素a0の位置をb2の直下に移す。
[2] 図9(c)に示すような関係の場合には、変化画素b2がa1よりも左側にないのでパスモードとはならず、しかも、a1とb1の距離が3画素以内であるので、このときは垂直モード(V)とし、その距離を符号化し、a0をa1の位置に移す。
[3] 図9(d)に示すように、それ以外の場合には、水平モード(H)とし、a0〜a1の長さとa1〜a2までの長さを符号化し、a0をa2の位置に移す。
以上の各々のモード情報は、図10の可変長符号で符号化され、水平モードにおけるラン長はMH(Modified Huffman)にて符号化される(テレビジョン学会編:画像情報圧縮,オーム社,参照)。これがMMR符号化を用いた場合の符号化例である。
一方、本具体例の手法の場合、図9に示す如き参照ラインと符号化ラインとの関係において、a1とb1の距離がM(:整数)画素以内のときは垂直モード(V)とする。ここで、a1とb1の距離がN(:整数,M≧N)画素以内のときは可変長符号化し、N画素よりも大きな場合はESC符号(エスケープ符号)と固定長符号で符号化するようにする。
なお、この固定長符号は、(M−N+1)の値を2のベキ乗にしておけば、log2 (M−N+1)ビットの固定長符号となる。図10は、N=5とした場合の可変長符号の例である。
さらに、2値画像符号化回路220で符号化されるアルファマップ信号の縮小画像の水平方向の画素数は分かっているので、例えばこの水平方向の画素数が“128”画素であった場合、log2 (M−N+1)の最大値は7ビットとなるため、3ビットの付加情報を付けることでMの値を変えることもできる。
また、MMR符号化では水平モードにおいてラン長をMHで符号化しているが、ラン長の発生頻度分布がアルファマップ信号の水平方向の画素数によって変動する。従って、ラン長をアルファマップ信号の水平方向の画素数に応じて固定長符号化しても良い(水平方向の画素数が“128”画素の場合には、ラン長は7ビットで固定長符号化される)。
さらに、動画像符号化の場合には、フレーム間の相関が高い場合に、図28のように、2値画像符号化回路220は、2次元符号化回路221、ラインメモリ222、フレームメモリ223とより構成し、ラインメモリ222に前ラインの画像を保持させるようにし、このラインメモリ222に蓄積されている前ラインを参照するだけでなく、さらに前フレームで符号化したアルファマップ信号をフレームメモリ223に蓄積しておくようにし、前フレームのラインを参照して2次元符号化回路221において符号化するようにした方が符号化効率が高くなる場合がある。
また、図2および図3の動き補償予測回路110,350で用いる動きベクトルを用いて、前フレームの参照ラインを動き補償しても良い。
このように、本具体例の手法の場合、図9に示す如き参照ラインと符号化ラインとの関係において、a1とb1の距離がM(:整数)画素以内のときは垂直モード(V)とし、かつ、a1とb1の距離がN(:整数,M≧N)画素以内のときは可変長符号化し、N画素よりも大きな場合はESC符号(エスケープ符号)と固定長符号で符号化する方式としたことにより、MMR符号化を用いる場合に比べて高い圧縮率で符号化できるようになる。
具体的手法を、次に説明する。
[第2の具体例のその1]さらに高能率圧縮符号化を図ることができるようにした別の例を説明する。
<方式1>図11は2値画像の符号化法である公知のMMRの符号化手順を表すフローチャートである。すなわち、符号化ライン上の起点変化画素a0の画素位置情報を初期化し(S101)、符号化ライン上で“a0”位置よりも右にある最初の変化画素a1を検出し(S102)、参照ライン上で“a0”位置よりも右側にあって、しかも、“a0”位置の画素と反対色の最初の変化画素b1と、参照ライン上で“b1”位置の次に表れる変化画素b2を検出し(S103)、次にb2とa1の画素位置関係がb2<a1であるか否かを調べ(S104)、b2<a1であれば、パスモード(P)にしてa0の画素位置情報をb2の画素位置情報にセットし(S105,S106)、S103の処理に戻る。
S104での判断の結果、b2<a1でなければ、|a1−b1|≦N(Nはある閾値)であるか否かを判断し(S107)、その結果、|a1−b1|≦Nであれば垂直モード(V)にしてa0の画素位置をa1の画素位置にし(S108,S109)、S110の処理に入る。S110ではa0が“WIDTH ”(画像の横幅方向の画素数)対応の位置であるか否かを判断し、そうでなければS102の処理に戻る。S110での判定の結果、a0が“WIDTH ”対応の位置であれば、画像の最後であるか否かを調べ(S111)、画像の最後で無ければS101の処理に戻る。S110での判定の結果、画像の最後であったならば、処理を終了する。
S107での判定の結果、|a1−b1|≦Nでなければa2を検出し(S112)、水平モード(H)にして“a0”の画素位置を“a2”の画素位置にし(S113,S114)、S110の処理に入る。S110では“a0”が“WIDTH ”であるかを判断し、そうでなければS102の処理に戻る。
なお、“WIDTH ”は図12に示すように、1画面の水平方向1ラインの画素数(ラスタ走査の1ラインの画素数)である。
すなわち、MMRの符号化は1ライン単位で処理を進めるもので、ラスタ走査の1ライン毎に符号化処理を行って符号化してゆく方式である。
ここで、本発明での符号化処理の適用対象となるアルファマップ信号、すなわち、オブジェクトと背景とを区別するための2値画像は、図12(a)に例示される様な、ラスタ走査1ライン毎に変化点が2点程度の単純図形の揚合が殆どである。そして、図11に示したMMRの符号化のように、ラスタ走査の1ライン毎に符号化処理を行うと、符号化すベき変化画素はオブジェクトと背景の境界部のみであるにもかかわらず、画面の右端も変化画素として符号化しなくてはならないため、圧縮符号量の点から考えて効率的でない。
従って、ここで説明する本発明方式においては、ライン内で“a1”や“b1”を検出するのではなく、図13に示すように、ラスタスキャン順で“a1”や“b1”を検出するようにし、これによって境界部の変化画素のみを符号化できるようにする。
MMR符号化のように、ライン毎に符号化処理を行う場合には、“a1”や“b1”は、当該ライン左端からのアドレスであったが、本発明方式においては、ラスタ走査順に“a1”や“b1”を検出して符号化処理するために、“a1”および“b1”は以下のように定義される。
a1= abs_a1−(int)(abs _a0/WIDTH)*WIDTHb1= abs_b1−((int)(abs_a0/WIDTH)−1)*WIDTH
ここで、 abs_a1(abs_b1,abs_a0)は画面左上端からのラスタ順のアドレスである。なお、“*”は乗算を、また、“(int)(x)”はxの小数点以下切り捨てを意味する。
この際の参照ラインは、図13(c),(d)のクロスハッチ掛け領域で表されるように、a0位置の画素から“WIDTH ”相当分の画素数遡った位置までの領域である。ここで、図13(c)は図13(a)の、図13(d)は図13(b)の参照ラインである。
そのため、本発明方式では、パスモードの符号P、水平モードの符号H、そして白画素及び黒画素のランレングス符号を使用して図14に示す如きに符号化する。
ここで、Pはパスモード符号であって、2次元符号化のテーブルに含まれる符号であり、また、Hは水平モード符号であって、これも2次元符号化のテーブルに含まれる符号であり、これらに続く白及び斜線の長方形は、白画素及び黒画素のランレングス符号を表している。
しかし、上記のようにラスタ順で符号化処理を行うようにすると、図14(a)の画像の場合では複数ラインに亙って変化画素が無いので、この場合には、図14(b)のように画像の水平方向の構成画素数(WIDTH )を越えるラン長が発生することとなってしまう。
そのため、本発明方式ではこれに対処するために、垂直方向にラインをパスするための符号として、垂直パスモード符号Vをさらに用意した。
そして、最大ラン長が画像の水平方向の構成画素数 WIDTHを越える場合には、垂直パスモード(V)を適用する。垂直パスモード符号Vは 垂直方向にラインをパスする指示であるため、ラン長がこの“ WIDTH”相当の値以上であっても次のライン内に出現する場合には表現できなくなるので、その場合のための符号として水平モード(ランレングス符号化)からのエスケープ符号を用意した。
この垂直パスモードでは、水平モードで使用されるラン長の最大値は水平方向の画素数 WIDTHとし、ラン長がこの WIDTH相当の値となる場合では、これを表す符号として水平モード(ランレングス符号化)からのエスケープ符号を用いるようにする。
図15は、垂直パスモードの例である。図15(a)の例では、ランレングス符号化からのエスケープ符号と垂直モード符号を用いて垂直パスモードを形成する例である。なお、a0からまるまる1ラインを飛び越えてその次のラインにa1が表れる図15(b)の如きの例の場合には、白ランの長さが画像の水平方向の構成画素数“WIDTH ”より大きくても、パスモードを使用して表現することができるので、垂直パスモードで符号化する必要はない。
さらに、図15(c)の例では、a0からまるまる3ラインを飛び越えてその次のラインにa1が表れているが、この場合にそのライン数分を飛び越える(つまり、パスさせる)ことを指示するための垂直パスモードの符号(VP)を可変長符号テーブル内に用意し、この垂直パスモードの符号VPを使用して対処する例である。この場合の表現はパスさせるライン数を垂直モードで表現するもので、この符号VPの表す情報は、“水平モード(H)+最大ラン長”と等価である。
なお、図15(c)のように、パスさせるライン数を垂直モードで表現するのではなく、次の変化画素のアドレス(SP(a1))を符号化してもよい。
本発明の符号化手法が適用されるアルファマップ信号、すなわち、オブジェクトと背景とを区別するための2値画像では、図16(a)のように最初の数ラインには変化画素が無い場合が多い。本発明では垂直パスモードVPを使用することができることから、図16(a)のような画像の場合に、図16(b)、(c)のように画面の先頭から垂直パスモードを適用することで、符号量の縮減が図れるようになる。
図16(b)の例は、垂直モード符号V0 を使用してパスさせるライン数を表現する方法である。この例の場合は、パスさせるライン数が4ライン分であるので、垂直モード符号V0 を4つ並べる。そして、a1が表れるラインについては、そのラインの先頭からa1までの白ラン長と水平モード符号Hを用いて“H+白ラン長”で表し、さらにa1からa2までの間の黒画素数を並べて“V0 ”+“V0 ”+“V0 ”+“V0 ”+“H”+“白画素数を示すランレングス符号”+“黒画素数を示すランレングス符号”なるかたちで表現する。
また、図16(c)の例は、画面内の最初の変化画素のアドレス(SP(a1))を符号化するようにした方法であり、“SP(a1)+黒画素数を示すランレングス符号”なるかたちで表現する。
従って、このような手法を、アルファマップ信号の符号化に適用することで、高能率の圧縮符号化が可能になる。
<方式2>以上の例では、水平モードでは、(a1−a0)、(a2−a1)をランレングス符号化しているが、これはMMRの水平モードの表現法を継承しているだけである。そこで、ここでは、水平モードでは(a1−a0)だけをランレングス符号化し、a2が他のモード(例えば、垂直モード)で符号化できる場合には、当該a2を他のモードで符号化するような符号化方式を提案する。
図17は、このような方式を適用する場合の符号化手順を説明するフローチャートである。ここでの処理は、まず、符号化ライン上の起点変化画素a0の画素位置情報を初期化し(S201)、符号化ライン上で“a0”位置よりも右にある最初の変化画素a1の検出処理をし(S202)、参照ライン上で“a0”位置よりも右側にあって、しかも、“a0”位置の画素と反対色の最初の変化画素b1と、参照ライン上で“b1”位置の次に表れる変化画素b2の検出処理をし(S203)、次にb1が検出されたか否かをチェックする(S204)。その結果、b1が検出されていれば次にa0からa1までの間の画素数が2*WIDTHより小さいか調べ(S205)、小さければb2<a1であるか否かを調べる(S206)。
その結果、b2<a1の関係にあれば、パスモード(P)にしてa0の画素位置情報をb2の画素位置情報にセットし(S207,S208)、S203の処理に戻る。
一方、S206において、b2<a1でなければ、|a1−b1|≦9であるか否かを判断し(S209)、その結果、|a1−b1|≦9であれば垂直モード(V)にしてa0の画素位置をa1の画素位置にし(S210,S211)、S212の処理に入る。S212では画像の最後か否かを判断し、最後であれば処理を終了し、最後でなければS202の処理に戻る。
また、S209での判断の結果、|a1−b1|≦9でなかったときには、a2の検出処理をし、a1とa2との間の画素数が画像の水平方向構成画素数“WIDTH ”以下であるかを判断し(S214)、そうであれば垂直モードとし(S215)、a0をa2にセットする(S216)。そして、S212の判断処理に移る。
S214での判断の結果、a1とa2との間の画素数が画像の水平方向構成画素数“WIDTH ”以下でなければ、垂直パスモードとし(S217)、a0をa2にセットする(S218)。そして、S212の判断処理に移る。
また、S205での判断の結果、a0からa1までの間の画素数が2*WIDTHより小さくなればa2の検出処理を行い(S219)、次に垂直パスモードとし(S217)、a0をa2にセットする(S218)。そして、S212の判断処理に移る。
これにより、水平モードでは(a1−a0)だけをランレングス符号化し、a2が他のモード(例えば、垂直モード)で符号化できる場合には、当該a2を他のモードで符号化するといった符号化方式が実現できることになる。
[第2の具体例のその2]ここでは、前フレームのラインを参照ラインとすることで、フレーム間の相関を利用して符号化処理効率を向上させるようにする具体例を説明する。図18は、本発明を適用した符号化/復号化装置のブロック構成図である。図中、2000は符号化/復号化回路であり、画像データを符号化処理して出力し、また、入力された符号化画像データを復号化して出力する回路である。2100はラスタ走査に対応するライン単位の画像情報を保持するラインメモリであり、フレーム内の参照ラインとフレーム間の参照ラインの画像情報を保持するものである。また、2200はセレクタ、2300a,2300bはそれぞれフレーム画像を保持するフレームメモリ、2400は動き補償予測回路である。
フレームメモリ2300aおよび2300bは現フレームの画像データをそれぞれ保持するメモリであり、動き補償予測回路2400はフレームメモリ2300bの画像データから動き補償予測を行ってその動き補償予測済みの画像データを出力するものである。
また、セレクタ2200は符号化/復号化回路2000の出力するモード切り替え信号により、動き補償予測回路2400の出力する画像データまたはフレームメモリ2300aからの画像データのいずれか一方を選択してラインメモリ2100に出力する回路である。また、ラインメモリ2100はこのセレクタ2200を介して得られた画像データをライン単位で保持し、符号化/復号化回路2000に渡し、符号化/復号化回路2000はこのライン単位の画像データを用いて符号化もしくは復号化処理する回路である。
このような構成の本システムにおいて、符号化/復号化回路2000は入力される画像情報をラインメモリ2100の内容を参照しながらラスタ走査の順に従って符号化して出力OUTより出力し、また、この符号化した内容は復号化してフレームメモリ2300a,2300bに入力して蓄える。フレームメモリ2300a,2300b内の復号化された画像の情報は読み出されてセレクタ2200に、あるいは動き補償予測回路2400を介して動き補償予測処理され、セレクタ2200に与えられる。
セレクタ2200は、符号化/復号化回路2000より線10を介して供給されるモード切り換え信号(フレーム内/フレーム間)に従って、入力切り替えされ、ラインメモリ2100はこのセレクタ2200を介してフレームメモリ2300a,2300bからの画像情報が与えられることにより、ラインメモリ2100には、モード切り換え信号(フレーム内/フレーム間)に応じて、選択入力されることになるフレーム内の参照ラインとフレーム間の参照ラインのいずれかが逐次蓄えられる。
ここで、フレームメモリ2300a,2300bには符号化/復号化回路2000により符号化/復号化処理されることにより得られた当該フレームの復号済みの画素値と、復号済みの参照フレームの画素値が蓄えられている。なお、フレーム間の参照ラインは、動き補償予測回路2400にて動き補償した信号を用いても良い。
また図19(a),(b)のクロスハッチ部は、ラスタ順に符号化する場合のフレーム内とフレーム間の参照ラインの例である。図19(a)はフレーム内の参照ラインであり、以後、これを“ABOVE LINE”と呼ぶことにする。図19(b)はフレーム間の参照ラインであり、参照フレーム内のa0と同じ、あるいは動き補償後のアドレスa0´に対して図のように設定されるもので、以後、これを“PREVIOUS LINE ”と呼ぶことにする。
参照ラインを切り換えるためのモード情報は、符号化/復号化回路2000により、例えば、複数のラインで構成されるブロックライン毎に別途符号化される。
図20は、本具体例の符号化手順を表すフローチャートであり、符号化/復号化回路2000は、まず、初めに符号化ライン上の起点変化画素a0の画素位置情報を初期化し(S301)、次に起点画素a0が属するラインのモードがフレーム内(INTRA)であるか否かを調べる(S302)。その結果、フレーム内(INTRA)であれば“ABOVE LINE”をラインメモリ2100に読み込む(S302)が、フレーム内(INTRA)でなければ“PREVIOUS LINE ”を図18のラインメモリ2100に読み込むように制御する(S309)。
そして、次にa1の検出処理をし(S304)、さらにb1,b2の検出処理をし(S305)、次にb2とa1の画素位置関係がb2<a1であるか否かを調べ(S306)、b2<a1であれば、パスモード(P)にしてa0の画素位置情報をb2の画素位置情報にセットし(S307,S308)、S304の処理に戻る。
S306の処理において、b2とa1の画素位置関係がb2<a1でなければ、|a1−b1|≦N(Nはある閾値)であるか否かを判断し(S310)、その結果、|a1−b1|≦Nであれば垂直モード(V)にしてa0の画素位置をa1の画素位置にし(S311,S312)、S313の処理に入る。S313ではa0が“WIDETH”(画像の横幅方向の画素数)対応の位置であるか否かを判断し、そうでなければS304の処理に戻る。S313での判定の結果、a0が“WIDETH”対応の位置であれば、画像の最後であるか否かを調べ(S314)、画像の最後で無ければS301の処理に戻る。S314での判定の結果、画像の最後であったならば、処理を終了する。
S310での判定の結果、|a1−b1|≦Nでなければa2を検出し(S315)、水平モード(H)にして“a0”の画素位置を“a2”の画素位置にし(S316,S317)、S313の処理に入る。
すなわち、以上の手順は、起点画素a0が属するラインのモードがフレーム内(INTRA)の場合には“ABOVE LINE”を、また、フレーム間“(INTRA)”の場合には“PREVIOUS LINE ”を図18のラインメモリ2100に読み込む。“PREVIOUSLINE ”を参照ラインとするとき、符号化ラインと全く同じか、あるいは誤差が非常に小さい場合には、“NOT CODED ”すなわち、符号化ラインを符号化せずに参照ラインの信号をそのままコピーするというものであり、“PREVIOUS LINE ”を参照ラインとするとき、符号化ラインと全く同じか、あるいは誤差が非常に小さい場合には、符号化ラインを符号化せずに参照ラインの信号をそのままコピーすることで、発生符号量を削減することができる。
図21は、この方式を使用した場合での人物像アルファマップに対するブロックライン毎の、モードの切り換えの例である。ブロックラインとは、隣接する複数のライン単位で構成したブロックを示しており、頭頂部近傍に相当する部分が占める第0および第1ブロックラインではそれぞれ“INTRA ”、顔部分に相当する部分が占める第2〜第4ブロックラインでは互いの違いが少ないのでそれぞれ“NOT CODED ”、肩部胸部近傍に相当する部分が占める第5〜第8ブロックラインではそれぞれ“INTRA ”のラインモードとなっていることを示している。
また図22は、ラスタ順に符号化する場合に、“NOT CODED ”となるブロックラインの符号化をスキップする際の具体例を説明するものである。本発明では、起点画素a0が属するラインの属性(“INTRA ”/“INTER ”/“NOT CODED ”により、モード切り換えを行っている。しかし、ラスタ順に符号化する場合には、a1がa0と同じライン上にあるとは限らない。したがって、復号時にa1がa0と同じライン上か否かは不明である。
そこで、図22のように、a0が当該ブロックライン上での最後の変化画素であり、かつ、次のブロックラインのモードが“ NOT CODED”(非符号化)である場合には、スキップ符号SKにより次の“CODED ”(符号化)となるブロックラインにスキップし、このスキップ先のブロックラインの先頭画素を新たなa0(new a0)とすると共に、このスキップされるブロックラインの領域についてはすべて符号化する。
つまり、a0が存在するブロックラインB1があり、そのブロックラインB1のモードが“INTER ”であるとし、当該ブロックラインB1の次に、モードが“NOT CODED”のブロックラインが3つ繋がり(B2〜B4)、その次にモードが“INTER ”であるブロックラインB5が繋がっているので、当該B5のブロックラインの先頭にa0を移してnew a0とし、符号SKを用いてa0からnew a0にスキップし、ブロックラインB1からB4までについてはすべて“CODED ”、すなわち、符号化することになる。また、この符号SKの可変長符号は“垂直モード”/“水平モード”/“パスモード”の可変長符号と共に設計される。
図23は以上の符号化手順を表すフローチャートであり、図17の点線で囲まれた部分を変更したものである。符号化ライン上の起点変化画素a0の画素位置情報を初期化し(S201)、次に起点画素a0が属するラインのモードがフレーム内(INTRA)であるか否かを調べる(S1201)。その結果、フレーム内(INTRA)であれば“ABOVE LINE”をラインメモリ100に読み込む(S1202)が、フレーム内(INTRA)でなければ“PREVIOUS LINE ”を図18のラインメモリ2100に読み込む(S1203)。さらにa0が属するラインのモードが“NOT CODED LINE”、つまり、符号化しないラインでないかを調べ(S1203)、符号化しないラインであればS201の処理に移り、符号化しないラインであれば、次にa1の検出処理をし(S202)、さらにb1,b2の検出処理をし(S203)、S204の処理に入るといった処理形態である。
以上、前フレームの符号化済みの信号を復号化して蓄え、かつ、当該前フレームの信号を参照することで、画像の符号化中の領域が符号化済みの領域の画像状態に近似しているか否かを調べ、近似しているとき、その領域の画像の符号化をせずに、代わりに、上記復号済みフレーム内の信号を上記符号化中のフレームにコピーすると共に、コピーされた部分をスキップして、次の符号化すべき領域の符号化をするよう符号化処理するようにしたことにより、コピーされた部分を符号化しないで処理能率を向上させることができるようになる。
[第2の具体例のその3]ここでは、参照ラインを複数用いて予測の性能を向上させることで、発生符号量を縮減する具体例を説明する。
図24は、本発明の符号化ラインと参照ラインの関係を説明する図である。ここで、新たにc1とc2の定義を行う。
c1:a0よりも右側で、a0と反対色の最初の変化画素c2:c1の次の変化画素本発明は、a1を符号化する際に、c1とb1の変位から、b1とa1の変位を予測するものであり、以下の式で得られるdiffを垂直モードで符号化する。
diff=b1-a1+f{b1-c1)ここで、f(x)はb1とa1との変位を推定する予測関数である。また、次式は微小ノイズによる予測効率の低下を防止するために、c1とb1の変位の絶対値がしきい値thよりも小さい場合に予測値を0とする予測関数の例である。
f(x)=0 (abs(x)<th)
f(x)=sign(x) (abs(x)≧th)
sign{x)=−1 (x<0)
sign{x)= 0 (x=0)
sign{x)= 1 (x>0)
但し、c2がb1より左端にある時、あるいはabs(b1-c1)が、あるしきい値よりも大きい場合は、通常の垂直モードで符号化する。
図25は、本具体例の符号化手順を表すフローチャートであり、第1の垂直モードは従来の垂直モードであり、第2の垂直モードは、参照ラインを2ラインとする垂直モードで、本発明で採用した新しいモードである。
ここでの処理は、まず、符号化ライン上の起点変化画素a0の画素位置情報を初期化し(S401)、符号化ライン上で“a0”位置よりも右にある最初の変化画素a1の検出処理をし(S402)、参照ライン上で“a0”位置よりも右側にあって、しかも、“a0”位置の画素と反対色の最初の変化画素b1と、参照ライン上で“b1”位置の次に表れる変化画素b2の検出処理をし(S403)、次にb1がa1より小さいか判断する(S404)。その結果、b1がa1より小さい場合はパスモード(P)にし(S405)、次にa0の画素位置情報をb2の画素位置情報にセットし(S406)、S403の処理に戻る。
S405の判断において、b1がa1より小さくなかったときはc1,c2の検出処理をし(S407)、c2がb1より小さいか判断する(S408)。その結果、c2がb1より小さかったときは|a1−b1|≦Nであるか判断し(S409)、|a1−b1|≦Nであったときは、第1の垂直モード(V)とし(S410)、a0の画素位置をa1の画素位置にし(S411)、S412の処理に入る。
S412では、a0の位置が水平方向の画素数であるWIDTH の値対応の位置であるか判断し、そうでなければS402の処理に戻り、そうであればS413に移り画像の終りであるか判断し、終りであれば処理を終了し、終りでなければS401の処理に戻る。
一方、S408の判断において、c2<b1でなければ|diff|≦Nであるか調べ(S418)、その結果、そうでなければa2を検出処理し(S414)、水平モードとし(S415)、a0をa2にセットする(S417)。そして、S412の処理に入る。S418の判断の結果、|diff|≦Nであれば、第2の垂直モードとし(S419)、a0をa2にセットする(S420)。そして、S412の処理に入る。
一方、S409の判断において、|a1−b1|≦Nでなかったときには、a2を検出処理し(S414)、水平モードとし(S415)、a0をa2にセットする(S417)。そして、S412の処理に入る。
以上の処理により、参照ラインを複数用いて予測の性能を向上させることができるようにし、この予測の性能向上により、発生符号量を縮減することができるようになる。
[応用例]次に本発明の手法による高能率圧縮符号化の応用例として、上述のように2値ではなく、多値のアルファマップを符号化する場合の具体例を説明する。図26は、多値のアルファマップを説明する図である。図26(a)、はオブジェクトと背景を合成する際に境界部での不連続性を防止するために、合成の重み付けを多値で表現したものの例である。また図26(b)は、キャプションの一部を半透明に合成する際の例である(半透明重ね合わせ)。
ここで、オブジェクトの信号をSo、背景の信号をSb、重み付けの値(Alpha Value)をaとすると、合成信号Scは次式で表される。ここで、Alpha Valueは8ビットで表現されている。
Sc=((255-a)*Sb+a*So)/255このような、アルファマップを符号化する場合には、図27(a)のように、アルファマップの値が0か否かを表すシェープ情報(Shape )と、アルファマップにおける画素のグレースケール情報(階調情報)であるアルファバリュー情報(Alpha Value )とに分離して符号化する。すなわち、図27(b)のように、シェープ情報Shape を本発明の2値画像符号化法を実施するためのシェープコーディング部2500に与え、ここで本発明の2値画像符号化法により、シェープ情報Shape を符号化し、Shape 情報の再生信号にしたがって、多値画像用の符号化を行うアルファバリューコーディング部2600により、アルファバリュー情報Alpha Value を符号化すれば良い。
このようにすると、2値ではなく、多値のアルファマップを符号化することができるようになる。
(第3の具体例)次に、本発明の第3の具体例として、画面全体に占めるオブジェクト部分の領域がかなり小さい場合での符号量低減技術を、図29と図30を用いて説明する。
図29(a)に示されるような画面全体に占めるオブジェクト部分の領域がかなり小さい場合において、画面全体のアルファマップ信号を符号化するのではなく、図29(b)のようなオブジェクトを含む小領域のアルファマップ信号を符号化した方が符号量が低減される場合がある。
そして、この場合、小領域の大きさと、画面内での位置関係がわからなければならない。
そこで、小領域の位置を表すための小領域左上端Sの位置アドレスと、小領域の(水平,垂直)方向の大きさ(h,v)とを付加情報として別途符号化する。さらに、前記Sや前記(h,v)の符号量を低減するために、図29(a)において破線で区切られた、符号化の処理単位であるブロックの整数倍となる様に小領域を設定することで、Sや(h,v)をブロックのアドレスで表現することもできる。
図30は、上記の処理の流れを説明するブロック図であり、図30(a),(b)は各々送信側、受信側のブロック図である。
送信側は、オブジェクト領域検出回路500、アルファマップ符号化回路200、多重化回路510とから構成されている。オブジェクト領域検出回路500は、アルファマップからオブジェクト部分の領域を検出する回路であり、小領域のアルファマップ信号と、Sや(h,v)の値とを検出するものである。
また、アルファマップ符号化回路200は小領域のアルファマップを符号化する回路であり、既に詳述した如きのものである。多重化回路510はこの符号化されたアルファマップと、オブジェクト領域検出回路500の出力するSや(h,v)の値とを多重化して出力する回路である。
また、受信側は、分離化回路520、アルファマップ復号化回路400、アルファマップ復元回路530から構成されている。分離化回路520は、ビットストリームから、小領域のアルファマップ信号と、Sや(h,v)の値の符号化成分とを分離するものであり、アルファマップ復号化回路400は小領域のアルファマップ信号を復号して元のサイズのアルファマップを得る回路であり、アルファマップ復元回路530はSや(h,v)の値の符号化成分からSや(h,v)の値を復元する回路である。
このような構成において、線20を介して画面全体のアルファマップ信号が供給されたオブジェクト領域検出回路500では、図29(b)のような小領域のアルファマップ信号を線22を介してアルファマップ符号化回路200に供給すると共に、Sや(h,v)の値を符号化して、線23を介してアルファマップ符号化回路200と多重化回路510に供給する。
多重化回路510では、線24を介して供給される符号化された小領域のアルファマップ信号と、線23を介して供給される符号化されたSや(h,v)の値を多重化した後、線30を介して出力する。
一方、線80を介して分離化回路520に供給された符号は、小領域のアルファマップ信号に関する符号と、Sや(h,v)に関する符号に分離され、各々線84と線86を介して出力される。アルファマップ復元回路530では、線85を介して供給される再生された小領域のアルファマップ信号と、線86を介して供給されるSや(h,v)の値から、画面全体のアルファマップ信号を復元し、線90を介して出力する。
この結果、図29(a)に示されるような画面全体に占めるオブジェクト部分の領域がかなり小さい場合において、画面全体のアルファマップ信号を符号化するのではなく、図29(b)のようなオブジェクトを含む小領域のアルファマップ信号を符号化して符号量低減を図ることができるようになる。
(第4の具体例)次に、第4の具体例として、図4のサンプリング変換(拡大・縮小変換)により発生する斜め方向の不連続性を滑らかにする技術を、図4と図33および図34を用いて説明する。
2値画像の縮小拡大を繰り返すと、斜めの線あるいは、曲線の滑らかさが失われ易い。アルファマップ信号は2値画像の情報であるから、縮小拡大を繰り返すと、このような現象を起こし易く、しかも、画面内の目的の部分を抽出したり、認識するために用いるのがアルファマップ信号であるから、このような滑らかさが失われることは、画質の劣化に繋がる。そこで、この滑らかさを失うという問題を解消する技術が必要となる。
本具体例は、図4の構成においてサンプリング変換(拡大・縮小変換)により発生する斜め方向の不連続性を滑らかにする2値画像の処理方法に関するものである。
図33は、スムーシング処理(平滑化処理)を説明するための図である。ここで、図33の(a)は元のサイズの2値画像、図33の(b)はこれを縮小して得た2値画像である。図33においては、オブジェクト領域は黒丸印で、また、バックグラウンド(背景)領域は白丸印で示してある。
本具体例では、図4の構成において解像度変換回路210や解像度変換回路230によるサンプリング変換(拡大・縮小変換)がなされることにより発生する斜め方向の不連続性を滑らかにするために、バックグラウンド領域の画素(白丸)一つ一つについて、それを中心にして、その上下左右の画素、つまり、隣接画素を調べ、そのうち、2画素以上がオブジェクト領域の画素(黒丸)であったときは、そのバックグラウンド領域の画素を、オブジェクト領域に含める処理を行う。
すなわち、今、バックグラウンド領域にある一つの画素である検査対象画素が図33(b)における二重丸印で示す位置の画素である場合のように、その隣接画素に、2画素以上、オブジェクト領域の画素(黒丸)があったときは、その二重丸印で示す位置の画素(つまり、検査対象画素)を黒丸印の画素にしてオブジェクト領域の画素にする。黒丸印の画素が例えば、“1”、白丸印が“0”であるとすると、二重丸印で示す位置の画素(画素値“0”)を、画素値“1”に置き換える処理をする。
具体的にはつぎのようにする。図34に示すように、上記画像処理を行う装置としては、2フレーム分のメモリ621,622を用意し、スムーシング処理を行う対象の2値画像データを、それぞれのフレームメモリ621,622に保持させるようにする。そして、そのうちの一方のフレームメモリを検査用画像の保持メモリとし、他方を作業用メモリとする。そして、制御手段623により、これらフレームメモリ621,622をつぎのように制御し、また、これらフレームメモリ621,622の保持内容を用いてつぎのように演算処理する。
2値画像データが入力されると、制御手段623はこの2値画像データを、検査用画像の保持メモリと作業用メモリとに格納するように制御する(S1)。
つぎに制御手段623は、検査用画像の保持メモリに保持された画像の画素一つずつについて、その画素を検査対象画素としたときに、それに隣接する4方の画素の値を調べる(S2)。そして、検査対象画素の値が“0”であって、それに隣接する4方の画素のうち、値が“1”を持つ画素が2画素分以上あるかを調べ(S3)、2画素分以上ある場合には、その検査対象画素の画素の値を“1”に書き替える(S4)。この書き替えは作業用メモリに対して該当の画素位置のものを“1”にすることで行う。
全ての画素についてこの処理が済むと、制御手段623はこの作業用メモリにある修正済みの2値画像データを読出し(S5)、スムーシング処理済みの2値画像データとして出力する。
この処理の結果、滑らかさが失われた2値画像データは、輪郭部の滑らかさが回復することになる。
滑らかさが大きく失われている2値画像データの場合は、上記処理を複数回繰り返す。すなわち、作業用メモリにある修正済みの2値画像データを検査用画像の保持メモリにコピーし(S6)、再び、S2以降の処理を行う。圧縮と拡大の率や回数が決まれば、そのシステムの場合、滑らかさ喪失の度合いがどの程度であるかは分かるので、状況対応に適宜な繰り返し回数を定めて、上記の処理を繰り返した後、処理済みの2値画像データとして作業用メモリの2値画像データを読出して最終処理済み出力とするよう、制御手段623に制御させる。
この結果、滑らかさが大きく損なわれた2値画像データであっても、滑らかな輪郭に修正することができるようになる。そのため、この図34の画像処理手段を図4の構成における解像度変換回路210の出力段に設けておけば、輪郭の滑らかな2値画像データを後段に与えることができるようになる。
以上、種々の例を説明したが、以上の具体例は要するにオブジェクトスケーラビリティを実現するに当たって必要となるアルファマップについて、解像度縮小を図り、符号化すると共に、得られた符号を縮小率情報と共に多重化して伝送や蓄積用のアルファマップ信号とするようにしたことを特徴としている。そのため、アルファマップ信号は効率良く符号化できることになり、オブジェクトの形状情報を効率良く符号化できるようになる。
また、アルファマップ信号を再生する時は、アルファマップの符号化成分と、縮小率情報とを分離し、アルファマップの符号化成分は復号した後に縮小率情報に従って元の解像度に拡大するようにしたことで、元のサイズのアルファマップを復元できるようになり、アルファマップを用いた符号化画像の復号も支障なく行えるようになる。
また、本発明はブロックライン毎に処理が可能であるため、図32に示すように、ブロックライン毎にそのブロックライン対応部分のアルファマップの符号を伝送し、受信側ではブロックライン毎に復号することも可能である。
すなわち、一般的なMMRでは画像をその水平方向ライン内でのみ変化画素を検出するのに対して、第1ないし第4の具体例ではMMRを用いてはいるが、画像をラスタスキャン順に複数ラインにまたがって変化画素を検出している。そのため、ブロックライン毎に処理が可能であるから、図32に示すように、ブロックライン毎にそのブロックライン対応部分のアルファマップの符号を伝送し、受信側ではブロックライン毎に復号することも可能である。
<マクロブロック単位での符号化、復号化処理>以上の各具体例は、任意形状の部分画像像毎に再生可能な符号化方式の機能であるオブジェクトスケーラビリティを実現する際に必要となるアルファマップの符号化において、一画面全体あるいは、ブロックライン単位で符号化を行う方法であり、2値画像で表現されたアルファマップを、FAXの符号化方式であるMMR(Modified Modified READ)に基づいた符号化方法にて符号化する手法であった。そして、MMRは基本的にライン単位での符号化法である。
一方、動画像の標準符号化方式であるMPEG等の既存の画像符号化方式は、一般に画面全体を16×16画素で構成されるマクロブロックMBに分割した上で、各マクロブロックMB単位で符号化処理が行われている。従って、このような場合にはアルファマップの符号化法もマクロブロックMB単位での符号化を可能にすることが望ましい。しかし、マクロブロックMBは画面の一部分であるために、ライン単位での符号化法であるMMRに基づいて一つ一つのマクロブロックMBを符号化すると符号化効率が低下するおそれがある。
そこで、マクロブロック単位で効率的に符号化処理し、また、復号化処理することのできるようにした符号化技術を次に説明する。
(第5の具体例)本発明にかかるマクロブロック単位での符号化、復号化処理の第1の手法を第5の具体例として、図35、図36および図37を参照しながら説明する。この具体例において必要なシステム構成は基本的には図2および図3の如きで良く、以下説明する処理は符号化処理については、図2におけるアルファマップ符号化回路200においてなされ、復号化処理については図3におけるアルファマップ復号化回路400においてなされるように仕組みを整えておけば良い。
図35は、アルファマップの画面内を例えば、画素サイズが16×16画素といった所定の複数画素構成によるマクロブロックMB単位に分割した図であり、正方形の升目で示したものが分割の境界線であり、升目一つ一つがマクロブロックMBである。
アルファマップはオブジェクトの情報を画素毎に2値で示すものであるから、画素は白か黒のいずれかであり、従って、図35に示されるように、アルファマップの画面における各マクロブロックMBはその中身の状態は“all_white”(全て白)、“all_black”(全て黒)、“others”(その他)の3つの種類のいずれかに分類される。
人物像のアルファマップである図35のような画面の場合、背景は“白”、人物部分は“黒”であるから、マクロブロックMBは符号(MBwh)を付して示す背景部分のみのものと、符号(MBbk)を付して示す人物部分のみのもの、そして、符号(MBot)を付して示す背景部分と人物部分両方を含むものとに分けることができる。そして、この場合、符号化の必要な部分は(MBot)なる部分であり、図35より明かなように、(MBot)なる部分はオブジェクトOJにおける輪郭部分の入ったマクロブロック、すなわち、図36に示す如き部分のマクロブロックのみにMMRベースの符号化法を適用すれば良いことが分かる。(MBot)なる部分のマクロブロックは、人物の輪郭領域に位置するマクロブロックであり、背景部分と人物部分両方を含む部分である。
ところで、図37のようなマクロブロックMBに、第1から第4の具体例の手法を適用すると、検出される変化画素は図37(a)において黒丸で示した位置になる。なお、以後の図では簡単のため、マクロブロックMBのサイズを8×8画素で構成されるブロックとして例示している。
一方、マクロブロックMBを画面左上からラスタスキャン順に符号化して送信し、ラスタスキャン順に受信して復号化を行うとすると、今、符号化あるいは復号化処理しようとしている対象のマクロブロックMBの上辺に接する画素群(“top referece”)と、当該マクロブロックMBの左辺に接する画素群(“left reference”)は、図37(b)に示されるように送受信両端において既知の値となる。すなわち、ラスタスキャン順に処理してゆくので、top refereceとleft referenceは既に処理した隣接のマクロブロックMBの情報であるから既知の値である。
マクロブロックMB単位で考えた場合、ラスタスキャン順に処理してゆく方式ではそのマクロブロックMBでの左辺に接する画素においては、それが図37(a)に黒丸印を付して示すように変化画素であった場合にはそれは変化画素として符号化しなければならないから、画面単位で符号化する場合に比べて極めて冗長な情報となる。
そこで、このような冗長さを解消するために、本発明では、マクロブロックMBの左端の画素に関しては同じライン上の“left reference”の値との変化を検出すると共に、参照領域内で“pred_color ”と反対色となる最初の変化画素を”b1”と定義する。すると、変化画素は図37(b)の黒丸印の位置となり、図37(a)に比べて冗長な変化画素が大幅に削減される。
ここで、“pred_color ”に該当するのは“a0_color ”(previous line )と“ ref_color ”(current line)となる。なお、“current line”とは、起点変化画素“a0”が属するラインのことであり、“previous line ”とは、“current line”の1ライン上のラインのことであり、“a0_color ”とは起点変化画素“a0”の値(black or white(白値または黒値))であり、“ ref_color ”とは“current line”と同じラインの“left refeence ”の値である。
ここで、“top reference ”は、図37(b)に示されるマクロブロックMBの上辺に接する画素群を指し、“left reference”は、図37(b)に示されるマクロブロックMBの左辺に接する画素群を指す。
なお、オブジェクトを含む方形領域を符号化対象としている場合に、マクロブロックMBの上辺あるいは左辺が方形領域の上端あるいは左端に接しているときは、“top reference ”および“left reference”の値は全て、“white ”(白)とする。
また、第1ないし第4の具体例に示した発明では、複数ラインの再生値を用いて相対アドレスの変化量を予測する方法が記載されている。このような場合には、前記の“top reference ”および“left reference”を複数ライン蓄えておく必要がある。また、マクロブロックMB毎に符号化する順序を右下から順次符号化するようにしてもよい。この場合、マクロブロックMBの下辺に接する再生値と右辺に接する再生値を用いる。
また、動き補償予測が適用される場合には、図2と図3の構成における動き補償予測回路110および350において、画像信号と同様にアルファマップ信号の動き補償予測も生成することができる。上記の“top reference ”および“left reference”は、送信側および受信側とも同じ信号が得られれば良いため、“top reference ”および“left reference”には,動き補償予測値を用いても良い。また、第1ないし第4の具体例に示したように、動き補償予測値との相対アドレス符号化を適用しても良い。
以上は、マクロブロックMB単位でラスタスキャン順に圧縮符号化し、ラスタスキャン順(xyスキャンにおけるx方向スキャンのスキャン順)に復号化処理する場合の例であった。しかし、マクロブロックMB単位で圧縮符号化し、復号化する場合に、画像の状態によってはラスタスキャン順に行うよりも垂直方向(xy方向におけるy方向スキャン順)に処理するようにした方が効率の良い圧縮処理ができる場合があり、従って、ラスタスキャン順にしたり、垂直方向にスキャンを切り換えたりして、画像の状況対応に種々切り換えて処理することができるようにした方式も実現できれば有用である。そこで、このような方式を次に第6の具体例として説明する。
(第6の具体例)図38を用いて本発明の第6の具体例を説明する。この具体例において必要なシステム構成も基本的には図2および図3の如きで良く、以下説明する処理は符号化処理については、図2におけるアルファマップ符号化回路200においてなされ、復号化処理については図3におけるアルファマップ復号化回路400においてなされるように仕組みを整えておけば良い。
図38(b)は第1ないし第5の具体例におけるスキャン順序(左から右ヘスキャンする(水平スキャンSh ))であり、図38(a)はこのスキャン順序によってスキャンされることにより、検出された変化画素(黒丸で示した画素)の例である。
この場合、第5の具体例における変化画素の検出方法を用いても、変化画素は12個検出される。そこで、この具体例では図38(d)に示すように、マクロブロックMBの行のアドレスと列のアドレスを入れ換えることによって、縦方向のスキャン順序(上から下にスキャンする(垂直スキャンSv ))で変化画素を検出する。このようにすると、図38(b)のスキャン方法で12個検出された変化画素は、図38(c)に示すように8個に減る。このように、画像の状態によってはスキャン方向を変えることで変化画素の数を減らすことができる。
本発明では、変化画素間の変化量が同じ場合、変化画素の数が少ない方が発生符号量が少なくなるため、図38の例では、(b)に比べて(d)のスキャン順の方が発生符号量が少なくなる。
従って、図38(b)のスキャン順序と図38(d)のスキャン順序を適応的に切り換えることによって、符号量の削減ができる場合がある。この場合、復号化処理側で再生できるようにするために、スキャン順序を識別する情報を別途符号化してデータに付加しておく必要がある。そして、このスキャン順序を識別する情報に基づき、方向を切り換えながら復号するようにする。
以上は、マクロブロックMB単位で圧縮符号化し、復号化する場合に、画像の状態によってはラスタスキャン順に行うよりも垂直方向(xy方向におけるy方向スキャン順)に処理するようにした方が効率の良い圧縮符号化処理ができる場合があり、従って、ラスタスキャン順にしたり、垂直方向にスキャンを切り換えて処理をしたりするといった具合に、画像の状況対応に方向を種々切り換えて処理することができるようにした方式を実現するものであった。
しかし、正方ブロックであるマクロブロックMBを、正方ブロックのまま、処理する方式にかえて、正方ブロックを横長の長方形ブロックに並び替えるかたちにしてから処理すると、符号量を少なくすることができる場合もあるのでそれを次に第7の具体例として説明する。
(第7の具体例)図39を用いて本発明の第7の具体例を説明する。この具体例において必要なシステム構成も基本的には図2および図3の如きで良く、以下説明する処理は符号化処理については、図2におけるアルファマップ符号化回路200においてなされ、復号化処理については図3におけるアルファマップ復号化回路400においてなされるように仕組みを整えておけば良い。
本具体例は、マクロブロックMB毎に独立に符号化するため、第5の具体例における“top reference ”および“left reference”の値を用いない例である。図39(a)は、本具体例のスキャン順序を説明する図である。図39(a)における左側の図のように、マクロブロックMBを構成するn×n画素構成の正方ブロックを、図39(a)における右側の図のようにライン毎に交互にスキャン方向を切り換えることで、ラスタスキャンされた長方形ブロックを作成する。すなわち、正方ブロックにおいて左上の画素よりラインに沿って水平に右側へスキャンし(S1)、右端に達すると次にその下のラインの画素に移り、右端から左端にラインに沿って水平に左側へスキャンし(S2)、左端に達すると次にその下のラインの画素に移り、左端から右端にラインに沿って水平に右側へスキャンし(S3)といった具合に、ジグザグにスキャンを進める。そして、スキャンの2ライン分をスキャン順に繋いで1ラインを倍にし、垂直方向(縦方向)にはライン数を少なくするかたちとして長方形ブロックを作成する。つまり、方形ブロックにおけるジグザグスキャンのS1,S2,S3,S4,S5,S6,…を、S1の次にS2を繋いで最上位置の1ラインとし、その下のラインはS3とS4を繋いだものとし、さらにその下のラインはS5とS6とを繋いだものとする,…といった具合である。
このように、正方ブロックを横長の長方形ブロックに並び替えるかたちにスキャンすることで、図39(b)の場合には変化画素の数が正方ブロックでは10個あったものが長方形ブロックでは5個に低減される。
但し、このようにすると変化画素間の相関は低下するため、符号化にあたり、正方ブロックに対して設計された可変長符号を用いると、逆に符号量が増加してしまう場合もある。しかし、この場合、長方形ブロックに対しては、長方形ブロック用の可変長符号を新たに設計してテーブルとして用意し、この長方形ブロック用可変長符号テーブルを用いて符号化するようにすればよい。
また、この具体例を適用しても図39(c)のような場合には、図からも分かるように変化画素の数は変わらず、逆に変化画素間の相関が低下しているために、長方形ブロックに変換するとむしろ発生符号量が増加してしまう。
画像の状態は様々であり、従って、正方ブロックと長方形ブロックとを適応的に切り換えることで、発生符号量の削減を図ることができる場合があることから、手法としてこの具体例のようなものも、十分に意義がある。
ところで、マクロブロックMB単位の処理とはいっても、いつでもマクロブロックMBのサイズそのままに、圧縮処理するというのは能率的でない場合も多い。例えば、縦の垂直な帯線のみが入っている場合のように、マクロブロックMB内においてどのラインも同じ画像の状況を呈しているような時は、ラインを間引くかたちで圧縮しても解像度を落とすことなく高い忠実度で再生することが可能である。このような画像に対して最適な手法を次に第8の具体例として説明する。
(第8の実施例)図6および図8および図40を用いて本発明の第8の具体例を説明する。この具体例において必要なシステム構成も基本的には図2および図3の如きで良く、以下説明する処理は符号化処理については、図2におけるアルファマップ符号化回路200においてなされ、復号化処理については図3におけるアルファマップ復号化回路400においてなされるように仕組みを整えておけば良い。
本具体例は、第1の具体例において用いた2値画像を縮小した後に符号化する方法を、マクロブロックMB単位での処理に適用した場合の問題点を解決するものである。
上述したように、符号化回路および復号化回路は基本的には第1の具体例で用いたものを採用することができ、ここではアルファマップ符号化回路200は既に説明した図6の構成を、また、アルファマップ復号化回路400は既に説明した図8の構成を採用する。従って、各構成要素の動作および信号の流れは既に第1の具体例で詳細に説明したので、ここでは深く立ち入らない。
図40は2値画像を縮小する例を示す図である。図40の(a)は、第1の具体例で説明した手法による縮小例であり、縮小フィルタにより縮小した例である。図40の(a)においては、変換比率CRが“1”のもの(縮小なしの状態のもの)、変換比率CRが“1/2”のもの(1/2縮小の状態のもの)、変換比率CRが“1/4”のもの(1/4縮小の状態のもの)を示しており、いずれも方形のブロックの状態のまま間引き処理した結果を示している。
また、図40の(b)は第7の具体例で説明したライン間引きにより垂直方向に縮小した例である。図40の(b)においては、変換比率CRが“1”のものが縮小なしの状態のもの、変換比率CRが“1/2”のもの(1/2縮小の状態のもの)、変換比率CRが“1/4”のもの(1/4縮小の状態のもの)を示しており、いずれも方形のブロックから間引き処理を行ってかつ長方形ブロックへの変換を行った状態に処理した結果を示している。
ここで、変換比率CR(“Conversion Ratio”)は、図6のアルファマップ符号化回路200における線60を介して供給される縮小率である。第1の具体例あるいはMMRでは、変化画素“b1”と変化画素“a1”のアドレスの差分(b1−a1)の値がしきい値以下ならば、長さ(a1−a0)のランと長さ(a2−a1)のランを符号化している(水平モード)。
また、符号化をマクロブロックMB毎に行うため、生起し得るラン長の種類は、各CRの値に対して一意に定まる。ここで、図40(a)のように、方形形状のブロックのまま、水平,垂直方向共に間引いて縮小した場合には、変換比率CRが変わることによってラン長の頻度分布が大きく変わる。従って、各CR対応にランレングス用の可変長符号を各々用意しておくことで、各CR対応に可変長符号化を行うようすれば、符号化効率の改善が図れる。
なお、第1の具体例のように、最大ラン長を画面(マクロブロックMB)の水平画素数とすれば、ラン長の種類は最大でも17(0〜16)であるから、複数の可変長符号を用意しても可変長符号表を蓄えるメモリの負担は小さい。
また,図40(b)の例では,変換比率CRを小さくすると変化画素間の相関が低下するため、変換比率CRが異なれば、相対アドレスの頻度分布の偏りが大きく異なる。従って、各CRに対して各々最適な可変長符号を切り換えることで、発生符号量の削減が図れる。なお、相対アドレスの絶対値の種類は最大でも16種類(0〜15)であるため、複数の可変長符号表を用意してもメモリの負担は少ない。
また、図40(a)の例では、生起し得る相対アドレスの絶対値の最大値が異なるため、上記の水平モードヘ切り換えるしきい値を、各CRの対して切り換えても良い。また、マクロブロックMB毎に変換比率CRあるいは縮小方法(例えば、図40(a)や図40(b)に示す如きの形式等)を画像の状態に合わせて適応的に切り換えることで、符号量制御を行うことができる。
以上、第5ないし第8の具体例によれば、マクロブロックMB単位でのアルファマップ符号化においても大幅な符号量の増加を招くことなく符号化が可能となり、また、復号することができるようになる。
なお、本発明は上述した各種の具体例に限定されるものではなく、種々変形して実施可能である。
(応用例)最後に、本発明の応用例として本発明の動画像符号化/復号化装置を適用した動画像伝送システムの実施形態を図41を用いて説明する。
図41(a)に示すように、このシステムは、パーソナルコンピュータ(PC)1001に備え付けられたカメラ1002より入力された動画像信号は、PC1001に組み込まれた動画像符号化装置によって符号化される。この動画像符号化装置から出力される符号化データは、他の音声やデータの情報と多重化された後、無線機1003により無線で送信され、他の無線機1004によって受信される。
無線機1004で受信された信号は、動画像信号の符号化データおよび音声やデータの情報に分解される。これらのうち、動画像信号の符号化データはワークステーション(EWS)1005に組み込まれた動画像復号化装置によって復号され、EWS1005のディスプレイに表示される。
一方、EWS1005に備え付けられたカメラ1006より入力された動画像信号は、EWS1006に組み込まれた動画像符号化装置を用いて上記と同様に符号化される。動画像信号の符号化データは、他の音声やデータの情報と多重化され、無線機1004により無線で送信され、無線機1003によって受信される。無線機1003によって受信された信号は、動画像信号の符号化データおよび音声やデータの情報に分解される。これらのうち、動画像信号の符号化データはPC1001に組み込まれた動画像復号化装置によって復号され、PC1001のディスプレイに表示される。
図41(b)は、図41(a)におけるPC1001およびEWS1005に組み込まれた動画像符号化装置の、そして、図41(c)は、図41(a)におけるPC1001およびEWS1005に組み込まれた動画像復号化装置の構成を概略的に示すブロック図である。
図41(b)に示す動画像符号化装置は、カメラなどの画像入力部1101からの画像信号を入力して誤り耐性処理部1103を有する情報源符号化部1102と、伝送路符号化部1104を有し、情報源符号化部1101においては予測残差信号の離散コサイン変換(DCT)と生成されたDCT係数の量子化などが行われ、伝送路符号化部1104においては可変長符号化や符号化データの誤り検出および誤り訂正符号化などが行われる。伝送路符号化部1104から出力される符号化データは無線機1105に送られ、送信される。情報源符号化部1101における処理や、伝送路符号化部1104における可変長符号化処理は、本発明の各具体例で説明した如きの処理手法を適用する。
一方、図41(c)に示す動画像復号化装置は、無線機1201によって受信された符号化データを入力して伝送路符号化部1104と逆の処理を行う伝送路復号化部1202と、伝送路復号化部1201の出力信号を入力して情報源符号化部1102と逆の処理を行う誤り耐性処理部1204を有する情報源復号化部1203を有し、情報源復号化部1203で復号化された画像はディスプレイなどの画像出力部1025によって出力される。
これらでの復号化処理は、本発明の各具体例で説明した如きの処理手法を適用する。
(第9の具体例)
<アルファマップ用の動きベクトル(MV)を符号化する方式の具体例>上述の[第2の具体例その2]は、フレーム間の相関を利用して符号化する方法であって、前フレームのラインを参照ラインとすることで、フレーム間の相関を利用して符号化処理効率を向上させるようにする具体例であった。この方法は、MBライン単位(マクロブロックにおけるライン方向の1ライン単位)での処理であるが、当然、MB単位で処理するようにしても、一般性は失われない。
そこで、フレーム間の相関を利用して符号化するにあたり、マクロブロック単位で符号化することで、符号化処理効率向上を計るようにする具体例を次に説明する。
本具体例では、MB単位(マクロブロック単位)で、アルファマップの動き補償予測(MC)信号と、当該MB(マクロブロック)の信号との相関を評価し、その評価値が予め設定されたしきい値よりも小さい場合には、当該MBにMC信号をコピーし(以後、コピー符号化と呼ぶ)、しきい値よりも大きかった場合には、当該MBを本発明で提供するような2値画像符号化法により符号化するシステムである。
コピー符号化を実施するにあたり、“アルファマップのMV(動きベクトル)”と、“Y(輝度)信号のMV(動きベクトル)”との相関が非常に高い場合には、Y信号で求めたMVをそのまま使用することで、“アルファマップのMV”についての符号量を用いることなしに、コピー符号化が可能となる。
特願平8−116542号には、アルファマップとY信号とをブレンドした信号(この処理は、一般にアルファブレンディングと呼ばれる)を用いてMV(動きベクトル)を検出することで、アルファマップとY信号との共通のMV(このMV(動きベクトル)をMVYAと表記する)を検出する発明が記載されている。即ち、アルファマップとY信号との共通の動きベクトルである“MVYA”を利用してアルファマップをMC(動き補償予測)すれば、アルファマップのコピー符号化でのMVの情報は必要ない。つまり、アルファマップのコピー符号化にあたっては、アルファマップの動きベクトルの情報は無くて良い。
しかし、この場合、アルファマップの符号量は削減されるものの、反面、Y信号においては最適なMVが検出されないため、Y信号のMC誤差値(アルファマップの動き補償予測信号の誤差値)が大きくなり、符号化システム全体での符号化効率が低下するおそれがある。
例えば、Y信号に対しての最適な動きベクトルMVY を検出した場合や、アルファマップに対しての最適な動きベクトルMVA を検出した場合がこれに該当し、このような場合には符号化効率の低下が避けられない。
具体的には、図42における(a)や(b)のような場合が、符号化効率の低下するおそれがある例である。これらのうち、図42(a)に示すケースは、Y信号に対しての最適な動きベクトルMVY を検出した場合を示しており、ある時点でのあるマクロブロックの部分画像に着目して説明すると、前フレームで検出したY信号に対しての動きベクトルMVY の指し示す位置が、後フレームでの当該部分画像の出現位置に一致している様子を示している。ここで用いられる誤差評価値は、例えば、オブジェクトに含まれる画素値における誤差値である。
また、図42(b)はアルファマップに対して最適な動きベクトルMVA を検出した場合を示しており、ある時点でのあるマクロブロック部分でのアルファマップ内容に着目して説明すると、前フレームで検出したマクロブロック部分でのアルファマップ内容に対する動きベクトルMVA の指し示す位置が、後フレームでの当該アルファマップ内容部分の出現位置に一致している様子を示している。ここで用いられる誤差値は、例えば、アルファマップのミスマッチ画素数である。
なお、MVYAは、MVY よりもMVA と類似なMV(動きベクトル)となるため、アルファマップ符号化の符号量は、最適な値MVA を用いた場合と比較してもほとんど増加しない。
一方、“MVY ”を共通のMVとして用いても、アルファマップのMC誤差(動き補償予測誤差)が大きくなるため、コピー符号化が選択されず、アルファマップ符号化の効率が向上しない。
そこで、これを打開するためには、図42(c)に一例を示すように、アルファマップに対しての最適な動きベクトルであるMVA と輝度信号に対しての最適な動きベクトルであるMVY の差分であるMVDA を求め、この求めたMVDAを効率よく符号化するようにする。このようにMVA とMVY の差分を求めて、これを符号化することで、Y信号(輝度信号)の符号化効率を低下させずに、アルファマップの符号化効率を向上させることが可能となる。
ところで、MVA とMVY の差分であるMVDA が大きな値となった場合には、動きベクトルの符号量よりも、当該ブロックを2値画像符号化する際の符号量の方が小さくなる場合がある。また、MVDA はMVY からの差分ベクトルであるから、そのダイナミックレンジは小さい。
そこで、MVDA の探索範囲の最大値をMVY の探索範囲よりも小さくなるように制限することで、MVDA の符号量と、2値画像符号化における符号量とのトレードオフを図るようにすると良い。また、MVDA の探索範囲を制限することで、MVDA 用の符号表は、MVY を符号化する(実際に符号化されるのは、MVY の予測誤差であり、この予測誤差のダイナミックレンジは、MVY のダイナミックレンジの2倍となる)符号表よりも小さくなる。従って、MVDA 用に小さな可変長符号表を設計することで、より符号化効率が改善される。
<MVA を検出する具体例>つぎに、第9の具体例を実施するにあたり、アルファマップに対しての最適な動きベクトルMVA を検出する必要があるが、その具体例を説明する。
既に、Y信号の方でMVY (Y信号に対しての最適な動きベクトル)は送られているものとすると、MVY で指し示される位置を中心として、MVA とMVYの差分であるMVDA は検出される。前述した通り、アルファマップのコピー符号化は、アルファマップのMC誤差(動き補償予測誤差)が、あるしきい値よりも小さくなった時に実行される。そこで、中心位置から外側への順序で誤差を評価し、最初に誤差がしきい値よりも小さくなった位置のMVDA を用いることにする。
これにより、最も小さなMVDA が検出されて、これが使用されることになり、一般に、MVDA の大きさが小さければ小さいほど、短い符号が割り当てられることになるために、MVDA は効率よく符号化されることとなる。
以上は動きベクトルの符号化であったが、マクロブロックの属性情報をフレーム単位で符号化する方式も考えられる。従って、次にこれを第10の具体例として説明する。
(第10の具体例)第10の具体例として、各マクロブロックの属性情報をフレーム単位で符号化する方式の具体例を説明する。
第6の具体例における図38には、本発明で提供するようなブロックベースで2値画像符号化する場合の各ブロック(マクロブロックMB)の属性が表されている。また、このブロック(MB)の属性情報は、2値画像符号化情報とは別途に符号化する必要がある。
図43(a)は、上述した図38を書き直したものである。この図においては、“白”部分のみのマクロブロックをMBwhとし、背景部分と人物部分両方を含むマクロブロックをMBotとし、“黒”部分のみのマクロブロックをMBbkとしてある。そして、“白”部分のみのマクロブロックであるMBwhを“0”、背景部分と人物部分両方を含むマクロブロックであるMBotを“1”、“黒”部分のみのマクロブロックであるMBbkを“3”とラベル付けしたとすると、図43の(a)は、図43(b)のようなblock typeの情報となり、このblock typeの情報がMBの属性情報である。
ラベルは“1”,“2”,“3”の三種であり、これらは2ビットあれば表現できる。つまり、十進数の“1”は2進表現で“01”、十進数の“2”は2進表現で“10”、十進数の“3”は2進表現で“11”であり、2ビットあれば表現できる。
このようにblock type情報は、2ビットで表現できるため、その上位ビット(MSB )と下位ビット(LSB )をビットプレーンに分解すると、図43(c)の様になる。なお、図43(c)において、Bpoは元のblock typeの情報が(MBの属性情報)であり、BplはBpoをビットプレーンに分解して得た下位ビット(LSB )のビットプレーンであり、BpmはBpoを分解して得た上位ビット(MSB )のビットプレーンである。
一般に、図43(a)のように、オブジェクトか否かを表す、アルファマップのブロック属性情報を、図43(b)の様にラベル付けすることで、図43(c)におけるBpl,Bpmの様に上位および下位のビットのプレーンに分解したときに、何れのビットプレーンにおいても“0”と“1”は、かたまり易くなる。即ち、MSBにおいても、LSBにおいても、相関が保てることになる。
図44は、図43(c)の各ビットプレーンを、本発明で提供するブロックベースのMMRで符号化する例である。この図に示すように、ビットプレーンに分解し、各ビットプレーンを高能率な2値画像符号化方式により符号化する事で、ブロックの属性情報の符号量をブロック毎に符号化する場合に比べて、大幅に削減することができるようになる。
また、ブロックの属性を符号化する2値画像符号化と、各ブロックを符号化する2値画像符号化の符号化法を同一のものとする事で、符号化システム全体の複雑さを緩和することができる。
以上が、ブロックの属性情報を符号化する方式の具体例であるが、ブロックの属性情報の符号化方式には別の方法もあるので、これを次に説明する。
図45は、時刻 n と時刻 n-1 におけるあるマクロブロックの属性情報の一例を表している。図2(a)の様に、オブジェクトの左上を領域の境界部に接するように、方形領域を設定すると、図45における(a)に示した時刻 n でのブロックの属性情報の例と(b)に示した時刻 n-1 でのブロックの属性情報の例のように、時間的に近いフレームのアルファマップ間では、非常に似たラベル付けが行われる。従って、このような場合には、フレーム間においてラベルの相関が高いため、既に符号化済みのフレームのラベルを利用して、現フレームのラベルを符号化することで、大幅に符号化効率が改善されることになる。
また、一般に、時刻 n と、時刻 n-1 の領域のサイズが異なる場合がある。この場合、一例として、図46に示す手順で、時刻 n-1 での領域を 時刻 nのサイズに合わせる。例えば、時刻 n におけるマクロブロックが、時刻 n-1におけるマクロブロックの行より1行長く、1列短い場合は、図46(a)のように、行の短い時刻 n-1 におけるマクロブロックの右端の1列をカットし、その後、下部の1行分をその下にコピーして行を増やす。この状態が図46(b)である。
また、時刻 n-1 におけるマクロブロックが、時刻 n のマクロブロックより列が1列短く、1行長い場合は、下端の1行をカットし、その後、そのマクロブロック右端の1列をその隣りにコピーして1列増やす。
サイズが合わないときは、このようにしてサイズを合わせる。なお、サイズの合わせ方は前記の方法に限ったものではない。そして、最終的に、図46(b)の様に、時刻 n のサイズに合わせられた、時刻 n-1 のラベルを、ここでは便宜上、時刻 n-1' のラベルと表記して以下の説明に用いることにする。
図47(a)は、時刻 n での上述のマクロブロックの属性情報と、時刻 n-1' での上述のマクロブロックの属性情報の差分、つまり各画素位置での各ラベルの差分を、同一画素位置のもの同士で取った結果を示している。ここで、Sは“ラベルが一致している”ことを示し、Dは“ラベルが不一致である”ことを示す。
一方、図47(b)は、時刻 n での上述のマクロブロックの属性情報における隣接画素位置のラベルの差分をとった結果を示している。ここで、左端のラベルは、1ライン上の右端の画素位置でのラベルとの差を取り、左上端の画素位置でのラベルは、“0”との差を取ることにしている。以後、便宜的に図47(a)をフレーム間符号化、図47(b)をフレーム内符号化と呼ぶことにする。
図47より、フレーム間符号化の方がフレーム内符号化に比べてSの割合が多く、フレーム間符号化の方が予測が当たるため、符号量の削減を図ることができる。
図49は、各ラベルを符号化するための可変長符号表の例である。ここでは符号化対象となるラベルが、その予測値(フレーム間:前フレームのラベル、フレーム内:隣のラベル)と一致している場合(Sの場合)には1ビットで符号化し、一致していない場合(Dの場合)には、2ビットで符号化することにする。このようにすると、符号量を少なくすることができる。
また、フレーム間符号化の場合には、Sの割合が多いため、複数のラベルをまとめて符号化することで、更に符号化効率の向上が図られる。
図48は、ライン毎にライン内のラベルの差分が全てSか否かを、1ビットの符号で示す例である。これにより、ライン内が全てSでないラインのみラベルを符号化すれば良いため、符号量が大幅に削減されることが分かる。
なお、フレーム間での相関が極端に小さい場合、フレーム内符号化に比べて符号化効率が低下する恐れがある。この場合は、1ビットの符号でフレーム内符号化を行うか、フレーム間符号化を行うかを切り換えられるようにしておき、フレーム内符号化で符号化できるようにする。当然のことながら、最初に符号化するフレームは、参照するラベルが無いため、フレーム内符号化を行う。この際、フレーム間/フレーム内を切り換える符号は必要ない。
図50は、前述した本具体例のシステムのブロック図であり、このブロック図を参照して処理の流れを説明する。この図50の構成において、破線で囲まれた部分が前述した本具体例に係わる部分である。図50(a)は符号化装置であり、オブジェクト領域検出回路3100、ブロック化回路3110、ラベル付け回路3120、ブロック符号化回路3130、ラベルメモリ3140、サイズ変更回路3150、ラベル符号化回路3160、多重化回路(MUX)3170とより構成されている。
これらのうち、オブジェクト領域検出回路3100は、入力されたアルファマップ信号を元に、そのアルファマップ信号においてオブジェクトを含んでいる部分についての方形領域を検出して、その方形領域のサイズに関する情報と共に当該方形領域のアルファマップ信号を出力するものである。ブロック化回路3110は、この方形領域のアルファマップ信号をマクロブロック化する回路であり、ラベル付け回路3120は、このマクロブロック化されたアルファマップ信号についてそのブロック毎に、そのマクロブロックでのアルファマップ信号内容の属性(MBwh(白のみ)、MBot(白と黒の混合)、MBbk(黒のみ))を判定し、各属性に対応するラベル(“0”、“1”、“3”)を割り当てる回路である。
ブロック符号化回路3130は、ラベルが“1”(MBot)のもののマクロブロックについて、そのマクロブロック内のアルファマップ信号を符号化する回路であり、ラベルメモリ3140は、ラベル付け回路3120より供給されるラベル情報とラベルメモリ出力線3020を介してオブジェクト領域検出回路3100から与えられる領域のサイズ情報を蓄積すると共に、この蓄積したラベル情報とサイズ情報を併せてサイズ変更回路3150に供給するためのメモリである。サイズ変更回路3150は、ラベルメモリ3140より供給される、時刻 n-1のフレームのラベル情報とサイズ情報と、オブジェクト領域検出回路3100から与えられる、時刻 n のフレームのサイズ情報とから、時刻 n-1 のラベル情報を時刻 n のサイズに相当する様にサイズを変更する回路であり、ラベル符号化回路3160は、このサイズ変更されたラベル情報を予測値として、ラベル付け回路3120より供給されるラベル情報を符号化する回路である。
また、多重化回路3170は、ラベル符号化回路3160の得た符号化情報と、ブロック符号化回路3130より供給される符号化情報と、オブジェクト領域検出回路3100から与えられるサイズ情報とを多重化して出力する回路である。
このような構成の符号化装置は、線3010を介して供給されるアルファマップ信号は、オブジェクト領域検出回路3100により、オブジェクトを含む方形領域を検出する。この方形領域のサイズに関する情報は線3020を介して出力され、領域内部のアルファマップ信号は、ブロック化回路3110に供給される。ブロック化回路3110は、この領域内部のアルファマップ信号についてマクロブロック化する。マクロブロック化されたアルファマップ信号は、ラベル付け回路3120とブロック符号化回路3130に供給される。
ラベル付け回路3120では、マクロブロック毎の属性(MBwh、MBot、MBbk)を判定し、各属性に対応するラベル(“0”、“1”、“3”)を割り当てる。このラベル情報は、ブロック符号化回路3130、ラベルメモリ3140、ラベル符号化回路3160に供給される。
ブロック符号化回路3130では、ラベルが“1”(MBot)のとき、ブロック内のアルファマップ信号が符号化され、その符号化情報は多重化回路3170に供給される。ラベルメモリ3140には、ラベル付け回路3120より供給されるラベル情報とラベルメモリ出力線3020を介する領域のサイズ情報が蓄積され、ラベル情報とサイズ情報を併せてラベルメモリ出力線3030を介して、サイズ変更回路3150に供給される。
サイズ変更回路3150では、ラベルメモリ出力線3030を介して供給される、時刻 n-1 のフレームのラベル情報とサイズ情報と、線3020を介して供給される、時刻 n のサイズ情報とから、時刻 n-1 のラベル情報を時刻 n のサイズに相当する様にサイズを変更したラベル情報をラベル符号化回路3160に供給する。ラベル符号化回路3160では、サイズ変更回路3150より供給されるラベル情報を予測値として、ラベル付け回路3120より供給されるラベル情報を符号化し、その符号化情報は多重回路3170に供給される。多重化回路3170では、ブロック符号化回路3130とラベル符号化回路3160より供給される符号化情報と、線3020を介して供給されるサイズ情報とを多重化した後、線3040を介して出力する。
以上が符号化装置の構成と作用である。次に復号化装置の構成と作用を説明する。
図50(b)に示す符号化装置は、分離化回路(DMUX)3200、ラベル復号化回路3210、サイズ変更回路3220、ラベルメモリ3230、ブロック復号化回路3240より構成される。これらのうち、分離化回路3200は、線3050を介して供給される符号化情報を分離する回路であり、ラベル復号化回路3210は、サイズ変更回路3220より供給される、時刻 n-1 のラベル情報のサイズを変更した情報を予測値として、時刻 n のラベル情報を再生する回路である。
また、サイズ変更回路3220は、サイズ変更回路3150と同様の働きをする回路であって、ラベルメモリ3230より供給される、時刻 n-1 のフレームのラベル情報とサイズ情報と、分離化回路3200から分離して与えられる、時刻 n のフレームのサイズ情報とから、時刻 n-1 のラベル情報を時刻 n のサイズに相当する様にサイズを変更する回路であり、ラベルメモリ3230は、ラベルメモリ3140と同様の働きをする回路であって、ラベル復号化回路3210より復号化されて供給されるラベル情報と、分離化回路3200から与えられる領域のサイズ情報を蓄積すると共に、この蓄積したラベル情報とサイズ情報を併せてサイズ変更回路3220に供給するためのメモリである。
また、ブロック復号化回路3240は、ラベル復号化回路3210より供給される、再生されたラベル情報にしたがって、ブロック毎にアルファマップ信号を再生する回路である。
このような構成の復号化装置の作用を説明する。分離化回路3200では、線3050を介して供給される符号化情報を分離して、ブロック復号化回路3240とラベル復号化回路3210に供給すると共に、線3060を介してサイズ情報を出力する。ラベル復号化回路3210では、サイズ変更回路3220より供給される、時刻 n-1 のラベル情報のサイズを変更した情報を予測値として、時刻 n のラベル情報を再生する。
再生されたラベル情報はブロック復号化回路3240とラベルメモリ3230に供給される。ブロック復号化回路3240では、ラベル復号化回路3210より供給される、再生されたラベル情報にしたがって、ブロック毎にアルファマップ信号を再生する。なお、サイズ変更回路3220はサイズ変更回路3150と、ラベルメモリ3230は、ラベルメモリ3140と、各々同一の動作をするため、ここでは深く説明しない。
以上、マクロブロック単位にしたアルファマップをラベル付けし、既に符号化済みのフレームのマクロブロックのラベルを利用して、現フレームのマクロブロックのラベルを符号化するようにした符号化装置と復号化装置の例を説明した。時間的に近いフレームのアルファマップ間では、そのマクロブロックは非常に似たラベル付けが行われる。従って、このような場合には、フレーム間においてラベルの相関が高いため、既に符号化済みのフレームのラベルを利用して、現フレームのラベルを符号化することで、大幅に符号化効率を図ることができるようになる。
次にベクトル量子化による符号化システムを説明する。
(第11の具体例)アルファマップを効率よく符号化するために、第11の具体例として、アルファマップを矩形のブロックに分割して、そのブロック毎に符号化を行い、既に符号化したブロックの一部分から切り出した参照パターンを用いてベクトル量子化のインデックステーブルをブロック毎に生成し、そのインデックステーブルを用いてアルファマップをベクトル量子化によって符号化する方式の具体例を説明する。
以下、本発明の具体例を図面を用いて説明する。
<ベクトル量子化を用いた符号化回路の構成>図51は、ベクトル量子化を用いた本発明の符号化回路の一具体例を示すブロック図である。本符号化回路はメモリ1605、ベクトル量子化器1607、インデックステーブル生成器1609、ベクトル逆量子化器1613とより構成される。
メモリ1605は、符号化が終わった部分を復号したアルファマップを保持するためのメモリである。また、インデックステーブル生成器1609は、このメモリ1605の保持情報を元に各種画素パターンのインデックステーブル1612を生成する装置であって、複数のマクロブロック各々の画素パターンと個別のインデックス番号を対応づけるテーブルを生成するものである。ベクトル量子化器1607は、入力されたアルファマップ信号1606とインデックステーブル生成器1609からのインデックステーブル1612とを元に、インデックステーブル1612にある画素パターンのうちでアルファマップ信号1606との誤差が小さなもののインデックス1614を求め、そのインデックス1614を出力するものである。
ベクトル逆量子化器1613は、ベクトル量子化器1607の出力するインデックス1614と、インデックステーブル生成器1609の出力するインデックステーブル1612とを用い、インデックス1614に対応する画素パターンを求めると共に、その求めた画素パターンを、復号したアルファマップ1615としてメモリ1605に与える装置である。
本具体例におけるこのような構成の符号化回路は、図2に示した画像符号化装置全体の中では、アルファマップ符号化回路200の部分に配置される。また、本符号化回路にはアルファマップ信号が入力され、このアルファマップ信号をベクトル量子化して得たインデクッス1614を回路出力とする。アルファマップの画面は、図59に示したようにブロックに分割され、左上のブロックから順に符号化される。ここで、横線を引いた領域5−1がオブジェクト領域、それ以外が背景領域5−2である。
図60に、画面の途中まで符号化が終わった様子を示す。図60においては、太線で囲った部分5−3が既に符号化が終わった部分を示しており、現在はブロック5−4を符号化している様子を示している。そして、図61に示すように、現の符号化ブロック5−4の符号化には、それに隣接する画素列が上部参照パターン5−10及び左部参照パターン5−11として用いられる。
なお、上部参照パターン5−10の画素値を左からT1,T2,...,TBと呼び、左部参照パターン5−11の画素値を上からL1,L2,...,LBと呼ぶこととする。Bはブロックの一辺の画素数(ブロックサイズ)である。
図51に戻り、説明を続ける。本発明の符号化回路はメモリ1605、ベクトル量子化器1607、インデックステーブル生成器1609、ベクトル逆量子化器1613とより構成されるが、これらのうち、メモリ1605には既に符号化が終わった部分を復号したアルファマップが保持されている。アルファマップ信号1606は、ベクトル量子化器1607に入力される。また、メモリ1605からは、既に符号化が終わった部分から上部と左部の参照パターン1608が読み出され、インデックステーブル生成器1609に送られる。
インデックステーブル生成器1609では、参照パターン1608に応じてベクトル量子化(吹抜「TV画像の多次元信号処理」日刊工業新聞社、昭和63年、pp.261−262)で用いるインデックステーブル1612が生成され、ベクトル量子化器1607とベクトル逆量子化器1613に送られる。
ここで、インデックステーブルとは、複数のマクロブロック各々の画素パターンと個別のインデックス番号を対応づけるものである。
ベクトル量子化器1607では、インデックステーブル生成器1609から出力されたインデックステーブル1612にある画素パターンのうちでアルファマップ信号1606との誤差が小さなもののインデックス1614が求められ、そのインデックス1614は出力され、また、ベクトル逆量子化器1613にも送られる。
ベクトル逆量子化器1613では、インデックステーブル1612を用いてインデックス1614に対応する画素パターンが求められる。そして、その求められた画素パターンは、復号したアルファマップ1615としてベクトル逆量子化器1613からメモリ1605に送られることになる。
ここで、インデックステーブル生成器1609の具体例について触れておく。
<インデックステーブル生成器1609の具体例>図53、図54、図55に示すブロック図はそれぞれインデックステーブル生成器1609の具体例である。
まず、図53に示す構成のインデックステーブル生成器1609の場合は、幾つか用意されたタイプのうちのいずれかを指定すると、その指定されたもののインデックステーブルを生成する方式であって、使用するタイプを指定するためのタイプ決定器1616、インデックステーブルを生成する生成器1619、生成したインデックステーブルを保持するメモリ1621とを備えている。
このような構成のインデックステーブル生成器1609では、参照パターン1608はタイプ決定器1616に送られる。
画素パターンは傾向を変えて幾つ化のタイプが選べるようになっており、所望のものを指定すると、タイプ決定器1616は、幾つか用意されたタイプのうちの当該指定のものを、使用決定して、そのタイプ1617の情報とパラメータ1618の情報が生成器1619に送る。生成器1619ではこれらの情報を受けて指定のタイプのインデックステーブル1620を生成し、この生成されたインデックステーブル1620をメモリ1621に一時的に保持させる。インデックステーブル1622は符号化の過程で適宜出力される。
タイプ決定器1616での処理アルゴリズムを示したフローチャートを図68に示す。タイプ決定器1616は、まず初めに、S1: 図61で説明した上部参照パターン5−10の画素値T1と左部参照パターン5−11の画素値L1が等しいか否かを判断し、その結果、等しい場合はS2に進み、等しくない場合はS4に進む。
S2: マクロブロックの行方向画素列のうち、左から順にみた場合に、画素値が前の画素値と異なった値を示した最初の画素位置をRTとし、列方向に上から順にみた場合に、画素値が前の画素値と異なった値を示した最初の画素位置をRLとすると、前記RTがB(マクロブロックの一辺の画素数(ブロックサイズ))に等しく、かつ、RLがBに等しい場合はS5に進み、そうでない場合はS3に進む。なお、もう少しRT、RLについて詳しく触れておくと、RTは、T1からT2、T3、...と順に見ていった時、Tkで初めてT1と違う値になった時のk−1である。但し、マクロブロックの行方向最後の画素位置TBまで、全てがT1と等しい場合はRL=Bとする(Bは図61で説明したブロックサイズである)。例えば、図63(B=16)の場合はRT=10である。
同様ににRLはL1,L2,...に関するもので、図63の場合はRL=6である。
S3:RTがBに等しいか、あるいは、RLがBに等しい場合はS6に進み、そうでない場合はS7に進む。
S4:RTがBに等しく、かつ、RLがBに等しい場合はS8に進み、そうでない場合はS9に進む。
S5: タイプM=1とする。S10に進む。
S6: タイプM=2とする。S10に進む。
S7: タイプM=3とする。S10に進む。
S8: タイプM=4とする。S10に進む。
S9: タイプM=5とする。S10に進む。
S10: MとRT、RLに応じてインデックステーブルを作成する。
このアルゴリズムを用いる場合は、図53のタイプ決定器1616が出力するパラメータ1618はRTとRLである。また、タイプ決定器1616は図56に示すように構成される。図56に示す構成は、判定器1623、RT,RL検出器1624からなり、参照パターン1608は判定器1623と、RT,RL検出器1624に入力される。RT,RL検出器ではRTとRLが検出され、パラメータ1618として出力されるとともに判定器1623にも送られる。判定器1623では、図68のアルゴリズムでタイプ1617を決定し、出力する。
次にタイプMとRT、RLを用いたインデックステーブルの構成例を図70に示す。まずM=1は、上部参照パターンと左部参照パターンのアルファマップの画素値が全て等しい場合であるから、図70(a)に示したような、上辺と左辺をよぎる境界線が無い画素パターンのうちから、予め決める幾つかを生成する。
この図で斜線はT1と等しい値を表す。つまり、T1がオブジェクト領域にある場合は斜線がオブジェクトで白が背景、T1が背景領域にある場合はその逆である。
次にM=2は、上部参照パターンと左部参照パターンのいずれかを境界線がよぎり、他方は画素値が全て等しい場合である。
図70(b)は左部参照パターンを境界線がよぎる(RL<B)場合の例で、左辺の上からRLの点を起点に境界線の角度を様々に変えたものなどである。上部参照パターンを境界線がよぎる場合は上辺の左からRTの点を起点に境界線をひく。
また、M=3では図70(c)に示したように上辺のRTと左辺のRLで境界線がよぎるようにする。
最後にM=4ではT1とL1の間に境界線があるので図70(d)のように左上の頂点を起点に境界線をひく。また、参照パターンとして図64(b)に示すように上部、左部とも複数ラインを用いるようにすると図64(a)に点線で示したように境界線の向きも推定できるので、その推定した境界線を用いて画素パターンを生成することができる。
以上でインデックステーブル生成器1609の第1の具体例である図53の詳細な説明を終えて、インデックステーブル生成器1609の第2の具体例を図54に示す。
[インデックステーブル生成器1609の第2の具体例]図54に示す構成のインデックステーブル生成器1609は、タイプ決定器1616、メモリ1625,1626,1627、スイッチ1628を備えている。このインデックステーブル生成器1609では、符号化に先だって各タイプに応じたインデックステーブルが作られるようにしてあり、それぞれタイプ別にメモリ1625,1626,1627のうちの専用のものに格納させる。従って、メモリ1625,1626,1627はいずれか一つのタイプのものを専用に格納してある。
スイッチ1628はこれらのメモリ1625,1626,1627のいずれかを選択してその選択したメモリに格納されているインデックステーブルを利用できるようにするためのものである。
このようなインデックステーブル生成器1609において、参照パターン1608によって、タイプ決定器1616でタイプ1617が決まるのは図53に示した具体例と同じである。但し、この具体例ではパラメータ1618はタイプ決定器1616から出力されない。また、符号化に先だって作られる、各タイプに応じたインデックステーブルが、それぞれ異なるメモリ1625、1626、1627に保持されている。
そして、タイプ1617によってスイッチ1628が切り替えられ、そのタイプ1617に応じたインデックステーブル1622が出力される。
この具体例は図53の例と比較してメモリが多く必要であるが、インデックスを生成する演算が不要であるという利点がある。
インデックステーブル生成器1609のさらに別の構成例を示す。
<インデックステーブル生成器1609の第3の具体例>インデックステーブル生成器の第3の具体例を図55に示す。図55では、評価器1629、メモリ1630、スイッチ1632、メモリ1634から構成している。
この例では先の例と異なってタイプ判定は行わず、参照パターンと予め用意する画素パターンの境界線が連続的につながる度合いを表す評価値を求めて利用する。
この評価値は図65(b)に示すように、上部参照パターンT1,T2,..と画素パターンの上端の画素列H1,H2,..、及び、左部参照パターンL1,L2,..と左端の画素列V1,V2,... を比較して、Ti=Hi となるi={1,2,3,..,B}の数と、Lj=Vj となるj={1,2,3,..,B}の数の和である。
従って、図65(a)の場合は、i=1,2,3, j=1,2,3,6,7,8において等しくなるので、評価値は“9”となる。
図55に戻り、説明を続ける。上記メモリ1630には図70に示したものなど、様々な画素パターンが予め保持されており、評価器1629は、参照パターンと予め用意した画素パターン(メモリ1630から与えられる)の境界線が連続的につながる度合いを表す評価値を求める装置である。スイッチ1632はメモリ1630の出力を開閉するためのスイッチであり、メモリ1634は、このスイッチ1632を介して与えられる情報を保持するものである。スイッチ1632は評価値対応に評価器1629が出力する開閉信号により開閉制御される。
符号化装置の構成要素であるメモリ1605から読み出される参照パターン1608は、この評価器1629に送られる。また、メモリ1630からは図70に示したものなど、予め保持された様々な画素パターン1631が、逐次、評価器1629とスイッチ1632に送られる。
評価器1629では先に説明した参照パターン1608と画素パターン1631の評価値を求める。そして、その評価値が所定値よりも小さい場合には評価器1629はスイッチ1632を接続するような切替え信号1633をスイッチ1632に送る。
この場合は、画素パターン1631はメモリ1634に記録されてインデックステーブルに載る。逆に評価値が所定値よりも大きい場合には接続を切るような切替え信号1633がスイッチ1632に送られて、画素パターン1631はメモリ1634に送られない。
メモリ1630に用意された画素パターンのうちの所定の個数の評価が終ったら、メモリ1634に記録された画素パターンに順にインデックスを付加して、インデックステーブル1622として出力する。この評価は、メモリ1634に所定の個数の画素パターンが記録された時に終了する方法もある。
また、メモリ1630にある画素パターンのうち評価値の大きいものから順に所定の数の画素パターンを選択する方法もある。この場合はメモリ1634に所定の数の画素パターン1631とその評価値を記録するようにする。
そして、記録されている評価値のうちで最も小さなものよりも、現在評価中の画素パターンの評価値が大きい場合にそれらを入れ替えればよい。
以上の図55の具体例は比較的大規模なメモリ1630が必要であるが、タイプ決定の演算が不要となる利点がある。
なお、図53、図54、図55の具体例は、応用システムで許容される演算量とメモリ量によってそれぞれ適当なものを採用すればよい。
以上で図51のインデックステーブル生成器1609の説明を終る。
<ベクトル量子化器1607のアルゴリズム>次に図51のベクトル量子化器1607でのアルゴリズムを図69に示す。ここでC(i)は入力されたアルファマップの原画像と画素パターンの誤差の許容条件で、例えば、B×B画素のブロックの場合、「16個の(B/4)×(B/4)画素ブロックに分割し(図66参照)、そのいずれのブロックにおいても、原画像と画素パターンiの各画素の誤差の絶対値和がαを超えない。」というものである。但し、αはしきい値である。また、各画素の誤差の絶対値和とは、具体的にはミスマッチ画素数のことであり、具体的にはαは0画素,1画素,2画素,…,B2 /16画素といった具合に定めるものである。
最低限、この条件をクリアしないと、その画素パターンは選択されない。また、EはB×B画素全体での誤差の絶対値和である。図69に示すフローチャートを説明する。
S11: インデックスi=0 とする。S12に進む。
S12: 画素パターンiがC(i)を満たす場合はS15に進む。そうでない場合はS13に進む。
S13: i=1 とする。
S14: 画素パターンiがC(i)を満たす場合はS15に進む。そうでない場合はS16に進む。
S15: Mini=iとする。そして、S23に進む。
S16: MinEに十分大きな値を代入し、Mini=-1 とする。S17に進む。
S17: i にi+1 を代入する。そして、S18に進む。
S18: 画素パターンiがC(i)を満たす場合はS19に進む。そうでない場合はS21に進む。
S19: EがMinEよりも小さい場合はS20に進む。そうでない場合はS21に進む。
S20: MinEにEを代入し、Mini=iとする。そして、S21に進む。
S21: i がインデックスの最後の値Nと等しい場合はS22に進む。そうでない場合はS17に進む。
S22: Mini=-1 である場合は該当ブロックにはインデックスは決定せずに終了する。そうでない場合はS23に進む。
S23: Miniを該当ブロックのインデックスとして出力して終了する。
本アルゴリズムでは、画素パターン“0”と画素パターン“1”は、Eを計算せずにC(i)さえ満たせば直ちにそれに決定している。
このようにすると、“0”と“1”のインデックスに、他のインデックスよりも短い符号を割り当てている場合に、符号量を少なくできるという効果が期待できる。例えば、ブロック内が全てオブジェクト領域とか、逆に全て背景領域といった画素パターンを、“0”や“1”に割り当てる。
また、インデックスが決定されなかったブロックについては、図67のフローチャートに示すように、ベクトル量子化(VQ)とは別の符号化手法を用いて符号化するといった方法がある。
すなわち、図67のフローチャートは、インデックスが決定されなかったブロックについての符号化は、まず、ベクトル量子化(VQ)で符号化する(S24)。そして、インデックスが決定されれば終了し(S25)。そうでなければS26に進む。S26では、MMRで符号化して終了する。
このような処理をする符号化装置を図71に示す。図71に示す符号化装置は、ベクトル量子化回路1642、MMR符号化回路1643、切り替え器1644、合成器1646とから構成されている。
アルファマップ信号1606はベクトル量子化回路1642とMMR符号化回路1643に入力される。
ベクトル量子化回路1642は図51に示した構成のものを採用しており、このベクトル量子化回路1642からの出力であるインデックス1614が、切り替え器1644に送られる。同時に、切り替え信号1645も切り替え器1644と合成器1646に送られる。
また、MMR符号化回路1643では、アルファマップ信号1606がMMRによって符号化され、MMR符号1647が切り替え器1644に送られる。切り替え器1644はMMR符号化回路1643からの出力であるMMR符号1647と、ベクトル量子化回路1642からの出力であるインデックス1614とが入力されており、切り替え器1644は切り替え信号1645に応じてこれらのうちの一方を選択して通すように、回路切り替えをする。
切り替え器1644に与えられる切り替え信号1645は、MMR符号化回路1643が出力するものであり、インデックス1614が決定された場合にはインデックス1614が、インデックスが決定されなかった場合にはMMR符号1647がアルファマップの符号1648として選択されるようにMMR符号化回路1643は決定すべく動作する。
このようにして切り替え器1644にて選択されて出力されたインデックス1614または、アルファマップの符号1648は信号を多重化する合成器1646に送られ、この合成器1646でベクトル量子化回路1462から得られる上述のような切り替え信号1645と多重化され、符号1649として出力される。
なおこの具体例で、MMRが選択された場合、そのブロックの復号したアルファマップ1615はMMR符号化回路1643からベクトル量子化回路の内部のメモリ1605に送られる。ここで、MMR符号化回路1643の具体例を示す。
<MMR符号化回路1643の具体例>(ブロックベース符号化の具体例)図74(a)は、ブロック単位で符号化する場合の変化画素の関係を表す図である。また、図74(b)は、b1を検出する為の参照領域を表す図である。ブロックベース符号化においては、以下のように変化画素の符号化を単純化して符号化しても良い。なお、以下の処理は、第6の具体例にあるように、スキャンの順序を切り換えても良いし、第8の具体例にあるように、縮小されたブロックに適用しても良い。
単純化した変化画素の符号化は次のようにして行う。今、変化画素ai(i=0〜1)、b1の画面左上からのアドレスを各々、abs_ai(i=0〜1)、abs_b1と表記すると、r_ai(i=0〜1)およびr_b1の値は、以下の式で求められる。
r- a0= abs- a0−(int) ( abs- a0/WIDTH )*WIDTHr- a1= abs- a0−(int) ( abs- a0/WIDTH )*WIDTH *WIDTHr- b1= abs- b1−(int) ((int)(abs- a0/WIDTH)−1)*WIDTH上記式において、*は乗算を、(int)(x)はxの小数点以下切り捨てを意味しており、WIDTHはブロックの水平方向の画素数を示している。
“r_a1−r_b1”あるいは、“r_a1−r_a0”の値を符号化することで、再生値が得られる。
図75は、MMRをブロックベースで符号化する場合のフローチャートである。以後、フローチャートに従って符号化処理を説明する。ここでの処理は、まず、起点変化画素の位置を初期化し(S501)、初期位置(ブロックの左上画素)での画素値を1ビットで符号化する(S502)、次に初期位置において参照変化画素b1を検出する(S503)。
ここで、b1が検出されなかった場合には、参照領域に変化画素が存在しないことから垂直モードが使えないため、垂直パスモードの状態を“TRUE”とし、b1が検出された場合は垂直モードが使えるため、垂直パスモードの状態を“FALSE”とする。
以上で初期状態のセッティングを終了し、符号化ループの処理に移る。まず、変化画素a1を検出し(S505)、変化画素a1が検出されたか否かを判定し(S506)、変化画素a1が検出されなかった場合には、以後、変化画素が無いため、符号化の終了を示す符号化処理の終了符号(EOMB)を符号化する(S507)。
また、S506での判定の結果、変化画素a1が検出された場合には、垂直パスモードの状態を判定する(S508)。ここで、垂直パスモードの状態が“TRUE”ならば、垂直パスモードの符号化処理(S516)を行い、垂直パスモードの状態が“FALSE”ならば、b1を検出する(S509)。
次に、b1が検出されたか否かを判定し(S510)。b1が検出されなかった場合には。水平モードのステップ(S513)に進み。b1が検出された場合には、”r_a1−r_b1”の絶対値がしきい値(VTH)よりも大きいか否かを判定し(S511)、その結果、しきい値以下の場合には、垂直モードのステップ(S512)に進み、しきい値よりも大きい場合には、水平モードのステップ(S513)に進む。
水平モードのステップ(S513)では、“r_a1−r_a0”の値が符号化される。ここで、“r_a1一r_a0”の値が“WIDTH”よりも小さいか否かを判定し(S514)、その結果、“WIDTH”以上の場合には、垂直パスモードの状態を“TRUE”として(S515)、垂直パスモードのステップ(S516)に進み、垂直パスモードのステップ(S516)が終了したら、垂直パスモードの状態を“FALSE”とする。
以上、垂直モード、水平モード、垂直パスモードの何れかが終了した後(alまでの符号化が終了した後)、a1の位置を新たなa0の位置として(S518)。S505の処理に戻る。
図73は、VLCテーブルの例である。ここで、垂直パスモードの状態が“TRUE”の場合には、符号の種類はVO、H、EOMBの3種類しか生起しないため、垂直パスモードの状態に応じて、VLCを切り換える事ができる。なお、垂直パスモードの状態が“TRUE”の場合、EOMBはa0がブロックの左上の位置(初期位置)にある場合のみ生起する。従って、この場合には、図73の“0”うちの符号が用いられる。
なお、ベクトル量子化は用いずにMMR符号化のみを用いる場合は、上述の具体例を、直接、図2のアルファマップ符号化回路200に用いればよい。
インデックスが決定されなかったブロックについての符号化は、MMRなど他の符号化方法を用いる以外に、図62のように、マクロブロックをさらに小さなブロックに再分割して、ベクトル量子化をやり直す方法もある。図では標準的なサイズのマクロブロックを、さらに小さなブロックに再分割するにあたり、当該小さなブロックのサイズbはb=B/2とした。
この場合は各ブロックの参照部分が既に符号化しているように、“A→B→C→D”か、“A→C→B→D”の順で符号化する。
ブロックの再分割は、誤差が許容範囲に収まるようになるまで行う。こうすればインデックスの数が増えて符号量が増加するが、誤差を許容量以下に抑えられる。
以上で符号化装置の具体例の説明を終わるが、最後に図57にこの符号化装置全体のフローチャートを示す。
S27: 参照パターンによってインデックステーブルを生成する。
S28:生成したインデックステーブルを用いてベクトル量子化を行い終了する。このような処理を行う。
<復号装置の具体例>次に、復号装置の具体例を図52に示す。図52に示した回路は、ベクトル逆量子化を行うベクトル逆量子化器1636、ベクトル逆量子化されて得られた情報を保持するメモリ1637、インデックステーブルを生成するインデックステーブル生成器1639とから構成されており、これを図3に示した画像復号装置全体の中ではアルファマップ復号化回路400の部分に配置する。
ベクトル逆量子化器1636にはインデックス1635が入力される。メモリ1637には既に復号したアルファマップが保持されており、そこから、参照パターン1638がインデックステーブル生成器1639に送られる。このインデックステーブル生成器1639は符号化装置のそれと同じものである。
生成されたインデックステーブル1640はベクトル逆量子化器1636に送られる。ベクトル逆量子化器1636からメモリ1637には復号したアルファマップ1641が送られる。
図58が図52に示した復号装置の処理の流れを示すフローチャートである。このフローチャートを説明すると、まず、インデックステーブル生成器1639は、参照パターンによってインデックステーブルを生成する(S29)。そして、生成したインデックステーブルを用いてベクトル逆量子化器1636はインデックス1635のベクトル逆量子化を行い(S30)、終了する。
図72には図71に示した符号化装置で生成される符号の復号を行う復号装置を示す。この復号装置は、切り替え信号1652とアルファマップの符号1653が多重化された信号を分離する分離器1651、この分離器1651で分離された切り替え信号1652により回路切り替えしてベクトル逆量子化器1654またはMMR復号器1657のうちの一方に与える切り替え器1655、切り替え器1655を介して与えられる分離器1651からの分離されたアルファマップの符号1653をベクトル逆量子化するベクトル逆量子化器1654、切り替え信号1652により回路切り替えしてベクトル逆量子化器1654またはMMR復号器1657のうちの一方を出力する切り替え器1656からなる。
このような構成において、切り替え信号1652とアルファマップの符号1653の多重化信号である符号1650は、分離器1651に入力される。分離器1651では符号1650が切り替え信号1652とアルファマップの符号1653に分割され、切り替え信号1652は切り替え器1655と切り替え器1656に、アルファマップの符号1653は切り替え器1656にそれぞれ送られる。
切り替え器1656では切り替え信号1652によって、アルファマップの符号1653がベクトル逆量子化器1654かMMR復号器1657のいずれかに送られる。ベクトル逆量子化器1654とMMR復号器1657では、アルファマップの符号1653が入力された時にはアルファマップ1658を再生し、切り替え器1655を通って出力される。
以上で第11の具体例としての復号装置の具体例の説明を終わる。
以上述べてきたように、本発明によればアルファマップを効率良く符号化することが可能となり、従って、アルファマップの符号量を低減することができるために、大幅な符号化効率の低下なしに、背景とオブジェクトを別々に符号化することができるようになる。
なお、種々の具体例について説明したが、本発明はこれらに限定されることなく、変形して実施可能である。
本発明を説明するための図であって、本発明による画像符号化装置および画像復号化装置が適用される画像伝送システムの一例を示す図。 本発明を説明するための図であって、本発明による符号化装置の全体の概略的な構成を示すブロック図。 本発明を説明するための図であって、本発明による復号化装置の全体の概略的な構成を示すブロック図。 従来のアルファマップ符号化回路の構成を示すブロック図。 2値画像の解像度変換回路の例。 本発明を説明するための図であって、本発明による第1の具体例の符号化回路を説明する図。 従来の復号化回路を説明する図。 本発明を説明するための図であって、本発明による第1の具体例の復号化回路を説明する図。 MMRの2次元符号化を説明する図。 本発明で用いられる可変長符号の符号化例とMMR符号化での符号化例を示す図。 MMRの符号化手順を説明するフローチャート。 MMRの符号化手順を説明する図、 本発明を説明するための図であって、本発明方式におけるラスタ順に符号化する手順を説明する図。 本発明を説明するための図であって、本発明方式における垂直パスモードが必要となる例を表す図。 本発明を説明するための図であって、垂直パスモードの第1の例を説明する図。 本発明を説明するための図であって、垂直パスモードの第2の例を説明する図。 本発明を説明するための図であって、ラスタ順に符号化する場合の符号化手順を説明するためのフローチャート。 本発明を説明するための図であって、フレーム間の参照ラインを用いる符号化/復号化装置のブロック図。 本発明を説明するための図であって、フレーム内とフレーム間の参照ラインを説明するための図。 本発明を説明するための図であって、フレーム間の参照ラインを用いる符号化手順を説明するためのフローチャート。 本発明を説明するための図であって、本発明での符号化モードの切り換えを説明するための図。 本発明を説明するための図であって、本発明でのブロックラインのスキップを説明するための図。 本発明を説明するための図であって、本発明でのNOT CODED モードを用いる場合の符号化手順を説明するためのフローチャート。 本発明を説明するための図であって、本発明における複数の参照ラインを用いる場合を説明するための図。 本発明を説明するための図であって、本発明における2つの参照ラインを用いる場合での符号化手順のフローチャート。 本発明を説明するための図であって、適用対象とする一例としての多値のアルファマップを説明する図。 本発明を説明するための図であって、本発明での多値のアルファマップの符号化法を適用するための構成例を説明するためのブロック図。 本発明を説明するための図であって、本発明における第2の具体例を説明する図。 本発明を説明するための図であって、本発明における第3の具体例を説明する図。 本発明を説明するための図であって、本発明における第3の具体例を説明するブロック図。 アルファマップを説明する図。 本発明の他の例を説明するための図。 本発明を説明するための図であって、本発明における第4の具体例を説明する図。 本発明を説明するための図であって、本発明における第4の具体例を実現する装置構成例を示すブロック図。 本発明を説明するための図であって、マクロブロックMBを説明するための図。 本発明における第5の具体例を説明するための図。 本発明を説明するための図であって、本発明における第5の具体例を説明するための図。 本発明を説明するための図であって、本発明における第6の具体例を説明するための図。 本発明を説明するための図であって、本発明における第7の具体例を説明するための図。 本発明を説明するための図であって、本発明における第8の具体例を説明するための図。 本発明の応用例を説明するための図。 本発明の第8の具体例を説明するための図であって、アルファマップのMV検出及び符号化を表す図。 本発明の第9の具体例を説明するための図であって、アルファマップのブロック属性をビットプレーンに分解する図。 本発明の第9の具体例を説明するための図であって、アルファマップのブロック属性のビットプレーンを符号化する例。 本発明の第10の具体例を説明するための図であって、時刻 n と時刻 n-1におけるあるマクロブロックの属性情報の一例を表した図(アルファマップのブロック属性のフレーム間相関を示す図)。 本発明の第10の具体例を説明するための図であって、時刻 n-1 のラベルのサイズを、時刻 n のラベルのサイズに合わせる手順の例を示す図。 本発明の第10の具体例を説明するための図であって、フレーム間符号化と、フレーム内符号化を表す図。 本発明の第10の具体例を説明するための図であって、ライン毎にまとめて符号化する例を表す図。 本発明の第10の具体例を説明するための図であって、各ラベルを符号化するための可変長符号表の例。 本発明の第10の具体例を説明するための図であって、本発明の復号化装置および符号装置の構成例を示すブロック図である。 本発明の第11の具体例を説明するための図であって、ベクトル量子化を用いた本発明の符号化装置の具体例を示すブロック図。 本発明の第11の具体例を説明するための図であって、ベクトル量子化を用いた本発明の復号装置の具体例を示すブロック図。 本発明の第11の具体例を説明するための図であって、本発明システムに用いるインデックステーブル生成器1609の例を示すブロック図。 本発明の第11の具体例を説明するための図であって、本発明システムに用いるインデックステーブル生成器の第2の具体例を示すブロック図。 本発明の第11の具体例を説明するための図であって、本発明システムに用いるインデックステーブル生成器の第3の具体例を示すブロック図。 本発明の第11の具体例を説明するための図であって、本発明システムに用いるタイプ決定器1616の具体例を示すブロック図。 本発明の第11の具体例を説明するための図であって、本具体例における符号化装置全体の処理の流れを示すフローチャート。 本発明の第11の具体例を説明するための図であって、図52に示した本具体例における復号装置の処理の流れを示すフローチャート。 本発明の第11の具体例を説明するための図であって、アルファマップの例を示す図。 本発明の第11の具体例を説明するための図であって、途中まで符号化、復号されたアルファマップの例を示す図。 本発明の第11の具体例を説明するための図であって、参照部分を示す図。 本発明の第11の具体例を説明するための図であって、ブロックを再分割した時の参照部分を説明する図。 本発明の第11の具体例を説明するための図であって、RTとRLを説明するための図。 本発明の第11の具体例を説明するための図であって、境界線の向きの推定を説明するための図。 本発明の第11の具体例を説明するための図であって、本発明で使用する評価値の計算例を説明するための図。 本発明の第11の具体例を説明するための図であって、許容誤差条件を判定するためのブロックを説明する図。 本発明の第11の具体例を説明するための図であって、本発明の具体例を示すフローチャート。 本発明の第11の具体例を説明するための図であって、本発明で用いるタイプ決定器1616での処理アルゴリズムを示すフローチャート。 本発明の第11の具体例を説明するための図であって、図51のベクトル量子化器1607において用いるアルゴリズムを説明するフローチャート。 本発明の第11の具体例を説明するための図であって、本発明に用いるタイプMとRT、RLを用いたインデックステーブルの構成例を示す図。 本発明の第11の具体例を説明するための図であって、本発明の符号化装置の具体例を示すブロック図。 本発明の第11の具体例を説明するための図であって、図71に示した符号化装置で生成される符号の復号を行う復号装置の具体例を示すブロック図。 本発明の第11の具体例を説明するための図であって、本発明に用いるVLCテーブルの例を示す図。 本発明の第11の具体例を説明するための図であって、ブロック単位で符号化する場合の変化画素の関係を表す図およびb1を検出する為の参照領域を表す図(ブロックベース符号化の変化画素の関係と参照領域を表す図)。 本発明の第11の具体例を説明するための図であって、MMRをブロックベースで符号化する場合のフローチャート。
符号の説明
100…差分回路
110,350…動き補償予測回路
120…直交変換回路
130…量子化回路
140…可変長符号化回路
150,320…逆量子化回路
160,330…逆直交変換回路
170,340…加算回路
180,240,510…多重化回路
200…アルファマップ符号化回路
210,230,420…解像度変換回路
220…2値画像符号化回路
221…2次元符号化回路
222…ラインメモリ
223…フレームメモリ
300,430,520…分離化回路
310…可変長復号化回路
400…アルファマップ復号化回路
410…2値画像復号化回路
500…オブジェクト領域検出回路
530…アルファマップ復元回路
621,622…フレームメモリ
623…制御手段
1613…ベクトル逆量子化器
1605…メモリ
1607…ベクトル量子化器
1609,1639…インデックステーブル生成器
1636…逆量子化器
1637…メモリ
2000…符号化/復号化回路
2100…ラインメモリ
2200…セレクタ
2300…フレームメモリ
2400…動き補償予測回路
2500…シェープコーディング部(2値画像符号化回路)
2600…アルファバリューコーディング部(多値画像符号化回路)。

Claims (2)

  1. 画像のオブジェクトを含む方形領域を分割したM×N画素(M:水平方向の画素数,N:垂直方向の画素数)で構成されるブロックを符号化した符号化データと前記ブロック内のスキャン順序である符号化順序の切り換え情報を示す符号とが多重化された多重化符号化データを入力するステップと、
    前記符号化データから前記符号を復号して前記切り換え情報を得る復号ステップと、
    前記復号ステップにより得られた切り換え情報を基にブロック内のスキャン順序である復号化順序を切り換える切換ステップと、
    前記切換ステップにより前記復号化順序を切り換えながら前記多重化符号化データ中のブロックの符号化データを復号して前記ブロックを再生するブロック復号ステップとを具備することを特徴とする画像復号化方法。
  2. 画像のオブジェクトを含む方形領域を分割したM×N画素(M:水平方向の画素数,N:垂直方向の画素数)で構成されるブロックを符号化した符号化データと前記ブロック内のスキャン順序である符号化順序の切り換え情報を示す符号とが多重化された多重化符号化データを入力する手段と、
    前記符号化データから前記符号を復号して前記切り換え情報を得る復号手段と、
    前記復号手段により得られた切り換え情報を基にブロック内のスキャン順序である復号化順序を切り換える切換手段と、
    前記切換手段により前記復号化順序を切り換えながら前記多重化符号化データ中のブロックの符号化データを復号して前記ブロックを再生するブロック復号手段とを具備することを特徴とする画像復号化装置。
JP2007038687A 1995-09-29 2007-02-19 画像復号化方法及び装置 Abandoned JP2007166665A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007038687A JP2007166665A (ja) 1995-09-29 2007-02-19 画像復号化方法及び装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP27699095 1995-09-29
JP28102895 1995-10-27
JP6145196 1996-03-18
JP9891896 1996-04-19
JP2007038687A JP2007166665A (ja) 1995-09-29 2007-02-19 画像復号化方法及び装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP8237053A Division JPH104549A (ja) 1995-09-29 1996-09-06 画像符号化装置および画像復号化装置

Publications (1)

Publication Number Publication Date
JP2007166665A true JP2007166665A (ja) 2007-06-28

Family

ID=38248949

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007038687A Abandoned JP2007166665A (ja) 1995-09-29 2007-02-19 画像復号化方法及び装置

Country Status (1)

Country Link
JP (1) JP2007166665A (ja)

Similar Documents

Publication Publication Date Title
US6088486A (en) Video coding and video decoding apparatus
US7308031B2 (en) Video encoding apparatus and video decoding apparatus
US6330364B1 (en) Video coding and video decoding apparatus
JP2007202169A (ja) 画像復号化方法及び装置
JP2007195209A (ja) 画像符号化方法及び装置
JPH104549A (ja) 画像符号化装置および画像復号化装置
JP2007166664A (ja) 画像符号化方法及び装置
US6754268B1 (en) Video coding and video decoding apparatus
JP2007166665A (ja) 画像復号化方法及び装置
JP2007166663A (ja) 画像復号化方法及び装置
JP2007195210A (ja) 画像復号化方法及び装置
JP2007166662A (ja) 画像符号化方法及び装置
JP2004350307A (ja) 画像符号化装置および画像復号化装置
JP2004343788A (ja) 画像符号化装置および画像復号化装置および画像符号化データを記録した記録媒体
JP2004320808A (ja) 画像符号化装置
JP2004320807A (ja) 画像符号化装置および画像復号化装置

Legal Events

Date Code Title Description
A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20100125