JP4476032B2 - 画像圧縮装置、画像伸張装置、及び画像処理装置 - Google Patents

画像圧縮装置、画像伸張装置、及び画像処理装置 Download PDF

Info

Publication number
JP4476032B2
JP4476032B2 JP2004173908A JP2004173908A JP4476032B2 JP 4476032 B2 JP4476032 B2 JP 4476032B2 JP 2004173908 A JP2004173908 A JP 2004173908A JP 2004173908 A JP2004173908 A JP 2004173908A JP 4476032 B2 JP4476032 B2 JP 4476032B2
Authority
JP
Japan
Prior art keywords
processing
image
image data
hardware
buffer
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
JP2004173908A
Other languages
English (en)
Other versions
JP2005354468A (ja
Inventor
信 舟森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Technology Corp
Original Assignee
Renesas Technology 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 Renesas Technology Corp filed Critical Renesas Technology Corp
Priority to JP2004173908A priority Critical patent/JP4476032B2/ja
Publication of JP2005354468A publication Critical patent/JP2005354468A/ja
Application granted granted Critical
Publication of JP4476032B2 publication Critical patent/JP4476032B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

本発明は、画像を圧縮処理する画像圧縮装置、圧縮された画像を伸張する画像伸張装置、及び上記画像圧縮装置と上記画像伸張装置とを含んで成る画像処理装置に関する。
画像処理において、画像データを記憶したり転送する場合において、画像データ量を低減するために画像データを圧縮し、また、圧縮された画像データを必要に応じて復元することが行われる。
このような画像処理において、画像フォーマット4:1:1または4:2:0用の画像フォーマットを画像伸張圧縮できるハードウェアを2系統設けることにより画像フォーマット4:2:2への画像伸張圧縮処理を可能とする技術が知られている(例えば特許文献1参照)。それによれば、画像フォーマット4:1:1あるいは4:2:0の画像フォーマットを伸張圧縮する回路を2系統並列動作させることにより画像フォーマット4:2:2の画像フォーマットへの対応を可能とする。
特開平08−317420号公報(図1)
上記従来技術によれば、画像フォーマット4:2:0あるいは4:1:1対応の伸張圧縮回路で、画像フォーマット4:2:2に対応する場合には上記回路を2系統持つ必要がある。また、その場合において画像フォーマット4:2:2対応の伸張圧縮回路においては、画像フォーマット4:2:0や4:1:1の場合には処理に関与しない余分な回路が存在することが本願発明者によって見いだされた。
本発明の目的は、複数の画像フォーマットに対応可能な画像伸張処理又は画像圧縮処理を可能とする装置の回路規模の低減化を図るための技術を提供することにある。
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
すなわち、第1画像フォーマットの第1画像データを圧縮処理可能な画像圧縮装置であって、上記第1画像フォーマット以外の第2画像フォーマットである第2画像データを処理する際に、上記第2画像データの一つの第1マクロブロックごとに、上記第1マクロブロックの輝度成分が共通とされ、色差成分が異なり、上記第1画像フォーマットである複数の第2マクロブロックが形成されることにより生成される第3画像データを生成する第1処理機能と、上記第1画像フォーマットの画像データについての離散コサイン変換処理及び量子化処理を行うためのハードウェアを用いて上記第3画像データの圧縮演算処理を行う第2処理機能と、一つの上記第1マクロブロックに対応するものでありかつ上記圧縮演算処理が行われた上記第3画像データにおいて、全ての上記第2マクロブロックのうちの一つを残し輝度成分を無視することにより、上記圧縮演算処理が行われた上記第3画像データを上記第2画像フォーマットに合成する第3処理機能とを設ける。
上記の手段によれば、上記第1画像フォーマット以外の第2画像フォーマットである第2画像データが取り込まれた場合、上記第2画像データの一つの第1マクロブロックごとにおいて、上記第1マクロブロックの輝度成分が共通とされ、色差成分が異なり、上記第1画像フォーマットである複数の第2マクロブロックが形成されることにより生成される第3画像データが生成され、それについての離散コサイン変換処理及び量子化処理が行われた後に、上記第3画像データが上記第2画像フォーマットに合成される。これにより、複数の画像フォーマットに対して上記ハードウェアを共用でき、このことが、複数の画像フォーマットに対応可能な画像伸張処理を可能とする装置の回路規模の低減化を達成する。
このとき、上記ハードウェアは、上記全ての上記第2マクロブロックに対応する第3画像データのそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記複数の第3画像データは、対応するバッファを上記ハードウェアに供給され、上記演算処理が行われた上記複数の第3画像データは、対応するバッファを介して上記第3処理機能に供給される。
上記画像伸張装置において上記第1画像フォーマットが4:2:0の画像フォーマットとされるとき、上記第2画像フォーマットは4:2:2の画像フォーマットとされ、上記複数とは2とされる。また、上記第1画像フォーマットは4:2:0の画像フォーマットとされるとき、上記第2画像フォーマットは4:4:4の画像フォーマットとされ、上記複数とは4とされる。
上記画像伸張装置において、処理対象をJPEGデータとすることができる。その場合において、上記ハードウェアはMPEGデータの処理を可能とする機能ブロックの一部とすることができる。
上記画像伸張装置は、上記ハードウェアと、上記ハードウェアを制御可能な中央処理装置とを含んで一つの半導体基板に形成することができる。
上記画像伸張装置において、画像フォーマットを判別するための第4処理機能を設け、上記第4処理機能の判別結果に基づいて上記第1処理機能と上記第3処理機能とが制御されるように構成することができる。
第1画像フォーマットの画像データを伸張可能な画像伸張装置であって、上記第1画像フォーマット以外の第2画像フォーマットの第3画像データを処理する際に、上記第3画像データの一つの第3マクロブロックごとに、輝度成分を共通とし、色差成分が異なり、上記第1画像フォーマットである複数の第4マクロブロックが形成されることにより生成される第2画像データを生成する第5処理機能と、上記第1画像フォーマットの画像データについての逆離散コサイン変換処理及び逆量子化処理を行うためのハードウェアを用いて上記第2画像データの伸張演算処理を行う第6処理機能と、一つの上記第3マクロブロックに対応するものでありかつ上記伸張演算処理が行われた上記第2画像データにおいて、全ての上記第4マクロブロックのうちの一つを残し輝度成分を無視することにより、上記伸張演算処理が行われた上記第2画像データを上記第1画像フォーマットに合成する第7処理機能とを設ける。
上記の手段によれば、上記第1画像フォーマット以外の第2画像フォーマットである第3画像データが取り込まれた場合、上記第3画像データの一つの第3マクロブロックごとに、輝度成分が共通とされ、色差成分が異なり、上記第1画像フォーマットである複数の第4マクロブロックが形成されることにより生成される第2画像データが生成され、それについての逆量子化処理及び逆離散コサイン変換処理が行われた後に、上記第3画像データが上記第2画像フォーマットに合成される。これにより、複数の画像フォーマットに対して上記ハードウェアを共用でき、このことが、複数の画像フォーマットに対応可能な画像圧縮処理を可能とする装置の回路規模の低減化を達成する。
このとき、上記ハードウェアは、上記全ての上記第4マクロブロックに対応する第3画像データそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記複数の第3画像データは対応するバッファを介して上記ハードウェアに供給され、上記伸張演算処理が行われた上記複数の第3画像データは、対応する第2バッファを介して第3処理機能に供給される。
上記画像圧縮装置において、上記第1画像フォーマットが4:2:0の画像フォーマットとされるとき、上記第2画像フォーマットは4:2:2の画像フォーマットとされ、上記複数とは2とされる。また、上記第1画像フォーマットが4:2:0の画像フォーマットとされるとき、上記第12画像フォーマットは4:4:4の画像フォーマットとされ、上記複数とは4とされる。
上記画像圧縮装置において、処理対象をJPEGデータとすることができる。
上記画像圧縮装置において、上記ハードウェアはMPEGデータの処理を可能とする機能ブロックの一部とすることができる。
上記画像圧縮装置は、上記ハードウェアと、上記ハードウェアを制御可能な中央処理装置とを含んで一つの半導体基板に形成することができる。
上記画像圧縮装置において、画像フォーマットを判別するための第8処理機能を含み、上記第8処理機能の判別結果に基づいて上記第5処理機能と上記第7処理機能とが制御されるように構成することができる。
上記画像圧縮装置と上記画像伸張装置とを含んで画像処理装置を構成することができる。
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
すなわち、複数の画像フォーマットに対応可能な画像伸張処理又は画像圧縮処理を可能とする装置の回路規模の低減化を図ることができる。
ここで先ず、本発明の実施の形態において取り扱われる画像データの基本的な構造について説明する。
図3Aに示されるように、画像データは輝度情報Yのブロックと色差情報Cb,Crのブロックに分割することができる。図3Bには画像データと画像フォーマットの関係が示される。×は輝度の位置を示し、○は色差の位置を示す。画像フォーマット4:2:0の場合は輝度情報4つに対して色差情報1つで構成されている。4画素分を構成する色差情報は1画素分になる。画像フォーマット4:2:2の場合は輝度情報2つに対して色差情報1つで構成されている。4画素分を構成する色差情報は2画素分になる。画像フォーマット4:4:4の場合は輝度情報1つに対して色差情報1つで構成されている。4画素分を構成する色差情報は4画素分になる。輝度情報に対して色差情報の少ない画像フォーマット4:2:0は高圧縮且つ低画質となる。輝度情報と色差情報の比率が同じ画像フォーマット4:4:4は高画質且つ低圧縮となる。
次に画像処理を行う上での最小処理単位であるマクロブロックについて図3Cに基づいて説明する。
8×8ブロックとは、縦方向に8画素、横方向に8画素の総数64画素のブロックを示している。画像フォーマット4:2:0の場合は、輝度情報Yが8×8ブロックが4つ(図中の0から3の8×8ブロック)、色差情報Cbが1つ(図中の4の8×8ブロック)、Crが1つ(図中の5の8×8ブロック)で構成されている。
画像フォーマット4:2:2の場合は輝度情報Yが8×8ブロック4つ(図中の0から3の8×8ブロック)、色差情報Cbが2つ(図中の4,6の8×8ブロック)、Crが2つ(図中の5,7の8×8ブロック)で構成されている。
画像フォーマット4:4:4の場合は輝度情報Yが8×8ブロックが4つ(図中の0から3の8×8ブロック)と、色差情報Cbが4つ(図中の4,6,8,10の8×8ブロック)、Crが4つ(図中の5,7,9,11の8×8ブロック)で構成されている。
図1Aには、本発明にかかる画像伸張装置の構成例が示される。
図1Aに示される画像伸張装置は、特に制限されないが、画像データを取り込むための入力部100、取り込まれた画像データを復号化するための復号部101、復号部101から出力された画像のフォーマットを判定するためのフォーマット判定部102(第8処理機能)、ソフトウェア処理によって画像データを分割するためのデータ分割部110(第5処理機能)、上記データ分割部110の出力データが取り込まれる入力バッファA120,B130,C140,D150、ハードウェアにより逆量子化(IQ)処理、逆離散コサイン変換(IDCT)処理を行うハードウェア処理部160(第6処理機能)、上記ハードウェア処理部160の出力データが取り込まれる出力バッファa121,b131,c141,d151、上記出力バッファa121,b131,c141,d151の出力データを合成可能なデータ合成部170(第7処理機能)、上記データ合成部170の出力データを外部出力可能な出力部103とを含む。
逆量子化処理や逆離散コサイン変換処理を行う上記ハードウェア処理部160は、MPEG4の処理で用いられるものが兼用される。例えばMPEG4の処理で用いられるハードウェアは、図1Bに示されるように、入力部13を介して取り込まれた画像データの可変長復号化処理を行う可変長復号化部161、上記可変長復号化部161の出力データの逆量子化を可能とする逆量子化部162、上記逆量子化部162の出力データの逆離散コサイン変換を可能とする逆離散コサイン変換部163、上記可変長復号化部161の出力データの動きベクトル復号化処理を可能とする動きベクトル復号化部164、上記動きベクトル復号化部164の出力データの動き補償を行う動き補償部165、上記動き補償部165の出力データと上記逆離散コサイン変換部163の出力データとの加算処理を行い、その結果を出力部11やメモリ12に出力可能な加算部166を含んで成る。このようなハードウェアがシステムに搭載される場合には、MPEG4の処理で用いられるハードウェア(MPEG4コア)に含まれる逆量子化処理部162や逆離散コサイン変換処理部163を画像伸張装置において利用し、図4Aに示されるように画像符号列(量子化されたDCT係数)に対して逆量子化処理や逆離散コサイン変換処理を行うことでシステム全体のハードウェアの規模の増大を抑えることができる。上記復号部101、フォーマット判定部102、データ分割部110、データ合成部170の各機能は、図示しないCPU(中央処理装置)が所定のプログラムを実行することによって実現される。また、ハードウェア処理部160の動作制御も上記CPUによって行われる。さらに上記入力バッファA120、B130、C140、D150や、上記出力バッファa121、b131、c141、d151は、特に制限されないが、図示されないRAM(ランダムアクセスメモリ)などの適宜のメモリの記憶領域が割り当てられて成るバッファメモリとすることができる。
上記の構成において、入力データである画像符号列は逆量子化処理、逆離散コサイン変換処理が行われることで、画像フォーマット4:2:0のマクロブロックが生成される。1マクロブロック分の伸張処理手順は先ず、輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3の順に処理が行われる。次に色差情報Cb,Crであるブロック4,ブロック5の順に処理が行われる。
復号するための画像フォーマットが図5Aに示されるように4:2:0の場合について説明する。
入力部100にて圧縮符号列の入力が行われ、復号部101にて圧縮符号列の復号化処理が行われ、フォーマット判定部102で画像フォーマットの判別が行われる。画像フォーマットが4:2:0の場合は、1つの入力バッファA120に保持された符号列(量子化されたDCT係数)を4:2:0の入力データとしてハードウェア処理部160の逆量子化処理を行い、逆離散コサイン変換を行う。ハードウェア処理部160で処理された復号画像データは1つの出力バッファa121及び出力部103を介して出力される。この場合の出力画像は図7Aに示されるようになり、入力データ(図5A参照)と画像フォーマットが等しくなる。画像フォーマットが4:2:0の場合には、データ分割部110でデータ分割が行われないため、データ合成部170においてもデータ合成処理は行われない。
次に、復号するための画像フォーマットが4:2:0でない画像フォーマットの場合について説明する。
先ず、入力部100にて圧縮符号列が取り込まれ、復号部101にて圧縮符号列の復号化処理(ハフマン復号化処理)が行われ、フォーマット判定部102で画像フォーマットの判別が行われる。ハードウェア処理部160で処理できない画像フォーマットの場合は、データ分割部110の符号列分割処理にて符号列の分割が行われる。例えば画像フォーマットが4:2:2の場合には、図5Bに示されるように分割される。
すなわち、入力バッファA120は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック4,ブロック5で構成されているマクロブロックの符号列、入力バッファB130は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック6,ブロック7で構成されるマクロブロックの符号列に分割される。
入力バッファA120と入力バッファB130との共通点は、輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3の部分である。相違点は、色差情報CbCrの符号列である。入力バッファB130での輝度情報Yはダミーとされ、後の処理で無視される。
入力バッファA120に保持された画像フォーマット4:2:0に対応した符号列はハードウェア処理部160に入力され、逆量子化処理、逆離散コサイン変換処理される。処理され伸張された画像データは出力バッファa121に保持する。
同時に入力バッファB130に保持された符号列はハードウェア処理部160に入力され、逆量子化処理、逆離散コサイン変換処理される。そのような処理によって伸張された画像データは出力バッファb131に伝達される。
出力バッファa121、出力バッファb131の伸張画像データはデータ合成170に伝達されてデータ合成され、画像フォーマット4:2:2化された画像データが得られる。この画像データは出力部103を介して出力される。
図7Bには画像フォーマットが4:2:2の場合の具体的なデータ合成例が示される。
出力バッファa121は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック4, ブロック5で構成されているマクロブロックである。出力バッファb131は輝度情報Yであるブロック0,ブロック1,ブロック2, ブロック3と色差情報CbCrであるブロック6,ブロック7で構成されるマクロブロックである。出力バッファa121と出力バッファb131との共通点は、輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3の部分である。相違点は、色差情報CbCrである出力バッファaのブロック4,ブロック5と出力バッファbのブロック6,ブロック7となる。出力バッファa121と出力バッファb131の共通部分である輝度情報Yは出力バッファa121で処理を行い出力されているため、出力バッファa121の出力結果を用いて合成が行われる。
それに対して、出力バッファa121と出力バッファb131の相違点である色差情報CbCrは、出力バッファa121、 出力バッファb131ともに出力結果を用いて合成が行われることで、画像フォーマット4:2:2とされる。
次に、画像フォーマットが4:4:4の場合について説明する。
入力部100にて圧縮符号列の入力が行われ、復号部101にて圧縮符号列の復号化処理が行われ、フォーマット判定部102で画像フォーマットの判別が行われる。画像フォーマットが4:4:4の場合、入力バッファA120、入力バッファB130、入力バッファC140、入力バッファD150に、復号した符号列の分割データが出力される。
図6に具体的な分割例が示される。
入力バッファA120は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrのブロック4,ブロック5で構成されるマクロブロックの符号列、入力バッファB130は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrのブロック6,ブロック7で構成されるマクロブロックの符号列、入力バッファC140は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrのブロック8,ブロック9で構成されるマクロブロックの符号列、入力バッファD150は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrのブロック10,ブロック11で構成されるマクロブロックの符号列に分割される。
入力バッファA120、入力バッファB130、入力バッファC140、入力バッファD150の共通点は、輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3の部分である。相違点は色差情報CbCrの符号列である。入力バッファB130、入力バッファC140、入力バッファD150での輝度情報Yはダミーとされ、後の処理で無視される。
入力バッファA120に保持された画像フォーマット4:2:0に対応した符号列はハードウェア処理部160に入力され逆量子化処理され、逆離散コサイン変換処理される。処理され伸張された画像データは出力バッファa121に保存される。同時に入力バッファB130に保持された符号列はハードウェア処理部160に入力され逆量子化処理され、逆離散コサイン変換処理される。処理され伸張された画像データは出力バッファb131に保持される。同時に入力バッファC140に保持された符号列はハードウェア処理部160に入力され逆量子化処理され、逆離散コサイン変換処理される。処理され伸張された画像データは出力バッファc141に保持される。同時に入力バッファD150に保持された符号列はハードウェア処理部160に入力され逆量子化処理され、逆離散コサイン変換処理される。処理され伸張された画像データは出力バッファD151に保持される。出力バッファa121、出力バッファb131、出力バッファc141、出力バッファd151の伸張画像データがデータ合成170で合成され、画像フォーマット4:4:4化された画像データが出力部103を介して出力される。
図8にはデータ合成の具体例が示される。
出力バッファa121は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック4,ブロック5で構成されるマクロブロックである。出力バッファb131は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック6,ブロック7で構成されるマクロブロックである。出力バッファc141は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック8,ブロック9で構成されるマクロブロックである。出力バッファd151は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック10,ブロック11で構成されるマクロブロックである。出力バッファa121、出力バッファb131、出力バッファc141、出力バッファd151の共通点は、輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3の部分である。相違点は色差情報CbCrである出力バッファa121のブロック4,ブロック5と出力バッファb131のブロック6,ブロック7と出力バッファc141のブロック8, ブロック9と出力バッファd151のブロック10,ブロック11となる。出力バッファa121、出力バッファb131、出力バッファc141、出力バッファd151の共通部分である輝度情報Yは出力バッファa121で処理を行い出力されているため、出力バッファa121の出力結果を用い合成を行う。
それに対して、出力バッファa121、出力バッファb131、出力バッファc141、出力バッファd151の相違点である色差情報CbCrは出力バッファa121、出力バッファb131、出力バッファc141、出力バッファd151の全ての出力結果を用い合成を行い画像フォーマット4:4:4とする。
上記例によれば、以下の作用効果を得ることができる。
(1)4:2:0の第1画像フォーマット以外の第2画像フォーマットの画像データを処理する際にその画像データから輝度成分が共通とされ、且つ、色差成分が異なる上記4:2:0の画像フォーマットの複数の画像データをデータ分割部110において生成し、この複数の画像データについての逆量子化処理や逆離散コサイン変換処理をハードウェア処理部160で行った後に、データ合成部170で上記第2画像フォーマットに合成することができるので、複数種類の画像フォーマットに対してハードウェア処理部160を共通に使用することができる。このため、複数の画像フォーマットに対応可能な画像伸張処理を可能とする装置の回路規模の縮小化を図ることができる。また、ソフトウエアで逆量子化処理や逆離散コサイン変換処理を複数の画像フォーマットにおいて行うのに比べて高速に画像処理を行う事ができる。
(2)MPEG4の処理で用いられるハードウェアに含まれる逆量子化処理部162や逆離散コサイン変換処理部163を画像伸張装置において利用し、図4Aに示されるように画像符号列(量子化されたDCT係数)に対して逆量子化処理や逆離散コサイン変換処理を行うようにしているので、例えばMPEG4の処理が行われる携帯電話用LSIのような用途では、MPEG4コアをMPEG4処理とJPEG処理とに兼用することができ、それによって携帯電話などのシステム全体のハードウェアの規模の増大を抑えることができる。また、ソフトウエアで逆量子化処理や逆離散コサイン変換処理を複数の画像フォーマットにおいて行うのに比べて高速に画像処理を行う事ができる。
図2Aには、本発明にかかる画像圧縮装置の構成例が示される。
図2Aに示される画像圧縮装置は、元画像の取り込みを行う元画像入力部200、元画像入力部200の出力データのフォーマットの判別を行うフォーマット判定部201(第4処理機能)、上記フォーマット判定部201の出力データの分割を可能とするデータ分割部210(第1処理機能)、上記データ分割部210で分割されたデータが取り込まれる入力バッファa220,b230,c240,d250、この入力バッファa220,b230,c240,d250の出力データについて離散コサイン変換(DCT)処理、量子化(Q)処理を可能とするハードウェア処理部260(第2処理機能)、上記ハードウェア処理部260の出力データが取り込まれる出力バッファA221,B231,C241,D251、上記出力バッファA221,B231,C241,D251の出力データの合成処理を可能とするデータ合成部270(第3処理機能)、上記データ合成部270の出力データを符号化可能な符号化部202(ハフマン符号化部)、上記符号化部202の出力データを外部出力可能な出力部203を含む。
離散コサイン変換処理や量子化処理を行う上記ハードウェア処理部260は、MPEG4の処理で用いられるものが兼用される。例えばMPEG4の処理で用いられるハードウェアは、図2Bに示されるように、入力部14を介して取り込まれたデータの動き補償されたデータとの差分を求める差分処理部261、上記差分処理部261の出力データの離散コサイン変換処理を行う離散コサイン変換部262、離散コサイン変換部262の出力データの量子化処理を行う量子化処理部263、上記量子化処理部263の出力データから可変長符号化のための係数予測を行う係数予測部264、上記量子化処理部263の出力データの逆量子化処理を行う逆量子化処理部265、上記逆量子化処理部265の出力データの逆離散コサイン変換処理を行う逆離散コサイン変換処理部266、上記逆離散コサイン変換処理部266の出力データと動く補償されたデータとの加算処理を行い、その結果をメモリ15に出力可能な加算部267、画像の動き検出を行う動き検出部269、上記動き検出部269の動き検出結果について上記メモリ15内のデータに基づいて動き補償を行う動き補償部268、上記動き検出部の検出結果に基づいて動きベクトル予測を行うための動きベクトル予測部670、上記動きベクトル予測部670の出力データを上記係数予測部264の予測係数に基づいて可変長符号化処理を行い、その結果を後段の出力部16に出力可能な可変長符号化処理部271を含む。このようなハードウェアがシステムに搭載される場合には、MPEG4の処理で用いられるハードウェア(MPEG4コア)に含まれる離散コサイン変換処理部262や量子化処理部263を画像圧縮装置において利用し、図4Bに示されるように画像データに対して離散コサイン変換処理や量子化処理を行うことで画像符号列(量子化されたDCT係数)を得ることができ、そのようにハードウェアを兼用することでシステム全体のハードウェア規模の増大を抑えることができる。上記フォーマット判定部201、データ分割部210、データ合成部270、符号化部202の各機能は、図示されないCPUが所定のプログラムを実行することによって実現される。また、ハードウェア処理部260の動作制御も上記CPUによって行われる。さらに、入力バッファa220、b230、c240、d250、及び上記出力バッファA221、B231、C241、D251は、特に制限されないが、図示されないRAM(ランダムアクセスメモリ)などの適宜のメモリの記憶領域が割り当てられて成るバッファメモリとすることができる。
上記の構成において、入力データである元画像データは離散コサイン変換処理された後に量子化処理され、画像フォーマット4:2:0のマクロブロックの符号列(量子化されたDCT係数)が生成される。1マクロブロック分の圧縮処理手順は先ず、輝度情報Yであるブロック0, ブロック1, ブロック2, ブロック3の順に処理が行われる。次に色差情報Cb,Crであるブロック4,ブロック5の順に処理が行われる。
符号化するための画像フォーマットが4:2:0の場合について説明する。
元画像入力部200にて元画像データの入力が行われ、フォーマット判定部201にて元画像データの画像フォーマット判別が行われる。画像フォーマットが図5Aに示されるように4:2:0の場合には、1つのバッファa220に保持された元画像データが4:2:0の入力データとしてハードウェア処理部260に入力され、離散コサイン変換処理及び量子化処理が行われる。ハードウェア処理部260で処理された符号列は1つのバッファA221に伝達される。
符号化回路202にて圧縮された符号列を符号化処理し、出力部203にて符号化された画像データの出力を行う。
入力データである元画像データの画像フォーマットが回路260で処理ができない画像フォーマットの場合について説明する。
入力データである元画像データの画像フォーマットが回路260で処理ができない画像フォーマットの場合には元画像の分割が行われる。例えば、画像フォーマット4:2:2の場合には、入力バッファa220と入力バッファb230に元画像データの分割が行われる。
図5Bには具体的な分割例が示される。入力バッファa220は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック4,ブロック5で構成されているマクロブロックの符号列、入力バッファb230は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック6,ブロック7で構成されるマクロブロックの符号列に分割される。入力バッファa220と入力バッファb230との共通点は、輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3の部分である。相違点は、色差情報CbCrの符号列である。入力バッファb230での輝度情報Yはダミーとされ、後の処理で無視される。入力バッファa220に保持された元画像データはハードウェア処理部260に入力され、離散コサイン変換処理、量子化処理される。処理された圧縮符号列は出力バッファA221に伝達される。入力バッファb230に保持された元画像データはハードウェア処理部260に入力され、離散コサイン変換処理、量子化処理される。処理された圧縮符号化列は出力バッファB231に伝達される。出力バッファA221、出力バッファB231内の圧縮符号化列はデータ合成部270にて合成され、符号化回路202にて符号化処理された後に、出力部203を介して出力される。
具体的には、図7Bに示されるのと同様に行われる。つまり、出力バッファA221は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック4,ブロック5で構成されているマクロブロックの符号列である。出力バッファB231は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック6,ブロック7で構成されるマクロブロックの符号列である。
出力バッファA221と出力バッファB231との共通点は、輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3の部分である。相違点は、色差情報CbCrである出力バッファaのブロック4,ブロック5と出力バッファbのブロック6,ブロック7となる。
出力バッファA221と出力バッファB231の共通部分である輝度情報Yは出力バッファA221で処理を行い出力されているため、出力バッファA221の出力結果を用いて合成を行う。
それに対して、出力バッファA221と出力バッファB231の相違点である色差情報CbCrは出力バッファA221,出力バッファB231ともに出力結果を用いて合成されることで、画像フォーマット4:2:2とされる。
次に、画像フォーマットが4:4:4の場合について説明する。
元画像入力部200の出力データのフォーマットの判別を行うフォーマット判定部201において元画像データの画像フォーマット判別が行われる。画像フォーマット4:4:4の場合、入力バッファa220、入力バッファb230、入力バッファc240、入力バッファd250に、元画像データが分割されて出力される。
具体的には図6に示されるのと同様に行われる。入力バッファa220は、輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrのブロック4,ブロック5で構成されるマクロブロック、入力バッファb230は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrのブロック6,ブロック7で構成されるマクロブロックに分割され、入力バッファc240は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrのブロック8,ブロック9で構成されるマクロブロックに分割され、入力バッファd250の出力は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrのブロック10,ブロック11で構成されるマクロブロックに分割される。入力バッファa220、入力バッファb230、入力バッファc240、入力バッファd250の共通点は、輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3の部分である。相違点は色差情報CbCrである。入力バッファb230、入力バッファc240、入力バッファd250での輝度情報Yはダミーとされ、後の処理で無視される。
次に、入力バッファa220に保持された元画像データはハードウェア処理部260に入力され離散コサイン変換処理、量子化処理される。処理された圧縮した符号列は出力バッファA221に保持される。入力バッファb230に保持された元画像データは回路260に入力され離散コサイン変換処理、量子化処理される。回路260で処理された圧縮した符号化列は出力バッファB231に伝達される。
入力バッファc240に保持された元画像データはハードウェア処理部260に入力され、離散コサイン変換処理、量子化処理される。処理された圧縮符号化列は出力バッファC241に伝達される。
入力バッファd250に保持された元画像データは回路260に入力され離散コサイン変換処理、量子化処理される。回路260で処理された圧縮した符号化列は出力バッファD251に伝達される。
出力バッファA221,出力バッファB231,出力バッファC241,出力バッファD251の圧縮符号列はデータ合成部270で合成されてから符号化回路202にて符号化処理され、出力部203を介して出力される。
具体的には図8に示されるのと同様に行われる。
出力バッファA221は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック4,ブロック5で構成されるマクロブロックの符号列、出力バッファB231は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック6,ブロック7で構成されるマクロブロックの符号列、出力バッファC241は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック8,ブロック9で構成されるマクロブロックの符号列、出力バッファD251は輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3と色差情報CbCrであるブロック10,ブロック11で構成されるマクロブロックの符号列である。
出力バッファA221、出力バッファB231、出力バッファC241、出力バッファD251の共通点は、輝度情報Yであるブロック0,ブロック1,ブロック2,ブロック3の部分である。相違点は色差情報CbCrの符号列である。
出力バッファA221、出力バッファB231、出力バッファC241、出力バッファD251の共通部分である輝度情報Yは出力バッファA221で処理を行い出力されているため、出力バッファA221の出力結果を用いて合成を行う。
それに対して、出力バッファA221、出力バッファB231、出力バッファC241、出力バッファD251の相違点である色差情報CbCrは出力バッファA221、出力バッファB231、出力バッファC241、出力バッファD251の全ての出力結果を用いて合成が行われて画像フォーマット4:4:4とされる。
上記例によれば、以下の作用効果を得ることができる。
(1)4:2:0の第1画像フォーマット以外の第2画像フォーマットの画像データを処理する際にその画像データから輝度成分が共通とされ、且つ、色差成分が異なる上記4:2:0の画像フォーマットの複数の画像データをデータ分割部210において生成し、この複数の画像データについての離散コサイン変換処理や量子化処理をハードウェア処理部260で行った後に、データ合成部270で上記第2画像フォーマットに合成することができるので、複数種類の画像フォーマットに対してハードウェア処理部260を共通に使用することができる。このため、複数の画像フォーマットに対応可能な画像圧縮処理を可能とする装置の回路規模の縮小化を図ることができる。また、ソフトウエアで量子化処理や離散コサイン変換処理を複数の画像フォーマットにおいて行うのに比べて高速に画像処理を行う事ができる。
(2)MPEG4の処理で用いられるハードウェアに含まれる離散コサイン変換部処理部262や量子化処理部263を画像圧縮装置において利用し、図4Bに示されるように画像符号列(量子化されたDCT係数)に対して離散コサイン変換部処理や量子化処理を行うようにしているので、MPEG4の処理が行われる携帯電話用LSIのような用途では、MPEG4コアをMPEG4処理とJPEG処理とに兼用することができ、それによって携帯電話などのシステム全体のハードウェアの規模の増大を抑えることができる。また、ソフトウエアで量子化処理や離散コサイン変換処理を複数の画像フォーマットにおいて行うのに比べて高速に画像処理を行う事ができる。
図9には、本発明にかかる画像処理装置の構成例が示される。
図9に示される画像処理装置は、図1Aに示される画像伸張装置としての機能と、図2Aに示される画像圧縮装置としての機能とを有し、特に制限されないが、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成される。この画像処理装置は、画像伸張圧縮部905、RAM904、及び表示部906を含んで成る。画像伸張圧縮部905は、特に制限されないが、所定のプログラムに従って演算処理を行うためのCPU900、 上記CPU900で実行されるプログラムが格納されるROM(リードオンリーメモリ)や、上記CPU900における演算処理の作業領域などとして利用されるRAM(ランダムアクセスメモリ)を含むROM/RAM901、 画像伸張処理や画像圧縮処理をハードウェアにより行うためのハードウェア処理部902、バスBUSを介してRAM904やその他の周辺モジュールとの間のデータ転送を制御するためのBSC(バスステートコントローラ)903を含み、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成される。画像処理に関する各種情報や画像処理結果は表示部906に必要に応じて表示させることができる。
上記の構成において伸張処理は次のように行われる。
RAM904に圧縮された符号列があるものとする。CPU900はROM/RAM901に記憶されたプログラムを実行することにより、RAM904に記憶された符号列を読み出し、復号処理をCPU900で行う。復号処理の過程で、符号列の画像フォーマットを検出し、前述した画像フォーマットにより入力バッファ(図1AのAからD)へのバッファ分割を行う。この場合の物理的なバッファはROM/RAM901のRAM部またはRAM904部である。CPU900はROM/RAM901に記憶されたプログラムにより、ハードウェア処理部902に対して逆量子化及び逆離散コサイン変換の実行命令を発行する。本発明ではこのハードウェア処理部902は画像フォーマット4:2:0に対しての逆量子化及び逆離散コサイン変換を実行する。
例えば、画像フォーマット4:2:2の場合には、前述したように図1Aの入力バッファ(A,B)120,130にそれぞれ画像フォーマット4:2:0に対応した符号列(量子化されたDCT係数)が入っている。このため、ハードウェア処理部902は入力バッファAに入っている符号列に対して、逆量子化及び逆離散コサイン変換を行い、次に入力バッファBには行っている符号列に対して同様に逆量子化及び逆離散コサイン変換を行うようにCPU900から命令が発行される。ハードウェア処理部902から出力された復号画像データは出力バッファ(図1Aのa,b)から読み出され、合成処理が行われたあと、RAM904に出力されるように動作する。RAM904に出力された復号画像データは読み出されて表示部906で画像表示される。
図9に示される装置において、圧縮処理は次のように行われる。
RAM904に元画像データがあるものとする。CPU900はROM/RAM901に記憶されたプログラムにより、RAM904に記憶されている元画像データを読み出し、符号化処理を行う。元画像データを読み出す過程で、前述したように元画像データが分離されてから、入力バッファ(図2Aのaからd)へ出力される。この場合の物理的なバッファはROM/RAM901のRAM部またはRAM904部である。CPU900はROM/RAM901に記憶されたプログラムにより、回路902に対して、量子化及び離散コサイン変換の実行命令を発行する。本発明ではこの回路902は画像フォーマット4:2:0に対しての量子化及び離散コサイン変換を実行する。
例えば、画像フォーマットが4:2:2の画像データの場合には、前述したように図2Aの入力バッファ(a,b)にそれぞれ画像フォーマット4:2:0に対応した分割された元画像データが入っている。このため、回路902は入力バッファaに入っている元画像データに対して離散コサイン変換処理及び量子化処理を行い、次に入力バッファbに入っている画像データに対して同様に離散コサイン変換処理及び量子化処理を行うようにCPU900は命令を発行する。回路902から出力された画像符号列(量子化されたDCT係数)は、出力バッファ(図2AのA,B)から読み出され、符号化合成処理が行われた後、RAM904に出力されるように動作する。
図10A、図10Bには本例におけるJPEGの処理単位が示される。JPEG処理を行う上での処理単位はMCU(最小処理単位)ライン処理とされる。MCUラインは、図10Aに示されるように画像幅×16画素を1単位とする。画像データは複数のMCUラインで構成されており、MCUラインは、図10Bに示されるように、それぞれ16×16画素の複数のマクロブロックで構成されている。
各画像フォーマットにおける画像データの伸張または圧縮を行うのに必要なハードウェア処理回数を以下に示す。
画像フォーマットが4:2:0の場合は、ハードウェアで処理できる画像フォーマットと同じであるため、画像の高さを16で割った回数分のハードウェア処理を行う必要がある。
画像フォーマット4:2:2の場合はハードウェアで処理できる画像フォーマットに合わせるため、2つのバッファに分割する必要がある。よって、ハードウェア処理の回数は画像フォーマット4:2:0でハードウェア処理する値の2倍の回数が必要になる。
画像フォーマット4:4:4の場合はハードウェアで処理できる画像フォーマットに合わせるため、4つのバッファに分割する必要がある。よって、ハードウェア処理の回数は画像フォーマット4:2:0でハードウェア処理する値の4倍の回数が必要にある。
図11A、図11B、図11Cには、MCU単位で伸張を行う場合のハードウェア処理とソフトウェア処理のタスクが示される。また、図11Dには、上記図11A、図11B、図11Cにおける各部の処理が示される。バッファA,バッファB,バッファC,バッファDは2面バッファ、バッファAはバッファA1とバッファA2に、バッファBはバッファB1とバッファB2に、バッファCはバッファC1とバッファC2に、バッファDはバッファD1とバッファD2としソフトウェアとハードウェアの処理を高速に出来るようにしている。事前処理である画像フォーマットの判別は省略する。また、ハードウェア処理後のデータ合成及び表示部分に関しても同様に省略する。ハードウェア処理はソフトウェア処理に比べ、非常に速く処理することが出来ることを前提として以下にハードウェア処理とソフトウェア処理のタスクを示す。
画像フォーマット4:2:0の場合は圧縮されたデータをソフトウェアで分割処理する必要はない(図11A)。
1MCUライン目の処理としては先ず、圧縮されたデータをソフトウェアで処理を行いバッファA1に保持する。次に、ソフトウェアでの処理終了後、バッファA1のデータを用いてハードウェア処理A1の処理を行う。2MCUライン目の処理はハードウェアとソフトウェア処理がパラレルに動作することが出来るため、ハードウェア処理A1の処理を行っている時にソフトウェアによる2MCUライン目の処理バッファA2を行う。1MCUライン目のハードウェア処理A1が終了次第、1MCUライン目の伸張処理が終了となる。
上記のソフトウェア処理とハードウェア処理を1セットMCU単位処理として画像サイズ分繰り返すことになる。
それに対して、画像フォーマット4:2:2の場合は、図11Bに示されるように、圧縮されたデータをソフトウェア処理にてバッファA,バッファBの2つにデータ分割処理を行う必要がある。ソフトウェア処理にてデータ分割を行っていく際にはバッファAの示しているポインタとバッファBの示しているポインタを操作しながらバッファAおよびバッファBへの出力を行う。
1MCUライン目の処理としては先ず、圧縮されたデータをバッファA1とバッファB1に分割しながらソフトウェアで処理を行う。次に、ソフトウェアでの処理終了後、バッファA1のデータを用いてハードウェア処理A1の処理を行う。ハードウェアA1の処理終了後、バッファB1のデータを用いてハードウェア処理B1で処理を行う。2MCUライン目の処理はハードウェアとソフトウェア処理がパラレルに動作することが出来るため、1MCUライン目のハードウェア処理A1を行っている時にソフトウェアによる2MCUライン目の処理バッファA2を行う。1MCUライン目のハードウェア処理B1が終了次第、1MCUライン目の伸張処理が終了となる。
上記のソフトウェア処理とハードウェア処理を1セットMCU単位処理として画像サイズ分繰り返すことになる。
画像フォーマット4:4:4の場合は、図11Cに示されるように、圧縮されたデータをソフトウェア処理にてバッファA,バッファB,バッファC,バッファDの4つにデータ分割処理を行う必要がある。ソフトウェア処理にてデータ分割を行っていく際にはバッファA,バッファB,バッファC,バッファDの示しているポインタを操作しながらバッファA,バッファB,バッファC,バッファDへの出力を行う。
1MCUライン目の処理としては先ず、圧縮されたデータをバッファA1とバッファB1,バッファC1,バッファD1に分割しながらソフトウェアで処理を行う。次に、ソフトウェアでの処理終了後、バッファA1のデータを用いてハードウェア処理A1の処理を行う。ハードウェアA1の処理終了後、バッファB1のデータを用いてハードウェア処理B1で処理を行う。ハードウェアB1の処理終了後、バッファC1のデータを用いてハードウェア処理C1で処理を行う。ハードウェアC1の処理終了後、バッファD1のデータを用いてハードウェア処理D1で処理を行う。2MCUライン目の処理はハードウェアとソフトウェア処理がパラレルに動作することが出来るため、1MCUライン目のハードウェア処理A1を行っている時にソフトウェアによる2MCUライン目の処理バッファA2を行う。1MCUライン目のハードウェア処理D1が終了次第、1MCUライン目の伸張処理が終了となる。
上記のソフトウェア処理とハードウェア処理を1セットMCU単位処理として画像サイズに応じた数だけ繰り返される。
12A、12B、12Cには、MCU単位で圧縮を行う場合のハードウェア処理とソフトウェア処理のタスクが示される。また、図12Dには、上記12A、12B、12Cにおける各部の処理が示される。バッファA,バッファB,バッファC,バッファDは2面バッファとされる。すなわち、バッファAはバッファA1とバッファA2を含み、バッファBはバッファB1とバッファB2とを含み、バッファCはバッファC1とバッファC2に含み、バッファDはバッファD1とバッファD2としソフトウェアとハードウェアの処理を高速にできるようにしている。画像圧縮を行う場合は全ての画像フォーマットにおいてソフトウェアにて画像圧縮を行うためのヘッダ処理を行う必要があり、ハードウェア処理を行っている間にパラレルに処理することが出来る。事前処理である画像フォーマットの判別及び、データ分割処理のソフトウェア処理部分は省略する。また、ハードウェア処理後の符号化部分に関しても同様に省略する。ハードウェア処理はソフトウェア処理に比べ、非常に速く処理することが出来ることを前提として以下にハードウェア処理とソフトウェア処理のタスクを示す。
画像フォーマットが4:2:0の場合には、図12Aに示されるように、入力される元画像データはソフトウェアで分割処理されない。
1MCUライン目の処理としては先ず、入力された元画像データをハードウェアで処理を行いバッファA1に保持する。ハードウェアとソフトウェアはパラレルに動作することが出来るため、ソフトウェア側では元画像を圧縮するためのヘッダ処理を行っている。ハードウェア処理A1の出力結果のソフトウェア処理はハードウェア処理A1での処理終了後かつソフトウェアでのヘッダ処理終了後の場合、ソフトウェアでバッファA1の出力処理を行う。
1MCUライン目のソフトウェア処理バッファA1を行っている時にハードウェアによる2MCUライン目の処理A2を行う。1MCUライン目のソフトウェア処理A1が終了次第、1MCUライン目の圧縮処理が終了となる。
上記のソフトウェア処理とハードウェア処理を1セットMCU単位処理として画像サイズ分繰り返すことになる。
それに対して、画像フォーマット4:2:2の場合には、図12Bに示されるように、入力された元画像データをソフトウェア処理にてハードウェアA用入力データと、ハードウェアB用入力データとの2つにデータ分割処理されている必要がある。
1MCUライン目の処理としては先ず、入力された元画像データをハードウェア処理A1で処理を行う。ハードウェアとソフトウェアはパラレルに動作することが出来るため、ソフトウェア側では元画像データを圧縮するためのヘッダ処理を行っている。
ハードウェア処理A1での処理終了後、ハードウェア処理B1での処理を行う。ハードウェア処理A1の出力結果のソフトウェア処理はハードウェア処理A1での処理終了後かつソフトウェアでのヘッダ処理終了後の場合、ソフトウェアでバッファA1の出力処理を行う。
ハードウェア処理B1の出力結果のソフトウェア処理はハードウェア処理B1での処理終了後かつソフトウェアでのバッファA1処理終了後の場合、ソフトウェアでバッファB1の出力処理を行う。
1MCUライン目のハードウェア処理Bでの処理終了後、2MCUライン目のハードウェア処理A2を行う。1MCUライン目のソフトウェアでのバッファB1の処理が終了次第、1MCUライン目の圧縮処理が終了となる。
上記のソフトウェア処理とハードウェア処理を1セットMCU単位処理として画像サイズ分繰り返すことになる。
画像フォーマット4:4:4の場合には、図12Cに示されるように、入力された元画像データをソフトウェア処理にてハードウェアA用入力データ、ハードウェアB用入力データ、ハードウェアC用入力データ、ハードウェアD用入力データの4つにデータ分割処理されている。
1MCUライン目の処理としては先ず、入力された元画像データをハードウェア処理A1で処理を行う。ハードウェアとソフトウェアはパラレルに動作することが出来るため、ソフトウェア側では元画像データを圧縮するためのヘッダ処理を行っている。
ハードウェア処理A1での処理終了後、ハードウェア処理B1での処理を行う。ハードウェア処理A1の出力結果のソフトウェア処理はハードウェア処理A1での処理終了後かつソフトウェアでのヘッダ処理終了後の場合、ソフトウェアでバッファA1の出力処理を行う。
ハードウェア処理B1での処理終了後、ハードウェア処理C1での処理を行う。ハードウェア処理B1の出力結果のソフトウェア処理はハードウェア処理B1での処理終了後かつソフトウェアでのバッファA1処理終了後の場合、ソフトウェアでバッファB1の出力処理を行う。
ハードウェア処理C1での処理終了後、ハードウェア処理D1での処理を行う。ハードウェア処理C1の出力結果のソフトウェア処理はハードウェア処理C1での処理終了後かつソフトウェアでのバッファB1処理終了後の場合、ソフトウェアでバッファC1の出力処理を行う。
ハードウェア処理D1の出力結果のソフトウェア処理はハードウェア処理D1での処理終了後かつソフトウェアでのバッファC1処理終了後の場合、ソフトウェアでバッファD1の出力処理を行う。
1MCUライン目のハードウェア処理D1での処理終了後、2MCUライン目のハードウェア処理A2を行う。1MCUライン目のソフトウェアでのバッファD1の処理が終了次第、1MCUライン目の圧縮処理が終了となる。
上記のソフトウェア処理とハードウェア処理を1セットMCU単位処理として画像サイズに応じた数だけ繰り返される。
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、本発明においては、復号部101、符号化部202の処理をソフトウエアにて行っているが、専用のハードウエアを用いて行っても良い。本発明においては図11A、図11B、図11C、図12A、図12B、図12Cで示されるそれぞれのバッファ部のソフトウエア処理時間において大きな部分を占めるために、ハードウエアを用いる事により更なる画像の圧縮及び伸張処理の高速化を図ることができる。
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるMPEG4コアを用いた半導体集積回路に適用した場合について説明したが、本発明はそれに限定されるものではなく、画像処理装置に広く適用することができる。
本発明は、少なくとも画像伸張処理又は画像圧縮処理を行うことを条件に適用することができる。
本発明にかかる画像伸張装置の構成例ブロック図である。 上記画像伸張装置における主要部の構成例ブロック図である。 本発明にかかる画像圧縮装置の構成例ブロック図である。 上記画像圧縮装置における主要部の構成例ブロック図である。 画像フォーマットの説明図である。 画像データと画像フォーマットとの関係説明図である。 画像データとブロックとの関係説明図である。 画像伸張におけるハードウェア処理フローの説明図である。 画像圧縮におけるハードウェア処理フローの説明図である。 画像フォーマット4:2:0の場合のデータ分割処理の説明図である。 画像フォーマット4:2:2の場合のデータ分割処理の説明図である。 画像フォーマット4:4:4の場合のデータ分割処理の説明図である。 画像フォーマット4:2:0の場合のデータ合成処理の説明図である。 画像フォーマット4:2:2の場合のデータ合成処理の説明図である。 画像フォーマット4:4:4の場合のデータ合成処理の説明図である。 本発明にかかる画像処理装置の構成例ブロック図である。 JPEGにおける処理単位の説明図である。 JPEGにおける処理単位の説明図である。 画像伸張処理におけるソフトウェア処理とハードウェア処理との説明図である。 画像伸張処理におけるソフトウェア処理とハードウェア処理との説明図である。 画像伸張処理におけるソフトウェア処理とハードウェア処理との説明図である。 図11A〜図11Cにおける各部の処理の説明図である。 画像圧縮処理におけるソフトウェア処理とハードウェア処理との説明図である。 画像圧縮処理におけるソフトウェア処理とハードウェア処理との説明図である。 画像圧縮処理におけるソフトウェア処理とハードウェア処理との説明図である。 図12A〜図12Cにおける各部の処理の説明図である。
符号の説明
100 入力部
101 復号部
102 フォーマット判定部
110 データ分割部
120,130,140,150 入力バッファ
160 ハードウェア処理部
121,131,141,151 出力バッファ
170 データ合成部
103 出力部
13 入力部
161 可変長復号化処理部
162 逆量子化部
163 逆離散コサイン変換部
164 動きベクトル復号化処理部
165 動き補償処理部
166 加算処理部
12 メモリ部
11 出力部
200 元画像入力部
201 フォーマット判定部
210 データ分割部
220,230,240,250 入力バッファ
221,231,241,251 出力バッファ
260 ハードウェア処理部
270 データ合成部
202 符号化部
203 出力部
14 入力部
261 差分処理部
262 離散コサイン変換部処理部
263 量子化処理部
264 係数予測処理部
265 逆量子化処理部
266 逆離散コサイン変換処理部
267 加算処理部
268 動き補償処理部
269 動き検出処理部
670 動きベクトル予測処理部
271 可変長符号化処理部
15 メモリ部
16 出力部
900 CPU
901 ROM/RAM
902 ハードウェア処理部
903 BSC
905 画像伸張圧縮部
906 表示部

Claims (28)

  1. 第1画像フォーマットの第1画像データを圧縮処理可能な画像圧縮装置であって、
    上記第1画像フォーマット以外の第2画像フォーマットである第2画像データを処理する際に、上記第2画像データの一つの第1マクロブロックごとに、上記第1マクロブロックの輝度成分が共通とされ、色差成分が異なり、上記第1画像フォーマットである複数の第2マクロブロックが形成されることにより生成される第3画像データを生成する第1処理機能と、
    上記第1画像フォーマットの画像データについての離散コサイン変換処理及び量子化処理を行うためのハードウェアを用いて上記第3画像データの圧縮演算処理を行う第2処理機能と、
    一つの上記第1マクロブロックに対応するものであり、且つ、上記圧縮演算処理が行われた上記第3画像データにおいて、全ての上記第2マクロブロックのうちの一つを残し輝度成分を無視することにより、上記圧縮演算処理が行われた上記第3画像データを上記第2画像フォーマットに合成する第3処理機能と、を含む画像圧縮装置。
  2. 上記ハードウェアは、上記全ての上記第2マクロブロックに対応する第3画像データのそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記第3画像データは、対応する第1バッファに格納された後に上記第1バッファから上記ハードウェアに供給され、上記演算処理が行われた上記第3画像データは、対応する第2バッファに格納された後に上記第2バッファから上記第3処理機能に供給される請求項1記載の画像圧縮装置。
  3. 上記第1画像フォーマットは4:2:0の画像フォーマットとされ、上記第2画像フォーマットは4:2:2の画像フォーマットとされ、上記複数及び全てとは2とされる請求項2記載の画像圧縮装置。
  4. 上記第1画像フォーマットは4:2:0の画像フォーマットとされ、上記第2画像フォーマットは4:4:4の画像フォーマットとされ、上記複数及び全てとは4とされる請求項2記載の画像圧縮装置。
  5. 処理対象の画像データをJPEGデータとして圧縮することを特徴とする、請求項2記載の画像圧縮装置。
  6. 上記ハードウェアはMPEGデータの処理のうち離散コサイン変換処理及び量子化処理を行う機能ブロックとされる請求項5記載の画像圧縮装置。
  7. 上記ハードウェアと、中央処理装置とを含み、
    上記中央処理装置は、離散コサイン変換処理及び量子化処理を行うための上記ハードウェアと、離散コサイン変換処理及び量子化処理以外の画像データの圧縮処理と、の制御を行い、
    上記ハードウェアと上記中央処理装置は一つの半導体基板に形成された請求項1記載の画像圧縮装置。
  8. 画像フォーマットを判別するための第4処理機能を含み、上記第4処理機能の判別結果に基づいて上記第1処理機能と上記第3処理機能とが制御される請求項1記載の画像圧縮装置。
  9. 一つの上記第1マクロブロックに対応する全ての第2マクロブロックにおいては、輝度成分は上記一つの上記第1マクロブロックの輝度成分が共通とされる請求項1記載の画像圧縮装置。
  10. 第1画像フォーマットの画像データを伸張可能な画像伸張装置であって、
    上記第1画像フォーマット以外の第2画像フォーマットの第3画像データを処理する際に、上記第3画像データの一つの第3マクロブロックごとに、輝度成分を共通とし、色差成分が異なり、上記第1画像フォーマットである複数の第4マクロブロックが形成されることにより生成される第2画像データを生成する第5処理機能と、
    上記第1画像フォーマットの画像データについての逆離散コサイン変換処理及び逆量子化処理を行うためのハードウェアを用いて上記第2画像データの伸張演算処理を行う第6処理機能と、
    一つの上記第3マクロブロックに対応するものであり、且つ、上記伸張演算処理が行われた上記第2画像データにおいて、全ての上記第4マクロブロックのうちの一つを残し輝度成分を無視することにより、上記伸張演算処理が行われた上記第2画像データを上記第1画像フォーマットに合成する第7処理機能と、を含む画像伸張装置。
  11. 上記ハードウェアは、上記全ての上記第4マクロブロックに対応する第2画像データそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記第2画像データは対応する第3バッファに格納された後に上記第3バッファから上記ハードウェアに供給され、上記伸張演算処理が行われた上記第2画像データは、対応する第4バッファに格納された後に上記第4バッファから第7処理機能に供給される請求項10記載の画像伸張装置。
  12. 上記第1画像フォーマットは4:2:0の画像フォーマットとされ、上記第3画像フォーマットは4:2:2の画像フォーマットとされ、上記複数及び全てとは2とされる請求項11記載の画像伸張装置。
  13. 上記第1画像フォーマットは4:2:0の画像フォーマットとされ、上記第3画像フォーマットは4:4:4の画像フォーマットとされ、上記複数及び全てとは4とされる請求項11記載の画像伸張装置。
  14. 処理対象JPEGデータを画像データとして伸張することを特徴とする、請求項11記載の画像伸張装置。
  15. 上記ハードウェアはMPEGデータの処理のうち逆離散コサイン変換処理及び逆量子化処理を行う機能ブロックとされる請求項14記載の画像伸張装置。
  16. 上記ハードウェアと、中央処理装置とを含み、
    上記中央処理装置は、逆離散コサイン変換処理及び逆量子化処理を行うための上記ハードウェアと、逆離散コサイン変換処理及び逆量子化処理以外の画像データの伸張処理と、の制御を行い、
    上記ハードウェアと上記中央処理装置は一つの半導体基板に形成された請求項10記載の画像伸張装置。
  17. 画像フォーマットを判別するための第8処理機能を含み、上記第8処理機能の判別結果に基づいて上記第5処理機能と上記第7処理機能とが制御される請求項10記載の画像伸張装置。
  18. 一つの上記第3マクロブロックに対応する全ての第4マクロブロックにおいては、輝度成分は上記一つの上記第3マクロブロックの輝度成分が共通とされる請求項10記載の画像伸張装置。
  19. 第1画像フォーマットの第1画像データを圧縮処理可能な画像圧縮装置であって、
    上記第1画像フォーマット以外の第2画像フォーマットである第2画像データを処理する際に、上記第2画像データの一つの第1マクロブロックごとに、上記第1マクロブロックの輝度成分が共通とされ、色差成分が異なり、上記第1画像フォーマットである複数の第2マクロブロックが形成されることにより生成される第3画像データを生成する第1処理機能と、
    上記第1画像フォーマットの画像データについての離散コサイン変換処理及び量子化処理を行うためのハードウェアを用いて上記第3画像データの圧縮演算処理を行う第2処理機能と、
    一つの上記第1マクロブロックに対応するものでありかつ上記圧縮演算処理が行われた上記第3画像データにおいて、全ての上記第2マクロブロックのうちの一つを残し輝度成分を無視することにより、上記圧縮演算処理が行われた上記第3画像データを上記第2画像フォーマットに合成する第3処理機能と、
    を含む上記画像圧縮装置と、
    上記第1画像フォーマットの画像データを伸張可能な画像伸張装置であって、
    上記第1画像フォーマット以外の上記第2画像フォーマットの上記第3画像データを処理する際に、上記第3画像データの一つの第3マクロブロックごとに、輝度成分を共通とし、色差成分が異なり、上記第1画像フォーマットである複数の第4マクロブロックが形成されることにより生成される上記第2画像データを生成する第5処理機能と、
    上記第1画像フォーマットの画像データについての逆離散コサイン変換処理及び逆量子化処理を行うための上記ハードウェアを用いて上記第2画像データの伸張演算処理を行う第6処理機能と、
    一つの上記第3マクロブロックに対応するものでありかつ上記伸張演算処理が行われた上記第2画像データにおいて、全ての上記第4マクロブロックのうちの一つを残し輝度成分を無視することにより、上記伸張演算処理が行われた上記第2画像データを上記第1画像フォーマットに合成する第7処理機能と、を含む上記画像伸張装置とを有する画像処理装置。
  20. 上記ハードウェアは画像圧縮時に、全ての上記第2マクロブロックに対応する上記第3画像データのそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記第3画像データは、対応する第1バッファに格納された後に上記第1バッファから上記ハードウェアに供給され、上記圧縮演算処理が行われた上記第3画像データは、対応する第2バッファに格納された後に上記第2バッファから上記第3処理機能に供給される請求項19記載の画像処理装置。
  21. 上記ハードウェアは画像伸張時に、全ての上記第4マクロブロックに対応する上記第2画像データそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記第2画像データは対応する第3バッファに格納された後に上記第3バッファから上記ハードウェアに供給され、上記伸張演算処理が行われた上記第2画像データは、対応する第4バッファに格納された後に上記第4バッファから第7処理機能に供給される請求項19記載の画像処理装置。
  22. 上記第1画像フォーマットは4:2:0の画像フォーマットとされ、上記第2画像フォーマットは4:2:2の画像フォーマットとされ、上記複数及び全てとは2とされる請求項19記載の画像処理装置。
  23. 上記第1画像フォーマットは4:2:0の画像フォーマットとされ、上記第2画像フォーマットは4:4:4の画像フォーマットとされ、上記複数及び全てとは4とされる請求項19記載の画像処理装置。
  24. 処理対象の画像データをJPEGデータとして圧縮し、処理対象のJPEGデータを画像データとして伸張することを特徴とする、請求項19記載の画像処理装置。
  25. 上記ハードウェアは、MPEGデータの処理のうち離散コサイン変換処理、量子化処理、逆離散コサイン変換処理及び逆量子化処理を行う機能ブロックとされる請求項19記載の画像処理装置。
  26. 上記ハードウェアと、中央処理装置とを含み、
    上記中央処理装置は、逆離散コサイン変換処理、逆量子化処理、離散コサイン変換処理及び量子化処理を行うための上記ハードウェアと、離散コサイン変換処理及び量子化処理以外の画像データの圧縮処理と、逆離散コサイン変換処理及び逆量子化処理以外の画像データの伸張処理と、の制御を行い、
    上記ハードウェアと上記中央処理装置は一つの半導体基板に形成された請求項19記載の画像処理装置。
  27. 画像フォーマットを判別するための第4処理機能を含み、上記第4処理機能の判別結果に基づいて上記第1処理機能と上記第3処理機能とが制御され、
    画像フォーマットを判別するための第8処理機能を含み、上記第8処理機能の判別結果に基づいて上記第5処理機能と上記第7処理機能とが制御される請求項19記載の画像処理装置。
  28. 一つの上記第1マクロブロックに対応する全ての上記第2マクロブロックにおいては、輝度成分は上記一つの上記第1マクロブロックの輝度成分が共通とされ
    一つの上記第3マクロブロックに対応する全ての上記第4マクロブロックにおいては、輝度成分は上記一つの上記第3マクロブロックの輝度成分が共通とされる請求項19記載の画像処理装置。
JP2004173908A 2004-06-11 2004-06-11 画像圧縮装置、画像伸張装置、及び画像処理装置 Expired - Fee Related JP4476032B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004173908A JP4476032B2 (ja) 2004-06-11 2004-06-11 画像圧縮装置、画像伸張装置、及び画像処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004173908A JP4476032B2 (ja) 2004-06-11 2004-06-11 画像圧縮装置、画像伸張装置、及び画像処理装置

Publications (2)

Publication Number Publication Date
JP2005354468A JP2005354468A (ja) 2005-12-22
JP4476032B2 true JP4476032B2 (ja) 2010-06-09

Family

ID=35588530

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004173908A Expired - Fee Related JP4476032B2 (ja) 2004-06-11 2004-06-11 画像圧縮装置、画像伸張装置、及び画像処理装置

Country Status (1)

Country Link
JP (1) JP4476032B2 (ja)

Also Published As

Publication number Publication date
JP2005354468A (ja) 2005-12-22

Similar Documents

Publication Publication Date Title
US7162090B2 (en) Image processing apparatus, image processing program and image processing method
JP4831547B2 (ja) 画像圧縮および伸張加速化のための方法
CA2192532C (en) Hybrid software/hardware video decoder for personal computer
JP3940672B2 (ja) 画像処理装置及び画像処理方法
JPH10271516A (ja) 圧縮符号化装置、符号化方法、復号化装置および復号化方法
WO2007055013A1 (ja) 画像復号化装置および方法、画像符号化装置
US7330595B2 (en) System and method for video data compression
JP4476032B2 (ja) 画像圧縮装置、画像伸張装置、及び画像処理装置
US7590295B2 (en) Semiconductor device and an image processor
JP3695451B2 (ja) 画像サイズの変更方法及装置
JPH1196138A (ja) 逆コサイン変換方法及び逆コサイン変換器
JP2008053848A (ja) 画像処理装置及び画像処理方法
JP4109151B2 (ja) 画像処理装置
JP4704343B2 (ja) 画像符号化装置及び方法
JP2000165861A (ja) 動画像復号装置
KR100498445B1 (ko) 성능향상을 위한 동영상 압축방법 및 장치
JPH08289290A (ja) 画像再生装置
JP2001045493A (ja) 動画像符号化装置、動画像出力装置、及び記憶媒体
JP2005101728A (ja) 画像処理装置
JP2005312054A (ja) 補完映像を生成してデブロッキング処理に用いる映像圧縮装置及び方法
JP4888224B2 (ja) 画像処理装置およびその方法、並びにプログラム
KR100672376B1 (ko) 움직임 보상 방법
JP2000175061A (ja) 色変換処理方法及び装置
JP2009065536A (ja) 復号化装置及び復号化方法
JP2004064570A (ja) 動画像復号装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070606

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090918

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090929

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091127

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees