(57)【要約】【課題】画像の圧縮率を低下させずに、並列に画像を伸張することができるようにする。【解決手段】偶数箇所の対象画素Ｘに対して、参照画素群（画素Ａ、Ｂ、Ｃ）の画素値を用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と、復号された誤差Ｅｒｒ１とに基づいて、対象画素Ｘの画素値を算出する。Ｘ＝Ｅｒｒ１＋（Ａ＋Ｂ−Ｃ）  奇数箇所の対象画素Ｙに対して、対象画素群のうちの隣接する画素Ｘについて復号された誤差Ｅｒｒ１と、対象画素群の周辺の参照画素群（画素Ａ、Ｃ、Ｄ）の画素値を用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と対象画素Ｙの誤差Ｅｒｒ２とに基づいて、対象画素Ｙの画素値を算出する。Ｙ＝Ｅｒｒ２＋（Ｄ−Ｃ＋Ａ＋Ｅｒｒ１）【選択図】図２
2010130635.tif 000002
【特許請求の範囲】
【請求項１】
入力された、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して予測符号化を行って得られた誤差値を表わす符号を各々含む前記所定個の列の符号列、又は前記誤差値の各々を表わす等長の符号を含む符号列に基づいて、前記対象画素群の各対象画素について並列に前記誤差値を復号する並列復号手段と、
前記並列復号手段によって並列に復号された前記対象画素群の各対象画素の誤差値と、前記対象画素群の周辺に存在し、かつ、先に伸張された参照画素群の各参照画素の画素値とを用いて、前記対象画素群の各対象画素について並列に画素値を逆予測すると共に、前記対象画素群の各対象画素の画素値に並列に伸張する逆予測手段と、
を含む画像伸張装置。
【請求項２】
前記逆予測手段は、前記対象画素群の先頭画素について、前記先頭画素の誤差値と、前記先頭画素に隣接する前記参照画素を含む前記先頭画素の周辺の前記参照画素の画素値とを用いて、前記先頭画素について画素値を逆予測すると共に、前記先頭画素の画素値に伸張し、
前記対象画素群の前記先頭画素以外の各対象画素について、該対象画素の誤差値と、少なくとも該対象画素に隣接する前記対象画素の誤差値と、該対象画素の周辺の前記参照画素の画素値とを用いて、該対象画素について画素値を逆予測すると共に、該対象画素の画素値に伸張する請求項１記載の画像伸張装置。
【請求項３】
前記入力された前記所定個の列の符号列の各々は、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して並列に予測符号化を行って得られた誤差値を表わす符号を各々含む請求項１又は２記載の画像伸張装置。
【請求項４】
入力された、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して、予測符号化を行って得られた誤差値を表わす符号又は連長圧縮符号化を行って得られた連続数及び画素値を表わす符号を各々含む前記所定個の列の符号列、又は前記誤差値又は前記連続数及び画素値の各々を表わす等長の符号を含む符号列に基づいて、前記対象画素群の各対象画素について並列に前記誤差値又は前記連続数及び画素値を復号する並列復号手段と、
前記並列復号手段によって並列に復号された前記対象画素群の各対象画素の誤差値又は前記連続数及び画素値に基づいて、前記対象画素群の各対象画素について、該対象画素の誤差値が復号された場合、該対象画素の誤差値と、前記対象画素群の周辺に存在し、かつ、先に伸張された参照画素群の各参照画素の画素値とを用いて、該対象画素の画素値を逆予測すると共に、該対象画素の画素値に伸張する逆予測処理、及び、該対象画素の連続数及び画素値が復号された場合、該画素値を連続数分展開して、該対象画素の画素値に伸張する展開処理の何れか一方の処理を並列に行う逆予測展開手段と、
を含む画像伸張装置。
【請求項５】
前記逆予測展開手段は、前記対象画素群の先頭画素について、前記先頭画素に対して誤差値が復号された場合に、前記先頭画素の誤差値と、前記先頭画素に隣接する前記参照画素を含む前記参照画素の画素値とを用いて、前記先頭画素について画素値を逆予測すると共に、前記先頭画素の画素値に伸張する逆予測処理、及び、前記先頭画素に対して前記連続数及び画素値が復号された場合に、該画素値を連続数分展開して、前記先頭画素以降の画素の画素値に伸張する展開処理の何れか一方を行い、
前記対象画素群の前記先頭画素以外の各対象画素について、該対象画素に対して誤差値が復号された場合に、該対象画素の誤差値と、少なくとも該対象画素に隣接する前記対象画素の誤差値又は該対象画素に隣接する前記対象画素に対して復号された画素値と、該対象画素の周辺の前記参照画素の画素値とを用いて、該対象画素について画素値を逆予測すると共に、該対象画素の画素値に伸張する逆予測処理、及び、該対象画素に対して前記連続数及び画素値が復号された場合に、該画素値を連続数分展開して、該対象画素以降の画素の画素値に伸張する展開処理の何れか一方を行う請求項４記載の画像伸張装置。
【請求項６】
前記入力された前記所定個の列の符号列は、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して、予測符号化又は連長圧縮符号化を並列に行って得られた誤差値又は連続数及び画素値を表わす符号を各々含む請求項４又は５記載の画像伸張装置。
【請求項７】
入力された、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して、各対象画素の周辺の画素群の画素値に対応する符号表を用いた予測符号化を行って得られた誤差値を表わす符号を各々含む前記所定個の列の符号列、又は前記誤差値の各々を表わす等長の符号を含む符号列に基づいて、前記対象画素群の先頭画素について、前記先頭画素の周辺に存在し、かつ、先に伸張された画素群の画素値に対応する符号表を用いて前記先頭画素の誤差値に復号する処理、及び前記対象画素群の先頭画素以外の各対象画素について、全ての符号表の各々を用いて該対象画素の誤差値の候補を各々復号する処理を並列に行う並列復号手段と、
前記並列復号手段によって復号された前記対象画素群の先頭画素の誤差値と、前記先頭画素の周辺に存在し、かつ、先に伸張された参照画素群の各参照画素の画素値とを用いて、前記先頭画素について画素値を逆予測すると共に、前記先頭画素の画素値に伸張する処理、及び、前記並列復号手段によって各符号表を用いて復号された前記対象画素群の前記先頭画素以外の各対象画素の誤差値の候補と、各参照画素の画素値とを用いて、各符号表を用いた場合に対して、前記対象画素群の各対象画素について画素値を逆予測すると共に、前記対象画素群の各対象画素の画素値の候補に伸張し、前記伸張された画素値の候補のうち、該対象画素の周辺の画素値に対応する符号表を用いた場合に対して伸張された画素値を選択する処理を、並列に行う逆予測手段と、
を含む画像伸張装置。
【請求項８】
前記逆予測手段は、各符号表を用いた場合に対して、前記対象画素群の各対象画素について画素値を逆予測すると共に、前記対象画素群の各対象画素の画素値の候補に伸張し、前記伸張された画素値の候補のうち、該対象画素の周辺の画素値と該対象画素に隣接する前記対象画素の誤差値とに対応する符号表を用いた場合に対して伸張された画素値を選択する処理を行う請求項７記載の画像伸張装置。
【請求項９】
前記入力された前記所定個の列の符号列の各々は、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して並列に、前記対象画素の周辺の画素群の画素値に対応する符号表を用いた予測符号化を行って得られた誤差値を表わす符号を各々含む請求項７又は８記載の画像伸張装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像伸張装置に関する。
【背景技術】
【０００２】
従来より、画像を複数に分割して、並列に圧縮、伸張する方法が知られている。また、画像データを構成する水平方向に連続する画素を、配置順序に応じて奇数位置の画素群、及び、偶数位置の画素群に分割し、分割された各画素群を、略同等の圧縮率を有する異なる経路で並列的に符号化する符号化装置が知られている（特許文献１）。
【特許文献１】特開２０００−１３６０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
画像の圧縮率を低下させずに、並列に画像を伸張することができる画像伸張装置を提供することを目的とする。
【課題を解決するための手段】
【０００４】
上記の目的を達成するために、請求項１記載の発明に係る画像伸張装置は、入力された、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して予測符号化を行って得られた誤差値を表わす符号を各々含む前記所定個の列の符号列、又は前記誤差値の各々を表わす等長の符号を含む符号列に基づいて、前記対象画素群の各対象画素について並列に前記誤差値を復号する並列復号手段と、前記並列復号手段によって並列に復号された前記対象画素群の各対象画素の誤差値と、前記対象画素群の周辺に存在し、かつ、先に伸張された参照画素群の各参照画素の画素値とを用いて、前記対象画素群の各対象画素について並列に画素値を逆予測すると共に、前記対象画素群の各対象画素の画素値に並列に伸張する逆予測手段とを含んで構成されている。
【０００５】
請求項２記載の発明では、上記請求項１に係る画像伸張装置において、前記逆予測手段は、前記対象画素群の先頭画素について、前記先頭画素の誤差値と、前記先頭画素に隣接する前記参照画素を含む前記先頭画素の周辺の前記参照画素の画素値とを用いて、前記先頭画素について画素値を逆予測すると共に、前記先頭画素の画素値に伸張し、前記対象画素群の前記先頭画素以外の各対象画素について、該対象画素の誤差値と、少なくとも該対象画素に隣接する前記対象画素の誤差値と、該対象画素の周辺の前記参照画素の画素値とを用いて、該対象画素について画素値を逆予測すると共に、該対象画素の画素値に伸張する。
【０００６】
請求項３記載の発明では、上記請求項１又は２に係る画像伸張装置において、前記入力された前記所定個の列の符号列の各々は、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して並列に予測符号化を行って得られた誤差値を表わす符号を各々含む。
【０００７】
請求項４記載の発明に係る画像伸張装置は、入力された、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して、予測符号化を行って得られた誤差値を表わす符号又は連長圧縮符号化を行って得られた連続数及び画素値を表わす符号を各々含む前記所定個の列の符号列、又は前記誤差値又は前記連続数及び画素値の各々を表わす等長の符号を含む符号列に基づいて、前記対象画素群の各対象画素について並列に前記誤差値又は前記連続数及び画素値を復号する並列復号手段と、前記並列復号手段によって並列に復号された前記対象画素群の各対象画素の誤差値又は前記連続数及び画素値に基づいて、前記対象画素群の各対象画素について、該対象画素の誤差値が復号された場合、該対象画素の誤差値と、前記対象画素群の周辺に存在し、かつ、先に伸張された参照画素群の各参照画素の画素値とを用いて、該対象画素の画素値を逆予測すると共に、該対象画素の画素値に伸張する逆予測処理、及び、該対象画素の連続数及び画素値が復号された場合、該画素値を連続数分展開して、該対象画素の画素値に伸張する展開処理の何れか一方の処理を並列に行う逆予測展開手段とを含んで構成されている。
【０００８】
請求項５記載の発明では、上記請求項４に係る画像伸張装置において、前記逆予測展開手段は、前記対象画素群の先頭画素について、前記先頭画素に対して誤差値が復号された場合に、前記先頭画素の誤差値と、前記先頭画素に隣接する前記参照画素を含む前記参照画素の画素値とを用いて、前記先頭画素について画素値を逆予測すると共に、前記先頭画素の画素値に伸張する逆予測処理、及び、前記先頭画素に対して前記連続数及び画素値が復号された場合に、該画素値を連続数分展開して、前記先頭画素以降の画素の画素値に伸張する展開処理の何れか一方を行い、前記対象画素群の前記先頭画素以外の各対象画素について、該対象画素に対して誤差値が復号された場合に、該対象画素の誤差値と、少なくとも該対象画素に隣接する前記対象画素の誤差値又は該対象画素に隣接する前記対象画素に対して復号された画素値と、該対象画素の周辺の前記参照画素の画素値とを用いて、該対象画素について画素値を逆予測すると共に、該対象画素の画素値に伸張する逆予測処理、及び、該対象画素に対して前記連続数及び画素値が復号された場合に、該画素値を連続数分展開して、該対象画素以降の画素の画素値に伸張する展開処理の何れか一方を行う。
【０００９】
請求項６記載の発明では、上記請求項４又は５に係る画像伸張装置において、前記入力された前記所定個の列の符号列は、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して、予測符号化又は連長圧縮符号化を並列に行って得られた誤差値又は連続数及び画素値を表わす符号を各々含む。
【００１０】
請求項７記載の発明に係る画像伸張装置は、入力された、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して、各対象画素の周辺の画素群の画素値に対応する符号表を用いた予測符号化を行って得られた誤差値を表わす符号を各々含む前記所定個の列の符号列、又は前記誤差値の各々を表わす等長の符号を含む符号列に基づいて、前記対象画素群の先頭画素について、前記先頭画素の周辺に存在し、かつ、先に伸張された画素群の画素値に対応する符号表を用いて前記先頭画素の誤差値に復号する処理、及び前記対象画素群の先頭画素以外の各対象画素について、全ての符号表の各々を用いて該対象画素の誤差値の候補を各々復号する処理を並列に行う並列復号手段と、前記並列復号手段によって復号された前記対象画素群の先頭画素の誤差値と、前記先頭画素の周辺に存在し、かつ、先に伸張された参照画素群の各参照画素の画素値とを用いて、前記先頭画素について画素値を逆予測すると共に、前記先頭画素の画素値に伸張する処理、及び、前記並列復号手段によって各符号表を用いて復号された前記対象画素群の前記先頭画素以外の各対象画素の誤差値の候補と、各参照画素の画素値とを用いて、各符号表を用いた場合に対して、前記対象画素群の各対象画素について画素値を逆予測すると共に、前記対象画素群の各対象画素の画素値の候補に伸張し、前記伸張された画素値の候補のうち、該対象画素の周辺の画素値に対応する符号表を用いた場合に対して伸張された画素値を選択する処理を、並列に行う逆予測手段とを含んで構成されている。
【００１１】
請求項８記載の発明では、上記請求項７に係る画像伸張装置において、前記逆予測手段は、各符号表を用いた場合に対して、前記対象画素群の各対象画素について画素値を逆予測すると共に、前記対象画素群の各対象画素の画素値の候補に伸張し、前記伸張された画素値の候補のうち、該対象画素の周辺の画素値と該対象画素に隣接する前記対象画素の誤差値とに対応する符号表を用いた場合に対して伸張された画素値を選択する処理を行う。
【００１２】
請求項９記載の発明では、上記請求項７又は８に係る画像伸張装置において、前記入力された前記所定個の列の符号列の各々は、連続する所定個の画素からなる対象画素群の各対象画素の画素値に対して並列に、前記対象画素の周辺の画素群の画素値に対応する符号表を用いた予測符号化を行って得られた誤差値を表わす符号を各々含む。
【発明の効果】
【００１３】
以上説明したように、請求項１記載の画像伸張装置によれば、画像を並列に伸張しない場合と比較して、圧縮率を低下させずに、並列に画像を伸張することができる、という効果が得られる。
【００１４】
請求項２記載の画像伸張装置によれば、画像を並列に伸張しない場合と比較して、圧縮率を低下させずに、並列に画像を伸張することができる、という効果が得られる。
【００１５】
請求項３記載の画像伸張装置によれば、並列に画像を符号化することができる、という効果が得られる。
【００１６】
請求項４記載の画像伸張装置によれば、画像を並列に伸張しない場合と比較して、圧縮率を低下させずに、並列に画像を伸張することができる、という効果が得られる。
【００１７】
請求項５記載の画像伸張装置によれば、画像を並列に伸張しない場合と比較して、圧縮率を低下させずに、並列に画像を伸張することができる、という効果が得られる。
【００１８】
請求項６記載の画像伸張装置によれば、並列に画像を符号化することができる、という効果が得られる。
【００１９】
請求項７記載の画像伸張装置によれば、画像を並列に伸張しない場合と比較して、圧縮率を低下させずに、並列に画像を伸張することができる、という効果が得られる。
【００２０】
請求項８記載の画像伸張装置によれば、隣接する画素の画素値が伸張されなくても、対象画像の画素値を伸張することができる、という効果が得られる。
【００２１】
請求項９記載の画像伸張装置によれば、並列に画像を符号化することができる、という効果が得られる。
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態について図面を参照して説明する。なお、本発明の実施の形態では、画像圧縮伸張システムに本発明を適用した場合を例に説明する。
【００２３】
図１に示すように、第１の実施の形態に係る画像圧縮伸張システム１０は、画像データを圧縮する画像圧縮装置１２と、圧縮された画像データを伸張する画像伸張装置１４とを備えている。
【００２４】
画像圧縮装置１２は、圧縮対象となる画像データが入力される画像入力部１６と、画像入力部１６から入力された画像データを圧縮して、偶数箇所の画素で出現する符号からなる符号ストリームを出力する圧縮部１８Ａと、画像入力部１６から入力された画像データを圧縮して、奇数箇所の画素で出現する符号からなる符号ストリームを出力する圧縮部１８Ｂとを備えている。
【００２５】
以下では、圧縮部１８Ａによって、２つの隣接する画素Ｘ，Ｙからなる対象画素群のうち、偶数箇所となる方の先頭画素Ｘの画素値を符号化し、圧縮部１８Ｂによって、奇数箇所となる方の画素Ｙ（先頭画素Ｘの次の画素）の画素値を符号化する場合を例に説明する。
【００２６】
圧縮部１８Ａは、偶数箇所の画素Ｘを対象画素として、対象画素Ｘの画素値を予測すると共に、予測された画素値と実際の画素値との誤差Ａを算出する予測部２０Ａと、予測部２０Ａで算出された誤差Ａに対して、可変長符号化（例えば、ハフマン符号化）を行って、誤差シンボル毎に、異なるビット数の符号に変換する符号化部２２Ａとを備えている。
【００２７】
また、圧縮部１８Ｂは、奇数箇所の画素Ｙを対象画素として、対象画素Ｙの画素値を予測すると共に、予測された画素値と実際の画素値との誤差Ｂを算出する予測部２０Ｂと、予測部２０Ｂで算出された誤差Ｂに対して、ハフマン符号化を行って、誤差シンボル毎に、異なるビット数の符号に変換する符号化部２２Ｂとを備えている。
【００２８】
予測部２０Ａは、図２に示すように、偶数箇所の対象画素Ｘに対して、周辺の画素群（画素Ａ、Ｂ、Ｃ）の画素値を用いて、以下の式に従って、画素値を予測すると共に、予測された画素値との誤差Ｅｒｒ１を算出する。
Ｅｒｒ１＝Ｘ−（Ａ＋Ｂ−Ｃ）
また、予測部２０Ｂは、図２に示すように、奇数箇所の対象画素Ｙに対して、周辺の画素群（画素Ｘ、Ｂ、Ｄ）の画素値を用いて、以下の式に従って、画素値を予測すると共に、予測された画素値との誤差Ｅｒｒ２を算出する。
Ｅｒｒ２＝Ｙ−（Ｘ＋Ｄ−Ｂ）
画像圧縮装置１２では、圧縮部１８Ａ、１８Ｂによって、対象画素群Ｘ、Ｙに対して、並列に画像データの符号化が行われ、各々によって生成される符号によって、図３に示すように、画素の偶数箇所及び奇数箇所に対応して分割された符号ストリームが各々生成される。
【００２９】
画像伸張装置１４は、画像圧縮装置１２から出力された偶数箇所の画素に対する符号ストリームから、偶数箇所の対象画素の画素値に伸張する伸張部２４Ａと、画像圧縮装置１２から出力された奇数箇所の画素に対する符号ストリームから、奇数箇所の対象画素の画素値に伸張する伸張部２４Ｂと、伸張された偶数箇所の画素の画素値と奇数箇所の画素の画素値とを並べるように結合して、画像データを生成するマージ部２６と、マージ部２６によって生成された画像データを出力する画像出力部２８とを備えている。
【００３０】
以下では、伸張部２４Ａによって、２つの隣接する画素Ｘ，Ｙからなる対象画素群のうち、偶数箇所となる方の先頭画素Ｘの画素値を伸張し、伸張部２４Ｂによって、奇数箇所となる方の画素Ｙ（先頭画素Ｘの次の画素）の画素値を伸張する場合を例に説明する。
【００３１】
伸張部２４Ａは、画像圧縮装置１２から出力された偶数箇所の画素に対する符号ストリームから、偶数箇所の対象画素Ｘの誤差Ａを復号する復号部３０Ａと、既に伸張された対象画素群の周辺の参照画素群の画素値から対象画素Ｘの画素値を逆予測すると共に、復号された対象画素Ｘの誤差Ａと逆予測された対象画素Ｘの画素値とから、対象画素Ｘの画素値に伸張する逆予測部３２Ａとを備えている。
【００３２】
伸張部２４Ｂは、画像圧縮装置１２から出力された奇数箇所の画素に対する符号ストリームから、奇数箇所の対象画素Ｙの誤差Ｂを復号する復号部３０Ｂと、対象画素群のうちの対象画素に隣接する画素の復号された誤差Ａ、及び既に伸張された対象画素群の周辺の参照画素群の画素値から対象画素Ｙの画素値を逆予測すると共に、復号された対象画素Ｙの誤差Ｂと逆予測された対象画素Ｙの画素値とから、対象画素Ｙの画素値に伸張する逆予測部３２Ｂとを備えている。
【００３３】
なお、復号部３０Ａ、３０Ｂが、本発明の並列復号手段に対応し、逆予測部３２Ａ、３２Ｂが、本発明の逆予測手段に対応している。
【００３４】
逆予測部３２Ａは、図２に示すように、偶数箇所の対象画素（先頭画素）Ｘに対して、対象画素群Ｘ，Ｙの周辺の、先頭画素Ｘの隣接する参照画素を含む参照画素群（画素Ａ、Ｂ、Ｃ）の画素値を用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と、復号された誤差Ｅｒｒ１とに基づいて、対象画素Ｘの画素値を算出する。
Ｘ＝Ｅｒｒ１＋（Ａ＋Ｂ−Ｃ）
また、逆予測部３２Ｂは、図２に示すように、奇数箇所の対象画素Ｙに対して、対象画素群のうちの隣接する画素Ｘについて復号された誤差Ｅｒｒ１と、対象画素群の周辺の参照画素群であって、対象画素Ｙの周辺の画素（画素Ａ、Ｃ、Ｄ）の画素値を用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と対象画素Ｙの誤差Ｅｒｒ２とに基づいて、対象画素Ｙの画素値を算出する。
Ｙ＝Ｅｒｒ２＋（Ｄ−Ｃ＋Ａ＋Ｅｒｒ１）
なお、上記の式は、一般的な逆予測の式（Ｙ＝Ｅｒｒ２＋Ｘ＋Ｄ−Ｂ）と上記の誤差Ａ（Ｅｒｒ１）を算出するための式とから、Ｘを消去するように導出された式である。
【００３５】
画像伸張装置１４では、伸張部２４Ａ、２４Ｂによって、対象画素群Ｘ、Ｙに対して、並列に誤差値の復号が行われると共に、並列に画素値の逆予測及び伸張が行われて、対象画素群Ｘ、Ｙの画素値が出力される。
【００３６】
ここで、予測及び逆予測について、一般的な式を説明する。
【００３７】
まず、画素値の予測では、図４に示すように、対象画素群の先頭画素Ｘ１に対して、周辺の画素群（画素Ｒ１、Ｒ２、・・・、Ｒｍ）の画素値を用いて、以下の式に従って、画素値を予測すると共に、予測された画素値との誤差Ｅｒｒ１を算出する。
Ｅｒｒ１＝Ｘ１−Ｆ１（Ｒ１、・・・、Ｒｍ）
【００３８】
なお、Ｆ１（  ）は、先頭画素Ｘ１の画素値を予測するための関数である。
【００３９】
また、対象画素群の先頭画素Ｘ１に隣接する次の対象画素Ｘ２に対して、周辺の画素群（画素Ｒ１、・・・、Ｒｍ、Ｘ１）の画素値を用いて、以下の式に従って、画素値を予測すると共に、予測された画素値との誤差Ｅｒｒ２を算出する。
Ｅｒｒ２＝Ｘ２−Ｆ２（Ｒ１、・・・、Ｒｍ、Ｘ１）
【００４０】
なお、Ｆ２（  ）は、対象画素Ｘ２の画素値を予測するための関数である。
【００４１】
また、対象画素群のｎ番目の対象画素Ｘｎに対して、周辺の画素群（画素Ｒ１、・・・、Ｒｍ、Ｘ１、・・・、Ｘｎ−１）の画素値を用いて、以下の式に従って、画素値を予測すると共に、予測された画素値との誤差Ｅｒｒｎを算出する。
Ｅｒｒｎ＝Ｘｎ−Ｆｎ（Ｒ１、・・・、Ｒｍ、Ｘ１、・・・、Ｘｎ−１）
【００４２】
なお、Ｆｎ（  ）は、対象画素Ｘｎの画素値を予測するための関数である。
【００４３】
画素値の逆予測では、図４に示すように、対象画素群の先頭画素Ｘ１に対して、対象画素群Ｘ１、・・・、Ｘｎの周辺の参照画素群（画素Ｒ１、・・・、Ｒｍ）の画素値を用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と、復号された誤差Ｅｒｒ１とに基づいて、対象画素Ｘ１の画素値を算出する。
Ｘ１＝Ｅｒｒ１＋Ｆ１’（Ｒ１、・・・、Ｒｍ）
なお、Ｆ１’（  ）は、先頭画素Ｘ１の画素値を逆予測するための関数である。
【００４４】
また、対象画素群の先頭画素Ｘ１に隣接する次の対象画素Ｘ２に対して、対象画素群Ｘ１、・・・、Ｘｎの周辺の参照画素群（画素Ｒ１、・・・、Ｒｍ）の画素値と、復号された先頭画素Ｘ１の誤差Ｅｒｒ１とを用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と、復号された誤差Ｅｒｒ２とに基づいて、対象画素Ｘ２の画素値を算出する。
Ｘ２＝Ｅｒｒ２＋Ｆ２’（Ｒ１、・・・、Ｒｍ、Ｅｒｒ１）
【００４５】
なお、Ｆ２’（  ）は、対象画素Ｘ２の画素値を逆予測するための関数である。
【００４６】
また、対象画素群のｎ番目の対象画素Ｘｎに対して、対象画素群Ｘ１、・・・、Ｘｎの周辺の参照画素群（画素Ｒ１、・・・、Ｒｍ）の画素値と、復号された対象画素群Ｘ１、・・・、Ｘｎ−１の誤差Ｅｒｒ１、・・・、Ｅｒｒｎ−１を用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と、復号された誤差Ｅｒｒｎとに基づいて、対象画素Ｘｎの画素値を算出する。
Ｘｎ＝Ｅｒｒｎ＋Ｆｎ’（Ｒ１、・・・、Ｒｍ、Ｅｒｒ１、・・・、Ｅｒｒｎ−１）
【００４７】
なお、Ｆｎ’（  ）は、対象画素Ｘｎの画素値を逆予測するための関数である。
【００４８】
上記図４で、Ｒ１、・・・、Ｒｍは参照画素群を表しており、対象画素群の先頭画素Ｘ１より前に出現したすべての画素の集合である。対象画素について、直前までの画素の誤差集合と参照画素集合とを用いて画素値が伸張される。すなわち、上記の逆予測のための式では、前に出現した画素Ｘの画素値を用いずに、計算が行なわれる。なお、予測のための式及び逆予測のための式は和減算であることが一般的なので、関数Ｆ、Ｆ’も簡単な計算式となる。
【００４９】
画像入力部１６、圧縮部１８Ａ、圧縮部１８Ｂ、伸張部２４Ａ、伸張部２４Ｂ、マージ部２６、及び画像出力部２８は、各部の機能を実現する１つまたは複数のコンピュータ、または１つまたは複数の電子回路で構成することができる。
【００５０】
次に、第１の実施の形態に係る画像圧縮伸張システム１０の作用を説明する。
【００５１】
まず、画像圧縮装置１２において、画像入力部１６から画像データが入力されると、圧縮部１８Ａ、１８Ｂによって、画像データの対象画素群の偶数箇所の対象画素及び奇数箇所の対象画素の各々について、並列に予測符号化を行い、別々の符号ストリームとして符号を各々出力する。
【００５２】
このとき、圧縮部１８Ａでは、対象画素群の偶数箇所の画素Ｘを対象画素として、予測部２０Ｂによって、画像データにおける対象画素Ｘの周辺の画素の画素値を用いて、対象画素Ｘの画素値を予測すると共に、対象画素Ｘの実際の画素値との誤差Ａを算出して、出力する。また、符号化部２２Ａによって、予測部２０Ａから出力された誤差Ａをハフマン符号化によって符号化して、符号を出力する。
【００５３】
また、同様に、圧縮部１８Ｂでは、対象画素群の奇数箇所の画素Ｙを対象画素として、予測部２０Ｂによって、対象画素Ｙの誤差Ｂを算出して出力し、符号化部２２Ａによって、符号化して符号を出力する。
【００５４】
次に、画像伸張装置１４において、画像圧縮装置１２から出力された、偶数箇所の画素に対応する符号ストリームと奇数箇所の画素に対応する符号ストリームとが入力されると、伸張部２４Ａ、２４Ｂによって、画像データの対象画素群Ｘ，Ｙの偶数箇所の対象画素Ｘ及び奇数箇所の対象画素Ｙの各々について、並列に誤差を復号すると共に、並列に逆予測及び伸張を行って、画素値を各々出力する。
【００５５】
このとき、伸張部２４Ａでは、対象画素群の偶数箇所の画素（先頭画素）Ｘを対象画素として、復号部３０Ａによって、符号ストリームから対象画素Ｘの符号を取り出し、取り出した符号を対象画素Ｘの誤差Ａに復号する。また、逆予測部３２Ａによって、既に伸張されてマージ部２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値を用いて、対象画素Ｘの画素値を予測すると共に、復号された誤差Ａを用いて、対象画素Ｘの画素値に伸張して出力する。
【００５６】
また、伸張部２４Ｂでは、対象画素群の奇数箇所の画素（先頭画素の次の画素）Ｙを対象画素として、復号部３０Ｂによって、符号ストリームから対象画素Ｙの符号を取り出し、取り出した符号を対象画素Ｙの誤差Ｂに復号する。また、逆予測部３２Ｂによって、復号部３０Ａから、対象画素群の先頭画素Ｘの誤差Ａを取得すると、既に伸張されてマージ部２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値と、対象画素群の先頭画素Ｘの誤差Ａとを用いて、対象画素Ｙの画素値を予測すると共に、復号された誤差Ｂを用いて、対象画素Ｙの画素値に伸張して出力する。
【００５７】
そして、マージ部２６によって、伸張部２４Ａ、２４Ｂの各々から、伸張された画素値を取得すると、取得した対象画素群の各画素Ｘ，Ｙの画素値を結合して、画像データとして画像出力部２８及び伸張部２４Ａ、２４Ｂに出力する。
【００５８】
次に、画像伸張装置１４の伸張部２４Ａ、２４Ｂにおいて同期を取る場合のタイミングについて説明する。
【００５９】
図５に示すように、画素マージ待ちを除けば伸張部２４Ａに待ち時間は発生しない。ここでの”待ち”とは、他の伸張部の出力結果を待たなければ処理を先に進められない状態を指す。伸張部２４Ｂでは、誤差Ａの復号待ちと画素マージ待ちとが発生する。
【００６０】
従って、伸張部２４Ａ、２４Ｂにおける誤差の復号時間を揃え、逆予測処理の時間を揃えることが好ましい。上記図５の例では、伸張部２４Ａの画素マージ待ちと伸張部２４Ｂの誤差Ａの復号待ちとが発生する場合を表している。
【００６１】
以上説明したように、第１の実施の形態に係る画像圧縮伸張システムによれば、画像を並列に伸張しない場合と比較して、圧縮率を低下させずに、画像伸張装置によって、並列に画像を伸張することができる。
【００６２】
また、隣接する画素の画素値を用いて誤差演算して逆予測処理を行う場合に比べて、隣接する画素の画素値が確定するのを待たなくても、隣接する画素の誤差値が復号されれば逆予測処理を行うことができるため、並列に画像を伸張することができる。
【００６３】
また、隣接する画素の画素値又は誤差値を用いて、誤差演算を行っているので、圧縮率を低下させずに、画像データの圧縮及び伸張を行うことができる。
【００６４】
なお、上記の実施の形態では、２つの連続する画素を対象画素群とし、対象画素群の２つの対象画素に対して、並列に復号処理及び逆予測処理を行う場合を例に説明したが、これに限定されるものではなく、３つ以上のＮ個の連続する画素を対象画素群とし、対象画素群のＮ個の対象画素に対して、並列に復号処理及び逆予測処理を行うようにしてもよい。この場合には、符号ストリームとして、Ｎ個の列の符号ストリームを生成して、画像伸張装置に入力するようにすればよい。
【００６５】
次に、第２の実施の形態について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【００６６】
第２の実施の形態では、予測符号化とランレングス符号化とを組み合わせて、画像データの圧縮、伸張を行っている点が、第１の実施の形態と主に異なっている。
【００６７】
図６に示すように、第２の実施の形態に係る画像圧縮伸張システム２１０は、画像データを圧縮する画像圧縮装置２１２と、圧縮された画像データを伸張する画像伸張装置２１４とを備えている。
【００６８】
画像圧縮装置２１２は、画像入力部１６と、画像入力部１６から入力された画像データを圧縮して、偶数箇所の画素で出現する符号からなる符号ストリームを出力する圧縮部２１８Ａと、画像入力部１６から入力された画像データを圧縮して、奇数箇所の画素で出現する符号からなる符号ストリームを出力する圧縮部２１８Ｂとを備えている。
【００６９】
圧縮部２１８Ａは、偶数箇所の画素を対象画素Ｘとして、直前の奇数箇所の画素Ａの画素値と一致すれば、ランレングス符号化（連長圧縮符号化）を行って、直前の画素と順々に比較して偶数箇所の画素分だけ連続数を計数すると共に、連続する画素値を出力し、一致しない場合には、連続数０を出力するラン計数部２１９Ａと、直前の奇数箇所の画素Ａの画素値と一致しない場合に、上記第１の実施の形態と同様に、対象画素Ｘの画素値を予測すると共に、予測された画素値と実際の画素値との誤差Ａを算出する予測部２２０Ａと、連続数０が出力された場合、誤差ＩＤを表わす符号を出力し、連続数が１以上である場合には、ランＩＤを表わす符号を出力するＩＤ符号化部２２１Ａと、ラン計数部２１９Ａから出力されたランＡ（連続数及び画素値）、又は予測部２２０Ａで算出された誤差Ａに対して、可変長符号化（例えば、ハフマン符号化）を行って、シンボル毎に、異なるビット数の符号に変換する符号化部２２２Ａと、ＩＤ符号化部２２１Ａからの符号と符号化部２２２Ａからの符号とを結合して１シンボルとして出力する符号出力部２２３Ａとを備えている。
【００７０】
圧縮部２１８Ｂは、奇数箇所の画素Ｙを対象画素として、直前の偶数箇所の画素Ｘの画素値と一致すれば、ランレングス符号化を行って、直前の画素と順々に比較して奇数箇所の画素分だけ連続数を計数すると共に、連続する画素値を出力し、一致しない場合には、連続数０を出力するラン計数部２１９Ｂと、直前の偶数箇所の画素Ｘの画素値と一致しない場合に、上記第１の実施の形態と同様に、対象画素Ｙの画素値を予測すると共に、予測された画素値と実際の画素値との誤差Ｂを算出する予測部２２０Ｂと、連続数０が出力された場合、誤差ＩＤを表わす符号を出力し、連続数が１以上である場合には、ランＩＤを表わす符号を出力するＩＤ符号化部２２１Ｂと、ラン計数部２１９Ｂから出力されたランＢ（連続数及び画素値）、又は予測部２２０Ｂで算出された誤差Ｂに対して、可変長符号化（例えば、ハフマン符号化）を行って、シンボル毎に、異なるビット数の符号に変換する符号化部２２２Ｂと、ＩＤ符号化部２２１Ｂからの符号と符号化部２２２Ｂからの符号とを結合して１シンボルとして出力する符号出力部２２３Ｂとを備えている。
【００７１】
画像圧縮装置２１２では、圧縮部２１８Ａ、２１８Ｂによって、偶数箇所の画素及び奇数箇所の画素に対して、並列に画像データの予測符号化又はランレングス符号化が行われ、各々によって生成される符号によって、偶数箇所及び奇数箇所の各々に対応する符号ストリームが生成されて出力される。なお、本実施の形態では、偶数箇所の画素に対して符号化された符号に対する少なくとも１つの画素と、奇数箇所の画素に対して符号化された符号に対する少なくとも１つの画素とを、対象画素群とする。
【００７２】
画像伸張装置２１４は、画像圧縮装置２１２から出力された偶数箇所の画素に対する符号ストリームから、偶数箇所の対象画素の画素値に伸張する伸張部２２４Ａと、画像圧縮装置２１２から出力された奇数箇所の画素に対する符号ストリームから、奇数箇所の対象画素の画素値に伸張する伸張部２２４Ｂと、マージ部２６と、画像出力部２８とを備えている。
【００７３】
伸張部２２４Ａは、画像圧縮装置２１２から出力された偶数箇所の画素に対する符号ストリームが入力される符号入力部２２９Ａと、符号入力部２２９Ａから入力された符号ストリームから、偶数箇所の対象画素ＸのＩＤ符号を解釈し、ランＩＤであるか又は誤差ＩＤであるかを解釈するＩＤ復号部２３０Ａと、ＩＤ復号部２３０ＡによるＩＤの解釈結果に応じて、符号ストリームから、偶数箇所の対象画素Ｘの誤差Ａ、又はランＡ（連続数及び画素値）を復号する復号部２３１Ａと、復号部２３１Ａから誤差Ａが復号された場合、既に伸張された対象画素群の周辺の参照画素群の画素値から対象画素Ｘの画素値を逆予測すると共に、復号された対象画素Ｘの誤差Ａと逆予測された対象画素Ｘの画素値とから、対象画素Ｘの画素値に伸張する逆予測部２３２Ａと、復号部２３１ＡからランＡ（連続数及び画素値）が復号された場合、画素値と連続数とを保持するラン保持部２３３Ａと、ラン保持部２３３Ａに保持されている画素値を、連続数に応じて展開するラン展開部２３４Ａとを備えている。
【００７４】
伸張部２２４Ｂは、画像圧縮装置２１２から出力された奇数箇所の画素に対する符号ストリームが入力される符号入力部２２９Ｂと、符号入力部２２９Ｂから入力された符号ストリームから、奇数箇所の対象画素ＹのＩＤ符号を解釈し、ランＩＤであるか又は誤差ＩＤであるかを解釈するＩＤ復号部２３０Ｂと、ＩＤ復号部２３０ＢによるＩＤの解釈結果に応じて、符号ストリームから、奇数箇所の対象画素Ｙの誤差Ｂ、又はランＢ（連続数及び画素値）を復号する復号部２３１Ｂと、ＩＤ復号部２３０ＡによるＩＤの解釈結果、及びＩＤ復号部２３０ＢによるＩＤの解釈結果に基づいて、ラン展開又は逆予測処理を切り替える制御部２３２Ｂを備えている。
【００７５】
また、伸張部２２４Ｂは、ＩＤ復号部２３０ＢでランＩＤであると解釈された場合に、復号部２３１Ｂにより復号された連続数及び画素値を保持するラン保持部２３３Ｂと、ラン保持部２３３Ｂに保持されている画素値を、連続数に応じて展開するラン展開部２３４Ｂと、ＩＤ復号部２３０ＡでランＩＤであると解釈され、ＩＤ復号部２３０Ｂで誤差ＩＤであると解釈された場合に、既に伸張された対象画素群の周辺の参照画素群の画素値から対象画素Ｙの画素値を逆予測すると共に、復号された対象画素Ｙの誤差Ｂと逆予測された対象画素Ｙの画素値とから、対象画素Ｙの画素値に伸張する逆予測部２３６Ｂと、ＩＤ復号部２３０Ａ及びＩＤ復号部２３０Ｂの双方で誤差ＩＤであると解釈された場合に、既に伸張された対象画素群の周辺の参照画素群の画素値と、復号された対象画素Ｘの誤差Ａとから対象画素Ｙの画素値を逆予測すると共に、復号された対象画素Ｙの誤差Ｂと逆予測された対象画素Ｙの画素値とから、対象画素Ｙの画素値に伸張する逆予測部２３７Ｂとを備えている。
【００７６】
なお、復号部２３１Ａ、２３１Ｂが、本発明の並列復号手段に対応し、ラン保持部２３３Ａ、２３３Ｂ、ラン展開部２３４Ａ、２３４Ｂ、逆予測部２３２Ａ、２３６Ｂ、２３７Ｂが、本発明の逆予測展開手段に対応している。
【００７７】
ラン保持部２３３Ａは、図７に示すように、ＩＤ復号部２３０ＡでランＩＤであると解釈された場合、連続数及び画素値を保持し、ラン展開部２３４Ａに１画素ずつ画素値を出力すると共に、保持している連続数を１ずつデクリメントする。
【００７８】
また、ラン保持部２３３Ａは、ＩＤ復号部２３０Ａに制御データを出力する。この制御データとして、保持している連続数が０のときには復号可を表わす信号が出力され、０以外の場合には復号不可を表す信号が出力される。
【００７９】
ＩＤ復号部２３０Ａは、制御データとして復号可を表わす信号が入力された場合に、符号ストリームからＩＤ符号を取り出して解釈し、制御データとして復号不可を表わす信号が入力された場合に、ＩＤ符号の取り出しを停止する。
【００８０】
逆予測部２３２Ａは、図７に示すように、ＩＤ復号部２３０Ａで誤差ＩＤであると解釈された場合、偶数箇所の対象画素Ｘに対して、対象画素群Ｘ，Ｙの周辺の、先頭画素Ｘの隣接する参照画素を含む参照画素群（画素Ａ、Ｂ、Ｃ）の画素値を用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と、復号された誤差Ｅｒｒ１とに基づいて、対象画素Ｘの画素値を算出する。
Ｘ＝Ｅｒｒ１＋（Ａ＋Ｂ−Ｃ）
【００８１】
また、同様に、ラン保持部２３３Ｂは、連続数及び画素値を保持し、ラン展開部２３４Ｂに１画素分ずつ画素値を出力すると共に、保持している連続数を１ずつデクリメントする。また、ラン保持部２３３Ｂは、ＩＤ復号部２３０Ｂに制御データを出力する。ＩＤ復号部２３０Ｂは、制御データとして復号可を表わす信号が入力された場合に、符号ストリームからＩＤ符号を取り出して解釈し、制御データとして復号不可を表わす信号が入力された場合に、符号ストリームからのＩＤ符号の取り出しを停止する。
【００８２】
制御部２３２Ｂは、図８に示すような、ＩＤ復号部２３０ＡによるＩＤの解釈結果、及びＩＤ復号部２３０ＢによるＩＤの解釈結果のパターンに応じて、復号された誤差Ａ、誤差Ｂ、並びに、ランＡ（連続数及び画素値）の少なくとも１つを、ラン保持部２３３Ｂ、逆予測部２３６Ｂ、及び逆予測部２３７Ｂの何れか１つに受け渡す。
【００８３】
逆予測部２３６Ｂは、奇数箇所の対象画素Ｙに対して、対象画素群Ｘ，Ｙの周辺の参照画素群であって、先頭画素Ｘに隣接する参照画素Ａを含む対象画素Ｙの周辺の画素（画素Ａ、Ｂ、Ｄ）の画素値を用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と、復号された誤差Ｅｒｒ２とに基づいて、対象画素Ｙの画素値を算出する。
Ｙ＝Ｅｒｒ２＋（Ａ＋Ｄ−Ｂ）
【００８４】
なお、上記の式は、一般的な逆予測の式（Ｙ＝Ｅｒｒ２＋Ｘ＋Ｄ−Ｂ）におけるＸを、Ｘと等しいＡに置き換えた式である。
【００８５】
また、逆予測部２３７Ｂは、奇数箇所の対象画素Ｙに対して、対象画素群のうちの隣接する画素Ｘについて復号された誤差Ｅｒｒ１と、対象画素群の周辺の参照画素群（画素Ａ、Ｃ、Ｄ）の画素値を用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と対象画素Ｙの誤差Ｅｒｒ２とに基づいて、対象画素Ｙの画素値を算出する。
Ｙ＝Ｅｒｒ２＋（Ｄ−Ｃ＋Ａ＋Ｅｒｒ１）
【００８６】
画像伸張装置２１４では、伸張部２２４Ａ、２２４Ｂによって、偶数箇所の画素Ｘ、及び奇数箇所の画素Ｙに対して、誤差値、又は連続数及び画素値の復号が並列に行われると共に、画素値の逆予測及び伸張、又は展開が並列に行われて、偶数箇所の画素Ｘ、及び奇数箇所の画素Ｙの画素値が出力される。
【００８７】
画像入力部１６、圧縮部２１８Ａ、圧縮部２１８Ｂ、伸張部２２４Ａ、伸張部２２４Ｂ、マージ部２６、及び画像出力部２８は、各部の機能を実現する１つまたは複数のコンピュータ、または１つまたは複数の電子回路で構成することができる。
【００８８】
次に、第２の実施の形態に係る画像圧縮伸張システム２１０の作用を説明する。
【００８９】
まず、画像圧縮装置２１２において、画像入力部１６から画像データが入力されると、圧縮部２１８Ａ、２１８Ｂによって、画像データの対象画素群の偶数箇所の対象画素及び奇数箇所の対象画素の各々について、並列に予測符号化又はランレングス符号化を行い、別々の符号ストリームとして符号を各々出力する。
【００９０】
このとき、圧縮部２１８Ａでは、対象画素群の偶数箇所の画素Ｘを対象画素として、対象画素Ｘの直前の奇数箇所の画素Ａの画素値と比較して、画素値が一致する場合には、ラン計数部２１９Ａによって、直前の画素の画素値と順々に比較して、偶数箇所の画素分の連続数を計数し、連続数及び連続する画素値をランＡとして出力する。
【００９１】
一方、対象画素Ｘの直前の奇数箇所の画素Ａの画素値と比較して、画素値が一致しない場合には、ラン計数部２１９Ａによって、連続数０を出力すると共に、予測部２２０Ｂによって、画像データにおける対象画素Ｘの周辺の画素の画素値を用いて、対象画素Ｘの画素値を予測すると共に、対象画素Ｘの実際の画素値との誤差Ａを算出して、出力する。
【００９２】
ラン計数部２１９Ａより連続数０が出力された場合、ＩＤ符号化部２２１Ａによって、誤差ＩＤを表わすＩＤ符号を出力し、また、符号化部２２２Ａによって、予測部２２０Ａから出力された誤差Ａをハフマン符号化によって符号化して、誤差符号を出力する。
【００９３】
また、ラン計数部２１９Ａより１以上の連続数が出力された場合、ＩＤ符号化部２２１Ａによって、ランＩＤを表わすＩＤ符号を出力し、また、符号化部２２２Ａによって、ラン計数部２１９Ａから出力された連続数及び画素値をハフマン符号化によって符号化して、ラン符号を出力する。
【００９４】
そして、符号出力部２２３Ａによって、ＩＤ符号化部２２１Ａより出力されたＩＤ符号と符号化部２２２Ａより出力された符号とを結合して、偶数箇所に対応する符号ストリームとして出力する。
【００９５】
また、圧縮部２１８Ｂでは、対象画素群の奇数箇所の画素Ｙを対象画素として、圧縮部２１８Ａの各部と同様に動作する。
【００９６】
次に、画像伸張装置２１４において、画像圧縮装置２１２から出力された、偶数箇所の画素に対応する符号ストリームと奇数箇所の画素に対応する符号ストリームとが入力されると、伸張部２２４Ａ、２２４Ｂによって、画像データの偶数箇所の画素及び奇数箇所の画素の各々について、誤差、又は連続数及び画素値を並列に復号すると共に、逆予測及び伸張、又はラン展開を並列に行って、画素値を各々出力する。
【００９７】
このとき、伸張部２２４Ａでは、対象画素群の偶数箇所の画素（先頭画素）Ｘを対象画素として、ＩＤ復号部２３０Ａによって、復号の可否を表わす制御データに応じて、符号ストリームから対象画素ＸのＩＤ符号を取り出し、ＩＤ符号を解釈する。そして、復号部２３１Ａによって、符号ストリームから対象画素Ｘの符号を取り出し、ＩＤ符号の解釈結果に応じて、取り出した符号を、対象画素Ｘの誤差、又は連続数及び画素値に復号する。このとき、ＩＤ復号部２３０ＡによるＩＤ符号の解釈結果は、制御部２３２Ｂに出力される。
【００９８】
連続数及び画素値が復号された場合には、ラン保持部２３３Ａによって連続数及び画素値が保持され、ラン展開部２３４Ａによって、ラン保持部２３３Ａに保持されている画素値が対象画素の画素値として展開されると共に、ラン保持部２３３Ａの連続数が１ずつデクリメントされる。ラン保持部２３３Ａの連続数が０になるまで、ラン展開部２３４Ａによって、保持されている画素値が対象画素の画素値として展開されると共に、復号不可を表わす制御データをＩＤ復号部２３０Ａへ出力し、ＩＤ復号部２３０ＡによるＩＤ符号の取り出しを停止させる。
【００９９】
ラン保持部２３３Ａの連続数が０になると、ラン展開部２３４Ａによる画素値の展開が停止し、ラン保持部２３３Ａによって、復号可を表わす制御データをＩＤ復号部２３０Ａへ出力し、ＩＤ復号部２３０ＡによるＩＤ符号の取り出し及びＩＤの復号を再開させる。
【０１００】
また、誤差が復号された場合には、逆予測部２３２Ａによって、既に伸張されてマージ部２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値を用いて、対象画素Ｘの画素値を予測すると共に、復号された誤差Ａを用いて、対象画素Ｘの画素値に伸張して出力する。
【０１０１】
また、伸張部２２４Ｂでは、対象画素群の奇数箇所の画素（先頭画素Ｘの次の画素）Ｙを対象画素として、ＩＤ復号部２３０Ｂによって、復号の可否を表わす制御データに応じて、符号ストリームから対象画素ＹのＩＤ符号を取り出し、ＩＤ符号を解釈する。そして、復号部２３１Ｂによって、符号ストリームから対象画素Ｙの符号を取り出し、ＩＤ符号の解釈結果に応じて、取り出した符号を、対象画素Ｙの誤差、又は連続数及び画素値に復号する。このとき、ＩＤ復号部２３０ＢによるＩＤ符号の解釈結果は、制御部２３２Ｂに出力される。
【０１０２】
ＩＤ復号部２３０ＢでランＩＤであると解釈された場合には、制御部２３２Ｂによって、復号された連続数及び画素値をラン保持部２３３Ｂに受け渡す。
【０１０３】
そして、ラン保持部２３３Ｂによって連続数及び画素値が保持され、ラン展開部２３４Ｂによって、ラン保持部２３３Ｂに保持されている画素値が、偶数箇所の画素の画素値として展開されると共に、ラン保持部２３３Ｂの連続数が１ずつデクリメントされる。ラン保持部２３３Ｂの連続数が０になるまで、ラン展開部２３４Ｂによって、保持されている画素値が、偶数箇所の画素の画素値として展開されると共に、復号不可を表わす制御データがＩＤ復号部２３０Ｂへ出力され、ＩＤ復号部２３０ＢによるＩＤ符号の取り出しが停止される。
【０１０４】
ラン保持部２３３Ｂの連続数が０になると、ラン展開部２３４Ｂによる画素値の展開が停止し、ラン保持部２３３Ｂによって、復号可を表わす制御データをＩＤ復号部２３０Ｂへ出力し、ＩＤ復号部２３０ＢによるＩＤ符号の取り出し及びＩＤの復号を再開させる。
【０１０５】
また、ＩＤ復号部２３０ＡによってランＩＤであると解釈され、かつ、ＩＤ復号部２３０Ｂによって誤差ＩＤであると解釈された場合には、制御部２３２Ｂによって、復号された誤差Ｂを逆予測部２３６Ｂに受け渡す。
【０１０６】
そして、逆予測部２３６Ｂによって、既に伸張されてマージ部２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値を用いて、対象画素Ｙの画素値を予測すると共に、復号された誤差Ｂを用いて、対象画素Ｙの画素値に伸張して出力する。
【０１０７】
また、ＩＤ復号部２３０Ａ及びＩＤ復号部２３０Ｂの双方によって誤差ＩＤであると解釈された場合には、制御部２３２Ｂによって、復号部２３１Ａより復号された誤差Ａ、及び復号された誤差Ｂを逆予測部２３７Ｂに受け渡す。
【０１０８】
そして、逆予測部２３７Ｂによって、既に伸張されてマージ部２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値と、復号部２３１Ａにより復号された誤差Ａとを用いて、対象画素Ｙの画素値を予測すると共に、復号された誤差Ｂを用いて、対象画素Ｙの画素値に伸張して出力する。
【０１０９】
そして、マージ部２６によって、伸張部２２４Ａ、２２４Ｂの各々から、伸張された対象画素群の偶数箇所の画素及び奇数箇所の画素の画素値を取得すると、取得した対象画素群の偶数箇所の画素及び奇数箇所の画素の画素値を結合して、画像データとして画像出力部２８及び伸張部２２４Ａ、２２４Ｂに出力する。
【０１１０】
次に、画像伸張装置２１４の伸張部２２４Ａ、２２４Ｂにおいて同期を取る場合のタイミングについて説明する。
【０１１１】
図９に示すように、伸張部２２４Ａ、２２４Ｂの双方で誤差ＩＤであると解釈され、伸張部２２４Ｂにおいて、逆予測部２３７Ｂによる逆予測を行う場合には、誤差Ａの復号待ちが発生する可能性がある。
【０１１２】
逆に、図１０に示すように、伸張部２２４ＡでランＩＤであると解釈されると共に、伸張部２２４Ｂで誤差ＩＤであると解釈され、逆予測部２３６Ｂによる逆予測を行う場合には、誤差Ａ（Ｅｒｒ１）を参照しないため、誤差Ａの復号待ちは発生しない。
【０１１３】
また、上記のいずれの場合にも、画素マージ待ちとＩＤ復号部２３０Ａによる復号待ちは発生する。本実施の形態では、マージ部２６は、伸張部２２４Ａ、２２４Ｂから伸張された画素値が出力されるのを待つ。具体的には、対象画素群の画素Ｘ、Ｙの２画素の伸張が終了するまで待ち状態になる。
【０１１４】
一般的に、ＩＤ復号や、誤差又はランの復号で、伸張部間の性能差はないため、待ち時間は小さいが、伸張部２２４Ａ、２２４Ｂの復号部２３１Ａ、２３１Ｂによる復号時間を揃え、ＩＤ復号部２３０Ａ、２３０Ｂによる復号時間を揃えることが好ましい。また、伸張部２２４Ａ、２２４Ｂのラン展開部２３４Ａ、２３４Ｂ、逆予測部２３２Ａ、２３６Ｂ、２３７Ｂの処理時間を揃えることが好ましい。
【０１１５】
以上説明したように、第２の実施の形態に係る画像圧縮伸張システムによれば、予測符号化とランレングス符号化とを組み合わせた符号化を行う場合であっても、画像を並列に伸張しない場合と比較して、圧縮率を低下させずに、画像伸張装置によって、並列に画像を伸張することができる。
【０１１６】
また、隣接する画素の画素値又は誤差値を用いて、誤差演算を行うと共に、隣接する画素の画素値を参照して、画素値の連続数の計数を行っているので、圧縮率を低下させずに、画像データの圧縮、伸張を行うことができる。
【０１１７】
次に、第３の実施の形態について説明する。なお、第１の実施の形態及び第２の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【０１１８】
第３の実施の形態では、画素値の連続数の計数を、画素の偶数箇所及び奇数箇所で分けずに、スキャンライン順に行っている点が、第２の実施の形態と主に異なっている。
【０１１９】
図１１に示すように、第３の実施の形態に係る画像圧縮伸張システム３１０は、画像データを圧縮する画像圧縮装置３１２と、圧縮された画像データを伸張する画像伸張装置３１４とを備えている。
【０１２０】
画像圧縮装置３１２は、画像入力部１６と、画像入力部１６から入力された画像データを圧縮して、符号の１シンボル毎に分けて出力する圧縮部３１８と、偶数番目に出力された符号からなる符号ストリームを出力する符号出力部３１８Ａと、奇数番目に出力された符号からなる符号ストリームを出力する符号出力部３１８Ｂとを備えている。
【０１２１】
圧縮部３１８は、スキャンライン順に、対象画素を設定し、直前の画素の画素値と一致すれば、ランレングス符号化（連長圧縮符号化）を行って、直前の画素と順々に比較して連続数を計数すると共に、連続する画素値を出力し、一致しない場合には、連続数０を出力するラン計数部３１９と、直前の画素の画素値と一致しない場合に、上記第１の実施の形態と同様に、対象画素の画素値を予測すると共に、予測された画素値と実際の画素値との誤差を算出する予測部３２０と、連続数０が出力された場合、誤差ＩＤを表わすＩＤ符号を出力し、連続数が１以上である場合には、ランＩＤを表わすＩＤ符号を出力するＩＤ符号化部３２１と、ラン計数部３１９から出力されたラン（連続数及び画素値）、又は予測部３２０で算出された誤差に対して、可変長符号化（例えば、ハフマン符号化）を行って、シンボル毎に、異なるビット数の符号に変換する符号化部３２２と、ＩＤ符号化部３２１からのＩＤ符号と符号化部３２２からの符号とを結合すると共に、結合された符号シンボル毎に分割して出力する分割部３２３とを備えている。
【０１２２】
分割部３２３は、０から開始するカウンタ（図示省略）を保持している。カウンタは、符号の１シンボルが入力されるタイミングでインクリメントされる。つまり、”ＩＤ符号＋ラン符号”、もしくは”ＩＤ符号＋誤差符号”が入力されるタイミングでインクリメントされる。分割部３２３は、カウンタが偶数の場合には、１シンボルの符号を符号出力部３１８Ａへ出力し、カウンタが奇数の時には、１シンボルの符号を符号出力部３１８Ｂへ出力する。
【０１２３】
画像圧縮装置３１２では、圧縮部３１８によって、各対象画素Ｘに対して、画像データの予測符号化又はランレングス符号化が行われて、生成される符号が１シンボル毎に分割され、偶数番目及び奇数番目の各々に対応する符号ストリームが生成されて出力される。
【０１２４】
画像伸張装置３１４は、画像圧縮装置３１２から出力された偶数番目の符号に対する符号ストリームから、対象画素の画素値に伸張する伸張部３２４Ａと、画像圧縮装置３１２から出力された奇数番目の符号に対する符号ストリームから、対象画素の画素値に伸張する伸張部３２４Ｂと、偶数番目の符号から伸張された画素の画素値と奇数番目の符号から伸張された画素の画素値とを並べるように結合して、画像データを生成するマージ部３２６と、画像出力部２８とを備えている。なお、本実施の形態では、偶数番目の符号に対応する少なくとも１つの画素と、奇数番目の符号に対する少なくとも１つの画素とを、対象画素群とする。
【０１２５】
伸張部３２４Ａは、画像圧縮装置３１２から出力された偶数番目の符号に対する符号ストリームが入力される符号入力部３２９Ａと、符号入力部３２９Ａから入力された符号ストリームから、偶数番目の符号のＩＤ符号を解釈し、ランＩＤであるか又は誤差ＩＤであるかを解釈するＩＤ復号部３３０Ａと、ＩＤ復号部３３０ＡによるＩＤの解釈結果に応じて、符号ストリームから、偶数番目の符号の誤差Ａ、又はランＡ（連続数及び画素値）を復号する復号部３３１Ａと、逆予測部２３２Ａと、復号部３３１Ａから連続数及び画素値が復号された場合、画素値を、連続数に応じて展開するラン展開部３３４Ａとを備えている。
【０１２６】
伸張部３２４Ｂは、画像圧縮装置３１２から出力された奇数番目の符号に対する符号ストリームが入力される符号入力部３２９Ｂと、符号入力部３２９Ｂから入力された符号ストリームから、奇数番目の符号のＩＤ符号を解釈し、ランＩＤであるか又は誤差ＩＤであるかを解釈するＩＤ復号部３３０Ｂと、ＩＤ復号部２３０ＢによるＩＤの解釈結果に応じて、符号ストリームから、奇数番目の符号の誤差Ｂ、又はランＢ（連続数及び画素値）を復号する復号部３３１Ｂと、ＩＤ復号部３３０ＡによるＩＤの解釈結果、及びＩＤ復号部３３０ＢによるＩＤの解釈結果に基づいて、ラン展開又は逆予測処理を切り替える制御部３３２Ｂを備えている。
【０１２７】
また、伸張部３２４Ｂは、ＩＤ復号部３３０ＡでランＩＤであると解釈され、かつ、ＩＤ復号部３３０ＢでランＩＤであると解釈された場合に、復号部３３１Ｂにより復号された連続数及び画素値に基づいて、奇数番目の符号に対応する対象画素（直前の偶数番目の符号に対応する先頭画素からランＡの連続数分離れた画素以降の複数の画素）Ｙｒの画素値として、復号された画素値を連続数に応じて展開するラン展開部３３４Ｂと、ＩＤ復号部３３０Ａで誤差ＩＤであると解釈され、かつ、ＩＤ復号部３３０ＢでランＩＤであると解釈された場合に、復号部３３１Ｂにより復号された連続数及び画素値に基づいて、奇数番目の符号に対応する対象画素（直前の偶数番目の符号に対応する画素に続く複数の画素）Ｙの画素値として、復号された画素値を連続数に応じて展開するラン展開部３３５Ｂと、ＩＤ復号部３３０ＡでランＩＤであると解釈され、かつ、ＩＤ復号部３３０Ｂで誤差ＩＤであると解釈された場合に、既に伸張された対象画素群の周辺の参照画素群の画素値から奇数番目の符号に対応する対象画素（直前の偶数番目の符号に対応する先頭画素からランＡの連続数分離れた画素）Ｙｒの画素値を逆予測すると共に、復号された対象画素Ｙｒの誤差Ｂと逆予測された対象画素Ｙｒの画素値とから、対象画素Ｙｒの画素値に伸張する逆予測部３３６Ｂと、逆予測部２３７Ｂとを備えている。
【０１２８】
なお、復号部３３１Ａ、３３１Ｂが、本発明の並列復号手段に対応し、ラン展開部３３４Ａ、３３４Ｂ、３３５Ｂ、逆予測部２３２Ａ、３３６Ｂ、２３７Ｂが、本発明の逆予測展開手段に対応している。
【０１２９】
制御部３３２Ｂは、伸張部３２４Ａより復号されたランＡ（連続数及び画素値）又は誤差Ａが入力され、図１２に示すような、ＩＤ復号部２３０ＡによるＩＤの解釈結果、及びＩＤ復号部３３０ＢによるＩＤの解釈結果のパターンに応じて、復号されたランＡ、誤差Ａ、誤差Ｂ、並びに、ランＢ（連続数及び画素値）の少なくとも１つを、ラン展開部３３４Ｂ、ラン展開部３３５Ｂ、逆予測部３３６Ｂ、及び逆予測部２３７Ｂの何れか１つに受け渡す。
【０１３０】
ラン展開部３３４Ｂは、偶数番目の符号に対応する先頭画素ＸからランＡの連続数だけ離れた画素Ｙｒから、ランＢの連続数だけ画素値を展開する。
【０１３１】
ラン展開部３３５Ｂは、偶数番目の符号に対応する画素Ｘの次の対象画素Ｙから、ランＢの連続数だけ画素値を展開する。
【０１３２】
逆予測部３３６Ｂは、偶数番目の符号に対応する先頭画素ＸからランＡの連続数だけ離れた画素Ｙｒを対象画素として、先頭画素Ｘに対して復号されたランＡの画素値（画素Ａの画素値）と、対象画素群Ｘ〜Ｙｒの周辺の参照画素群（画素Ｂ、Ｄ）の画素値を用いて、以下の式に従って、画素値を逆予測すると共に、逆予測された画素値と、復号された誤差Ｅｒｒ２とに基づいて、対象画素Ｙｒの画素値を算出する。
Ｙｒ＝Ｅｒｒ２＋（Ａ＋Ｄ−Ｂ）
【０１３３】
マージ部３２６は、伸張部３２４Ａ、３２４Ｂから出力される画素値で同期する。つまり、本実施の形態では、伸張部３２４Ａ、３２４Ｂの各々が、符号シンボル”誤差ＩＤ＋誤差符号”又は”ランＩＤ＋ラン符号”の伸張タイミングで同期している。
【０１３４】
画像伸張装置３１４では、伸張部３２４Ａ、３２４Ｂによって、偶数番目の符号に対する画素及び奇数番目の符号に対する画素に対して、誤差値、又は連続数及び画素値の復号が並列に行われると共に、画素値の逆予測及び伸張、又は展開が並列に行われて、偶数番目の符号に対する画素及び奇数番目の符号に対する画素の画素値が出力される。
【０１３５】
画像入力部１６、圧縮部３１８、符号出力部３１８Ａ、３１８Ｂ、伸張部３２４Ａ、伸張部３２４Ｂ、マージ部３２６、及び画像出力部２８は、各部の機能を実現する１つまたは複数のコンピュータ、または１つまたは複数の電子回路で構成することができる。
【０１３６】
次に、第３の実施の形態に係る画像圧縮伸張システム３１０の作用を説明する。
【０１３７】
まず、画像圧縮装置３１２において、画像入力部１６から画像データが入力されると、圧縮部３１８によって、画像データの対象画素の各々について、予測符号化又はランレングス符号化を行い、偶数番目の符号と奇数番目の符号として分けて符号が出力される。また、符号出力部３１８Ａによって、偶数番目の符号からなる符号ストリームが出力され、符号出力部３１８Ｂによって、奇数番目の符号からなる符号ストリームが出力される。
【０１３８】
このとき、圧縮部３１８では、対象画素の直前の画素の画素値と比較して、画素値が一致する場合には、ラン計数部３１９によって、直前の画素の画素値と順々に比較して、連続数を計数し、ラン（連続数及び連続する画素値）を出力する。
【０１３９】
一方、対象画素の直前の画素の画素値と比較して、画素値が一致しない場合には、ラン計数部３１９によって、連続数０を出力すると共に、予測部３２０によって、画像データにおける対象画素の周辺の画素の画素値を用いて、対象画素の画素値を予測すると共に、対象画素の実際の画素値との誤差を算出して、出力する。
【０１４０】
ラン計数部３１９より連続数０が出力された場合、ＩＤ符号化部３２１によって、誤差ＩＤを表わすＩＤ符号を出力し、また、符号化部３２２によって、予測部３２０から出力された誤差をハフマン符号化によって符号化して、誤差符号を出力する。
【０１４１】
また、ラン計数部３１９より１以上の連続数が出力された場合、ＩＤ符号化部３２１によって、ランＩＤを表わすＩＤ符号を出力し、また、符号化部３２２によって、ラン計数部３１９から出力されたラン（連続数及び画素値）をハフマン符号化によって符号化して、ラン符号を出力する。
【０１４２】
そして、分割部３２３は、ＩＤ符号化部３２１より出力されたＩＤ符号と符号化部３２２より出力されたラン符号又は誤差符号とを結合して１シンボルとすると共に、シンボル数をカウントし、偶数番目の符号と奇数番目の符号とに分けて符号を出力する。
【０１４３】
符号出力部３１８Ａでは、偶数番目の符号に対応する符号ストリームを出力し、符号出力部３１８Ｂでは、奇数番目の符号に対応する符号ストリームを出力する。
【０１４４】
次に、画像伸張装置３１４において、画像圧縮装置３１２から出力された、偶数番目の符号に対応する符号ストリームと奇数番目の符号に対応する符号ストリームとが入力されると、伸張部３２４Ａ、３２４Ｂによって、画像データの偶数番目の符号に対応する対象画素及び奇数番目の符号に対応する対象画素の各々について、誤差、又は連続数及び画素値を並列に復号すると共に、逆予測及び伸張、又はラン展開を並列に行って、画素値を各々出力する。
【０１４５】
このとき、伸張部３２４Ａでは、ＩＤ復号部３３０Ａによって、符号ストリームから偶数番目の符号のＩＤ符号を取り出し、ＩＤ符号を解釈する。そして、復号部３３１Ａによって、ＩＤ符号の解釈結果に応じて、符号ストリームから誤差符号又はラン符号を取り出し、誤差Ａ、又はランＡ（連続数及び画素値）に復号する。このとき、ＩＤ復号部３３０ＡによるＩＤ符号の解釈結果及び復号部３３１Ａにより復号された誤差Ａ又はランＡは、制御部３３２Ｂに出力される。
【０１４６】
連続数及び画素値が復号された場合には、ラン展開部３３４Ａによって、復号された画素値が、連続数分だけ展開される。これによって、偶数番目の符号に対応する画素の各々の画素値が伸張される。
【０１４７】
また、誤差が復号された場合には、逆予測部２３２Ａによって、既に伸張されてマージ部３２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値を用いて、対象画素の画素値を予測すると共に、復号された誤差Ａを用いて、対象画素の画素値に伸張して出力する。
【０１４８】
また、伸張部３２４Ｂでは、ＩＤ復号部３３０Ｂによって、符号ストリームから奇数番目の符号のＩＤ符号を取り出し、ＩＤ符号を解釈する。そして、復号部３３１Ｂによって、ＩＤ符号の解釈結果に応じて、符号ストリームから奇数番目の符号の誤差符号又はラン符号を取り出し、誤差Ｂ又はランＢ（連続数及び画素値）に復号する。このとき、ＩＤ復号部３３０ＢによるＩＤ符号の解釈結果、及び復号部３３１Ｂより復号された誤差Ｂ又はランＢは、制御部３３２Ｂに出力される。
【０１４９】
ＩＤ復号部３３０Ａ及びＩＤ復号部３３０Ｂの双方でランＩＤであると解釈された場合には、制御部３３２Ｂによって、復号されたランＡと復号されたランＢとを、ラン展開部３３４Ｂに受け渡す。そして、ラン展開部３３４Ｂによって、対象画素群の先頭画素ＸからランＡの連続数分だけ離れた画素Ｙｒ以降の画素の画素値として、ランＢの画素値が連続数分だけ展開される。
【０１５０】
また、ＩＤ復号部３３０Ａによって誤差ＩＤであると解釈され、かつ、ＩＤ復号部３３０ＢによってランＩＤであると解釈された場合には、制御部３３２Ｂによって、復号されたランＢをラン展開部３３５Ｂに受け渡す。そして、ラン展開部３３５Ｂによって、対象画素群の先頭画素Ｘの次の対象画素Ｙ以降の画素の画素値として、ランＢの画素値が連続数分だけ展開される。
【０１５１】
また、ＩＤ復号部３３０ＡによってランＩＤであると解釈され、かつ、ＩＤ復号部３３０Ｂによって誤差ＩＤであると解釈された場合には、制御部３３２Ｂによって、復号されたランＡ及び復号された誤差Ｂを逆予測部３３６Ｂに受け渡す。
【０１５２】
そして、逆予測部３３６Ｂによって、既に伸張されてマージ部３２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値と、ランＡの画素値とを用いて、対象画素群の先頭画素ＸからランＡの連続数分だけ離れた対象画素Ｙｒの画素値を予測すると共に、復号された誤差Ｂを用いて、対象画素Ｙｒの画素値に伸張して出力する。
【０１５３】
また、ＩＤ復号部３３０Ａ及びＩＤ復号部３３０Ｂの双方によって誤差ＩＤであると解釈された場合には、制御部３３２Ｂによって、復号部３３１Ａより復号された誤差Ａ、及び復号された誤差Ｂを逆予測部２３７Ｂに受け渡す。
【０１５４】
そして、逆予測部２３７Ｂによって、既に伸張されてマージ部３２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値と、復号された誤差Ａとを用いて、対象画素Ｙの画素値を予測すると共に、復号された誤差Ｂを用いて、対象画素Ｙの画素値に伸張して出力する。
【０１５５】
そして、マージ部３２６によって、伸張部３２４Ａ、３２４Ｂの各々から、伸張された、偶数番目の符号及び奇数番目の符号に対応する各画素の画素値を取得すると、取得した各画素の画素値を結合して、画像データとして画像出力部２８及び伸張部３２４Ａ、３２４Ｂに出力する。
【０１５６】
次に、画像伸張装置３１４の伸張部３２４Ａ、３２４Ｂにおいて同期を取る場合のタイミングについて説明する。
【０１５７】
図１３に示すように、伸張部３２４Ａにおいて復号されるＩＤ符号が、ランＩＤである場合には、伸張部３２４Ｂにおいて、ランＡの復号待ちが発生する。
【０１５８】
また、図１４に示すように、伸張部３２４Ａ、３２４Ｂの双方において復号されるＩＤ符号が、誤差ＩＤであり、伸張部３２４Ｂにおいて逆予測処理を行う場合には、伸張部３２４Ｂにおいて、誤差Ａの復号待ちが発生する。
【０１５９】
また、上記のいずれの場合にも、画素マージ待ちとＩＤ復号部３３０ＡによるＩＤ復号待ちは発生する。マージ部３２６は、伸張部３２４Ａ、３２４Ｂの各々から伸張された画素値が出力されるのを待つ。
【０１６０】
以上説明したように、第３の実施の形態に係る画像圧縮伸張システムによれば、予測符号化及びランレングス符号化を組み合わせた符号化を行う場合であっても、画像を並列に伸張しない場合と比較して、圧縮率を低下させずに、画像伸張装置によって、並列に画像を伸張することができる。
【０１６１】
また、隣接する画素の画素値又は誤差値を用いて、誤差演算を行うと共に、隣接する画素の画素値を参照して、画素値の連続数の計数を行っているので、圧縮率を低下させずに、画像データの圧縮、伸張を行うことができる。
【０１６２】
次に、第４の実施の形態について説明する。なお、第１の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【０１６３】
第４の実施の形態では、符号の長さが等長になるように誤差を符号化している点が第１の実施の形態と主に異なっている。
【０１６４】
第４の実施の形態に係る画像圧縮装置では、１つの圧縮部で、スキャンライン順に、対象画素を設定して、画素値の誤差を算出し、符号化部によって、誤差に対して等長符号化を行い、１つの符号ストリームとして出力する。
【０１６５】
符号化部では、ブロック中での最悪ビット数で各符号をパッキングする。例えば、図１５に示すように、４画素分の４つの誤差を表わす符号の中で最も悪いビット長を求めて、各符号をパッキングする。圧縮時のビット数はヘッダに記載しておく。以後、４誤差を表わす４つの符号とヘッダ符号とを含めてブロックと呼ぶことにする．
画像伸張装置の伸張部２４Ａでは、復号部３０Ａによって、入力された１つの符号ストリームから、ブロックのヘッダを参照して、対象画素群の先頭画素の符号を切り出す。また、伸張部２４Ｂにおいても同様に、復号部３０Ｂによって、入力された１つの符号ストリームから、ブロックのヘッダを参照して、対象画素群の先頭画素の次の対象画素の符号を切り出す。これによって、対象画素群の各画素の誤差が、並列に復号される。
【０１６６】
また、伸張部２４Ａ、２４Ｂでは、ヘッダに基づいて、次ブロックまでの距離が特定されるため、複数のブロックが並列的に伸張される。
【０１６７】
なお、本実施の形態は、上記の第２の実施の形態及び第３の実施の形態のように、予測符号化とランレングス符号化とを組み合わせた符号化を行う場合に適用してもよい。
【０１６８】
次に、第５の実施の形態について説明する。なお、第１の実施の形態及び第２の実施の形態と同様の構成となる部分については、同一符号を付して説明を省略する。
【０１６９】
第５の実施の形態では、コンテクストベースの予測符号化を用いて、画像データの圧縮、伸張を行っている点が、第１の実施の形態と主に異なっている。
【０１７０】
図１６に示すように、第５の実施の形態に係る画像圧縮伸張システム５１０は、画像データを圧縮する画像圧縮装置５１２と、圧縮された画像データを伸張する画像伸張装置５１４とを備えている。
【０１７１】
画像圧縮装置５１２は、画像入力部１６と、画像入力部１６から入力された画像データを圧縮して、偶数箇所の画素で出現する符号からなる符号ストリームを出力する圧縮部５１８Ａと、画像入力部１６から入力された画像データを圧縮して、奇数箇所の画素で出現する符号からなる符号ストリームを出力する圧縮部５１８Ｂとを備えている。
【０１７２】
圧縮部５１８Ａは、予測部２０Ａと、偶数箇所の画素を対象画素として、対象画素の周辺の画素群の画素値に基づいて、コンテクストを決定すると共に、コンテクストに応じた符号表を選択するコンテクストモデル部５２０Ａと、選択された符号表を用いて、予測部２０Ａで算出された誤差Ａに対して、可変長符号化（例えば、ハフマン符号化）を行って、シンボル毎に、異なるビット数の符号に変換する符号化部５２２Ａと、符号化部５２２Ａからの符号を、偶数箇所の画素に対する符号ストリームとして出力する符号出力部５２３Ａとを備えている。
【０１７３】
圧縮部５１８Ｂは、予測部２０Ｂと、奇数箇所の画素を対象画素として、対象画素の周辺の画素群の画素値に基づいて、コンテクストを決定すると共に、コンテクストに応じた符号表を選択するコンテクストモデル部５２０Ｂと、選択された符号表を用いて、予測部２０Ｂで算出された誤差Ｂに対して、ハフマン符号化を行って、シンボル毎に、異なるビット数の符号に変換する符号化部５２２Ｂと、符号化部５２２Ｂからの符号を、奇数箇所の画素に対する符号ストリームとして出力する符号出力部５２３Ｂとを備えている。
【０１７４】
コンテクストモデル部５２０Ａは、対象画素の周辺の画素群の画素値に基づいて、コンテクスト番号の決定を行い、決定されたコンテクスト番号に応じた符号表の選択を行う。標準可逆圧縮ＪＰＥＧ‐ＬＳを例に挙げると、図１７に示すような勾配検出処理が行われることにより、対象画素Ｘに対して以下に式に従って勾配Ｄ１、Ｄ２、Ｄ３が検出され、検出された勾配状況に応じてコンテクスト番号が決定され、符号表が選択される。なお、本実施の形態では、符号表が２種類用意されている場合を例に説明する。
Ｄ１＝ｄ−ｂ
Ｄ２＝ｂ−ｃ
Ｄ３＝ｃ−ａ
【０１７５】
また、コンテクストモデル部５２０Ｂでは、同様に、勾配検出処理が行われることにより、対象画素Ｙに対して以下に式に従って勾配Ｄ１、Ｄ２、Ｄ３が検出され、検出された勾配状況に応じてコンテクスト番号が決定され、符号表が選択される。
Ｄ１＝ｅ−ｄ
Ｄ２＝ｄ−ｂ
Ｄ３＝ｂ−ｘ
【０１７６】
画像圧縮装置５１２では、圧縮部５１８Ａ、５１８Ｂによって、対象画素群Ｘ、Ｙに対して、並列に画像データの予測符号化が行われ、各々によって生成される符号によって、偶数箇所及び奇数箇所の各々に対応する符号ストリームが生成されて出力される。
【０１７７】
画像伸張装置５１４は、画像圧縮装置５１２から出力された偶数箇所の画素に対する符号ストリームから、偶数箇所の対象画素の画素値に伸張する伸張部５２４Ａと、画像圧縮装置５１２から出力された奇数箇所の画素に対する符号ストリームから、奇数箇所の対象画素の画素値に伸張する伸張部５２４Ｂと、マージ部２６と、画像出力部２８とを備えている。
【０１７８】
伸張部５２４Ａは、符号入力部２２９Ａと、既に伸張された対象画素の周辺の画素群の画素値に基づいて、コンテクストを決定すると共に、コンテクストに応じた符号表を選択するコンテクストモデル部５３０Ａと、選択された符号表に応じて、符号入力部２２９Ａから入力された符号ストリームから、偶数箇所の対象画素の誤差Ａを復号する復号部５３１Ａと、逆予測部３２Ａとを備えている。
【０１７９】
伸張部５２４Ｂは、符号入力部２２９Ｂと、符号入力部２２９Ｂから入力された符号ストリームから、一方の種類の符号表に応じて、奇数箇所の対象画素Ｙの誤差Ｂの候補を復号する復号部５３１Ｂと、符号入力部２２９Ｂから入力された符号ストリームから、他方の種類の符号表に応じて、奇数箇所の対象画素Ｙの誤差Ｂの候補を復号する復号部５３１Ｃと、既に伸張された対象画素群の周辺の参照画素群の画素値から対象画素Ｙの画素値を逆予測すると共に、一方の種類の符号表に応じて復号された対象画素Ｙの誤差Ｂの候補と逆予測された対象画素Ｙの画素値とから、対象画素Ｙの画素値の候補に伸張する逆予測部５３２Ｂと、既に伸張された対象画素群の周辺の参照画素群の画素値から対象画素Ｙの画素値を逆予測すると共に、他方の種類の符号表に応じて復号された対象画素Ｙの誤差Ｂの候補と逆予測された対象画素Ｙの画素値とから、対象画素Ｙの画素値の候補に伸張する逆予測部５３２Ｃと、対象画素群の周辺の参照画素群の画素値と対象画素群の先頭画素Ｘの誤差Ａに基づいて、コンテクストを決定すると共に、コンテクストに応じた符号表を選択するコンテクストモデル部５３４Ｂと、選択された符号表に応じて復号された誤差Ｂの候補を用いて伸張された画素値を選択して出力する選択部５３６Ｂとを備えている。
【０１８０】
なお、復号部５３１Ａ、５３１Ｂ、５３１Ｃが、本発明の並列復号手段に対応し、コンテクストモデル部５３０Ａ、５３４Ｂ、選択部５３６Ｂ、逆予測部３２Ａ、５３２Ｂ、５３２Ｃが、本発明の逆予測手段に対応している。
【０１８１】
コンテクストモデル部５３０Ａは、コンテクストモデル部５２０Ａと同様に、対象画素の周辺の画素群の画素値に基づいて、コンテクスト番号の決定を行い、決定されたコンテクスト番号に応じた符号表の選択を行う。
【０１８２】
コンテクストモデル部５３４Ｂでは、上記図１７に示す勾配検出処理が行われることにより、対象画素Ｙに対して以下に式に従って勾配Ｄ１、Ｄ２、Ｄ３が検出され、検出された勾配状況に応じてコンテクスト番号が決定され、符号表が選択される。
Ｄ１＝ｅ−ｄ
Ｄ２＝ｄ−ｂ
Ｄ３＝ｃ−ａ−Ｅｒｒ１
【０１８３】
上記のＤ３を算出する式は、対象画素Ｙのコンテクスト算出に必要であったＸを、逆予測で用いられるＸ＝Ｅｒｒ1＋（Ａ＋Ｂ−Ｃ）を利用して消去した式となっている。
【０１８４】
画像伸張装置５１４では、伸張部５２４Ａ、５２４Ｂによって、対象画素群Ｘ、Ｙに対して、誤差値の復号が並列に行われると共に、画素値の逆予測及び伸張が並列に行われて、対象画素群Ｘ、Ｙの画素値が出力される。
【０１８５】
画像入力部１６、圧縮部５１８Ａ、圧縮部５１８Ｂ、伸張部５２４Ａ、伸張部５２４Ｂ、マージ部２６、及び画像出力部２８は、各部の機能を実現する１つまたは複数のコンピュータ、または１つまたは複数の電子回路で構成することができる。
【０１８６】
次に、第５の実施の形態に係る画像圧縮伸張システム５１０の作用を説明する。
【０１８７】
まず、画像圧縮装置５１２において、画像入力部１６から画像データが入力されると、圧縮部５１８Ａ、５１８Ｂによって、画像データの対象画素群の偶数箇所の対象画素及び奇数箇所の対象画素の各々について、並列にコンテクストベースの予測符号化を行い、別々の符号ストリームとして符号を出力する。
【０１８８】
このとき、圧縮部５１８Ａでは、対象画素群の偶数箇所の画素（先頭画素）Ｘを対象画素として、予測部２０Ａによって、画像データにおける対象画素Ｘの周辺の画素の画素値を用いて、対象画素Ｘの画素値を予測すると共に、対象画素Ｘの実際の画素値との誤差を算出して、出力する。また、コンテクストモデル部５２０Ａによって、対象画素Ｘの周辺の画素群の画素値を用いて、コンテクストを決定し、決定されたコンテクストに応じた符号表を選択する。
【０１８９】
そして、符号化部５２２Ａによって、予測部２０Ａから出力された誤差を、選択された符号表に応じて符号化して、符号を出力する。また、符号出力部２２３Ａによって、符号化部５２２Ａより出力された符号を、偶数箇所に対応する符号ストリームとして出力する。
【０１９０】
また、圧縮部５１８Ｂでは、対象画素群の奇数箇所の画素Ｙを対象画素として、圧縮部５１８Ａの各部と同様に動作する。
【０１９１】
次に、画像伸張装置５１４において、画像圧縮装置５１２から出力された、偶数箇所の画素に対応する符号ストリームと奇数箇所の画素に対応する符号ストリームとが入力されると、伸張部５２４Ａ、５２４Ｂによって、画像データの対象画素群の偶数箇所の対象画素Ｘ及び奇数箇所の対象画素Ｙの各々について、誤差を並列に復号すると共に、逆予測及び伸張を並列に行って、画素値を各々出力する。
【０１９２】
このとき、伸張部５２４Ａでは、対象画素群の偶数箇所の画素（先頭画素）Ｘを対象画素として、コンテクストモデル部５３０Ａによって、既に伸張された対象画素Ｘの周辺の画素群の画素値に基づいて、コンテクストを決定し、決定されたコンテクストに応じた符号表を選択する。
【０１９３】
そして、復号部５３１Ａによって、符号ストリームから対象画素Ｘの符号を取り出し、取り出した符号を、選択された符号表を用いて、対象画素Ｘの誤差Ａに復号する。このとき、復号部５３１Ａにより復号された誤差Ａは、逆予測部５３２Ｂ、５３２Ｃと、コンテクストモデル部５３４Ｂとに出力される。
【０１９４】
次に、逆予測部３２Ａによって、既に伸張されてマージ部２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値を用いて、対象画素Ｘの画素値を予測すると共に、復号された誤差Ａを用いて、対象画素Ｘの画素値に伸張して出力する。
【０１９５】
また、伸張部５２４Ｂでは、対象画素群の奇数箇所の画素（先頭画素の次の画素）Ｙを対象画素として、復号部５３１Ｂによって、符号ストリームから対象画素Ｙの符号を取り出し、一方の種類の符号表を用いて、取り出した符号を、対象画素Ｙの誤差Ｂの候補に復号する。また、復号部５３１Ｃによって、符号ストリームから対象画素Ｙの符号を取り出し、他方の種類の符号表を用いて、取り出した符号を、対象画素Ｙの誤差Ｂの候補に復号する。
【０１９６】
そして、逆予測部５３２Ｂによって、既に伸張されてマージ部２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値と、復号された誤差Ａとを用いて、対象画素Ｙの画素値を予測すると共に、復号部５３１Ｂより復号された誤差Ｂの候補を用いて、対象画素Ｙの画素値の候補に伸張して出力する。
【０１９７】
また、逆予測部５３２Ｃによって、既に伸張されてマージ部２６から出力された画像データのうち、対象画素群の周辺の参照画素群の画素値と、復号された誤差Ａとを用いて、対象画素Ｙの画素値を予測すると共に、復号部５３１Ｃより復号された誤差Ｂの候補を用いて、対象画素Ｙの画素値の候補に伸張して出力する。
【０１９８】
また、復号部５３１Ａによって誤差Ａが復号されると、コンテクストモデル部５３４Ｂによって、既に伸張された対象画素群の周辺の参照画素群ａ，ｂ，ｃ，ｄ，ｅの画素値と対象画素群の先頭画素Ｘの誤差Ａ（Ｅｒｒ１）に基づいて、コンテクストを決定すると共に、コンテクストに応じた符号表を選択する。
【０１９９】
そして、選択部５３６Ｂによって、逆予測部５３２Ｂ、５３２Ｃの各々によって出力された画素値の候補のうち、選択された符号表を用いて伸張された対象画素Ｙの画素値の候補を選択し、マージ部２６に出力する。
【０２００】
そして、マージ部２６によって、伸張部５２４Ａ、５２４Ｂの各々から、伸張された対象画素群Ｘ，Ｙの各画素の画素値を取得すると、取得した対象画素群の各画素の画素値を結合して、画像データとして画像出力部２８、及び伸張部５２４Ａ、５２４Ｂに出力する。
【０２０１】
次に、画像伸張装置５１４の伸張部５２４Ａ、５２４Ｂにおいて同期を取る場合のタイミングについて説明する。
【０２０２】
図１８に示すように、伸張部５２４Ｂにおいて、復号部５３１Ａによる誤差Ａの復号待ちが発生し、誤差Ａの復号を待って、コンテクストに応じた符号表が選択される。また、画素マージ待ちが発生する。
【０２０３】
以上説明したように、第５の実施の形態に係る画像圧縮伸張装置によれば、コンテクストベースの予測符号化を行う場合であっても、画像を並列に伸張しない場合と比較して、圧縮率を低下させずに、画像伸張装置によって、並列に画像を伸張することができる。
【０２０４】
また、隣接する画素の画素値又は誤差値を用いて、誤差演算を行うと共に、コンテクストを決定しているので、圧縮率を低下させずに、画像データの圧縮、伸張を行うことができる。
【０２０５】
また、隣接する画素の画素値を用いてコンテクストを決定する場合に比べて、隣接する画素の画素値が確定するのを待たなくても、コンテクストを決定することができるため、コンテクストに応じた符号表を用いて、並列に画像を伸張することができる。
【０２０６】
なお、上記の実施の形態では、決定されたコンテクスト番号に応じて符号表を選択した場合を例に説明したが、これに限定されるものではなく、コンテクスト毎に誤差値の計数を行い、誤差値の累積値に応じて符号表を選択するようにしてもよい。
【０２０７】
また、符号表が２種類である場合を例に説明したが、これに限定されるものではなく、３種類以上のＮ種類の符号表が用意されていてもよい。この場合には、Ｎ種類の符号表の各々を用いた場合に対応して、伸張された対象画素の画素値の候補を求めておき、符号表が確定したとき、Ｎ種類の符号表に対応して求められた画素値の候補から、確定した符号表に対応する画素値を選択するようにすればよい。
【０２０８】
また、２つの連続する画素を対象画素群として、対象画素群の２つの対象画素に対して、並列に復号処理及び逆予測処理を行う場合を例に説明したが、これに限定されるものではなく、３つ以上のＮ個の連続する画素を対象画素群として、対象画素群のＮ個の対象画素に対して、並列に復号処理及び逆予測処理を行うようにしてもよい。この場合には、符号ストリームとして、Ｎ列の符号ストリームを生成して、画像伸張装置に入力するようにすればよい。
【０２０９】
また、画像圧縮伸張システムの各部をコンピュータや電子回路で実現する場合を例に説明したが、画像圧縮装置の各機能を、コンピュータのプログラムで実現するようにしてもよく、また、画像伸張装置の各機能を、コンピュータのプログラムで実現するようにしてもよい。
【図面の簡単な説明】
【０２１０】
【図１】本発明の第１の実施の形態に係る画像圧縮伸張システムの構成を示すブロック図である。
【図２】予測処理及び逆予測処理を説明するための図である。
【図３】２つの符号ストリームを示すイメージ図である。
【図４】一般式に拡張した場合の予測処理及び逆予測処理を説明するための図である。
【図５】２つの伸張部で同期をとる場合のタイミングを示す図である。
【図６】本発明の第２の実施の形態に係る画像圧縮伸張システムの構成を示すブロック図である。
【図７】偶数箇所の画素に対して伸張を行う伸張部におけるＩＤ符号と処理内容との関係を示す図である。
【図８】奇数箇所の画素に対して伸張を行う伸張部におけるＩＤ符号と処理内容との関係を示す図である。
【図９】双方で誤差ＩＤであると解釈された場合に、２つの伸張部で同期をとる場合のタイミングを示す図である。
【図１０】偶数箇所の画素に対してランＩＤであると解釈され、かつ、奇数箇所の画素に対して誤差ＩＤであると解釈された場合に、２つの伸張部で同期をとる場合のタイミングを示す図である。
【図１１】本発明の第３の実施の形態に係る画像圧縮伸張システムの構成を示すブロック図である。
【図１２】奇数箇所の画素に対して伸張を行う伸張部におけるＩＤ符号と処理内容との関係を示す図である。
【図１３】偶数箇所の画素に対してランＩＤであると解釈された場合に、２つの伸張部で同期をとる場合のタイミングを示す図である。
【図１４】双方で誤差ＩＤであると解釈された場合に、２つの伸張部で同期をとる場合のタイミングを示す図である。
【図１５】ヘッダと等長の符号とからなるブロックを示すイメージ図である。
【図１６】本発明の第４の実施の形態に係る画像圧縮伸張システムの構成を示すブロック図である。
【図１７】コンテクストモデルを説明するための図である。
【図１８】２つの伸張部で同期をとる場合のタイミングを示す図である。
【符号の説明】
【０２１１】
１０、２１０、３１０、５１０  画像圧縮伸張システム
１２、２１２、３１２、５１２  画像圧縮装置
１４、２１４、３１４、５１４  画像伸張装置
１８Ａ、１８Ｂ、２１８Ａ、２１８Ｂ、３１８、５１８Ａ、５１８Ｂ  圧縮部
２０Ａ、２０Ｂ、２２０Ａ、２２０Ｂ、３２０  予測部
２２Ａ、２２Ｂ、２２２Ａ、２２２Ｂ、３２２、５２２Ａ、５２２Ｂ  符号化部
２４Ａ、２４Ｂ、２２４Ａ、２２４Ｂ、３２４Ａ、３２４Ｂ、５２４Ａ、５２４Ｂ  伸張部
２６、３２６  マージ部
３０Ａ、３０Ｂ、２３１Ａ、２３１Ｂ、３３１Ａ、３３１Ｂ、５３１Ａ、５３１Ｂ、５３１Ｃ  復号部
３２Ａ、３２Ｂ、２３２Ａ、２３６Ｂ、２３７Ｂ、３３６Ｂ、５３２Ｂ、５３２Ｃ  逆予測部
２１９Ａ、２１９Ｂ、３１９  ラン計数部
２２１Ａ、２２１Ｂ、３２１  ＩＤ符号化部
２３０Ａ、２３０Ｂ、３３０Ａ、３３０Ｂ  ＩＤ復号部
２３２Ｂ、３３２Ｂ  制御部
２３３Ａ、２３３Ｂ  ラン保持部
２３４Ａ、２３４Ｂ、３３４Ａ、３３４Ｂ、３３５Ｂ  ラン展開部
３２３  分割部
５２０Ａ、５２０Ｂ、５３０Ａ、５３４Ｂ  コンテクストモデル部
５３６Ｂ  選択部
【図１】
2010130635.tif 000003
【図２】
2010130635.tif 000004
【図３】
2010130635.tif 000005
【図４】
2010130635.tif 000006
【図５】
2010130635.tif 000007
【図６】
2010130635.tif 000008
【図７】
2010130635.tif 000009
【図８】
2010130635.tif 000010
【図９】
2010130635.tif 000011
【図１０】
2010130635.tif 000012
【図１１】
2010130635.tif 000013
【図１２】
2010130635.tif 000014
【図１３】
2010130635.tif 000015
【図１４】
2010130635.tif 000016
【図１５】
2010130635.tif 000017
【図１６】
2010130635.tif 000018
【図１７】
2010130635.tif 000019
【図１８】
2010130635.tif 000020