JP2009147758A - データ伸張装置 - Google Patents

データ伸張装置 Download PDF

Info

Publication number
JP2009147758A
JP2009147758A JP2007324020A JP2007324020A JP2009147758A JP 2009147758 A JP2009147758 A JP 2009147758A JP 2007324020 A JP2007324020 A JP 2007324020A JP 2007324020 A JP2007324020 A JP 2007324020A JP 2009147758 A JP2009147758 A JP 2009147758A
Authority
JP
Japan
Prior art keywords
block
cosine transform
discrete cosine
layer
dct coefficients
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.)
Granted
Application number
JP2007324020A
Other languages
English (en)
Other versions
JP4935662B2 (ja
Inventor
Toshihiko Suzuki
俊彦 鈴木
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.)
Yamaha Corp
Original Assignee
Yamaha 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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2007324020A priority Critical patent/JP4935662B2/ja
Priority to US12/334,225 priority patent/US8238676B2/en
Publication of JP2009147758A publication Critical patent/JP2009147758A/ja
Application granted granted Critical
Publication of JP4935662B2 publication Critical patent/JP4935662B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】 DCT係数を記憶したメモリへのアクセス回数が少なくて済み、効率的に伸張処理を行うことができる静止画のデータ伸張装置を提供する。
【解決手段】 データ伸張装置の係数/画素値変換部213は、メモリ部206に格納された各階層のDCT係数を使用して、L3〜L1デコード処理を実行する。メモリ部206の各エリアは4ワードの記憶容量を有する。各階層のデコード処理では、当該階層のDCT係数を参照した演算を行い、演算結果を他の同一階層のDCT係数としてメモリ部206に書き込む。そこで、各階層のDCT係数を階層毎にまとめてメモリ部206に格納し、デコード処理の際のメモリ部206へのアクセス回数を減らす。
【選択図】図8

Description

この発明は、静止画の圧縮画像データの伸張処理を行うデータ伸張装置に関する。
JPEG(Joint Photographic Experts Group)による静止画の圧縮アルゴリズムとして、DCT(Discrete Cosine Transform;離散コサイン変換)を利用したものが知られている。この圧縮アルゴリズムでは、圧縮対象である画像を所定の画素サイズのブロックに区切り、ブロック毎に画素値にDCTを施し、この結果、ブロック毎に得られる各DCT係数に量子化処理、可変長符号化処理を施して、静止画の圧縮画像データを生成する。この圧縮アルゴリズムは、高い効率でのデータ圧縮を行うことができる。しかし、この圧縮アルゴリズムでは、ブロック毎に独立して画素値のDCTを行って圧縮画像データを生成するため、この圧縮画像データを伸張して静止画を復元すると、ブロック歪み、すなわち、ブロックの境界において画素の濃淡が不連続でぎこちないものになる不具合が生じやすいという問題があった。
特許文献1は、このような不具合を改善するための画像圧縮伸張技術を開示している。この特許文献1に開示された技術では、次のようにして静止画の画像データの圧縮および伸張を行う。
a.画像データの圧縮時には、画像を所定の画素サイズのブロックに区切り、ブロック毎に画素値にDCTを施してDCT係数を生成するとともに、ブロックの境界において画素値の包絡線の勾配と一致する勾配を有する傾き相殺関数のDCT係数を求め、ブロックの画素値から得たDCT係数から傾き相殺関数のDCT係数を減算したDCT係数を求め、このDCT係数に量子化処理および可変長符号化処理を施して圧縮画像データを生成する。ここで、各ブロックの傾き相殺関数のDCT係数は、当該ブロックの上下左右の各隣接ブロックの画素値のDCT係数を参照することにより算出する。
b.圧縮画像データの伸張時には、圧縮画像データに可変長復号化処理および逆量子化処理を施して、各ブロックのDCT係数を復元し、ブロック毎に、当該ブロックの上下左右の各隣接ブロックのDCT係数を参照することにより、傾き相殺関数が相殺される前のDCT係数を復元し、このDCT係数にIDCT(Inverse Discrete Cosine Transform;逆離散コサイン変換)を施し、画素値を復元する。
国際公開第2006/054667号パンフレット
ところで、上述した特許文献1に開示の技術では、圧縮画像データの伸張時に、1ブロック分の画素値を復元するために、予めRAM等のメモリに記憶された各ブロックのDCT係数を参照するが、その際に、処理対象であるブロックのみならず、その上下左右方向の各隣接ブロックのDCT係数を参照する必要があるため、1ブロック当たりのメモリへのアクセス回数が多くなり、その分だけ伸張処理の所要時間が長くなるという問題があった。
この発明は、以上説明した事情に鑑みてなされたものであり、DCT係数を記憶したメモリへのアクセス回数が少なくて済み、効率的に伸張処理を行うことができるデータ伸張装置を提供することを目的としている。
この発明によるデータ伸張装置は、次のような圧縮アルゴリズムにより得られた圧縮画像データの伸張処理を行うものである。
a.圧縮対象の画像に対する複数階層のエンコード処理を順次実行する。
b.最下位階層のエンコード処理では、圧縮対象の画像を所定画素サイズのブロックに区切り、ブロック毎に、当該ブロックについての離散コサイン変換を実行して離散コサイン変換係数を算出するとともに、当該ブロックの上下左右の各隣接ブロックの離散コサイン変換係数を参照することにより、当該ブロックの離散コサイン変換係数から当該ブロックの傾き相殺関数の成分を差し引いた最下位階層のブロックの離散コサイン変換係数を算出する補正処理を実行する。
c.最下位階層より上位の各階層のエンコード処理では、当該階層の下位の階層のエンコード処理の処理対象となった各ブロックを所定個数ずつ各々包含する当該階層のブロックを構成し、複数の当該階層のブロックの各々について、当該階層のブロックに含まれる下位の階層の各ブロックの直流成分の離散コサイン変換係数を用いた離散コサイン変換を実行して離散コサイン変換係数を算出するとともに、当該階層のブロックの上下左右の各隣接ブロックの離散コサイン変換係数を参照することにより、当該階層のブロックの離散コサイン変換係数から当該階層のブロックの傾き相殺関数の成分を差し引いた当該階層のブロックの離散コサイン変換係数を算出する補正処理を実行する。
d.各階層のエンコード処理により得られた各階層のブロックの離散コサイン変換係数を示す圧縮画像データを生成する。
そして、この発明によるデータ伸張装置は、メモリと、係数/画素値変換部とを有する。ここで、メモリは、複数のエリアを有し、エリア単位でデータの読み出しまたは書き込みが可能であり、1つのエリアが複数の離散コサイン変換係数または複数の画素値を記憶可能な容量を有している。また、係数/画素値変換部は、次のような処理を行う。
e.圧縮画像データが示す各階層のエンコード処理結果である離散コサイン変換係数を用いて、最上位階層から最下位階層までの各階層のデコード処理を順次実行し、圧縮前の画像の画素値を算出する。
f.最下位階層以外の各階層のデコード処理では、当該階層の各ブロックについて、前記メモリに事前に記憶された当該ブロックの上下左右の隣接ブロックにおける当該階層の離散コサイン変換係数を参照することにより、当該ブロックの離散コサイン変換係数に当該ブロックの傾き相殺関数の離散コサイン変換係数を加える補正処理を行い、この補正処理を経た当該ブロックの離散コサイン変換係数に逆離散コサイン変換を施して当該ブロックを分割した当該階層の下位階層のブロックの直流成分の離散コサイン変換係数を算出し、この下位階層のブロックの直流成分の離散コサイン変換係数を前記メモリに書き込む。
g.最下位階層のデコード処理では、当該階層の各ブロックについて、前記メモリに事前に記憶された当該ブロックの上下左右の隣接ブロックにおける当該階層の離散コサイン変換係数を参照することにより、当該ブロックの離散コサイン変換係数に当該ブロックの傾き相殺関数の離散コサイン変換係数を加える補正処理を行い、この補正処理を経た当該ブロックの離散コサイン変換係数に逆離散コサイン変換を施して当該ブロックの画素値を算出し、前記メモリに書き込む。
そして、本発明の特徴は、次の点にある。すなわち、圧縮画像データは、最上位階層のブロック単位で、各ブロックに属する各階層のブロックの離散コサイン変換係数を含んでおり、データ伸張装置は、各階層の離散コサイン変換係数が階層順に並び、かつ、同一のエリアに格納するべき離散コサイン変換係数が連続して並ぶように、前記圧縮画像データから取り出した最上位階層のブロックおよびこれに属する各階層のブロックの離散コサイン変換係数を並び替える手段を前記係数/画素値変換部よりも前段の位置に有し、上位階層のものになるほど複数のエリアに跨らないように、各階層の離散コサイン変換係数または画素値を階層毎にまとめて前記メモリ部の各エリアに格納するのである。
かかる発明によれば、各階層のデコード処理では、同一階層の離散コサイン変換係数をメモリから読み出して、同一階層の離散コサイン変換係数をメモリに書き込む。従って、各階層の離散コサイン変換係数または画素値を階層毎にまとめて前記メモリ部の各エリアに格納するようにしておくことにより、デコード処理の際のメモリへのアクセス回数が減り、効率的に伸張処理を行うことができる。
以下、図面を参照し、この発明の実施の形態を説明する。
図1はこの発明の一実施形態であるデータ伸張装置200を含む画像圧縮伝送システムの構成を示すブロック図である。この画像圧縮伝送システムにおいて、データ圧縮装置100は、静止画の画像データを圧縮して圧縮画像データを出力する装置である。本実施形態によるデータ伸張装置200は、このデータ圧縮装置100によって出力された圧縮画像データの伸張処理を行うものである。
データ圧縮装置100は、撮像部101と、信号処理部102と、フレームメモリ103と、エンコーダ104と、出力部105と、メモリ部106と、操作表示部107と、制御部108とを有する。
ここで、撮像部101は、カメラ、スキャナ等であり、圧縮対象である静止画の撮像を行い、画像信号を出力する装置である。フレームメモリ103は、例えばRAMであり、圧縮対象である静止画の画像データを記憶する役割を果たす。信号処理部102は、撮像部101から出力される画像信号をA/D変換することにより、一画面分の静止画を構成する各画素の画素値(画素の濃淡の程度を示す値)の集まりである画像データを生成し、フレームメモリ103に格納する。エンコーダ104は、フレームメモリ103に格納された画像データに圧縮処理を施し、圧縮画像データを出力する装置である。なお、このエンコーダ104の詳細については後述する。メモリ部106は、例えばRAMであり、エンコーダ104が圧縮処理を実行する際にワークエリアとして用いられる。出力部105は、エンコーダ104から出力された圧縮画像データを外部に出力する装置である。ある態様において、出力部105は、通信装置であり、インターネット等のネットワークを介して、圧縮画像データのファイルを他の装置に転送する。他の態様において、出力部105は、ICメモリ、磁気ディスク等の外部記憶媒体に圧縮画像データを書き込む装置である。操作表示部107は、ユーザに対してコマンドや制御パラメータの入力を促す案内を表示する液晶パネル等の表示器と、ユーザがコマンドや制御パラメータを入力するために操作するプッシュボタン等の操作子とにより構成されている。制御部108は、操作表示部107を介して各種のコマンドや制御パラメータを受け取り、データ圧縮装置100全体の制御を行う装置である。
次にエンコーダ104について説明する。図示のように、エンコーダ104は、画素値/係数変換部111と、量子化部112と、可変長符号化部113とにより構成されている。画素値/係数変換部111は、フレームメモリ103内の処理対象である画像データを所定の画素サイズ(例えば8×8画素)の画素値のブロックに区切り、ブロック単位で画像データの圧縮処理を行う装置である。この画素値/係数変換部111による圧縮処理は、特許文献1に開示されたPHLCT(Poly-Harmonic Local Cosine Transform;多重調和局所コサイン変換)アルゴリズムを発展させたHPHLCT(Hierarchical Poly-Harmonic Local Cosine Transform;階層的多重調和局所コサイン変換)アルゴリズムに従って画像データの圧縮を行うものである。
さらに詳述すると、HPHLCTアルゴリズムによる圧縮処理では、階層的な関係にあるL1(レイヤ1)エンコード処理と、L2エンコード処理と、L3エンコード処理とを順次実行する。図2はL1エンコード処理の処理内容を、図3はL2エンコード処理の処理内容を、図4はL3エンコード処理の処理内容を各々示すものである。L1エンコード処理〜L3エンコード処理の各々は、図2(a)〜図4(a)に示す2×2DCTと、図2(b)〜図4(b)に示す補正処理とにより構成されている。
L1エンコード処理では、圧縮対象である静止画の各画素値を2×2画素のブロックであるL1ブロックに区切り、L1ブロック毎に、2×2DCT処理を行い、1個の直流成分のDCT係数L1F1と、3個の交流成分のDCT係数L1F2、L1F3およびL1F4を生成する。
具体的には、L1ブロックの第1行第1列の画素値をf1、第2行第1列の画素値をf2、第1行第2列の画素値をf3、第2行第2列の画素値をf4とした場合に、次式に従い、4個のDCT係数F1、F2、F3、F4を求める。
F1=((f1+f3)+(f2+f4))/2 ……(1)
F2=((f1+f3)−(f2+f4))/2 ……(2)
F3=((f1−f3)+(f2−f4))/2 ……(3)
F4=((f1−f3)−(f2−f4))/2 ……(4)
図2(a)において、2×2DCTの処理結果であるDCT係数行列中、第1行第1列にある直流成分のDCT係数L1F1は上記DCT係数F1を、第2行第1列にある交流成分のDCT係数L1F2は上記DCT係数F2を、第1行第2列にある交流成分のDCT係数L1F3は上記DCT係数F3を、第2行第2列にある交流成分のDCT係数L1F4は上記DCT係数F4を各々示している。
次に補正処理では、DCT係数F1〜F4の得られた各L1ブロックについて、DCT係数F1〜F4から傾き相殺関数u(x、y)のDCT係数U1〜U4を各々差し引いた内容のDCT係数L1V1、L1V2、L1V3およびL1V4を求める。ここで、傾き相殺関数u(x、y)とは、L1ブロック内において画素値f1〜f4の包絡面を表す連続関数(すなわち、ブロック内の各点の画像の濃度を表す)をφ(x、y)とした場合に、ブロックの境界において、この連続関数φ(x、y)の勾配と同じ勾配を有する関数である。特許文献1は、この傾き相殺関数u(x,y)がポアソン方程式のノイマン境界値問題の解として得られることを示している。
補正処理の具体的な演算内容は次の通りである。すなわち、処理対象ブロックのDCT係数F1〜F4をc1〜c4とし、処理対象ブロックの上の隣接ブロックのDCT係数F1〜F4をt1〜t4とし、処理対象ブロックの下の隣接ブロックのDCT係数F1〜F4をb1〜b4とし、処理対象ブロックの左の隣接ブロックのDCT係数F1〜F4をl1〜l4とし、処理対象ブロックの右の隣接ブロックのDCT係数F1〜F4をr1〜r4とした場合に、次式に従い、L1ブロックの傾き相殺関数の成分が相殺されたDCT係数V1、V2、V3およびV4を算出するのである。
V1=c1−U1=c1 ……(5)
V2=c2−U2=c2−(t1−b1)/8 ……(6)
V3=c3−U3=c3−(l1−r1)/8 ……(7)
V4=c4−U4=c4−0.0551*(t3−b3+l2−r2) ……(8)
上記式(5)にも示されているように、補正処理において、直流成分のDCT係数c1については、何も補正を行わない。補正処理では、交流成分のDCT係数のみが補正される。この補正処理により得られたDCT係数V1、V2、V3およびV4が、L1エンコード処理の最終結果としてのDCT係数L1V1、L1V2、L1V3およびL1V4となる。
特許文献1は、任意の画素サイズのブロックについて、傾き相殺関数の成分が相殺されたDCT係数を算出するための式(10)を示しているが、上記式(5)〜(8)は、この特許文献1における式(10)を2×2画素のブロックに合わせて変形したものである。
なお、補正処理の対象であるブロックが静止画の上端に位置している場合、このブロックの上の隣接ブロックは存在しない。同様に、処理対象であるブロックが静止画の左端、右端、下端に位置している場合にも、存在しない隣接ブロックが生じる。これらの場合、補正処理では、そのような存在しない隣接ブロックのDCT係数の代わりに、処理対象のブロックのDCT係数を用いて、上記式(5)〜(8)の演算を行う。この措置は、L1以外の他の階層の補正処理でも同様である。
次にL2エンコード処理では、L1ブロックを上下方向に2個、左右方向に2個ずつまとめて、1ブロック当たり4個のL1ブロックを包含するL2ブロックを構成する。そして、このようにして構成される複数のL2ブロックの各々について、2×2DCT(図3(a)参照)と補正処理(図3(b)参照)を実行する。
L2エンコード処理の2×2DCTでは、1つのL2ブロックに含まれる4個のL1ブロックのうち左上のL1ブロックの直流成分のDCT係数L1V1を要素f1とし、左下のL1ブロックの直流成分のDCT係数L1V1を要素f2とし、右上のL1ブロックの直流成分のDCT係数L1V1を要素f3とし、右下のL1ブロックの直流成分のDCT係数L1V1を要素f4として、前述した式(1)〜(4)に代入して、DCT係数F1、F2、F3およびF4を算出する。このようにして得られるDCT係数F1、F2、F3およびF4が、L2ブロックのDCT係数L2F1、L2F2、L2F3およびL2F4となる。
次にL2エンコード処理の補正処理では、DCT係数L2Fk(k=1〜4)の得られた各L2ブロックについて、L2ブロックの傾き相殺関数が相殺された内容のDCT係数L2V1、L2V2、L2V3およびL2V4を求める。さらに詳述すると、補正処理では、処理対象であるL2ブロックのDCT係数L2F1〜L2F4をc1〜c4とし、処理対象であるL2ブロックの上の隣接L2ブロックのDCT係数L2F1〜L2F4をt1〜t4とし、処理対象であるL2ブロックの下の隣接L2ブロックのDCT係数L2F1〜L2F4をb1〜b4とし、処理対象であるL2ブロックの左の隣接L2ブロックのDCT係数L2F1〜L2F4をl1〜l4とし、処理対象であるL2ブロックの右の隣接L2ブロックのDCT係数L2F1〜L2F4をr1〜r4とし、前述した式(5)〜(8)に代入して、L2ブロックの傾き相殺関数の成分が相殺された内容のDCT係数V1、V2、V3およびV4を算出する。このDCT係数V1、V2、V3およびV4が、L2エンコード処理の最終結果としてのDCT係数L2V1、L2V2、L2V3およびL2V4となる。
次にL3エンコード処理では、L2ブロックを上下方向に2個、左右方向に2個ずつまとめて、1ブロック当たり4個のL2ブロックを包含するL3ブロックを構成する。そして、このようにして構成される複数のL3ブロックの各々について、2×2DCT(図4(a)参照)と補正処理(図4(b)参照)を実行する。
L3エンコード処理の2×2DCTでは、1つのL3ブロックに含まれる4個のL2ブロックのうち左上のL2ブロックの直流成分のDCT係数L2V1をf1とし、左下のL2ブロックの直流成分のDCT係数L2V1をf2とし、右上のL2ブロックの直流成分のDCT係数L2V1をf3とし、右下のL2ブロックの直流成分のDCT係数L2V1をf4として、前述した式(1)〜(4)に代入し、DCT係数F1、F2、F3およびF4を算出する。このようにして得られるDCT係数F1、F2、F3およびF4が、L3ブロックのDCT係数L3F1、L3F2、L3F3およびL3F4となる。
次にL3エンコード処理の補正処理では、DCT係数行列L3Fk(k=1〜4)の得られた各L3ブロックについて、L3ブロックの傾き相殺関数の成分が相殺された内容のDCT係数L3V1、L3V2、L3V3およびL3V4を求める。さらに詳述すると、補正処理では、処理対象であるL3ブロックのDCT係数L3F1〜L3F4をc1〜c4とし、処理対象であるL3ブロックの上の隣接L3ブロックのDCT係数L3F1〜L3F4をt1〜t4とし、処理対象であるL3ブロックの下の隣接L3ブロックのDCT係数L3F1〜L3F4をb1〜b4とし、処理対象であるL3ブロックの左の隣接L3ブロックのDCT係数L3F1〜L3F4をl1〜l4とし、処理対象であるL3ブロックの右の隣接L3ブロックのDCT係数L3F1〜L3F4をr1〜r4として、前述した式(5)〜(8)に代入し、L3ブロックの傾き相殺関数の成分が相殺された内容のDCT係数V1、V2、V3およびV4を算出する。このDCT係数V1、V2、V3およびV4が、L3エンコード処理の最終結果としてのDCT係数L3V1、L3V2、L3V3およびL3V4となる。
以上説明した各階層のエンコード処理のうちL1、L2の各階層のエンコード処理では、補正処理により得られたDCT係数のうち交流成分のDCT係数が当該階層でのエンコード結果として最終的に残り、直流成分は上位階層のエンコード処理に引き渡される。従って、L1〜L3の全階層のエンコード処理が終了すると、8×8画素の1ブロック当たり次の情報が最終的なエンコード結果として得られる。
a.L1ブロックの交流成分のDCT係数L1V2、L1V3、L1V4
3×((8×8)/(2×2))=48個
b.L2ブロックの交流成分のDCT係数L2V2、L2V3、L2V4
3×((8×8)/(4×4))=12個
c.L3ブロックのDCT係数L3V1、L3V2、L3V3、L3V4
以上、64個のDCT係数が1ブロック当たりのエンコード処理結果となる。
図1において、量子化部112は、画素値/係数変換部111から得られる1ブロック当たり16個のDCT係数を量子化する装置である。ここで、量子化は、DCT係数を量子化スケール値によって除算し、除算結果の整数部を量子化データとして出力する処理である。本実施形態では、操作表示部107の操作により、この量子化に用いる量子化スケール値をL1、L2、L3の階層毎に独立して指定することが可能である。操作表示部107の操作により指定されたL1、L2、L3の各階層の量子化スケール値は、制御部108を介して量子化部112に与えられる。量子化部112は、L1ブロックのDCT係数L1V2、L1V3およびL1V4は、L1用の量子化スケール値により、L2ブロックのDCT係数L2V2、L2V3およびL2V4は、L2用の量子化スケール値により、L3ブロックのDCT係数L3V1、L3V2、L3V3およびL3V4は、L3用の量子化スケール値により各々量子化し、量子化データを出力する。
可変長符号化部113は、ハフマン符号化等の周知の可変長符号化アルゴリズムにより、量子化部112から出力される量子化データを可変長符号に変換し、出力部105に与える。出力部105は、可変長符号化部113から出力される可変長符号の列に対し、階層毎の量子化スケール値等、圧縮画像データの伸張処理に必要な情報を含むヘッダを付加し、最終的な圧縮画像データとして出力する。
以上がデータ圧縮装置100の詳細である。
次に本実施形態によるデータ伸張装置200について説明する。図1に示すように、データ伸張装置200は、入力部201と、デコーダ202と、フレームメモリ203と、表示制御部204と、表示部205と、メモリ部206と、操作表示部207と、制御部208とを有する。
入力部201は、伸張処理の対象である圧縮画像データを外部から受け取る装置である。ある態様において、入力部201は、通信装置であり、インターネット等のネットワークを介して、他の装置から圧縮画像データのファイルを受信する。他の態様において、入力部201は、ICメモリ、磁気ディスク等の外部記憶媒体から圧縮画像データを読み出す装置である。デコーダ202は、入力部201を介して受け取った圧縮画像データに伸張処理を施し、画像データを出力する装置である。なお、このデコーダ202の詳細については後述する。メモリ部206は、例えばRAMであり、デコーダ202が伸張処理を実行する際にワークエリアとして用いられる。フレームメモリ203は、例えばRAMであり、デコーダ202の伸張処理により得られた画像データを格納する役割を果たす。表示部205は、例えば液晶ディスプレイパネルとその駆動回路により構成されている。表示制御部204は、所定時間長の垂直同期周期毎に、フレームメモリ203に記憶された画像データを読み出して表示部205に与え、表示部205に画像を表示させる装置である。操作表示部207は、ユーザに対してコマンドや制御パラメータの入力を促す案内を表示する液晶パネル等の表示器と、ユーザがコマンドや制御パラメータを入力するために操作するプッシュボタン等の操作子とにより構成されている。制御部208は、操作表示部207を介して各種のコマンドや制御パラメータを受け取り、データ伸張装置200全体の制御を行う装置である。
次にデコーダ202について説明する。図示のように、デコーダ202は、可変長復号化部211と、逆量子化部212と、係数/画素値変換部213とを有している。入力部201が受け取る圧縮画像データは、階層毎の量子化スケール値等を含むヘッダと、それに続くブロック毎のデータとにより構成されている。ここで、ブロック毎のデータは、各ブロック(8×8画素のブロック)について得られた各階層のDCT係数を階層毎の量子化スケール値により量子化し、さらに可変長符号化したものである。可変長復号化部211は、この可変長符号を可変長符号化前の量子化データに戻す装置である。また、逆量子化部212は、圧縮画像データのヘッダに含まれる階層毎の量子化スケール値を用いて、量子化データを逆量子化し、8×8画素のブロック毎に、逆量子化により得られた各階層のDCT係数L3V1〜L3V4、L2V2〜L2V4、L1V2〜L1V4を出力する装置である。そして、係数/画素値変換部213は、上述したHPHLCTアルゴリズムの逆変換であるIHPHLCT(Inverse Hierarchical Poly-Harmonic Local Cosine Transform;逆階層的多重調和局所コサイン変換)アルゴリズムに従って、ブロック(8×8画素のブロック)毎に、L3、L2、L1の各階層のDCT係数の伸張処理を実行し、ブロックを構成する各画素の画素値を算出する装置である。
係数/画素値変換部213は、各階層のDCT係数L3V1〜L3V4、L2V2〜L2V4、L1V2〜L1V4からブロックの各画素の画素値を求めるために、L3デコード処理、L2デコード処理およびL1デコード処理を実行する。図5はL3デコード処理の処理内容を、図6はL2デコード処理の処理内容を、図7はL1デコード処理の処理内容を各々示すものである。L3デコード処理〜L1デコード処理の各々は、図5(a)〜図7(a)に示す補正処理と、図5(b)〜図7(b)に示す2×2IDCTとにより構成されている。これらの各デコード処理は、メモリ部206をワークエリアとして実行されるものであるが、以下では簡単のため、各デコード処理におけるメモリ部206の使用態様に関する説明は省略し、DCT係数から画素値を得るまでの一連の算術演算を中心に説明する。
まず、L3デコード処理の補正処理では、処理対象であるL3ブロックのDCT係数L3V1〜L3V4をデータc1〜c4とし、当該L3ブロックの上の隣接L3ブロックのDCT係数L3V1、L3V3をデータt1、t3とし、当該L3ブロックの下の隣接L3ブロックのDCT係数L3V1、L3V3をデータb1、b3とし、当該L3ブロックの左の隣接L3ブロックのDCT係数L3V1、L3V2をデータl1、l2とし、当該L3ブロックの右の隣接L3ブロックのDCT係数L3V1、L3V2をデータr1、r2とし、次式に従い、L3ブロックの傾き相殺関数の成分U1〜U4を加えた内容のDCT係数F1、F2、F3、F4を算出する。
F1=c1+U1=c1 ……(9)
F2=c2+U2=c2+(t1−b1)/8 ……(10)
F3=c3+U3=c3+(l1−r1)/8 ……(11)
F4=c4+U4=c4+0.0551*(t3−b3+l2−r2) ……(12)
これらのDCT係数F1〜F4は、上述したL3エンコード処理において補正処理が施される前のL3ブロックのDCT係数L3F1〜L3F4に相当する(以上、図5(a)参照)。なお、デコード対象のL3ブロックが静止画の上端、下端、左端、右端のものである場合には、上下左右の一部の隣接L3ブロックが存在しない事態となるが、その場合にはデコード対象のL3ブロック自体のDCT係数を存在しない隣接L3ブロックのDCT係数の代わりに使用する。これはL2デコード処理、L1デコード処理の各補正処理においても同様である。
次にL3デコード処理の2×2IDCTでは、次式に従い、要素f1、f2、f3、f4を算出する。
f1=((F1+F3)+(F2+F4))/2 ……(13)
f2=((F1+F3)−(F2+F4))/2 ……(14)
f3=((F1−F3)+(F2−F4))/2 ……(15)
f4=((F1−F3)−(F2−F4))/2 ……(16)
これらの要素f1〜f4は、上述したL3エンコード処理において2×2DCTが施される前の要素f1〜f4、すなわち、当該L3ブロックに包含される4個のL2ブロックの直流成分のDCT係数L2V1に相当する(以上、図5(b)参照)。
L2デコード処理の補正処理では、処理対象であるL2ブロックのDCT係数L2V1、L2V2、L2V3およびL2V4をデータc1、c2、c3、c4とし、当該L2ブロックの上の隣接L2ブロックのDCT係数L2V1、L2V3をデータt1、t3とし、当該L2ブロックの下の隣接L2ブロックのDCT係数L2V1、L2V3をデータb1、b3とし、当該L2ブロックの左の隣接L2ブロックのDCT係数L2V1、L2V2をデータl1、l2とし、当該L2ブロックの右の隣接L2ブロックのDCT係数L2V1、L2V2をデータr1、r2とし、上述した式(9)〜(12)に従い、L2ブロックの傾き相殺関数の成分U1〜U4を加えた内容のDCT係数F1、F2、F3、F4を算出する。これらのDCT係数F1〜F4は、上述したL2エンコード処理において補正処理が施される前のL2ブロックのDCT係数L2F1〜L2F4に相当する(以上、図6(a)参照)。
次にL2デコード処理の2×2IDCTでは、L2デコード処理の補正処理により算出したDCT係数F1〜F4を上述した式(13)〜(16)に代入し、要素f1、f2、f3、f4を算出する。これらの要素f1〜f4は、上述したL2エンコード処理において2×2DCTが施される前の要素f1〜f4、すなわち、当該L2ブロックに包含される4個のL1ブロックの直流成分のDCT係数L1V1に相当する(以上、図6(b)参照)。
L1デコード処理の補正処理では、処理対象であるL1ブロックのDCT係数L1V1、L1V2、L1V3およびL1V4をデータc1、c2、c3、c4とし、当該L1ブロックの上の隣接L1ブロックのDCT係数L1V1、L1V3をデータt1、t3とし、当該L1ブロックの下の隣接L1ブロックのDCT係数L1V1、L1V3をデータb1、b3とし、当該L1ブロックの左の隣接L1ブロックのDCT係数L1V1、L1V2をデータl1、l2とし、当該L1ブロックの右の隣接L1ブロックのDCT係数L1V1、L1V2をデータr1、r2とし、上述した式(9)〜(12)に従い、L1ブロックの傾き相殺関数の成分U1〜U4を加えた内容のDCT係数F1、F2、F3、F4を算出する。これらのDCT係数F1〜F4は、上述したL1エンコード処理において補正処理が施される前のL1ブロックのDCT係数L1F1〜L1F4に相当する(以上、図7(a)参照)。
次にL1デコード処理の2×2IDCTでは、L1デコード処理の補正処理により算出したDCT係数F1〜F4を上述した式(13)〜(16)に代入し、要素f1、f2、f3、f4を算出する。これらの要素f1〜f4は、上述したL1エンコード処理において2×2DCTが施される前の要素f1〜f4、すなわち、当該L1ブロックを構成する4個の画素の画素値に相当する(以上、図7(b)参照)。
以上がL3デコード処理〜L1デコード処理の内容である。
図8は、可変長復号化部211および逆量子化部212からなる部分と、係数/画素値変換部213とにより行われる処理の内容を示している。同図に示すように、メモリ部206は、各々所定の記憶容量を有するプレーン206A、206B、206Cおよび206Dを有する。これらのプレーン206A〜206Dは、各々別個のRAMであってもよいし、同一RAM内の互いに重複しない別個の記憶エリアであってもよい。逆量子化部212は、8×8画素のブロック毎に、逆量子化により得られた各階層のDCT係数L3V1〜L3V4、L2V2〜L2V4、L1V2〜L1V4をメモリ部206のプレーン206A〜206Dの全てに書き込む。係数/画素値変換部213は、このメモリ部206の各プレーン206A〜206Dを利用して、上述したL3デコード処理、L2デコード処理およびL1デコード処理と、出力処理を実行する。
本実施形態の1つの特徴は、L3デコード処理、L2デコード処理およびL1デコード処理の実行時における各階層のDCT係数とそれらのプレーン206A〜206Dにおける格納アドレスとの関係にある。ここで、図9を参照し、各DCT係数とその格納アドレスとの関係について説明する。
本実施形態において、メモリ部206におけるプレーン206A〜206Dの1アドレス分のエリアは、4ワードの記憶容量を有している。また、本実施形態において取り扱うDCT係数および画素値は、1ワードで表現される。従って、プレーン206A〜206Dの各エリアは、各々4個のDCT係数または画素値を記憶可能であり、1回のアクセス当たり、4個のDCT係数または画素値をプレーン206A〜206Dから読み出し、あるいはプレーン206A〜206Dに書き込むことができる。
図9(a)および(b)は、プレーン206A〜206Dの各々のアドレスマップを示している。本実施形態において、プレーン206A〜206Dは、各々が16個のエリアにより構成されたマクロエリアに区分されている。図9(a)に示される各矩形は、プレーン206A〜206Dの各エリアを区分したマクロエリアを各々示している。図9(b)は、1個のマクロエリアの詳細を示すものである。図9(b)に示すように、マクロエリア内の16個のエリアには、連続したアドレスADRi,j,k(k=0〜15)が与えられている。
逆量子化部212は、1つのブロック(8×8画素のブロック)を表す64個のDCT係数を出力するとき、プレーン206A〜206Dの各々において、アドレスADRi,j,k(k=0〜15)に対応した各エリアに、それら64個のDCT係数を4個ずつに分けて格納する。また、このブロックの上の隣接ブロックの64個のDCT係数はアドレスADRi−1,j,k(k=0〜15)を有する各エリアに、下の隣接ブロックの64個のDCT係数はアドレスADRi+1,j,k(k=0〜15)を有する各エリアに、左の隣接ブロックの64個のDCT係数はアドレスADRi,j−1,k(k=0〜15)を有する各エリアに、右の隣接ブロックの64個のDCT係数はアドレスADRi,j+1,k(k=0〜15)を有する各エリアに各々格納する。
図9(c)は、1ブロック分の64個のDCT係数を示している。図9(c)には、各DCT係数に対し、上下方向にスキャンを繰り返すように、1〜64までの番号が振られているが、これらの1〜64番のDCT係数の種類は、図9(c)において、○印、△印、無印により区別した通りである。
この図9(c)に示す64個のDCT係数の配列は、データ圧縮装置100の画素値/係数変換部111が1ブロック分のL1〜L3デコード処理を終えた状態のままの配列となっている。このように各階層のDCT係数を本来の配置のままプレーン206A〜206Dに格納し、この配置状態を維持して、L3〜L1デコード処理を実行することも可能である。
しかし、そのようなDCT係数の格納方法を採用した場合、1ブロック分のL3〜L1デコード処理のためのプレーン206A〜206Dへのアクセス回数が多くなり、L3〜L1デコード処理が非効率的なものとなる。そこで、本実施形態では、DCT係数をプレーン206A〜206Dに格納する際に、上位階層のものほど複数のエリアに跨らないように、各階層のDCT係数を階層毎にまとめてプレーン206A〜206Dに格納する。
さらに詳述すると、例えば図9(d)に示すように、1つの8×8画素のブロックに属するL3ブロックの4個のDCT係数をマクロエリア内の1つのエリア(アドレスADRi,j,0)にまとめて格納し、同ブロックに属する4個のL2ブロックの12個のDCT係数(交流成分)を同マクロエリア内においてアドレスADRi,j,0のエリアを囲む3つのエリア(アドレスADRi,j,1、ADRi,j,4、ADRi,j,5)に格納し、同ブロックに属する16個のL1ブロックの48個のDCT係数(交流成分)を同マクロエリア内の他の12個のエリアに格納する。このようにすることで、1ブロック分のL3〜L1デコード処理のためのプレーン206A〜206Dへのアクセス回数を大幅に減らすことができる。なお、このような効果が如何にして発生するかについては、後に詳述する。
ところで、図9(d)に示すように各DCT係数を各エリアに格納するためには、事前に各エリアに記憶するデータを構成する4個のDCT係数を取得し、それらを繋ぎ合わせておく必要がある。そこで、本実施形態では、この繋ぎ合わせを容易にするためのDCT係数の並び替え回路が係数/画素値変換部213よりも前段の位置、具体的には可変長復号化部211の出力部分に設けられている(図示略)。この並べ替え回路は、可変長復号化部211から得られる逆量子化前のDCT係数を、各階層のDCT係数が上位階層から順に並び、かつ、同一エリアに格納されるべき4個のDCT係数が連続するように並び替えを行う。
このような並び替えを行っておくと、逆量子化部212から出力される各DCT係数を出力順に4個ずつまとめるだけで、メモリ部206の各エリアに格納するデータができあがる。また、逆量子化部212では、同一階層の逆量子化前のDCT係数が連続して入力されるため、階層毎の量子化スケール値を用いた逆量子化を効率的に進めることができる。
次に、再び図8を参照し、各DCT係数の格納先に言及しつつ、L3デコード処理、L2デコード処理、L1デコード処理および出力処理について説明する。まず、L3デコード処理では、デコード対象である8×8画素のブロックに属するL3ブロックについて、プレーン206Aに格納された当該L3ブロックのDCT係数L3V1、L3V2、L3V3、L3V4と、当該L3ブロックの上下左右の4個の隣接L3ブロックのDCT係数L3V1およびL3V2またはDCT係数L3V1およびL3V3を読み出す。なお、デコード対象のL3ブロックが静止画の上端、下端、左端、右端のものである場合には、上下左右の一部の隣接L3ブロックが存在しない事態となるが、その場合にはデコード対象のL3ブロック自体のDCT係数を存在しない隣接L3ブロックのDCT係数の代わりに使用する。そして、これらの読み出しデータに基づいて、前掲式(13)〜(16)のf1〜f4に相当する4個のDCT係数L2V1、すなわち、当該L3ブロックが包含する4個のL2ブロックの各々の直流成分のDCT係数L2V1を算出する。そして、f1〜f4に相当する各DCT係数L2V1を、プレーン206Bにおいて当該L3ブロックのDCT係数L3V1、L3V2、L3V3、L3V4が格納されていた各エリアに各々書き込む。
L2デコード処理では、デコード対象である8×8画素のブロックに属する4個のL2ブロックの各々について、当該L2ブロックのDCT係数L2V1、L2V2、L2V3、L2V4と、当該L2ブロックに隣接する4個のL2ブロックのDCT係数L2V1およびL2V2またはDCT係数L2V1およびL2V3をプレーン206Bから読み出す。これらのDCT係数のうち直流成分のDCT係数L2V1は、L3デコード処理によりプレーン206Bに上書きされたものである。そして、これらの読み出しデータに基づいて、前掲式(13)〜(16)のf1〜f4に相当する4個のDCT係数L1V1、すなわち、当該L2ブロックが包含する4個のL1ブロックの各々の直流成分のDCT係数L1V1を算出する。そして、f2〜f4に相当する各DCT係数L1V1を、プレーン206Cにおいて当該L2ブロックのDCT係数L2V2、L2V3、L2V4が格納されている各エリアに各々上書きする。また、プレーン206Bにおいて当該L2ブロックのDCT係数L2V1が上書きされたエリアに元々格納されていたDCT係数をDCT係数L3Vkとした場合に、f1に相当するDCT係数L1V1を、このDCT係数L3Vkが格納されているプレーン206C上のエリアに上書きする。
L1デコード処理では、デコード対象である8×8画素のブロックに属する16個のL1ブロックの各々について、当該L1ブロックのDCT係数L1V1、L1V2、L1V3、L1V4と、当該L1ブロックに隣接する4個のL1ブロックのDCT係数L1V1およびL1V2またはDCT係数L1V1およびL1V3をプレーン206Cから読み出す。これらのDCT係数のうち直流成分のDCT係数L1V1は、L2デコード処理によりプレーン206Cに上書きされたものである。そして、これらの読み出しデータに基づいて、当該L1ブロックの画素値f1、f2、f3、f4を算出する。そして、画素値f2、f3、f4を、プレーン206Dにおいて当該L1ブロックのDCT係数L1V2、L1V3、L1V4が格納されている各エリアに上書きする。また、プレーン206Cにおいて当該L1ブロックのDCT係数L1V1が上書きされたエリアに元々格納されていたDCT係数をDCT係数L2Vkとした場合に、画素値f1を、このDCT係数L2Vkが格納されているプレーン206D上のエリアに上書きする。
出力処理では、プレーン206Dに格納された各画素値を読み出し、それらの画素値をフレームメモリ203内において各々が占めるべき各エリアにマッピングする。さらに詳述すると、ブロック内の8×8画素の各々に例えば図9(c)に示すような番号付けを行った場合、プレーン206Dでは、それらの画素の画素値が図9(d)に示すように並び替えられた状態で格納されている。出力処理では、この図9(d)の状態から図9(c)の状態に戻す並び替えを行いつつ、プレーン206Dに格納された各画素値をフレームメモリ203内にマッピングする。
本実施形態において、係数/画素値変換部213は、可変長復号化部211および逆量子化部212が圧縮画像データ全体についての可変長復号化および逆量子化を終えるのを待つのではなく、可変長復号化部211および逆量子化部212の処理により、画素値への変換に用いる所定ブロックライン数分のDCT係数がプレーン206Aに書き込まれたときに、L3デコード処理の実行を開始する。L3デコード処理の後に続くL2デコード処理、L1デコード処理、出力処理についても同様であり、係数/画素値変換部213は、先行する処理が全て完了するのを待つのではなく、後続の処理に用いられる所定量のデータが先行する処理により得られたときに、後続の処理を開始する。例えばL2デコード処理では、L3デコード処理によりプレーン206Bに書き込まれたDCT係数L2V1を参照する。従って、本実施形態において、係数/画素値変換部213は、L3デコード処理により1ブロックライン分のDCT係数L2V1がプレーン206Bに書き込まれた後に、そのブロックラインについてのL2デコード処理が開始されるように、L2デコード処理の実行開始タイミングの制御を行う。L2デコード処理とL1デコード処理との関係、L1デコード処理と出力処理との関係も同様である。この点に本実施形態のもう1つの特徴がある。
次に、図10〜図12を参照して、L3デコード処理〜L1デコード処理の各処理におけるメモリ部206へのアクセス態様を具体的に説明し、DCT係数の並び替えを行わない場合と、本実施形態のようにDCT係数の並び替えを行った場合の各々についてメモリ部206へのアクセス回数を説明する。ここでは、メモリ部206のプレーン206A〜206Dにおいて、デコード対象である8×8画素のブロックに属するL3〜L1ブロックのDCT係数を図9(a)におけるアドレスADRi,j,k(k=0〜15)のマクロエリアに格納し、デコード対象のブロックの上の隣接ブロックに属するL3〜L1ブロックのDCT係数をアドレスADRi-1,j,k(k=0〜15)のマクロエリアに格納し、デコード対象のブロックの下の隣接ブロックに属するL3〜L1ブロックのDCT係数をアドレスADRi+1,j,k(k=0〜15)のマクロエリアに格納し、デコード対象のブロックの左の隣接ブロックに属するL3〜L1ブロックのDCT係数をアドレスADRi,j-1,k(k=0〜15)のマクロエリアに格納し、デコード対象のブロックの右の隣接ブロックに属するL3〜L1ブロックのDCT係数をアドレスADRi,j+1,k(k=0〜15)のマクロエリアに格納するものとする。
また、メモリ部206において、DCT係数の並び替えを行わない場合における各マクロエリア内でのDCT係数の配置は前掲図9(c)に示した通りであり、DCT係数の並び替えを行った場合における各マクロエリア内でのDCT係数の配置は前掲図9(d)に示した通りであるものとする。
まず、L3デコード処理におけるメモリ部206へのアクセス態様について説明する。
DCT係数の並び替えを行わない場合、L3デコード処理では、次のデータ読み出し処理を行うことになる。
a3.図10(a)に示すデコード対象のブロックに属するL3ブロックのDCT係数L3V1、L3V2、L3V3、L3V4(図10(a)では、1、5、33、37)をプレーン206AにおけるアドレスADRi,j,0、ADRi,j,2、ADRi,j,8、ADRi,j,10の各エリアから読み出す。
b3.図10(a)に示すデコード対象のブロックの上の隣接ブロックに属するL3ブロックのDCT係数L3V1およびL3V3(図10(a)では、1および33)をプレーン206AにおけるアドレスADRi-1,j,0、ADRi-1,j,8の各エリアから読み出す。
c3.図10(a)に示すデコード対象のブロックの下の隣接ブロックに属するL3ブロックのDCT係数L3V1およびL3V3(1および33)をプレーン206AにおけるアドレスADRi+1,j,0、ADRi+1,j,8の各エリアから読み出す。
d3.図10(a)に示すデコード対象のブロックの左の隣接ブロックに属するL3ブロックのDCT係数L3V1およびL3V2(1および5)をプレーン206AにおけるアドレスADRi,j-1,0、ADRi,j-1,2の各エリアから読み出す。
e3.図10(a)に示すデコード対象のブロックの右の隣接ブロックに属するL3ブロックのDCT係数L3V1およびL3V2(1および5)をプレーン206AにおけるアドレスADRi,j+1,0、ADRi,j+1,2の各エリアから読み出す(以上、図9(a)〜(c)参照)。
従って、DCT係数の並び替えを行わない場合、L3デコード処理において、8×8画素の1ブロック当たりのメモリ読み出し回数は12回となる。
また、DCT係数の並び替えを行わない場合、L3デコード処理では、次のデータ書き込み処理を行うことになる。
f3.デコード結果である4個のL2ブロックの直流成分のDCT係数L2V1(図10(a)では1、5、33、37)をプレーン206BにおけるアドレスADRi,j,0、ADRi,j,2、ADRi,j,8、ADRi,j,10の各エリアに書き込む。
従って、DCT係数の並び替えを行わない場合、L3デコード処理において、8×8画素の1ブロック当たりのメモリ書き込み回数は4回となる。
これに対し、DCT係数の並び替えを行った場合、L3デコード処理では、次のデータ読み出し処理を行うことになる。
a3’.図10(b)に示すデコード対象のブロックに属するL3ブロックのDCT係数L3V1、L3V2、L3V3、L3V4(1、5、33、37)をプレーン206AにおけるアドレスADRi,j,0のエリアから読み出す。
b3’.図10(b)に示すデコード対象のブロックの上の隣接ブロックに属するL3ブロックのDCT係数L3V1およびL3V3(1および33)をプレーン206AにおけるアドレスADRi-1,j,0のエリアから読み出す。
c3’.図10(b)に示すデコード対象のブロックの下の隣接ブロックに属するL3ブロックのDCT係数L3V1およびL3V3(1および33)をプレーン206AにおけるアドレスADRi+1,j,0のエリアから読み出す。
d3’.図10(b)に示すデコード対象のブロックの左の隣接ブロックに属するL3ブロックのDCT係数L3V1およびL3V2(1および5)をプレーン206AにおけるアドレスADRi,j-1,0のエリアから読み出す。
e3’.図10(b)に示すデコード対象のブロックの右の隣接ブロックに属するL3ブロックのDCT係数L3V1およびL3V2(1および5)をプレーン206AにおけるアドレスADRi,j+1,0のエリアから読み出す(以上、図9(a)、(b)、(d)参照)。
従って、DCT係数の並び替えを行った場合、L3デコード処理において、8×8画素の1ブロック当たりのメモリ読み出し回数は5回となる。
また、DCT係数の並び替えを行った場合、L3デコード処理では、次のデータ書き込み処理を行うことになる。
f3’.デコード結果である4個のL2ブロックの直流成分のDCT係数L2V1(図10(b)では1、5、33、37)をプレーン206BにおけるアドレスADRi,j,0のエリアに書き込む。
従って、DCT係数の並び替えを行った場合、L3デコード処理において、8×8画素の1ブロック当たりのメモリ書き込み回数は1回となる。
次にL2デコード処理におけるメモリアクセス回数について説明する。
DCT係数の並び替えを行わない場合、L2デコード処理では、次のデータ読み出し処理を行うことになる。
a2.図11(a)に示すデコード対象のブロックに属する4個のL2ブロックにおけるDCT係数L2V1、L2V2、L2V3、L2V4(図11(a)では1、3、17、19、5、7、21、23、33、35、49、51、37、39、53、55)をプレーン206BにおけるアドレスADRi,j,0、ADRi,j,1、ADRi,j,4、ADRi,j,5、ADRi,j,2、ADRi,j,3、ADRi,j,6、ADRi,j,7、ADRi,j,8、ADRi,j,9、ADRi,j,12、ADRi,j,13、ADRi,j,10、ADRi,j,11、ADRi,j,14、ADRi,j,15の各エリアから読み出す。
b2.図11(a)に示すデコード対象のブロックの上の隣接ブロックに属する4個のL2ブロックのうち最も下側の2個のL2ブロックのDCT係数L2V1およびL2V3(図11(a)では、5、21、37、53)をプレーン206BにおけるアドレスADRi-1,j,2、ADRi-1,j,6、ADRi-1,j,10、ADRi-1,j,14の各エリアから読み出す。
c2.図11(a)に示すデコード対象のブロックの下の隣接ブロックに属する4個のL2ブロックのうち最も上側の2個のL2ブロックのDCT係数L2V1およびL2V3(図11(a)では、1、17、33、49)をプレーン206BにおけるアドレスADRi+1,j,0、ADRi+1,j,4、ADRi+1,j,8、ADRi+1,j,12の各エリアから読み出す。
d2.図11(a)に示すデコード対象のブロックの左の隣接ブロックに属する4個のL2ブロックのうち最も右側の2個のL2ブロックのDCT係数L2V1およびL2V2(図11(a)では、33、35、37、39)をプレーン206BにおけるアドレスADRi,j-1,8、ADRi,j-1,9、ADRi,j-1,10、ADRi,j-1,11の各エリアから読み出す。
e2.図11(a)に示すデコード対象のブロックの右の隣接ブロックに属する4個のL2ブロックのうち最も左側の2個のL2ブロックのDCT係数L2V1およびL2V2(図11(a)では、1、3、5、7)をプレーン206BにおけるアドレスADRi,j+1,0、ADRi,j+1,1、ADRi,j+1,2、ADRi,j+1,3の各エリアから読み出す(以上、図9(a)〜(c)参照)。
従って、DCT係数の並び替えを行わない場合、L2デコード処理において、8×8画素の1ブロック当たりのメモリ読み出し回数は32回となる。
また、DCT係数の並び替えを行わない場合、L2デコード処理では、次のデータ書き込み処理を行うことになる。
f2.デコード結果である16個のL1ブロックの直流成分のDCT係数L1V1(図11(a)では、1、3、17、19、5、7、21、23、33、35、49、51、37、39、53、55)をプレーン206CにおけるアドレスADRi,j,0、ADRi,j,1、ADRi,j,4、ADRi,j,5、ADRi,j,2、ADRi,j,3、ADRi,j,6、ADRi,j,7、ADRi,j,8、ADRi,j,9、ADRi,j,12、ADRi,j,13、ADRi,j,10、ADRi,j,11、ADRi,j,14、ADRi,j,15の各エリアに書き込む。
従って、DCT係数の並び替えを行わない場合、L2デコード処理において、8×8画素の1ブロック当たりのメモリ書き込み回数は16回となる。
これに対し、DCT係数の並び替えを行った場合、L2デコード処理では、次のデータ読み出し処理を行うことになる。
a2’.上記a2.において読み出し対象であった4個のL2ブロックのDCT係数L2V1、L2V2、L2V3、L2V4は、図11(b)に示す1、3、17、19、5、7、21、23、33、35、49、51、37、39、53、55であり、これらはプレーン206BにおけるアドレスADRi,j,0、ADRi,j,1、ADRi,j,4、ADRi,j,5の各エリアに格納されている。従って、これらの各エリアに格納されているものを読み出す。
b2’.上記b2.において読み出し対象であった2個のL2ブロックのDCT係数L2V1およびL2V3は、図11(b)に示す5、21、37、53であり、これらはプレーン206BにおけるアドレスADRi-1,j,0、ADRi-1,j,4の各エリアに格納されている。従って、これらの各エリアに格納されているものを読み出す。
c2’.上記c2.において読み出し対象であった2個のL2ブロックのDCT係数L2V1およびL2V3は、図11(b)に示す1、17、33、49であり、これらはプレーン206BにおけるアドレスADRi+1,j,0、ADRi+1,j,4の各エリアに格納されている。従って、これらの各エリアに格納されているものを読み出す。
d2’.上記d2.において読み出し対象であった2個のL2ブロックのDCT係数L2V1およびL2V2は、図11(b)に示す33、35、37、39であり、これらはプレーン206BにおけるアドレスADRi,j-1,0、ADRi,j-1,1の各エリアに格納されている。従って、これらの各エリアに格納されているものを読み出す。
e2’.上記e2.において読み出し対象であった2個のL2ブロックのDCT係数L2V1およびL2V2は、図11(b)に示す1、3、5、7であり、これらはプレーン206BにおけるアドレスADRi,j+1,0、ADRi,j+1,1の各エリアに格納されている。従って、これらの各エリアに格納されているものを読み出す(以上、図9(a)、(b)、(d)参照)。
従って、DCT係数の並び替えを行わない場合、L2デコード処理において、8×8画素の1ブロック当たりのメモリ読み出し回数は12回となる。
また、DCT係数の並び替えを行った場合、L2デコード処理では、次のデータ書き込み処理を行うことになる。
f2’.デコード結果である16個のL1ブロックの直流成分のDCT係数L1V1(図11(b)では、1、3、17、19、5、7、21、23、33、35、49、51、37、39、53、55)をプレーン206CにおけるアドレスADRi,j,0、ADRi,j,1、ADRi,j,4、ADRi,j,5の各エリアに書き込む。
従って、DCT係数の並び替えを行った場合、L2デコード処理において、8×8画素の1ブロック当たりのメモリ書き込み回数は4回となる。
L1デコード処理において、並び替えを行わない場合、並び替えを行った場合の各場合におけるメモリ部206のアクセスの様子は図12(a)および(b)に示す通りである。図12(a)および(b)において、数字で示されているDCT係数がアクセス対象となる。
L1デコード処理では、並び替えを行わない場合、並び替えを行った場合のいずれにおいても、デコード対象であるブロック内の64個のDCT係数を読み出す。このときのプレーン206Cの読み出し回数は16回である。また、L1デコード処理では、デコード対象のブロックの上下左右の4個の隣接ブロックの中のL1ブロックのうちデコード対象のブロックに最も近いL1ブロックのDCT係数(合計32個)を読み出す。これらのDCT係数は、並び替えを行わない場合、並び替えを行った場合のいずれにおいても、プレーン206C内の16個のエリアに格納されている。従って、このときのメモリ部206の読み出し回数は16回である。よって、並び替えを行わない場合、並び替えを行った場合のいずれにおいても、L1デコード処理におけるメモリ部206の読み出し回数は32回である。
また、L1デコード処理では、デコード対象であるブロックに対応したプレーン206Dの16個のエリアに64個の画素値を書き込む。よって、並び替えを行わない場合、並び替えを行った場合のいずれにおいても、L1デコード処理におけるメモリ部206の書き込み回数は16回である。
以上、総合すると、DCT係数の並び替えを行わない場合、L3〜L1デコード処理の全体としてのメモリ部206の読み出し回数は1ブロック当たり76回、書き込み回数は1ブロック当たり36回となる。これに対し、本実施形態のようにDCT係数の並び替えを行った場合、L3〜L1デコード処理の全体としてのメモリ部206の読み出し回数は1ブロック当たり49回、書き込み回数は1ブロック当たり21回となる。
以上が本実施形態の詳細である。
本実施形態によれば、次の効果が得られる。
(1)本実施形態によれば、L3〜L1デコード処理の際のメモリ部206へのアクセス回数が少なくて済むため、効率的に圧縮画像データの伸張処理を実行することができる。
(2)本実施形態において、係数/画素値変換部213は、可変長復号化部211および逆量子化部212が圧縮画像データ全体についての可変長復号化および逆量子化を終えるのを待たずに、画素値への変換に用いる所定ブロックライン数分のDCT係数がメモリ部206に書き込まれたときに、L3デコード処理の実行を開始する。従って、例えば外部記憶媒体から圧縮画像データを読み出して伸張処理を行うような場合において、可変長復号化部211および逆量子化部212の処理の総時間が長くなるような場合でも、迅速にL3デコード処理を開始し、伸張処理の結果を早く出力することができる。
(3)本実施形態において、係数/画素値変換部213は、L3デコード処理、L2デコード処理、L1デコード処理、出力処理を実行する際、各々に先行する処理が全て完了するのを待つことなく、各処理に必要なデータが先行する処理により得られた後、遅滞なく各処理を開始させる。図13は、その例を示すものである。この例において、係数/画素値変換部213は、可変長復号化部211および逆量子化部212がブロックラインY+4の各ブロックのデータの可変長復号化および逆量子化を行っているときに、ブロックラインY+3の各ブロックのL3デコード処理、ブロックラインY+2の各ブロックのL2デコード処理、ブロックラインY+1の各ブロックのL1デコード処理、ブロックラインYの各ブロックの出力処理を行う。従って、本実施形態によれば、データ伸張処理が開始されてから、伸張済みの画像の表示が開始されるまでの時間を短くすることができる。
以上、この発明の一実施形態について説明したが、この発明にはこれ以外にも他の実施形態が考えられる。例えば次の通りである。
(1)メモリ部206における各エリアの記憶容量は、4ワードに限定されるものではなく、例えば16ワードであってもよい。メモリ部206として、1エリア当たり16ワードの記憶容量を持つものを用いる場合、1エリアに16個のDCT係数を格納することが可能である。この場合、例えば図14に示すように、上位階層のDCT係数(図14の例ではL3およびL2)になるほど、複数のエリアに跨らないように、階層毎にまとめて各階層のDCT係数を各エリアに格納してもよい。この場合においても、上記実施形態と同様、L3〜L1デコード処理におけるメモリ部206へのアクセス回数を減らすことができる、という効果が得られる。
(2)データ圧縮装置100を次のような構成にしてもよい。すなわち、静止画から最上位階層のブロックのN行M列(NおよびMはいずれも複数)の配列が得られる場合に、先頭の行から始まるN0行M列(N0<Nであり、かつ、N0<M)の最上位階層のブロックについて、同一列に属するN0個の最上位階層のブロックを選択する操作を列を順次シフトしつつ繰り返して、圧縮画像データにおけるN0行M列の最上位階層の各ブロックに対応したデータを各ブロックの選択順に出力し、その後、残ったN−N0行M列の最上位階層のブロックについて、同一行に属するM個の最上位階層のブロックを順次選択する操作を行を順次シフトしつつ繰り返して、圧縮画像データにおけるN−N0行M列の最上位階層の各ブロックに対応したデータを各ブロックの選択順に出力するのである。図15は、このような圧縮画像データにおけるデータの並びの例を示すものである。この図15に示す例において、圧縮画像データの先頭部分には、静止画における上端から3ブロックラインの範囲の各ブロックを上下方向に走査(主走査)しつつ、主走査の位置を左右方向に走査(副走査)し、走査順に各ブロックを圧縮したデータが配置される。そして、その後には、4ブロックライン以降の各ブロックラインについて、各ブロックラインのブロックを左右方向に走査(主走査)しつつ、走査対象であるブロックラインを上下方向に走査(副走査)し、走査順に各ブロックを圧縮したデータが配置される。圧縮画像データがこのような構成のものである場合、上下左右の隣接ブロックのDCT係数を参照してL3デコード処理を実行することが可能なブロックが発生するのを早めることができ、L3デコード処理の開始タイミングを早めることができる。具体的には8個のブロックのDCT係数(第1列の3ブロックライン分のブロックと、第2列の3ブロックライン分のブロックと、第3列の2ブロックライン分のブロック)の可変長復号化および逆量子化が終わり、これらのブロックのDCT係数がメモリ部206に書き込まれると、その時点で、第2列の2ブロックライン目のブロックは、上下左右の隣接ブロックのDCT係数がメモリ部206に記憶されており、L3デコード処理の実行が可能なブロックとなる。
(3)データ圧縮装置100が出力する圧縮画像データにおけるデータの並びは図16に示すものであってもよい。この図16に示す例では、静止画から最上位階層のブロックのN行M列(NおよびMはいずれも複数であり、N<Mであるとする。)の配列が得られる場合に、データ圧縮装置100は、最初に第1行第1列のブロックを選択し、次にこのブロックを囲むL字状のブロック列(具体的には第2行第1列、第2行第2列、第1行第2列のブロック)の各ブロックを選択し、次にこの選択済みの領域を囲むL字状のブロック列の各ブロックのデータを選択し、…という具合に、選択済みの領域の外側のL字状のブロック列を順次選択する。そして、第N行のブロックを含むL字状のブロック列のデータを選択した後は、静止画における第N+1列から第M列までの各列のブロックを順次選択する。そして、圧縮画像データにおける最上位階層の各ブロックに対応したデータを各ブロックの選択順に出力するのである。この場合も、前掲図15の態様と同様、データ伸張装置200では、上下左右の隣接ブロックのDCT係数を参照してL3デコード処理を実行することが可能なブロックが発生するのを早めることができ、L3デコード処理の開始タイミングを早めることができる。なお、図16に示す例では、最上位階層のブロックの配列の4隅のうち左上の隅のブロックを最初に選択したが、他のブロックを最初に選択してもよい。また、ブロックの配列の行数Nは列数Mより大きくてもよい。この場合、第M列のブロックを含むL字状のブロック列のデータを選択すると、もはやその外側にL字状のブロック列はない。そこで、ブロックの配列における第M+1行から第N行までの各行のブロックを順次選択することとなる。
(4)上記実施形態では、L1〜L3の3階層のエンコード処理およびデコード処理を行ったが、エンコード処理およびデコード処理の階層数は任意であり、4階層以上のエンコード処理およびデコード処理を行ってもよい。
(5)上記実施形態において、係数/画素値変換部213は、4個のプレーン206A〜206Dを用いてL3デコード処理、L2デコード処理、L1デコード処理および出力処理を実行した。しかし、図17に示すように、2個のプレーン206Aおよび206Bを交互に使用して、これらの各処理を実行するようにしてもよい。上記実施形態と同様、この図17に示す例においても、逆量子化部212は、8×8画素のブロック毎に、プレーン206Aおよび206Bの両方に当該ブロックに属する各階層のDCT係数L3V1〜L3V4、L2V2〜L2V4、L1V2〜L1V4を書き込む。そして、L3デコード処理では、この書き込みの行われたブロックについて、L3ブロックのDCT係数L3V1〜L3V4を4個のL2ブロックの直流成分のDCT係数L2V1に変換する。そして、プレーン206Bにおいて、そのL3ブロックのL3V1〜L3V4が格納されているエリアに4個のDCT係数L2V1の各々を書き込む。次にL2デコード処理では、プレーン206Bにおいて、L3デコード処理により直流成分のDCT係数L2V1が書き込まれたL2ブロックが処理対象となる。すなわち、L2デコード処理では、プレーン206BからDCT係数L2V1の書き込まれたL2ブロックのDCT係数L2V1〜L2V4を読み出して4個のL1ブロックの直流成分のDCT係数L1V1に変換する。そして、プレーン206Aにおいて、そのL2ブロックのDCT係数L2V1〜L2V4用の格納エリア(DCT係数L2V1については、DCT係数L2V1が上書きされる前のDCT係数L3Vkが格納されたエリア)に4個のDCT係数L2V1の各々を書き込む。次にL1デコード処理では、プレーン206Aにおいて、L2デコード処理により直流成分のDCT係数L1V1が書き込まれたL1ブロックが処理対象となる。すなわち、L1デコード処理では、プレーン206AからDCT係数L1V1の書き込まれたL1ブロックのDCT係数L1V1〜L1V4を読み出して4個の画素値f1〜f4に変換する。そして、プレーン206Bにおいて、そのL1ブロックに対応したエリアに4個の画素値f1〜f4の各々を書き込む。出力処理では、プレーン206Bに画素値の書き込みが行われた8×8画素のブロックが処理対象となる。この態様によれば、使用するプレーンがプレーン206Aおよび206Bの2個のみであるので、データ伸張装置200を小規模にすることができるという利点がある。
この発明の一実施形態であるデータ伸張装置200を含む画像圧縮伝送システムの構成を示すブロック図である。 同画像圧縮伝送システムにおけるデータ圧縮装置100の画素値/係数変換部111が実行するL1エンコード処理の内容を示す図である。 同画素値/係数変換部111が実行するL2エンコード処理の内容を示す図である。 同画素値/係数変換部111が実行するL3エンコード処理の内容を示す図である。 同データ伸張装置200の係数/画素値変換部213が実行するL3デコード処理の内容を示す図である。 同係数/画素値変換部213が実行するL2デコード処理の内容を示す図である。 同係数/画素値変換部213が実行するL1デコード処理の内容を示す図である。 同データ伸張装置200の可変長復号化部211、逆量子化部212、係数/画素値変換部213の処理内容を示す図である。 同データ伸張装置200におけるメモリ部206のアドレスマップおよびDCT係数の格納態様を示す図である。 同L3デコード処理におけるメモリ部206のアクセス態様を説明する図である。 同L2デコード処理におけるメモリ部206のアクセス態様を説明する図である。 同L1デコード処理におけるメモリ部206のアクセス態様を説明する図である。 同実施形態におけるデータ伸張処理を構成する各処理の並列実行の例を示す図である。 同実施形態のメモリ部206におけるDCT係数の格納態様の他の例を示す図である。 この発明の他の実施形態においてデータ圧縮装置が出力する圧縮画像データにおけるデータの並びを示す図である。 この発明の他の実施形態においてデータ圧縮装置が出力する圧縮画像データにおけるデータの並びを示す図である。 この発明の他の実施形態における係数/画素値変換部213の処理内容を示す図である。
符号の説明
100……データ圧縮装置、101……撮像部、102……信号処理部、103……フレームメモリ、104……エンコーダ、105……出力部、106……メモリ部、107……操作表示部、108……制御部、111……画素値/係数変換部、112……量子化部、113……可変長符号化部、200……データ伸張装置、201……入力部、202……デコーダ、203……フレームメモリ、204……表示制御部、205……表示部、206……メモリ部、207……操作表示部、208……制御部、211……可変長復号化部、212……逆量子化部、213……係数/画素値変換部。

Claims (1)

  1. 圧縮対象の画像に対する複数階層のエンコード処理を順次実行する手段であって、最下位階層のエンコード処理では、前記圧縮対象の画像を所定画素サイズのブロックに区切り、ブロック毎に、当該ブロックについての離散コサイン変換を実行して離散コサイン変換係数を算出するとともに、当該ブロックの上下左右の各隣接ブロックの離散コサイン変換係数を参照することにより、当該ブロックの離散コサイン変換係数から当該ブロックの傾き相殺関数の成分を差し引いた最下位階層のブロックの離散コサイン変換係数を算出する補正処理を実行し、最下位階層より上位の各階層のエンコード処理では、当該階層の下位の階層のエンコード処理の処理対象となった各ブロックを所定個数ずつ各々包含する当該階層のブロックを構成し、複数の当該階層のブロックの各々について、当該階層のブロックに含まれる下位の階層の各ブロックの直流成分の離散コサイン変換係数を用いた離散コサイン変換を実行して離散コサイン変換係数を算出するとともに、当該階層のブロックの上下左右の各隣接ブロックの離散コサイン変換係数を参照することにより、当該階層のブロックの離散コサイン変換係数から当該階層のブロックの傾き相殺関数の成分を差し引いた当該階層のブロックの離散コサイン変換係数を算出する補正処理を実行する画素値/係数変換部を有し、各階層のエンコード処理により得られた各階層のブロックの離散コサイン変換係数を示す圧縮画像データを生成するデータ圧縮装置が生成した圧縮画像データの伸張処理を行うデータ伸張装置であって、
    複数のエリアを有し、エリア単位でデータの読み出しまたは書き込みが可能であり、1つのエリアが複数の離散コサイン変換係数または複数の画素値を記憶可能な容量を有するメモリと、
    前記圧縮画像データが示す各階層のエンコード処理結果である離散コサイン変換係数を用いて、最上位階層から最下位階層までの各階層のデコード処理を順次実行し、圧縮前の画像の画素値を算出する手段であって、最下位階層以外の各階層のデコード処理では、当該階層の各ブロックについて、前記メモリに事前に記憶された当該ブロックの上下左右の隣接ブロックにおける当該階層の離散コサイン変換係数を参照することにより、当該ブロックの離散コサイン変換係数に当該ブロックの傾き相殺関数の離散コサイン変換係数を加える補正処理を行い、この補正処理を経た当該ブロックの離散コサイン変換係数に逆離散コサイン変換を施して当該ブロックを分割した当該階層の下位階層のブロックの直流成分の離散コサイン変換係数を算出し、この下位階層のブロックの直流成分の離散コサイン変換係数を前記メモリに書き込み、最下位階層のデコード処理では、当該階層の各ブロックについて、前記メモリに事前に記憶された当該ブロックの上下左右の隣接ブロックにおける当該階層の離散コサイン変換係数を参照することにより、当該ブロックの離散コサイン変換係数に当該ブロックの傾き相殺関数の離散コサイン変換係数を加える補正処理を行い、この補正処理を経た当該ブロックの離散コサイン変換係数に逆離散コサイン変換を施して当該ブロックの画素値を算出し、前記メモリに書き込む係数/画素値変換部とを具備し、
    前記圧縮画像データは、最上位階層のブロック単位で、各ブロックに属する各階層のブロックの離散コサイン変換係数を含んでおり、
    前記データ伸張装置は、各階層の離散コサイン変換係数が階層順に並び、かつ、同一のエリアに格納するべき離散コサイン変換係数が連続して並ぶように、前記圧縮画像データから取り出した最上位階層のブロックおよびこれに属する各階層のブロックの離散コサイン変換係数を並び替える手段を前記係数/画素値変換部よりも前段の位置に有し、各階層の離散コサイン変換係数を階層毎にまとめて前記メモリ部の各エリアに格納することを特徴とするデータ伸張装置。
JP2007324020A 2007-12-14 2007-12-14 データ伸張装置 Active JP4935662B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007324020A JP4935662B2 (ja) 2007-12-14 2007-12-14 データ伸張装置
US12/334,225 US8238676B2 (en) 2007-12-14 2008-12-12 Image data compressor and image data decompressor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007324020A JP4935662B2 (ja) 2007-12-14 2007-12-14 データ伸張装置

Publications (2)

Publication Number Publication Date
JP2009147758A true JP2009147758A (ja) 2009-07-02
JP4935662B2 JP4935662B2 (ja) 2012-05-23

Family

ID=40917831

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007324020A Active JP4935662B2 (ja) 2007-12-14 2007-12-14 データ伸張装置

Country Status (1)

Country Link
JP (1) JP4935662B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08191397A (ja) * 1995-01-10 1996-07-23 Fuji Xerox Co Ltd 符号化装置
JPH11317927A (ja) * 1998-05-06 1999-11-16 Sony Corp 記憶装置およびデータ処理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08191397A (ja) * 1995-01-10 1996-07-23 Fuji Xerox Co Ltd 符号化装置
JPH11317927A (ja) * 1998-05-06 1999-11-16 Sony Corp 記憶装置およびデータ処理方法

Also Published As

Publication number Publication date
JP4935662B2 (ja) 2012-05-23

Similar Documents

Publication Publication Date Title
JP4682102B2 (ja) 画像符号化装置及び画像符号化方法
JP4768728B2 (ja) 値のブロックをエンコードする方法および装置
JP2002521897A (ja) デジタルカメラおよび他のメモリ節約式用途のためのメモリ節約ウェーブレット様イメージ変換システムおよび方法
JP4772607B2 (ja) 2次元直交変換装置、2次元直交変換方法および撮像システム
JP2007329903A (ja) 可変長復号化装置、可変長復号化方法および撮像システム
US8238676B2 (en) Image data compressor and image data decompressor
JP5194762B2 (ja) データ圧縮装置およびデータ伸張装置
JP4935662B2 (ja) データ伸張装置
JP2006203270A (ja) 画像圧縮方法および画像圧縮装置
JP2839389B2 (ja) 逆量子化方法および画像データ復元装置
JP5199956B2 (ja) 画像復号装置及びその制御方法
JP2006340300A (ja) 信号処理方法及び信号処理装置、並びに信号処理プログラム及び情報記録媒体
JP4194472B2 (ja) 画像処理方法及び装置
JP2918360B2 (ja) 逆量子化方法および画像データ復元装置
JP2839392B2 (ja) 画像データ復元方法および装置
JP2002101310A (ja) フィルタ処理装置及び方法
JP2000244744A (ja) 画像データ圧縮方法及び画像データ管理方法
JP4706567B2 (ja) 画像処理方法、画像処理方法のプログラム、画像処理方法のプログラムを記録した記録媒体、画像処理装置
JP4771263B2 (ja) エントロピ符号化/復号化方法及びエントロピ符号化/復号化装置
JP7451131B2 (ja) 画像符号化装置、画像符号化方法、及びプログラム
JP2009200545A (ja) 画像符号化装置及び画像復号化装置
JP5284771B2 (ja) 画像圧縮装置、および画像圧縮方法
JP2010276686A (ja) 画像制御装置
JPH04271664A (ja) 画像データ圧縮装置および画像データ復元装置
JP4667348B2 (ja) 符号化データメモリ格納制御装置、方法、及び画像処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101022

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120118

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

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

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

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4935662

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150