以下では、様々な実施例及び/又は様態が、図面を参照して開示される。以下の説明では、説明を目的に、1以上の様態の全般的な理解を助けるために、多数の具体的な詳細事項が開示される。しかし、このような様態は、このような具体的な詳細事項がなくても行えるということ、また、本発明の技術分野における通常の知識を有する者に認識されるべきである。以後の記載及び添付の図面は、1以上の様態の特定の例示的な様態を詳しく記述する。しかし、このような様態は、例示的なことであり、様々な様態の原理における様々な方法の一部が用いられ、記述される説明は、このような様態及びそれらの均等物をいずれも包含しようと意図している。
また、様々な様態及び特徴が、多数のデバイス、コンポネント及び/又はモジュールを含むシステムによって提示される。様々なシステムが、更なる装置、コンポネント、及び/又はモジュールなどを含むことができるということ、そして/又は、図面と関連して議論された装置、コンポネント、モジュールなど、全部を含まなくてもよいことも、理解されるべきである。
本明細書で使用される“実施例”、“例”、“様態”、“例示”などは、記述される任意の様態又は設計が異なる様態又は設計よりも良好であるか、利点があることと解析されないこともある。以下で使用される用語、‘〜部’、‘コンポネント’、‘モジュール’、‘システム’、‘インターフェース’などは、一般的に、コンピュータ関連エンティティー(computer-related entity)を意味し、例えば、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェアを意味する。
また、“含む”及び/又は“含み”という用語は、該当特徴及び/又は構成要素が存在することを意味するが、1以上の他の特徴、構成要素、及び/又はこれらのグループの存在、又は追加を排除しないことと理解されるべきである。
また、第1、第2などのように序数を含む用語は、様々な構成要素を説明することに用いられるが、前記構成要素は、前記用語によって限定されない。前記用語は、1つの構成要素を他の構成要素から区別する目的にのみ用いられる。例えば、本発明の権利範囲を逸脱しなく、且つ、第1の構成要素は、第2の構成要素として命名され、同様に、第2の構成要素も、第1の構成要素として命名される。及び/又はという用語は、複数の関連する記載された項目の組み合わせ、又は複数の関連する記載された項目のいずれの項目を含む。
また、本発明の実施例において、別に異なって定義しない限り、技術的や科学的な用語を含み、ここで使われる全ての用語は、本発明が属する技術分野における通常の知識を有する者によって、一般的に理解されることと同じ意味を持っている。一般的に使われる辞典に定義されているような用語は、関連技術が文脈上有する意味と一致する意味を持つことと解析されるべきであり、本発明の実施例で明らかに定義しない限り、理想的や過度に形式的な意味として解析されない。
(文書イメージの最適化システム)
図1は、本発明の一実施例による文書イメージを最適化する方法を概略的に示す。
本実施例によると、原本イメージからノイズを除去し、テキストを鮮明にして、前処理イメージを生成する前処理段階(S100)を行う。このような前処理段階では、イメージ処理方式のうち、鮮鋭化(sharpen)処理、二値化処理、及びブラー(Blur)処理の1以上を行うことができる。このような前処理段階(S100)を行うことで、原本イメージが前処理イメージに変換され、前処理イメージは、文書イメージの場合よりもテキストの鮮明度が増加される。
ここで、前記原本イメージは、文書イメージを含み、イメージファイル形式には制限が無い。本明細書において、“文書イメージ”とは、テキストを含むイメージを指し示すが、これに限定されず、ファイル形式及びテキストを包含可否によらず、スキャナ、カメラ、スマートフォンでスキャン又は撮影されたイメージ、前記イメージに対して予備的なイメージ処理が行われたイメージ、デジタル的な方式で生成されたイメージなどのファイル形態のイメージを、いずれも含む概念である。
また、本発明による文書イメージを最適化する方法は、前記前処理イメージに対して、イメージ圧縮を行うイメージ圧縮段階を更に含む。この場合、前記前処理が行われた前処理イメージに対して、更なるイメージ処理、すなわちイメージ圧縮を行うことで、より文書イメージの容量を減少することができる。
望ましくは、前記イメージ圧縮段階は、前記前処理イメージの圧縮可否、及び圧縮時の可逆可否によって、異なる方法で圧縮を行う。ここで、前記前処理イメージの圧縮可否及び圧縮時の可逆可否は、基本的に原本イメージの圧縮可否及び圧縮時の可逆可否によって決められる。このような方法で、それぞれの他の種類の原本イメージに対して、原本イメージのファイル形式を変更することなく、文書イメージとして最適化を行うことができる。
また、原本イメージの圧縮可否及び圧縮時の可逆可否を考えて、異なる方法で圧縮を行うことで、原本イメージ又は前処理イメージの画質劣化を最小化し、且つ、容量を減らすという効果を発揮することができる。
また、イメージ圧縮段階が、前記前処理段階の後に行われるので、イメージ圧縮段階における効果を維持し、且つ、イメージの最適化が行えるというメリットがある。
以下では、本発明のイメージを最適化する装置について、説明することにする。
図2は、本発明の一実施例による文書イメージを最適化するコンピュータ装置の内部構成を概略的に示す図である。
本実施例による文書イメージを最適化するコンピュータ装置は、プロセッサ、バス(プロセッサ、メモリ、ネットワークインターフェース部間の両方向矢印に該当)、ネットワークインターフェース、及びメモリを含む。メモリ(C)は、運営体制(C1)と、前処理部実行コード(C2)と、イメージ圧縮部実行コード(C3)とを含む。プロセッサは、前処理部1000と、イメージ圧縮部2000とを含む。他の実施例において、文書イメージを最適化するコンピュータ装置は、図2の構成要素よりも多い構成要素を含んでいる。
メモリは、コンピュータで読取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、及びディスクドライブのような非消滅性大容量記録装置(permanent mass storage device)を含む。また、メモリには、運営体制(C1)、前処理部実行コード(C2)、イメージ圧縮部実行コード(C3)に対するプログラムコードが格納される。このようなソフトウェアの構成要素は、ドライブメカニズム(drive mechanism、図示せず)を用いて、メモリとは別のコンピュータで読取り可能な記録媒体からローディングされる。このような別のコンピュータで読取り可能な記録媒体は、フロッピードライブ、ディスク、テープ、DVD/CD−ROMドライブ、メモリカードなどのコンピュータで読取り可能な記録媒体(図示せず)を含む。他の実施例において、ソフトウェア構成要素は、コンピュータで読取り可能な記録媒体ではなく、ネットワークインターフェース部(B)を介して、メモリにローディングされてもよい。
バスは、文書イメージを最適化するコンピュータ装置の構成要素間の通信、及びデータの伝送を可能にする。バスは、高速シリアルバス(high-speed serial bus)、並列バス(parallel bus)、SAN(Storage Area Network)及び/又は、他の適切な通信技術を用いて構成される。
ネットワークインターフェース部(B)は、文書イメージを最適化するコンピュータ装置を、コンピュータネットワークに連結するためのコンピュータハードウェア構成要素である。ネットワークインターフェース(B)は、文書イメージを最適化するコンピュータ装置を、無線又は有線コネクションを介して、コンピュータネットワークに連結する。このようなネットワークインターフェース部(B)を介して、文書イメージを最適化するコンピュータ装置が、触覚インターフェース装置に、無線又は有線で接続される。
プロセッサは、基本的な算術、ロジック、及び文書イメージを最適化するコンピュータ装置の入出力演算を行うことで、コンピュータプログラムの命令を処理するように構成される。命令は、メモリ又はネットワークインターフェース部(B)により、そして、バスを介して、プロセッサに提供される。プロセッサは、前処理部1000、及びイメージ圧縮部2000のためのプログラムコードを行うように構成される。このようなプログラムコードは、メモリのような記録装置に格納される。
前記前処理部1000及びイメージ圧縮部2000は、後述する文書イメージを最適化する方法を行うために構成される。前記プロセッサは、文書イメージを最適化する方法により、一部のコンポネントが省略されるか、図示していない更なるコンポネントがさらに含まれるか、2以上のコンポネントが結合される。
一方、このような前記コンピュータ装置は、望ましくは、パソコン又はサーバに該当し、場合によっては、スマートフォン(smart phone)と、タブレット(tablet)と、携帯電話機と、画像電話機と、電子本リーダ(e-book reader)と、デスクトップ(desktop)PCと、ラップトップ(laptop)PCと、ネットブック(netbook)PCと、個人用複合端末機(personal digital assistant: PDA 、以下‘PDA’という)と、ポータブル・マルチメディアプレーヤー(portable multimedia player: PMP、以下‘PMP’という)と、エムピ3プレーヤー(mp3 player)と、移動医療デバイスと、カメラと、ウェアラブルデバイス(wearable device)(一例として、ヘッド-マウントデバイス(head-mounted device: HMD、以下、‘HMD’という)と、電子衣類と、電子腕輪と、電子ネックレスと、電子Appcessoryと、電子タトゥー、又はスマートウォッチ(smart watch)などに該当する。
このようなコンピュータ装置は、接続されているか、又は内蔵されたスキャナ、カメラなどによって入力されたイメージに対して、前記前処理部1000及びイメージ圧縮部2000のプロセスを行って、イメージを最適化するか、又は外部からネットワークインターフェース部(B)を介して伝送されるか、又はメモリ(C)に既格納されたイメージに対して、前記前処理部1000及びイメージ圧縮部2000のプロセスを行って、イメージを最適化することができる。
又は、前記コンピュータ装置がサーバに該当する場合は、前記ネットワークインターフェース部(B)を介して伝送されたイメージを、前記前処理部1000及び前記イメージ圧縮部2000がイメージ最適化を行い、最適化されたイメージを、前記ネットワークインターフェース部を介して、再度、ユーザに伝送することもできる。
図3は、本発明の一実施例による前処理部1000の内部構成を概略的に示す図である。
前記前処理部1000は、原本イメージに対して、鮮鋭化処理、二値化処理、及びブラー処理の1以上を行うことで、原本イメージからノイズを除去し、テキストを鮮明にする動作を行う。
前記鮮鋭化処理は、イメージをより鮮明にする処理である。このような鮮鋭化処理を文書イメージに行う場合、テキスト部分のみがより鮮明で且つ明確にすることができる。このような鮮鋭化処理の一例としては、カラー値の差を有する各ピクセルの縁部分のコントラストを増やして鮮明にする処理である。このような鮮鋭化処理を行うことで、左右が異なる色境界部分の1ピクセルを、明るい部分はより明るく、暗い部分はより暗くすることで、原本イメージがより鮮明になる。一方、前記鮮鋭化処理は、通常の鮮鋭化処理を行うために、公知のアルゴリズムのいずれか1つを使用することができる。
前記ブラー処理は、イメージを不明にする処理である。一方、前記ブラー処理は、通常のブラー処理を行うために、公知のアルゴリズムのいずれか1つを使用する。より望ましくは、前記ブラー処理は、ガウシアンブラー(Gaussian Blur)処理に該当する。
前記二値化処理は、イメージを二値化する方式に該当する。一方、前記二値化処理は、通常の二値化処理を行うために、公知のアルゴリズムのいずれか1つを使用する。望ましくは、前記二値化処理は、イメージをグレーイメージに変換させ、グレーイメージの特定値を基準に二値化を行うスレッショルド(threshold)二値化処理であり、より望ましくは、周辺のピクセル値を用いて、可変的に二値化させる適応スレッショルド(adaptive threshold)二値化処理に該当する。
図3に示しているように、前記前処理部1000は、原本イメージに対して、鮮鋭化処理及び二値化処理を行うノイズ除去部1100と、前記ノイズ除去段階(S110)が行われた原本イメージを、イメージブロックに分割し、テキストが含まれたイメージブロックと、テキストが含まれたイメージブロックに対して異なる処理を行うブロック処理部1200とを含む。
望ましくは、前記ノイズ除去部1100は、原本イメージに対して、まず、鮮鋭化処理を行い、以後に、適応スレッショルド方式で原本イメージに対して、二値化処理を行う。
望ましくは、前記ブロック処理部1200は、一次的に、前記原本イメージをイメージブロックに分割する。イメージブロックは、図7に示しているように、イメージを複数のブロックの領域に区分したことを意味し、これについては、後述することにする。一方、イメージブロックに区分した後には、それぞれのイメージブロックの特性に対して判別などを行い、判別結果によって、イメージブロックのそれぞれに、異なるイメージ処理を行うことができる。
望ましくは、前記ブロック処理部1200は、それぞれのイメージブロックに対して、テキストが含まれているか否かを判別する。このようなテキストが含まれているかを判別する方法としては、イメージブロックの黒画素密度を測定して、黒画素密度が高い場合は、テキストが含まれたイメージブロックと判別するか、イメージブロックで連続的に連結された隣接画素グループをラベリングし、ラベリンググループの直線長さ又は対角線長さを測定して、これらに対するヒストグラムを基に、テキストがあるか否かを判別するか、又は、イメージブロックに対して、テキスト抽出アルゴリズムを行って、テキストが抽出されるかを判別するか、イメージブロックに対する統計的なヒストグラムを導出して、テキストが含まれる場合のヒストグラムとの類似性を判断する方法などが用いられる。
以後、前記ブロック処理部1200は、テキストが含まれたイメージブロックに対して、ブラー処理を行い、テキストが含まれない追加の鮮鋭化処理を行う。
このような方法によると、全体として、鮮鋭化処理及び二値化処理が行われた原本イメージに対して、更に、イメージブロックに区分された領域別にブラー処理又は鮮鋭化処理が行われる。よって、テキストが含まれたイメージブロックの場合は、鮮鋭化処理、二値化処理、鮮鋭化処理の順に行われ、テキストが含まれないイメージブロックの場合は、鮮鋭化処理、二値化処理、ブラー処理の順に行われる。このように、1つのイメージに対して、イメージブロックに区分し、イメージブロック別にテキストが含まれているか否かによって、異なる追加のイメージ処理を行うことで、文書イメージをより鮮明に変換しており、これは、後述するイメージ圧縮部2000の動作において、品質の低下をもたらすことなく、容量が減少する効果を発揮することができる。
図4は、本発明の一実施例によるノイズ除去を行ったイメージを示している。
図4の(A)は、一般のスキャナでスキャンした文書イメージの一部領域に該当する。これに対して、鮮鋭化処理、及び適応スレッショルド方式による二値化処理を行うものが、図4の(B)に該当する。
図4の(B)に示しているように、初期スキャナで、印刷時のノイズ、及び認識不明が前記ノイズ除去部1100の動作によって相当部分除去されていることが分かる。また、これに対して、イメージブロック単位別にブロック処理部1200がイメージ処理を行う場合、より鮮明な文書イメージを獲得することができる。
(イメージ圧縮システム)
図5は、本発明の一実施例によるイメージ圧縮部2000の内部構成を概略的に示す図である。便宜上、以下で説明されるイメージ圧縮部の動作又はイメージ圧縮段階は、前記前処理部1000で前処理が行われた前処理イメージの後続処理として説明する。但し、本発明は、これに限定されず、前処理が行われないイメージ(以下では、便宜上“原本イメージ”と称する)に対して、前記イメージ圧縮部2000が独立してイメージを圧縮する実施例を含む。
図5に示しているイメージ圧縮部2000は、前記前処理部1000で前処理が行われた前処理イメージに、画質の劣化を最小化し、且つイメージの容量を最適化する動作を行う。又は、前記イメージ圧縮部2000は、ユーザにより入力された原本イメージに対して、画質の劣化を最小化し、且つイメージの容量を最適化する動作を行う。
具体的に、前記イメージ圧縮部2000は、前記前処理イメージ又は原本イメージが、非可逆圧縮イメージ、可逆圧縮イメージ、及び非圧縮イメージのいずれのファイル形式に該当するかを判断するファイル形式判断部2100と、前記前処理イメージを複数のイメージブロックに分割するイメージブロック分割部2200と、前記前処理イメージ又は原本イメージのファイル形式により、異なる方法で前記前処理イメージ又は原本イメージを変換するイメージ変換部2300とを含む。
このようなイメージ圧縮部2000は、全ての前処理イメージ又は原本イメージに対して、同一の方法で変換(圧縮)を行うことではなく、前処理イメージ又は原本イメージの圧縮可否、つまり、圧縮であると、可逆可否を判断し、これにより、異なる方法で前処理イメージを変換するため、それぞれのイメージに対して、個別的に最適化を行えるというメリットがある。ここで、前処理イメージの場合、圧縮可否、つまり、圧縮であると、可逆可否は通常、前処理前の原本イメージによって決められる。
また、イメージ圧縮部2000は、イメージ変換を行うことにおいて、イメージ全領域について同じ方法でイメージ変換を行うことではなく、イメージを複数のイメージブロックに分割し、それぞれのイメージブロックの特性によって、異なる方法でイメージ変換を行うため、1つのイメージに対して、各部別に最適化した方法でイメージを変換することができるというメリットがある。
より望ましくは、前記イメージ圧縮部2000は、前記前処理イメージに対して、圧縮可否及び圧縮時の可逆可否により、異なる2以上の方法で変換を行い、2以上の変換されたイメージのいずれか1つを最終圧縮イメージとして選択するか、2以上の変換されたイメージに対する2以上の圧縮イメージのいずれか1つを最終圧縮イメージとして選択する。
例えば、前記イメージ圧縮段階(S200)は、非可逆圧縮イメージである場合は、A方法及びB方法でイメージを変換し、可逆圧縮イメージである場合は、C方法及びD方法でイメージを変換し、非圧縮イメージである場合は、E方法及びF方法でイメージを変換することができる。
以後、2つの方法で変換されたイメージに対して、再度、可逆又は非可逆圧縮を行った2つの圧縮イメージのうち、容量の小さい圧縮イメージを最終圧縮イメージとして選択するか、2つの変換イメージのうち、容量の小さい変換イメージを最終圧縮イメージとして選択するか、又は2つの変換イメージのうち、圧縮イメージの容量が小さい変換イメージを最終圧縮イメージとして選択することができる。
よって、前記のようなイメージ圧縮部2000の動作によると、圧縮可否、及び圧縮時の可逆可否によって、異なる方法で圧縮を行うだけでなく、該当カテゴリーにおいても、複数の圧縮方式で圧縮を行い、このうち、より最適化された圧縮イメージを選択することで、それぞれのイメージに対して効率よく、画質の劣化を最小化する圧縮を提供することができる。
より望ましくは、前記イメージ圧縮部2000における前記圧縮イメージの圧縮方法は、前記前処理イメージ又は原本イメージの圧縮方式と同一である。すなわち、前処理イメージ又は原本イメージが非可逆圧縮イメージである場合、前処理イメージ又は原本イメージに対して、A及びB方法でイメージ変換を行い、これに対して、再度、圧縮を行った後に、このうち、容量の少ないものを最終圧縮イメージとして選定するような場合、前記再度圧縮を行う時の圧縮方法は、前処理イメージ又は原本イメージの元の圧縮方式である非可逆圧縮で行うのが望ましい。
また、本発明の一実施例では、該当カテゴリーにおいて、複数の圧縮方式で圧縮を行うことにおいても、イメージの全領域に対して、同一のアルゴリズムで圧縮を行うことではなく、イメージブロック別に特性を判別し、これにより、イメージブロック別に最適化された圧縮を行うため、それぞれの圧縮方式でも、より最適の圧縮を行えるというメリットがある。
望ましくは、前記イメージ変換部2300は、前記前処理イメージのイメージブロックの複雑度又は色相数を判断し、それぞれのイメージブロックに対して、異なるイメージ処理を行う。前記イメージ変換部2300は、複雑度を判断する複雑度判断部、及び/又は色相数を判断する色相数判断部を含む(図示せず)。
複雑度判断部は、前記イメージを構成するイメージブロック又は前記イメージを構成する細部領域に対して、それぞれイメージ複雑度を算出する。本明細書において、イメージの複雑な程度(イメージ複雑度)とは、イメージが変化する程度を言う。
このような複雑度判断部は、画素値判断部、色相数判断部、及び量子化判断部の1以上を含むのが望ましい。一方、複雑度判断部は、前記画素値判断部、色相数判断部、及び量子化判断部の1つを用いて、複雑度を判断してもよく、2以上の判断結果によって、複雑度を判断してもよい。
一方、色相数判断部は、前記複雑度判断部に含まれている色相数判断部と同一である。
画素値判断部は、前記イメージを構成するイメージブロック又は前記イメージを構成する細部領域に対して、それぞれグレーイメージ(gray image)に変換した後、画素値の変化量を測定して、イメージ複雑度を算出する。ここで、前記グレーイメージは、明度情報、すなわち明暗程度に関する情報だけで表現されるイメージを意味する。通常、前記グレーイメージを表現するグレーレベルは、28(=256)個のレベルを有する。前記グレーレベルが0に近接するほど暗く、255に近接するほど明るいイメージとなる。
画素値判断部は、グレーイメージに変換された前記イメージを構成するイメージブロック又は前記イメージを構成する詳細領域の画素別に、特定の画素値との差(差分値)を求めた後に、画素値の差の平均して計算される変化量を算出し、このような変化量が既設定された値以上であるか否かを判断することができる。
差分値の平均が高いとは、グレーイメージに変換された前記イメージを構成するイメージブロック、又は前記イメージを構成する詳細領域に相応する部分のイメージ複雑度が高いことを意味する。この時、前記画素値判断部は、グレーイメージに変換された前記イメージを構成するイメージブロック、又は前記イメージを構成する詳細領域に対して、前記変化量が既設定された値以上の場合は、イメージ複雑度が高いことと、反対に既設定された値未満の場合は、イメージ複雑度が低いことと判断することになる。
色相数判断部は、前記イメージを構成するイメージブロック、又は前記イメージを構成する詳細領域に対してそれぞれ、色相数を測定して、イメージ複雑度を算出する。特に、色相数判断部は、前記イメージを構成するイメージブロック、又は前記イメージを構成する詳細領域について、それぞれの色相数が特定の色相数以上であるか否かを判断して、イメージ複雑度を算出することができる。この時、色相数判断部は、前記イメージを構成するイメージブロック、又は前記イメージを構成する詳細領域に対して、前記色相数が既設定された基準色相数(Nc_standard)以上又は超えの場合は、イメージ複雑度が高いことと、反対に既設定された基準色相数(Nc_standard)未満又は以下の場合は、イメージ複雑度が低いことと判断することになる。
量子化判断部は、所定の量子化レベルを基に、前記イメージを構成するイメージブロック、又は前記イメージを構成する詳細領域に対してそれぞれを量子化した後、これに相応するヒストグラムを基に、量子化レベルの全体的な分布を測定して、イメージ複雑度を算出する。このために、まず、量子化判断部は、前記イメージを構成するイメージブロック、又は前記イメージを構成する詳細領域に対して、それぞれ量子化を行い、量子化されたイメージを生成する。量子化に際して、整数値0、1、2、…、2n-1で構成された2n個の量子化レベルで、前記イメージを構成するイメージブロック、又は前記イメージを構成する詳細領域のそれぞれを構成する各画素値が構成される。
量子化区分値は、ヒストグラム(histogRAM)上の中間値(median)を基準にする。例えば、4値量子化の場合、ヒストグラム値が25%、50%、75%を基準に行われることを仮定する。一方、前記ヒストグラムは、度数分布を示すグラフであって、観測したデータの分布特徴が一目で見えるように、柱状で示している。前記ヒストグラムは、柱グラフなどと呼ばれる。この時、前記ヒストグラムの横軸に、各量子化レベルが所定の間隔をもって示され、縦軸に各量子化レベルに分布する画素の度数(以下、画素の数という)が、所定の間隔をもって示されている。すなわち、前記ヒストグラムは、各量子化レベル間の区間別に、該当区間での画素の数を、比例する高さの柱で示される。
量子化判断部は、前記イメージを構成するイメージブロック、又は前記イメージを構成する詳細領域に対してそれぞれ、量子化を行った結果を示すヒストグラムを分析して、量子化レベルの平均値を求めた後に、量子化レベルの平均値が属する所定の範囲をはずす(量子化レベルの平均値をはずす)画素の数が、既設定された数以上であるか否かを判断して、イメージ複雑度を算出することができる。
例示的に、量子化判断部は、前記イメージを構成するイメージブロック、又は前記イメージを構成する詳細領域に対してそれぞれ、量子化を行った結果を示すヒストグラムにおいて、平均値をはずす画素の数が50%以上である場合、イメージ複雑度が高いことと判断することができる。
図6は、本発明の一実施例によるファイル形式判断部2100の動作を概略的に示す。
図6に示しているように、前記ファイル形式判断部2100は、前処理イメージ又は原本イメージが、非可逆圧縮イメージ、可逆圧縮イメージ、及び非圧縮イメージのいずれのファイル形式に該当するかを判断する。すなわち、イメージの圧縮可否、つまり、圧縮であると、いずれの形式の圧縮であるかを判断し、前記ファイル形式判断部2100における判断結果によって、イメージ変換部2300は、異なる方式でイメージ圧縮を行う。
図7は、本発明の一実施例によるイメージブロックを例示的に示す。
図7の(A)は、原本イメージ又は前処理イメージを、2X2のイメージブロックに区分した例を示し、図7の(B)は、原本イメージ又は前処理イメージを、4X4のイメージブロックに区分した例を示し、図7の(C)は、原本イメージ又は前処理イメージを、8X8のイメージブロックに区分した例を示している。
本発明のイメージブロックに対する区分方法は、前記図7に限定されるものではなく、様々な形態で設定することができる。また、前記イメージブロック分割部2200により区分されるイメージブロックは、定型性を有することなく、領域毎に異なる基準で設定される。
図8は、本発明の一実施例によるイメージ変換部2300の内部構成を概略的に示す。
前記イメージ圧縮部2000は、前記前処理イメージが、非可逆圧縮イメージ、可逆圧縮イメージ、及び非圧縮イメージのいずれのファイル形式に該当するかを判断し、このようなファイル形式によって、前記イメージ変換部2300は、異なる方法で前記前処理イメージを変換する。
すなわち、イメージ変換部2300は、異なる方法を行う非可逆圧縮イメージ変換部2310と、可逆圧縮イメージ変換部2320と、非圧縮イメージ変換部2330とを含み、非可逆圧縮イメージ変換部2310、可逆圧縮イメージ変換部2320、非圧縮イメージ変換部2330は、互いに異なる方法でイメージを圧縮することができる。但し、本発明の他の実施例では、例えば、2つの変換部が同一の方法でイメージを圧縮してもよい。例えば、非可逆圧縮イメージ変換部2310、及び可逆圧縮イメージ変換部2320は、同一の方法でイメージを圧縮し、非圧縮イメージ変換部2330は、これと異なる方法でイメージを圧縮することができる。
図9は、本発明の一実施例による非可逆圧縮イメージの場合に、イメージ変換部2300の動作を概略的に示している。
ここで、イメージ変換部2300の動作は、前記非可逆圧縮イメージ変換部2310の動作を意味する。
望ましくは、前記前処理イメージ又は原本イメージが非可逆圧縮イメージである場合、2以上の方法で、前記前処理イメージ又は原本イメージを変換して2以上の変換イメージを生成し、前記変換イメージに対して非可逆圧縮を行って、2以上の圧縮イメージを生成し、前記2以上の圧縮イメージのうち、少ない容量を有するイメージを、最終圧縮イメージとして選択する。
望ましくは、前記イメージ変換部2300は、前記前処理イメージ又は原本イメージのイメージブロック別に複雑度を判断し、前記複雑度によって、イメージブロック別にブラー処理を行って、第1の変換イメージを生成し、前記前処理イメージ又は原本イメージに対して、ブラー処理を行い、前記前処理イメージ又は原本イメージのエッジ領域を抽出し、前記ブラー処理が行われた前処理イメージ又は原本イメージにおいて、前記エッジ領域に対応する領域に対しては、前記前処理イメージ又は原本イメージの原本領域を結合して、第2の変換イメージを生成する。
以後、前記イメージ変換部2300は、前記第1の変換イメージ及び前記第2の変換イメージのうち、容量の小さいイメージを、最終圧縮イメージとして選択又は出力するか、又は第1の変換イメージ及び前記第2の変換イメージに対して、圧縮を行い、圧縮が行われた第1の圧縮イメージ及び第2の圧縮イメージのうち、容量の小さいイメージを、最終圧縮イメージとして選択又は出力するか、又は、第1の変換イメージ及び前記第2の変換イメージに対して圧縮を行い、圧縮が行われた第1の圧縮イメージ及び第2の圧縮イメージのうち、第1の圧縮イメージが容量が小さいと、第1の変換イメージを、最終圧縮イメージとして選択又は出力するか、第2の圧縮イメージが容量が小さいと、第2の変換イメージを、最終圧縮イメージとして選択又は出力することができる。
以下では、本発明の一実施例をより詳しく説明することにする。
図9の(A)は、9個のイメージブロックに区分された前処理イメージ又は原本イメージを示している。
図9の(B1乃至D1)は、第1の方法で非可逆圧縮イメージを変換する過程を示す。具体的に図9の(B1)は、前記前処理イメージ又は原本イメージのそれぞれのイメージブロックに対して、複雑度を判断する。複雑度判断は、前述した複雑度判断部における判断と同一である。
例示的に、図9の(B1)では、(2、1)、(2、2)、(2、3)のイメージブロックの複雑度が、既設定された基準に比較して、低いと判断されている。
以後、前記イメージ変換部2300は、(2、1)、(2、2)、(2、3)のイメージブロックに対して、ブラー処理を行う。ブラー処理が行われたイメージブロックに対しては、“B”を表記している(図9の(C1))。
以後、前記イメージ変換部2300は、全体のイメージに対して、非可逆圧縮を行う。非可逆圧縮が行われたイメージは、図9の(D1)に示している。
図9の(B2乃至D2)は、第2の方法で非可逆圧縮イメージを変換する過程を示す。具体的に、図9の(B2)は、前記前処理イメージ又は原本イメージから二値化を行ってエッジイメージを生成し、また、前処理イメージ又は原本イメージの全体に対して、ブラー処理を行った2つのイメージを示す。
以後、前記イメージ変換部2300は、ブラー処理を行ったイメージ(下段のイメージ)を基本とし、エッジイメージで読み取られたエッジ領域に、相応する原本イメージ(前処理イメージ又は原本イメージ)の領域を合成する(図9の(C2))。
以後、前記イメージ変換部2300は、全体イメージに対して、非可逆圧縮を行う。非可逆圧縮が行われたイメージは、図9の(D2)に示している。
より具体的に、エッジイメージとは、イメージに対して、高周波領域に該当する隅領域のエッジ(edge)を算出したイメージをいう。より望ましくは、前記イメージ変換部2300は、前記エッジイメージに対して二値化を行い、エッジ二値化イメージを生成する。この場合、エッジ二値化イメージの各画素の画素値は、0(黒)又は1(白)となる。
以後、イメージ変換部2300は、二値化イメージ生成部で生成されたエッジイメージにおいて、0の値を有する画素に対応する原本イメージの領域を、前記ブラー処理したイメージに合成する。
以後、前記イメージ変換部2300は、図9の(D1)に示している第1の圧縮イメージと、図9の(D2)に示している第2の圧縮イメージとの容量を比較し、このうち、容量が小さいものを、最終圧縮イメージとして選択又は出力することができる。
図10は、本発明の一実施例による可逆圧縮イメージの場合において、イメージ変換部2300の動作を概略的に示している。
ここで、イメージ変換部2300の動作は、前記可逆圧縮イメージ変換部2320の動作を意味する。
望ましくは、前記前処理イメージが可逆圧縮イメージである場合、2以上の方法で前記前処理イメージを変換して、2以上の変換イメージを生成し、前記変換イメージに対して、可逆圧縮を行って、2以上の圧縮イメージを生成し、前記2以上の圧縮イメージのうち、少ない容量を有するイメージを、最終圧縮イメージとして選択する。
望ましくは、前記イメージ圧縮部2000は、前記前処理イメージのイメージブロック別に色相数を判断し、前記色相数によって、イメージブロック別に異なるディザリング処理を行って、第1の変換イメージを生成し、前記前処理イメージのイメージブロック別に複雑度を判断して、前記複雑度によって、イメージブロック別に異なるディザリング処理及びブラー処理を行って、第2の変換イメージを生成する。
ここで、ディザリング(dithering)処理とは、イメージの色空間の差から生じる欠点を補う画像処理を意味し、原本イメージよりも少ない数の色相数を有するイメージに変換する。より具体的に、色相数が既設定された第1の色相数(Nc_1)未満のイメージブロックに対して、既設定されたビット数よりも低いビット数(例えば、原本イメージのビット数が24ビットであり、既設定されたビット数が16ビットであるとすると、7、8、9、12、又は15ビット)でディザリング処理する一方、色相数が既設定された第2の色相数(Nc_2; Nc_2≧Nc_1、 Nc_2は、原本イメージ全体の色相数以下)以上であるイメージブロックに対しては、既設定されたビット数よりも高いビット数(例えば、原本イメージのビット数が24ビットであり、既設定されたビット数が16ビットであるとすると、18又は21ビット)でディザリング処理して、変換イメージを生成することができる。
より望ましくは、色相数によって区間を設定し、それぞれの区間に対して、それぞれ異なるディザリングを行う。色相数が高い区間に対しては、高いビット数のディザリングを行い、色相数が低い区間に対しては、低いビット数のディザリングを行い、色相数が非常に高い区間に対しては、ディザリングを行わなくてもよい。例えば、色相数がN1〜N2区間(第1の区間)では、8ビットのディザリングを行い、N2〜N3区間(第2の区間)では、16ビットのディザリングを行い、N3〜N4区間(第3の区間)では、24ビットのディザリングを行い、N4以上(第4の区間)では、ディザリングを行わなくてもよい。
以後、前記イメージ変換部2300は、前記第1の変換イメージ及び前記第2の変換イメージのうち、容量の小さいイメージを最終圧縮イメージとして選択又は出力するか、又は第1の変換イメージ及び前記第2の変換イメージに対して圧縮を行い、圧縮が行われた第1の圧縮イメージ及び第2の圧縮イメージのうち、容量の小さいイメージを最終圧縮イメージとして選択又は出力するか、又は、第1の変換イメージ及び前記第2の変換イメージに対して圧縮を行い、圧縮が行われた第1の圧縮イメージ及び第2の圧縮イメージのうち、第1の圧縮イメージが容量が小さいと、第1の変換イメージを、最終圧縮イメージとして選択又は出力するか、第2の圧縮イメージが容量が小さいと、第2の変換イメージを、最終圧縮イメージとして選択又は出力することができる。
以下では、本発明の一実施例をより詳しく説明することにする。
図10の(A)は、9個のイメージブロックに区分された前処理イメージを示している。
図10の(B1〜D1)は、第1の方法で可逆圧縮イメージを変換する過程を示す。具体的に、図10の(B1)は、前記前処理イメージのそれぞれのイメージブロックに対して、色相数を判断する。色相数の判断は、前述した色相附判断部における判断と同一である。
例示的に、図10の(B1)では、(1、2)、(2、2)、(3、2)のイメージブロックの色相数が、既設定された基準に比較して、低いと判断されている。
以後、前記イメージ変換部2300は、(1、2)、(2、2)、(3、2)のイメージブロックに対して、低いビット数のディザリング処理を行い、残りのイメージブロックに対しては、高いビット数のディザリング処理を行う。又は、本発明の他の実施例では、非常に高い色相数を有するイメージブロックに対しては、ディザリング処理を行わなくてもよい。高いビット数のディザリング処理が行われたイメージブロックに対しては、“HD”を標記し、低いビット数のディザリング処理が行われたイメージブロックに対しては、“LD”を表記している(図10の(C1))。
以後、前記イメージ変換部2300は、全体のイメージに対して、可逆圧縮を行う。可逆圧縮が行われたイメージは、図10の(D1)が示す。
図10の(B2〜D2)は、第2の方法で可逆圧縮イメージを変換する過程を示す。具体的に図10の(B2)は、前記前処理イメージのそれぞれのイメージブロックに対して、複雑度を判断する。複雑度判断は、前述した複雑度判断部における判断と同様である。
例示的に図10の(B1)では、(1、2)、(2、2)、(3、2)のイメージブロックの色相数が、既設定された基準と比較して、低いと判断されている。
以後、前記イメージ変換部2300は、(1、2)、(2、2)、(3、2)のイメージブロックに対して、ブラー処理をした後に、低いビット数のディザリング処理を行い、残りのイメージブロックに対しては、高いビット数のディザリング処理を行う。又は、本発明の他の実施例では、非常に高い色相数を有するイメージブロックに対しては、ディザリング処理を行わない。ブラー処理が行われたイメージブロックに対しては、“B”を表記し、高いビット数のディザリング処理が行われたイメージブロックに対しては、“HD”を表記し、低いビット数のディザリング処理が行われたイメージブロックに対しては、“LD”を表記している(図10の(C2))。
以後、前記イメージ変換部2300は、全体のイメージに対して可逆圧縮を行う。可逆圧縮が行われたイメージは、図10の(D2)に示している。
以後、前記イメージ変換部2300は、図10の(D1)に示されている第1の圧縮イメージと、図10の(D2)に示されている第2の圧縮イメージとの容量を比較し、このうち、容量の小さいものを、最終圧縮イメージとして選択又は出力することができる。
図11は、本発明の一実施例による非圧縮イメージの場合において、イメージ変換部2300の動作を概略的に示している。
ここで、イメージ変換部2300の動作は、前記非圧縮イメージ変換部2330の動作を意味する。
望ましくは、前記前処理イメージが非圧縮イメージの場合に、2以上の方法で前記前処理イメージを変換して、2以上の変換イメージを生成し、前記変換イメージに対して可逆圧縮を行って、2以上の圧縮イメージを生成し、前記変換イメージのうち、前記2以上の圧縮イメージが少ない容量を有する変換イメージを、最終圧縮イメージとして選択する。
望ましくは、前記イメージ圧縮部2000は、前記前処理イメージのイメージブロック別に色相数を判断し、前記色相数によって、イメージブロック別に異なるディザリング処理を行って、第1の変換イメージを生成し、前記前処理イメージのイメージブロック別に複雑度を判断し、前記複雑度によって、イメージブロック別に異なるディザリング処理及びブラー処理を行って、第2の変換イメージを生成する。
以後、前記イメージ変換部2300は、前記第1の変換イメージ及び前記第2の変換イメージのうち、容量の小さいイメージを最終圧縮イメージとして選択又は出力するか、又は、第1の変換イメージ及び前記第2の変換イメージに対して圧縮を行い、圧縮が行われた第1の圧縮イメージ及び第2の圧縮イメージのうち、容量の小さいイメージを最終圧縮イメージとして選択又は出力するか、又は、第1の変換イメージ及び前記第2の変換イメージに対して圧縮を行い、圧縮が行われた第1の圧縮イメージ及び第2の圧縮イメージのうち、第1の圧縮イメージが容量が小さいと、第1の変換イメージを最終圧縮イメージとして選択又は出力するか、第2の圧縮イメージが容量が小さいと、第2の変換イメージを最終圧縮イメージとして選択又は出力することができる。
第1の変換イメージ及び前記第2の変換イメージに対して圧縮を行い、圧縮が行われた第1の圧縮イメージ及び第2の圧縮イメージのうち、第1の圧縮イメージが容量が小さいと、第1の変換イメージを最終圧縮イメージとして選択又は出力するか、第2の圧縮イメージの容量が小さいと、第2の変換イメージを最終圧縮イメージとして選択又は出力する場合は、一旦、原本のような非圧縮イメージで最終圧縮イメージを出力することができ、このような非圧縮イメージが、後で全体として圧縮などが行われる場合、全体的な容量をより減少することができる。
以下では、本発明の一実施例をより詳しく説明することにする。
図11の(A)は、9個のイメージブロックに区分された前処理イメージを示す。
図11の(B1乃至D1)は、第1の方法で可逆圧縮イメージを変換する過程を示す。具体的に、図11の(B1)は、前記前処理イメージのそれぞれのイメージブロックに対して、色相数を判断する。色相数判断は、前述した色相数判断部における判断と同様である。
例示的に、図11の(B1)では、(1、2)、(2、2)、(3、2)のイメージブロックの色相数が、既設定された基準と比較して、低いと判断されている。
以後、前記イメージ変換部2300は、(1、2)、(2、2)、(3、2)のイメージブロックに対して、低いビット数のディザリング処理を行い、残りのイメージブロックに対しては、高いビット数のディザリング処理を行う。又は、本発明の他の実施例では、非常に高い色相数を有するイメージブロックに対しては、ディザリング処理を行わない。高いビット数のディザリング処理が行われたイメージブロックに対しては、“HD”を表記し、低いビット数のディザリング処理が行われたイメージブロックに対しては、“LD”を表記している(図11の(C1))。
以後、前記イメージ変換部2300は、全体イメージに対して、可逆圧縮を行う。可逆圧縮が行われたイメージは、図11の(D1)に示している。
図11の(B2〜D2)は、第2の方法で可逆圧縮イメージを変換する過程を示す。具体的に図11の(B2)は、前記前処理イメージのそれぞれのイメージブロックに対して、複雑度を判断する。複雑度判断は、前述した複雑度判断部における判断と同様である。
例示的に、‘図11の(B1)では、(1、2)、(2、2)、(3、2)のイメージブロックの色相数が、既設定された基準と比較して、低いと判断されている。
以後、前記イメージ変換部2300は、(1、2)、(2、2)、(3、2)のイメージブロックに対して、ブラー処理をした後に、低いビット数のディザリング処理を行い、残りのイメージブロックに対しては、高いビット数のディザリング処理を行う。又は、本発明の他の実施例では、非常に高い色相数を有するイメージブロックに対しては、ディザリング処理を行わない。ブラー処理が行われたイメージブロックに対しては、“B”を表記し、高いビット数のディザリング処理が行われたイメージブロックに対しては、“HD”を表記し、低いビット数のディザリング処理が行われたイメージブロックに対しては、“LD”を表記している(図11の(C2))。
以後、前記イメージ変換部2300は、全体イメージに対して可逆圧縮を行う。可逆圧縮が行われたイメージは、図11の(D2)に示している。
以後、前記イメージ変換部2300は、図11の(D1)に示されている第1の圧縮イメージと、図11の(D2)に示されている第2の圧縮イメージとの容量を比較し、このうち、容量の小さい圧縮イメージを有する変換イメージを、最終圧縮イメージとして選択又は出力することができる。
文書イメージの最適化方法
以下では、本発明のイメージを最適化する方法について説明することにする。
本発明のイメージを最適化する方法は、図2〜図11で説明したイメージを最適化する装置によって行うことができる。よって、イメージを最適化する装置で説明した内容と重複した内容は、省略することにする。
図12は、本発明の一実施例による文書イメージを最適化する方法の段階を概略的に示している。
本実施例によると、原本イメージからノイズを除去し、テキストを鮮明にして前処理イメージを生成する前処理段階(S100)を行う。このような前処理段階では、イメージ処理方式のうち、鮮鋭化処理、二値化処理、及びブラー処理の1以上を行う。このような前処理段階(S100)を行うことで、原本イメージが前処理イメージに変換され、前処理イメージは、文書イメージの場合よりもテキストの鮮明度が増加する。
また、本発明による文書イメージを最適化する方法は、前記前処理イメージに対して、イメージ圧縮を行うイメージ圧縮段階(S200)を更に含む。この場合、前記前処理が行われた前処理イメージに対して、更なるイメージ処理、すなわち、イメージ圧縮を行うことで、より文書イメージの容量を減少することができる。
望ましくは、前記イメージ圧縮段階(S200)は、前記前処理イメージの圧縮可否及び圧縮時の可逆可否によって、異なる方法で圧縮を行う。ここで、前記前処理イメージの圧縮可否及び圧縮時の可逆可否は、基本的に、原本イメージの圧縮可否及び圧縮時の可逆可否によって決められる。このような方法で、それぞれ他の種類の原本イメージに対して、原本イメージのファイル形式を変更することなく、文書イメージとして最適化を行うことができる。
また、原本イメージの圧縮可否及び圧縮時の可逆可否を考えて、異なる方法で圧縮を行うことで、原本イメージ又は前処理イメージの画質劣化を最小化し、且つ、容量を減らす効果を発揮することができる。
また、イメージ圧縮段階(S200)が、前記前処理段階(S100)の後に行われるので、イメージ圧縮段階(S200)における効果を維持し、且つ、イメージの最適化が行えるというメリットがある。
図13は、本発明の一実施例による前処理段階の細部段階を概略的に示している。
図13に示しているように、前記前処理段階(S100)は、原本イメージに対して、鮮鋭化処理、及び二値化処理を行うノイズ除去段階(S110)と、前記ノイズ除去段階(S110)が行われた原本イメージをイメージブロックに分割し、テキストが含まれたイメージブロックと、テキストが含まれたイメージブロックに対して異なる処理を行うブロック処理段階(S120)とを含む。
望ましくは、前記ノイズ除去段階(S110)は、原本イメージに対して、まず、鮮鋭化処理を行い、以後に、適応スレッショルド方式で原本イメージに対して、二値化処理を行う。
望ましくは、前記ブロック処理段階(S120)は、一次的に、前記原本イメージをイメージブロックに分割する。イメージブロックとは、図7に示しているように、イメージを複数のブロックの領域に区分したことを意味する。一方、イメージブロックに区分した後には、それぞれのイメージブロックの特性に対して判別などを行い、判別結果によって、イメージブロックのそれぞれの異なるイメージ処理を行うことができる。
図14は、本発明の一実施例によるブロック処理段階(S120)の細部段階を概略的に示している。
本実施例では、望ましくは、前記ブロック処理段階(S120)は、イメージをイメージブロックに分割する前処理イメージブロック分割段階(S121)と、分割されたイメージブロックに対して、テキストが含まれているか否かを判別するテキスト包含判別段階(S122)と、テキストの包含可否によって、ブラー処理又は鮮鋭化処理を行うブラー/鮮鋭化処理段階(S123)とを含む。イメージブロックとは、図7に示しているように、イメージを複数のブロックの領域に区分したことを意味する。一方、イメージブロックに区分した後には、それぞれのイメージブロックの特性に対して判別などを行い、判別結果によって、イメージブロックのそれぞれが異なるイメージ処理を行うことができる。
望ましくは、前記ブロック処理段階(S120)は、それぞれのイメージブロックに対して、テキストが含まれているか否かを判別する。このようなテキストが含まれているかを判別する方法としては、イメージブロックの黒画素密度を測定して、黒画素密度が高い場合は、テキストが含まれたイメージブロックと判別するか、イメージブロックで連続的に連結されている隣接画素グループをラベリングし、ラベリンググループの直線長さ又は対角線長さを測定して、これらに対するヒストグラムを基に、テキストがあるか否かを判別するか、又は、イメージブロックに対して、テキスト抽出アルゴリズムを行って、テキストが抽出されるかを判別するか、イメージブロックに対する統計的なヒストグラムを導出して、テキストが含まれる場合のヒストグラムとの類似性を判断する方法などが用いられる。
以後、前記ブロック処理段階(S120)は、テキストが含まれたイメージブロックに対して、鮮鋭化処理を行い、テキストが含まれないイメージブロックに対して、ブラー処理を行う。
このような方法によると、全体として、鮮鋭化処理及び二値化処理が行われた原本イメージに対して、更に、イメージブロックに区分された領域別に、ブラー処理又は鮮鋭化処理が行われる。よって、テキストが含まれたイメージブロックの場合は、鮮鋭化処理、二値化処理、鮮鋭化処理の順に行われ、テキストが含まれないイメージブロックの場合は、鮮鋭化処理、二値化処理、ブラー処理の順に行われる。このように、1つのイメージに対して、イメージブロックに区分し、イメージブロック別にテキストが含まれているか否かによって、異なる更なるイメージ処理を行うことで、文書イメージをより鮮明に変換し、これは、後述するイメージ圧縮段階(S200)において、品質を低下することなく、容量が減少する効果を発揮することができる。
(イメージ圧縮方法)
図15には、本発明の一実施例によるイメージ圧縮段階(S200)の細部段階を概略的に示している。便宜上、以下で説明するイメージ圧縮段階の動作は、前記前処理段階において、前処理が行われた前処理イメージの後続処理として説明する。但し、本発明は、これに限定されず、前処理が行われないイメージ(以下では、便宜上“原本イメージ”という)に対して、前記イメージ圧縮段階(S200)が独立してイメージを圧縮する実施例を含む。
イメージ圧縮段階(S200)は、前記前処理段階(S100)において前処理が行われた前処理イメージ、又は入力された原本イメージへの画質の劣化を最小化し、且つ、イメージの容量を最適化する動作を行う。
具体的に、前記イメージ圧縮段階(S200)は、前記前処理イメージ又は原本イメージが、非可逆圧縮イメージ、可逆圧縮イメージ、及び非圧縮イメージのいずれのファイル形式に該当するかを判断するファイル形式判断段階(S210)と、前記前処理イメージ又は原本イメージを複数のイメージブロックに分割するイメージブロック分割段階(S220)と、前記前処理イメージのファイル形式によって、異なる方法で、前記前処理イメージ又は原本イメージを変換するイメージ変換段階(S230)とを含む。
このようなイメージ圧縮段階(S200)は、全ての前処理イメージ又は原本イメージに対して、同一の方法で変換(圧縮)を行うことではなく、前処理イメージ又は原本イメージの圧縮可否、つまり、圧縮であると、可逆可否を判断し、これにより、異なる方法で前処理イメージ又は原本イメージを変換するため、それぞれのイメージに対して、個別的に最適化を行うことができるというメリットがある。ここで、前処理イメージ又は原本イメージの圧縮可否、つまり圧縮であると、可逆可否は、通常的に原本イメージによって決められる。
また、イメージ圧縮段階(S200)は、イメージ変換をすることに当たり、イメージの全領域に対して、同一の方法でイメージ変換を行うことではなく、イメージを複数のイメージブロックに分割し、それぞれのイメージブロックの特性によって、異なる方法でイメージ変換を行うため、1つのイメージに対して、各部別に最適化された方法でイメージを変換することができるメリットがある。
より望ましくは、前記イメージ圧縮段階(S200)は、前記前処理イメージ又は原本イメージに対して、圧縮可否及び圧縮時の可逆可否によって、異なる2以上の方法で変換を行い、2以上の変換されたイメージのいずれか1つを、最終圧縮イメージとして選択するか、又は2以上の変換されたイメージに対する2以上の圧縮イメージのいずれか1つを、最終圧縮イメージとして選択する。
例えば、前記イメージ圧縮段階(S200)は、非可逆圧縮イメージである場合は、A方法及びB方法でイメージを変換し、可逆圧縮イメージである場合は、C方法及びD方法でイメージを変換し、非圧縮イメージである場合は、E方法及びF方法でイメージを変換することができる。
以後、2つの方法で変換されたイメージに対して、再度、非可逆又は可逆圧縮を行った2つの圧縮イメージのうち、容量の小さい圧縮イメージを最終圧縮イメージとして選択するか、又は2つの変換イメージのうち、容量の小さい変換イメージを最終圧縮イメージとして選択するか、又は2つの変換イメージのうち、容量が小さい変換イメージを最終圧縮イメージとして選択することができる。
よって、前記のようなイメージ圧縮段階(S200)によると、圧縮可否及び圧縮時の可逆可否によって、異なる方法で圧縮を行うだけでなく、該当カテゴリーにおいても、複数の圧縮方式で圧縮を行い、より最適化した圧縮イメージを選択することでよって、それぞれのイメージに対して、より効率よく、且つ画質の劣化を最小化する圧縮を提供することができる。
より望ましくは、前記イメージ圧縮段階(S200)において、前記圧縮イメージの圧縮方法は、前記前処理イメージ又は原本イメージの圧縮方式と同一である。すなわち、前処理イメージ又は原本イメージが非可逆圧縮イメージである場合に、前処理イメージ又は原本イメージに対して、A及びB方法でイメージ変換を行い、これに対して、再度、圧縮を行った後に、このうち、容量の少ないことを最終圧縮イメージとして選定するような場合、前記再度圧縮を行う時の圧縮方法は、前処理イメージ又は原本イメージの元の圧縮形式である非可逆圧縮で行うのが望ましい。
また、本発明の一実施例では、該当カテゴリーにおいて、複数の圧縮方式で圧縮を行うことにおいても、イメージ全領域に対して、同一のアルゴリズムで圧縮を行うことではなく、イメージブロック別に特性を判別し、これによって、イメージブロック別に最適化された圧縮を行うため、それぞれの圧縮方式でも、より最適の圧縮を行うことができるというメリットがある。
望ましくは、前記イメージ変換段階(S230)は、前記前処理イメージ又は原本イメージのイメージブロックの複雑度又は色相数を判断し、それぞれのイメージブロックに対して、異なるイメージ処理を行う。前記イメージ変換段階(S230)は、複雑度を判断する複雑度判断段階及び/又は、色相数を判断する色相数判断段階を含む(図示せず)。
複雑度判断段階は、前記イメージを構成するイメージブロック、又は前記イメージを構成する細部領域に対してそれぞれ、イメージ複雑度を算出する。本明細書において、イメージの複雑な程度(イメージ複雑度)とは、イメージが変化する程度を言う。
図16には、本発明の一実施例による非可逆圧縮イメージの場合において、イメージ変換段階(S230)の細部段階を概略的に示している。
これに関する説明は、図9における説明の一部と重複しているので、省略することにする。
図17には、本発明の一実施例による可逆圧縮イメージの場合において、イメージ変換段階(S230)の細部段階を概略的に示している。
これに関する説明は、図10における説明の一部と重複しているので、省略することにする。
図18には、本発明の一実施例による非圧縮イメージの場合において、イメージ変換段階(S230)の細部段階を概略的に示している。
これに関する説明は、図11における説明の一部と重複しているので、省略することにする。
(動画圧縮方法、装置、及びこれに対するコンピュータプログラム)
図1に示している動画圧縮装置11000は、動画の圧縮対象フレームが独立してエンコードされたフレームであるか否かを判別するフレームタイプ判別部10100と、既設定された基準によって、前記圧縮対象フレームを複数のイメージブロックに区分するブロック区分部10200と、前記圧縮対象フレームの前フレーム、後フレーム、及び複数の前フレームが累積されたフレームの1以上と比較して、前記圧縮対象フレームの部分のうち、変化がある部分又はイメージブロックを判別する変更ブロック判別部10300と、動画圧縮装置11000の内部コンポネントの機能を制御する制御部10400と、第1の方法により、圧縮対象フレームの処理対象イメージ領域の一部又は全体が変換された第1の変換フレームを生成する第1のフレーム変換部10500と、前記第1の方法と異なる第2の方法により、圧縮対象フレームの処理対象イメージ領域の一部又は全体が変換された第2の変換フレームを生成する第2のフレーム変換部10600と、前記第1の変換フレーム及び前記第2の変換フレームの1以上に対して、圧縮を行うフレーム圧縮部10700と、前記フレーム圧縮部10700で圧縮された2以上の圧縮フレーム、又は前記変換フレームに対して比較を行って、容量が少ないフレームを、最終的な圧縮フレームに設定するフレーム比較部10800とを含む。
前記フレームタイプ判別部10100は、動画の圧縮対象フレームが独立してエンコードされたフレームであるか否かを判別する。本発明の一実施例では、前記圧縮対象フレームが独立してエンコードされたフレームである場合と、前記圧縮対象フレームが独立してエンコードされたフレームではない場合とを区分して、圧縮フレームを生成する。
具体的に、前記フレームタイプ判別部10100で判別されたフレームのタイプによって、圧縮対象フレームの処理対象イメージ領域が異なって設定され、このような処理対象イメージ領域に対して、前記第1のフレーム変換部10500及び第2のフレーム変換部10600がイメージデータに対する処理を行って、圧縮対象フレームの全容量を圧縮することができる。
図20は、動画のフレームの例を概略的に示す図である。
通常の動画のビデオ部分は、Iフレーム(図2において、“I”と示すフレーム)、Pフレーム(図2において、“P”と示すフレーム)、及びBフレーム(図2において、“B”と示すフレーム)からなる。
Iフレームは、キーフレームであって、全体のイメージを全て含み、動画ファイルにおいて、アクセスポイントとして働き、独立してエンコードされたフレームに該当し、低い圧縮率を有している。
一方、Pフレームは、前のIフレーム又はPフレームを参照して、順方向予測によって作られるフレームであって、独立してエンコードされたフレームに該当しない。このようなPフレームは、Iフレームと比較して、高い圧縮率を有している。
本明細書の全体に亘り、“前”のフレームとは、直前のフレームだけでなく、該当フレーム前に存在する複数のフレームのいずれか1つを意味し、“後”のフレームとは、直後のフレームだけでなく、該当フレームの次に存在する複数のフレームのいずれか1つを意味する。
一方、Bフレームは、前のフレーム及び後のフレームを参照して、順方向及び逆方向予測によって作られるフレームであって、独立してエンコードされたフレームに該当しない。このようなBフレームは、I、Pフレームと比較して、高い圧縮率を有している。よって、前記独立してエンコードされたフレームは、Iフレームに該当し、非独立してエンコードされたフレームは、残りのBフレーム又はPフレームに該当する。
本発明による動画圧縮装置11000及び動画圧縮方法は、H.264のDCT(Discrete Cosine Transform)変換、次世代ビデオコーデックとして脚光を浴びているH.265で使用されるWavelet変換、及び非可逆ビデオコーデック(Lossy Video Codec)に、いずれも適用可能である。
図1の(A)は、Iフレーム、及びPフレームのみからなる動画のフレームを示す。図1の(B)は、Iフレーム、Pフレーム、及びBフレームからなる動画のフレームを示す。図1の(C)は、Iフレーム、Pフレーム、及びBフレームが規則的に示されている動画のフレームを示す。本発明の動画圧縮装置11000及び動画圧縮方法は、このようなフレームを含む動画に対して、いずれも適用可能である。
また、図1を参照して、前記ブロック区分部10200は、既設定された基準により、前記圧縮対象フレームを、複数のイメージブロックに区分する。
本発明の一実施例では、圧縮対象フレームが非独立してエンコードされたフレームである場合は、フレーム全体に対して、イメージ処理を行ってフレームを圧縮することではなく、フレームの一部領域に対してのみイメージ処理を行って、フレームを圧縮する。ここで、フレームの一部領域を特定するために、前記ブロック区分部10200で区分されたイメージブロックを用いることができる。
より詳しくは、圧縮対象フレームを、前記ブロック区分部10200で複数のイメージブロックに区分し、圧縮対象フレームが非独立してエンコードされたフレームである場合は、前記イメージブロックの一部領域のみを、処理対象イメージ領域に設定することができる。
望ましくは、前記ブロック区分部10200は、前記圧縮対象フレームを、複数のイメージブロックに区分したブロックフレームを生成することもできる。
図21は、本発明の一実施例によるイメージブロックの例を概略的に示す図である。
図3の(A)は、圧縮対象フレームを2X2のイメージブロックに区分した例を示し、図3の(B)は、圧縮対象フレームを4X4のイメージブロックに区分した例を示し、図3の(C)は、圧縮対象フレームを8X8のイメージブロックに区分した例を示している。
本発明のイメージブロックに対する区分方法は、前記図3に限定されず、様々な形態で設定可能である。また、前記ブロック区分部10200で区分される圧縮対象フレームのイメージブロックは定形性を有しておらず、領域毎に異なる基準に設定される。
再度、図1を参照すると、前記変更ブロック判別部10300は、前記圧縮対象フレームの前フレーム、後フレーム、及び複数の前フレームが累積されたフレームの1以上と比較して、前記圧縮対象フレームの部分のうち、変化がある部分又はイメージブロックを判別する。
望ましくは、前記変更ブロック判別部10300は、圧縮対象フレームが非独立してエンコードされたフレーム、例えば、Pフレーム又はBフレームである場合に、前記圧縮対象フレームを構成する複数のイメージブロックのうち、変化が発生するイメージブロックを判別する。
望ましくは、前記圧縮対象フレームがPフレームである場合は、前の最隣接Iフレームと、前記最隣接Iフレームの次のフレーム(Pフレーム又はBフレーム)を累積したイメージと前記圧縮対象フレームを比較して、変化がある部分、又は変化がある部分を含むイメージブロックを処理対象イメージ領域に設定する。又は、前の最隣接Iフレームと比較して、処理対象イメージ領域を設定することもできる。
例えば、フレームが“IPPPPP”からなり、圧縮対象フレームが最後のPフレームである場合は、“IPPPP”フレームを累積したイメージと、前記圧縮対象フレームである最後のPフレームとの比較を行って、変化がある 部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。
望ましくは、前記圧縮対象フレームがBフレームである場合は、前の最隣接Iフレームと前記最隣接Iフレームの次のフレーム(Pフレーム又はBフレーム)を累積したイメージ、及び次の最隣接Iフレームと前記圧縮対象フレームとを比較して、変化がある部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。
又は、前記圧縮対象フレームがBフレームである場合は、前の最隣接Iフレーム及び次の最隣接Iフレームと、前記圧縮対象フレームとを比較して、変化がある部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。
例えば、フレームが“I1 P1 P2 P3 P4 P5 P6 P7 B P8 I2”からなり、圧縮対象フレームが最後のBフレームである場合は、“I2 P1 P2 P3 P4 P5 P6 P7”フレームを累積したイメージ、及びI2フレームと、前記圧縮対象フレームであるBフレームとの比較を行って、変化がある部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。
又は、I1フレーム及びI2フレームと、前記圧縮対象フレームであるBフレームとの比較を行って、変化がある部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。
以上では、イメージブロックを用いて、処理対象イメージ領域を設定する発明を説明したが、本発明は、これに限定されず、フレームの一定の領域を特定する様々な方法に対する様態を含む。
図22は、本発明の一実施例による変更ブロック判別部10300の動作を説明するための複数のフレームの例を概略的に示す図である。
図22は、動画の圧縮対象フレームを3X3のイメージブロックに区分し、9個のブロックのうち、変更したブロックを判別する例を示す。
図22の(A)は、Iフレームに該当し、図22の(B)は、Pフレームに該当し、図22の(C)は、Pフレームに該当する。
本発明の一実施例によると、図22の(A)の場合、処理対象イメージ領域は、9個のイメージブロックが全て設定される。
一方、図22の(B)の場合、処理対象イメージ領域は、(2、2)イメージブロック、(2、3)イメージブロックが設定される。
一方、図22の(C)の場合、処理対象イメージ領域は、(2、2)イメージブロック、(2、3)イメージブロックが設定される。
このように、本発明では、圧縮対象フレームのフレームタイプによって、処理対象イメージ領域の設定方法が相違しており、圧縮対象フレームが非独立してエンコードされたフレームである場合は、該当フレームのタイプによって、処理対象イメージ領域を設定する。一方、前記処理対象イメージ領域は、上述したイメージブロックによって設定されてもよく、フレームの一定の領域のみを設定してもよい。
図23は、本発明の一実施例による第1のフレーム変換部10500の内部構造を概略的に示す図である。
前記第1のフレーム変換部10500は、第1の方法により、圧縮対象フレームの処理対象イメージ領域の一部又は全体が変換された第1の変換フレームを生成する。
本発明の望ましい実施例では、前記第1のフレーム変換部10500によって変換されたフレーム、及び後述する第2のフレーム変換部によって変換されたフレームに対して、圧縮を行い、このうち、容量の小さいフレームを最終圧縮フレームとして選定するが、本発明は、これに限定されるものではなく、前記第1の変換フレーム、又は前記第1の変換フレームに対して圧縮を行ったフレームが、最終的な圧縮フレームとなる。ここで、圧縮は、非可逆圧縮であることが望ましい。
一方、図23に示しているように、第1のフレーム変換部10500は、イメージブロック又は処理対象イメージ領域を構成する細部領域の複雑度を算出し、前記イメージブロック又は細部領域の複雑度が、既設定された基準以下又は未満であるか否かを判別する複雑度判断部10510と、前記イメージブロック又は細部領域の複雑度が、既設定された基準以下の場合に、該当イメージブロック又は該当詳細領域に対して、第1のイメージ処理を行う第1のイメージ処理部10520とを含む。
ここで、前記第1のイメージ処理は、ぼかし(Blurring)処理に該当するブラー処理であるのが望ましい。ぼかし処理とは、イメージを柔らかく見せるために、高周波成分を除去する方式を用いた画像処理をいう。低周波は、画素値の変化率が小さい周波数であり、高周波は、画素値の変化率が大きい周波数を言う。イメージから、高周波成分を除去することになると、画素値の変化率が小さくなるので、隣接する画素に対して、極端的な値が減ることになって、イメージが柔らかく処理される。よって、プロリング処理により、イメージで生じる微細な雑音や汚れなどを弱化させて、イメージを修正することができる。
第1のイメージ処理部10520は、複雑度が低いイメージブロック又は詳細領域のそれぞれに対して、画素の輝度値を抽出し、輝度値によって加重値を付与して、ぼかし処理を行うことができる。本発明におけるぼかし処理は、一般的に広く使用するガウスぼかし(gaussian blurring)を適用することができる。
図24は、本発明の一実施例による複雑度判断部10510の内部構造を概略的に示す図である。
複雑度判断部10510は、前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する細部領域に対して、各々イメージ複雑度を算出する。本願において、イメージの複雑な程度(イメージ複雑度)とは、イメージが変化する程度を言うことで、これを判断する方式は、後述することにする。
このような複雑度判断部10510は、画素値判断部10511、色相数判断部10512、及び量子化判断部10513の1以上を含むのが望ましい。一方、複雑度判断部10510は、前記画素値判断部10511、色相数判断部10512、及び量子化判断部10513の1つを用いて、複雑度を判断してもよく、2以上の判断結果によって、複雑度を判断してもよい。
画素値判断部10511は、前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する細部領域に対してそれぞれ、グレーイメージに変換した後、画素値の変化量を測定して、イメージ複雑度を算出する。ここで、前記グレーイメージは、明度情報、すなわち明暗程度に関する情報だけで表現されるイメージを意味する。通常、前記グレーイメージを表現するグレーレベルは、28(=256)個のレベルを有する。前記グレーレベルが0に近接するほど、暗く、255に近接するほど、明るいイメージとなる。
画素値判断部10511は、グレーイメージに変換された前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する詳細領域の画素別に特定した画素値との差(差分値)を求めた後、画素値の差の平均して計算される変化量を算出し、このような変化量が、既設定された値以上であるか否かを判断することができる。
差分値の平均が高いとは、グレーイメージに変換された前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する細部領域に対応する部分のイメージ複雑度が高いことを意味することになる。この時、前記画素値判断部10511は、グレーイメージに変換された前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する詳細領域に対して、前記変化量が既設定された値以上である場合は、イメージ複雑度が高く、また、反対に既設定された値未満である場合は、イメージ複雑度が低いと判断することになる。
色相数判断部10512は、前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する細部領域に対してそれぞれ色相数を測定して、イメージ複雑度を算出する。特に、色相数判断部10512は、前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する細部領域に対して、それぞれの色相数が特定の色相数以上であるか否かを判断して、イメージ複雑度を算出することができる。この時、色相数判断部10512は、前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する詳細領域に対して、前記色相数が既設定された基準色相数(Nc_standard)以上、又は超えである場合は、イメージ複雑度が高く、反対に既設定された基準色相数(Nc_standard)未満又は以下の場合は、イメージ複雑度が低いと判断するようになる。
量子化判断部10513は、予め決定された量子化レベルを基に、前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する詳細領域に対して、それぞれを量子化した後、これに対応するヒストグラムを基に、量子化レベルの全体的な分布を測定して、イメージ複雑度を算出する。このために、まず、量子化判断部10513は、前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する詳細領域に対してそれぞれ量子化を行って、量子化されたイメージを生成する。量子化に際して、整数値0、1、2、…、2n-1からなる2n個の量子化レベルで、前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する詳細領域のそれぞれを構成する各画素値が構成される。
量子化区分値は、ヒストグラム上の中間値(median)を基準とする。例えば、4値量子化の場合、ヒストグラム値が、25%、50%、75%を基準になされていることと仮定する。一方、前記ヒストグラムは、度数分布を示すグラフであって、観測したデータの分布特徴が一目で見えるように柱状で示している。前記ヒストグラムは、柱グラフなどと呼ばれる。この時、前記ヒストグラムの横軸に、各量子化レベルが所定の間隔をもって示され、縦軸に、各量子化レベルに分布する画素の度数(以下、画素の数という)が所定の間隔を持って示されている。すなわち、前記ヒストグラムは、各量子化レベル間の区間別に該当区間での画素の数を、比例する高さの柱で示している。
量子化判断部10513は、前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する詳細領域に対してそれぞれ、量子化を行った結果を示すヒストグラムを分析して、量子化レベルの平均値を求めた後に、量子化レベルの平均値が属する所定の範囲をはずす(量子化レベルの平均値をはずす)画素の数が、既設定された数以上であるか否かを判断して、イメージ複雑度を算出することができる。
例示的に、量子化判断部10513は、前記処理対象イメージ領域を構成するイメージブロック、又は前記処理対象イメージ領域を構成する詳細領域に対して、それぞれを量子化を行った結果を示すヒストグラムにおいて、平均値をはずす画素の数が50%以上である場合、イメージ複雑度が高いことと判断することになる。
一方、イメージ複雑度が、低いイメージブロックに該当するか否かは、前述した画素値判断部10511、色相数判断部10512、及び量子化判断部10513のいずれかで判断したイメージ複雑度によって決められてもよく、場合によっては、2以上で判断したイメージ複雑度を組み合わせて決められてもよい。
図25は、本発明の一実施例による第1のフレーム変換部10500で変換される変換フレームの一例を概略的に示す図である。
図25の(A)に示している1〜9番までのイメージブロックは、処理対象イメージ領域を構成する。一方、前記画素値判断部10511、色相数判断部10512、及び量子化判断部10513の1以上の方法によって、それぞれのイメージブロックに対して、複雑度判断部10510で複雑度を判断する。
以後、複雑度判断部10510、及び既設定された基準によって、複雑度が低いと判断されるイメージブロックに対しては、前記第1のイメージ処理部10520により、前記第1のイメージ処理を行う。望ましくは、前記第1のイメージ処理は、ブラー処理に該当する。
図25の(B)は、前記複雑度判断部10510及び第1のイメージ処理部10520によって処理された処理対象イメージ領域を示す。このように処理された処理対象イメージ領域、又は前記処理対象イメージ領域を含むフレームが、第1の変換フレームとなる。
前記図25の(B)に示しているように、2、4、9番のイメージブロックの複雑度が低いことと判断されて、このイメージブロックに対して、ブラー処理が行われる。
図26は、本発明の一実施例による第2のフレーム変換部10600の内部構造を概略的に示す図である。
前記第2のフレーム変換部10600は、第2の方法によって、圧縮対象フレームの処理対象イメージ領域の一部又は全体が変換された第1の変換フレームを生成する。
本発明の好適な実施例では、前記第1のフレーム変換部10500で変換されたフレーム、及び前記第2のフレーム変換部で変換されたフレームに対して、圧縮を行い、このうち、容量が小さいフレームを最終圧縮フレームとして選定するが、本発明は、これに限定されず、前記第2の変換フレーム、又は前記第2の変換フレームに対して、圧縮を行ったフレームが最終的な圧縮フレームとなることもできる。ここで、圧縮は、非可逆圧縮であるのが望ましい。
一方、図26に示しているように、第2のフレーム変換部10600は、第2のイメージ処理部10610と、エッジイメージ生成部10620と、二値化イメージ生成部10630と、イメージ合成部10640とを含む。
第2のイメージ処理部10610は、処理対象イメージ領域に対して、第2のイメージ処理を行う。望ましくは、前記第2のイメージ処理は、ブラー処理である。
エッジイメージ生成部10620は、処理対象イメージ領域に対して、高周波領域に該当する隅領域であるエッジを算出して、エッジイメージを生成する。以後、二値化イメージ生成部10630は、生成されたエッジイメージに対して二値化を行って、二値化イメージを生成する。この時、二値化イメージ生成部10630は、エッジイメージ生成部10620で生成されたエッジイメージの各画素の画素値を、0(黒)又は1(白色)に変わる二値化を行って、二値化イメージを生成することになる。
以後、イメージ合成部10640は、二値化イメージ生成部10630で生成されたエッジイメージで0の値を有する画素に対応する処理対象イメージ領域の原本イメージを、前記第2のイメージ処理部10610で生成された第2のイメージ処理がなされた処理対象イメージ領域としてコピーして、最終的に第2の変換イメージを生成することになる。
図27は、本発明の一実施例による第2のフレーム変換部10600で変換される変換フレームの一例を概略的に示す図である。
図27の(A)に示している1〜9番までのイメージブロックは、処理対象イメージ領域を構成する。
図27の(B)は、第2のイメージ処理部10610で第2のイメージ処理、望ましくは、ブラー処理が行われた処理対象イメージ領域を示している。
図27の(C)は、エッジイメージ生成部10620で生成された、図27の(A)に示された処理対象イメージ領域のエッジイメージを示している。
図27の(D)は、前記図27の(C)のエッジイメージの情報を基に抽出されたエッジ部分の原本イメージ、すなわち、図27の(A)でのイメージを、図27の(B)に示されている第2のイメージ処理が行われた処理対象イメージ領域に結合して生成された第2の変換フレームを示す。
再度、図1を参照すると、前記フレーム圧縮部10700は、前記のように生成された第1の変換フレーム及び第2の変換フレームに対して、圧縮を行う。望ましくは、前記圧縮は、公知された方式の非可逆圧縮の1つに該当する。但し、本発明の他の実施例では、このようなフレーム圧縮部10700は、省略してもよい。
以後、前記フレーム比較部10800は、前記フレーム圧縮部10700で圧縮された2以上の圧縮フレーム、又は前記変換フレームに対して比較を行って、容量の少ないフレームを最終的な圧縮フレームに設定する。
一方、本発明の他の実施例による動画圧縮装置11000は、前記第1のフレーム変換部10500、及び選択的に前記フレーム圧縮部10700のみを具備することができる。この場合、前記第1のフレーム変換部10500で変換されたフレームが最終圧縮フレームとなるか、又は前記第1のフレーム変換部10500で変換されたフレームに対して、公知の方式の非可逆圧縮の1つを行って、最終フレームとなる。この場合、第2のフレーム変換部10600及び前記フレーム比較部10800は、前記動画圧縮装置11000に設けられなくてもよい。
一方、本発明の他の実施例による動画圧縮装置11000は、前記第2のフレーム変換部10600、及び選択的に前記フレーム圧縮部10700のみを備えてもよい。この場合、前記第2のフレーム変換部10600で変換されたフレームが最終圧縮フレームとなるか、又は前記第2のフレーム変換部10600で変換されたフレームに対して、公知の方式の非可逆圧縮の1つを行って、最終フレームとなる。この場合、第1のフレーム変換部10500及び前記フレーム比較部10800は、前記動画圧縮装置11000に設けられなくてもよい。
以下では、本発明の動画圧縮方法について、説明することにする。本発明の動画圧縮方法は、前述した図1〜図9、及びこれに関する記載で説明した動画圧縮装置に含まれる構成の一部又は全体によって行なわれる。後述する本発明の動画圧縮方法は、前述した動画圧縮装置の内容を参照することにする。
図28は、本発明の一実施例による動画圧縮方法の細部段階を概略的に示す図である。
前記動画圧縮方法は、1以上のプロセッサ、及び前記プロセッサで実行可能な命令を格納するメインメモリを含むコンピュータ装置で行なわれる動画圧縮方法である。
図28に示しているように、前記動画圧縮方法は、動画の圧縮対象フレームが独立してエンコードされたフレームであるか否かを判別するフレームタイプ判別段階(S10010)と、前記圧縮対象フレームが独立してエンコードされたフレームである場合と、前記圧縮対象フレームが独立してエンコードされたフレームではない場合とを区分して、圧縮フレームを生成するフレーム圧縮段階(S10020)とを含む。
ここで、前記フレームタイプ判別段階(S10010)は、動画の圧縮対象フレームが、独立してエンコードされたフレームであるか否かを判別する。本発明の一実施例では、前記圧縮対象フレームが独立してエンコードされたフレームである場合と、前記圧縮対象フレームが独立してエンコードされたフレームではない場合とを区分して、異なる方式で圧縮フレームを生成する。
具体的に、前記フレームタイプ判別段階(S10010)で判別されたフレームタイプによって、圧縮対象フレームの処理対象イメージ領域が異なって設定され、このような処理対象イメージ領域に対して、データに対する処理を行って、圧縮対象フレームの全体容量を圧縮することができる。
具体的に、前記フレームのタイプは、Iフレーム、Pフレーム、及びBフレームを含む。
Iフレームは、キーフレームであって、全体のイメージを全て含み、動画ファイルにおいてアクセスポイントとして働き、独立してエンコードされたフレームに該当し、低い圧縮率を有している。
一方、Pフレームの場合、前のIフレーム又はPフレームを参照して、順方向予測によって作られるフレームであって、独立してエンコードされたフレームに該当しない。このようなPフレームは、Iフレームと比較して、高い圧縮率を有している。
本明細書の全体において“前”のフレームとは、直前のフレームだけでなく、該当フレームの前に存在する複数のフレームのいずれか1つを意味し、“後”のフレームとは、直後のフレームだけでなく、該当フレームの次に存在する複数のフレームのいずれか1つを意味する。
一方、Bフレームの場合、前のフレーム及び後のフレームを参照して、順方向及び逆方向予測によって作られるフレームであって、独立してエンコードされたフレームに該当しない。このようなBフレームは、I、Pフレームと比較して、高い圧縮率を有している。よって、前記独立してエンコードされたフレームは、Iフレームに該当し、非独立してエンコードされたフレームは、残りのBフレーム又はPフレームに該当する。
図29は、本発明の一実施例によるフレーム圧縮段階の細部段階を概略的に示す図である。
前記フレーム圧縮段階(S10020)は、前記圧縮対象フレームの処理対象イメージ領域を設定する処理対象イメージ領域設定段階(S10021)と、前記処理対象イメージ領域の一部又は全体が変換された圧縮フレームを生成する圧縮フレーム生成段階(S10022)とを含み、前記処理対象イメージ領域設定段階は、前記圧縮対象フレームが独立してエンコードされたフレームである場合は、前記圧縮対象フレームの全体を、前記処理対象イメージ領域に設定し、前記圧縮対象フレームが独立してエンコードされたフレームではない場合は、前記圧縮対象フレームの一部を、前記処理対象イメージ領域に設定する。
一方、前記処理対象イメージ領域は、イメージブロックに区分して処理されてもよい。具体的には、前記処理対象イメージ領域設定段階は、既設定された基準によって、前記圧縮対象フレームを複数のイメージブロックに区分し、前記圧縮対象フレームが独立してエンコードされたフレームではない場合は、前記圧縮対象フレームの前記複数のイメージブロックの一部のイメージブロックを、前記処理対象イメージ領域に設定することができる。
以下では、前記圧縮対象フレームが独立してエンコードされたフレームではない場合、すなわち、Iフレームではないか、又は、Bフレーム又はPフレームに該当する場合、処理対象イメージ領域を設定する方法について、説明することにする。
前記処理対象イメージ領域設定段階は、前記圧縮対象フレームが独立してエンコードされたフレームではない場合は、前記圧縮対象フレームの前フレーム、後フレーム、及び複数の前フレームが累積されたフレームの1以上と比較して、前記圧縮対象フレームの部分のうち、変化がある部分を、前記処理対象イメージ領域に設定する。
具体的に、処理対象イメージ領域設定段階(S10021)は、圧縮対象フレームが非独立してエンコードされたフレーム、例えばPフレーム又はBフレームである場合に、前記圧縮対象フレームを構成する複数のイメージブロックのうち、変化が発生するイメージブロックを判別する。
望ましくは、処理対象イメージ領域設定段階(S10021)は、前記圧縮対象フレームがPフレームである場合は、前の最隣接Iフレームと、前記最隣接Iフレームの次のフレーム(Pフレーム又はBフレーム)を累積したイメージと前記圧縮対象フレームとを比較して、変化がある部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。又は、前の最隣接Iフレームと比較して、処理対象イメージ領域を設定してもよい。
例えば、フレームが“IPPPPP”からなり、圧縮対象フレームが最後のPフレームである場合は、“IPPPP”フレームを累積したイメージと、前記圧縮対象フレームである最後のPフレームとの比較を行って、変化がある部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。
望ましくは、処理対象イメージ領域設定段階(S10021)は、前記圧縮対象フレームがBフレームである場合は、前の最隣接Iフレームと、前記最隣接Iフレームの次のフレーム(Pフレーム又はBフレーム)を累積したイメージ、及び次の最隣接Iフレームと前記圧縮対象フレームを比較して、変化がある部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。
又は、前記圧縮対象フレームがBフレームである場合は、前の最隣接Iフレーム及び次の最隣接Iフレームと前記圧縮対象フレームとを比較して、変化がある部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。
例えば、フレームが“I1 P1 P2 P3 P4 P5 P6 P7 B P8 I2”からなり、圧縮対象フレームが最後のBフレームである場合は、“I2 P1 P2 P3 P4 P5 P6 P7”フレームを累積したイメージ、及びI2フレームと前記圧縮対象フレームであるBフレームとの比較を行って、変化がある部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。
又は、I1フレーム及びI2フレームと、前記圧縮対象フレームであるBフレームとの比較を行って、変化がある部分、又は変化がある部分を含むイメージブロックを、処理対象イメージ領域に設定する。
以上では、イメージブロックを用いて、処理対象イメージ領域を設定する発明を説明したが、本発明は、これに限定されず、フレームの一定の領域を特定する多様な方法に関する様態を含む。
図30は、本発明の一実施例による圧縮フレーム生成段階の実施例を概略的に示す図である。但し、これは、本発明の例示的な実施例に過ぎず、本発明の範囲は、これについて限定しない。
本発明の動画圧縮方法の一実施例によると、後述する第1の圧縮フレーム生成段階によって生成された圧縮フレームを、最終的な圧縮フレームとする(図30において、実施例1と示す)。
本発明の動画圧縮方法の一実施例によると、後述する第2の圧縮フレーム生成段階によって生成された圧縮フレームを、最終的な圧縮フレームとする(図30において、実施例2と示す)。
本発明の動画圧縮方法の一実施例によると、後述する第1の圧縮フレーム生成段階及び第2の圧縮フレーム生成段階によって生成された第1の圧縮フレーム及び第2の圧縮フレームを含む候補フレーム群より1つを選択して、これを最終的な圧縮フレームとする(図30において、実施例3と示す)。
以下では、前記実施例1について、説明するようにする。
前記圧縮フレーム生成段階(S10022)は、第1の圧縮フレーム生成段階(S10022A)を含み、前記第1の圧縮フレーム生成段階(S10022A)は、前記処理対象イメージ領域を構成する複数の細部領域に対して、イメージの複雑度を算出するイメージ複雑度算出段階(S10022A.1)と、前記細部領域の前記複雑度が既設定された基準以下であるか否かを判断するイメージ複雑度判別段階(S10022A.2)と、前記細部領域の複雑度が既設定された基準以下の場合に、前記細部領域に対して、第1のイメージ処理を行う複雑度基準イメージ処理段階(S10022A.3)とを含み、前記複雑度基準イメージ処理段階(S10022A.3)が行われた前記処理対象イメージ領域を含むフレームから、前記圧縮フレームを生成する。図31は、本発明の一実施例による第1の圧縮フレーム生成段階の細部段階を概略的に示す図である。
ここで、前記複雑度基準イメージ処理段階(S10022A.3)が行われた前記処理対象イメージ領域を含むフレームから、前記圧縮フレームを生成するということは、前記複雑度基準イメージ処理段階(S10022A.3)が行われた前記処理対象イメージ領域を含むフレームを直ぐ圧縮フレームとする場合と、前記複雑度基準イメージ処理段階(S10022A.3)が行われた前記処理対象イメージ領域を含むフレームに対して、非可逆圧縮などの後処理を行って圧縮フレームを生成する場合とをいずれも含む最広義として解析されるべきである。すなわち、前記第1の圧縮フレーム生成段階(S10022)は、前記複雑度基準イメージ処理段階(S10022A.3)が行われた前記処理対象イメージ領域を含むフレームに対して、非可逆圧縮を行ったフレームから、前記圧縮フレームを生成する場合を含む。
一方、第1の圧縮フレーム生成段階(S10022A)及びこの詳細過程は、前述した図23乃至図25及び、これに関する発明の詳細な説明に記載された内容に相応し、これに対する説明は、省略することにする。
望ましくは、前記第1のイメージ処理は、ブラー処理である。
以下では、前記実施例2について、説明するようにする。
前記圧縮フレーム生成段階(S10022)は、第2の圧縮フレーム生成段階(S10022B)を含み、前記第2の圧縮フレーム生成段階(S10022B)は、前記処理対象イメージ領域に対して、第2のイメージ処理を行って、第1の予備フレームを生成する全体イメージ処理段階(S10022B.1)と、前記第1の予備フレームに対して、前記圧縮対象フレームの原本のイメージデータのうち、イメージのエッジ部分を結合して、第2の予備フレームを生成するエッジ結合処理段階(S10022B.2)とを含み、前記第2の予備フレームから、前記圧縮フレームを生成する。図32は、本発明の一実施例による第2の圧縮フレーム生成段階の細部段階を概略的に示す図である。
ここで、前記第2の予備フレームから前記圧縮フレームを生成するということは、前記第2の予備フレームを直ぐ圧縮フレームとする場合と、前記第2の予備フレームに対して、非可逆圧縮などの後処理を行って、圧縮フレームを生成する場合とをいずれも含む最広義として解析されるべきである。前記第2の圧縮フレーム生成段階(S10022B)は、前記第2の予備フレームに対して、非可逆圧縮が行われたフレームから、前記圧縮フレームを生成する場合を含む。
一方、第2の圧縮フレーム生成段階(S10022B)及びこの詳細過程は、前述した図26乃至図27及び、これに関連する発明の詳細な説明に記載された内容に相応し、これに関する説明は、省略することにする。
望ましくは、前記第2のイメージ処理は、ブラー処理である。
以下では、前記実施例3について、説明するようにする。
前記圧縮フレーム生成段階(S10022C)は、第1の圧縮フレームを生成する第1の圧縮フレーム生成段階と、前記第1の圧縮フレーム生成段階とは異なる方法で、第2の圧縮フレームを生成する第2の圧縮フレーム生成段階と、前記第1の圧縮フレーム及び前記第2の圧縮フレームを含む候補フレーム群中の1つのフレームを、前記圧縮フレームとする圧縮フレーム選択段階とを含む。
ここで、前記第1の圧縮フレーム生成段階は、前述した第1の圧縮フレーム生成段階(S10022A)と類似しているが、第1の圧縮フレーム生成段階で生成されたフレームを最終圧縮フレームとすることではなく、これを第1の圧縮フレームとして臨時的に格納する。
具体的に、前記第1の圧縮フレーム生成段階は、前記処理対象イメージ領域を構成する複数の細部領域に対して、イメージの複雑度を算出するイメージ複雑度算出段階と、前記細部領域の前記複雑度が既設定された基準以下であるか否かを判断するイメージ複雑度判別段階と、前記細部領域の複雑度が既設定された基準以下である場合に、前記細部領域に対して、第1のイメージ処理を行う複雑度基準イメージ処理段階とを含み、前記複雑度基準イメージ処理段階が行われた前記処理対象イメージ領域を含むフレームから、前記第1の圧縮フレームを生成する。
ここで、前記複雑度基準イメージ処理段階が行われた前記処理対象イメージ領域を含むフレームから、前記第1の圧縮フレームを生成するということは、前記複雑度基準イメージ処理段階が行われた前記処理対象イメージ領域を含むフレームを直ぐ第1の圧縮フレームとする場合と、前記複雑度基準イメージ処理段階が行われた前記処理対象イメージ領域を含むフレームに対して、非可逆圧縮などの後処理を行って、第1の圧縮フレームを生成する場合とをいずれも含む最広義として解析されるべきである。すなわち、前記第1の圧縮フレーム生成段階は、前記複雑度基準イメージ処理段階が行われた前記処理対象イメージ領域を含むフレームに対して、非可逆圧縮を行ったフレームから、前記圧縮フレームを生成する場合を含む。
一方、第1の圧縮フレーム生成段階及びこの詳細過程は、前述した図23乃至図25及び、これに関する発明の詳細な説明に記載された内容に相応し、これに関する説明は、省略することにする。
望ましくは、前記第1のイメージ処理は、ブラー処理である。
一方、前記第2の圧縮フレーム生成段階は、前述した第2の圧縮フレーム生成段階(S10022B)と類似しているが、第2の圧縮フレーム生成段階で生成されたフレームを最終圧縮フレームとすることではなく、これを第2の圧縮フレームとして臨時的に格納する。
具体的に、前記第2の圧縮フレーム生成段階は、前記処理対象イメージ領域に対して、第2のイメージ処理を行って、第1の予備フレームを生成する全体イメージ処理段階と、前記第1の予備フレームに対して、前記圧縮対象フレームの原本のイメージデータのうち、イメージのエッジ部分を結合して、第2の予備フレームを生成するエッジ結合処理段階とを含み、前記第2の予備フレームから、前記第2の圧縮フレームを生成する。
ここで、前記第2の予備フレームから前記第2の圧縮フレームを生成するということは、前記第2の予備フレームを直ぐ第2の圧縮フレームとする場合と、前記第2の予備フレームに対して、非可逆圧縮などの後処理を行って、第2の圧縮フレームを生成する場合とをいずれも含む最広義として解析されるべきである。すなわち、前記第2の圧縮フレーム生成段階は、前記第2の予備フレームに対して非可逆圧縮が行われたフレームから、前記第2の圧縮フレームを生成する場合を含む。
一方、第2の圧縮フレーム生成段階及びこの詳細過程は、前述した図26乃至図27、及びこれに関する発明の詳細な説明に記載された内容に相応し、これに関する説明は、省略することにする。
望ましくは、前記第2のイメージ処理は、ブラー処理である。
本発明の第3実施例によると、前記圧縮フレーム生成段階は、第1の圧縮フレームを生成する第1の圧縮フレーム生成段階と、前記第1の圧縮フレーム生成段階とは異なる方法で第2の圧縮フレームを生成する第2の圧縮フレーム生成段階と、前記第1の圧縮フレーム及び前記第2の圧縮フレームを含む候補フレーム群中の1つのフレームを、前記圧縮フレームとする圧縮フレーム選択段階とを含む。
ここで、前記候補フレーム群中の1つのフレームを選択することに当たり、基準は、候補フレーム群のうち、容量が最も小さいフレームを圧縮フレームとして選択するのが望ましい。
図33は、本発明の一実施例による動画圧縮方法の細部段階を概略的に示す図である。
図33に示されている動画圧縮方法は、動画の圧縮対象フレームが,Iタイプ、Pタイプ、又はBタイプに該当するか否かを判別するフレーム判別段階(S10100)と、前記フレームを既設定された基準によって、複数のイメージブロックに区分するイメージブロック区分段階(S10200)と、前記フレーム判別段階(S10100)によって判別されたフレームタイプによって、前記圧縮対象フレームで処理対象イメージ領域を設定する処理対象イメージ領域設定段階(S10300)と、前記処理対象イメージ領域に対して、イメージ処理を行って、第1の変換フレーム及び第2の変換フレームを生成する変換フレーム生成段階(S10400)と、前記第1の変換フレーム及び第2の変換フレームに対して圧縮を行って、第1の圧縮フレーム及び第2の圧縮フレームを生成する圧縮フレーム生成段階(S10500)と、前記第1の圧縮フレーム及び前記第2の圧縮フレームに対して、データサイズを比較するデータサイズ比較段階(S10600)と、前記第1の圧縮フレーム及び前記第2の圧縮フレームのうち、データサイズが小さいフレームを、最終圧縮フレームとして選定する圧縮フレーム選定段階(S10700)とを含む。
図34は、本発明の一実施例による処理対象イメージブロックの設定段階を概略的に示す図である。
前記処理対象イメージ領域設定段階(S10300)は、圧縮対象フレームが独立してエンコードされたフレームであるか否か、すなわち、Iフレームであるか否かを判断し(S10310)、Iフレームに該当する場合は、フレームの全体イメージブロックを処理対象イメージブロックに設定する(S10320)。又は、非独立してエンコードされたフレームである場合、すなわち、Pフレーム又はBフレームに該当する場合は、前フレーム、1以上の前フレームが累積されたフレーム、及び後フレームの1以上と比較して、変化のあるイメージブロックを、処理対象イメージブロックに設定する(S10330)。このような過程に関する説明は、前述した図1〜図32における動画圧縮装置及び動画圧縮方法における説明と同様である。
図35は、本発明の一実施例による第1のフレーム変換方法の細部段階を概略的に示す図である。
変換フレーム生成段階(S10400)は、前記処理対象イメージ領域に対してイメージ処理を行って、第1の変換フレーム及び第2の変換フレームを生成する。図35は、前記第1の変換フレームを生成する第1のフレーム変換方法の細部段階を示している。
図35に示しているように、前記第1の変換フレーム生成段階は、それぞれのイメージブロックの複雑度を算出するイメージ複雑度算出段階(S10410A)と、算出されたそれぞれのイメージブロックの複雑度が既設定された基準を超えるか否かを判別する複雑度判別段階(S10420A)と、複雑度が既設定された基準以下のイメージブロックに対して、ブラー処理を行うブラー処理段階(S10430A)とを含む。
図36は、本発明の一実施例による第2のフレーム変換方法の細部段階を概略的に示す図である。
変換フレーム生成段階(S10400)は、前記処理対象イメージ領域に対してイメージ処理を行って、第1の変換フレーム及び第2の変換フレームを生成する。図36は、前記第2の変換フレームを生成する第2のフレーム変換方法の細部段階を示している。
図36に示しているように、前記第2の変換フレーム生成段階は、それぞれのイメージブロックに対してエッジ処理を行って、エッジイメージブロックを生成するエッジイメージブロック生成段階(S410B)と、前記それぞれのイメージブロック原本に対してブラー処理を行って、ブラーイメージブロックを生成するブラーイメージブロック生成段階(S10420B)と、エッジイメージブロックに対して二値化処理を行って、二値化イメージブロックを生成する二値化イメージブロック生成段階(S10430B)と、ブラーイメージブロックに、二値化イメージブロックを参照して、エッジに該当する原本イメージブロックのイメージを結合するイメージ結合段階(S440)とを含む。
以後、本発明の一実施例による動画圧縮方法は、前記第1の変換フレーム及び第2の変換フレームに対して圧縮を行って、第1の圧縮フレーム及び第2の圧縮フレームを生成する圧縮フレーム生成段階(S10500)と、前記第1の圧縮フレーム及び前記第2の圧縮フレームに対して、データサイズを比較するデータサイズ比較段階(S10600)と、前記第1の圧縮フレーム及び前記第2の圧縮フレームのうち、データサイズが小さいフレームを、最終圧縮フレームとして選定する圧縮フレーム選定段階(S10700)とを含む。
本発明の実施例によると、PDF、JPEG、PNGファイル形式でスキャン又は撮影した文書イメージファイルを格納する場合でも、既存のJBIG、TIFF、JPEG2000ファイル形式となっているイメージファイルと比較した時、画質が類似しており、ファイルサイズも類似、又はより小さいように最適化を行うことができる。
本発明の実施例によると、PDF、JPEG、PNGファイルを用いる場合、別の専用クライアント/サーバ環境ではなく、HTML5基盤の標準ウェブ環境で、そのまま使用可能である。
本発明の実施例によると、JBIG、TIFF、JPEG2000ファイル形式で同様に格納する場合でも、30−50%までの更なる圧縮が可能である。
本発明の実施例によると、既存の文書イメージファイルのファイルサイズを更に圧縮するようになるので、ストレージ及びネットワークの費用削減が可能である。
本発明の実施例によると、イメージに対して、前処理過程を経るので、既存のエンコーダをそのまま使用可能であり、また、必要によって、専用エンコーダを作って性能を改善することもできる。
図37は、本発明の実施例が具現される例示的なコンピュータ環境に対する簡略で且つ一般的な概略図を示す。
本発明が、一般に、1以上のコンピュータ上で実行可能なコンピュータ実行可能コマンドに関して前述しているが、当業者であれば、本発明がその他のプログラムモジュールと結合されて、及び/又は、ハードウェアとソフトウェアの組み合わせとして具現可能であることは理解されるだろう。
一般に、プログラムモジュールは、特定のタスクを行うか、特定の抽象データ類型を具現するルーチン、プログラム、コンポネント、データ構造、その他を含む。また、当業者であれば、本発明の方法がシングルプロセッサ、又はマルチプロセッサコンピュータシステム、ミニコンピュータ、メインフレームコンピュータは勿論、パソコン、ハンドヘルドコンピュータ装置、マイクロプロセッサ基盤、又はプログラム可能な家電製品、その他(これらのそれぞれは、1以上の関連した装置と連結されて動作可能である)を始めとした他のコンピュータシステム構成で実施可能であることは、理解されるだろう。
本発明で説明された実施例は、あるタスクが通信ネットワークを通じて連結されている遠隔処理装置によって行なわれる分散コンピュータ環境で実施可能である。分散コンピュータ環境で、プログラムモジュールは、ローカル及び遠隔メモリ格納装置にいずれも位置することができる。
コンピュータは、通常、多様なコンピュータ読取り可能な媒体を含む。コンピュータによってアクセス可能な媒体は、コンピュータ読取り可能な媒体となり、このようなコンピュータ読取り可能な媒体は、揮発性及び不揮発性媒体、一時的(transitory)及び非一時的(non-transitory)媒体、移動式及び非移動式媒体を含む。コンピュータ読取可能な媒体は、コンピュータ格納媒体及び通信媒体を含む。コンピュータ格納媒体は、コンピュータ読取可能なコマンド、データ構造、プログラムモジュール、又はその他データのような情報を格納する任意の方法又は技術で具現される揮発性及び不揮発性媒体、一時的及び非一時的媒体、移動式及び非移動式媒体を含む。コンピュータ格納媒体は、RAM、ROM、EEPROM、フラッシュメモリ、又はその他メモリ技術、CD−ROM、DVD(digital video disk)、又はその他光ディスク格納装置、磁気カセット、磁気テープ、磁気ディスク格納装置、又はその他磁気格納装置、又はコンピュータによってアクセスされることができ、所望する情報を格納するのに使用可能な任意のその他の媒体を含むが、これに限定しない。
コンピュータ5102を含む本発明の様々な側面を具現する例示的な環境5100が示されており、コンピュータ5102は、処理装置5104と、システムメモリ5106と、システムバス5108とを含む。システムバス5108は、システムメモリ5106(これに限定しない)を始めとしたシステムコンポーネントを、処理装置5104に連結させる。処理装置5104は、多様な商用のプロセッサのうち、任意のプロセッサである。デュアルプロセッサ及びその他マルチプロセッサアーキテクチャーも、処理装置5104として利用可能である。
システムバス5108は、メモリバス、周辺装置バス、及び多様な商用バスアーキテクチャーのうち、任意のものを使用するローカルバスに更に相互連結されるいくつの類型のバス構造のうち、任意のものである。システムメモリ5106は、読取専用メモリ(ROM)5110と、ランダムアクセスメモリ(RAM)5112とを含む。基本入出力システム(BIOS)は、ROM、EPROM、EEPROMなどの不揮発性メモリ5110に格納され、このBIOSは、始動中のような場合に、コンピュータ5102内の構成要素間に情報を転送することを助ける基本的なルーチンを含む。RAM5112は、また、データをキャッシングするための静的RAMなどの高速RAMを含む。
コンピュータ5102は、また、内蔵型ハードディスクドライブ(HDD)5114(例えば、EIDE、SATA)(該当内蔵型ハードディスクドライブ5114は、適当なシャーシ(図示せず)内で外装型用途として構成可能である)、磁気フロッピーディスクドライブ(FDD)5116(例えば、移動式ディスケット5118から読み込むか、それに記録をするためのもの)、及び光ディスクドライブ5120(例えば、CD-ROMディスク5122を読み込むか、DVDなどのその他の高容量光媒体から読み込むか、それに記録するためのもの)を含む。ハードディスクドライブ5114、磁気ディスクドライブ5116、及び光ディスクドライブ5120はそれぞれ、ハードディスクドライブインターフェース5124、磁気ディスクドライブインターフェース5126、及び光ドライブインターフェース5128によって、システムバス5108に連結される。外装型ドライブの具現のためのインターフェース5124は、USB(Universal Serial Bus)、及びIEEE1394インターフェース技術中のなくとも1つ、又はその両方を含んでもよい。
これらのドライブ及びそれに関するコンピュータ読取可能な媒体は、データ、データ構造、コンピュータ実行可能なコマンド、その他の不揮発性格納を提供する。コンピュータ5102の場合、ドライブ及び媒体は、任意のデータを適当なデジタル形式で格納することに対応する。前記におけるコンピュータ読取可能な媒体に関する説明が、HDD、移動式磁気ディスク、及びCD又はDVDなどの移動式光媒体として言及しているが、当業者であれば、zipドライブ(zip drive)、磁気カセット、フラッシュメモリカード、カートリッジ、その他のコンピュータによって読取り可能な他の類型の媒体も、例示的な運営環境で使用可能であり、また、任意のこのような媒体が本発明の方法を行うためのコンピュータ実行可能なコマンドを含んでいることと理解されているだろう。
運営体制5130、1以上のアプリケーション・プログラム5132、その他プログラムモジュール5134、及びプログラムデータ5136を始めとした多数のプログラムモジュールが、ドライブ及びRAM5112に格納されることができる。運営体制、アプリケーション、モジュール及び/又はデータの全部又はその一部分が、また、RAM5112にキャッシングされることができる。本発明が様々な産業的に利用可能な運営体制、又は運営体制の組み合わせで具現可能であることは理解されるだろう。
ユーザは、1以上の有線/無線入力装置、例えば、キーボード5138及びマウス5140などのポインティング装置を介して、コンピュータ5102に命令及び情報を入力することができる。その他の入力装置(図示せず)としては、マイク、IRリモコン、ジョイスティック、ゲームパッド、スタイラスペン、タッチスクリーンなどがある。これら及びその他の入力装置がたびたびシステムバス5108に連結されている入力装置インターフェース5142を介して、処理装置5104に連結されるが、並列ポット、IEEE1394直列ポット、ゲームポット、USBポット、IRインターフェース、その他のインターフェースによって連結可能である。
モニタ5144又は他の類型のディスプレイ装置も、ビデオアダプター5146などのインターフェースを介して、システムバス5108に連結される。モニタ5144に加えて、コンピュータは、一般のスピーカー、プリンタ、その他の周辺出力装置(図示せず)を含む。
コンピュータ5102は、有線及び/又は無線通信による遠隔コンピュータ5148などの1以上の遠隔コンピュータへのロジック連結を用いて、ネットワーク化された環境で動作可能である。遠隔コンピュータ5148は、ワークステーション、サーバコンピュータ、ルータ、パソコン、携帯用コンピュータ、マイクロプロセッサ基の盤娯楽機器、又はその他の通常のネットワークノードであり、一般的にコンピュータ5102に対して記述された構成要素のうち、多数又はその全部を含むが、簡略のために、メモリ格納装置5150だけを示している。図示されているロジック連結は、近距離通信網(LAN)5152及び/又は、より大きいネットワーク、例えば、遠距離通信網(WAN)5154への有線/無線連結を含む。
このようなLAN及びWAMネットワーキング環境は、事務室及び会社で一般的であり、イントラネットなどの転写的コンピュータネットワーク(enterprise-wide computer network)を容易にし、これらの全ては、全世界コンピュータネットワーク、例えば、インターネットに連結可能である。
LANネットワーキング環境で使用されるに際して、コンピュータ5102は、有線及び/又は無線通信ネットワークインターフェース、又はアダプター5156を介して、ローカルネットワーク5152に連結される。アダプター5156は、LAN5152への有線又は無線通信を容易にし、このLAN5152は、また、無線アダプター5156と通信するために、それに設置されている無線アクセスポイントを含んでいる。WANネットワーキング環境で使用されるに際して、コンピュータ5102は、モデム5158を含むか、WAN5154上の通信サーバに連結されるか、または、インターネットを通じるなど、WAN5154を介して通信を設定するようなその他の手段を有する。内蔵型又は外装型、及び有線又は無線装置であるモデム5158は、直列ポットインターフェース5142を介して、システムバス5108に連結される。ネットワーク化された環境で、コンピュータ5102について説明されたプログラムモジュール、又はその一部が遠隔メモリ/格納装置5150に格納可能である。図示されているネットワーク連結は例示に過ぎず、コンピュータの間に通信リンクを設定するその他の手段が使用可能であることは、理解されるだろう。
コンピュータ5102は、無線通信で配置されて動作する任意の無線装置又は個体、例えば、プリンタ、スキャナ、デスクトップ及び/又は携帯用コンピュータ、PDA(portable data assistant)、通信衛星、無線検出可能なタグと関連する任意の装備又は場所、及び電話と通信を行う動作を行う。これは、少なくともWi−Fi及びプルトゥス無線技術を含む。よって、通信は、従来のネットワークでのように、予め定義された構造であるか、単に、少なくとも2つの装置間のアドホック通信(ad hoc communication)である。
Wi−Fi(Wireless Fidelity)は、有線がなくても、インターネットなどへの連結を可能とする。Wi−Fiは、このような装置、例えばコンピュータが室内で及び室外で、すなわち、基地局の通話圏内のどこでも、データを伝送及び受信可能なセル電話のような無線技術である。Wi−Fiネットワークは、安全で且つ信頼性があり、高速の無線連結を提供するために、IEEE802.11(a、b、g、その他)という無線技術を用いる。コンピュータを互いに、インターネットに、及び有線ネットワーク(IEEE802.3又はイドネッを用いる)に連結させるために、Wi−Fiが用いられる。Wi−Fiネットワークは、非印加2.4及び5GHz無線帯域で、例えば11Mbps(802.11a)又は54Mbps(802.11b)のデータレートで動作するか、両帯域(デュアル帯域)を含む製品で動作可能である。
以上のように、実施例が、たとえ限定された実施例と図面によって説明されているが、該当技術分野における通常の知識を有する者であれば、前記の記載から多様な修正及び変形が可能である。例えば、説明された技術が、説明された方法と異なる順序で行なわれるか、及び/又は、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法と異なる形態で結合又は組み合わせられるが、他の構成要素又は均等物によって対置又は置換されても、適切な結果が達成可能である。
そのため、他の具現、他の実施例、及び特許請求の範囲と均等なものも、後述する特許請求の範囲に属する。