(57)【特許請求の範囲】
【請求項１】
（ａ）タグ値および画素値がともに同一である一連の画素を、当該タグ値、画素値、境界座標値、および当該一連の画素のランレングスからなるデータ単位で表現した画像データと、（ｂ）タグ値が同一である一連の画素を、当該タグ値、境界座標値、および当該一連の画素の一連の画素値を記憶する参照先領域へ参照アドレス、および当該一連の画素のランレングスからなるデータ単位で表現した画像データとの少なくとも一方からなる画像データ（以下合成拡張画像と呼ぶ）を生成する合成拡張画像生成部と、
前記合成拡張画像を入力とし、タグ値および画素値を画素ごとに一まとめにしたデータを近傍画素のデータを参照して予測符号化した予測符号をランレングスを用いて表現したランレングス符号を生成する符号化部と、
前記符号化部で生成されるランレングス符号を出力する符号出力部とを有し、
上記符号化部は、
画素が、上記（ａ）の画像データで表現される場合には、当該（ａ）の画像データに含まれる単一の画素値を画素値として出力し、画素が、上記（ｂ）の画像データで表現される場合には、当該（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値のうちの１つを、当該画素の座標値に応じて、出力する画素値出力手段を具備し、
前記符号化部で行われる符号化処理は、入力された上記合成拡張画像のデータ単位ごとに、上記画素値出力手段を用いて一連の画素値を出力し、当該一連の画素値と単一のタグ値とを予測画素値および予測タグ値と照合してその照合結果に基づいて予測符号のランレングスを生成して上記合成拡張画像のデータ単位を上記ランレングス符号に変換する処理であり、
前記合成拡張画像は、ヘッダ情報と上記ヘッダ情報に続く１または複数のデータ単位とからなり、上記ヘッダ情報は、当該ヘッダ情報に続く１または複数のデータ単位が上記（ａ）の画像データの形式のみであること、または上記（ｂ）の画像データの形式のみであることを示すデータ単位種類情報を含み、前記符号化部は、ヘッダ情報のデータ単位種類情報が、当該ヘッダ情報に続く上記データ単位が上記（ａ）の画像データの形式のみであることを示す場合には、当該ヘッダ情報に続くデータ単位について、上記（ａ）の画像データに含まれる単一の画素値を画素値として出力する処理を実行し、ヘッダ情報のデータ種類情報が、上記データ単位が上記（ｂ）の画像データの形式のみであることを示す場合には、当該ヘッダ情報に続くデータ単位について、上記（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値を出力する処理を実行して、上記符号化処理を行うことを特徴とする画像符号化装置。
【請求項２】
（ａ）タグ値および画素値がともに同一である一連の画素を、当該タグ値、画素値、境界座標値、および当該一連の画素のランレングスからなるデータ単位で表現した画像データと、（ｂ）タグ値が同一である一連の画素を、当該タグ値、境界座標値、および当該一連の画素の一連の画素値を記憶する参照先領域へ参照アドレス、および当該一連の画素のランレングスからなるデータ単位で表現した画像データとの少なくとも一方からなる画像データ（以下合成拡張画像と呼ぶ）を生成する合成拡張画像生成部と、
前記合成拡張画像を入力とし、タグ値および画素値を画素ごとに一まとめにしたデータを近傍画素のデータを参照して予測符号化した予測符号をランレングスを用いて表現したランレングス符号を生成する符号化部と、
前記符号化部で生成されるランレングス符号を出力する符号出力部とを有し、
上記符号化部は、
画素が、上記（ａ）の画像データで表現される場合には、当該（ａ）の画像データに含まれる単一の画素値を画素値として出力し、画素が、上記（ｂ）の画像データで表現される場合には、当該（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値のうちの１つを、当該画素の座標値に応じて、出力する画素値出力手段を具備し、
前記符号化部で行われる符号化処理は、入力された上記合成拡張画像のデータ単位ごとに、上記画素値出力手段を用いて一連の画素値を出力し、当該一連の画素値と単一のタグ値とを予測画素値および予測タグ値と照合してその照合結果に基づいて予測符号のランレングスを生成して上記合成拡張画像のデータ単位を上記ランレングス符号に変換する処理であり、
前記合成拡張画像は、ヘッダ情報と上記ヘッダ情報に続く１または複数のデータ単位とからなり、上記ヘッダ情報は、当該ヘッダ情報に続く１または複数のデータ単位のタグ値の種類を示すタグ種類情報を含み、ヘッダ情報のタグ種類情報が、当該ヘッダ情報に続くデータ単位のタグ値が単一の値であることを示す場合には、タグ値と予測タグ値との照合を省略することを特徴とする画像符号化装置。
【請求項３】
（ａ）タグ値および画素値がともに同一である一連の画素を、当該タグ値、画素値、境界座標値、および当該一連の画素のランレングスからなるデータ単位で表現した画像データと、（ｂ）タグ値が同一である一連の画素を、当該タグ値、境界座標値、および当該一連の画素の一連の画素値を記憶する参照先領域へ参照アドレス、および当該一連の画素のランレングスからなるデータ単位で表現した画像データとの少なくとも一方からなる画像データ（以下合成拡張画像と呼ぶ）を生成する合成拡張画像生成部と、
前記合成拡張画像を入力とし、タグ値および画素値を画素ごとに一まとめにしたデータを近傍画素のデータを参照して予測符号化した予測符号をランレングスを用いて表現したランレングス符号を生成する符号化部と、
前記符号化部で生成されるランレングス符号を出力する符号出力部とを有し、
上記符号化部は、
画素が、上記（ａ）の画像データで表現される場合には、当該（ａ）の画像データに含まれる単一の画素値を画素値として出力し、画素が、上記（ｂ）の画像データで表現される場合には、当該（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値のうちの１つを、当該画素の座標値に応じて、出力する画素値出力手段を具備し、
前記符号化部で行われる符号化処理は、入力された上記合成拡張画像のデータ単位ごとに、上記画素値出力手段を用いて一連の画素値を出力し、当該一連の画素値と単一のタグ値とを予測画素値および予測タグ値と照合してその照合結果に基づいて予測符号のランレングスを生成して上記合成拡張画像のデータ単位を上記ランレングス符号に変換する処理であり、
前記合成拡張画像は、ヘッダ情報と上記ヘッダ情報に続く１または複数のデータ単位とからなり、上記ヘッダ情報は、当該ヘッダ情報に続く１または複数のデータ単位の一連の画素の画素値の異なり画素値数が１であることを示す画素値数情報を含み、ヘッダ情報の画素値数情報が異なり画素値数が１であることを示す場合に、当該画素値と予測画素値との照合を省略することを特徴とする画像符号化装置。
【請求項４】
合成拡張画像生成部が、（ａ）タグ値および画素値がともに同一である一連の画素を、当該タグ値、画素値、境界座標値、および当該一連の画素のランレングスからなるデータ単位で表現した画像データと、（ｂ）タグ値が同一である一連の画素を、当該タグ値、境界座標値、および当該一連の画素の一連の画素値を記憶する参照先領域へ参照アドレス、および当該一連の画素のランレングスからなるデータ単位で表現した画像データとの少なくとも一方からなる画像データ（以下合成拡張画像と呼ぶ）を生成する合成拡張画像生成ステップと、
符号化部が、前記合成拡張画像を入力とし、タグ値および画素値を画素ごとに一まとめにしたデータを近傍画素のデータを参照して予測符号化した予測符号をランレングスを用いて表現したランレングス符号を生成する符号化ステップと、
符号出力部が、前記符号化部で生成されるランレングス符号を出力する出力ステップとを有し、
上記符号化ステップは、
画素が、上記（ａ）の画像データで表現される場合には、当該（ａ）の画像データに含まれる単一の画素値を画素値として出力し、画素が、上記（ｂ）の画像データで表現される場合には、当該（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値のうちの１つを、当該画素の座標値に応じて、出力するサブステップを有し、
上記符号化ステップは、入力された上記合成拡張画像のデータ単位ごとに、上記画素値出力手段を用いて一連の画素値を出力し、当該一連の画素値と単一のタグ値とを予測画素値および予測タグ値と照合してその照合結果に基づいて予測符号のランレングスを生成して上記合成拡張画像のデータ単位を上記ランレングス符号に変換する処理であり、
前記合成拡張画像は、ヘッダ情報と上記ヘッダ情報に続く１または複数のデータ単位とからなり、上記ヘッダ情報は、当該ヘッダ情報に続く１または複数のデータ単位が上記（ａ）の画像データの形式のみであること、または上記（ｂ）の画像データの形式のみであることを示すデータ単位種類情報を含み、前記符号化部は、ヘッダ情報のデータ単位種類情報が、当該ヘッダ情報に続く上記データ単位が上記（ａ）の画像データの形式のみであることを示す場合には、当該ヘッダ情報に続くデータ単位について、上記（ａ）の画像データに含まれる単一の画素値を画素値として出力する処理を実行し、ヘッダ情報のデータ種類情報が、上記データ単位が上記（ｂ）の画像データの形式のみであることを示す場合には、当該ヘッダ情報に続くデータ単位について、上記（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値を出力する処理を実行して、上記符号化処理を行うことを特徴とする画像符号化方法。
【請求項５】
合成拡張画像生成部が、（ａ）タグ値および画素値がともに同一である一連の画素を、当該タグ値、画素値、境界座標値、および当該一連の画素のランレングスからなるデータ単位で表現した画像データと、（ｂ）タグ値が同一である一連の画素を、当該タグ値、境界座標値、および当該一連の画素の一連の画素値を記憶する参照先領域へ参照アドレス、および当該一連の画素のランレングスからなるデータ単位で表現した画像データとの少なくとも一方からなる画像データ（以下合成拡張画像と呼ぶ）を生成する合成拡張画像生成ステップと、
符号化部が、前記合成拡張画像を入力とし、タグ値および画素値を画素ごとに一まとめにしたデータを近傍画素のデータを参照して予測符号化した予測符号をランレングスを用いて表現したランレングス符号を生成する符号化ステップと、
符号出力部が、前記符号化部で生成されるランレングス符号を出力する出力ステップとを有し、
上記符号化ステップは、
画素が、上記（ａ）の画像データで表現される場合には、当該（ａ）の画像データに含まれる単一の画素値を画素値として出力し、画素が、上記（ｂ）の画像データで表現される場合には、当該（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値のうちの１つを、当該画素の座標値に応じて、出力するサブステップを有し、
上記符号化ステップは、入力された上記合成拡張画像のデータ単位ごとに、上記画素値出力手段を用いて一連の画素値を出力し、当該一連の画素値と単一のタグ値とを予測画素値および予測タグ値と照合してその照合結果に基づいて予測符号のランレングスを生成して上記合成拡張画像のデータ単位を上記ランレングス符号に変換する処理であり、
前記合成拡張画像は、ヘッダ情報と上記ヘッダ情報に続く１または複数のデータ単位とからなり、上記ヘッダ情報は、当該ヘッダ情報に続く１または複数のデータ単位のタグ値の種類を示すタグ種類情報を含み、ヘッダ情報のタグ種類情報が、当該ヘッダ情報に続くデータ単位のタグ値が単一の値であることを示す場合には、タグ値と予測タグ値との照合を省略することを特徴とする画像符号化方法。
【請求項６】
合成拡張画像生成部が、（ａ）タグ値および画素値がともに同一である一連の画素を、当該タグ値、画素値、境界座標値、および当該一連の画素のランレングスからなるデータ単位で表現した画像データと、（ｂ）タグ値が同一である一連の画素を、当該タグ値、境界座標値、および当該一連の画素の一連の画素値を記憶する参照先領域へ参照アドレス、および当該一連の画素のランレングスからなるデータ単位で表現した画像データとの少なくとも一方からなる画像データ（以下合成拡張画像と呼ぶ）を生成する合成拡張画像生成ステップと、
符号化部が、前記合成拡張画像を入力とし、タグ値および画素値を画素ごとに一まとめにしたデータを近傍画素のデータを参照して予測符号化した予測符号をランレングスを用いて表現したランレングス符号を生成する符号化ステップと、
符号出力部が、前記符号化部で生成されるランレングス符号を出力する出力ステップとを有し、
上記符号化ステップは、
画素が、上記（ａ）の画像データで表現される場合には、当該（ａ）の画像データに含まれる単一の画素値を画素値として出力し、画素が、上記（ｂ）の画像データで表現される場合には、当該（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値のうちの１つを、当該画素の座標値に応じて、出力するサブステップを有し、
上記符号化ステップは、入力された上記合成拡張画像のデータ単位ごとに、上記画素値出力手段を用いて一連の画素値を出力し、当該一連の画素値と単一のタグ値とを予測画素値および予測タグ値と照合してその照合結果に基づいて予測符号のランレングスを生成して上記合成拡張画像のデータ単位を上記ランレングス符号に変換する処理であり、
前記合成拡張画像は、ヘッダ情報と上記ヘッダ情報に続く１または複数のデータ単位とからなり、上記ヘッダ情報は、当該ヘッダ情報に続く１または複数のデータ単位の一連の画素の画素値の異なり画素値数が１であることを示す画素値数情報を含み、ヘッダ情報の画素値数情報が異なり画素値数が１であることを示す場合に、当該画素値と予測画素値との照合を省略することを特徴とする画像符号化方法。
【請求項７】
合成拡張画像生成部が、（ａ）タグ値および画素値がともに同一である一連の画素を、当該タグ値、画素値、境界座標値、および当該一連の画素のランレングスからなるデータ単位で表現した画像データと、（ｂ）タグ値が同一である一連の画素を、当該タグ値、境界座標値、および当該一連の画素の一連の画素値を記憶する参照先領域へ参照アドレス、および当該一連の画素のランレングスからなるデータ単位で表現した画像データとの少なくとも一方からなる画像データ（以下合成拡張画像と呼ぶ）を生成する合成拡張画像生成ステップと、
符号化部が、前記合成拡張画像を入力とし、タグ値および画素値を画素ごとに一まとめにしたデータを近傍画素のデータを参照して予測符号化した予測符号をランレングスを用いて表現したランレングス符号を生成する符号化ステップと、
符号出力部が、前記符号化部で生成されるランレングス符号を出力する出力ステップとをコンピュータに実行させる画像符号化用コンピュータプログラムであって、
上記符号化ステップは、
画素が、上記（ａ）の画像データで表現される場合には、当該（ａ）の画像データに含まれる単一の画素値を画素値として出力し、画素が、上記（ｂ）の画像データで表現される場合には、当該（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値のうちの１つを、当該画素の座標値に応じて、出力するサブステップを有し、
上記符号化ステップは、入力された上記合成拡張画像のデータ単位ごとに、上記画素値出力手段を用いて一連の画素値を出力し、当該一連の画素値と単一のタグ値とを予測画素値および予測タグ値と照合してその照合結果に基づいて予測符号のランレングスを生成して上記合成拡張画像のデータ単位を上記ランレングス符号に変換する処理であり、
前記合成拡張画像は、ヘッダ情報と上記ヘッダ情報に続く１または複数のデータ単位とからなり、上記ヘッダ情報は、当該ヘッダ情報に続く１または複数のデータ単位が上記（ａ）の画像データの形式のみであること、または上記（ｂ）の画像データの形式のみであることを示すデータ単位種類情報を含み、前記符号化部は、ヘッダ情報のデータ単位種類情報が、当該ヘッダ情報に続く上記データ単位が上記（ａ）の画像データの形式のみであることを示す場合には、当該ヘッダ情報に続くデータ単位について、上記（ａ）の画像データに含まれる単一の画素値を画素値として出力する処理を実行し、ヘッダ情報のデータ種類情報が、上記データ単位が上記（ｂ）の画像データの形式のみであることを示す場合には、当該ヘッダ情報に続くデータ単位について、上記（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値を出力する処理を実行して、上記符号化処理を行うことを特徴とする画像符号化用コンピュータプログラム。
【請求項８】
合成拡張画像生成部が、（ａ）タグ値および画素値がともに同一である一連の画素を、当該タグ値、画素値、境界座標値、および当該一連の画素のランレングスからなるデータ単位で表現した画像データと、（ｂ）タグ値が同一である一連の画素を、当該タグ値、境界座標値、および当該一連の画素の一連の画素値を記憶する参照先領域へ参照アドレス、および当該一連の画素のランレングスからなるデータ単位で表現した画像データとの少なくとも一方からなる画像データ（以下合成拡張画像と呼ぶ）を生成する合成拡張画像生成ステップと、
符号化部が、前記合成拡張画像を入力とし、タグ値および画素値を画素ごとに一まとめにしたデータを近傍画素のデータを参照して予測符号化した予測符号をランレングスを用いて表現したランレングス符号を生成する符号化ステップと、
符号出力部が、前記符号化部で生成されるランレングス符号を出力する出力ステップとをコンピュータに実行させる画像符号化用コンピュータプログラムであって、
上記符号化ステップは、
画素が、上記（ａ）の画像データで表現される場合には、当該（ａ）の画像データに含まれる単一の画素値を画素値として出力し、画素が、上記（ｂ）の画像データで表現される場合には、当該（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値のうちの１つを、当該画素の座標値に応じて、出力するサブステップを有し、
上記符号化ステップは、入力された上記合成拡張画像のデータ単位ごとに、上記画素値出力手段を用いて一連の画素値を出力し、当該一連の画素値と単一のタグ値とを予測画素値および予測タグ値と照合してその照合結果に基づいて予測符号のランレングスを生成して上記合成拡張画像のデータ単位を上記ランレングス符号に変換する処理であり、
前記合成拡張画像は、ヘッダ情報と上記ヘッダ情報に続く１または複数のデータ単位とからなり、上記ヘッダ情報は、当該ヘッダ情報に続く１または複数のデータ単位のタグ値の種類を示すタグ種類情報を含み、ヘッダ情報のタグ種類情報が、当該ヘッダ情報に続くデータ単位のタグ値が単一の値であることを示す場合には、タグ値と予測タグ値との照合を省略することを特徴とする画像符号化用コンピュータプログラム。
【請求項９】
合成拡張画像生成部が、（ａ）タグ値および画素値がともに同一である一連の画素を、当該タグ値、画素値、境界座標値、および当該一連の画素のランレングスからなるデータ単位で表現した画像データと、（ｂ）タグ値が同一である一連の画素を、当該タグ値、境界座標値、および当該一連の画素の一連の画素値を記憶する参照先領域へ参照アドレス、および当該一連の画素のランレングスからなるデータ単位で表現した画像データとの少なくとも一方からなる画像データ（以下合成拡張画像と呼ぶ）を生成する合成拡張画像生成ステップと、
符号化部が、前記合成拡張画像を入力とし、タグ値および画素値を画素ごとに一まとめにしたデータを近傍画素のデータを参照して予測符号化した予測符号をランレングスを用いて表現したランレングス符号を生成する符号化ステップと、
符号出力部が、前記符号化部で生成されるランレングス符号を出力する出力ステップとをコンピュータに実行させる画像符号化用コンピュータプログラムであって、
上記符号化ステップは、
画素が、上記（ａ）の画像データで表現される場合には、当該（ａ）の画像データに含まれる単一の画素値を画素値として出力し、画素が、上記（ｂ）の画像データで表現される場合には、当該（ｂ）の画像データに含まれる参照アドレスにより参照される参照先領域に保持されている一連の画素値のうちの１つを、当該画素の座標値に応じて、出力するサブステップを有し、
上記符号化ステップは、入力された上記合成拡張画像のデータ単位ごとに、上記画素値出力手段を用いて一連の画素値を出力し、当該一連の画素値と単一のタグ値とを予測画素値および予測タグ値と照合してその照合結果に基づいて予測符号のランレングスを生成して上記合成拡張画像のデータ単位を上記ランレングス符号に変換する処理であり、
前記合成拡張画像は、ヘッダ情報と上記ヘッダ情報に続く１または複数のデータ単位とからなり、上記ヘッダ情報は、当該ヘッダ情報に続く１または複数のデータ単位の一連の画素の画素値の異なり画素値数が１であることを示す画素値数情報を含み、ヘッダ情報の画素値数情報が異なり画素値数が１であることを示す場合に、当該画素値と予測画素値との照合を省略することを特徴とする画像符号化用コンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像を低コストでかつ高速に符号化する技術に関するものである。
【０００２】
【従来の技術】
近年、文書のカラー化が急速に進行しており、文書のデータ量は以前の数倍に肥大化している。そこで、文書の入出力時間を短縮するため、高速・高圧縮可能なカラー画像用圧縮符号化方式が望まれる。
【０００３】
特に最近では、タグ付画像と呼ばれる画像形式のように、付加情報の付随した、さらに複雑な画像を扱わなければならなくなってきている。通常プリンタなどの出力機器に対しては、出力したい画素値データだけを送る。しかし出力機器によっては同じ画素値でも、出力パラメータを調整して異なる印字を行なえるものが存在する。この出力パラメータをここでは仮にタグと呼ぶことにする。出力パラメータの調整が可能な出力機器に対しては、画素単位に最適なタグを設定してやることが望ましい。タグ付き画像の例を図１４に示す。例えば、タグを文字領域に配置することにより、文字部分の解像度をその他の部分に対して高いものとし、他方、文字部分の階調をその他の部分に対して低いものとすることができる（図ではそのように示されていないが、「実際の画像」はそのようになる）。
【０００４】
このタグのように、画素値以外で画素単位の情報のことを付加情報と呼ぶ。また付加情報と画像情報とを組み合わせたものを拡張画像と呼ぶ。
【０００５】
拡張画像をプリンタで印刷する例で考えた場合、ＣＭＹＫ／８ｂｉｔ／Ａ４／６００ｄｐｉ（ドット／２５．４ｍｍ）では画素情報だけで１２８ＭＢになる。このデータ量はシステムにおいて、非常に高い負荷になるので、何らかの圧縮を用いて扱うことが一般的である。
【０００６】
付加情報はデータ量としては画素情報より小さいことが多い。しかし前述したとおり画素値を圧縮するのが一般的であり、例えば１／１０くらいの符号に変換して、画素値の通信、蓄積を行う。この符号に付加情報を圧縮なしにつけると、たとえ付加情報のデータ量が画素値の１／１０だったとしても、画像情報の１／１０だった符号データが倍増することになり、好ましくない。しかし、付加情報を圧縮することができればばこの問題は解決できる。
【０００７】
拡張画像を圧縮して扱う従来例として特開２０００−９２３３３号公報がある。この従来例では、画像符号化復号装置に、付加情報および画像情報からなる拡張画像を入力する拡張画像入力手段と、前記拡張画像を付加情報と画像情報に分解する拡張画像分解手段と、前記付加情報と画像情報を符号化する符号化手段と、前記符号化手段で生成される符号を出力する符号出力手段と、符号情報を入力する符号入力手段と、前記符号情報を復号する復号手段と、前記復号手段で復号される付加情報および画像情報を出力する拡張画像出力手段とを設け、前記符号化手段で行われる符号化処理および前記復号手段で行われる復号処理において、付加情報および画像情報をまとめて１つの情報として処理するようにしている。
【０００８】
この構成においては、画像情報と付加情報とを符号化時に同時に参照できるので効率よく符号化を行なうことができる。また、付加情報用に専用の符号化部を設ける必要がないので制御が簡素になり、実装も簡略化できるという特徴がある。
【０００９】
図１５は、従来例の処理手順を説明するフローチャートである。ここでは、拡張画像としてスキャンラインやバンドなど、複数画素を一度に入力する形態を想定している。説明の都合上、スキャンライン単位で入力する場合を説明する。
［ステップＳ１０］：まず初めに、一ライン分の拡張画像データおよびスキャンラインの幅が拡張画像生成部より符号化部に入力され、座標値が初期化され（初期値は０）、ループに入る（一ライン分の処理ループ）。
［ステップＳ１１］：次に、拡張画像データに対して、現在の座標値を元に画素位置の設定が行なわれる。例えば、ポインタを画素位置に対応する画素に設定する等の処理が行なわれる。
［ステップＳ１２］：次に、図１６に示される予測処理が行なわれる。図１６については後で説明する。予測処理が終わると、予測結果としてどの予測器がヒットしたか（ハズレたか）が返される。
［ステップＳ１３］：次に、予測順位変換として、予測処理結果が予測順位に変換される。例えば、予測器が４個ある場合には、一位から四位までと予測ハズレに変換される。
［ステップＳ１４］：次に、図１７に示される符号化処理が行なわれる。図１７については後で説明する。
［ステップＳ１５］：符号化処理が終わると、予測順位一位の場合を除き、例えばＭＲＵなどを用いて、予測順位の更新が行なわれる。
［ステップＳ１６］：次に、座標値の更新として、座標値に１加える。
［ステップＳ１７］：次に、座標値とスキャンラインの幅を比較し、まだ画素が残っていると判断できる場合は、画素位置の設定（ステップＳ１１）に戻ってループが継続される。もう画素が残っていないと判断できる場合にはループを抜ける。すなわち、ステップＳ１８へ進む。
［ステップＳ１８］：ループが終わると、このライン分の符号データが出力される。
【００１０】
図１６の予測処理について説明する。ここでは予測器は複数あり、全ての予測器を参照して、最大予測ラン長をもつ予測器を選択することにする。
［ステップＳ２０］：まず初めに、現在の座標値を初期設定する。
［ステップＳ２１］：次に、比較する予測器が設定される。例えば、予測順位順に予測器を設定していくものとする。最初は一位の予測器が設定される。予測器が設定されると、対象画素の座標値と予測器の位置に応じて、予測器の座標値が設定される。
［ステップＳ２２］：次に、現在の座標値に対応する画素から対象画素のタグ値が取得される。
［ステップＳ２３］：次に、現在の座標値に対応する画素から対象画素の画素値が取得される。
［ステップＳ２４］：次に、付加情報と画素情報の統合が行われる。
［ステップＳ２５］：次に、設定された予測器の座標値に対応する画素から予測器のタグ値を取得する。
［ステップＳ２６］：次に、設定された予測器の座標値に対応する画素から予測器の画素値を取得する。
［ステップＳ２７］：次に、予測器のタグ値と予測器の画素値の統合が行われる。
［ステップＳ２８］：次に、対象画素と対象予測器の結合された値同士を比較する。
［ステップＳ２９］：比較した結果が等しければ、予測ヒットの処理として、ヒットした予測器の予測ラン長に１を加える。予測ラン長は、予測器に対応付けて保存される。
［ステップＳ３０］：そして、座標値の更新処理として、対象画素の座標値および予測器に対応する座標値に１を加えて、対象タグ値の取得に戻って処理を継続する。
［ステップＳ３１］：比較した結果が異なれば、予測ハズレなので現在の予測器に対する処理を打ち切り、全ての予測器の処理が完了したかどうか判断する。まだ予測器が残っていれば座標値の初期設定に戻って処理を継続する。
［ステップＳ３２］：全ての予測器の処理が完了した場合は、全予測結果から最大のラン長を持つ予測器を選択し、最大予測ラン長ととも予測結果として返される。
【００１１】
図１７の符号化処理を説明する。
［ステップＳ４０］：まず、順位変換された予測順位が一位であるかどうか判断される。
［ステップＳ４１］：予測順位が一位の場合には、内部情報である第一位ランカウントに対象画素分の１が加算され、符号化処理を抜ける。
［ステップＳ４２］：次に、予測順位が一位以外の場合の処理として、現在の第一位ランカウントが０かどうか判断される。０であれば、ステップＳ４４へ進む。
［ステップＳ４３］：０でなければ、以前に一位のランがカウントされているので、第一位の順位を符号化し、さらに第一位ランカウントの符号化が行われ、第一位ランカウントは０にクリアされる。
［ステップＳ４４］：次に、全予測器ハズレかどうか判断される。
［ステップＳ４５］：全予測器がハズレた場合には、画素値とタグ値についてそれぞれ補正値を算出して符号化が行われる。
［ステップＳ４６］：第一位以外の予測器が当たっている場合は（全予測器がハズレでない場合）、その順位を符号化する。
【００１２】
以上説明したとおり、この従来例では、画素値および付加情報が画素単位であるラスタ形式として扱うことを前提としている。
【００１３】
【発明が解決しようとする課題】
しかしながら、例えば特開２００１−１１１８０５号公報に示されるようにラスタ形式に展開しない描画処理方式の後段に適用した場合、結局ラスタ形式に展開する必要があり、ラスタ展開しないという特徴が失われてしまう。
【００１４】
また、特開２００１−１１１８０５号公報では画素値と付加情報とを結合して評価している。汎用の製品（例えば安価な３２ビットＣＰＵなど）で実現した場合、付加情報（１画素につき２〜８ビット）と画素情報（ＣＭＹＫ各８ビット）を単純に結合すると３２ビットを超えてしまうので、一命令で比較できない。そのため、付加情報と画素情報を結合しない状態で比較する必要があるので、比較回数が二倍になり、処理速度が低下するという問題がある。
【００１５】
さらに、予測符号化方式の問題点として、自然画が入力された場合には予測ハズレが多発し、文字図形の場合に比べて処理速度が低下するという問題もある。
【００１６】
本発明は上述の事情に鑑みてなされたもので、画像を効率的に符号化する画像符号化技術を提供することを目的とする。
【００１７】
【課題を解決するための手段】
本発明の一側面によれば、上述の目的を達成するために、画像符号化装置に：ランレングス表現による合成拡張画像を生成する合成拡張画像生成部と；前記合成拡張画像を入力とし、拡張画像を符号化処理する符号化部と；前記符号化部で生成される符号を出力する符号出力部とを設け；前記符号化部で行われる符号化処理は、入力されたランレングス表現の情報を用いて複数の画素を同時に処理するようにしている。
【００１８】
この構成によれば、ランレングス表現の単位で符号化を行うので、合成拡張画像が表す複雑な情報を効率よく符号化することができる。
【００１９】
この構成においては、前記符号化部は、例えば、予測符号化である。予測符号化には例えば特開２０００−９２３３３号公報で提案された手法を適用することができる。
【００２０】
また、前記合成拡張画像は、画素値を表現する情報以外に付加情報を含み、前記符号化部は画素値を表現する情報と付加情報とを単一の情報として符号化することが好ましい。
【００２１】
また、前記合成拡張画像を構成する要素は、同一の付加情報を持つ一連の画素群（ラン）が少なくとも一つのランレングス要素となることが好ましい。単一のランを複数に分割してそれぞれをランレングス要素としてもよい。
【００２２】
また、前記合成拡張画像には、前記合成拡張画像を構成する要素を表現する形式が単一の形式であるかどうかを示す情報を含むことが好ましい。この場合、前記符号化部は、前記合成拡張画像を構成する要素を表現する形式が単一の形式であるかどうかを示す情報に応じて、適合的に、前記合成拡張画像の符号化方法を変更することが可能である。
【００２３】
また、前記合成拡張画像には、該拡張画像内に存在する付加情報の種類を示す情報を含んでもよい。この場合、前記符号化部は、前記付加情報の種類を示す情報に応じて、適合的に、前記合成拡張画像の符号化方法を変更することが可能である。
【００２４】
また、前記合成拡張画像には、該拡張画像内に存在するユニークな画素値のマップ、または該拡張画像内に存在するユニークな画素値の数を持つことが好ましい。この場合、前記符号化部は、前記画素値のマップまたはユニークな画素値の数に応じて、適合的に、前記合成拡張画像の符号化方法を変更することが可能である。例えば、画素値の数が１か２以上かを判別し、画素値の数が１の場合には、付加情報（タグ）の値のみを用いて予測符号化等を行って、高速化を図ることができる。
【００２５】
また、前記符号化部は、前記合成拡張画像を構成する要素毎に、前記要素に付随する付加情報に応じて、予測符号化処理における参照範囲を変更するようにしてもよい。例えば、付加情報がラスタを示しているときには、予測符号化処理で予測ハズレが多くなるので、予測処理を打ち切り、処理の効率化を図る。
【００２６】
なお、本発明は装置またはシステムとして実装されるのみでなく、方法の態様で実現することも可能であり、少なくともその一部をコンピュータプログラムとして実現できることはもちろんである。
【００２７】
本発明の上述の側面および本発明の他の側面は特許請求の範囲に記載され、以下実施例を用いて詳細に説明される。
【００２８】
【発明の実施の形態】
以下、本発明を詳細に説明する。
【００２９】
［原理構成例］
まず、本発明の原理的な構成例について説明する。
【００３０】
図１は、本発明の原理的な構成を表わすブロック図である。図１において、合成拡張画像生成部１０は、合成された拡張画像を生成する。符号化部１１は、合成拡張画像生成部１０が出力した拡張画像を入力とし、後に実施例を参照して説明する符号化処理を行なって、符号データを生成する。符号出力部１２は、符号化部１１が生成した符号データを入力とし、図示しない出力装置に符号データを出力する。なお、図示しない出力装置側では、従来例特開２０００−９２３３３号公報に示されているような復号処理を行なって、最終画像として出力処理を行なう。
【００３１】
なお、合成拡張画像の合成の由来は、ＭＲＣ（Ｍｉｘｅｄ  Ｒｓｔｅｒ  Ｃｏｎｔｅｎｔ）などが分離されたプレーンで単一の画像を表現するのに対し、すでに生成部１０において単層化がなされていることを意味する。拡張画像とは、本発明の主要部であるランレングス形状を表現するための画素値以外の情報、また、種々の高速化を行なうためのヒント情報を持つことから、単なる画像とは区別するために使用している。
【００３２】
合成拡張画像の表現形式については、図面を用いて説明する。図２は、実施例で使用する拡張画像の表現形式を示している。図２において、合成拡張画像は、ヘッダ部と要素部から構成される。また、要素部の画素値の表現形式の違いにより、２種類の形態（ａ）および（ｂ）（以下、単に（ａ）形式、（ｂ）形式と呼ぶこともある）がある。（ａ）形式と（ｂ）形式の違いは、要素部の画素値の表現形式の違いである。（ａ）形式では、画素値は要素部に埋め込まれており、（ｂ）形式では、画素値は別領域への参照として表現される。要素内のフラグがこの要素がどちらの形態であるかを知ることができる。この例では、フラグ＝０が埋め込み形式、フラグ＝１が別領域参照となっている。
【００３３】
ヘッダ部は共通であり、画素情報種類、タグ情報種類、画素値数、要素数のフィールドがある。
【００３４】
画素情報種類は、図３に示したような値を取る。例えば、画素情報種類が０の場合には、このヘッダの支配する要素全体が（ａ）形式の要素で構成されることを意味する。
【００３５】
タグ情報種類は、図４に示したような値を取る。ここでは、説明の為にタグの種類として、描画オブジェクト種別を表現しており、文字、図形、ラスタの３種類で構成されるものとする。例えば、タグ情報種類が０の場合には、このヘッダの支配する要素全てのタグ値が、文字タグだけで構成されることを意味する。
【００３６】
画素値数は、このヘッダの支配する要素が保持する画素値の総色数を示す。意味のある数値としては、全要素の画素値がすべて同一である１と、１以上（色が複数職存在することを示す）が区別できれば良い。
【００３７】
要素数は、このヘッダが支配する要素の数を表わしている。要素部には、ヘッダ部の要素数で示された要素が配列形式で並んでいる。この例では、配列形式で表現したが、ヘッダの要素数を省略し、要素をリスト形式で表現しても良い。
【００３８】
図２（ａ）における要素部の一つの要素は、フラグ、タグ値、座標値、画素値、ラン長で構成される。図２（ｂ）における要素部の違いは、画素値の代わりに別領域への参照アドレスがあり、実際の画素値は参照先の領域にラン長個並んでいる。座標値は、この要素の開始座標が保持されている。ラン長は、この要素が支配する画素の範囲を示しており、終了座標は、座標値＋ラン長−１となる。
【００３９】
このような合成拡張画像形式を用いて符号化処理を行なう。
【００４０】
［実施例１］
この実施例では、以下の全ての実施例の基本型について説明する。
【００４１】
なお、説明の都合上、合成拡張画像生成部１０は、スキャンライン単位の合成拡張画像を生成することを前提として説明する。また、合成拡張画像生成部の動作については、本発明の請求の範囲に含まれないので、従来例（例えば、特開２００１−１１１８０５号公報）と同じであるとする。
【００４２】
簡単に合成拡張画像生成部１０の動作を説明すると、ＰＤＬ（ページ記述言語）などの入力データをアウトライン、台形、ビットマップ、ラスタなどの中間コードに変換して、スキャンライン単位で描画される図形の上下判定を行ない、重なり処理を行なって、重なりのない描画処理結果データを出力する。
【００４３】
スキャンラインに要素を追加する際に、文字図形の部分に対しては、（ａ）形式の要素をタグ値とともに出力し、ラスタの部分に対しては、（ｂ）形式の要素をタグ値とともに出力するように変更する。このように拡張画像の要素部は生成できる。
【００４４】
また、スキャンラインに要素を追加する際に、（ａ）形式、（ｂ）形式のどちらの要素を追加するかをカウントするようにする。スキャンライン内の要素をすべて追加した段階で、（ａ）だけがカウントされた場合には０、（ｂ）だけがカウントされた場合には１、両者がカウントされた場合には２を拡張画像ヘッダ部の画素情報種類に出力するようにする。
【００４５】
さらに、スキャンラインに要素を追加する際に、タグ情報の種類毎にカウントするようにする。スキャンライン内の要素をすべて追加した段階で、文字だけカウントされた場合には０、図形だけカウントされた場合には１、ラスタだけカウントされた場合には２、複数の描画図形がカウントされた場合には３を、拡張画像ヘッダ部のタグ情報種類に出力するようにする。
【００４６】
また、このスキャンライン上で最初に追加した要素の画素値を記憶しておき、要素を追加する毎に記憶した画素値と追加する要素の画素値を比較し、異なる場合に色数をカウントするようにする。スキャンライン内の要素をすべて追加した段階で、カウントした結果をヘッダ部の画素値数に出力するようにする。なお、最初の比較結果が異なる場合には、それ以降の比較を中止しても良い。その際には、１より大きい値を出力する。
【００４７】
このように、従来例の簡単な変更および従来例に簡単な処理を追加することで、本発明で使用する拡張画像形式を生成することができる。
【００４８】
次に、上記拡張画像を入力した場合において、従来例の特開２０００−９２３３３号公報の手法を適用した場合の処理の流れを図５から図７を用いて説明する。
【００４９】
図５は、一ラインの処理の流れを示している。
【００５０】
［ステップＳ５０］：まず初めに、一ライン分の拡張画像データが拡張画像生成部より符号化部に入力され、座標値が初期化され（初期値は０）、外側のループに入る（一ライン分の処理ループ）。
［ステップＳ５１］：次に、拡張画像データから一要素を取得し、対象ラン長として、この要素のラン長が設定され、内側のループに入る（一要素の分の処理ループ）。
［ステップＳ５２］：次に、図６に示される予測処理が行なわれる。図６については後で説明する。予測処理が終わると予測結果として、どの予測器がヒットしたか（ハズレたか）、ヒットしたラン長情報とともに返される。
［ステップＳ５３］：次に、予測順位変換として、予測結果が予測順位に変換される。例えば、予測器が４個ある場合には、一位から四位までと予測ハズレに変換される。
［ステップＳ５４］：次に、予測順位、ヒットしたラン長を入力として、符号化処理が行なわれる。符号化処理は従来例と同様で、異なる点は図１７のランカウント更新の処理が１加算するのではなく、ヒットしたラン長を加算することが異なるだけである。
［ステップＳ５５］：符号化処理が終わると、予測順位一位の場合を除き、例えばＭＲＵ（Ｍｏｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）などを用いて、予測順位の更新が行なわれる。
［ステップＳ５６］：次に、対象ラン長の更新として、予測がヒットした場合は予測処理で返されたラン長を対象ラン長から減算する。予測が外れた場合は対象ラン長を１減らす。さらに、座標値の更新として、対象ラン長の減算処理に用いた値を座標値に加える。
［ステップＳ５７］：次に、対象要素の残りラン長を調べ、０でなければ引き続き予測処理（ステップＳ５２）に戻って処理が継続される。０の場合には、対象要素の終了なので、内側のループを抜ける。
［ステップＳ５８］：内側のループが終わると、対象要素数と処理した要素数を比較する。まだ要素が残っている場合は、一要素の取得に戻って外側のループが継続される。もう要素が残っていない場合には、外側のループを抜ける。
［ステップＳ５９］：外側のループが終わると、このライン分の符号データが出力される。
【００５１】
つぎに図６の予測処理（ステップＳ５２）を説明する。従来例と同様（図１６の処理に対応する）に、ここでは予測器は複数あり、全ての予測器を参照して、最大予測ラン長をもつ予測器を選択することにする。それ以外の方法として、予測順位に基づいて、予測がヒットするまで予測を継続し、ヒットした予測器を選択する方法もある。対象範囲の決定方法については、必要に応じて変更して構わない。
【００５２】
［ステップＳ６０］：まず初めに、現在の座標値を初期設定する。
［ステップＳ６１］：次に、比較する予測器が設定される。例えば、予測順位順に予測器を設定していくものとする。最初は一位の予測器が設定される。予測器が設定されると、対象画素の座標値と予測器の位置に応じて、予測器の座標値が設定される。
［ステップＳ６２］：次に、現在の座標値に対応する対象画素のタグ値が取得される（対象要素のタグ値フィールドの値）。
［ステップＳ６３］：次に、図７に示される座標値の取得処理が対象画素について実行される。図７については後で説明する。
［ステップＳ６４］：次に、設定された予測器の座標値に対応する予測タグ値を取得する。
［ステップＳ６５］：次に、設定された予測器の座標値に対応する予測画素値を取得する処理が実行される。これも、図７の処理が行なわれる。
［ステップＳ６６］：次に、対象予測器のタグ値と対象画素のタグ値を比較する。比較した結果が異なれば予測ハズレの処理（ステップＳ７０）へ行く。
［ステップＳ６７］：次に、タグ値が等しい場合の処理として、対象予測器の画素値と対象画素の画素値を比較する。比較した結果が異なれば予測ハズレの処理（ステップＳ７０）へ行く。
［ステップＳ６８〜Ｓ６９］：次に、タグ値も画素値も等しい場合の処理（予測ヒットの処理）として、ヒットした予測器の残りラン長と対象要素の残りラン長から、短い方のラン長がヒットしたラン長として予測ラン長に加算される。予測ラン長は、予測器に対応付けて保存される。そして座標値の更新処理として、対象画素の座標値および予測器に対応する座標値に今回ヒットしたラン長を加えて、対象タグ値の取得に戻って処理を継続する。
［ステップＳ７０］：予測ハズレの処理として、現在の予測器に対する処理を打ち切り、全ての予測器の処理が完了したかどうか判断する。まだ予測器が残っていれば座標値の初期設定（ステップＳ６０）に戻って処理を継続する。
［ステップＳ７１］：全ての予測器の処理が完了した場合は、全予測結果から最大のラン長を持つ予測器を選択し、最大予測ラン長とともに予測結果として返される。
【００５３】
図７の画素値の取得について説明する。
【００５４】
［ステップＳ８０］：まず初めに、現在の対象要素のフラグフィールドが０かどうかチェックする。
［ステップＳ８１］：０の場合、要素に埋め込まれている画素値を返す。
［ステップＳ８２〜８４］：１の場合、現在の座標値と要素の開始座標値との差を求め、要素の参照先アドレスにこの差分を加算して、取得した画素値を保持するアドレスを求めて、このアドレスから画素値を取得して返す。
【００５５】
符号化処理によって出力されるデータは、図８に示す情報を保持する。図８（ａ）は、第一位の予測器がヒットした場合に出力される符号である。この場合、第一位を表わすデータとヒットしたラン長が保持される。図８（ｂ）は、第一位以外の予測器がヒットした場合に出力される符号である。この場合、順位を表わすデータだけが保持される。図８（ｃ）は、全予測器がハズレた場合に出力される符号である。この場合、予測がハズレたことを表わすデータ、画素値の補正データとタグ値の補正データが保持される。
【００５６】
このように、従来例と同じ符号データを出力できることが分かる。したがって、従来例と同様の復号処理が行なえるので、復号処理についての説明は省略する。
【００５７】
この実施例の基本型の高速化寄与について説明する。従来は、画素単位で付加情報ならびに画素値を比較していたのに対して、本発明はラン長分の画素を一度に比較できる点で優れている。すなわち、同一の色が連続しやすい簡単な文書では効果が高い。また、複数予測器を使用した場合には、予測器の個数分だけ比較回数が増加するので、さらに効果が高くなる。
【００５８】
なお、説明では拡張画像を扱うことを前提としているが、画素値の比較回数を削減できると言う意味で、付加情報がない場合にも有効であることは言うまでもない。
【００５９】
［実施例２］
この実施例では、拡張画像ヘッダに含まれる画素情報種類を用いた高速化方法について説明する。
【００６０】
まず、前提条件として、拡張画像ヘッダに含まれる画素情報種類が２の場合、すなわち画素情報が図２（ａ）と図２（ｂ）の混在形式であるため、これから説明する高速化手法は適用できない。この場合には、今まで説明した一般的な処理手順で処理すれば良い。
【００６１】
この高速化が適用できる実例と頻度として、ビジネス文書が挙げられる。プレゼンテーション書類を除き、通常文字と図形で構成されることが多いので、単一の画像情報種類になることは非常に多い。個人ユースにおいても、写真だけを出力するような場面が増えていることも挙げられる。そのため、この高速化の使われる頻度も高いことは容易に想像がつく。
【００６２】
拡張画像ヘッダに含まれる画素情報種類が０の場合、要素部は全て図２（ａ）の形式であることが保証されているので、図７の画素値の取得方法は簡略化することができる。
【００６３】
図９は、画素情報種類が０の場合における画素値の取得方法である。対象要素が分かっていれば、直接画素値を参照できるので図７と比較しても大幅に処理を簡略化していることが分かる。
【００６４】
また、拡張画像ヘッダに含まれる画素情報の種類が１の場合、要素部はすべて図２（ｂ）の形式であることが保証されているので、０の場合と同様に、図７の画素値の取得方法は簡略化することができる。
【００６５】
図１０は、画素情報種類が１の場合における画素値の取得方法である。対象要素の取得時に、対象要素から参照される画素の先頭アドレス、現在の画素値参照アドレスとして初期設定しておく（図５の一要素の取得時）。そして、座標値を更新する際に（図６の座標値更新時）に、現在の画素値参照アドレスを更新するようにする。そうすれば、常に対象画素のアドレスを指し示すことが可能なので、図１０のとおり、大幅に処理を簡略化することができる。
【００６６】
［実施例３］
この実施例では、拡張画像ヘッダに含まれるタグ情報種類を用いた高速化方法について説明する。
【００６７】
まず、前提条件として、拡張画像ヘッダに含まれるタグ情報種類が３の場合、すなわちタグ情報が混在するので、これから説明する高速化手法は適用できない。この場合には、今まで説明した一般的な処理手順で処理すれば良い。
【００６８】
この高速化処理を適用できる理由として、印刷文書の特性が挙げられる。例えば、ビジネス文書や技術文書の特性として、文字が多いことが挙げられる。このような文書の場合、連続して文字が配置されることが多いので、文字タグだけになることが多い。
【００６９】
別の例として、デジタルカメラ等の普及により、ラスタの面積が増えつつあることも挙げられる。特にラスタの場合、ラスタ上および周辺に別の描画図形を配置することは、特殊効果を狙う以外では希であり、連続して配置されることになる。
【００７０】
このように、多くの場合において適用可能であることは容易に想像がつく。
【００７１】
拡張画像ヘッダに含まれるタグ情報種類が０、１、２の場合、タグは一定であることが保証されているので、図６の予測処理方法は簡略化することができる。
【００７２】
まず、予測器が現在のスキャンライン上に全て存在する場合、対象タグと予測器タグは常に等しいことが保証される。そこで、図１１のように予測処理を変更できる。なお、図１１において図６と対応する箇所には対応する符号を付した。
【００７３】
図６の一般的な処理手順と比較して、タグ情報の処理を完全に削除することができるため、大幅に処理を簡略化することができる。
【００７４】
また、予測器が別のラインに配置されている場合には、現在のラインと予測器のラインの拡張画像ヘッダのタグ情報種類を比較し、３以外で同じ値を持っているならば、図１１の処理を適用することができるので、同一ライン上にある場合同様、大幅に処理を簡略化することができる。
【００７５】
［実施例４］  この実施例では、拡張画像ヘッダに含まれる画素値数を用いた高速化について説明する。
【００７６】
まず、前提条件として、拡張画像ヘッダに含まれる画素値数が１以外の場合、すなわち画素値が複数混在して存在するので、これから説明する高速化手法は適用できない。この場合には、今まで説明した一般的な処理手順で処理すれば良い。
【００７７】
この高速化を適用する場面は、余白領域やプレゼンテーションの背景部分が挙げられる。こういった単色領域は、背景全面に自然画でも配置しない限り確実に存在するので、適用される頻度は非常に高い。
【００７８】
拡張画像ヘッダに含まれる画素値数が１の場合、画素値は一定であることが保証されているので、図６の予測処理方法は簡略化することができる。
【００７９】
まず、予測器が現在のスキャンライン上に全て存在する場合、対象画素値と予測器画素値は常に等しいことが保証される。そこで、図１２のように予測処理を変更できる。なお、図１２において図６と対応する箇所には対応する符号を付した。
【００８０】
図６の一般的な処理手順と比較して、画素値の処理を完全に削除することができるため、大幅に処理を簡略化することができる。
【００８１】
また、予測器が別のラインに配置されている場合には、現在のラインと予測器のラインの拡張画像ヘッダの画素値数を調査し、両者とも１であれば、さらに各ラインの画素値を調べる。画素値同士が等しかった場合、この二つのラインの画素値は同じ値を持っているので、図１２の処理を適用することができる。
【００８２】
［実施例５］
この実施例では、拡張画像要素に含まれるタグ情報を用いた高速化方法について説明する。
【００８３】
予測符号化は、文字図形に対しては複数の予測器を配置することで圧縮率を向上させることができる。ラスタの場合、特に自然画のように画素値が不連続で周囲に同値画素が存在する確率が低い画像に対して予測符号化を適用すると、予測ハズレが多発することで処理効率が低下する。複数予測器を使用した場合にこの問題は顕著になる。複数予測器を使用したことによる圧縮率向上と処理速度の低下という事象が、異なる描画オブジェクト間で発生する。
【００８４】
そこで、要素毎に含まれるタグ情報を利用して、この問題を解決する。
【００８５】
図６の予測処理方法を図１３のように改良する。図１３において図６と対応する箇所には対応する符号を付した。図６との違いは、画素値およびタグ情報のどちらかが異なった場合に対象画素のタグがラスタであるかどうかをチェックすることである（ステップＳ７２）。タグがラスタであった場合には、それ以降の予測器の処理を打ち切るようにしている。
【００８６】
このようにすれば、文字図形に対しては同等の圧縮率を確保できて、ラスタの場合には予測処理を早めに打ち切るので処理速度の低下を抑えることができる。
【００８７】
この場合、ラスタに対する圧縮率は低下するが、もともと予測ハズレが起きる確率が高いので、わずかな圧縮率の低下しか発生しない。
【００８８】
なお、この例では第一位の予測器だけ参照するようにしたが、例えば第二位の予測器まで参照する、別の予測手法を更に適用してラスタだけ別の予測器を参照するなど、参照範囲を変更することは容易に実現できる。
【００８９】
以上の実施例によれば、つぎのような効果を達成できる。
・ランレングス圧縮された拡張画像を入力することで、ラン長に応じた比較回数を削減できる。
・符号化処理単位毎に画素情報種類を付加することで、単一画素情報種類を持つ場合に、符号化に必要な画素値参照方法を簡略化することができる。
・符号化処理単位毎にタグ情報種類を付加することで、単一タグ情報種類を持つ場合に、符号化方法からタグ値の参照、タグ値の比較を省略することができる。
・符号化処理単位毎に画素値数を付加することにより、単一または同一画素値を持つ場合に、符号化方法から画素値の参照、画素値の比較を省略することができる。
・拡張画像の要素毎に付加されているタグ情報を用いて、予測処理範囲を変更して、意味のない予測処理を省略することができる。
以上の点で、符号化処理を効率的に行なうことが可能になる。
【発明の効果】
以上説明したように本発明によれば拡張画像の符号化処理を効率的に行うことができる。
【図面の簡単な説明】
【図１】  本発明の画像符号化装置の実施例の構成を示すブロック図である。
【図２】  本発明の実施例の拡張画像データを説明する図である。
【図３】  本発明の実施例の拡張画像データの画素情報種類を説明する表である。
【図４】  本発明の実施例の拡張画像データのタグ情報種類を説明する表である。
【図５】  本発明の実施例１の処理を説明するフローチャートである。
【図６】  図５の予測処理の詳細を説明するフローチャートである。
【図７】  図６の画素値取得の詳細を説明するフローチャートである。
【図８】  出力される符号のフォーマット（保持する情報）を説明する図である。
【図９】  本発明の実施例２のフラグに応じた画素値取得処理の簡素化を説明する図である。
【図１０】  上述実施例２のフラグに応じた画素値取得処理の簡素化を説明する図である。
【図１１】  本発明の実施例３のタグ情報種類に応じた予測処理の簡素化を説明する図である。
【図１２】  本発明の実施例４の画素値数に応じた予測処理の簡素化を説明する図である。
【図１３】  本発明の実施例５のタグ情報に応じた予測処理範囲の変更を説明する図である。
【図１４】  タグ付画像を説明する図である。
【図１５】  従来例の符号化処理を説明するフローチャートである。
【図１６】  従来例の予測処理を説明するフローチャートである。
【図１７】  従来例の符号化処理を説明するフローチャートである。
【符号の説明】
１０      合成拡張画像生成部
１１      符号化部
１２      符号出力部
【図１】
0003855731.tif 000002
【図２】
0003855731.tif 000003
【図３】
0003855731.tif 000004
【図４】
0003855731.tif 000005
【図５】
0003855731.tif 000006
【図６】
0003855731.tif 000007
【図７】
0003855731.tif 000008
【図８】
0003855731.tif 000009
【図９】
0003855731.tif 000010
【図１０】
0003855731.tif 000011
【図１１】
0003855731.tif 000012
【図１２】
0003855731.tif 000013
【図１３】
0003855731.tif 000014
【図１４】
0003855731.tif 000015
【図１５】
0003855731.tif 000016
【図１６】
0003855731.tif 000017
【図１７】
0003855731.tif 000018