(57)【要約】【課題】画質の劣化を抑制しつつ、データ転送を高速化することができる技術を提供する。【解決手段】圧縮済画像データが、それぞれが１以上の画素ブロックを含む複数の関連領域に区分されており、画素ブロックが、複数の関連領域の間では互いに他の関連領域の情報を利用せずに圧縮符号化されている場合に、出力範囲の少なくとも一部を含む関連領域を全て含む圧縮済部分画像データであって複数の関連領域の中の一部の関連領域で構成される圧縮済部分画像データを、圧縮済画像データから抽出し、抽出された圧縮済部分画像データと、圧縮済部分画像データによって表される画像中の出力範囲を表す出力範囲情報とを、画像出力装置に送信する。【選択図】  図２
2013243628.tif 000002
【特許請求の範囲】
【請求項１】
複数の画素を含む画素ブロック毎に非可逆圧縮方式によって圧縮符号化された圧縮済画像データによって表される画像中の、出力すべき一部の範囲である出力範囲の指定を受け付ける範囲受付機能と、
前記圧縮済画像データが、それぞれが１以上の前記画素ブロックを含む複数の関連領域に区分されており、前記画素ブロックが、前記複数の関連領域の間では互いに他の前記関連領域の情報を利用せずに圧縮符号化されている場合に、前記出力範囲の少なくとも一部を含む関連領域を全て含む圧縮済部分画像データであって前記複数の関連領域の中の一部の関連領域で構成される前記圧縮済部分画像データを、前記圧縮済画像データから抽出する抽出機能と、
前記出力範囲内の画像を出力するために、前記抽出された圧縮済部分画像データと、前記圧縮済部分画像データによって表される画像中の前記出力範囲を表す出力範囲情報とを、画像出力装置に送信する抽出データ送信機能と、
をコンピュータに実行させるためのプログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記抽出機能は、前記圧縮済画像データが、前記複数の関連領域のそれぞれを識別するための識別子を含む画像データである場合に、前記圧縮済画像データから前記圧縮済部分画像データを抽出する機能を含む、プログラム。
【請求項３】
請求項２に記載のプログラムであって、
前記識別子は、前記圧縮済画像データ中の前記圧縮符号化の初期化位置を表す、プログラム。
【請求項４】
請求項１ないし３のいずれかに記載のプログラムであって、
前記複数の画素ブロックは、第１方向と、前記第１方向と交差する第２方向と、に沿ってマトリクス状に配置されており、
前記第１方向に延びる１本の前記画素ブロックのラインの一端から他端まで１つの画素ブロックずつ順番に辿る走査を前記第２方向に沿って１ラインずつ順番に行う場合の前記走査の経路に沿って、前記複数の関連領域が１つずつ順番に並ぶように、前記複数の関連領域が配置されており、
前記抽出機能は、
前記圧縮済画像データにおける前記第１方向の前記画素ブロックの総数である第１総数が、１つの前記関連領域に含まれる前記画素ブロックの総数である第２総数の整数倍である第１の場合と、前記第２総数が前記第１総数の整数倍である第２の場合との、いずれとも異なる場合に、前記出力範囲の少なくとも一部を含む関連領域を全て含み、かつ、前記複数の関連領域のうち全体として矩形状を形成する一部の関連領域で構成される、前記圧縮済部分画像データを抽出する機能を含む、
プログラム。
【請求項５】
請求項４に記載のプログラムであって、
前記抽出機能は、前記第１の場合と前記第２の場合とのいずれとも異なる場合に、前記出力範囲の少なくとも一部を含む関連領域を全て含み、かつ、全体として矩形状を形成する最少の一部の関連領域で構成される、前記圧縮済部分画像データを抽出する機能を含む、
プログラム。
【請求項６】
請求項１ないし５のいずれかに記載のプログラムであって、
前記複数の画素ブロックは、第１方向と、前記第１方向と交差する第２方向と、に沿ってマトリクス状に配置されており、
前記第１方向に延びる１本の前記画素ブロックのラインの一端から他端まで１つの画素ブロックずつ順番に辿る走査を前記第２方向に沿って１ラインずつ順番に行う場合の前記走査の経路に沿って、前記複数の関連領域が１つずつ順番に並ぶように、前記複数の関連領域が配置されており、
前記抽出機能は、
前記圧縮済画像データにおける前記第１方向の前記画素ブロックの総数である第１総数が、１つの前記関連領域に含まれる前記画素ブロックの総数である第２総数の整数倍である第１の場合と、前記第２総数が前記第１総数の整数倍である第２の場合との、それぞれにおいて、前記圧縮済画像データに含まれる前記複数の関連領域の中の前記出力範囲の少なくとも一部を含む関連領域のみを含む前記圧縮済部分画像データを、抽出する機能を含む、
プログラム
【請求項７】
請求項１ないし６のいずれかに記載のプログラムであって、さらに、
前記圧縮済部分画像データのデータ量である第１データ量が、前記圧縮済画像データを解凍することによって得られる解凍済画像データ中の前記出力範囲に対応付けられた部分である解凍済部分画像データのデータ量である第２データ量以上の場合に、前記解凍済部分画像データを前記画像出力装置に送信する解凍済部分データ送信機能をコンピュータに実行させ、
前記抽出データ送信機能は、前記第１データ量が前記第２データ量未満である場合に、前記圧縮済部分画像データと前記出力範囲情報とを前記画像出力装置に送信する機能を含む、
プログラム。
【請求項８】
請求項１ないし７のいずれかに記載のプログラムであって、
前記圧縮済画像データは、ＪＰＥＧ規格に基づく画像データであり、
前記関連領域は、前記ＪＰＥＧ規格のリスタートマーカによって識別されるブロックである、
プログラム。
【請求項９】
複数の画素を含む画素ブロック毎に非可逆圧縮方式によって圧縮符号化された圧縮済画像データによって表される画像中の、出力すべき一部の範囲である出力範囲の指定を受け付ける範囲受付部と、
前記圧縮済画像データが、それぞれが１以上の前記画素ブロックを含む複数の関連領域に区分されており、前記画素ブロックが、前記複数の関連領域の間では互いに他の前記関連領域の情報を利用せずに圧縮符号化されている場合に、前記出力範囲の少なくとも一部を含む関連領域を全て含む圧縮済部分画像データであって前記複数の関連領域の中の一部の関連領域で構成される前記圧縮済部分画像データを、前記圧縮済画像データから抽出する抽出部と、
前記出力範囲内の画像を出力するために、前記抽出された圧縮済部分画像データと、前記圧縮済部分画像データによって表される画像中の前記出力範囲を表す出力範囲情報とを、画像出力装置に送信する抽出データ送信部と、
を備える画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、圧縮済画像データによって表される画像の一部分を出力する技術に関するものである。
【背景技術】
【０００２】
画像データによって表される画像の一部分を利用する種々の画像処理が提案されている。例えば、撮影された画像のうちのトリミング枠の内部の画像を印刷するために、デジタルカメラが、トリミング枠内部の画像データを再圧縮し、圧縮された画像データをプリンタに転送し、プリンタは、受信したデータを解凍して得られる画像データを用いて印刷を行う技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２１２３５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところが、デジタルカメラが、トリミング後に画像データを圧縮する場合には、その圧縮に起因して画質が低下する可能性があった。また、画質低下を回避するためにデジタルカメラがトリミングせずに画像データをプリンタに転送し、プリンタがトリミングを行う構成も採用可能である。しかし、この場合には、デジタルカメラは、トリミング枠の内部の画像データに加えて、トリミング枠の外の画像データも、プリンタに転送するので、転送に要する時間が長くなる可能性があった。
【０００５】
本発明の主な利点は、画質の劣化を抑制しつつ、データ転送を高速化することができる技術を提供することである。
【課題を解決するための手段】
【０００６】
本発明は、上述の課題の少なくとも一部を解決するためになされたものであり、以下の適用例として実現することが可能である。
【０００７】
［適用例１］複数の画素を含む画素ブロック毎に非可逆圧縮方式によって圧縮符号化された圧縮済画像データによって表される画像中の、出力すべき一部の範囲である出力範囲の指定を受け付ける範囲受付機能と、前記圧縮済画像データが、それぞれが１以上の前記画素ブロックを含む複数の関連領域に区分されており、前記画素ブロックが、前記複数の関連領域の間では互いに他の前記関連領域の情報を利用せずに圧縮符号化されている場合に、前記出力範囲の少なくとも一部を含む関連領域を全て含む圧縮済部分画像データであって前記複数の関連領域の中の一部の関連領域で構成される前記圧縮済部分画像データを、前記圧縮済画像データから抽出する抽出機能と、前記出力範囲内の画像を出力するために、前記抽出された圧縮済部分画像データと、前記圧縮済部分画像データによって表される画像中の前記出力範囲を表す出力範囲情報とを、画像出力装置に送信する抽出データ送信機能と、をコンピュータに実行させるためのプログラム。
この構成によれば、圧縮済画像データによって表される画像中の一部の範囲である出力範囲を画像出力装置に出力させる場合に、画質の劣化を抑制しつつ、データ転送を高速化することができる。
【０００８】
［適用例２］適用例１に記載のプログラムであって、前記抽出機能は、前記圧縮済画像データが、前記複数の関連領域のそれぞれを識別するための識別子を含む画像データである場合に、前記圧縮済画像データから前記圧縮済部分画像データを抽出する機能を含む、プログラム。
この構成によれば、圧縮済画像データが複数の関連領域を識別する識別子を含む場合に、適切に、圧縮済部分画像データを抽出することができる。
【０００９】
［適用例３］適用例２に記載のプログラムであって、前記識別子は、前記圧縮済画像データ中の前記圧縮符号化の初期化位置を表す、プログラム。
この構成によれば、圧縮済画像データが圧縮符号化の初期化位置を表す識別子を含む場合に、適切に、圧縮済部分画像データを抽出することができる。
【００１０】
［適用例４］適用例１ないし３のいずれかに記載のプログラムであって、前記複数の画素ブロックは、第１方向と、前記第１方向と交差する第２方向と、に沿ってマトリクス状に配置されており、前記第１方向に延びる１本の前記画素ブロックのラインの一端から他端まで１つの画素ブロックずつ順番に辿る走査を前記第２方向に沿って１ラインずつ順番に行う場合の前記走査の経路に沿って、前記複数の関連領域が１つずつ順番に並ぶように、前記複数の関連領域が配置されており、前記抽出機能は、前記圧縮済画像データにおける前記第１方向の前記画素ブロックの総数である第１総数が、１つの前記関連領域に含まれる前記画素ブロックの総数である第２総数の整数倍である第１の場合と、前記第２総数が前記第１総数の整数倍である第２の場合との、いずれとも異なる場合に、前記出力範囲の少なくとも一部を含む関連領域を全て含み、かつ、前記複数の関連領域のうち全体として矩形状を形成する一部の関連領域で構成される、前記圧縮済部分画像データを抽出する機能を含む、プログラム。
この構成によれば、第１の場合と第２の場合とのいずれとも異なる場合に抽出される圧縮済部分画像データが、出力範囲の少なくとも一部を含む関連領域を全て含み、かつ、全体として矩形状を形成する一部の関連領域で構成されるので、第１の場合と第２の場合とのいずれとも異なる場合に、適切な圧縮済部分画像データを抽出することができる。
【００１１】
［適用例５］適用例４に記載のプログラムであって、前記抽出機能は、前記第１の場合と前記第２の場合とのいずれとも異なる場合に、前記出力範囲の少なくとも一部を含む関連領域を全て含み、かつ、全体として矩形状を形成する最少の一部の関連領域で構成される、前記圧縮済部分画像データを抽出する機能を含む、プログラム。
この構成によれば、第１の場合と第２の場合とのいずれとも異なる場合に抽出される圧縮済部分画像データが、最少の一部の関連領域で構成されるので、データ転送を高速化することができる。
【００１２】
［適用例６］適用例１ないし５のいずれかに記載のプログラムであって、前記複数の画素ブロックは、第１方向と、前記第１方向と交差する第２方向と、に沿ってマトリクス状に配置されており、前記第１方向に延びる１本の前記画素ブロックのラインの一端から他端まで１つの画素ブロックずつ順番に辿る走査を前記第２方向に沿って１ラインずつ順番に行う場合の前記走査の経路に沿って、前記複数の関連領域が１つずつ順番に並ぶように、前記複数の関連領域が配置されており、前記抽出機能は、前記圧縮済画像データにおける前記第１方向の前記画素ブロックの総数である第１総数が、１つの前記関連領域に含まれる前記画素ブロックの総数である第２総数の整数倍である第１の場合と、前記第２総数が前記第１総数の整数倍である第２の場合との、それぞれにおいて、前記圧縮済画像データに含まれる前記複数の関連領域の中の前記出力範囲の少なくとも一部を含む関連領域のみを含む前記圧縮済部分画像データを、抽出する機能を含む、プログラム
この構成によれば、第１の場合と第２の場合とのそれぞれにおいて、データ転送を適切に高速化することができる。
【００１３】
［適用例７］適用例１ないし６のいずれかに記載のプログラムであって、さらに、前記圧縮済部分画像データのデータ量である第１データ量が、前記圧縮済画像データを解凍することによって得られる解凍済画像データ中の前記出力範囲に対応付けられた部分である解凍済部分画像データのデータ量である第２データ量以上の場合に、前記解凍済部分画像データを前記画像出力装置に送信する解凍済部分データ送信機能をコンピュータに実行させ、前記抽出データ送信機能は、前記第１データ量が前記第２データ量未満である場合に、前記圧縮済部分画像データと前記出力範囲情報とを前記画像出力装置に送信する機能を含む、プログラム。
この構成によれば、圧縮済部分画像データと解凍済部分画像データとのうちのデータ量の小さい方が送信されるので、データ転送を適切に高速化することができる。
【００１４】
［適用例８］適用例１ないし７のいずれかに記載のプログラムであって、前記圧縮済画像データは、ＪＰＥＧ規格に基づく画像データであり、前記関連領域は、前記ＪＰＥＧ規格のリスタートマーカによって識別されるブロックである、プログラム。
この構成によれば、ＪＰＥＧ規格に基づく画像データを利用する場合に、画質の劣化を抑制しつつ、データ転送を高速化することができる。
【００１５】
なお、本発明は、種々の形態で実現することが可能であり、例えば、画像処理方法および画像処理装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体（例えば、一時的ではない記録媒体）、等の形態で実現することができる。
【図面の簡単な説明】
【００１６】
【図１】画像処理システムを示す説明図である。
【図２】画像処理のフローチャートである。
【図３】元画像データ（ＪＰＥＧデータ）の構成例を示す概略図である。
【図４】印刷処理のフローチャートである。
【図５】抽出処理のフローチャートである。
【図６】抽出処理のフローチャートである。
【図７】第１の場合Ｃ１の処理の概略図である。
【図８】第２の場合Ｃ２の処理の概略図である。
【図９】第３の場合Ｃ３の一例を示す概略図である。
【図１０】第４の場合Ｃ４の一例を示す概略図である。
【図１１】図６のステップＳ３６０のフローチャートである。
【発明を実施するための形態】
【００１７】
Ａ．第１実施例：
次に、本発明の実施の形態を実施例に基づき説明する。図１は、本発明の一実施例としての画像処理システムを示す説明図である。この画像処理システム１０は、携帯端末１００と、プリンタ８００と、携帯端末１００とプリンタ８００とを接続するネットワークＮＴと、を含んでいる。
【００１８】
携帯端末１００は、例えば、いわゆるスマートフォーンであり、ＣＰＵ１１０と、ＤＲＡＭ等の揮発性記憶装置１２０と、フラッシュメモリやハードディスクドライブ等の不揮発性記憶装置１３０と、液晶表示装置等の表示部１４０と、タッチパネルやキーボード等の操作部１５０と、他の装置と通信を行うための通信インタフェース１６０と、を含んでいる。通信インタフェース１６０は、例えば、ＩＥＥＥ８０２．１１規格に準拠した無線インタフェースである。不揮発性記憶装置１３０は、プログラム１３２を格納している。
【００１９】
ＣＰＵ１１０は、プログラム１３２を実行することにより、画像取得部２１０と、範囲受付部２２０と、抽出部２３０と、抽出データ送信部２４０と、トリミングデータ送信部２５０と、として機能する。これらの処理部は、プリンタ８００に、トリミング済の画像を印刷させる（詳細は後述）。
【００２０】
プリンタ８００は、いわゆるネットワークプリンタであり、ＣＰＵ８１０と、ＤＲＡＭ等の揮発性記憶装置８２０と、フラッシュメモリ等の不揮発性記憶装置８３０と、印刷を実行する印刷部８４０と、他の装置と通信を行うための通信インタフェース８６０と、を含んでいる。印刷部８４０は、例えば、インクジェット式の印刷部である。通信インタフェース８６０は、例えば、ＩＥＥＥ８０２．１１規格に準拠した無線インタフェースである。不揮発性記憶装置８３０は、プログラム８３２を格納している。
【００２１】
ＣＰＵ８１０は、プログラム８３２を実行することにより、データ受信部９１０と、トリミング処理部９２０と、印刷処理部９３０と、として機能する。これらの機能部は、他の装置（例えば、携帯端末１００）からの指示に従って、トリミング済の画像を印刷する（詳細は後述）。
【００２２】
図２は、携帯端末１００（図１）によって実行される画像処理のフローチャートである。この画像処理は、例えば、ユーザ操作に応じて、画像をトリミングして印刷する指示を受け付けた場合に開始される。最初のステップＳ１００では、画像取得部２１０（図１）は、画像データを取得する。本実施例では、取得される画像データは、いわゆるＪＰＥＧ形式の圧縮済画像データである。画像データを取得する方法としては、任意の方法を採用可能である。本実施例では、画像取得部２１０は、ネットワークＮＴを通じて、他の装置（例えば、図示しないＷｅｂサーバ）から、画像データを取得する。携帯端末１００がデジタルカメラを含む場合には、画像取得部２１０は、デジタルカメラによって生成された画像データを、取得してもよい。以下、取得された画像データを、「元画像データ」とも呼ぶ。
【００２３】
図３は、元画像データ（すなわち、ＪＰＥＧ形式で圧縮されたデータ）の構成例を示す概略図である。元画像データＣＩ１は、互いに直行する第１方向Ｘと第２方向Ｙとに沿ってマトリクス状に配置された複数の画素ＰＸ毎の階調値を表している（例えば、Ｙ、Ｃｂ、Ｃｒの３成分の階調値）。また、図示するように、元画像データＣＩ１の複数の画素ＰＸは、第１方向Ｘと第２方向Ｙとに沿ってマトリクス状に配置された複数の画素ブロックＭＣＵに分割されている。各画素ブロックＭＣＵは、非可逆圧縮方式で圧縮符号化されている。具体的には、画素ブロックＭＣＵは、ＤＣＴ（Discrete Cosine Transform）の結果を量子化してからハフマン符号化することによって、圧縮符号化されている。画素ブロックＭＣＵは、最小符号化ユニット（Minimum Coded Unit）とも呼ばれる。図３の下部には、１つの画素ブロックＭＣＵが、拡大して示されている。１つの画素ブロックＭＣＵは、第１方向Ｘと第２方向Ｙとに沿ってマトリクス状に配置された複数の画素ＰＸを含んでいる。図中の第１値ＭＰｘは、第１方向Ｘの画素数であり、第２値ＭＰｙは、第２方向Ｙの画素数である。例えば、第１値ＭＰｘは「８」であり、第２値ＭＰｙは「８」である。
【００２４】
図３中の各画素ブロックＭＣＵに付された括弧内の数字は、圧縮符号化の順番を示している。第１方向Ｘに沿って延びる画素ブロックＭＣＵの１本のライン（「画素ブロック行」とも呼ぶ）の中では、複数の画素ブロックＭＣＵは、左方向の端から右方向の端まで、第１方向Ｘに沿って１画素ブロックずつ順番に処理される。ここで、左方向は、第１方向Ｘの反対方向を意味し、右方向は、第１方向Ｘを意味している。また、第２方向Ｙに沿って並ぶ複数の画素ブロック行は、上方向の端から下方向の端まで、第２方向Ｙに沿って１行ずつ順番に処理される。ここで、上方向は、第２方向Ｙの反対方向を意味し、下方向は、第２方向Ｙを意味している。上下左右の方向は、後述する説明においても、同様である。
【００２５】
図２の次のステップＳ１１０では、範囲受付部２２０（図１）は、トリミング範囲を取得する。トリミング範囲は、画像内の出力すべき範囲（出力範囲）を示している。範囲受付部２２０は、元画像データによって表される画像（以下「元画像」とも呼ぶ）を、表示部１４０に表示する。ユーザは、操作部１５０を操作することによって、元画像上のトリミング範囲を指定することができる。範囲受付部２２０は、操作部１５０からの信号を利用して、トリミング範囲を取得する。図３には、ユーザによって設定されたトリミング範囲ＴＡが示されている。
【００２６】
図２の次のステップＳ１２０では、抽出部２３０（図１）は、元画像データを解析することによって、元画像データがＤＲＩセグメントを含むか否かを判定する。ＤＲＩセグメントは、ＤＲＩセグメントを特定するためのＤＲＩマーカと、リスタートインターバルを表すデータと、を含んでいる。リスタートインターバルは、リスタートマーカの間隔（画素ブロックＭＣＵの数）を表している。リスタートマーカは、元画像データ中の圧縮符号化の初期化位置を表すデータである。
【００２７】
図３に示す元画像データＣＩ１は、リスタートマーカＲＭを含んでいる。ＪＰＥＧデータでは、データ量を小さくするために、ｍ番目（ｍは２以上の整数）の画素ブロックＭＣＵのＤＣＴの直流成分（「ＤＣ成分」と呼ぶ）を表すデータとしては、ｍ−１番目の画素ブロックＭＣＵのＤＣ成分からの変化量（差分）を表すデータが、採用されている。ただし、リスタートマーカＲＭの直後の画素ブロックＭＣＵに関しては、変化量の代わりに、ＤＣ成分を表すデータが、そのまま、採用されている。すなわち、「ＤＣ成分を表すデータとして変化量（差分）を採用する」という処理（圧縮符号化のための処理）は、リスタートマーカＲＭによって、初期化される。
【００２８】
図３の元画像データＣＩ１では、リスタートインターバルは「６」である。従って、処理順に沿って配置された６つの画素ブロックＭＣＵ毎に、リスタートマーカＲＭが挿入されている。以下、１つのリスタートインターバルに対応付けられた領域、すなわち、リスタートマーカＲＭよって区分された領域を、「関連領域」とも呼ぶ。図３には、１つの関連領域ＲＩが、拡大して示されている。１つの関連領域ＲＩは、ＲＩＭｎ個の画素ブロックＭＣＵで構成されている（値ＲＩＭｎはリスタートインターバル）。なお、リスタートマーカＲＭは、関連領域ＲＩを識別する識別子である、ということもできる。
【００２９】
ＪＰＥＧデータでは、複数の関連領域は、画素ブロックＭＣＵの処理順に沿って複数の関連領域が１つずつ順番に並ぶように、配置されている。複数の関連領域の間では、互いに他の関連領域の情報を利用せずに、圧縮符号化が行われている。１つの関連領域の全体の解凍には、その１つの関連領域の全ての画素ブロックＭＣＵを要するが、他の関連領域の画素ブロックＭＣＵは不要である。
【００３０】
以下の説明では、ＪＰＥＧデータに含まれる複数の関連領域ＲＩを、識別番号で識別する。この識別番号は、画素ブロックＭＣＵの処理順に沿って昇順に並ぶように、１から順番に割り振られる。関連領域を示す符号としては、文字「ＲＩ」と、文字「ＲＩ」に続く識別番号との組み合わせを用いる。図３の例では、元画像データＣＩ１は、１２個の関連領域ＲＩ１〜ＲＩ１２を含んでいる。
【００３１】
通常は、リスタートマーカＲＭを含むＪＰＥＧデータは、ＤＲＩセグメントを含み、リスタートマーカＲＭを含まないＪＰＥＧデータは、ＤＲＩセグメントを含まない。従って、図２のステップＳ１２０では、抽出部２３０（図１）は、元画像データがＤＲＩセグメントを含むか否かを判定することによって、元画像データがリスタートマーカＲＭを含むか否かを判定している、ということができる。
【００３２】
元画像データＣＩ１がＤＲＩセグメントを含む場合には（図２：Ｓ１２０：Ｙｅｓ）、次のステップＳ１３０で、抽出部２３０は、圧縮済部分画像データ（以下「圧縮済部分データ」とも呼ぶ）を抽出する。抽出部２３０は、「トリミング範囲ＴＡの少なくとも一部を含む関連領域を全て含み、元画像データに含まれる複数の関連領域のうちの一部の関連領域で構成され、全体として矩形状を形成する」という条件（以下「部分データ条件」と呼ぶ）を満たすデータを、圧縮済部分データとして抽出する。例えば、図３の元画像データＣＩ１からは、第１〜第８関連領域ＲＩ１〜ＲＩ８で構成される画像データが抽出される。以下、抽出された圧縮済部分データのデータ量を、「第１データ量」と呼ぶ。トリミング範囲ＴＡが広い場合には、元画像データＣＩ１の全体が抽出され得る。抽出処理の詳細については、後述する。このステップＳ１３０の完了に応じて、処理はステップＳ１４０に移行する。
【００３３】
元画像データＣＩ１がＤＲＩセグメントを含まない場合（Ｓ１２０：Ｎｏ）、処理は、ステップＳ１４０に移行する。
【００３４】
ステップＳ１４０では、抽出データ送信部２４０（図１）は、元画像データを解凍した場合の解凍済画像データ中のトリミング範囲内のデータ量を、元画像データを解凍せずに算出する（以下「第２データ量」と呼ぶ）。具体的には、トリミング範囲ＴＡに含まれる画素数と、１画素分の階調値データのデータ量（例えば、２４ビット）と、の乗算結果が、第２データ量として、算出される。
【００３５】
次のステップＳ１５０では、抽出データ送信部２４０は、第１データ量が第２データ量よりも小さいか否か、を判定する。ステップＳ１２０の判定結果が「Ｙｅｓ」である場合には、第１データ量は、ステップＳ１３０で抽出された圧縮済部分データのデータ量である。ステップＳ１２０の判定結果が「Ｎｏ」である場合には、第１データ量は、元画像データのデータ量である。
【００３６】
第１データ量が第２データ量よりも小さい（Ｓ１５０：Ｙｅｓ）、かつ、Ｓ１２０の判定結果が「Ｙｅｓ」である場合には、ステップＳ１９０で、抽出データ送信部２４０は、ステップＳ１３０で抽出された圧縮済部分データと、圧縮済部分データによって表される画像中のトリミング範囲を表すデータとを、プリンタ８００に送信する。
【００３７】
第１データ量が第２データ量よりも小さい（Ｓ１５０：Ｙｅｓ）、かつ、Ｓ１２０の判定結果が「Ｎｏ」である場合には、ステップＳ１９０で、抽出データ送信部２４０は、元画像データと、元画像中のトリミング範囲を表すデータとを、プリンタ８００に送信する。
【００３８】
いずれの場合も、ステップＳ１９０の完了に応じて、画像処理は、終了する。
【００３９】
第１データ量が第２データ量以上である場合には（Ｓ１５０：Ｎｏ）、ステップＳ１６０で、トリミングデータ送信部２５０（図１）は、元画像データを解凍することによって、解凍済画像データを生成する。次のステップＳ１７０では、トリミングデータ送信部２５０は、解凍済画像データから、トリミング範囲を表す部分を、解凍済トリミングデータ（「解凍済部分画像データ」とも呼ぶ）として、取得する。次のステップＳ１８０では、トリミングデータ送信部２５０は、解凍済トリミングデータを、プリンタ８００に送信する。ステップＳ１８０の完了に応じて、画像処理は、終了する。
【００４０】
以上のように、携帯端末１００は、２種類の画像データ（非圧縮の解凍済トリミングデータと、圧縮済データ（元画像データまたは圧縮済部分データ））のうちの、データ量の小さい方をプリンタ８００に送信する。従って、データ転送を高速化することができる。
【００４１】
図４は、プリンタ８００（図１）によって実行される印刷処理のフローチャートである。印刷処理は、データ受信部９１０が、携帯端末１００から画像データを受信した場合に開始される。
【００４２】
ステップＳ２１０では、トリミング処理部９２０は、データ受信部９１０が受信した画像データが、圧縮済データ（元画像データまたは圧縮済部分データ）であるか否かを、判定する。
【００４３】
受信済画像データが圧縮済データである場合には（Ｓ２１０：Ｙｅｓ）、次のステップＳ２２０で、トリミング処理部９２０は、受信済画像データを解凍することによって、解凍済画像データを生成する。次のステップＳ２３０では、トリミング処理部９２０は、解凍済画像データから、トリミング範囲を表す部分を、解凍済トリミングデータとして、取得する。ステップＳ２３０の完了に応じて、処理は、ステップＳ２４０に移行する。
【００４４】
受信済画像データが圧縮データではない場合には（Ｓ２１０：Ｎｏ）、受信済画像データは、図２のステップＳ１７０で生成された解凍済トリミングデータである。この場合には、処理は、ステップＳ２４０に移行する。
【００４５】
ステップＳ２４０では、印刷処理部９３０は、解凍済トリミングデータを利用することによって、印刷部８４０に、トリミング範囲を表す画像を印刷させる。印刷処理部９３０は、例えば、色変換処理とハーフトーン処理とを含む処理を行うことによって、解凍済トリミングデータから、印刷データを生成し、生成した印刷データを、印刷部８４０に供給する。印刷部８４０は、印刷データに従って、印刷を実行する。
【００４６】
＜抽出処理＞
図５、図６は、抽出処理（図２：Ｓ１３０）のフローチャートである。図６は、図５の続きの処理を示している。最初のステップＳ３００では、抽出部２３０（図１）は、元画像データを利用して、元画像に関連する情報（「ＪＰＥＧ情報」とも呼ぶ）を取得する。具体的には、リスタートインターバル（図３：ＲＩＭｎ）と、１つの画素ブロックＭＣＵ中の第１方向Ｘの画素数ＭＰｘと第２方向Ｙの画素数ＭＰｙと、元画像中の第１方向Ｘの画素数と第２方向Ｙの画素数とが、取得される。
【００４７】
また、抽出部２３０は、取得した情報を利用して、第１方向Ｘの画素ブロックＭＣＵの数ＢＭｎｘ（図３）と、第２方向Ｙの画素ブロックＭＣＵの数ＢＭｎｙと、を算出する。画素ブロックＭＣＵの数ＢＭｎｘ、ＢＭｎｙは、元画像を表現するために要する最小値である。
ＢＭｎｘ＝Ｉｎｔ（（元画像の第１方向Ｘの画素数−１）／ＭＰｘ）＋１
ＢＭｎｙ＝Ｉｎｔ（（元画像の第２方向Ｙの画素数−１）／ＭＰｙ）＋１
関数「Ｉｎｔ」は、小数部分を切り捨てて整数部分を返す関数である（以下、同様）。
【００４８】
また、抽出部２３０は、後述する処理に利用するために、第１方向Ｘの画素数ＢＰｘ（図３）と、第２方向Ｙの画素数ＢＰｙとを、算出する。第１方向Ｘの画素数ＢＰｘは、ＢＭｎｘ個の画素ブロックＭＣＵに相当する画素数に設定される（ＢＰｘ＝ＭＰｘ＊ＢＭｎｘ（演算記号「＊」は、乗算記号である（以下同様）））。第２方向Ｙの値についても、同様である（ＢＰｙ＝ＭＰｙ＊ＢＭｎｙ）。元画像の第１方向Ｘの画素数が、画素ブロックＭＣＵの第１方向Ｘの画素数ＭＰｘの倍数とは異なる場合には、元画像データは、隙間を埋めるダミー画素データ（パディングと呼ばれる）を含む。第２方向Ｙについても同様である。元画像データがパディングを含む場合には、これらの画素数ＢＰｘ、ＢＰｙは、パディングを含む値である。
【００４９】
図５の次のステップＳ３０５では、抽出部２３０は、範囲受付部２２０から、トリミング範囲ＴＡ（図３）を特定する情報を取得する。例えば、トリミング範囲ＴＡは、左上隅の画素ＴＡｐ１（「左上画素ＴＡｐ１」と呼ぶ）の画素位置と、右下隅の画素ＴＡｐ２（「右下画素ＴＡｐ２」と呼ぶ）の画素位置と、によって、特定される。
【００５０】
次のステップＳ３１０では、抽出部２３０は、トリミング範囲ＴＡの左上画素ＴＡｐ１を含む画素ブロックＭＣＵを特定する（「先頭ブロックＴＭＳ」と呼ぶ）。図３の例では、先頭ブロックＴＭＳは、第２０画素ブロックである。
【００５１】
次のステップＳ３１５では、抽出部２３０は、先頭ブロックＴＭＳを含む関連領域（「先頭領域ＴＲＳ」と呼ぶ）を特定する。図３の例では、先頭領域ＴＲＳは、第４関連領域ＲＩ４である。以下、先頭領域ＴＲＳの番号を、「先頭領域番号ＴＲｉＳ」とも呼ぶ。図３の例では、先頭領域番号ＴＲｉＳは「４」である。
【００５２】
次のステップＳ３２０では、抽出部２３０は、先頭領域ＴＲＳの先端（左上隅）の画素位置を特定する（図３の例では、先頭領域ＴＲＳの左上隅の画素ＴＲＳｐ１（「先端画素ＴＲＳｐ１」と呼ぶ）の画素位置）。
【００５３】
次のステップＳ３２５では、抽出部２３０は、トリミング範囲ＴＡの右下画素ＴＡｐ２を含む画素ブロックＭＣＵを特定する（「後尾ブロックＴＭＥ」と呼ぶ）。図３の例では、後尾ブロックＴＭＥは、第４７画素ブロックである。
【００５４】
次のステップＳ３３０では、抽出部２３０は、後尾ブロックＴＭＥを含む関連領域（「後尾領域ＴＲＥ」と呼ぶ）を特定する。図３の例では、後尾領域ＴＲＥは、第８関連領域ＲＩ８である。以下、後尾領域ＴＲＥの番号を、後尾領域番号ＴＲｉＥとも呼ぶ。図３の例では、後尾領域番号ＴＲｉＥは、「８」である。
【００５５】
次のステップＳ３３５では、抽出部２３０は、後尾領域ＴＲＥの後端（右下隅）の画素位置を特定する（図３の例では、後尾領域ＴＲＥの右下隅の画素ＴＲＥｐ２（「後尾画素ＴＲＥｐ２」と呼ぶ）の画素位置）。
【００５６】
次のステップＳ３４０、Ｓ３４５（図６）では、抽出部２３０は、関連領域ＲＩの配置とトリミング範囲ＴＡとの関係を、４つの場合Ｃ１〜Ｃ４に分類し、分類結果に応じて処理を進行する。
【００５７】
＜第１の場合Ｃ１＞
図７は、第１の場合Ｃ１の処理の概略図である。図７（Ａ）は、第１の場合Ｃ１の一例として、元画像データＣＩ１Ａとトリミング範囲ＴＡａとを示している。第１の場合Ｃ１は、「第１方向Ｘの画素ブロックＭＣＵの数ＢＭｎｘが、リスタートインターバル（ＲＩＭｎ）のＫ倍（Ｋは１以上の整数）である」場合である。図７（Ａ）の例では、値Ｋは「４」である。抽出部２３０は、現行の場合が第１の場合Ｃ１であると判定するための条件として、例えば「ＢＭｎｘ％ＲＩＭｎ＝０、かつ、ＢＭｎｘ＞ＲＩＭｎ」を採用可能である。ここで、演算記号「％」は、除算の余りを算出する演算記号である（以下、同様）。Ｋ＝１の場合（ＢＭｎｘ＝ＲＩＭｎの場合）は、第２の場合Ｃ２に分類されることとしたが、第１の場合Ｃ１に分類されてもよい。第１の場合Ｃ１には、抽出部２３０は、図６のステップＳ３５０で、抽出すべき関連領域ＲＩを決定する。
【００５８】
第１の場合Ｃ１には、トリミング範囲ＴＡａの少なくとも一部を含む関連領域ＲＩが、全体として、矩形状を形成する。例えば、図７（Ａ）の例では、トリミング範囲ＴＡａは、６つの関連領域ＲＩ６、ＲＩ７、ＲＩ１０、ＲＩ１１、ＲＩ１４、ＲＩ１５に、亘っている。そして、これらの６つの関連領域ＲＩ６、ＲＩ７、ＲＩ１０、ＲＩ１１、ＲＩ１４、ＲＩ１５は、全体として、矩形状を形成している。抽出部２３０は、元画像データＣＩ１Ａの複数の関連領域ＲＩから、トリミング範囲ＴＡａの少なくとも一部を含む全ての関連領域ＲＩ６、ＲＩ７、ＲＩ１０、ＲＩ１１、ＲＩ１４、ＲＩ１５のみを、抽出すべき関連領域ＲＩとして選択する（図７：抽出すべきデータＣＩ２Ａ）。
【００５９】
図７（Ｂ）は、図６のステップＳ３５０のフローチャートである。最初のステップＳ４００では、抽出部２３０は、以下の３つのパラメータＲＩＮｘ、ＴｃＳ、ＴｃＥを算出する。以下、第２方向Ｙに沿って延びる関連領域ＲＩのライン（「関連領域ＲＩの列」）の番号を「列番号」と呼ぶ。列番号は、左端から数えた番号であり、左端の列番号は「１」である。図７（Ａ）の元画像データＣＩ１Ａの上部に示した符号ＣＬｊ（ｊ＝１〜４）は、その符号ＣＬｊの下に位置する列の列番号がｊ番であることを示している。
（１）ＲＩＮｘ：元画像データ中の第１方向Ｘの関連領域ＲＩの数
ＲＩＮｘ＝ＢＭｎｘ／ＲＩＭｎ
（２）ＴｃＳ：先頭領域ＴＲＳの列番号
ＴｃＳ＝（（ＴＲｉＳ−１）％ＲＩＮｘ）＋１
（３）ＴｃＥ：後尾領域ＴＲＥの列番号
ＴｃＥ＝（（ＴＲｉＥ−１）％ＲＩＮｘ）＋１
図７（Ａ）の例では、ＲＩＮｘ＝４、ＴｃＳ＝２、ＴｃＥ＝３、である。
【００６０】
次のステップＳ４０５では、抽出部２３０は、処理対象の関連領域ＲＩの番号ｉを、先頭領域ＴＲＳの番号ＴＲｉＳに設定する。そして、抽出部２３０は、番号ｉが、後尾領域ＴＲＥの番号ＴＲｉＥを越えるまで、ループ制御のステップＳ４１０、Ｓ４１０Ｅに挟まれたステップＳ４１５〜Ｓ４５０を、繰り返す。
【００６１】
ステップＳ４１５では、抽出部２３０は、ｉ番の関連領域ＲＩの列番号Ｔｃｉを算出する（Ｔｃｉ＝ｉ％ＲＩＮｘ）。次のステップＳ４２０では、抽出部２３０は、ｉ番の関連領域ＲＩの列番号Ｔｃｉが、先頭領域ＴＲＳの列番号ＴｃＳ以上、かつ、後尾領域ＴＲＥの列番号ＴｃＥ以下であるか否かを判定する。ステップＳ４２０の判定結果が「Ｙｅｓ」である場合には、抽出部２３０は、ステップＳ４３０で、ｉ番の関連領域ＲＩを、抽出すべき関連領域ＲＩとして選択して、ステップＳ４５０に移行する。ステップＳ４２０の判定結果が「Ｎｏ」である場合には、抽出部２３０は、ステップＳ４４０で、ｉ番目の関連領域ＲＩを、抽出すべき関連領域ＲＩから排除して、ステップＳ４５０に移行する。ステップＳ４５０では、抽出部２３０は、番号ｉに１を追加して、処理対象の関連領域ＲＩを更新する。
【００６２】
番号ｉが、後尾領域ＴＲＥの番号ＴＲｉＥを越えた場合には、抽出部２３０は、処理を終了する。以上の処理により、抽出部２３０は、先頭領域ＴＲＳと後尾領域ＴＲＥとが対角である矩形領域内の関連領域ＲＩを、抽出すべき関連領域ＲＩとして選択する（図７：抽出すべきデータＣＩ２Ａ）。
【００６３】
＜第２の場合Ｃ２＞
図８は、第２の場合Ｃ２の処理の概略図である。図８（Ａ）は、第２の場合Ｃ２の一例として、元画像データＣＩ１Ｂとトリミング範囲ＴＡｂとを示している。第２の場合Ｃ２は、「リスタートインターバル（ＲＩＭｎ）が、第１方向Ｘの画素ブロックＭＣＵの数ＢＭｎｘのＬ倍（Ｌは１以上の整数）である」場合である。図８（Ａ）の例では、値Ｌは、「２」である。抽出部２３０は、現行の場合が第２の場合Ｃ２であると判定するための条件として、例えば「ＲＩＭｎ％ＢＭｎｘ＝０、かつ、ＢＭｎｘ≦ＲＩＭｎ」を採用可能である。第２の場合Ｃ２には、抽出部２３０は、図６のステップＳ３５５で、抽出すべき関連領域ＲＩを決定する。
【００６４】
第２の場合Ｃ２には、トリミング範囲の少なくとも一部を含む関連領域ＲＩは、先頭領域ＴＲＳから後尾領域ＴＲＥまでの全ての関連領域ＲＩのみである。そして、先頭領域ＴＲＳから後尾領域ＴＲＥまでの全ての関連領域ＲＩが、全体として、矩形状を形成する。例えば、図８（Ａ）の例では、先頭領域ＴＲＳは、第２関連領域ＲＩ２であり、後尾領域ＴＲＥは、第４関連領域ＲＩ４である。そして、トリミング範囲ＴＡｂの少なくとも一部を含む関連領域ＲＩは、先頭領域ＴＲＳから後尾領域ＴＲＥまでの全ての関連領域ＲＩ２、ＲＩ３、ＲＩ４のみである。また、先頭領域ＴＲＳから後尾領域ＴＲＥまでの全ての関連領域ＲＩ２、ＲＩ３、ＲＩ４は、全体として、矩形状を形成している。抽出部２３０は、元画像データＣＩ１Ｂの複数の関連領域ＲＩから、先頭領域ＴＲＳから後尾領域ＴＲＥまでの全ての関連領域ＲＩ２、ＲＩ３、ＲＩ４のみを、抽出すべき関連領域ＲＩとして選択する（図８：抽出すべきデータＣＩ２Ｂ）。
【００６５】
図８（Ｂ）は、図６のステップＳ３５５のフローチャートである。最初のステップＳ５００では、抽出部２３０は、処理対象の関連領域ＲＩの番号ｉを、先頭領域ＴＲＳの番号ＴＲｉＳに設定する。そして、抽出部２３０は、番号ｉが、後尾領域ＴＲＥの番号ＴＲｉＥを越えるまで、ループ制御のステップＳ５０５、Ｓ５０５Ｅに挟まれたステップＳ５１０〜Ｓ５１５を、繰り返す。ステップＳ５１０では、抽出部２３０は、ｉ番の関連領域ＲＩを、抽出すべき関連領域ＲＩとして選択する。次のステップＳ５１５では、抽出部２３０は、番号ｉに１を追加して、処理対象の関連領域ＲＩを更新する。番号ｉが、後尾領域ＴＲＥの番号ＴＲｉＥを越えた場合には、抽出部２３０は、処理を終了する。以上の処理により、抽出部２３０は、先頭領域ＴＲＳから後尾領域ＴＲＥまでの全ての関連領域ＲＩを、抽出すべき関連領域ＲＩとして選択する。
【００６６】
＜第３の場合Ｃ３＞
図９は、第３の場合Ｃ３の一例としての、元画像データＣＩ１Ｃとトリミング範囲ＴＡｃとを示す概略図である。第３の場合Ｃ３は、上述の第１の場合Ｃ１と第２の場合Ｃ２との何れでもなく（図６：Ｓ３４０：その他）、かつ、先頭領域ＴＲＳから後尾領域ＴＲＥまでの関連領域ＲＩが、画素ブロックＭＣＵの複数行に亘っていない（Ｓ３４５：Ｎｏ）場合である。ステップＳ３４５の判定結果が「Ｎｏ」であることは、先頭領域ＴＲＳから後尾領域ＴＲＥまでの全ての関連領域ＲＩが、画素ブロックＭＣＵの１本の行に含まれていることを意味している。抽出部２３０は、ステップＳ３４５で「Ｎｏ」と判定するための条件として、例えば、「先端画素ＴＲＳｐ１（図３）の第２方向Ｙの画素位置から、後尾画素ＴＲＥｐ２の第２方向Ｙの画素位置までの画素数が、１つの画素ブロックＭＣＵの第２方向Ｙの画素数ＭＰｙと同じである」を採用可能である。第３の場合Ｃ３には、第２の場合Ｃ２と同様に、抽出部２３０は、図６のステップＳ３５５で、抽出すべき関連領域ＲＩを決定する。
【００６７】
図９の例では、先頭領域ＴＲＳは、第９関連領域ＲＩ９であり、後尾領域ＴＲＥは、第１０関連領域ＲＩ１０である。そして、トリミング範囲ＴＡｃの少なくとも一部を含む関連領域ＲＩは、先頭領域ＴＲＳから後尾領域ＴＲＥまでの全ての関連領域ＲＩ９、ＲＩ１０のみである。また、先頭領域ＴＲＳから後尾領域ＴＲＥまでの全ての関連領域ＲＩ９、ＲＩ１０は、全体として、矩形状を形成している。このように、第３の場合Ｃ３における関連領域ＲＩの配置とトリミング範囲との関係は、第２の場合Ｃ２における関係と、同じである。抽出部２３０は、第２の場合Ｃ２と同じ手順に従って（図８（Ｂ））、抽出すべき関連領域ＲＩを選択する（抽出すべきデータＣＩ２Ｃ）。
【００６８】
＜第４の場合Ｃ４＞
図１０は、第４の場合Ｃ４の一例としての、元画像データＣＩ１Ｄとトリミング範囲ＴＡｄとを示す概略図である。第４の場合Ｃ４は、上述の第１の場合Ｃ１と第２の場合Ｃ２との何れでもなく（Ｓ３４０：その他）、かつ、先頭領域ＴＲＳから後尾領域ＴＲＥまでの関連領域ＲＩが、画素ブロックＭＣＵの複数行に亘っている（Ｓ３４５：Ｙｅｓ）場合である。抽出部２３０は、ステップＳ３４５で「Ｙｅｓ」と判定するための条件として、例えば、「先端画素ＴＲＳｐ１（図３）の第２方向Ｙの画素位置から、後尾画素ＴＲＥｐ２の第２方向Ｙの画素位置までの画素数が、１つの画素ブロックＭＣＵの第２方向Ｙの画素数ＭＰｙと異なっている」を採用可能である。第４の場合Ｃ４には、抽出部２３０は、図６のステップＳ３６０で、先頭領域ＴＲＳと後尾領域ＴＲＥとを更新し、その後に、ステップＳ３５５で、抽出すべき関連領域ＲＩを決定する。
【００６９】
図１０の例では、先頭領域ＴＲＳは、第９関連領域ＲＩ９であり、後尾領域ＴＲＥは、第１２関連領域ＲＩ１２である。トリミング範囲ＴＡｄの少なくとも一部を含む関連領域ＲＩは、３つの関連領域ＲＩ９、ＲＩ１０、ＲＩ１２である。図１０の例では、先頭領域ＴＲＳから後尾領域ＴＲＥまでの関連領域ＲＩ９〜ＲＩ１２のみからトリミング範囲ＴＡｄを含むように関連領域ＲＩを抽出する場合には、抽出された関連領域ＲＩは、全体として矩形を形成することができない。そこで、抽出部２３０は、図６のステップＳ３６０で、先頭領域ＴＲＳから後尾領域ＴＲＥまでの関連領域ＲＩを用いてトリミング範囲ＴＡｄを含む矩形を形成できるように、先頭領域ＴＲＳと後尾領域ＴＲＥとを更新する。
【００７０】
図１１は、図６のステップＳ３６０のフローチャートである。まず、抽出部２３０は、先頭領域ＴＲＳの先端画素ＴＲＳｐ１の第１方向Ｘの画素位置ＴＲＳｐ１ｘが「ゼロ（すなわち、左端）」となるまで、ループ制御のステップＳ６００、Ｓ６００Ｅに挟まれたステップＳ６０５、Ｓ６１０を、繰り返す。
【００７１】
ステップＳ６０５では、抽出部２３０は、先頭領域ＴＲＳを、１つ前の関連領域ＲＩに、変更する。次のステップＳ６１０では、抽出部２３０は、変更済の先頭領域ＴＲＳの先端画素ＴＲＳｐ１の第１方向Ｘの画素位置ＴＲＳｐ１ｘを算出する（ＴＲＳｐ１ｘ＝（ＲＩＭｎ＊ＭＰｘ＊（ＴＲｉＳ−１））％ＢＰｘ）。ステップＳ６０５による先頭領域ＴＲＳの変更は、変更済の先端画素ＴＲＳｐ１が元画像データの左端になるまで、繰り返される。図１０の例では、抽出部２３０は、先頭領域ＴＲＳを、第９関連領域ＲＩ９から第６関連領域ＲＩ６に変更する。
【００７２】
次に、抽出部２３０は、後尾領域ＴＲＥの後尾画素ＴＲＥｐ２の第１方向Ｘの画素位置ＴＲＥｐ２ｘが、「ＢＰｘ−１（すなわち、右端）」となるまで、ループ制御のステップＳ６２０、６２０Ｅに挟まれたステップＳ６２５、Ｓ６３０を、繰り返す。
【００７３】
ステップＳ６２５では、抽出部２３０は、後尾領域ＴＲＥを、１つ後ろの関連領域ＲＩに変更する。次のステップＳ６３０では、抽出部２３０は、変更済の後尾領域ＴＲＥの後尾画素ＴＲＥｐ２の第１方向Ｘの画素位置ＴＲＥｐ２ｘを算出する（ＴＲＥｐ２ｘ＝（（（ＲＩＭｎ＊ＭＰｘ＊ＴＲｉＥ）−１）％ＢＰｘ））。ステップＳ６２５による後尾領域ＴＲＥの変更は、変更済の画素位置ＴＲＥｐ２ｘが元画像データの右端となるまで、繰り返される。図１０の例では、抽出部２３０は、後尾領域ＴＲＥを、第１２関連領域ＲＩ１２から第１５関連領域ＲＩ１５に変更する。
【００７４】
先頭領域ＴＲＳと後尾領域ＴＲＥとの変更が完了したら、図１１の処理、すなわち、図６のステップＳ３６０は終了する。図６の次のステップＳ３５５では、抽出部２３０は、変更済の先頭領域ＴＲＳから変更済の後尾領域ＴＲＥまでの全ての関連領域ＲＩを、抽出すべき関連領域ＲＩとして、選択する。図１０に示すように、変更済の先頭領域ＴＲＳ（図１０ではＲＩ６）から変更済後の尾領域ＴＲＥ（図１０ではＲＩ１５）までの全ての関連領域ＲＩの全体は、トリミング範囲ＴＡｄを含み、そして、矩形を形成する（図１０：抽出すべきデータＣＩ２Ｄ）。
【００７５】
以上のように、抽出部２３０は、場合Ｃ１〜Ｃ４に応じて、抽出すべき関連領域ＲＩを選択する（図６：Ｓ３５０、Ｓ３５５）。上述したように、いずれの場合Ｃ１〜Ｃ４も、選択された関連領域ＲＩは、全体として、矩形状を形成する。続くステップＳ３６５〜Ｓ３８０では、抽出部２３０は、元画像データから、ステップＳ３５０、Ｓ３５５で選択された関連領域ＲＩで構成される圧縮済部分データを、生成する。
【００７６】
ステップＳ３６５では、抽出部２３０は、圧縮済部分データの大きさ（第１方向Ｘの画素数ＭＰｐｘ、第２方向Ｙの画素数ＭＰｐｙ）を算出する。第１方向Ｘの画素数ＭＰｐｘは、先頭領域ＴＲＳ（例えば、図１０の第６関連領域ＲＩ６）の先端画素ＴＲＳｐ１から、後尾領域ＴＲＥ（例えは、図１０の第１５関連領域ＲＩ１５）の後尾画素ＴＲＥｐ２までの、第１方向Ｘに沿って数えた画素数である。第２方向Ｙの画素数ＭＰｐｙは、先頭領域ＴＲＳの先端画素ＴＲＳｐ１から、後尾領域ＴＲＥの後尾画素ＴＲＥｐ２までの、第２方向Ｙに沿って数えた画素数である。
【００７７】
次のステップＳ３７０では、抽出部２３０は、元画像データから、抽出すべき関連領域ＲＩとは異なる他の関連領域ＲＩを削除し、残ったデータを圧縮済部分データとして抽出する。抽出部２３０は、削除された関連領域ＲＩの先頭に挿入されていたリスタートマーカＲＭも、削除する。
【００７８】
次のステップＳ３７５では、圧縮済部分データのリスタートマーカＲＭの番号をリナンバする。ＪＰＥＧ形式では、各リスタートマーカＲＭに、０番〜７番の８つの番号のうちのいずれかの番号が、割り振られる。複数の画素ブロックＭＣＵを圧縮符号化の順番に辿る場合に、リスタートマーカＲＭの番号は、「０、１、２、３、４、５、６、７」の順列を繰り返す。抽出部２３０は、この規則に従って、リスタートマーカＲＭの番号を、割り振り直す。次のステップＳ３８０では、抽出部２３０は、圧縮済部分データのフレームヘッダ（ＳＯＦ（ＤＮＬ）セグメントとも呼ばれる）に設定されている画像データのサイズを、ステップＳ３６５で算出したサイズに、置換する。
【００７９】
ステップＳ３８０が完了したことに応じて、抽出部２３０は、図５、図６の処理を終了する。これにより、抽出部２３０は、圧縮済部分データの生成を完了する。
【００８０】
以上のように、抽出部２３０は、トリミング範囲の少なくとも一部を含む関連領域を全て含み、元画像データの複数の関連領域のうちの一部の関連領域で構成される圧縮済部分データを、元画像データから抽出する（図２：Ｓ１３０、図５、図６）。そして、抽出データ送信部２４０は、抽出された圧縮済部分データと、圧縮済部分データによって表される画像中のトリミング範囲を表すデータとを、プリンタ８００に送信する（図２：Ｓ１９０）。従って、元画像データ（圧縮済画像データ）によって表される画像中のトリミング範囲をプリンタ８００に出力させる場合に、データ転送を高速化することができる。また、圧縮済部分データは、元画像データに含まれていた関連領域ＲＩのデータを、そのまま、含んでいる（再圧縮済データではない）。従って、画質の劣化を抑制することができる。
【００８１】
また、抽出される関連領域ＲＩは、全体として矩形状を形成するので、抽出部２３０は、ダミー画素データの追加と再圧縮とをせずに、適切に圧縮済部分データを生成できる。
【００８２】
また、図３で説明したように、複数の関連領域ＲＩは、以下のように、配置されている。すなわち、第１方向Ｘに延びる１本の画素ブロックＭＣＵのラインの一端から他端まで１つの画素ブロックＭＣＵずつ順番に辿る走査を第２方向Ｙに沿って１ラインずつ順番に行う場合の走査の経路に沿って、複数の関連領域が１つずつ順番に並ぶように、複数の関連領域ＲＩが配置されている。
【００８３】
ここで、図７に示すように、第１の場合Ｃ１（第１方向Ｘの画素ブロックＭＣＵの数ＢＭｎｘが、１つの関連領域ＲＩに含まれるＭＣＵの数ＲＩＭｎの整数倍である場合）には、抽出部２３０は、トリミング範囲ＴＡａの少なくとも一部を含む関連領域ＲＩのみを含む圧縮済部分データを抽出する。また、図８に示すように、第２の場合Ｃ２（１つの関連領域ＲＩに含まれるＭＣＵの数ＲＩＭｎが、第１方向Ｘの画素ブロックＭＣＵの数ＢＭｎｘの整数倍である場合）にも、抽出部２３０は、トリミング範囲ＴＡａの少なくとも一部を含む関連領域ＲＩのみを含む圧縮済部分データを抽出する。従って、２つの場合Ｃ１、Ｃ２のそれぞれにおいて、データ転送を適切に高速化できる。
【００８４】
また、図９、図１０に示すように、第１の場合Ｃ１と第２の場合Ｃ２とのいずれとも異なる場合（第３の場合Ｃ３と第４の場合Ｃ４）に、抽出部２３０は、上述の「部分データ条件」を満たす圧縮済部分データを抽出する。従って、抽出部２３０は、適切な圧縮済部分データを抽出することができる。また、上記実施例では、圧縮済部分データは、部分データ条件を満たす最少の関連領域で構成される。従って、データ転送を適切に高速化することができる。
【００８５】
Ｂ．変形例：
（１）図２の画像処理を実行する画像処理装置としては、携帯端末１００（スマートフォーン）に限らず、パーソナルコンピュータ、タブレットコンピュータ、デジタルカメラ、スキャナ等の種々の装置を採用可能である。なお、本発明の画像処理装置としてスキャナを採用する場合、図２のＳ１００で、画像取得部２１０は、原稿を読み取って生成された画像データを取得してもよい。また、図４のステップＳ２４０は、印刷の代わりに、表示であってもよい。この場合には、プリンタ８００の代わりに、画像表示装置（例えば、スマートフォーン、タブレットコンピュータ等）を採用可能である。一般的には、図２、図４の処理は、画像出力装置がトリミング範囲内の画像を出力（印刷または表示）する技術に、適用可能である。
【００８６】
（２）圧縮済画像データの形式としては、種々の形式を採用可能である。例えば、Joint Photographic Experts Groupによって規格された種々の形式を採用可能である（「ＪＰＥＧ」、「ＪＰＥＧ  ２０００」等の種々のＪＰＥＧ規格）。また、ＪＰＥＧ規格に基づく画像データに限らず、非可逆圧縮方式によって圧縮符号化された種々の形式の画像データを採用可能である。非可逆圧縮方式による圧縮符号化の方法としては、ＤＣＴの結果を量子化してからハフマン符号化する方法に限らず、任意の方法を採用可能である。例えば、ＤＷＴ（Discrete wavelet transform）の結果を量子化する方法を採用可能である。
【００８７】
また、複数の関連領域のそれぞれを識別するデータとしては、圧縮符号化の初期化位置を表すデータ（例えば、リスタートマーカ）に限らず、複数の関連領域のそれぞれを識別可能な種々のデータを採用可能である。いずれの場合も、抽出部２３０（図１）は、元の圧縮済画像データが関連領域の識別子を含む場合に、圧縮済部分データを抽出すれば、適切に処理を進行できる。
【００８８】
（３）抽出処理の手順としては、図５〜図１１で説明した手順に限らず、「トリミング範囲の少なくとも一部を含む関連領域を全て含み、元画像データに含まれる複数の関連領域のうちの一部の関連領域で構成される」という条件を満たす圧縮済部分データを、元の圧縮済画像データから抽出可能な任意の手順を採用可能である。例えば、第１の場合Ｃ１（図７）、または、第２の場合Ｃ２（図８）において、抽出される関連領域が、トリミング範囲を含まない関連領域を、含んでも良い。また、第３の場合Ｃ３（図９）、または、第４の場合Ｃ４（図１０、図１１）において、抽出される関連領域の数は、最少の構成と比べて、多くてもよい。いずれの場合も、抽出される関連領域ＲＩは、全体として矩形状を形成しなくてもよい。この場合には、抽出データ送信部２４０（図１）は、抽出された関連領域の画素の画素位置を特定する情報を、画像出力装置に送信すればよい。
【００８９】
（４）画像処理の手順としては、図２で説明した手順に限らず、種々の手順を採用可能である。例えば、抽出データ送信部２４０は、抽出部２３０によって圧縮済部分データが抽出された場合には、データ量に拘わらずに、圧縮済部分データを送信してもよい。この場合も、圧縮済部分データのデータ量は、元の圧縮済画像データのデータ量よりも小さいので、元の圧縮済画像データを送信する場合と比べて、データ転送を高速化できる。
【００９０】
（５）上記各実施例において、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよく、逆に、ソフトウェアによって実現されていた構成の一部あるいは全部をハードウェアに置き換えるようにしてもよい。例えば、図１の抽出部２３０の機能を、論理回路を有する専用のハードウェア回路によって実現してもよい。
【００９１】
また、本発明の機能の一部または全部がソフトウェアで実現される場合には、そのソフトウェア（コンピュータプログラム）は、コンピュータ読み取り可能な記録媒体（例えば、一時的ではない記録媒体）に格納された形で提供することができる。また、ソフトウェア（コンピュータプログラム）は、提供時と同一または異なる記録媒体（コンピュータ読み取り可能な記録媒体）に格納された状態で、使用され得る。「コンピュータ読み取り可能な記録媒体」は、メモリーカードやＣＤ−ＲＯＭのような携帯型の記録媒体に限らず、各種ＲＯＭ等のコンピュータ内の内部記憶装置や、ハードディスクドライブ等のコンピュータに接続されている外部記憶装置も含んでいる。
【００９２】
以上、実施例、変形例に基づき本発明について説明してきたが、上記した発明の実施の形態は、本発明の理解を容易にするためのものであり、本発明を限定するものではない。本発明は、その趣旨並びに特許請求の範囲を逸脱することなく、変更、改良され得ると共に、本発明にはその等価物が含まれる。
【符号の説明】
【００９３】
１０...画像処理システム、１００...携帯端末、１１０...ＣＰＵ、１２０...揮発性記憶装置、１３０...不揮発性記憶装置、１３２...プログラム、１４０...表示部、１５０...操作部、１６０...通信インタフェース、２１０...画像取得部、２２０...範囲受付部、２３０...抽出部、２４０...抽出データ送信部、２５０...トリミングデータ送信部、８００...プリンタ、８１０...ＣＰＵ、８２０...揮発性記憶装置、８３０...不揮発性記憶装置、８３２...プログラム、８４０...印刷部、８６０...通信インタフェース、９１０...データ受信部、９２０...トリミング処理部、９３０...印刷処理部、ＴＡ...トリミング範囲、ＲＩ...関連領域、ＲＭ...リスタートマーカ、ＮＴ...ネットワーク、ＰＸ...画素、
【図１】
2013243628.tif 000003
【図２】
2013243628.tif 000004
【図３】
2013243628.tif 000005
【図４】
2013243628.tif 000006
【図５】
2013243628.tif 000007
【図６】
2013243628.tif 000008
【図７】
2013243628.tif 000009
【図８】
2013243628.tif 000010
【図９】
2013243628.tif 000011
【図１０】
2013243628.tif 000012
【図１１】
2013243628.tif 000013