JP4780172B2 - 情報処理装置および方法 - Google Patents

情報処理装置および方法 Download PDF

Info

Publication number
JP4780172B2
JP4780172B2 JP2008263470A JP2008263470A JP4780172B2 JP 4780172 B2 JP4780172 B2 JP 4780172B2 JP 2008263470 A JP2008263470 A JP 2008263470A JP 2008263470 A JP2008263470 A JP 2008263470A JP 4780172 B2 JP4780172 B2 JP 4780172B2
Authority
JP
Japan
Prior art keywords
data
encoding
bit plane
unit
bit
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
JP2008263470A
Other languages
English (en)
Other versions
JP2010093669A (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.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2008263470A priority Critical patent/JP4780172B2/ja
Priority to US12/555,313 priority patent/US8306339B2/en
Priority to CN2009102046973A priority patent/CN101729896B/zh
Publication of JP2010093669A publication Critical patent/JP2010093669A/ja
Application granted granted Critical
Publication of JP4780172B2 publication Critical patent/JP4780172B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/184Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/63Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using sub-band based transform, e.g. wavelets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding

Description

本発明は、情報処理装置および方法に関し、特に、データの符号化または復号の負荷を低減させることができるようにした情報処理装置および方法、並びにプログラムに関する。
従来のアーカイブシステムや画像のデータベースでは、マスタ画像と呼ばれる非圧縮の画像を記憶・保持しておき、これを必要に応じて圧縮し、圧縮結果のファイルをネットワーク経由で配信したり記録メディアに保存したりする等のオペレーションが行われる。
映画制作では、まず35mmまたは60mmフィルムで撮影して、フィルムスキャンコンバータという機器を用いてデジタルデータにコンバートする。このデジタル化された映画ソースがマスタ画像になる。
医用の場合でも、レントゲン写真の画像は直接非圧縮のデータになる場合もあるが、フィルムの場合は上記と同様にフィルムスキャンされたデジタルデータがマスタ画像になる。
また、最近の一眼レフデジカメでは、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)のイメージセンサから取得したRAWデータまたはRGBデータを、非圧縮のままメモリカードに保存することができるものが多い。
以上の様に、非圧縮のマスタ画像は画像としてのデータに欠損がないため重要であるが、難点はデータサイズが巨大になることである。従って、マスタ画像をネットワーク経由で転送する場合や、メモリカードに多くの画像を記録する場合には、何らかの圧縮(エンコード)を余議なくされる。
また、このようなマスタ画像を記録するためのハードディスクの容量は有限であることから、マスタ画像を可逆圧縮して、この可逆圧縮ファイルをハードディスクに記憶させる手段も採られている。その際、マスタ画像はテープなどのより安価な記録媒体にセーブしておくのが便利である。
可逆圧縮(ロスレス圧縮とも言う)の技術としては、ファイル圧縮で汎用のZip、LZ77圧縮などが有名であるが、画像圧縮には不適(圧縮率が悪い)という問題点がある。国際規格のJPEG(Joint Photographic Experts Group)にも、可逆圧縮がJPEG-LSとして規格化されているが、実用性という点では全く普及していない。
可逆圧縮の規格として、さらに、JPEG2000がある(例えば、特許文献1参照)。このJPEG2000は、可逆と非可逆の2つの圧縮オプションが用意されており、さらに、スケラビリティ(解像度、画質、コンポーネントなど)などの他の優れた利点を兼ね備えている。このJPEG2000は、非可逆用の圧縮として、例えばデジタルシネマに利用される。DCI規格(Digital Cinema Initiatives)によれば、JPEG2000 Part-1を圧縮・伸長技術として使うことが決められている。
また、JPEG2000は、可逆用の圧縮としても利用される。例えば、非圧縮のマスタ画像を一時保存する際の圧縮に利用される。また、JPEG2000の特徴であるスケラビリティを利用して、まず可逆圧縮を行って圧縮ファイルを生成しておき、必要に応じてDCI規格などの非可逆ファイルに変換するような場合にも利用される。
特許文献1には、固定小数点型ウェーブレット変換器と、整数型ウェーブレット変換器の両方を備え、可逆変換および非可逆変換の両方を行うことができ、画質や圧縮率の選択の自由度を高め得るような画像符号化装置が記載されている。
特許3906630号
しかしながら、上述したようなJPEG2000方式の場合、可逆圧縮の処理量が大きすぎ、実用的でない恐れがあった。JPEG2000のエントロピ符号化では、ビットモデリングと算術符号化を組み合わせたEBCOT(Embedded Block Coding with Optimized Truncation)という技術が採用されている。EBCOTはJPEG2000の高い圧縮性能の基盤になっている反面、非常に計算負荷が大きいという難点も有する。JPEG2000の可逆圧縮の場合、EBCOTが全ビットプレーンに対して実行されるため、更に計算負荷が増大する。したがって、JPEG2000可逆圧縮方式のエンコーダを実現する場合、この負荷の大きさによりハードウェアコストが許容範囲を超えるほど増大してしまい、実現が困難になる恐れがあった。
また、処理負荷の増大から、符号化の処理時間が許容範囲を超えるほど増大する恐れがあった。例えば、DCI規格のマスタ画像は高解像度画像(例えば4K×2K)であり、JPEG2000可逆圧縮方式により、このようなマスタ画像を1ピクチャ分可逆圧縮すると、一般的なエンコーダではその処理に数秒を要する。このペースでは、例えば約2時間程度のコンテンツの符号化を行うのに、全体で数日の期間を要する。このように処理時間が増大すると、例えば、ハードウェア占有や電気代等の処理コストだけでなく、作業員の人件費も増大する恐れがある。
従って、圧縮率を犠牲にしないで、JPEG2000可逆圧縮の計算負荷を軽減する手段の確立が、非常に望まれてきた。
本発明はこのような問題を解決するためのものであり、データの符号化または復号の負荷を低減させることができるようにするものである。
本発明の第1の側面は、画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開するビットプレーン展開手段と、前記ビットプレーン展開手段により展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化する符号化手段と、前記符号化手段により符号化されて生成された前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率以下の場合、前記符号化手段により符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択する選択手段と、前記所定順において、前記選択手段により前記非圧縮データが選択されたビットプレーンより後に位置するビットプレーンを対象として、前記符号化手段を制御して符号化処理を中止させて前記非圧縮データを前記画像データの符号化結果として選択する選択制御手段とを備える情報処理装置である。
前記符号化手段は、JPEG(Joint Photographic Experts Group)2000のEBCOT(Embedded Block Coding with Optimized Truncation)により前記符号化を行うことができる。
前記所定順は、前記ビット深度の上位側から下位側に向かう順であることができる。
前記選択手段は、前記画像データの符号化結果として前記圧縮データを選択するビットプレーン数が予め定められた最大数に達した場合、前記圧縮率が前記目標圧縮率より大きいか否かに関わらず、前記非圧縮データを前記画像データの符号化結果として選択することができる。
前記選択手段は、前記ビットプレーン毎の圧縮データの圧縮率を算出する圧縮率算出手段と、前記圧縮率算出手段により算出された前記圧縮率を前記目標とする圧縮率と比較し、前記圧縮率が前記目標圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記圧縮率が前記目標圧縮率以下の場合、前記非圧縮データを前記画像データの符号化結果として選択する比較選択手段とを備えることができる。
前記画像データをサブバンド毎の係数データに変換するウェーブレット変換手段と、前記ビットプレーン毎の圧縮データの圧縮率と前記目標圧縮率との大小関係を判定する判定手段とをさらに備え、前記ビットプレーン展開手段は、前記ウェーブレット変換手段により変換されて得られた前記係数データを所定数ごとにビットプレーン展開し、前記判定手段は、前記サブバンド毎に独立して設定される前記目標圧縮率を用いて、前記圧縮率の判定を行うことができる。
前記目標圧縮率を設定する設定手段をさらに備え、前記手段は、前記設定手段により設定された前記目標圧縮率を用いて、前記圧縮率の判定を行うことができる。
前記選択手段が前記画像データの符号化結果の選択を前記圧縮データから前記非圧縮データに切り替えた位置を示す情報を、前記画像データの符号化結果に付加する付加手段をさらに備えることができる。
本発明の第1の側面は、また、情報処理装置が、画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開し、前記ビットプレーンに展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化し、符号化されて生成された前記ビットプレーン毎の圧縮データの圧縮率が、目標とする圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率以下の場合、符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択し、前記所定順において、非圧縮データが選択されたビットプレーンより後に位置するビットプレーンを対象として、符号化処理を中止させて前記非圧縮データを前記画像データの符号化結果として選択する情報処理方法である。
本発明の第2の側面は、画像データをサブバンド毎の係数データに変換するウェーブレット変換手段と、前記ウェーブレット変換手段により変換されて得られた前記係数データを所定数毎に互いに同一の位のビットの集合であるビットプレーンに展開するビットプレーン展開手段と、前記ビットプレーン展開手段により展開された前記係数データを、所定順に、前記ビットプレーン毎に符号化する符号化手段と、所定数の前記ビットプレーンについて、前記符号化手段により符号化されて生成された前記ビットプレーン毎の圧縮データを、前記係数データの符号化結果として選択する選択手段と、前記所定順において、前記選択手段により前記圧縮データが選択された前記所定数のビットプレーンより後に位置するビットプレーンを対象として、前記符号化手段を制御して符号化処理を中止させて、前記符号化手段により符号化される前の前記ビットプレーン毎の前記係数データである非圧縮データを前記係数データの符号化結果として選択する選択制御手段とを備える情報処理装置である。
前記所定順は、前記ビット深度の上位側から下位側に向かう順であることができる。
前記選択手段は、前記サブバンド毎に独立して設定される前記所定数の前記ビットプレーンについて、前記圧縮データを、前記係数データの符号化結果として選択することができる。
前記所定数を設定する設定手段をさらに備え、前記選択手段は、前記設定手段により設定された前記所定数の前記ビットプレーンについて、前記圧縮データを、前記係数データの符号化結果として選択することができる。
前記選択手段が前記画像データの符号化結果の選択を前記圧縮データから前記非圧縮データに切り替えた位置を示す情報を、前記係数データの符号化結果に付加する付加手段をさらに備えることができる。
本発明の第2の側面は、また、情報処理装置が、画像データをサブバンド毎の係数データに変換し、変換されて得られた前記係数データを所定数毎に互いに同一の位のビットの集合であるビットプレーンに展開し、前記ビットプレーンに展開された前記係数データを、所定順に、前記ビットプレーン毎に符号化し、所定数の前記ビットプレーンについて、符号化されて生成された前記ビットプレーン毎の圧縮データを、前記係数データの符号化結果として選択し、前記所定順において、前記圧縮データが選択された前記所定数のビットプレーンより後に位置するビットプレーンを対象として、符号化処理を中止させて、符号化される前の前記ビットプレーン毎の前記係数データである非圧縮データを前記係数データの符号化結果として選択する情報処理方法である。
本発明の第1の側面においては、画像データが、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開され、ビットプレーンに展開された画像データが、所定順に、ビットプレーン毎に符号化され、符号化されて生成されたビットプレーン毎の圧縮データの圧縮率が目標圧縮率より大きい場合、圧縮データが画像データの符号化結果として選択され、ビットプレーン毎の圧縮データの圧縮率が目標圧縮率以下の場合、符号化される前のビットプレーン毎の画像データである非圧縮データが画像データの符号化結果として選択され、所定順において、非圧縮データが選択されたビットプレーンより後に位置するビットプレーンを対象として、符号化処理が中止されて非圧縮データが画像データの符号化結果として選択される。
本発明の第2の側面においては、画像データがサブバンド毎の係数データに変換され、変換されて得られた係数データが所定数毎に互いに同一の位のビットの集合であるビットプレーンに展開され、ビットプレーンに展開された係数データが、所定順に、ビットプレーン毎に符号化され、所定数のビットプレーンについて、符号化されて生成されたビットプレーン毎の圧縮データが、画像データの符号化結果として選択され、所定順において、圧縮データが選択された所定数のビットプレーンより後に位置するビットプレーンを対象として、符号化処理が中止されて、符号化される前のビットプレーン毎の係数データである非圧縮データが係数データの符号化結果として選択される。
本発明によれば、データの符号化または復号を行うことができる。特に、データ符号化または復号の処理量を低減させ、処理時間の低減を可能とすることができる。
以下、発明を実施するための最良の形態(以下実施の形態とする)について説明する。なお、説明は以下の順序で行う。

1.第1の実施の形態(符号化処理:圧縮率に基づいて圧縮・非圧縮選択を行う例)
2.第2の実施の形態(符号化処理:固定数に基づいて圧縮・非圧縮選択を行う例)
3.第3の実施の形態(符号化処理:圧縮率および固定数に基づいて圧縮・非圧縮選択を行う例)
4.第4の実施の形態(符号化処理:圧縮・非圧縮選択の基準を制御する例)
5.第5の実施の形態(復号処理:圧縮・非圧縮選択されたコードストリームの復号を行う例)
<1.第1の実施の形態>
[エンコーダの構成例]
図1は、本発明を適用したエンコーダの構成例を示すブロック図である。必要に応じて図2乃至図6を参照して説明する。図1に示されるエンコーダ100は、画像データをJPEG(Joint Photographic Experts Group)2000の方式で符号化して圧縮する符号化装置である。エンコーダ100は、画像データを可逆圧縮する。もちろん、非可逆圧縮するようにしてもよい。
エンコーダ100は、画像データをウェーブレット変換し、得られた係数を、コードブロック毎にビットプレーンに展開し、ビットプレーン毎にエントロピ符号化する。
JPEG2000のビットプレーンは、下位ビット側のものほどランダムノイズが多くなる傾向があり、エントロピ符号化による圧縮の圧縮率(メリット)が低下する。これに対して、エントロピ符号化の処理量(デメリット)は、どのビットプレーンを処理対象とする場合も大きな変化はない。つまり、処理対象のビットプレーンが下位ビット側になるほど、エントロピ符号化により得られるメリットが、デメリットに対して小さくなる。
そこで、エンコーダ100は、上位ビット(MSB)側のビットプレーンから順にエントロピ符号化していき、途中のビットプレーンにおいてそのエントロピ符号化を終了する。つまり、エンコーダ100は、上位ビット側の一部のビットプレーンのみエントロピ符号化し、残りの下位側のビットプレーンは符号化せずに出力する。
換言すれば、エンコーダ100は、得られる効果が大きい、上位ビット側のビットプレーンに対してのみエントロピ符号化を行い、得られる効果が小さい、下位ビット側のビットプレーンに対しては符号化処理を省略する。この符号化処理の省略により、エンコーダ100は、処理量を低減させることができる。しかも、圧縮率が低くなる下位ビット側のビットプレーンの符号化処理のみを省略するので、圧縮効率に対する影響を小さくすることができる。
図1に示されるように、エンコーダ100は、DCレベルシフト部101、ウェーブレット変換部102、コードブロック化部103、ビットプレーン展開部104、符号化部105、選択部106、およびパケット生成部107を有する。
DCレベルシフト部101は、後段のウェーブレット変換を効率的に行うために画像データのDC成分のレベルシフトを行う。例えば、RGB信号が正の値(符号無しの整数)を持っている。そこで、DCレベルシフト部101は、そのことを利用し、原信号のダイナミックレンジを半分にするレベルシフトを行うことで、圧縮効率の向上を図る。従ってYCbCr信号のCbやCr(色差信号)の様に符号(正負両方あり)の整数値を持つ信号を原信号とする場合、このレベルシフトは行われない。
ウェーブレット変換部102は、通常、低域フィルタと高域フィルタから構成されるフィルタバンクによって実現される。また、デジタルフィルタは通常複数タップ長のインパルス応答(フィルタ係数)を有するので、ウェーブレット変換部102は、フィルタリングが行えるだけの入力画像を予めバッファリングするバッファを有する。
ウェーブレット変換部102は、DCレベルシフト部101より出力された画像データを、フィルタリングに最低限必要なデータ量以上取得する。ウェーブレット変換部102は、そのDCレベルシフト後の画像データに対して、5×3ウェーブレット変換フィルタを用いてフィルタリングを行い、ウェーブレット係数を生成する。なお、ウェーブレット変換部102は、画像の垂直方向および水平方向のそれぞれに対して、画像データを低域成分と高域成分に分離するフィルタリングを行う。
そして、ウェーブレット変換部102は、このようなフィルタリング処理を、図2に示されるように、垂直方向および水平方向の両方において低域成分として分離されたサブバンドに対して再帰的に所定回数繰り返す。これは、画像のエネルギーの多くが低域成分に集中しているからである。
図2は、分割レベル数3のウェーブレット変換処理により生成されるサブバンドの構成例を示す図である。この場合、ウェーブレット変換部102は、まず、画像全体をフィルタリングし、サブバンド3LL(図示せず)、3HL、3LH、および3HHを生成する。次に、ウェーブレット変換部102は、生成されたサブバンド3LLに対して再度フィルタリングを行い、2LL(図示せず)、2HL、2LH、および2HHを生成する。さらに、ウェーブレット変換部102は、生成されたサブバンド2LLに対して再度フィルタリングを行い、0LL、1HL、1LH、および1HHを生成する。
ウェーブレット変換部102は、フィルタリングにより得られたウェーブレット係数を、サブバンド毎に、コードブロック化部103に供給する。なお、JPEG2000の規格では、可逆圧縮の場合、量子化処理は省略される。換言すれば、エンコーダ100が非可逆圧縮を行う場合、量子化部を設け、ウェーブレット変換部102において得られたウェーブレット係数が、その量子化部において量子化され、得られた量子化係数が、コードブロック化部103に供給されるようにすればよい。
コードブロック化部103は、サブバンド毎のウェーブレット係数を、予め定められた所定の大きさの、エントロピ符号化の処理単位であるコードブロックに分割する。図3は各サブバンド中のコードブロックの位置関係を示したものである。例えば64×64画素程度のサイズのコードブロックが、分割後のすべてのサブバンド中に生成される。図2の例において、最も分割レベルが小さい3HHのサブバンドの大きさが例えば640×320画素であるとすると、64×64画素のコードブロックは合計50個存在することになる。後段の各処理部は、このコードブロック毎に処理を行う。もちろん、このコードブロックのサイズ(画素数)は任意である。
コードブロック化部103は、各コードブロックをビットプレーン展開部104に供給する。ビットプレーン展開部104は、そのコードブロック毎の係数データを、ビットの位毎のビットプレーンに展開し、それを符号化部105に供給する。
ビットプレーンは、所定の数のウェーブレット係数よりなる係数群(例えばコードブロック)を、1ビット毎、つまり位毎に分割(スライス)したものである。つまり、ビットプレーンは、それぞれが複数ビットのビット深度を持つ複数のデータの、互いに同一の位のビット(係数ビット)の集合である。
図4にその具体例を示す。図4の左図は縦4個、横4個の計16個の係数を示している。この16個の係数のうち、絶対値が最大のものは13で、2進数で1101と表現される。ビットプレーン展開部104は、このような係数群を、絶対値を示す4枚のビットプレーン(絶対値のビットプレーン)と、符号を示す1枚のビットプレーン(符号のビットプレーン)に展開する。つまり、図4中左の係数群は、図4中右に示されるように、4枚の絶対値のビットプレーンと1枚の符号のビットプレーンに展開される。ここで、絶対値のビットプレーンの要素はすべて0か1の値をとる。また、符号を示すビットプレーンの要素は、係数の値が正であることを示す値、係数の値が0であることを示す値、または係数の値がマイナスを示す値のいずれかをとる。
なお、このようにビットプレーンとされる係数群における係数の数は任意である。以下においては、処理単位を統一することで各部における処理を容易にするために、ビットプレーン展開部104が、係数をコードブロック毎にビットプレーン展開するものとして説明する。
ビットプレーン展開部104は、このように展開したビットプレーンを、係数の最上位ビット(MSB:Most Significant Bit)から最下位ビット(LSB:Less Significant Bit)に向かう順に、符号化部105に供給する。つまり、ビットプレーン展開部104は、ビット深度の上位側から下位側に向かう順に、展開したビットプレーンを符号化部105に供給する。
符号化部105は、入力される係数データ(ビットプレーン)に対して、JPEG2000規格で定められたEBCOT(Embedded Coding with Optimized Truncation)と呼ばれるエントロピ符号化を行う。EBCOTは、所定の大きさのブロック毎にそのブロック内の係数の統計量を測定しながら符号化を行う手法である。
図1に示されるように、符号化部105は、ビットモデリング部111および算術符号化部112を有する。ビットモデリング部111は、JPEG2000規格で定められた手順に従って、係数データに対してビットモデリングを行い、算術符号化部112にコンテキストを送出する。算術符号化部112は、係数のビットプレーンを算術符号化する。
コードブロックの縦横のサイズは4から256まで2のべき乗で、通常使用される大きさは、32×32、64×64、128×32等がある。係数値がnビットの符号付き2進数で表されていて、bit0からbit(n−2)がLSBからMSBまでのそれぞれのビットを表わすとする。残りの1ビットは符号を示す。符号ブロックの符号化は、MSB側のビットプレーンから順番に、次の3種類の符号化パスによって行われる。
(1)Significant Propagation Pass
あるビットプレーンを符号化するSignificance Propagation Passでは、8近傍の少なくとも1つの係数が有意(Significant)であるようなnon-significant係数のビットプレーンの値が算術符号化される。その符号化したビットプレーンの値が1である場合は、符号が+であるか、−であるかが続けて算術符号化される。
ここでsignificanceという言葉について説明する。Significanceとは、各係数に対して符号化されたときにsignificantを表わす1に変化し、以降常に1であり続けるものである。従って、significanceとは、有効桁の情報をすでに符号化したか否かを示すフラグとも言える。あるビットプレーンでsignificantになれば、以降のビットプレーンではsignificantになったままである。
(2)Magnitude Refinement Pass
ビットプレーンを符号化するMagnitude Refinement Passでは、ビットプレーンを符号化するSignificance Propagation Passで符号化されていないsignificantな係数のビットプレーンの値が算術符号化される。
(3)Cleanup Pass
ビットプレーンを符号化するCleanup Passでは、ビットプレーンを符号化するSignificance Pass で符号化されていないnon-sigunificanceな係数のビットプレーンの値が算術符号化される。また、その符号化されたビットプレーンの値が1である場合、符号が+であるか−であるかが続けて算術符号化される。
なお、以上の3つのPassでの算術符号化では、ケースに応じて(1)ZC(Zero Coding)、(2)RLC(Run-Length Coding)、(3)SC(Sign Coding)、または(4)MR(Magnitude Refinement)等の手法が使い分けられる。なお、ここではMQ符号化と呼ばれる算術符号が用いられるものとする。MQ符号化は、JBIG2で規定された学習型の2値算術符号である。JPEG2000では、すべての符号化パスで合計19種類のコンテキストがある。
これらの3つの符号化パスの用いられる順序の例は図4に示される。最初に最上位ビット(MSB)のビットプレーンであるビットプレーン(n−2){Bit-Plane(n−2)}がCleanup Passによって符号化される。続いて1枚ずつ順次LSB側に向かって各ビットプレーンが、上述した3つの符号化パスがSignificant Propagation Pass,Magnitude Refinement Pass,Cleanup Passの順序で用いられて符号化される。
ただし、実際には、符号化部105は、MSB側から何番目のビットプレーンで初めて1が出てくるかをヘッダに書き、MSBから連続する、全ての係数が0のビットプレーン(ゼロビットプレーンと称する)は符号化しない。
次に、係数の走査(スキャニング)について図6を用いて説明する。コードブロックは高さ4個の係数毎にストライプ(stripe)に分けられるストライプの幅はコードブロックの幅に等しい。スキャン順とは、1個のコードブロック内の、全ての係数をたどる順番で、コードブロック中では上のストライプから下のストライプへの順序、ストライプの中では、左の列から右の列へ向かっての順序、列の中では上から下へという順序である。各符号化パスにおいてコードブロック中の全ての係数が、このスキャン順で処理される。
符号化部105は、選択部106により符号化を行わないように制御されるまで、各ビットプレーンに対してエントロピ符号化を行う。符号化部105の算術符号化部112は、生成したコードストリーム(符号化後のビットプレーン)を、選択部106に供給する。選択部106には、また、符号化部105において符号化される前の係数データ(符号化前のビットプレーン)が供給される。
選択部106は、所定の条件に従って、供給されたこれらのデータ(符号化前のデータおよび符号化後のデータ)のうち、いずれか一方を、画像データの符号化結果として選択する。選択部106には、符号化前および符号化後のビットプレーンが、MSB側からLSB側に向かう順に供給される。つまり、選択部106は、MSB側からLSB側に向かう順に、各ビットプレーンについて選択を行う。
初期状態において、選択部106は、符号化後のビットプレーンを選択する。選択部106は、その選択の度に、所定の条件が満たされるか否かを判定する。所定の条件が満たされると、選択部106は、符号化前のビットプレーンを選択する。選択部106は、それより下位については、符号化前のビットプレーンを選択する。
すなわち、選択部106は、所定の条件が満たされる位より上位については符号化後のビットプレーン(圧縮データ)を選択し、所定の条件が満たされる位、およびそれより下位については符号化前のビットプレーン(非圧縮データ)を符号化結果として選択する。
上述したように、JPEG2000のビットプレーンの特徴から、MSBに近いビットプレーンほど画質に与える影響が大きく圧縮効率が高い。これに対して、LSBに近いビットプレーンほどランダムノイズが多くなる傾向があり、その圧縮率は自ずと悪くなる。そこで、エンコーダ100は、圧縮効率が低い下位のビットプレーンにおいては、符号化処理を省略し、その代わりに符号化前のビットプレーンを出力する。そのような動作を実現するために、選択部106は、出力するデータの選択を行う。
なお、この処理順は任意であり、必ずしも、MSB側からLSB側に向かう順でなくてもよいが、MSB側からLSB側に向かう順にすることにより、上述したような圧縮効率の傾向を利用することができる。
なお、選択部106は、単にデータの選択を行うだけでなく、所定の条件が満たされる場合、図1において点線矢印で示されるように符号化部105に制御情報を供給し、符号化処理を中止させる。つまり、所定の条件が満たされる位より下位においては符号化部105によるエントロピ符号化処理が省略される。この符号化処理の省略により、符号化処理の負荷が低減される。
もちろん、選択部106が、非圧縮データ選択後に下位のビットプレーンに対して、再度、上述した判定を行うようにしてもよいが、その分、判定処理だけでなく、符号化処理も必要になり、処理量が増大する。そもそも、上述したようにJPEG2000のビットプレーンの特徴から、一般的には、下位のビットプレーンにおいて、圧縮率の劇的な向上は期待することができない。したがって、特別な事情がない限り、所定の条件が満たされる位より下位においては非圧縮データがせんたくされるようにし、符号化部105によるエントロピ符号化処理が省略されるようにするのが望ましい。
選択部106は、選択したデータをパケット生成部107に供給する。パケット生成部107は、供給されたデータ(コードストリーム)について、ヘッダ情報を生成し、そのヘッダ情報を用いてデータのパケット化を行う。
[選択部の構成例]
図7は、図1の選択部106の構成例を示すブロック図である。図7の例の場合、選択部106は、符号化部105によるエントロピ符号化の圧縮率をビットプレーン毎に判断する。選択部106は、その圧縮率が目標圧縮率より高い場合、符号化部105により符号化されて得られた圧縮データを、画像データの符号化結果として選択する。また、選択部106は、圧縮率が目標圧縮率より低い場合、符号化される前の非圧縮データを、画像データの符号化結果として選択する。そして、選択部106は、それより下位のビットプレーンに対して、符号化部105を制御して符号化処理を中止させ、非圧縮のビットプレーンを選択するようにする。
このような処理を実行するために選択部106は、圧縮率算出部121、記憶部122、圧縮率比較選択部123、および埋込部124を有する。
圧縮率算出部121は、符号化部105より供給される符号化後のビットプレーン(圧縮データ)と、ビットプレーン展開部104より供給される符号化前のビットプレーン(非圧縮データ)とを比較し、符号化後のビットプレーン(圧縮データ)の圧縮率を算出する。より具体的には、圧縮率算出部121は、符号化後のビットプレーン(圧縮データ)の、符号化前のビットプレーン(非圧縮データ)に対する比を圧縮率として算出する。圧縮率算出部121は、算出した圧縮率を圧縮率比較選択部123に供給する。
記憶部122は、例えばRAMやフラッシュメモリ等により構成される記憶領域である。記憶部122は、例えば工場出荷時や符号化処理開始時等、事前に入力された、ビットプレーンの目標圧縮率を記憶する。記憶部122は、所定のタイミングでその目標圧縮率を圧縮率比較選択部123に供給する。なお、記憶部122は、予め目標圧縮率が記憶されるROMにより構成されるようにしてもよい。また、記憶部122を圧縮率比較選択部123に内蔵するようにしてもよい。さらに、圧縮率比較選択部123において目標圧縮率が必要になる度に、例えばユーザや他の処理部等がその目標圧縮率を入力するようにしてもよい。その場合、記憶部122は省略されるようにしてもよい。
圧縮率比較選択部123は、圧縮率算出部121により算出された圧縮率と、目標圧縮率とを比較して大小判定を行い、その判定結果に基づいてデータ選択を行う。
例えば、ビットプレーンの圧縮率が目標圧縮率を下回っている場合、圧縮率比較選択部123は、ビットプレーン展開部104より供給される非圧縮データを選択する。この場合、圧縮率比較選択部123は、符号化部105に対して制御情報を供給し、そのコードブロックのそれより下位のビットプレーンの符号化処理を実行しないようにさせる。そして、圧縮率比較選択部123は、そのコードブロックのそれより下位について全て非圧縮データを選択する。
また、例えば、圧縮結果の圧縮率が目標圧縮率を上回っている場合、圧縮率比較選択部123は、符号化部105より供給される圧縮後のデータを選択する。この場合、圧縮率比較選択部123は、次の(1つ下位の)ビットプレーンに対しても同様に圧縮率の大小判定を行う。
算出された圧縮率をAとし、目標圧縮率をNとすると、以上の制御は以下のように表すことができる。
If(A<N)(目標を下回っている)then
{そのビットプレーンは非圧縮のまま送出する}
Else(目標を上回っている)
{そのビットプレーンはEBCOTの結果を送出する}
圧縮率比較選択部123は、以上のように選択したビットプレーン(選択データ)を埋込部124に供給する。圧縮率比較選択部123は、さらに、データ選択に関する情報を制御情報として埋込部124に供給する。
埋込部124は、圧縮率比較選択部123より供給される選択データの所定の位置に所定の情報を埋め込み、出力データを生成する。例えば、埋込部124は、符号化条件などの情報を記述する部分であるCOD(Coding style default)パラメータ(ISO(International Organization for Standardization)154441 JPEG2000 Part-1規格書より)内部のSPcodまたはSPcocパラメータの空きビットに、圧縮率比較選択部123より供給される制御情報を多重化する。つまり、埋込部124は、制御情報を画像データの符号化結果であるコードストリームに付加する。
この制御情報としては、例えば、EBCOT符号化打ち切りのビットプレーン数のように、選択を圧縮データから非圧縮データに切り替えた位を示す情報がある。もちろん、これ以外の情報が含まれるようにしてもよい。
図8はこの埋め込みを説明するための図である。図8に示される表は、SPcodやSPcocパラメータとして与えられる8ビットの構成を説明するものである。この表に示されるように、SPcodやSPcocパラメータの下位6ビットには、それぞれ各種情報が割り当てられているが、これらのMSBから上位2ビットは、JPEG2000規格ではReserved、つまり空きビットになっている。埋込部124は、例えば、この2ビットを用いてEBCOT符号化打ち切りのビットプレーン数を指定する。
なお、このような制御情報の埋め込み位置は、このコードストリームの復号処理を行うデコーダが特定可能な位置であれば任意である。この埋め込み位置は予め定められていてもよいし、埋め込み位置を示す情報を別途用意するようにしてもよい。また、制御情報の情報量も任意である。
埋込部124は、生成した出力データ(コードストリーム)をパケット生成部107に供給する。このように、埋込部124により制御情報をコードストリームに埋め込むことにより、このコードストリームを復号するデコーダは、コードストリームより制御情報を抽出し、その制御情報に基づいて適切にコードストリームを復号することができる。例えば、デコーダは、他の情報を必要とせずに、コードストリームのみから、EBCOT符号化打ち切りのビットプレーン数を特定することができる。これによりデコーダの構成や処理を容易にすることができる。
なお、この制御情報は、コードストリームとは別にデコーダに提供するようにしてもよい。その場合、埋込部124は省略可能であり、その分、エンコーダ100の処理が容易になるが、この制御情報の授受についてデコーダとの間の取り決めが必要になる。また、デコーダが、その別途提供される制御情報を、復号処理に利用することができるようにする必要がある。
[動作説明]
次に、図9のフローチャートを参照して、エンコーダ100による符号化処理の流れの例を説明する。動画像データを符号化するエンコーダ100は、以下に説明する符号化処理を動画像の各フレームについて実行する。
符号化処理が開始されると、DCレベルシフト部101は、ステップS101において、入力された画像データのDCレベルをシフトする。ステップS102において、ウェーブレット変換部102は、画像データをウェーブレット変換する。ステップS103において、コードブロック化部103は、ウェーブレット係数をコードブロック単位で分割する。ステップS104において、ビットプレーン展開部104は、コードブロック毎の係数データをビットプレーンに展開する。ステップS105において、選択部106は、処理対象ビットプレーンを設定し、前回(1つ上位のビットプレーン選択において)非圧縮データが選択されたか否かを判定する。非圧縮データが選択されていないと判定した場合、選択部106は、処理をステップS106に進める。
ステップS106において、符号化部105は、処理対象ビットプレーンをエントロピ符号化する。ステップS107において、選択部106は、選択処理を実行し、圧縮データ(符号化前のビットプレーン)または非圧縮データ(符号化後のビットプレーン)のいずれか一方を選択し、処理をステップS109に進める。選択処理の詳細については後述する。
また、ステップS105において、前回、非圧縮データが選択されたと判定した場合、処理は、ステップS108に進む。ステップS108において、選択部106は、非圧縮データを選択し、符号化処理を行わずに、処理をステップS109に進める。
ステップS109において、選択部106は、選択した選択データを用いてコードストリームを生成する。ステップS110において、選択部106は、全てのビットプレーンを処理したか否かを判定する。全てのビットプレーンを処理していないと判定した場合、選択部106は、処理をステップS111に進め、処理対象を次のビットプレーンに移す。ステップS111の処理が終了すると、処理はステップS105に戻り、それ以降の処理が繰り返される。
ステップS105乃至ステップS111の処理が繰り返し実行され、ステップS110において、全てのビットプレーンを処理したと判定された場合、処理はステップS112に進む。ステップS112において、選択部106の埋込部124は、コードストリームに、例えばビットプレーン選択の切り替え位置を示す情報等の制御情報を埋め込む。
ステップS113において、選択部106は、全てのコードブロックを処理したか否かを判定する。全てのコードブロックを処理していないと判定した場合、選択部106は、処理をステップS114に進め、次のコードブロックの、ゼロビットプレーンでないビットプレーンの中で最上位のビットプレーンに処理対象を移す。ステップS114の処理が終了すると、処理は、ステップS104に戻り、それ以降の処理が繰り返される。
ステップS104乃至ステップS114の処理が繰り返し実行され、ステップS113において全てのコードブロックを処理したと判定された場合、符号化処理が終了される。
このように、一部のビットプレーンにおいてエントロピ符号化処理を省略することにより、エンコーダ100は、符号化処理の負荷を低減させることができる。また、下位のビットプレーンにおいてエントロピ符号化を省略することにより、エンコーダ100は、符号化処理省略の影響の増大を抑制し、符号化処理の圧縮効率を大きく低減させることなく、処理時間を短縮させることができる。
次に、図10のフローチャートを参照して、図9のステップS107において実行される選択処理の詳細な流れの例を説明する。
選択処理が開始されると、圧縮率算出部121は、ステップS131において圧縮データの圧縮率を算出する。ステップS132において、圧縮率比較選択部123は、圧縮率が目標圧縮率より大きいか否かを判定する。圧縮率が目標圧縮率より大きいと判定した場合、圧縮率比較選択部123は、処理をステップS133に進め、圧縮データを選択し、選択処理を終了する。この場合、次の(下位の)ビットプレーンについても、この選択処理が行われる。
また、ステップS132において、圧縮率が目標圧縮率より大きくないと判定した場合、圧縮率比較選択部123は、処理をステップS134に進め、非圧縮データを選択し、選択処理を終了する。この場合、次の(下位の)ビットプレーンについては、この選択処理は省略される(ステップS108の処理が行われる)。
このように、圧縮率に基づいてビットプレーンの選択を行うことにより、選択部106は、圧縮率を目標値より大きく低減させないように符号化を行いながら、その符号化の処理時間を低減させることができる。
[エンコード結果の例]
次に上述したエンコーダ100により符号化を行ったときの圧縮率と処理時間について、図11および図12を参照して説明する。図11は、選択部106が選択を切り替えるビットプレーンの違いによる圧縮比の変化を示す図である。
図11において縦軸の「Img-1」乃至「Img-5」は、符号化を行った5種類の画像を示している。また、横軸は圧縮比(%)を示している。すなわち、図11に示される棒グラフは、5種類の画像データを、複数パターンで符号化し、各パターンの符号化結果の圧縮比を比較するものである。
なお、図11の横軸に示される圧縮比は、符号化後の圧縮データのデータサイズを、符号化前の非圧縮データのデータサイズで除算して算出したものである。つまり、符号化後の圧縮データのデータサイズが小さいほど圧縮比の値(%)は小さくなり、圧縮率が良好となる。逆に、符号化後の圧縮データのデータサイズが大きいほど圧縮比の値(%)は大きくなり、圧縮率が悪化する。
図11の例においては、「Img-1」乃至「Img-5」の画像データを、それぞれ、7種類のパターンで符号化している。7本のうち一番上の棒グラフに対応する「ALL」は、選択部106が、全ての位において符号化後のビットプレーン(圧縮データ)を選択するパターンである。所謂、通常の符号化方法のパターンである。
7本のうち上から2番目の棒グラフに対応する「5BP」は、選択部106が、ゼロビットプレーンを除く上位6個のビットプレーン(ビットプレーン番号0乃至5)において符号化後のビットプレーン(圧縮データ)を選択するパターンである。つまり、この場合、選択部106は、7番目以降の位においては、符号化前のビットプレーン(非圧縮データ)を選択し、そのエントロピ符号化処理を省略させる。
また、7本のうち上から3番目の棒グラフに対応する「4BP」は、選択部106が、ゼロビットプレーンを除く上位5個のビットプレーン(ビットプレーン番号0乃至4)において符号化後のビットプレーン(圧縮データ)を選択するパターンである。つまり、この場合、選択部106は、6番目以降の位においては、符号化前のビットプレーン(非圧縮データ)を選択し、そのエントロピ符号化処理を省略させる。
さらに、7本のうち上から4番目の棒グラフに対応する「3BP」は、選択部106が、ゼロビットプレーンを除く上位4個のビットプレーン(ビットプレーン番号0乃至3)において符号化後のビットプレーン(圧縮データ)を選択するパターンである。つまり、この場合、選択部106は、5番目以降の位においては、符号化前のビットプレーン(非圧縮データ)を選択し、そのエントロピ符号化処理を省略させる。
また、7本のうち上から5番目の棒グラフに対応する「2BP」は、選択部106が、ゼロビットプレーンを除く上位3個のビットプレーン(ビットプレーン番号0乃至2)において符号化後のビットプレーン(圧縮データ)を選択するパターンである。つまり、この場合、選択部106は、4番目以降の位においては、符号化前のビットプレーン(非圧縮データ)を選択し、そのエントロピ符号化処理を省略させる。
さらに、7本のうち上から6番目の棒グラフに対応する「1BP」は、選択部106が、ゼロビットプレーンを除く上位2個のビットプレーン(ビットプレーン番号0および1)において符号化後のビットプレーン(圧縮データ)を選択するパターンである。つまり、この場合、選択部106は、3番目以降の位においては、符号化前のビットプレーン(非圧縮データ)を選択し、そのエントロピ符号化処理を省略させる。
また、7本のうち一番下の棒グラフに対応する「0BP」は、選択部106が、ゼロビットプレーンを除く最上位のビットプレーン(ビットプレーン番号0)において符号化後のビットプレーン(圧縮データ)を選択するパターンである。つまり、この場合、選択部106は、2番目以降の位においては、符号化前のビットプレーン(非圧縮データ)を選択し、そのエントロピ符号化処理を省略させる。
図11に示されるように、「Img-1」乃至「Img-5」の画像データのいずれかに関わらず、どのパターンで圧縮を行っても、その圧縮比に大きな差は生じない。例えば、各画像において圧縮比が最も小さくなりやすい「3BP」のパターンと、圧縮比が最も大きくなりやすい「0BP」のパターンで圧縮比を比較してもその差は1%以下程度である。
図12は、選択部106が選択を切り替えるビットプレーンの違いによる符号化処理時間の変化を示す図である。
図12に示される棒グラフの見方は基本的に図11と同様である。ただし、横軸は、符号化処理の速度(フレームレート)を示す。この数値が大きいほど処理速度が速く処理時間が短いことを示す。つまり、図12に示される棒グラフは、「Img-1」乃至「Img-5」の各画像データを、図11の場合と同じ「ALL」乃至「0BP」の7つのパターンで符号化したときの、それぞれの符号化処理の速度を比較するものである。
図12に示されるように、各パターンによって処理速度が大きく異なる。当然、符号化処理を行うビットプレーンが少なくなるほど、つまり、選択部106がより上の位において符号化前のビットプレーンを選択するパターンほど処理速度は顕著に速くなる。例えば、ゼロビットプレーンを除く最上位において符号化前のビットプレーンを選択する「0BP」のパターンの処理速度は、全ての位において符号化後のビットプレーンを選択する「ALL」のパターンの処理速度より2倍近く速い。
つまり、エンコーダ100は、上位の一部のビットプレーンのみ符号化することで、圧縮比の悪化を実用上問題ない程度に抑制しながら、符号化処理の処理量を低減させることができる。処理量の低減により、符号化処理の処理速度が向上し、処理時間が短縮する。また、処理量の低減により、符号化処理に必要なハードウェアスペックを低くすることができ、エンコーダ100のコストを低減することができる。また、処理時間の短縮により、電気代や人件費等の、符号化処理の運用コストも低減させることができる。さらに、処理時間の短縮により、一定時間内における処理量を増大させることも可能になり、生産性を向上させることができる。つまり、エンコーダ100は、デメリットに比べて圧倒的に大きなメリットを得ることができる。
ただし、全てのビットプレーンを符号化しないと圧縮比は極端に悪くなるので、少なくともゼロビットプレーンを除く最上位(ビットプレーン番号0)のビットプレーンの符号化は必要である。
なお、図11および図12に示されるように、このような符号化の特徴は、符号化対象の画像データの内容に大きく依存しない。すなわち、画像の内容に関わらず、エンコーダ100は、圧縮率を大きく悪化させずに処理量を低減させることができる。
特に、選択部106は、上述したように、目標圧縮率と実際の圧縮率との比較により、符号化前のビットプレーンを選択するか否かを決定するので、圧縮率が十分によい場合は符号化後のビットプレーンが選択される。換言すれば、圧縮率が十分に悪く、圧縮の効果が少ない場合に限り、エントロピ符号化処理が省略される。したがって、選択部106は、エントロピ符号化処理の省略による圧縮率の不要な悪化を低減させることができる。換言すれば、エンコーダ100は、上述した処理による圧縮率の悪化や処理量低減の、符号化対象の画像の内容に対する依存度を、より低減させることができる。
なお、目標圧縮率は、どのような値であってもよい。また、目標圧縮率は、任意のデータ単位毎に変えてもよい(他と独立して任意の値を設定することができる)。
例えば、コードブロック単位で目標圧縮率を設定するようにしてもよい。その場合、細やかな制御が可能になるが、その分、目標圧縮率のデータ量が増大し、コードブロック毎に目標圧縮率を変更する等、処理が複雑化する恐れもある。
また、例えば、ウェーブレット係数のサブバンド単位で目標圧縮率を設定するようにしてもよい。図2に示されるように、ウェーブレット係数のサブバンドは、より高域な成分程、コードブロック数が多い(データ量が大きい)。また、上述したように、ウェーブレット係数のサブバンドは、より低域な成分にエネルギーが集中する。つまり、より低域な成分程、画質に与える影響が大きい。そこで、エンコーダ100は、このようなウェーブレット係数のサブバンドの特徴を活かし、より画質に与える影響が大きい低域な成分程より多くの情報を残すように目標圧縮率を低くし、かつ、より情報量に与える影響が大きい高域な成分程より多くの情報を削減するように、目標圧縮率を高く設定する。このようにすることにより、エンコーダ100は、画質の劣化を低減するとともに圧縮効率を向上させるように、画像データを符号化することができる。
さらに、例えば、ピクチャ単位で目標圧縮率を設定するようにしてもよい。図11に示されるように、圧縮率は、画像の内容に全く依存しないわけではない。例えば、高周波成分が多く含まれ、より複雑な画像の場合、その符号化処理の負荷が大きくなるだけでなく、圧縮率も低下する恐れがある。逆に、例えば黒画像のように、単純な画像の場合、符号化処理の負荷は低く、かつ、その圧縮率を容易に高くすることができる。このような画像の内容に応じて目標圧縮率を設定することにより、符号化処理の負荷をより効率よく低減させることができる。
以上においては、圧縮率と目標圧縮率との比較により選択の切り替えを制御するように説明したが、圧縮データを選択するビットプレーンの数を予め定めておくようにしてももちろんよい。
つまり、この場合、選択部106は、符号化結果の圧縮率に関わらず、ゼロビットプレーンを除く最上位から数えて、予め定められた所定の数の位のビットプレーンにおいて、選択するデータを圧縮データから非圧縮データに切り替える。
<2.第2の実施の形態>
[選択部の構成例]
図13は、その場合の、選択部106の詳細な構成例を示すブロック図である。図7を参照して説明した場合と同様の部分については同様の符号を付してある。
図13の例の場合、選択部106は、符号化部105により符号化されて得られた圧縮データを選択するとともに、そのビットプレーン数をカウントする。そして、ビットプレーン数が予め定められた数を超えた場合、選択部106は、その選択を、符号化される前の非圧縮データに切り替える。そして、選択部106は、それより下位のビットプレーンに対して、符号化部105を制御して符号化処理を中止させ、非圧縮のビットプレーンを選択するようにする。
このような処理を実行するために選択部106は、図7の圧縮率算出部121および圧縮率比較選択部123の代わりにカウント選択部223を有する。
カウント選択部223は、初期状態において圧縮データを、画像データの符号化結果として選択し、そのビットプレーン数をカウント(累算)する。記憶部122は、目標圧縮率の代わりに指定ビットプレーン数を記憶する。この指定ビットプレーン数は、圧縮データを選択するビットプレーンの数を指定する値であり、例えば工場出荷時や符号化処理開始時等、事前に入力される。記憶部122は、所定のタイミングでその指定ビットプレーン数をカウント選択部223に供給する。なお、記憶部122は、予め指定ビットプレーン数が記憶されるROMにより構成されるようにしてもよい。また、記憶部122をカウント選択部223に内蔵するようにしてもよい。さらに、カウント選択部223において指定ビットプレーン数が必要になる度に、例えばユーザや他の処理部等がその指定ビットプレーン数を入力するようにしてもよい。その場合、記憶部122は省略されるようにしてもよい。
カウント選択部223においてカウントされたカウント値が、その指定ビットプレーン数を超えた場合、カウント選択部223は、ビットプレーン展開部104より供給される非圧縮データを、画像データの符号化結果として選択する。この場合、カウント選択部223は、符号化部105に対して制御情報を供給し、そのコードブロックのそれより下位のビットプレーンの符号化処理を実行しないようにさせる。そして、カウント選択部223は、そのコードブロックのそれより下位について全て非圧縮データを選択する。
カウント選択部223は、以上のように選択したビットプレーン(選択データ)を埋込部124に供給する。カウント選択部223は、さらに、データ選択に関する情報を制御情報として埋込部124に供給する。
埋込部124は、カウント選択部223より供給される選択データの所定の位置に所定の情報を埋め込み、出力データを生成し、生成した出力データ(コードストリーム)をパケット生成部107に供給する。
例えば、指定ビットプレーン数が「4」であるとする。その場合、エンコーダ100は、図14に示されるように、ビットプレーン番号「0」乃至「3」の4つのビットプレーンについて、CPパス、SPパス、およびMRパスのそれぞれについて符号化を行い、指定ビットプレーン数を超えるビットプレーン番号「4」以降のビットプレーンについて、符号化処理を省略し、非圧縮データを出力する。特にCPパスにおいては、非圧縮データはバイト境界に合うようにパディングされた後、終端される。
また、例えば、指定ビットプレーン数が「2」であるとする。その場合、エンコーダ100は、図15に示されるように、ビットプレーン番号「0」および「1」の2つのビットプレーンについては、CPパス、SPパス、およびMRパスのそれぞれについて符号化が行われ、指定ビットプレーン数を超えるビットプレーン番号「2」以降のビットプレーンについては、符号化処理が省略され、非圧縮データが出力される。特にCPパスにおいては、非圧縮データはバイト境界に合うようにパディングされた後、終端される。
以上のように、この場合の選択部106は、指定ビットプレーン数分のビットプレーンを符号化し、それ以下のビットプレーンを符号化しないようにすることができる。換言すれば、エンコーダ100は、指定ビットプレーン数によって、選択部106により非圧縮データが選択される位置(位)を、上述した目標圧縮率を用いる場合よりも、より確実に制御することができる。
[動作説明]
なお、この場合の符号化処理は、図9のフローチャートを参照して説明した場合と基本的に同様に行われる。図16のフローチャートを参照して、図9のステップS107において実行される、この場合の選択処理の詳細な流れの例を説明する。
選択処理が開始されると、カウント選択部223は、ステップS231において処理対象としたビットプレーン数をカウントする。ステップS232において、カウント選択部223は、処理対象としたビットプレーン数が、所定の数(指定ビットプレーン数)を超えたか否かを判定する。
処理対象としたビットプレーン数が、所定の数を超えていないと判定された場合、処理はステップS233に進む。ステップS233において、カウント選択部223は、符号化部105より供給された圧縮データを選択する。圧縮データを選択するとカウント選択部223は、選択処理を終了し、処理を図9のステップS107に処理を戻し、ステップS109に処理を進める。
また、処理対象としたビットプレーン数が、所定の数を超えたと判定された場合、処理はステップS234に進む。ステップS234において、カウント選択部223は、ビットプレーン展開部104より供給された非圧縮データを選択する。非圧縮データを選択するとカウント選択部223は、選択処理を終了し、処理を図9のステップS107に処理を戻し、ステップS109に処理を進める。
このように、カウント選択部223は、ゼロビットプレーンを除く最上位から、指定ビットプレーン数により指定される数の位において、ビットプレーンの符号化を行わせ、圧縮データを選択する。また、カウント選択部223は、それ以外の下位の位においては、ビットプレーンの符号化を行わせずに、非圧縮データを選択する。
これにより、選択部106は、上述した圧縮率を用いる場合と同様に、圧縮率の悪化を抑制しながら、その符号化の処理量を低減させることができる。そしてこの場合、選択を切り替える位を直接的に指定することができるので、エンコーダ100は、上述した圧縮率の場合よりも確実に所望の位までビットプレーンを符号化することができる。
なお、指定ビットプレーン数は、どのような値であってもよい。また、指定ビットプレーン数は、目標圧縮率の場合と同様に、例えば、コードブロック単位、ウェーブレット係数のサブバンド単位、または、ピクチャ単位等、任意のデータ単位毎に変えてもよい(他と独立して任意の値を設定することができる)。
また、以上に説明した目標圧縮率と指定ビットプレーン数の両方を用いて制御を行うようにしてもよい。例えば、選択部106が、基本的に目標圧縮率に基づいて圧縮・非圧縮の選択の切り替えを制御するようにする。そして、さらに、圧縮データを選択するビットプレーン数の上限値を設け、選択部106が、その上限以上に圧縮データを選択させることができないようにする。
<3.第3の実施の形態>
[選択部の構成例]
図17は、その場合の、選択部106の詳細な構成例を示すブロック図である。図7や図13を参照して説明した場合と同様の部分については同様の符号を付してある。
図17の例の場合、選択部106は、符号化部105により符号化されて得られた圧縮データを目標圧縮率に基づいて選択するとともに、そのビットプレーン数をカウントする。そして、ビットプレーン数が予め定められた数を超えた場合、選択部106は、ビットプレーンの圧縮率が目標圧縮率より大きくても、その選択を、符号化される前の非圧縮データに切り替える。そして、選択部106は、それより下位のビットプレーンに対して、符号化部105を制御して符号化処理を中止させ、非圧縮のビットプレーンを選択するようにする。
このような処理を実行するために選択部106は、図7の圧縮率算出部121の代わりに比較カウント選択部323を有する。
比較カウント選択部323は、初期状態において圧縮データを、画像データの符号化結果として選択する。また、比較カウント選択部323が圧縮データを選択している間、圧縮率算出部121は、圧縮データの圧縮率を算出する。その算出方法は、図7を参照して説明した場合と同様である。比較カウント選択部323は、図7を参照して説明した圧縮率比較選択部123の場合と同様に、その圧縮率と、記憶部122より供給される目標圧縮率とを比較し、圧縮率が目標圧縮率以下となる場合、非圧縮データを、画像データの符号化結果として選択する。つまり、比較カウント選択部323は、非圧縮データに選択を切り替える。なお、目標圧縮率は、図7を参照して説明した場合と同様のパラメータである。比較カウント選択部323は、それより下位のビットプレーンについて、符号化部105を制御してエントロピ符号化処理を中止させ、非圧縮データを選択する。
ところで、比較カウント選択部323は、圧縮データを選択するとき、図13を参照して説明したカウント選択部223の場合と同様に、その選択したビットプレーン数をカウントする。そして、比較カウント選択部323は、圧縮率が目標圧縮率以上であっても、そのカウント値が、記憶部122より供給される指定ビットプレーン数を超えた場合、非圧縮データを、画像データの符号化結果として選択する(非圧縮データに選択を切り替える)。比較カウント選択部323は、それより下位のビットプレーンについて、符号化部105を制御してエントロピ符号化処理を中止させ、非圧縮データを選択する。
比較カウント選択部323は、図7の圧縮率比較選択部123の場合と同様に、選択データと制御情報を埋込部124に供給する。埋込部124は、図7の場合と同様に、制御情報を選択データのコードストリームの所定の位置に埋め込み、出力データを生成し、生成した出力データ(コードストリーム)をパケット生成部107に供給する。
以上のように、この場合の選択部106は、目標圧縮率によって、ビットプレーンの符号化を制御することができるととともに、符号化するビットプレーンの上限を設ける(最大数を定義する)ことができる。
例えば、図7等を参照して説明したように、目標圧縮率を用いて圧縮・非圧縮の選択を行う場合、目標圧縮率の設定が処理対象の画像に対して不適切であると、目標圧縮率による制御が効かない恐れがある。例えば、目標圧縮率が不適切な値であることにより、どのコードブロックにおいても全てのビットプレーンが符号化されてしまう恐れがある。つまり、結果として、符号化方法の処理量が従来の方法の場合と同様となってしまい、得られる効果が小さくなってしまう恐れがある。
また、図13等を参照して説明したように、符号化を行うビットプレーン数を直接指定する場合、選択を切り替える位置が固定されるので、画像に応じた制御が困難である。
図17を参照して上述したように、目標圧縮率を用いて圧縮・非圧縮の選択を行わせるとともに、その圧縮データの選択に上限を設けることにより、画像に応じた制御が可能になるとともに、効果(処理量の低減)の確保(保証)を可能にすることができる。換言すれば、目標圧縮率の設定許容範囲が拡大するので、その設定が容易になる。さらに換言すれば、画像の内容によらず、十分に処理量を低減することができるので、エンコーダ100の汎用性を向上させることができる。
[動作説明]
なお、この場合の符号化処理は、図9のフローチャートを参照して説明した場合と基本的に同様に行われる。図18のフローチャートを参照して、図9のステップS107において実行される、この場合の選択処理の詳細な流れの例を説明する。
選択処理が開始されると、圧縮率算出部121は、ステップS331において、図10のステップS131の場合と同様に、圧縮データの圧縮率を算出する。ステップS332において、比較カウント選択部323は、図10のステップS132の場合と同様に、算出された圧縮率が目標圧縮率より大きいか否かを判定する。
圧縮率が目標圧縮率より大きいと判定された場合、処理はステップS333に進む。ステップS333において、比較カウント選択部323は、図16のステップS231の場合と同様に、処理対象としたビットプレーン数をカウントする。ステップS334において、比較カウント選択部323は、図16のステップS232の場合と同様に、処理対象としたビットプレーン数が、所定の数(指定ビットプレーン数)を超えたか否かを判定する。
処理対象としたビットプレーン数が、所定の数を超えていないと判定された場合、処理はステップS335に進む。ステップS335において、比較カウント選択部323は、図10のステップS133や図16のステップS233の場合と同様に、符号化部105より供給された圧縮データを選択する。圧縮データを選択すると比較カウント選択部323は、選択処理を終了し、処理を図9のステップS107に処理を戻し、ステップS109に処理を進める。
また、ステップS334において、処理対象としたビットプレーン数が、所定の数を超えたと判定された場合、処理はステップS336に進む。さらに、ステップS332において、圧縮率が目標圧縮率より大きくないと判定された場合、処理はステップS336に進む。ステップS336において、比較カウント選択部323は、図10のステップS134や図16のステップS234の場合と同様に、ビットプレーン展開部104より供給された非圧縮データを選択する。非圧縮データを選択すると比較カウント選択部323は、選択処理を終了し、処理を図9のステップS107に処理を戻し、ステップS109に処理を進める。
つまり、カウント選択部223は、圧縮率を算出し、目標圧縮率と比較するだけでなく、圧縮率が目標圧縮率より大きい場合、処理対象としたビットプレーン数をカウントし、そのカウント値を指定ビットプレーン数と比較する。
このように制御することにより、選択部106は、圧縮率が目標圧縮率より大きくても、指定ビットプレーン数によって、非圧縮データを選択するようにすることができる。これにより、エンコーダ100は、上述したように、画像に応じた制御が可能になるとともに、効果(処理量の低減)の確保(保証)を可能にすることができる。
なお、上述した他の場合と同様に、指定ビットプレーン数や目標圧縮率は、どのような値であってもよいし、任意のデータ単位毎に変えてもよい(他と独立して任意の値を設定することができる)。
以上においては、圧縮データ・非圧縮データの選択に利用するパラメータとして、目標圧縮率や指定ビットプレーン数を用いる場合を説明したが、このパラメータは、圧縮データ・非圧縮データの選択に利用可能なものであればどのようなものであってもよい。例えば、目標圧縮率や指定ビットプレーン数を間接的に指定する情報であってもよい。例えば、指定ビットプレーン数の場合、圧縮データを選択するビットプレーン数であってもよいし、選択を切り替えるビットプレーンのビットプレーン番号であってもよいし、非圧縮データを選択するビットプレーン数であってもよい。また、例えば、目標圧縮率の代わりに目標符号量を設定するようにしてもよい。さらに、例えば、処理時間を計測し、所定時間経過後は非圧縮データが選択されるようにしてもよい。また、例えば、選択データの総符号量を計測し、所定の符号量を超えた場合、非圧縮データが選択されるようにしてもよい。もちろん、これら以外のパラメータを用いて圧縮データ・非圧縮データの選択を行うようにしてもよい。
また、パラメータは、必要に応じて設定(変更)可能であるようにしてもよい。例えば、指定ビットプレーン数を選択部106が設定(変更)することができるようにしてもよい。
<4.第4の実施の形態>
[選択部の構成例]
図19は、その場合の、選択部106の詳細な構成例を示すブロック図である。図7や図13を参照して説明した場合と同様の部分については同様の符号を付してある。
図19の例の場合、選択部106は、諸条件に基づいて指定ビットプレーン数を設定し、その指定ビットプレーン数を用いて圧縮データ・非圧縮データの選択を制御する。
このような処理を実行するために選択部106は、図13の場合の記憶部122の代わりに設定部422を有する。つまり、図19の場合、選択部106は、設定部422、カウント選択部223、および埋込部124を有する。
設定部422は、所定のタイミングで諸条件に基づいて指定ビットプレーン数を設定し、その設定した指定ビットプレーン数をカウント選択部223に供給する。
例えば、設定部422は、処理対象とする画像データに基づいて指定ビットプレーン数を設定する。より具体的には、設定部422は、データサイズ、解像度、若しくはフレームレート等の画像データの規格、または、画像の内容等に基づいて、適切な指定ビットプレーン数を設定する。例えば、処理対象の画像データのデータサイズや解像度が大きかったり、フレームレートが高かったりする場合、設定部422は、コスト低減のために、符号化の処理量の低減を優先させ、指定ビットプレーン数を小さな値に設定する。また、画像の内容が複雑であるなどして圧縮効率の悪化が予想される場合、符号化の処理量の低減を優先させ、指定ビットプレーン数を小さな値に設定する。逆に、例えば、符号化処理が容易な場合や、高圧縮効率が期待できる場合等、圧縮率の向上を優先すべきと判断する場合、設定部422は、指定ビットプレーン数を大きな値に設定する。
また、例えば、設定部422は、エンコーダ100の動作モードに応じて指定ビットプレーン数を設定する。より具体的には、設定部422は、例えば、ユーザや他の装置(または処理部)が指定した動作モードに応じて適切な指定ビットプレーン数を設定する。例えば、ユーザがエンコーダ100の動作モードを圧縮比優先モードに設定すると、設定部422は、指定ビットプレーン数を大きな値に設定する。また、例えば、ユーザがエンコーダ100の動作モードを処理時間優先モードに設定すると、設定部422は、指定ビットプレーン数を小さな値に設定する。
さらに、例えば、設定部422は、出力したパケットが蓄積される記憶領域の容量や、出力したパケットが送信される通信回線の空き帯域幅等の、外部状況に関する情報に基づいて適切な指定ビットプレーン数を設定する。例えば、記憶領域の容量が少なくなったり、通信回線の空き帯域幅が細くなったりして、圧縮率の向上を優先すべき場合、設定部422は、指定ビットプレーン数を大きな値に設定する。また、例えば、記憶領域の容量が十分に大きかったり、通信回線の空き帯域幅が十分広かったりして、処理速度を優先すべき場合、設定部422は、指定ビットプレーン数を小さな値に設定する。
このように、設定部422は、エンコーダ100以外において得られる情報に対して適切な値を指定ビットプレーン数として設定することができる。このとき、設定部422は、指定ビットプレーン数を自由に設定するようにしてもよいし、予め用意されたいくつかの候補(選択肢)の中から選択するようにしてもよい。
カウント選択部223は、このように設定された指定ビットプレーン数に基づいて、図13等を参照して説明した場合と同様に選択制御を行う。
埋込部124は、図13の場合と同様に、制御情報を選択データのコードストリームの所定の位置に埋め込み、出力データを生成し、生成した出力データ(コードストリーム)をパケット生成部107に供給する。
以上のように、この場合の選択部106は、指定ビットプレーン数を設定し、その値を用いてビットプレーンの符号化を制御することができる。
なお、設定部422は、上述した各種条件のうち複数の条件を用いて指定ビットプレーン数を設定するようにしてもよい。さらに、上述した以外の条件をに基づいて指定ビットプレーン数を設定するようにしてもよい。
[動作説明]
なお、この場合の符号化処理の流れの例について、図20のフローチャートを参照して説明する。この符号化処理は図9のフローチャートを参照して説明した符号化処理に対応する。この場合も、エンコーダ100は、この符号化処理を動画像の各フレームについて実行する。
図20に示されるステップS401乃至ステップS403の各処理は、図9のステップS101乃至ステップS103の各処理と同様に実行される。つまり、符号化処理が開始されると、DCレベルシフト部101は、ステップS401において、入力された画像データのDCレベルをシフトする。ステップS402において、ウェーブレット変換部102は、画像データをウェーブレット変換する。ステップS403において、コードブロック化部103は、ウェーブレット係数をコードブロック単位で分割する。
ステップS404において、設定部422は、目標値、すなわち、上述したような各種条件に基づいて、指定ビットプレーン数を設定する。
指定ビットプレーン数が設定されると、ステップS405乃至ステップS415の各処理は、図9のステップS104乃至ステップS114の各処理と同様に実行される。
すなわち、ステップS405において、ビットプレーン展開部104は、コードブロック毎の係数データをビットプレーンに展開する。ステップS406において、選択部106は、処理対象ビットプレーンを設定し、前回非圧縮データが選択されたか否かを判定する。非圧縮データが選択されていないと判定した場合、選択部106は、処理をステップS407に進める。
ステップS407において、符号化部105は、処理対象ビットプレーンをエントロピ符号化する。ステップS408において、選択部106は、選択処理を実行し、圧縮データまたは非圧縮データのいずれか一方を選択し、処理をステップS410に進める。
また、ステップS406において、前回、非圧縮データが選択されたと判定した場合、処理は、ステップS409に進む。ステップS409において、選択部106は、非圧縮データを選択し、符号化処理を行わずに、処理をステップS410に進める。
ステップS410において、選択部106は、選択した選択データを用いてコードストリームを生成する。ステップS411において、選択部106は、全てのビットプレーンを処理したか否かを判定する。全てのビットプレーンを処理していないと判定した場合、選択部106は、処理をステップS412に進め、処理対象を次のビットプレーンに移す。ステップS412の処理が終了すると、処理はステップS406に戻り、それ以降の処理が繰り返される。
ステップS406乃至ステップS412の処理が繰り返し実行され、ステップS411において、全てのビットプレーンを処理したと判定された場合、処理はステップS413に進む。ステップS413において、選択部106の埋込部124は、コードストリームに、例えばビットプレーン選択の切り替え位置を示す情報等の制御情報を埋め込む。
ステップS414において、選択部106は、全てのコードブロックを処理したか否かを判定する。全てのコードブロックを処理していないと判定した場合、選択部106は、処理をステップS415に進め、次のコードブロックの、ゼロビットプレーンでないビットプレーンの中で最上位のビットプレーンに処理対象を移す。ステップS415の処理が終了すると、処理は、ステップS405に戻り、それ以降の処理が繰り返される。
ステップS405乃至ステップS415の処理が繰り返し実行され、ステップS414において全てのコードブロックを処理したと判定された場合、符号化処理が終了される。
このように、エントロピ符号化を省略するビットプレーン数を状況に応じて調整することにより、エンコーダ100は、符号化処理の負荷を適切に低減させることができる。
なお、指定ビットプレーン数の設定タイミングは任意であり、上述したステップS404以外のタイミングで指定することも可能である。さらに、どのようなデータ単位で指定ビットプレーン数を設定するようにしてもよい。
以上においては、指定ビットプレーン数を設定する場合について説明したが、パラメータの種類は任意であり、どのようなパラメータであっても、指定ビットプレーン数の場合と同様にして設定可能とすることができる。例えば、目標圧縮率を用いて圧縮データ・非圧縮データの選択を行う場合も、上述した指定ビットプレーン数の場合と同様に、目標圧縮率を設定する設定部を設けるようにしてもよい。
<5.第5の実施の形態>
[デコーダの構成例]
次に、以上のように説明したエンコーダ100に対応するデコーダ(復号装置)について説明する。図21は、本発明を適用したデコーダの構成例を示すブロック図である。
図21に示されるデコーダ500は、エンコーダ100より供給されるコードストリームをエンコーダ100の符号化方式に対応する復号方法で復号し、復号画像データを得る復号装置である。
デコーダ500は、エンコーダ100より供給されるコードストリームを解読し、エンコーダ100における圧縮データ・非圧縮データの選択を切り替えたビットプレーンを特定し、そのエンコーダ100の選択に合わせて各ビットプレーンの復号を行う。すなわち、デコーダ500は、エンコーダ100が符号化したビットプレーンについて、エンコーダ100の符号化方式に対応する復号方法で復号を行い、エンコーダ100が符号化しなかったビットプレーンについて、復号せずにそのまま利用する。つまり、デコーダ500は、各ビットプレーンを適宜復号して合成し、ベースバンドの画像データを生成する(復号画像データを得る)。
なお、以上においては、エンコーダ100がコードストリームをパケット化して出力するように説明した。したがって、エンコーダ100の出力を復号する場合、実際には、そのパケットを解析してコードストリームを抽出するパケット解析処理が必要になる。しかしながら、このパケット解析処理は任意の方法により可能であるので、以下においては、説明の簡略化のため、このパケット解析処理についての説明は省略する。
図21に示されるように、デコーダ500は、解読部501、処理選択部502、復号部503、ビットプレーン合成部504、コードブロック合成部505、ウェーブレット逆変換部506、およびDCレベル逆シフト部507を有する。
解読部501は、供給されたコードストリームを解読する。例えば、解読部501は、コードストリームに埋め込まれている、エンコーダ100における圧縮データ・非圧縮データの選択に関する制御情報を抽出し、その制御情報に基づいて、処理対象のビットプレーンが符号化されているか否かを判定する。より具体的には、例えば、解読部501は、JPEG2000のシンタックスに従ってコードストリームを解読し、図8に示されるSPcodまたはSPcocの上位2ビットをリードする。そして解読部501は、その読み出した値に基づいて、上位何ビットのビットプレーンがEBCOT符号化されているか否かを判別する。
つまり、この例の場合、コードストリームには、エンコーダ100が圧縮データ・非圧縮データの選択を切り替えたビットプレーン(位置)を示す情報が制御情報として埋め込まれている。換言すれば、この制御情報は、処理対象のデータが圧縮データであるか、非圧縮データであるかを所定の単位(例えばビットプレーン)毎に示す情報である。解読部501は、この制御情報の内容にしたがって、処理対象のビットプレーンが符号化されているか否か、すなわち、処理対象のデータが圧縮データであるか否かを、所定のデータ単位毎に判別する。
この制御情報の内容は、直接的または間接的に、処理対象のデータが圧縮データであるか、非圧縮データであるかを示すものであれば、どのようなものであってもよい。例えば、圧縮データが選択されたビットプレーン数や非圧縮データが選択されたビットプレーン数であってもよい。また、選択を切り替えたビットプレーンを示すビットプレーン番号や、圧縮データであるか非圧縮データであるかをビットプレーン毎に示す識別情報であってもよい。さらに、圧縮データであるか否かの判断基準を求めるための演算に利用される演算パラメータなどであってもよい。解読部501は、制御情報の内容に応じた方法で、処理対象のデータが圧縮データであるか否かを、所定のデータ単位毎に判別する。
なお、エンコーダ100における圧縮データ・非圧縮データの選択に関する制御情報がコードストリームとは別に事前に供給されるようにしてもよい。その場合、解読部501は、その情報に基づいて処理対象のビットプレーンが符号化されているか否かを判定する。また、エンコーダ100が符号化するビットプレーン数が予め定められており、そのビットプレーン数の情報が予めデコーダ500に提供されているようにしてもよい。その場合、解読部501は、コードストリームの解読として、これまでに処理対象としたビットプレーン数をカウントし、カウント値が所定数を超えるまで処理対象のデータが圧縮データであると判定し、カウント値が所定数を超えた場合、処理対象のデータが非圧縮データであると判定する。
つまり、解読部501に供給されるコードストリームは、画像データの一部または全部が符号化されて生成されたデータである。解読部501は、このようなコードストリームを解読し、所定のデータ単位毎に、前記コードストリームを復号するか否かを判定する。解読部501は、このような解読結果を、ビットプレーン単位のコードストリームとともに処理選択部502に供給する。
処理選択部502は、解読部501の解読結果に基づいて、処理対象のビットプレーンが符号化されているか否かを判定する。符号化されていると判定した場合、処理選択部502は、処理対象のビットプレーンのコードストリーム(圧縮データ)を復号部503に供給する。また、処理対象のビットプレーンが符号化されていないと判定した場合、処理選択部502は、処理対象のビットプレーンのコードストリーム(非圧縮データ)をビットプレーン合成部504に供給する。
復号部503は、ビットプレーン単位のコードストリーム(圧縮データ)をエンコーダ100の符号化に対応する復号方法で復号し、その復号結果(非圧縮データ)をビットプレーン合成部504に供給する。図21の例の場合、復号部503は、算術復号部511およびビットモデリング部512を有する。算術復号部511はコードストリームを復号し、ビットモデリング部512はビットプレーンに展開されたウェーブレット係数を生成する。
ビットプレーン合成部504は、ビットプレーンに展開されたウェーブレット係数を合成し、コードブロック単位のウェーブレット係数を生成する。コードブロック合成部505は、コードブロック単位の係数データを合成し、サブバンド毎の係数データを生成し、それをウェーブレット逆変換部506に供給する。ウェーブレット逆変換部506は、供給されたウェーブレット係数をウェーブレット逆変換し、ベースバンドの画像データを生成する。DCレベル逆シフト部507は、その画像データのDC成分に対して、符号化時にシフトされた分を元に戻すDCレベル逆シフト処理を必要に応じて行う。DCレベル逆シフト部507は、DCレベル逆シフト処理後の画像データを出力する。
以上のように、デコーダ500は、エンコーダ100によるビットプレーン毎の圧縮データ・非圧縮データの選択に応じて、各ビットプレーンのコードストリームを適宜復号し、復号画像データを獲ることができる。つまり、デコーダ500は、エンコーダ100が一部のビットプレーンに対するエントロピ符号化を省略したコードストリームを適切に復号することができる。さらに、その場合、デコーダ500は、通常の、全てのビットプレーンを復号する場合よりも、復号処理の処理量を低減させることができる。
[動作説明]
このデコーダ500による復号処理の流れの例を図22のフローチャートを参照して説明する。なお、デコーダ500は、以下に説明する復号処理を、ピクチャ単位で繰り返し実行する。
復号処理が開始されると、デコーダ500の解読部501は、ステップS501において、供給されたコードストリームを解読する。ステップS502において、処理選択部502は、その解読結果に基づいて、処理対象ビットプレーンが符号化されているか否かを判定する。処理対象ビットプレーンが符号化されている、すなわち、処理対象のコードストリームが圧縮データであると判定した場合、処理選択部502は、処理をステップS503に進める。
ステップS503において、復号部503は、処理対象のビットプレーンのコードストリーム、すなわち、圧縮データをエントロピ復号し、処理をステップS504に進める。また、ステップS502において、処理対象ビットプレーンが符号化されていない、すなわち、処理対象のコードストリームが非圧縮データであると判定した場合、処理選択部502は、処理をステップS504に進める。
ステップS504において、ビットプレーン合成部504は、処理対象のビットプレーンの非圧縮データを蓄積するとともに、処理対象のコードブロック内の全てのビットプレーンが処理されたか否かを判定する。未処理のビットプレーンが存在すると判定した場合、ビットプレーン合成部504は、処理をステップS501に戻し、処理対象を次のビットプレーンに変更し、それ以降の処理を繰り返させる。
ステップS501乃至ステップS504の処理が繰り返し実行され、ステップS504において、処理対象のコードブロック内の全てのビットプレーンが処理されたと判定した場合、ビットプレーン合成部504は、ステップS505に処理を進める。ステップS505において、ビットプレーン合成部504は、蓄積した非圧縮データを合成し、コードブロック単位のウェーブレット係数を生成する。
ステップS506において、コードブロック合成部505は、処理対象のコードブロックのウェーブレット係数を蓄積するとともに、処理対象のサブバンド内の全てのコードブロックが処理されたか否かを判定する。未処理のコードブロックが存在すると判定した場合、コードブロック合成部505は、処理をステップS501に戻し、処理対象を次のコードブロックに変更し、それ以降の処理を繰り返させる。
ステップS501乃至ステップS506の処理が繰り返し実行され、ステップS506において、処理対象のサブバンド内の全てのコードブロックが処理されたと判定した場合、コードブロック合成部505は、ステップS507に処理を進める。ステップS507において、コードブロック合成部505は、蓄積したウェーブレット係数を合成し、サブバンド単位のウェーブレット係数を生成する。
ステップS508において、ウェーブレット逆変換部506は、生成されたサブバンド単位のウェーブレット係数を蓄積するとともに、全てのサブバンドが処理されたか否かを判定する。未処理のサブバンドが存在すると判定した場合、ウェーブレット逆変換部506は、処理をステップS501に戻し、処理対象を次のサブバンドに変更し、それ以降の処理を繰り返させる。
ステップS501乃至ステップS508の処理が繰り返し実行され、ステップS508において、全てのサブバンドが処理されたと判定した場合、ウェーブレット逆変換部506は、ステップS509に処理を進める。ステップS509において、ウェーブレット逆変換部506は、蓄積したウェーブレット係数をウェーブレット逆変換し、ベースバンドの復号画像データを生成する。ステップS510において、DCレベル逆シフト部507は、DCレベルをエンコーダ100におけるシフト量に応じて、そのエンコーダ100によるシフト方向と反対方向にシフトし、復号処理を終了する。
以上のように、コードストリームを解読しながら復号処理を行うので、デコーダ500は、エンコーダ100により符号化されたコードストリームを適切に復号することができるとともに、復号処理の処理量を低減させることができる。
以上に説明したエンコーダ100およびデコーダ500は、上述した以外の構成を含むようにしてももちろんよい。また、1つの装置としてだけでなく、複数の装置よりなるシステムとして構成されるようにしてもよい。例えば、デジタルシネマ用編集装置、アーカイブシステム、画像データベース、医用画像の記録システム、ネットワークサーバ、ノンリニア編集装置、PC上のオーサリング・ツールまたはそのソフトウェア・モジュール等として構成されるようにしてもよい。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、図23に示されるようなパーソナルコンピュータとして構成されるようにしてもよい。
図23において、パーソナルコンピュータ600のCPU(Central Processing Unit)601は、ROM(Read Only Memory)602に記憶されているプログラム、または記憶部613からRAM(Random Access Memory)603にロードされたプログラムに従って各種の処理を実行する。RAM603にはまた、CPU601が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU601、ROM602、およびRAM603は、バス604を介して相互に接続されている。このバス604にはまた、入出力インタフェース610も接続されている。
入出力インタフェース610には、キーボード、マウスなどよりなる入力部611、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部612、ハードディスクなどより構成される記憶部613、モデムなどより構成される通信部614が接続されている。通信部614は、インターネットを含むネットワークを介しての通信処理を行う。
入出力インタフェース610にはまた、必要に応じてドライブ615が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア621が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部613にインストールされる。
上述した一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、ネットワークや記録媒体からインストールされる。
この記録媒体は、例えば、図23に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disc - Read Only Memory),DVD(Digital Versatile Disc)を含む)、光磁気ディスク(MD(Mini Disc)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア621により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているROM602や、記憶部613に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表わすものである。
なお、以上において、1つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて1つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。つまり、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
本発明を適用したエンコーダの主な構成例を示すブロック図である。 サブバンドの構成例を示す図である。 各サブバンド中のコードブロックの例を示す図である。 ビットプレーンの例を説明する図である。 符号化パスの例を説明する図である。 係数の走査の例を説明する図である。 選択部の詳細な構成例を示すブロック図である。 SPcocまたはSPcodパラメータの構成例を説明する図である。 符号化処理の流れの例を説明するフローチャートである。 選択処理の流れの例を説明するフローチャートである。 圧縮データ選択数と圧縮率の関係の例を示す図である。 圧縮データ選択数と処理速度の関係の例を示す図である。 選択部の他の構成例を示すブロック図である。 符号化動作の例を説明する図である。 符号化動作の他の例を説明する図である。 選択処理の流れの、他の例を説明するフローチャートである。 選択部のさらに他の構成例を示すブロック図である。 選択処理の流れの、さらに他の例を説明するフローチャートである。 選択部のさらに他の構成例を示すブロック図である。 符号化処理の流れの、他の例を説明するフローチャートである。 本発明を適用したデコーダの構成例を示すブロック図である。 復号処理の流れの例を説明するフローチャートである。 本発明を適用したパーソナルコンピュータの構成例を示すブロック図である。
符号の説明
100 エンコーダ, 101 DCレベルシフト部, 102 ウェーブレット変換部, 103 コードブロック化部, 104 ビットプレーン展開部, 105 符号化部, 106 選択部, 107 パケット生成部, 111 ビットモデリング部, 112 算術符号化部, 121 圧縮率算出部, 122 記憶部, 123 圧縮率比較選択部, 124 埋込部, 223 カウント選択部, 323 比較カウント選択部, 422 設定部, 500 デコーダ, 501 解読部, 502 処理選択部, 503 復号部, 504 ビットプレーン合成部, 505 コードブロック合成部, 506 ウェーブレット逆変換部, 507 DCレベル逆シフト部, 511 算術復号部, 512 ビットモデリング部

Claims (15)

  1. 画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開するビットプレーン展開手段と、
    前記ビットプレーン展開手段により展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化する符号化手段と、
    前記符号化手段により符号化されて生成された前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率以下の場合、前記符号化手段により符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択する選択手段と、
    前記所定順において、前記選択手段により前記非圧縮データが選択されたビットプレーンより後に位置するビットプレーンを対象として、前記符号化手段を制御して符号化処理を中止させて前記非圧縮データを前記画像データの符号化結果として選択する選択制御手段と
    を備える情報処理装置。
  2. 前記符号化手段は、JPEG(Joint Photographic Experts Group)2000のEBCOT(Embedded Block Coding with Optimized Truncation)により前記符号化を行う
    請求項1に記載の情報処理装置。
  3. 前記所定順は、前記ビット深度の上位側から下位側に向かう順である
    請求項1に記載の情報処理装置。
  4. 前記選択手段は、前記画像データの符号化結果として前記圧縮データを選択するビットプレーン数が予め定められた最大数に達した場合、前記圧縮率が前記目標圧縮率より大きいか否かに関わらず、前記非圧縮データを前記画像データの符号化結果として選択する
    請求項1に記載の情報処理装置。
  5. 前記選択手段は、
    前記ビットプレーン毎の圧縮データの圧縮率を算出する圧縮率算出手段と、
    前記圧縮率算出手段により算出された前記圧縮率を前記目標圧縮率と比較し、前記圧縮率が前記目標圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記圧縮率が前記目標圧縮率以下の場合、前記非圧縮データを前記画像データの符号化結果として選択する比較選択手段と
    を備える請求項1に記載の情報処理装置。
  6. 前記画像データをサブバンド毎の係数データに変換するウェーブレット変換手段と、
    前記ビットプレーン毎の圧縮データの圧縮率と前記目標圧縮率との大小関係を判定する判定手段と
    をさらに備え、
    前記ビットプレーン展開手段は、前記ウェーブレット変換手段により変換されて得られた前記係数データを所定数ごとにビットプレーン展開し、
    前記判定手段は、前記サブバンド毎に独立して設定される前記目標圧縮率を用いて、前記圧縮率の判定を行う
    請求項1に記載の情報処理装置。
  7. 前記目標圧縮率を設定する設定手段をさらに備え、
    前記判定手段は、前記設定手段により設定された前記目標圧縮率を用いて、前記圧縮率の判定を行う
    請求項6に記載の情報処理装置。
  8. 前記選択手段が前記画像データの符号化結果の選択を前記圧縮データから前記非圧縮データに切り替えた位置を示す情報を、前記画像データの符号化結果に付加する付加手段をさらに備える
    請求項1に記載の情報処理装置。
  9. 情報処理装置が、
    画像データを、それぞれが複数ビットのビット深度を持つ所定数のデータ毎に、互いに同一の位のビットの集合であるビットプレーンに展開し、
    前記ビットプレーンに展開された前記画像データを、所定順に、前記ビットプレーン毎に符号化し、
    符号化されて生成された前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率より大きい場合、前記圧縮データを前記画像データの符号化結果として選択し、前記ビットプレーン毎の圧縮データの圧縮率が目標圧縮率以下の場合、符号化される前の前記ビットプレーン毎の前記画像データである非圧縮データを前記画像データの符号化結果として選択し、
    前記所定順において、非圧縮データが選択されたビットプレーンより後に位置するビットプレーンを対象として、符号化処理を中止させて前記非圧縮データを前記画像データの符号化結果として選択する
    情報処理方法。
  10. 画像データをサブバンド毎の係数データに変換するウェーブレット変換手段と、
    前記ウェーブレット変換手段により変換されて得られた前記係数データを所定数毎に互いに同一の位のビットの集合であるビットプレーンに展開するビットプレーン展開手段と、
    前記ビットプレーン展開手段により展開された前記係数データを、所定順に、前記ビットプレーン毎に符号化する符号化手段と、
    所定数の前記ビットプレーンについて、前記符号化手段により符号化されて生成された前記ビットプレーン毎の圧縮データを、前記係数データの符号化結果として選択する選択手段と、
    前記所定順において、前記選択手段により前記圧縮データが選択された前記所定数のビットプレーンより後に位置するビットプレーンを対象として、前記符号化手段を制御して符号化処理を中止させて、前記符号化手段により符号化される前の前記ビットプレーン毎の前記係数データである非圧縮データを前記係数データの符号化結果として選択する選択制御手段と
    を備える情報処理装置。
  11. 前記所定順は、前記ビット深度の上位側から下位側に向かう順である
    請求項10に記載の情報処理装置。
  12. 前記選択手段は、前記サブバンド毎に独立して設定される前記所定数の前記ビットプレーンについて、前記圧縮データを、前記係数データの符号化結果として選択する
    請求項10に記載の情報処理装置。
  13. 前記所定数を設定する設定手段をさらに備え、
    前記選択手段は、前記設定手段により設定された前記所定数の前記ビットプレーンについて、前記圧縮データを、前記係数データの符号化結果として選択する
    請求項10に記載の情報処理装置。
  14. 前記選択手段が前記画像データの符号化結果の選択を前記圧縮データから前記非圧縮データに切り替えた位置を示す情報を、前記係数データの符号化結果に付加する付加手段をさらに備える
    請求項10に記載の情報処理装置。
  15. 情報処理装置が、
    画像データをサブバンド毎の係数データに変換し、
    変換されて得られた前記係数データを所定数毎に互いに同一の位のビットの集合であるビットプレーンに展開し、
    前記ビットプレーンに展開された前記係数データを、所定順に、前記ビットプレーン毎に符号化し、
    所定数の前記ビットプレーンについて、符号化されて生成された前記ビットプレーン毎の圧縮データを、前記係数データの符号化結果として選択し、
    前記所定順において、前記圧縮データが選択された前記所定数のビットプレーンより後に位置するビットプレーンを対象として、符号化処理を中止させて、符号化される前の前記ビットプレーン毎の前記係数データである非圧縮データを前記係数データの符号化結果として選択する
    情報処理方法
JP2008263470A 2008-10-10 2008-10-10 情報処理装置および方法 Expired - Fee Related JP4780172B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008263470A JP4780172B2 (ja) 2008-10-10 2008-10-10 情報処理装置および方法
US12/555,313 US8306339B2 (en) 2008-10-10 2009-09-08 Information processing device and method
CN2009102046973A CN101729896B (zh) 2008-10-10 2009-10-10 信息处理设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008263470A JP4780172B2 (ja) 2008-10-10 2008-10-10 情報処理装置および方法

Publications (2)

Publication Number Publication Date
JP2010093669A JP2010093669A (ja) 2010-04-22
JP4780172B2 true JP4780172B2 (ja) 2011-09-28

Family

ID=42098914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008263470A Expired - Fee Related JP4780172B2 (ja) 2008-10-10 2008-10-10 情報処理装置および方法

Country Status (3)

Country Link
US (1) US8306339B2 (ja)
JP (1) JP4780172B2 (ja)
CN (1) CN101729896B (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5359302B2 (ja) * 2008-03-18 2013-12-04 ソニー株式会社 情報処理装置および方法、並びにプログラム
KR101798079B1 (ko) 2010-05-10 2017-11-16 삼성전자주식회사 픽셀값의 차분을 이용하여 영상 프레임을 부호화하는 방법 및 이를 위한 장치
EP2599351A4 (en) * 2010-07-26 2015-05-20 Hewlett Packard Development Co METHOD AND SYSTEM FOR COMPRESSION OF BINARY PLANS BASED ON BIT POSITION
US8934725B1 (en) * 2010-08-30 2015-01-13 Accusoft Corporation Image coding and decoding methods and apparatus
US8983213B1 (en) 2010-08-30 2015-03-17 Accusoft Corporation Image coding and decoding methods and apparatus
JP2012060261A (ja) 2010-09-06 2012-03-22 Sony Corp 画像処理装置および方法
JP5741076B2 (ja) * 2010-12-09 2015-07-01 ソニー株式会社 画像処理装置及び画像処理方法
JP5817125B2 (ja) * 2011-01-21 2015-11-18 ソニー株式会社 画像処理装置および方法
AU2011203169C1 (en) 2011-06-29 2014-07-17 Canon Kabushiki Kaisha Compression of high bit-depth images
CN102547291B (zh) * 2012-02-08 2014-07-23 中国电影科学技术研究所 基于fpga的jpeg2000图像解码装置及方法
KR102005227B1 (ko) 2013-03-12 2019-07-30 삼성전자 주식회사 데이터 처리 시스템과 이의 동작 방법
EP3466077A4 (en) * 2016-05-23 2020-07-22 Kakadu R & D Pty Ltd IMAGE COMPRESSION PROCESS AND APPARATUS

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2939301B2 (ja) 1990-05-07 1999-08-25 日本新薬株式会社 経口摂取組成物
JP3337365B2 (ja) * 1996-01-23 2002-10-21 株式会社リコー 多値画像データ伝送装置
JP4026238B2 (ja) 1998-07-23 2007-12-26 ソニー株式会社 画像復号装置及び画像復号方法
JP2000341689A (ja) 1999-05-27 2000-12-08 Sony Corp ウェーブレット逆変換装置及び方法、並びにウェーブレット復号装置及び方法
JP2001102935A (ja) * 1999-09-29 2001-04-13 Seiko Epson Corp データ圧縮制御装置、データ圧縮制御方法、印刷情報形成装置、印刷システム及びプログラムを記録した記録媒体
JP4480119B2 (ja) * 2000-03-30 2010-06-16 キヤノン株式会社 画像処理装置及び画像処理方法
US6985632B2 (en) * 2000-04-17 2006-01-10 Canon Kabushiki Kaisha Image processing system, image processing apparatus, and image processing method
JP3906630B2 (ja) 2000-08-08 2007-04-18 ソニー株式会社 画像符号化装置及び方法並びに画像復号装置及び方法
JP2003125333A (ja) * 2001-10-18 2003-04-25 Sony Corp 記録装置及び記録方法、並びに再生装置及び再生方法
US7106366B2 (en) 2001-12-19 2006-09-12 Eastman Kodak Company Image capture system incorporating metadata to facilitate transcoding
US6987890B2 (en) 2002-03-27 2006-01-17 Eastman Kodak Company Producing and encoding rate-distortion information allowing optimal transcoding of compressed digital image
JP3948619B2 (ja) * 2003-03-31 2007-07-25 株式会社リコー 画像圧縮装置、画像圧縮方法、プログラム及び記録媒体
US7200277B2 (en) 2003-07-01 2007-04-03 Eastman Kodak Company Method for transcoding a JPEG2000 compressed image
JP3920862B2 (ja) * 2004-03-15 2007-05-30 オリンパス株式会社 画像変換システム
JP4687215B2 (ja) * 2005-04-18 2011-05-25 ソニー株式会社 画像信号処理装置、カメラシステム、および画像信号処理方法
JP2007028531A (ja) * 2005-07-21 2007-02-01 Fuji Xerox Co Ltd 画像符号化装置及び画像符号化方法
JP2008228208A (ja) * 2007-03-15 2008-09-25 Ricoh Co Ltd 画像符号化方法、画像符号化装置、画像符号化回路、情報記録媒体、及び、コンピュータプログラム

Also Published As

Publication number Publication date
CN101729896A (zh) 2010-06-09
US20100092097A1 (en) 2010-04-15
JP2010093669A (ja) 2010-04-22
US8306339B2 (en) 2012-11-06
CN101729896B (zh) 2012-05-30

Similar Documents

Publication Publication Date Title
JP4780172B2 (ja) 情報処理装置および方法
JP4656190B2 (ja) 情報処理装置および方法
JP4273996B2 (ja) 画像符号化装置及び方法、並びに画像復号装置及び方法
JP5359302B2 (ja) 情報処理装置および方法、並びにプログラム
JP4702928B2 (ja) 動画像符号化装置及び復号装置及びその制御方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
US6847735B2 (en) Image processing system, image processing apparatus, image input apparatus, image output apparatus and method, and storage medium
US7483575B2 (en) Picture encoding apparatus and method, program and recording medium
JP4365957B2 (ja) 画像処理方法及びその装置及び記憶媒体
US8098947B2 (en) Method and apparatus for processing image data by rearranging wavelet transform data
US20090034612A1 (en) Quantization method and apparatus in encoding/decoding
US5737448A (en) Method and apparatus for low bit rate image compression
JP5950157B2 (ja) 画像処理装置および方法、並びに、プログラム
US20110091121A1 (en) Coding apparatus and method
US20110091123A1 (en) Coding apparatus and coding method
JP5817125B2 (ja) 画像処理装置および方法
JPWO2004064405A1 (ja) 符号化方法及び復号化方法及び符号化装置及び復号化装置
US8279932B2 (en) Information processing apparatus and method
JP4841504B2 (ja) 画像符号化装置および方法
JP2005223852A (ja) 画像符号化装置および方法、ならびに画像復号装置および方法
US20090074059A1 (en) Encoding method and device for image data
JP4514464B2 (ja) 画像符号化装置および画像復号装置、ならびにそれらを利用可能な画像表示装置および方法
US20110091119A1 (en) Coding apparatus and coding method
JP2004350034A (ja) 画像符号化装置及び方法、並びに画像復号装置及び方法
Demaude et al. Using interframe correlation in a low-latency and lightweight video codec
JP2003234905A (ja) 固定長画像符号化装置及び固定長画像復号化装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100805

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100927

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110329

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110520

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110620

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

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140715

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees