JP4209954B2 - 符号化装置及び符号化方法 - Google Patents
符号化装置及び符号化方法 Download PDFInfo
- Publication number
- JP4209954B2 JP4209954B2 JP28004896A JP28004896A JP4209954B2 JP 4209954 B2 JP4209954 B2 JP 4209954B2 JP 28004896 A JP28004896 A JP 28004896A JP 28004896 A JP28004896 A JP 28004896A JP 4209954 B2 JP4209954 B2 JP 4209954B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- encoding
- dij
- component
- 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
Links
Images
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
【目次】
以下の順序で本発明を説明する。
発明の属する技術分野
従来の技術(図12〜図20)
発明が解決しようとする課題
課題を解決するための手段
発明の実施の形態(図1〜図11)
発明の効果
【0002】
【発明の属する技術分野】
本発明は符号化装置及び符号化方法に関し、例えば画像データ等のデイジタルデータを圧縮符号化処理する符号化装置及び符号化方法に適用して好適なものである。
【0003】
【従来の技術】
従来、画像データ等は、そのデータサイズが非常に大きなものであるため、そのままの状態では記録及び伝送する上で適さないものであつた。そのため、このような画像データ等は圧縮符号化処理を施して全体のデータサイズを縮小したデイジタルデータに変換した上で記録又は伝送するようになされている。
現在、このような画像圧縮方式として代表的なものにMPEG(Moving Picture Experts Group)1方式及びMPEG2方式がある。MPEG1方式及びMPEG2方式はISO(International Organization for Standardization、国際標準化機構)により提案された画像圧縮方式であり、詳細はISO/IEC11172-2 、ISO/IEC13818-2 に述べられている。
【0004】
ここで図12を用いて上述した画像圧縮方式について説明する。図12において、1及び2はそれぞれ符号化装置、復号化装置を示す。符号化装置1は入力されるデイジタルデータでなる入力画像データS1を離散コサイン変換部3に供給する。離散コサイン変換部3は入力画像データS1を1フレーム単位毎に処理し、まず当該1フレームを8画素×8画素のブロツクに分割する。離散コサイン変換部3は当該各ブロツク毎に
【数1】
に示す離散コサイン変換(Discrete Cosine Transform )のための演算処理を施すことで、8画素×8画素のブロツク内の各画素値を周波数空間上のデータに変換する。離散コサイン変換部3は、こうした処理により入力画像データS1からDCTデータS2を生成する。
【0005】
離散コサイン変換部3はDCTデータS2を量子化部4に供給する。量子化部4はDCTデータS2に量子化処理を施して圧縮符号化データS3を生成する。具体的にDCTデータS2はi行j列(i、jは0〜7)の行列式で表すことができ、各i行j列目のデータをDijで表現することができる。量子化部4はこのような各Dijでなる成分毎に対応する重み係数QSijで各成分を割り算する。
また量子化部4は、このように量子化処理により得られる値に整数化処理(いわゆる丸め処理)を施す。すなわち量子化により得られる値は小数部分を含む値となつているため、量子化部4はこれらの値でなる各成分を例えば四捨五入することで整数化処理(丸め処理)を行い、圧縮符号化データS3を生成する。
符号化装置1は、こうして得られた圧縮符号化データS3に可変長符号化処理等を施して(図示せず)、復号化装置2に対して送出する。
【0006】
復号化装置2は符号化装置1から与えられる圧縮符号化データS3を入力して、まず可変長復号化処理を行う(図示せず)。復号化装置2は、可変長復号化がなされた圧縮符号化データS3を逆量子化部5に与える。
逆量子化部5は圧縮符号化データS3に逆量子化処理を施す。具体的に逆量子化部5は、圧縮符号化データS3の各成分毎に上述した重み係数QSijを掛け算する。逆量子化部5は、こうして得られた逆量子化データS4を逆離散コサイン変換部6に供給する。逆離散コサイン変換部6は逆量子化データS4に
【数2】
に示す逆離散コサイン変換(IDCT)のための演算処理を施すことで、上述した8画素×8画素でなる各ブロツクを復元する。逆離散コサイン変換部6は、こうして得られる出力画像データS5を出力する。
【0007】
このように符号化装置1は離散コサイン変換、量子化処理及び整数化処理を施すことにより入力画像データS1を圧縮符号化した圧縮符号化データS3を得ることができ、また復号化装置2は逆量子化処理及び逆離散コサイン変換を施すことにより、圧縮符号化データS3を復号処理して出力画像データS5を得ることができる。なお、一般的には、量子化処理及び整数化処理の2つの処理を合わせて量子化処理と呼ぶことが多い。
【0008】
ここでこうした符号化処理により圧縮符号化され、復号化によつて復元される画像データにはブロツク歪みが生じる場合がある。以下にブロツク歪みについて説明する。
符号化装置1及び復号化装置2では、量子化部3で重み係数QSijを用いてDCTデータS2の各成分を除算して得られる値に丸め処理を施し、これにより生成される圧縮符号化データS3に重み係数QSijを乗算して逆量子化している。このため逆量子化により得られる逆量子化データS4には誤差が含まれていることになる。
【0009】
すなわち量子化部4では、量子化処理の際に小数部分が含まれた値でなる各成分を四捨五入して整数化(すなわち丸め処理)しており、この小数部分を切り上げるか切り捨てるかに応じて正の誤差又は負の誤差が生じることになる。例えば画素値が0.4 でなる画素部分の場合、整数化によつて画像データが0となる。従つて、こうして整数化された画像データを復元した場合、このような値である画素部分は元々画素値が0であつた場合と同様のものとなる。このため、こうした整数化がなされた圧縮符号化データS4を復元して得られる画像には誤差が含まれることになり、上述した画素部分は0.4 でなる画素値を有していたにも係わらず、復元されないことになる。
【0010】
図13(A)に示すように、1次元上に示す画像データを画像圧縮処理した場合、離散コサイン変換により当該画像データは8個単位でなる第1及び第2のブロツクに分割される。こうした画像データに整数化処理を行つた場合、第1のブロツクに負の誤差が生じ、また第2のブロツクに正の誤差が生じたとする。
図13(B)に示すように、こうした誤差が各々生じた第1及び第2のブロツクを復元した場合、第1のブロツクの画像データは元の(すなわち原画像の)データに比して小さい値となり、また第2のブロツクの画像データは元のデータに比して大きな値となる。このため、第1及び第2のブロツクの境界部分には段差状の歪みが生じる。こうした歪みは2次元でなる画像データの場合にも言え、一般にブロツク歪みと呼ばれる。
【0011】
図14は2次元上に示す比較的単調な画像データを形成する8画素×8画素のブロツクA及びBを示しており、上下方向が各画素データの値の大きさを示している。ここではブロツクA及びBは図中に示す水平方向に隣接しており、奥側のブロツクAが符号化処理対象となつているブロツクを、また手前側のブロツクBがブロツクAの一つ左側に隣接したブロツクを各々示している。また図14との対応部分に同一符号を付して示す図15は、上述したブロツクA及びBを離散コサイン変換したことで得られる、周波数空間上でのデータである。
図14に示すように、ブロツクA及びBは水平方向に対してほぼ一定の値となつており、比較的滑らかな画像を形成している。このようなブロツクA及びBを離散コサイン変換して得られる周波数空間上のデータは横方向の周波数成分、すなわちi行j列でなるブロツク内で各成分をDijで表した場合のiが0〜7かつjが1〜7でなる部分、がほぼ0となる(図15)。
【0012】
図16は1行0列の成分を示し、また図17は2行0列でなる成分を示している。ブロツクB(図14)は直流(DC)成分、1行0列の成分及び2行0列でなる成分でほぼ表すことができ、iが3〜7かつjが0でなるようなその他の成分はほぼ0となる。ブロツクBでは1行0列の成分に比して2行0列の成分が多く含まれているため、2行0列の成分である「15」の方が1行0列の成分である「8」に比して値が大きくなつている(図15)。ちなみに直流成分は「DC1」で示している。
【0013】
一方、ブロツクA(図14)も直流(DC)成分、1行0列の成分及び2行0列でなる成分でほぼ表すことができ、iが3〜7かつjが0でなるようなその他の成分はほぼ0となる。ブロツクAでは2行0列の成分に比して1行0列の成分が多く含まれているため、1行0列の成分である「13」の方が2行0列の成分である「9」に比して値が大きくなつている。ちなみに直流成分は「DC2」で示している。
【0014】
図18に示すように、こうした離散コサイン変換により得られた周波数空間上のデータに対して重み係数を20として量子化を行つた場合、直流成分を除く各成分は20で割られた後、四捨五入されるので、ブロツクBでは1行0列の成分である「8」が「0」となり、2行0列の成分である「15」が「1」となる。またブロツクAでは1行0列の成分である「13」が「1」となり、2行0列の成分である「9」が「0」になる。ブロツクA及びBの直流成分であるDC1及びDC2は重み係数を1として量子化がなされるため、そのままの値となる。またiが3〜7かつjが0でなるような成分、及び、iが0〜7かつjが1〜7でなるような成分については、ほぼ0である値であるために量子化処理によつて各成分が「0」となる。
【0015】
また図19に示すように、このような量子化がなされたブロツクA及びBを逆量子化した場合、すなわち各成分に対して上述した重み係数を乗算した場合、ブロツクBでは1行0列の成分である「0」が「0」となり、2行0列の成分である「1」が「20」となる。またブロツクAでは1行0列の成分である「1」が「20」となり、2行0列の成分である「0」が「0」になる。ブロツクA及びBの直流成分であるDC1及びDC2は、そのままの値となる。またiが3〜7かつjが0でなるような成分、及び、iが0〜7かつjが1〜7でなるような成分は「0」となる。
【0016】
図20に示すように、こうして逆量子化がなされたデータに対して逆離散コサイン変換を施して画像データを復元した場合、ブロツクBは図中に示す垂直方向の中央部分が凹んだ画素値の状態となり、またブロツクAは図中に示す垂直方向の一方にいくほど画素値が低くなる状態となる。したがつて符号化前のようにブロツク間が比較的滑らかである状態(図14)に比して、ブロツク間の境界部分の画素値に段差状の差分(すなわちブロツク歪み)が生じる。
【0017】
【発明が解決しようとする課題】
ところでかかる構成の符号化装置1及び復号化装置2においては、上述したように量子化の際の丸め処理により生じる誤差によつて、復元した画像データの8画素×8画素でなるブロツクと隣接する他のブロツクとの境界部分でブロツク歪みが生じる場合がある。このため圧縮符号化がなされた画像データを復号化して得られる復元画像では、ブロツク歪みを含んでいるために見にくい画像となつているという問題がある。
【0018】
本発明は以上の点を考慮してなされたもので、ブロツク歪みを低減し得る符号化装置及び符号化方法を提案しようとするものである。
【0019】
【課題を解決するための手段】
かかる課題を解決するため本発明においては、入力画像データを所定のブロツク単位毎に離散コサイン変換する演算手段と、上記演算手段より出力された結果である注目ブロツク及び当該注目ブロツクに隣接するブロツクとの境界部分において上記ブロツク間の境界線を挟んで隣接する画素の画素値同士の差分の絶対値を上記境界部分毎に加算した和が所定しきい値未満である場合、上記注目ブロツク及び上記隣接するブロツクにそれぞれ所定の重み付け係数を乗算して加算することにより重み付き平均を算出する重み付き平均手段と、上記重み付き平均手段より出力された平均ブロツクを量子化する量子化手段と、上記量子化手段より出力された量子化ブロツクを符号化する符号化手段とを設けるようにした。
【0020】
注目ブロツク及び隣接するブロツクの境界部分における画素値の差分の和が小さいことから画像が滑らかであると見なすことができる場合、注目ブロツクと当該注目ブロツクに隣接する複数のブロツクとの重み付け平均によつて新たな平均ブロツクを生成することにより、注目ブロツクの値を平均化した平均ブロツクと注目ブロツクに隣接するブロツクとの差分値を減少させることができ、平均ブロツク及び隣接ブロツクから復元する画像の境界部分を滑らかにすることができる。
【0021】
【発明の実施の形態】
以下図面について、本発明の一実施例を詳述する。
【0022】
図12との対応部分に同一符号を付して示す図1において、10は全体として符号化装置を示し、入力ポート11を介して入力画像データS1を入力する。ここで符号化装置10は入力ポート11、制御回路12、メモリ13、演算器14、出力ポート15及びバス16からなり、制御回路12から制御信号S6を送出して入力ポート11を制御することにより入力画像データS1をバス16を介してメモリ13に1フレーム単位毎に格納する。因みに符号化装置10はCPU装置でなり、各機能部がICチツプ内に一体で収められた構成でなる。
【0023】
制御回路12はメモリ13に制御信号S7を送出して、メモリ13に格納した入力画像データS1をバス16を介して、8画素×8画素のブロツク単位毎に演算器14に供給する。こうして入力画像データS1を供給された演算器14は、制御回路12から与えられる制御信号S8に応じて、入力画像データS1に例えば離散コサイン変換及び量子化処理等の所望の演算処理を施して圧縮符号化データS3を生成する。ここで演算器14は離散コサイン変換及び量子化処理した際の演算結果をメモリ13に格納しておき、後述する重み付き平均をとる際に読み出すようになされている。符号化装置10は、こうして生成した圧縮符号化データS3をバス16、及び制御回路12から制御信号S9を送出して制御する出力ポート15を介して出力する。
【0024】
符号化装置10は上述した演算器14による所望の演算処理を、図2〜図6に示して説明する処理手順にしたがつて行うようになされている。図2に示すように、符号化装置10はステツプSP1で手順を開始する。次に符号化装置10は、ステツプSP2で、メモリ13(図1)に格納されている入力画像データS1から、符号化処理対象である8画素×8画素のブロツクを取り出して演算器14(図1)に供給する。符号化装置10は演算器14によつて、ステツプSP3で、取り出したブロツクに離散コサイン変換(以下、これをDCTと呼ぶ)のための演算処理を施す。また符号化装置10は、こうしてDCT処理により周波数空間上のデータに変換された8行8列でなる各成分をDijとする。なお、ここでi及びjは各々0〜7でなる変数である。
【0025】
続いて符号化装置10は演算器14によつて、ステツプSP4で、8×8でなるブロツク内の各成分Dijに対して量子化処理を行う。具体的には、まず演算器14は各成分Dijに応じた重み係数QSijによつてDijを除算する。演算器14はこうして得られる値を四捨五入することによつて丸め処理(整数化処理)する。この結果をQijとする。
【0026】
符号化装置10は演算器14によつて、ステツプSP5で、jが0以外の場合でなるQij、すなわち変数iが0〜7であると共に変数jが1〜7である場合のQijの値が0であるか否かを判別する。jが0以外のときのQijの値に1つでも0以外の値がある場合、符号化装置10はステツプSP6に処理をすすめる。
また符号化装置10は演算器14によつて、ステツプSP6で、iが0以外の場合でなるQij、すなわち変数iが1〜7であると共に変数jが0〜7である場合のQijの値が0であるか否かを判別する。iが0以外の場合のQijの値に1つでも0以外の値がある場合、符号化装置10はステツプSP7に処理をすすめる。
【0027】
符号化装置10はiが0以外の場合のQijの値に1つでも0以外の値があり、かつjが0以外の場合のQijの値に1つでも0以外の値がある場合、ステツプSP7で、Qijを量子化処理により得られた圧縮符号化データS3として出力し、ステツプSP8で手順を完了する。なお、符号化装置10は処理すべき次のブロツクが存在する場合、ステツプSP1に戻つて処理手順を繰り返す。
【0028】
一方、ステツプSP5で、jが0以外のときのQijが全て0であることを判別した場合、符号化装置10はステツプSP51にジヤンプして処理を行う。図3に示すように、符号化装置10は演算器14によつて、ステツプSP51で、符号化処理対象となつているブロツクの隣接ブロツクが所定条件を満たしているか否かを判別する。具体的に符号化装置10は、まず符号化処理対象となつているブロツクの1つ左及び1つ右にブロツクが存在するか否かを検出する。左右にブロツクが存在する場合、符号化装置10は次にこれらのブロツクが符号化済であるか否かを検出する。符号化済であつた場合、符号化装置10は続いてこれらのブロツクのQijが、jが0以外のときに全て0であるか否かを検出する。さらに符号化装置10はjが0以外のときにQijが全て0である場合、左右のブロツクとの境界が滑らかであるか否かを判別する。なお、「滑らかである」という意味は後述する。符号化装置10はこれらの条件を全て満たす場合にステツプSP52に処理を進める。
【0029】
符号化装置10は上述の条件が全て満たされている場合に演算器14によつて、ステツプSP52で、これら左右のブロツクのDijの値を加味して符号化処理対象となつているブロツクのDijを変更する。具体的には処理対象となるブロツクのDijに0.8 を乗算した値に、左のブロツクのDijに0.1 を乗算した値及び右のブロツクのDijに0.1 を乗算した値を加算して新たなDijの値を算出する。但し、ここでDijの変数iは1〜7であり、またjは0である。すなわちjが0以外の成分部分は、このステツプに処理がすすんだ時点で全て0であることがわかつているため、これらの値は敢えて算出しない。またi及びjが0の成分部分については当該ブロツクの直流成分であるため、もとの値のままとする。符号化装置10は、このように左右のブロツクとの重み付き平均を用いて新たなDijの値を算出する。
【0030】
符号化装置10は演算器14によつて、ステツプSP53で、新たに得られたDijに対して量子化処理を行う。具体的には、まず演算器14は各成分Dijに応じた重み係数QSijによつてDijを除算する。なお、ここでDijは変数i及びjが0〜7の全ての成分である。演算器14はこうして得られる値を四捨五入することによつて丸め処理(整数化処理)する。この結果をQijとする。符号化装置10は、こうしてQijが得られたらステツプSP7にジヤンプしてQijを出力して手順を終了する。
【0031】
またステツプSP51で所定の条件を1つでも満たさない場合、符号化装置10はステツプSP54にジヤンプする。図4に示すように、符号化装置10は演算器14によつて、ステツプSP54で、符号化処理対象となつているブロツクの1つ左にブロツクが存在するか否か、またブロツクが存在する場合にそのブロツクが符号化済であるか否か、さらに符号化済である場合にそのブロツクのQijがjが0以外のときに全て0であるか否か、またjが0以外のときにQijが全て0である場合に左のブロツクと処理対象のブロツクとの境界が滑らかであるか否かを判別する。これらの条件を全て満たすことを判別した場合、符号化装置10はステツプSP55に手順を進める。
【0032】
符号化装置10は上述の条件が全て満たされている場合に演算器14によつて、ステツプSP55で、左側のブロツクのDijの値を加味して符号化処理対象となつているブロツクのDijを変更する。具体的には処理対象となるブロツクのDijに0.8 を乗算した値に、左のブロツクのDijに0.2 を乗算した値を加算して新たなDijの値を算出する。但し、ここでDijの変数iは1〜7であり、またjは0である。すなわちjが0以外の成分部分は、このステツプに処理がすすんだ時点で全て0であることがわかつているため、これらの値は敢えて算出しない。またi及びjが0の成分部分については当該ブロツクの直流成分であるため、もとの値のままとする。符号化装置10は、このように左のブロツクとの重み付き平均を用いて新たなDijを算出する。
【0033】
符号化装置10は演算器14によつて、ステツプSP56で、新たに得られたDijに対して量子化処理を行う。具体的には、まず演算器14は各成分Dijに応じた重み係数QSijによつてDijを除算する。なお、ここでDijは変数i及びjが0〜7の全ての成分である。演算器14はこうして得られる値を四捨五入することによつて丸め処理(整数化処理)する。この結果をQijとする。符号化装置10は、こうしてQijが得られたらステツプSP7にジヤンプしてQijを出力して手順を終了する。
【0034】
またステツプSP54で所定の条件を1つでも満たさない場合、符号化装置10はステツプSP57にジヤンプする。符号化装置10は演算器14によつて、ステツプSP57で、符号化処理対象となつているブロツクの1つ右にブロツクが存在するか否か、またブロツクが存在する場合にそのブロツクが符号化済であるか否か、さらに符号化済である場合にそのブロツクのQijがjが0以外のときに全て0であるか否か、またjが0以外のときにQijが全て0である場合に右のブロツクと処理対象のブロツクとの境界が滑らかであるか否かを判別する。これらの条件を全て満たすことを判別した場合、符号化装置10はステツプSP58に手順を進める。また上述の条件を1つでも満たさない場合、符号化装置10はステツプSP6にジヤンプする。
【0035】
符号化装置10は上述の条件が全て満たされている場合に演算器14によつて、ステツプSP58で、右側のブロツクのDijの値を加味して符号化処理対象となつているブロツクのDijを変更する。具体的には処理対象となるブロツクのDijに0.8 を乗算した値に、右のブロツクのDijに0.2 を乗算した値を加算して新たなDijの値を算出する。但し、ここでDijの変数iは1〜7であり、またjは0である。すなわちjが0以外の成分部分は、このステツプに処理がすすんだ時点で全て0であることがわかつているため、これらの値は敢えて算出しない。またi及びjが0の成分部分については当該ブロツクの直流成分であるため、もとの値のままとする。符号化装置10は、このように右のブロツクとの重み付き平均を用いて新たなDijを算出する。
【0036】
符号化装置10は演算器14によつて、ステツプSP59で、新たに得られたDijに対して量子化処理を行う。具体的には、まず演算器14は各成分Dijに応じた重み係数QSijによつてDijを除算する。なお、ここでDijは変数i及びjが0〜7の全ての成分である。演算器14はこうして得られる値を四捨五入することによつて丸め処理(整数化処理)する。この結果をQijとする。符号化装置10は、こうしてQijが得られたらステツプSP7にジヤンプしてQijを出力して手順を終了する。
【0037】
また一方、ステツプSP6で、iが0以外のときのQijが全て0であることを判別した場合、符号化装置10はステツプSP61にジヤンプして処理を行う。図5に示すように、符号化装置10は演算器14によつて、ステツプSP61で、符号化処理対象となつているブロツクの隣接ブロツクが所定条件を満たしているか否かを判別する。具体的に符号化装置10は、まず符号化処理対象となつているブロツクの1つ上及び1つ下にブロツクが存在するか否かを検出する。上下にブロツクが存在する場合、符号化装置10は次にこれらのブロツクが符号化済であるか否かを検出する。符号化済であつた場合、符号化装置10は続いてこれらのブロツクのQijが、iが0以外のときに全て0であるか否かを検出する。さらに符号化装置10はiが0以外のときにQijが全て0である場合、上下のブロツクとの境界が滑らかであるか否かを判別する。符号化装置10はこれらの条件を全て満たす場合にステツプSP62に処理を進める。
【0038】
符号化装置10は上述の条件が全て満たされている場合に演算器14によつて、ステツプSP62で、これら上下のブロツクのDijの値を加味して符号化処理対象となつているブロツクのDijを変更する。具体的には処理対象となるブロツクのDijに0.8 を乗算した値に、上のブロツクのDijに0.1 を乗算した値及び下のブロツクのDijに0.1 を乗算した値を加算して新たなDijの値を算出する。但し、ここでDijの変数jは1〜7であり、またiは0である。すなわちiが0以外の成分部分は、このステツプに処理がすすんだ時点で全て0であることがわかつているため、これらの値は敢えて算出しない。またi及びjが0の成分部分については当該ブロツクの直流成分であるため、もとの値のままとする。符号化装置10は、このように上下のブロツクとの重み付き平均を用いて新たなDijを算出する。
【0039】
符号化装置10は演算器14によつて、ステツプSP63で、新たに得られたDijに対して量子化処理を行う。具体的には、まず演算器14は各成分Dijに応じた重み係数QSijによつてDijを除算する。なお、ここでDijは変数i及びjが0〜7の全ての成分である。演算器14はこうして得られる値を四捨五入することによつて丸め処理(整数化処理)する。この結果をQijとする。符号化装置10は、こうしてQijが得られたらステツプSP7にジヤンプしてQijを出力して手順を終了する。
【0040】
またステツプSP61で所定の条件を1つでも満たさない場合、符号化装置10はステツプSP64にジヤンプする。図6に示すように、符号化装置10は演算器14によつて、ステツプSP64で、符号化処理対象となつているブロツクの1つ上にブロツクが存在するか否か、またブロツクが存在する場合にそのブロツクが符号化済であるか否か、さらに符号化済である場合にそのブロツクのQijがiが0以外のときに全て0であるか否か、またiが0以外のときにQijが全て0である場合に上のブロツクと処理対象のブロツクとの境界が滑らかであるか否かを判別する。これらの条件を全て満たすことを判別した場合、符号化装置10はステツプSP65に手順を進める。
【0041】
符号化装置10は上述の条件が全て満たされている場合に演算器14によつて、ステツプSP65で、上側のブロツクのDijの値を加味して符号化処理対象となつているブロツクのDijを変更する。具体的には処理対象となるブロツクのDijに0.8 を乗算した値に、上のブロツクのDijに0.2 を乗算した値を加算して新たなDijの値を算出する。但し、ここでDijの変数jは1〜7であり、またiは0である。すなわちiが0以外の成分部分は、このステツプに処理がすすんだ時点で全て0であることがわかつているため、これらの値は敢えて算出しない。またi及びjが0の成分部分については当該ブロツクの直流成分であるため、もとの値のままとする。符号化装置10は、このように上のブロツクとの重み付き平均を用いて新たなDijを算出する。
【0042】
符号化装置10は演算器14によつて、ステツプSP66で、新たに得られたDijに対して量子化処理を行う。具体的には、まず演算器14は各成分Dijに応じた重み係数QSijによつてDijを除算する。なお、ここでDijは変数i及びjが0〜7の全ての成分である。演算器14はこうして得られる値を四捨五入することによつて丸め処理(整数化処理)する。この結果をQijとする。符号化装置10は、こうしてQijが得られたらステツプSP7にジヤンプしてQijを出力して手順を終了する。
【0043】
またステツプSP64で所定の条件を1つでも満たさない場合、符号化装置10はステツプSP67にジヤンプする。符号化装置10は演算器14によつて、ステツプSP67で、符号化処理対象となつているブロツクの1つ下にブロツクが存在するか否か、またブロツクが存在する場合にそのブロツクが符号化済であるか否か、さらに符号化済である場合にそのブロツクのQijがiが0以外のときに全て0であるか否か、またiが0以外のときにQijが全て0である場合に下のブロツクと処理対象のブロツクとの境界が滑らかであるか否かを判別する。これらの条件を全て満たすことを判別した場合、符号化装置10はステツプSP68に手順を進める。また上述の条件を1つでも満たさない場合、符号化装置10はステツプSP7にジヤンプする。
【0044】
符号化装置10は上述の条件が全て満たされている場合に演算器14によつて、ステツプSP68で、下側のブロツクのDijの値を加味して符号化処理対象となつているブロツクのDijを変更する。具体的には処理対象となるブロツクのDijに0.8 を乗算した値に、下のブロツクのDijに0.2 を乗算した値を加算して新たなDijの値を算出する。但し、ここでDijの変数jは1〜7であり、またiは0である。すなわちiが0以外の成分部分は、このステツプに処理がすすんだ時点で全て0であることがわかつているため、これらの値は敢えて算出しない。またi及びjが0の成分部分については当該ブロツクの直流成分であるため、もとの値のままとする。符号化装置10は、このように下のブロツクとの重み付き平均を用いて新たなDijを算出する。
【0045】
符号化装置10は演算器14によつて、ステツプSP69で、新たに得られたDijに対して量子化処理を行う。具体的には、まず演算器14は各成分Dijに応じた重み係数QSijによつてDijを除算する。なお、ここでDijは変数i及びjが0〜7の全ての成分である。演算器14はこうして得られる値を四捨五入することによつて丸め処理(整数化処理)する。この結果をQijとする。符号化装置10は、こうしてQijが得られたらステツプSP7にジヤンプしてQijを出力して手順を終了する。
【0046】
なお、上述したブロツク間の境界部分が「滑らか」であるという意味を、ここで説明する。すなわち図7に示すように、隣接するブロツクと接している各々8個の画素同士の値の差が小さい場合、これらのブロツクの境界部分は「滑らか」であるとしている。したがつて符号化装置10は滑らかであるか否かを判別する場合、演算器14によつてAkの画素値からBkの画素値を減算した値(但し、kは0〜7)を求め、これら8個の画素値の差分の絶対値の和が予め設定される所定のしきい値未満であれば「滑らか」であるとし、しきい値以上であれば「滑らか」でないと判別するようになされている。
【0047】
ブロツク歪みはブロツク間の境界部分が「滑らか」である比較的単調な画像の場合に特に目立つ。複雑な画像にブロツク歪みが生じた場合は、人間の視覚上の特性からブロツク歪みを判別し難い。このため、符号化装置10はブロツク間が「滑らか」である原画像を符号化する場合に隣接ブロツクとの重み付き平均をとつたDijを新たに求め、元々ブロツク間に段差状の画素値の差分を有する「滑らか」でない原画像を符号化する場合にはDCT処理により得られたDijをそのまま量子化して出力する。
【0048】
以上の構成において、入力画像データS1は上述した符号化処理手順に基づき演算器14によつてDCT処理及び量子化処理がなされる。これにより圧縮符号化データS3が得られて出力される。入力画像データS1は上述した符号化処理手順により、まず符号化処理対象となる8画素×8画素でなるブロツク毎にDCT処理がなされてDijが得られ、またDijに量子化処理を行つてQijが得られる(図2、SP2〜SP4)。
【0049】
次に量子化処理により得られたQijの値に基づいて、処理対象ブロツクの原画像が比較的単調な画像であるか否かの判別がなされる(SP5及び6)。すなわちi行j列(i及びjは0〜7でなる変数)のブロツク内でiが0以外の場合にQijが全て0であるということは、原画像が垂直方向に対して一定の値を持つ比較的単調な画像であることを示している。またjが0以外の場合にQijが全て0であるということは、原画像が水平方向に対して一定の値を持つ比較的単調な画像であることを示している。この場合は符号化した画像データを復号処理して得られる復元画像に生じるブロツク歪みが上述したように目立つものであるため、Dijの値は隣接するブロツクとの重み付き平均に基づいて新たに求められる。
一方、原画像が比較的単調な画像でない、複雑な画像であることが判別された場合は、復元画像にブロツク歪みが生じても判別し難いものであるため、そのまま得られているQijが圧縮符号化データS3として出力される(SP7)。
【0050】
処理対象であるブロツクの原画像が比較的単調な画像であることが判別された場合、処理対象ブロツクに対して、符号化処理がなされている共にi又はjが0以外の場合のQijの値が全て0であり、かつ処理対象ブロツクとの境界が滑らかである隣接ブロツクが存在するか否かが検出される(図3のSP51、図4のSP54及びSP57、図5のSP61、図6のSP64及びSP67)。
【0051】
こうした条件を全て満たす隣接ブロツクの原画像は処理対象ブロツクの原画像と滑らかにつながる比較的単調な画像であるため、こうした隣接ブロツク間の境界部分にブロツク歪みが生じた場合、目立つものとなる。このため、このような隣接ブロツクの存在が検出された場合、処理対象ブロツクのDijの値は隣接ブロツクとの重み付き平均を用いて求められる新たな値に更新される(図3のSP52、図4のSP55及びSP58、図5のSP62、図6のSP65及びSP68)。なお上述の条件を一つでも満たさない場合、ブロツク歪みが生じたとしても目立つものとなり得ないため、そのままQijが出力される。
【0052】
例えば処理対象ブロツクAの1行0列の成分が13でなると共に2行0列の成分が9であり、また処理対象ブロツクの左側に隣接するブロツクBの1行0列の成分が8でなると共に2行0列の成分が15である場合(図15)、図8に示すように、上述の符号化処理手順によつて、
【数3】
【数4】
の演算がなされ、処理対象ブロツクAの1行0列の成分は12に、2行0列の成分は10.2に変更される。ここでi及びjが0である直流成分はDC2のままである。ただし、ブロツクBは、既に符号化処理がなされているとする。
【0053】
図9に示すように、こうして成分値の変更がなされた処理対象ブロツクA及び隣接ブロツクBを重み係数を20として量子化処理した場合(但し、直流成分に対する重み係数は1)、処理対象ブロツクAの1行0列の成分は1、2行0列の成分は1として出力される。つまり、図8に示す値を20で割つて四捨五入する。
図10に示すように、こうして符号化処理された圧縮符号化データS3を重み係数を20として逆量子化した場合、処理対象ブロツクAの1行0列の成分は20、2行0列の成分は20として得られる。
【0054】
図11に示すように、こうして逆量子化がなされた成分値をIDCT処理して画像データを復元した場合、従来の符号化処理により画像を復元した場合(図20)に比して、隣接ブロツクとの境界部分に生じる画素値の段差(すなわちブロツク歪み)を軽減した復元画像を得ることができる。
すなわち処理対象ブロツクをDCT処理して得られるDijに対して隣接ブロツクのDijとの重み付き平均をとつて、処理対象ブロツクのDijの値を隣接ブロツクのDijの値に近づけたことにより、こうして得られた新たなDijを量子化した後に復号処理して復元される画像と隣接ブロツクの復元画像との境界部分を滑らかにすることができ、これによりブロツク歪みを低減することができる。
【0055】
以上の構成によれば、処理対象ブロツクの原画像が比較的単調な画像であり、この処理対象ブロツクとの境界部分が滑らかにつながつている符号化済の隣接ブロツクが存在する場合に、処理対象ブロツクをDCT処理して得られる成分値Dijを隣接ブロツクの成分値Dijとの重み付き平均を用いて算出される新たな成分値Dijに変更して量子化処理することにより、処理対象ブロツクの成分値Dijと隣接ブロツクの成分値Dijとの差分値を減少させて、境界部分の画素値の差分を低減させた復元画像を得ることができ、かくするにつき、ブロツク間の境界部分に生じるブロツク歪みを低減することができる。
【0056】
なお上述の実施例においては、DCT処理によりフレーム内のみで符号化を行う符号化装置10の場合について述べたが、本発明はこれに限らず、例えばBピクチヤ、Pピクチヤ等のフレーム間予測符号化を行う符号化装置に用いるようにしてもよい。
【0057】
また上述の実施例においては、MPEG1及びMPEG2方式でなる画像圧縮方式を用いた符号化装置10の場合について述べたが、本発明はこれに限らず、例えばJPEG等の静止画像の圧縮符号化を行う符号化装置に用いてもよい。すなわち、動画像又は静止画像に係わらず、画像圧縮を行う際に丸め処理を実行する符号化装置であれば、どのような符号化装置に適用してもよい。
【0058】
また上述の実施例においては、演算処理手段、第1及び第2の符号化手段、検出手段及びデータ平均化手段を一体化したCPU装置でなる符号化装置10の場合について述べたが、本発明はこれに限らず、例えば各機能ブロツク毎に分割した構成としてもよい。
【0059】
さらに上述の実施例においては、処理対象ブロツクの重み付けの割合を0.8 とすると共に隣接するブロツクの重み付けを0.1 又は0.2 とし、左右に隣接ブロツクが存在する場合に処理対象ブロツクのDijの値に0.8 を乗算した値と、左右のブロツクのDijの値に各々0.1 又は0.2 を乗算した値とを加算して得られる値を処理対象ブロツクの新たなDijの値とする場合について述べたが、本発明はこれに限らず、例えば処理対象ブロツクの重み付けの割合を0.6 とすると共に隣接するブロツクの重み付けを0.2 又は0.4 とするようにしてもよい。重み付き平均は量子化処理の際の重み係数に応じて適応的に設定してもよい。
【0060】
【発明の効果】
上述のように本発明によれば、入力画像データを所定のブロツク単位毎に離散コサイン変換する演算手段と、上記演算手段より出力された結果である注目ブロツク及び当該注目ブロツクに隣接するブロツクとの境界部分において上記ブロツク間の境界線を挟んで隣接する画素の画素値同士の差分の絶対値を上記境界部分毎に加算した和が所定しきい値未満である場合、上記注目ブロツク及び上記隣接するブロツクにそれぞれ所定の重み付け係数を乗算して加算することにより重み付き平均を算出する重み付き平均手段と、上記重み付き平均手段より出力された平均ブロツクを量子化する量子化手段と、上記量子化手段より出力された量子化ブロツクを符号化する符号化手段とを設けるようにして、注目ブロツク及び隣接するブロツクの境界部分における画素値の差分の和が小さいことから画像が滑らかであると見なすことができる場合、注目ブロツクと当該注目ブロツクに隣接する複数のブロツクとの重み付け平均によつて新たな平均ブロツクを生成することにより、注目ブロツクの値を平均化した平均ブロツクと注目ブロツクに隣接するブロツクとの差分値を減少させることができ、平均ブロツク及び隣接ブロツクから復元する画像の境界部分を滑らかにすることができ、かくして復元画像データに生じるブロツク歪みを低減し得る。
【図面の簡単な説明】
【図1】本発明の実施例による符号化装置の構成を示すブロツク図である。
【図2】実施例による符号化方法の処理手順を示すフローチヤートである。
【図3】実施例による符号化方法の処理手順を示すフローチヤートである。
【図4】実施例による符号化方法の処理手順を示すフローチヤートである。
【図5】実施例による符号化方法の処理手順を示すフローチヤートである。
【図6】実施例による符号化方法の処理手順を示すフローチヤートである。
【図7】隣接するブロツク間での「滑らかさ」の説明に供する略線図である。
【図8】実施例による重み付き平均を用いた量子化の説明に供する略線図である。
【図9】量子化後の各成分値を示す略線図である。
【図10】逆量子化後の各成分値を示す略線図である。
【図11】実施例によるブロツク歪みの軽減の説明に供する斜視図である。
【図12】従来の符号化装置及び復号化装置の構成を示すブロツク図である。
【図13】ブロツク歪みの1次元的な説明に供する略線図である。
【図14】隣接したブロツクの符号化前の状態の説明に供する斜視図である。
【図15】DCTがなされたブロツク内の成分状態の説明に供する略線図である。
【図16】1行0列の成分を示す略線図である。
【図17】2行0列の成分を示す略線図である。
【図18】量子化がなされたブロツク内の説明に供する略線図である。
【図19】逆量子化がなされたブロツク内の説明に供する略線図である。
【図20】復元した画像データに生じたブロツク歪みの説明に供する斜視図である。
【符号の説明】
1、10……符号化装置、2……復号化装置、3……離散コサイン変換部、4……量子化部、5……逆量子化部、6……逆離散コサイン変換部、11……入力ポート、12……制御回路、13……メモリ、14……演算器、15……出力ポート、16……バス。
Claims (3)
- 入力画像データを所定のブロツク単位毎に離散コサイン変換する演算手段と、
上記演算手段より出力された結果である注目ブロツク及び当該注目ブロツクに隣接するブロツクとの境界部分において上記ブロツク間の境界線を挟んで隣接する画素の画素値同士の差分の絶対値を上記境界部分毎に加算した和が所定しきい値未満である場合、上記注目ブロツク及び上記隣接するブロツクにそれぞれ所定の重み付け係数を乗算して加算することにより重み付き平均を算出する重み付き平均手段と、
上記重み付き平均手段より出力された平均ブロツクを量子化する量子化手段と、
上記量子化手段より出力された量子化ブロツクを符号化する符号化手段と
を具えることを特徴とする符号化装置。 - 上記重み付き平均手段は、
上記注目ブロツクと上記複数の隣接するブロツクにそれぞれに異なつた重み付き係数を加えて演算する
ことを特徴とする請求項1に記載の符号化装置。 - 入力画像データを所定のブロツク単位毎に離散コサイン変換する演算ステツプと、
上記演算ステツプより出力された結果である注目ブロツク及び当該注目ブロツクに隣接するブロツクとの境界部分において上記ブロツク間の境界線を挟んで隣接する画素の画素値同士の差分の絶対値を上記境界部分毎に加算した和が所定しきい値未満である場合、上記注目ブロツク及び上記隣接するブロツクにそれぞれ所定の重み付け係数を乗算して加算することにより重み付き平均を算出する重み付き平均ステツプと、
上記重み付き平均ステツプより出力された平均ブロツクを量子化する量子化ステツプと、
上記量子化ステツプより出力された量子化ブロツクを符号化する符号化ステツプと
を具えることを特徴とする符号化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28004896A JP4209954B2 (ja) | 1996-09-30 | 1996-09-30 | 符号化装置及び符号化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP28004896A JP4209954B2 (ja) | 1996-09-30 | 1996-09-30 | 符号化装置及び符号化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10108177A JPH10108177A (ja) | 1998-04-24 |
JP4209954B2 true JP4209954B2 (ja) | 2009-01-14 |
Family
ID=17619579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP28004896A Expired - Fee Related JP4209954B2 (ja) | 1996-09-30 | 1996-09-30 | 符号化装置及び符号化方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4209954B2 (ja) |
-
1996
- 1996-09-30 JP JP28004896A patent/JP4209954B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10108177A (ja) | 1998-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3269960B2 (ja) | ブロック化現象除去のための後処理装置及びその方法 | |
TW464831B (en) | Image processing circuit and method for reducing a difference between pixel values across an image boundary | |
JP4004089B2 (ja) | ビデオ信号復号化システムおよびノイズ抑圧方法 | |
TW221085B (ja) | ||
KR101194518B1 (ko) | 양자화 단계를 국부적으로 조정하기 위한 방법 | |
JP5133290B2 (ja) | 動画像符号化装置および復号装置 | |
US20020136295A1 (en) | Code quantity control apparatus, code quantity control method and picture information transformation method | |
US20080247664A1 (en) | System and method for an adaptive de-blocking filter after decoding of compressed digital video | |
US20080232477A1 (en) | Method and Device For Coding and Decoding of Video Error Resilience | |
JP2624087B2 (ja) | 映像信号復号化方法 | |
JPH0974565A (ja) | 映像信号符号化システム用コントローラ | |
JPH08265761A (ja) | 映像データ後処理方法 | |
JP2006197557A (ja) | 画像符号化装置、画像符号化方法及びそのプログラム | |
JP3846424B2 (ja) | 画像信号量子化装置およびその方法 | |
KR20060127159A (ko) | 압축된 디지털 비디오에서 mpeg 손상들의 글로벌표시를 위한 시스템 및 방법 | |
JP3324551B2 (ja) | 画像信号の符号化制御装置 | |
JP4209954B2 (ja) | 符号化装置及び符号化方法 | |
US20080199153A1 (en) | Coding and Decoding Method and Device for Improving Video Error Concealment | |
JP4784618B2 (ja) | 動画像符号化装置、動画像復号化装置、動画像符号化プログラム、及び動画像復号化プログラム | |
KR100607390B1 (ko) | 이미지 전체 모션 벡터를 이용하여 디지털화된 이미지를코딩하기 위한 방법 및 장치 | |
JP3812269B2 (ja) | 動画像符号化装置及びその方法 | |
JP3858520B2 (ja) | 動画像符号化装置及びその方法 | |
US20050238241A1 (en) | Image compression apparatus generating and using assistant images for deblocking processing and a method thereof | |
EP1570678B1 (en) | Method of measuring blocking artefacts | |
JP3393595B2 (ja) | 動画像符号化装置および動画像符号化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050729 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050926 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20051104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051228 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060125 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20060407 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081024 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111031 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |