JP4039076B2 - Encoding processing device, decoding processing device and method, and computer program - Google Patents

Encoding processing device, decoding processing device and method, and computer program Download PDF

Info

Publication number
JP4039076B2
JP4039076B2 JP2002040949A JP2002040949A JP4039076B2 JP 4039076 B2 JP4039076 B2 JP 4039076B2 JP 2002040949 A JP2002040949 A JP 2002040949A JP 2002040949 A JP2002040949 A JP 2002040949A JP 4039076 B2 JP4039076 B2 JP 4039076B2
Authority
JP
Japan
Prior art keywords
block
processing
dynamic range
division
quantization
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
JP2002040949A
Other languages
Japanese (ja)
Other versions
JP2003244696A (en
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 JP2002040949A priority Critical patent/JP4039076B2/en
Publication of JP2003244696A publication Critical patent/JP2003244696A/en
Application granted granted Critical
Publication of JP4039076B2 publication Critical patent/JP4039076B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラムに関する。さらに詳細には、ブロック分割した画像信号の圧縮処理としてのADRCを適用した符号化、復号化処理における改善された符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラムに関する。
【0002】
【従来の技術】
画像信号は、例えば記録媒体への記録処理、データ転送処理等の際に情報量の削減を目的とした符号化処理が行なわれることが多い。デジタル画像信号の高能率符号化処理の1つとして、ADRC(Adaptive Dynamic Range Coding)が知られている。
【0003】
ADRCは、例えば特開昭61−144989号に開示されているように、画像領域をブロック分割し、分割したブロック内に含まれる複数の画素の持つ画素値としての最大値(MAX)および最小値(MIN)の差分によって規定されるダイナミックレンジ(DR)を算出し、算出したダイナミックレンジ(DR)に適応した符号化処理を行なうものであり、ダイナミックレンジ適応型の圧縮手法である。
【0004】
ADRCによる画像符号化処理について、図を参照して説明する。図18は、画像データのADRCによる符号化処理におけるブロック分割およびダイナミックレンジの算出処理を説明する図である。例えば動画像データの1フレームの画像信号を、複数画素領域のブロックに分割し、各ブロックに含まれる画素の信号レベルの最大値と最小値とを検出する。
【0005】
なお、画素の信号レベルとは、例えば画像信号が白黒であれば輝度信号レベルが適用され、例えば0〜255の256階調の輝度レベルデータが適用される。また、カラー画像信号でYUV信号、すなわち輝度に関する輝度信号Y、色に関する2つの色信号U,Vが用いられる場合は、Y,U,Vそれぞれについて最大値と最小値とを検出し、それぞれの信号毎の量子化、すなわち符号化処理を行う。また、RGB等の色信号を適用する場合は、RGBそれぞれについて最大値と最小値とを検出し、それぞれの信号毎の量子化処理を行うことになる。
【0006】
小領域に区分けされたブロック内の画素の信号レベルは、画像の持つ相関性により近い値を持つことが多い。従って、各ブロック内の信号レベルの最大値と最小値との差を各ブロックにおけるダイナミックレンジとして定義することで、信号レベル方向の冗長度、すなわちブロック内最大信号レベル値より大きいレベルと、ブロック内最小信号レベル値より小さいレベルを取り除くことができ、各ブロック内の限定されたダイナミックレンジ内で効率のよい量子化が可能となる。
【0007】
例えば図18に示すように画像データ801を複数ブロックに分割する。次に、各ブロックに含まれる画素の持つ信号レベルを検出し、ブロック内の信号レベルデータを取得する。例えばブロック802に含まれる画素の持つ信号レベルは、信号レベルデータ803として取得される。次に、ブロック内に含まれる画素の信号レベルの最大値(MAX)、最小値(MIN)を選択し、その差分をダイナミックレンジ(DR)とする。
【0008】
このダイナミックレンジ(DR)に基づいて、ブロック内の画素の値を量子化する。量子化処理について図19を参照して説明する。量子化ビット数をnとした場合、ブロック内の各画素値から最小値(MIN)が減算され、その減算値をDR/2nで除算し、除算値に対応するコードを量子化コード(Qコード)として設定する。
【0009】
図19の例では、ブロックAとブロックBの2つのブロックについて、n=1、すなわち1ビット量子化した場合の例を示している。各ブロックには8画素含まれ、各画素の信号レベルが図に示すように分布していたとする。ブロックAのダイナミックレンジ(DR)は、ブロックAに含まれる画素の最大値と最小値によって決定し、ブロックBのダイナミックレンジ(DR)は、ブロックBに含まれる画素の最大値と最小値によって決定する。
【0010】
1ビット量子化する場合は、ダイナミックレンジを2分割し、例えば上部を[1]、下部を[0]として各画素の信号レベルに応じて量子化する。この結果、ブロックAの量子化コードは、[11111001]として構成され、ブロックBの量子化コード(Qコード)は、[00001111]により構成される。例えば2ビット量子化の場合は、各画素について、[00]、[01]、[10]、[11]の4値が設定可能となり、ダイナミックレンジが22=4分割されて、各画素にいずれかの量子化コード(Qコード)が割り当てられることになる。3ビット量子化の場合は、23=8分割されることになる。
【0011】
図20は、ADRC符号化処理を行なった場合の各ブロックのブロック情報の構成を示す図である。ブロック情報には、各ブロックに含まれる画素の信号レベルの最小値(MIN)、ダイナミックレンジ(DR)、及び、上述した処理で算出した量子化コード(Qコード)が含まれる。例えば信号レベルが0〜255である場合、最小値(MIN)を8ビット、ダイナミックレンジ(DR)を8ビット、量子化コード(Qコード)をk×nビットとして構成することができる。ただし、nは量子化ビット数、kはブロック内の画素数である。
【0012】
ADRCによる符号化(エンコード)処理および復号(デコード)処理の手順を図21に示す。
【0013】
ADRC符号化処理では、ステップS801において画像データをブロック分割し、ステップS802において、ブロック内の最大値(MAX)、最小値(MIN)を検出する。次にステップS803で、各分割ブロック内のダイナミックレンジ(DR)を求め、ステップS804で、各ブロックの画素値−最小値(MIN)を算出し、ステップS805において、予め定められた量子化ビット数=nに基づいて、各画素値の量子化を実行し、ステップS806で、最小値(MIN)、ダイナミックレンジ(DR)、量子化コード(Qコード)からなるブロック情報(図20参照)を生成する。
【0014】
具体的なADRC処理による量子化コード(Qコード)の生成は、下式に従って実行される。
【0015】
【数1】
DR=MAX−MIN+1
Δ=DR/2n
Q=(x−MIN+0.5)/Δ (DR≧2nの場合)
Q=(x−MIN) (DR<2nの場合)
【0016】
上記式において、DR:ダイナミックレンジ、MAX:最大値、MIN:最小値、Q:量子化コード(Qコード)、x:画素値、Δ:量子化ステップ幅、n:量子化ビット数である。DR<2nの場合の量子化コード:Qの算出においては、Δ:量子化ステップ幅による除算を行なうことなく、各ブロックの画素値−最小値(x−MIN)そのものを量子化コードとして適用する。(x−MIN)の値そのものがnビット以下のコードとして表現可能となるからである。また、DR=MAX−MIN+1における[+1]は、MAX=MINの場合において、DR=1と設定するための処理である。
【0017】
一方、ADRCによる符号化(エンコード)によって生成されたブロック情報に基づく復号(デコード)処理の手順について図21を参照して説明する。復号処理では、ステップS811において、最小値(MIN)、ダイナミックレンジ(DR)、量子化コード(Qコード)からなるブロック情報を取得する。
【0018】
ステップS812において、ブロック情報に基づく復号(デコード)処理を実行する。デコード処理の具体的処理は復元画素値をx’とすると、以下の、x’算出式として示される。
【0019】
【数2】
x’=(Q+0.5)×Δ+MIN(DR≧2nの場合)
x’=(Q+MIN) (DR<2nの場合)
【0020】
上記式において、x’:復元画素値、MIN:最小値、Q:量子化コード(Qコード)、Δ:量子化ステップ幅、n:量子化ビット数である。
【0021】
ステップS813において、上記式において算出された画素値x’に基づいて各画素値を決定して画像再生を実行する。
【0022】
なお、前述したように、画素値は、例えば画像信号が白黒であれば、輝度信号レベル値が適用され、カラーの画像信号では、例えばYUVなどの、輝度に関する輝度信号Y、並びに色に関する2つの色信号U,Vが画素値として用いられ、Y,U,Vそれぞれの値についての符号化処理、復号処理が実行されることになる。
【0023】
上述したADRCによる量子化(符号化)処理、復号処理は、各ブロック内の画素値に適用する符号化ビット数を同一とした例である。例えば量子化ビット数:n=1として設定した場合であれば、すべてのブロックにおいて1ビットの量子化処理を行ない、量子化ビット数:n=2として設定した場合であれば、すべてのブロックにおいて2ビットの量子化処理を行なう構成例である。
【0024】
しかし、量子化ビット数をすべてのブロックにおいて共通化すると、ダイナミックレンジ(DR)の大きいブロックにおいても、また、小さいブロックにおいても、同一のビット数の量子化が行われることになり、ダイナミックレンジの大きいブロックにおける量子化ステップ幅が大きくなり、復号処理の際に元の画素値と復元画素値との差が大きくなる場合がある。
【0025】
そこで、ダイナミックレンジ(DR)の大きいブロックにおける量子化ビット数と、ダイナミックレンジ(DR)の小さいブロックにおける量子化ビット数を異ならせて、符号化処理を行なう可変長ADRCが考案された。
【0026】
可変長ADRCの基本的考え方は、ダイナミックレンジ(DR)の大きいブロックにおける量子化ビット数を大きくし、ダイナミックレンジ(DR)の小さいブロックにおける量子化ビット数を小さくするものであり、例えば特開昭62−128621号にその基本構成が示されている。
【0027】
具体的には、例えばダイナミックレンジ(DR)の大きいブロックにおける量子化ビット数を3ビットとして、ダイナミックレンジ(DR)の小さいブロックにおける量子化ビット数を1ビットとするなどの処理が行なわれる。このような処理を行なうことで、ダイナミックレンジ(DR)の小さいブロックにおいては、DR/21として、ダイナミックレンジを2つに区分した量子化ステップ幅:Δを設定した量子化がなされ、ダイナミックレンジ(DR)の大きいブロックでは、DR/23として8つに区分した量子化ステップ幅:Δ設定による量子化が実行可能となり、ダイナミックレンジ(DR)の大きいブロックにおいても、より細かい量子化ステップ幅:Δの設定が可能となるので元の画素値と復号処理後の画素値との誤差を小さくすることが可能となる。
【0028】
可変長ADRCによる符号化(エンコード)処理および復号(デコード)処理の手順を図22に示す。
【0029】
可変長ADRC符号化処理では、ステップS821において画像データをブロック分割し、ステップS822において、ブロック内の最大値(MAX)、最小値(MIN)を検出する。次にステップS823で、各分割ブロック内のダイナミックレンジ(DR)を求め、ステップS824で、求めたダイナミックレンジ(DR)に基づいて、量子化ビット数を決定する。
【0030】
量子化ビット数は、例えば、予め定められた下記の量子化ビット数設定条件式に基づいて決定される。

Figure 0004039076
【0031】
上記条件式において、DRは、各ブロックのダイナミックレンジであり、th1〜thnは、予め定められた閾値である。すなわち、ダイナミックレンジ(DR)の大きいブロックほど多くのビット数が量子化ビット数として割り当てられ、ダイナミックレンジ(DR)の大きいブロックにおける量子化ステップ幅:Δが過大になることを防止している。
【0032】
各ブロックのダイナミックレンジ(DR)に基づく量子化ビット数が決定されると、次に、ステップS825で、各ブロックの画素値−最小値(MIN)を算出し、ステップS826において、ステップS824で決定した量子化ビット数=0〜nに基づいて、各画素値の量子化を実行し、ステップS827で、最小値(MIN)、ダイナミックレンジ(DR)、量子化コード(Qコード)からなるブロック情報(図20参照)を生成する。
【0033】
一方、可変長ADRCによる符号化(エンコード)によって生成されたブロック情報に基づく復号(デコード)処理の手順について図22を参照して説明する。復号処理では、ステップS831において、最小値(MIN)、ダイナミックレンジ(DR)、量子化コード(Qコード)からなるブロック情報を取得する。
【0034】
ステップS832では、ブロック情報から取得した各ブロックのダイナミックレンジ(DR)に基づいて量子化ビット数を算出する。復号側においても、上述の量子化ビット数設定条件式を保有、あるいは、符号化処理装置から取得し、量子化ビット数設定条件式に基づいて量子化ビット数を算出する。
【0035】
次に、ステップS833において、ブロック情報に基づく復号(デコード)処理を実行し、ステップS834において、デコードにより算出された画素値x’に基づいて各画素値を決定して画像再生を実行する。
【0036】
さらに、ブロックサイズをダイナミックレンジに応じて変更する構成についても、例えば特公平8−21864号に開示されている。本公報に記載の技術は、所定サイズ領域として設定した第1ブロックにおけるダイナミックレンジを計測し、計測したダイナミックレンジに応じて、第1ブロックと異なるサイズの第2ブロックを定義して各ブロックにおいてADRCを適用した符号化を実行するものである。
【0037】
図23を参照して本公報に記載の符号化処理の手順を説明する。ステップS901において、符号化対象画像を予め定めたサイズにブロック分割する。これを第1ブロックとする。
【0038】
次に、ステップS902において、処理ブロックを順次選択し、ステップS903において、選択ブロック内の画素値の最大値、最小値に基づいてダイナミックレンジ(DR)を算出する。ステップS904で、算出ダイナミックレンジと予め定めた閾値とを比較し、ダイナミックレンジが閾値より大である場合には、ステップS905に進み、第1のブロックを、さらに小さな第2のブロックに分割する。
【0039】
ステップS906では、ブロック内の画素値に基づくADRC符号化を行なう。すなわち、最小値、ダイナミックレンジ、Qコードからなるブロック情報を生成する。ステップS907において、全ブロックの処理が終了したか否かを判定し、終了していない場合は、未処理ブロックについて、ステップS902以下を繰り返し実行する。
【0040】
この処理手順に従うことにより、最初に設定した第1のブロックサイズにおいて、ダイナミックレンジの大きなブロックが再分割されて、第2のブロックサイズでADRCによる符号化が実行されるため、量子化ステップ幅が過大になることによる誤差の発生が抑制されることになる。
【0041】
【発明が解決しようとする課題】
しかしながら、上述した特公平8−21864号に記載のブロックサイズの変更を伴う処理において、所定の圧縮率が要求される場合、まず、第1のブロックサイズをどのように設定するかの処理基準を設定することが必要であり、画像の大きさ、圧縮率等の様々な要素を考慮して第1のブロックサイズを設定することが必要となるという問題がある。また、第2のブロックサイズを適用すべきダイナミックレンジの閾値設定処理も必要となる。最適な閾値は、画像に応じて、また出力しようとする符号化データの圧縮率に応じて異なり、最適な閾値の設定は容易とはいえなかった。
【0042】
本発明は、上述の問題点に鑑みてなされたものであり、ブロック分割によるADRC符号化および復号処理において、様々なブロックサイズを適用した処理を効率的に、実行可能とし、様々な画像データに応じて最適なブロック分割に基づく符号化、復号を実行可能とした符号化処理を実現する符号化処理装置、復号処理装置、および方法、並びにコンピュータ・プログラムを提供するものである。
【0043】
【課題を解決するための手段】
本発明の第1の側面は、
画像データの符号化処理を実行する符号化処理装置であり、
画像を構成する分割画素領域をブロックとして設定するブロック分割手段と、
前記ブロック分割手段において設定されたブロック単位で、ADRC( Adaptive Dynamic Range Coding )による量子化処理を実行する量子化処理手段と、
を有し、
前記ブロック分割手段は、
予定圧縮率から算出される符号化データとしての許容データ量、および再分割処理により増加するデータ量から再分割処理ブロック許容数を算出し、分割後のブロック数が前記再分割処理ブロック許容数になるまで、設定済みのブロックについてダイナミックレンジの大きいブロックから順に再分割対象ブロックとして選定して再分割することを特徴とする符号化処理装置にある。
【0044】
さらに、本発明の符号化処理装置の一実施態様において、前記ブロック分割手段は、前記設定済みのブロックを再分割処理対象ブロックの候補である第1の選択候補ブロックとして設定し、前記第1の選択候補ブロック中でダイナミックレンジが最大である第2の選択候補ブロックのブロックサイズが所定のブロックサイズ以下である場合、前記第2の選択候補ブロックを前記第1の選択候補ブロックから除外し、それ以外である場合、前記第2の選択候補ブロックを第3の選択候補ブロックとし、前記第3の選択候補ブロックとダイナミックレンジが等しいブロックがない場合、前記第3の選択候補ブロックを再分割処理対象ブロックとして選定し、それ以外である場合、前記第3の選択ブロック及び前記第3の選択候補ブロックとダイナミックレンジが等しいブロックのうちブロックサイズが最大のブロックを第4の選択候補ブロックとし、前記第4の選択候補ブロックとブロックサイズの等しいブロックがない場合、前記第4の選択候補ブロックを再分割処理対象ブロックとして選定し、それ以外である場合、前記第4の選択候補ブロック及び前記第4の選択候補ブロックとブロックサイズの等しいブロックのうち再分割前のダイナミックレンジと再分割後のダイナミックレンジとの差が最大のブロックを再分割処理対象ブロックとして選定する選定処理を行うことを特徴とする。
【0045】
さらに、本発明の符号化処理装置の一実施態様において、前記ブロック分割手段は、符号化対象画像を4分割し、該4分割ブロックを前記設定済みのブロックとして設定し前記選定処理を行うことにより、再分割処理対象ブロックを選定する処理を実行する構成であることを特徴とする。
【0046】
さらに、本発明の符号化処理装置の一実施態様において、前記符号化処理装置は、さらに間引き処理手段を有し、前記間引き処理手段は、前記設定済みのブロック内ダイナミックレンジが予め定めた閾値以下のブロックについて、画素をチェック状に間引く間引き処理を実行し、前記量子化処理手段は、前記間引き処理手段の間引き処理後の残留画素についての量子化処理を実行する構成であることを特徴とする
【0049】
さらに、本発明の符号化処理装置の一実施態様において、前記量子化処理手段の適用する量子化処理は、ADRC(Adaptive Dynamic Range Coding)に基づく処理を実行し、前記ブロック分割手段の設定した各ブロックの画素値の最小値(MIN)、およびダイナミックレンジ(DR)に基づいて量子化コード(Qコード)を算出する処理を実行する構成であることを特徴とする。
【0050】
さらに、本発明の符号化処理装置の一実施態様において、前記符号化処理装置は、各ブロックの画素値の最小値(MIN)、およびダイナミックレンジ(DR)、量子化コード(Qコード)からなるブロック情報と、前記ブロック分割手段の設定したブロック位置を示すブロック分割情報とを有する符号化データを出力する構成であることを特徴とする。
【0051】
さらに、本発明の符号化処理装置の一実施態様において、前記符号化処理装置は、各ブロックの画素値の最小値(MIN)、およびダイナミックレンジ(DR)、量子化コード(Qコード)からなるブロック情報と、各ブロック内の画素間引きの実行有無を示す付加情報とを有する符号化データを出力する構成であることを特徴とする。
【0052】
さらに、本発明の符号化処理装置の一実施態様において、前記符号化処理装置は、各ブロックの画素値の最小値(MIN)、およびダイナミックレンジ(DR)、量子化コード(Qコード)からなるブロック情報と、ブロックが再分割されたブロックであるか否かを示す付加情報とを有する符号化データを出力する構成であることを特徴とする。
【0053】
さらに、本発明の第2の側面は、
画像を構成する分割画素領域であるブロック単位のADRC( Adaptive Dynamic Range Coding )による量子化処理により生成された符号化画像データの復号処理を実行する復号処理装置であり、
前記符号化画像データは、予定圧縮率から算出される符号化データとしての許容データ量、およびブロック再分割処理により増加するデータ量から算出される再分割処理ブロック許容数になるまでダイナミックレンジの大きいブロックから順に再分割を行って設定した複数のブロックの各々について、ブロック単位で生成した符号化データによって構成され、
前記復号処理装置は、
各ブロック単位の符号化データとしてのブロック情報に格納された最小値(MIN)、およびダイナミックレンジ(DR)、および各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行する復号処理手段と、
前記符号化データ内に格納されたブロック再分割情報に基づいて復元ブロックの位置を識別し、ブロック再構成を実行するブロック再構成部と、
を有することを特徴とする復号処理装置にある。
【0054】
さらに、本発明の復号処理装置の一実施態様において、前記復号処理手段の適用する復号処理は、ADRC(Adaptive Dynamic Range Coding)に対応する逆量子化処理であり、前記ブロックに対応する最小値(MIN)、およびダイナミックレンジ(DR)に基づいて復元画素値を算出する処理を実行する構成であることを特徴とする。
【0055】
さらに、本発明の復号処理装置の一実施態様において、前記復号処理装置は、さらに、前記ブロック情報に格納された量子化コードが、ブロック内の全画素対応データではなく、間引きされたデータである場合の間引きデータ復元処理を実行する間引きデータ復元手段を有し、前記間引きデータ復元手段は、前記復号処理手段が量子化コードに基づいて復号した複数の復元画素値の平均値を、間引き画素データの画素値として設定する処理を実行する構成であることを特徴とする。
【0056】
さらに、本発明の第3の側面は、
符号化処理装置において、画像データの符号化処理を実行する符号化処理方法であり、
ブロック分割手段が、画像を構成する分割画素領域をブロックとして設定するブロック分割ステップと、
量子化処理手段が、前記ブロック分割ステップにおいて設定されたブロック単位で、ADRC( Adaptive Dynamic Range Coding )による量子化処理を実行する量子化処理ステップと、
を有し、
前記ブロック分割ステップは、
予定圧縮率から算出される符号化データとしての許容データ量、および再分割処理により増加するデータ量から再分割処理ブロック許容数を算出し、分割後のブロック数が前記再分割処理ブロック許容数になるまで、設定済みのブロックについてダイナミックレンジの大きいブロックから順に再分割対象ブロックとして選定して再分割することを特徴とする符号化処理方法にある。
【0057】
さらに、本発明の第4の側面は、
復号処理装置において、画像を構成する分割画素領域であるブロック単位のADRC( Adaptive Dynamic Range Coding )による量子化処理により生成された符号化画像データの復号処理を実行する復号処理方法であり、
前記符号化画像データは、予定圧縮率から算出される符号化データとしての許容データ量、およびブロック再分割処理により増加するデータ量から算出される再分割処理ブロック許容数になるまでダイナミックレンジの大きいブロックから順に再分割を行って設定した複数のブロックの各々について、ブロック単位で生成した符号化データによって構成され、
前記復号処理方法は、
復号処理手段が、各ブロック単位の符号化データとしてのブロック情報に格納された最小値(MIN)、およびダイナミックレンジ(DR)、および各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行する復号処理ステップと、
ブロック再構成部が、前記符号化データ内に格納されたブロック再分割情報に基づいて復元ブロックの位置を識別し、ブロック再構成を実行するブロック再構成ステップと、
を有することを特徴とする復号処理方法にある。
【0058】
さらに、本発明の第5の側面は、
符号化処理装置において、画像データの符号化処理を実行する符号化処理の実行プログラムとしてのコンピュータ・プログラムであって、
ブロック分割手段に、画像を構成する分割画素領域をブロックとして設定させるブロック分割ステップと、
量子化処理手段に、前記ブロック分割ステップにおいて設定されたブロック単位で、ADRC( Adaptive Dynamic Range Coding )による量子化処理を実行させる量子化処理ステップと、
を有し、
前記ブロック分割ステップは、さらに、
予定圧縮率から算出される符号化データとしての許容データ量、および再分割処理により増加するデータ量から再分割処理ブロック許容数を算出し、分割後のブロック数が前記再分割処理ブロック許容数になるまで、設定済みのブロックについてダイナミックレンジの大きいブロックから順に再分割対象ブロックとして選定して再分割させるステップを、
を有することを特徴とするコンピュータ・プログラムにある。
【0059】
さらに、本発明の第6の側面は、
復号処理装置において、画像を構成する分割画素領域であるブロック単位のADRC( Adaptive Dynamic Range Coding )による量子化処理により生成された符号化画像データの復号処理を実行する復号処理の実行プログラムとしてのコンピュータ・プログラムであって、
前記符号化画像データは、予定圧縮率から算出される符号化データとしての許容データ量、およびブロック再分割処理により増加するデータ量から算出される再分割処理ブロック許容数になるまでダイナミックレンジの大きいブロックから順に再分割を行って設定した複数のブロックの各々について、ブロック単位で生成した符号化データによって構成され、
前記コンピュータ・プログラムは、
復号処理手段に、各ブロック単位の符号化データとしてのブロック情報に格納された最小値(MIN)、およびダイナミックレンジ(DR)、および各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行させる復号処理ステップと、
ブロック再構成部に、前記符号化データ内に格納されたブロック再分割情報に基づいて復元ブロックの位置を識別し、ブロック再構成を実行させるブロック再構成ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
【0060】
さらに、本発明の第7の側面は、
画像データの符号化処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを提供するプログラム記録媒体であって、前記コンピュータ・プログラムは、
画像を構成する分割画素領域をブロックとして設定させるブロック分割ステップと、
前記ブロック分割ステップにおいて設定されたブロック単位で、ADRC( Adaptive Dynamic Range Coding )による量子化処理を実行させる量子化処理ステップと、
を有し、
前記ブロック分割ステップは、さらに、
予定圧縮率から算出される符号化データとしての許容データ量、および再分割処理により増加するデータ量から再分割処理ブロック許容数を算出し、分割後のブロック数が前記再分割処理ブロック許容数になるまで、設定済みのブロックについてダイナミックレンジの大きいブロックから順に再分割対象ブロックとして選定して再分割させるステップを、
を具備することを特徴とするプログラム記録媒体にある。
【0061】
さらに、本発明の第8の側面は、
画像を構成する分割画素領域であるブロック単位のADRC( Adaptive Dynamic Range Coding )による量子化処理により生成された符号化画像データの復号処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを提供するプログラム記録媒体であって、
前記符号化画像データは、予定圧縮率から算出される符号化データとしての許容データ量、およびブロック再分割処理により増加するデータ量から算出される再分割処理ブロック許容数になるまでダイナミックレンジの大きいブロックから順に再分割を行って設定した複数のブロックの各々について、ブロック単位で生成した符号化データによって構成され、
前記コンピュータ・プログラムは、
各ブロック単位の符号化データとしてのブロック情報に格納された最小値(MIN)、およびダイナミックレンジ(DR)、および各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行させる復号処理ステップと、
前記符号化データ内に格納されたブロック再分割情報に基づいて復元ブロックの位置を識別し、ブロック再構成を実行させるブロック再構成ステップと、
を具備することを特徴とするプログラム記録媒体にある。
【0062】
【作用】
本発明は、ADRCによる符号化処理または復号処理対象のブロックサイズを固定とせず、各ブロックのダイナミックレンジ、ブロックサイズ、再分割した際のダイナミックレンジの差異に基づいて、再分割ブロックを選択する構成であり、最適な再分割ブロックを効率的に選択することが可能となり、再分割処理により、ブロック毎のダイナミックレンジを減少させ、量子化ステップ幅の減少により、量子化誤差の低減、画質の向上が実現される。
【0063】
さらに、本発明は、ダイナミックレンジの小さいブロックを選択して、ブロック内のチェック状の画素の間引き処理を実行する構成としたことにより、符号化データのデータ量削減、圧縮率向上を可能とした。間引き処理対象ブロックの選定は、各ブロックのダイナミックレンジに基づいて判定するので、効率的な処理が可能となり、また良好な画質を保持することが可能となる。
【0064】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記憶媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【0065】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づく、より詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【0066】
【発明の実施の形態】
以下、本発明の符号化処理装置、復号処理装置、および方法について、図面を参照しながら詳細に説明する。
【0067】
図1は、本発明の符号化処理装置の構成を示すブロック図である。図1に示す符号化処理装置構成について説明する。符号化処理対象となる画像データは、まず、ブロック分割部101に入力され、符号化対象の画像領域をブロック分割する。
【0068】
本発明の符号化処理装置におけるブロック分割処理の態様について、図2を参照して説明する。符号化処理対象画像が(a)に示す画像であったとき、ブロック分割部101は、まず、(b)に示すように画像全体を4分割し、最初のブロック分割処理を実行する。次に、(c)に示すように分割ブロック内の画素値に基づいて、各ブロックのダイナミックレンジ(DR)を求める。図の例では、4つのブロックのそれぞれのダイナミックレンジが、170、213、130、175であった場合を示している。
【0069】
さらに、ブロック分割部101は、(d)に示すように、各ブロックにおけるダイナミックレンジ(DR)の値が最大のブロックを選択する。この場合、最大ダイナミックレンジ(DR)は、213のDR値を持つブロックである。ブロック分割部101は、(e)に示すように、この213のDR値を持つブロックをさらに4分割する。さらに、(f)に示すように分割ブロック内の画素値に基づいて、各ブロックのダイナミックレンジ(DR)を求める。図の例では、最初の分割ブロックのダイナミックレンジが、170、130、175であり、再度の分割処理で生成したブロックのダイナミックレンジが、160、78、128、59であった場合を示している。
【0070】
ブロック分割部は、このようなブロック分割処理を、予め定めた最大ブロック数に達するまで繰り返し実行し、ブロック設定処理を行なう。
【0071】
ブロック分割部101の詳細構成を図3に示す。ブロック分割部101は、ブロック分割処理部121、DR,ブロックサイズ判定処理部122、再分割ブロック選択部123を有し、ブロック分割処理部121において、分割されたブロック内のダイナミックレンジ、およびブロックサイズについて、DR,ブロックサイズ判定処理部122が判定し、再分割ブロック選択部123が、最大DR値を持つブロックを再分割ブロックとして選択し、選択したブロックについての分割をブロック分割処理部121が実行する。これらの処理が繰り返し実行される。
【0072】
図4にブロック分割部101が実行するブロック分割処理のフローチャートを示す。ステップS101において、初期化処理として、ブロック数=1、分割数=0の設定を行なう。ステップS102では、符号化対象画像全体を1ブロックの注目ブロックとして設定する。これは符号化対象画像全体を1ブロックとしてみなす処理であり、図2(a)の状態に対応する。
【0073】
ステップS103では、注目ブロックを4分割する。これは、図2(b)の状態に対応する。ステップS104では、分割ブロックにおける各ブロックのダイナミックレンジ(DR)を算出する。この処理は、各ブロック内に含まれる画素の画素値の解析に基づいて行われる。なお、画素値とは、例えば画像信号が白黒であれば輝度信号レベルが適用され、例えば0〜255の256階調の輝度レベルデータである。また、カラー画像信号でYUV信号、すなわち輝度に関する輝度信号Y、色に関する2つの色信号U,Vが用いられる場合は、Y,U,Vそれぞれについての信号レベルである。RGB等の色信号を適用する場合は、RGBそれぞれについての信号レベルである。ブロック分割処理、さらに量子化処理は、各信号について実行されることになるが、その処理態様は同様のものであるので、以下では、0〜255の256階調の輝度レベル信号についての処理を行なうものとして説明する。
【0074】
ステップS104で、分割ブロックにおける各ブロックのダイナミックレンジ(DR)が算出されると、ステップS105において、算出されたDR値に基づいてブロックリストが生成または更新される。
【0075】
ブロックリストの構成例を図5に示す。ブロックリストは、図5に示すように、各分割ブロックにおけるダイナミックレンジの値[DR値]、ブロックの左上端の位置データとしての座標値、ブロックサイズ(x×y)、さらに、再分割を実行した場合の現DR値との差分データ、すなわち、現ブロックのダイナミックレンジの値と、現ブロックを4つに再分割した場合のダイナミックレンジの最大値との差分データが格納される。
【0076】
ステップS105では、新たなブロックが生成された場合に、これらのデータをブロックリストに追加する処理を行なう。
【0077】
ステップS106では、ブロックリストに基づいて、注目ブロック、すなわち、再分割処理対象となるブロックの決定処理を実行する。この処理の詳細を図6のフローを参照して説明する。
【0078】
注目ブロックの設定処理において、ステップS201では、まず初期化処理として最小ブロックサイズを指定する。最小ブロックサイズの極限値は、1画素となるが、ADRC符号化処理の場合、ブロック毎の最小値(MIN)、ダイナミックレンジ(DR)、量子化コード(Qコード)が生成されることになり、最小ブロックサイズを小さく設定すると、ブロック情報が多数生成されることになり、全体としてのデータ量を増加させることになる。ただし、最小ブロックサイズが小さいほど、量子化誤差は抑制できる。従って、出力データの要求圧縮率、および許容画質に応じて、最小ブロックサイズを設定することになる。
【0079】
次に、ステップS202において、ブロックリストの読込みが行なわれる。ブロックリストは、図5に示すデータ構成を持つ。ステップS203では、ブロックリストのエントリ全体を再分割処理対象としての注目ブロックとしての選択候補とする。ステップS204では、選択候補から、最大のダイナミックレンジ(DR)を持つブロックを選択する。
【0080】
ステップS205において、選択ブロックの分割サイズ≦最小ブロックサイズであるか否かが判定され、Yesである場合は、ステップS206において、そのブロックを候補ブロックから除外し、さらに、ステップS204で除外後の選択候補から候補ブロックの選定を実行する。
【0081】
ステップS204〜S206の処理を介して候補ブロックが選択されると、ステップS207において、候補ブロックのダイナミックレンジ(DR)と等しいDR値を持つブロックが複数あるか否かが判定される。
【0082】
例えば、図5に示すブロックリスト例においては、(b),(c),(d)の3ブロックのダイナミックレンジが53と等しく、このような場合、これら複数のブロックから、再分割処理を実行すべき1つのブロックを選定することが必要となる。
【0083】
この処理が、ステップS208〜S210の処理として実行される。ステップS208では、同一DR値ブロック中、ブロックサイズが最大のブロックが選択される。等しいDR値、かつ等しいサイズのブロックがある場合(ステップS209でYes)は、ステップS210において、現ブロックのDR値と、分割後のDR値との差分が最大となるブロックを選択する処理を実行する。
【0084】
図5のブロックリストの例を参照して、ステップS208〜S210の処理について説明する。ステップS208における処理は、例えば、図5のリスト中の(b)〜(d)から、ブロックサイズが最大のブロックが選択され、(b)および(c)が選択される。さらに、ステップS210の処理として、図5のリスト中の(b),(c)から、現ブロックのDR値と、分割後のDR値との差分が最大となるブロックとして、(b)が選択される。
【0085】
このように、
(1)ダイナミックレンジが最大
(2)ブロックサイズが大、
(3)DR値差分が大
の各判定処理を、順次実行して、再分割処理対象ブロックとして1つのブロックが選択される。なお、これらの処理においても複数ブロックが候補として選択される場合は、リストの上位から1つのみを選択する等の処理を実行してもよい。
【0086】
ステップS211では、選択された1つの候補ブロックを注目ブロック、すなわち再分割処理対象ブロックとして決定する。
【0087】
図4の処理フローに戻り、ブロック分割処理の説明を続ける。図6を参照して説明したステップS106の注目ブロックの決定処理が終了すると、ステップS107に進み、現ブロック数+3≦設定最大ブロック数の判定が行なわれる。
【0088】
現ブロック数+3は、新たな再分割処理を実行した場合のブロック数を示しており、再分割を行なった場合のブロック数が、あらかじめ定めた上限ブロック数としての設定最大ブロック数以下である場合にのみ、ステップS104以下の処理、すなわち、注目ブロックの再分割処理を実行する。再分割を行なった場合のブロック数が、あらかじめ定めた上限ブロック数を超える場合は、新たな再分割処理を行なわず、ブロック分割処理を終了する。
【0089】
このように、本発明のブロック分割処理は、あらかじめ定めたブロック数を超えない範囲で、ブロック再分割が実行され、再分割対象ブロックは、前述したように、(1)ダイナミックレンジが最大、(2)ブロックサイズが大、(3)DR値差分が大の判定条件に従って選択されることになる。
【0090】
図7に、本発明の符号化処理装置(エンコーダ)の符号化処理の手順を説明するフローを示す。図1の符号化処理装置構成を参照しながら、各ステップについて説明する。
【0091】
ステップS301において、ブロック分割部101においてブロック分割を実行する。ブロック分割は、上述したように、再分割処理を含み、あらかじめ定めたブロック数に至るまで、DR値、ブロックサイズ、DR値差分に基づいて再分割処理対象ブロックが選択されて実行されるブロック分割処理である。
【0092】
次に、ステップS302では、処理対象ブロックが順次選択される。ステップS303では、処理対象ブロックの画素値解析が実行され、最小値、最大値、ダイナミックレンジ等の値が取得される。
【0093】
さらに、ステップS304では、間引き処理の実行の有無が判定され、間引き処理を実行する場合は、間引き処理部104において、間引き処理が行なわれる。間引き処理部104は、所定の画素値を他の画素データから復元することを前提とした間引き処理を実行する。この間引き処理については、後段で説明する。
【0094】
間引き処理を実行する場合は、ステップS305の間引き処理の後、間引き処理を実行しない場合は、ステップS305を省略して、ステップS306における量子化処理を実行する。
【0095】
ステップS306では、量子化処理が実行される。図1の構成においては、DR、最小値(MIN)検出部102が、処理対象ブロック内の画素値に基づいて、ダイナミックレンジ(DR)、および最小値(MIN)を算出し、量子化(符号化)処理部103が、ダイナミックレンジ(DR)、および最小値(MIN)、および各画素の画素値に基づいて、量子化コード(Qコード)を算出する。量子化(符号化)処理部103において実行する量子化コード(Qコード)算出は、下式に従った処理として実行される。
【0096】
【数3】
Δ=DR/2n
Q=(x−MIN+0.5)/Δ (DR≧2nの場合)
Q=(x−MIN) (DR<2nの場合)
……(数式a1)
【0097】
上記式において、x:画素値、Δ:量子化ステップ幅、n:量子化ビット数である。DRは、各ブロックに対応するダイナミックレンジ(DR)であり、DR、最小値(MIN)算出部102が、各ブロック内の画素値に基づいて、取得した情報が適用される。MINは、各ブロックに対応する最小値(MIN)であり、これも各ブロック内の画素値に基づいて取得した情報が適用される。
【0098】
また、可変長ADRCを適用した処理を実行する場合は、各ブロックのダイナミックレンジ(DR)に対応して予め設定された量子化ビット数に応じた量子化処理により、各画素の量子化コード(Qコード)が設定されることになる。可変長ADRCの場合の量子化ビット数は、例えば、予め定められた下記の量子化ビット数設定条件式に基づいて決定される。
【数4】
Figure 0004039076
【0099】
上記条件式(数式a2)において、DRは、各ブロックのダイナミックレンジであり、本実施例の場合は、DR、最小値(MIN)検出部102において検出する画素値に基づいて算出されるダイナミックレンジ(DR)である。th1〜thnは、予め定められた閾値である。
【0100】
可変長ADRCの場合の各ブロックと、量子化ビットの構成例について、図8を参照して説明する。
【0101】
量子化処理対象となる図8(a)に示す画像データは、ブロック分割部101において、ブロック分割され、各分割ブロック内のダイナミックレンジ(DR)、最小値(MIN)がDR、最小値(MIN)検出部102において検出され、量子化(符号化)処理部103が、各ブロックのダイナミックレンジに応じた量子化ビット数を設定して量子化処理を行なう。量子化ビット数の設定処理は、上記(数式a2)に示す如く、ブロック内のダイナミックレンジと、閾値との比較により行われる。
【0102】
図8(b)には、各ブロックの量子化コード(Qコード)の例を示しており、本例においては、ブロック1については4ビット量子化、ブロックpについては3ビット量子化、ブロックsについては4ビット量子化処理がなされている。各ブロックの量子化コード数は、ブロック内画素数:m×n=k個となり、各ブロックに含まれる量子化コードのビット総数は、ブロック1は、4×kビット、ブロックpは3×kビット、ブロックsは4×kビットとなる。
【0103】
量子化処理部103の生成した量子化コード(Qコード)は、各ブロック毎のブロック情報中に格納され、ステップS307において、ブロック情報を含む符号化データが出力、あるいは記憶手段に格納され、符号化処理を終了する。
【0104】
図9に、間引き処理を実行しない場合における符号化データの構成例を示す。符号化データは、図9に示すように、画像情報、ブロック分割情報、ブロック情報から構成される。ブロック情報は、各ブロックにおける最小値(MIN)、ダイナミックレンジ(DR)、量子化コード(Qコード)からなるデータである。
【0105】
画像情報は、画像の形式、画像の大きさ、量子化ビット数等の情報からなる付加情報である。ブロック分割情報は、ブロック分割部の実行したブロック分割態様を示すデータである。図10を参照して、ブロック分割情報の形式について説明する。
【0106】
ブロック分割情報は、符号化データを受信し、復号処理を実行する復号処理装置において、ブロック情報に基づく復号データが画像情報のどの位置の符号化データであるかを判別するために用いられる情報である。すなわち、各ブロック情報がどの位置の画像データに対応するかを判別するために用いられる。
【0107】
ブロック分割情報は、分割(子)があるブロックを[1]、分割(子)がないブロックを[0]としてそれぞれ1ビットで示し、全体画像からブロックサイズの大きなものから左上から右下に向かって、ツリー状にデータを配列した場合に生成されるシーケンスデータとして構成する。
【0108】
図10に示す画像は、分割ブロックa,b,c,d中、さらに分割のあるブロックはbのみであり、ブロックbは[1]、ブロックa,c,dは[0]が設定される。全体ブロックについては、分割(子)があるので[1]として設定され、ブロック[b]の再分割ブロックba,bb,bc,bdは、さらなる分割(子)はないので[0]が設定される。これらのデータを、上、左優先として並べることで、ブロック分割情報[101000000]が生成される。復号処理側では、このブロック分割情報に対応させて、ブロック情報に基づく復号データの画素位置を特定することが可能となる。
【0109】
ブロック分割情報の後には、図9に示すように、ブロック数に応じた数のブロック情報が格納される。ブロック情報は、各ブロックにおける最小値(MIN)、ダイナミックレンジ(DR)、量子化コード(Qコード)からなるデータである。
【0110】
本発明の符号化処理装置において生成する符号化データには、ブロック分割情報が付加されることになる。これは、ツリー構造を示すデータ量となり、このビット数は、以下の式によって示される。
ツリー構造表示ビット数
=(子を持たない最終的ブロック数−1)/3×4+1)×1bit
【0111】
上記式によって算出されるビット数の増加は、符号化データの全体ビット数に占める比率は極めて小さく、圧縮率を増大させるものとはならない。
【0112】
次に、図1の符号化処理装置構成図における間引き処理部104が実行する間引き処理について説明する。
【0113】
図11は、本発明の符号化処理装置における間引き処理部104が行なう間引き処理例を説明する図である。
【0114】
図11(a)のある分割ブロックの複数画素を示している。間引き処理は、(b)に示すように、ブロックの境界周辺画素を除いた画素部分をチェック状に選択した画素を間引き対象画素とする。これは、間引き画素の復元処理を(c)に示すように、上下および左右の画素値に基づいて実行可能とするための処置である。間引かれた画素の画素値の復元は、例えば、間引き画素の上下および左右4画素の平均値として設定する。
【0115】
符号化処理装置側では、間引き処理を実行する場合は、図1の構成における間引き処理部が、図11(b)に示すようにブロック内画素をチェック状に間引いた後、量子化処理部103が間引き後に残留した画素値についてのみ量子化コード(Qコード)を生成することになり、ブロック情報中の量子化コード数がほぼ半減し、データ量が削減される。
【0116】
なお、間引き処理は、全ての分割ブロックに対して実行する。または、全く実行しない。あるいは特定の分割ブロックに対してのみ実行する等、様々な処理形態が可能である。
【0117】
特定の分割ブロックに対してのみ間引き処理を実行する形態の一例として、ダイナミックレンジの小さいブロックを選択して、これらのブロックについてのみ間引き処理を実行する方法がある。
【0118】
ダイナミックレンジの小さいブロックは、ブロック内に含まれる画素値の差が小さいということであり、間引き処理を実行した場合において、他の周囲画素に基づく画素値補間処理を実行しても、元の画素値との差が小さくできるという理由に基づくものである。
【0119】
図12に間引き処理を選択的に実行する場合の判定処理フローを示す。ステップS401において、判定処理対象となるブロックを選択し、ステップS402において、ブロック内画素の画素値解析を実行し、ステップS403において、画素値解析により取得したブロックのダイナミックレンジ(DR)が予め設定した閾値(DRmin)より大であるか否かを判定する。
【0120】
DR>(DRmin)である場合は、間引き処理を実行せずに、ステップS405の量子化処理ステップに進み、DR>(DRmin)でない場合は、ステップS404の間引き処理を実行した後、ステップS405の量子化処理を実行する。量子化処理後のデータに基づいて、ブロック情報が生成される。
【0121】
本フローの処理に従えば、DR>(DRmin)でない場合にのみ間引きデータに基づく量子化データとしてのブロック情報が生成されることになる。従って、ブロック情報を受領して復号を実行する復号処理装置に対して、ブロック情報が、間引きデータに基づくものか否かを判定するための付加情報を各ブロック情報に対して設定することが必要となる。これらのデータ構成については、後述する。
【0122】
次に、ブロック分割の再分割処理を、予定圧縮率に基づいて実行する処理について説明する。前述の図6を参照した再分割ブロック選択処理においては、(1)ダイナミックレンジが最大、(2)ブロックサイズが大、(3)DR値差分が大の判定条件に従って、再分割ブロックを選択する処理例を説明したが、以下、初期的にあるサイズの分割ブロックを生成し、その後、予定圧縮率に基づいて、再分割ブロックを選択する処理例を図13の処理フローを参照して説明する。
【0123】
図13に示すフローの各ステップについて説明する。ステップS501において、処理対象画像を入力し、ステップS502において、入力画像を1次ブロック分割する。この1次ブロック分割は、あらかじめ設定したブロックサイズに従って実行する。ステップS503で各ブロックのダイナミックレンジ(DR)算出を実行する。
【0124】
ステップS504では、間引き処理を実行するか否かを決定するための閾値(DRmin)と、各ブロックのダイナミックレンジ(DR)比較を行ない、間引き処理実行対象ブロック数を算出する。
【0125】
ステップS505では、予め設定した予定圧縮率に基づいて、ブロックの再分割処理を実行するか否かを決定するダイナミックレンジ閾値としてのDRmaxを算出する。
【0126】
ステップS505のDRmax決定処理について、具体例を示して詳細に説明する。処理対象画像、および、1次分割ブロックサイズ、再分割ブロックサイズ、および、間引き処理実行判定閾値:DRminが以下のように設定されたとする。
【0127】
画像サイズ:704(画素)×480(画素)
1次ブロックサイズ:8(画素)×8(画素)
再分割ブロックサイズ:4(画素)×4(画素)
DRmin:35
【0128】
なお、各画素の画素値情報は8ビットデータであるとする。
この時、予定圧縮率を1/3とすると、
予定圧縮率に基づく予定情報量は、
予定情報量=(704×480×8)/3
=901120ビット……(b1)
となる。
【0129】
一方、通常のADRC処理、の各ブロック情報は、2ビット量子化を実行したとすると、
最小値(MIN):8ビット
ダイナミックレンジ:8ビット
量子化コード:8×8×2=128ビット
の総計:142ビット……(b2)
である。
【0130】
全ブロック数は、
(704×480)/(8×8)=5280
であるから、
全ブロック情報は、
5280×128=675840ビット……(b3)
となる。
【0131】
間引き処理によって削減される情報量は、
間引きブロック数=Aとすると、
1ブロック(8×8)の間引き画素数=18であるので、
間引き情報量=(2×18)×A……(b4)
となる。
【0132】
間引き処理を実行するか否かを決定するための閾値(DRmin)=35としたとき、間引きブロック数=A=125と算出されたとする。
間引き情報量=(2×18)×125
=4500ビット……(b5)
となる。
【0133】
この時、間引きのみを実行し、ブロックの再分割処理を実行しない場合の符号化データ量は、
符号化データ量=(b3)−(b5)
=675840−4500
=671340ビット……(b6)
となる。
【0134】
上記値(b6)と、予定圧縮率に基づく予定情報量としての(b1)との差分は、
差分=(b1)−(b6)
=901120−671340
=229780ビット……(b7)
となる。
【0135】
一方、1つの1次ブロック(8×8)の再ブロック化(4つの4×4)によって増加する情報量は、再ブロック(4×4)のブロック情報は、
最小値(MIN):8ビット
ダイナミックレンジ:8ビット
量子化コード:4×4×2=32ビット
の総計:48ビット……(b8)
であるから、
増加情報量=4×(b8)−(b2)
=(4×48)−142
=50ビット……(b9)
となる。
【0136】
予定圧縮率に基づく予定情報量としての(b1)との差分である(b7)と、上記ブロック再分割によって増加する情報量(b9)に基づいて、許容再分割ブロック数は、
許容再分割ブロック数=(b1)/(b9)
=229780/50
=4595.6
≒4595
となる。
【0137】
このブロック数に基づいて、各1次ブロックのダイナミックレンジを最大のものから並べ、4595個目のブロックのダイナミックレンジをDRmaxとして設定する。例えばこの値がDR=39であるとき、DRmax=39として設定する。
【0138】
以上のような処理に従って再分割を実行するか否かのダイナミックレンジ閾値(DRmax)の設定を実行する。図13の処理フローに戻り説明を続ける。
【0139】
ステップS505において、上述した処理に従って、DRmaxを算出すると、ステップS506に進み、処理対象ブロックのダイナミックレンジ(DR)と、間引き処理の実行有無判定閾値(DRmin)との比較を行ない、DR>閾値(DRmin)でない場合は、ステップS507に進み、間引き処理を実行する。
【0140】
DR>閾値(DRmin)である場合は、ステップS508に進み、処理対象ブロックのダイナミックレンジ(DR)と、再分割を実行するか否かのダイナミックレンジ閾値(DRmax)との比較を行ない、DR≧閾値(DRmax)である場合は、ステップS509のブロック再分割処理、例えば1次分割ブロック(8×8)を4つの(4×4)小ブロックに再分割する。
【0141】
その後、ステップS510の量子化処理を実行し、ステップS511において、全ブロックの処理終了を判定して、未処理ブロックがある場合は、ステップS506以下の処理を繰り返し実行して、全てのブロックについての量子化を実行する。
【0142】
次に、図14を参照して、先に説明したブロックリストを生成してブロック毎のダイナミックレンジの比較を実行して、最大のダイナミックレンジのものから順次分割する処理(図4乃至図6参照)に、図13を参照して説明した間引き処理を加えた処理について説明する。
【0143】
ステップS521において、初期化処理として、ブロック数=1、分割数=0の設定を行なう。ステップS522では、符号化対象画像全体を1ブロックの注目ブロックとして設定する。これは符号化対象画像全体を1ブロックとしてみなす処理であり、図2(a)の状態に対応する。
【0144】
ステップS523では、注目ブロックを4分割する。これは、図2(b)の状態に対応する。ステップS524では、分割ブロックにおける各ブロックのダイナミックレンジ(DR)を算出する。この処理は、各ブロック内に含まれる画素の画素値の解析に基づいて行われる。
【0145】
ステップS525では、間引き処理を実行するか否かを決定するための閾値(DRmin)と、各ブロックのダイナミックレンジ(DR)比較を行ない、間引き処理実行対象ブロック数を算出する。
【0146】
ステップS526では、処理対象ブロックのダイナミックレンジ(DR)と、間引き処理の実行有無判定閾値(DRmin)との比較を行ない、DR>閾値(DRmin)でない場合は、ステップS527に進み、間引き処理を実行する。
【0147】
ステップS528では、新たなブロックが生成された場合に、これらのデータをブロックリストに追加する処理を行なう。ブロックリストの構成は、先に図5を参照して説明したと同様であり、各分割ブロックにおけるダイナミックレンジの値[DR値]、ブロックの左上端の位置データとしての座標値、ブロックサイズ(x×y)、さらに、再分割を実行した場合の現DR値との差分データ、すなわち、現ブロックのダイナミックレンジの値と、現ブロックを4つに再分割した場合のダイナミックレンジの最大値との差分データが格納される。
【0148】
ステップS529では、ブロックリストに基づいて、注目ブロック、すなわち、再分割処理対象となるブロックの決定処理を実行する。この処理の詳細は、先に図6を参照して説明した処理となる。図6に示す処理フローに従ったS529の注目ブロックの決定処理が終了すると、ステップS530に進み、現ブロック数+1≦許容ブロック数の判定が行なわれる。
【0149】
この処理は、予定圧縮率に基づく予定情報量とブロック再分割によって増加する情報量に基づいて求められる許容再分割ブロック数[許容再分割ブロック数=(b1)/(b9)]と、再分割ブロック数+1との比較、すなわち、再分割ブロック数+1≦許容再分割ブロック数を満足するか否かの判定処理を実行する。なお、ここでは、ブロックの再分割として、1つのブロックを4分割するものとして仮定している。
【0150】
再分割ブロック数+1≦許容再分割ブロック数を満足する場合は、ステップS523以下の処理、すなわち、注目ブロックの再分割処理を実行する。再分割ブロック数+1≦許容再分割ブロック数を満足しない場合は、ステップS531に進み、ブロック分割データに基づく量子化処理を実行する。
【0151】
図13または図14の処理に従うと、間引き処理を実行したブロック、非実行のブロック、さらに再分割処理を実行したブロック、再分割を実行していないブロックが混在することになり、これら様々なブロックのブロック情報が生成されることになる。
【0152】
これらの混在ブロック情報に基づいて復号を行なう復号処理装置では、これらのブロック情報の判別を行なうことが必要となる。符号化処理装置では、これらの判別のために付加情報を各ブロック情報に設定する。
【0153】
図15に付加情報を設定したブロック情報構成例を示す。ブロック情報には、各ブロックに含まれる画素の信号レベルの最小値(MIN)、ダイナミックレンジ(DR)、及び、上述した処理で算出した量子化コード(Qコード)が含まれる。例えば信号レベルが0〜255である場合、最小値(MIN)を8ビット、ダイナミックレンジ(DR)を8ビット、量子化コード(Qコード)をk×nビットとして構成することができる。ただし、nは量子化ビット数、kはブロック内の画素数である。さらに、間引き処理の実行の有無を示すビット情報が1ビット、例えば間引き処理あり=[1]、無し=[0]、さらに、再分割処理の実行の有無を示すビット情報が1ビット、再分割あり=[1]、無し=[0]の各情報が設定される。なお、先に説明したヘッダ情報中のブロック分割情報(図9参照)に基づいてブロック情報中の量子化コードに対応する画素位置は特定可能であり、ブロック情報毎に再分割処理の実行の有無を示すビット情報を付加することは必須ではない。
【0154】
ブロック分割情報、または付加情報に基づいて、間引き処理を実行したブロック、非実行のブロック、さらに再分割処理を実行したブロック、再分割を実行していないブロックの判別が可能となる。なお、全く再分割を実行しない場合は、再分割を示すビット情報は省略可能であり、また、間引き処理を全く実行しない場合は、間引きの有無を示すビット情報が省略可能となり、これらの場合は、いずれかの1ビットのみの情報を付加情報として設定する構成としてもよい。
【0155】
次に復号処理装置の構成について、図16を参照して説明する。復号処理対象となる符号化データの構成は、図16に示す構成を有し、画像の形式、画像の大きさ、量子化ビット数等の情報からなる画像情報、ブロック情報に基づく復号データが画像情報のどの位置の符号化データであるかを判別するためのブロック分割情報、およびブロック情報から構成される。ブロック情報は、各ブロックにおける最小値(MIN)、ダイナミックレンジ(DR)、量子化コード(Qコード)からなるデータであり、さらに、再分割処理の有無、間引き処理の有無を判定するための付加情報を有する。
【0156】
符号化データ解析部201は、画像情報、ブロック分割情報を参照し、量子化ビット数、各ブロックの位置情報を取得し、逆量子化処理を実行するブロック情報を順次解析する。また、ヘッダ情報中のブロック分割情報(図9参照)または、各ブロック情報の付加情報から、各ブロックが再分割ブロックであるか、間引き処理されているか否かを判定する。
【0157】
最小値取得部203は、ブロック情報中から最小値(MIN)を取得する。DR取得部204は、ブロック情報中からダイナミックレンジ(DR)を取得する。復号(逆量子化)処理部205は、ブロック情報内の量子化コード(Qコード)と、最小値取得部203の取得した最小値(MIN)、DR取得部204の取得したダイナミックレンジ(DR)とに基づいて、復号処理を実行する。復号処理は、復元画素値をx’として、下式に従ってx’を算出する処理として実行する。
【0158】
【数5】
x’=(Q+0.5)×Δ+MIN(DR≧2nの場合)
x’=(Q+MIN) (DR<2nの場合)
……(数式a3)
【0159】
上記式において、x’:復元画素値、MIN:最小値、Q:量子化コード(Qコード)、Δ:量子化ステップ幅、n:量子化ビット数、DR:ダイナミックレンジであり、DR、およびMINは、ブロック情報から取得したダイナミックレンジ(DR)および最小値(MIN)である。
【0160】
このようにして、ブロック情報に基づいて、各画素の復元画素値x’が求められ、復元画素値に基づいて画像データが再生される。
【0161】
ただし、間引き処理を実行している場合は、間引きされた画素データの復元を、間引きデータ復元部206において実行する。間引き処理が実行されているか否かは、ブロック情報中の付加情報によってブロック情報解析部201が解析し、間引きされた情報を格納したブロック情報の処理である場合にのみ、間引きデータ復元部206における処理を実行する。
【0162】
間引きデータ復元部の処理は、先に図11を参照して説明した通りの処理であり、間引きされた画素の上下および左右の4画素の画素値の平均値を間引き画素の画素値として設定する。
【0163】
間引きされた情報を格納したブロック情報の処理である場合は、間引きデータ復元部206における間引きデータ復元処理を実行した後、復元画素値に基づく画像再生、出力を実行する。
【0164】
ブロック再構成部207は、復元画素のブロック位置、画素位置を判定する処理を実行し、符号化データに格納された再分割されているか否かの付加情報、および先に図10を参照して説明したブロック分割情報に基づいて復元画素のブロック位置、画素位置を判定する処理を実行する。
【0165】
次に、図17に示すフローチャートを参照して、本実施例に係る復号処理装置の処理手順について説明する。
【0166】
ステップS601において、復号処理対象となるブロック情報を含む符号化データを入力する。ステップS602では、入力ブロック情報から、各ブロックに対応して設定された最小値(MIN)、ダイナミックレンジ(DR)の各値を取得し、ステップS603において、ブロック情報から取得する量子化コード(Qコード)と、クラス情報テーブルから取得した最小値(MIN)、ダイナミックレンジ(DR)とに基づいて、復号処理を実行する。復号処理は、先に説明した(数式a3)に従って復元画素値x’を算出する処理として実行される。
【0167】
次に、ステップS604において、間引き処理が実行されたデータであるか否かが判定される。これはブロック情報中の付加情報(図15、図16参照)に基づいて実行される。間引き処理のなされたブロック情報でない場合は、ステップS603の復号処理において復号した画素がブロックに含まれる全画素であり、ステップS606に進む。
【0168】
ステップS604において、ブロック情報中の付加情報に基づいて間引き処理を実行していると判定した場合は、ステップS605において、間引きデータ復元部が間引きされた画素データの復元処理を実行する。すなわち、間引きされた画素の上下および左右の4画素の画素値の平均値を間引き画素の画素値として設定する。
【0169】
ステップS606では、、再分割されているか否かの付加情報、および先に図10を参照して説明したブロック分割情報に基づいて、各ブロックの位置、復元画素の位置を決定し、ステップS607において、ブロック内画素値の出力を実行する。
【0170】
上述したように、本発明の構成では、ADRCによる符号化を実行する際、ブロックサイズを固定とせず、再分割処理を行なって符号化を行なう構成としたので、ダイナミックレンジの大きなブロックを減少させることが可能となり、符号化、復号化に伴う復元画素と、元画素の差異を低減させることができ、画質の劣化を防止することが可能となる。
【0171】
また、本発明の構成では、間引き処理を実行することにより、符号化データのデータ量削減が可能となり、圧縮率を向上させることが可能となる。
【0172】
また、再分割処理対象ブロックの選定、および間引き処理対象ブロックの選定を各ブロックのダイナミックレンジに基づいて判定する構成としたので、効率的な処理が可能となり、また良好な画質を保持することが可能となる。
【0173】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0174】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【0175】
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【0176】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0177】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
【0178】
【発明の効果】
以上説明してきたように、本発明の構成によれば、ADRCによる符号化処理または復号処理対象のブロックサイズを固定とせず、各ブロックのダイナミックレンジ、ブロックサイズ、再分割した際のダイナミックレンジの差異に基づいて、再分割ブロックを選択する構成としたので、最適な再分割ブロックを効率的に選択することが可能となり、再分割処理により、ブロック毎のダイナミックレンジを減少させ、量子化ステップ幅を減少させることが可能となり、量子化誤差の低減、画質の向上が実現される。
【0179】
さらに、本発明の構成によれば、ダイナミックレンジの小さいブロックを選択して、ブロック内のチェック状の画素の間引き処理を実行することにより、符号化データのデータ量削減が可能となり、圧縮率を向上させることが可能となる。間引き処理対象ブロックの選定は、各ブロックのダイナミックレンジに基づいて判定する構成としたので、効率的な処理が可能となり、また良好な画質を保持することが可能となる。
【図面の簡単な説明】
【図1】本発明の符号化処理装置の構成を示すブロック図である。
【図2】本発明のブロック分割処理を説明する図である。
【図3】本発明の符号化処理装置のブロック分割部の構成図である。
【図4】本発明のブロック分割処理フローを示す図である。
【図5】本発明の構成に係るブロックリストの構成例を示す図である。
【図6】本発明のブロック分割対象となる注目ブロックの決定処理を説明するフロー図である。
【図7】本発明の符号化処理装置における処理を説明するフロー図である。
【図8】本発明の符号化処理装置における可変長ADRC符号化処理の量子化コード生成処理例を示す図である。
【図9】本発明の構成に係る符号化データ構成例を示す図である。
【図10】本発明の構成に係る符号化データ中のブロック分割情報を説明する図である。
【図11】本発明における間引き処理および復元処理を説明する図である。
【図12】本発明における間引き処理対象ブロックの選択処理を説明するフロー図である。
【図13】本発明の符号化処理における間引き処理、再分割処理対象ブロック選定処理を説明するフロー図である。
【図14】本発明の符号化処理における間引き処理、再分割処理対象ブロック選定処理を説明するフロー図である。
【図15】本発明の構成に係る符号化データ構成例を示す図である。
【図16】本発明の構成に復号処理装置構成例を示すブロック図である。
【図17】本発明の構成に係る復号処理手順を説明するフロー図である。
【図18】ADRC処理の概要を説明する図である。
【図19】ADRC処理における量子化処理の概要を説明する図である。
【図20】ADRC処理において生成するブロック情報の構成を説明する図である。
【図21】固定長ADRC処理の手順を説明するフロー図である。
【図22】可変長ADRC処理の手順を説明するフロー図である。
【図23】従来のブロック再分割処理を伴うADRC処理の手順を説明するフロー図である。
【符号の説明】
101 ブロック分割部
102 DR,最小値(MIN)検出部
103 量子化処理部
104 間引き処理部
121 ブロック分割処理部
122 DR,ブロックサイズ判定処理部
123 再分割ブロック選択部
201 符号化データ解析部
203 最小値(MIN)取得部
204 DR取得部
205 復号(逆量子化)処理部
206 間引きデータ復元部
207 ブロック再構成部
801 画像データ
802 ブロック
803 信号レベルデータ[0001]
BACKGROUND OF THE INVENTION
The present invention relates to an encoding processing device, a decoding processing device, a method, and a computer program. More particularly, the present invention relates to encoding using ADRC as compression processing of a block-divided image signal, improved encoding processing apparatus, decoding processing apparatus and method in decoding processing, and a computer program.
[0002]
[Prior art]
For example, an image signal is often subjected to an encoding process for the purpose of reducing the amount of information during a recording process to a recording medium, a data transfer process, or the like. ADRC (Adaptive Dynamic Range Coding) is known as one of high-efficiency encoding processes for digital image signals.
[0003]
For example, as disclosed in Japanese Patent Application Laid-Open No. 61-144899, the ADRC divides an image area into blocks, and a maximum value (MAX) and a minimum value as pixel values of a plurality of pixels included in the divided block. This is a dynamic range adaptive compression method that calculates a dynamic range (DR) defined by the difference of (MIN) and performs encoding processing adapted to the calculated dynamic range (DR).
[0004]
Image encoding processing by ADRC will be described with reference to the drawings. FIG. 18 is a diagram for explaining block division and dynamic range calculation processing in encoding processing of image data by ADRC. For example, an image signal of one frame of moving image data is divided into blocks of a plurality of pixel areas, and the maximum value and the minimum value of the signal level of the pixels included in each block are detected.
[0005]
The pixel signal level is, for example, a luminance signal level if the image signal is black and white, for example, 256-level luminance level data from 0 to 255. When a color image signal uses a YUV signal, that is, a luminance signal Y related to luminance and two color signals U and V related to color, the maximum value and the minimum value are detected for each of Y, U, and V. Quantization for each signal, that is, encoding processing is performed. Also, when applying color signals such as RGB, the maximum value and the minimum value are detected for each of RGB, and quantization processing is performed for each signal.
[0006]
In many cases, the signal level of the pixel in the block divided into small areas has a value closer to the correlation of the image. Therefore, by defining the difference between the maximum value and the minimum value of the signal level in each block as the dynamic range in each block, redundancy in the signal level direction, that is, a level greater than the maximum signal level value in the block, Levels smaller than the minimum signal level value can be removed, and efficient quantization can be performed within a limited dynamic range in each block.
[0007]
For example, as shown in FIG. 18, the image data 801 is divided into a plurality of blocks. Next, the signal level of the pixels included in each block is detected, and signal level data in the block is acquired. For example, the signal level of the pixels included in the block 802 is acquired as signal level data 803. Next, the maximum value (MAX) and the minimum value (MIN) of the signal level of the pixels included in the block are selected, and the difference is set as the dynamic range (DR).
[0008]
Based on this dynamic range (DR), the values of the pixels in the block are quantized. The quantization process will be described with reference to FIG. When the number of quantization bits is n, the minimum value (MIN) is subtracted from each pixel value in the block, and the subtracted value is DR / 2.nThe code corresponding to the division value is set as a quantization code (Q code).
[0009]
The example of FIG. 19 shows an example in which n = 1, that is, 1-bit quantization is performed on two blocks, block A and block B. Assume that each block includes 8 pixels, and the signal level of each pixel is distributed as shown in the figure. The dynamic range (DR) of the block A is determined by the maximum value and the minimum value of the pixels included in the block A, and the dynamic range (DR) of the block B is determined by the maximum value and the minimum value of the pixels included in the block B. To do.
[0010]
In the case of 1-bit quantization, the dynamic range is divided into two, for example, the upper part is [1] and the lower part is [0], and quantization is performed according to the signal level of each pixel. As a result, the quantization code for block A is configured as [11111001], and the quantization code (Q code) for block B is configured as [00001111]. For example, in the case of 2-bit quantization, four values of [00], [01], [10], and [11] can be set for each pixel, and the dynamic range is 22= 4 divisions, and any quantization code (Q code) is assigned to each pixel. 2 for 3 bit quantizationThree= 8 divisions.
[0011]
FIG. 20 is a diagram illustrating a configuration of block information of each block when ADRC encoding processing is performed. The block information includes a minimum value (MIN) of a signal level of a pixel included in each block, a dynamic range (DR), and a quantization code (Q code) calculated by the above-described processing. For example, when the signal level is 0 to 255, the minimum value (MIN) is 8 bits, the dynamic range (DR) is 8 bits, and the quantization code (Q code) is k × n bits. Here, n is the number of quantization bits, and k is the number of pixels in the block.
[0012]
The procedure of encoding (encoding) processing and decoding (decoding) processing by ADRC is shown in FIG.
[0013]
In the ADRC encoding process, image data is divided into blocks in step S801, and the maximum value (MAX) and minimum value (MIN) in the block are detected in step S802. In step S803, the dynamic range (DR) in each divided block is obtained. In step S804, the pixel value-minimum value (MIN) of each block is calculated. In step S805, a predetermined number of quantization bits is obtained. Quantization of each pixel value is executed based on = n, and block information (see FIG. 20) including the minimum value (MIN), dynamic range (DR), and quantization code (Q code) is generated in step S806. To do.
[0014]
The generation of a quantization code (Q code) by specific ADRC processing is executed according to the following equation.
[0015]
[Expression 1]
DR = MAX-MIN + 1
Δ = DR / 2n
Q = (x−MIN + 0.5) / Δ (DR ≧ 2nin the case of)
Q = (x−MIN) (DR <2nin the case of)
[0016]
In the above formula, DR: dynamic range, MAX: maximum value, MIN: minimum value, Q: quantization code (Q code), x: pixel value, Δ: quantization step width, and n: number of quantization bits. DR <2nIn the calculation of the quantization code Q in the case of [Delta], [Delta]: The pixel value-minimum value (x-MIN) of each block itself is applied as the quantization code without performing division by the quantization step width. This is because the value of (x-MIN) can be expressed as a code of n bits or less. [+1] in DR = MAX−MIN + 1 is a process for setting DR = 1 in the case of MAX = MIN.
[0017]
On the other hand, a procedure of decoding processing based on block information generated by encoding (encoding) by ADRC will be described with reference to FIG. In the decoding process, in step S811, block information including a minimum value (MIN), a dynamic range (DR), and a quantization code (Q code) is acquired.
[0018]
In step S812, a decoding process based on the block information is executed. A specific process of the decoding process is represented by the following x ′ calculation formula where the restored pixel value is x ′.
[0019]
[Expression 2]
x ′ = (Q + 0.5) × Δ + MIN (DR ≧ 2nin the case of)
x '= (Q + MIN) (DR <2nin the case of)
[0020]
In the above formula, x ′ is the restored pixel value, MIN is the minimum value, Q is the quantization code (Q code), Δ is the quantization step width, and n is the number of quantization bits.
[0021]
In step S813, each pixel value is determined based on the pixel value x 'calculated in the above equation, and image reproduction is executed.
[0022]
Note that, as described above, for example, if the image signal is black and white, the luminance signal level value is applied to the pixel value, and for the color image signal, for example, the luminance signal Y related to luminance, such as YUV, and two color related values. The color signals U and V are used as pixel values, and the encoding process and the decoding process for each of the Y, U, and V values are executed.
[0023]
The above-described quantization (encoding) processing and decoding processing by ADRC are examples in which the number of encoding bits applied to the pixel values in each block is the same. For example, if the number of quantization bits is set as n = 1, 1-bit quantization processing is performed in all blocks, and if the number of quantization bits is set as n = 2, in all blocks. This is a configuration example for performing 2-bit quantization processing.
[0024]
However, if the number of quantization bits is made common in all blocks, the same number of bits are quantized in a block having a large dynamic range (DR) and a block having a small dynamic range (DR). In some cases, the quantization step width in a large block becomes large, and the difference between the original pixel value and the restored pixel value becomes large during the decoding process.
[0025]
Therefore, a variable length ADRC has been devised in which encoding processing is performed by varying the number of quantization bits in a block having a large dynamic range (DR) and the number of quantization bits in a block having a small dynamic range (DR).
[0026]
The basic idea of variable length ADRC is to increase the number of quantization bits in a block having a large dynamic range (DR) and to reduce the number of quantization bits in a block having a small dynamic range (DR). The basic structure is shown in 62-128621.
[0027]
Specifically, for example, the number of quantization bits in a block with a large dynamic range (DR) is set to 3 bits, and the number of quantization bits in a block with a small dynamic range (DR) is set to 1 bit. By performing such processing, in a block with a small dynamic range (DR), DR / 21Quantization step width obtained by dividing the dynamic range into two: Quantization is performed with Δ set, and in a block with a large dynamic range (DR), DR / 2ThreeQuantization step width divided into eight: Quantization by Δ setting can be executed, and even in a block having a large dynamic range (DR), a finer quantization step width: Δ can be set. The error between the value and the pixel value after the decoding process can be reduced.
[0028]
The procedure of encoding (encoding) processing and decoding (decoding) processing by variable length ADRC is shown in FIG.
[0029]
In the variable length ADRC encoding process, the image data is divided into blocks in step S821, and the maximum value (MAX) and the minimum value (MIN) in the block are detected in step S822. Next, in step S823, the dynamic range (DR) in each divided block is obtained, and in step S824, the number of quantization bits is determined based on the obtained dynamic range (DR).
[0030]
The number of quantization bits is determined based on, for example, the following predetermined quantization bit number setting conditional expression.
Figure 0004039076
[0031]
In the above conditional expression, DR is the dynamic range of each block, and th1~ ThnIs a predetermined threshold. That is, a block with a larger dynamic range (DR) is assigned a larger number of bits as the number of quantization bits, and the quantization step width: Δ in a block with a larger dynamic range (DR) is prevented from becoming excessive.
[0032]
Once the number of quantization bits based on the dynamic range (DR) of each block is determined, in step S825, the pixel value-minimum value (MIN) of each block is calculated, and in step S826, the determination is made in step S824. Based on the number of quantization bits = 0 to n, each pixel value is quantized, and in step S827, block information including a minimum value (MIN), a dynamic range (DR), and a quantization code (Q code). (See FIG. 20).
[0033]
On the other hand, a procedure of decoding processing based on block information generated by encoding with variable length ADRC will be described with reference to FIG. In the decoding process, block information including a minimum value (MIN), a dynamic range (DR), and a quantization code (Q code) is acquired in step S831.
[0034]
In step S832, the number of quantization bits is calculated based on the dynamic range (DR) of each block acquired from the block information. Also on the decoding side, the quantization bit number setting conditional expression described above is held or acquired from the encoding processing device, and the quantization bit number is calculated based on the quantization bit number setting conditional expression.
[0035]
Next, in step S833, decoding (decoding) processing based on block information is executed, and in step S834, each pixel value is determined based on the pixel value x 'calculated by decoding, and image reproduction is executed.
[0036]
Further, a configuration for changing the block size according to the dynamic range is disclosed in, for example, Japanese Patent Publication No. 8-21864. The technique described in this publication measures a dynamic range in a first block set as a predetermined size region, and defines a second block having a different size from the first block according to the measured dynamic range, and ADRC in each block. Is applied.
[0037]
The procedure of the encoding process described in this publication will be described with reference to FIG. In step S901, the encoding target image is divided into blocks having a predetermined size. This is the first block.
[0038]
Next, in step S902, processing blocks are sequentially selected, and in step S903, a dynamic range (DR) is calculated based on the maximum value and the minimum value of the pixel values in the selected block. In step S904, the calculated dynamic range is compared with a predetermined threshold value. If the dynamic range is larger than the threshold value, the process proceeds to step S905 to divide the first block into smaller second blocks.
[0039]
In step S906, ADRC encoding based on the pixel values in the block is performed. That is, block information including a minimum value, a dynamic range, and a Q code is generated. In step S907, it is determined whether or not the processing of all blocks has been completed. If the processing has not been completed, step S902 and subsequent steps are repeatedly executed for unprocessed blocks.
[0040]
By following this processing procedure, a block having a large dynamic range is re-divided in the first block size set first, and encoding by ADRC is executed in the second block size. The generation of errors due to the excessive amount is suppressed.
[0041]
[Problems to be solved by the invention]
  However, in the processing accompanied by the block size change described in the above-mentioned Japanese Patent Publication No. 8-21864,If a certain compression ratio is required,First, it is necessary to set a processing standard for how to set the first block size, and the first block size is set in consideration of various factors such as image size and compression rate. There is a problem that it is necessary. Also, a dynamic range threshold setting process to which the second block size should be applied is necessary. The optimum threshold differs depending on the image and the compression rate of the encoded data to be output, and it cannot be said that setting the optimum threshold is easy.
[0042]
The present invention has been made in view of the above-described problems. In the ADRC encoding and decoding processing by block division, processing using various block sizes can be efficiently executed, and various image data can be processed. Accordingly, the present invention provides an encoding processing device, a decoding processing device, a method, and a computer program for realizing an encoding process that enables encoding and decoding based on optimal block division.
[0043]
[Means for Solving the Problems]
  The first aspect of the present invention is:
  An encoding processing device that executes encoding processing of image data,
  Block dividing means for setting divided pixel regions constituting an image as a block;
  In block units set in the block dividing means,ADRC ( Adaptive Dynamic Range Coding )byA quantization processing means for performing quantization processing;
  Have
  The block dividing means includes
  The allowable number of re-division processing blocks is calculated from the allowable data amount as encoded data calculated from the scheduled compression rate and the data amount increased by the re-division processing, and the number of blocks after division becomes the allowable number of re-division processing blocks Until it becomes, the blocks that have already been set are selected as the blocks to be repartitioned in order from the block with the larger dynamic range and repartitioned.The present invention resides in an encoding processing device.
[0044]
  Furthermore, in one embodiment of the encoding processing apparatus of the present invention, the block dividing means comprises:The set block is set as a first selection candidate block that is a candidate for a subdivision process target block, and the block size of the second selection candidate block having the maximum dynamic range in the first selection candidate block is If the block size is equal to or smaller than a predetermined block size, the second selection candidate block is excluded from the first selection candidate block; otherwise, the second selection candidate block is set as a third selection candidate block; When there is no block having the same dynamic range as that of the third selection candidate block, the third selection candidate block is selected as a subdivision processing target block. Otherwise, the third selection block and the third selection block are selected. The block with the largest block size among the blocks with the same dynamic range as the selection candidate block is the fourth selection. If there is no block having the same block size as that of the fourth selection candidate block, the fourth selection candidate block is selected as a subdivision processing target block. Otherwise, the fourth selection candidate is selected. A selection process is performed in which a block having the largest difference between the dynamic range before subdivision and the dynamic range after subdivision is selected as a subdivision processing target block among the blocks and blocks having the same block size as the fourth selection candidate block.It is characterized by that.
[0045]
  Furthermore, in an embodiment of the encoding processing apparatus of the present invention, the block dividing means divides the encoding target image into four, and the four divided blocks are divided into four.By setting as the set block and performing the selection process,It is the structure which performs the process which selects a subdivision process target block.
[0046]
  Furthermore, in an embodiment of the encoding processing apparatus of the present invention, the encoding processing apparatus further includes a thinning processing unit, and the thinning processing unit includes:The above configuredIn blockFor blocks whose dynamic range is below a predetermined threshold,A thinning process for thinning out pixels in a check state is performed, and the quantization processing unit is configured to perform a quantization process on the residual pixels after the thinning process.
[0049]
Furthermore, in an embodiment of the encoding processing apparatus of the present invention, the quantization processing applied by the quantization processing means executes processing based on ADRC (Adaptive Dynamic Range Coding), and sets each block set by the block dividing means The present invention is characterized in that a process for calculating a quantization code (Q code) based on a minimum pixel value (MIN) and a dynamic range (DR) of a block is executed.
[0050]
Furthermore, in an embodiment of the encoding processing device of the present invention, the encoding processing device comprises a minimum value (MIN) of pixel values of each block, a dynamic range (DR), and a quantization code (Q code). The encoded data having block information and block division information indicating the block position set by the block dividing means is output.
[0051]
Furthermore, in an embodiment of the encoding processing device of the present invention, the encoding processing device comprises a minimum value (MIN) of pixel values of each block, a dynamic range (DR), and a quantization code (Q code). The present invention is characterized in that encoded data having block information and additional information indicating whether or not to perform pixel thinning in each block is output.
[0052]
Furthermore, in an embodiment of the encoding processing device of the present invention, the encoding processing device comprises a minimum value (MIN) of pixel values of each block, a dynamic range (DR), and a quantization code (Q code). The present invention is characterized in that encoded data having block information and additional information indicating whether or not the block is a subdivided block is output.
[0053]
  Furthermore, the second aspect of the present invention provides
  ADRC (block unit) that is a divided pixel area constituting an image Adaptive Dynamic Range Coding ) Generated by the quantization processA decoding processing device that performs decoding processing of encoded image data;
  The encoded image data has a large dynamic range until the allowable data amount as encoded data calculated from the planned compression rate and the allowable number of re-division processing blocks calculated from the data amount increased by block re-division processing are obtained. For each of a plurality of blocks set by performing re-division in order from the block, it is composed of encoded data generated in units of blocks,
The decryption processing device comprises:
  Based on the minimum value (MIN) and dynamic range (DR) stored in the block information as the encoded data for each block unit, and the quantization code corresponding to each pixel, the pixel value decoding process for each block unit is performed. Decryption processing means to be executed;
  A block reconstruction unit that identifies a position of a restored block based on block re-segmentation information stored in the encoded data and performs block reconstruction;
  The decoding processing apparatus is characterized by comprising:
[0054]
Furthermore, in one embodiment of the decoding processing apparatus of the present invention, the decoding processing applied by the decoding processing means is an inverse quantization processing corresponding to ADRC (Adaptive Dynamic Range Coding), and a minimum value ( MIN) and dynamic range (DR), and a process for calculating a restored pixel value is performed.
[0055]
Furthermore, in one embodiment of the decoding processing apparatus of the present invention, the decoding processing apparatus further includes a quantization code stored in the block information, which is not thinned data corresponding to all pixels in the block but thinned data. Thinned data restoring means for executing thinned data restoring processing in the case, wherein the thinned data restoring means calculates an average value of a plurality of restored pixel values decoded by the decoding processing means based on a quantization code as thinned pixel data It is the structure which performs the process set as this pixel value.
[0056]
  Furthermore, the third aspect of the present invention provides
  In the encoding processing device,An encoding processing method for executing encoding processing of image data,
  Block dividing meansA block division step for setting divided pixel regions constituting an image as a block;
  Quantization processing meansIn block units set in the block dividing step,ADRC ( Adaptive Dynamic Range Coding )byA quantization processing step for performing the quantization processing;
  Have
  The block dividing step includes:
  The allowable number of re-division processing blocks is calculated from the allowable data amount as encoded data calculated from the scheduled compression rate and the data amount increased by the re-division processing, and the number of blocks after division becomes the allowable number of re-division processing blocks Until it becomes, the blocks that have already been set are selected as the blocks to be repartitioned in order from the block with the larger dynamic range and repartitioned.There is an encoding processing method characterized by this.
[0057]
  Furthermore, the fourth aspect of the present invention provides
  In the decoding processing device, the block-unit ADRC ( Adaptive Dynamic Range Coding ) Generated by the quantization processA decoding processing method for executing decoding processing of encoded image data,
  The encoded image data has a large dynamic range until the allowable data amount as encoded data calculated from the planned compression rate and the allowable number of re-division processing blocks calculated from the data amount increased by block re-division processing are obtained. For each of a plurality of blocks set by performing re-division in order from the block, it is configured by encoded data generated in units of blocks,
The decryption processing method includes:
  Decryption processing meansBased on the minimum value (MIN) and dynamic range (DR) stored in the block information as the encoded data for each block unit, and the quantization code corresponding to each pixel, the pixel value decoding process for each block unit is performed. Decryption processing steps to be executed;
  The block reconstruction unitA block reconstruction step for identifying a position of a restored block based on block re-segmentation information stored in the encoded data and performing block reconstruction;
  A decoding processing method characterized by comprising:
[0058]
  Furthermore, the fifth aspect of the present invention provides
  In the encoding processing device,A computer program as an execution program of an encoding process for executing an encoding process of image data,
  In block dividing means,Set divided pixel areas constituting an image as a blockLetBlock dividing step,
  In the quantization processing means,In block units set in the block dividing step,ADRC ( Adaptive Dynamic Range Coding )byPerform quantizationLetA quantization processing step,
  Have
  The block dividing step further includes:
  The allowable number of re-division processing blocks is calculated from the allowable data amount as encoded data calculated from the scheduled compression rate and the data amount increased by the re-division processing, and the number of blocks after division becomes the allowable re-division processing block Until it is, select the blocks to be repartitioned in order from the block with the largest dynamic range.Step
  There is a computer program characterized by comprising:
[0059]
  Furthermore, the sixth aspect of the present invention provides
  In the decoding processing device, the block-unit ADRC ( Adaptive Dynamic Range Coding ) Generated by the quantization processA computer program as an execution program of decoding processing for executing decoding processing of encoded image data,
  The encoded image data has a large dynamic range until the allowable data amount as encoded data calculated from the planned compression rate and the allowable number of re-division processing blocks calculated from the data amount increased by block re-division processing are obtained. For each of a plurality of blocks set by performing re-division in order from the block, it is composed of encoded data generated in units of blocks,
  The computer program is
In the decryption processing means,Based on the minimum value (MIN) and dynamic range (DR) stored in the block information as the encoded data for each block unit, and the quantization code corresponding to each pixel, the pixel value decoding process for each block unit is performed. ExecutionLetDecryption processing step,
  In the block reconstruction unit,Based on the block subdivision information stored in the encoded data, the position of the restored block is identified, and block reconstruction is executed.LetA block reconstruction step,
  There is a computer program characterized by comprising:
[0060]
  Furthermore, the seventh aspect of the present invention provides
  A program recording medium for providing a computer program that allows an image data encoding process to be executed on a computer system, the computer program comprising:
  Set divided pixel areas constituting an image as a blockLetBlock dividing step,
  In block units set in the block dividing step,ADRC ( Adaptive Dynamic Range Coding )byPerform quantizationLetA quantization processing step,
  Have
  The block dividing step further includes:
  The allowable number of re-division processing blocks is calculated from the allowable data amount as encoded data calculated from the scheduled compression rate and the data amount increased by the re-division processing, and the number of blocks after division becomes the allowable number of re-division processing blocks Until it is, select the blocks to be repartitioned in order from the block with the largest dynamic range.Step
  It is in the program recording medium characterized by comprising.
[0061]
  Furthermore, the eighth aspect of the present invention provides
  ADRC (block unit) that is a divided pixel area constituting an image Adaptive Dynamic Range Coding ) Generated by the quantization processA program recording medium for providing a computer program for executing a decoding process of encoded image data on a computer system,
  The encoded image data has a large dynamic range until the allowable data amount as encoded data calculated from the planned compression rate and the allowable number of re-division processing blocks calculated from the data amount increased by block re-division processing are obtained. For each of a plurality of blocks set by performing re-division in order from the block, it is composed of encoded data generated in units of blocks,
  The computer program is
  Based on the minimum value (MIN) and dynamic range (DR) stored in the block information as the encoded data for each block unit, and the quantization code corresponding to each pixel, the pixel value decoding process for each block unit is performed. ExecutionLetDecryption processing step,
  Based on the block subdivision information stored in the encoded data, the position of the restored block is identified, and block reconstruction is executed.LetA block reconstruction step,
  It is in the program recording medium characterized by comprising.
[0062]
[Action]
The present invention does not fix the block size to be encoded or decoded by ADRC, and selects a subdivision block based on the dynamic range of each block, the block size, and the difference in dynamic range when subdivision is performed. It is possible to efficiently select the optimal subdivision block, and the subdivision process reduces the dynamic range for each block, and the quantization step width is reduced to reduce the quantization error and improve the image quality. Is realized.
[0063]
Furthermore, according to the present invention, it is possible to reduce the amount of encoded data and improve the compression rate by selecting a block with a small dynamic range and executing a check-type pixel thinning process in the block. . Since the selection of the block to be thinned out is determined based on the dynamic range of each block, efficient processing is possible and good image quality can be maintained.
[0064]
The computer program of the present invention is, for example, a storage medium or communication medium provided in a computer-readable format to a general-purpose computer system capable of executing various program codes, such as a CD, FD, MO, etc. Or a computer program that can be provided by a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer system.
[0065]
Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings. In this specification, the system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.
[0066]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, an encoding processing device, a decoding processing device, and a method according to the present invention will be described in detail with reference to the drawings.
[0067]
FIG. 1 is a block diagram showing the configuration of the encoding processing apparatus of the present invention. The configuration of the encoding processing apparatus shown in FIG. 1 will be described. The image data to be encoded is first input to the block dividing unit 101, and the image region to be encoded is divided into blocks.
[0068]
A mode of block division processing in the encoding processing apparatus of the present invention will be described with reference to FIG. When the encoding target image is the image shown in (a), the block dividing unit 101 first divides the entire image into four as shown in (b) and executes the first block dividing process. Next, as shown in (c), the dynamic range (DR) of each block is obtained based on the pixel values in the divided blocks. In the example shown in the figure, the dynamic ranges of the four blocks are 170, 213, 130, and 175, respectively.
[0069]
Further, as shown in (d), the block dividing unit 101 selects a block having the maximum dynamic range (DR) value in each block. In this case, the maximum dynamic range (DR) is a block having a DR value of 213. As shown in (e), the block division unit 101 further divides the block having the DR value of 213 into four. Further, as shown in (f), the dynamic range (DR) of each block is obtained based on the pixel values in the divided blocks. In the example of the figure, the dynamic range of the first divided block is 170, 130, and 175, and the dynamic range of the block generated by the second division process is 160, 78, 128, and 59. .
[0070]
The block division unit repeatedly executes such block division processing until a predetermined maximum number of blocks is reached, and performs block setting processing.
[0071]
A detailed configuration of the block division unit 101 is shown in FIG. The block division unit 101 includes a block division processing unit 121, a DR, a block size determination processing unit 122, and a subdivision block selection unit 123. In the block division processing unit 121, the dynamic range and block size in the divided blocks Is determined by the DR and block size determination processing unit 122, the re-division block selection unit 123 selects a block having the maximum DR value as a re-division block, and the block division processing unit 121 executes division for the selected block. To do. These processes are repeatedly executed.
[0072]
FIG. 4 shows a flowchart of block division processing executed by the block division unit 101. In step S101, the number of blocks = 1 and the number of divisions = 0 are set as initialization processing. In step S102, the entire encoding target image is set as one block of interest. This is processing that regards the entire encoding target image as one block, and corresponds to the state of FIG.
[0073]
In step S103, the block of interest is divided into four. This corresponds to the state of FIG. In step S104, the dynamic range (DR) of each block in the divided block is calculated. This process is performed based on an analysis of pixel values of pixels included in each block. The pixel value is, for example, luminance level data of 256 gradations from 0 to 255, for example, if the image signal is black and white. Further, when a color image signal uses a YUV signal, that is, a luminance signal Y related to luminance and two color signals U and V related to color, the signal levels are Y, U and V respectively. When color signals such as RGB are applied, the signal level is for each of RGB. The block division processing and further the quantization processing are executed for each signal. Since the processing mode is the same, in the following, processing for luminance level signals of 256 gradations from 0 to 255 is performed. It will be described as being performed.
[0074]
When the dynamic range (DR) of each block in the divided block is calculated in step S104, a block list is generated or updated based on the calculated DR value in step S105.
[0075]
A configuration example of the block list is shown in FIG. As shown in FIG. 5, the block list includes a dynamic range value [DR value] in each divided block, a coordinate value as position data at the upper left corner of the block, a block size (x × y), and further re-division In this case, the difference data between the current DR value and the dynamic range value of the current block and the maximum value of the dynamic range when the current block is subdivided into four are stored.
[0076]
In step S105, when a new block is generated, processing for adding these data to the block list is performed.
[0077]
In step S106, based on the block list, the process of determining the block of interest, that is, the block to be redivided is executed. Details of this processing will be described with reference to the flowchart of FIG.
[0078]
In the target block setting process, in step S201, first, a minimum block size is designated as an initialization process. The limit value of the minimum block size is one pixel, but in the case of ADRC encoding processing, the minimum value (MIN), dynamic range (DR), and quantization code (Q code) for each block are generated. If the minimum block size is set small, a large amount of block information is generated, which increases the data amount as a whole. However, as the minimum block size is smaller, the quantization error can be suppressed. Therefore, the minimum block size is set according to the required compression rate of output data and the allowable image quality.
[0079]
Next, in step S202, the block list is read. The block list has a data structure shown in FIG. In step S203, the entire entry of the block list is set as a selection candidate as a target block as a subdivision process target. In step S204, a block having the maximum dynamic range (DR) is selected from the selection candidates.
[0080]
In step S205, it is determined whether or not the division size of the selected block ≦ the minimum block size. If Yes, the block is excluded from the candidate blocks in step S206, and the selection after the exclusion is performed in step S204. Select candidate blocks from candidates.
[0081]
When a candidate block is selected through the processing in steps S204 to S206, it is determined in step S207 whether there are a plurality of blocks having a DR value equal to the dynamic range (DR) of the candidate block.
[0082]
For example, in the block list example shown in FIG. 5, the dynamic range of the three blocks (b), (c), and (d) is equal to 53. In such a case, the re-division processing is executed from the plurality of blocks. It is necessary to select one block to be used.
[0083]
This process is executed as the process of steps S208 to S210. In step S208, the block with the largest block size is selected from the same DR value blocks. If there is a block having the same DR value and the same size (Yes in step S209), in step S210, a process of selecting a block that maximizes the difference between the DR value of the current block and the DR value after division is executed. To do.
[0084]
The processing of steps S208 to S210 will be described with reference to the example of the block list in FIG. In the processing in step S208, for example, the block with the largest block size is selected from (b) to (d) in the list of FIG. 5, and (b) and (c) are selected. Further, as the processing of step S210, (b) is selected as the block that maximizes the difference between the DR value of the current block and the DR value after division from (b) and (c) in the list of FIG. Is done.
[0085]
in this way,
(1) Maximum dynamic range
(2) Large block size
(3) Large DR value difference
These determination processes are sequentially executed, and one block is selected as a subdivision process target block. In these processes, when a plurality of blocks are selected as candidates, processes such as selecting only one from the top of the list may be executed.
[0086]
In step S211, the selected one candidate block is determined as a target block, that is, a subdivision processing target block.
[0087]
Returning to the processing flow of FIG. 4, the description of the block division processing will be continued. When the process of determining the target block in step S106 described with reference to FIG. 6 ends, the process proceeds to step S107, where the current block number + 3 ≦ the set maximum block number is determined.
[0088]
Current block number +3 indicates the number of blocks when a new subdivision process is executed, and the number of blocks when subdivision is performed is less than or equal to a preset maximum number of blocks as the predetermined upper limit block number Only in step S104, the processing after step S104, that is, the subdivision processing of the block of interest is executed. If the number of blocks when re-division exceeds the predetermined upper limit number of blocks, the block division process is terminated without performing a new re-division process.
[0089]
As described above, in the block division processing of the present invention, block re-division is executed within a range not exceeding the predetermined number of blocks, and the re-division target block has (1) the maximum dynamic range, as described above ( 2) The block size is large, and (3) the DR value difference is selected according to the large determination condition.
[0090]
FIG. 7 shows a flow for explaining the procedure of the encoding process of the encoding processing apparatus (encoder) of the present invention. Each step will be described with reference to the configuration of the encoding processing apparatus in FIG.
[0091]
In step S301, the block dividing unit 101 executes block division. As described above, block division includes re-division processing, and block division is executed by selecting a re-division processing target block based on the DR value, block size, and DR value difference until a predetermined number of blocks is reached. It is processing.
[0092]
Next, in step S302, processing target blocks are sequentially selected. In step S303, pixel value analysis of the processing target block is executed, and values such as a minimum value, a maximum value, and a dynamic range are acquired.
[0093]
Further, in step S304, it is determined whether or not the thinning process is executed. When the thinning process is executed, the thinning processing unit 104 performs the thinning process. The thinning processing unit 104 performs a thinning process on the assumption that a predetermined pixel value is restored from other pixel data. This thinning process will be described later.
[0094]
In the case of executing the thinning process, after the thinning process in step S305, if the thinning process is not executed, step S305 is omitted and the quantization process in step S306 is executed.
[0095]
In step S306, a quantization process is executed. In the configuration of FIG. 1, the DR and minimum value (MIN) detection unit 102 calculates a dynamic range (DR) and a minimum value (MIN) based on the pixel value in the processing target block, and performs quantization (code). The processing unit 103 calculates a quantization code (Q code) based on the dynamic range (DR), the minimum value (MIN), and the pixel value of each pixel. The quantization code (Q code) calculation executed in the quantization (encoding) processing unit 103 is executed as a process according to the following equation.
[0096]
[Equation 3]
Δ = DR / 2n
Q = (x−MIN + 0.5) / Δ (DR ≧ 2nin the case of)
Q = (x−MIN) (DR <2nin the case of)
(Formula a1)
[0097]
In the above formula, x is the pixel value, Δ is the quantization step width, and n is the number of quantization bits. DR is a dynamic range (DR) corresponding to each block, and information acquired by the DR / minimum value (MIN) calculation unit 102 based on the pixel value in each block is applied. MIN is a minimum value (MIN) corresponding to each block, and information acquired based on the pixel value in each block is also applied.
[0098]
In addition, when executing processing using variable-length ADRC, the quantization code of each pixel (by quantization processing corresponding to the number of quantization bits set in advance corresponding to the dynamic range (DR) of each block) Q code) is set. The number of quantization bits in the case of variable length ADRC is determined based on, for example, the following predetermined quantization bit number setting conditional expression.
[Expression 4]
Figure 0004039076
[0099]
In the conditional expression (formula a2), DR is a dynamic range of each block. In the case of this embodiment, the dynamic range calculated based on the pixel value detected by the DR and minimum value (MIN) detection unit 102. (DR). th1~ ThnIs a predetermined threshold.
[0100]
A configuration example of each block and quantization bit in the case of variable length ADRC will be described with reference to FIG.
[0101]
The image data shown in FIG. 8A to be quantized is divided into blocks by the block dividing unit 101, and the dynamic range (DR), minimum value (MIN) in each divided block is DR, and minimum value (MIN). ) Detected by the detection unit 102, the quantization (encoding) processing unit 103 sets the number of quantization bits corresponding to the dynamic range of each block and performs the quantization process. The quantization bit number setting process is performed by comparing the dynamic range in the block with a threshold value, as shown in (Formula a2).
[0102]
FIG. 8B shows an example of the quantization code (Q code) of each block. In this example, the block 1 is 4-bit quantized, the block p is 3-bit quantized, and the block s Is subjected to 4-bit quantization processing. The number of quantization codes in each block is the number of pixels in the block: m × n = k. The total number of quantization codes included in each block is 4 × k bits for block 1 and 3 × k for block p. The bit and block s are 4 × k bits.
[0103]
The quantization code (Q code) generated by the quantization processing unit 103 is stored in the block information for each block. In step S307, the encoded data including the block information is output or stored in the storage means, The process is terminated.
[0104]
FIG. 9 shows a configuration example of encoded data when the thinning process is not executed. The encoded data includes image information, block division information, and block information, as shown in FIG. The block information is data including a minimum value (MIN), a dynamic range (DR), and a quantization code (Q code) in each block.
[0105]
The image information is additional information including information such as the image format, the image size, and the number of quantization bits. The block division information is data indicating the block division mode executed by the block division unit. The format of block division information will be described with reference to FIG.
[0106]
The block division information is information used to determine at which position of the image information the decoded data based on the block information is received in the decoding processing apparatus that receives the encoded data and executes the decoding process. is there. That is, it is used to determine which position of the image data each block information corresponds to.
[0107]
The block division information is indicated by 1 bit, with a block having a child (children) as [1] and a block without a child (child) as [0]. Each block has a large block size from the upper left to the lower right. Thus, it is configured as sequence data generated when data is arranged in a tree shape.
[0108]
In the image shown in FIG. 10, among the divided blocks a, b, c, and d, only b is further divided, b is set to [1], and blocks a, c, and d are set to [0]. . The entire block is set as [1] because there is a division (child), and the subdivision blocks ba, bb, bc, and bd of the block [b] are set as [0] because there is no further division (child). The Block division information [101000000] is generated by arranging these data with the top priority. On the decoding process side, the pixel position of the decoded data based on the block information can be specified in correspondence with the block division information.
[0109]
After the block division information, as shown in FIG. 9, the number of block information corresponding to the number of blocks is stored. The block information is data including a minimum value (MIN), a dynamic range (DR), and a quantization code (Q code) in each block.
[0110]
Block division information is added to the encoded data generated by the encoding processing apparatus of the present invention. This is a data amount indicating a tree structure, and the number of bits is represented by the following equation.
Tree structure display bit number
= (Final number of blocks without children-1) / 3 * 4 + 1) * 1 bit
[0111]
The increase in the number of bits calculated by the above formula does not increase the compression ratio because the ratio of the encoded data to the total number of bits is extremely small.
[0112]
Next, the thinning process executed by the thinning processing unit 104 in the configuration diagram of the encoding processing apparatus in FIG. 1 will be described.
[0113]
FIG. 11 is a diagram illustrating an example of thinning processing performed by the thinning processing unit 104 in the encoding processing device of the present invention.
[0114]
FIG. 11A shows a plurality of pixels in a certain divided block. In the thinning-out process, as shown in (b), a pixel that is selected in a check state from the pixel portion excluding the peripheral pixels of the block is set as a thinning target pixel. This is a measure for making it possible to execute the thinning pixel restoration process based on the vertical and horizontal pixel values, as shown in FIG. The restoration of the pixel values of the thinned pixels is set, for example, as an average value of the upper and lower and left and right four pixels of the thinned pixels.
[0115]
On the encoding processing device side, when performing the thinning process, the thinning processing unit in the configuration of FIG. 1 thins the pixels in the block in a check form as shown in FIG. However, the quantization code (Q code) is generated only for the pixel values remaining after the thinning, the number of quantization codes in the block information is almost halved, and the data amount is reduced.
[0116]
It should be noted that the thinning process is executed for all the divided blocks. Or do not run at all. Alternatively, various processing forms are possible, such as execution only for specific divided blocks.
[0117]
As an example of a mode in which the thinning process is executed only for specific divided blocks, there is a method of selecting a block having a small dynamic range and executing the thinning process only for these blocks.
[0118]
A block with a small dynamic range means that the difference in pixel values included in the block is small. Even if a pixel value interpolation process based on other surrounding pixels is executed when the thinning process is executed, the original pixel This is based on the reason that the difference from the value can be reduced.
[0119]
FIG. 12 shows a determination process flow when the thinning process is selectively executed. In step S401, a block to be subjected to determination processing is selected. In step S402, pixel value analysis of pixels in the block is executed. In step S403, the dynamic range (DR) of the block acquired by pixel value analysis is set in advance. It is determined whether or not it is larger than a threshold value (DRmin).
[0120]
If DR> (DRmin), the decimation process is not executed and the process proceeds to the quantization process step of step S405. If DR> (DRmin) is not satisfied, the decimation process of step S404 is executed, and then the process of step S405 is performed. Execute quantization processing. Block information is generated based on the quantized data.
[0121]
According to the processing of this flow, block information as quantized data based on the thinned data is generated only when DR> (DRmin) is not satisfied. Therefore, it is necessary to set, for each block information, additional information for determining whether or not the block information is based on the thinned data for a decoding processing device that receives the block information and performs decoding. It becomes. These data structures will be described later.
[0122]
Next, processing for executing block division re-division processing based on the scheduled compression rate will be described. In the subdivision block selection processing with reference to FIG. 6 described above, a subdivision block is selected in accordance with the determination conditions that (1) the dynamic range is maximum, (2) the block size is large, and (3) the DR value difference is large. Although the processing example has been described, a processing example in which a divided block having a certain size is initially generated and then a re-divided block is selected based on the scheduled compression rate will be described with reference to the processing flow in FIG. .
[0123]
Each step of the flow shown in FIG. 13 will be described. In step S501, an image to be processed is input, and in step S502, the input image is divided into primary blocks. This primary block division is executed according to a preset block size. In step S503, the dynamic range (DR) of each block is calculated.
[0124]
In step S504, the threshold value (DRmin) for determining whether or not to perform the thinning process is compared with the dynamic range (DR) of each block, and the number of blocks to be thinned out is calculated.
[0125]
In step S505, DRmax is calculated as a dynamic range threshold value that determines whether or not to execute block re-division processing based on a preset scheduled compression rate.
[0126]
The DRmax determination process in step S505 will be described in detail with a specific example. It is assumed that the processing target image, the primary divided block size, the re-divided block size, and the thinning process execution determination threshold: DRmin are set as follows.
[0127]
Image size: 704 (pixels) x 480 (pixels)
Primary block size: 8 (pixels) x 8 (pixels)
Subdivision block size: 4 (pixels) x 4 (pixels)
DRmin: 35
[0128]
Note that pixel value information of each pixel is 8-bit data.
At this time, if the planned compression rate is 1/3,
The amount of planned information based on the planned compression rate is
Schedule information amount = (704 × 480 × 8) / 3
= 901120 bits (b1)
It becomes.
[0129]
On the other hand, if each block information of the normal ADRC processing is subjected to 2-bit quantization,
Minimum value (MIN): 8 bits
Dynamic range: 8 bits
Quantization code: 8 × 8 × 2 = 128 bits
Total: 142 bits ...... (b2)
It is.
[0130]
The total number of blocks is
(704 × 480) / (8 × 8) = 5280
Because
All block information
5280 × 128 = 675840 bits (b3)
It becomes.
[0131]
The amount of information reduced by the thinning process is
If the number of thinning blocks is A,
Since the number of thinned pixels in one block (8 × 8) = 18,
Thinning information amount = (2 × 18) × A (b4)
It becomes.
[0132]
It is assumed that the number of thinned blocks = A = 125 is calculated when the threshold value (DRmin) for determining whether or not to perform the thinning process is set to 35.
Thinning information amount = (2 × 18) × 125
= 4500 bits (b5)
It becomes.
[0133]
At this time, the amount of encoded data when only decimation and block re-division processing is not executed is
Encoded data amount = (b3) − (b5)
= 675840-4500
= 671340 bits (b6)
It becomes.
[0134]
The difference between the value (b6) and (b1) as the planned information amount based on the planned compression rate is
Difference = (b1) − (b6)
= 901120-671340
= 229780 bits ... (b7)
It becomes.
[0135]
On the other hand, the amount of information increased by re-blocking (four 4 × 4) of one primary block (8 × 8) is the block information of the re-block (4 × 4):
Minimum value (MIN): 8 bits
Dynamic range: 8 bits
Quantization code: 4 × 4 × 2 = 32 bits
Total: 48 bits ...... (b8)
Because
Increase information amount = 4 × (b8) − (b2)
= (4x48) -142
= 50 bits (b9)
It becomes.
[0136]
Based on (b7), which is the difference from (b1) as the scheduled information amount based on the scheduled compression rate, and based on the information amount (b9) that increases due to the block subdivision, the allowable number of subdivision blocks is
Allowable number of subdivision blocks = (b1) / (b9)
= 229780/50
= 4595.6
≒ 4595
It becomes.
[0137]
Based on the number of blocks, the dynamic range of each primary block is arranged from the maximum, and the dynamic range of the 4595th block is set as DRmax. For example, when this value is DR = 39, DRmax = 39 is set.
[0138]
The dynamic range threshold (DRmax) is set to determine whether or not to perform subdivision according to the above processing. Returning to the processing flow of FIG.
[0139]
In step S505, when DRmax is calculated according to the above-described process, the process proceeds to step S506, where the dynamic range (DR) of the processing target block is compared with the execution determination threshold value (DRmin) of the thinning process, and DR> threshold value ( If not (DRmin), the process proceeds to step S507 to execute a thinning process.
[0140]
If DR> threshold value (DRmin), the process proceeds to step S508, where the dynamic range (DR) of the processing target block is compared with the dynamic range threshold value (DRmax) indicating whether or not to perform subdivision, and DR ≧ If it is the threshold value (DRmax), the block subdivision process in step S509, for example, the primary division block (8 × 8) is subdivided into four (4 × 4) small blocks.
[0141]
After that, the quantization process in step S510 is executed, and in step S511, it is determined that all blocks have been processed. If there is an unprocessed block, the processes in and after step S506 are repeatedly executed. Perform quantization.
[0142]
Next, referring to FIG. 14, the block list described above is generated, the dynamic range of each block is compared, and processing is performed in order from the largest dynamic range (see FIGS. 4 to 6). ) And the thinning process described with reference to FIG. 13 will be described.
[0143]
In step S521, as initialization processing, the number of blocks = 1 and the number of divisions = 0 are set. In step S522, the entire encoding target image is set as one block of interest. This is processing that regards the entire encoding target image as one block, and corresponds to the state of FIG.
[0144]
In step S523, the block of interest is divided into four. This corresponds to the state of FIG. In step S524, the dynamic range (DR) of each block in the divided block is calculated. This process is performed based on an analysis of pixel values of pixels included in each block.
[0145]
In step S525, a threshold (DRmin) for determining whether or not to perform the thinning process is compared with a dynamic range (DR) of each block, and the number of blocks to be thinned out is calculated.
[0146]
In step S526, the dynamic range (DR) of the processing target block is compared with the execution determination threshold value (DRmin) of the thinning process. If DR> threshold value (DRmin) is not satisfied, the process proceeds to step S527 and the thinning process is executed. To do.
[0147]
In step S528, when a new block is generated, processing for adding these data to the block list is performed. The configuration of the block list is the same as that described above with reference to FIG. 5. The dynamic range value [DR value] in each divided block, the coordinate value as the position data at the upper left end of the block, the block size (x Xy) Further, difference data from the current DR value when subdivision is executed, that is, the value of the dynamic range of the current block and the maximum value of the dynamic range when the current block is subdivided into four Difference data is stored.
[0148]
In step S529, based on the block list, a process of determining a block of interest, that is, a block to be redivided is executed. The details of this processing are the processing described above with reference to FIG. When the determination process of the target block in S529 according to the processing flow shown in FIG. 6 is completed, the process proceeds to step S530, where the current block number + 1 ≦ allowable block number is determined.
[0149]
This process is performed by dividing the scheduled information amount based on the scheduled compression rate and the number of allowable subdivision blocks obtained based on the information amount increased by block subdivision [allowable subdivision block number = (b1) / (b9)] A comparison with the number of blocks + 1 is performed, that is, a determination process is performed as to whether or not the number of subdivision blocks + 1 ≦ the number of allowable subdivision blocks is satisfied. Here, it is assumed that one block is divided into four as subdivision of blocks.
[0150]
When the number of subdivision blocks + 1 ≦ the number of permissible subdivision blocks is satisfied, the processing after step S523, that is, the subdivision processing of the target block is executed. If the number of subdivision blocks + 1 ≦ the number of allowable subdivision blocks is not satisfied, the process proceeds to step S531, and a quantization process based on the block division data is executed.
[0151]
According to the processing of FIG. 13 or FIG. 14, a block that has been subjected to thinning processing, a block that has not been executed, a block that has been subjected to re-division processing, and a block that has not been subjected to re-division are mixed. Block information is generated.
[0152]
In a decoding processing apparatus that performs decoding based on these mixed block information, it is necessary to determine these block information. In the encoding processing apparatus, additional information is set in each block information for these determinations.
[0153]
FIG. 15 shows a block information configuration example in which additional information is set. The block information includes a minimum value (MIN) of a signal level of a pixel included in each block, a dynamic range (DR), and a quantization code (Q code) calculated by the above-described processing. For example, when the signal level is 0 to 255, the minimum value (MIN) is 8 bits, the dynamic range (DR) is 8 bits, and the quantization code (Q code) is k × n bits. Here, n is the number of quantization bits, and k is the number of pixels in the block. Further, the bit information indicating whether or not the thinning process is executed is 1 bit, for example, there is thinning process = [1], no = [0], and the bit information indicating whether or not the redividing process is executed is 1 bit. Each information of existence = [1], absence = [0] is set. Note that the pixel position corresponding to the quantization code in the block information can be specified based on the block division information (see FIG. 9) in the header information described above, and whether or not the re-division processing is executed for each block information. It is not essential to add the bit information indicating.
[0154]
Based on the block division information or the additional information, it is possible to determine a block that has been subjected to the thinning process, a non-executed block, a block that has undergone the re-division process, and a block that has not been re-divided. If no re-division is performed, the bit information indicating re-division can be omitted, and if no decimation process is performed, the bit information indicating the presence or absence of decimation can be omitted. Any one bit of information may be set as additional information.
[0155]
Next, the configuration of the decoding processing device will be described with reference to FIG. The configuration of the encoded data to be decoded has the configuration shown in FIG. 16, and image information including information such as image format, image size, quantization bit number, etc., and decoded data based on block information are images. It consists of block division information and block information for determining which position in the information is the encoded data. The block information is data including a minimum value (MIN), a dynamic range (DR), and a quantization code (Q code) in each block. Have information.
[0156]
The encoded data analysis unit 201 refers to image information and block division information, acquires the number of quantization bits and position information of each block, and sequentially analyzes block information for performing inverse quantization processing. Further, it is determined from the block division information (see FIG. 9) in the header information or the additional information of each block information whether each block is a subdivision block or whether it has been thinned out.
[0157]
The minimum value acquisition unit 203 acquires a minimum value (MIN) from the block information. The DR acquisition unit 204 acquires a dynamic range (DR) from the block information. The decoding (inverse quantization) processing unit 205 includes a quantization code (Q code) in the block information, a minimum value (MIN) acquired by the minimum value acquisition unit 203, and a dynamic range (DR) acquired by the DR acquisition unit 204. Based on the above, a decoding process is executed. The decoding process is executed as a process of calculating x ′ according to the following equation, where the restored pixel value is x ′.
[0158]
[Equation 5]
x ′ = (Q + 0.5) × Δ + MIN (DR ≧ 2nin the case of)
x '= (Q + MIN) (DR <2nin the case of)
(Formula a3)
[0159]
In the above equation, x ′: restored pixel value, MIN: minimum value, Q: quantization code (Q code), Δ: quantization step width, n: number of quantization bits, DR: dynamic range, DR, and MIN is the dynamic range (DR) and minimum value (MIN) acquired from the block information.
[0160]
In this way, the restored pixel value x ′ of each pixel is obtained based on the block information, and the image data is reproduced based on the restored pixel value.
[0161]
However, when the thinning process is being performed, the thinned data restoring unit 206 restores the thinned pixel data. Whether or not the thinning process is being executed is determined by the block information analysis unit 201 based on the additional information in the block information, and only when the thinned information is stored in the block information processing unit 206. Execute the process.
[0162]
The processing of the thinning data restoration unit is processing as described above with reference to FIG. 11, and sets the average value of the pixel values of the top and bottom and left and right pixels of the thinned pixel as the pixel value of the thinning pixel. .
[0163]
In the case of block information processing that stores the thinned information, after performing the thinned data restoration processing in the thinned data restoration unit 206, image reproduction and output based on the restored pixel value are executed.
[0164]
The block reconstructing unit 207 executes processing for determining the block position and pixel position of the restored pixel, and additional information indicating whether or not re-division is stored in the encoded data, and previously refer to FIG. A process for determining the block position and pixel position of the restored pixel is executed based on the block division information described.
[0165]
Next, the processing procedure of the decoding processing apparatus according to the present embodiment will be described with reference to the flowchart shown in FIG.
[0166]
In step S601, encoded data including block information to be decoded is input. In step S602, the minimum value (MIN) and the dynamic range (DR) set corresponding to each block are acquired from the input block information. In step S603, the quantization code (Q Code), the minimum value (MIN) acquired from the class information table, and the dynamic range (DR), the decoding process is executed. The decoding process is executed as a process for calculating the restored pixel value x ′ according to (Formula a3) described above.
[0167]
Next, in step S604, it is determined whether the data has been subjected to the thinning process. This is executed based on the additional information (see FIGS. 15 and 16) in the block information. If the block information has not been subjected to the thinning process, the pixels decoded in the decoding process in step S603 are all the pixels included in the block, and the process proceeds to step S606.
[0168]
If it is determined in step S604 that the thinning process is being executed based on the additional information in the block information, in step S605, the thinned data restoring unit executes the restoration process of the thinned pixel data. That is, the average value of the pixel values of the top and bottom and left and right four pixels of the thinned pixel is set as the pixel value of the thinned pixel.
[0169]
In step S606, the position of each block and the position of the restored pixel are determined based on the additional information as to whether or not re-division is performed and the block division information described above with reference to FIG. 10, and in step S607. The output of the pixel value in the block is executed.
[0170]
As described above, in the configuration of the present invention, when the encoding by ADRC is performed, the block size is not fixed but the encoding is performed by performing the re-division process, so that the block having a large dynamic range is reduced. This makes it possible to reduce the difference between the restored pixel accompanying encoding and decoding and the original pixel, and to prevent deterioration of the image quality.
[0171]
In the configuration of the present invention, the amount of encoded data can be reduced and the compression rate can be improved by executing the thinning process.
[0172]
In addition, since the selection of the subdivision processing target block and the selection of the thinning processing target block are determined based on the dynamic range of each block, efficient processing can be performed and good image quality can be maintained. It becomes possible.
[0173]
The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims section described at the beginning should be considered.
[0174]
The series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When executing processing by software, the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.
[0175]
For example, the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a recording medium. Alternatively, the program is temporarily or permanently stored on a removable recording medium such as a flexible disk, CD-ROM (Compact Disc Read Only Memory), MO (Magneto optical) disk, DVD (Digital Versatile Disc), magnetic disk, and semiconductor memory. It can be stored (recorded). Such a removable recording medium can be provided as so-called package software.
[0176]
The program is installed on the computer from the removable recording medium as described above, or is wirelessly transferred from the download site to the computer, or is wired to the computer via a network such as a LAN (Local Area Network) or the Internet. The computer can receive the program transferred in this manner and install it on a recording medium such as a built-in hard disk.
[0177]
Note that the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary.
[0178]
【The invention's effect】
As described above, according to the configuration of the present invention, the block size to be encoded or decoded by ADRC is not fixed, and the dynamic range of each block, the block size, and the difference in dynamic range when subdividing Therefore, it is possible to select the optimal subdivision block efficiently, and the subdivision process reduces the dynamic range for each block and increases the quantization step width. Thus, it is possible to reduce the quantization error and improve the image quality.
[0179]
Furthermore, according to the configuration of the present invention, it is possible to reduce the amount of encoded data by selecting a block with a small dynamic range and performing a check-out pixel thinning process in the block, thereby reducing the compression rate. It becomes possible to improve. Since the selection of the thinning-out processing target block is determined based on the dynamic range of each block, efficient processing can be performed and good image quality can be maintained.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an encoding processing apparatus according to the present invention.
FIG. 2 is a diagram illustrating block division processing according to the present invention.
FIG. 3 is a block diagram of a block division unit of the encoding processing apparatus of the present invention.
FIG. 4 is a diagram showing a block division processing flow of the present invention.
FIG. 5 is a diagram showing a configuration example of a block list according to the configuration of the present invention.
FIG. 6 is a flowchart illustrating a process for determining a target block to be a block division target according to the present invention.
FIG. 7 is a flowchart illustrating processing in the encoding processing device of the present invention.
FIG. 8 is a diagram illustrating an example of a quantization code generation process of a variable-length ADRC encoding process in the encoding processing apparatus of the present invention.
[Fig. 9] Fig. 9 is a diagram illustrating a configuration example of encoded data according to the configuration of the present invention.
FIG. 10 is a diagram illustrating block division information in encoded data according to the configuration of the present invention.
FIG. 11 is a diagram illustrating a thinning process and a restoration process according to the present invention.
FIG. 12 is a flowchart illustrating a process for selecting a thinning target block in the present invention.
FIG. 13 is a flowchart for explaining thinning processing and re-division processing target block selection processing in the encoding processing of the present invention.
FIG. 14 is a flowchart for explaining thinning processing and subdivision processing target block selection processing in the encoding processing of the present invention.
FIG. 15 is a diagram illustrating a configuration example of encoded data according to the configuration of the present invention.
FIG. 16 is a block diagram illustrating a configuration example of a decoding processing apparatus according to the configuration of the present invention.
FIG. 17 is a flowchart illustrating a decoding processing procedure according to the configuration of the present invention.
FIG. 18 is a diagram for explaining an outline of ADRC processing;
FIG. 19 is a diagram illustrating an outline of quantization processing in ADRC processing.
FIG. 20 is a diagram illustrating a configuration of block information generated in ADRC processing.
FIG. 21 is a flowchart illustrating a procedure of fixed-length ADRC processing.
FIG. 22 is a flowchart illustrating the procedure of variable-length ADRC processing.
FIG. 23 is a flowchart for explaining a procedure of ADRC processing with conventional block re-division processing.
[Explanation of symbols]
101 Block division
102 DR, minimum value (MIN) detector
103 Quantization processor
104 Thinning processing unit
121 Block division processing unit
122 DR, block size determination processing unit
123 Subdivision block selection unit
201 Encoded data analysis unit
203 Minimum value (MIN) acquisition unit
204 DR acquisition unit
205 Decoding (inverse quantization) processing unit
206 Thinning data restoration unit
207 Block reconstruction unit
801 Image data
802 blocks
803 Signal level data

Claims (17)

画像データの符号化処理を実行する符号化処理装置であり、
画像を構成する分割画素領域をブロックとして設定するブロック分割手段と、
前記ブロック分割手段において設定されたブロック単位で、ADRC( Adaptive Dynamic Range Coding )による量子化処理を実行する量子化処理手段と、
を有し、
前記ブロック分割手段は、
予定圧縮率から算出される符号化データとしての許容データ量、および再分割処理により増加するデータ量から再分割処理ブロック許容数を算出し、分割後のブロック数が前記再分割処理ブロック許容数になるまで、設定済みのブロックについてダイナミックレンジの大きいブロックから順に再分割対象ブロックとして選定して再分割することを特徴とする符号化処理装置。
An encoding processing device that executes encoding processing of image data,
Block dividing means for setting divided pixel regions constituting an image as a block;
Quantization processing means for performing quantization processing by ADRC ( Adaptive Dynamic Range Coding ) in units of blocks set in the block dividing means;
Have
The block dividing means includes
The allowable number of re-division processing blocks is calculated from the allowable data amount as encoded data calculated from the scheduled compression rate and the data amount increased by the re-division processing, and the number of blocks after division becomes the allowable re-division processing block Until then, an encoding processing apparatus , wherein a set block is selected as a re-division target block in order from a block having a large dynamic range, and re-division is performed .
前記ブロック分割手段は、
前記設定済みのブロックを再分割処理対象ブロックの候補である第1の選択候補ブロックとして設定し、
前記第1の選択候補ブロック中でダイナミックレンジが最大である第2の選択候補ブロックのブロックサイズが所定のブロックサイズ以下である場合、前記第2の選択候補ブロックを前記第1の選択候補ブロックから除外し、それ以外である場合、前記第2の選択候補ブロックを第3の選択候補ブロックとし、
前記第3の選択候補ブロックとダイナミックレンジが等しいブロックがない場合、前記第3の選択候補ブロックを再分割処理対象ブロックとして選定し、それ以外である場合、前記第3の選択ブロック及び前記第3の選択候補ブロックとダイナミックレンジが等しいブロックのうちブロックサイズが最大のブロックを第4の選択候補ブロックとし、
前記第4の選択候補ブロックとブロックサイズの等しいブロックがない場合、前記第4の選択候補ブロックを再分割処理対象ブロックとして選定し、それ以外である場合、前記第4の選択候補ブロック及び前記第4の選択候補ブロックとブロックサイズの等しいブロックのうち再分割前のダイナミックレンジと再分割後のダイナミックレンジとの差が最大のブロックを再分割処理対象ブロックとして選定する選定処理を行うことを特徴とする請求項1に記載の符号化処理装置。
The block dividing means includes
The set block is set as a first selection candidate block that is a candidate for a subdivision processing target block,
When the block size of the second selection candidate block having the maximum dynamic range in the first selection candidate block is equal to or smaller than a predetermined block size, the second selection candidate block is moved from the first selection candidate block. Excluded, otherwise, the second selection candidate block as a third selection candidate block,
When there is no block having the same dynamic range as that of the third selection candidate block, the third selection candidate block is selected as a subdivision processing target block. Otherwise, the third selection block and the third selection block are selected. Among the blocks having the same dynamic range as the selection candidate block, the block having the largest block size is set as the fourth selection candidate block,
When there is no block having the same block size as that of the fourth selection candidate block, the fourth selection candidate block is selected as a subdivision processing target block. Otherwise, the fourth selection candidate block and the fourth selection candidate block are selected. A selection process is performed in which a block having the largest difference between the dynamic range before subdivision and the dynamic range after subdivision is selected as a subdivision processing target block among the four selection candidate blocks having the same block size. The encoding processing device according to claim 1.
前記ブロック分割手段は、
符号化対象画像を4分割し、該4分割ブロックを前記設定済みのブロックとして設定し前記選定処理を行うことにより、再分割処理対象ブロックを選定する処理を実行する構成であることを特徴とする請求項2に記載の符号化処理装置。
The block dividing means includes
The encoding target image is divided into four, and the four-division block is set as the already set block and the selection process is performed, thereby performing a process of selecting a re-division process target block. The encoding processing apparatus according to claim 2.
前記符号化処理装置は、さらに間引き処理手段を有し、
前記間引き処理手段は、
前記設定済みのブロック内ダイナミックレンジが予め定めた閾値以下のブロックについて、画素をチェック状に間引く間引き処理を実行し、
前記量子化処理手段は、前記間引き処理手段の間引き処理後の残留画素についての量子化処理を実行する構成であることを特徴とする請求項1に記載の符号化処理装置。
The encoding processing device further includes a thinning processing unit,
The thinning processing means is
For the block in which the set dynamic range in the block is equal to or less than a predetermined threshold , a thinning process for thinning out pixels in a check state is executed,
The encoding processing apparatus according to claim 1, wherein the quantization processing unit is configured to perform a quantization process on a residual pixel after the thinning process.
前記量子化処理手段の適用する量子化処理は、
ADRC(Adaptive Dynamic Range Coding)に基づく処理を実行し、
前記ブロック分割手段の設定した各ブロックの画素値の最小値(MIN)、およびダイナミックレンジ(DR)に基づいて量子化コード(Qコード)を算出する処理を実行する構成であることを特徴とする請求項1に記載の符号化処理装置。
The quantization processing applied by the quantization processing means is:
Perform processing based on ADRC (Adaptive Dynamic Range Coding),
The block division unit is configured to execute a process of calculating a quantization code (Q code) based on a minimum pixel value (MIN) and a dynamic range (DR) of each block set by the block dividing unit. The encoding processing apparatus according to claim 1.
前記符号化処理装置は、
各ブロックの画素値の最小値(MIN)、およびダイナミックレンジ(DR)、量子化コード(Qコード)からなるブロック情報と、前記ブロック分割手段の設定したブロック位置を示すブロック分割情報とを有する符号化データを出力する構成であることを特徴とする請求項1に記載の符号化処理装置。
The encoding processing device includes:
Code having block information including minimum value (MIN), dynamic range (DR), quantization code (Q code) of each block, and block division information indicating block position set by the block division means The encoding processing apparatus according to claim 1, wherein the encoded data is output.
前記符号化処理装置は、
各ブロックの画素値の最小値(MIN)、およびダイナミックレンジ(DR)、量子化コード(Qコード)からなるブロック情報と、各ブロック内の画素間引きの実行有無を示す付加情報とを有する符号化データを出力する構成であることを特徴とする請求項1に記載の符号化処理装置。
The encoding processing device includes:
Encoding having block information composed of the minimum pixel value (MIN), dynamic range (DR), and quantization code (Q code) of each block, and additional information indicating whether or not to perform pixel thinning in each block The encoding processing apparatus according to claim 1, wherein the encoding processing apparatus is configured to output data.
前記符号化処理装置は、
各ブロックの画素値の最小値(MIN)、およびダイナミックレンジ(DR)、量子化コード(Qコード)からなるブロック情報と、ブロックが再分割されたブロックであるか否かを示す付加情報とを有する符号化データを出力する構成であることを特徴とする請求項1に記載の符号化処理装置。
The encoding processing device includes:
Block information including the minimum pixel value (MIN), dynamic range (DR), and quantization code (Q code) of each block, and additional information indicating whether the block is a subdivided block The encoding processing apparatus according to claim 1, wherein the encoding processing apparatus is configured to output the encoded data.
画像を構成する分割画素領域であるブロック単位のADRC( Adaptive Dynamic Range Coding )による量子化処理により生成された符号化画像データの復号処理を実行する復号処理装置であり、
前記符号化画像データは、予定圧縮率から算出される符号化データとしての許容データ量、およびブロック再分割処理により増加するデータ量から算出される再分割処理ブロック許容数になるまでダイナミックレンジの大きいブロックから順に再分割を行って設定した複数のブロックの各々について、ブロック単位で生成した符号化データによって構成され、
前記復号処理装置は、
各ブロック単位の符号化データとしてのブロック情報に格納された最小値(MIN)、およびダイナミックレンジ(DR)、および各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行する復号処理手段と、
前記符号化データ内に格納されたブロック再分割情報に基づいて復元ブロックの位置を識別し、ブロック再構成を実行するブロック再構成部と、
を有することを特徴とする復号処理装置。
A decoding processing device that performs decoding processing of encoded image data generated by quantization processing by ADRC ( Adaptive Dynamic Range Coding ) in block units, which is a divided pixel region constituting an image ,
The encoded image data has a large dynamic range until the allowable data amount as encoded data calculated from the planned compression rate and the allowable number of re-division processing blocks calculated from the data amount increased by block re-division processing are obtained. For each of a plurality of blocks set by performing re-division in order from the block, it is composed of encoded data generated in units of blocks,
The decryption processing device comprises:
Based on the minimum value (MIN) and dynamic range (DR) stored in the block information as the encoded data for each block unit, and the quantization code corresponding to each pixel, the pixel value decoding process for each block unit is performed. Decryption processing means to be executed;
A block reconstruction unit that identifies a position of a restored block based on block re-division information stored in the encoded data and performs block reconstruction;
A decryption processing apparatus comprising:
前記復号処理手段の適用する復号処理は、ADRC(Adaptive Dynamic Range Coding)に対応する逆量子化処理であり、前記ブロックに対応する最小値(MIN)、およびダイナミックレンジ(DR)に基づいて復元画素値を算出する処理を実行する構成であることを特徴とする請求項に記載の復号処理装置。The decoding process applied by the decoding processing means is an inverse quantization process corresponding to ADRC (Adaptive Dynamic Range Coding), and a restored pixel based on a minimum value (MIN) and a dynamic range (DR) corresponding to the block The decoding processing apparatus according to claim 9 , wherein the decoding processing apparatus is configured to execute a process of calculating a value. 前記復号処理装置は、さらに、
前記ブロック情報に格納された量子化コードが、ブロック内の全画素対応データではなく、間引きされたデータである場合の間引きデータ復元処理を実行する間引きデータ復元手段を有し、
前記間引きデータ復元手段は、
前記復号処理手段が量子化コードに基づいて復号した複数の復元画素値の平均値を、間引き画素データの画素値として設定する処理を実行する構成であることを特徴とする請求項に記載の復号処理装置。
The decoding processing device further includes:
The quantization code stored in the block information has thinned data restoration means for performing a thinned data restoration process when the data is thinned data instead of all pixel corresponding data in the block,
The thinned data restoring means includes:
10. The configuration according to claim 9 , wherein the decoding processing unit executes a process of setting an average value of a plurality of restored pixel values decoded based on a quantization code as a pixel value of thinned pixel data. Decoding processing device.
符号化処理装置において、画像データの符号化処理を実行する符号化処理方法であり、
ブロック分割手段が、画像を構成する分割画素領域をブロックとして設定するブロック分割ステップと、
量子化処理手段が、前記ブロック分割ステップにおいて設定されたブロック単位で、ADRC( Adaptive Dynamic Range Coding )による量子化処理を実行する量子化処理ステップと、
を有し、
前記ブロック分割ステップは、
予定圧縮率から算出される符号化データとしての許容データ量、および再分割処理により増加するデータ量から再分割処理ブロック許容数を算出し、分割後のブロック数が前記再分割処理ブロック許容数になるまで、設定済みのブロックについてダイナミックレンジの大きいブロックから順に再分割対象ブロックとして選定して再分割することを特徴とする符号化処理方法。
An encoding processing method for executing an encoding process of image data in an encoding processing device ,
A block dividing step in which the block dividing means sets a divided pixel region constituting the image as a block;
A quantization processing step in which quantization processing means executes quantization processing by ADRC ( Adaptive Dynamic Range Coding ) in units of blocks set in the block division step;
Have
The block dividing step includes:
The allowable number of re-division processing blocks is calculated from the allowable data amount as encoded data calculated from the scheduled compression rate and the data amount increased by the re-division processing, and the number of blocks after division becomes the allowable number of re-division processing blocks A coding processing method characterized by selecting and re-dividing a set block in order from a block having a large dynamic range until it becomes .
復号処理装置において、画像を構成する分割画素領域であるブロック単位のADRC( Adaptive Dynamic Range Coding )による量子化処理により生成された符号化画像データの復号処理を実行する復号処理方法であり、
前記符号化画像データは、予定圧縮率から算出される符号化データとしての許容データ量、およびブロック再分割処理により増加するデータ量から算出される再分割処理ブロック許容数になるまでダイナミックレンジの大きいブロックから順に再分割を行って設定した複数のブロックの各々について、ブロック単位で生成した符号化データによって構成され、
前記復号処理方法は、
復号処理手段が、各ブロック単位の符号化データとしてのブロック情報に格納された最小値(MIN)、およびダイナミックレンジ(DR)、および各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行する復号処理ステップと、
ブロック再構成部が、前記符号化データ内に格納されたブロック再分割情報に基づいて復元ブロックの位置を識別し、ブロック再構成を実行するブロック再構成ステップと、
を有することを特徴とする復号処理方法。
In the decoding processing device, there is a decoding processing method for performing decoding processing of encoded image data generated by quantization processing by ADRC ( Adaptive Dynamic Range Coding ) in block units, which is a divided pixel region constituting an image,
The encoded image data has a large dynamic range until the allowable data amount as encoded data calculated from the planned compression rate and the allowable number of re-division processing blocks calculated from the data amount increased by block re-division processing are obtained. For each of a plurality of blocks set by performing re-division in order from the block, it is composed of encoded data generated in units of blocks,
The decryption processing method includes:
Based on the minimum value (MIN) and dynamic range (DR) stored in the block information as the encoded data of each block unit, and the quantization code corresponding to each pixel, the decoding processing means A decoding process step for executing a pixel value decoding process;
A block reconstruction unit that identifies a position of a restored block based on block re-segmentation information stored in the encoded data and performs block reconstruction; and
A decoding processing method characterized by comprising:
符号化処理装置において、画像データの符号化処理を実行する符号化処理の実行プログラムとしてのコンピュータ・プログラムであって、
ブロック分割手段に、画像を構成する分割画素領域をブロックとして設定させるブロック分割ステップと、
量子化処理手段に、前記ブロック分割ステップにおいて設定されたブロック単位で、ADRC( Adaptive Dynamic Range Coding )による量子化処理を実行させる量子化処理ステップと、
を有し、
前記ブロック分割ステップは、さらに、
予定圧縮率から算出される符号化データとしての許容データ量、および再分割処理により増加するデータ量から再分割処理ブロック許容数を算出し、分割後のブロック数が前記再分割処理ブロック許容数になるまで、設定済みのブロックについてダイナミックレンジの大きいブロックから順に再分割対象ブロックとして選定して再分割させるステップを、
を有することを特徴とするコンピュータ・プログラム。
In the encoding processing device, a computer program as an execution program of an encoding process for executing an encoding process of image data,
A block division unit, a block dividing step of dividing a pixel region constituting the image Ru is set as a block,
A quantization processing unit, in blocks that are set in the block dividing step, and the quantization processing steps Ru to execute the quantization processing by the ADRC (Adaptive Dynamic Range Coding),
Have
The block dividing step further includes:
The allowable number of re-division processing blocks is calculated from the allowable data amount as encoded data calculated from the scheduled compression rate and the data amount increased by the re-division processing, and the number of blocks after division becomes the allowable re-division processing block Until it becomes, the step of selecting and subdividing the set blocks in order from the block with the larger dynamic range as the subdivision target ,
A computer program characterized by comprising:
復号処理装置において、画像を構成する分割画素領域であるブロック単位のADRC( Adaptive Dynamic Range Coding )による量子化処理により生成された符号化画像データの復号処理を実行する復号処理の実行プログラムとしてのコンピュータ・プログラムであって、
前記符号化画像データは、予定圧縮率から算出される符号化データとしての許容データ量、およびブロック再分割処理により増加するデータ量から算出される再分割処理ブロック許容数になるまでダイナミックレンジの大きいブロックから順に再分割を行って設定し た複数のブロックの各々について、ブロック単位で生成した符号化データによって構成され、
前記コンピュータ・プログラムは、
復号処理手段に、各ブロック単位の符号化データとしてのブロック情報に格納された最小値(MIN)、およびダイナミックレンジ(DR)、および各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行させる復号処理ステップと、
ブロック再構成部に、前記符号化データ内に格納されたブロック再分割情報に基づいて復元ブロックの位置を識別し、ブロック再構成を実行させるブロック再構成ステップと、
を有することを特徴とするコンピュータ・プログラム。
A computer as a decoding processing execution program for performing decoding processing of encoded image data generated by quantization processing by ADRC ( Adaptive Dynamic Range Coding ) in block units, which is a divided pixel region constituting an image, in a decoding processing device A program,
The encoded image data has a large dynamic range until the allowable data amount as encoded data calculated from the scheduled compression rate and the allowable number of re-division processing blocks calculated from the data amount increased by block re-division processing are obtained. For each of a plurality of blocks set by performing re-division in order from the block, it is composed of encoded data generated in units of blocks,
The computer program is
Based on the minimum value (MIN) and dynamic range (DR) stored in the block information as encoded data for each block, and the quantization code corresponding to each pixel, the decoding processing means a decoding step of Ru to execute the pixel value decoding process,
Block reconstruction unit, on the basis of the coded data storage block subdivision information in identifying the location of the recovery block, and the block reconstruction step of Ru to execute the block reconstruction,
A computer program characterized by comprising:
画像データの符号化処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを提供するプログラム記録媒体であって、前記コンピュータ・プログラムは、
画像を構成する分割画素領域をブロックとして設定させるブロック分割ステップと、
前記ブロック分割ステップにおいて設定されたブロック単位で、ADRC( Adaptive Dynamic Range Coding )による量子化処理を実行させる量子化処理ステップと、
を有し、
前記ブロック分割ステップは、さらに、
予定圧縮率から算出される符号化データとしての許容データ量、および再分割処理により増加するデータ量から再分割処理ブロック許容数を算出し、分割後のブロック数が前記再分割処理ブロック許容数になるまで、設定済みのブロックについてダイナミックレンジの大きいブロックから順に再分割対象ブロックとして選定して再分割させるステップを、
を具備することを特徴とするプログラム記録媒体。
A program recording medium for providing a computer program that allows an image data encoding process to be executed on a computer system, the computer program comprising:
A block dividing step of Ru is set to the divided pixel regions constituting an image as a block,
In blocks set in said block dividing step, and the quantization processing steps Ru to execute the quantization processing by the ADRC (Adaptive Dynamic Range Coding),
Have
The block dividing step further includes:
The allowable number of re-division processing blocks is calculated from the allowable data amount as encoded data calculated from the scheduled compression rate and the data amount increased by the re-division processing, and the number of blocks after division becomes the allowable re-division processing block Until it becomes, the step of selecting and subdividing the set blocks in order from the block with the larger dynamic range as the subdivision target ,
A program recording medium comprising:
画像を構成する分割画素領域であるブロック単位のADRC( Adaptive Dynamic Range Coding )による量子化処理により生成された符号化画像データの復号処理をコンピュータ・システム上で実行せしめるコンピュータ・プログラムを提供するプログラム記録媒体であって、
前記符号化画像データは、予定圧縮率から算出される符号化データとしての許容データ量、およびブロック再分割処理により増加するデータ量から算出される再分割処理ブロック許容数になるまでダイナミックレンジの大きいブロックから順に再分割を行って設定した複数のブロックの各々について、ブロック単位で生成した符号化データによって構成され、
前記コンピュータ・プログラムは、
各ブロック単位の符号化データとしてのブロック情報に格納された最小値(MIN)、およびダイナミックレンジ(DR)、および各画素に対応する量子化コードに基づいて、各ブロック単位の画素値復号処理を実行させる復号処理ステップと、
前記符号化データ内に格納されたブロック再分割情報に基づいて復元ブロックの位置を識別し、ブロック再構成を実行させるブロック再構成ステップと、
を具備することを特徴とするプログラム記録媒体。
Program recording for providing a computer program for executing on a computer system decoding processing of encoded image data generated by quantization processing by block-unit ADRC ( Adaptive Dynamic Range Coding ) which is a divided pixel region constituting an image A medium,
The encoded image data has a large dynamic range until the allowable data amount as encoded data calculated from the planned compression rate and the allowable number of re-division processing blocks calculated from the data amount increased by block re-division processing are obtained. For each of a plurality of blocks set by performing re-division in order from the block, it is composed of encoded data generated in units of blocks,
The computer program is
Based on the minimum value (MIN) and dynamic range (DR) stored in the block information as the encoded data for each block unit, and the quantization code corresponding to each pixel, the pixel value decoding process for each block unit is performed. a decoding step of Ru is executed,
And block reconstruction step of identifying the location of the restored block, Ru is performing block reconstruction based on stored in the coded data block subdivision information,
A program recording medium comprising:
JP2002040949A 2002-02-19 2002-02-19 Encoding processing device, decoding processing device and method, and computer program Expired - Fee Related JP4039076B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002040949A JP4039076B2 (en) 2002-02-19 2002-02-19 Encoding processing device, decoding processing device and method, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002040949A JP4039076B2 (en) 2002-02-19 2002-02-19 Encoding processing device, decoding processing device and method, and computer program

Publications (2)

Publication Number Publication Date
JP2003244696A JP2003244696A (en) 2003-08-29
JP4039076B2 true JP4039076B2 (en) 2008-01-30

Family

ID=27781482

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002040949A Expired - Fee Related JP4039076B2 (en) 2002-02-19 2002-02-19 Encoding processing device, decoding processing device and method, and computer program

Country Status (1)

Country Link
JP (1) JP4039076B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4337911B2 (en) * 2007-05-24 2009-09-30 ソニー株式会社 Imaging device, imaging circuit, and imaging method
WO2014190468A1 (en) * 2013-05-27 2014-12-04 Microsoft Corporation Video encoder for images
EP3120556B1 (en) 2014-03-17 2021-01-13 Microsoft Technology Licensing, LLC Encoder-side decisions for screen content encoding
CN106416254B (en) 2015-02-06 2019-08-02 微软技术许可有限责任公司 Evaluation stage is skipped during media coding
US10038917B2 (en) 2015-06-12 2018-07-31 Microsoft Technology Licensing, Llc Search strategies for intra-picture prediction modes
US10136132B2 (en) 2015-07-21 2018-11-20 Microsoft Technology Licensing, Llc Adaptive skip or zero block detection combined with transform size decision

Also Published As

Publication number Publication date
JP2003244696A (en) 2003-08-29

Similar Documents

Publication Publication Date Title
JP5506397B2 (en) Video encoding method and apparatus, video decoding method and apparatus
US8213727B2 (en) Image encoding apparatus and image decoding apparatus, and control method thereof
JP4947364B2 (en) Information processing system and method, information processing apparatus and method, and program
JP2009530958A (en) Image encoding method and apparatus, decoding method and apparatus
JP4956304B2 (en) Image encoding apparatus, control method therefor, computer program, and computer-readable storage medium
JP4884703B2 (en) Image spatial prediction encoding method, encoding device, decoding method, and decoding device
JP4039076B2 (en) Encoding processing device, decoding processing device and method, and computer program
EP2320655B1 (en) Apparatus and method of compressing image using filter information
JP4785678B2 (en) Image coding apparatus and image coding method
JP4552261B2 (en) Digital information conversion apparatus and method, and image information conversion apparatus and method
JP4825227B2 (en) Image decoding apparatus and image processing program
JP4776505B2 (en) Image encoding device, image decoding device, and image processing program
JP4622264B2 (en) Motion vector detection apparatus, motion vector detection method, and computer program
JP4016662B2 (en) Encoding processing device, decoding processing device and method, and computer program
JP2006005659A (en) Device and method for image encoding
JP4165752B2 (en) Secret data insertion method and secret data detection method for image data
JP4622265B2 (en) Motion vector detection device, motion vector detection method, and program
JP4643468B2 (en) Image processing method, image processing apparatus, image processing program, and information recording medium
JP4186470B2 (en) Encoding processing device, decoding processing device and method, and computer program
JP4061917B2 (en) Encoding processing device, decoding processing device and method, and computer program
JP4552262B2 (en) Noise reduction apparatus and method
JP4971881B2 (en) Image encoding apparatus, image decoding apparatus, and control method thereof
JP3896635B2 (en) Image data conversion apparatus and method, prediction coefficient generation apparatus and method
JP4552263B2 (en) Digital signal processing apparatus and method, and digital image signal processing apparatus and method
JP4039068B2 (en) Decoding processing device, decoding processing method, and computer program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070919

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071029

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101116

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20111116

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121116

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20131116

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees