JP4115142B2 - 画像処理装置及び画像処理方法 - Google Patents

画像処理装置及び画像処理方法 Download PDF

Info

Publication number
JP4115142B2
JP4115142B2 JP2002068963A JP2002068963A JP4115142B2 JP 4115142 B2 JP4115142 B2 JP 4115142B2 JP 2002068963 A JP2002068963 A JP 2002068963A JP 2002068963 A JP2002068963 A JP 2002068963A JP 4115142 B2 JP4115142 B2 JP 4115142B2
Authority
JP
Japan
Prior art keywords
circuit
data
memory
code block
packet
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
Application number
JP2002068963A
Other languages
English (en)
Other versions
JP2003274405A (ja
Inventor
幸男 門脇
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002068963A priority Critical patent/JP4115142B2/ja
Publication of JP2003274405A publication Critical patent/JP2003274405A/ja
Application granted granted Critical
Publication of JP4115142B2 publication Critical patent/JP4115142B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Bus Control (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、画像処理装置及び画像処理方法に係り、特に、JPEG2000等に用いられる画像処理装置及び画像処理方法に関する。
【0002】
【従来の技術】
図1にJPEG2000の符号化の流れを示す。JPEG2000の符号化においては、画像データ1は、2次元離散ウエーブレット変換部(DWT)10、量子化器11、係数モデリング部12、算術符号器(算術符号化回路)13、符号形成部(パケットヘッダ生成回路及び符号列生成回路等を含む。)14の処理を経て、符号データ15が得られる。図2、図3にこれらの処理を模式的に描いた図を示す。なお、係数モデリング部12及び算術符号器13により、エントロピー符号化が行われる。
【0003】
まず、入力される画像に対して複数レベルの2次元離散ウエーブレット変換を行う。この時、処理する画像をタイルと呼ばれる複数の矩形ブロックに分ける場合が多い。画像を複数のタイルに分割する場合は、後に続く2次元離散ウエーブレット変換、量子化、エントロピー符号化はこのタイルの単位で処理する。図2は、画像データ1を128×128の大きさのタイルに分割し、レベル2の2次元離散ウエーブレット変換を行った場合の例を示す。128×128の画像データ(1タイル)は、レベル2の2次元離散ウエーブレット変換10により、大きさが32×32の4つのサブバンド2LL、2HL、2LH、2HHと大きさが64×64の3つのサブバンド1HL、1LH、1HHのウエーブレット係数データ21に変換される。なお、1LL、1HL、1LH、1HHはレベル1のサブバンドであり、2LL、2HL、2LH、2HHは、レベル2のサブバンドである。以下、3レベル以上のサブバンドについても同様に表現する。
【0004】
JPEG2000では、ウエーブレット変換のフィルタ係数としては、可逆、非化逆の2通りの係数が規定されている。可逆・非化逆を統一的に扱う場合は、可逆のフィルタ係数が用いられ、より高いレート又は良好なひずみ特性を実現する場合は非化逆のフィルタ係数を用いる。
【0005】
次に、ウエーブレット係数データに対して、次の式によりスカラー量子化が行われる。
q=sign(a)×└|a|/Δb┘
ここで、sign(a)はウエーブレット係数データaの符号、|a|はaの絶対値、Δbはサブバンド毎に決められた量子化ステップ、└ ┘はフロア関数を示す。ただし、可逆ウエーブレット係数を用いた場合は、このスカラー量子化の処理は実施されない。
【0006】
次に、ウエーブレット変換及び量子化した係数データをコードブロック毎に(サブバンドの大きさが、コードブロックよりも小さい場合は、各サブバンド毎に)エントロピー符号化していく。このエントロピー符号化は、後段の2値算術符号器13に与えるコンテキストを生成する係数モデリング部12での処理と、実際に符号化を行う算術符号器13での処理によりなされる。
【0007】
図3は、各サブバンド毎にエントロピー符号化した場合におけるサブバンド2LLとその算術符号化器13の処理を示す。サブバンド2LLは、32×32の画像サイズを有し、各点の画像(ウエーブレット変換及び量子化した係数データ)は、(N+3)ビットで量子化されている。上面が量子化ビットのMSBで、下面が量子化ビットのLSBである。図3では、上から二つのプレーンには、量子化ビットが存在しない。このプレーンをゼロビットプレーンという。
【0008】
次に、算術符号器13での処理手順を示す。
(1)一つのサブバンド(コードブロック毎にエントロピー符号化する場合は、コードブロック)の係数データを符号+絶対値に変換し、係数絶対値は、ビットプレーンに分割してMSB側からビットプレーン毎にエントロピー符号化を行う。図3(A)では、2LLのサブバンドの係数絶対値をビットプレーンに分割した様子を示す。
(2)上位から数えて初めて有効なビット(0で無いビット)が出現するビットプレーンまでは、ゼロビットプレーンであるのでエントロピー符号化は行わず、初めて0で無いビットが出現したビットプレーンから、エントロピー符号化を開始する。図3(A)の例では、上位2プレーンがゼロビットプレーンであり、3プレーン目に初めて0で無いビットが出現し、このビットプレーンNからビットプレーン0までのN+1枚のビットプレーンについてエントロピー符号化を行う。
(3)エントロピー符号化を行うビットプレーンに関しては、基本的に1つのビットプレーンを3回スキャンして、符号化する。この符号化のためスキャンする過程をコーディングパスとして、各パスは以下のように呼ばれている。
【0009】
▲1▼ significance propagation pass
▲2▼ magnitude refinement pass
▲3▼ cleanup pass
ビットプレーン上の各ビットは、特定の規則に従って分類され、そのビットの周辺ビットの状態から生成されたコンテキストを用いていずれかひとつのパスで符号化される。
【0010】
図3(B)に示すように、最初に符号化するビットプレーンNは、cleanup passのみで符号化されるが、それ以降のビットプレーンは、それぞれ上に記した3つのパスで符号化される。すなわち、N+1個のビットプレーンが存在する場合、合計3N+1回のコーディングパスにより符号化が行われる。
(4)次に、算術符号器13で、上記の各パスで発生する符号化ビットとそれに対応するコンテキストにより、エントロピー符号を生成する。
こうして生成されたエントロピー符号(MQ符号)は、図1に示す符号形成部14における処理で、最終のJPEG2000のビットストリームとしてまとめられる。
【0011】
符号形成部14では、まず、先の算術符号器13で生成された各パス単位で発生した符号を、複数パス毎にまとめる。このまとめられた単位をレイヤと呼ぶ。図4では、3N+1個のパス毎に算術符号器で生成された符号をレイヤ0からレイヤLまでのL+1個のレイヤにまとめている様子を示す。例えば、ビットプレーン2LLN、c、ビットプレーン2LLN−1、s、ビットプレーン2LLN−1、mをレイヤ0とし、・・・ビットプレーン2LL0、s、ビットプレーン2LL0、m、プレーン2LL0、cをレイヤLとしている。なお、レイヤの選定は、これに限らず実施することができる。
【0012】
さらに、図5に示すように、サブバンド、レイヤ毎にまとめられた符号を並べて最終のビットストリームが生成される。図5では、2LLのレイヤ0、2LLのレイヤ1、・・・2LLのレイヤL、2HL、2LH、2HHのレイヤ0、・・・2HL、2LH、2HHのレイヤL、1HL、1LH、1HHのレイヤ0、・・・1HL、1LH、1HHのレイヤLのビットストリームとなる。ビットストリームは、重要なデータ(優先順位の高いデータ)を先に送信するように構成される。なお、レイヤは、任意に設定できる。例えば、すべてを一つのレイヤとしてもよい。
【0013】
ここで、サブバンド、レイヤ毎のまとまりをパケットと呼び、各パケットは、それぞれのパケットの情報を示すパケットヘッダーと先ほどの算術符号部で生成されたエントロピー符号より成る。例えば、2HL、2LH、2HHのレイヤL34は、2HL、2LH、2HHのレイヤLのパケットヘッダー37と2HL、2LH、2HHのレイヤLのエントロピー符号38から構成される。したがって、ビットストリームは、1又は複数のパケットにより構成される。なお、各レベル毎に、LLのサブバンドで一つのパケットとし、HL、LH、HHのサブバンドで一つのパケットとしている。
【0014】
ここでは、入力画像データが単色である場合を示したが、複数色(コンポーネント)を有する画像の場合、同様に各色(コンポーネント)毎にサブバンド毎、レイヤ毎のパケットを生成して規定された順番に並べることでJPEG2000のビットストリームを得ることができる。図6には、3色(コンポーネント0、1、2)より成る画像をJPEG2000で符号化した場合のビットストリームの例を示す。
【0015】
JPEG2000の符号化方式は、一旦、符号化されたビットストリームを復号することなく符号状態のままで再度圧縮して、必要な圧縮率を得られるという特徴がある。これはこれまでに説明したようにJPEG2000の符号は、パケットと呼ばれるコンポーネント(色成分)、サブバンド(解像度)、レイヤ毎の符号を組み合わせて構成されているため、一旦、符号化を行った後で、その符号の圧縮率が所望の圧縮率より悪ければ、復号した際の画質面からみて優先順位の低いパケットの符号データを順次破棄していくことで、圧縮率を上げる操作が
可能であることによる。
【0016】
【発明が解決しようとする課題】
従来のJPEG2000の符号化及び復号を行うJPEG2000装置では、エンコード時に算術符号化を行った後の符号データからパケットヘッダを作成する際、ひとつのタイル、又はプリシンクト(precincts:領域)、又はサブバンドのパケットデータをあらかじめ求めておき、このデータを用いてパケットヘッダを作成し、全体としての符号データを作成していた。この作業はハードで行うのは非常に煩雑になるため、多くの場合、ソフトウエア処理されていた。
【0017】
ところで、ソフトで処理する場合、パケットデータは作成された順番にメモリに保持しておき、各パケットのデータ長、ゼロビットプレーン数、コーディングパス数を別途管理し、これらの情報を使用してパケットヘッダを作成していた。しかし、ソフト処理するためには、JPEG2000システムの中にプロセッサが必要となり、コストが上がる要因になっていた。また、ソフト処理なので、パケットデータの情報を管理する際に、ソフト上のポインタ(構造体)を使用することになり、必ずしもメモリを有効に使用しているとは限らず、ワーク用メモリを多く必要とし、これもコストアップの要因となっていた。
【0018】
また、ハードウエアで処理を行う場合であっても、ウエーブレット係数と符号データは、別々のメモリを使用する方式が取られてきた。この場合、ハードウエアによる処理の並列化は簡単にできるが、扱う画像サイズが大きくなると、必要なメモリサイズも大きくなり、コストが大きくなるという問題がある。
【0019】
本発明は、上記問題に鑑みなされたものであり、画像の符号化処理及び/又は復号処理に関する処理におけるメモリに要するコストを削減し、更に、高速処理を可能とすることを目的とするものである。
【0020】
【課題を解決するための手段】
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
【0021】
請求項1に記載された発明は、ウエーブレット変換回路と、算術符号化回路と、パケットの生成又は解析を行うパケット生成又は解析回路と、前記ウエーブレット変換回路、前記算術符号化回路、前記パケット生成又は解析回路が書込み及び/又は読出しする情報を格納するメモリと、該メモリの制御を行うメモリアクセスコントローラと、前記ウエーブレット変換回路、前記算術符号化回路、前記パケット生成又は解析回路(例えば、パケットヘッダ生成回路、符号列生成回路、符号列解析回路等)からの前記メモリコントローラへのメモリアクセス要求を調停するメモリアクセスアービタ回路とを有し、前記メモリアクセスアービタ回路は、前記ウエーブレット変換回路のアクセスを優先させ、前記ウエーブレット変換回路からのアクセスがないとき、前記算術符号化回路、前記パケット生成又は解析回路からのアクセスを受け付け、コード化の単位であるコードブロック毎に、タグツリーを使用して、コード化を行う場合、コードブロックにおけるデータの有無を示すインクルージョンデータを、前記メモリとは別に、内部レジスタに格納させ、前記算術符号化回路により、すべてのコードブロックの算術符号化が終了したときに、前記内部レジスタに格納したインクルージョンの情報を使用してタグツリーを構成する画像処理装置である。
【0022】
請求項1に記載された発明によれば、ひとつのメモリにウエーブレット係数と符号データを格納することにより、大容量の安価な外部メモリを1個使用するだけでJPEG2000コーダ等の画像処理装置を実現することができる。
また、請求項1に記載された発明によれば、メモリアクセスアービタでウエーブレット係数処理に関するアクセスを優先させることにより、処理速度が速まり、動画処理におけるリアルタイム処理が実現できる。
また、請求項1に記載された発明によれば、パケットヘッダ用ポインタを構成し、その中にパケットヘッダを構成するのに必要な情報をすべて備え、パケットデータのスタートアドレスで示されるメモリ上にパケットデータを配置する構成を取ることによって、ハードウエアのみでパケットヘッダ生成・解析を行う際に、パケットデータとそのパケットデータに付随する情報を効率よく管理することができ、使用するメモリ量を削減することが可能になる。
【0025】
請求項に記載された発明は、請求項1記載の画像処理装置において、前記ウエーブレット変換回路のアクセスのうち、レベル1の処理のアクセスを優先させてメモリアクセスさせることを特徴とする。
【0026】
請求項に記載された発明によれば、メモリアクセスアービタでレベル1の処理のアクセスを優先させることにより、効率的な処理が可能となり、動画処理におけるリアルタイム処理が実現できる。
【0029】
請求項に記載された発明は、請求項1又は2記載の画像処理装置において、コード化の単位であるコードブロック毎にコード化を行う場合、前記メモリ上に、前記コードブロック毎にポインタ領域を設け、該ポインタ領域には、当該コードブロックのパケットデータが格納されているメモリのスタートアドレスと、当該コードブロックのデータ長と、当該コードブロックのゼロビットプレーン数と、コーディングパス数とを、前記コードブロック毎に格納し、当該コードブロックのパケットデータは、前記メモリ上の前記ポインタに格納されているスタートアドレスから、格納されていることを特徴とする。
【0030】
請求項に記載された発明によれば、コードブロックのインクルージョン情報のみメモリとは別に内部レジスタに退避させることにより、パケットヘッダの先頭に配置するタグツリーの生成を高速に容易に行うことができ、動画処理などで必要なリアルタイム性を確保することができる。
【0031】
請求項に記載された発明は、ウエーブレット変換回路と、算術符号化回路と、パケット生成又は解析回路と、メモリと、該メモリの制御を行うメモリアクセスコントローラと、前記ウエーブレット変換回路、前記算術符号化回路、前記パケット生成又は解析回路からの前記メモリコントローラへのメモリアクセス要求を調停するメモリアクセスアービタ回路とを有する画像処理装置における画像処理方法において、前記メモリアクセスアービタ回路は、前記ウエーブレット変換回路のアクセスを優先させ、前記ウエーブレット変換回路からのアクセスがないとき、前記算術符号化回路、前記パケット生成又は解析回路からのアクセスを受け付けることを特徴とする画像処理方法である。
【0032】
請求項に記載された発明は、請求項1〜記載の画像処理装置に適した画像処理方法を提供することができる。
【0033】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。図7は、本実施の形態におけるJPEG2000の符号化処理回路40である。
(符号化処理回路)
図7の符号化処理回路40は、DCシフト・RCT(Reversible component Transformation)変換回路41、離散ウエーブレット変換回路(DWT回路)42、DMAC(Direct Memory Access Controller)48〜53、算術符号化回路(MQ回路であり、ここでは、係数モデリング部を含むものとしている。)43、パケットヘッダ生成回路44、符号列生成回路45、メモリアクセスアービタ46、SDRAM(Synchronous RAM)コントローラ47、SDRAM55から構成されている。
【0034】
DCシフト・RCT変換回路41におけるDCシフトは、符号無しで入力された画像データ(イメージ入力)のレベルをシフトして、0を中心に振幅変動する画像データに変換して、RCT変換回路、DWT回路42に入力するものである。DCシフト・RCT変換回路41におけるRCT変換は、RGB(赤・緑・青)データをYCbCr(輝度成分・色差成分)データに変換する。DWT回路42は、図1のDWT部10で説明した2次元離散ウエーブレット変換を行う。なお、この処理の詳細は後述する。DMAC48〜53は、DWT回路42、MQ回路43、パケットヘッダ生成回路44、符号列生成回路45が、DMA転送を行うためのDMAコントローラである。MQ回路43は、算術符号処理を行う。パケットヘッダ生成回路44は、MQ回路43で生成されたパケットデータに対して、パケットヘッダを生成する。符号列生成回路45は、MQ回路43で生成された算術符号化後のパケットデータ及びパケットヘッダ生成回路44で生成されたパケットヘッダ等からビットストリームを生成して、出力する(符号出力)。
【0035】
メモリアクセスアービタ46は、DWT回路42、MQ回路43、パケットヘッダ生成回路44、符号列生成回路45からのSDRAMコントローラへ47のメモリアクセス要求を調停する。SDRAMコントローラ47は、SDRAM55の書込み及び読出しを制御する。SDRAM55には、符号化処理回路装置で共有するひとつのメモリであり、ウエーブレット係数、算術符号化後のパケットデータ、パケットデータ解析用のポインタ情報等を格納する。
【0036】
図7の符号化処理回路40にイメージ入力信号が入力され、符号化されたビットストリームが、符号化処理回路40から出力される。
(復号処理回路)
図8は、本実施の形態におけるJPEG2000の復号処理回路60である。
【0037】
図8の復号処理回路60は、DCシフト・RCT変換回路61、DWT回路62、DMAC65〜69、MQ回路63、符号列解析回路69、メモリアクセスアービタ46、SDRAMコントローラ47、SDRAM55から構成されている。DCシフト・RCT変換回路61は、図1の符号化処理回路のDCシフト・RCT変換回路41の逆の処理を行う。つまり、シフトしたレベルを元に戻す。DWT回路62は、図1の符号化処理回路のDWT回路41の逆の処理を行う。つまり、2次元離散ウエーブレット逆変換を行う。DMAC65〜69は、図1の符号化処理回路のDMAC48〜53と同じく、DWT回路62、MQ回路63、符号列解析回路64が、DMA転送を行うためのDMAコントローラである。MQ回路63は、図1の符号化処理回路のMQ回路43の逆の処理を行う。つまり、算術復号を行う。符号列解析回路69は、受信したビットストリームの符号列を解析して、パケットデータ及びパケットヘッダを出力する。
【0038】
メモリアクセスアービタ46、SDRAMコントローラ47、SDRAM55は、図1の符号化処理回路のもと同じである。
【0039】
なお、DCシフト・RCT変換回路61、DWT回路62、DMAC65〜68、MQ回路63は、それぞれ、図1の符号化処理回路のDCシフト・RCT変換回路41、DWT回路42、DMAC48〜51、MQ回路43と一体に構成してもよい。
【0040】
図8の符号化処理回路60にビットストリームである符号が入力され、符号化処理回路60から復号されたイメージ信号が出力される。
(DWT変換:エンコード)
図7において、DCシフト・RCT変換回路41からの出力に対して、DWT回路42は、2次元離散ウエーブレット変換を行う。
【0041】
ウエーブレット変換を行う場合、最初に場面全体に対して、垂直成分と水平成分に対してそれぞれハイパスフィルタとローパスフィルタをかけて1/2のデータにした結果を4個出力する。この結果を並べた結果を図9に示す。ここで、1LLはウエーブレット変換レベル1の垂直方向ローパス、水平方向ローパス成分を示し、1HLはウエーブレット変換レベル1の垂直方向ハイパス、水平方向ローパス成分を示し、1LHはウエーブレット変換レベル1の垂直方向ローパス、水平方向ハイパス成分を示し、1HHは垂直方向ハイパス、水平方向ハイパス成分を示す。
【0042】
JPEG2000で規定されているウエーブレット変換は、R5:3フィルタとIR9:7フィルタがある。ここでは、R5:3フィルタの説明を行う。R5:3フィルタの処理を図15の構成例に基づいて説明する。
【0043】
図15に示すウエーブレット変換のエンコード装置は、ラインバッファ82」〜84、ハイパス処理を行うハイパス処理回路76〜78、ローパス処理を行うローパス処理回路79〜81、クロック端子を有するフリップフロップ回路85〜90、入力端子71及び出力端子72〜75から構成されている。
【0044】
ラインバッファ82には、図16(A)に示されているように、入力されたタイルの最初の1ライン分のデータX(0)が順次蓄積される。ラインバッファ83には、図16(B)に示されているように、タイルの2ライン目の1ライン分のデータX(1)が順次蓄積される。また、入力されたタイルの3番目の1ライン分のデータX(3)は、ラインバッファ82に蓄積され、入力されたタイルの4番目の1ライン分のデータX(4)は、ラインバッファ83に蓄積される。なお、入力されたタイルの3番目の1ライン分のデータX(3)が、ラインバッファ82に蓄積されるとき、ラインバッファ82からは、蓄積の直前に、最初の1ライン分のデータX(0)が読み出されて、ローパス処理回路79に供給される。以下同様のタイミングで、データX(2)、X(4)、、、が順次読み出されて、ローパス処理回路79に供給される。
【0045】
以下、入力されたタイルの奇数番目の1ライン分のデータは、ラインバッファ82に蓄積され、入力されたタイルの偶数番目の1ライン分のデータは、ラインバッファ83に蓄積される。
【0046】
次に、ハイパス処理回路76及びローパス処理79によるレベル1の垂直処理について説明する。
【0047】
ハイパス処理回路76は、データX(0)、データX(1)及びデータX(2)に基づいて、
Y(1)=X(1)−[(X(0)+X(2))/2] ・・・・(1)
の処理を行う。このデータY(1)は、ラインバッファ84、フリップフロップ回路87及びローパス処理回路79に順次供給される。
【0048】
図16(C)に示されているように、このデータY(1)が、入力されたタイルデータを垂直方向で周波数領域に変換したときの、第1番目のハイパス成分である。
【0049】
同様にして、ハイパス処理回路76は、データX(2)、データX(3)及びデータX(4)に基づいて、
Y(3)=X(3)−[(X(2)+X(4))/2] ・・・・(2)
の処理を行う。このデータY(3)は、データY(1)と同様に、ラインバッファ84、フリップフロップ回路87及びローパス処理回路79に順次供給される。
【0050】
図16(E)に示されているように、このデータY(1)が、入力されたタイルデータを垂直方向で周波数領域に変換したときの、第2番目のハイパス成分である。
【0051】
以下順に、Y(5)、Y(7)、、、、Y(127)を作成する。
【0052】
ローパス処理回路79は、データX(0)、データY(−1)及びデータY(1)に基づいて、
Y(0)=X(0)−[(Y(−1)+Y(1)+2)/4] ・・・・(3)
の処理を行う。このデータY(0)は、フリップフロップ回路85及びハイパス処理回路77に順次供給される。
【0053】
図16(C)に示されているように、このデータY(0)が、入力されたタイルデータを周波数領域に変換したときの、第1番目のローパス成分である。
【0054】
同様にして、ローパス処理回路79は、データX(2)、データY(1)及びデータY(3)に基づいて、
Y(2)=X(2)−[(Y(1)+Y(3)+2)/4] ・・・・(4)
の処理を行う。このデータY(2)は、フリップフロップ回路85及びハイパス処理回路77に順次供給される。
【0055】
このデータY(2)は、データY(0)と同様に、フリップフロップ回路85及びハイパス処理回路77に順次供給される。
【0056】
図16(E)に示されているように、このデータY(1)が、入力されたタイルデータを垂直方向で周波数領域に変換したときの、第2番目のハイパス成分である。
【0057】
以下順に、Y(4)、Y(6)、、、、Y(126)を作成する。
【0058】
次に、ハイパス処理回路77、78及びローパス処理80、81によるレベル1の垂直処理に連続して行なわれるレベル1の水平処理について説明する。
【0059】
ローパス処理回路79により、図17(A)に示す1ライン目における第1番目の垂直方向の低周波数成分Y(0、0)が生成され、フリップフロップ回路85に供給される。同様に、ローパス処理回路79により、図17(B)に示す1ライン目の垂直方向の第2番目の低周波数成分Y(0、1)、1ライン目の垂直方向の第3番目の低周波数成分Y(0、2)、、、が生成され、フリップフロップ回路85に供給される。なお、フリップフロップ回路85は、データが入力されるタイミングで、それまでのデータをフリップフロップ回路86に供給する。同様に、フリップフロップ回路86〜90は、データが入力されるタイミングで、それまでのデータを出力する。
【0060】
ハイパス処理回路77は、データY(0、0)、データY(0、1)、及びデータY(0、2)に基づいて、
Z(1)=Y(0、1)−[(Y(0、0)+Y(0、2))/2] ・・(5)
の処理を行う。このデータZ(1)は、フリップフロップ回路89及びローパス処理回路80に供給される。
【0061】
図17(C)に示されているように、このデータZ(1)が、1ライン目の垂直方向の低周波数成分の、水平成分の第1番目のハイパス成分である。
【0062】
同様にして、ハイパス処理回路77は、データY(0、2)、データY(0、3)、及びデータY(0、4)に基づいて、
Z(3)=Y(0、3)−[(Y(0、2)+Y(0、4))/2] ・・(6)
の処理を行う。このデータZ(3)は、フリップフロップ回路89及びローパス処理回路80に供給される。
【0063】
図17(E)に示されているように、このデータZ(3)が、1ライン目の垂直方向の低周波数成分の、水平成分の第2番目のハイパス成分である。
【0064】
以下順に、Z(5)、Z(7)、、、、Z(127)を作成する。
【0065】
また、同様に、2ライン目の以下の、垂直方向の低周波数成分の、水平成分のハイパス成分を作成する。その結果、端子73から1LHデータが得られる。
【0066】
同様に、垂直方向の高周波数成分であるデータY(1)、データY(3)、、、、データY(127)について、フリップフロップ回路87、88及びハイパス処理回路78が、ハイパス処理を行って、端子75から1HHデータが得られる。
【0067】
ハイパス処理回路77により、図17(A)に示す1ライン目の垂直方向の高周波数成分Y(1、0)が生成され、フリップフロップ回路89及びローパス処理回路80に供給される。
【0068】
ローパス処理回路80は、データY(0、0)、データZ(−1)及びデータZ(1)に基づいて、
Z(0)=Y(0、0)−[(Z(−1)+Z(1)+2)/4] ・・(7)
の処理を行う。なお、データZ(−1)は、ミラー成分としてデータZ(1)が使用される。
【0069】
図17(C)に示されているように、このデータZ(0)が、1ライン目の垂直方向の低周波数成分の、水平成分の第1番目のローパス成分である。
【0070】
同様にして、ローパス処理回路80は、データY(0、2)、データZ(1)及びデータZ(3)に基づいて、
Z(2)=Y(0、2)−[(Z(1)+Z(3)+2)/4] ・・(8)
の処理を行う。なお、データZ(−1)は、ミラー成分としてデータZ(1)が使用される。
【0071】
図17(E)に示されているように、このデータZ(2)が、1ライン目の垂直方向の低周波数成分の、水平成分の第2番目のローパス成分である。
【0072】
以下順に、Z(4)、Z(6)、、、、Z(126)を作成する。
【0073】
また、同様に、2ライン目の以下の、垂直方向の低周波数成分の、水平成分のローパス成分を作成する。その結果、端子72から1LLデータが得られる。
【0074】
同様に、フリップフロップ回路90及びローパス処理回路81により、1HLデータが作成され、端子75から1HLデータを得ることができる。
【0075】
なお、図15の回路は、データの流れに即して、イネーブル信号を伝播させるものであり、データフロー型パイプライン制御が行なわれている。
【0076】
また、図15の回路は、データフロー内の有効期間は全てマスタークロックで2クロックである。この2クロックの内、演算処理は必ず後半クロックで行う。
【0077】
また、ラインバッファ処理するときは、前サイクルでパイプラインリードを開始し、後半クロックでライトを行う。ラインバッファは、2ポートRAMを使用するのではなく、時分割処理するので、一つのデータ処理には必ず2クロック必要となる。また、ラインバッファ82、84は、データを出力しながら新しいデータを入力している。
【0078】
また、ワークメモリへのライトを2クロックで1データ処理するので、全てのフィルタに入力されるタイミングは、回路全体で管理する必要がある。
【0079】
このような構成により、入力端子71に印加されたタイル入力データについて、最初に水平方向のハイパスフィルタ処理を行い、その結果を用いて水平方向のローパスフィルタの処理を行う。同様にして、水平方向のハイパスフィルタの処理結果を用いて、垂直方向のハイパスフィルタおよび垂直方向のローパスフィルタ処理をそれぞれ行い、また、水平方向のローパスフィルタの処理結果を用いて垂直方向のハイパスフィルタおよび垂直方向のローパスフィルタ処理をそれぞれ行う。その結果、端子72、73、74、75から、図9に示されているように、ウエーブレット変換された1LL、1LH、1HL、1HHの4種類の成分に分割されたウエーブレット係数が得られる。
【0080】
この1LLのウエーブレット係数に対して、1レベルの処理と同じようにウエーブレット変換を行うと図10に示すように2レベルのウエーブレット係数を得ることができる。同様に、図10の2LLに対してウエーブレット変換を行うことで図11に示すように3レベルのウエーブレット係数を得ることができる。同様にして、図11の3LLのウエーブレット係数に対してウエーブレット変換を行うことで、図12に示すような4レベルのウエーブレット係数を得ることができる。同様にして、図12の4LLのウエーブレット係数に対してウエーブレット変換を行うことで、図13に示す5レベルのウエーブレット係数を得ることができる。図14に、最終的なウエーブレット変換のエンコードの結果を示す。
【0081】
図18により、図15に示すウエーブレット変換のエンコード装置におけるハイパス処理回路の例を説明する。
【0082】
図18のハイパス処理回路は、ハイパス処理及びその逆変換を行う。図18のハイパス処理回路は、マルチプレクサ100〜104、加算器105、106、反転回路107、クロック端子を有するフリップフロップ回路108、端子110〜123を有している。
【0083】
式(1)のハイパス処理演算を行う場合は、端子114にデータX(0)が供給され、端子115にデータX(2)が供給され、端子122にデータX(1)が供給される。このとき、マルチプレクサ100〜103は、端子112に印加されたコード・デコード切替え信号に基づいて、端子114、端子115、端子122からのデータを選択する。また、マルチプレクサ103は、端子112に印加されたコード・デコード切替え信号に基づいて、反転回路107からの信号を選択する。
【0084】
なお、端子110、111には、境界処理用のミラーデータが供給される。また、端子113には、演算イネーブル信号が印加され、加算器106の信号はこの演算イネーブル信号が印加された時点の信号にラッチされる。
【0085】
図19に、図15に示すウエーブレット変換のエンコード装置におけるローパス処理回路の例を示す。
【0086】
図19のローパス処理回路は、ローパス処理及びその逆変換を行う。図19のローパス処理回路は、マルチプレクサ200〜204、加算器205、206、224、反転回路207、クロック端子を有するフリップフロップ回路208、端子210〜223を有している。
【0087】
式(1)のローパス処理演算を行う場合は、端子214にデータY(−1)が供給され、端子215にデータY(1)が供給され、端子222にデータX(0)が供給される。このとき、マルチプレクサ200〜203は、端子212に印加されたコード・デコード切替え信号に基づいて、端子214、端子215、端子222からのデータを選択する。また、マルチプレクサ203は、端子212に印加されたコード・デコード切替え信号に基づいて、反転回路207からの信号を選択する。
【0088】
なお、端子210、211には、境界処理用のミラーデータが供給される。また、端子213には、演算イネーブル信号が印加され、加算器206の信号はこの演算イネーブル信号が印加された時点の信号にラッチされる。
【0089】
以上のようにして複数レベルのウエーブレット係数を求めるが、このとき、すべてのウエーブレット係数を一度バッファに格納しておく必要がある。また、特に1レベルのウエーブレット係数を求めるときに、ウエーブレット係数を対比するメモリ処理が忙しいために、入力イメージにウエイトが必要になる場合があると、入力データによってはウエイトをかけてしまうとデータが失われてしまう場合がある。このため、少なくとも1レベルのウエーブレット変換処理を行う場合は、特に動画処理の場合は、入力画像がくるスピード以内で処理を完了させる必要がある。このとき、図7に示すように、ひとつのメモリでウエーブレット係数と符号メモリを共有させる場合、ウエーブレット係数処理のアクセスの優先順位を高める必要がある。そして特に、1レベルのウエーブレット処理のメモリアクセスの優先順位を高める必要がある。
(DWT変換:デコード)
ウエーブレット変換のエンコード装置を説明するための図である図15に対応するウエーブレット変換のデコード装置の例を図20に示す。
【0090】
また、図21に、ウエーブレット変換のデコード垂直方向処理を説明するための図を示し、図22に、ウエーブレット変換のデコード水平方向処理を説明するための図を示す。図21及び図22は、ウエーブレット変換のエンコード垂直方向処理を説明するための図16と、ウエーブレット変換のエンコード水平方向処理を説明するための図17に対応する。また、図20〜図22は、図15〜図17のウエーブレット変換のエンコード装置の例に準じて説明できるので、これらの説明は省略する。
(パケットデータの格納)
また、JPEG2000における算術符号化の詳細な説明はここでは行わない。算術符号化は、ウエーブレット係数上のLL、HL、LH、HHのサブバンド単位で行うが、処理範囲が大きくなるために、JPEG2000ではコードブロックという単位で処理を行うようになっている。コードブロックサイズがたとえば64×64と決めると、サブバンドのサイズが64×64より小さいときは、サブバンドのサイズで処理を行い、サブバンドのサイズがコードブロックより大きい場合は、サブバンドをコードブロックの大きさで分割し、コードブロック単位で符号化を行う。イメージサイズが2048×2048で5レベルまでウエーブレット変換を行い、コードブロックサイズが64×64の場合の例を図23に示す。この場合、1レベルから5レベルまでのサブバンドのサイズは1024、512、128、64、32となり、1から3レベルまではサブバンドサイズがコードブロックより大きいので、これらのサブバンドはコードブロックサイズで分割され、4レベルと5レベルに関してはサブバンドの大きさがコードブロックサイズと同じか小さいのでサブバンドの分割は行われていない。算術符号化はこのようにコードブロックサイズとサブバンドのどちらか小さいほうのサイズで行われる。
【0091】
また、上述したように、算術符号化を行うことで、符号データが生成される。これを符号列生成することでJPEG2000の符号データが作成される。JPEG2000ではコードブロックごとの符号データをパケットと呼び、ひとつのパケットに対して、パケットヘッダを付加するようになっている。パケットの単位は、LLサブバンドで1パケットを構成し、それ以外はHL、LL、HHの3つのサブバンドをまとめて一つのパケットとして扱う。
【0092】
本実施の形態では、パケットデータの長さとスタートアドレスを示したポインタを使用してデータの管理を行う。パケットの単位はサブバンド、コードブロック、プリシンクト、レイヤで決まる。ひとつのパケットには1レイヤのLL又はHL、LH、HHのサブバンド成分が含まれる。ただし、プリシンクトサイズがサブバンドより小さい場合、パケットはプリシンクトのサイズで区切られる。パケットの単位は上記の方法で決まるが、各コードブロックの各レイヤの情報はパケットヘッダ生成に使用される。MQ符号化を行った後、コードブロック、レイヤ、コンポーネント、レベルの符号データに対して、識別子を付け、スタートアドレス、データ長、ゼロビットプレーン数、コーディングパス数をポインタに格納した後、設定されたスタートアドレスから符号データを格納する。パケットデータ用ポインタの例を図24に示す。図24の例では、アドレスが32ビット(4バイト)、データ長が16ビット(2バイト)、ゼロビットプレーン数とコーディングパス数がそれぞれ8ビット(1バイト)で構成されている。また、図24のパケットポインタとパケットデータのメモリマッピングの例を、図25に示す。
【0093】
各コードブロック、各レイヤのポインタがどこになるかはポインタアドレスで管理されている。各コードブロック、各レイヤのポインタはMQコーダの処理順に配列する。MQコーダの処理順(0〜258)の例を図23に示す。図23の例ではあるひとつのコンポーネントの、2048×2048のフレームデータに対して、5レベルのウエーブレット変換を行い、コードブロックサイズが64×64の場合を示している。各コードブロック、各レイヤにデータが無い場合にもポインタは配置する。
【0094】
ウエーブレット変換のエンコード装置は、1フレームの符号処理が完了すると、パケットヘッダの生成を開始する。各コードブロックの各レイヤのポインタ内にパケットヘッダを生成するのに必要な情報が含まれている。パケットヘッダを作るときは、パケットデータのインクルージョンを最初に決める。パケットヘッダのインクルージョンを求める場合、JPEG2000ではタグツリーという概念をとっている。タグツリーを使用すると、コードブロック内にデータが含まれないときにパケットヘッダに使用するビット数を省略できる場合がある。しかし、タグツリーを作る作業は煩雑で、パケット内のすべてのコードブロックの情報が揃わないとツリーが完成しない。
【0095】
次に、パケットヘッダのインクルージョンを決める方法を説明する。
(1)対象となるサブバンド内のコードブロックの配置を確認する。ひとつのパケットに含まれるコードブロックの数はプリシンクトサイズによって決定される。一般的には、図23のように、プリシンクトサイズは一番大きいサブバンドより大きく設定される。しかし、図26のように、サブバンドの大きさよりプリシンクトサイズが小さい場合、パケットはプリシンクト内のコードブロックで構成される。
(2)ひとつのサブバンド内に1つ以上のコードブロックが含まれる場合、図27に示すように、タグツリーを使用する。タグツリーは最大4個のコードブロック又はタグから構成されている。サブバンド内のデータが多くなるとタグツリーの段数も増えていく。
(3)ひとつのサブバンド、又はプリシンクトにおけるトップのタグにデータがない場合、そのサブバンド、又はプリシンクトにデータがひとつも含まれないことになる。パケットはLL成分以外はHL、LH、HH成分で構成されている。LL成分においてトップのタグにデータがない場合はパケットにデータがないことを示す(No packet)。その他のサブバンドの場合、HL、LH、HHすべての成分のトップのタグにデータがない場合にパケットにデータがないことになる。それ以外の場合は、パケットに有効なデータが含まれることを示す。
(4)パケットのインクルージョンは、最初にパケットインクルージョンを示すために1ビット使用する。このビットに1が立っているときはパケットにデータがあることを示す。このビットが0の時はパケット内にデータがない状態を示す。
(5)次に、パケット内のコードブロックのインクルージョンをラスタ順に調べていく。このとき、LL成分以外のパケットはHL、LH、HHのサブバンドの順番でコードブロックのインクルージョンを調べていく。
(6)コードブロックのインクルージョンを調べる方法は、最初のコードブロックに関連するタグをトップから順番に並べていく。図27を例にとって説明する。図27はHL成分のサブバンドを表している。最初に、パケット内のデータの有無を調べるビットの後に、コードブロック67のインクルージョンを調べる。コードブロック67のインクルージョンを調べる前に、コードブロック67はタグ1000に属しているので、タグ1000を先に調べる。しかし、タグ1000はタグ1100に属しているので、タグ1100を先に調べる。しかし、タグ1100はタグ1200に属しているのでタグ1200を先に調べる。このようにして、コードブロック67のインクルージョンを調べるときはコードブロック67に関連するタグをトップから順に調べることになる。このとき、トップのタグ1200が0の時、サブバンドHLのすべてのコードブロックにデータが無いことを示しているのでコードブロック67から130までデータがないことを示すことになる。この場合、パケットは次にサブバンドLHのコードブロックのインクルージョンを調べることになる。もし、タグ1200が1でサブバンドにデータがあることが示されている場合、次にタグ1100を調べる。タグ1100が0の場合、このタグに関連するコードブロックすべてにデータがないことを示すので、次にコードブロック71のインクルージョンを調べることになる。タグ1100が1でデータがあることを示していると、次にタグ1000を調べる。タグ1000が0でデータがないことを示していると、関連するコードブロックにデータがないことを示すので、次にコードブロック69のインクルージョンを調べることになる。タグ1000が1でデータがある場合、初めてコードブロック67のインクルージョンを調べることになる。このようにして、各コードブロックのインクルージョンを調べていく。
(7)コードブロック67のインクルージョンが1でパケットヘッダを作成した後、コードブロック68のインクルージョンを調べる。このとき、コードブロック68に関連するタグ1200、1100、1000は、すでに調べられているので、このときはコードブロック68のインクルージョンを直接調べる。次に、コードブロック69のインクルージョンを調べる場合、タグ1200、1100は、既に調べられているが関連するタグ1001がまだ調べられていないので、タグ1001を調べてからコードブロック69のインクルージョンを調べることになる。
(8)図28にタグツリーを使用したときのインクルージョン構成例を示す。最初タグ1200を見る。この場合はタグにデータがあるので、このサブバンドにデータがあることを示している。(図28(A))。次に、ひとつ下の階層のタグ1100、1101、1102、1103を調べる(図28(B))。タグ1100、1103にはデータがあるが1101、1102にはデータがないとする。この場合、タグにデータがない部分に関連するコードブロックにはすべてデータがないことがわかる。次に、データがある部分のタグの下を調べる。この場合、タグ1100の下には1000、1001、1002、1003があるがこのうち1000、1001、1002にデータがあるが1003にデータがないとする。また、タグ1103の下にも1012、1013、1014、1015のタグがあるがこのうち1013、1014にデータがあるが1012、1015のタグにはデータがないとする。次にデータがあるタグの下を調べる(図28(D)。この場合、タグの下にはコードブロックになるので、各コードブロックのインクルージョンを調べることになる。タグツリーを使用することで、データがないコードブロックひとつに対して、コードブロックの有無を示すインクルージョンビットを1ビット節約できる場合が発生する。
【0096】
以上のように、タグツリーを構成するためには、サブバンドのすべてのコードブロックのインクルージョンの情報が必要になる。しかし、ひとつのメモリ内に、パケットポインタという形でインクルージョンの情報を格納していると、タグツリーを作るときに、すべてのコードブロックのインクルージョン情報をメモリリードしなければならず、メモリアクセスに時間がかかる。また、タグツリーのインクルージョンはパケットヘッダの最初にくるので、インクルージョンが決まらなければそのあとのパケットヘッダ生成を開始できない問題がある。インクルージョンが決まると、その後のパケットデータは、コードブロックごとの情報をメモリリードしていけばよいので効率よくパケットヘッダ作成ができる。この問題を回避するために、算術符号化が完了した後、各コードブロックのデータと情報をメモリに書き込む際、コードブロックのインクルージョンに関する情報のみ、メモリではなく、内部レジスタに格納し、すべてのコードブロックの算術符号化が終了したときに、すべてのコードブロックのインクルージョンの情報を使用して簡単にタグツリーを構成できるようにすることで、パケット生成の時間を短縮できる。コードブロックのインクルージョン情報はコードブロックひとつについて1ビットですむのでハード量もほとんど増加しない。
【0097】
JPEG200の動画のエンコード時においては、入力されるイメージデータは一定の時間間隔で入力されるため、各入力画像を所定の期間内に処理しなければならないが、本発明の実施の形態によれば、迅速な処理が可能であり、リアルタイム処理が可能となる。
【0098】
【発明の効果】
上述の如く本発明によれば、画像の符号化処理及び/又は復号処理に関する処理におけるメモリに要するコストを削減し、更に、高速処理を行うことができる。
【0099】
【図面の簡単な説明】
【図1】JPEG2000の符号化の流れを説明するための図である。
【図2】画像データ1を128×128の大きさのタイルに分割し、レベル2の2次元離散ウエーブレット変換を行った場合の例を説明するための図である。
【図3】各サブバンド毎にエントロピー符号化した場合におけるサブバンド2LLとその算術符号化器の処理を説明するための図である。
【図4】3N+1個のパス毎に算術符号器で生成された符号をレイヤ0からレイヤLまでのL+1個のレイヤにまとめている様子を示す図である。
【図5】ビットストリームを説明するための図である。
【図6】3色(コンポーネント0、1、2)より成る画像をJPEG2000で符号化した場合のビットストリームの図である。
【図7】JPEG2000の符号化処理回路を説明するための図である。
【図8】 JPEG2000の復号処理回路を説明するための図である。
【図9】垂直成分と水平成分に対してそれぞれハイパスフィルタとローパスフィルタをかけて1/2のデータにした結果を説明するための図である。
【図10】2レベルのウエーブレット係数を説明するための図である。
【図11】3レベルのウエーブレット係数を説明するための図である。
【図12】4レベルのウエーブレット係数を説明するための図である。
【図13】5レベルのウエーブレット係数を説明するための図である。
【図14】最終的なウエーブレット変換のエンコードの結果を示す図である。
【図15】ウエーブレット変換のエンコード装置を説明するための図である。
【図16】ウエーブレット変換のエンコード垂直方向処理を説明するための図である。
【図17】ウエーブレット変換のエンコード水平方向処理を説明するための図である。
【図18】 ハイパス処理回路の例を説明するための図である。
【図19】ローパス処理回路の例を説明するための図である。
【図20】ウエーブレット変換のデコード装置の例を説明するための図である。
【図21】ウエーブレット変換のデコード垂直方向処理を説明するための図である。
【図22】ウエーブレット変換のデコード水平方向処理を説明するための図である。
【図23】サブバンドの大きさよりプリシンクトサイズが大きい場合を説明するための図である。
【図24】パケットデータ用ポインタの例を説明するための図である。
【図25】パケットポインタとパケットデータのメモリマッピングの例を説明するための図である。
【図26】サブバンドの大きさよりプリシンクトサイズが小さい場合を説明するための図である。
【図27】タグツリーの構成例を説明するための図である。
【図28】タグツリーのインクルージョンの検出例を説明するための図である。
【符号の説明】
1 画像データ
10 DWT部
11 量子化器
12 係数モデリング部
13 算術符号器
14 符号形成部
15 符号データ
20 1タイルの画像データ
37 パケットヘッダー
38 エントロピー符号
40 符号化処理回路
41、61 DCシフト・RCT変換回路
42、62 離散ウエーブレット変換回路(DWT回路)
43、63 算術符号化回路(MQ回路)
44 パケットヘッダ生成回路
45 符号列生成回路
46 メモリアクセスアービタ
47 SDRAMコントローラ
55 SDRAM
64 符号列解析回路
83〜84 ラインバッファ
76〜78 ハイパス処理回路
79〜81 ローパス処理回路
85〜90、108、208 クロック端子を有するフリップフロップ回路
71 入力端子
72〜75 出力端子72〜75
100〜104、200〜204 マルチプレクサ
105、106、205、206、224 加算器
107 反転回路

Claims (4)

  1. ウエーブレット変換回路と、算術符号化回路と、パケットの生成又は解析を行うパケット生成又は解析回路と、前記ウエーブレット変換回路、前記算術符号化回路、前記パケット生成又は解析回路が書込み及び/又は読出しする情報を格納するメモリと、該メモリの制御を行うメモリアクセスコントローラと、前記ウエーブレット変換回路、前記算術符号化回路、前記パケット生成又は解析回路からの前記メモリコントローラへのメモリアクセス要求を調停するメモリアクセスアービタ回路とを有し、
    前記メモリアクセスアービタ回路は、前記ウエーブレット変換回路のアクセスを優先させ、前記ウエーブレット変換回路からのアクセスがないとき、前記算術符号化回路、前記パケット生成又は解析回路からのアクセスを受け付け、
    コード化の単位であるコードブロック毎に、タグツリーを使用して、コード化を行う場合、
    コードブロックにおけるデータの有無を示すインクルージョンデータを、前記メモリとは別に、内部レジスタに格納させ、前記算術符号化回路により、すべてのコードブロックの算術符号化が終了したときに、前記内部レジスタに格納したインクルージョンの情報を使用してタグツリーを構成する
    ことを特徴とする画像処理装置。
  2. 前記ウエーブレット変換回路のアクセスのうち、レベル1の処理のアクセスを優先させてメモリアクセスさせることを特徴とする請求項記載の画像処理装置。
  3. コード化の単位であるコードブロック毎にコード化を行う場合、
    前記メモリ上に、前記コードブロック毎にポインタ領域を設け、
    該ポインタ領域には、当該コードブロックのパケットデータが格納されているメモリのスタートアドレスと、当該コードブロックのデータ長と、当該コードブロックのゼロビットプレーン数と、コーディングパス数とを、前記コードブロック毎に格納し、
    当該コードブロックのパケットデータは、前記メモリ上の前記ポインタに格納されているスタートアドレスから、格納されていることを特徴とする請求項1又は2記載の画像処理装置。
  4. ウエーブレット変換回路と、算術符号化回路と、パケット生成又は解析回路と、メモリと、該メモリの制御を行うメモリアクセスコントローラと、前記ウエーブレット変換回路、前記算術符号化回路、前記パケット生成又は解析回路からの前記メモリコントローラへのメモリアクセス要求を調停するメモリアクセスアービタ回路とを有する画像処理装置におけるコード化の単位であるコードブロック毎に、タグツリーを使用して、コード化を行う画像処理方法において、
    前記メモリアクセスアービタ回路は、前記ウエーブレット変換回路のアクセスを優先させ、前記ウエーブレット変換回路からのアクセスがないとき、前記算術符号化回路、前記パケット生成又は解析回路からのアクセスを受け付け
    コードブロックにおけるデータの有無を示すインクルージョンデータを、前記メモリとは別に、内部レジスタに格納させ、前記算術符号化回路により、すべてのコードブロックの算術符号化が終了したときに、前記内部レジスタに格納したインクルージョンの情報を使用してタグツリーを構成する
    ことを特徴とする画像処理方法。
JP2002068963A 2002-03-13 2002-03-13 画像処理装置及び画像処理方法 Expired - Fee Related JP4115142B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002068963A JP4115142B2 (ja) 2002-03-13 2002-03-13 画像処理装置及び画像処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002068963A JP4115142B2 (ja) 2002-03-13 2002-03-13 画像処理装置及び画像処理方法

Publications (2)

Publication Number Publication Date
JP2003274405A JP2003274405A (ja) 2003-09-26
JP4115142B2 true JP4115142B2 (ja) 2008-07-09

Family

ID=29199947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002068963A Expired - Fee Related JP4115142B2 (ja) 2002-03-13 2002-03-13 画像処理装置及び画像処理方法

Country Status (1)

Country Link
JP (1) JP4115142B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4105577B2 (ja) * 2003-03-28 2008-06-25 株式会社リコー 画像処理装置
JP4774382B2 (ja) * 2007-05-08 2011-09-14 株式会社リコー 画像処理装置、画像処理回路、及び、画像処理方法

Also Published As

Publication number Publication date
JP2003274405A (ja) 2003-09-26

Similar Documents

Publication Publication Date Title
JP4688165B2 (ja) 画像処理装置及び画像処理方法
JP4356033B2 (ja) 画像データ処理装置および方法
US20070189622A1 (en) Image data generation with reduced amount of processing
US20040013312A1 (en) Moving image coding apparatus, moving image decoding apparatus, and methods therefor
JP2010515317A (ja) 変換係数ブロックを符号化するための装置と方法
US8594427B2 (en) Method and apparatus for reducing memory capacity in encoding image data
US20110091123A1 (en) Coding apparatus and coding method
US8611686B2 (en) Coding apparatus and method
JP4356032B2 (ja) 情報処理装置および方法
CN102833546A (zh) 基于小波子带交织最优量化的高速图像压缩方法及装置
JP4449400B2 (ja) 画像符号化装置及び方法、並びにプログラム及び記録媒体
Mei et al. VLSI design of a high-speed and area-efficient JPEG2000 encoder
JP4061104B2 (ja) コンテキストモデルによるラン・スキップカウントに基づくメモリアクセス及びスキッピング
Huang et al. Low memory and low complexity VLSI implementation of JPEG2000 codec
JP4917724B2 (ja) 復号方法、復号装置及び画像処理装置
JP4115142B2 (ja) 画像処理装置及び画像処理方法
JP4111761B2 (ja) 画像処理装置
US8249375B2 (en) Information processing apparatus and method
US20080285870A1 (en) Information processing device and method
Wu et al. An efficient architecture for JPEG2000 coprocessor
KR20110071204A (ko) 웨이블릿 변환 기반의 jpeg2000에서의 병렬 처리 방법
Wu et al. Analysis and architecture design for high performance JPEG2000 coprocessor
CN111316645A (zh) 编码器、编码系统和编码方法
JP4114144B2 (ja) 画像符号化装置、画像符号化プログラム、及び画像復号化プログラム
CN111567042B (zh) 小波逆变换电路和方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20061121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070227

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070501

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: 20080318

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080415

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 3

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: 20110425

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130425

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140425

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees