JP4036665B2 - Image encoding method and image decoding method - Google Patents
Image encoding method and image decoding method Download PDFInfo
- Publication number
- JP4036665B2 JP4036665B2 JP2002075296A JP2002075296A JP4036665B2 JP 4036665 B2 JP4036665 B2 JP 4036665B2 JP 2002075296 A JP2002075296 A JP 2002075296A JP 2002075296 A JP2002075296 A JP 2002075296A JP 4036665 B2 JP4036665 B2 JP 4036665B2
- Authority
- JP
- Japan
- Prior art keywords
- tile
- unit
- image
- information
- encoding
- 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.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、ディジタル画像処理の分野に属し、画像データを高能率に符号化する画像符号化方法及びこの画像符号化方法で符号化された符号化データを復号する画像復号方法に関するものである。
【0002】
【従来の技術】
自然画像をデジタルデータに変換してコンピュータ処理するための画像フォーマットとして、フラッシュ・ピックスフォーマット(FlashPix Format Specification Version 1.0)が提案されている。
【0003】
このフォーマットでは、表示・印刷装置の能力やユーザーの要求に応じて必要な解像度のデータを素早く取り出すために、複数の解像度のデータを同時に保持している。また、画像の拡大縮小や編集の際に画像データ内の必要な部分だけを処理することで負荷を軽減できるよう、画像をタイル単位に分割して保持している。
【0004】
フラッシュ・ピックスフォーマットに従って画像を符号化する符号化装置について、図32を用いて説明する。図32(a)は画像の縮小及びタイル分割を示す図であり、図32(b)は符号化装置の一例を示すブロック図である。
【0005】
フラッシュ・ピックスでは最初に図32(a)の画像1〜4に示す1/1〜1/8サイズの画像を生成し、各画像1〜4に対してそれぞれタイル分割及び圧縮を行うという点に特徴がある。
【0006】
まず、図32(a)の画像1を図32(b)の符号化装置で符号化する場合について説明する。ここで、図32(a)の画像1〜4の破線はタイルの境界を表わしている。
【0007】
原画像は、タイル分割部3201で64画素×64画素から成るタイルに分割され、続いてJPEG圧縮部3202でタイル毎に圧縮処理される。各タイル毎の符号化データはタイル分割部3201からのタイル分割情報と合わせて符号化データ統合部3203で一つに統合され、符号化データ1が出力される。
【0008】
次に、図32(a)の画像2について説明する。原画像が1/2縮小部3204で縦横とも1/2に縮小された後、同様にタイル分割部3205、JPEG圧縮部3206、符号化データ統合部3207を経て、符号化データ2となる。
【0009】
図32(a)の縮小画像群(画像2〜4)を生成する縮小処理は、縮小画像全体が1タイル内に収まる大きさになるまで繰り返される。図32(a)の例では、画像3のサイズは、1つのタイルに収まっておらず、さらに1/2縮小処理が行われ、1つのタイル内におさまる画像4のサイズが得られたところで縮小処理を終了する。
【0010】
画像3の符号化データは1/2縮小部3208、タイル分割部3209、JPEG圧縮部3210、符号化データ統合部3211により生成され、画像4の符号化データは1/2縮小部3212、タイル分割部3213、JPEG圧縮部3214、符号化データ統合部3215により生成される。
【0011】
この方式では、1/1サイズ画像の符号化データとは別に、縮小した別解像度の画像についてもそれぞれ符号化データを保持するために、符号化データ量が約1.4倍に増大してしまう点、符号化時には、各解像度で圧縮処理を行うため処理量が大きい点が問題となる。
【0012】
一方、フラッシュ・ピックスとは別に、ウェーブレット(Wavelet)変換による画像圧縮方式があり、この方式では原画像のサイズに対して圧縮を行った一つの符号化データから異なる解像度の画像データを容易に復号することができるので、複数解像度に対応することによる符号化データ量の増大の問題は発生しない。
【0013】
すなわち、前述のフラッシュ・ピックスで符号化データ量が1.4倍となったのに対し、1倍の符号化データ量で複数解像度を復号する要求に答えることができる。
【0014】
ウェーブレット変換圧縮では、図33の基本ブロック図に示す処理が行われる。原画像はウェーブレット変換部3301でウェーブレット変換されたサブバンド分割データとなり、量子化部3302で量子化され、エントロピー符号化部3303でエントロピー符号化された後、符号化データとなる。
【0015】
図33中のウェーブレット変換部3301をより詳細に示したブロック図を図34に、ウェーブレット変換による画像変換を図35に示す。これらは3回の2次元サブバンド分割を行った場合の例である。
【0016】
図35(a)の原画像は、図34の水平方向のローパスフィルタ3401と水平方向のハイパスフィルタ3402とにより、2つの水平方向サブバンドに分割され、各々1/2サブサンプリング部3407、3408によって1/2に間引かれる。
【0017】
分割された2つの水平方向サブバンドは、それぞれ垂直方向についてもローパスフィルタ3403、3405とハイパスフィルタ3404、3406とによるサブバンド分割と、1/2サブサンプリング部3409〜3412によるサブサンプリングとが行われ、この時点で4つのサブバンドに変換される。
【0018】
このうち、水平方向高域、垂直方向高域のサブバンド(図34のヌ)、水平方向高域、垂直方向低域のサブバンド(図34のリ)、水平方向低域、垂直方向高域のサブバンド(図34のチ)は、それぞれ図35(b)のチ、リ、ヌに示すウェーブレット変換係数となる。
【0019】
残りの水平方向、垂直方向とも低域のサブバンド3413についてのみ、再帰的にサブバンド分割を繰り返していく。
【0020】
この再起的なサブバンド分割は、水平方向ローパスフィルタ3414、3426、水平方向ハイパスフィルタ3415、3427、垂直方向ローパスフィルタ3416、3418、3428、3430、垂直方向ハイパスフィルタ3417、3419、3429、3431、及び1/2サブサンプリング部3420〜3425、3432〜3437によってなされる。
【0021】
尚、図34のイ〜トのサブバンドは、図35(b)のイ〜トに対応する。
【0022】
このようにして得られた図35(b)のウェーブレット変換係数を、サブバンド毎に図33の量子化部3302で量子化し、さらに同図のエントロピー符号化部3303でエントロピー符号化して符号化データを得る。尚、エントロピー符号化部3303ではハフマン符号化や算術符号化を用いることができる。
【0023】
一方、ウェーブレット変換の復号は、図36に示すように、符号化データをエントロピー復号部3601でエントロピー復号し、逆量子化部3602で逆量子化した後、逆ウェーブレット変換部3603でサブバンド合成して復号画像を得る。
【0024】
ウェーブレット変換を用いた符号化の特徴として、図35(b)に示すように、解像度に応じた階層構造を持つ点があり、このため復号の際に符号化データの一部、若しくは全体を用いて、異なる解像度の画像を容易に復号することができる。
【0025】
すなわち、図35(b)のイ,ロ,ハ,ニのサブバンドを復号すれば、原画像の1/4の画像を復号することができ、これに加えてホ,ヘ,トを復号すれば、1/2の画像を復号することができ、全てのサブバンドを復号すれば、1/1サイズの画像を復号することができる。
【0026】
ここで、図34におけるH−LP、H−HP、V−LP、V−HPフィルタの動作について、図37を用いて説明する。なお、図37(b)は図37(a)の円で囲った部分を拡大したものである。
【0027】
図37(a)の原画像に対してウェーブレット変換を行うために、原画像右上端近くの画素3701に対するタップ数9ビットの水平方向フィルタの出力を求める場合、フィルタの演算対象は3702に示した領域になる。
【0028】
しかしこの場合、フィルタ演算対象3702の一部は原画像の外にはみ出しており、この部分には画素データが存在しない。垂直フィルタについても同様の問題が生じる。
【0029】
このように、変換対象画像の周辺部では、フィルタのタップ数に応じて画像外部のデータも必要となる。さらにサブバンド分割を繰り返すと、フィルタがはみ出す領域は広くなる。
【0030】
この問題は、一般にはある規則に従って画像を端部で折り返す等の方法で処理される。
【0031】
【発明が解決しようとする課題】
フラッシュ・ピックスのように、複数の解像度の画像に対する符号化データを別々に持つ場合、拡大・縮小などの画像データ処理時の負荷を軽減することができるが、符号化データサイズが約1.4倍に増大する欠点がある。
【0032】
一方、ウェーブレット変換符号化を用いると、原画像のサイズに対して圧縮を行った一つの符号化データのみから複数の解像度データを容易に復号できるため、符号化データサイズは増大しない。
【0033】
しかしながら、フラッシュ・ピックスで用いられている、画像をタイルに分割しタイル単位に符号化する方式(特定の画像領域が画像処理の対象となる場合に、必要な画像タイルのみを画像処理の対象とすることで処理にかかる負荷を軽減できる)をウェーブレット変換符号化方式に適用した場合、ウェーブレット変換に使用するフィルタがタイル境界からはみ出すために、問題が生ずる。
【0034】
すなわち、フラッシュ・ピックスのようなJPEG符号化を利用するものは、符号化処理がタイル内で閉じているためにタイル単位の符号化が容易であったのに対し、ウェーブレット変換符号化では処理がタイルの周囲にはみ出るため、タイル単位での符号化処理・管理が困難になるという問題があった。
【0035】
さらに、従来のウェーブレット変換符号化では、図33のウェーブレット変換部3301の出力、すなわち図35(b)のウェーブレット変換係数を全て保持するメモリが必要であり、この際ウェーブレット変換係数は原画像と同一の解像度を有するため、メモリ必要量が大きくなるという問題があった。この問題は高解像度の画像を扱う場合により顕著となる。
【0036】
本発明はかかる課題に鑑みてなされたものであり、複数の解像度の復号及びタイルによる管理をウェーブレット変換を用いて実現することにより、高機能、高効率の符号化を小規模なハードウェア構成で可能とするものである。
【0037】
【課題を解決するための手段】
本発明の画像符号化方法は、画像データをN画素×M画素のタイルに分割し、各タイルに対応する符号化対象データとして、タイル内のN画素×M画素を出力するステップと、前記各タイルに対応する符号化対象データの周囲に所定のデータを外挿してサブバンド分割を行い、各タイルをそれぞれ独立にウェーブレット符号化するステップと、任意のタイルを独立して、前記サブバンド単位で復号するための管理情報を生成するステップと、前記管理情報を前記符号化情報に付加して、ビットストリームを生成するステップとを具備し、前記管理情報は、各タイルの符号化情報のビットストリーム上での位置を示す情報と、各サブバンドを管理・識別する情報とを含み、前記符号化情報とは独立した位置にまとめて配置されることを特徴とする。
【0038】
本発明の画像復号方法は、画像データをタイルに分割し、各タイルをそれぞれ独立にウェーブレット符号化した符号化情報と、符号化情報を管理するための管理情報とからなるビットストリームを入力とし、必要とするタイル及び解像度に応じた復号画像を復号する画像復号方法であって、前記管理情報は、各タイルもしくは解像度に対応する符号化情報のサイズを含み、前記符号化情報とは独立した位置にまとめて配置され、復号するタイルあるいは解像度に対応する符号化情報の格納位置を前記サイズをもとに解析するステップと、前記格納位置をもとに、ウェーブレット復号を行うステップと、前記ウェーブレット復号されたタイル単位の復号画像を連結するステップとを備えた、画像復号方法である。
【0039】
【発明の実施の形態】
以下、本発明の実施の形態を詳細に説明する。図1は本発明の実施形態1の画像符号化方法を説明するためのブロック図である。
【0040】
図2(a)に示すような原画像の画像データは、まずタイル分割部101で予め決められたN画素×M画素のタイルに分割される。分割された画像を図2(b)に示す。タイル分割部101では、各タイルに対応するデータとしてタイル内のN画素×M画素の画像を出力する。
【0041】
分割されたタイルのうち、図2(b)のタイルiについて、その後の処理を説明する。タイルiの画像データを、ウェーブレット変換部102でサブバンド分割する。
【0042】
ここで、タイルの周辺近くをサブバンド分割処理する際には、タイル周囲のデータを外挿する。すなわち、図37(b)に示したように、ウェーブレット変換に用いるフィルタの演算対象範囲3702がタイル外にはみ出す場合、タイルの外側のデータが必要となるため、ウェーブレット変換部102では、データを外挿してサブバンド分割する。
【0043】
外挿方法としては、例えば図2(c)に示すように、タイル内の画像を折り返して鏡像を生成する手法を用いる。続いて、量子化部103でウェーブレット変換係数を量子化し、エントロピー符号化部104でエントロピー符号化して、タイルiの符号化データを得る。
【0044】
エントロピー符号化には、ハフマン符号化や算術符号化を用いることができる。このウェーブレット変換部102、量子化部103、エントロピー符号化部104をまとめてウェーブレット変換符号化部105と呼ぶ。
【0045】
一方、管理情報生成部106は、タイル分割部101から得られた各タイルの空間的な位置に関するタイル分割情報と、ウェーブレット変換符号化部105から得られた各サブバンドの情報とを用いて、タイル及びサブバンドを管理・識別するための管理情報を生成する。この管理情報は、符号化データ統合部107で利用される。
【0046】
符号化データ統合部107は、管理情報生成部106より出力される管理情報を使用して、エントロピー符号化部104より出力される符号化情報を整理・統合し、かつ管理情報をビットストリーム中に付加して、最終的な符号化データを作成する。
【0047】
ここで、符号化データをサブバンド及びタイルに従って管理するのは、画像を復号する際に、図32(a)に示した例のような異なった解像度の画像や、画像中の特定のタイルのみを復号することを可能にするためである。
【0048】
このように作成された符号化データのビットストリームの一例を図3に示す。ビットストリームは、ビットストリーム全体の情報を管理するヘッダーと、各タイル毎の符号化情報とから構成され、各タイル毎の符号化情報は、タイル毎の情報を管理するタイルヘッダーと、画像タイルを前記ウェーブレット変換符号化部105で符号化したタイル毎の符号化情報とから構成される。
【0049】
タイルヘッダーには、各サブバンドに対応するビット位置の情報が記述されており、ここを参照することで必要なサブバンドに対応するビット列がどこにあるかを知ることができる。
【0050】
勿論、本発明によるビットストリームの構成は、図3に示すものに限定されるものではない。例えば、図3と同じ構成である図4(a)に示したものに対し、図4(b)のように各タイルのサブバンド情報を別々に分離した後、これを並び換え、それぞれのサブバンド情報にタイルヘッダを付加して独立したタイルとする構成としても良い。このようにすると、縮小画像のタイルだけにアクセスすることで、縮小された全体画像を素早く再現することが可能となる。
【0051】
次に、本発明の実施形態2の画像符号化方法について説明する。ここで、実施形態2の画像符号化方法の構成は、図1とともに上述した実施形態1のブロック図と同じであり、タイル分割部101の動作のみが異なっている。このため、以下ではこのタイル分割部101の動作について、図5を用いて説明する。
【0052】
実施形態1のタイル分割部101では、N×M画素のタイルに原画像を分割した後、特定のタイルをウェーブレット変換部102に出力する際に、タイル内部の画像データのみを出力として切り出していたが、実施形態2におけるタイル分割部101は、原画像に適当な窓関数を乗じることでデータを切り出して出力するものを用いる。
【0053】
例えば、図5のタイルijを切り出す場合、原画像データに対して水平方向に窓関数FXi、続いて垂直方向に窓関数FYjを乗じた結果を、タイル分割部101の出力とする。尚、iは水平方向のタイル番号、jは垂直方法のタイル番号である。
【0054】
これにより、図5中の斜線部の画像に、窓関数に応じた重みを乗じた結果が、タイル分割部101の出力となる。ここで窓関数としては、全区間を通じた総和が1となるようなものを用いる。
【0055】
すなわち、
ΣFXi(x)=1(0≦x≦w)
ΣFYj(y)=1(0≦y≦h)
を満たす窓関数を用いる。
【0056】
ただし、wは原画像の幅、hは原画像の高さを表し、x、y軸は原画像の左上角を原点Oとし、それぞれ右向き、下向きに取られているものとする。
【0057】
また、FXi(x)の総和はiに対して、FXj(Y)の総和はjに対して取られているものとする。図5のFXi−1、FXi、FY1、FYj、FYj+1は、このような条件を満たす関数の一部を表したのもである。
【0058】
この窓関数によるデータ切り出しの結果、タイル分割部101の出力には、タイルij内部の画素だけでなく、周囲の画素も窓関数の値に応じた重みで符号化対象データの中に含まれることになる。
【0059】
次に、上述した実施形態1の画像符号化方法で符号化されたデータを復号する画像復号方法について、本発明の実施形態3として説明する。図6は実施形態3の画像復号方法を説明するためのブロック図である。
【0060】
入力となる符号化データは、実施形態1で説明した画像符号化方法で符号化されたものである。管理情報分離部401は符号化データの中からタイル分割に関する管理情報・サブバンドに関する管理情報を分離して取り出す。
【0061】
取り出された管理情報に基づき、符号化データ抽出部402ではユーザの要求に応じて、符号化情報中の必要となるタイル及びサブバンドの符号化情報部分を判定し抽出する。尚、図3に示したビットストリームの例では、管理情報はヘッダー及びタイルヘッダーにある。
【0062】
抽出された符号化情報は、エントロピー復号部403でエントロピー復号され、逆量子化部404で逆量子化され、復号対象のタイルに対応するウェーブレット変換係数が得られる。
【0063】
ウェーブレット変換係数は、逆ウェーブレット変換部405で逆ウェーブレット変換され、対象タイルの復号画像が得られる。このエントロピー復号部403、逆量子化部404、逆ウェーブレット変換部405をまとめてウェーブレット変換復号部406と呼ぶ。
【0064】
さらに、タイル連結部407で、管理情報生成部401からのタイル分割情報に基づき、復号されたタイル群を連結して、所望の領域・解像度の復号画像を得る。
【0065】
図3に示したビットストリームの例を用いて説明すると、低い解像度の全体画像(全タイル)を復号する場合、各タイルヘッダーのサブバンド情報を参照しながら、低解像度のサブバンドに相当する符号化データ部分である1−a、2−a、…、i−a、…を、タイル毎に順次ウェーブレット変換復号部406でウェーブレット変換復号する。
【0066】
そして、得られた低解像度のタイルをタイル連結部407で連結すれば、低解像度の全体画像を得ることができる。
【0067】
また、低解像度復号画像から、ある特定のタイルiを拡大して、最高解像度で表示したい場合、タイルiに相当する符号化情報である第iタイル符号化情報全体を復号すれば良い。
【0068】
すなわち、既に抽出済みの符号化情報i−aに加えてi−bを抽出し、i−aとあわせて復号すれば、所望の復号画像が得られる。勿論、全部の符号化情報(全てのタイル、全てのサブバンド)を復号すれば、高解像度でかつ全ての領域の復号画像を得ることができる。
【0069】
以上のように、ユーザの要求に応じて任意の解像度、任意のタイルの画像を容易に復号することができる。
【0070】
次に、本発明の実施形態4の画像復号方法について説明する。入力となる符号化データは、実施形態2で説明した画像符号化方法により符号化されたものである。ここで、実施形態4の画像復号方法の構成は、図6とともに上述した実施形態3と同じであり、タイル連結部407の動作のみが異なっている。このため、以下ではこのタイル分割部407の動作について、図7を用いて説明する。
【0071】
実施形態2の画像符号化方法では、各タイルの符号化対象画素がタイルの周辺画素を含むため、ウェーブレット変換復号部406で復号されたタイルの復号データの大きさは、タイルの大きさよりも大きくなる。
【0072】
図7においては、タイルは2画素×2画素で構成され、またタイルの復号データの大きさは4画素×4画素である。この場合、タイルijの復号データは図7の斜線部となり、隣接するタイルと1画素の幅だけ重なり合う。
【0073】
タイル連結部407では、タイルの連結の際に、復号データが重なり合う位置については、復号データを足しあわせて画素値を求める。例えば、図7の画素aについては、
a(i−1,j−1)+a(i,j−1)+a(i−1,j)+a(i,j)
によって、画素値を計算する。
【0074】
ここで、a(i,j)は画素aの位置におけるタイルijの復号データを表すものとする。
【0075】
次に、本発明の実施形態5の画像符号化方法について説明する。図8は実施形態5の画像符号化方法を説明するためのブロック図である。
【0076】
実施形態5の画像符号化方法が、図1とともに上述した実施形態1の画像符号化方法と異なっている点は、タイルをウェーブレット変換符号化する際に、タイル周囲を無条件に外挿するのではなく、対象タイルの周囲の別のタイルが存在していればそれを利用する点である。
【0077】
実施形態1の場合と同様、図9(a)に示すように、タイル分割部501で分割された原画像のうち、タイルiについてその後の処理を説明する。タイルiの画像データをウェーブレット変換部503で変換するにあたり、ウェーブレット変換に使用するフィルタがタイルiからはみ出る領域に周囲の画素が存在する場合は、その画素のデータも用いてタイルiをウェーブレット変換する。
【0078】
すなわち、図9(a)のタイルiをウェーブレット変換するために、まず図9(a)のタイルiの周囲のタイル、イ〜チの中から、図9(b)中に斜線で示したウェーブレット変換に必要な周囲画素領域をタイルiに付加した後、タイルiのウェーブレット変換を行う。
【0079】
この付加処理を行うのが周囲画素追加部502で、タイル分割部501から得られるタイル分割情報に基づき、符号化対象のタイルの周囲に別タイルが存在するか否かを判断し、タイルが存在する場合に必要な画素を付加する。
【0080】
上記の例において、周辺画素追加部502は周囲の全てのタイルを追加してタイル画像データを出力するため、これが入力されるウェーブレット変換部503では、タイル単体の画像を処理する実施形態1におけるウェーブレット変換部102に比べて大きな画像を変換する必要がある。
【0081】
変換画像が大きくなると、これを使用した機器は大きな作業領域が必要となり、コストアップと動作速度低下につながる。そこで、前記変換画像をより小さくするような別モードは有効であり、これを次に示す。
【0082】
これは、図9(c),(d)に示すように、周辺画素追加部502で追加する領域をx方向もしくはy方向に制限し、ウェーブレット変換部503へ入力するタイル画像データを小さくするものである。
【0083】
例えば、図9(c)の場合では、符号化対象のタイルの上下に別タイルが存在する場合に必要な画素を付加する。符号化対象のタイルの左右については、タイル内の画像を折り返して鏡像を生成する手法を用いる。また、図9(d)の場合は、図9(c)の場合と上下、左右が逆になる。
【0084】
ウェーブレット変換を行う手法としては、図9(b),(c),(d)のいずれか一つだけを用いてサブバンド分割を繰り返す手法、あるいはサブバンド毎に図9(b),(c),(d)の画素追加方法を切替える手法がある。
【0085】
尚、このウェーブレット変換部503の出力として必要となるのは、符号化対象タイルiのウェーブレット変換係数のみであり、周囲画素追加部502で追加された画素はタイルi内部の画素のウェーブレット変換係数を算出するためにのみ利用される。
【0086】
続いて、量子化部504で量子化を行い、エントロピー符号化部505でエントロピー符号化を行って、タイルiの符号化情報を得る。このウェーブレット変換部503、量子化部504、エントロピー符号化部505をまとめてウェーブレット変換符号化部506と呼ぶ。
【0087】
一方、管理情報生成部507は、タイル分割部501から得られた各タイルの空間的な位置に関するタイル分割情報と、ウェーブレット変換符号化部506から得られた各サブバンドの情報とを用いて、タイル及びサブバンドを管理・識別するための管理情報を生成する。この管理情報は、符号化データ統合部508で利用される。
【0088】
符号化データ統合部508は、管理情報生成部507より出力される管理情報を使用して、エントロピー符号化部505より出力される符号化情報を整理・統合し、かつ管理情報をビットストリーム中に付加して、例えば図3に示した一例のように、最終的な符号化データを作成する。
【0089】
さらに、本発明の実施形態6の画像符号化方法について説明する。実施形態6の画像符号化方法の構成は、図8とともに上述した実施形態5と同じであり、周囲画素追加部502の動作のみが異なっている。このため、以下ではこの周囲画素追加部502の動作について、図10を用いて説明する。
【0090】
図10におけるタイルiの処理を例として説明する。実施形態5として説明した周囲画素追加部502では、タイルiが入力となった場合に、タイルi内の画素のウェーブレット変換係数算出に必要となる画素、すなわちフィルタがはみ出す範囲の画素を全てタイルiに付加していた。この範囲を図10中に斜線で示した周辺画素範囲とする。
【0091】
しかし、一般にタイルiから大きく離れた画素がタイルi内のウェーブレット変換係数に及ぼす影響はかなり小さいため、本実施形態では、付加すべき周辺画素に適当な重みづけ関数を乗じた結果を、タイルiに付加することにより、付加する画素数を減らし演算量を削減する。
【0092】
重みづけ関数には、タイルiに近い部分では1、離れるに従って0に近づくような関数を使用する。図10に示す重みづけ関数はその一例である。図10の例では、重みづけ関数を乗じた結果、実際に付加される画素は網点を施した有効画素部分だけであり、その外部はウェーブレット変換に必要な画素ではあるが0とみなされ付加されない。
【0093】
尚、重みづけ関数としては、図10に示したもののほか、タイルiからの距離がある基準内であれば1、それより離れていれば0となるような階段関数も使用することができる。
【0094】
次に、本発明の実施形態7の画像符号化方法について説明する。図11は実施形態7の画像符号化方法を説明するためのブロック図である。
【0095】
実施形態7の画像符号化方法が、図1とともに上述した実施形態1及び図8とともに上述した実施形態5の画像符号化方法と異なっている点は、原画像をタイル化する前に、原画像全体に対してウェーブレット変換部701でウェーブレット変換を行い、その後でウェーブレット変換部701の出力であるウェーブレット変換係数をタイル単位に並び替えてタイルを構成する点である。
【0096】
図11において、原画像はタイル化される前にウェーブレット変換部701でウェーブレット変換される。次に、タイル構成部702で、空間上で同一のタイルに対応しているウェーブレット変換係数を集めてタイルを構成する並べ替えを行う。
【0097】
ウェーブレット変換部701でウェーブレット変換されて得られたサブバンドの例を図12(a)に示す。この場合、図12(a)の中で最も低い周波数のサブバンド中の係数b0は、他のサブバンド中の係数部分b1,b2,b3,b4,b5,b6,b7,b8,b9と空間的に対応関係にある。
【0098】
ここで、b1〜b3は1×1、b4〜b6は2×2、b7〜b9は4×4個の係数で構成されている。これらb0〜b9をそれぞれのサブバンドから抜き出してきて、図12(b)に示す形に構成したものを1つのタイルとして、その他のウェーブレット変換係数についても全てタイル単位に並べ替えることにより、実施形態5で原画像をタイルに分割してからウェーブレット変換した場合と同様の結果が得られる。
【0099】
尚、b0は一つの係数である必要はなく、k個×l個の係数で構成される係数のブロックであっても構わない。この場合、b1〜b3はk×l、b4〜b6は2k×2l、b7〜b9は4k×4l個の係数で構成されることになる。
【0100】
タイル構成部702から出力されるタイル化されたウェーブレット変換係数は、量子化部703で量子化され、エントロピー符号化部704でエントロピー符号化されて符号化情報となる。
【0101】
一方、管理情報生成部706は、タイル構成部702から得られた各タイルの空間的な位置に関するタイル分割情報と、ウェーブレット変換符号化部705から得られた各サブバンドの情報とを用いて、タイル及びサブバンドを管理・識別するための管理情報を生成する。この管理情報は、符号化データ統合部707で利用される。
【0102】
符号化データ統合部707は、管理情報生成部706より出力される管理情報を使用して、エントロピー符号化部704より出力される符号化情報を整理・統合し、かつ管理情報をビットストリーム中に付加して、例えば図3に示した一例のように、最終的な符号化データを作成する。
【0103】
尚、タイル構成部702は、量子化部703の前段に配置しているが、これに限定されるものではなく、例えば量子化部703の後段に配置しても良い。
【0104】
また、上述した実施形態5乃至7のいずれかの画像符号化方法により符号化されたデータを復号する画像復号方法について、本発明の実施形態8として説明する。図13は実施形態8の画像復号方法を説明するためのブロック図である。入力となる符号化データは、実施形態5乃至7のいずれかの画像符号化方法で符号化された符号化データである。
【0105】
図13において、符号化データの中から、管理情報分離部901でタイル分割に関する管理情報・サブバンドに関する管理情報を分離して取り出し、取り出された管理情報に基づき、符号化データ抽出部902でユーザの要求に応じて、符号化情報中の必要となる符号化情報部分を判定し抽出する。すなわち、必要なタイル及び解像度に対応する符号化データを抽出する。
【0106】
抽出された符号化情報は、タイルを単位としてエントロピー復号部903でエントロピー復号され、逆量子化部904で逆量子化され、復号に必要なタイルに対応するウェーブレット変換係数が得られる。
【0107】
ウェーブレット変換係数は、逆ウェーブレット変換部905で逆ウェーブレット変換され、周囲の画素のデータを含んだ復号画像が得られる。このエントロピー復号部903、逆量子化部904、逆ウェーブレット変換部905をまとめてウェーブレット変換復号部906と呼ぶ。
【0108】
さらに、タイル統合部907で、管理情報分離部901からの管理情報に基づいて、復号されたタイル群を統合する。ここでは、各タイルの復号画像で空間的に重なる部分は重畳させて全体の復号画像を得る。
【0109】
すなわち、図5とともに上述した実施形態2では、タイルの周辺画素を含めてウェーブレット変換している。また、実施形態5の画像符号化方法においては、図9(b)に示すように、ウェーブレット変換時にタイルの周辺画素を用いており、同様に図10とともに上述した実施形態6でも、周囲の画素を用いている。
【0110】
また、実施形態7の画像符号化方法では、タイルの周辺画素を用いる処理は明示されていないが、原画像全体をウェーブレット変換した際に、原理的に実施形態5と等価な処理がなされている。
【0111】
このため、図13のウェーブレット変換復号部906でウェーブレット変換復号した際に、周辺画素のデータが発生し、タイル統合部907では復号したタイルの周辺画素を隣接タイルに重畳させることになる。重畳には画素間の加算を用いる。
【0112】
次に、本発明の実施形態9の画像復号方法について説明する。これは、実施形態8の画像復号方法と同じく、実施形態5乃至7のいずれかの画像符号化方法で符号化された符号化データを入力とする画像復号方法である。図14は実施形態9の画像復号方法を説明するためのブロック図である。
【0113】
図14において、符号化データの中から、管理情報分離部1001でタイル分割に関する管理情報・サブバンドに関する管理情報を分離して取り出し、取り出された管理情報をに基づき、符号化データ抽出部1002でユーザの要求に応じて、符号化情報中の必要となる符号化データ部分を判定し抽出する。すなわち、必要なタイル及び解像度に相当する符号化情報を抽出する。
【0114】
抽出された符号化情報は、タイルを単位としてエントロピー復号部1003でエントロピー復号され、逆量子化部1004で逆量子化され、復号に必要なタイルに対応するウェーブレット変換係数が得られる。ここで、ウェーブレット変換係数並べ換え部1005でウェーブレット変換係数をタイル化する前の状態に並べ換える。
【0115】
すなわち、図12(b)に示すタイル単位に分割されているウェーブレット変換係数を、図12(a)に示す状態に並べ換える。全てのタイルの処理が完了した時点で、図12(a)のウェーブレット変換係数全体が得られる。
【0116】
並べ換えられたウェーブレット変換係数は、一回の逆ウェーブレット変換で復号することができるため、ウェーブレット変換係数を逆ウェーブレット変換部1006で逆ウェーブレット変換すれば、全体の復号画像を得ることができる。
【0117】
このエントロピー復号部1003、逆量子化部1004、逆ウェーブレット変換部1006をまとめてウェーブレット変換復号部1007と呼ぶ。尚、ウェーブレット変換係数並べ換え部1005は、逆量子化部1004の後段に配置しているが、これに限定されるものではなく、例えば逆量子化部1004の前段に配置しても良い。
【0118】
次に、本発明の実施形態10の画像符号化方法について説明する。図15(e)は実施形態1、実施形態2、実施形態5、実施形態6の画像符号化方法におけるウェーブレット変換部(図1の102、図8の503)に対応する部分を示したブロック図である。
【0119】
図15(e)のメモリ1102は、ウェーブレット変換部1101でサブバンド分割されたウェーブレット変換係数を格納するためのものである。この際、メモリ1102には、現在ウェーブレット変換部1101で処理中のタイルに対応するウェーブレット変換係数のみを格納し、タイルのウェーブレット変換が終了したら、データを次の工程である量子化部(図1の103、図8の504)に引き渡す。
【0120】
従って、メモリ1102に格納すべきデータ量は、画像全体に対応するものではなく、1タイルをウェーブレット変換するのに必要なデータ量に抑えることができる。
【0121】
すなわち、タイル化を行わないウェーブレット変換では、図15(a)に示すように、変換対象が画像全体となり、ウェーブレット変換部1101の出力である図15(b)のウェーブレット変換係数の全てをメモリに格納する必要があったのに対し、例えば図15(c)に示すように、タイル化を行うことによって、図15(d)に対応するウェーブレット変換係数が格納できるメモリのみを用意すればよいことになり、必要メモリ量の大幅な削減が可能となる。
【0122】
画像復号方法でも同様な効果が期待できる。本発明の実施形態11の画像復号方法について説明する。図16(e)は実施形態3、実施形態4、実施形態8として上述した画像復号方法のうち、逆ウェーブレット変換部(図6の405、図13の905)に対応する部分を示したブロック図である。
【0123】
図16(e)のメモリ1201には、まず一つのタイルを復号するのに必要なウェーブレット変換係数が格納され、逆ウェーブレット変換部1202でサブバンド合成が行われる。
【0124】
従って、復号対象画像を図16(b)とした場合、タイル化しないウェーブレット変換では、メモリに格納すべきデータ量が、図16(a)に示す全てのウェーブレット変換係数であるのに対し、図16(d)に示すように、タイル分割された画像を復号する場合は、本実施形態のメモリ1201に格納すべきデータ量は、図16(c)に対応するウェーブレット変換係数ですみ、必要なメモリ量が大幅に削減される。
【0125】
以上、説明してきた本発明のいずれの実施形態においても、符号化におけるウェーブレット変換時に複数のサブバンド分割フィルタを用いて、適応的に切り替えることによって構成することができる。
【0126】
ここで、サブバンド分割フィルタとは、上述の従来例として説明したサブバンド分割に用いるローパスフィルタおよびハイパスフィルタである。ウェーブレット変換ではサブバンド分割が繰り返されるが、この時各サブバンド分割で用いるフィルタにはタップ数や係数値によって種々の種類がある。
【0127】
従って、各サブバンド分割で適切なフィルタを用いれば、ウェーブレット変換係数で必要となる符号化対象画像の周辺画素の必要量を、サブバンド毎に制御できることになり、処理量と画質とのバランスをとった最適なウェーブレット変換を行うことができる。
【0128】
このような画像符号化方法に対応した画像復号方法では、ウェーブレット変換時に用いたサブバンド分割フィルタに対応するサブバンド合成フィルタを用い、各サブバンド合成でフィルタを切り替えながら逆ウェーブレット変換が行われる。
【0129】
次に、本発明の実施形態12の画像符号化方法について説明する。本実施形態においては、入力された画像は予め定められた複数の符号化方式のうちの1つの方式で符号化することができるものである。
【0130】
図17は実施形態12の画像符号化方法の一例を説明するためのブロック図であり、本実施例においては、実施形態1の方式と実施形態7の方式とを切替えて符号化するものである。
【0131】
図17において、タイルウェーブレット符号化部1601は、入力画像をタイル単位にウェーブレット符号化し、符号化情報を出力する。また、該タイルウェーブレット符号化部1601は、タイル分割情報、サブバンド情報およびフラグ情報を出力する。
【0132】
管理情報生成部1603は、該タイル分割情報、該サブバンド情報、該フラグ情報を入力とし、これらを組合せて管理情報を生成、出力する。符号化データ結合部107では、該符号化情報と管理情報とを足し合わせた符号化データを出力する。
【0133】
タイルウェーブレット符号化部1601において、入力された原画像はタイル分割部101で分割され、分割画像が第1スイッチ1604の端子0に入力される。また、第1スイッチ1601の端子1には原画像がそのまま入力される。これらの出力の一方が、第1スイッチ1604を介してウェーブレット符号化部1607に入力される。
【0134】
ウェーブレット符号化部1607は、入力された画像に対してウェーブレット符号化する。第1のウェーブレット変換部1608の出力は、第2スイッチ1605を介して直接量子化部103に入力されるか、さらにタイル構成部702を介して量子化部103に入力される。
【0135】
尚、上記第1のウェーブレット変換部1608の動作は、図1とともに上述した実施形態1におけるウェーブレット変換部102と同じであるため、その説明は省略する。
【0136】
そして、フラグ発生部1602にて実施形態1の符号化方式か実施形態7の符号化方式のどちらを使用するかを表すフラグを出力し、同時に第1スイッチ1604、第2スイッチ1605、第3スイッチ1606を制御する。
【0137】
各スイッチ1604,1605,1606が端子0に結合されれば、実施形態1の方式で符号化したのと同等の処理を行い、端子1に結合されれば実施形態7の方式で符号化したのと同等の処理を行う。
【0138】
尚、タイル構成部702の動作は、図11とともに上述した実施形態7のものと同じであるので、その説明は省略する。
【0139】
以上のように、本実施例によれば、タイル単位に符号化を行うことができ、また、画像毎に処理の簡単な実施形態1の方式で符号化するか、処理は若干複雑になるが、タイル境界にひずみの発生しない実施形態7の方式で符号化するかを、選択的に切替えることができる。
【0140】
また、図18は実施形態12の画像符号化方法の別の一例を説明するためのブロック図であり、本実施例においては、実施形態1の方式と実施形態5の方式とを切替えて符号化することができるものである。
【0141】
本実施例の画像符号化方法は、図18に示すように、図17において実施形態7に関わるタイル構成部702を削除し、実施形態5に関わる周辺画素追加部502と第2のウェーブレット符号化部1705とを追加し、さらにこれらを切替えるためのスイッチが変更されている。同図のタイルウェーブレット符号化部1701及びウェーブレット符号化部1702以外の動作は、図17のものと同じなので、その説明は省略する。
【0142】
ウェーブレット符号化部1702は、入力された画像のウェーブレット符号化を行い、符号化情報を出力する。入力は2種類あり、一方は第1のウェーブレット変換部1608に接続され、他方は第2のウェーブレット変換部1705に接続されている。
【0143】
画像が第1のウェーブレット変換部1608に入力された場合、ウェーブレット変換部1702はウェーブレット符号化部1607と同じ動作をする。一方、画像が第2のウェーブレット変換部1705に入力された場合は、該第2のウェーブレット変換部1705の処理がウェーブレット変換部503と同じであるため、ウェーブレット符号化部1702はウェーブレット符号化部506と同じ動作をする。
【0144】
タイルウェーブレット符号化部1701において、入力された画像はタイル単位に分割され第1スイッチ1703に入力される。他方では、該分割された画像にその周辺の画像が足し合わされ、第2スイッチ1704に入力される。フラグ発生部1706は、ウェーブレット符号化部1702にて第1のウェーブレット変換部1608を使用するか、第2のウェーブレット変換部1705を利用するかを選択し、これを示すフラグを出力する。
【0145】
同時に、第1スイッチ1703もしくは第2スイッチ1704の一方のみをオンするような制御を行う。すなわち、第1スイッチ1703がオンの場合は、分割された画像は第1のウェーブレット変換部1608に入力され、実施形態1の方式で符号化したのと同等の処理を行う。第2スイッチ1704がオンの場合は、分割された画像とその周辺の画像とが第2のウェーブレット変換部1705に入力され、実施形態5の方式で符号化したのと同等の処理を行う。
【0146】
これによって、タイル単位に符号化を行うことができ、また、画像毎に処理の簡単な実施形態1の方式で符号化するか、処理は若干複雑になるが、タイル境界にひずみの発生しない実施形態5の方式で符号化するかを、選択的に切替えて符号化することができる。
【0147】
さらに、図19は実施形態12の画像符号化方法の別の一例を説明するためのブロック図であり、本実施例においては、実施形態1の方式、実施形態5の方式、及び実施形態7の方式を切替えて符号化することができるものである。
【0148】
本実施例の画像符号化方法は、図19に示すように、図18において実施形態7に関わるタイル構成部702が追加され、またこれらを切替えるためのスイッチが変更されている。同図のタイルウェーブレット符号化部1801及びウェーブレット符号化部1807以外の動作は、図17のものと同じなので、その説明は省略する。
【0149】
ウェーブレット符号化部1807は、入力された画像のウェーブレット符号化を行い、符号化情報を出力する。第1のウェーブレット変換部1608の出力は第3スイッチ1805を介して直接量子化部103に入力されるか、さらにタイル構成部702を介して量子化部103に入力される。第2のウェーブレット変換部1705の出力は直接量子化部103に入力される。
【0150】
タイルウェーブレット符号化部1801において、入力された画像は直接第1スイッチ1803の端子0に入力されるか、タイルに分割された後第1スイッチ1803の端子1に入力されるか、あるいは該分割されたタイルにその周辺の画素が足し合わされた画像が第1スイッチ1803の端子2に入力される。
【0151】
これらの画像が、第2スイッチ1804を介して第1のウェーブレット変換部1608もしくは第2のウェーブレット変換部1705に入力され、量子化部103およびエントロピー符号化部104を経て、符号化情報として出力される。
【0152】
フラグ発生部1802は、第1スイッチ1803、第2スイッチ1804、第3スイッチ1805、第4スイッチ1806を制御し、0、1、2の3つのモードを切替える。各スイッチ1803、1804、1805、1806の端子に示す番号は、このモード番号を示す。
【0153】
例えば、第1スイッチ1803が端子0に接続されると、残りのスイッチ1804、1805、1806も端子0に接続される。このため、各スイッチ1803、1804、1805、1806が端子0に接続された場合は、実施形態7の方式で符号化したのと同等の処理を行う。
【0154】
また、各スイッチ1803、1804、1805、1806が端子1に接続された場合は、実施形態1の方式で符号化したのと同等の処理を行い、第1スイッチ1803、第2スイッチ1804、第4スイッチ1806が端子2に接続された場合には、実施形態5の方式で符号化したのと同等の処理を行う。
【0155】
これによって、タイル単位に符号化を行うことができ、また、画像毎に処理の簡単な実施形態1の方式で符号化するか、処理は若干複雑になるが、タイル境界にひずみの発生しない実施形態5もしくは実施形態7の方式で符号化するかを、選択的に切替えて符号化することができる。
【0156】
次に、本発明の実施形態13の画像復号方法について説明する。これは、実施形態12として上述した画像符号化方法で符号化されたデータを復号する画像復号方法である。本実施形態においては、入力される符号化データは予め定められた複数の復号方式の中から一つを選んで復号される。
【0157】
図20は実施形態13の画像復号方法の一例を説明するためのブロック図であり、本実施例の画像復号方法においては、実施形態1の方式と実施形態7の方式とを切替えて符号化した符号化データを復号することができるものである。
【0158】
図20において、管理情報分離部401にて分離された符号化情報と管理情報とが、それぞれタイルウェーブレット復号部1901に入力される。タイルウェーブレット復号部1901は、該符号化情報と管理情報とを用いて、タイル単位に復号を行い、復号画像を出力する。
【0159】
該符号化情報は、ウェーブレット復号部1902に入力され、ウェーブレット復号される。該ウェーブレット復号部1902で復号された画像は、第2スイッチ1904を介して直接出力されるか、さらにタイル連結部407を介して出力される。
【0160】
ウェーブレット復号部1902において、逆量子化部404の出力は第1スイッチ1903を介して、直接第1の逆ウェーブレット変換部1906に入力されるか、さらにウェーブレット係数並べ換え部1005を介して、該第1の逆ウェーブレット変換部に入力される。
【0161】
尚、上記第1の逆ウェーブレット変換部1906の動作は、図6とともに上述した実施形態3における逆ウェーブレット変換部405と同じであるため、その説明は省略する。
【0162】
フラグ抽出部1905では、管理情報から第1スイッチ1903と第2スイッチ1904とを制御するフラグを抽出する。各スイッチ1903、1904が端子0に接続された場合は、実施形態3の画像復号方法と同じ動作を行い、端子1に接続された場合は、実施形態9の画像復号方法と同じ動作を行う。
【0163】
尚、タイル構成部407の動作は、図6とともに上述した実施形態3のものと同じであるので、その説明は省略する。
【0164】
以上のように、本実施例によれば、タイル単位に復号することができ、また、画像毎に処理の簡単な実施形態3の方式で復号するか、処理は若干複雑になるが、タイル境界にひずみの発生しない実施形態9の方式で復号するかを、選択的に切替えることができる。
【0165】
また、図21は実施形態13の画像復号方法の別の一例を説明するためのブロック図であり、本実施例の画像復号方法において、実施形態1の方式と実施形態5の方式とを切替えて符号化した符号化データを復号することができるものである。
【0166】
図21において、タイルウェーブレット復号部2001及びウェーブレット復号部2002以外の部分の動作は、図20のものと同じなので、その説明は省略する。
【0167】
ウェーブレット復号部2002は、入力される符号化情報をウェーブレット復号する。この時、逆量子化部404の出力は、第1スイッチ2004を介して、第1の逆ウェーブレット変換部1906か、第2の逆ウェーブレット変換部2003に入力される。
【0168】
該逆第1のウェーブレット変換部1906の出力は、タイル連結部407へ入力され、第2のウェーブレット変換部2003の出力は、タイル統合部907ヘ入力される。
【0169】
尚、上記第2の逆ウェーブレット変換部2003の動作は、図13とともに上述した実施形態8における逆ウェーブレット変換部905と同じであるため、その説明は省略する。
【0170】
タイルウェーブレット復号部2001において、ウェーブレット復号部2002で入力される符号化情報をウェーブレット復号し、該ウェーブレット復号部2002の出力は、タイル連結部407もしくはタイル統合部907のいずれかに連結され、復号画像が再生される。
【0171】
一方、フラグ抽出部2005では、入力された管理情報からフラグを抽出し、該抽出されたフラグにより第1スイッチ2004が切り替わる。第1スイッチ2004が端子0に接続された場合、実施形態3の画像復号方法と同じ動作を行い、端子1に接続された場合は、実施形態8の画像復号方法と同じ動作をする。
【0172】
これによって、タイル単位に復号することができ、また、画像毎に処理の簡単な実施形態3の方式で復号するか、処理は若干複雑になるが、タイル境界にひずみの発生しない実施形態8の方式で復号するかを、選択的に切替えることができる。
【0173】
さらに、図22は実施形態13の画像復号方法の別の一例を説明するためのブロック図であり、本実施例の画像復号方法においては、実施形態1の方式、実施形態5の方式、及び実施形態7の方式を切替えて符号化した符号化データを復号することができるものである。
【0174】
本実施例の画像復号方法は、図22に示すように、図21において、ウェーブレット係数並べ換え部1005が追加され、またこれらを切替えるスイッチが変更されている。同図において、タイルウェーブレット復号部2101及びウェーブレット復号部2102以外の部分の動作は、図20のものと同じなので、その説明は省略する。
【0175】
ウェーブレット復号部2102は、入力される符号化情報をウェーブレット復号する。この時、逆量子化部404の出力は、第1スイッチ2103の端子0を介して、第1の逆ウェーブレット変換部1906に直接入力されるか、第1スイッチ2103の端子1とウェーブレット係数並べ換え部1005とを介して、第1の逆ウェーブレット変換部1906に入力されるか、第1スイッチ2103の端子2を介して、第2の逆ウェーブレット変換部2003に入力される。
【0176】
該第1の逆ウェーブレット変換部1906の出力は、第2スイッチ2104を介して、タイル連結部407へ入力されるか、直接復号画像が出力される。第2の逆ウェーブレット変換部2003の出力は、タイル統合部907ヘ入力される。その他の部分の動作は、ウェーブレット復号部2002と同じなので、その説明は省略する。
【0177】
タイルウェーブレット復号部2101において、フラグ抽出部2105は管理情報からフラグを抽出する。該抽出されたフラグ情報により、第1スイッチ2103、第2スイッチ2104が制御される。また、残りの管理情報は、タイル連結部407とタイル統合部907とに入力される。
【0178】
各スイッチ2103、2104が端子0に接続された場合、実施形態3の画像復号方法と同じ動作を行い、端子1に接続された場合、実施形態9の画像復号方法と同じ動作を行い、第1スイッチ2103が端子2に接続された場合は、第2スイッチ2104の接続先に関わらず、実施形態8の画像復号方法と同じ動作を行う。
【0179】
これによって、タイル単位に復号することができ、また、画像毎に処理の簡単な実施形態3の方式で符号化するか、処理は若干複雑になるが、タイル境界にひずみの発生しない実施形態8もしくは実施形態9の方式で復号するかを、選択的に切替えることができる。
【0180】
次に、本発明の実施形態14の画像符号化方法について説明する。本実施形態においては、タイルを管理するための管理情報にタイルを区別する情報を追加し、目的のタイルの符号化情報を高速に復号できるようにするものである。
【0181】
図23は実施形態14の画像符号化方法の一例を説明するためのブロック図である。図23において、入力された原画像は、タイルウェーブレット符号化部2201でタイル単位に符号化され、管理のための情報(例えば、タイル分割情報、フラグ情報、サブバンド情報)と符号化情報とが生成される。
【0182】
ID生成部2202では、各タイルを区別するためのID情報が生成される。管理情報生成部2203は、該管理のための情報と該ID情報とを足し合わせて、管理情報を生成する。符号化データ結合部2204は、該符号化情報と管理情報とを結合し、さらに各タイルの先頭にタイルの先頭を示すスタートコードを加えて、符号化データを生成する。
【0183】
符号化データのフォーマットの一例としては、図24(a)に示すように、各タイルの情報がそのタイルのスタートコードと管理情報(タイルヘッダー)と符号化情報とから構成される。タイルウェーブレット符号化部2201は、実施形態1、実施形態2、実施形態5、実施形態6、実施形態7、実施形態10、実施形態12、実施形態14における画像符号化方法を使用することができる。
【0184】
ここで、原画像を分割したタイルを区別するため、左上から順に1、2...とID情報を割り当てれば、タイルは任意の順序で符号化でき、また符号化の後に順序を入れ換えることも可能となる。もし、タイルの符号化する順序が予め決められていれば、ID生成部2202を省略することができる。
【0185】
それぞれのタイルは、スタートコードから始まるため、これを目印に各タイルがどこにあるのかを識別することができる。この代わりに、そのタイルのデータ量(符号化情報とタイルヘッダーとを合わせたもの)を用いた場合も、各タイルがどこにあるのかを識別することができる。
【0186】
また、図25は実施形態14の画像符号化方法の別の例を説明するためのブロック図であり、図23に示した画像符号化方法にタイルのサイズ計算を行うデータ量計測部2301を付加したもので、このデータ量計測部2301及び管理情報生成部2302以外の部分の動作説明は省略する。
【0187】
図25において、データ量計測部2301は、タイル毎に符号化されたデータ量を計測して、これを出力する。管理情報生成部2302は、管理のための情報、ID情報、及びタイルのデータ量を足し合わせて、管理情報を生成する。
【0188】
符号化データのフォーマットの一例としては、図24(b)に示すように、各タイルの先頭に該タイルの符号化情報のデータ量が配置され、続いて他の管理情報(タイルヘッダー)と符号化情報とが続く。尚、タイルのデータ量は、必ずしも各タイルの先頭に配置する必要はなく、例えば先頭にまとめることもできる。
【0189】
さらに、図26は実施形態14の画像符号化方法の別の例を説明するためのブロック図であり、図25に示した画像符号化方法に符号化データ並べ変え部2401を追加したもので、他の部分の動作説明は省略する。
【0190】
図26において、符号化データ並べ換え部2401は、符号化データ結合部2204で作成された符号化データから、各タイルのデータ量を抜き出し、これらを符号化データの先頭に配置してから、残りを順番に並べて符号化データを出力する。
【0191】
符号化データのフォーマットの一例としては、図24(c)に示すように、先頭に配置された全てのタイルのデータ量を足し合わせることで、容易に目的のタイルの位置を計算することができる。
【0192】
また、図27に示す構成でも同様の効果をあげることができる。図27は実施形態14の画像符号化方法の別の例を説明するためのブロック図であり、図25に示した画像符号化方法に符号化データ蓄積バッファ2501及び管理情報蓄積バッファ2502を追加したもので、この符号化データ蓄積バッファ2501、管理情報蓄積バッファ2502、及び符号化データ結合部2503以外の動作説明は省略する。
【0193】
図27において、タイルウェーブレット符号化部2201より出力される符号化情報は、符号化データ蓄積バッファ2501で一旦蓄積される。管理情報蓄積バッファ2502は、管理情報生成部2302で生成された各タイルの管理情報を蓄積し、該管理情報からタイルのデータ量を抜き出してから、これを符号化データ結合部2503に出力し、次いで残りの管理情報を出力する。
【0194】
符号化データ結合部2503では、該入力された全タイルのデータ量を最初に出力し、残りの管理情報及び符号化情報を結合して出力する。
【0195】
以上のように、本実施形態によれば、符号化データの中から復号するタイルの符号化情報を高速に検索し、復号することが可能となる。
【0196】
次に、本発明の実施形態15の画像復号方法について説明する。図28は実施形態15の画像復号方法を説明するためのブロック図であり、本実施形態は、上述した実施形態14の画像符号化方法で符号化されたデータを復号する画像復号方法である。
【0197】
図28において、復号タイル決定部2603は、ユーザの指示により復号するタイルのIDを決定する。管理情報分離部2606は、符号化データから各タイルの先頭を示すスタートコードを検索し、タイルに関する管理情報と符号化情報とを分離する。
【0198】
データ読み飛ばし制御部2602は、上記管理情報に基づいて、これから復号するタイルのタイルIDが該決定されたタイルIDかどうかを判定し、これが該タイルIDならば、第1スイッチ2605及び第2スイッチ2604をオンにする。こうして、タイルウェーブレット復号部2601は、特定のタイルのみを復号することが可能となる。
【0199】
タイルの管理情報にそのタイルのデータ量が記述されている場合は、管理情報分離部2606は各タイルの先頭を検索する必要はなく、記述されているデータ量分だけ読み飛ばせば良い。尚、タイルウェーブレット復号部2601は、実施形態3、実施形態4、実施形態8、実施形態9、実施形態11、実施形態13、実施形態15の画像復号方法を使用することができる。
【0200】
以上のように、本実施形態によれば、全ての符号化データを復号せずに、タイルの先頭の管理情報のみを復号することで、目的のタイルを素早く復号することができる。
【0201】
次に、本発明の実施形態16の画像符号化方法について説明する。本実施形態においては、タイルを管理するための管理情報に周辺のタイルの情報も追加し、周辺のタイルの符号化情報も高速に復号できるようにするものである。
【0202】
図29(a)は実施形態16の画像符号化方法の一例を説明するためのブロック図である。本実施例の画像符号化方法は、図23に示した実施形態14に周辺タイルID決定部2801を追加したものであり、また、管理情報生成部2802の動作が異なっている。このため、周辺タイルID決定部2801及び管理情報生成部2802以外の部分の説明は省略する。
【0203】
尚、タイルウェーブレット符号化部2801は、実施形態5、実施形態6、実施形態7、実施形態10、実施形態12、実施形態14の画像符号化方法を使用することができる。
【0204】
図29(a)において、周辺タイルID決定部2801は、タイル分割情報、フラグ情報、サブバンド情報、ID生成部2202で生成されたタイルIDから復号時に必要な周辺のタイルIDを決定する。管理情報作成部2802は、タイル分割情報、フラグ情報、サブバンド情報、タイルIDに該周辺のタイルIDを足し合わせた管理情報を生成する。
【0205】
尚、周辺タイルID決定部2801にて決定される複数のタイルIDは、符号化に必要な全てのタイルIDである必要はなく、例えば図29(b)に示すように、符号化するタイルの左上、左下に位置するタイルのタイルIDに限定しても良い。
【0206】
符号化データのフォーマットの一例としては、図24(a)において管理情報(タイルヘッダー)がタイルIDと周辺タイルのIDとを含む構成が考えられる。
【0207】
また、図30は実施形態16の画像符号化方法の別の例を説明するためのブロック図であり、管理情報に周辺タイルの位置情報も含めることによって、復号時にタイル化された符号化情報の検索を高速化しようとするものである。本実施例の画像符号化方法は、図27に示した実施形態14から管理情報蓄積バッファ2502を削除し、データ量格納部2901、相対位置計算部2902、情報蓄積バッファ2904を追加したものである。
【0208】
このデータ量格納部2901、相対位置計算部2902、情報蓄積バッファ2904、及び管理情報生成部2903、ID生成部2905以外の動作は、上述のものと同様であるので、その説明は省略する。
【0209】
図30において、タイルウェーブレット符号化部2201から出力される符号化情報は、全て符号化データ蓄積バッファ2501に蓄積され、また該タイルウェーブレット符号化部2201から出力されるタイル分割情報、フラグ情報、サブバンド情報の各情報は、全て情報蓄積バッファ2904に蓄積される。データ量計測部2301で出力された各タイルの符号化情報のデータ量は、全てデータ量格納部2901に格納される。
【0210】
ID生成部2905は、各タイルを区別するためのID情報を出力し、情報蓄積バッファ2904、データ量格納部2901、及び符号化データ蓄積バッファ2501が蓄積している情報を、タイル単位に出力するよう制御する。データ量格納部2901は、入力されたタイルIDに基づいて、そのタイルのデータ量を管理情報生成部2903に出力し、該タイルIDを持つタイルとその周辺タイルの相対位置を計算するのに必要なタイルのデータ量を相対位置計算部2902へ出力する。
【0211】
相対位置計算部2902では、入力された各タイルのデータ量を用いて、符号化するタイルに対する周辺タイルの符号化情報の存在する相対位置を計算し、その結果を出力する。管理情報生成部2903は、入力されるタイルID情報、タイル分割情報、フラグ情報、サブバンド情報、タイルデータ量、該周辺タイルの相対位置などから管理情報を生成し、符号化データ結合部2503ヘ出力する。
【0212】
このように、全ての符号化データを復号せずに、タイルの先頭の管理情報のみを復号することで、目的のタイルと復号に必要な周辺のタイルを素早く復号できるような符号化データを生成することが可能となる。
【0213】
次に、本発明の実施形態19の画像復号方法について説明する。図31は実施形態19の画像復号方法を説明するためのブロック図であり、本実施形態は、上述した実施形態18の画像符号化方法で符号化されたデータを復号する画像復号方法である。
【0214】
本実施形態は、図28に示した実施形態15にバッファ3001を追加したもので、このバッファ3001及びデータ読み飛ばし制御部3002以外の動作は、図28のものと同じであるため、その説明は省略する。
【0215】
図31において、入力された符号化データは、一時バッファ3001に格納され、順次出力される。データ読み飛ばし制御部3002は、入力された管理情報に基づいて、これから復号するタイルのIDを抽出し、これが該決定されたタイルIDもしくは周辺タイルのタイルIDならば、第1スイッチ2605及び第2スイッチ2604をオンにする。
【0216】
上記管理情報が復号に必要な周辺タイルのタイルIDを含んでいるならば、バッファ3001から該周辺タイルの符号化情報を出力するよう制御する。こうして、タイルウェーブレット復号部2601は、特定のタイルとその周辺とを復号することができる。
【0217】
ここで、管理情報に含まれる復号された周辺タイルIDが周辺のタイル数より小さい予め決められた個数(例えば、図29(b)の網点で示したタイル)である場合、復号に必要な他の位置のタイルID(図29(b)の白いタイル)は、上記復号された周辺タイルIDより決定される。
【0218】
尚、タイルウェーブレット復号部2601は、実施形態8、実施形態9、実施形態11、実施形態13、実施形態15の画像復号方法を使用することができる。
【0219】
これによって、全ての符号化データを復号せずに、タイルの先頭の管理情報のみを復号することで、目的のタイルと復号に必要な周辺のタイルとを素早く復号することが可能となる。
【0220】
以上のとおり、本実施形態の画像符号化方法及び画像復号方法を用いれば、符号化データ量を増大させることなしに、ユーザの要求に応じた解像度の復号画像を容易に復号することが可能となる。これは、JPEGを用いるフラッシュ・ピックスが複数の解像度に対応するために、符号化データ量が1.4倍に増大するのに比して大きな利点である。
【0221】
また、画像をタイルに分割して特定領域のみの復号を可能とする際に、ウェーブレット変換による符号化は、タイル内に閉じた処理が原理的に困難であり、タイル分割処理に不向きであったのに対し、本発明ではウェーブレット変換を用いながら、タイル単位での符号化・復号処理を可能にしている。
【0222】
すなわち、画像をタイル単位に符号化することによって、画像の一部を復号したい場合に、画像全体を復号しなくとも、その領域を含むタイルを復号すれば良いため、ランダムアクセス機能を向上させることができる。
【0223】
【発明の効果】
本発明の画像符号化方法及び画像復号方法によれば、画像を復号する際に異なる解像度で復号したり、画像中の特定のタイルのみを復号することができる。また、低解像度の画像を復号したい時は、低い解像度のサブバンド情報のみにアクセスすることで、縮小された全体画像をすばやく再現することができる。
【0224】
さらに、各タイルに対応する符号化情報の格納位置を示す情報を、符号化情報とは独立した位置に置いて管理することによって、容易に目的のタイルの位置を計算することができる。また、全ての符号化情報の復号を行わなくても、符号化情報とは独立して配置された管理情報を用いることで、目的のタイルをすばやく復号することができる。
【図面の簡単な説明】
【図1】 本発明の実施形態1の画像符号化方法を説明するためのブロック図である。
【図2】 本発明の実施形態1の画像符号化方法を説明する説明図である。
【図3】 本発明の実施形態1の画像符号化方法におけるビットストリームの一例を示す説明図である。
【図4】 本発明の実施形態1の画像符号化方法におけるビットストリームの別の例を示す説明図である。
【図5】 本発明の実施形態2の画像符号化方法を説明する説明図である。
【図6】 本発明の実施形態3の画像復号方法を説明するためのブロック図である。
【図7】 本発明の実施形態4の画像復号方法を説明する説明図である。
【図8】 本発明の実施形態5の画像符号化方法を説明するためのブロック図である。
【図9】 本発明の実施形態5の画像符号化方法を説明する説明図である。
【図10】 本発明の実施形態6の画像符号化方法を説明する説明図である。
【図11】 本発明の実施形態7の画像符号化方法を説明するためのブロック図である。
【図12】 本発明の実施形態7の画像符号化方法を説明する説明図である。
【図13】 本発明の実施形態8の画像復号方法を説明するためのブロック図である。
【図14】 本発明の実施形態9の画像復号方法を説明するためのブロック図である。
【図15】 本発明の実施形態10の画像符号化方法を説明するためのブロック図、及びその動作を説明する説明図である。
【図16】 本発明の実施形態11の画像復号方法を説明するためのブロック図、及びその動作を説明する説明図である。
【図17】 本発明の実施形態12の画像符号化方法の一例を説明するためのブロック図である。
【図18】 本発明の実施形態12の画像符号化方法の別の例を説明するためのブロック図である。
【図19】 本発明の実施形態12の画像符号化方法の別の例を説明するためのブロック図である。
【図20】 本発明の実施形態13の画像復号方法の一例を説明するためのブロック図である。
【図21】 本発明の実施形態13の画像復号方法の別の例を説明するためのブロック図である。
【図22】 本発明の実施形態13の画像復号方法の別の例を説明するためのブロック図である。
【図23】 本発明の実施形態14の画像符号化方法の一例を説明するためのブロック図である。
【図24】 本発明の実施形態14の画像符号化方法におけるビットストリームの一例を説明するための説明図である。
【図25】 本発明の実施形態14の画像符号化方法の別の例を説明するためのブロック図である。
【図26】 本発明の実施形態14の画像符号化方法の別の例を説明するためのブロック図である。
【図27】 本発明の実施形態14の画像符号化方法の別の例を説明するためのブロック図である。
【図28】 本発明の実施形態15の画像復号方法を説明するためのブロック図である。
【図29】 本発明の実施形態16の画像符号化方法の一例を説明するためのブロック図、及びその動作を説明する説明図である。
【図30】 本発明の実施形態16の画像符号化方法の別の例を説明するためのブロック図である。
【図31】 本発明の実施形態17の画像復号方法を説明するためのブロック図である。
【図32】 従来の技術を説明するためのブロック図、及びその動作を説明する説明図である。
【図33】 従来の技術を示すブロック図である。
【図34】 従来の技術を示すブロック図である。
【図35】 従来の技術を説明する説明図である。
【図36】 従来の技術を示すブロック図である。
【図37】 従来の技術を説明する説明図である。
【符号の説明】
101…タイル分割部、102…ウェーブレット変換部、103…量子化部、104…エントロピー符号化部、105…ウェーブレット変換符号化部、106…管理情報生成部、107…符号化データ統合部、401…管理情報分離部、402…符号化データ抽出部、403…エントロピー符号化部、404…逆量子化部、405…逆ウェーブレット変換部、406…ウェーブレット変換復号部、407…タイル連結部、501…タイル分割部、502…周囲画素追加部、503…ウェーブレット変換部、504…量子化部、505…エントロピー符号化部、506…ウェーブレット変換符号化部、507…管理情報生成部、508…符号化データ統合部、701…ウェーブレット変換部、702…タイル構成部、703…量子化部、704…エントロピー符号化部、705…ウェーブレット変換符号化部、706…管理情報生成部、707…符号化データ統合部、901…管理情報分離部、902…符号化データ抽出部、903…エントロピー復号部、904…逆量子化部、905…逆ウェーブレット変換部、906…ウェーブレット変換復号部、907…タイル統合部、1001…管理情報分離部、1002…符号化データ抽出部、1003…エントロピー復号部、1004…逆量子化部、1005…ウェーブレット変換係数並べ換え部、1006…逆ウェーブレット変換部、1007…ウェーブレット変換復号部、1101…ウェーブレット変換復号部、1102…メモリ、1201…メモリ、1202…逆ウェーブレット変換部、1601、1701、1801、2101、2201…タイルウェーブレット符号化部、1602、1706、1802、1905、2005、2105…フラグ発生部、1603、2203、2302、2802、2903…管理情報生成部、1604、1703、1803、1903、2004、2103、2605第1スイッチ、1605、1704、1804、1904、2104、2604…第2スイッチ、1606、1805…第3スイッチ、1607、1702、1807…ウェーブレット符号化部、1608…第1のウェーブレット符号化部、1705…第2のウェーブレット符号化部、1806…第4スイッチ、2204、2503…符号化データ結合部、1901、2001、2601…タイルウェーブレット復号部、1902、2002、2102…ウェーブレット復号部、1906…第1の逆ウェーブレット変換部、2003…第2の逆ウェーブレット変換部、2202、2905…ID作成部、2301…データ量計測部、2401…符号化データ並べ変え部、2501…符号化データ蓄積バッファ、2502…管理情報蓄積バッファ、2602、3002…データ読み飛ばし制御部、2603…復号タイル決定部、2801…周辺タイルID決定部、2901…データ量格納部、2902…相対位置計算部、3001…バッファ、2606…管理情報分離部、2904…情報蓄積バッファ、3201、3205、3209、3213…タイル分割部、3204、3208、3212…1/2縮小部、3202、3206、3210、3214…JPEG圧縮部、3203、3207、3211、3215…符号化データ統合部、3301…ウェーブレット変換部、3302…量子化部、3303…エントロピー復号部、3304…ウェーブレット変換符号化部、3401、3414、3426…水平方向ローパスフィルタ、3402、3415、3427…水平方向ハイパスフィルタ、3403、3405、3416、3434、3428、3430…垂直方向ロー、パスフィルタ、3404、3406、3417、3419、3429、3431…垂直方向ハイパスフィルタ、3407〜3412、3420〜3425、3432〜3437…1/2サブサンプリング部、3613…水平方向低域・垂直方向低域のサブバンド、3601…エントロピー復号部、3602…逆量子化部、3603…逆ウェーブレット変換部、3604…ウェーブレット変換復号部、3701…フィルタ適用画素、3702…フィルタ演算対象範囲。 [0001]
BACKGROUND OF THE INVENTION
The present invention belongs to the field of digital image processing, and relates to an image encoding method for encoding image data with high efficiency and an image decoding method for decoding encoded data encoded by this image encoding method.
[0002]
[Prior art]
As an image format for converting natural images into digital data and performing computer processing, a flash pix format (FlashPix Format Specification Version 1.0) has been proposed.
[0003]
In this format, data of a plurality of resolutions are simultaneously held in order to quickly extract data of a necessary resolution according to the capability of the display / printing apparatus and the user's request. In addition, the image is divided and held in units of tiles so that the load can be reduced by processing only necessary portions in the image data when the image is enlarged or reduced or edited.
[0004]
An encoding apparatus for encoding an image in accordance with the flash pix format will be described with reference to FIG. FIG. 32A is a diagram illustrating image reduction and tile division, and FIG. 32B is a block diagram illustrating an example of an encoding device.
[0005]
In the flash picks, first, 1/1 to 1/8 size images shown in
[0006]
First, the case where the
[0007]
The original image is divided into tiles each having 64 pixels × 64 pixels by the tile dividing
[0008]
Next, the
[0009]
The reduction processing for generating the reduced image group (
[0010]
The encoded data of
[0011]
In this method, in addition to the encoded data of the 1/1 size image, the encoded data is also held for each of the reduced resolution images, so that the encoded data amount increases by about 1.4 times. On the other hand, at the time of encoding, a problem arises in that the amount of processing is large because compression processing is performed at each resolution.
[0012]
On the other hand, apart from flash pix, there is an image compression method by wavelet transform. In this method, image data with different resolution can be easily decoded from one encoded data that is compressed for the size of the original image. Therefore, there is no problem of an increase in the amount of encoded data due to support for multiple resolutions.
[0013]
That is, while the encoded data amount has increased by 1.4 times with the above-described flash pix, it is possible to respond to a request for decoding a plurality of resolutions with an encoded data amount of 1 ×.
[0014]
In the wavelet transform compression, the processing shown in the basic block diagram of FIG. 33 is performed. The original image becomes subband division data wavelet transformed by the
[0015]
FIG. 34 is a block diagram showing the
[0016]
The original image in FIG. 35A is divided into two horizontal subbands by a horizontal low-pass filter 3401 and a horizontal high-
[0017]
The divided two horizontal sub-bands are also sub-band divided by the low-
[0018]
Of these, the horizontal high band, the vertical high band subband (Fig. 34), the horizontal high band, the vertical low band (Fig. 34), the horizontal low band, the vertical high band. The subbands (H in FIG. 34) are wavelet transform coefficients indicated by H, R, and N in FIG. 35B, respectively.
[0019]
Subband division is repeated recursively only for the remaining low-
[0020]
This recursive subband splitting includes horizontal low-
[0021]
Note that the sub-bands (i) to (e) in FIG. 34 correspond to (i) to (b) in FIG.
[0022]
The wavelet transform coefficient of FIG. 35B obtained in this way is quantized by the
[0023]
On the other hand, as shown in FIG. 36, wavelet transform decoding is performed by entropy decoding encoded data by an
[0024]
As a feature of encoding using wavelet transform, as shown in FIG. 35 (b), there is a point having a hierarchical structure corresponding to the resolution. For this reason, part or all of the encoded data is used for decoding. Thus, images with different resolutions can be easily decoded.
[0025]
That is, if the subbands a, b, c, and d in FIG. 35B are decoded, a quarter of the original image can be decoded, and in addition to this, h, f, and g can be decoded. For example, a 1/2 image can be decoded, and if all subbands are decoded, a 1/1 size image can be decoded.
[0026]
Here, the operation of the H-LP, H-HP, V-LP, and V-HP filters in FIG. 34 will be described with reference to FIG. FIG. 37 (b) is an enlarged view of a portion surrounded by a circle in FIG. 37 (a).
[0027]
In order to perform wavelet transform on the original image of FIG. 37A, when obtaining the output of a horizontal filter with a tap number of 9 bits for the
[0028]
However, in this case, a part of the filter calculation target 3702 protrudes outside the original image, and no pixel data exists in this part. Similar problems arise with vertical filters.
[0029]
As described above, in the peripheral portion of the conversion target image, data outside the image is required according to the number of taps of the filter. If the subband division is repeated further, the region where the filter protrudes becomes wider.
[0030]
This problem is generally handled by a method such as folding an image at an end according to a certain rule.
[0031]
[Problems to be solved by the invention]
In the case of having separately encoded data for images of a plurality of resolutions such as flash pix, the load at the time of image data processing such as enlargement / reduction can be reduced, but the encoded data size is about 1.4. There is a disadvantage that doubles.
[0032]
On the other hand, when wavelet transform coding is used, a plurality of resolution data can be easily decoded from only one piece of coded data obtained by compressing the size of the original image, so that the coded data size does not increase.
[0033]
However, the method used in flash picks to divide an image into tiles and encode them in tile units (when a specific image area is the target of image processing, only the necessary image tiles are subject to image processing. If this is applied to the wavelet transform coding method, the filter used for the wavelet transform protrudes from the tile boundary.
[0034]
In other words, those using JPEG encoding such as Flash Picks are easy to encode in units of tiles because the encoding process is closed in the tile, whereas in wavelet transform encoding, the processing is easy. Since it protrudes around the tile, there is a problem that encoding processing and management in tile units becomes difficult.
[0035]
Furthermore, the conventional wavelet transform coding requires a memory that holds all the output of the
[0036]
The present invention has been made in view of such a problem, and realizes high-function, high-efficiency coding with a small-scale hardware configuration by realizing the decoding of a plurality of resolutions and management by tile using wavelet transform. It is possible.
[0037]
[Means for Solving the Problems]
The image encoding method of the present invention divides image data into tiles of N pixels × M pixels, and outputs N pixels × M pixels in the tile as encoding target data corresponding to each tile; The subband division is performed by extrapolating predetermined data around the encoding target data corresponding to the tile, and each tile is independently wavelet-encoded. Generating management information for decoding; and adding the management information to the encoded information to generate a bitstream, wherein the management information is a bitstream of encoded information of each tile. Information that indicates the position above and information that manages and identifies each subband.Therefore, they are arranged together at a position independent of the encoded information.It is characterized by that.
[0038]
Image decoding of the present inventionMethodIs the image dataTheEach tile, and each tile is independentNiEncoded information obtained by wavelet encoding;Manage encoding informationA bitstream consisting of management information forAs an input, the decoded image corresponding to the required tile and resolutionAn image decoding method for decoding, comprising:The management information includes the size of the encoding information corresponding to each tile or resolution, and is collectively arranged at a position independent of the encoding information, and the storage position of the encoding information corresponding to the tile or resolution to be decoded is described above. Analyzing based on size, and based on the storage location,Performing wavelet decoding and said wavelet decodingTataIlunitConcatenated decoded imagesDoStep andAn image decoding method provided.
[0039]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail. FIG. 1 shows an image encoding according to the first embodiment of the present invention.How to explainIt is a block diagram.
[0040]
The image data of the original image as shown in FIG. 2A is first divided into tiles of N pixels × M pixels determined in advance by the
[0041]
Of the divided tiles, the subsequent processing will be described for the tile i in FIG. The
[0042]
Here, when subband division processing is performed near the periphery of the tile, data around the tile is extrapolated. That is, as shown in FIG. 37 (b), when the calculation target range 3702 of the filter used for the wavelet transformation protrudes outside the tile, data outside the tile is required. Insert and sub-band.
[0043]
As an extrapolation method, for example, as shown in FIG. 2C, a method of generating a mirror image by folding an image in a tile is used. Subsequently, the
[0044]
For entropy coding, Huffman coding or arithmetic coding can be used. The
[0045]
On the other hand, the management
[0046]
The encoded
[0047]
Here, encoded data is managed according to subbands and tiles when decoding an image, only images with different resolutions such as the example shown in FIG. 32A, or specific tiles in the image. This makes it possible to decrypt
[0048]
An example of the bit stream of the encoded data created in this way is shown in FIG. The bitstream is composed of a header that manages information of the entire bitstream and encoding information for each tile. The encoding information for each tile includes a tile header that manages information for each tile, and an image tile. It is composed of encoded information for each tile encoded by the wavelet
[0049]
In the tile header, information on bit positions corresponding to each subband is described. By referring to this, it is possible to know where a bit string corresponding to a necessary subband is located.
[0050]
Of course, the configuration of the bitstream according to the present invention is not limited to that shown in FIG. For example, the subband information of each tile is separated separately as shown in FIG. 4 (b) with respect to the one shown in FIG. 4 (a) having the same configuration as FIG. The tile information may be added to the band information to form an independent tile. In this way, it is possible to quickly reproduce the reduced overall image by accessing only the tiles of the reduced image.
[0051]
Next, image coding according to
[0052]
In the
[0053]
For example, when the tile ij in FIG. 5 is cut out, the result of multiplying the original image data by the window function FXi in the horizontal direction and then the window function FYj in the vertical direction is set as the output of the
[0054]
As a result, the result of multiplying the hatched image in FIG. 5 by the weight according to the window function is the output of the
[0055]
That is,
ΣFXi (x) = 1 (0 ≦ x ≦ w)
ΣFYj (y) = 1 (0 ≦ y ≦ h)
Use a window function that satisfies
[0056]
However, w represents the width of the original image, h represents the height of the original image, and the x and y axes are assumed to have the upper left corner of the original image as the origin O, and are taken rightward and downward, respectively.
[0057]
Further, it is assumed that the sum of FXi (x) is taken for i and the sum of FXj (Y) is taken for j. FXi−1, FXi, FY1, FYj, and FYj + 1 in FIG. 5 represent a part of functions that satisfy such conditions.
[0058]
As a result of the data extraction by the window function, the output of the
[0059]
Next, the image coding of the first embodiment described aboveMethodImage decoding to decode data encoded withMethodWill be described as
[0060]
The input encoded data is the image encoding described in the first embodiment.MethodIt is encoded with. A management
[0061]
Based on the extracted management information, the encoded
[0062]
The extracted encoded information is entropy-decoded by the
[0063]
The wavelet transform coefficient is subjected to inverse wavelet transform by the inverse wavelet transform unit 405, and a decoded image of the target tile is obtained. The
[0064]
Further, the
[0065]
Referring to the example of the bitstream shown in FIG. 3, when decoding an entire image (all tiles) with a low resolution, a code corresponding to a subband with a low resolution while referring to the subband information of each tile header. .., Ia,..., Which are converted data parts, are wavelet transform decoded sequentially by the wavelet
[0066]
Then, if the obtained low resolution tiles are connected by the
[0067]
In addition, when it is desired to enlarge a specific tile i from the low-resolution decoded image and display it at the highest resolution, the entire i-th tile encoded information that is encoded information corresponding to the tile i may be decoded.
[0068]
That is, if i-b is extracted in addition to the already extracted encoded information ia and decoded together with ia, a desired decoded image can be obtained. Of course, if all the encoded information (all tiles, all subbands) is decoded, it is possible to obtain decoded images of all regions with high resolution.
[0069]
As described above, an image of an arbitrary resolution and an arbitrary tile can be easily decoded according to a user request.
[0070]
Next, image decoding according to the fourth embodiment of the present invention.MethodWill be described. The input encoded data is the image encoding described in the second embodiment.MethodIt is encoded by. Here, the image decoding of Embodiment 4MethodThe configuration is the same as that of the third embodiment described above with reference to FIG. 6, and only the operation of the
[0071]
Image coding according to Embodiment 2MethodThen, since the pixel to be encoded of each tile includes the peripheral pixels of the tile, the size of the decoded data of the tile decoded by the wavelet
[0072]
In FIG. 7, the tile is composed of 2 pixels × 2 pixels, and the size of the decoded data of the tile is 4 pixels × 4 pixels. In this case, the decoded data of the tile ij is a hatched portion in FIG. 7 and overlaps with the adjacent tile by the width of one pixel.
[0073]
The
a (i-1, j-1) + a (i, j-1) + a (i-1, j) + a (i, j)
To calculate the pixel value.
[0074]
Here, a (i, j) represents the decoded data of the tile ij at the position of the pixel a.
[0075]
Next, image coding according to Embodiment 5 of the present inventionMethodWill be described. FIG. 8 shows image encoding according to the fifth embodiment.How to explainIt is a block diagram.
[0076]
Image coding of embodiment 5MethodIs the image coding of the first embodiment described above with reference to FIG.MethodThe difference is that when a tile is wavelet transform encoded, it is not extrapolated around the tile unconditionally, but another tile around the target tile is used if it exists. is there.
[0077]
As in the case of the first embodiment, as shown in FIG. 9A, the subsequent processing is described for the tile i in the original image divided by the
[0078]
That is, in order to perform wavelet transform on the tile i in FIG. 9A, first, the wavelet indicated by hatching in FIG. 9B is selected from the tiles around the tile i in FIG. 9A. After the surrounding pixel area necessary for the conversion is added to the tile i, the wavelet conversion of the tile i is performed.
[0079]
This additional processing is performed by the surrounding
[0080]
In the above example, the peripheral
[0081]
When the converted image becomes large, a device using the converted image requires a large work area, leading to an increase in cost and a decrease in operation speed. Therefore, another mode in which the converted image is made smaller is effective and will be described below.
[0082]
As shown in FIGS. 9C and 9D, the area added by the peripheral
[0083]
For example, in the case of FIG. 9C, necessary pixels are added when different tiles exist above and below the encoding target tile. For the left and right sides of the tile to be encoded, a method of generating a mirror image by folding the image in the tile is used. In the case of FIG. 9D, the top and bottom and the left and right are reversed from the case of FIG. 9C.
[0084]
As a method of performing wavelet transform, a method of repeating subband division using only one of FIGS. 9B, 9C, and 9D, or FIGS. 9B and 9C for each subband. ) And (d) are methods for switching the pixel addition method.
[0085]
Note that only the wavelet transform coefficient of the encoding target tile i is required as an output of the
[0086]
Subsequently, quantization is performed by the
[0087]
On the other hand, the management information generation unit 507 uses the tile division information regarding the spatial position of each tile obtained from the
[0088]
The encoded
[0089]
Furthermore, the image coding according to the sixth embodiment of the present inventionMethodWill be described. Image coding according to Embodiment 6MethodThis configuration is the same as that of the fifth embodiment described above with reference to FIG. 8, and only the operation of the surrounding
[0090]
The processing of tile i in FIG. 10 will be described as an example. In the surrounding
[0091]
However, since the influence of a pixel far away from the tile i on the wavelet transform coefficient in the tile i is generally small, in the present embodiment, the result obtained by multiplying the peripheral pixel to be added by an appropriate weighting function is obtained. By adding to, the number of pixels to be added is reduced and the amount of calculation is reduced.
[0092]
As the weighting function, a function is used such that the portion close to the tile i is 1 and the distance is close to 0. The weighting function shown in FIG. 10 is an example. In the example of FIG. 10, as a result of multiplication by the weighting function, the pixels actually added are only effective pixel portions with halftone dots, and the outside is a pixel necessary for wavelet transform but is regarded as 0 and added. Not.
[0093]
As the weighting function, besides the one shown in FIG. 10, a step function that can be 1 if the distance from the tile i is within a certain standard and 0 if it is further away can be used.
[0094]
Next, image coding according to Embodiment 7 of the present inventionMethodWill be described. FIG. 11 shows the image encoding according to the seventh embodiment.How to explainIt is a block diagram.
[0095]
Image coding according to Embodiment 7MethodIs the image coding of the first embodiment described above with reference to FIG. 1 and the fifth embodiment described above with reference to FIG.MethodThe difference is that the
[0096]
In FIG. 11, the original image is wavelet transformed by a
[0097]
FIG. 12A shows an example of subbands obtained by wavelet transform by the
[0098]
Here, b1 to b3 are composed of 1 × 1, b4 to b6 are composed of 2 × 2, and b7 to b9 are composed of 4 × 4 coefficients. An embodiment in which these b0 to b9 are extracted from the respective sub-bands, and are configured in the form shown in FIG. 12B as one tile, and all other wavelet transform coefficients are rearranged in units of tiles. The result similar to that obtained when the original image is divided into tiles in step 5 and then wavelet transformed is obtained.
[0099]
Note that b0 does not have to be one coefficient, and may be a block of coefficients composed of k × 1 coefficients. In this case, b1 to b3 are composed of k × l, b4 to b6 are composed of 2k × 2l, and b7 to b9 are composed of 4k × 4l coefficients.
[0100]
The tiled wavelet transform coefficient output from the
[0101]
On the other hand, the management
[0102]
The encoded
[0103]
Note that the
[0104]
In addition, the image encoding according to any one of the fifth to seventh embodiments described above.MethodImage decoding to decode data encoded byMethodWill be described as Embodiment 8 of the present invention. FIG. 13 shows image decoding according to the eighth embodiment.How to explainIt is a block diagram. The encoded data to be input is the image encoding according to any one of the fifth to seventh embodiments.MethodIt is the encoded data encoded by.
[0105]
In FIG. 13, management
[0106]
The extracted encoded information is entropy-decoded by the entropy decoding unit 903 in units of tiles, dequantized by the inverse quantization unit 904, and wavelet transform coefficients corresponding to tiles necessary for decoding are obtained.
[0107]
The wavelet transform coefficient is subjected to inverse wavelet transform by the inverse
[0108]
Further, the
[0109]
That is, in the second embodiment described above with reference to FIG. 5, wavelet transform is performed including the peripheral pixels of the tile. Also, the image coding according to the fifth embodimentMethodAs shown in FIG. 9B, the peripheral pixels of the tile are used at the time of wavelet transform. Similarly, the peripheral pixels are also used in the sixth embodiment described above with reference to FIG.
[0110]
Also, the image coding according to the seventh embodimentMethodHowever, the process using the peripheral pixels of the tile is not clearly described, but when the entire original image is wavelet transformed, the process equivalent to the fifth embodiment is performed in principle.
[0111]
For this reason, when wavelet transform decoding is performed by the wavelet
[0112]
Next, image decoding according to Embodiment 9 of the present inventionMethodWill be described. This is the image decoding of the eighth embodiment.MethodSimilarly to the image coding according to any one of Embodiments 5 to 7MethodDecoding using encoded data encoded withMethodIt is. FIG. 14 shows image decoding according to the ninth embodiment.How to explainIt is a block diagram.
[0113]
In FIG. 14, the management
[0114]
The extracted encoding information is entropy-decoded by the
[0115]
That is, the wavelet transform coefficients divided into tile units shown in FIG. 12B are rearranged into the state shown in FIG. When all the tiles have been processed, the entire wavelet transform coefficient shown in FIG. 12A is obtained.
[0116]
Since the rearranged wavelet transform coefficients can be decoded by a single inverse wavelet transform, if the wavelet transform coefficients are inversely wavelet transformed by the inverse
[0117]
The
[0118]
Next, image coding according to
[0119]
A
[0120]
Therefore, the amount of data to be stored in the
[0121]
That is, in the wavelet transform without tiling, as shown in FIG. 15A, the conversion target is the entire image, and all the wavelet transform coefficients of FIG. 15B, which is the output of the wavelet transform unit 1101, are stored in the memory. For example, as shown in FIG. 15C, it is necessary to prepare only a memory that can store the wavelet transform coefficients corresponding to FIG. 15D by performing tiling as shown in FIG. Thus, the required memory amount can be greatly reduced.
[0122]
Image decodingMethodBut the same effect can be expected. Image decoding according to the eleventh embodiment of the present inventionMethodWill be described. FIG. 16E illustrates the image decoding described above as the third, fourth, and eighth embodiments.MethodIt is the block diagram which showed the part corresponding to an inverse wavelet transformation part (405 of FIG. 6, 905 of FIG. 13) among these.
[0123]
First, wavelet transform coefficients necessary to decode one tile are stored in the
[0124]
Therefore, when the decoding target image is shown in FIG. 16B, in the wavelet transform that is not tiled, the amount of data to be stored in the memory is all the wavelet transform coefficients shown in FIG. As shown in FIG. 16D, when decoding a tiled image, the amount of data to be stored in the
[0125]
As described above, any of the embodiments of the present invention described above can be configured by adaptively switching using a plurality of subband division filters at the time of wavelet transform in encoding.
[0126]
Here, the sub-band division filter is a low-pass filter and a high-pass filter used for the sub-band division described as the conventional example. In the wavelet transform, subband division is repeated. At this time, there are various types of filters used in each subband division depending on the number of taps and coefficient values.
[0127]
Therefore, if an appropriate filter is used for each subband division, the necessary amount of peripheral pixels of the image to be encoded required by the wavelet transform coefficient can be controlled for each subband, and the balance between the processing amount and the image quality can be controlled. The optimal wavelet transform can be performed.
[0128]
Such image codingMethodDecoding corresponding toMethodThen, using a subband synthesis filter corresponding to the subband division filter used at the time of wavelet transformation, the inverse wavelet transformation is performed while switching the filters in each subband synthesis.
[0129]
Next, image coding according to the twelfth embodiment of the present inventionMethodWill be described. In the present embodiment, the input image can be encoded by one of a plurality of predetermined encoding methods.
[0130]
FIG. 17 shows image encoding according to the twelfth embodiment.MethodExampleTo explainIt is a block diagram, and in the present embodiment, encoding is performed by switching between the system of the first embodiment and the system of the seventh embodiment.
[0131]
In FIG. 17, a tile
[0132]
The management
[0133]
In the tile
[0134]
The
[0135]
The operation of the first
[0136]
Then, the
[0137]
If each
[0138]
The operation of the
[0139]
As described above, according to the present embodiment, encoding can be performed in units of tiles, and encoding is performed for each image by the method of the first embodiment that is easy to process, or the processing is slightly complicated. It is possible to selectively switch whether encoding is performed according to the method of the seventh embodiment in which no distortion occurs at the tile boundary.
[0140]
FIG. 18 shows image encoding according to the twelfth embodiment.MethodAnother example ofTo explainFIG. 4 is a block diagram, and in the present example, encoding can be performed by switching between the system of the first embodiment and the system of the fifth embodiment.
[0141]
Image coding of this embodimentMethod18, the
[0142]
The
[0143]
When an image is input to the first
[0144]
In the tile
[0145]
At the same time, control is performed such that only one of the
[0146]
As a result, encoding can be performed on a tile-by-tile basis, and encoding can be performed for each image by the method of the first embodiment that is easy to process, or the processing is slightly complicated, but no distortion occurs at the tile boundary. It is possible to selectively switch the encoding according to the method of the fifth mode.
[0147]
Further, FIG. 19 shows the image encoding of the twelfth embodiment.MethodAnother example ofTo explainFIG. 4 is a block diagram, and in the present example, encoding can be performed by switching between the scheme of the first embodiment, the scheme of the fifth embodiment, and the scheme of the seventh embodiment.
[0148]
Image coding of this embodimentMethodAs shown in FIG. 19, a
[0149]
A
[0150]
In the tile wavelet encoding unit 1801, the input image is directly input to the
[0151]
These images are input to the first
[0152]
The flag generating unit 1802 controls the
[0153]
For example, when the
[0154]
When each of the
[0155]
As a result, encoding can be performed on a tile-by-tile basis, and encoding can be performed for each image by the method of the first embodiment that is easy to process, or the processing is slightly complicated, but no distortion occurs at the tile boundary. It is possible to selectively switch whether encoding is performed according to the scheme of the fifth or seventh embodiment.
[0156]
Next, image decoding according to the thirteenth embodiment of the present invention.MethodWill be described. This is the image encoding described above as the twelfth embodiment.MethodImage decoding to decode data encoded withMethodIt is. In the present embodiment, input encoded data is decoded by selecting one of a plurality of predetermined decoding methods.
[0157]
FIG. 20 illustrates image decoding according to the thirteenth embodiment.MethodExampleTo explainIt is a block diagram and the image decoding of a present ExampleMethodIn the method, encoded data encoded by switching between the method of the first embodiment and the method of the seventh embodiment can be decoded.
[0158]
In FIG. 20, the encoded information and the management information separated by the management
[0159]
The encoded information is input to the
[0160]
In the
[0161]
The operation of the first inverse
[0162]
The
[0163]
The operation of the
[0164]
As described above, according to the present embodiment, decoding can be performed in units of tiles, and decoding can be performed for each image by the method of the third embodiment in which processing is simple or processing is slightly complicated. It is possible to selectively switch whether decoding is performed according to the method of the ninth embodiment in which no distortion occurs.
[0165]
FIG. 21 shows image decoding according to the thirteenth embodiment.MethodAnother example ofTo explainIt is a block diagram and the image decoding of a present ExampleMethodThe encoded data encoded by switching between the method of the first embodiment and the method of the fifth embodiment can be decoded.
[0166]
In FIG. 21, the operations of the parts other than the tile
[0167]
The
[0168]
The output of the inverse first
[0169]
The operation of the second inverse
[0170]
The tile
[0171]
On the other hand, the
[0172]
As a result, decoding can be performed in units of tiles, and decoding can be performed for each image by the method of the third embodiment in which processing is simple, or the processing is slightly complicated, but distortion in the tile boundary does not occur. It is possible to selectively switch whether the decoding is performed by the method.
[0173]
Furthermore, FIG. 22 shows image decoding according to the thirteenth embodiment.MethodAnother example ofTo explainIt is a block diagram and the image decoding of a present ExampleMethodIn the method, encoded data encoded by switching the method of the first embodiment, the method of the fifth embodiment, and the method of the seventh embodiment can be decoded.
[0174]
Image decoding of this embodimentMethodAs shown in FIG. 22, in FIG. 21, a wavelet
[0175]
The
[0176]
The output of the first inverse
[0177]
In the tile
[0178]
When the
[0179]
In this way, decoding can be performed in units of tiles, and encoding is performed for each image by the method of the third embodiment, which is easy to process, or the processing is slightly complicated, but distortion does not occur at the tile boundary. Alternatively, it is possible to selectively switch whether the decoding is performed according to the method of the ninth embodiment.
[0180]
Next, image coding according to Embodiment 14 of the present inventionMethodWill be described. In the present embodiment, information for distinguishing tiles is added to management information for managing tiles so that encoding information of a target tile can be decoded at high speed.
[0181]
FIG. 23 shows image coding according to the fourteenth embodiment.MethodExampleTo explainIt is a block diagram. In FIG. 23, an input original image is encoded in tile units by a tile
[0182]
The
[0183]
As an example of the format of the encoded data, as shown in FIG. 24A, the information of each tile is composed of the start code of the tile, management information (tile header), and encoded information. The tile
[0184]
Here, in order to distinguish the tiles obtained by dividing the original image, 1, 2,. . . And ID information are assigned, tiles can be encoded in an arbitrary order, and the order can be changed after encoding. If the order of encoding the tiles is determined in advance, the
[0185]
Since each tile starts with a start code, it is possible to identify where each tile is located using this as a mark. Instead, when the data amount of the tile (a combination of the encoding information and the tile header) is used, it is possible to identify where each tile is located.
[0186]
FIG. 25 shows image encoding according to the fourteenth embodiment.MethodAnother example ofTo explainFIG. 24 is a block diagram showing the image encoding shown in FIG.MethodIn addition, a data
[0187]
In FIG. 25, the data amount measuring
[0188]
As an example of the format of the encoded data, as shown in FIG. 24B, the data amount of the encoded information of the tile is arranged at the head of each tile, and subsequently, the other management information (tile header) and the code Followed by conversion information. Note that the data amount of tiles does not necessarily have to be arranged at the head of each tile, and can be collected at the head, for example.
[0189]
Further, FIG. 26 shows the image encoding of the fourteenth embodiment.MethodAnother example ofTo explainFIG. 26 is a block diagram showing the image encoding shown in FIG.MethodThe encoded
[0190]
In FIG. 26, the encoded
[0191]
As an example of the format of the encoded data, as shown in FIG. 24C, the position of the target tile can be easily calculated by adding the data amounts of all the tiles arranged at the head. .
[0192]
The same effect can be obtained with the configuration shown in FIG. FIG. 27 shows image encoding according to the fourteenth embodiment.MethodAnother example ofTo explainFIG. 26 is a block diagram showing the image encoding shown in FIG.MethodIn addition, an encoded
[0193]
In FIG. 27, the encoded information output from the tile
[0194]
The encoded
[0195]
As described above, according to the present embodiment, it is possible to search and decode the encoded information of the tile to be decoded from the encoded data at high speed.
[0196]
Next, image decoding according to the fifteenth embodiment of the present invention.MethodWill be described. FIG. 28 shows image decoding according to the fifteenth embodiment.MethodTheTo explainIt is a block diagram, and the present embodiment is the image coding of the fourteenth embodiment described aboveMethodImage decoding to decode data encoded withMethodIt is.
[0197]
In FIG. 28, the decoding
[0198]
Based on the management information, the data
[0199]
When the data amount of the tile is described in the tile management information, the management
[0200]
As described above, according to the present embodiment, it is possible to quickly decode a target tile by decoding only the management information at the head of the tile without decoding all the encoded data.
[0201]
Next, image coding according to Embodiment 16 of the present inventionMethodWill be described. In the present embodiment, peripheral tile information is also added to management information for managing tiles, and encoded information of peripheral tiles can be decoded at high speed.
[0202]
FIG. 29A shows the image encoding according to the sixteenth embodiment.MethodExampleTo explainIt is a block diagram. Image coding of this embodimentMethodFIG. 23 is obtained by adding a peripheral tile
[0203]
Note that the tile
[0204]
In FIG. 29A, the peripheral tile
[0205]
Note that the plurality of tile IDs determined by the peripheral tile
[0206]
As an example of the format of the encoded data, a configuration in which the management information (tile header) includes a tile ID and peripheral tile IDs in FIG.
[0207]
FIG. 30 shows the image encoding according to the sixteenth embodiment.MethodAnother example ofTo explainIt is a block diagram, and seeks to speed up the search for encoded information tiled at the time of decoding by including position information of neighboring tiles in management information. Image coding of this embodimentMethodIn FIG. 27, the management
[0208]
Since the operations other than the data amount
[0209]
In FIG. 30, all the encoded information output from the tile
[0210]
The
[0211]
The relative
[0212]
In this way, by decoding only the management information at the head of the tile without decoding all the encoded data, the encoded data can be generated so that the target tile and surrounding tiles necessary for decoding can be quickly decoded. It becomes possible to do.
[0213]
Next, the image decoding according to the nineteenth embodiment of the present invention.MethodWill be described. FIG. 31 shows image decoding according to the nineteenth embodiment.MethodTheTo explainIt is a block diagram, and the present embodiment is the image coding according to the eighteenth embodiment described above.MethodImage decoding to decode data encoded withMethodIt is.
[0214]
In this embodiment, a
[0215]
In FIG. 31, input encoded data is stored in a
[0216]
If the management information includes tile IDs of peripheral tiles necessary for decoding, control is performed so that encoded information of the peripheral tiles is output from the
[0217]
Here, when the decoded peripheral tile ID included in the management information is a predetermined number smaller than the number of peripheral tiles (for example, tiles indicated by halftone dots in FIG. 29B), it is necessary for decoding. Tile IDs at other positions (white tiles in FIG. 29B) are determined from the decoded peripheral tile IDs.
[0218]
The tile
[0219]
Thus, by decoding only the management information at the head of the tile without decoding all the encoded data, it becomes possible to quickly decode the target tile and surrounding tiles necessary for decoding.
[0220]
As described above, the image encoding of this embodimentMethodAnd image decodingMethodBy using, it becomes possible to easily decode a decoded image having a resolution according to a user's request without increasing the amount of encoded data. This is a significant advantage compared to an increase in the amount of encoded data by 1.4 times because the flash pix using JPEG supports multiple resolutions.
[0221]
In addition, when dividing an image into tiles and enabling decoding of only a specific area, the encoding by wavelet transform is difficult in principle to be closed in the tile, and is unsuitable for tile division processing. On the other hand, in the present invention, encoding / decoding processing in units of tiles is possible using wavelet transform.
[0222]
In other words, by encoding the image in units of tiles, if it is desired to decode a part of the image, it is only necessary to decode the tile including that area without decoding the entire image, thereby improving the random access function. Can do.
[0223]
【The invention's effect】
According to the image encoding method and the image decoding method of the present invention, when decoding an image, it is possible to decode at different resolutions, or to decode only a specific tile in the image. Further, when it is desired to decode a low resolution image, only the low resolution subband information can be accessed to quickly reproduce the reduced overall image.
[0224]
Furthermore, by managing information indicating the storage position of the encoded information corresponding to each tile at a position independent of the encoded information, the position of the target tile can be easily calculated. Moreover, even if it does not decode all encoding information, the target tile can be quickly decoded by using the management information arranged independently of the encoding information.
[Brief description of the drawings]
FIG. 1 shows image coding according to the first embodiment of the present invention.MethodTheTo explainIt is a block diagram.
[Fig. 2] Image coding according to the first embodiment of the present invention.MethodIt is explanatory drawing explaining these.
[Fig. 3] Image coding according to the first embodiment of the present invention.MethodIt is explanatory drawing which shows an example of the bit stream in.
FIG. 4 is an image encoding according to the first embodiment of the present invention.MethodIt is explanatory drawing which shows another example of the bit stream in.
FIG. 5 is an image coding according to the second embodiment of the present invention.MethodIt is explanatory drawing explaining these.
[Fig. 6] Image decoding according to
[Fig. 7] Image decoding according to the fourth embodiment of the present invention.MethodIt is explanatory drawing explaining these.
[Fig. 8] Image coding according to Embodiment 5 of the present invention.MethodTheTo explainIt is a block diagram.
[Fig. 9] Image coding according to Embodiment 5 of the present invention.MethodIt is explanatory drawing explaining these.
[Fig. 10] Image coding according to Embodiment 6 of the present invention.MethodIt is explanatory drawing explaining these.
[Fig. 11] Image coding according to Embodiment 7 of the present invention.MethodTheTo explainIt is a block diagram.
FIG. 12 is an image encoding according to a seventh embodiment of the present invention.MethodIt is explanatory drawing explaining these.
FIG. 13 is an image decoding according to the eighth embodiment of the present invention.MethodTheTo explainIt is a block diagram.
FIG. 14 is an image decoding according to the ninth embodiment of the present invention.MethodTheTo explainIt is a block diagram.
FIG. 15 is an image encoding according to the tenth embodiment of the present invention.MethodTheTo explainIt is a block diagram and explanatory drawing explaining the operation | movement.
FIG. 16 is an image decoding according to the eleventh embodiment of the present invention.MethodTheTo explainIt is a block diagram and explanatory drawing explaining the operation | movement.
FIG. 17 is an image encoding according to a twelfth embodiment of the present invention.MethodExampleTo explainIt is a block diagram.
FIG. 18 is an image encoding according to a twelfth embodiment of the present invention.MethodAnother example ofTo explainIt is a block diagram.
FIG. 19 is an image encoding according to a twelfth embodiment of the present invention.MethodAnother example ofTo explainIt is a block diagram.
FIG. 20 is an image decoding according to the thirteenth embodiment of the present invention.MethodExampleTo explainIt is a block diagram.
FIG. 21 shows image decoding according to the thirteenth embodiment of the present invention.MethodAnother example ofTo explainIt is a block diagram.
FIG. 22 is an image decoding according to the thirteenth embodiment of the present invention.MethodAnother example ofTo explainIt is a block diagram.
FIG. 23: Image coding according to the fourteenth embodiment of the present inventionMethodExampleTo explainIt is a block diagram.
[Fig. 24] Image coding according to Embodiment 14 of the present invention.MethodExample of bitstream inTo explainIt is explanatory drawing.
FIG. 25: Image coding according to the fourteenth embodiment of the present inventionMethodAnother example ofTo explainIt is a block diagram.
[Fig. 26] Image coding according to Embodiment 14 of the present invention.MethodAnother example ofTo explainIt is a block diagram.
FIG. 27: Image coding according to the fourteenth embodiment of the present inventionMethodAnother example ofTo explainIt is a block diagram.
FIG. 28 shows image decoding according to the fifteenth embodiment of the present invention.MethodTheTo explainIt is a block diagram.
FIG. 29 is an image encoding according to the sixteenth embodiment of the present invention.MethodExampleTo explainIt is a block diagram and explanatory drawing explaining the operation | movement.
FIG. 30 is an image encoding according to the sixteenth embodiment of the present invention.MethodAnother example ofTo explainIt is a block diagram.
FIG. 31 is an image decoding according to the seventeenth embodiment of the present invention.MethodTheTo explainIt is a block diagram.
FIG. 32 shows conventional technology.To explainIt is a block diagram and explanatory drawing explaining the operation | movement.
FIG. 33 is a block diagram showing a conventional technique.
FIG. 34 is a block diagram showing a conventional technique.
FIG. 35 is an explanatory diagram for explaining a conventional technique.
FIG. 36 is a block diagram showing a conventional technique.
FIG. 37 is an explanatory diagram for explaining a conventional technique.
[Explanation of symbols]
DESCRIPTION OF
Claims (3)
前記各タイルに対応する符号化対象データの周囲に所定のデータを外挿してサブバンド分割を行い、各タイルをそれぞれ独立にウェーブレット符号化するステップと、
任意のタイルを独立して、前記サブバンド単位で復号するための管理情報を生成するステップと、
前記管理情報を前記符号化情報に付加して、ビットストリームを生成するステップとを具備し、
前記管理情報は、各タイルの符号化情報のビットストリーム上での位置を示す情報と、各サブバンドを管理・識別する情報とを含み、前記符号化情報とは独立した位置にまとめて配置されることを特徴とする画像符号化方法。Dividing the image data into tiles of N pixels × M pixels and outputting N pixels × M pixels in the tile as encoding target data corresponding to each tile;
Extrapolating predetermined data around the encoding target data corresponding to each tile to perform subband division, and independently performing wavelet encoding on each tile;
Generating management information for independently decoding arbitrary tiles in units of subbands;
Adding the management information to the encoded information to generate a bitstream;
Arrangement wherein the management information includes information indicating a position in the bit stream of the coded information for each tile, seen including a management-information identifying each subband, are summarized in a position independent from said coded information picture coding method characterized in that it is.
前記管理情報は、各タイルもしくは解像度に対応する符号化情報のサイズを含み、前記符号化情報とは独立した位置にまとめて配置され、
復号するタイルあるいは解像度に対応する符号化情報の格納位置を前記サイズをもとに解析するステップと、
前記格納位置をもとに、ウェーブレット復号を行うステップと、
前記ウェーブレット復号されたタイル単位の復号画像を連結するステップとを備えた、
画像復号方法。Dividing the image data into tiles, tiles and resolution of each tile type and c Eburetto coded coding information independently, a bit stream composed of a management information for managing the encoded information requires An image decoding method for decoding a decoded image according to
The management information includes the size of encoding information corresponding to each tile or resolution, and is collectively arranged at a position independent of the encoding information,
Analyzing the storage position of the encoded information corresponding to the tile or resolution to be decoded based on the size;
Performing wavelet decoding based on the storage location ;
And a step of connecting the decoded image of the wavelet decoded tile units,
Image decoding method.
前記復号するタイルあるいは解像度に対応する符号化情報の格納位置を前記サイズをもとに解析するステップは、復号するタイルもしくは解像度に対応する符号化情報の格納位置を前記サイズを足し合わせて得る画像復号方法。 The step of analyzing the storage position of the encoding information corresponding to the tile to be decoded or the resolution based on the size is an image obtained by adding the storage position of the encoding information corresponding to the tile to be decoded or the resolution to the size Decryption method.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002075296A JP4036665B2 (en) | 1997-09-19 | 2002-03-19 | Image encoding method and image decoding method |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP25461697 | 1997-09-19 | ||
JP10-18782 | 1998-01-30 | ||
JP1878298 | 1998-01-30 | ||
JP9-254616 | 1998-01-30 | ||
JP2002075296A JP4036665B2 (en) | 1997-09-19 | 2002-03-19 | Image encoding method and image decoding method |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000343053A Division JP3614361B2 (en) | 1997-09-19 | 2000-11-10 | Image decoding device |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002359745A JP2002359745A (en) | 2002-12-13 |
JP2002359745A5 JP2002359745A5 (en) | 2005-08-04 |
JP4036665B2 true JP4036665B2 (en) | 2008-01-23 |
Family
ID=27282363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002075296A Expired - Fee Related JP4036665B2 (en) | 1997-09-19 | 2002-03-19 | Image encoding method and image decoding method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4036665B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4988623B2 (en) * | 2008-02-19 | 2012-08-01 | 京セラドキュメントソリューションズ株式会社 | Image encoding apparatus and image decoding apparatus |
-
2002
- 2002-03-19 JP JP2002075296A patent/JP4036665B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002359745A (en) | 2002-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3213584B2 (en) | Image encoding device and image decoding device | |
TW278299B (en) | ||
JP4116304B2 (en) | Digital image compression method | |
KR101465817B1 (en) | Signaling and use of chroma sample positioning information | |
US6560369B1 (en) | Conversion of wavelet coded formats depending on input and output buffer capacities | |
US7529417B2 (en) | Apparatus, method and storage medium for image encoding/decoding using shape-based coefficient interpolation | |
US7298910B2 (en) | Wavelet inverse transform method and apparatus and wavelet decoding method and apparatus | |
JP3614361B2 (en) | Image decoding device | |
JPH08294119A (en) | Image coder/decoder | |
JP2000013593A (en) | Device and method for generating images | |
JP2008306510A (en) | Image coding method, image coding device, image decoding method and image decoding device | |
JP4036665B2 (en) | Image encoding method and image decoding method | |
JP4841504B2 (en) | Image coding apparatus and method | |
JP2002152744A (en) | Method for expanding conversion coded image | |
JP4194472B2 (en) | Image processing method and apparatus | |
JP2005223852A (en) | Image-encoding device and method, and image-decoding device and method | |
CA2400487C (en) | Image decoder | |
JP4514464B2 (en) | Image encoding apparatus and image decoding apparatus, and image display apparatus and method using them | |
JP4194311B2 (en) | Moving picture encoding apparatus, moving picture decoding apparatus, and methods thereof | |
JPH07222149A (en) | Method and device for processing picture | |
JPH07336681A (en) | Picture converting device | |
JP2001309378A (en) | Method and device for encoding and decoding moving video simultaneously having spatial hierarchical structure and picture hierarchical structure | |
JPH08307865A (en) | Image processing method | |
JP2003023633A (en) | Image decoding method and device | |
AU4522000A (en) | Digital image coding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041210 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041224 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041224 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20071030 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071030 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101109 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111109 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121109 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131109 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |