(57)【要約】【課題】  画像伸張処理又は画像圧縮処理を可能とする装置の回路規模の低減化を図る。【解決手段】  第１画像フォーマットの画像データを伸張可能な画像伸張装置において、上記第１画像フォーマット以外の第２フォーマットの第３画像データを処理する際に、上記第２画像データから輝度成分を共通とし、且つ、色差成分が異なる上記第１フォーマットの複数の第３画像データを生成する第５処理機能（１１０）と、上記第１画像フォーマットの画像データについての逆離散コサイン変換処理及び逆量子化処理を行うためのハードウェアを用いて上記複数の第２画像データの伸張演算処理を行う第６処理機能（１６０）と、上記伸張演算処理が行われた上記複数の第２画像データを上記第１フォーマットに合成する第７処理機能（１７０）とを設けることにより回路規模の低減化を図る。【選択図】        図１Ａ
2005354468.tif 000002
【特許請求の範囲】
【請求項１】
第１画像フォーマットの第１画像データを圧縮処理可能な画像圧縮装置であって、
上記第１画像フォーマット以外の第２画像フォーマットである第２画像データを処理する際に、上記第２画像データの一つの第１マクロブロックごとに、上記第１マクロブロックの輝度成分が共通とされ、色差成分が異なり、上記第１画像フォーマットである複数の第２マクロブロックが形成されることにより生成される第３画像データを生成する第１処理機能と、
上記第１画像フォーマットの画像データについての離散コサイン変換処理及び量子化処理を行うためのハードウェアを用いて上記第３画像データの圧縮演算処理を行う第２処理機能と、
一つの上記第１マクロブロックに対応するものであり、且つ、上記圧縮演算処理が行われた上記第３画像データにおいて、全ての上記第２マクロブロックのうちの一つを残し輝度成分を無視することにより、上記圧縮演算処理が行われた上記第３画像データを上記第２画像フォーマットに合成する第３処理機能と、を含む画像圧縮装置。
【請求項２】
上記ハードウェアは、上記全ての上記第２マクロブロックに対応する第３画像データのそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記第３画像データは、対応する第１バッファに格納された後に上記第１バッファから上記ハードウェアに供給され、上記演算処理が行われた上記第３画像データは、対応する第２バッファに格納された後に上記第２バッファから上記第３処理機能に供給される請求項１記載の画像圧縮装置。
【請求項３】
上記第１画像フォーマットは４：２：０の画像フォーマットとされ、上記第２画像フォーマットは４：２：２の画像フォーマットとされ、上記複数及び全てとは２とされる請求項２記載の画像圧縮装置。
【請求項４】
上記第１画像フォーマットは４：２：０の画像フォーマットとされ、上記第２画像フォーマットは４：４：４の画像フォーマットとされ、上記複数及び全てとは４とされる請求項２記載の画像圧縮装置。
【請求項５】
処理対象をＪＰＥＧデータとした請求項２記載の画像圧縮装置。
【請求項６】
上記ハードウェアはＭＰＥＧデータの処理を可能とする機能ブロックの一部とされる請求項５記載の画像圧縮装置。
【請求項７】
上記ハードウェアと、上記ハードウェアを制御可能な中央処理装置とを含んで一つの半導体基板に形成された請求項１記載の画像圧縮装置。
【請求項８】
画像フォーマットを判別するための第４処理機能を含み、上記第４処理機能の判別結果に基づいて上記第１処理機能と上記第３処理機能とが制御される請求項１記載の画像圧縮装置。
【請求項９】
一つの上記第１マクロブロックに対応する全ての第２マクロブロックにおいては、輝度成分は上記一つの上記第１マクロブロックの輝度成分の一部である請求項１記載の画像圧縮装置。
【請求項１０】
第１画像フォーマットの画像データを伸張可能な画像伸張装置であって、
上記第１画像フォーマット以外の第２画像フォーマットの第３画像データを処理する際に、上記第３画像データの一つの第３マクロブロックごとに、輝度成分を共通とし、色差成分が異なり、上記第１画像フォーマットである複数の第４マクロブロックが形成されることにより生成される第２画像データを生成する第５処理機能と、
上記第１画像フォーマットの画像データについての逆離散コサイン変換処理及び逆量子化処理を行うためのハードウェアを用いて上記第２画像データの伸張演算処理を行う第６処理機能と、
一つの上記第３マクロブロックに対応するものであり、且つ、上記伸張演算処理が行われた上記第２画像データにおいて、全ての上記第４マクロブロックのうちの一つを残し輝度成分を無視することにより、上記伸張演算処理が行われた上記第２画像データを上記第１画像フォーマットに合成する第７処理機能と、を含む画像伸張装置。
【請求項１１】
上記ハードウェアは、上記全ての上記第４マクロブロックに対応する第２画像データそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記第２画像データは対応する第３バッファに格納された後に上記第３バッファから上記ハードウェアに供給され、上記伸張演算処理が行われた上記第２画像データは、対応する第４バッファに格納された後に上記第４バッファから第７処理機能に供給される請求項１０記載の画像伸張装置。
【請求項１２】
上記第１画像フォーマットは４：２：０の画像フォーマットとされ、上記第３画像フォーマットは４：２：２の画像フォーマットとされ、上記複数及び全てとは２とされる請求項１１記載の画像伸張装置。
【請求項１３】
上記第１画像フォーマットは４：２：０の画像フォーマットとされ、上記第３画像フォーマットは４：４：４の画像フォーマットとされ、上記複数及び全てとは４とされる請求項１１記載の画像伸張装置。
【請求項１４】
処理対象をＪＰＥＧデータとした請求項１１記載の画像伸張装置。
【請求項１５】
上記ハードウェアはＭＰＥＧデータの処理を可能とする機能ブロックの一部とされる請求項１４記載の画像伸張装置。
【請求項１６】
上記ハードウェアと、上記ハードウェアを制御可能な中央処理装置とを含んで一つの半導体基板に形成された請求項１０記載の画像伸張装置。
【請求項１７】
画像フォーマットを判別するための第８処理機能を含み、上記第８処理機能の判別結果に基づいて上記第５処理機能と上記第７処理機能とが制御される請求項１０記載の画像伸張装置。
【請求項１８】
一つの上記第３マクロブロックに対応する全ての第４マクロブロックにおいては、輝度成分は上記一つの上記第３マクロブロックの輝度成分の一部である請求項１０記載の画像伸張装置。
【請求項１９】
第１画像フォーマットの第１画像データを圧縮処理可能な画像圧縮装置であって、
上記第１画像フォーマット以外の第２画像フォーマットである第２画像データを処理する際に、上記第２画像データの一つの第１マクロブロックごとに、上記第１マクロブロックの輝度成分が共通とされ、色差成分が異なり、上記第１画像フォーマットである複数の第２マクロブロックが形成されることにより生成される第３画像データを生成する第１処理機能と、
上記第１画像フォーマットの画像データについての離散コサイン変換処理及び量子化処理を行うためのハードウェアを用いて上記第３画像データの圧縮演算処理を行う第２処理機能と、
一つの上記第１マクロブロックに対応するものでありかつ上記圧縮演算処理が行われた上記第３画像データにおいて、全ての上記第２マクロブロックのうちの一つを残し輝度成分を無視することにより、上記圧縮演算処理が行われた上記第３画像データを上記第２画像フォーマットに合成する第３処理機能と、
を含む上記画像圧縮装置と、
上記第１画像フォーマットの画像データを伸張可能な画像伸張装置であって、
上記第１画像フォーマット以外の上記第２フォーマットの上記第３画像データを処理する際に、上記第３画像データの一つの第３マクロブロックごとに、輝度成分を共通とし、色差成分が異なり、上記第１画像フォーマットである複数の第４マクロブロックが形成されることにより生成される上記第２画像データを生成する第５処理機能と、
上記第１画像フォーマットの画像データについての逆離散コサイン変換処理及び逆量子化処理を行うための上記ハードウェアを用いて上記第２画像データの伸張演算処理を行う第６処理機能と、
一つの上記第３マクロブロックに対応するものでありかつ上記伸張演算処理が行われた上記第２画像データにおいて、全ての上記第４マクロブロックのうちの一つを残し輝度成分を無視することにより、上記伸張演算処理が行われた上記第２画像データを上記第１画像フォーマットに合成する第７処理機能と、
を含む上記画像伸張装置とを有する画像処理装置。
【請求項２０】
上記ハードウェアは画像圧縮時に、全ての上記第２マクロブロックに対応する上記第３画像データのそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記第３画像データは、対応する第１バッファに格納された後に上記第１バッファから上記ハードウェアに供給され、上記圧縮演算処理が行われた上記第３画像データは、対応する第２バッファに格納された後に上記第２バッファから上記第３処理機能に供給される請求項１９記載の画像処理装置。
【請求項２１】
上記ハードウェアは画像伸張時に、全ての上記第４マクロブロックに対応する上記第２画像データそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記第２画像データは対応する第３バッファに格納された後に上記第３バッファから上記ハードウェアに供給され、上記伸張演算処理が行われた上記第２画像データは、対応する第４バッファに格納された後に上記第４バッファから第７処理機能に供給される請求項１９記載の画像処理装置。
【請求項２２】
上記第１画像フォーマットは４：２：０の画像フォーマットとされ、上記第２画像フォーマットは４：２：２の画像フォーマットとされ、上記複数及び全てとは２とされる請求項１９記載の画像処理装置。
【請求項２３】
上記第１画像フォーマットは４：２：０の画像フォーマットとされ、上記第２画像フォーマットは４：４：４の画像フォーマットとされ、上記複数及び全てとは４とされる請求項１９記載の画像処理装置。
【請求項２４】
処理対象をＪＰＥＧデータとした請求項１９記載の画像処理装置。
【請求項２５】
上記ハードウェアはＭＰＥＧデータの処理を可能とする機能ブロックの一部とされる請求項１９記載の画像処理装置。
【請求項２６】
上記ハードウェアと、上記ハードウェアを制御可能な中央処理装置とを含んで一つの半導体基板に形成された請求項１９記載の画像処理装置。
【請求項２７】
画像フォーマットを判別するための第４処理機能を含み、上記第４処理機能の判別結果に基づいて上記第１処理機能と上記第３処理機能とが制御され、
画像フォーマットを判別するための第８処理機能を含み、上記第８処理機能の判別結果に基づいて上記第５処理機能と上記第７処理機能とが制御される請求項１９記載の画像処理装置。
【請求項２８】
一つの上記第１マクロブロックに対応する全ての上記第２マクロブロックにおいては、輝度成分は上記一つの上記第１マクロブロックの輝度成分の一部であり、
一つの上記第３マクロブロックに対応する全ての上記第４マクロブロックにおいては、輝度成分は上記一つの上記第３マクロブロックの輝度成分の一部である請求項１９記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像を圧縮処理する画像圧縮装置、圧縮された画像を伸張する画像伸張装置、及び上記画像圧縮装置と上記画像伸張装置とを含んで成る画像処理装置に関する。
【背景技術】
【０００２】
画像処理において、画像データを記憶したり転送する場合において、画像データ量を低減するために画像データを圧縮し、また、圧縮された画像データを必要に応じて復元することが行われる。
【０００３】
このような画像処理において、画像フォーマット４：１：１または４：２：０用の画像フォーマットを画像伸張圧縮できるハードウェアを２系統設けることにより画像フォーマット４：２：２への画像伸張圧縮処理を可能とする技術が知られている（例えば特許文献１参照）。それによれば、画像フォーマット４：１：１あるいは４：２：０の画像フォーマットを伸張圧縮する回路を２系統並列動作させることにより画像フォーマット４：２：２の画像フォーマットへの対応を可能とする。
【０００４】
【特許文献１】特開平０８−３１７４２０号公報（図１）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記従来技術によれば、画像フォーマット４：２：０あるいは４：１：１対応の伸張圧縮回路で、画像フォーマット４：２：２に対応する場合には上記回路を２系統持つ必要がある。また、その場合において画像フォーマット４：２：２対応の伸張圧縮回路においては、画像フォーマット４：２：０や４：１：１の場合には処理に関与しない余分な回路が存在することが本願発明者によって見いだされた。
【０００６】
本発明の目的は、複数の画像フォーマットに対応可能な画像伸張処理又は画像圧縮処理を可能とする装置の回路規模の低減化を図るための技術を提供することにある。
【０００７】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【０００９】
すなわち、第１画像フォーマットの第１画像データを圧縮処理可能な画像圧縮装置であって、上記第１画像フォーマット以外の第２画像フォーマットである第２画像データを処理する際に、上記第２画像データの一つの第１マクロブロックごとに、上記第１マクロブロックの輝度成分が共通とされ、色差成分が異なり、上記第１画像フォーマットである複数の第２マクロブロックが形成されることにより生成される第３画像データを生成する第１処理機能と、上記第１画像フォーマットの画像データについての離散コサイン変換処理及び量子化処理を行うためのハードウェアを用いて上記第３画像データの圧縮演算処理を行う第２処理機能と、一つの上記第１マクロブロックに対応するものでありかつ上記圧縮演算処理が行われた上記第３画像データにおいて、全ての上記第２マクロブロックのうちの一つを残し輝度成分を無視することにより、上記圧縮演算処理が行われた上記第３画像データを上記第２画像フォーマットに合成する第３処理機能とを設ける。
【００１０】
上記の手段によれば、上記第１画像フォーマット以外の第２画像フォーマットである第２画像データが取り込まれた場合、上記第２画像データの一つの第１マクロブロックごとにおいて、上記第１マクロブロックの輝度成分が共通とされ、色差成分が異なり、上記第１画像フォーマットである複数の第２マクロブロックが形成されることにより生成される第３画像データが生成され、それについての離散コサイン変換処理及び量子化処理が行われた後に、上記第３画像データが上記第２画像フォーマットに合成される。これにより、複数の画像フォーマットに対して上記ハードウェアを共用でき、このことが、複数の画像フォーマットに対応可能な画像伸張処理を可能とする装置の回路規模の低減化を達成する。
【００１１】
このとき、上記ハードウェアは、上記全ての上記第２マクロブロックに対応する第３画像データのそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記複数の第３画像データは、対応するバッファを上記ハードウェアに供給され、上記演算処理が行われた上記複数の第３画像データは、対応するバッファを介して上記第３処理機能に供給される。
【００１２】
上記画像伸張装置において上記第１画像フォーマットが４：２：０の画像フォーマットとされるとき、上記第２画像フォーマットは４：２：２の画像フォーマットとされ、上記複数とは２とされる。また、上記第１画像フォーマットは４：２：０の画像フォーマットとされるとき、上記第２画像フォーマットは４：４：４の画像フォーマットとされ、上記複数とは４とされる。
【００１３】
上記画像伸張装置において、処理対象をＪＰＥＧデータとすることができる。その場合において、上記ハードウェアはＭＰＥＧデータの処理を可能とする機能ブロックの一部とすることができる。
【００１４】
上記画像伸張装置は、上記ハードウェアと、上記ハードウェアを制御可能な中央処理装置とを含んで一つの半導体基板に形成することができる。
【００１５】
上記画像伸張装置において、画像フォーマットを判別するための第４処理機能を設け、上記第４処理機能の判別結果に基づいて上記第１処理機能と上記第３処理機能とが制御されるように構成することができる。
【００１６】
第１画像フォーマットの画像データを伸張可能な画像伸張装置であって、上記第１画像フォーマット以外の第２画像フォーマットの第３画像データを処理する際に、上記第３画像データの一つの第３マクロブロックごとに、輝度成分を共通とし、色差成分が異なり、上記第１画像フォーマットである複数の第４マクロブロックが形成されることにより生成される第２画像データを生成する第５処理機能と、上記第１画像フォーマットの画像データについての逆離散コサイン変換処理及び逆量子化処理を行うためのハードウェアを用いて上記第２画像データの伸張演算処理を行う第６処理機能と、一つの上記第３マクロブロックに対応するものでありかつ上記伸張演算処理が行われた上記第２画像データにおいて、全ての上記第４マクロブロックのうちの一つを残し輝度成分を無視することにより、上記伸張演算処理が行われた上記第２画像データを上記第１画像フォーマットに合成する第７処理機能とを設ける。
【００１７】
上記の手段によれば、上記第１画像フォーマット以外の第２画像フォーマットである第３画像データが取り込まれた場合、上記第３画像データの一つの第３マクロブロックごとに、輝度成分が共通とされ、色差成分が異なり、上記第１画像フォーマットである複数の第４マクロブロックが形成されることにより生成される第２画像データが生成され、それについての逆量子化処理及び逆離散コサイン変換処理が行われた後に、上記第３画像データが上記第２画像フォーマットに合成される。これにより、複数の画像フォーマットに対して上記ハードウェアを共用でき、このことが、複数の画像フォーマットに対応可能な画像圧縮処理を可能とする装置の回路規模の低減化を達成する。
【００１８】
このとき、上記ハードウェアは、上記全ての上記第４マクロブロックに対応する第３画像データそれぞれにおいて共通に、且つ、シーケンシャルに用いられ、上記複数の第３画像データは対応するバッファを介して上記ハードウェアに供給され、上記伸張演算処理が行われた上記複数の第３画像データは、対応する第２バッファを介して第３処理機能に供給される。
【００１９】
上記画像圧縮装置において、上記第１画像フォーマットが４：２：０の画像フォーマットとされるとき、上記第２画像フォーマットは４：２：２の画像フォーマットとされ、上記複数とは２とされる。また、上記第１画像フォーマットが４：２：０の画像フォーマットとされるとき、上記第１２画像フォーマットは４：４：４の画像フォーマットとされ、上記複数とは４とされる。
【００２０】
上記画像圧縮装置において、処理対象をＪＰＥＧデータとすることができる。
【００２１】
上記画像圧縮装置において、上記ハードウェアはＭＰＥＧデータの処理を可能とする機能ブロックの一部とすることができる。
【００２２】
上記画像圧縮装置は、上記ハードウェアと、上記ハードウェアを制御可能な中央処理装置とを含んで一つの半導体基板に形成することができる。
【００２３】
上記画像圧縮装置において、画像フォーマットを判別するための第８処理機能を含み、上記第８処理機能の判別結果に基づいて上記第５処理機能と上記第７処理機能とが制御されるように構成することができる。
【００２４】
上記画像圧縮装置と上記画像伸張装置とを含んで画像処理装置を構成することができる。
【発明の効果】
【００２５】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【００２６】
すなわち、複数の画像フォーマットに対応可能な画像伸張処理又は画像圧縮処理を可能とする装置の回路規模の低減化を図ることができる。
【発明を実施するための最良の形態】
【００２７】
ここで先ず、本発明の実施の形態において取り扱われる画像データの基本的な構造について説明する。
【００２８】
図３Ａに示されるように、画像データは輝度情報Ｙのブロックと色差情報Ｃｂ，Ｃｒのブロックに分割することができる。図３Ｂには画像データと画像フォーマットの関係が示される。×は輝度の位置を示し、○は色差の位置を示す。画像フォーマット４：２：０の場合は輝度情報４つに対して色差情報１つで構成されている。４画素分を構成する色差情報は１画素分になる。画像フォーマット４：２：２の場合は輝度情報２つに対して色差情報１つで構成されている。４画素分を構成する色差情報は２画素分になる。画像フォーマット４：４：４の場合は輝度情報１つに対して色差情報１つで構成されている。４画素分を構成する色差情報は４画素分になる。輝度情報に対して色差情報の少ない画像フォーマット４：２：０は高圧縮且つ低画質となる。輝度情報と色差情報の比率が同じ画像フォーマット４：４：４は高画質且つ低圧縮となる。
【００２９】
次に画像処理を行う上での最小処理単位であるマクロブロックについて図３Ｃに基づいて説明する。
【００３０】
８×８ブロックとは、縦方向に８画素、横方向に８画素の総数６４画素のブロックを示している。画像フォーマット４：２：０の場合は、輝度情報Ｙが８×８ブロックが４つ（図中の０から３の８×８ブロック）、色差情報Ｃｂが１つ（図中の４の８×８ブロック）、Ｃｒが１つ（図中の５の８×８ブロック）で構成されている。
【００３１】
画像フォーマット４：２：２の場合は輝度情報Ｙが８×８ブロック４つ（図中の０から３の８×８ブロック）、色差情報Ｃｂが２つ（図中の４，６の８×８ブロック）、Ｃｒが２つ（図中の５，７の８×８ブロック）で構成されている。
【００３２】
画像フォーマット４：４：４の場合は輝度情報Ｙが８×８ブロックが４つ（図中の０から３の８×８ブロック）と、色差情報Ｃｂが４つ（図中の４，６，８，１０の８×８ブロック）、Ｃｒが４つ（図中の５，７，９，１１の８×８ブロック）で構成されている。
【００３３】
図１Ａには、本発明にかかる画像伸張装置の構成例が示される。
【００３４】
図１Ａに示される画像伸張装置は、特に制限されないが、画像データを取り込むための入力部１００、取り込まれた画像データを復号化するための復号部１０１、復号部１０１から出力された画像のフォーマットを判定するためのフォーマット判定部１０２（第８処理機能）、ソフトウェア処理によって画像データを分割するためのデータ分割部１１０（第５処理機能）、上記データ分割部１１０の出力データが取り込まれる入力バッファＡ１２０，Ｂ１３０，Ｃ１４０，Ｄ１５０、ハードウェアにより逆量子化（ＩＱ）処理、逆離散コサイン変換（ＩＤＣＴ）処理を行うハードウェア処理部１６０（第６処理機能）、上記ハードウェア処理部１６０の出力データが取り込まれる出力バッファａ１２１，ｂ１３１，ｃ１４１，ｄ１５１、上記出力バッファａ１２１，ｂ１３１，ｃ１４１，ｄ１５１の出力データを合成可能なデータ合成部１７０（第７処理機能）、上記データ合成部１７０の出力データを外部出力可能な出力部１０３とを含む。
【００３５】
逆量子化処理や逆離散コサイン変換処理を行う上記ハードウェア処理部１６０は、ＭＰＥＧ４の処理で用いられるものが兼用される。例えばＭＰＥＧ４の処理で用いられるハードウェアは、図１Ｂに示されるように、入力部１３を介して取り込まれた画像データの可変長復号化処理を行う可変長復号化部１６１、上記可変長復号化部１６１の出力データの逆量子化を可能とする逆量子化部１６２、上記逆量子化部１６２の出力データの逆離散コサイン変換を可能とする逆離散コサイン変換部１６３、上記可変長復号化部１６１の出力データの動きベクトル復号化処理を可能とする動きベクトル復号化部１６４、上記動きベクトル復号化部１６４の出力データの動き補償を行う動き補償部１６５、上記動き補償部１６５の出力データと上記逆離散コサイン変換部１６３の出力データとの加算処理を行い、その結果を出力部１１やメモリ１２に出力可能な加算部１６６を含んで成る。このようなハードウェアがシステムに搭載される場合には、ＭＰＥＧ４の処理で用いられるハードウェア（ＭＰＥＧ４コア）に含まれる逆量子化処理部１６２や逆離散コサイン変換処理部１６３を画像伸張装置において利用し、図４Ａに示されるように画像符号列（量子化されたＤＣＴ係数）に対して逆量子化処理や逆離散コサイン変換処理を行うことでシステム全体のハードウェアの規模の増大を抑えることができる。上記復号部１０１、フォーマット判定部１０２、データ分割部１１０、データ合成部１７０の各機能は、図示しないＣＰＵ（中央処理装置）が所定のプログラムを実行することによって実現される。また、ハードウェア処理部１６０の動作制御も上記ＣＰＵによって行われる。さらに上記入力バッファＡ１２０、Ｂ１３０、Ｃ１４０、Ｄ１５０や、上記出力バッファａ１２１、ｂ１３１、ｃ１４１、ｄ１５１は、特に制限されないが、図示されないＲＡＭ（ランダムアクセスメモリ）などの適宜のメモリの記憶領域が割り当てられて成るバッファメモリとすることができる。
【００３６】
上記の構成において、入力データである画像符号列は逆量子化処理、逆離散コサイン変換処理が行われることで、画像フォーマット４：２：０のマクロブロックが生成される。１マクロブロック分の伸張処理手順は先ず、輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３の順に処理が行われる。次に色差情報Ｃｂ，Ｃｒであるブロック４，ブロック５の順に処理が行われる。
【００３７】
復号するための画像フォーマットが図５Ａに示されるように４：２：０の場合について説明する。
【００３８】
入力部１００にて圧縮符号列の入力が行われ、復号部１０１にて圧縮符号列の復号化処理が行われ、フォーマット判定部１０２で画像フォーマットの判別が行われる。画像フォーマットが４：２：０の場合は、１つの入力バッファＡ１２０に保持された符号列（量子化されたＤＣＴ係数）を４：２：０の入力データとしてハードウェア処理部１６０の逆量子化処理を行い、逆離散コサイン変換を行う。ハードウェア処理部１６０で処理された復号画像データは１つの出力バッファａ１２１及び出力部１０３を介して出力される。この場合の出力画像は図７Ａに示されるようになり、入力データ（図５Ａ参照）と画像フォーマットが等しくなる。画像フォーマットが４：２：０の場合には、データ分割部１１０でデータ分割が行われないため、データ合成部１７０においてもデータ合成処理は行われない。
【００３９】
次に、復号するための画像フォーマットが４：２：０でない画像フォーマットの場合について説明する。
【００４０】
先ず、入力部１００にて圧縮符号列が取り込まれ、復号部１０１にて圧縮符号列の復号化処理（ハフマン復号化処理）が行われ、フォーマット判定部１０２で画像フォーマットの判別が行われる。ハードウェア処理部１６０で処理できない画像フォーマットの場合は、データ分割部１１０の符号列分割処理にて符号列の分割が行われる。例えば画像フォーマットが４：２：２の場合には、図５Ｂに示されるように分割される。
【００４１】
すなわち、入力バッファＡ１２０は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック４，ブロック５で構成されているマクロブロックの符号列、入力バッファＢ１３０は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック６，ブロック７で構成されるマクロブロックの符号列に分割される。
【００４２】
入力バッファＡ１２０と入力バッファＢ１３０との共通点は、輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３の部分である。相違点は、色差情報ＣｂＣｒの符号列である。入力バッファＢ１３０での輝度情報Ｙはダミーとされ、後の処理で無視される。
【００４３】
入力バッファＡ１２０に保持された画像フォーマット４：２：０に対応した符号列はハードウェア処理部１６０に入力され、逆量子化処理、逆離散コサイン変換処理される。処理され伸張された画像データは出力バッファａ１２１に保持する。
【００４４】
同時に入力バッファＢ１３０に保持された符号列はハードウェア処理部１６０に入力され、逆量子化処理、逆離散コサイン変換処理される。そのような処理によって伸張された画像データは出力バッファｂ１３１に伝達される。
【００４５】
出力バッファａ１２１、出力バッファｂ１３１の伸張画像データはデータ合成１７０に伝達されてデータ合成され、画像フォーマット４：２：２化された画像データが得られる。この画像データは出力部１０３を介して出力される。
【００４６】
図７Ｂには画像フォーマットが４：２：２の場合の具体的なデータ合成例が示される。
【００４７】
出力バッファａ１２１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック４， ブロック５で構成されているマクロブロックである。出力バッファｂ１３１は輝度情報Ｙであるブロック０，ブロック１，ブロック２， ブロック３と色差情報ＣｂＣｒであるブロック６，ブロック７で構成されるマクロブロックである。出力バッファａ１２１と出力バッファｂ１３１との共通点は、輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３の部分である。相違点は、色差情報ＣｂＣｒである出力バッファａのブロック４，ブロック５と出力バッファｂのブロック６，ブロック７となる。出力バッファａ１２１と出力バッファｂ１３１の共通部分である輝度情報Ｙは出力バッファａ１２１で処理を行い出力されているため、出力バッファａ１２１の出力結果を用いて合成が行われる。
【００４８】
それに対して、出力バッファａ１２１と出力バッファｂ１３１の相違点である色差情報ＣｂＣｒは、出力バッファａ１２１、 出力バッファｂ１３１ともに出力結果を用いて合成が行われることで、画像フォーマット４：２：２とされる。
【００４９】
次に、画像フォーマットが４：４：４の場合について説明する。
【００５０】
入力部１００にて圧縮符号列の入力が行われ、復号部１０１にて圧縮符号列の復号化処理が行われ、フォーマット判定部１０２で画像フォーマットの判別が行われる。画像フォーマットが４：４：４の場合、入力バッファＡ１２０、入力バッファＢ１３０、入力バッファＣ１４０、入力バッファＤ１５０に、復号した符号列の分割データが出力される。
【００５１】
図６に具体的な分割例が示される。
【００５２】
入力バッファＡ１２０は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒのブロック４，ブロック５で構成されるマクロブロックの符号列、入力バッファＢ１３０は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒのブロック６，ブロック７で構成されるマクロブロックの符号列、入力バッファＣ１４０は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒのブロック８，ブロック９で構成されるマクロブロックの符号列、入力バッファＤ１５０は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒのブロック１０，ブロック１１で構成されるマクロブロックの符号列に分割される。
【００５３】
入力バッファＡ１２０、入力バッファＢ１３０、入力バッファＣ１４０、入力バッファＤ１５０の共通点は、輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３の部分である。相違点は色差情報ＣｂＣｒの符号列である。入力バッファＢ１３０、入力バッファＣ１４０、入力バッファＤ１５０での輝度情報Ｙはダミーとされ、後の処理で無視される。
【００５４】
入力バッファＡ１２０に保持された画像フォーマット４：２：０に対応した符号列はハードウェア処理部１６０に入力され逆量子化処理され、逆離散コサイン変換処理される。処理され伸張された画像データは出力バッファａ１２１に保存される。同時に入力バッファＢ１３０に保持された符号列はハードウェア処理部１６０に入力され逆量子化処理され、逆離散コサイン変換処理される。処理され伸張された画像データは出力バッファｂ１３１に保持される。同時に入力バッファＣ１４０に保持された符号列はハードウェア処理部１６０に入力され逆量子化処理され、逆離散コサイン変換処理される。処理され伸張された画像データは出力バッファｃ１４１に保持される。同時に入力バッファＤ１５０に保持された符号列はハードウェア処理部１６０に入力され逆量子化処理され、逆離散コサイン変換処理される。処理され伸張された画像データは出力バッファＤ１５１に保持される。出力バッファａ１２１、出力バッファｂ１３１、出力バッファｃ１４１、出力バッファｄ１５１の伸張画像データがデータ合成１７０で合成され、画像フォーマット４：４：４化された画像データが出力部１０３を介して出力される。
【００５５】
図８にはデータ合成の具体例が示される。
【００５６】
出力バッファａ１２１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック４，ブロック５で構成されるマクロブロックである。出力バッファｂ１３１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック６，ブロック７で構成されるマクロブロックである。出力バッファｃ１４１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック８，ブロック９で構成されるマクロブロックである。出力バッファｄ１５１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック１０，ブロック１１で構成されるマクロブロックである。出力バッファａ１２１、出力バッファｂ１３１、出力バッファｃ１４１、出力バッファｄ１５１の共通点は、輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３の部分である。相違点は色差情報ＣｂＣｒである出力バッファａ１２１のブロック４，ブロック５と出力バッファｂ１３１のブロック６，ブロック７と出力バッファｃ１４１のブロック８， ブロック９と出力バッファｄ１５１のブロック１０，ブロック１１となる。出力バッファａ１２１、出力バッファｂ１３１、出力バッファｃ１４１、出力バッファｄ１５１の共通部分である輝度情報Ｙは出力バッファａ１２１で処理を行い出力されているため、出力バッファａ１２１の出力結果を用い合成を行う。
【００５７】
それに対して、出力バッファａ１２１、出力バッファｂ１３１、出力バッファｃ１４１、出力バッファｄ１５１の相違点である色差情報ＣｂＣｒは出力バッファａ１２１、出力バッファｂ１３１、出力バッファｃ１４１、出力バッファｄ１５１の全ての出力結果を用い合成を行い画像フォーマット４：４：４とする。
【００５８】
上記例によれば、以下の作用効果を得ることができる。
【００５９】
（１）４：２：０の第１画像フォーマット以外の第２画像フォーマットの画像データを処理する際にその画像データから輝度成分が共通とされ、且つ、色差成分が異なる上記４：２：０の画像フォーマットの複数の画像データをデータ分割部１１０において生成し、この複数の画像データについての逆量子化処理や逆離散コサイン変換処理をハードウェア処理部１６０で行った後に、データ合成部１７０で上記第２画像フォーマットに合成することができるので、複数種類の画像フォーマットに対してハードウェア処理部１６０を共通に使用することができる。このため、複数の画像フォーマットに対応可能な画像伸張処理を可能とする装置の回路規模の縮小化を図ることができる。また、ソフトウエアで逆量子化処理や逆離散コサイン変換処理を複数の画像フォーマットにおいて行うのに比べて高速に画像処理を行う事ができる。
【００６０】
（２）ＭＰＥＧ４の処理で用いられるハードウェアに含まれる逆量子化処理部１６２や逆離散コサイン変換処理部１６３を画像伸張装置において利用し、図４Ａに示されるように画像符号列（量子化されたＤＣＴ係数）に対して逆量子化処理や逆離散コサイン変換処理を行うようにしているので、例えばＭＰＥＧ４の処理が行われる携帯電話用ＬＳＩのような用途では、ＭＰＥＧ４コアをＭＰＥＧ４処理とＪＰＥＧ処理とに兼用することができ、それによって携帯電話などのシステム全体のハードウェアの規模の増大を抑えることができる。また、ソフトウエアで逆量子化処理や逆離散コサイン変換処理を複数の画像フォーマットにおいて行うのに比べて高速に画像処理を行う事ができる。
【００６１】
図２Ａには、本発明にかかる画像圧縮装置の構成例が示される。
【００６２】
図２Ａに示される画像圧縮装置は、元画像の取り込みを行う元画像入力部２００、元画像入力部２００の出力データのフォーマットの判別を行うフォーマット判定部２０１（第４処理機能）、上記フォーマット判定部２０１の出力データの分割を可能とするデータ分割部２１０（第１処理機能）、上記データ分割部２１０で分割されたデータが取り込まれる入力バッファａ２２０，ｂ２３０，ｃ２４０，ｄ２５０、この入力バッファａ２２０，ｂ２３０，ｃ２４０，ｄ２５０の出力データについて離散コサイン変換（ＤＣＴ）処理、量子化（Ｑ）処理を可能とするハードウェア処理部２６０（第２処理機能）、上記ハードウェア処理部２６０の出力データが取り込まれる出力バッファＡ２２１，Ｂ２３１，Ｃ２４１，Ｄ２５１、上記出力バッファＡ２２１，Ｂ２３１，Ｃ２４１，Ｄ２５１の出力データの合成処理を可能とするデータ合成部２７０（第３処理機能）、上記データ合成部２７０の出力データを符号化可能な符号化部２０２（ハフマン符号化部）、上記符号化部２０２の出力データを外部出力可能な出力部２０３を含む。
【００６３】
離散コサイン変換処理や量子化処理を行う上記ハードウェア処理部２６０は、ＭＰＥＧ４の処理で用いられるものが兼用される。例えばＭＰＥＧ４の処理で用いられるハードウェアは、図２Ｂに示されるように、入力部１４を介して取り込まれたデータの動き補償されたデータとの差分を求める差分処理部２６１、上記差分処理部２６１の出力データの離散コサイン変換処理を行う離散コサイン変換部２６２、離散コサイン変換部２６２の出力データの量子化処理を行う量子化処理部２６３、上記量子化処理部２６３の出力データから可変長符号化のための係数予測を行う係数予測部２６４、上記量子化処理部２６３の出力データの逆量子化処理を行う逆量子化処理部２６５、上記逆量子化処理部２６５の出力データの逆離散コサイン変換処理を行う逆離散コサイン変換処理部２６６、上記逆離散コサイン変換処理部２６６の出力データと動く補償されたデータとの加算処理を行い、その結果をメモリ１５に出力可能な加算部２６７、画像の動き検出を行う動き検出部２６９、上記動き検出部２６９の動き検出結果について上記メモリ１５内のデータに基づいて動き補償を行う動き補償部２６８、上記動き検出部の検出結果に基づいて動きベクトル予測を行うための動きベクトル予測部６７０、上記動きベクトル予測部６７０の出力データを上記係数予測部２６４の予測係数に基づいて可変長符号化処理を行い、その結果を後段の出力部１６に出力可能な可変長符号化処理部２７１を含む。このようなハードウェアがシステムに搭載される場合には、ＭＰＥＧ４の処理で用いられるハードウェア（ＭＰＥＧ４コア）に含まれる離散コサイン変換処理部２６２や量子化処理部２６３を画像圧縮装置において利用し、図４Ｂに示されるように画像データに対して離散コサイン変換処理や量子化処理を行うことで画像符号列（量子化されたＤＣＴ係数）を得ることができ、そのようにハードウェアを兼用することでシステム全体のハードウェア規模の増大を抑えることができる。上記フォーマット判定部２０１、データ分割部２１０、データ合成部２７０、符号化部２０２の各機能は、図示されないＣＰＵが所定のプログラムを実行することによって実現される。また、ハードウェア処理部２６０の動作制御も上記ＣＰＵによって行われる。さらに、入力バッファａ２２０、ｂ２３０、ｃ２４０、ｄ２５０、及び上記出力バッファＡ２２１、Ｂ２３１、Ｃ２４１、Ｄ２５１は、特に制限されないが、図示されないＲＡＭ（ランダムアクセスメモリ）などの適宜のメモリの記憶領域が割り当てられて成るバッファメモリとすることができる。
【００６４】
上記の構成において、入力データである元画像データは離散コサイン変換処理された後に量子化処理され、画像フォーマット４：２：０のマクロブロックの符号列（量子化されたＤＣＴ係数）が生成される。１マクロブロック分の圧縮処理手順は先ず、輝度情報Ｙであるブロック０， ブロック１， ブロック２， ブロック３の順に処理が行われる。次に色差情報Ｃｂ，Ｃｒであるブロック４，ブロック５の順に処理が行われる。
【００６５】
符号化するための画像フォーマットが４：２：０の場合について説明する。
【００６６】
元画像入力部２００にて元画像データの入力が行われ、フォーマット判定部２０１にて元画像データの画像フォーマット判別が行われる。画像フォーマットが図５Ａに示されるように４：２：０の場合には、１つのバッファａ２２０に保持された元画像データが４：２：０の入力データとしてハードウェア処理部２６０に入力され、離散コサイン変換処理及び量子化処理が行われる。ハードウェア処理部２６０で処理された符号列は１つのバッファＡ２２１に伝達される。
【００６７】
符号化回路２０２にて圧縮された符号列を符号化処理し、出力部２０３にて符号化された画像データの出力を行う。
【００６８】
入力データである元画像データの画像フォーマットが回路２６０で処理ができない画像フォーマットの場合について説明する。
【００６９】
入力データである元画像データの画像フォーマットが回路２６０で処理ができない画像フォーマットの場合には元画像の分割が行われる。例えば、画像フォーマット４：２：２の場合には、入力バッファａ２２０と入力バッファｂ２３０に元画像データの分割が行われる。
【００７０】
図５Ｂには具体的な分割例が示される。入力バッファａ２２０は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック４，ブロック５で構成されているマクロブロックの符号列、入力バッファｂ２３０は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック６，ブロック７で構成されるマクロブロックの符号列に分割される。入力バッファａ２２０と入力バッファｂ２３０との共通点は、輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３の部分である。相違点は、色差情報ＣｂＣｒの符号列である。入力バッファｂ２３０での輝度情報Ｙはダミーとされ、後の処理で無視される。入力バッファａ２２０に保持された元画像データはハードウェア処理部２６０に入力され、離散コサイン変換処理、量子化処理される。処理された圧縮符号列は出力バッファＡ２２１に伝達される。入力バッファｂ２３０に保持された元画像データはハードウェア処理部２６０に入力され、離散コサイン変換処理、量子化処理される。処理された圧縮符号化列は出力バッファＢ２３１に伝達される。出力バッファＡ２２１、出力バッファＢ２３１内の圧縮符号化列はデータ合成部２７０にて合成され、符号化回路２０２にて符号化処理された後に、出力部２０３を介して出力される。
【００７１】
具体的には、図７Ｂに示されるのと同様に行われる。つまり、出力バッファＡ２２１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック４，ブロック５で構成されているマクロブロックの符号列である。出力バッファＢ２３１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック６，ブロック７で構成されるマクロブロックの符号列である。
【００７２】
出力バッファＡ２２１と出力バッファＢ２３１との共通点は、輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３の部分である。相違点は、色差情報ＣｂＣｒである出力バッファａのブロック４，ブロック５と出力バッファｂのブロック６，ブロック７となる。
【００７３】
出力バッファＡ２２１と出力バッファＢ２３１の共通部分である輝度情報Ｙは出力バッファＡ２２１で処理を行い出力されているため、出力バッファＡ２２１の出力結果を用いて合成を行う。
【００７４】
それに対して、出力バッファＡ２２１と出力バッファＢ２３１の相違点である色差情報ＣｂＣｒは出力バッファＡ２２１，出力バッファＢ２３１ともに出力結果を用いて合成されることで、画像フォーマット４：２：２とされる。
【００７５】
次に、画像フォーマットが４：４：４の場合について説明する。
元画像入力部２００の出力データのフォーマットの判別を行うフォーマット判定部２０１において元画像データの画像フォーマット判別が行われる。画像フォーマット４：４：４の場合、入力バッファａ２２０、入力バッファｂ２３０、入力バッファｃ２４０、入力バッファｄ２５０に、元画像データが分割されて出力される。
【００７６】
具体的には図６に示されるのと同様に行われる。入力バッファａ２２０は、輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒのブロック４，ブロック５で構成されるマクロブロック、入力バッファｂ２３０は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒのブロック６，ブロック７で構成されるマクロブロックに分割され、入力バッファｃ２４０は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒのブロック８，ブロック９で構成されるマクロブロックに分割され、入力バッファｄ２５０の出力は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒのブロック１０，ブロック１１で構成されるマクロブロックに分割される。入力バッファａ２２０、入力バッファｂ２３０、入力バッファｃ２４０、入力バッファｄ２５０の共通点は、輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３の部分である。相違点は色差情報ＣｂＣｒである。入力バッファｂ２３０、入力バッファｃ２４０、入力バッファｄ２５０での輝度情報Ｙはダミーとされ、後の処理で無視される。
【００７７】
次に、入力バッファａ２２０に保持された元画像データはハードウェア処理部２６０に入力され離散コサイン変換処理、量子化処理される。処理された圧縮した符号列は出力バッファＡ２２１に保持される。入力バッファｂ２３０に保持された元画像データは回路２６０に入力され離散コサイン変換処理、量子化処理される。回路２６０で処理された圧縮した符号化列は出力バッファＢ２３１に伝達される。
【００７８】
入力バッファｃ２４０に保持された元画像データはハードウェア処理部２６０に入力され、離散コサイン変換処理、量子化処理される。処理された圧縮符号化列は出力バッファＣ２４１に伝達される。
【００７９】
入力バッファｄ２５０に保持された元画像データは回路２６０に入力され離散コサイン変換処理、量子化処理される。回路２６０で処理された圧縮した符号化列は出力バッファＤ２５１に伝達される。
【００８０】
出力バッファＡ２２１，出力バッファＢ２３１，出力バッファＣ２４１，出力バッファＤ２５１の圧縮符号列はデータ合成部２７０で合成されてから符号化回路２０２にて符号化処理され、出力部２０３を介して出力される。
【００８１】
具体的には図８に示されるのと同様に行われる。
【００８２】
出力バッファＡ２２１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック４，ブロック５で構成されるマクロブロックの符号列、出力バッファＢ２３１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック６，ブロック７で構成されるマクロブロックの符号列、出力バッファＣ２４１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック８，ブロック９で構成されるマクロブロックの符号列、出力バッファＤ２５１は輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３と色差情報ＣｂＣｒであるブロック１０，ブロック１１で構成されるマクロブロックの符号列である。
【００８３】
出力バッファＡ２２１、出力バッファＢ２３１、出力バッファＣ２４１、出力バッファＤ２５１の共通点は、輝度情報Ｙであるブロック０，ブロック１，ブロック２，ブロック３の部分である。相違点は色差情報ＣｂＣｒの符号列である。
【００８４】
出力バッファＡ２２１、出力バッファＢ２３１、出力バッファＣ２４１、出力バッファＤ２５１の共通部分である輝度情報Ｙは出力バッファＡ２２１で処理を行い出力されているため、出力バッファＡ２２１の出力結果を用いて合成を行う。
【００８５】
それに対して、出力バッファＡ２２１、出力バッファＢ２３１、出力バッファＣ２４１、出力バッファＤ２５１の相違点である色差情報ＣｂＣｒは出力バッファＡ２２１、出力バッファＢ２３１、出力バッファＣ２４１、出力バッファＤ２５１の全ての出力結果を用いて合成が行われて画像フォーマット４：４：４とされる。
【００８６】
上記例によれば、以下の作用効果を得ることができる。
【００８７】
（１）４：２：０の第１画像フォーマット以外の第２画像フォーマットの画像データを処理する際にその画像データから輝度成分が共通とされ、且つ、色差成分が異なる上記４：２：０の画像フォーマットの複数の画像データをデータ分割部２１０において生成し、この複数の画像データについての離散コサイン変換処理や量子化処理をハードウェア処理部２６０で行った後に、データ合成部２７０で上記第２画像フォーマットに合成することができるので、複数種類の画像フォーマットに対してハードウェア処理部２６０を共通に使用することができる。このため、複数の画像フォーマットに対応可能な画像圧縮処理を可能とする装置の回路規模の縮小化を図ることができる。また、ソフトウエアで量子化処理や離散コサイン変換処理を複数の画像フォーマットにおいて行うのに比べて高速に画像処理を行う事ができる。
【００８８】
（２）ＭＰＥＧ４の処理で用いられるハードウェアに含まれる離散コサイン変換部処理部２６２や量子化処理部２６３を画像圧縮装置において利用し、図４Ｂに示されるように画像符号列（量子化されたＤＣＴ係数）に対して離散コサイン変換部処理や量子化処理を行うようにしているので、ＭＰＥＧ４の処理が行われる携帯電話用ＬＳＩのような用途では、ＭＰＥＧ４コアをＭＰＥＧ４処理とＪＰＥＧ処理とに兼用することができ、それによって携帯電話などのシステム全体のハードウェアの規模の増大を抑えることができる。また、ソフトウエアで量子化処理や離散コサイン変換処理を複数の画像フォーマットにおいて行うのに比べて高速に画像処理を行う事ができる。
【００８９】
図９には、本発明にかかる画像処理装置の構成例が示される。
【００９０】
図９に示される画像処理装置は、図１Ａに示される画像伸張装置としての機能と、図２Ａに示される画像圧縮装置としての機能とを有し、特に制限されないが、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成される。この画像処理装置は、画像伸張圧縮部９０５、ＲＡＭ９０４、及び表示部９０６を含んで成る。画像伸張圧縮部９０５は、特に制限されないが、所定のプログラムに従って演算処理を行うためのＣＰＵ９００、 上記ＣＰＵ９００で実行されるプログラムが格納されるＲＯＭ（リードオンリーメモリ）や、上記ＣＰＵ９００における演算処理の作業領域などとして利用されるＲＡＭ（ランダムアクセスメモリ）を含むＲＯＭ／ＲＡＭ９０１、 画像伸張処理や画像圧縮処理をハードウェアにより行うためのハードウェア処理部９０２、バスＢＵＳを介してＲＡＭ９０４やその他の周辺モジュールとの間のデータ転送を制御するためのＢSＣ（バスステートコントローラ）９０３を含み、公知の半導体集積回路製造技術により単結晶シリコン基板などの一つの半導体基板に形成される。画像処理に関する各種情報や画像処理結果は表示部９０６に必要に応じて表示させることができる。
【００９１】
上記の構成において伸張処理は次のように行われる。
【００９２】
ＲＡＭ９０４に圧縮された符号列があるものとする。ＣＰＵ９００はＲＯＭ／ＲＡＭ９０１に記憶されたプログラムを実行することにより、ＲＡＭ９０４に記憶された符号列を読み出し、復号処理をＣＰＵ９００で行う。復号処理の過程で、符号列の画像フォーマットを検出し、前述した画像フォーマットにより入力バッファ（図１ＡのＡからD）へのバッファ分割を行う。この場合の物理的なバッファはＲＯＭ／ＲＡＭ９０１のＲＡＭ部またはＲＡＭ９０４部である。ＣＰＵ９００はＲＯＭ／ＲＡＭ９０１に記憶されたプログラムにより、ハードウェア処理部９０２に対して逆量子化及び逆離散コサイン変換の実行命令を発行する。本発明ではこのハードウェア処理部９０２は画像フォーマット４：２：０に対しての逆量子化及び逆離散コサイン変換を実行する。
【００９３】
例えば、画像フォーマット４：２：２の場合には、前述したように図１Ａの入力バッファ（Ａ，Ｂ）１２０，１３０にそれぞれ画像フォーマット４：２：０に対応した符号列（量子化されたＤＣＴ係数）が入っている。このため、ハードウェア処理部９０２は入力バッファＡに入っている符号列に対して、逆量子化及び逆離散コサイン変換を行い、次に入力バッファＢには行っている符号列に対して同様に逆量子化及び逆離散コサイン変換を行うようにＣＰＵ９００から命令が発行される。ハードウェア処理部９０２から出力された復号画像データは出力バッファ（図１Ａのａ，ｂ）から読み出され、合成処理が行われたあと、ＲＡＭ９０４に出力されるように動作する。ＲＡＭ９０４に出力された復号画像データは読み出されて表示部９０６で画像表示される。
【００９４】
図９に示される装置において、圧縮処理は次のように行われる。
【００９５】
ＲＡＭ９０４に元画像データがあるものとする。ＣＰＵ９００はＲＯＭ／ＲＡＭ９０１に記憶されたプログラムにより、ＲＡＭ９０４に記憶されている元画像データを読み出し、符号化処理を行う。元画像データを読み出す過程で、前述したように元画像データが分離されてから、入力バッファ（図２Ａのａからd）へ出力される。この場合の物理的なバッファはＲＯＭ／ＲＡＭ９０１のＲＡＭ部またはＲＡＭ９０４部である。ＣＰＵ９００はＲＯＭ／ＲＡＭ９０１に記憶されたプログラムにより、回路９０２に対して、量子化及び離散コサイン変換の実行命令を発行する。本発明ではこの回路９０２は画像フォーマット４：２：０に対しての量子化及び離散コサイン変換を実行する。
【００９６】
例えば、画像フォーマットが４：２：２の画像データの場合には、前述したように図２Ａの入力バッファ（ａ，ｂ）にそれぞれ画像フォーマット４：２：０に対応した分割された元画像データが入っている。このため、回路９０２は入力バッファａに入っている元画像データに対して離散コサイン変換処理及び量子化処理を行い、次に入力バッファｂに入っている画像データに対して同様に離散コサイン変換処理及び量子化処理を行うようにＣＰＵ９００は命令を発行する。回路９０２から出力された画像符号列（量子化されたＤＣＴ係数）は、出力バッファ（図２ＡのＡ，Ｂ）から読み出され、符号化合成処理が行われた後、ＲＡＭ９０４に出力されるように動作する。
【００９７】
図１０Ａ、図１０Ｂには本例におけるＪＰＥＧの処理単位が示される。ＪＰＥＧ処理を行う上での処理単位はＭＣＵ（最小処理単位）ライン処理とされる。ＭＣＵラインは、図１０Ａに示されるように画像幅×１６画素を１単位とする。画像データは複数のＭＣＵラインで構成されており、ＭＣＵラインは、図１０Ｂに示されるように、それぞれ１６×１６画素の複数のマクロブロックで構成されている。
【００９８】
各画像フォーマットにおける画像データの伸張または圧縮を行うのに必要なハードウェア処理回数を以下に示す。
【００９９】
画像フォーマットが４：２：０の場合は、ハードウェアで処理できる画像フォーマットと同じであるため、画像の高さを１６で割った回数分のハードウェア処理を行う必要がある。
【０１００】
画像フォーマット４：２：２の場合はハードウェアで処理できる画像フォーマットに合わせるため、２つのバッファに分割する必要がある。よって、ハードウェア処理の回数は画像フォーマット４：２：０でハードウェア処理する値の２倍の回数が必要になる。
【０１０１】
画像フォーマット４：４：４の場合はハードウェアで処理できる画像フォーマットに合わせるため、４つのバッファに分割する必要がある。よって、ハードウェア処理の回数は画像フォーマット４：２：０でハードウェア処理する値の４倍の回数が必要にある。
【０１０２】
図１１Ａ、図１１Ｂ、図１１Ｃには、ＭＣＵ単位で伸張を行う場合のハードウェア処理とソフトウェア処理のタスクが示される。また、図１１Ｄには、上記図１１Ａ、図１１Ｂ、図１１Ｃにおける各部の処理が示される。バッファＡ，バッファＢ，バッファＣ，バッファＤは２面バッファ、バッファＡはバッファＡ１とバッファＡ２に、バッファＢはバッファＢ１とバッファＢ２に、バッファＣはバッファＣ１とバッファＣ２に、バッファＤはバッファＤ１とバッファＤ２としソフトウェアとハードウェアの処理を高速に出来るようにしている。事前処理である画像フォーマットの判別は省略する。また、ハードウェア処理後のデータ合成及び表示部分に関しても同様に省略する。ハードウェア処理はソフトウェア処理に比べ、非常に速く処理することが出来ることを前提として以下にハードウェア処理とソフトウェア処理のタスクを示す。
【０１０３】
画像フォーマット４：２：０の場合は圧縮されたデータをソフトウェアで分割処理する必要はない（図１１Ａ）。
【０１０４】
１ＭＣＵライン目の処理としては先ず、圧縮されたデータをソフトウェアで処理を行いバッファＡ１に保持する。次に、ソフトウェアでの処理終了後、バッファＡ１のデータを用いてハードウェア処理Ａ１の処理を行う。２ＭＣＵライン目の処理はハードウェアとソフトウェア処理がパラレルに動作することが出来るため、ハードウェア処理Ａ１の処理を行っている時にソフトウェアによる２ＭＣＵライン目の処理バッファＡ２を行う。１ＭＣＵライン目のハードウェア処理Ａ１が終了次第、１ＭＣＵライン目の伸張処理が終了となる。
【０１０５】
上記のソフトウェア処理とハードウェア処理を１セットＭＣＵ単位処理として画像サイズ分繰り返すことになる。
【０１０６】
それに対して、画像フォーマット４：２：２の場合は、図１１Ｂに示されるように、圧縮されたデータをソフトウェア処理にてバッファＡ，バッファＢの２つにデータ分割処理を行う必要がある。ソフトウェア処理にてデータ分割を行っていく際にはバッファＡの示しているポインタとバッファＢの示しているポインタを操作しながらバッファＡおよびバッファＢへの出力を行う。
【０１０７】
１ＭＣＵライン目の処理としては先ず、圧縮されたデータをバッファＡ１とバッファＢ１に分割しながらソフトウェアで処理を行う。次に、ソフトウェアでの処理終了後、バッファＡ１のデータを用いてハードウェア処理Ａ１の処理を行う。ハードウェアＡ１の処理終了後、バッファＢ１のデータを用いてハードウェア処理Ｂ１で処理を行う。２ＭＣＵライン目の処理はハードウェアとソフトウェア処理がパラレルに動作することが出来るため、１ＭＣＵライン目のハードウェア処理Ａ１を行っている時にソフトウェアによる２ＭＣＵライン目の処理バッファＡ２を行う。１ＭＣＵライン目のハードウェア処理Ｂ１が終了次第、１ＭＣＵライン目の伸張処理が終了となる。
【０１０８】
上記のソフトウェア処理とハードウェア処理を１セットＭＣＵ単位処理として画像サイズ分繰り返すことになる。
【０１０９】
画像フォーマット４：４：４の場合は、図１１Ｃに示されるように、圧縮されたデータをソフトウェア処理にてバッファＡ，バッファＢ，バッファＣ，バッファＤの４つにデータ分割処理を行う必要がある。ソフトウェア処理にてデータ分割を行っていく際にはバッファＡ，バッファＢ，バッファＣ，バッファＤの示しているポインタを操作しながらバッファＡ，バッファＢ，バッファＣ，バッファＤへの出力を行う。
【０１１０】
１ＭＣＵライン目の処理としては先ず、圧縮されたデータをバッファＡ１とバッファＢ１，バッファＣ１，バッファＤ１に分割しながらソフトウェアで処理を行う。次に、ソフトウェアでの処理終了後、バッファＡ１のデータを用いてハードウェア処理Ａ１の処理を行う。ハードウェアＡ１の処理終了後、バッファＢ１のデータを用いてハードウェア処理Ｂ１で処理を行う。ハードウェアＢ１の処理終了後、バッファＣ１のデータを用いてハードウェア処理Ｃ１で処理を行う。ハードウェアＣ１の処理終了後、バッファＤ１のデータを用いてハードウェア処理Ｄ１で処理を行う。２ＭＣＵライン目の処理はハードウェアとソフトウェア処理がパラレルに動作することが出来るため、１ＭＣＵライン目のハードウェア処理Ａ１を行っている時にソフトウェアによる２ＭＣＵライン目の処理バッファＡ２を行う。１ＭＣＵライン目のハードウェア処理D１が終了次第、１ＭＣＵライン目の伸張処理が終了となる。
【０１１１】
上記のソフトウェア処理とハードウェア処理を１セットＭＣＵ単位処理として画像サイズに応じた数だけ繰り返される。
【０１１２】
１２Ａ、１２Ｂ、１２Ｃには、ＭＣＵ単位で圧縮を行う場合のハードウェア処理とソフトウェア処理のタスクが示される。また、図１２Ｄには、上記１２Ａ、１２Ｂ、１２Ｃにおける各部の処理が示される。バッファＡ，バッファＢ，バッファＣ，バッファＤは２面バッファとされる。すなわち、バッファＡはバッファＡ１とバッファＡ２を含み、バッファＢはバッファＢ１とバッファＢ２とを含み、バッファＣはバッファＣ１とバッファＣ２に含み、バッファＤはバッファＤ１とバッファＤ２としソフトウェアとハードウェアの処理を高速にできるようにしている。画像圧縮を行う場合は全ての画像フォーマットにおいてソフトウェアにて画像圧縮を行うためのヘッダ処理を行う必要があり、ハードウェア処理を行っている間にパラレルに処理することが出来る。事前処理である画像フォーマットの判別及び、データ分割処理のソフトウェア処理部分は省略する。また、ハードウェア処理後の符号化部分に関しても同様に省略する。ハードウェア処理はソフトウェア処理に比べ、非常に速く処理することが出来ることを前提として以下にハードウェア処理とソフトウェア処理のタスクを示す。
【０１１３】
画像フォーマットが４：２：０の場合には、図１２Ａに示されるように、入力される元画像データはソフトウェアで分割処理されない。
【０１１４】
１ＭＣＵライン目の処理としては先ず、入力された元画像データをハードウェアで処理を行いバッファＡ１に保持する。ハードウェアとソフトウェアはパラレルに動作することが出来るため、ソフトウェア側では元画像を圧縮するためのヘッダ処理を行っている。ハードウェア処理Ａ１の出力結果のソフトウェア処理はハードウェア処理Ａ１での処理終了後かつソフトウェアでのヘッダ処理終了後の場合、ソフトウェアでバッファＡ１の出力処理を行う。
【０１１５】
１ＭＣＵライン目のソフトウェア処理バッファＡ１を行っている時にハードウェアによる２ＭＣＵライン目の処理Ａ２を行う。１ＭＣＵライン目のソフトウェア処理Ａ１が終了次第、１ＭＣＵライン目の圧縮処理が終了となる。
【０１１６】
上記のソフトウェア処理とハードウェア処理を１セットＭＣＵ単位処理として画像サイズ分繰り返すことになる。
【０１１７】
それに対して、画像フォーマット４：２：２の場合には、図１２Ｂに示されるように、入力された元画像データをソフトウェア処理にてハードウェアＡ用入力データと、ハードウェアＢ用入力データとの２つにデータ分割処理されている必要がある。
【０１１８】
１ＭＣＵライン目の処理としては先ず、入力された元画像データをハードウェア処理Ａ１で処理を行う。ハードウェアとソフトウェアはパラレルに動作することが出来るため、ソフトウェア側では元画像データを圧縮するためのヘッダ処理を行っている。
【０１１９】
ハードウェア処理Ａ１での処理終了後、ハードウェア処理Ｂ１での処理を行う。ハードウェア処理Ａ１の出力結果のソフトウェア処理はハードウェア処理Ａ１での処理終了後かつソフトウェアでのヘッダ処理終了後の場合、ソフトウェアでバッファＡ１の出力処理を行う。
【０１２０】
ハードウェア処理Ｂ１の出力結果のソフトウェア処理はハードウェア処理Ｂ１での処理終了後かつソフトウェアでのバッファＡ１処理終了後の場合、ソフトウェアでバッファＢ１の出力処理を行う。
【０１２１】
１ＭＣＵライン目のハードウェア処理Ｂでの処理終了後、２ＭＣＵライン目のハードウェア処理Ａ２を行う。１ＭＣＵライン目のソフトウェアでのバッファＢ１の処理が終了次第、１ＭＣＵライン目の圧縮処理が終了となる。
【０１２２】
上記のソフトウェア処理とハードウェア処理を１セットＭＣＵ単位処理として画像サイズ分繰り返すことになる。
【０１２３】
画像フォーマット４：４：４の場合には、図１２Ｃに示されるように、入力された元画像データをソフトウェア処理にてハードウェアＡ用入力データ、ハードウェアＢ用入力データ、ハードウェアＣ用入力データ、ハードウェアD用入力データの４つにデータ分割処理されている。
【０１２４】
１ＭＣＵライン目の処理としては先ず、入力された元画像データをハードウェア処理Ａ１で処理を行う。ハードウェアとソフトウェアはパラレルに動作することが出来るため、ソフトウェア側では元画像データを圧縮するためのヘッダ処理を行っている。
【０１２５】
ハードウェア処理Ａ１での処理終了後、ハードウェア処理Ｂ１での処理を行う。ハードウェア処理Ａ１の出力結果のソフトウェア処理はハードウェア処理Ａ１での処理終了後かつソフトウェアでのヘッダ処理終了後の場合、ソフトウェアでバッファＡ１の出力処理を行う。
【０１２６】
ハードウェア処理Ｂ１での処理終了後、ハードウェア処理Ｃ１での処理を行う。ハードウェア処理Ｂ１の出力結果のソフトウェア処理はハードウェア処理Ｂ１での処理終了後かつソフトウェアでのバッファＡ１処理終了後の場合、ソフトウェアでバッファＢ１の出力処理を行う。
【０１２７】
ハードウェア処理Ｃ１での処理終了後、ハードウェア処理D１での処理を行う。ハードウェア処理Ｃ１の出力結果のソフトウェア処理はハードウェア処理Ｃ１での処理終了後かつソフトウェアでのバッファＢ１処理終了後の場合、ソフトウェアでバッファＣ１の出力処理を行う。
【０１２８】
ハードウェア処理D１の出力結果のソフトウェア処理はハードウェア処理D１での処理終了後かつソフトウェアでのバッファＣ１処理終了後の場合、ソフトウェアでバッファＤ１の出力処理を行う。
【０１２９】
１ＭＣＵライン目のハードウェア処理D１での処理終了後、２ＭＣＵライン目のハードウェア処理Ａ２を行う。１ＭＣＵライン目のソフトウェアでのバッファＤ１の処理が終了次第、１ＭＣＵライン目の圧縮処理が終了となる。
【０１３０】
上記のソフトウェア処理とハードウェア処理を１セットＭＣＵ単位処理として画像サイズに応じた数だけ繰り返される。
【０１３１】
以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、本発明においては、復号部１０１、符号化部２０２の処理をソフトウエアにて行っているが、専用のハードウエアを用いて行っても良い。本発明においては図１１Ａ、図１１Ｂ、図１１Ｃ、図１２Ａ、図１２Ｂ、図１２Ｃで示されるそれぞれのバッファ部のソフトウエア処理時間において大きな部分を占めるために、ハードウエアを用いる事により更なる画像の圧縮及び伸張処理の高速化を図ることができる。
【０１３２】
以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるＭＰＥＧ４コアを用いた半導体集積回路に適用した場合について説明したが、本発明はそれに限定されるものではなく、画像処理装置に広く適用することができる。
【０１３３】
本発明は、少なくとも画像伸張処理又は画像圧縮処理を行うことを条件に適用することができる。
【図面の簡単な説明】
【０１３４】
【図１Ａ】本発明にかかる画像伸張装置の構成例ブロック図である。
【図１Ｂ】上記画像伸張装置における主要部の構成例ブロック図である。
【図２Ａ】本発明にかかる画像圧縮装置の構成例ブロック図である。
【図２Ｂ】上記画像圧縮装置における主要部の構成例ブロック図である。
【図３Ａ】画像フォーマットの説明図である。
【図３Ｂ】画像データと画像フォーマットとの関係説明図である。
【図３Ｃ】画像データとブロックとの関係説明図である。
【図４Ａ】画像伸張におけるハードウェア処理フローの説明図である。
【図４Ｂ】画像圧縮におけるハードウェア処理フローの説明図である。
【図５Ａ】画像フォーマット４：２：０の場合のデータ分割処理の説明図である。
【図５Ｂ】画像フォーマット４：２：２の場合のデータ分割処理の説明図である。
【図６】画像フォーマット４：４：４の場合のデータ分割処理の説明図である。
【図７Ａ】画像フォーマット４：２：０の場合のデータ合成処理の説明図である。
【図７Ｂ】画像フォーマット４：２：２の場合のデータ合成処理の説明図である。
【図８】画像フォーマット４：４：４の場合のデータ合成処理の説明図である。
【図９】本発明にかかる画像処理装置の構成例ブロック図である。
【図１０Ａ】ＪＰＥＧにおける処理単位の説明図である。
【図１０Ｂ】ＪＰＥＧにおける処理単位の説明図である。
【図１１Ａ】画像伸張処理におけるソフトウェア処理とハードウェア処理との説明図である。
【図１１Ｂ】画像伸張処理におけるソフトウェア処理とハードウェア処理との説明図である。
【図１１Ｃ】画像伸張処理におけるソフトウェア処理とハードウェア処理との説明図である。
【図１１Ｄ】図１１Ａ〜図１１Ｃにおける各部の処理の説明図である。
【図１２Ａ】画像圧縮処理におけるソフトウェア処理とハードウェア処理との説明図である。
【図１２Ｂ】画像圧縮処理におけるソフトウェア処理とハードウェア処理との説明図である。
【図１２Ｃ】画像圧縮処理におけるソフトウェア処理とハードウェア処理との説明図である。
【図１２Ｄ】図１２Ａ〜図１２Ｃにおける各部の処理の説明図である。
【符号の説明】
【０１３５】
１００  入力部
１０１  復号部
１０２  フォーマット判定部
１１０  データ分割部
１２０，１３０，１４０，１５０  入力バッファ
１６０  ハードウェア処理部
１２１，１３１，１４１，１５１  出力バッファ
１７０  データ合成部
１０３  出力部
１３  入力部
１６１  可変長復号化処理部
１６２  逆量子化部
１６３  逆離散コサイン変換部
１６４  動きベクトル復号化処理部
１６５  動き補償処理部
１６６  加算処理部
１２  メモリ部
１１  出力部
２００  元画像入力部
２０１  フォーマット判定部
２１０  データ分割部
２２０，２３０，２４０，２５０  入力バッファ
２２１，２３１，２４１，２５１  出力バッファ
２６０  ハードウェア処理部
２７０  データ合成部
２０２  符号化部
２０３  出力部
１４  入力部
２６１  差分処理部
２６２  離散コサイン変換部処理部
２６３  量子化処理部
２６４  係数予測処理部
２６５  逆量子化処理部
２６６  逆離散コサイン変換処理部
２６７  加算処理部
２６８  動き補償処理部
２６９  動き検出処理部
６７０  動きベクトル予測処理部
２７１  可変長符号化処理部
１５  メモリ部
１６  出力部
９００  ＣＰＵ
９０１  ＲＯＭ／ＲＡＭ
９０２  ハードウェア処理部
９０３  ＢＳＣ
９０５  画像伸張圧縮部
９０６  表示部
【図１Ａ】
2005354468.tif 000003
【図１Ｂ】
2005354468.tif 000004
【図２Ａ】
2005354468.tif 000005
【図２Ｂ】
2005354468.tif 000006
【図３Ａ】
2005354468.tif 000007
【図３Ｂ】
2005354468.tif 000008
【図３Ｃ】
2005354468.tif 000009
【図４Ａ】
2005354468.tif 000010
【図４Ｂ】
2005354468.tif 000011
【図５Ａ】
2005354468.tif 000012
【図５Ｂ】
2005354468.tif 000013
【図６】
2005354468.tif 000014
【図７Ａ】
2005354468.tif 000015
【図７Ｂ】
2005354468.tif 000016
【図８】
2005354468.tif 000017
【図９】
2005354468.tif 000018
【図１０Ａ】
2005354468.tif 000019
【図１０Ｂ】
2005354468.tif 000020
【図１１Ａ】
2005354468.tif 000021
【図１１Ｂ】
2005354468.tif 000022
【図１１Ｃ】
2005354468.tif 000023
【図１１Ｄ】
2005354468.tif 000024
【図１２Ａ】
2005354468.tif 000025
【図１２Ｂ】
2005354468.tif 000026
【図１２Ｃ】
2005354468.tif 000027
【図１２Ｄ】
2005354468.tif 000028