(57)【特許請求の範囲】
【請求項１】
圧縮画像データを復元して表示し、画像破損点の指示操作を受け付ける指示操作手段と、
指示された上記画像破損点の復元画像データにおける相対的な位置情報に対応して圧縮画像データ内における破損推定点を設定する初期設定手段と、
上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合と元の圧縮画像データに基づいて復元処理した場合との相違点を検出して上記破損推定点を検証する第一の破損点検証手段と、
上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合における上記画像破損点を基準とした破損画像領域と未破損画像領域との境界での画像の変位状況に基づいて上記破損推定点を検証する第二の破損点検証手段と、
上記第一の破損点検証手段と上記第二の破損点検証手段を制御し、その検証結果に基づいて上記破損推定点を本来の破損点に近づかせる破損点再設定手段とを具備することを特徴とする圧縮画像データ修復装置。
【請求項２】
上記請求項１に記載の圧縮画像データ修復装置において、上記破損点再設定手段は、上記破損推定点と本来の破損点とが遠い場合に上記第一の破損点検証手段を実施し、近い場合に上記第二の破損点検証手段を実施させることを特徴とする圧縮画像データ修復装置。
【請求項３】
上記請求項１または請求項２のいずれかに記載の圧縮画像データ修復装置において、上記第一の破損点検証手段は、破損推定点を基準とする複数点における圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合と元の圧縮画像データに基づいて復元処理した場合との相違点を検出して上記破損推定点を検証することを特徴とする圧縮画像データ修復装置。
【請求項４】
上記請求項１〜請求項３のいずれかに記載の圧縮画像データ修復装置において、上記第二の破損点検証手段は、検証モードを指定可能であり、同検証モードに対応して破損画像領域と未破損画像領域との境界での検出密度を変化させることを特徴とする圧縮画像データ修復装置。
【請求項５】
上記請求項１〜請求項４のいずれかに記載の圧縮画像データ修復装置において、上記破損点再設定手段は、上記第一の破損点検証手段と上記第二の破損点検証手段にて上記破損推定点の圧縮画像データを変更した場合に、変更後の圧縮画像データに基づいて復元不能であれば上記破損点を再設定させることを特徴とする圧縮画像データ修復装置。
【請求項６】
上記請求項１〜請求項５のいずれかに記載の圧縮画像データ修復装置において、上記破損点再設定手段は、上記破損推定点と本来の破損点の手前から近接するように上記破損推定点を再設定させることを特徴とする圧縮画像データ修復装置。
【請求項７】
上記請求項１〜請求項６のいずれかに記載の圧縮画像データ修復装置において、上記圧縮画像データは静止画圧縮画像であることを特徴とする圧縮画像データ修復装置。
【請求項８】
上記請求項１〜請求項６のいずれかに記載の圧縮画像データ修復装置において、上記圧縮画像データは動画圧縮画像であることを特徴とする圧縮画像データ修復装置。
【請求項９】
上記請求項１〜請求項８のいずれかに記載の圧縮画像データ修復装置において、上記指示操作手段は、破損した圧縮画像データを表示する際に表示が不能であれば所定のデータを置き換えて画像の表示を行えるようにすることを特徴とする圧縮画像データ修復装置。
【請求項１０】
上記請求項１〜請求項９のいずれかに記載の圧縮画像データ修復装置において、上記指示操作手段は、上記圧縮画像データを復元して表示する際に画像破損点の有無を検出し、検出できた場合に上記指示操作を受け付けたものとすることを特徴とする圧縮画像データ修復装置。
【請求項１１】
圧縮画像データを復元して表示し、画像破損点の指示操作を受け付ける指示操作工程と、
指示された上記画像破損点の復元画像データにおける相対的な位置情報に対応して圧縮画像データ内における破損推定点を設定する初期設定工程と、
上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合と元の圧縮画像データに基づいて復元処理した場合との相違点を検出して上記破損推定点を検証する第一の破損点検証工程と、
上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合における上記画像破損点を基準とした破損画像領域と未破損画像領域との境界での画像の変位状況に基づいて上記破損推定点を検証する第二の破損点検証工程と、
上記第一の破損点検証工程と上記第二の破損点検証工程の実行を制御し、その検証結果に基づいて上記破損推定点を本来の破損点に近づかせる破損点再設定工程とを具備することを特徴とする圧縮画像データ修復方法。
【請求項１２】
コンピュータにて圧縮画像データを修復させる圧縮画像データ修復プログラムを記録した媒体であって、
圧縮画像データを復元して表示し、画像破損点の指示操作を受け付ける指示操作機能と、
指示された上記画像破損点の復元画像データにおける相対的な位置情報に対応して圧縮画像データ内における破損推定点を設定する初期設定機能と、
上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合と元の圧縮画像データに基づいて復元処理した場合との相違点を検出して上記破損推定点を検証する第一の破損点検証機能と、
上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合における上記画像破損点を基準とした破損画像領域と未破損画像領域との境界での画像の変位状況に基づいて上記破損推定点を検証する第二の破損点検証機能と、
上記第一の破損点検証機能と上記第二の破損点検証機能の実行を制御し、その検証結果に基づいて上記破損推定点を本来の破損点に近づかせる破損点再設定機能とを具備することを特徴とする圧縮画像データ修復プログラムを記録した媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、圧縮画像データ修復装置、圧縮画像データ修復方法および圧縮画像データ修復プログラムを記録した媒体に関する。
【０００２】
【従来の技術】
近年、写真をコンピュータ上で処理する際、ファイル容量を低減させるために圧縮処理が利用されている。その一例として、ＪＰＥＧ画像と呼ばれるものは、８×８画素の領域を一単位として所定のパターンに置き換えて符号化している。
【０００３】
一方、このような圧縮画像データはハードディスクを始めとして、各種の記録媒体に保存されることが多いが、記録媒体での読み書き、および保存時に、オペレーティングシステムなどのファイルエラー訂正機能で訂正しきれないエラーが生じることも増えてきている。
エラーが一画像につき、数バイト連続して発生するのは希であり、通常は１バイトが独立して生じる程度である。画像データも未圧縮であれば単にエラーが生じた一画素について再現がおかしくなるだけで済むが、圧縮しているとエラーが生じた画素以降に影響が出る。また、画像は先頭から順次画像状況に即して圧縮されていくので、エラーが発生したデータを特定するのは極めて難しい。さらに、ファイルの先頭からエラー箇所を探していくとしても、エラーを修復できたか否かを自動的に判別する手段がないので、人手を介して作業することとなり、極めて長時間を要してしまう。
【０００４】
【発明が解決しようとする課題】
上述したように、従来は、圧縮画像データにエラーが生じたとしてもエラー箇所を特定することができないため、ファイルの先頭位置から修正を試みざるを得ない。しかし、ファイルが大きくなってきている今日においては極めて長時間を要してしまい、実質的に不可能であるという課題があった。
本発明は、上記課題にかんがみてなされたもので、短時間に圧縮画像データを修復することが可能な圧縮画像データ修復装置、圧縮画像データ修復方法および圧縮画像データ修復プログラムを記録した媒体の提供を目的とする。
【０００５】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、圧縮画像データを復元して表示し、画像破損点の指示操作を受け付ける指示操作手段と、指示された上記画像破損点の復元画像データにおける相対的な位置情報に対応して圧縮画像データ内における破損推定点を設定する初期設定手段と、上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合と元の圧縮画像データに基づいて復元処理した場合との相違点を検出して上記破損推定点を検証する第一の破損点検証手段と、上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合における上記画像破損点を基準とした破損画像領域と未破損画像領域との境界での画像の変位状況に基づいて上記破損推定点を検証する第二の破損点検証手段と、上記第一の破損点検証手段と上記第二の破損点検証手段を制御し、その検証結果に基づいて上記破損推定点を本来の破損点に近づかせる破損点再設定手段とを具備する構成としてある。
【０００６】
上記のように構成した請求項１にかかる発明においては、指示操作手段が圧縮画像データを復元して表示したら、操作者は画像破損点を指示し、当該指示操作手段が指示操作を受け付けると、初期設定手段は、指示された上記画像破損点の復元画像データにおける相対的な位置情報に対応して圧縮画像データ内における破損推定点を設定する。ここで、第一の破損点検証手段は上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合と元の圧縮画像データに基づいて復元処理した場合との相違点を検出して上記破損推定点を検証するし、第二の破損点検証手段は上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合における上記画像破損点を基準とした破損画像領域と未破損画像領域との境界での画像の変位状況に基づいて上記破損推定点を検証する。従って、破損点再設定手段は、上記第一の破損点検証手段と上記第二の破損点検証手段を適宜制御し、その検証結果に基づいて上記破損推定点を本来の破損点に近づかせる。
【０００７】
例えば、第一の破損点検証手段を利用した場合、変更後の圧縮画像データに基づいて復元処理した場合と元の圧縮画像データに基づいて復元処理した場合との相違点を検出するので、破損推定点が本来の破損点よりも前方側であるのか後方側であるのかを大まかに把握できる。
しかし、第一の破損点検証手段を利用しても、破損推定点と本来の破損点との相違を見つけることはできても、正しいデータは検証できない。
【０００８】
これに対し、第二の破損点検証手段を利用した場合、変更後の圧縮画像データに基づいて復元処理した場合における上記画像破損点を基準とした破損画像領域と未破損画像領域との境界での画像の変位状況を検出するため、この変位が少ないときの破損推定点および変更データが本来の正しいデータであることまで分かる。
ただし、第二の破損点検証手段は作業負荷が大きいので、あてのないままファイルの先頭から検証していくのは効率的でない。
【０００９】
このような両特性を鑑みた結果、請求項２にかかる発明は、上記請求項１に記載の圧縮画像データ修復装置において、上記破損点再設定手段は、上記破損推定点と本来の破損点とが遠い場合に上記第一の破損点検証手段を実施し、近い場合に上記第二の破損点検証手段を実施させる構成としてある。
上記のように構成した請求項２にかかる発明においては、上記破損推定点と本来の破損点とが遠い場合に上記第一の破損点検証手段を実施することにより、軽い負荷で破損推定点を本来の破損点へと近づけ、近くなってから、上記第二の破損点検証手段で本来の破損点と正しいデータを突き止めることになる。
【００１０】
ところで、圧縮画像データは、本来の画像の状況に応じて先頭から圧縮しているため、データを変更したときの影響結果がどのように反映されるかは一義的ではない。すなわち、ファイルの先頭寄りのデータを変更したときに復元した画像データの先頭寄りの部分が変化するとは限らないので、ある破損推定点のデータを変更したときに本来の破損点よりも後方側でデータが変化したからといって破損推定点の方が前方側であるとは断言できない。
【００１１】
このため、請求項３にかかる発明は、上記請求項１または請求項２のいずれかに記載の圧縮画像データ修復装置において、上記第一の破損点検証手段は、破損推定点を基準とする複数点における圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合と元の圧縮画像データに基づいて復元処理した場合との相違点を検出して上記破損推定点を検証する構成としてある。
上記のように構成した請求項３にかかる発明においては、破損推定点を基準とする複数点における圧縮画像データを変更する。例えば、破損推定点を基準としてファイルの後方側の数画素について圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理する。この場合、一般的には後の画素について変更したものの方が元の圧縮画像データに基づいて復元処理した場合よりも後方側で相違点が生じる傾向にあるものの、一部の画素では逆転する可能性もある。そして、そのような食い違いが生じるとしても数画素の結果を総合的に考慮すれば、破損推定点が本来の破損点よりも前方側か後方側かは正しく判断できる。
【００１２】
また、第二の破損点検証手段は破損画像領域と未破損画像領域との境界での画像の変位状況を検出するが、境界全部で詳しく検証しようとすれば正確に判断できる反面、負荷が極端に大きくなる。これに対して、少しの境界領域だけで判断すれば処理速度が向上する反面、検証精度は低下する。
このため、請求項４にかかる発明は、上記請求項１〜請求項３のいずれかに記載の圧縮画像データ修復装置において、上記第二の破損点検証手段は、検証モードを指定可能であり、同検証モードに対応して破損画像領域と未破損画像領域との境界での検出密度を変化させる構成としてある。
【００１３】
上記のように構成した請求項４にかかる発明においては、検証モードを選択して破損画像領域と未破損画像領域との境界での検出密度を変化させることができるので、精度と速度の調和を図ることができる。
また、圧縮画像データの性質上、必ずしも任意の点でデータを変更したときに圧縮画像を復元できるとは限らないし、逆に復元できなければ確実にその破損点と変更データの組み合わせは正しくないといえる。このため、請求項５にかかる発明は、上記請求項１〜請求項４のいずれかに記載の圧縮画像データ修復装置において、上記破損点再設定手段は、上記第一の破損点検証手段と上記第二の破損点検証手段にて上記破損推定点の圧縮画像データを変更した場合に、変更後の圧縮画像データに基づいて復元不能であれば上記破損点を再設定させる構成としてある。
【００１４】
上記のように構成した請求項５にかかる発明においては、上記第一の破損点検証手段と上記第二の破損点検証手段にて上記破損推定点の圧縮画像データを変更したとしても、変更後の圧縮画像データに基づいて復元不能であればそのデータは正しくないはずであるので検証を進めることなく上記破損点を再設定する。
さらに、請求項６にかかる発明は、上記請求項１〜請求項５のいずれかに記載の圧縮画像データ修復装置において、上記破損点再設定手段は、上記破損推定点と本来の破損点の手前から近接するように上記破損推定点を再設定させる構成としてある。
【００１５】
上記のように構成した請求項６にかかる発明においては、上記破損推定点を本来の破損点に近接させていくに際し、ファイルの先頭側である手前側から上記破損推定点を再設定していく。
圧縮画像データは各種のものに適用可能であるが、請求項７にかかる発明は、上記請求項１〜請求項６のいずれかに記載の圧縮画像データ修復装置において、上記圧縮画像データとして静止画圧縮画像を対象としており、請求項８にかかる発明は、上記請求項１〜請求項６のいずれかに記載の圧縮画像データ修復装置において、上記圧縮画像データとして動画圧縮画像を対象としている。
【００１６】
一方、以上のような手法で破損を修復するのみならず、他の破損パターンに対して修復可能な構成とすることも可能であり、その一例として請求項９にかかる発明においては、上記請求項１〜請求項８のいずれかに記載の圧縮画像データ修復装置において、上記指示操作手段は、破損した圧縮画像データを表示する際に表示が不能であれば所定のデータを置き換えて画像の表示を行えるようにする構成としてある。
【００１７】
上記のように構成した請求項９にかかる発明においては、破損した圧縮画像データを表示する際に表示が不能であれば指示操作手段が所定のデータを置き換えて画像の表示を行えるようにする。例えば、ファイルのヘッダ部分のように定型部分での破損については画像の種類などを別の手段で判別して定型的なデータに置き換えてしまうことにより、表示が可能になることもある。また、ヘッダ部分に限らず予め分かっているパターンでの破損であればある一定の範囲のデータだけを調べてデータの置き換えを試みるということも可能である。
【００１８】
また、画像破損点の指示操作は人間が行うのが簡単確実ではあるが、自動化が不可能なわけではない。その一例として、請求項１０にかかる発明においては、上記請求項１〜請求項９のいずれかに記載の圧縮画像データ修復装置において、上記指示操作手段は、上記圧縮画像データを復元して表示する際に画像破損点の有無を検出し、検出できた場合に上記指示操作を受け付けたものとする構成としてある。
【００１９】
上記のように構成した請求項１０に係る発明においては、指示操作を受け付ける前に上記指示操作手段が上記圧縮画像データを復元するが、この際に画像破損点の有無を検出してみる。圧縮画像データには破損の典型的なパターンが比較的容易に検出できる場合もあるので、既存のパターンでの破損点の検出を試み、検出できた場合に上記指示操作を受け付けたものとして残りの処理へ移行する。
このように、圧縮画像データについて破損点の推定と本来のデータの解明を探る手法は必ずしも実体のある装置に限られる必要はなく、その方法としても機能することは容易に理解できる。このため、請求項１１にかかる発明は、圧縮画像データを復元して表示し、画像破損点の指示操作を受け付ける指示操作工程と、指示された上記画像破損点の復元画像データにおける相対的な位置情報に対応して圧縮画像データ内における破損推定点を設定する初期設定工程と、上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合と元の圧縮画像データに基づいて復元処理した場合との相違点を検出して上記破損推定点を検証する第一の破損点検証工程と、上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合における上記画像破損点を基準とした破損画像領域と未破損画像領域との境界での画像の変位状況に基づいて上記破損推定点を検証する第二の破損点検証工程と、上記第一の破損点検証工程と上記第二の破損点検証工程の実行を制御し、その検証結果に基づいて上記破損推定点を本来の破損点に近づかせる破損点再設定工程とを具備する構成としてある。
【００２０】
すなわち、必ずしも実体のある装置に限らず、その方法としても有効であることに相違はない。
ところで、このような圧縮画像データ修復装置は単独で存在する場合もあるし、ある機器に組み込まれた状態で利用されることもあるなど、発明の思想としてはこれに限らず、各種の態様を含むものである。従って、ソフトウェアであったりハードウェアであったりするなど、適宜、変更可能である。
【００２１】
発明の思想の具現化例として圧縮画像データ修復装置のソフトウェアとなる場合には、かかるソフトウェアを記録した記録媒体上においても当然に存在し、利用されるといわざるをえない。
その一例として、請求項１２にかかる発明は、コンピュータにて圧縮画像データを修復させる圧縮画像データ修復プログラムを記録した媒体であって、圧縮画像データを復元して表示し、画像破損点の指示操作を受け付ける指示操作機能と、指示された上記画像破損点の復元画像データにおける相対的な位置情報に対応して圧縮画像データ内における破損推定点を設定する初期設定機能と、上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合と元の圧縮画像データに基づいて復元処理した場合との相違点を検出して上記破損推定点を検証する第一の破損点検証機能と、上記破損推定点の圧縮画像データを変更し、変更後の圧縮画像データに基づいて復元処理した場合における上記画像破損点を基準とした破損画像領域と未破損画像領域との境界での画像の変位状況に基づいて上記破損推定点を検証する第二の破損点検証機能と、上記第一の破損点検証機能と上記第二の破損点検証機能の実行を制御し、その検証結果に基づいて上記破損推定点を本来の破損点に近づかせる破損点再設定機能とを具備する構成としてある。
【００２２】
むろん、その記録媒体は、磁気記録媒体であってもよいし光磁気記録媒体であってもよいし、今後開発されるいかなる記録媒体においても全く同様に考えることができる。また、一次複製品、二次複製品などの複製段階については全く問う余地無く同等である。その他、供給方法として通信回線を利用して行なう場合でも本発明が利用されていることにはかわりない。
さらに、一部がソフトウェアであって、一部がハードウェアで実現されている場合においても発明の思想において全く異なるものではなく、一部を記録媒体上に記憶しておいて必要に応じて適宜読み込まれるような形態のものとしてあってもよい。
【００２３】
本発明をソフトウェアで実現する場合、ハードウェアやオペレーティングシステムを利用する構成とすることも可能であるし、これらと切り離して実現することもできる。例えば、補間処理するために画像データを入力する処理といっても、その実現方法はオペレーティングシステムにおける所定の関数を呼び出して処理することも可能であれば、このような関数を呼び出すことなくハードウェアから入力することも可能である。そして、実際にはオペレーティングシステムの介在のもとで実現するとしても、プログラムが媒体に記録されて流通される過程においては、このプログラムだけで本発明を実施できるものと理解することができる。
【００２４】
また、本発明をソフトウェアで実施する場合、発明がプログラムを記録した媒体として実現されるのみならず、本発明がプログラム自体として実現されるのは当然であり、プログラム自体も本発明に含まれる。
【００２５】
【発明の効果】
以上説明したように本発明は、従来は到底不可能であった破損した圧縮画像データを短時間で修復することが可能な圧縮画像データ修復装置を提供することができる。
【００２６】
また、請求項２にかかる発明によれば、第一の破損点検証手段と第二の破損点検証手段を効率よく使い分けて短時間で修復することができる。
さらに、請求項３にかかる発明によれば、破損推定点の検証を偶然に左右されることなく精度良く短時間に行うことができる。
さらに、請求項４にかかる発明によれば、目的に応じて精度と処理時間を調和させることができる。
さらに、請求項５にかかる発明によれば、復元不能な破損推定点には早期に見切りを付け、処理時間を短縮させることができる。
【００２７】
さらに、請求項６にかかる発明によれば、破損推定点を本来の手前から近接させることにより、例えば複数の破損推定点に基づいて処理をしている場合などに前の判断結果を利用でき、効率をよくすることができる。
さらに、請求項７にかかる発明によれば、静止画を修復することが可能となる。
さらに、請求項８にかかる発明によれば、動画を修復することが可能となる。
さらに、請求項９にかかる発明によれば、表示すら不能な圧縮画像も修復できる可能性が生じる。
【００２８】
さらに、請求項１０にかかる発明によれば、人間による画像破損点の指示操作を省略できる可能性が生じる。
さらに、請求項１１にかかる発明によれば、同様の効果を奏することが可能な圧縮画像データ修復方法を提供でき、請求項１２にかかる発明によれば、圧縮画像データ修復プログラムを記録した媒体を提供できる。
【００２９】
【発明の実施の形態】
以下、図面に基づいて本発明の実施形態を説明する。
図１は、本発明の圧縮画像データ修復装置を表すクレーム対応図である。
ディジタルスチルカメラなどで撮影したディジタル写真画像は、ＪＰＥＧなどの圧縮画像データファイルとして保存される。本圧縮画像データ修復装置はこのような圧縮画像データファイルの一部が意図しないデータに書き換えられてしまった場合に修復するものであり、指示操作手段Ｃ１では復元した画像における破損点の指示操作を受け付け、初期設定手段Ｃ２は指示した破損点の復元画像上における相対位置から圧縮画像データにおける破損推定点を割り出し、異なる手法で破損推定点の検証を行う第一の破損点検証手段Ｃ３と第二の破損点検証手段Ｃ４とを破損点再設定手段Ｃ５が適宜清書して圧縮画像データにおける本来の破損点を突き止める。
【００３０】
本実施形態においてはこのような圧縮画像データ修復装置を実現するハードウェアの一例としてコンピュータシステム１０を採用している。
図２は、同コンピュータシステム１０をブロック図により示している。
本コンピュータシステム１０は、画像入力デバイスとして、スキャナ１１ａとデジタルスチルカメラ１１ｂとビデオカメラ１１ｃとを備えており、コンピュータ本体１２に接続されている。それぞれの入力デバイスは画像をドットマトリクス状の画素で表現した画像データを生成してコンピュータ本体１２に出力可能となっており、ここで同画像データはＲＧＢの三原色においてそれぞれ２５６階調表示することにより、約１６７０万色を表現可能となっている。
【００３１】
コンピュータ本体１２には、外部補助記憶装置としてのフロッピーディスクドライブ１３ａとハードディスク１３ｂとＣＤ−ＲＯＭドライブ１３ｃとが接続されており、ハードディスク１３ｂにはシステム関連の主要プログラムが記録されており、フロッピーディスクやＣＤ−ＲＯＭなどから適宜必要なプログラムなどを読み込み可能となっている。
また、コンピュータ本体１２を外部のネットワークなどに接続するための通信デバイスとしてモデム１４ａが接続されており、外部のネットワークに同公衆通信回線を介して接続し、ソフトウェアやデータをダウンロードして導入可能となっている。この例ではモデム１４ａにて電話回線を介して外部にアクセスするようにしているが、ＬＡＮアダプタを介してネットワークに対してアクセスする構成とすることも可能である。この他、コンピュータ本体１２の操作用にキーボード１５ａやマウス１５ｂも接続されている。
【００３２】
さらに、画像出力デバイスとして、ディスプレイ１７ａとカラープリンタ１７ｂとを備えている。ディスプレイ１７ａについては水平方向に８００画素と垂直方向に６００画素の表示エリアを備えており、各画素毎に上述した１６７０万色の表示が可能となっている。むろん、この解像度は一例に過ぎず、６４０×４８０画素であったり、１０２４×７６８画素であるなど、適宜、変更可能である。
【００３３】
一方、このような画像入力デバイスを使用して画像を入力しつつ、画像出力デバイスに表示あるいは出力するため、コンピュータ本体１２内では所定のプログラムが実行されることになる。そのうち、基本プログラムとして稼働しているのはオペレーティングシステム（ＯＳ）１２ａであり、このオペレーティングシステム１２ａにはディスプレイ１７ａでの表示を行わせるディスプレイドライバ（ＤＳＰ  ＤＲＶ）１２ｂとカラープリンタ１７ｂに印刷出力を行わせるプリンタドライバ（ＰＲＴ  ＤＲＶ）１２ｃが組み込まれている。これらのドライバ１２ｂ，１２ｃの類はディスプレイ１７ａやカラープリンタ１７ｂの機種に依存しており、それぞれの機種に応じてオペレーティングシステム１２ａに対して追加変更可能である。また、機種に依存して標準処理以上の付加機能を実現することもできるようになっている。すなわち、オペレーティングシステム１２ａという標準システム上で共通化した処理体系を維持しつつ、許容される範囲内での各種の追加的処理を実現できる。
【００３４】
この基本プログラムとしてのオペレーティングシステム１２ａ上でアプリケーション１２ｄが実行される。アプリケーション１２ｄの処理内容は様々であり、操作デバイスとしてのキーボード１５ａやマウス１５ｂの操作を監視し、操作された場合には各種の外部機器を適切に制御して対応する演算処理などを実行し、さらには、処理結果をディスプレイ１７ａに表示したり、カラープリンタ１７ｂに出力したりすることになる。
【００３５】
かかるコンピュータシステム１０では、画像入力デバイスであるデジタルスチルカメラ１１ｂなどで圧縮画像データを取得し、アプリケーション１２ｄによる所定の画像処理を実行した後、画像出力デバイスとしてのディスプレイ１７ａやカラープリンタ１７ｂに表示出力することが可能である。
圧縮画像データの一部が破損しているとすると、本来の画像通りには復元できず、表示や印刷もままならない。ただ、一部が破損するとしても通常は１バイトのデータエラーが希に生じる程度であり、ファイルの多くのデータが欠落して復元できないような場合まで圧縮画像データを修復できるわけではない。ただ、圧縮画像データが全く表示できない場合でも、１バイト程度なら、ファイルの先頭から総アタックを行うことで表示できる場合もあるので、本発明で修復できる可能性がある。
【００３６】
特に、ファイルの破損のタイプによっては修復が比較的簡易に行えてしまうこともある。例えば、圧縮画像データファイルのタイプを示すデータが破損することがある。ＪＰＥＧ画像の例で示すと、ファイルの先頭部分に当該データファイルがＪＰＥＧ圧縮されていることを示すデータが書き込まれているが、その１バイトでも破損しているとＪＰＥＧ圧縮されていることすら不明となって復元の対象から除外されてしまう。しかしながら、破損圧縮画像として操作者が指摘した以上は画像データファイルであることが強く推測できるし、さらにはファイルの拡張子などからもＪＰＥＧ圧縮されていることを推測できることも多い。このような場合にはデータファイルの定型部分について破損データを他のデータに置き換え、画像を表示できるようにしてから他の部分の破損データの修復を試みればよい。むろん、この定型部分だけの修復で画像を完全に表示できるようになる場合にはこれで修復を終了すればよい。むろん、このようなデータの置き換えは指示操作手段Ｃ１が行うことになる。なお、必ずしも定型部分でなくてもデータファイルにおける所定の範囲でデータを置き換えてみて表示の可否を試みるようにしてもよい。
【００３７】
図３は、上記アプリケーション１２ｄとしての圧縮画像データ修復プログラムをフローチャートにより示している。
本圧縮画像データ修復プログラムが起動されると、まず、ステップ１００にて圧縮画像データファイルを指定する。すなわち、プログラムではオペレーティングシステム１２ａを介して操作者によるキーボード１５ａやマウス１５ｂの操作を監視し、圧縮画像データの選択を待機する処理である。そして、ファイルオープンダイアログやイクスプローラなどで所定の圧縮画像データファイルの指定操作を行うと、ステップ２００にて同圧縮画像データファイルをビットマップイメージに復元し、ディスプレイ１７ａにて表示させるとともに、この時点における復元したビットマップイメージをハードディスク１３ｂに保存する。ハードディスク１３ｂに保存するのは後の工程でこのビットマップイメージを繰り返し参照するためであり、必要に応じてＲＡＭディスクエリアなどを指定して保存するようにしても良い。
【００３８】
次いで、ステップ３００にて破損ブロックの位置を指示する操作を入力する。図４は一般的なＪＰＥＧ圧縮画像データファイルで１バイトに破損が生じた場合のディスプレイ１７ａ上での表示例を示している。図中、上半分の未破損画像領域１７ａ１と下半分の破損画像領域１７ａ２とに分かれて示しているが、上半分の未破損画像領域１７ａ１は正常に表示され、下半分の破損画像領域１７ａ２が正常に表示されていないものとする。図５は表示が正常に行われなくなりはじめた破損ブロック１７ａ５の近辺を拡大表示している。ＪＰＥＧ画像は８×８画素ごとのブロック領域を単位として圧縮されるとともに、左上から右方向に向け、かつ、順次下方向に向かって圧縮されるため、破損点を含む破損ブロック１７ａ５の右側および下方の領域が正常に表示されなくなる。
【００３９】
操作者はマウス１５ｂを操作し、アローポインタ１７ａ３にて破損点が含まれる破損ブロック１７ａ５を指示してクリック操作する。この際、アローポインタ１７ａ３にて指示される８×８画素の領域１７ａ４を反転表示させ、操作者が正しくアローポインタ１７ａ３で表示上の破損領域を指示できるようにしている。なお、この操作を受け付けるステップ３００のソフトウェア処理および関連するハードウェアが指示操作手段Ｃ１を構成する。本実施形態においては、マウス１５ｂで領域を指示するようにしたが、カーソルで８×８画素の領域を移動させたり、予め欄外に示した領域表示（Ａ，Ｂ，Ｃ…、１，２，３…）を文字入力（例えば、「Ｂ−４」というように）できるようにしても良い。
【００４０】
これに加えて指示操作をさらに自動的にすることも可能である。上述したようにＪＰＥＧ画像であればその破損パターンとしてある画素から水平方向右方向の上側の領域と下側の領域とで突然色の傾向が変わり、さらに、８画素下方の画素を基準とした水平方向左方向の上側の領域と下側の領域とで突然色の傾向が変わる。従って、予めこのような特徴的な破損の有無を検出し、破損を検出できたら上述した破損領域の指示があったものとして以下の処理を実行するようにしても良い。この意味で、指示操作手段Ｃ１は破損領域指示の自動化をも含むものとして構成することが可能である。
【００４１】
図３に戻ると、ステップ４００では指示された破損領域の表示画像上での相対的な位置情報から破損推定点を算出する。本来、画像の状況に応じてファイルの前方から徐々に圧縮画像データが生成されていくため、破損領域の表示画像上での相対的な位置情報が得られたとしても画像の状況次第でデータファイル上での該当位置は不明のはずである。特に、ストリーム配信技術を採用してデータ配信中でもできるだけ見栄えが良くなるようにしようとするとその傾向はさらに強調される。
【００４２】
ただし、変動はあるとしても概略の傾向がつかめることも多い。図６はデータファイルの一部を書き換えたときに画像を復元して得られる変化位置の相対関係を示している。図中、横軸はデータを変化させる位置情報であってデータファイル中における最初の破損推定点を基準として示しており、縦軸は最初の破損推定点に対応した破損位置を基準として変化が生じた画素の位置情報を示している。実際には画像によって同じサイズのデータファイルを使用して同じ位置のデータを変更したとしても表示画面に生じる変化位置は変動する。しかしながら、このグラフ表示から明らかなように概略の推定は可能である。本実施形態においては、最小二乗近似関数として
Ｙ＝０．００３５０７＊Ｘ＊＊２−１．４２５６６５＊Ｘ
が得られており、ステップ３００にて同計算式を利用して破損推定点を算出する。なお、本計算式で完全な答えを求めるのは無理であり、計算式をより簡易な一次式に変更したり、予めテーブルを作成しておいて単純な早見表として利用することも可能である。いずれにしても、以上のようにして指示された破損領域の表示画像上での相対的な位置情報から破損推定点を算出するソフトウェア処理および関連するハードウェアが初期設定手段Ｃ２を構成する。
【００４３】
続いてステップ５００では以上のようにして算出された破損推定点を本来の破損点に近づけていく処理を行う。図７はその詳細なフローチャートを示している。ステップ５０２ではワークエリアを介して上記算出された破損推定点を取得し、ワーク用の破損推定点にセットする。続いてステップ５０４ではこの破損推定点のデータを変更し、ステップ５０６で変更後のデータファイルを利用してビットマップイメージの復元を試みる。
【００４４】
ただし、任意の位置のデータを変更しているので、必ずしも復元が可能であるとは限らず、復元可能である場合にのみステップ５０８の判断を経てステップ５１０にて復元したビットマップイメージとステップ２００で保存しておいたイメージとを比較し、相違位置を判別する。すなわち、ある点を破損推定点としてそのデータを変更したとすると、そのデータファイルを利用して復元したビットマップイメージは変更前のものとどこかで相違するはずである。ビットマップイメージ上での破損領域はマウス１５ｂで指示して判別されているから、その位置との比較で上記相違位置が前方か後方かが分かる。相違位置の方が後方側であるとしたら、図６に示す関係から推定して破損推定点の方が破損点よりもデータファイル中で後方側であるといえる。
【００４５】
ステップ５１２とステップ５１４では相違位置が破損点に対してどのような位置関係にあるかを判別して破損推定点を移動させる。すなわち、破損推定点よりも後方であればステップ５１２の判断を経てステップ５１８で破損推定点をより前方へ戻してしまう。また、破損推定点よりも手前であるが、まだ破損推定点よりも遠ければステップ５１２とステップ５１４の判断を経てステップ５１６で破損推定点を少し後方へ移動させる。通常は、破損推定点を前方から徐々に破損点に近づけていくようにするため、ステップ５１２〜ステップ５１６の処理を繰り返していくことになる。そして、いよいよ破損推定点が破損点に近づいてきたらステップ５１４の判断を経てこの破損点近接化処理を終了する。
【００４６】
このように、ある点を破損推定点としてそのデータを変更してから復元したビットマップイメージと変更前のビットマップイメージとの相違位置に基づいて上記破損推定点が破損点よりも手前か否かを判断するソフトウェア処理および関連するハードウェアが第一の破損点検証手段Ｃ３を構成する。
この例では変更後のデータファイルに基づいて最後までビットマップイメージを復元しているが、相違位置が破損点よりも遠くにあることが分かった時点で処理を中止することもできる。また、破損推定点を基準として複数点を予め設定し、同時に処理をすることもできる。例えば、ある破損推定点を設定してビットマップイメージを復元していき、破損推定点のデータを変更して復元したところ、それによってビットマップイメージが変化した破損位置がマウス１５ｂで指示した破損位置よりも手前であって近くなければ、上記破損推定点のデータを元のデータに戻しつつ、破損推定点をさらに前方に設定する。このとき、さらにそれまで復元したビットマップイメージはそのまま利用する。このようにすれば、破損推定点を変化させるごとに復元のための計算を繰り返す必要が無くなるので、処理を速くさせることができる。この意味で、破損推定点の設定は常に手前側から近接させていく方にメリットがある。むろん、以上の処理が可能であるか否かは圧縮画像データの性質によるため、必ずしも全ての場合において実現可能なわけではない。
【００４７】
また、破損推定点を後方に移動させれば必ずしも上記相違位置が後方移動されるとも限らないため、複数のポイントを利用して総合的に判断する方が正しい結果を得られることも多い。従って、破損推定点を基準とした複数点を利用して検証する意義がある。
破損点近接化処理を終了したら、図３に示すようにステップ６００にて総アタックモードを開始する。図８はこの総アタックモードをより詳細に示しており、ステップ６０２にて最後に設定された破損推定点を所定のワーク用の破損推定点にセットし、ステップ６１６で順次破損推定点を一バイトずつ移動させながらステップ６０４とステップ６１４との間で破損推定点のデータを「０」〜「２５５」の範囲で変化させて画像が正しく復元されたか否かを判断する。
【００４８】
画像が正しく復元されたか否かは、ステップ６０６にて破損推定点のデータを変更してビットマップイメージを復元させた後、ステップ６０８にて破損領域の周辺で画像のなめらかさを判別して行っている。図９はこの画像のなめらかさの判別処理を詳細に示しており、図１０は判断に利用する境界を示している。
この例では、ステップ６２０〜ステップ６２６にて破損ブロック１７ａ５と上半分の未破損画像領域１７ａ１との境界部分を検証し、ステップ６２８とステップ６３０にて上半分の未破損画像領域１７ａ１と下半分の破損画像領域１７ａ２との境界を検証する。
【００４９】
まず、ステップ６２０では破損ブロック１７ａ５の境界にポインタを設定する。本来であれば全ての境界画素でなめらかさを判別しても良いが、それだけ処理量は増える。従って、処理速度と精度とのバランスで全画素について行なうか間引きして行なうかを決定する。むろん、操作者に選択させるようにしても良い。ステップ６２２ではポインタ位置での色変化量を算出する。図１０において、境界を挟む４画素についてそれぞれの未破損画像領域１７ａ１と破損画像領域１７ａ２での２画素ずつの色の平均を算出し、さらに、それぞれの平均値の差を色変化量として保存・積算する。そして、ステップ６２４にてポインタを移動させ、ステップ６２６にて境界を全て終了したと判断するまで繰り返す。図を参照すると、破損ブロック１７ａ５と上半分の未破損画像領域１７ａ１との境界は１６画素（＝８画素＋８画素）あり、全画素について演算する場合には１６画素での色変化量が積算されることになる。
【００５０】
その後、ステップ６２８では破損ブロック１７ａ５の上辺を後方に延長した境界で同様の計算を行う。ただし、この境界は長いことが予想されるので、１０画素おきであるとか、２０画素おきというように間引きして演算を実行する。また、ステップ６３０では破損ブロック１７ａ５の下辺を前方に延長した境界で同様の計算を行う。
ステップ６３２ではそれぞれの境界で保存・積算しておいた色変化量を用いてなめらかさを算出する。ここでのなめらかさは単純にパラメータとして利用するだけであり、特別な計算式を必要とするものではない。例えば、演算した画素の和で積算量を除した平均値でも良いし、単なる積算量でもよい。さらに、色変化量自体についても上半分の未破損画像領域１７ａ１の２画素の変化傾向と下半分の破損画像領域１７ａ２の２画素の変化傾向とをそれぞれ算出してその差をとってもよい。例えば、上の２画素では徐々に明るくなっていくとすると、下の２画素でも徐々に明るくなっていく傾向が見られることが多いと考えられる。そして、上述したような変化傾向をとっていれば、この場合は両者が一致することになる。むろん、２画素を利用すること自体も任意であり、その画素数を増減させることも可能である。
【００５１】
ステップ６１０ではこのようにして算出されたなめらかさを利用して基準値を下回ったか否かを判断し、下回った時点でステップ６１８にてそのときの破損推定点と変更したデータを保存して総アタックモードを終了する。
以上のようにして破損推定点を一バイトずつずらしていったときに、各バイトごとでとりうる「０」〜「２５５」の全ての値について未破損画像領域１７ａ１と破損画像領域１７ａ２との境界で画像がなめらかに接しているか否かを判断するソフトウェア処理および関連するハードウェアが第二の破損点検証手段Ｃ４を構成する。
【００５２】
なお、本実施形態においては色変化量を利用して境界での画像の変位状況を判別しているが、未破損画像領域１７ａ１と破損画像領域１７ａ２とがなめらかに接続したか否かを判断する手法は様々である。図１１は他の手法を概略的に示すものであり、この例では上半分の未破損画像領域１７ａ１に道路１７ａ６が写っているが、この道路１７ａ６が破損画像領域１７ａ２において表示されなくなっている。しかしながら、実際に道路が寸断されているとは考えにくく、道路のような既知の物体が撮影された状況では、その物体の性質から、図１１のように破損場所の道路形状を推測することが可能である。破損推定点でデータを変化させたとき、道路が推測に即した形状に修復されているかを、なめらかさで判断する情報と合わせて画像修復の判断基準にすると、さらに精度の高いデータ修復が見込まれる。
【００５３】
また、処理の順序として先に破損点近接化処理を実施するとともに、その際に上述した第一の破損点検証手段Ｃ３の検証結果に基づいて破損点を再設定していったり、破損推定点が本来の破損点の手前に近づいたときから総アタックモードへ移行して破損推定点を一バイトずつずらしながら第二の破損点検証手段Ｃ４の検証結果に基づいて画像が復元されたか否かを判断しているが、このようにして破損推定点を設定する処理の流れおよび関連するハードウェアが破損点再設定手段Ｃ５を構成する。むろん、ソフトウェアによって同様の処理を異なる手順で実行することも可能であり、上述した本実施形態の処理手順は一例に過ぎない。
【００５４】
また、上述した実施形態においては、静止画だけを扱ってきているが、動画についても全く同様に検討することができる。図１２は動画の場合にデータが破損したときにどのように表れるかを示している。１コマ目は正常に表示されているが、２コマ目には突然意味不明の画像が表示され、３コマ目にも同じように表示されている。しかしながら、４コマ目には突然消えている。
このような場合、動画をコマ表示させて異常が生じたコマを画像破損点としてマウス１５ｂで指示する。そして、コマ数単位で全データファイルにおける当該画像破損点の相対的な位置を調べてデータファイルの破損推定点を設定し、同破損推定点のデータを書き換えてみる。書き換えたデータファイルに基づいて再度コマ単位での画像を復元し、最初の画像との相違点がどの時点で表れるか調べる。指示した画像破損点よりも後方側であれば破損推定点をデータファイルの前方側へ移動させるし、指示した画像破損点よりも前方側であれば破損推定点を徐々に後方側に移動させる。
【００５５】
そして、異常が生じたコマに近づいてきた時点で総アタックモードとなり、コマ単位で画像の変位状況を判別する。動画の場合、破損した領域の周辺を調べても良いし、突然の画像変化の有無を調べても良い。自然界においては画像の変化には制限があるので、それを越える画像の変化の有無を判別するのである。また、動画の場合は変化した画像の分だけデータが送られることが多いため、破損したデータの影響は同じ箇所に複数コマにわたって生じる。従って、破損画像として指定した全てのコマだけで画像に変化が生じればデータが復元されたと判断して良い可能性も高い。
【００５６】
このように、破損画像を指示させた上で、破損推定点を設定しつつ同破損推定点のデータを変更して圧縮画像を復元を試み、元のイメージデータとの相違位置から同破損推定点と本来の破損点との相対的なずれを判別したり、破損推定点が破損点に近づいてきた時点で破損推定点のデータを変化させたときの破損画像領域富破損画像領域との境界の状況を調べることにより、破損した圧縮画像データを自動的に短時間で修復することができるようになった。
【図面の簡単な説明】
【図１】本発明の一実施形態にかかる圧縮画像データ修復装置を表すクレーム対応図である。
【図２】圧縮画像データ修復装置を実現するハードウェアの一例としてのコンピュータシステムのブロック図である。
【図３】圧縮画像データの修復手順を示すフローチャートである。
【図４】破損した圧縮画像データを復元して破損ブロックを指示する際の画面表示を示す図である。
【図５】破損ブロック近辺の拡大図である。
【図６】データファイルの変更位置と復元画像の変化位置との相関関係を示す図である。
【図７】破損点近接化処理のフローチャートである。
【図８】総アタックモードのフローチャートである。
【図９】画像のなめらかさ判別処理のフローチャートである。
【図１０】画像のなめらかさ判別処理で参照する境界部分を拡大して示す図である。
【図１１】画像の変位状況を検出する他の手法を示す図である。
【図１２】動画の場合の圧縮画像データを修復する場合に生じる画像変化を示す図である。
【符号の説明】
Ｃ１…指示操作手段
Ｃ２…初期設定手段
Ｃ３…破損点検証手段
Ｃ４…破損点検証手段
Ｃ５…破損点再設定手段
１０…コンピュータシステム
１１ａ…スキャナ
１１ｂ…デジタルスチルカメラ
１１ｃ…ビデオカメラ
１２…コンピュータ本体
１２ａ…オペレーティングシステム
１２ｂ…プリンタドライバ
１２ｃ…ディスプレイドライバ
１２ｄ…アプリケーション
１３ａ…フロッピーディスクドライブ
１３ｂ…ハードディスク
１３ｃ…ＣＤ−ＲＯＭドライブ
１４ａ…モデム
１５ａ…キーボード
１５ｂ…マウス
１７ａ…ディスプレイ
１７ａ１…未破損画像領域
１７ａ２…破損画像領域
１７ａ３…アローポインタ
１７ａ４…領域
１７ａ５…破損ブロック
１７ａ６…道路
１７ｂ…カラープリンタ
【図１】
0004319333.tif 000002
【図２】
0004319333.tif 000003
【図３】
0004319333.tif 000004
【図４】
0004319333.tif 000005
【図５】
0004319333.tif 000006
【図６】
0004319333.tif 000007
【図７】
0004319333.tif 000008
【図８】
0004319333.tif 000009
【図９】
0004319333.tif 000010
【図１０】
0004319333.tif 000011
【図１１】
0004319333.tif 000012
【図１２】
0004319333.tif 000013