(57)【特許請求の範囲】
【請求項１】
コンピュータに、
ネットワークを介して、ウェブサーバ内でウェブページデータが格納される格納位置を示すアドレスを利用してウェブページデータを取得するウェブページデータ取得処理と、
前記アドレスを利用して取得されるウェブページデータに基づいて、第１の画像データと第２の画像データとを生成する画像データ生成処理であって、前記第１の画像データと、前記第２の画像データとは、それぞれ、ラスタ形式で表現される画像データであって、画像データ内の複数の画素のそれぞれが階調値を持つ画像データである、前記画像データ生成処理と、
前記第１の画像データと前記第２の画像データとに基づいて、前記第１の画像データと前記第２の画像データとで互いに異なる部分である差分領域を特定する差分領域特定処理と、
前記差分領域画像の外周を構成する外周画素を検出し、前記外周画素に囲まれる領域を全て前記差分領域に修正する差分領域修正処理と、
前記第１の画像データによって表現される第１の画像、又は、前記第２の画像データによって表現される第２の画像から、修正済みの前記差分領域に対応する差分領域画像を除いた画像である出力画像を表現する出力データを生成する出力データ生成処理と、
を実行させる、コンピュータプログラム。
【請求項２】
コンピュータに、
ネットワークを介して、ウェブサーバ内でウェブページデータが格納される格納位置を示すアドレスを利用してウェブページデータを取得するウェブページデータ取得処理と、
前記アドレスを利用して取得されるウェブページデータに基づいて、第１の画像データと第２の画像データとを生成する画像データ生成処理と、
前記第１の画像データと前記第２の画像データとに基づいて、前記第１の画像データと前記第２の画像データとで互いに異なる部分である差分領域を特定する差分領域特定処理と、
前記第１の画像データによって表現される第１の画像、又は、前記第２の画像データによって表現される第２の画像から、前記差分領域に対応する差分領域画像を除いた画像である出力画像を表現する出力データを生成する出力データ生成処理と、
を実行させ、
前記ウェブページデータ取得処理は、前記差分領域が特定の条件を満たす場合に、前記アドレスと同一のアドレスを利用して第３のウェブページデータをさらに取得し、
前記画像データ生成処理は、前記第３のウェブページデータに基づいて、第３の画像データを生成し、
前記差分領域特定処理は、前記第１の画像データ又は前記第２の画像データと、前記第３の画像データとで、互いに異なる部分を前記差分領域として特定する、コンピュータプログラム。
【請求項３】
請求項２に記載のコンピュータプログラムであって、
前記ウェブページデータ取得処理は、前記特定の条件として、前記差分領域画像が矩形でない場合に、前記第３のウェブページデータを取得する、コンピュータプログラム。
【請求項４】
コンピュータに、
ネットワークを介して、ウェブサーバ内でウェブページデータが格納される格納位置を示すアドレスを利用してウェブページデータを取得するウェブページデータ取得処理と、
前記アドレスを利用して取得されるウェブページデータに基づいて、第１の画像データと第２の画像データとを生成する画像データ生成処理と、
前記第１の画像データと前記第２の画像データとに基づいて、前記第１の画像データと前記第２の画像データとで互いに異なる部分である差分領域を特定する差分領域特定処理と、
前記第１の画像データ又は前記第２の画像データにおいて、前記差分領域に対応する領域を削除対象領域に設定し、前記第１の画像データ又は前記第２の画像データと、前記削除対象領域と、に基づいたプレビュー画像を表現するプレビュー画像データを生成するプレビュー画像データ生成処理と、
ユーザの指示に基づいて、前記プレビュー画像の修正を指示する修正指示情報を取得す
る、修正指示取得処理と、
前記第１の画像データによって表現される第１の画像、又は、前記第２の画像データによって表現される第２の画像から、前記差分領域に対応する差分領域画像を除いた画像である出力画像を表現する出力データを生成する出力データ生成処理であって、前記修正指示情報が、前記プレビュー画像内の前記削除対象領域のうちのユーザが指定する第１の指定領域を、前記削除対象領域に設定しないことを示す場合に、前記第１の指定領域が示す画像が、前記第１の画像又は前記第２の画像内の前記第１の指定領域から除かれない画像を表現する前記出力データを生成する前記出力データ生成処理と、
を実行させる、コンピュータプログラム。
【請求項５】
コンピュータに、
ネットワークを介して、ウェブサーバ内でウェブページデータが格納される格納位置を示すアドレスを利用してウェブページデータを取得するウェブページデータ取得処理と、
前記アドレスを利用して取得されるウェブページデータに基づいて、第１の画像データと第２の画像データとを生成する画像データ生成処理と、
前記第１の画像データと前記第２の画像データとに基づいて、前記第１の画像データと前記第２の画像データとで互いに異なる部分である差分領域を特定する差分領域特定処理と、
前記第１の画像データ又は前記第２の画像データにおいて、前記差分領域に対応する領域を削除対象領域に設定し、前記第１の画像データ又は前記第２の画像データと、前記削除対象領域と、に基づいたプレビュー画像を表現するプレビュー画像データを生成するプレビュー画像データ生成処理と、
ユーザの指示に基づいて、前記プレビュー画像の修正を指示する修正指示情報を取得する、修正指示取得処理と、
前記第１の画像データによって表現される第１の画像、又は、前記第２の画像データによって表現される第２の画像から、前記差分領域に対応する差分領域画像を除いた画像である出力画像を表現する出力データを生成する出力データ生成処理であって、前記修正指示情報が、前記プレビュー画像内の前記削除対象領域とは異なる領域のうちのユーザが指定する第２の指定領域を、新たに削除対象領域として設定することを示す場合に、前記第２の指定領域が示す画像が、前記第１の画像又は前記第２の画像内の前記第２の指定領域から除かれた画像を表現する前記出力データを生成する前記出力データ生成処理と、
を実行させる、コンピュータプログラム。
【請求項６】
請求項１から５のいずれか一項に記載のコンピュータプログラムであって、
前記ウェブページデータ取得処理は、第１のウェブページデータを取得し、前記第１のウェブページデータを取得した後に、前記第１のウェブページデータが格納される前記アドレスと同一のアドレスを利用して、第２のウェブページデータを取得し、
前記画像データ生成処理は、前記第１のウェブページデータに基づいて、前記第１の画像データを生成し、前記第２のウェブページデータに基づいて、前記第２の画像データを生成する、コンピュータプログラム。
【請求項７】
ネットワークを介して、ウェブサーバ内でウェブページデータが格納される格納位置を示すアドレスを利用してウェブページデータを取得するウェブページデータ取得手段と、
前記アドレスを利用して取得されるウェブページデータに基づいて、第１の画像データと第２の画像データとを生成する画像データ生成手段であって、前記第１の画像データと、前記第２の画像データとは、それぞれ、ラスタ形式で表現される画像データであって、画像データ内の複数の画素のそれぞれが階調値を持つ画像データである、前記画像データ生成手段と、
前記第１の画像データと前記第２の画像データとに基づいて、前記第１の画像データと前記第２の画像データとで互いに異なる部分である差分領域を特定する差分領域特定手段と、
前記差分領域画像の外周を構成する外周画素を検出し、前記外周画素に囲まれる領域を全て前記差分領域に修正する差分領域修正手段と、
前記第１の画像データによって表現される第１の画像、又は、前記第２の画像データによって表現される第２の画像から、修正済みの前記差分領域に対応する差分領域画像を除いた画像である出力画像を表現する出力データを生成する出力データ生成手段と、
を備える、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して取得したウェブページデータに基づいて画像データを生成するコンピュータプログラム、及び制御装置に関する。
【背景技術】
【０００２】
従来、ウェブブラウザでの表示対象であるウェブページデータに基づいて、画像データを生成する技術が存在する。当該画像データは、例えば、印刷実行部を備える印刷装置にて印刷出力させることができる。ここで、当該画像データが表現する画像（即ち、ウェブページ）には、本来ユーザが出力を望まないことが想定される広告画像等の画像が含まれる場合がある。
【０００３】
特許文献１には、ウェブページの印刷実行時に、印刷対象ページのＨＴＭＬデータ中に広告ＵＲＬリストに該当するリンクＵＲＬが存在しているか否かを判断し、広告ＵＲＬリストに該当するリンクＵＲＬが存在していた場合に、該当ＵＲＬが含まれるタグを除いてＨＴＭＬデータを再生成する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２５７０６９号公報
【特許文献２】特開２００９−７０１６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の技術では、ウェブページの印刷実行時に、リンクＵＲＬが含まれるタグを除いたＨＴＭＬデータを生成することができる。しかしながら、特許文献１の技術では、予め、リンクＵＲＬを広告ＵＲＬリストに登録しておく必要があるために、登録を行うべき管理者にとっての負担が大きかった。
【０００６】
本発明は、上記のような事情に基づいて完成されたものであって、ウェブページ内の不要画像を削除する際の負担を軽減しつつ、不要画像を適切に除去できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のコンピュータプログラムは、コンピュータに、ウェブページデータ取得処理と、画像データ生成処理と、差分領域特定処理と、出力データ生成処理と、を実行させる。ウェブページデータ取得処理は、ネットワークを介して、ウェブサーバ内でウェブページデータが格納される格納位置を示すアドレスを利用してウェブページデータを取得する。画像データ生成処理は、当該アドレスを利用して取得されるウェブページデータに基づいて、第１の画像データと第２の画像データとを生成する。差分領域特定処理は、第１の画像データと第２の画像データとに基づいて、第１の画像データと第２の画像データとで互いに異なる部分である差分領域を特定する。出力データ生成処理は、第１の画像データによって表現される第１の画像、又は、第２の画像データによって表現される第２の画像から、差分領域に対応する差分領域画像を除いた画像である出力画像を表現する出力データを生成する。
【０００８】
上記の構成によると、本発明のコンピュータプログラムは、特定のアドレスを利用して取得されるウェブページデータに基づいて生成される、２つの画像データの差分を特定し、特定された差分領域画像を除く出力画像を表現する出力データを生成する。例えば、ウェブページ内に含まれる広告画像は、ウェブページデータが再度読み込まれ(例えば、ウェブページデータが更新され)、描画し直されることによって、画像の内容が変化することが想定される。したがって、本発明のコンピュータプログラムは、ウェブページから広告画像等の不要な画像を適切に除去することができる。
【０００９】
また、上記のコンピュータプログラムでは、ウェブページデータ取得処理が、第１のウェブページデータを取得し、第１のウェブページデータを取得した後に、第１のウェブページデータが格納されるアドレスと同一のアドレスを利用して、第２のウェブページデータを取得してもよい。さらに、画像データ生成処理が、第１のウェブページデータに基づいて、第１の画像データを生成し、第２のウェブページデータに基づいて、第２の画像データを生成してもよい。
【００１０】
これによって、第１の画像データと第２の画像データは、それぞれ、第１のウェブページデータと第２のウェブページデータに基づいて生成される。第１のウェブページデータに含まれる内容(即ち、ソースコード)と第２のウェブページデータに含まれる内容とに差分が存在する場合は、生成される第１の画像データと第２の画像データにも差分が存在する可能性が高い。したがって、ウェブページデータに差分が存在することに起因する画像データの差分領域を特定することができる。
【００１１】
また、上記のコンピュータプログラムでは、第１の画像データと、第２の画像データとは、それぞれ、ラスタ形式で表現され、画像データ内の複数の画素のそれぞれが階調値を持つ画像データであってもよい。さらに、コンピュータに、差分修正処理を実行させ、差分修正処理が、差分領域画像の外周を構成する外周画素を検出し、外周画素に囲まれる領域を全て差分領域に修正してもよい。
【００１２】
これによって、第１の画像データと第２の画像データの差分領域内の外周画素に囲まれる画素に差分がない画素が存在しても、画素は差分領域に修正される。したがって、不要画像を表す画像データ内のいくつかの画素に差分が存在しなかった場合にも、不要画像の抽出の精度を向上させることができる。
【００１３】
本発明のコンピュータプログラムは、ウェブページデータ取得処理が、差分領域が特定の条件を満たす場合に、前記アドレスと同一のアドレスを利用して第３のウェブページデータをさらに取得してもよい。さらに、画像データ生成処理が、第３のウェブページデータに基づいて、第３の画像データを生成してもよい。さらに、差分領域特定処理が、第１の画像データ又は第２の画像データと、第３の画像データとで、互いに異なる部分を差分領域として特定してもよい。
【００１４】
これによって、第１の画像データ、第２の画像データだけでなく、更に第３の画像データを用いて差分領域を特定する。したがって、例えば、第１の画像データと第２の画像データとで同じ不要画像が表示された場合に、不要画像の抽出の精度を向上させることができる。
【００１５】
本発明のコンピュータプログラムは、ウェブページデータ取得処理が、特定の条件として、差分領域画像が矩形でない場合に、第３のウェブページデータを取得してもよい。
【００１６】
これによって、差分領域画像が矩形でない場合は新たなウェブページデータが取得される。例えば、不要画像は矩形であることが多く、差分領域画像が矩形でない場合は、不要画像であってもいくつかの画素に差分が存在しなかった可能性が高い。したがって、新たなウェブページデータを取得して差分領域を再度特定することで、不要画像の抽出の精度を向上させることができる。
【００１７】
本発明のコンピュータプログラムは、さらに、コンピュータに、プレビュー画像生成処理と、修正指示取得処理と、を実行させ、プレビュー画像生成処理が、第１の画像データ又は第２の画像データにおいて、差分領域に対応する領域を削除対象領域に設定し、第１の画像データ又は第２の画像データと、削除対象領域と、に基づいたプレビュー画像を表現するプレビュー画像データを生成し、修正指示取得処理が、ユーザの指示に基づいて、プレビュー画像の修正を指示する修正指示情報を取得してもよい。さらに、出力データ生成処理が、修正指示情報が、プレビュー画像内の削除対象領域のうちのユーザが指定する第１の指定領域を、削除対象領域に設定しないことを示す場合に、第１の指定領域が示す画像が、第１の画像又は第２の画像内の第１の指定領域から除かれない画像を表現する出力データを生成してもよい。
【００１８】
これによって、例えば、ユーザは、プレビュー画像データにおいて、コンピュータプログラムが差分領域に基づいて削除対象に設定した領域を指定し、当該領域の画像を削除対象に設定しない旨を、コンピュータに指示することができる。したがって、ユーザの意図を反映した出力データを生成することができる。
【００１９】
本発明のコンピュータプログラムは、さらに、コンピュータに、プレビュー画像生成処理と、修正指示取得処理と、を実行させ、プレビュー画像生成処理が、第１の画像データ又は第２の画像データにおいて、差分領域に対応する領域を削除対象領域に設定し、第１の画像データ又は第２の画像データと、削除対象領域と、に基づいたプレビュー画像を表現するプレビュー画像データを生成し、修正指示取得処理が、ユーザの指示に基づいて、プレビュー画像の修正を指示する修正指示情報を取得してもよい。さらに、出力データ生成処理が、修正指示情報が、プレビュー画像内の削除対象領域とは異なる領域のうちのユーザが指定する第２の指定領域を、新たに削除対象領域として設定することを示す場合に、第２の指定領域が示す画像が、第１の画像又は第２の画像内の指定領域から除かれた画像を表現する出力データを生成してもよい。
【００２０】
これによって、例えば、ユーザは、プレビュー画像データにおいて、コンピュータプログラムが差分領域に基づいて削除対象に設定していない領域を指定し、該当領域の画像を削除対象に設定する旨を、コンピュータに指示することができる。したがって、ユーザの意図を反映した出力データを生成することができる。
【００２１】
さらに、本発明のコンピュータプログラムがインストールされた制御装置、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記憶媒体も新規で有用である。また、上記の制御装置を備える可搬型の端末装置も新規で有用である。
【図面の簡単な説明】
【００２２】
【図１】通信システムの構成図である。
【図２】ウェブページ印刷処理のフローチャートである。
【図３】差分領域修正処理のフローチャートである。
【図４】差分領域修正処理の概略図である。
【図５】プレビュー画面を示す図である。
【図６】プレビュー画像データを示す図である。
【図７】差分精度向上処理のフローチャートである。
【図８】差分精度向上処理の概略図である。
【図９】ユーザ指定修正処理のフローチャートである。
【発明を実施するための形態】
【００２３】
（Ａ．実施例）
図１〜９を参照して実施例を説明する。図１は、本発明のプログラムによって携帯端末装置がウェブページを印刷する際の通信システムの構成図である。図１に示されるように、通信システム２は、携帯端末装置１０と、プリンタ６０と、ウェブサーバ７２と、を備える。携帯端末装置１０とプリンタ６０とは、ネットワーク５０を介して、通信可能に接続されている。ネットワーク５０は、ローカルエリアネットワーク（ＬＡＮ）であり、アクセスポイント（ＡＰ）５２と、ネットワークケーブル５４と、を備える。ネットワーク５０は、インターネット７０に接続されている。ウェブサーバ７２は、インターネット７０に接続されている。携帯端末装置１０は、ＡＰ５２を介して、ネットワーク５０に無線接続されることが可能である。この場合には、携帯端末装置１０は、ネットワーク５０を介して、プリンタ６０と通信可能であり、さらに、ネットワーク５０及びインターネット７０を介して、ウェブサーバ７２と通信可能である。
【００２４】
（Ａ−１．携帯端末装置１０の構成）
携帯端末装置１０は、ユーザが容易に持ち運ぶことができる端末装置（即ち可搬型の端末装置）である。携帯端末装置１０は、例えば、携帯電話、タブレットＰＣ等である。携帯端末装置１０は、ディスプレイ１２と、通信インターフェース（通信Ｉ／Ｆ）１６と、制御部２０と、を備える。ディスプレイ１２，通信インターフェース（通信Ｉ／Ｆ）１６，制御部２０は、バス線１８に接続されている。通信Ｉ／Ｆ１６は、携帯端末装置１０が無線通信を実行するためのＩ／Ｆである。ディスプレイ１２は、画像を表示する装置であり、例えば、液晶ディスプレイである。ディスプレイ１２は、ユーザによる操作を受け入れるためのタッチパネルとしても機能する。
【００２５】
制御部２０は、ＣＰＵ２２と、ＲＯＭ２４と、ＲＡＭ２６と、ＮＶＲＡＭ２８と、を備える。ＣＰＵ２２は、書き換え可能な不揮発性メモリであるＮＶＲＡＭ２８に格納されるプログラム３０をＲＡＭ２６に読み込むことによって、後述するウェブページ印刷処理を実行する。本実施例では、プログラム３０は、携帯端末装置１０のオペレーティングシステム上で動作するアプリケーションプログラムである。プログラム３０は、例えば、プリンタ６０のベンダによって提供されるサーバからダウンロードされることによって、携帯端末装置１０にインストールされる。なお、本実施例に代えて、プログラム３０は、携帯端末装置１０の出荷段階において、携帯端末装置１０に予めインストールされていてもよいし、ＣＤ等の記憶媒体（メディア）から携帯端末装置１０にインストールされてもよい。
【００２６】
（Ａ−２．プログラム３０の処理）
図２を参照して、携帯端末装置１０にインストールされているプログラム３０に従って実行される、ウェブページ印刷処理の内容について説明する。図２は、ウェブページ印刷処理のフローチャートである。ユーザは、ディスプレイ１２のタッチパネルを操作し、ウェブページの印刷を選択することによって、ウェブページ印刷処理を開始する指示を携帯端末装置１０に与えることができる。この指示が与えられた場合に、図２の処理が開始される。
【００２７】
まず、Ｓ１００において、ＣＰＵ２２は、ユーザによって指定されたウェブサーバ７２のアドレス（ＵＲＬ）にアクセスして、ウェブサーバ７２からＨＴＭＬデータＭＬ１を取得する。
【００２８】
次に、Ｓ２００において、ＣＰＵ２２は、ＨＴＭＬデータＭＬ１から、画像データＩＭＧ１を生成する。具体的には、ＣＰＵ２２は、ＨＴＭＬデータＭＬ１で定義されている描画コマンドにしたがって、各画素に０〜２５５のＲＧＢ値が付与された画像データＩＭＧ１を生成する。生成された画像データＩＭＧ１は、ＲＡＭ２６に記憶される。
【００２９】
ここで、画像データＩＭＧ１は、描画コマンドにしたがって描画された（ラスタライズされた）ラスタ形式で表現されるビットマップデータである。なお、変形例では、画像データＩＭＧ１はＪＰＥＧデータであってもよい。
【００３０】
次に、Ｓ４００において、ＣＰＵ２２は、Ｓ２００と同様の手法で、ＨＴＭＬデータＭＬ１にしたがって、各画素に０〜２５５のＲＧＢ値が付与された画像データＩＭＧ２を生成する。生成された画像データＩＭＧ２は、ＲＡＭ２６に記憶される。
【００３１】
ここでは、画像データＩＭＧ２を生成するために、新たにＨＴＭＬデータは取得せず、画像データＩＭＧ１を生成する際に用いたＨＴＭＬデータＭＬ１にしたがって画像データＩＭＧ２を生成する。これによって、ＨＴＭＬデータを取得する回数が減るため、携帯端末装置１０とウェブサーバ７２の間での通信を減らすことができる。
【００３２】
ただし、ＨＴＭＬデータから画像データを生成する際には、ＨＴＭＬデータ中の画像の描画命令を指示するタイミングにより、描画される画像（すなわち、取得される広告画像）が異なる場合がある。よって、画像データＩＭＧ１と画像データＩＭＧ２とを、それぞれ、ＨＴＭＬデータＭＬ１に基づいて生成しても、画像データＩＭＧ１と画像データＩＭＧ２とでは異なる画像が描画されている可能性がある。
【００３３】
次に、Ｓ５００において、ＣＰＵ２２は、画像データＩＭＧ１と画像データＩＭＧ２との差分画像データＤＩＭＧ１を生成する。差分画像データＤＩＭＧ１は、以下の通りに生成される。まず、画像データＩＭＧ１の特定の画素のＲＧＢ値と、画像データＩＭＧ１の特定の画素と同じ座標にある画像データＩＭＧ２の画素のＲＧＢ値の差を算出する。算出されたＲの値の差、Ｇの値の差、Ｂの値の差が、すべて０であった場合は、差分画像データＤＩＭＧ１の対応する座標にある画素の画素値が０に設定される。算出されたＲの値の差、Ｇの値の差、Ｂの値の差のうち、少なくとも一つが０でなかった場合は、画素の画素値が１に設定される。上記の処理を画像データＩＭＧ１と画像データＩＭＧ２とのすべての画素について行い、差分画像データＤＩＭＧ１のすべての画素値を算出する。これによって、各画素が１又は０の二階調の画素値を持つ差分画像データＤＩＭＧ１が生成される。
【００３４】
次に、Ｓ６００において、ＣＰＵ２２は、差分画像データＤＩＭＧ１の各画素の画素値から、画像データＩＭＧ１と画像データＩＭＧ２に差分が存在するかを判断する。すなわち、差分画像データＤＩＭＧ１内に、画素値が１で示される画素が存在するか否かを判断する。上述したとおり、画像データＩＭＧ１と画像データＩＭＧ２に差分が存在する場合、差分画像データＤＩＭＧ１の少なくとも一つの画素の画素値は１を示す。画像データＩＭＧ１と画像データＩＭＧ２に差分が存在しない場合、差分画像データＤＩＭＧ１のすべての画素の画素値は０を示す。
【００３５】
Ｓ６００で、差分画像データＤＩＭＧ１のすべての画素の画素値が０だった場合（Ｓ６００でＮｏ）、ＣＰＵ２２は、画像データＩＭＧ１と画像データＩＭＧ２に差分が存在しないと判断し、Ｓ１０００へ移る。
【００３６】
一方、Ｓ６００で、差分画像データＤＩＭＧ１の少なくとも一つの画素の画素値が１だった場合（Ｓ６００でＹｅｓ）、ＣＰＵ２２は、画像データＩＭＧ１と画像データＩＭＧ２に差分が存在すると判断し、Ｓ７００へ移る。
【００３７】
Ｓ７００において、ＣＰＵ２２は、差分画像データＤＩＭＧ１に対して、差分領域修正処理を実行する。具体的には、図３を参照して説明する。
【００３８】
図３は、差分領域修正処理のフローチャートである。まず、Ｓ７０５で、ＣＰＵ２２は、差分画像データＤＩＭＧ１の画素をラベリングする。ラベリングは、同じ画素値を持つ画素が連続している領域において、領域内の画素に領域ごとに異なる識別子（ラベル）を付与する処理である。
【００３９】
図４は、差分領域修正処理の概略図である。図４（a）を参照して、ラベリング処理の概要を説明する。ＣＰＵ２２は、まず、差分画像データＤＩＭＧ１のすべての画素のラベルを０に設定する。次に、差分画像データＤＩＭＧ１の画素を左上から順に、横方向に走査し、画素値が１である画素Ｌｐｉ１を検出する。検出された画素Ｌｐｉ１の上に隣接する画素Ｎｐｉ１と、左に隣接する画素Ｎｐｉ２のラベルを参照し、ラベルがどちらも０の場合（図４（a）の画素Ｌｐｉ１）は、最後に割り振ったラベルに１を加えた数を付与する。左に隣接する画素と上に隣接する画素とのどちらか一方、または、両方に１以上のラベルが付与されている場合（図４（a）の画素Ｌｐｉ２）は、検出された画素に、隣接した画素に付与されている１以上のラベルと同一のラベルを付与する。上記の処理を繰り返し、差分画像データＤＩＭＧ１のすべての画素にラベルを付与する。同じラベルが付与された画素の集まりを差分領域と呼ぶ。
【００４０】
次にＳ７１０において、ＣＰＵ２２は、差分領域の外周を構成する外周画素Ｏｐｉを検出する。図４（a）を参照して、外周画素の検出方法について説明する。ＣＰＵ２２は、差分画像データＤＩＭＧ１の画素を左上から順に、横方向に走査し、ラベルが付与された画素Ｌｐｉ１を検出する。検出された画素Ｌｐｉ１に隣接する８の画素のうち、画素Ｌｐｉ１の左下に隣接する画素から順に、反時計回りに探索して、最初に画素Ｌｐｉ１と同じラベルが付与された画素Ｌｐｉ２を検出する。画素Ｌｐｉ２が検出されたら、画素Ｌｐｉ２に対して、画素Ｌｐｉ１での処理と同様に、画素Ｌｐｉ２と同じラベルが付与された画素Ｌｐｉ３を検出する。上記の処理を繰り返し、検出された画素が画素Ｌｐｉ１であれば、検出された複数の画素を差分領域の外周画素Ｏｐｉとする。これにより、同一ラベルが付与された領域について、外周画素Ｏｐｉの特定が完了する。ＣＰＵ２２は、同様にして差分画像データＤＩＭＧ１内で１以上のラベルが付与されている全ての差分領域について、外周画素Ｏｐｉを検出する。
【００４１】
次にＳ７１５において、ＣＰＵ２２は検出された外周画素Ｏｐｉの内側に存在する図４の画素ｉＬｐｉに、外周画素Ｏｐｉのラベルと同じラベルを付与し直す。図４(ｂ)は、差分領域にラベルが付与し直された差分画像データＤＩＭＧ１を示す。これにより、差分領域を修正する。Ｓ７１５が終了すると、差分領域修正処理が終了する。
【００４２】
次に、Ｓ８００において、ＣＰＵ２２は、差分領域が矩形であるかを判断する。まず、差分領域に外接する矩形を求める。具体的には、図４(ｂ)を参照して説明する。まず、差分画像データＤＩＭＧ１の、１のラベルが付与された差分領域に対して、差分領域に含まれる画素の座標から、最大のｘの値ｘｍａｘ，ｙの値ｙｍａｘと、最小のｘの値ｘｍｉｎ，ｙの値ｙｍｉｎを求める。求めた座標を用いた、（ｘｍａｘ，ｙｍａｘ）、（ｘｍａｘ，ｙｍｉｎ）、（ｘｍｉｎ，ｙｍａｘ）、（ｘｍｉｎ，ｙｍｉｎ）を頂点とする矩形をラベル１が付与された差分領域の外接矩形とする。次に、外接する矩形の画素数と、差分領域の画素数と、をそれぞれ算出する。外接する矩形の画素数と差分領域の画素数が等しければ、差分領域が矩形であると判断する。各差分領域のそれぞれについて上記の処理を実行し、ラベルが付与されたすべての差分領域に対して、差分領域が矩形であるか否かを判断する。
【００４３】
Ｓ８００において、差分画像データＤＩＭＧ１内に存在する差分領域に一つでも矩形でないものが存在した場合（Ｓ８００でＮｏ）、Ｓ９００へ移る。
【００４４】
Ｓ９００において、ＣＰＵ２２は、差分精度向上処理を実行する。この処理では、ＣＰＵ２２は、新たに取得したＨＴＭＬデータＭＬ３と、ＨＴＭＬデータＭＬ１とで差分画像データＤＩＭＧ２を生成し、差分領域を特定する（詳細は後述）。差分精度向上処理が終了すると、Ｓ１０００へ移る。
【００４５】
一方、Ｓ８００において、差分画像データＤＩＭＧ１内に存在する差分領域がすべて矩形であった場合（Ｓ８００でＹｅｓ）は、Ｓ１０００へ移る。
【００４６】
Ｓ１０００において、ＣＰＵ２２は、画像データＩＭＧ１と差分画像データＤＩＭＧ１内の差分領域に基づき、プレビュー画像データＰＩＭＧを生成する。具体的には、画像データＩＭＧ１において、差分画像データＤＩＭＧ１内の差分領域に対応する領域を削除対象領域に設定する。このとき、削除対象領域内の画素にフラグを付与する。上記の処理を実行することにより、画像データＩＭＧ１の、すべての削除対象領域内の画素にフラグが付与されたプレビュー画像データＰＩＭＧを生成する。ただし、Ｓ６００において、画像データＩＭＧ１と画像データＩＭＧ２に差分が存在しないと判断された場合は、Ｓ１０００では、画像データＩＭＧ１がプレビュー画像データＰＩＭＧとして生成される。なお、変形例では、画像データＩＭＧ２がプレビュー画像データとして用いられてもよい。
【００４７】
次に、Ｓ１１００において、ＣＰＵ２２は、プレビュー画像データＰＩＭＧによって表現されるプレビュー画像をディスプレイ１２へ表示する。
【００４８】
図５は、プレビュー画面を示す図である。ここで、ＣＰＵ２２は、プレビュー画像データＰＩＭＧのフラグが付与されている画素に対し、表示の際に網掛けされるように設定する。削除対象領域内の画素にはフラグが付与されているため、ディスプレイ１２では、削除対象領域内の削除対象画像が網掛けされたプレビュー画像が表示される。
【００４９】
プレビュー画面ＳＣは、画像データ領域ＰＩＭＧＲと、ボタンＢＴ１〜ＢＴ３と、を含む。ボタンＢＴ１は、プレビュー画像内で未だ差分として特定されていない領域をさらに削除することを指示するためのものである。ボタンＢＴ２は、プレビュー画像内で既に差分として特定されている領域を削除対象としない(復元する)ことを指示するためのものである。ボタンＢＴ３は、プレビュー画像を印刷することを指示するためのものである。
【００５０】
次に、Ｓ１２００において、ＣＰＵ２２は、ユーザから、プレビュー画像データＰＩＭＧの一部を修正する指示を受け付ける。ユーザは、ディスプレイ１２を操作することによって、プレビュー画像中の修正すべき部分画像を指定し、ボタンＢＴ１またはＢＴ２を押下することによって、部分画像に対する修正内容を指示することができる。ＣＰＵ２２は、ユーザからの指示を取得した場合、すなわち、ボタンＢＴ１またはボタンＢＴ２にて削除または復元が指示された場合（Ｓ１２００でＹｅｓ）は、Ｓ１３００へ移る。
【００５１】
Ｓ１３００において、ＣＰＵ２２は、ユーザ指定修正処理を実行する。この処理では、ＣＰＵ２２は、ユーザによって指定された部分画像に対応する、プレビュー画像データＰＩＭＧの部分画像データ領域内の部分画像データを修正する（詳細は後述）。ユーザ指定修正処理が終了すると、Ｓ１１００へ移り、修正済みのプレビュー画像データＰＩＭＧに従ったプレビュー画像をディスプレイ１２へ表示する。
【００５２】
一方、Ｓ１２００で、ユーザ指示を取得しなかった場合（Ｓ１２００でＮｏ）、換言すれば、ボタンＢＴ３にて印刷が指示された場合は、Ｓ１４００へ移る。
【００５３】
Ｓ１４００において、ＣＰＵ２２は、プレビュー画像データＰＩＭＧから削除対象領域を除いた出力データを生成する。具体的には、プレビュー画像データＰＩＭＧにおいて削除対象とされた削除対象領域に含まれる画素の画素値を、画像データＩＭＧ１の背景の画素値に置換する。画像データＩＭＧ１の背景の画素値は、例えば、背景の画素であることが推測される（換言すれば、ＨＴＭＬデータ内のいずれかのコマンドにしたがって描画されない）画像データＩＭＧ１の左上の画素の画素値とする。これによって、削除対象領域に含まれる画素が背景と同じ画素値を持つ出力データを生成する。
【００５４】
次に、Ｓ１５００において、ＣＰＵ２２は、プリンタ６０へ印刷指示を送る。具体的には、ＣＰＵ２２は、出力データに含まれる各画素に対して、ＲＧＢ値をＣＭＹＫ値に変換する色変換処理を実行する。これによって、各画素に０〜２５５のＣＭＹＫ値が付与されたＣＭＹＫ出力データを生成する。次に、ＣＰＵ２２は、ＣＭＹＫ出力データに対して、二値化処理を実行する。二値化処理には、例えば、ディザ法や誤差拡散法が用いられる。これによって、各画素が、１又は０の二階調の画素値を持つ印刷データを生成する。ここで、１は、印刷媒体上にドットを形成することを示し、０は、印刷媒体上にドットを形成しないことを示す。そして、ＣＰＵ２２は、生成された印刷データをプリンタ６０へ供給する。
【００５５】
（Ａ−２−１．Ｓ９００の処理）
図７を参照して、差分精度向上処理の内容を説明する。図７は、差分精度向上処理のフローチャートである。
【００５６】
まず、Ｓ９０５で、ＣＰＵ２２は、ウェブサーバ７２のＨＴＭＬデータＭＬ１のアドレスと同じアドレスにアクセスして、ＨＴＭＬデータＭＬ３を取得する。
【００５７】
次に、Ｓ９１０において、ＣＰＵ２２は、ＨＴＭＬデータＭＬ３から、各画素に０〜２５５のＲＧＢ値が付与された画像データＩＭＧ３を生成する。生成された画像データＩＭＧ３は、ＲＡＭ２６に記憶される。
【００５８】
次に、Ｓ９１５において、ＣＰＵ２２は、Ｓ５００（図２）と同様にして、画像データＩＭＧ２と画像データＩＭＧ３との差分画像データＤＩＭＧ２を生成する。
【００５９】
次に、Ｓ９２０において、ＣＰＵ２２は、差分画像データＤＩＭＧ１と、差分画像データＤＩＭＧ２の論理和に基づき、差分画像データＤＩＭＧ３を生成する。具体的には、図８を参照して説明する。
【００６０】
図８は、差分精度向上処理の概略図である。ＣＰＵ２２は、差分画像データＤＩＭＧ１の特定の画素の画素値Ｄｐｉ１の画素値と、差分画像データＤＩＭＧ１の特定の画素と対応する位置に存在する差分画像データＤＩＭＧ２の画素Ｄｐｉ２の画素値と、の論理和に基づき、画素Ｄｐｉ３の画素値を決定する。具体的には、画素Ｄｐｉ１と画素Ｄｐｉ２とで、画素値がお互いに０であった場合は、画素Ｄｐｉ３の画素値を０とする。画素Ｄｐｉ１と画素Ｄｐｉ２とで、少なくとも一方の画素値が１であった場合は、画素Ｄｐｉ３の画素値を１とする。上記の処理を繰り返し、差分画像データＤＩＭＧ３のすべての画素の画素値を算出する。これによって、差分画像データＤＩＭＧ３を生成する。
【００６１】
次に、Ｓ７００において、ＣＰＵ２２は、差分画像データＤＩＭＧ３に対して、前述した差分領域修正処理を実行する。
【００６２】
次に、Ｓ９２５において、ＣＰＵ２２は、差分領域が矩形であるかを判断する。判断方法はＳ８００（図２）と同様である。
【００６３】
Ｓ９２５において、差分画像データＤＩＭＧ３内に存在する差分領域がすべて矩形であった場合（Ｓ９２５でＹｅｓ）は、差分精度向上処理を終了する。
【００６４】
一方、Ｓ９２５において、差分画像データＤＩＭＧ３内に存在する差分領域に一つでも矩形でないものが存在した場合（Ｓ９２５でＮｏ）、Ｓ９３０へ移る。
【００６５】
Ｓ９３０において、ＣＰＵ２２は、差分画像データＤＩＭＧ１と差分画像データＤＩＭＧ３に差分が存在するかを判断する。具体的には、差分画像データＤＩＭＧ１の特定の画素の画素値と、差分画像データＤＩＭＧ１の特定の画素と同じ座標にある差分画像データＤＩＭＧ３の画素の画素値と、の差を算出する。上記の処理を繰り返し、各画素に対してＲＧＢ値の差を算出する。算出された画素値の差が、すべての画素で０であった場合は、差分画像データＤＩＭＧ１と差分画像データＤＩＭＧ３に差分が存在しないと判断する。そうでない場合は、差分画像データＤＩＭＧ１と差分画像データＤＩＭＧ３に差分が存在すると判断する。
【００６６】
Ｓ９３０で、ＣＰＵ２２は、差分画像データＤＩＭＧ１と差分画像データＤＩＭＧ３に差分が存在しないと判断した場合（Ｓ９３０でＮｏ）、差分精度向上処理を終了する。
【００６７】
一方、Ｓ９３０で、ＣＰＵ２２は、差分画像データＤＩＭＧ１と差分画像データＤＩＭＧ３に差分が存在すると判断した場合（Ｓ９３０でＹｅｓ）、Ｓ９３５に移る。
【００６８】
Ｓ９３５において、ＣＰＵ２２は、差分画像データＤＩＭＧ３を差分画像データＤＩＭＧ１に置き換える。
【００６９】
次に、Ｓ９４０において、ＣＰＵ２２は、画像データＩＭＧ３を、画像データＩＭＧ２に置き換える。
【００７０】
次に、Ｓ９４５において、ＣＰＵ２２は、差分画像データＤＩＭＧ３が所定回数生成されたかを判断する。例えば、所定回数を３回とする。ＣＰＵ２２は、差分画像データＤＩＭＧ３が所定回数生成されたと判断した場合（Ｓ９４５でＹｅｓ）、差分精度向上処理を終了する。
【００７１】
一方、Ｓ９４５で、ＣＰＵ２２は、差分画像データＤＩＭＧ３が所定回数生成されていないと判断した場合（Ｓ９４５でＮｏ）、Ｓ９０５に移り、新たなＨＴＭＬデータを取得する。
【００７２】
（Ａ−２−２．Ｓ１３００の処理）
図９を参照して、ユーザ指定修正処理の内容を説明する。図９は、ユーザ指定修正処理のフローチャートである。
【００７３】
まず、Ｓ１３０５で、ＣＰＵ２２は、ユーザによって指定された部分画像のプレビュー画面ＳＣ上の座標を、プレビュー画像データＰＩＭＧ内の座標に変換する。具体的には、図５と図６を参照して説明する。
【００７４】
図５は、プレビュー画面を示す図である。図６は、プレビュー画像データを示す図である。ＣＰＵ２２は、まず、プレビュー画面ＳＣにおいてプレビュー画像を表示する画像データ領域ＰＩＭＧＲの、縦の辺の画素数Ｌ１と、横の辺の画素数Ｌ２を特定する。次に、ＲＡＭ２６からプレビュー画像データＰＩＭＧの縦の辺の画素数Ｌ１１と、横の辺の画素数Ｌ１２を取得する。次に、Ｌ１とＬ１１から、プレビュー画像データＰＩＭＧに対する、画像データ領域ＰＩＭＧＲに表示されるプレビュー画像の拡大・縮小率を算出する。そして、プレビュー画面ＳＣにおける画像データ領域ＰＩＭＧＲの左上の座標（ｘ０，ｙ０）と、プレビュー画面ＳＣにおける部分画像の左上の座標（ｘ１，ｙ１）と、算出した拡大・縮小率とに基づき、プレビュー画像データＰＩＭＧにおける部分画像の左上の座標（ｘ１１，ｙ１１）を算出する。同様にして、プレビュー画面ＳＣにおける画像データ領域ＰＩＭＧＲの左上の座標（ｘ０，ｙ０）と、プレビュー画面ＳＣにおける部分画像の右下の座標（ｘ２，ｙ２）と、算出した拡大・縮小率とに基づき、プレビュー画像データＰＩＭＧにおける部分画像の右下の座標（ｘ１２，ｙ１２）も算出する。
【００７５】
なお、画像データ領域ＰＩＭＧＲにおいて、プレビュー画像がスクロールされて表示されていた場合は、画像データ領域ＰＩＭＧＲの左上の座標（ｘ０，ｙ０）にスクロールした距離を加えて、プレビュー画像データＰＩＭＧにおける部分画像の左上の座標（ｘ１１，ｙ１１）と右下の座標（ｘ１２，ｙ１２）とを算出する。
【００７６】
次に、Ｓ１３１０において、ユーザの指示する修正内容が復元である場合（Ｓ１３１０でＹｅｓ）は、Ｓ１３１５へ移る。
【００７７】
Ｓ１３１５では、ＣＰＵ２２は、ユーザによって指定された部分画像を表現する部分画像データを削除対象に設定しないプレビュー画像データＰＩＭＧを生成する。具体的には、プレビュー画像データＰＩＭＧの（ｘ１１，ｙ１１）、（ｘ１１，ｙ１２）、（ｘ１２，ｙ１１）、（ｘ１２，ｙ１２）で囲まれる領域の各画素に付与されたフラグを外す。これによって、部分画像データ領域が削除対象領域に設定されないプレビュー画像データＰＩＭＧを生成する。Ｓ１３１５の処理が終了すると、ユーザ指定修正処理を終了する。
【００７８】
一方、Ｓ１３１０において、ユーザの指示する修正内容が削除である場合（Ｓ１３１０でＮｏ（削除））は、Ｓ１３２０へ移る。
【００７９】
Ｓ１３２０では、ＣＰＵ２２は、ユーザによって指定された部分画像を表現する部分画像データを削除対象に設定したプレビュー画像データＰＩＭＧを生成する。具体的には、プレビュー画像データＰＩＭＧの（ｘ１１，ｙ１１）、（ｘ１１，ｙ１２）、（ｘ１２，ｙ１１）、（ｘ１２，ｙ１２）で囲まれる領域を削除対象領域に設定する。このとき、削除対象領域内の画素にフラグを付与する。上記の処理を実行することにより、画像データＩＭＧ１の、すべての削除対象領域内の画素にフラグが設定されたプレビュー画像データＰＩＭＧを生成する。Ｓ１３２０の処理が終了すると、ユーザ指定修正処理を終了する。
【００８０】
以上説明したように、本実施例では、特定のアドレスを利用して取得されるＨＴＭＬデータＭＬ１に基づき生成される、画像データＩＭＧ１と、画像データＩＭＧ２との差分を特定し、特定された差分領域画像を除く出力画像を表現する出力データを生成する。例えば、ウェブページ内に含まれる広告画像は、ＨＴＭＬデータが再度読み込まれ、描画し直されることによって、画像の内容が変化することが想定される。したがって、コンピュータプログラムは、ウェブページから広告画像等の不要な画像を適切に除去することができる。
【００８１】
（対応関係）
プログラム３０が「コンピュータプログラム」の一例である。ＨＴＭＬデータＭＬ１が、「第１のウェブページデータ」の一例であり、ＨＴＭＬデータＭＬ３が、「第２のウェブページデータ」、「第３のウェブページデータ」の一例である。画像データＩＭＧ１〜３が、それぞれ、「第１の画像データ」、「第２の画像データ」、「第３の画像データ」の一例である。部分画像データ領域が、「第１の指定領域」と「第２の指定領域」の一例である。
【００８２】
図２のＳ１００が、「ウェブページデータ取得処理」の一例である。Ｓ２００とＳ４００が、「画像データ生成処理」の一例である。Ｓ５００〜Ｓ９００が、「差分領域特定処理」の一例であり、その中でも、Ｓ７００が「差分領域修正処理」の一例である。Ｓ１４００が、「出力データ生成処理」の一例である。Ｓ１２００が、「修正指示取得処理」の一例である。
【００８３】
（変形例１）
上記の実施例では、「ウェブページデータ」のデータ形式として、ＨＴＭＬを採用しているが、それに代えて、ＸＨＴＭＬ形式のウェブページデータを採用してもよい。一般的には、ウェブページデータは、マークアップ言語を用いて記述されたデータであればよい。
【００８４】
（変形例２）
上記の実施例では、図２のＳ８００や図７のＳ９２５において、差分領域が矩形でない場合に、新たにＨＴＭＬデータＭＬ３を取得したが、それに代えて、ユーザの指示に基づいて、ＨＴＭＬデータＭＬ３を取得してもよい。
【００８５】
（変形例３）
上記の実施例では、図３の差分領域修正処理において、外周画素Ｏｐｉの内側に存在する画素ｉＬｐｉに、外周画素Ｏｐｉのラベルと同じラベルを付与し直すことによって、差分領域を修正したが、それに代えて、既に差分として特定済みの画素の近傍８画素の画素値に基づいて差分領域を修正してもよい。
【００８６】
（変形例４）
上記の実施例では、図９のＳ１３１５において、プレビュー画像データＰＩＭＧの画素を画像データＩＭＧ１の画素に置換したが、それに代えて、プレビュー画像データＰＩＭＧの画素を画像データＩＭＧ２の画素や画像データＩＭＧ３の画素に置換してもよい。
【００８７】
（変形例５）
上記の実施例では、図２のＳ４００において、画像データＩＭＧ２を、画像データＩＭＧ１を生成する際に取得した（換言すれば、すでに取得済みの）ＨＴＭＬデータＭＬ１に基づいて生成し、図７のＳ９１０において、画像データＩＭＧ３を、新たに取得したＨＴＭＬデータＭＬ３に基づいて生成した。しかし、それに代えて、画像データＩＭＧ２を、新たに取得したＨＴＭＬデータＭＬ２に基づいて生成し、画像データＩＭＧ３を、すでに取得済みのＨＴＭＬデータＭＬ１またはＨＴＭＬデータＭＬ２に基づいて生成してもよい。
【００８８】
また、画像データＩＭＧ２と画像データＩＭＧ３とを、すでに取得済みのＨＴＭＬデータＭＬ１に基づいて生成してもよい。
【００８９】
また、画像データＩＭＧ２と画像データＩＭＧ３とを、それぞれ、新たに取得したＨＴＭＬデータＭＬ２、ＨＴＭＬデータＭＬ３に基づいて生成してもよい。この場合は、ＨＴＭＬデータＭＬ１〜３が、それぞれ、「第１のウェブページデータ」、「第２のウェブページデータ」、「第３のウェブページデータ」に対応する。
【００９０】
（変形例６）
なお、上記の実施例の各処理は、携帯端末装置１０のＣＰＵ２２がソフトウェア（すなわちプログラム２６）にしたがって処理を実行することによって実現されるが、それに代えて、論理回路等のハードウェアによって実現されてもよい。
【００９１】
以上、本発明の具体例について、詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【符号の説明】
【００９２】
１０：携帯端末装置、１２：ディスプレイ、２２：ＣＰＵ、２６：プログラム、Ｌｐｉ１，Ｌｐｉ２，Ｌｐｉ３，ｉＬｐｉ，Ｎｐｉ１，Ｎｐｉ２，Ｄｐｉ１，Ｄｐｉ２，Ｄｐｉ３，Ｏｐｉ：画素、ＤＩＭＧ１，ＤＩＭＧ２，ＤＩＭＧ３：差分画像データ、ＰＩＭＧ：プレビュー画像データ、ＳＣ：プレビュー画面、ＰＩＭＧＲ：画像データ領域
【図１】
0006414475.tif 000002
【図２】
0006414475.tif 000003
【図３】
0006414475.tif 000004
【図４】
0006414475.tif 000005
【図５】
0006414475.tif 000006
【図６】
0006414475.tif 000007
【図７】
0006414475.tif 000008
【図８】
0006414475.tif 000009
【図９】
0006414475.tif 000010