(57)【特許請求の範囲】
【請求項１】
２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、
前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、
入力された前記２値画像または前記２値画像のランレングス符号に基づいて、前記２値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析工程と、
前回、前記ラン解析工程により解析された直前の主走査線のラン数と、今回、前記ラン解析工程により解析された主走査線のラン数とを比較する比較工程と、
前記ラン解析工程により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウント工程と、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが主走査線のラン数である旨を表す符号データをラン命令と呼ぶとき、
今回、前記ラン解析工程により解析された主走査線のラン数が０でない場合、
前回、前記ラン解析工程により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、
次に、前記比較工程の比較結果が不一致のとき、前記ラン命令と、前記ラン解析工程により解析されたラン数と、前記ラン解析工程により解析されたラン情報とを結合して符号を構成し、
前記比較工程の比較結果が一致のとき、前記ラン解析工程により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成工程とを含むことを特徴とする画像符号化方法。
【請求項２】
符号化された２値画像の符号データを複数の画素からなる２値画像に復号化する画像復号化方法であって、
前記２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、
前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、
全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、
入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析工程と、
前記命令解析工程によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析工程によりラン命令が解析された場合、ラン命令に後続するラン数を解析し、解析されたラン数に後続するラン情報を前記ラン数毎に取り出すと共に前記ラン命令のラン数毎に主走査線を更新して主走査線を復号化する復号化工程とを含むことを特徴とする画像復号化方法。
【請求項３】
請求項１記載の画像符号化方法と請求項２記載の画像復号化方法とを有することを特徴とする画像符号化復号化方法。
【請求項４】
２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、
前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、
入力された前記２値画像または前記２値画像のランレングス符号に基づいて、前記２値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析部と、
前回、前記ラン解析部により解析された直前の主走査線のラン数と、今回、前記ラン解析部により解析された主走査線のラン数とを比較する比較部と、
前記ラン解析部により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウンタと、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが主走査線のラン数である旨を表す符号データをラン命令と呼ぶとき、
今回、前記ラン解析部により解析された主走査線のラン数が０でない場合、
前回、前記ラン解析部により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、
次に、前記比較部の比較結果が不一致のとき、前記ラン命令と、前記ラン解析部により解析されたラン数と、前記ラン解析部により解析されたラン情報とを結合して符号を構成し、
前記比較部の比較結果が一致のとき、前記ラン解析部により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成部とを備えたことを特徴とする画像符号化装置。
【請求項５】
符号化された２値画像の符号データを複数の画素からなる２値画像に復号化する画像復号化装置であって、
前記２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、
前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、
全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、
入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析部と、
前記命令解析部によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析部によりラン命令が解析された場合、ラン命令に後続するラン数を解析し、解析されたラン数に後続するラン情報を前記ラン数毎に取り出すと共に前記ラン命令のラン数毎に主走査線を更新して主走査線を復号化する復号化部とを備えたことを特徴とする画像復号化装置。
【請求項６】
請求項４記載の画像符号化装置と請求項５記載の画像復号化装置とを有することを特徴とする画像符号化復号化装置。
【請求項７】
２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、
前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼ぶとき、
入力された前記２値画像または前記２値画像のランレングス符号に基づいて、前記２値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析工程と、
前回、前記ラン解析工程により解析された直前の主走査線のラン数と、今回、前記ラン解析工程により解析された主走査線のラン数との差を算出する算出工程と、
前記ラン解析工程により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウント工程と、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、符号化すべき主走査線のラン数が直前の主走査線のラン数より多い旨を表す符号データを進入命令と呼び、符号化すべき主走査線のラン数が直前の主走査線のラン数より少ない旨を表す符号データを退出命令と呼ぶとき、
今回、前記ラン解析工程により解析された主走査線のラン数が０でない場合、
前回、前記ラン解析工程により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、
次に、前記算出工程の算出結果が符号化すべき主走査線のラン数が直前の主走査線のラン数より多い旨を意味するとき、前記進入命令と、前記算出工程の算出結果の絶対値と、前記ラン解析工程により解析されたラン情報とを結合して符号を構成し、
前記算出工程の算出結果が符号化すべき主走査線のラン数が直前の主走査線のラン数より少ない旨を意味するとき、前記退出命令と、前記算出工程の算出結果の絶対値と、前記ラン解析工程により解析されたラン情報とを結合して符号を構成し、
前記算出工程の算出結果が符号化すべき主走査線のラン数と直前の主走査線のラン数とが同数である旨を意味するとき、前記ラン解析工程により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成工程とを含むことを特徴とする画像符号化方法。
【請求項８】
符号化された２値画像の符号データを複数の画素からなる２値画像に復号化する画像復号化方法であって、
前記２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、
前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、
全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、
後続する符号データがオフセット値である旨を表す符号データをオフセット命令と呼び、復号化すべき主走査線のラン数が直前の主走査線より多い旨を表す符号データを進入命令と呼び、復号化すべき主走査線のラン数が直前の主走査線より少ない旨を表す符号データを退出命令と呼び、
復号化すべき主走査線のラン数と直前の主走査線のラン数との差の絶対値を差分絶対値と呼ぶとき、
入力された符号データに含まれるオフセット命令、進入命令および退出命令を解析する命令解析工程と、
既に復号化済みの直前の主走査線のラン数を保持し、前記命令解析工程により進入命令が解析された場合、進入命令に後続する前記差分絶対値を、直前の主走査線のラン数に加算し、前記命令解析工程により退出命令が解析された場合、退出命令に後続する前記差分絶対値を、直前の主走査線のラン数から減算し、復号化すべき主走査線に含まれるラン数を算出する算出工程と、
前記命令解析工程によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、
前記命令解析工程により進入命令が解析された場合および前記命令解析工程により退出命令が解析された場合、前記差分絶対値に後続するラン情報を、前記算出工程により算出されたラン数毎に取り出すと共に前記ラン数毎に主走査線を更新して主走査線を復号化する復号化工程とを含むことを特徴とする画像復号化方法。
【請求項９】
請求項７記載の画像符号化方法と請求項８記載の画像復号化方法とを有することを特徴とする画像符号化復号化方法。
【請求項１０】
２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、
前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼ぶとき、
入力された前記２値画像または前記２値画像のランレングス符号に基づいて、前記２値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析部と、
前回、前記ラン解析部により解析された直前の主走査線のラン数と、今回、前記ラン解析部により解析された主走査線のラン数との差を算出する算出部と、
前記ラン解析部により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウンタと、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、符号化すべき主走査線のラン数が直前の主走査線のラン数より多い旨を表す符号データを進入命令と呼び、符号化すべき主走査線のラン数が直前の主走査線のラン数より少ない旨を表す符号データを退出命令と呼ぶとき、
今回、前記ラン解析部により解析された主走査線のラン数が０の場合、
前回、前記ラン解析部により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、
次に、前記算出部の算出結果が符号化すべき主走査線のラン数が直前の主走査線のラン数より多い旨を意味するとき、前記進入命令と、前記算出部の算出結果の絶対値と、前記ラン解析部により解析されたラン情報とを結合して符号を構成し、
前記算出部の算出結果が符号化すべき主走査線のラン数が直前の主走査線のラン数より少ない旨を意味するとき、前記退出命令と、前記算出部の算出結果の絶対値と、前記ラン解析部により解析されたラン情報とを結合して符号を構成し、
前記算出部の算出結果が符号化すべき主走査線のラン数と直前の主走査線のラン数とが同数である旨を意味するとき、前記ラン解析部により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成部とを備えたことを特徴とする画像符号化装置。
【請求項１１】
符号化された２値画像の符号データを複数の画素からなる２値画像に復号化する画像復号化装置であって、
前記２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、
前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、
全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、
後続する符号データがオフセット値である旨を表す情報をオフセット命令と呼び、復号化すべき主走査線のラン数が直前の主走査線より多い旨を表す情報を進入命令と呼び、復号化すべき主走査線のラン数が直前の主走査線より少ない旨を表す情報を退出命令と呼び、
復号化すべき主走査線のラン数と直前の主走査線のラン数との差の絶対値を差分絶対値と呼ぶとき、
入力された符号データに含まれるオフセット命令、進入命令および退出命令を解析する命令解析部と、
既に復号化済みの直前の主走査線のラン数を保持し、前記命令解析部により進入命令が解析された場合、進入命令に後続する前記差分絶対値を、直前の主走査線のラン数に加算し、前記命令解析部により退出命令が解析された場合、退出命令に後続する前記差分絶対値を、直前の主走査線のラン数から減算して復号化すべき主走査線に含まれるラン数を算出する算出部と、
前記命令解析部によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、
前記命令解析部により進入命令が解析された場合および前記命令解析部により退出命令が解析された場合、前記差分絶対値に後続するラン情報を、前記算出部により算出されたラン数毎に取り出すと共に前記ラン数毎に主走査線を更新して主走査線を復号化する復号化部とを備えたことを特徴とする画像復号化装置。
【請求項１２】
請求項１０記載の画像符号化装置と請求項１１記載の画像復号化装置とを有することを特徴とする画像符号化復号化装置。
【請求項１３】
多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、
前記多値画像の主走査線内に１つ以上連続する第１画素の画素列を第１ランと呼び、前記多値画像の主走査線内に１つ以上連続する第２画素の画素列を第２ランと呼び、
前記主走査線内の第１ランの始点、終点および第１画素値、または、始点、画素数および第１画素値を表す情報を第１ラン情報と呼び、前記主走査線内の第２ランの始点、終点および第２画素値、または、始点、画素数および第２画素値を表す情報を第２ラン情報と呼び、
入力された前記多値画像に基づいて、前記多値画像の主走査線毎に、主走査線内の第１および第２ランの総数、並びに、第１および第２ラン情報を解析するラン解析工程と、
前回、前記ラン解析工程により解析された直前の主走査線の第１および第２ランの総数と、今回、前記ラン解析工程により解析された主走査線の第１および第２ランの総数とを比較する比較工程と、
前記ラン解析工程により解析された主走査線の第１および第２ランの総数が１回以上連続して０である回数を表すオフセット値をカウントするカウント工程と、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記第１および第２ランの総数である旨を表す符号データをラン命令と呼ぶとき、
今回、前記ラン解析工程により解析された主走査線の第１および第２ランの総数が０でない場合、
前回、前記ラン解析工程により解析された直前の主走査線の第１および第２ランの総数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、
次に、前記比較工程の比較結果が不一致のとき、前記ラン命令と、前記ラン解析工程により解析された第１および第２ランの総数と、前記ラン解析工程により解析された第１および第２ラン情報とを結合して符号を構成し、
前記比較工程の比較結果が一致のとき、前記ラン解析工程により解析された第１および第２ラン情報のみを前回の解析された第１および第２ラン情報に直接的にグループとして結合して符号を構成する符号構成工程とを含むことを特徴とする画像符号化方法。
【請求項１４】
符号化された多値画像の符号データを複数の画素からなる多値画像に復号化する画像復号化方法であって、
前記多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、
前記多値画像の主走査線内に１つ以上連続する第１画素の画素列を第１ランと呼び、前記多値画像の主走査線内に１つ以上連続する第２画素の画素列を第２ランと呼び、
前記主走査線内の第１ランの始点、終点および第１画素値、または、始点、画素数および第１画素値を表す情報を第１ラン情報と呼び、前記主走査線内の第２ランの始点、終点および第２画素値、または、始点、画素数および第２画素値を表す情報を第２ラン情報と呼び、
全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記第１および第２ランの総数である旨を表す符号データをラン命令と呼ぶとき、
入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析工程と、
前記命令解析工程によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析工程によりラン命令が解析された場合、ラン命令に後続する第１および第２ランの総数を解析し、解析された第１および第２ランの総数に後続する第１および第２ラン情報を前記第１および第２ランの総数毎に取り出すと共に前記総数毎に主走査線を更新して主走査線を復号化する復号化工程とを含むことを特徴とする画像復号化方法。
【請求項１５】
請求項１３記載の画像符号化方法と請求項１４記載の画像復号化方法とを有することを特徴とする画像符号化復号化方法。
【請求項１６】
多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、
前記多値画像の主走査線内に１つ以上連続する第１画素の画素列を第１ランと呼び、前記多値画像の主走査線内に１つ以上連続する第２画素の画素列を第２ランと呼び、
前記主走査線内の第１ランの始点、終点および第１画素値、または、始点、画素数および第１画素値を表す情報を第１ラン情報と呼び、前記主走査線内の第２ランの始点、終点および第２画素値、または、始点、画素数および第２画素値を表す情報を第２ラン情報と呼び、
入力された前記多値画像に基づいて、前記多値画像の主走査線毎に、主走査線内の第１および第２ランの総数、並びに、第１および第２情報を解析するラン解析部と、
前回、前記ラン解析部により解析された直前の主走査線の第１および第２ランの総数と、今回、前記ラン解析部により解析された主走査線の第１および第２ランの総数とを比較する比較部と、
前記ラン解析部により解析された主走査線の第１および第２ランの総数が１回以上連続して０である回数を表すオフセット値をカウントするカウンタと、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記第１および第２ランの総数である旨を表す符号データをラン命令と呼ぶとき、
今回、前記ラン解析部により解析された主走査線の第１および第２ランの総数が０でない場合、
前回、前記ラン解析部により解析された直前の主走査線の第１および第２ランの総数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、
次に、前記比較部の比較結果が不一致のとき、前記ラン命令と、前記ラン解析部により解析された第１および第２ランの総数と、前記ラン解析部により解析された第１および第２ラン情報とを結合して符号を構成し、
前記比較部の比較結果が一致のとき、前記ラン解析部により解析された第１および第２ラン情報のみを前回の解析された第１および第２ラン情報に直接的にグループとして結合して符号を構成する符号構成部とを備えたことを特徴とする画像符号化装置。
【請求項１７】
符号化された多値画像の符号データを複数の画素からなる多値画像に復号化する画像復号化装置であって、
前記多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、
前記多値画像の主走査線内に１つ以上連続する第１画素の画素列を第１ランと呼び、前記多値画像の主走査線内に１つ以上連続する第２画素の画素列を第２ランと呼び、
前記主走査線内の第１ランの始点、終点および第１画素値、または、始点、画素数および第１画素値を表す情報を第１ラン情報と呼び、前記主走査線内の第２ランの始点、終点および第２画素値、または、始点、画素数および第２画素値を表す情報を第２ラン情報と呼び、
全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記第１および第２ランの総数である旨を表す符号データをラン命令と呼ぶとき、
入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析部と、
前記命令解析部によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析部によりラン命令が解析された場合、ラン命令に後続する第１および第２ランの総数を解析し、解析された第１および第２ランの総数に後続する第１および第２ラン情報を前記第１および第２ランの総数毎に取り出すと共に前記総数毎に主走査線を更新して主走査線を復号化する復号化部とを備えたことを特徴とする画像復号化装置。
【請求項１８】
請求項１６記載の画像符号化装置と請求項１７記載の画像復号化装置とを有することを特徴とする画像符号化復号化装置。
【請求項１９】
多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、
前記多値画像の主走査線内に１つ以上連続する前記白画素以外の画素の画素列をランと呼び、前記主走査線内のランの始点およびその画素値、並びに、終点およびその画素値をラン情報と呼ぶとき、
入力された前記多値画像に基づいて、前記多値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析工程と、
前回、前記ラン解析工程により解析された直前の主走査線のラン数と、今回、前記ラン解析工程により解析された主走査線のラン数とを比較する比較工程と、
前記ラン解析工程により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウント工程と、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、
今回、前記ラン解析工程により解析された主走査線のラン数が０でない場合、
前回、前記ラン解析工程により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、
次に、前記比較工程の比較結果が不一致のとき、前記ラン命令と、前記ラン解析工程により解析されたラン数と、前記ラン解析工程により解析されたラン情報とを結合して符号を構成し、
前記比較工程の比較結果が一致のとき、前記ラン解析工程により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成工程とを含むことを特徴とする画像符号化方法。
【請求項２０】
符号化された多値画像の符号データを複数の画素からなる多値画像に復号化する画像復号化方法であって、
前記多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、
前記多値画像の主走査線内に１つ以上連続する前記白画素以外の画素の画素列をランと呼び、前記主走査線内のランの始点およびその画素値、並びに、終点およびその画素値をラン情報と呼び、
全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、
入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析工程と、
前記命令解析工程によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析工程によりラン命令が解析された場合、ラン命令に後続するラン数を解析し、解析されたラン数に後続するラン情報を前記ラン数毎に取り出し、取り出されたラン情報に基づいて、ランの始点および終点間の画素の画素値を補間すると共に前記ラン数毎に主走査線を更新して主走査線を復号化する復号化工程とを含むことを特徴とする画像復号化方法。
【請求項２１】
請求項１９記載の画像符号化方法と請求項２０記載の画像復号化方法とを有することを特徴とする画像符号化復号化方法。
【請求項２２】
多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、
前記多値画像の主走査線内に１つ以上連続する前記白画素以外の画素の画素列をランと呼び、前記主走査線内のランの始点およびその画素値、並びに、終点およびその画素値をラン情報と呼ぶとき、
入力された前記多値画像に基づいて、前記多値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析部と、
前回、前記ラン解析部により解析された直前の主走査線のラン数と、今回、前記ラン解析部により解析された主走査線のラン数とを比較する比較部と、
前記ラン解析部により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウンタと、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、
今回、前記ラン解析部により解析された主走査線のラン数が０でない場合、
前回、前記ラン解析部により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、
次に、前記比較部の比較結果が不一致のとき、前記ラン命令と、前記ラン解析部により解析されたラン数と、前記ラン解析部により解析されたラン情報とを結合して符号を構成し、
前記比較部の比較結果が一致のとき、前記ラン解析部により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成部とを備えたことを特徴とする画像符号化装置。
【請求項２３】
符号化された多値画像の符号データを複数の画素からなる多値画像に復号化する画像復号化装置であって、
前記多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、
前記多値画像の主走査線内に１つ以上連続する前記白画素以外の画素の画素列をランと呼び、前記主走査線内のランの始点およびその画素値、並びに、終点およびその画素値をラン情報と呼び、
全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、
入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析部と、
前記命令解析部によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析部によりラン命令が解析された場合、ラン命令に後続するラン数を解析し、解析されたラン数に後続するラン情報を前記ラン数毎に取り出し、取り出されたラン情報に基づいて、ランの始点および終点間の画素の画素値を補間すると共に前記ラン数毎に主走査線を更新して主走査線を復号化する復号化部とを備えたことを特徴とする画像復号化装置。
【請求項２４】
請求項２２記載の画像符号化装置と請求項２３記載の画像復号化装置とを有することを特徴とする画像符号化復号化装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば図面のように、図形を表す画素に対し、図形の背景を表す画素の割合が極めて多い画像を好適に符号化および復号化する画像符号化復号化方法及びその装置に関する。
【０００２】
【従来の技術】
従来、複数の白画素および黒画素からなる２値画像を、主走査線方向に連続する白ランおよび黒ランに基づいて符号化するランレングス符号化方式が知られている。
ランレングス符号化方式は、ファクシミリ装置の符号化方式に適用されており、例えばＧ３ファクシミリ装置のＭＨ（Modified Huffman）符号化方式では、性質の異なる白ランおよび黒ランのランレングスに対し、それぞれ異なる符号語が割り当てられてハフマン符号が構成され、画像情報が圧縮される。
ランレングス符号化方式は、主走査線内で白画素から黒画素へ、黒画素から白画素に変化する変化画素の相対的な位置を符号化していることになる。
【０００３】
【発明が解決しようとする課題】
しかしながら、ランレングス符号化方式を適用した従来の画像符号化復号化方法および装置にあっては、黒ランおよび白ランの双方に符号語を割り当てて符号を構成するため、例えば図面にように、図形を表す画素に対し、図形の背景を表す画素が極めて多い画像を符号化する場合には、図形の背景を表す情報が大部分を占めることになる。図形の背景を表す情報が冗長となってしまうといった問題があった。
【０００４】
【課題を解決するための手段】
本発明は以上の点を解決するため次の構成を採用する。
〈構成１〉
２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、入力された前記２値画像または前記２値画像のランレングス符号に基づいて、前記２値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析工程と前回、前記ラン解析工程により解析された直前の主走査線のラン数と、今回、前記ラン解析工程により解析された主走査線のラン数とを比較する比較工程と、前記ラン解析工程により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウント工程と、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが主走査線のラン数である旨を表す符号データをラン命令と呼ぶとき、今回、前記ラン解析工程により解析された主走査線のラン数が０でない場合、前回、前記ラン解析工程により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、次に、前記比較工程の比較結果が不一致のとき、前記ラン命令と、前記ラン解析工程により解析されたラン数と、前記ラン解析工程により解析されたラン情報とを結合して符号を構成し、前記比較工程の比較結果が一致のとき、前記ラン解析工程により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成工程とを含むことを特徴とする画像符号化方法。
【０００５】
〈構成２〉
符号化された２値画像の符号データを複数の画素からなる２値画像に復号化する画像復号化方法であって、前記２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析工程と、前記命令解析工程によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析工程によりラン命令が解析された場合、ラン命令に後続するラン数を解析し、解析されたラン数に後続するラン情報を前記ラン数毎に取り出すと共に前記ラン命令のラン数毎に主走査線を更新して主走査線を復号化する復号化工程とを含むことを特徴とする画像復号化方法。
【０００６】
〈構成３〉
構成１記載の画像符号化方法と構成２記載の画像復号化方法とを有することを特徴とする画像符号化復号化方法。
【０００７】
〈構成４〉
２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、入力された前記２値画像または前記２値画像のランレングス符号に基づいて、前記２値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析部と、前回、前記ラン解析部により解析された直前の主走査線のラン数と、今回、前記ラン解析部により解析された主走査線のラン数とを比較する比較部と、前記ラン解析部により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウンタと、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが主走査線のラン数である旨を表す符号データをラン命令と呼ぶとき、今回、前記ラン解析部により解析された主走査線のラン数が０でない場合、前回、前記ラン解析部により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、次に、前記比較部の比較結果が不一致のとき、前記ラン命令と、前記ラン解析部により解析されたラン数と、前記ラン解析部により解析されたラン情報とを結合して符号を構成し、前記比較部の比較結果が一致のとき、前記ラン解析部により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成部とを備えたことを特徴とする画像符号化装置。
【０００８】
〈構成５〉
符号化された２値画像の符号データを複数の画素からなる２値画像に復号化する画像復号化装置であって、前記２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析部と、前記命令解析部によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析部によりラン命令が解析された場合、ラン命令に後続するラン数を解析し、解析されたラン数に後続するラン情報を前記ラン数毎に取り出すと共に前記ラン命令のラン数毎に主走査線を更新して主走査線を復号化する復号化部とを備えたことを特徴とする画像復号化装置。
【０００９】
〈構成６〉
構成４記載の画像符号化装置と構成５記載の画像復号化装置とを有することを特徴とする画像符号化復号化装置。
【００１０】
〈構成７〉
２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼ぶとき、入力された前記２値画像または前記２値画像のランレングス符号に基づいて、前記２値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析工程と、前回、前記ラン解析工程により解析された直前の主走査線のラン数と、今回、前記ラン解析工程により解析された主走査線のラン数との差を算出する算出工程と、前記ラン解析工程により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウント工程と、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、符号化すべき主走査線のラン数が直前の主走査線のラン数より多い旨を表す符号データを進入命令と呼び、符号化すべき主走査線のラン数が直前の主走査線のラン数より少ない旨を表す符号データを退出命令と呼ぶとき、今回、前記ラン解析工程により解析された主走査線のラン数が０でない場合、前回、前記ラン解析工程により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、次に、前記算出工程の算出結果が符号化すべき主走査線のラン数が直前の主走査線のラン数より多い旨を意味するとき、前記進入命令と、前記算出工程の算出結果の絶対値と、前記ラン解析工程により解析されたラン情報とを結合して符号を構成し、前記算出工程の算出結果が符号化すべき主走査線のラン数が直前の主走査線のラン数より少ない旨を意味するとき、前記退出命令と、前記算出工程の算出結果の絶対値と、前記ラン解析工程により解析されたラン情報とを結合して符号を構成し、前記算出工程の算出結果が符号化すべき主走査線のラン数と直前の主走査線のラン数とが同数である旨を意味するとき、前記ラン解析工程により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成工程とを含むことを特徴とする画像符号化方法。
【００１１】
〈構成８〉
符号化された２値画像の符号データを複数の画素からなる２値画像に復号化する画像復号化方法であって、前記２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、後続する符号データがオフセット値である旨を表す符号データをオフセット命令と呼び、復号化すべき主走査線のラン数が直前の主走査線より多い旨を表す符号データを進入命令と呼び、復号化すべき主走査線のラン数が直前の主走査線より少ない旨を表す符号データを退出命令と呼び、
復号化すべき主走査線のラン数と直前の主走査線のラン数との差の絶対値を差分絶対値と呼ぶとき、入力された符号データに含まれるオフセット命令、進入命令および退出命令を解析する命令解析工程と、既に復号化済みの直前の主走査線のラン数を保持し、前記命令解析工程により進入命令が解析された場合、進入命令に後続する前記差分絶対値を、直前の主走査線のラン数に加算し、前記命令解析工程により退出命令が解析された場合、退出命令に後続する前記差分絶対値を、直前の主走査線のラン数から減算し、復号化すべき主走査線に含まれるラン数を算出する算出工程と、前記命令解析工程によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析工程により進入命令が解析された場合および前記命令解析工程により退出命令が解析された場合、前記差分絶対値に後続するラン情報を、前記算出工程により算出されたラン数毎に取り出すと共に前記ラン数毎に主走査線を更新して主走査線を復号化する復号化工程とを含むことを特徴とする画像復号化方法。
【００１２】
〈構成９〉
構成７記載の画像符号化方法と構成８記載の画像復号化方法とを有することを特徴とする画像符号化復号化方法。
【００１３】
〈構成１０〉
２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼ぶとき、入力された前記２値画像または前記２値画像のランレングス符号に基づいて、前記２値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析部と、前回、前記ラン解析部により解析された直前の主走査線のラン数と、今回、前記ラン解析部により解析された主走査線のラン数との差を算出する算出部と、前記ラン解析部により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウンタと、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、符号化すべき主走査線のラン数が直前の主走査線のラン数より多い旨を表す符号データを進入命令と呼び、符号化すべき主走査線のラン数が直前の主走査線のラン数より少ない旨を表す符号データを退出命令と呼ぶとき、
今回、前記ラン解析部により解析された主走査線のラン数が０の場合、前回、前記ラン解析部により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、次に、前記算出部の算出結果が符号化すべき主走査線のラン数が直前の主走査線のラン数より多い旨を意味するとき、前記進入命令と、前記算出部の算出結果の絶対値と、前記ラン解析部により解析されたラン情報とを結合して符号を構成し、前記算出部の算出結果が符号化すべき主走査線のラン数が直前の主走査線のラン数より少ない旨を意味するとき、前記退出命令と、前記算出部の算出結果の絶対値と、前記ラン解析部により解析されたラン情報とを結合して符号を構成し、前記算出部の算出結果が符号化すべき主走査線のラン数と直前の主走査線のラン数とが同数である旨を意味するとき、前記ラン解析部により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成部とを備えたことを特徴とする画像符号化装置。
【００１４】
〈構成１１〉
符号化された２値画像の符号データを複数の画素からなる２値画像に復号化する画像復号化装置であって、前記２値画像が、図形を表す複数の黒画素と、図形の背景を表す複数の白画素とを含み、前記２値画像の主走査線内に１つ以上連続する黒画素の画素列をランと呼び、前記主走査線内のランの始点および終点、または、始点および画素数を表す情報をラン情報と呼び、全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、後続する符号データがオフセット値である旨を表す情報をオフセット命令と呼び、復号化すべき主走査線のラン数が直前の主走査線より多い旨を表す情報を進入命令と呼び、復号化すべき主走査線のラン数が直前の主走査線より少ない旨を表す情報を退出命令と呼び、復号化すべき主走査線のラン数と直前の主走査線のラン数との差の絶対値を差分絶対値と呼ぶとき、入力された符号データに含まれるオフセット命令、進入命令および退出命令を解析する命令解析部と、既に復号化済みの直前の主走査線のラン数を保持し、前記命令解析部により進入命令が解析された場合、進入命令に後続する前記差分絶対値を、直前の主走査線のラン数に加算し、前記命令解析部により退出命令が解析された場合、退出命令に後続する前記差分絶対値を、直前の主走査線のラン数から減算して復号化すべき主走査線に含まれるラン数を算出する算出部と、前記命令解析部によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析部により進入命令が解析された場合および前記命令解析部により退出命令が解析された場合、前記差分絶対値に後続するラン情報を、前記算出部により算出されたラン数毎に取り出すと共に前記ラン数毎に主走査線を更新して主走査線を復号化する復号化部とを備えたことを特徴とする画像復号化装置。
【００１５】
〈構成１２〉
構成１０記載の画像符号化装置と構成１１記載の画像復号化装置とを有することを特徴とする画像符号化復号化装置。
【００１６】
〈構成１３〉
多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、前記多値画像の主走査線内に１つ以上連続する第１画素の画素列を第１ランと呼び、前記多値画像の主走査線内に１つ以上連続する第２画素の画素列を第２ランと呼び、前記主走査線内の第１ランの始点、終点および第１画素値、または、始点、画素数および第１画素値を表す情報を第１ラン情報と呼び、前記主走査線内の第２ランの始点、終点および第２画素値、または、始点、画素数および第２画素値を表す情報を第２ラン情報と呼び、入力された前記多値画像に基づいて、前記多値画像の主走査線毎に、主走査線内の第１および第２ランの総数、並びに、第１および第２ラン情報を解析するラン解析工程と、前回、前記ラン解析工程により解析された直前の主走査線の第１および第２ランの総数と、今回、前記ラン解析工程により解析された主走査線の第１および第２ランの総数とを比較する比較工程と、前記ラン解析工程により解析された主走査線の第１および第２ランの総数が１回以上連続して０である回数を表すオフセット値をカウントするカウント工程と、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記第１および第２ランの総数である旨を表す符号データをラン命令と呼ぶとき、今回、前記ラン解析工程により解析された主走査線の第１および第２ランの総数が０でない場合、前回、前記ラン解析工程により解析された直前の主走査線の第１および第２ランの総数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、
次に、前記比較工程の比較結果が不一致のとき、前記ラン命令と、前記ラン解析工程により解析された第１および第２ランの総数と、前記ラン解析工程により解析された第１および第２ラン情報とを結合して符号を構成し、前記比較工程の比較結果が一致のとき、前記ラン解析工程により解析された第１および第２ラン情報のみを前回の解析された第１および第２ラン情報に直接的にグループとして結合して符号を構成する符号構成工程とを含むことを特徴とする画像符号化方法。
【００１７】
〈構成１４〉
符号化された多値画像の符号データを複数の画素からなる多値画像に復号化する画像復号化方法であって、前記多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、前記多値画像の主走査線内に１つ以上連続する第１画素の画素列を第１ランと呼び、前記多値画像の主走査線内に１つ以上連続する第２画素の画素列を第２ランと呼び、前記主走査線内の第１ランの始点、終点および第１画素値、または、始点、画素数および第１画素値を表す情報を第１ラン情報と呼び、前記主走査線内の第２ランの始点、終点および第２画素値、または、始点、画素数および第２画素値を表す情報を第２ラン情報と呼び、全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記第１および第２ランの総数である旨を表す符号データをラン命令と呼ぶとき、入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析工程と、前記命令解析工程によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析工程によりラン命令が解析された場合、ラン命令に後続する第１および第２ランの総数を解析し、解析された第１および第２ランの総数に後続する第１および第２ラン情報を前記第１および第２ランの総数毎に取り出すと共に前記総数毎に主走査線を更新して主走査線を復号化する復号化工程とを含むことを特徴とする画像復号化方法。
【００１８】
〈構成１５〉
構成１３記載の画像符号化方法と構成１４記載の画像復号化方法とを有することを特徴とする画像符号化復号化方法。
【００１９】
〈構成１６〉
多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、
前記多値画像の主走査線内に１つ以上連続する第１画素の画素列を第１ランと呼び、前記多値画像の主走査線内に１つ以上連続する第２画素の画素列を第２ランと呼び、前記主走査線内の第１ランの始点、終点および第１画素値、または、始点、画素数および第１画素値を表す情報を第１ラン情報と呼び、前記主走査線内の第２ランの始点、終点および第２画素値、または、始点、画素数および第２画素値を表す情報を第２ラン情報と呼び、入力された前記多値画像に基づいて、前記多値画像の主走査線毎に、主走査線内の第１および第２ランの総数、並びに、第１および第２情報を解析するラン解析部と、前回、前記ラン解析部により解析された直前の主走査線の第１および第２ランの総数と、今回、前記ラン解析部により解析された主走査線の第１および第２ランの総数とを比較する比較部と、前記ラン解析部により解析された主走査線の第１および第２ランの総数が１回以上連続して０である回数を表すオフセット値をカウントするカウンタと、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記第１および第２ランの総数である旨を表す符号データをラン命令と呼ぶとき、今回、前記ラン解析部により解析された主走査線の第１および第２ランの総数が０でない場合、前回、前記ラン解析部により解析された直前の主走査線の第１および第２ランの総数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、次に、前記比較部の比較結果が不一致のとき、前記ラン命令と、前記ラン解析部により解析された第１および第２ランの総数と、前記ラン解析部により解析された第１および第２ラン情報とを結合して符号を構成し、前記比較部の比較結果が一致のとき、前記ラン解析部により解析された第１および第２ラン情報のみを前回の解析された第１および第２ラン情報に直接的にグループとして結合して符号を構成する符号構成部とを備えたことを特徴とする画像符号化装置。
【００２０】
〈構成１７〉
符号化された多値画像の符号データを複数の画素からなる多値画像に復号化する画像復号化装置であって、前記多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、前記多値画像の主走査線内に１つ以上連続する第１画素の画素列を第１ランと呼び、前記多値画像の主走査線内に１つ以上連続する第２画素の画素列を第２ランと呼び、前記主走査線内の第１ランの始点、終点および第１画素値、または、始点、画素数および第１画素値を表す情報を第１ラン情報と呼び、前記主走査線内の第２ランの始点、終点および第２画素値、または、始点、画素数および第２画素値を表す情報を第２ラン情報と呼び、全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記第１および第２ランの総数である旨を表す符号データをラン命令と呼ぶとき、入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析部と、前記命令解析部によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析部によりラン命令が解析された場合、ラン命令に後続する第１および第２ランの総数を解析し、解析された第１および第２ランの総数に後続する第１および第２ラン情報を前記第１および第２ランの総数毎に取り出すと共に前記総数毎に主走査線を更新して主走査線を復号化する復号化部とを備えたことを特徴とする画像復号化装置。
【００２１】
〈構成１８〉
構成１６記載の画像符号化装置と構成１７記載の画像復号化装置とを有することを特徴とする画像符号化復号化装置。
【００２２】
〈構成１９〉
多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、前記多値画像の主走査線内に１つ以上連続する前記白画素以外の画素の画素列をランと呼び、前記主走査線内のランの始点およびその画素値、並びに、終点およびその画素値をラン情報と呼ぶとき、入力された前記多値画像に基づいて、前記多値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析工程と、前回、前記ラン解析工程により解析された直前の主走査線のラン数と、今回、前記ラン解析工程により解析された主走査線のラン数とを比較する比較工程と、前記ラン解析工程により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウント工程と、
後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、今回、前記ラン解析工程により解析された主走査線のラン数が０でない場合、前回、前記ラン解析工程により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、次に、前記比較工程の比較結果が不一致のとき、前記ラン命令と、前記ラン解析工程により解析されたラン数と、前記ラン解析工程により解析されたラン情報とを結合して符号を構成し、前記比較工程の比較結果が一致のとき、前記ラン解析工程により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成工程とを含むことを特徴とする画像符号化方法。
【００２３】
〈構成２０〉
符号化された多値画像の符号データを複数の画素からなる多値画像に復号化する画像復号化方法であって、前記多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、前記多値画像の主走査線内に１つ以上連続する前記白画素以外の画素の画素列をランと呼び、前記主走査線内のランの始点およびその画素値、並びに、終点およびその画素値をラン情報と呼び、
全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析工程と、前記命令解析工程によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析工程によりラン命令が解析された場合、ラン命令に後続するラン数を解析し、解析されたラン数に後続するラン情報を前記ラン数毎に取り出し、取り出されたラン情報に基づいて、ランの始点および終点間の画素の画素値を補間すると共に前記ラン数毎に主走査線を更新して主走査線を復号化する復号化工程とを含むことを特徴とする画像復号化方法。
【００２４】
〈構成２１〉
構成１９記載の画像符号化方法と構成２０記載の画像復号化方法とを有することを特徴とする画像符号化復号化方法。
【００２５】
〈構成２２〉
多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、前記多値画像の主走査線内に１つ以上連続する前記白画素以外の画素の画素列をランと呼び、前記主走査線内のランの始点およびその画素値、並びに、終点およびその画素値をラン情報と呼ぶとき、入力された前記多値画像に基づいて、前記多値画像の主走査線毎に、主走査線内のラン数およびラン情報を解析するラン解析部と、前回、前記ラン解析部により解析された直前の主走査線のラン数と、今回、前記ラン解析部により解析された主走査線のラン数とを比較する比較部と、前記ラン解析部により解析された主走査線のラン数が１回以上連続して０である回数を表すオフセット値をカウントするカウンタと、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、今回、前記ラン解析部により解析された主走査線のラン数が０でない場合、前回、前記ラン解析部により解析された直前の主走査線のラン数が０のとき、前記オフセット命令と前記オフセット値とを結合して符号を構成し、
次に、前記比較部の比較結果が不一致のとき、前記ラン命令と、前記ラン解析部により解析されたラン数と、前記ラン解析部により解析されたラン情報とを結合して符号を構成し、前記比較部の比較結果が一致のとき、前記ラン解析部により解析されたラン情報のみを前回の解析されたラン情報に直接的にグループとして結合して符号を構成する符号構成部とを備えたことを特徴とする画像符号化装置。
【００２６】
〈構成２３〉
符号化された多値画像の符号データを複数の画素からなる多値画像に復号化する画像復号化装置であって、前記多値画像が、図形を表す第１画素値を有する複数の第１画素と、図形を表し前記第１画素値と異なる第２画素値を有する複数の第２画素と、図形の背景を表し前記第１および第２画素値とそれぞれ異なる第３画素値を有する複数の白画素とを含み、前記多値画像の主走査線内に１つ以上連続する前記白画素以外の画素の画素列をランと呼び、前記主走査線内のランの始点およびその画素値、並びに、終点およびその画素値をラン情報と呼び、
全画素が前記白画素により構成された主走査線を白ラインと呼び、副走査方向に１つ以上連続する白ライン数をオフセット値と呼び、後続する符号データが前記オフセット値である旨を表す符号データをオフセット命令と呼び、後続する符号データが前記ラン数である旨を表す符号データをラン命令と呼ぶとき、入力された符号データに含まれるオフセット命令およびラン命令を解析する命令解析部と、前記命令解析部によりオフセット命令が解析された場合、オフセット命令に後続するオフセット値に相当する白ラインを復号化し、前記命令解析部によりラン命令が解析された場合、ラン命令に後続するラン数を解析し、解析されたラン数に後続するラン情報を前記ラン数毎に取り出し、取り出されたラン情報に基づいて、ランの始点および終点間の画素の画素値を補間すると共に前記ラン数毎に主走査線を更新して主走査線を復号化する復号化部とを備えたことを特徴とする画像復号化装置。
【００２７】
〈構成２４〉
構成２２記載の画像符号化装置と構成２３記載の画像復号化装置とを有することを特徴とする画像符号化復号化装置。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態を具体例を用いて説明する。
《具体例１》
〈画像符号化方法および復号化方法〉
図１は本発明に係る具体例１の画像符号化方法の概略説明図であり、図１（ａ）は符号化対象の２値画像の一例を示す図、図１（ｂ）は図１（ａ）に示された２値画像の符号構成を示す図である。
図１（ａ）に示すように、２値画像の主走査線方向の座標をｘで表し、副走査方向の座標をｙで表す。符号化対象の２値画像のサイズは任意であるが、説明を容易にするため、８行８列の画素からなるものとする。
図中、斜線で示される画素は図形を構成する黒画素であり、白地で示される画素は図形の背景を構成する白画素である。なお、白画素が図形を構成し、黒画素が図形の背景を構成するようにしてもよい。
【００２９】
ところで、一般に主走査線方向に１つ以上連続する同一画素値の画素列をランといい、この画素列を構成する画素数をラン長またはランレングスという。
以下、主走査方向に１つ以上連続する黒画素の画素列を黒ランといい、１本の主走査線内の黒ランの数を黒ラン数という。また、全画素が白画素により構成された主走査線を白ラインという。図において、Ｒ１〜Ｒ６が黒ランである。
【００３０】
具体例１の画像符号化方法は、主走査線内の黒ラン数をカウントし、カウントされた黒ラン数に基づいて２値画像を符号化するものである。
主走査線内に黒ラン数がカウントされない場合、すなわち主走査線が白ラインの場合には、副走査方向に１つ以上連続する白ラインの数を表すオフセット値をカウントし、カウントされたオフセット値そのものを符号とする。
主走査線内に黒ラン数がカウントされた場合には、直前の主走査線の黒ラン数と比較し、直前の主走査線の黒ラン数と一致しないときには、カウントされた黒ラン数および対応する黒ランの位置情報を符号化し、直前の主走査線の黒ラン数と一致したときには、対応する黒ランの位置情報を符号化する。
【００３１】
黒ランの位置情報は、主走査線内の黒ランの始点および終点の画素位置、または、主走査線内の黒ランの始点およびラン長により構成される。
オフセット値の前には、後続する符号がオフセット値である旨を表すオフセット命令が挿入され、黒ラン数の前には、後続する符号が黒ラン数である旨を表すラン命令が挿入される。
すなわち、この画像符号化方法は、同数の黒ラン数が連続する主走査線のそれぞれの黒ランの位置情報を順次に結合して、図形のグループ化を表すセグメントを構成し、２値画像を符号化するものである。
画像復号化方法は、符号に含まれるオフセット命令およびラン命令を解析し、オフセット命令が解析された場合には、後続するオフセット値に相当する白ラインを復号化し、ラン命令が解析された場合には、後続する黒ラン数を解析し、解析された黒ラン数毎に、黒ラン数に後続する黒ランの位置情報を取り出し、主走査線を復号化する。
【００３２】
次に図１（ｂ）に示された符号構成について具体的に説明する。
図１（ｂ）において、まず、ｙ座標０〜２の主走査線は、白ラインなので、オフセット命令にオフセット値「３」が結合される。次いで、ｙ座標３の主走査線では、黒ラン数が１なので、ラン命令が挿入され、黒ラン数「１」、並びに、黒ランＲ１の始点「２」および終点「７」が順次に結合される。次いで、ｙ座標４の主走査線では、黒ラン数が直前のラインの黒ラン数と同数のなので、黒ランＲ２の始点「２」および終点「７」が結合される。
次いで、ｙ座標５の主走査線では、黒ラン数が２に変化したので、ラン命令が挿入され、黒ラン数「２」が結合され、黒ランＲ３の始点「２」および終点「３」、並びに、黒ランＲ４の始点「６」および終点「７」が順次に結合される。次いで、ｙ座標６の主走査線では、黒ラン数が直前のラインの黒ラン数と同数のなので、黒ランＲ５の始点「２」および終点「３」、並びに、黒ランＲ６の始点「６」および終点「７」が順次に結合される。
次いで、ｙ座標７および８の主走査線は、白ラインなので、オフセット命令が挿入され、オフセット値「２」が結合される。
【００３３】
このように、具体例１の画像符号化方法によれば、副走査方向に１つ以上連続し、黒ラン数が同数の主走査線をグループ化し、主走査線内の黒ラン数が０の場合には、オフセット値をカウントし、オフセット命令にオフセット値を結合して符号を構成するとともに、主走査線内の黒ラン数が０でない場合には、ラン命令に黒ラン数および黒ランの位置情報を結合して符号を構成する。
したがって、白画素の情報量を極めて少なくすることができるので、高い圧縮率の符号を得ることができる。また、複雑な演算を行うことなく２値画像を符号化することができるので、符号化処理を高速に行うことができる。
【００３４】
また、具体例１の画像復号化方法によれば、オフセット命令およびラン命令を解析し、符号化された２値画像を好適に復号化することができる。また、複雑な演算を行うことなく符号化された２値画像を復号化することができるので、復号化処理を高速に行うことができる。
具体例１の画像符号化方法および画像復号化方法は、特に、図面のように、図形を表す画素に対し、図形の背景を表す画素の割合が極めて多い画像に対して有効である。
【００３５】
〈画像符号化装置〉
図２は本発明に係る具体例１の画像符号化装置の構成を示すブロック図である。
図２に示すように、画像符号化装置は、画像メモリ１１、黒ラン解析部１２、黒ラン位置バッファ１５、黒ラン数比較部１６、オフセット値カウンタ１７、符号構成部１８および符号メモリ１９を備えている。
【００３６】
画像メモリ１１には、符号化対象の２値画像が記憶されている。黒ラン解析部１２は、画像メモリ１１に記憶された２値画像を走査順に読み出し、読み出された走査線内の黒ランを解析するものであり、黒ラン位置解析部１３および黒ラン数カウンタ１４を有する。
黒ラン位置解析部１３は、走査線内の黒ランの始点および終点を解析し、解析された始点および終点を黒ランの位置情報として順次黒ラン位置バッファ１５に出力する。
黒ラン数カウンタ１４は、走査線内の黒ラン数をカウントし、カウントされた黒ラン数を黒ラン数比較部１６、オフセット値カウンタ１７および符号構成部１８に出力する。
【００３７】
黒ラン位置バッファ１５は、黒ラン位置解析部１３から出力された主走査線内の黒ランの位置情報を一時的に保持するバッファである。
黒ラン数比較部１６は、前回、黒ラン数カウンタ１４によりカウントされた直前の主走査線の黒ラン数を保持する図示しない保持部を有し、前回、黒ラン数カウンタ１４によりカウントされた主走査線の黒ラン数と、今回、黒ラン数カウンタ１４によりカウントされた主走査線の黒ラン数とを比較する。
黒ラン数比較部１６は、入力された黒ラン数と直前の主走査線の黒ラン数とが一致した場合には、一致信号を符号構成部１８に出力し、入力された黒ラン数と直前の主走査線の黒ラン数とが一致しない場合には、不一致信号を符号構成部１８に出力する。
【００３８】
オフセット値カウンタ１７は、黒ラン数カウンタ１４にカウントされた黒ラン数に基づいて、副走査方向に１つ以上連続する白ラインの数を表すオフセット値をカウントする。オフセット値カウンタ１７は、入力された黒ラン数が０の場合には、オフセット値を１インクリメントし、入力された黒ラン数が０でない場合には、オフセット値を参照し、参照されたオフセット値が０でないとき、オフセット値を符号構成部１８に出力する。
【００３９】
符号構成部１８は、前回、黒ラン数カウンタ１４によりカウントされた黒ラン数を保持する図示しない保持部を有し、今回、黒ラン数カウンタ１４によりカウントされた黒ラン数に基づいて符号を構成する。
符号構成部１８は、今回、入力された黒ラン数が０でない場合には、前回、入力された黒ラン数を参照し、参照された前回の黒ラン数が０のとき、オフセット値カウンタ１７により出力されたオフセット値の前にオフセット命令を挿入して符号を構成し、参照された前回の黒ラン数が０でないとき、黒ラン数比較部１６により出力された信号を参照する。
【００４０】
符号構成部１８は、黒ラン数比較部１６から出力された信号が不一致信号の場合には、今回、入力された黒ラン数の前にラン命令を挿入するとともに、黒ラン位置バッファ１５に保持された黒ランの位置情報を読み出し、今回、入力された黒ラン数に結合して符号を構成する。符号構成部１８は、黒ラン数比較部１６から出力された信号が一致信号の場合には、黒ラン位置バッファ１５に保持されたランの位置情報を読み出し、そのまま符号を構成する。
符号構成部１８により構成された符号は、符号メモリ１９に記憶される。
【００４１】
図３および図４は図２に示された具体例１の画像符号化装置の動作を示すフローチャートである。
まず、画像メモリ１１に記憶された２値画像が走査順に１走査線毎に黒ラン解析部１２に読み出され（ステップＳ１）、黒ラン位置解析部１３により主走査線内の黒ランの位置情報が解析されて黒ラン位置バッファ１５に保持されるとともに、黒ラン数カウンタ１４により主走査線内の黒ラン数がカウントされる（ステップＳ２）。
【００４２】
次いで、黒ラン数比較部１６により、前回、黒ラン数カウンタ１４によりカウントされた直前の主走査線の黒ラン数と、今回、黒ラン数カウンタ１４によりカウントされた黒ラン数とが比較され（ステップＳ３）、比較結果が一致の場合には、一致信号が符号構成部１８に出力され（ステップＳ４）、比較結果が不一致の場合には、不一致信号が符号構成部１８に出力される（ステップＳ５）。
次いで、オフセット値カウンタ１７では、今回、黒ラン数カウンタ１４によりカウントされた黒ラン数が０か否かが判定される（ステップＳ６）。
ステップＳ６で、黒ラン数が０の場合には、オフセット値が１インクリメントされ（ステップＳ７）、ステップＳ１６に進む。
一方、ステップＳ６で、黒ラン数が０でない場合には、オフセット値が参照される（ステップＳ８）。ここで、オフセット値が０でない場合には、オフセット値が符号構成部１８に出力され、オフセット値が０にリセットされ（ステップＳ９）、ステップＳ１０に進む。一方、オフセット値が０の場合には、ステップＳ１０に進む。
【００４３】
符号構成部１８では、今回、黒ラン数カウンタ１４によりカウントされた黒ラン数が０か否かが判定される（ステップＳ１０）。
ステップＳ１０で、今回、黒ラン数カウンタ１４によりカウントされた黒ラン数が０の場合には、ステップＳ１６に進む。
一方、ステップＳ１０で、今回、黒ラン数カウンタ１４によりカウントされた黒ラン数が０でない場合には、前回、黒ラン数カウンタ１４によりカウントされた直前の主走査線の黒ラン数が０か否かが判定される（ステップＳ１１）。
ステップＳ１１で、直前の主走査線の黒ラン数が０でない場合には、ステップＳ１３に進む。
一方、ステップＳ１３で、直前の主走査線の黒ラン数が０のときには、オフセット値カウンタ１７により出力されたオフセット値の前にオフセット命令が挿入され、符号が構成される（ステップＳ１２）。
【００４４】
次いで、黒ラン数比較部１６から出力された信号が一致信号か不一致信号かが判定される（ステップＳ１３）。
ステップＳ１３で、入力された信号が不一致信号の場合には、今回、黒ラン数カウンタ１４によりカウントされた黒ラン数の前にラン命令が挿入され、黒ラン位置バッファ１５に保持された黒ランの位置情報が読み出され、黒ラン数に結合されて符号が構成される（ステップＳ１４）。
一方、ステップＳ１２で、入力された信号が一致信号の場合には、黒ラン位置バッファ１５に保持された黒ランの位置情報が読み出され、そのまま符号が構成される（ステップＳ１５）。
【００４５】
次いで、ステップＳ１６において、次の主走査線の有無が判定され、次の主走査線がある場合には、ステップＳ１に戻る。
一方、ステップＳ１６で、次の走査線が無い場合には、オフセット値カウンタ１７のオフセット値が０か否かが判定され（ステップＳ１７）、オフセット値が０でない場合には、符号構成部１８により、このオフセット値の前にオフセット命令が挿入されて符号が構成され、処理を終了する。一方、ステップＳ１７で、オフセット値が０の場合には、処理を終了する。
【００４６】
このように、具体例１の画像符号化装置によれば、黒ラン数カウンタ１４によりカウントされた黒ラン数が０の場合には、オフセット命令をカウントし、黒ラン数カウンタ１４によりカウントされた黒ラン数が０でない場合には、オフセット値が０でないとき、オフセット命令にオフセット値を結合して符号を構成し、次に、黒ラン数比較部１６の比較結果が不一致のとき、ラン命令に黒ラン数および黒ランの位置情報を結合して符号を構成し、黒ラン数比較部１６の比較結果が一致のとき、黒ランの位置情報をそのまま符号化する。
したがって、上記の具体例１の画像符号化方法を好適に実現することができる。
【００４７】
〈画像復号化装置〉
図５は本発明に係る具体例１の画像復号化装置の構成を示すブロック図である。
図５に示すように、画像復号化装置は、図２に示された画像符号化装置により符号化された２値画像を復号化するものであり、符号メモリ２１、復号化部２２および画像メモリ２４を備えている。
【００４８】
符号メモリ２１には、復号化対象の符号データが記憶されている。復号化部２２は、符号メモリ２１に記憶された符号データをその先頭から読み出し、復号化するものであり、命令解析部２３および復号化すべき主走査線の黒ラン数を保持する図示しない保持部を有する。
命令解析部２３は、入力された符号データに含まれるオフセット命令およびラン命令を解析する。
復号化部２２は、命令解析部２３によりオフセット命令が解析された場合には、後続するオフセット値を解析し、解析されたオフセット値に相当する白ラインを復号化する。
復号化部２２は、命令解析部２３によりラン命令が解析された場合には、後続する黒ラン数を解析して図示しない保持部に保持し、保持された黒ラン数毎に、黒ラン数に後続する黒ランの位置情報（黒ランの始点および終点）を取り出し、主走査線を復号化する。画像メモリ２４には、復号化部２２により復号化された２値画像が記憶される。
【００４９】
図６は図５に示された具体例１の画像復号化装置の動作を示すフローチャートである。
まず、符号メモリ２１に記憶された符号データがその先頭から読み出され、復号化部２２に入力される（ステップＳ２１）。次いで、復号化部２２の命令解析部２３により入力された符号に含まれるオフセット命令が解析される（ステップＳ２２）。
ステップＳ２２で、オフセット命令が解析された場合には、オフセット命令に後続するオフセット値が解析され、解析されたオフセット値に相当する白ラインが復号化され（ステップＳ２３）、ステップＳ２７に進む。
【００５０】
一方、ステップＳ２２において、オフセット命令が解析されない場合には、符号データに含まれるラン命令が解析される（ステップＳ２４）。
ステップＳ２４において、ラン命令が解析された場合には、ラン命令に後続する黒ラン数が解析され図示しない保持部に保持され、保持された黒ラン数に後続する黒ランの位置情報（黒ランの始点および終点）が取り出され、主走査線が復号化される（ステップＳ２５）。一方、ステップＳ２４において、ラン命令が解析されない場合には、ステップＳ２６に進み、保持部に保持された黒ラン数の後続する黒ランの位置情報が取り出され、主走査線が復号化される。
次いで、ステップＳ２７において、次の符号データがある場合には、ステップＳ２１に戻り、次の符号データがない場合には、処理を終了する。
【００５１】
このように、具体例１の画像復号化装置によれば、命令解析部２３のよりオフセット命令が解析された場合には、後続するオフセット値に相当する白ラインを復号化し、ラン命令が解析された場合には、ラン数毎に黒ランの位置情報を取り出し、主走査線を復号化する。
したがって、上記の具体例１の画像復号化方法を好適に実現することができる。
【００５２】
《具体例２》
〈画像符号化方法および復号化方法〉
図７は本発明に係る具体例２の画像符号化方法の概略説明図であり、図７（ａ）は符号化対象の２値画像の一例を示す図、図７（ｂ）は図７（ａ）に示された２値画像の符号構成を示す図である。
図７（ａ）に示すように、２値画像の主走査線方向の座標をｘで表し、副走査方向の座標をｙで表す。符号化対象の２値画像のサイズは任意であるが、説明を容易にするため、８行８列の画素からなるものとする。
図中、斜線で示される画素は図形を構成する黒画素であり、白地で示される画素は図形の背景を構成する白画素である。なお、白画素が図形を構成し、黒画素が図形の背景を構成するようにしてもよい。
また、具体例１と同様に、主走査方向に１つ以上連続する黒画素の画素列を黒ランといい、１本の主走査線内の黒ランの数を黒ラン数という。また、全画素が白画素により構成された主走査線を白ラインという。図において、Ｒ１１〜Ｒ１８が黒ランである。
【００５３】
具体例２の画像符号化方法は、具体例１の画像符号化方法と同様に、主走査線内の黒ラン数をカウントし、カウントされた黒ラン数に基づいて２値画像を符号化するものである。
主走査線内に黒ラン数がカウントされない場合、すなわち主走査線が白ラインの場合には、副走査方向に１つ以上連続する白ラインの数を表すオフセット値をカウントし、カウントされたオフセット値そのものを符号とする。
主走査線内に黒ラン数がカウントされた場合には、今回、カウントされた主走査線の黒ラン数と、前回、カウントされた直前の主走査線の黒ラン数との差を算出する。
そして、今回カウントされた主走査線の黒ラン数が前回カウントされた直前の主走査線に黒ラン数より多い場合には、黒ラン数の増分値（差の絶対値）および対応する黒ランの位置情報を符号化し、今回カウントされた主走査線の黒ラン数が前回カウントされた直前の主走査線に黒ラン数より少ない場合には、黒ラン数の減分値（差の絶対値）および対応する黒ランの位置情報を符号化し、今回カウントされた主走査線の黒ラン数と前回カウントされた直前の主走査線に黒ラン数よ黒ラン数の差が０の場合には、対応する黒ランの位置情報を符号化する。
【００５４】
黒ランの位置情報は、主走査線内の黒ランの始点および終点の画素位置、または、主走査線内の黒ランの始点およびラン長により構成される。
オフセット値の前には、後続する符号がオフセット値である旨を表すオフセット命令が挿入される。黒ラン数の増分値の前には、後続する符号が黒ラン数の増分値である旨を表す進入命令が挿入され、黒ラン数の減分値の前には、後続する符号が黒ラン数の減分値である旨を表す退出命令が挿入される。
【００５５】
具体例２の画像符号化方法は、主走査線の黒ラン数を表す際に、直前の主走査線の黒ラン数との差を符号化する。黒ラン数の差を符号化することで、黒ラン数を直接符号化するよりも符号長を短くすることができる。
一般に、画像内の画素は、その近傍の画素と相関が高く、ある主走査線の黒ラン数とその直前の主走査線の黒ラン数は同数に近くなるからである。
【００５６】
画像復号化方法は、符号に含まれるオフセット命令、進入命令および退出命令を解析し、復号化すべき黒ラン数を算出する。
オフセット命令が解析された場合には、後続するオフセット値に相当する白ラインを復号化する。
進入命令が解析された場合には、後続する黒ラン数の増分値を解析し、直前の主走査線の黒ラン数に、解析された黒ラン数の増分値を加算して、復号化すべき主走査線の黒ラン数を算出する。そして、算出された黒ラン数毎に、黒ラン数の増分値に後続する黒ランの位置情報を取り出し、主走査線を復号化する。
退出命令が解析された場合には、後続する黒ラン数の減分値を解析し、直前の主走査線の黒ラン数から、解析された黒ラン数の減分値を減算して、復号化すべき主走査線の黒ラン数を算出する。そして、算出された黒ラン数毎に、黒ラン数の減分値に後続する黒ランの位置情報を取り出し、主走査線を復号化する。
【００５７】
次に図７（ｂ）に示された符号構成について具体的に説明する。
図７（ｂ）において、まず、ｙ座標０および１の主走査線は、白ラインなので、オフセット命令にオフセット値「２」が結合される。次いで、ｙ座標２の主走査線では、黒ラン数が１なので、進入命令が挿入され、増分値「１」、並びに、黒ランＲ１１の始点「２」および終点「３」が順次に結合される。次いで、ｙ座標３の主走査線では、黒ラン数が直前のラインの黒ラン数と同数のなので、黒ランＲ１２の始点「２」および終点「３」が結合される。
次いで、ｙ座標４の主走査線では、黒ラン数が２に増えたので、進入命令が挿入され、増分値「１」が結合され、黒ランＲ１３の始点「２」および終点「３」、並びに、黒ランＲ１４の始点「６」および終点「７」が順次に結合される。次いで、ｙ座標５の主走査線では、黒ラン数が直前のラインの黒ラン数と同数のなので、黒ランＲ１５の始点「２」および終点「３」、並びに、黒ランＲ１６の始点「６」および終点「７」が順次に結合される。
次いで、ｙ座標６の主走査線では、黒ラン数が１に減ったので、退出命令が挿入され、減分値「１」が結合され、黒ランＲ１７の始点「２」および終点「７」が順次に結合される。次いで、ｙ座標６の主走査線では、黒ラン数が直前のラインの黒ラン数と同数のなので、黒ランＲ１８の始点「２」および終点「７」が順次に結合される。
次いで、ｙ座標８の主走査線は、白ラインなので、オフセット命令が挿入され、オフセット値「１」が結合される。
【００５８】
このように、具体例２の画像符号化方法によれば、副走査方向に１つ以上連続し、黒ラン数が同数の主走査線をグループ化し、主走査線内の黒ラン数が０の場合には、オフセット値をカウントし、オフセット命令にオフセット値を結合して符号を構成するとともに、主走査線内の黒ラン数が０でない場合には、主走査線の黒ラン数が直前の主走査線の黒ラン数より多いときには、進入命令に増分値および黒ランの位置情報を結合し符号を構成し、主走査線の黒ラン数が直前の主走査線の黒ラン数より少ないときには、退出命令に減分値および黒ランの位置情報を結合して符号を構成し、主走査線の黒ラン数が直前の主走査線の黒ラン数が同数のときにはそのまま黒ランの位置情報により符号を構成する。
したがって、白画素の情報量を極めて少なくすることができるので、高い圧縮率の符号を得ることができる。また、複雑な演算を行うことなく２値画像を符号化することができるので、符号化処理を高速に行うことができる。さらに、符号化すべき主走査線と符号化済みの直前の主走査線の黒ラン数との差を符号化することで、黒ラン数を記述する符号長を短くすることができる。
また、具体例２の画像復号化方法によれば、オフセット命令、進入命令および退出命令を解析し、符号化された２値画像を好適に復号化することができる。
【００５９】
〈画像符号化装置〉
図８は本発明に係る具体例２の画像符号化装置の構成を示すブロック図である。
図８に示すように、画像符号化装置は、画像メモリ３１、黒ラン解析部３２、黒ラン情報バッファ３６、黒ラン数増減値算出部３７、オフセット値カウンタ３８、符号構成部３９および符号メモリ４０を備えている。
【００６０】
画像メモリ３１には、符号化対象の２値画像が記憶されている。黒ラン解析部３２は、画像メモリ１１に記憶された２値画像を走査順に読み出し、読み出された走査線内の黒ランを解析するものであり、黒ラン始点解析部３３、黒ラン長カウンタ３４および黒ラン数カウンタ３５を有する。
黒ラン始点解析部３３は、走査線内の黒ランの始点を解析し、解析された黒ランの始点を黒ラン情報バッファ３６に出力する。
黒ラン長カウンタ３４は、黒ラン始点解析部３３により黒ランの始点が解析された場合、その黒ランの黒ラン長をカウントし、カウントされた黒ラン長を黒ラン情報バッファ３６に出力する。
黒ラン数カウンタ３５は、走査線内の黒ラン数をカウントし、カウントされた黒ラン数を黒ラン数増減値算出部３７、オフセット値カウンタ３８および符号構成部３９に出力する。
【００６１】
黒ラン情報バッファ３６は、黒ラン始点解析部３３により解析された黒ランの始点および黒ラン長カウンタ３４によりカウントされた対応する黒ラン長を黒ラン情報として一時的に保持するバッファである。
黒ラン数増減値算出部３７は、前回、黒ラン数カウンタ３５によりカウントされた直前の主走査線の黒ラン数を保持する図示しない保持部を有し、今回、黒ラン数カウンタ３５によりカウントされた主走査線の黒ラン数から、前回、黒ラン数カウンタ３５によりカウントされた主走査線の黒ラン数を減算し、減算値を符号構成部３９に出力する。
【００６２】
オフセット値カウンタ３８は、黒ラン数カウンタ３５にカウントされた黒ラン数に基づいて、副走査方向に１つ以上連続する白ラインの数を表すオフセット値をカウントする。オフセット値カウンタ３８は、入力された黒ラン数が０の場合には、オフセット値を１インクリメントし、入力された黒ラン数が０でない場合には、オフセット値を参照し、参照されたオフセット値が０でないとき、オフセット値を符号構成部３９に出力する。
【００６３】
符号構成部３９は、前回、黒ラン数カウンタ３５によりカウントされた黒ラン数を保持する図示しない保持部を有し、今回、黒ラン数カウンタ３５によりカウントされた黒ラン数に基づいて符号を構成する。
符号構成部３９は、今回、入力された黒ラン数が０でない場合には、前回、入力された黒ラン数を参照し、参照された前回の黒ラン数が０のとき、オフセット値カウンタ３８により出力されたオフセット値の前にオフセット命令を挿入して符号を構成し、参照された前回の黒ラン数が０でないとき、黒ラン数増減値算出部３７から出力された減算値を参照する。
【００６４】
符号構成部３９は、黒ラン数増減値算出部３７から出力された減算値が正値の場合には、今回、入力された減算値（増分値）の前に進入命令を挿入するとともに、黒ラン情報バッファ３６に保持された黒ラン情報を読み出し、増分値に結合して符号を構成する。
符号構成部３９は、黒ラン数増減値算出部３７から出力された減算値が負値の場合には、今回、入力された減算値の絶対値（減分値）の前に退出命令を挿入するとともに、黒ラン情報バッファ３６に保持された黒ラン情報を読み出し、減分値に結合して符号を構成する。
符号構成部３９は、黒ラン数増減値算出部３７から出力された減算値が０の場合には、黒ラン位置バッファ１５に保持されたランの位置情報を読み出し、そのまま符号を構成する。
符号構成部３９により構成された符号は、符号メモリ４０に記憶される。
【００６５】
図９および図１０は図８に示された具体例２の画像符号化装置の動作を示すフローチャートである。
まず、画像メモリ３１に記憶された２値画像が走査順に１走査線毎に黒ラン解析部３２に読み出され（ステップＳ３１）、黒ラン始点解析部３３により主走査線内の黒ランの始点が解析されるとともに、黒ラン長カウンタ３４により黒ラン長が解析され、黒ラン情報として黒ラン情報バッファ３６に保持され、同時に、黒ラン数カウンタ３５により主走査線内の黒ラン数がカウントされる（ステップＳ３２）。
【００６６】
次いで、黒ラン数増減値算出部３７により、今回、黒ラン数カウンタ３５によりカウントされた主走査線の黒ラン数から、前回、黒ラン数カウンタ３５によりカウントされた黒ラン数が減算され、減算値が符号構成部３９に出力される（ステップＳ３３）。
次いで、オフセット値カウンタ３８では、今回、黒ラン数カウンタ３５によりカウントされた黒ラン数が０か否かが判定される（ステップＳ３４）。
ステップＳ３４で、黒ラン数が０の場合には、オフセット値が１インクリメントされ（ステップＳ３５）、ステップＳ４６に進む。
一方、ステップＳ３４で、黒ラン数が０でない場合には、オフセット値が参照される（ステップＳ３６）。ここで、オフセット値が０でない場合には、オフセット値が符号構成部３９に出力され、オフセット値が０にリセットされ（ステップＳ３７）、ステップＳ３８に進む。一方、オフセット値が０の場合には、ステップＳ３８に進む。
【００６７】
符号構成部３９では、今回、黒ラン数カウンタ３５によりカウントされた黒ラン数が０か否かが判定される（ステップＳ３８）。
ステップＳ３８で、今回、黒ラン数カウンタ３５によりカウントされた黒ラン数が０の場合には、ステップＳ４６に進む。
一方、ステップＳ３８で、今回、黒ラン数カウンタ３５によりカウントされた黒ラン数が０でない場合には、前回、黒ラン数カウンタ３５によりカウントされた直前の主走査線の黒ラン数が０か否かが判定される（ステップＳ３９）。
ステップＳ３９で、直前の主走査線の黒ラン数が０でない場合には、ステップＳ４１に進む。
一方、ステップＳ３９で、直前の主走査線の黒ラン数が０のときには、オフセット値カウンタ３８により出力されたオフセット値の前にオフセット命令が挿入され、符号が構成される（ステップＳ４０）。
【００６８】
次いで、黒ラン数増減値算出部３７から出力された減算値が正値であるか否かが判定される（ステップＳ４１）。
ステップＳ４１で、減算値が正値の場合には、減算値（増分値）の前に進入命令が挿入され、黒ラン情報バッファ３６に保持された黒ラン情報が読み出され、減算値に結合されて符号が構成される（ステップＳ４２）。
一方、ステップＳ４１で、減算値が正値でない場合には、減算値が負値であるか否かが判定される（ステップＳ４３）。
ステップＳ４３で、減算値が負値の場合には、減算値の絶対値（減分値）の前に退出命令が挿入され、黒ラン情報バッファ３６に保持された黒ラン情報が読み出され、減算値に結合されて符号が構成される（ステップＳ４４）。
一方、ステップＳ４３で、減算値が負値でない場合、すなわち減算値が０の場合には、黒ラン情報バッファ３６に保持された黒ラン情報が読み出され、そのまま符号が構成される（ステップＳ４５）。
【００６９】
次いで、ステップＳ４６において、次の主走査線の有無が判定され、次の主走査線がある場合には、ステップＳ３１に戻る。
一方、ステップＳ４６で、次の走査線が無い場合には、オフセット値カウンタ３８のオフセット値が０か否かが判定され（ステップＳ４７）、オフセット値が０でない場合には、符号構成部３９により、このオフセット値の前にオフセット命令が挿入されて符号が構成され、処理を終了する。一方、ステップＳ４７で、オフセット値が０の場合には、処理を終了する。
【００７０】
このように、具体例２の画像符号化装置によれば、黒ラン数カウンタ３５によりカウントされた黒ラン数が０の場合には、オフセット命令をカウントし、黒ラン数カウンタ３５によりカウントされた黒ラン数が０でない場合には、オフセット値が０でないとき、オフセット命令にオフセット値を結合して符号を構成し、黒ラン数増減値算出部３７の減算値が正値のとき、進入命令に増分値および黒ラン情報を結合して符号を構成し、黒ラン数増減値算出部３７の減算値が負値のとき、退出命令に減分値および黒ラン情報を結合して符号を構成し、黒ラン数増減値算出部３７の減算値が０のとき、黒ラン情報をそのまま符号化する。
したがって、上記の具体例２の画像符号化方法を好適に実現することができる。
【００７１】
〈画像復号化装置〉
図１１は本発明に係る具体例２の画像復号化装置の構成を示すブロック図である。
図１１に示すように、画像復号化装置は、図８に示された画像符号化装置により符号化された２値画像を復号化するものであり、符号メモリ４１、復号化部４２および画像メモリ４５を備えている。
【００７２】
符号メモリ４１には、復号化対象の符号データが記憶されている。復号化部４２は、符号メモリ４１に記憶された符号データをその先頭から読み出し、復号化するものであり、命令解析部４３および黒ラン数カウンタ４４を有する。
命令解析部４３は、入力された符号データに含まれるオフセット命令、進入命令および退出命令を解析する。
復号化部４２は、命令解析部４３によりオフセット命令が解析された場合には、後続するオフセット値を解析し、解析されたオフセット値に相当する白ラインを復号化する。
復号化部４２は、進入命令が解析された場合には、進入命令に後続する黒ラン数の増分値を解析し、解析された増分値を黒ラン数カウンタ４４に出力する。
復号化部４２は、退出命令が解析された場合には、退出命令に後続する黒ラン数の減分値を解析し、解析された減分値に負値を表す符号を付加して黒ラン数カウンタ４４に出力する。
【００７３】
黒ラン数カウンタ４４は、復号化すべき主走査線の黒ラン数をカウントするものであり、初期値は０にセットされている。
黒ラン数カウンタ４４は、命令解析部２３によりオフセット命令が解析された場合には、カウント値を０にリセットする。
黒ラン数カウンタ４４は、復号化部２２により解析された増分値が入力された場合、入力された増分値の分だけカウント値をインクリメントして、復号化すべき黒ラン数を算出する。
黒ラン数カウンタ４４は、復号化部２２により解析され、負値を表す符号が付加された減分値が入力された場合、入力された減分値の分だけカウント値をディクリメントして、復号化すべき黒ラン数を算出する。
【００７４】
復号化部４２は、進入命令および退出命令が解析された場合、それぞれ黒ラン数カウンタ４４にインクリメントおよびディクリメントされたカウント値を解析し、解析された黒ラン数毎に、黒ラン数の減算値（増分値および減分値）に後続する黒ラン情報（黒ランの始点および黒ラン長）を取り出し、主走査線を復号化する。画像メモリ４５には、復号化部４２により復号化された２値画像が記憶される。
【００７５】
図１２は図１１に示された具体例２の画像復号化装置の動作を示すフローチャートである。
まず、符号メモリ４１に記憶された符号データがその先頭から読み出され、復号化部４２に入力される（ステップＳ５１）。次いで、復号化部４２の命令解析部４３により入力された符号に含まれるオフセット命令が解析される（ステップＳ５２）。
ステップＳ５２で、オフセット命令が解析された場合には、オフセット命令に後続するオフセット値が解析され、解析されたオフセット値に相当する白ラインが復号化され（ステップＳ５３）、黒ラン数カウンタ４４のカウント値が０にリセットされ（ステップＳ５４）、ステップＳ６２に進む。
【００７６】
一方、ステップＳ５２において、オフセット命令が解析されない場合には、符号データに含まれる進入命令が解析される（ステップＳ５５）。
ステップＳ５５において、進入命令が解析された場合には、進入命令に後続する黒ラン数の増分値が解析され、解析された増分値が黒ラン数カウンタ４４に出力される（ステップＳ５６）。次いで、黒ラン数カウンタ４４により、入力された増分値の分、カウント値がインクリメントされる（ステップＳ５７）。
次いで、復号化部４２により黒ラン数カウンタ４４のカウント値が解析され、解析された黒ラン数の後続する黒ラン情報が取り出され、主走査線が復号化される（ステップＳ５８）。
【００７７】
一方、ステップＳ５５において、進入命令が解析されない場合には、符号データに含まれる退出命令が解析される（ステップＳ５９）。
ステップＳ５９において、退出命令が解析された場合には、退出命令に後続する黒ラン数の減分値が解析され、解析された減分値に負値を表す符号が付加されて黒ラン数カウンタ４４に出力される（ステップＳ６０）。次いで、黒ラン数カウンタ４４により、入力された減分値の分、カウント値がディクリメントされ（ステップＳ６１）、ステップＳ５８に進む。
【００７８】
一方、ステップＳ５９において、退出命令が解析されない場合には、ステップＳ５８に進む。
次いで、ステップＳ６２において、次の符号データがある場合には、ステップＳ５１に戻り、次の符号データがない場合には、処理を終了する。
【００７９】
このように、具体例２の画像復号化装置によれば、命令解析部４３によりオフセット命令が解析された場合には、後続するオフセット値に相当する白ラインを復号化し、進入命令および退出命令が解析された場合には、黒ラン数カウンタ４４により加算および減算された黒ラン数に基づいて主走査線を復号化し、何れの命令も解析されない場合には、現在の黒ラン数カウンタ４４の黒ラン数に基づいて主走査線を復号化する。
したがって、上記の具体例２の画像復号化方法を好適に実現することができる。
【００８０】
なお、上記具体例１および２では、２値画像を符号化するように構成しているが、２値画像のランレングス符号を符号化するように構成してもよい。
【００８１】
《具体例３》
〈画像符号化装置〉
図１３は本発明に係る具体例３の画像符号化装置の構成を示すブロック図である。
図１３に示すように、画像符号化装置は、画像メモリ５１、ラン解析部５２、ラン情報バッファ５５、ラン数比較部５６、オフセット値カウンタ５７、符号構成部５８および符号メモリ５９を備えている。
【００８２】
画像メモリ５１には、白、黒、赤および青をそれぞれ表す複数の画素からなる４値画像が記憶されている。以下、白を表す画素を白画素、黒を表す画素を黒画素、赤を表す画素を赤画素、青を表す画素を青画素という。また、白画素のランを白ラン、黒画素のランを黒ラン、赤画素のランを赤ラン、青画素のランを青ランという。
黒画素、赤画素および青画素はそれぞれ図形を表し、白画素はこれらにより表される図形の背景を表す。以下、全画素が白画素からなる主走査線を白ラインという。
ラン解析部５２は、画像メモリ５１に記憶された４値画像を走査順に読み出し、読み出された走査線内の黒ラン、赤ランおよび青ランを解析するものであり、ラン位置解析部５３およびラン総数カウンタ５４を有する。
ラン位置解析部５３は、走査線内の画素の画素値に基づいて、黒ラン、赤ランおよび青ランのそれぞれの位置情報（始点および終点、または、始点およびラン長）を解析し、解析されたランの位置情報に当該ランの画素値を表す情報を付加してラン情報としてラン情報バッファ５５に出力する。
ラン総数カウンタ５４は、走査線内の黒ラン、赤ランおよび青ランの総数をカウントし、カウントされたラン数をラン数比較部５６、オフセット値カウンタ５７および符号構成部５８に出力する。
【００８３】
ラン情報バッファ５５は、ラン位置解析部５３から出力された主走査線内の黒ラン、赤ラン、青ランのラン情報を一時的に保持するバッファである。
ラン数比較部５６は、前回、ラン総数カウンタ５４によりカウントされた直前の主走査線のラン数を保持する図示しない保持部を有し、前回、ラン総数カウンタ５４によりカウントされた主走査線のラン数と、今回、ラン総数カウンタ５４によりカウントされた主走査線のラン数とを比較する。
ラン数比較部５６は、入力されたラン数と直前の主走査線のラン数とが一致した場合には、一致信号を符号構成部５８に出力し、入力されたラン数と直前の主走査線のラン数とが一致しない場合には、不一致信号を符号構成部５８に出力する。
【００８４】
オフセット値カウンタ５７は、ラン総数カウンタ５４によりカウントされたラン数に基づいて、副走査方向に１つ以上連続する白ラインの数を表すオフセット値をカウントする。オフセット値カウンタ５７は、入力されたラン数が０の場合には、オフセット値を１インクリメントし、入力されたラン数が０でない場合には、オフセット値を参照し、参照されたオフセット値が０でないとき、オフセット値を符号構成部５８に出力する。
【００８５】
符号構成部５８は、前回、ラン総数カウンタ５４によりカウントされたラン数を保持する図示しない保持部を有し、今回、ラン総数カウンタ５４によりカウントされたラン数に基づいて符号を構成する。
符号構成部５８は、今回、入力されたラン数が０でない場合には、前回、入力されたラン数を参照し、参照された前回のラン数が０のとき、オフセット値カウンタ５７により出力されたオフセット値の前にオフセット命令を挿入して符号を構成し、参照された前回のラン数が０でないとき、ラン数比較部５６により出力された信号を参照する。
【００８６】
符号構成部５８は、ラン数比較部５６から出力された信号が不一致信号の場合には、今回、入力されたラン数の前にラン命令を挿入するとともに、ラン情報バッファ５５に保持された黒ラン、赤ランおよび青ランのそれぞれのラン情報を読み出し、今回、入力されたラン数に結合して符号を構成する。符号構成部５８は、ラン数比較部５６から出力された信号が一致信号の場合には、ラン情報バッファ５５に保持された黒ラン、赤ランおよび青ランのそれぞれのラン情報を読み出し、そのまま符号を構成する。
符号構成部５８により構成された符号は、符号メモリ５９に記憶される。
【００８７】
すなわち、具体例１および２では、２値画像を符号化対象としたのに対し、具体例３の画像符号化装置は、黒ラン、赤ランおよび青ランのそれぞれのランの位置情報にそれぞれの画素値を付加することで、符号化対象を多値画像に拡張したものである。
なお、具体例３の画像符号化装置の動作は、黒ラン解析部１２により黒ラン、赤ランおよび青ランのラン情報をそれぞれ解析する以外は、図３および図４に示された具体例１の画像符号化装置の動作と同様であり、その説明を省略する。
【００８８】
このように、具体例３の画像符号化装置によれば、副走査方向に１つ以上連続し、黒ラン、赤ランおよび青ランの総数が同数の主走査線をグループ化し、ランの総数が０の場合には、オフセット値をカウントし、オフセット命令にオフセット値を結合して符号を構成するとともに、ランの総数が０でない場合には、ラン命令にラン数および黒ラン、赤ランおよび青ランのそれぞれのラン情報（位置情報および画素値）を結合して符号を構成する。
したがって、白画素の情報量を極めて少なくすることができるので、高い圧縮率の符号を得ることができる。また、複雑な演算を行うことなく２値画像を符号化することができるので、符号化処理を高速に行うことができる。
【００８９】
〈画像復号化装置〉
図１４は本発明に係る具体例３の画像復号化装置の構成を示すブロック図である。
図１４に示すように、画像復号化装置は、図１３に示された画像符号化装置により符号化された４値画像を復号化するものであり、符号メモリ６１、復号化部６２および画像メモリ６４を備えている。
【００９０】
符号メモリ６１には、４値画像の符号データが記憶されている。復号化部６２は、符号メモリ６１に記憶された符号データをその先頭から読み出し、復号化するものであり、命令解析部６３および復号化すべき主走査線のラン数を保持する図示しない保持部を有する。
命令解析部６３は、入力された符号データに含まれるオフセット命令およびラン命令を解析する。
復号化部６２は、命令解析部６３によりオフセット命令が解析された場合には、後続するオフセット値を解析し、解析されたオフセット値に相当する白ラインを復号化する。
復号化部６２は、命令解析部６３によりラン命令が解析された場合には、後続するラン数を解析して図示しない保持部に保持し、保持されたラン数毎に、ラン数に後続する黒ラン、赤ランまたは青ランのラン情報（ランの始点、終点および画素値）を取り出し、主走査線を復号化する。画像メモリ６４には、復号化部２２により復号化された２値画像が記憶される。
なお、具体例３の画像復号化装置の動作は、ラン情報に含まれる画素値に基づいて黒ラン、赤ランおよび青ランをそれぞれ復号化する以外は、図６に示された具体例１の画像復号化装置の動作と同様であり、その説明を省略する。
【００９１】
このように、具体例３の画像復号化装置によれば、オフセット命令およびラン命令を解析し、符号化された４値画像を好適に復号化することができる。また、複雑な演算を行うことなく符号化された４値画像を復号化することができるので、復号化処理を高速に行うことができる。
具体例３の画像符号化装置および画像復号化装置は、特に、比較的色数の少ないカラー画像や比較的の階調数が少ないグレースケール画像であって、図形を表す画素に対し、図形の背景を表す画素の割合が極めて多い画像に対して有効である。
【００９２】
《具体例４》
〈画像符号化装置〉
図１５は本発明に係る具体例４の画像符号化装置の構成を示すブロック図である。
図１５に示すように、画像符号化装置は、画像メモリ７１、ラン解析部７２、ラン情報バッファ７５、ラン数比較部７６、オフセット値カウンタ７７、符号構成部７８および符号メモリ７９を備えている。
【００９３】
画像メモリ７１には、８値のグレースケール画像が記憶されている。この８値のうち画素値が最大の画素は、図形の背景を表し、他の画素値の画素は、図形を表す。以下、画素値が最大の画素を白画素といい、全画素が白画素からなる主走査線を白ラインという。また、主走査線内で、白画素以外の画素が１つ以上連続する画素列をランという。
ラン解析部７２は、画像メモリ７１に記憶された８値のグレースケール画像を走査順に読み出し、読み出された走査線内のランを解析するものであり、ラン位置解析部７３およびラン総数カウンタ７４を有する。
ラン位置解析部７３は、走査線内の画素の画素値に基づいて、ランの始点および終点を解析し、解析されたランの始点にその画素値を付加するとともに、ランの終点にその画素値を付加し、ラン情報としてラン情報バッファ７５に出力する。
ラン数カウンタ７４は、走査線内のランの数をカウントし、カウントされたラン数をラン数比較部７６、オフセット値カウンタ７７および符号構成部７８に出力する。
【００９４】
ラン情報バッファ７５は、ラン位置解析部７３から出力された主走査線内のラン情報を一時的に保持するバッファである。
ラン数比較部７６は、前回、ラン数カウンタ７４によりカウントされた直前の主走査線のラン数を保持する図示しない保持部を有し、前回、ラン数カウンタ７４によりカウントされた主走査線のラン数と、今回、ラン数カウンタ７４によりカウントされた主走査線のラン数とを比較する。
ラン数比較部７６は、入力されたラン数と直前の主走査線のラン数とが一致した場合には、一致信号を符号構成部７８に出力し、入力されたラン数と直前の主走査線のラン数とが一致しない場合には、不一致信号を符号構成部７８に出力する。
【００９５】
オフセット値カウンタ７７は、ラン数カウンタ７４によりカウントされたラン数に基づいて、副走査方向に１つ以上連続する白ラインの数を表すオフセット値をカウントする。オフセット値カウンタ７７は、入力されたラン数が０の場合には、オフセット値を１インクリメントし、入力されたラン数が０でない場合には、オフセット値を参照し、参照されたオフセット値が０でないとき、オフセット値を符号構成部７８に出力する。
【００９６】
符号構成部７８は、前回、ラン数カウンタ７４によりカウントされたラン数を保持する図示しない保持部を有し、今回、ラン数カウンタ７４によりカウントされたラン数に基づいて符号を構成する。
符号構成部７８は、今回、入力されたラン数が０でない場合には、前回、入力されたラン数を参照し、参照された前回のラン数が０のとき、オフセット値カウンタ７７により出力されたオフセット値の前にオフセット命令を挿入して符号を構成し、参照された前回のラン数が０でないとき、ラン数比較部７６により出力された信号を参照する。
【００９７】
符号構成部７８は、ラン数比較部７６から出力された信号が不一致信号の場合には、今回、入力されたラン数の前にラン命令を挿入するとともに、ラン情報バッファ７５に保持されたラン情報を読み出し、今回、入力されたラン数に結合して符号を構成する。符号構成部７８は、ラン数比較部７６から出力された信号が一致信号の場合には、ラン情報バッファ７５に保持されたラン情報を読み出し、そのまま符号を構成する。
符号構成部７８により構成された符号は、符号メモリ７９に記憶される。
【００９８】
すなわち、具体例４の画像符号化装置は、図形の背景を表す白画素以外の画素からなるランの始点および終点にそれぞれの画素値を付加し、多値画像を符号化するものである。
なお、具体例４の画像符号化装置の動作は、ラン解析部７３によりラン情報を解析する以外は、図３および図４に示された具体例１の画像符号化装置の動作と同様であり、その説明を省略する。
【００９９】
このように、具体例４の画像符号化装置によれば、副走査方向に１つ以上連続し、白画素以外の画素からなるラン数が同数の主走査線をグループ化し、ランの数が０の場合には、オフセット値をカウントし、オフセット命令にオフセット値を結合して符号を構成するとともに、ラン数が０でない場合には、ラン命令にラン数およびラン情報（ランの始点およびその画素値、並びに、ランの終点およびその画素値）を結合して符号を構成する。
したがって、白画素の情報量を極めて少なくすることができるので、高い圧縮率の符号を得ることができる。また、複雑な演算を行うことなく２値画像を符号化することができるので、符号化処理を高速に行うことができる。
【０１００】
〈画像復号化装置〉
図１６は本発明に係る具体例４の画像復号化装置の構成を示すブロック図である。
図１６に示すように、画像復号化装置は、図１５に示された画像符号化装置により符号化された８値のグレースケール画像を復号化するものであり、符号メモリ８１、復号化部８２、画素補間部８４および画像メモリ８５を備えている。
【０１０１】
符号メモリ８１には、８値のグレースケール画像の符号データが記憶されている。復号化部８２は、符号メモリ８１に記憶された符号データをその先頭から読み出し、復号化するものであり、命令解析部８３および復号化すべき主走査線のラン数を保持する図示しない保持部を有する。
命令解析部８３は、入力された符号データに含まれるオフセット命令およびラン命令を解析する。
復号化部８２は、命令解析部８３によりオフセット命令が解析された場合には、後続するオフセット値を解析し、解析されたオフセット値に相当する白ラインを復号化する。
復号化部８２は、命令解析部８３によりラン命令が解析された場合には、後続するラン数を解析して図示しない保持部に保持し、保持されたラン数毎に、ラン数に後続するラン情報（ランの始点およびその画素値、ランの終点およびその画素値）を取り出し、画素補間部８４に出力する。
【０１０２】
画素補間部８４は、入力されたラン情報に基づいてランの始点および終点間の画素を補間する。画素補間部８４は、始点および終点に基づいてラン長を求め、終点の画素値から始点の画素値を減算し、減算値を（ラン長−１）で除して、始点から終点に向かう１画素当たりの画素値の増分値を算出する。そして、画素補間部８４は、ランの始点に増分値を加算していき、始点および終点間の画素を近似的に復元する。復元された画素は白画素以外の７値の何れかに近似される。
復号化部８２は、画素補間部８４により復元されたランを白ライン上に配置して主走査線を復号化する。画像メモリ８５には、復号化部２２により復号化された８値のグレースケール画像が記憶される。
なお、具体例４の画像復号化装置の動作は、画素補間部８４によりラン情報にに基づいてランが復元され、復号化部８２により主走査線が復号化される以外は、図６に示された具体例１の画像復号化装置の動作と同様であり、その説明を省略する。
【０１０３】
このように、具体例４の画像復号化装置によれば、オフセット命令およびラン命令を解析し、符号化されたグレースケール画像を好適に復号化することができる。
具体例４の画像符号化装置および画像復号化装置は、特に、比較的の階調数が少ないグレースケール画像や３次元的な深さを画素値とする画像であって、図形を表す画素に対し、図形の背景を表す画素の割合が極めて多い画像に対して有効である。
【０１０４】
なお、具体例４の画像符号化装置および画像復号化装置では、画像符号化装置によりランの始点およびその画素値、並びに、終点およびその画素値を符号化し、画像復号化装置により始点からの増分値を算出してランを復号するようにしているが、例えば、画像符号化装置により始点からの増分値を求め、始点およびその画素値、並びに、ラン長とともに符号を構成し、画像復号化装置では、始点の画素値に増分値を加算することによりランを復元するように構成してもよい。
【０１０５】
なお、上記各具体例の画像符号化装置および画像復号化装置の動作をそれぞれ実行するプログラムを作成し、フレキシブルディスク、ハードディスク、ＲＯＭ等の記録媒体に記録することができる。この場合、装置を安価に提供することができる。
本発明に係る画像符号化方法および画像復号化方法は、図形処理された画像をコンピュータにより符号化してプリンタに転送し、プリンタにより復号化して印刷するのに好適である。
【図面の簡単な説明】
【図１】本発明に係る具体例１の画像符号化方法の概略説明図であり、図１（ａ）は符号化対象の２値画像の一例を示す図、図１（ｂ）は図１（ａ）に示された２値画像の符号構成を示す図である。
【図２】本発明に係る具体例１の画像符号化装置の構成を示すブロック図である。
【図３】具体例１の画像符号化装置の動作を示すフローチャート（その１）である。
【図４】具体例１の画像符号化装置の動作を示すフローチャート（その２）である。
【図５】本発明に係る具体例１の画像復号化装置の構成を示すブロック図である。
【図６】具体例１の画像復号化装置の動作を示すフローチャートである。
【図７】本発明に係る具体例２の画像符号化方法の概略説明図であり、図７（ａ）は符号化対象の２値画像の一例を示す図、図７（ｂ）は図１（ａ）に示された２値画像の符号構成を示す図である。
【図８】本発明に係る具体例２の画像符号化装置の構成を示すブロック図である。
【図９】具体例２の画像符号化装置の動作を示すフローチャート（その１）である。
【図１０】具体例２の画像符号化装置の動作を示すフローチャート（その２）である。
【図１１】本発明に係る具体例２の画像復号化装置の構成を示すブロック図である。
【図１２】具体例２の画像復号化装置の動作を示すフローチャートである。
【図１３】本発明に係る具体例３の画像符号化装置の構成を示すブロック図である。
【図１４】本発明に係る具体例３の画像復号化装置の構成を示すブロック図である。
【図１５】本発明に係る具体例４の画像符号化装置の構成を示すブロック図である。
【図１６】本発明に係る具体例４の画像復号化装置の構成を示すブロック図である。
【符号の説明】
１１  画像メモリ
１２  黒ラン解析部
１３  黒ラン位置解析部
１４  黒ラン数カウンタ
１５  黒ラン位置バッファ
１６  黒ラン比較部
１７  オフセット値カウンタ
１８  符号構成部
１９  符号メモリ
【図１】
0003778661.tif 000002
【図２】
0003778661.tif 000003
【図３】
0003778661.tif 000004
【図４】
0003778661.tif 000005
【図５】
0003778661.tif 000006
【図６】
0003778661.tif 000007
【図７】
0003778661.tif 000008
【図８】
0003778661.tif 000009
【図９】
0003778661.tif 000010
【図１０】
0003778661.tif 000011
【図１１】
0003778661.tif 000012
【図１２】
0003778661.tif 000013
【図１３】
0003778661.tif 000014
【図１４】
0003778661.tif 000015
【図１５】
0003778661.tif 000016
【図１６】
0003778661.tif 000017