(57)【要約】【課題】同じ色（画素値）が数多く連続する箇所を含む画像に対して、より高い圧縮率のデータ圧縮を可能にする。【解決手段】規定数（７画素）の画素からなる画素群を、当該画素群における画素値配列を示す画素値配列情報ｄ１，ｄ２，・・・と識別情報ｆ１，ｆ１１，ｆ１２，・・・とを含むデータ部へ変換した圧縮データを生成するデータ処理手段を有し、前記識別情報は、後続のデータ部が画素値配列情報を含む画素値配列データ部であるか否かを識別するものであり、前記データ処理手段は、同じ画素値配列をもつ画素群が連続する複数の画素群については、該画素値配列を示す画素値配列情報ｄ１〜ｄ７と後続のデータ部が前記画素値配列データ部ではないことを示す識別情報（ｆ１＝「１」）とを含む特定画素値配列データ部と、該特定画素値配列データ部に続く該複数の画素群の個数Ｎを示す個数データ部とする変換を行う。【選択図】図１
2018026720.tif 000002
【特許請求の範囲】
【請求項１】
入力される画像データを圧縮する処理を実行する画像処理装置において、
入力される画像データに基づき、規定数の画素からなる画素群を、当該画素群における画素値配列を示す画素値配列情報と識別情報とを含むデータ部へ変換した圧縮データを生成するデータ処理手段を有し、
前記識別情報は、後続のデータ部が画素値配列情報を含む画素値配列データ部であるか否かを識別するものであり、
前記データ処理手段は、同じ画素値配列をもつ画素群が連続する複数の画素群については、該画素値配列を示す画素値配列情報と後続のデータ部が前記画素値配列データ部ではないことを示す識別情報とを含む特定画素値配列データ部と、該特定画素値配列データ部に続く該複数の画素群の個数を示す個数データ部とする変換を行うことを特徴とする画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記データ処理手段は、同じ画素値配列をもつ画素群が連続する複数の画素群については、該複数の画素群の個数が前記個数データ部で特定可能な個数を超える場合、前記個数データ部として２以上のデータ部を用い、
該個数データ部を構成する先頭のデータ部は、該個数データ部を構成するデータ部の個数を示す情報を有することを特徴とする画像処理装置。
【請求項３】
請求項１又は２に記載の画像処理装置において、
前記圧縮データは、前記画像データの画像サイズを示す画像サイズ情報を有することを特徴とする画像処理装置。
【請求項４】
請求項１乃至３のいずれか１項に記載の画像処理装置において、
前記データ処理手段は、入力される画像データから２値画像データを生成した後に、該２値画像データに基づいて前記圧縮データを生成することを特徴とする画像処理装置。
【請求項５】
請求項１乃至４のいずれか１項に記載の画像処理装置において、
前記データ処理手段は、入力される画像データを、特定の色成分を含む特定色画像データと該特定の色成分を含まない非特定色画像データとに分解した後、該特定色画像データ及び該非特定色画像データの各々に基づいて前記変換を行い、該特定色画像データ及び該非特定色画像データのうちの一方の変換後データに続けて他方の変換後データが配置されたデータ構造を有する圧縮データを生成し、
前記圧縮データは、前記データ構造を示すデータ構造情報を含むことを特徴とする画像処理装置。
【請求項６】
請求項１乃至５のいずれか１項に記載の画像処理装置によって生成された圧縮データを画像データへ伸長する処理を実行する画像処理装置であって、
入力される圧縮データの各データ部の識別情報に基づいて、当該データ部に対する後続のデータ部が前記画素値配列データ部であると判断した場合には、当該データ部及び該後続のデータ部から画素値配列情報をそれぞれ読み出して画素値配列を特定し、該後続のデータ部が該画素値配列データ部でないと判断した場合には、当該データ部から画素値配列情報を読み出して画素値配列を特定するとともに、該後続のデータ部から個数を読み出して該画素値配列の繰り返し回数を特定して、画像データを生成するデータ処理手段を有することを特徴とする画像処理装置。
【請求項７】
入力される画像データを圧縮する画像データ圧縮方法において、
入力される画像データに基づき、規定数の画素からなる画素群を、当該画素群における画素値配列を示す画素値配列情報と識別情報とを含むデータ部へ変換した圧縮データを生成するデータ処理工程を有し、
前記識別情報は、後続のデータ部が画素値配列情報を含む画素値配列データ部であるか否かを識別するものであり、
前記データ処理工程では、同じ画素値配列をもつ画素群が連続する複数の画素群については、該画素値配列を示す画素値配列情報と後続のデータ部が前記画素値配列データ部ではないことを示す識別情報とを含むデータ部と、該データ部に続く該複数の画素群の個数を示すデータ部とする変換を行うことを特徴とする画像データ圧縮方法。
【請求項８】
請求項７に記載の画像データ圧縮方法によって生成された圧縮データを画像データへ伸長する圧縮データ伸長方法であって、
入力される圧縮データの各データ部の識別情報に基づいて、当該データ部に対する後続のデータ部が前記画素値配列データ部であると判断した場合には、当該データ部及び該後続のデータ部から画素値配列情報をそれぞれ読み出して画素値配列を特定し、該後続のデータ部が該画素値配列データ部でないと判断した場合には、当該データ部から画素値配列情報を読み出して画素値配列を特定するとともに、該後続のデータ部から個数を読み出して該画素値配列の繰り返し回数を特定して、画像データを生成するデータ処理工程を有することを特徴とする圧縮データ伸長方法。
【請求項９】
入力される画像データを圧縮する処理を実行する画像処理装置のコンピュータを機能させるための画像処理プログラムであって、
入力される画像データに基づき、規定数の画素からなる画素群を、当該画素群における画素値配列を示す画素値配列情報と識別情報とを含むデータ部へ変換した圧縮データを生成するデータ処理手段として、前記コンピュータを機能させるものであり、
前記識別情報は、後続のデータ部が画素値配列情報を含む画素値配列データ部であるか否かを識別するものであり、
前記データ処理手段は、同じ画素値配列をもつ画素群が連続する複数の画素群については、該画素値配列を示す画素値配列情報と後続のデータ部が前記画素値配列データ部ではないことを示す識別情報とを含む特定画素値配列データ部と、該特定画素値配列データ部に続く該複数の画素群の個数を示す個数データ部とする変換を行うことを特徴とする画像処理プログラム。
【請求項１０】
請求項１乃至４のいずれか１項に記載の画像処理装置によって生成された圧縮データを画像データへ伸長する処理を実行する画像処理装置のコンピュータを機能させるための画像処理プログラムであって、
入力される圧縮データの各データ部の識別情報に基づいて、当該データ部に対する後続のデータ部が前記画素値配列データ部であると判断した場合には、当該データ部及び該後続のデータ部から画素値配列情報をそれぞれ読み出して画素値配列を特定し、該後続のデータ部が該画素値配列データ部でないと判断した場合には、当該データ部から画素値配列情報を読み出して画素値配列を特定するとともに、該後続のデータ部から個数を読み出して該画素値配列の繰り返し回数を特定して、画像データを生成するデータ処理手段として、前記コンピュータを機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像データを圧縮し、又は、圧縮された画像データを伸長する画像処理装置、画像データ圧縮方法、圧縮データ伸長方法及び画像処理プログラムに関するものである。
【背景技術】
【０００２】
一般に、スキャナ等の画像読取装置で読み取った画像データや撮像手段により撮像した画像データを外部機器へ送信する場合、送信時間の短縮や通信ネットワークの負荷軽減等のために、送信対象となる画像データを圧縮してから送信することが多い。送信時間の短縮や通信ネットワークの負荷軽減等について高い効果を得るには、データ量をより多く削減できる高圧縮率の画像データ圧縮方法が求められ、高い圧縮率で圧縮可能な様々な画像データ圧縮方法が種々提案されている（特許文献１等）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１４７０８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像データ圧縮方法は、圧縮対象となる画像の種類、内容によって圧縮率が大きく変化するので、画像データ圧縮方法ごとに、高効率で圧縮することを得意とする画像の種類、内容は異なる。例えば、同じ色（画素値）が数多く連続する箇所を含む画像（白地に黒文字が記述された画像など）に対しては、同じ画素値の連続数に符号化してデータ圧縮を行うランレングス圧縮方法により高効率で簡易に圧縮することが可能である。しかしながら、このような画像に対しては、従来の画像データ圧縮方法よりも更に高い圧縮率で圧縮が可能な新たな画像データ圧縮方法が望まれる。
【０００５】
本発明は、以上の背景に鑑みなされたものであり、その目的とするところは、同じ色（画素値）が数多く連続する箇所を含む画像に対して、より高い圧縮率のデータ圧縮を可能にすることである。
【課題を解決するための手段】
【０００６】
前記目的を達成するために、請求項１の発明は、入力される画像データを圧縮する処理を実行する画像処理装置において、入力される画像データに基づき、規定数の画素からなる画素群を、当該画素群における画素値配列を示す画素値配列情報と識別情報とを含むデータ部へ変換した圧縮データを生成するデータ処理手段を有し、前記識別情報は、後続のデータ部が画素値配列情報を含む画素値配列データ部であるか否かを識別するものであり、前記データ処理手段は、同じ画素値配列をもつ画素群が連続する複数の画素群については、該画素値配列を示す画素値配列情報と後続のデータ部が前記画素値配列データ部ではないことを示す識別情報とを含む特定画素値配列データ部と、該特定画素値配列データ部に続く該複数の画素群の個数を示す個数データ部とする変換を行うことを特徴とするものである。
本発明において生成される圧縮データは、圧縮対象である画像データの画素値配列を、予め決められた規定数の画素からなる画素群に区分し、各画素群における画素値配列を示す画素値配列情報と識別情報とを含むデータ部へと変換したデータ構造を基本とする。そして、同じ画素値配列をもつ画素群が連続する画像データ部分については、当該画素値配列を示す画素値配列情報を有する特定画素値配列データ部と、これに続いて当該画素値配列をもつ画素群の連続数を示す個数データ部とに変換されることで、データ量が削減される。このとき、同じ画素値配列をもつ画素群の連続数が多ければ多いほど、削減されるデータ量が大きく、高い圧縮率が得られる。
従来のランレングス圧縮方法では、通常、画素値を示す１つの画素値データ部とその画素値の連続数を示す個数データ部とに変換することで、データ量が削減される。すなわち、画素値を示す１つの画素値データ部にその画素値の連続数を乗じた分に相当する元データ量は、画素値データ部と個数データ部の２データ部に相当するデータ量まで削減できる。ただし、その画素値の連続数がデータ部で特定可能な最大数（データ部が１バイト（＝８ビット）であるときは２５６個）を超える場合には、画素値の連続数がデータ部で特定可能な最大数よりも小さくなるまで、画素値データ部と個数データ部のセットを繰り返し配置することになる。そのため、データ部が１バイトであるとき、同じ画素値の連続数が例えば５０００個である場合を考えると、画素値データ部と個数データ部のセット（２バイト）が２０セット必要になるので、４０バイトのデータ量までしか圧縮できない。もし、画素値が２値である２値画像データである場合、画素値データ部が不要となるが、この場合でも２０バイトのデータ量までしか圧縮できない。
これに対し、本発明においては、従来のランレングス圧縮方法による圧縮データのデータ構造とは異なり、上述したように、従来のランレングス圧縮方法における画素値データ部に代えて、規定数の画素からなる画素群の画素値配列を示す画素値配列情報と識別情報とを含む画素値配列データ部を備えた圧縮データが生成される。この圧縮データを構成する画素値配列データ部は、例えば２値画像データである場合を考えると、データ部が１バイトであるとき、画素値配列情報に７ビット、識別情報に１ビットを割り当てることが可能である。識別情報は、後続のデータ部が画素値配列情報を含む画素値配列データ部であるか否かを識別できればよいので１ビットを割り当てるだけで十分なので、画素値配列情報に７ビットを割り当てることができる。このとき、上述したように画素値の連続数が例えば５０００個である場合（５０００バイト）、特定画素値配列データ部（７画素分）と個数データ部（最大２５６個）とのセット（２バイト）が３セット必要で、６バイトのデータ量まで圧縮可能である。また、画素値が３値以上である画像データである場合でも、その画像データを色（画素値）ごとの２値画像データに分解すれば同じように考えることができる。したがって、例えば３値の画像データであれば、２つ分の２値画像データ（６バイト）に相当する１２バイトまで圧縮でき、また、例えば７値の画像データであっても、６つ分の２値画像データ（６バイト）に相当する３６バイトまで圧縮でき、従来のランレングス圧縮方法の場合の４０バイトよりも少なくて済む。本発明は、同じ色（画素値）が数多く連続する箇所を含む画像（例えば白地に黒文字が描かれた画像など）に対して従来よりも高い圧縮率を実現することができる。
【０００７】
また、請求項２の発明は、請求項１に記載の画像処理装置において、前記データ処理手段は、同じ画素値配列をもつ画素群が連続する複数の画素群については、該複数の画素群の個数が前記個数データ部で特定可能な個数を超える場合、前記個数データ部として２以上のデータ部を用い、該個数データ部を構成する先頭のデータ部は、該個数データ部を構成するデータ部の個数を示す情報を有することを特徴とする。
本発明によれば、複数の画素群の個数が前記個数データ部で特定可能な個数を超える場合、個数データ部として２以上のデータ部を用いるので、更に高い圧縮率を実現することができる。例えば、上述したように画素値の連続数が例えば５０００個である場合（５０００バイト）、個数データ部が１つのデータ部（１バイト）であると、画素値配列データ部（７画素分）と個数データ部（最大２５６個）とのセット（２バイト）が３セット必要で、６バイトのデータ量まで圧縮される。これに対し、個数データ部が例えば２つのデータ部（２バイト）であると、その個数データ部で特定可能な個数は、個数データ部を構成するデータ部の個数を示す情報のために１ビット割り当てると、３２７６８個となるため、画素値配列データ部（７画素分）と個数データ部（２データ部）とのセット（３バイト）が１セットで済み、３バイトのデータ量まで圧縮される。このとき、同じ画素値の連続数が２２９３７６個以下であれば３バイトのデータ量まで圧縮可能なので、同じ画素値の連続数が多ければ多いほど、更に高い圧縮率が実現される。
【０００８】
また、請求項３の発明は、請求項１又は２に記載の画像処理装置において、前記圧縮データは、前記画像データの画像サイズを示す画像サイズ情報を有することを特徴とするものである。
本発明によれば、画素値の位置情報にデータを割り当てる必要がなくなるので、更に高い圧縮率が実現可能である。
【０００９】
また、請求項４の発明は、請求項１乃至３のいずれか１項に記載の画像処理装置において、前記データ処理手段は、入力される画像データから２値画像データを生成した後に、該２値画像データに基づいて前記圧縮データを生成することを特徴とするものである。
本発明によれば、画素値の値を示す情報にデータを割り当てる必要がなくなるので、更に高い圧縮率が実現可能である。
【００１０】
また、請求項５の発明は、請求項１乃至４のいずれか１項に記載の画像処理装置において、前記データ処理手段は、入力される画像データを、特定の色成分を含む特定色画像データと該特定の色成分を含まない非特定色画像データとに分解した後、該特定色画像データ及び該非特定色画像データの各々に基づいて前記変換を行い、該特定色画像データ及び該非特定色画像データのうちの一方の変換後データに続けて他方の変換後データが配置されたデータ構造を有する圧縮データを生成し、前記圧縮データは、前記データ構造を示すデータ構造情報を含むことを特徴とするものである。
本発明によれば、画素値が３値以上である画像データについても、高い圧縮率での圧縮が可能となる。
【００１１】
また、請求項６の発明は、請求項１乃至５のいずれか１項に記載の画像処理装置によって生成された圧縮データを画像データへ伸長する処理を実行する画像処理装置であって、入力される圧縮データの各データ部の識別情報に基づいて、当該データ部に対する後続のデータ部が前記画素値配列データ部であると判断した場合には、当該データ部及び該後続のデータ部から画素値配列情報をそれぞれ読み出して画素値配列を特定し、該後続のデータ部が該画素値配列データ部でないと判断した場合には、当該データ部から画素値配列情報を読み出して画素値配列を特定するとともに、該後続のデータ部から個数を読み出して該画素値配列の繰り返し回数を特定して、画像データを生成するデータ処理手段を有することを特徴とするものである。
本発明によれば、上述した方法で画像データが圧縮された圧縮データを、元の画像データへ伸長することができる。
【００１２】
また、請求項７の発明は、入力される画像データを圧縮する画像データ圧縮方法において、入力される画像データに基づき、規定数の画素からなる画素群を、当該画素群における画素値配列を示す画素値配列情報と識別情報とを含むデータ部へ変換した圧縮データを生成するデータ処理工程を有し、前記識別情報は、後続のデータ部が画素値配列情報を含む画素値配列データ部であるか否かを識別するものであり、前記データ処理工程では、同じ画素値配列をもつ画素群が連続する複数の画素群については、該画素値配列を示す画素値配列情報と後続のデータ部が前記画素値配列データ部ではないことを示す識別情報とを含むデータ部と、該データ部に続く該複数の画素群の個数を示すデータ部とする変換を行うことを特徴とするものである。
本発明によれば、同じ色（画素値）が数多く連続する箇所を含む画像（例えば白地に黒文字が描かれた画像など）に対して、従来よりも高い圧縮率を実現することができる。
【００１３】
また、請求項８の発明は、請求項７に記載の画像データ圧縮方法によって生成された圧縮データを画像データへ伸長する圧縮データ伸長方法であって、入力される圧縮データの各データ部の識別情報に基づいて、当該データ部に対する後続のデータ部が前記画素値配列データ部であると判断した場合には、当該データ部及び該後続のデータ部から画素値配列情報をそれぞれ読み出して画素値配列を特定し、該後続のデータ部が該画素値配列データ部でないと判断した場合には、当該データ部から画素値配列情報を読み出して画素値配列を特定するとともに、該後続のデータ部から個数を読み出して該画素値配列の繰り返し回数を特定して、画像データを生成するデータ処理工程を有することを特徴とするものである。
本発明によれば、上述した方法で画像データが圧縮された圧縮データを、元の画像データへ伸長することができる。
【００１４】
また、請求項９の発明は、入力される画像データを圧縮する処理を実行する画像処理装置のコンピュータを機能させるための画像処理プログラムであって、入力される画像データに基づき、規定数の画素からなる画素群を、当該画素群における画素値配列を示す画素値配列情報と識別情報とを含むデータ部へ変換した圧縮データを生成するデータ処理手段として、前記コンピュータを機能させるものであり、前記識別情報は、後続のデータ部が画素値配列情報を含む画素値配列データ部であるか否かを識別するものであり、前記データ処理手段は、同じ画素値配列をもつ画素群が連続する複数の画素群については、該画素値配列を示す画素値配列情報と後続のデータ部が前記画素値配列データ部ではないことを示す識別情報とを含む特定画素値配列データ部と、該特定画素値配列データ部に続く該複数の画素群の個数を示す個数データ部とする変換を行うことを特徴とするものである。
本発明によれば、同じ色（画素値）が数多く連続する箇所を含む画像（例えば白地に黒文字が描かれた画像など）に対して、従来よりも高い圧縮率を実現することができる。
【００１５】
また、請求項１０の発明は、請求項１乃至４のいずれか１項に記載の画像処理装置によって生成された圧縮データを画像データへ伸長する処理を実行する画像処理装置のコンピュータを機能させるための画像処理プログラムであって、入力される圧縮データの各データ部の識別情報に基づいて、当該データ部に対する後続のデータ部が前記画素値配列データ部であると判断した場合には、当該データ部及び該後続のデータ部から画素値配列情報をそれぞれ読み出して画素値配列を特定し、該後続のデータ部が該画素値配列データ部でないと判断した場合には、当該データ部から画素値配列情報を読み出して画素値配列を特定するとともに、該後続のデータ部から個数を読み出して該画素値配列の繰り返し回数を特定して、画像データを生成するデータ処理手段として、前記コンピュータを機能させることを特徴とするものである。
本発明によれば、上述した方法で画像データが圧縮された圧縮データを、元の画像データへ伸長することができる。
【００１６】
なお、上述したプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録された状態で配布したり、入手したりすることができる。また、上述したプログラムを乗せ、所定の送信装置により送信された信号を、公衆電話回線や専用線、その他の通信網等の伝送媒体を介して配信したり、受信したりすることでも、配布、入手が可能である。この配信の際、伝送媒体中には、コンピュータプログラムの少なくとも一部が伝送されていればよい。すなわち、コンピュータプログラムを構成するすべてのデータが、一時に伝送媒体上に存在している必要はない。上述したプログラムを乗せた信号とは、コンピュータプログラムを含む所定の搬送波に具現化されたコンピュータデータ信号である。また、所定の送信装置からコンピュータプログラムを送信する送信方法には、プログラムを構成するデータを連続的に送信する場合も、断続的に送信する場合も含まれる。
【発明の効果】
【００１７】
本発明によれば、同じ色（画素値）が数多く連続する箇所を含む画像に対して、より高い圧縮率でデータ圧縮が可能となるという優れた効果が奏される。
【図面の簡単な説明】
【００１８】
【図１】第１データ部の画素値配列情報ｄ１〜ｄ７の画素値配列が第１０データ部まで同じである場合に、実施形態における画像データ圧縮処理によって生成される圧縮データのデータ構造を示す説明図である。
【図２】同質問回答システムを含むビデオ教育システムの主要構成を示す説明図である。
【図３】実施形態における質問回答システムを構成する端末及び管理サーバの主要部を示すブロック図である。
【図４】同ビデオ教育システムの処理の流れを示すフローチャートである。
【図５】同質問回答システムの回答提示処理の流れを示すフローチャートである。
【図６】実施形態における画像データ圧縮処理を含む画像処理の流れを示すフローチャートである。
【図７】同画像データ圧縮処理で生成される圧縮データの基本的なデータ構造を示す説明図である。
【図８】個数データ部を２バイトに拡張した例のデータ構造を示す説明図である。
【図９】変形例における画像データ圧縮処理を含む画像処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明に係る画像処理装置を、ビデオ教育システムにおける質問回答システムに適用した一実施形態について説明する。
なお、本発明に係る画像処理装置は、ビデオ教育システムに限らず、入力される画像データを圧縮する処理を実行する画像データ圧縮装置や、圧縮データを画像データへ伸長する処理を実行する圧縮データ伸長装置に、広く適用可能である。
【００２０】
まず、本実施形態に係るビデオ教育システム全体の構成について説明する。
図２は、本実施形態に係るビデオ教育システムの主要構成を示す説明図である。
このビデオ教育システムは、本ビデオ教育システムでの授業や講義を受講する学生などの各受講者が操作する画像データ圧縮装置としての複数の端末（質問者端末）１Ａ，１Ｂ，１Ｃ，・・・と、本ビデオ教育システムを通じて受講者（質問者）が出す質問に回答する講師などの回答者が操作する画像データ圧縮装置としての複数の端末（回答者端末）２Ａ，２Ｂ，２Ｃ，・・・と、本ビデオ教育システムを管理する圧縮データ伸長装置としての管理サーバ３とから構成されている。各端末１，２と管理サーバ３とは通信ネットワークを介して接続されている。
【００２１】
本実施形態のビデオ教育システムでは、予め、本システムの管理者に申し込んで登録された受講者は、自分の端末１Ａ，１Ｂ，１Ｃ，・・・を用いて、管理サーバ３から配信される講義ビデオを視聴することができる。本実施形態では、申し込みの際、受講者ごとに受講者ＩＤが発行され、各受講者の視聴履歴、後述する各受講者の質問データなどの情報は、受講者ＩＤに関連付けられて管理される。
【００２２】
また、本実施形態のビデオ教育システムには、後述するように、講義ビデオを視聴した受講者からの質問を受けて、その質問に対して回答者が回答を提供するための質問回答システムが含まれている。質問を出したい受講者は、自分の端末１Ａ，１Ｂ，１Ｃ，・・・を用いて、質問内容を含む質問データを管理サーバ３へ送る。一方、管理サーバ３は、予め登録されている回答者の端末２Ａ，２Ｂ，２Ｃ，・・・に対して質問内容を適宜提示する。そして、回答を提供する回答者は、自分の端末２Ａ，２Ｂ，２Ｃ，・・・を用いて、回答内容を含む回答データを管理サーバ３へ送る。回答データを受けた管理サーバ３は、対応する質問者の端末１Ａ，１Ｂ，１Ｃ，・・・に対して回答内容を提示する。
【００２３】
回答者は、有効な回答を可能な知識を有するものであれば、講義ビデオで講義を行っている講師、受講者の保護者、本システムの管理者が募集した回答用ユーザーなど、特に制限はない。回答者となるには、予め、本システムの管理者に申し込み、登録を済ませる必要がある。登録された回答者には、回答者ＩＤが発行され、各回答者の回答データなどの情報は、回答者ＩＤに関連付けられて管理される。
【００２４】
図３は、本実施形態における質問回答システムを構成する端末１，２及び管理サーバ３の主要部を示すブロック図である。
なお、以下の説明では、適宜、受講者である質問者が操作する端末１Ａ，１Ｂ，１Ｃ，・・・を質問者端末１といい、回答者が操作する端末２Ａ，２Ｂ，２Ｃ，・・・を回答者端末２という。
【００２５】
本実施形態において、質問者が操作する質問者端末１は、主に、制御部１１、操作部１２、表示部１３、撮像手段としてのカメラ部１４、外部通信部１５から構成されている。また、回答者が操作する回答者端末２も、主に、制御部２１、操作部２２、表示部２３、カメラ部２４、外部通信部２５から構成されている。本実施形態では、質問者端末１も回答者端末２も、スマートフォン又はタブレットなどのタッチパネル式端末であるが、上述した各部と同等の機能を有する端末であれば、特に制限はない。
【００２６】
質問者端末１の制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などによって構成され、質問者端末１を構成する各部を制御したり、各種データ処理を実施したりする。具体的には、ＲＯＭやＨＤ（Hard Disk）などの他の記憶部に記憶された各種プログラムをＣＰＵが実行することにより、各種制御や各種処理を実施する。特に、本実施形態では、後述するように、質問者が手書きした質問内容をカメラ部１４で撮像した撮像画像データ（質問画像データ）を圧縮処理してから質問データとして管理サーバ３へ送信するので、制御部１１は、その圧縮処理を実行して圧縮データを生成するデータ処理手段として機能する。ＲＯＭは、質問者端末１で実行可能な各種プログラムや、これらの各種プログラムを実行する際に使用される各種データ、及びＣＰＵの演算処理結果などを記憶する不揮発性の半導体メモリである。ＲＡＭは、ＣＰＵによって実行される各種プログラムなどを展開するためのプログラム格納領域や、各種入出力データや各種プログラムの実行結果などを格納するデータ格納領域などを備える揮発性の半導体メモリである。
【００２７】
操作部１２は、質問者からの各種操作入力を受け付け、受け付けた操作入力内容を制御部１１へ送る。本実施形態における操作部１２は、上述したとおりタッチパネル式であり、タッチパネルに対するユーザーの指示操作に従った操作内容を受け付ける。表示部１３は、制御部１１の制御の下、タッチパネル上に画像を表示する。カメラ部１４は、制御部１１の制御の下、所定の撮像エリアを撮像し、撮像した撮像画像データを、制御部１１へ送る。本実施形態において、質問者は、手書きした質問内容をカメラ部１４で撮像した撮像画像データ（質問画像データ）を、質問データとして管理サーバ３へ送信することができる。外部通信部１５は、制御部１１の制御の下、通信ネットワークを介して管理サーバ３等の外部機器とデータ通信を行う。
【００２８】
回答者端末２も、質問者端末１と同様、制御部２１がＣＰＵ、ＲＯＭ、ＲＡＭなどによって構成される。特に、本実施形態では、後述するように、回答者が手書きした回答内容をカメラ部２４で撮像した撮像画像データ（回答画像データ）を圧縮処理してから回答データとして管理サーバ３へ送信するので、制御部２１は、その圧縮処理を実行して圧縮データを生成するデータ処理手段として機能する。操作部２２も、質問者端末１と同様にタッチパネル式であり、回答者からの各種操作入力を受け付け、受け付けた操作入力内容を制御部２１へ送る。表示部２３は、制御部２１の制御の下、タッチパネル上に画像を表示する。カメラ部２４は、制御部２１の制御の下、所定の撮像エリアを撮像し、撮像した撮像画像データを、制御部２１へ送る。本実施形態において、回答者は、手書きした回答内容をカメラ部１４で撮像した撮像画像データ（回答画像データ）を、回答データとして管理サーバ３へ送信することができる。外部通信部２５は、制御部２１の制御の下、通信ネットワークを介して管理サーバ３等の外部機器とデータ通信を行う。
【００２９】
管理サーバ３における制御部３１も、ＣＰＵ、ＲＯＭ、ＲＡＭなどによって構成され、管理サーバ３を構成する各部を制御したり、各種データ処理を実施したりする。特に、本実施形態では、上述したとおり、質問者が手書きした質問内容や回答者が手書きした回答内容を撮像した撮像画像データを圧縮した圧縮データを管理サーバ３が受信するので、制御部３１は、その圧縮データを元の画像データへ伸長する伸長処理を実行して画像データを生成するデータ処理手段として機能する。
【００３０】
また、管理サーバ３の質問画像データ蓄積部３２は、制御部３１の制御の下、質問者端末１から通信ネットワークを介して受信した圧縮データを伸長した質問画像データを記憶する。本実施形態における各質問画像データは、その質問画像データを送信した質問者端末１を使用する質問者の受講者ＩＤ（質問者特定情報）に関連づけられて記憶される。また、本実施形態では、後述するように、各質問画像データは、その質問に関連する講義（グループ）ごとに分類されるので、講義を特定するための講義ＩＤ（グループ特定情報）にも関連づけられて記憶される。
【００３１】
また、管理サーバ３の回答画像データ蓄積部３３は、制御部３１の制御の下、回答者端末２から通信ネットワークを介して受信した圧縮データを伸長した回答画像データを記憶する。本実施形態における各回答画像データは、その回答画像データを送信した回答者端末２を使用する回答者の回答者ＩＤ（回答者特定情報）に関連づけられて記憶される。また、各回答画像データは、対応する質問画像データを送信した質問者端末１を使用する質問者の受講者ＩＤ（質問者特定情報）にも関連づけられて記憶される。その結果、各回答画像データは、対応する質問画像データが分類された講義ＩＤにも関連づけられて記憶される。
【００３２】
また、管理サーバ３の外部通信部３５は、制御部３１の制御の下、通信ネットワークを介して端末１，２等の外部機器とデータ通信を行う。
【００３３】
次に、本実施形態におけるビデオ教育システムの処理について説明する。
図４は、本実施形態における質問回答システムの質問登録処理を含むビデオ教育システムの処理の流れを示すフローチャートである。
管理サーバ３は、各端末１，２から通信ネットワークを介してアクセス可能なビデオ教育システムのＷｅｂサイトを公開しており、受講者（質問者）や回答者は、端末１，２を用いて当該Ｗｅｂサイトにアクセスすることができる。Ｗｅｂサイトにアクセスした受講者は、端末１を用いて受講者ＩＤ及びパスワード等のログイン情報を入力する。すると、そのログイン情報が通信ネットワークを介して管理サーバ３へ送信される。ログイン情報を受信した管理サーバ３は、制御部３１により認証処理を実行した後、ログイン情報の送信元の端末１へ講義選択画面を表示させるための情報を送信する。これにより、端末１の表示部１３には、講義選択画面が表示される。
【００３４】
端末１の表示部１３に表示された講義選択画面に従って、受講者が受講したい講義を選択すると、その講義選択情報が通信ネットワークを介して管理サーバ３へ送信される。講義選択情報を受信した管理サーバ３は、制御部３１により、その講義選択情報に対応する講義ビデオを配信するためのビデオ配信処理を実行する。これにより、講義選択情報の送信元の端末１へ当該講義選択情報に係る講義のビデオデータが送信される。そして、端末１の表示部１３には、その受講者が選択した講義ビデオが表示され、受講者は端末１によりその講義を視聴することができる。
【００３５】
受講者による講義の視聴が終了すると、端末１の表示部１３には、その講義内容の理解度を受講者に選択させるための理解度選択画面が表示される。この理解度選択画面は、例えば、「理解できた（ＯＫ）」と「理解できない（ＮＧ）」の２択の選択を促すものである。この理解度選択画面に従って、受講者が理解度を選択すると、その理解度選択情報が通信ネットワークを介して管理サーバ３へ送信される。理解度選択情報を受信した管理サーバ３は、理解度選択情報が「理解できた（ＯＫ）」であれば、そのまま講義ビデオ配信を終了し、再び、当該端末１に対して講義選択画面を表示させるための情報を送信し、端末１の表示部１３に講義選択画面を表示させる。
【００３６】
一方、理解度選択情報が「理解できない（ＮＧ）」であれば、管理サーバ３は、制御部３１により、その理解度選択情報の送信元の端末１へ質問入力画面を表示させるための情報を送信する。これにより、端末１の表示部１３には、質問入力画面が表示される。この質問入力画面には、例えば、キーボード等によりテキスト入力するか、手書きした質問をカメラで撮像するカメラ入力にするか、質問をしないか等を、受講者に選択させるものである。
【００３７】
質問入力画面に従って、受講者がカメラ入力を選択すると、端末１の制御部１１は、カメラ部１４を起動し、カメラ部１４で撮像した撮像画像データ（質問画像データ）を管理サーバ３へ送信するための質問入力処理を実行する。この質問入力処理では、カメラ部１４の撮像エリアが端末１の表示部１３に表示されるとともに、レリーズ操作用ボタンが表示部１３に表示される。受講者は、手書きの質問内容をカメラ入力する場合、まず、表示部１３上のレリーズ操作用ボタンを指でタッチし、その状態を維持し続ける。この操作内容が操作部１２に受け付けられると、制御部１１は、レリーズ操作用ボタンのタッチ状態が維持されている間、カメラ部１４のオートフォーカス機能を実施して、質問内容のピントを合わせる。そして、受講者が表示部１３上のレリーズ操作用ボタンから指を離す操作を行うと、この操作内容が操作部１２に受け付けられ、制御部１１は、その操作タイミングに合わせてカメラ部１４に撮像させ、質問内容を含む撮像画像データをカメラ部１４から取得する。
【００３８】
なお、本実施形態では、受講者が表示部１３上のレリーズ操作用ボタンから指を離す操作タイミングに応じてレリーズ動作を実施する例であるが、受講者が表示部１３上のレリーズ操作用ボタンに指でタッチする操作タイミングに応じてレリーズ動作を実施してもよい。ただし、指でタッチする操作は、指を離す操作と比べて、その操作を行う受講者の端末１の動き（ブレ）が大きくなりやすい。そのため、本実施形態のようにレリーズ操作用ボタンから指を離す操作タイミングに応じてレリーズ動作を実施する方が、撮像画像のブレやピントのズレが少なくなるというメリットがある。
【００３９】
また、端末１の制御部１１は、カメラ部１４から取得した撮像画像データに対し、後述するデータ圧縮処理を含む各種画像処理を実施した後、質問画像データの圧縮データを受講者ＩＤ及び講義ＩＤに関連づけて管理サーバ３へ送信する。ここで実施する画像処理には、特に制限はないが、管理サーバ３へのデータ通信量の削減、管理サーバ３での質問画像データの管理などの観点から、適宜必要な画像処理を実施する。具体例としては、質問内容を記述した用紙を斜めから撮影した斜視の画像データを正面視の画像データへ変換する透視変換処理や、データ量削減のための減色処理などが挙げられる。減色処理は、２値化処理のほか、例えば黒、白、赤の３色に減色する処理も含む。黒、白、赤の３色に減色する場合、例えば、赤色検出処理を実施して赤色画像と非赤色画像を抽出し、それぞれの画像に対して２値化処理を実施したものを合成する処理により実現できる。
【００４０】
このようにして端末１から送信された圧縮データ（質問画像データ）は、管理サーバ３の外部通信部３５によって受信される。そして、管理サーバ３の制御部３１は、受信した圧縮データ（質問画像データ）を伸長して画像データを生成するデータ伸長処理を含む各種画像処理を実施した後、生成された質問画像データを質問画像データ蓄積部３２に登録する質問登録処理を実行する。この質問登録処理では、その質問画像データに対応する受講者ＩＤ及び講義ＩＤに関連づけて、質問画像データ蓄積部３２に質問画像データを登録する。その後、管理サーバ３は、制御部３１により、その質問画像データの送信元の端末１へ処理結果通知を送信する。これにより、端末１の表示部１３には、質問の登録が完了した旨の通知が表示される。その後、管理サーバ３では、講義ビデオ配信を終了し、再び、当該端末１に対して講義選択画面を表示させるための情報を送信し、端末１の表示部１３に講義選択画面を表示させる。
【００４１】
なお、質問入力画面に従って、キーボード等によるテキスト入力を選択した場合には、受講者がテキスト入力した内容が質問データとして、受講者ＩＤ及び講義ＩＤに関連づけて管理サーバ３へ送信される。これにより、テキスト入力された質問データも、質問画像データの場合と同様に、質問画像データ蓄積部３２に登録される。
また、質問入力画面に従って受講者が質問しないを選択すれば、質問登録処理を行わずに、講義ビデオ配信を終了し、再び、当該端末１に対して講義選択画面を表示させるための情報を送信し、端末１の表示部１３に講義選択画面を表示させる。
【００４２】
なお、本実施形態において、受講者が質問画像データを登録する方法は、上述したように、講義の視聴終了時に質問入力画面を表示させて受講者からの質問画像データを登録する方法に限られない。例えば、ログインした受講者が、Ｗｅｂサイト上で所定の質問入力のための操作（例えば、講義選択画面上に表示された質問入力ボタンをタッチする等）を行うことで、上述した質問入力画面を表示させて受講者からの質問画像データを登録する方法も含まれる。
【００４３】
次に、本実施形態における回答の提示について説明する。
図５は、本実施形態における質問回答システムの回答提示処理の流れを示すフローチャートである。
管理サーバ３が公開するＷｅｂサイトにアクセスした回答者は、端末２を用いて回答者ＩＤ及びパスワード等のログイン情報を入力する。すると、そのログイン情報が通信ネットワークを介して管理サーバ３へ送信される。ログイン情報を受信した管理サーバ３は、制御部３１により認証処理を実行した後、管理サーバ３の制御部３１は、そのログイン情報に係る回答者ＩＤが関連付けられた講義ＩＤを特定し、特定した講義ＩＤに関連づけられて登録されている質問画像データを質問画像データ蓄積部３２から抽出する処理を行う。回答者ＩＤと講義ＩＤとの関連づけは、例えば、回答者の申し込みの際に回答者が回答可能な講義あるいは科目として選択したものに対応する講義ＩＤをその回答者の回答者ＩＤに関連づけるなどにより得ることができる。
【００４４】
そして、管理サーバ３の制御部３１は、このようにして抽出された質問画像データの中から回答対象とするものを選択させる質問選択画面を表示させるための情報を、ログイン情報の送信元の端末２へ送信する。これにより、端末２の表示部２３には、質問選択画面が表示される。この質問選択画面には、その回答者の回答者ＩＤに対応する講義ＩＤに関連づけられた１又は２以上の質問画像データ、すなわち、その回答者が回答可能な講義についての１又は２以上の質問画像データが表示される。また、この質問選択画面では、いずれの質問画像データについての質問に回答するかの選択、並びに、その回答方法として、キーボード等によりテキスト入力するか、手書きした回答をカメラで撮像するカメラ入力にするか、回答をしないか等の選択を行うことができる。
【００４５】
質問選択画面に従って、回答者が回答対象とする質問画像データを選択して、カメラ入力を選択すると、端末２の制御部２１は、カメラ部２４を起動し、カメラ部２４で撮像した撮像画像データ（回答画像データ）を管理サーバ３へ送信するための回答入力処理を実行する。この回答入力処理は、上述した質問者端末１における質問入力処理と同様であり、端末２の制御部２１は、カメラ部２４から取得した撮像画像データに対し、後述するデータ圧縮処理を含む各種画像処理を実施した後、回答画像データの圧縮データを回答者ＩＤ及び講義ＩＤに関連づけて管理サーバ３へ送信する。
【００４６】
端末２から送信された圧縮データ（回答画像データ）は、管理サーバ３の外部通信部３５によって受信される。そして、管理サーバ３の制御部３１は、受信した圧縮データ（回答画像データ）を伸長して画像データを生成するデータ伸長処理を含む各種画像処理を実施した後、生成された回答画像データを回答画像データ蓄積部３３に登録する回答登録処理を実行する。この回答登録処理では、その回答画像データに対応する質問画像データ並びに回答者ＩＤ及び講義ＩＤに関連づけて、回答画像データ蓄積部３３に回答画像データを登録する。
【００４７】
なお、本実施形態では、Ｗｅｂサイトにアクセスした回答者に対して質問画像データを提示して、回答対象の選択、回答の入力を実施しているが、例えば、質問画像データの登録があったら、その質問画像データに対応する講義ＩＤに関連付けられた回答者ＩＤの回答者の端末２に対し、管理サーバ３から質問画像データをプッシュ配信するようにしてもよい。また、例えば、質問画像データの登録があったら、その質問画像データに対応する講義ＩＤに関連付けられた回答者ＩＤの回答者の端末２に対し、管理サーバ３から質問が登録された旨を案内する情報をプッシュ配信し、回答者に対してＷｅｂサイトにアクセスするように促してもよい。
【００４８】
一方で、ログインした受講者（質問者）に対しては、管理サーバ３の制御部３１は、そのログイン情報に係る受講者ＩＤに関連づけられて登録されている質問画像データを質問画像データ蓄積部３２から抽出するとともに、その質問画像データに関連付けられた回答画像データを回答画像データ蓄積部３３から抽出する。そして、これらの質問画像データ及び回答画像データに対し、後述するデータ圧縮処理を含む各種画像処理を実施した後、その圧縮データを送信する。これにより、端末１の表示部１３には、その受講者（質問者）が質問した質問内容と、これについて回答者が回答した回答内容とを含む質問回答画面が表示される。その結果、受講者は、自分が質問した質問に対する回答内容を確認することができる。
【００４９】
なお、本実施形態では、Ｗｅｂサイトにアクセスした質問者に対して回答画像データを提示しているが、例えば、回答画像データの登録があったら、その回答画像データに対応する質問画像データに関連付けられた質問者ＩＤの質問者の端末１に対し、管理サーバ３から回答画像データをプッシュ配信するようにしてもよい。また、例えば、回答画像データの登録があったら、その回答画像データに対応する質問画像データに関連付けられた質問者ＩＤの質問者の端末１に対し、管理サーバ３から回答が登録された旨を案内する情報をプッシュ配信し、質問者に対してＷｅｂサイトにアクセスするように促してもよい。
【００５０】
また、本実施形態では、上述したように、質問者の質問内容は、手書きの質問内容を撮像した質問画像データにより回答者に提示される。質問内容や質問の意図などを回答者へ適切に伝えるためには、文字情報だけでは不十分あるいは不適な場合がある。文字情報以外のアナログ的な情報（文字の大きさや位置、文字の色、筆圧、○や下線などの記号）を含む手書きの質問画像であれば、文字情報だけの質問情報では不十分あるいは不適な質問内容等についても、十分にあるいは適切に回答者へ伝えることが可能である。また、質問者は、手元にある用紙に手書きで質問内容を記述し、これを端末１のカメラ部１４で撮像してその質問画像データを送信するという作業により、質問を出すことができる。このような作業は、質問者端末１のキーボード等を用いてテキスト入力する作業よりも、簡便かつ迅速に行うことができ、質問を出す際の作業性も向上する。
【００５１】
同様に、本実施形態では、上述したように、回答者の回答内容は、手書きの回答内容を撮像した回答画像データにより質問者に提示されるので、文字情報だけの回答情報では不十分あるいは不適な回答内容等についても、十分にあるいは適切に質問者へ伝えることが可能である。また、回答者も、手元にある用紙に手書きで回答内容を記述し、これを端末１のカメラ部１４で撮像してその回答画像データを送信するという作業により、回答を出すことができる。このような作業は、回答者端末２のキーボード等を用いてテキスト入力する作業よりも、簡便かつ迅速に行うことができ、回答を出す際の作業性も向上する。
【００５２】
次に、本実施形態における画像データ圧縮処理を含む画像処理について説明する。
図６は、本実施形態における画像データ圧縮処理を含む画像処理の流れを示すフローチャートである。
本実施形態において、質問内容や回答内容が手書きされた用紙をカメラ部１４，２４で撮像してフルカラーの撮像画像データを取得したら（Ｓ１のＹｅｓ）、まず、その用紙の四隅（コーナー）を検出するコーナー検出を行う（Ｓ２）。その後、そのコーナー検出結果を用いて斜視の画像データを正面視の画像データへ変換する透視変換処理を実施する（Ｓ３）。そして、透視変換後の画像データ（フルカラー）を２値化（白黒）する処理を行い（Ｓ４）、２値画像データを得る。
【００５３】
本実施形態では、このようにして得た２値画像データに対し、そのデータ量を削減するためのデータ圧縮処理を実行し（Ｓ５）、このように生成された圧縮データにヘッダ部を付して、ファイル出力する（Ｓ６）。本実施形態のデータ圧縮処理では、２値画像データから、図７に示すようなデータ構造を有する圧縮データを生成する。すなわち、本実施形態の圧縮データは、合計４バイトである１つのヘッダ部と、各々１バイトであるデータ部の群とから構成される。ヘッダ部における最初の２バイトは、圧縮前の２値画像データの画像幅Ｗ（画素数）を示し、ヘッダ部における残りの２バイトは、圧縮前の２値画像データの画像高さＨ（画素数）を示す。また、このヘッダ部に続く各データ部は、先頭ビットが識別情報ｆ１，ｆ２，ｆ３，・・・に割り当てられ、残りの７ビットが７画素分の画素値配列を示す画素値配列情報ｄ１，ｄ２，ｄ３，・・・に割り当てられる画素値配列データ部である。各画素値配列データ部の画素値配列情報ｄ１，ｄ２，ｄ３，・・・は、圧縮前の２値画像データにおける画素の並び順と同じ順序で、その値が「０」であれば白、「１」であれば黒を示す。
【００５４】
例えば、日本工業規格Ａ列４番（以下「Ａ４判」という。）の用紙を３００ｄｐｉの解像度で得た画像データの場合、その総画素数は、２４８０×３５０７＝８６９７３６０個である。これを単純に上述したデータ構造に当てはめると、ヘッダ部の４バイトと、１２４２４８０バイトの画素値配列データ部となり、約１．２４Ｍバイトとなる。
【００５５】
ここで、本実施形態においては、同じ画素値配列をもつ画素群が連続する複数の画素群については、その画素値配列を示す７ビットの画素値配列情報と後続のデータ部が前記画素値配列データ部ではないことを示す識別情報（ｆ＝「１」）とを含む特定画素値配列データ部と、これに続く当該複数の画素群の個数を示す個数データ部と変換する。具体的には、例えば、第１データ部の画素値配列情報ｄ１〜ｄ７の画素値配列が第１０データ部まで同じである場合（例えばｄ１〜ｄ７０の画素値がすべて「０」（白）である場合）、図１に示すように、第１データ部の画素値配列情報ｄ１〜ｄ７はそのままであるが、第１データ部の識別情報ｆ１の値は「１」とする。そして、この第１データ部（特定画素値配列データ部）に対して後続する１バイトのデータ部については、同じ画素値配列をもつ画素群の連続数に相当する値を示す個数データ部（Ｎ＝９）とする。これにより、第１データ部から第１０データ部までのデータ量（１０バイト）は、第１データ部と個数データ部の合計２バイトまで削減される。
【００５６】
このとき、図１に示す２つ目のデータ部が、画素値配列情報ｄを含む画素値配列データ部であるか、同じ画素値配列をもつ画素群の連続数を示す個数データ部であるかは、その直前の第一データ部（特定画素値配列データ部）の識別情報によって識別される。したがって、あるデータ部の識別情報が「０」であれば、これに続くデータ部は画素値配列データ部として解釈され、あるデータ部の識別情報が「１」であれば、これに続くデータ部は個数データ部として解釈され、元の画像データへ伸長することができる。
【００５７】
本実施形態における画像データ圧縮方法は、同じ画素値配列をもつ画素群の連続数が多ければ多いほど、削減されるデータ量が大きく、高い圧縮率が得られる。例えば、白紙のＡ４判を３００ｄｐｉで撮像した画像データを考えると、この画像データは、画素値が「０」である画素が８６９７３６０個連続したものとなる。これを、例えば画素値を示す１つの画素値データ部（１バイト）とその画素値の連続数を示す個数データ部（１バイト）とに変換する通常のランレングス圧縮方法により圧縮すると、画素値データ部（１画素分）と個数データ部（最大２５６個）のセット（２バイト）が３３９７５セット必要になるので、約６８Ｋバイト（６７９５０バイト）までしか圧縮できない。なお、画素値データ部を省略する方式でも、同程度のデータ量までしか圧縮できない。これに対し、本実施形態の画像データ圧縮方法によれば、特定画素値配列データ部（７画素分）と個数データ部（最大２５６個）とのセット（２バイト）が４８５４セット必要で、約９．７Ｋバイト（９７０８バイト）まで圧縮可能である。
【００５８】
本実施形態の圧縮対象である、用紙に質問内容や回答内容の文字等を手書きした画像の多くは、用紙の地色（白）が大部分を占める画像であり、その撮像画像データを２値化した２値画像データは、「０」（白）の画素値の連続数が大きいデータである。このような２値画像データに対しては、本実施形態の画像データ圧縮方法であれば、他の公知の画像データ圧縮方法よりも高い圧縮率を実現することができる。
【００５９】
なお、本実施形態では、同じ画素値配列をもつ画素群の連続数が１バイトで特定可能な２５６を超える場合、同じ画素値配列の特定画素値配列データ部（７画素分）と残りの連続数の個数データ部とのセットを追加する必要がある。このような場合に、更に高い圧縮率を得る方法としては、個数データ部として２以上のデータ部（２バイト以上）を用い、その個数データ部を構成する先頭のデータ部（１バイト）に、その個数データ部を構成するデータ部の個数を示す個数データ部構成情報を割り当てる方法が有効である。この方法であれば、例えば２データ部（２バイト）からなる個数データ部で特定可能な個数は、個数データ部構成情報のために１ビット割り当てるとすると、１５ビットで特定可能な３２７６８個となる。この場合、例えば、白紙のＡ４判を３００ｄｐｉで撮像した画像データを考えると、画素値が「０」（白）である画素が８６９７３６０個連続するため、図８に示すように、特定画素値配列データ部（７画素分）と個数データ部（最大３２７６８個）とのセット（３バイト）が３８セット必要で、１１４バイトまで圧縮することが可能であり、更に高い圧縮率を実現できる。
【００６０】
本実施形態の画像データ圧縮方法により生成された圧縮データを伸長して元の画像データを生成する圧縮データ伸長処理では、まず、圧縮データのヘッダ部により画像サイズを取得した後、データ部を順次読み出す。そして、データ部の識別情報が、当該データ部に対する後続のデータ部が画素値配列データ部であることを示す「０」であれば、当該データ部及びその後続のデータ部から画素値配列情報をそれぞれ読み出して画素値配列を取得する。一方、データ部の識別情報が、当該データ部に対する後続のデータ部が個数データ部であることを示す「１」であれば、当該データ部から画素値配列情報を読み出して画素値配列を特定するとともに、その後続のデータ部から個数Ｎを読み出して、その個数分だけ同じ画素値配列を取得する。その結果、この圧縮データから元の画像データを生成することができる。
【００６１】
また、個数データ部として２以上のデータ部（２バイト以上）を用いる圧縮データについては、データ部の識別情報が、当該データ部に対する後続のデータ部が個数データ部であることを示す「１」であるとき、後続のデータ部に含まれる個数データ部構成情報（例えば先頭ビット）から、個数データ部が、後続の１つのデータ部だけで構成されるのか、後続の２つのデータ部で構成されるのかを判別する。そして、その個数データ部構成情報が後続の１つのデータ部だけで構成されることを示す「０」であれば、当該データ部から画素値配列情報を読み出して画素値配列を特定するとともに、その後続の１つのデータ部から個数Ｎを読み出して、その個数分だけ同じ画素値配列を取得する。一方、その個数データ部構成情報が後続の２つのデータ部で構成されることを示す「１」であれば、当該データ部から画素値配列情報を読み出して画素値配列を特定するとともに、その後続の２つのデータ部から個数Ｎを読み出して、その個数分だけ同じ画素値配列を取得する。
【００６２】
〔変形例〕
次に、上述した実施形態における画像データ圧縮処理の一変形例について説明する。
上述した実施形態では、白黒の２値画像データを圧縮する例であったが、この場合、質問内容や回答内容で強調したい箇所等に赤線や赤文字を付けたい場合などに対応することができない。本変形例では、これに対応するために、白、黒、赤の３値画像データを圧縮する画像データ圧縮処理を行う。
【００６３】
図９は、本変形例における画像データ圧縮処理を含む画像処理の流れを示すフローチャートである。
本変形例において、赤字や赤線等を含む質問内容や回答内容が手書きされた用紙をカメラ部１４，２４で撮像してフルカラーの撮像画像データを取得したら（Ｓ１１のＹｅｓ）、上述した実施形態と同様、コーナー検出（Ｓ１２）、透視変換処理（Ｓ１３）を実施する。
【００６４】
本変形例では、透視変換後の画像データ（フルカラー）が赤色を含む場合には（Ｓ１４のＹｅｓ）、透視変換後の画像データに対して赤色検出処理を実施し（Ｓ１５）、赤色画像データ（赤と白の２値画像データ）と、非赤色画像データ（赤色が除外されたカラー画像データ）とを生成する。そして、非赤色画像データについては、上述した実施形態と同様に２値化（白黒）する処理を行い（Ｓ１６）、白黒の２値画像データを得る。その後、この白黒の２値画像データに対し、上述した実施形態と同様のデータ圧縮処理を実行し（Ｓ１７）、白黒の２値画像データ分の圧縮データを生成する。また、赤色画像データについては、赤と白の２値画像データであるため、この赤色画像データに対し、上述した実施形態と同様のデータ圧縮処理を実行する（Ｓ１８）。これにより、赤色画像データ（赤と白の２値画像データ）分の圧縮データが生成される。
【００６５】
その後、白黒の２値画像データ分の圧縮データの後に、赤色画像データ分の圧縮データを配置し、このようなデータ構造（白黒の２値画像データ分の圧縮データの後に赤色画像データ分の圧縮データが配置されているデータ構造）であることを示すデータ構造情報を含むヘッダ部を付して、ファイル出力する（Ｓ２１）。この場合、ヘッダ部は、例えば、画像幅Ｗ（画素数）を示す２バイトと、画像高さＨ（画素数）を示す２バイトと、データ構造情報を示す１バイトの合計５バイトとしてもよいし、画像幅Ｗ（画素数）を示す２バイト又は画像高さＨ（画素数）を示す２バイトのうちの１ビットをデータ構造情報に割り当てて、４バイトのヘッダ部としてもよい。
【００６６】
一方、透視変換後の画像データ（フルカラー）が赤色を含まない場合には（Ｓ１４のＮｏ）、上述した実施形態と同様、透視変換後の画像データに対して２値化（白黒）する処理を行い（Ｓ１９）、白黒の２値画像データを得る。その後、この白黒の２値画像データに対し、上述した実施形態と同様のデータ圧縮処理を実行し（Ｓ２０）、圧縮データを生成する。この場合、この白黒の２値画像データの圧縮データの後には、赤色画像データ分の圧縮データが配置されないため、このようなデータ構造であることを示すデータ構造情報を含むヘッダ部を付して、ファイル出力する（Ｓ２１）。
【００６７】
本変形例の画像データ圧縮方法により生成された圧縮データを伸長して元の画像データを生成する圧縮データ伸長処理は、圧縮データのヘッダ部により画像サイズを取得した後、ヘッダ部のデータ構造情報に基づき、赤色画像データを含むか否かを判断する。赤色画像データを含まないと判断した場合には、上述した実施形態と同様の圧縮データ伸長処理を実施することで、この圧縮データから白黒の２値画像データを生成することができる。一方、赤色画像データを含むと判断した場合には、最初の画像サイズ分のデータ部から白黒の２値画像データを生成し、残りのデータ部から赤白の２値画像データを生成する。その後、生成した白黒の２値画像データと赤白の２値画像データとを合成する処理を行うことで、白、黒、赤の３値画像データを生成することができる。
【符号の説明】
【００６８】
１  質問者端末
２  回答者端末
３  管理サーバ
１１  制御部
１２  操作部
１３  表示部
１４  カメラ部
１５  外部通信部
２１  制御部
２２  操作部
２３  表示部
２４  カメラ部
２５  外部通信部
３１  制御部
３２  質問画像データ蓄積部
３３  回答画像データ蓄積部
３５  外部通信部
【図１】
2018026720.tif 000003
【図２】
2018026720.tif 000004
【図３】
2018026720.tif 000005
【図４】
2018026720.tif 000006
【図５】
2018026720.tif 000007
【図６】
2018026720.tif 000008
【図７】
2018026720.tif 000009
【図８】
2018026720.tif 000010
【図９】
2018026720.tif 000011