(57)【要約】【課題】可変長符号処理が施された圧縮画像データを適切に修復することができる画像処理装置を提供する。【解決手段】可変長符号処理が施された圧縮画像データを解析することで、圧縮画像データを解凍して生成される画像の各画素領域に対応する、圧縮画像データのデータ部位を特定する解析部１２０と、画像の所定の画素領域を示すデータを取得し、解析部による解析結果に基づいて、所定の画素領域に対応する圧縮画像データのデータ部位を特定し、特定した圧縮画像データのデータ部位の位置において所定のデータを追加する画像処理部１２０と、を備えることを特徴とする画像処理装置。【選択図】  図１
2016076761.tif 000002
【特許請求の範囲】
【請求項１】
可変長符号処理が施された圧縮画像データを解析することで、前記圧縮画像データを解凍して生成される画像の各画素領域に対応する、前記圧縮画像データのデータ部位をそれぞれ特定する解析部と、
前記画像の所定の画素領域を示すデータを取得し、前記解析部による解析結果に基づいて、前記所定の画素領域に対応する前記圧縮画像データのデータ部位を特定し、特定した前記圧縮画像データのデータ部位の位置において所定のデータを追加する画像処理部と、を備えることを特徴とする画像処理装置。
【請求項２】
可変長符号処理が施された圧縮画像データを解析することで、前記圧縮画像データを解凍して生成される画像の各画素領域に対応する、前記圧縮画像データのデータ部位をそれぞれ特定する解析部と、
前記画像の所定の画素領域を示すデータを取得し、前記解析部による解析結果に基づいて、前記所定の画素領域に対応する前記圧縮画像データのデータ部位を特定し、特定した前記圧縮画像データのデータ部位におけるデータを所定のデータに変更する画像処理部と、を備えることを特徴とする画像処理装置。
【請求項３】
請求項１または２に記載の画像処理装置であって、
ユーザがデータを入力するための第１入力部をさらに備え、
前記所定のデータは、前記第１入力部を介して、ユーザにより入力されたデータであることを特徴とする画像処理装置。
【請求項４】
請求項１〜３のいずれかに記載の画像処理装置であって、
前記画像を表示する表示部と、
前記表示部に表示された前記画像において、ユーザが前記所定の画素領域の位置を指定するための第２入力部と、をさらに備えることを特徴とする画像処理装置。
【請求項５】
請求項１〜４のいずれかに記載の画像処理装置であって、
前記解析部は、前記圧縮画像データに含まれるヘッダ情報に基づいて前記圧縮画像データにおける符号化単位を特定し、前記符号化単位ごとに、当該符号化単位に対応する前記画素領域および前記圧縮画像データのデータ部位を特定することで、前記画素領域と前記データ部位との対応関係を特定することを特徴とする画像処理装置。
【請求項６】
請求項５に記載の画像処理装置であって、
前記解析部は、前記ヘッダ情報に含まれる可変長符号テーブルに基づいて、前記圧縮画像データを逆符号化することで前記符号化単位を特定し、前記符号化単位を特定する際に、前記圧縮画像データにおいて逆符号化することができないデータを検出した場合には、当該データを読み飛ばし、
前記画像処理部は、前記解析部に読み飛ばされたデータを除いて、画像処理を行うことを特徴とする画像処理装置。
【請求項７】
請求項６に記載の画像処理装置であって、
前記画像処理部は、前記可変長符号テーブルに基づいて逆符号化することができないデータを読み飛ばした場合に、当該読み飛ばしたデータの位置に、ダミーデータを挿入することを特徴とする画像処理装置。
【請求項８】
請求項１〜７のいずれかに記載の画像処理装置であって、
前記画像処理部は、前記所定の画素領域よりも前の画素領域に含まれる画素のうち、前記所定の画素領域よりも後の画素領域に含まれる画素に隣接する画素である第１画素の画素値と、前記所定の画素領域よりも後の画素領域に含まれる画素のうち、前記第１画素に隣接する画素である前記第２画素の画素値との差に基づいて、前記所定の画素領域に含まれる画素の画素値を推定し、前記所定の画素領域に対応する前記圧縮画像データのデータ部位のデータを、前記推定した画素値に基づくデータに変更することを特徴とする画像処理装置。
【請求項９】
請求項１〜８のいずれかに記載の画像処理装置であって、
前記圧縮画像とはＪＰＥＧ形式により圧縮された画像であり、
前記符号化単位とはＭＣＵであり、
前記所定の画素領域に対応する前記圧縮画像データのデータ部位とは、前記所定の画素領域における空間周波数成分のうちのＤＣ成分に対応するデータ部位であることを特徴とする画像処理装置。
【請求項１０】
請求項１〜９のいずれかに記載の画像処理装置であって、
前記画像処理部は、前記所定の画素領域に対してレタッチ処理を行う機能を有することを特徴とする画像処理装置。
【請求項１１】
可変長符号処理が施された圧縮画像データを解析することで、前記圧縮画像データを解凍して生成された画像の各画素領域に対応する、前記圧縮画像データのデータ部位を特定する第１手順と、
前記画像の所定の画素領域を示すデータを取得する第２手順と、
前記第１手順における解析結果に基づいて、前記所定の画素領域に対応する前記圧縮画像データのデータ部位を特定する第３手順と、
特定した前記圧縮画像データのデータ部位の位置において所定のデータを追加する第４手順と、をコンピューターに実行させることを特徴とする画像処理プログラム。
【請求項１２】
可変長符号処理が施された圧縮画像データを解析することで、前記圧縮画像データを解凍して生成された画像の各画素領域に対応する、前記圧縮画像データのデータ部位を特定する第１手順と、
前記画像の所定の画素領域を示すデータを取得する第２手順と、
前記第１手順における解析結果に基づいて、前記所定の画素領域に対応する前記圧縮画像データのデータ部位を特定する第３手順と、
特定した前記圧縮画像データのデータ部位のデータを所定のデータに変更する第４手順と、をコンピューターに実行させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および画像処理プログラムに関する。
【背景技術】
【０００２】
従来より、ＪＰＥＧ形式などの可変長符号処理が施された圧縮画像データの破損部位を推定することで、破損した圧縮画像データを修復する技術が知られている（たとえば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−０２７２５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、可変長符号処理が施された圧縮画像データは、原画像データに対して可変長符号を割り当てて圧縮したものであるため、圧縮画像データの破損部位の位置と、圧縮画像データを解凍して生成した表示用画像をディスプレイに表示した場合においてディスプレイに表示される上記破損部位に対応する画像の位置とは相対的に一致しておらず、ユーザがディスプレイに表示された表示用画像において、圧縮画像データの破損部位に対応する画像を指定しても、圧縮画像データの破損部位を特定することはできなかった。そのため、たとえば特許文献１では、破損部位に対応する表示用画像上の画像の位置から圧縮画像データの破損部位を大まかに推定し、推定した位置付近のデータを順次変更することで、圧縮画像データの破損部位を特定しているが、この場合、圧縮画像データの修復に時間がかかるという問題があった。
【課題を解決するための手段】
【０００５】
本発明は、以下の解決手段によって上記課題を解決する。
【０００６】
本発明の第１の観点に係る画像処理装置は、可変長符号処理が施された圧縮画像データを解析することで、前記圧縮画像データを解凍して生成される画像の各画素領域に対応する、前記圧縮画像データの各データ部位をそれぞれ特定する解析部と、前記画像の所定の画素領域を示すデータを取得し、前記解析部による解析結果に基づいて、前記所定の画素領域に対応する前記圧縮画像データのデータ部位を特定し、特定した前記圧縮画像データのデータ部位の位置において所定のデータを追加する画像処理部と、を備えることを特徴とする。
【０００７】
本発明の第２の観点に係る画像処理装置は、可変長符号処理が施された圧縮画像データを解析することで、前記圧縮画像データを解凍して生成される画像の各画素領域に対応する、前記圧縮画像データのデータ部位をそれぞれ特定する解析部と、前記画像の所定の画素領域を示すデータを取得し、前記解析部による解析結果に基づいて、前記所定の画素領域に対応する前記圧縮画像データのデータ部位を特定し、特定した前記圧縮画像データのデータ部位におけるデータを所定のデータに変更する画像処理部と、を備えることを特徴とする。
【０００８】
本発明の第１の観点に係る画像処理プログラムは、可変長符号処理が施された圧縮画像データを解析することで、前記圧縮画像データを解凍して生成された画像の各画素領域に対応する、前記圧縮画像データのデータ部位を特定する第１手順と、前記画像の所定の画素領域を示すデータを取得する第２手順と、前記第１手順における解析結果に基づいて、前記所定の画素領域に対応する前記圧縮画像データのデータ部位を特定する第３手順と、特定した前記圧縮画像データのデータ部位の位置において所定のデータを追加する第４手順と、をコンピューターに実行させることを特徴とする。
【０００９】
本発明の第２の観点に係る画像処理プログラムは、可変長符号処理が施された圧縮画像データを解析することで、前記圧縮画像データを解凍して生成された画像の各画素領域に対応する、前記圧縮画像データのデータ部位を特定する第１手順と、前記画像の所定の画素領域を示すデータを取得する第２手順と、前記第１手順における解析結果に基づいて、前記所定の画素領域に対応する前記圧縮画像データのデータ部位を特定する第３手順と、特定した前記圧縮画像データのデータ部位のデータを所定のデータに変更する第４手順と、をコンピューターに実行させることを特徴とする。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態に係る画像処理装置の構成を示すブロック図である。
【図２】図２は、表示部のディスプレイに表示される画面例を示す図である。
【図３】図３は、本実施形態に係るＪＰＥＧ画像データの修復処理を示すフローチャートである。
【図４】図４（Ａ）は、ＭＣＵと表示用画像の表示画素領域との対応関係の一例を示す概略図であり、図４（Ｂ）は、ＭＣＵとＪＰＥＧ画像データのデータ部位との対応関係の一例を示す概要図である。
【図５】図５は、画素差分値の算出方法を説明するための図である。
【図６】図６は、画素差分値の算出方法の詳細を説明するための図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下においては、ＪＰＥＧ形式による可変長符号化処理が施された圧縮画像データ（以下、ＪＰＥＧ画像データともいう。）を修復するための画像処理装置を例示して、本実施形態を説明する。なお、本実施形態に係る画像処理装置は、パソコン、タブレット、携帯電話、カメラ、などの機器に搭載することができる。
【００１２】
図１は、本実施形態に係る画像処理装置１の構成を示すブロック図である。図１に示すように、本実施形態の画像処理装置１は、入力部１１０と、画像処理部１２０と、記憶部１３０と、表示部１４０とを備える。
【００１３】
入力部１１０は、タッチパネル、マウス、キーボードなどのユーザが操作可能な部材であり、ユーザによる操作により、ユーザの指示情報を入力する。本実施形態において、ユーザは、入力部１１０を介して、破損したＪＰＥＧ画像データ（データストリーム）を修復するための各種指示を行うことができる。入力部１１０により入力されたユーザの指示情報は、画像処理部１２０に送信される。
【００１４】
画像処理部１２０は、ＣＰＵ、メモリ、およびその他の周辺回路により構成される。たとえば、画像処理部１２０は、入力部１１０により入力されたユーザの指示情報に基づいて、ユーザが選択したＪＰＥＧ画像データを解凍して表示用画像を生成する。たとえば、画像処理部１２０は、後述する記憶部１３０に記憶されているＪＰＥＧ画像データの中から、ユーザがＪＰＥＧ画像データを選択した場合に、ユーザが選択したＪＰＥＧ画像データに対して、エントロピー復号化処理、逆量子化処理、ＩＤＣＴ変換処理、およびＲＧＢ色空間への色変換処理などを施すことで、ＲＧＢ表示系の表示用画像を生成する。そして、画像処理部１２０は、生成した表示用画像を表示部１４０に送信することで、表示部１４０のディスプレイに表示用画像を表示させる。また、画像処理部１２０は、入力部１１０により入力されたユーザの指示情報に基づいて、ユーザが選択したＪＰＥＧ画像データの修復処理を実行することができる。なお、本実施形態に係るＪＰＥＧ画像データの修復処理については後述する。
【００１５】
記憶部１３０は、複数のＪＰＥＧ画像データを記憶している記憶媒体であり、画像処理装置１に内蔵された内蔵メモリであってもよいし、カードメモリなどのように、画像処理装置１に着脱可能な記憶媒体であってもよい。
【００１６】
表示部１４０は、液晶モニタなどのディスプレイを備えており、ＪＰＥＧ画像データを解凍して生成した表示用画像を、表示部１４０が備えるディスプレイに表示する。ここで、図２は、表示部１４０のディスプレイに表示される画面の一例を示す図である。本実施形態において、表示部１４０は、図２に示すように、表示用画像を表示する第１窓１３１と、ＪＰＥＧ画像データを表示する第２窓１３２と、後述するＤＣ係数値を表示する第３窓１３３と、をディスプレイの画面上に表示する。なお、表示部１４０による表示内容の詳細については後述する。
【００１７】
次に、図３を参照して、本実施形態に係るＪＰＥＧ画像データの修復処理を説明する。図３は、本実施形態に係るＪＰＥＧ画像データの修復処理を示すフローチャートである。以下においては、図２を参照して、ＪＰＥＧ画像データの修復処理について説明する。
【００１８】
なお、以下においては、ＪＰＥＧ画像データの一部が破損点Ｐにおいて破損しており、これにより、図２に示すように、破損点Ｐに対応する表示画素領域Ｒおよびそれ以降の表示画素領域において、画像が表示されず、または、画像が正常の場合とは異なる輝度、色味で表示されている場面において、ユーザが表示用画像を視認しながら、入力部１１０を用いて、表示部１４０に表示された表示用画像の表示画素領域のうち破損点Ｐに対応する表示画素領域Ｒを指定することで、破損点ＰにおけるＪＰＥＧ画像データを修復する場面を例示して説明する。
【００１９】
まず、ステップＳ１０１では、画像処理部１２０により、ユーザにより選択されたＪＰＥＧ画像データの取得が行われる。たとえば、ユーザは、入力部１１０を操作することで、記憶部１３０に記憶されている複数のＪＰＥＧ画像データの中から、ユーザが修復を所望するＪＰＥＧ画像データを選択することができる。そして、画像処理部１２０は、このようにユーザがＪＰＥＧ画像データを選択した場合に、ユーザが選択したＪＰＥＧ画像データを記憶部１３０から取得することができる。
【００２０】
ステップＳ１０２では、画像処理部１２０により、ステップＳ１０１で取得されたＪＰＥＧ画像データの解析が行われる。具体的には、画像処理部１２０は、ＪＰＥＧ画像データに含まれるヘッダ部を参照して、ＪＰＥＧ画像データの符号化単位（以下、ＭＣＵという。）を特定する。そして、画像処理部１２０は、各ＭＣＵに対応する表示用画像の表示画素領域と各ＭＣＵに対応するＪＰＥＧ画像データのデータ部位とをそれぞれ特定することで、表示用画像の表示画素領域とＪＰＥＧ画像データのデータ部位との対応関係を特定する。
【００２１】
ここで、図４（Ａ）は、ＭＣＵと表示用画像の各表示画素領域との対応関係の一例を示す概略図であり、図４（Ｂ）は、ＭＣＵとＪＰＥＧ画像データのデータ部位との対応関係の一例を示す概要図である。まず、画像処理部１２０は、ＪＰＥＧ画像データのヘッダ部に含まれる画像サイズ情報およびサンプリング情報に基づいて、ＪＰＥＧ画像データに含まれるＭＣＵの数を特定する。たとえば、ＪＰＥＧ画像データを生成した際のサンプリング比が４：２：０であり、画像サイズが縦６４×横８０画素である場合には、表示用画像を縦１６×横１６画素で区切った表示画素領域が１ＭＣＵに対応する。そのため、画像処理部１２０は、図４（Ａ）に示す例において、ＭＣＵの数を、縦４×横５の計２０個として特定することができる。
【００２２】
そして、画像処理部１２０は、各ＭＣＵに対応する表示用画像の表示画素領域を特定する。たとえば、画像処理部１２０は、上述したように、表示用画像において縦１６×横１６画素で区切られた表示画素領域が１ＭＣＵに対応する場合には、図４（Ａ）に示すように、表示用画像の左上から順に、１６×１６画素の画素領域を順次特定することで、２０個のＭＣＵにそれぞれ対応する表示画素領域を特定することができる。
【００２３】
さらに、画像処理部１２０は、ＪＰＥＧ画像データのヘッダ部に含まれるハフマンテーブルを参照して、各ＭＣＵに対応するＪＰＥＧ画像データのデータ部位を特定する。ここで、ＪＰＥＧ画像データは、原画像データをＭＣＵ単位で（たとえば１６×１６画素領域ごとに）、サンプリング処理、ＤＣＴ変換処理、量子化処理、およびエントロピー符号化処理を施すことで生成される。具体的には、たとえばサンプリング比が４：２：０である場合には、サンプリング処理において、４ブロック分のＹ画素値（１６×１６画素分のＹ画素値）と、１ブロック分のＣｂ画素値（８×８画素分のＣｂ画素値）と、１ブロック分のＣｒ画素値（８×８画素分のＣｒ画素値）との計６ブロック分の画素データが、１つのＭＣＵに対応する原画像データとしてサンプリングされる。また、サンプリングされた各ブロックの画素データは、ＤＣＴ変換処理によって、空間周波数成分を示す８×８個のＤＣＴ係数（１つのＤＣ係数と６３個のＡＣ係数）に変換され、さらに、各ＤＣＴ係数は、エントロピー符号化処理によって、１つのハフマンコードと１つのハフマンデータとからなる構成に変換される。
【００２４】
そのため、画像処理部１２０は、ＪＰＥＧ画像データのヘッダ部に含まれるハフマンテーブルを参照して、ＪＰＥＧ画像データのデータ部において、ハフマンコードとそれに対応するハフマンデータとを読み出すことで、各ＤＣＴ係数に対応するＪＰＥＧ画像データを特定することができる。また、画像処理部１２０は、８×８個のＤＣＴ係数に対応するＪＰＥＧ画像データを１ブロックに対応するＪＰＥＧ画像データとして特定することができ、さらに、サブサンプリング比が４：２：０である場合には、６ブロックに対応するＪＰＥＧ画像データを１ＭＣＵに対応するＪＰＥＧ画像データとして特定することで、図４（Ｂ）に示すように、各ＭＣＵに対応するＪＰＥＧ画像データのデータ部位を順次特定することができる。
【００２５】
なお、画像処理部１２０は、ＪＰＥＧ画像データを解析する際に、ハフマンテーブルに基づいて復号化することができないハフマンデータを検出する場合がある。たとえば、メディアのセクタ異常などにより、ハフマンデータの一部において「Ｈ’ＦＦ」が連続している場合や、ハフマンデータがハフマンコードの示すデータ範囲内に含まれない場合などに、ハフマンテーブルに基づいてハフマンデータを復号化することができない場合がある。画像処理部１２０は、このようなハフマンデータを検出した場合には、次のハフマンコードが検出されるまで、このようなハフマンデータを読み飛ばす機能を有する。
【００２６】
また、画像処理部１２０は、ハフマンテーブルに基づいて復号化できないハフマンデータを検出した場合には、このようなハフマンデータを読み飛ばすとともに、このハフマンデータのデータ位置において、たとえば「０」が連続するダミーデータを挿入することができる。これにより、復号化できないハフマンデータを読み飛ばした場合に、読み飛ばされたハフマンデータよりも後ろのデータが、読み飛ばされたハフマンデータの分だけ前にずれてしまうことを防止することができる。
【００２７】
ステップＳ１０３では、画像処理部１２０により、ステップＳ１０１で取得したＪＰＥＧ画像データに基づいて、表示用画像の表示が行われる。具体的には、画像処理部１２０は、以下に説明するように、ＪＰＥＧ画像データを解凍して表示用画像を生成し、生成した表示用画像を表示部１４０に表示させる。
【００２８】
すなわち、画像処理部１２０は、まず、ＪＰＥＧ画像データのヘッダ部に含まれるハフマンテーブルを参照して、ＪＰＥＧ画像データのデータ部のデータを復号化する。さらに、画像処理部１２０は、ＪＰＥＧ画像データのヘッダ部に含まれる量子化テーブルを参照して、復号化したデータを逆量子化し、ＤＣＴ係数を算出する。さらに、画像処理部１２０は、算出したＤＣＴ係数に対してＩＤＣＴ変換を行うことで、ＹＣｂＣｒ形式の画像データを生成する。そして、画像処理部１２０は、ＹＣｂＣｒ形式の画像データをＲＧＢ形式の画像データに変換することで、ＲＧＢ表示系で表される表示用画像の画像データを生成する。
【００２９】
そして、画像処理部１２０は、生成した表示用画像の画像データを表示部１４０に送信し、表示部１４０のディスプレイに表示用画像を表示させる。これにより、ユーザは、図２に示すように、修復前のＪＰＥＧ画像データに対応する表示用画像を視認することができる。
【００３０】
なお、本実施形態において、表示部１４０は、図２に示すように、第１窓１３１、第２窓１３２、第３窓１３３の３つの窓をディスプレイに表示しており、これら３つの窓のうち第１窓１３１に、ユーザが選択したＪＰＥＧ画像データに対応する表示用画像を表示する。
【００３１】
なお、図２に示す例では、ＪＰＥＧ画像データの一部が破損点Ｐにおいて破損しており、破損点Ｐに対応するデータおよび破損点Ｐ以降のデータを正常に解凍することができないために、表示用画像の表示画素領域のうち、破損点Ｐに対応する表示画素領域およびそれ以降の表示画素領域において、画像が表示されず、または、正常な場合と比べて輝度、色味の異なる画像が表示されている。そこで、以下においては、ユーザがディスプレイに表示された表示用画像を視認しながら、破損点Ｐに対応する表示画素領域を指定することで、ＪＰＥＧ画像データのうち破損点Ｐに対応するデータを修復する場面を説明する。
【００３２】
ステップＳ１０４では、画像処理部１２０により、破損点Ｐに対応する表示用画像の表示画素領域の特定が行われる。たとえば、本実施形態では、ステップＳ１０３において、表示部１４０のディスプレイに表示用画像が表示されるため、ユーザは、図２に示すように、表示部１４０に表示されている表示用画像を確認しながら、入力部１１０を介して、表示用画像上での破損点Ｐに対応する表示画素領域Ｒを指定することで、表示用画像上での破損点Ｐの位置を指定することができる。画像処理部１２０は、このようにユーザが指示した表示用画像の表示画素領域を、破損点Ｐに対応する表示画素領域Ｒとして特定することができる。
【００３３】
ステップＳ１０５では、画像処理部１２０により、破損点Ｐに対応するＪＰＥＧ画像データのデータ部位の特定が行われる。ここで、本実施形態では、ステップＳ１０２のＪＰＥＧ画像データの解析処理により、各ＭＣＵに対応する表示用画像の表示画素領域と、各ＭＣＵに対応するＪＰＥＧ画像データのデータ部位とが特定されている。そのため、画像処理部１２０は、ステップＳ１０４で特定された破損点Ｐに対応する表示画素領域に対応するＭＣＵを特定し、このＭＣＵに対応するＪＰＥＧ画像データのデータ部位を特定することで、破損点Ｐに対応するＪＰＥＧ画像データのデータ部位を特定することができる。
【００３４】
たとえば、図４に示す例において、ユーザがＭＣＵ１４に対応する表示画素領域を破損点Ｐに対応する表示画素領域として指定している場合、画像処理部１２０は、まず、ユーザが指定した表示画素領域に対応するＭＣＵ１４を特定する。そして、画像処理部１２０は、図４（Ｂ）に示すように、ＪＰＥＧ画像データの中からＭＣＵ１４に対応するデータ部位を特定することで、ＭＣＵ１４に対応するデータ部位を、破損点Ｐに対応するデータ部位として特定することができる。
【００３５】
なお、画像処理部１２０は、破損点Ｐに対応するＪＰＥＧ画像データのデータ部位を特定した場合には、表示部１４０のディスプレイの第２窓１３２に、破損点Ｐに対応するデータ部位のデータを表示させる。なお、表示部１４０は、第２窓１３２において、破損点Ｐに対応するデータ部位のデータを１６進数で表示することができる。
【００３６】
ステップＳ１０６では、画像処理部１２０により、破損点Ｐに対応するＪＰＥＧ画像データのデータ部位の位置に、所定のビットデータを追加する旨の指示があるか否かの判断が行われる。たとえば、ユーザは、マウスなどの入力部１１０を用いて、表示用画像の破損点Ｐの位置にポインタを合わせて右クリックを行うことで、１ビット分のビットデータを追加する旨のメニューを選択することができ、ユーザが１ビット分のビットデータを追加する旨のメニューを選択した場合に、画像処理部１２０は、ユーザにより破損点Ｐに対応するデータ部位の位置に所定のビットデータを追加する旨の指示が行われたものと判断することができる。ユーザによりビットデータを追加する旨の指示が行われたと判断された場合には、ステップＳ１０７に進み、一方、ユーザによりビットデータを追加する旨の指示が行われていないと判断された場合には、ステップＳ１０９に進む。
【００３７】
ステップＳ１０７では、ユーザによりビットデータを追加する旨の指示が行われているため、画像処理部１２０により、破損点Ｐに対応するデータ部位の位置において、ビットデータの追加が行われる。たとえば、画像処理部１２０は、図４（Ｂ）に示すように、ＭＣＵ１４に対応するデータ部位のうち最初のデータのデータ位置Ｐ１に、「０」または「１」の１ビット分のビットデータを追加することができる。
【００３８】
なお、ビットデータを追加するデータ位置は、破損点Ｐに対応するデータ部位の最初のデータのデータ位置Ｐ１に限定されず、画像処理部１２０は、破損点Ｐに対応するデータ部位のいずれかのデータ位置において、ビットデータを追加する構成とすることができる。たとえば、破損点Ｐに対応するデータ部位のデータはディスプレイの第２窓１３２に表示されるため、ユーザが、第２窓１３２に表示されたデータ部位の所望のデータ位置にポインタを合わせてビットデータを追加する旨の指示をした場合には、ユーザが指定したデータ位置に、ビットデータを追加する構成とすることができる。
【００３９】
また、画像処理部１２０は、ユーザに、追加するビットデータを「０」または「１」から選択させることで、ユーザが所望するビットデータを追加する構成とすることができる。さらに、上述した例では１ビット分のビットデータを追加する例を例示したが、これに限定されず、たとえば、２ビット以上のビットデータを追加する構成としてもよい。
【００４０】
ステップＳ１０８では、画像処理部１２０により、ステップＳ１０７でビットデータが追加されたＪＰＥＧ画像データが、新たなＪＰＥＧ画像データとしてメモリに一時的に保存される。そして、画像処理部１２０は、新たに生成したＪＰＥＧ画像データを解凍して、新たに生成したＪＰＥＧ画像データに対応する表示用画像を表示部１４０のディスプレイに表示する。これにより、ユーザは、ビットデータを追加したことで、ＪＰＥＧ画像データが修復されたか否かを確認することができる。なお、ＪＰＥＧ画像の解凍・表示の方法は、ステップＳ１０３と同様に行うことができる。
【００４１】
このように、本実施形態では、破損点Ｐに対応するＪＰＥＧ画像データのデータ部位の位置において、ビットデータを追加することで、たとえば、ＪＰＥＧ画像データの劣化により破損点Ｐにおいて１ビット分のデータが抜け落ちてしまい、図２に示すように、破損点Ｐに対応する表示画素領域およびそれ以降の表示画素領域において画像が表示されず、または、正常時と比べて輝度や色味の異なる画像が表示されてしまう場合でも、破損点Ｐに対応する表示画素領域およびそれ以降の表示画素領域の画像を適切に表示することが可能となる。
【００４２】
また、ステップＳ１０８において、ユーザによりビットデータが追加されていないと判断された場合には、ステップＳ１０９に進む。ステップＳ１０９では、画像処理部１２０により、破損点Ｐに対応するＤＣ係数値がユーザにより入力されたか否かの判断が行われる。たとえば、画像処理部１２０は、以下に説明するように、破損点Ｐに対応するＤＣ係数値がユーザにより入力されたか否かを判断することができる。
【００４３】
すなわち、本実施形態では、破損点Ｐを含むＪＰＥＧ画像データのデータ部位が特定されると、表示部１４０のディスプレイの第３窓１３３に、破損点Ｐに対応するＤＣ係数値およびＡＣ係数値が表示される。具体的には、ステップＳ１０３において表示用画像を表示する際に、ＪＰＥＧ画像データをエントロピー復号化および逆量子化することで、各表示画素領域における空間周波数成分であるＤＣ成分を示すＤＣ係数値と、ＡＣ成分を示すＡＣ係数値とが算出され、算出されたＤＣ係数値およびＡＣ係数値がメモリに記憶される。そして、このようにメモリに記憶されたＤＣ係数値およびＡＣ係数値のうち、ユーザが指定した表示画素領域に対応するＤＣ係数値およびＡＣ係数値が、表示部１４０を介して第３窓１３３に表示される。さらに、本実施形態においては、ユーザが、キーボードやマウスなどの入力部１１０を用いて、第３窓１３３に表示されたＤＣ係数の値を変更することが可能となっている。このように、ユーザが第３窓１３３に表示されたＤＣ係数の値を変更した場合に、画像処理部１２０は、ユーザによりＤＣ係数値が入力されたと判断することができる。
【００４４】
ステップＳ１１０では、画像処理部１２０により、ユーザが指定した表示画素領域に対応するＤＣ係数が、ステップＳ１０９においてユーザにより入力されたＤＣ係数の値に変更される。これにより、画像処理部１２０は、ユーザにより変更されたＤＣ係数値でＪＰＥＧ画像データを生成し、生成したＪＰＥＧ画像データをメモリに一時的に保存する。そして、ステップＳ１０８に進み、ステップＳ１１０で生成されたＪＰＥＧ画像データが解凍され、ステップＳ１１０で生成されたＪＰＥＧ画像データに対応する表示用画像が表示部１４０のディスプレイに表示される。これにより、ユーザは、破損点Ｐに対応するＤＣ係数値を変更したことで、ＪＰＥＧ画像データが修復できたか否かを確認することができる。
【００４５】
このように、本実施形態では、ユーザが破損点Ｐに対応するＤＣ係数値を適切な値に変更することができる。これにより、たとえばＪＰＥＧ画像データの劣化により、破損点Ｐに対応するＤＣ係数値が変化してしまい、その結果、図２に示すように、破損点Ｐに対応する表示画素領域において画像が表示されず、または、正常時と比べて輝度や色味の異なる画像が表示されてしまう場合においても、ユーザが破損点Ｐに対応するＤＣ係数値を適切な値に変更することで、破損点Ｐに対応する表示画素領域の画像を適切に表示することができる。また、ＤＣ係数の値は、直前のＤＣ係数との差で表されているため、たとえば、図４に示すように、ＭＣＵ１４のＤＣ係数値が変化している場合には、ＭＣＵ１４に対応する表示画素領域よりも後のＭＣＵ１５〜２０に対応する表示画素領域においても、画像が適切に表示されないこととなる。このような場合でも、破損点Ｐに対応するＤＣ係数値をユーザが入力した適切なＤＣ係数値に変更することで、破損点Ｐに対応する表示画素領域よりも後の表示画素領域の画像も適切に表示することが可能となる。
【００４６】
一方、ステップＳ１０９において、ユーザによりＤＣ係数値が入力されていないと判断された場合には、ステップＳ１１１に進む。ステップＳ１１１では、画像処理部１２０により、ユーザが破損点Ｐに対応する表示画素領域の画素値を自動で修正する自動修復処理を指示したか否かの判断が行われる。たとえば、ユーザは、マウスなどの入力部１１０を用いて、表示用画像の破損点Ｐに対応する表示画素領域にポインタを合わせて右クリックを行うことで、自動修復処理を行うためのメニューを選択することができ、ユーザが自動修復処理を行うためのメニューを選択した場合に、画像処理部１２０は、ユーザが自動修復処理を指示したと判断することができる。そして、ユーザが自動修復処理を指示したと判断された場合には、ステップＳ１１２に進み、一方、ユーザが自動修復処理を指示していないと判断された場合には、ステップＳ１１４に進む。
【００４７】
ステップＳ１１２では、画像処理部１２０により、画素差分値の算出が行われる。ここで、図５は、画素差分値の算出方法を説明するための図であり、図４と同様に、破損点Ｐに対応する表示画素領域として、ＭＣＵ１４に対応する表示画素領域を例示している。
【００４８】
まず、画像処理部１２０は、破損点Ｐに対応する表示画素領域よりも前の表示画素領域に含まれる画素のうち、破損点Ｐに対応する表示画素領域よりも後の表示画素領域の画素に隣接する画素を第１画素として特定する。たとえば、図５に示す例において、画像処理部１２０は、ＭＣＵ１４に対応する表示画素領域よりも前のＭＣＵ１〜ＭＣＵ１３に対応する表示画素領域に含まれる画素のうち、ＭＣＵ１４に対応する表示画素領域よりも後のＭＣＵ１５〜ＭＣＵ２０に対応する表示画素領域の画素に隣接する画素を第１画素として特定する（なお、図５においては第１画素を丸印で示している。）。
【００４９】
また、画像処理部１２０は、破損点Ｐに対応する表示画素領域よりも後の表示画素領域に含まれる画素のうち、破損点Ｐに対応する表示画素領域よりも前の表示画素領域の画素に隣接する画素を第２画素として特定する。たとえば、図５に示す例において、画像処理部１２０は、ＭＣＵ１４に対応する表示画素領域よりも後のＭＣＵ１５〜ＭＣＵ２０に対応する表示画素領域に含まれる画素のうち、ＭＣＵ１４に対応する表示画素領域よりも前のＭＣＵ１〜ＭＣＵ１３に対応する表示画素領域の画素に隣接する画素を第２画素として特定する（なお、図５においては第２画素をバツ印で示している。）。
【００５０】
そして、画像処理部１２０は、互いに隣接する第１画素の画素値と第２画素の画素値との差を算出する。ここで、図６は、図５に示す表示用画像の部分拡大図であり、図５に示すＭＣＵ１０に対応する表示画素領域とＭＣＵ１５に対応する表示画素領域との隣接部分を拡大して示している。たとえば、図６に示す例において、画像処理部１２０は、ＭＣＵ１０に対応する表示画素領域の第１画素ａ〜ｆの画素値と、ＭＣＵ１５に対応する表示画素領域の第２画素ａ’〜ｆ ’の画素値との差を画素ごとにそれぞれ算出する。具体的には、画像処理部１２０は、第１画素ａの画素値と、隣接する第２画素ａ’の画素値との差Δａを算出する。同様に、画像処理部１２０は、第１画素ｂの画素値と第２画素ｂ’の画素値との差Δｂ、第１画素ｃの画素値と第２画素ｃ’の画素値との差Δｃ、第１画素ｄの画素値と第２画素ｄ’の画素値との差Δｄ、第１画素ｅの画素値と第２画素ｅ’の画素値との差Δｅ、および第１画素ｆの画素値と第２画素ｆ’の画素値との差Δｆをそれぞれ算出する。
【００５１】
さらに、画像処理部１２０は、図示していないが、ＭＣＵ１１に対応する表示画素領域の第１画素の画素値とＭＣＵ１６に対応する表示画素領域の第２画素の画素値との差、ＭＣＵ１２に対応する表示画素領域の第１画素の画素値とＭＣＵ１７に対応する表示画素領域の第２画素の画素値との差、ＭＣＵ１３に対応する表示画素領域の第１画素の画素値とＭＣＵ１８に対応する表示画素領域の第２画素の画素値との差を、画素ごとにそれぞれ算出する。
【００５２】
そして、画像処理部１２０は、第１画素の画素値と第２画素の画素値との差の平均値を画素差分値として算出する。なお、本実施形態において、画像処理部１２０は、第１画素の画素値および第２画素の画素値をそれぞれＹＣｂＣｒ形式で保持しており、Ｙ画素値、Ｃｂ画素値、Ｃｒ画素値のそれぞれについての画素差分値を算出することができる。
【００５３】
ステップＳ１１３では、画像処理部１２０により、ステップＳ１１２で算出された画素差分値に基づいて、ＪＰＥＧ画像データの修正が行われる。具体的には、画像処理部１２０は、破損点Ｐに対応する表示画素領域に含まれる各画素の画素値に、ステップＳ１１１で算出した画素差分値を加えることで、破損点Ｐに対応する表示画素領域に含まれる画素の画素値を補正する。たとえば、図５に示す例では、破損点Ｐに対応する表示画素領域として、ＭＣＵ１４に対応する表示画素領域が指定されているため、画像処理部１２０は、ＭＣＵ１４に対応する表示画素領域に含まれる各画素の画素値に画素差分値を加えることで、ＭＣＵ１４に対応する表示画素領域に含まれる各画素の画素値を補正する。
【００５４】
そして、画像処理部１２０は、画素値を補正した表示用画像の画像データに対して、ＤＣＴ変換処理、量子化処理、エントロピー符号化処理を施すことで、破損点Ｐに対応する画素の画素値が補正されたＪＰＥＧ画像データを生成する。そして、ステップＳ１０８に進み、破損点Ｐに対応する画素の画素値が補正されたＪＰＥＧ画像データが解凍され、表示用画像の表示が行われる。これにより、ユーザは、自動修正処理により、ＪＰＥＧ画像データが修復できたか否かを確認することができる。
【００５５】
さらに、ステップＳ１１４では、画像処理部１２０により、ユーザがレタッチ処理を実行したか否かの判断が行われる。たとえば、ユーザは、マウスなどの入力部１１０を用いて、表示用画像の破損点Ｐに対応する表示画素領域にポインタを合わせて右クリックすることで、レタッチ処理を実行する旨を指示するメニューを選択することができる。そして、ユーザがレタッチ処理を実行する旨を指示するメニューを選択してレタッチ処理を実行した場合に、画像処理部１２０は、ユーザがレタッチ処理を実行したと判断することができる。ユーザがレタッチ処理を実行したと判断した場合には、ステップＳ１１５に進み、一方、ユーザがレタッチ処理を実行していないと判断した場合には、ステップＳ１０６に戻る。
【００５６】
ステップＳ１１５では、ユーザによりレタッチ処理が実行されているため、画像処理部１２０により、レタッチ処理後の画素の画素値に基づいて、ＪＰＥＧ画像データの生成が行われる。具体的には、画像処理部１２０は、レタッチ処理で変更された表示用画像の画像データに対して、ＤＣＴ変換、量子化、エントロピー符号化等を施すことで、レタッチ処理により変更された画素値に基づくＪＰＥＧ画像データを生成する。そして、ステップＳ１０８に進み、レタッチ処理により画素値が変更されたＪＰＥＧ画像データが解凍され、表示用画像の表示が行われる。これにより、ユーザは、レタッチ処理により、ＪＰＥＧ画像データが修復できたか否かを確認することができる。
【００５７】
ステップＳ１１６では、画像処理部１２０により、ユーザがＪＰＥＧ画像データの修正を容認したか否かの判断が行われる。たとえば、ユーザが入力部１１０を介して、修正したＪＰＥＧ画像データの保存を指示した場合には、ユーザがＪＰＥＧ画像データの修正を容認したものと判断し、ステップＳ１１７に進む。そして、ステップＳ１１７において、画像処理部１２０により、修正されたＪＰＥＧ画像データが、修復後のＪＰＥＧ画像データとして記憶部１３０に記憶される。一方、ユーザがＪＰＥＧ画像データの再修正を指示した場合には、ユーザがＪＰＥＧ画像データの修復を容認していないものと判断し、ステップＳ１０６に戻り、ステップＳ１０６〜Ｓ１１６の処理が繰り返される。
【００５８】
以上のように、本実施形態に係る画像処理装置１では、ＪＰＥＧ画像データを解析することで、表示用画像の表示画素領域とＪＰＥＧ画像データのデータ部位との対応関係を特定する。そして、ユーザにより、破損点Ｐに対応する表示用画像の表示画素領域が指定された場合に、解析した表示用画像の表示画素領域とＪＰＥＧ画像データのデータ部位との対応関係に基づいて、ユーザが指定した表示画素領域に対応するＪＰＥＧ画像データのデータ部位を、破損点Ｐに対応するＪＰＥＧ画像データのデータ部位として特定する。そして、破損点Ｐに対応するＪＰＥＧ画像データのデータ部位の位置においてビットデータを追加し、あるいは、破損点Ｐに対応するＪＰＥＧ画像データのデータ部位のデータを変更することで、ＪＰＥＧ画像データの修復を行う。このように、本実施形態では、表示用画像の表示画素領域とＪＰＥＧ画像データのデータ部位との対応関係を予め解析しておくことで、ユーザが破損点Ｐに対応する表示画素領域を指定した場合に、破損点Ｐに対応するＪＰＥＧ画像データのデータ部位を直ぐに特定することができるため、破損点Ｐに対応するＪＰＥＧ画像データの修復を適切かつ迅速に行うことが可能となる。
【００５９】
なお、上述した実施形態では、破損点Ｐに対応する表示画素領域よりも前の表示画素領域に含まれる画素の一部を第１画素とし、破損点Ｐに対応する表示画素領域よりも後の表示画素領域に含まれる画素の一部を第２画素とし、第１画素の画素値と第２画素の画素値との差の平均を画素差分値として算出する構成を例示したが、この構成に限定されず、たとえば、破損点Ｐに対応する表示画素領域およびそれ以降の表示画素領域に含まれる画素の一部を第２画素として、画素差分値を算出する構成としてもよい。
【符号の説明】
【００６０】
１…画像処理装置
１１０…入力部
１２０…画像処理部
１３０…記憶部
１４０…表示部
【図１】
2016076761.tif 000003
【図２】
2016076761.tif 000004
【図３】
2016076761.tif 000005
【図４】
2016076761.tif 000006
【図６】
2016076761.tif 000007
【図５】
2016076761.tif 000008