JPWO2017130334A1 - 画像処理装置、画像処理方法、及びプログラム - Google Patents

画像処理装置、画像処理方法、及びプログラム Download PDF

Info

Publication number
JPWO2017130334A1
JPWO2017130334A1 JP2017508111A JP2017508111A JPWO2017130334A1 JP WO2017130334 A1 JPWO2017130334 A1 JP WO2017130334A1 JP 2017508111 A JP2017508111 A JP 2017508111A JP 2017508111 A JP2017508111 A JP 2017508111A JP WO2017130334 A1 JPWO2017130334 A1 JP WO2017130334A1
Authority
JP
Japan
Prior art keywords
image
image processing
watermark
histogram
image data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017508111A
Other languages
English (en)
Other versions
JP6127226B1 (ja
Inventor
トニー タン
トニー タン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rakuten Group Inc
Original Assignee
Rakuten Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Rakuten Inc filed Critical Rakuten Inc
Application granted granted Critical
Publication of JP6127226B1 publication Critical patent/JP6127226B1/ja
Publication of JPWO2017130334A1 publication Critical patent/JPWO2017130334A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32229Spatial or amplitude domain methods with selective or adaptive application of the additional information, e.g. in selected regions of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/005Robust watermarking, e.g. average attack or collusion attack resistant
    • G06T1/0071Robust watermarking, e.g. average attack or collusion attack resistant using multiple or alternating watermarks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • G06T1/0028Adaptive watermarking, e.g. Human Visual System [HVS]-based watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/40Image enhancement or restoration using histogram techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32203Spatial or amplitude domain methods
    • H04N1/32251Spatial or amplitude domain methods in multilevel data, e.g. greyscale or continuous tone data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32149Methods relating to embedding, encoding, decoding, detection or retrieval operations
    • H04N1/32309Methods relating to embedding, encoding, decoding, detection or retrieval operations in colour image data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32101Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title
    • H04N1/32144Display, printing, storage or transmission of additional information, e.g. ID code, date and time or title embedded in the image data, i.e. enclosed or integrated in the image, e.g. watermark, super-imposed logo or stamp
    • H04N1/32352Controlling detectability or arrangements to facilitate detection or retrieval of the embedded information, e.g. using markers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/387Composing, repositioning or otherwise geometrically modifying originals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0051Embedding of the watermark in the spatial domain
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0064Image watermarking for copy protection or copy management, e.g. CGMS, copy only once, one-time copy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0065Extraction of an embedded watermark; Reliable detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20072Graph-based image processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Facsimile Image Signal Circuits (AREA)

Abstract

カラー画像に埋め込んだウォーターマークを検出する確実性を高める。画像処理装置(10)の画像データ取得手段(102)は、画像データを取得する。ヒストグラム生成手段(104)は、画像データ取得手段(102)により取得された画像データが示す画像の画素値に基づいて、画像内の領域ごとにヒストグラムを生成する。領域選択手段(105)は、画像の中から、ヒストグラム生成手段(104)により生成されたヒストグラムにおける色分布がまばらな領域を選択する。画像処理手段(106)は、領域選択手段(105)により選択された領域内にウォーターマークを埋め込む。

Description

本発明は、画像処理装置、画像処理方法、及びプログラムに関する。
従来、静止画や動画などの画像にウォーターマークを埋め込む技術が知られている。例えば、特許文献1には、不正なウェブサイトに掲載されている画像の出所を特定するために、画像にウォーターマークを埋め込む技術が記載されている。
米国特許出願公開第2013/0236046号明細書
ウォーターマークが埋め込まれた画像内の領域は、画素値が変化するため、画素値が変化した領域を特定すればウォーターマークを検出することができる。しかし、画像によっては、この領域を特定しにくいことがある。例えば、色がグラデーションしている領域内にウォーターマークが埋め込まれると、ウォーターマークが埋め込まれた画素の画素値が変化して周囲の画素値と同じになってしまうことがある。この場合、画像の画素値を参照しても、画素値が変化した領域を特定できず、ウォーターマークを検出できないことがある。
本発明は上記課題に鑑みてなされたものであって、その目的は、画像に埋め込んだウォーターマークを検出する確実性を高めることである。
上記課題を解決するために、本発明に係る画像処理装置は、画像データを取得する画像データ取得手段と、前記画像データ取得手段により取得された画像データが示す画像の画素値に基づいて、前記画像内の領域ごとにヒストグラムを生成するヒストグラム生成手段と、前記画像の中から、前記ヒストグラム生成手段により生成されたヒストグラムにおける色分布がまばらな領域を選択する領域選択手段と、前記領域選択手段により選択された領域内にウォーターマークを埋め込む画像処理手段と、を含むことを特徴とする。
本発明に係る画像処理方法は、画像データを取得する画像データ取得ステップと、前記画像データ取得ステップにより取得された画像データが示す画像の画素値に基づいて、前記画像内の領域ごとにヒストグラムを生成するヒストグラム生成ステップと、前記画像の中から、前記ヒストグラム生成ステップにより生成されたヒストグラムにおける色分布がまばらな領域を選択する領域選択ステップと、前記領域選択ステップにより選択された領域内にウォーターマークを埋め込む画像処理ステップと、を含むことを特徴とする。
本発明に係るプログラムは、画像データを取得する画像データ取得手段、前記画像データ取得手段により取得された画像データが示す画像の画素値に基づいて、前記画像内の領域ごとにヒストグラムを生成するヒストグラム生成手段、前記画像の中から、前記ヒストグラム生成手段により生成されたヒストグラムにおける色分布がまばらな領域を選択する領域選択手段、前記領域選択手段により選択された領域内にウォーターマークを埋め込む画像処理手段、としてコンピュータを機能させる。
また、本発明に係る情報記憶媒体は、上記のプログラムが記憶されたコンピュータ読み取り可能な情報記憶媒体である。
また、本発明の一態様では、前記画像は、複数個の色チャンネルを有するカラー画像であり、前記ヒストグラム生成手段は、前記画素値に基づいて、前記色チャンネルごとに前記ヒストグラムを生成し、前記領域選択手段は、前記色チャンネルごとに、前記ヒストグラム生成手段により生成されたヒストグラムにおける色分布がまばらな領域を選択し、前記画像処理手段は、前記領域選択手段により前記色チャンネルごとに選択された領域内の当該色チャンネルの数値を変化させることによって、当該領域内に前記ウォーターマークを埋め込む、ことを特徴とする。
また、本発明の一態様では、前記ヒストグラム生成手段は、前記画像内の領域ごとにヒストグラムイコライゼーション処理を実行したうえで前記ヒストグラムを生成する、ことを特徴とする。
また、本発明の一態様では、前記画像処理装置は、ユーザによる前記画像データの要求を受け付ける要求受付手段を更に含み、前記ウォーターマークは、前記画像データを要求した前記ユーザを識別するための情報を含み、前記画像処理装置は、前記要求受付手段により要求を受け付けた前記ユーザに対して、前記画像処理手段により前記ウォーターマークが埋め込まれた前記画像データを提供する画像提供手段を更に含む、ことを特徴とする。
また、本発明の一態様では、前記画像処理装置は、前記画像データ取得手段により取得された画像データが、静止画データであるか動画データであるかを判定する判定手段と、前記画像の中からランダムに領域を選択するランダム選択手段と、を更に含み、前記画像処理手段は、前記判定手段により静止画データであると判定された場合、前記領域選択手段により選択された領域内に前記ウォーターマークを埋め込み、前記判定手段により動画データであると判定された場合、前記ランダム選択手段によりランダムに選択された領域内に前記ウォーターマークを埋め込む、ことを特徴とする。
また、本発明の一態様では、前記画像処理手段は、前記領域選択手段により複数の領域が選択された場合、当該複数の全ての領域内に前記ウォーターマークを埋め込む、ことを特徴とする。
また、本発明の一態様では、前記画像処理手段は、前記領域選択手段により複数の領域が選択された場合、当該複数の領域のうち、前記ヒストグラム生成手段により生成されたヒストグラムにおける色分布がまばらなものから順番に所定個数の領域を選択して前記ウォーターマークを埋め込む、ことを特徴とする。
本発明によれば、画像に埋め込んだウォーターマークを検出する確実性を高めることが可能になる。
実施形態に関わる画像処理システムの全体構成を示す図である。 画像処理システムで実現される機能の一例を示す機能ブロック図である。 画像データが示す画像の一例を示す図である。 領域内のヒストグラムを生成する処理の説明図である。 領域内のヒストグラムを生成する処理の説明図である。 ウォーターマークが埋め込まれる様子を示す図である。 ウォーターマーク埋め込み処理の一例を示すフロー図である。 ウォーターマーク検出処理の一例を示すフロー図である。 変形例の機能ブロック図である。
[1.画像処理システムのハードウェア構成]
以下、本発明に関わる画像処理装置を含む画像処理システムの実施形態の例を説明する。図1は、実施形態に関わる画像処理システムの全体構成を示す図である。図1に示すように、画像処理システム1は、画像処理サーバ10(画像処理装置の一例)、ユーザ端末20、及び管理者端末30を含む。画像処理サーバ10、ユーザ端末20、及び管理者端末30の各々は、ネットワーク2を介してデータ送受信可能に接続される。なお、ここでは、これらを1台ずつとして説明するが、これらは複数台あってもよい。
画像処理サーバ10は、サーバコンピュータである。画像処理サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、例えば、一又は複数のマイクロプロセッサを含む。制御部11は、記憶部12に記憶されたプログラムやデータに従って処理を実行する。記憶部12は、主記憶部及び補助記憶部を含む。例えば、主記憶部はRAMであり、補助記憶部は、ハードディスク又はソリッドステートドライブ等である。通信部13は、ネットワークカードを含む。通信部13は、ネットワーク2を介してデータ通信を行う。
ユーザ端末20は、ユーザが操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯電話機(スマートフォンを含む)、又は携帯情報端末(タブレット型コンピュータを含む)等である。ユーザ端末20は、制御部21、記憶部22、通信部23、操作部24、及び表示部25を含む。制御部21、記憶部22、及び通信部23のハードウェア構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であるので説明を省略する。
操作部24は、ユーザが操作を行うための入力デバイスであり、例えば、マウスやキーボード、タッチパネル等である。操作部24は、ユーザによる操作内容を制御部21に伝達する。表示部25は、例えば、液晶表示部又は有機EL表示部等である。表示部25は、制御部21の指示に従って画面を表示する。
管理者端末30は、管理者が操作するコンピュータであり、例えば、パーソナルコンピュータ、携帯電話機(スマートフォンを含む)、又は携帯情報端末(タブレット型コンピュータを含む)等である。管理者端末30の制御部31、記憶部32、通信部33、操作部34、及び表示部35のハードウェア構成は、それぞれ制御部21、記憶部22、通信部23、操作部24、及び表示部25と同様であるので説明を省略する。
なお、記憶部12,22,32に記憶されるものとして説明するプログラム及びデータは、ネットワーク2を介して記憶部12,22,32に供給されるようにしてもよい。また、画像処理サーバ10、ユーザ端末20、及び管理者端末30のハードウェア構成は、上記の例に限られず、種々のコンピュータのハードウェアを適用可能である。例えば、画像処理サーバ10、ユーザ端末20、及び管理者端末30の各々は、コンピュータ読み取り可能な情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)を含んでもよい。この場合、情報記憶媒体に記憶されたプログラムやデータが読取部を介して記憶部12,22,32に供給されるようにしてもよい。
本実施形態では、画像処理サーバ10は、ユーザが勤務する会社の秘密情報の画像を管理する。例えば、ユーザが画像を故意に社外に公開した場合に当該ユーザを特定できるように、画像処理サーバ10は、ユーザが要求した画像にウォーターマークを埋め込むようにしている。その際に、画像処理サーバ10は、ヒストグラムにおける色分布がまばらな領域にウォーターマークを埋め込むことで、ウォーターマークを検出しやすくしている。以降、当該技術の詳細について説明する。
[2.画像処理システムにおいて実現される機能]
図2は、画像処理システム1で実現される機能の一例を示す機能ブロック図である。本実施形態では、主に、画像処理サーバ10で実現される機能を説明する。図2に示すように、画像処理サーバ10では、データ記憶部100、要求受付部101、画像データ取得部102、ウォーターマーク生成部103、ヒストグラム生成部104、領域選択部105、画像処理部106、及び画像提供部107が実現される。
[2−1.データ記憶部]
データ記憶部100は、記憶部12を主として実現される。データ記憶部100は、画像にウォーターマークを埋め込むための各種データを記憶する。例えば、データ記憶部100は、ユーザデータベース及び画像データベースを記憶する。
ユーザデータベースは、画像処理システム1を利用するユーザに関する情報を格納する。例えば、ユーザデータベースは、ユーザを一意に識別するユーザID(例えば、社員番号)やユーザの個人情報を格納する。個人情報は、例えば、ユーザ名(例えば、氏名やユーザアカウント)、ユーザの所属(例えば、会社名や所属部署)、及びユーザの連絡先(例えば、電話番号やメールアドレス)などである。
画像データベースは、画像処理サーバ10が管理する画像データに関する情報を格納する。画像データは、静止画データであってもよいし、動画データであってもよい。また、画像データが示す画像は、グレースケール画像であってもよいし、複数個の色チャンネルを有するカラー画像であってもよい。本実施形態では、画像データがカラー静止画像を示す場合を例に挙げて説明する。
画像データベースには、画像データそのものが格納されていてもよいし、画像データの所在のみが格納されていてもよい。画像データの所在とは、画像データの格納場所であり、例えば、画像データを格納したフォルダ(ディレクトリ)やURLなどのリンク情報である。画像データは、画像処理サーバ10に記憶されていてもよいし、画像処理サーバ10とデータ送受信可能に接続された他のコンピュータに記憶されていてもよい。また、画像データベースには、画像データの形式やデータサイズを格納するようにしてよい。画像データの形式は、例えば、画像データの拡張子や色深度情報などである。
なお、データ記憶部100が記憶するデータは上記の例に限られない。データ記憶部100は、種々のデータを記憶してよい。例えば、ウォーターマークに画像データの著作者や管理者の情報を含める場合には、データ記憶部100は、画像データごとに著作者や管理者の情報を記憶してもよい。
[2−2.要求受付部]
要求受付部101は、制御部11を主として実現される。要求受付部101は、ユーザによる画像データの要求を受け付ける。画像データの要求とは、画像データの取得要求又は表示要求である。例えば、要求受付部101は、ユーザ端末20からユーザが指定した画像データを識別する情報(ファイル名やリンク情報など)を受信することによって、画像データの要求を受け付けることになる。
[2−3.画像データ取得部]
画像データ取得部102は、制御部11を主として実現される。画像データ取得部102は、画像データを取得する。本実施形態では、ユーザは画像データベースに格納された画像データを要求するので、画像データ取得部102は、画像データベースに格納された複数の画像データのうち、ユーザが指定した画像データを取得することになる。
[2−4.ウォーターマーク生成部]
ウォーターマーク生成部103は、制御部11を主として実現される。ウォーターマーク生成部103は、ウォーターマークを生成する。ウォーターマークは、デジタルウォーターマークとも呼ばれ、一般的には、データの秘密保持や著作権保護の目的で埋め込まれる画像である。ウォーターマークは、可視的なものと不可視的なものが存在するが、本実施形態では、ウォーターマークが不可視的である場合を説明する。
ウォーターマークは、画像データベースに格納された画像に関する情報を含む。別の言い方をすれば、ウォーターマークは、自身が埋め込まれる画像に関する情報を含む。この情報は、画像の秘密を保持したり著作権を保護したりするための情報であり、例えば、画像を要求したユーザを識別するための情報、画像の著作者を識別するための情報、又は画像の管理者を識別するための情報である。ここでは、ウォーターマークは、画像データを要求したユーザを識別するための情報を含む場合を説明する。ユーザを識別するための情報は、ユーザデータベースに格納された情報であり、例えば、ユーザID、ユーザ名、所属、及び連絡先などである。
また、ウォーターマークは、画像で表されてもよいし、テキストで表されてもよい。本実施形態では、ウォーターマークが画像として表される場合を説明する。更に、その画像の一例として、所与の規格で定められたコードを用いる場合を説明する。コードは、バーコードであってもよいし、二次元コードであってもよい。ここでは、二次元コードをウォーターマークとして用いる場合を説明し、二次元コードの一例として、QRコード(登録商標)を説明する。
[2−5.ヒストグラム生成部]
ヒストグラム生成部104は、制御部11を主として実現される。ヒストグラム生成部104は、画像データ取得部102により取得された画像データが示す画像の画素値に基づいて、画像内の領域ごとにヒストグラムを生成する。ヒストグラムは、階調値ごとに頻度(画素数)を表したものである。
図3は、画像データが示す画像の一例を示す図である。図3では、画像40の左上をスクリーン座標系(X−Y座標系)の原点Oとする。本実施形態では、画像40はカラー画像なので、画像40の各画素の画素値は、色チャンネルごとに数値を含んでいる。例えば、RGBカラー画像であれば、画素値は、赤チャンネルの数値Rxy、緑チャンネルの数値Gxy、及び青チャンネルの数値Bxyを含む。なお、これらのxとyの文字は画素の座標である。このRGBカラー画像が24ビットであれば、各色チャンネルの数値は、8ビットで表されるので0〜255の何れかの数値となる。
例えば、ヒストグラム生成部104は、画素値に基づいて、色チャンネルごとにヒストグラムを生成することになる。ヒストグラムの生成方法自体は公知の種々の手法を適用可能であるが、ヒストグラム生成部104は、例えば次のようにしてヒストグラムを生成する。赤チャンネルのヒストグラムの生成方法を例に挙げると、ここでは数値Rxyが0〜255の256段階の階調で表現されるので、ヒストグラム生成部104は、画像40の各画素の赤チャンネルの数値Rxyを参照して、各階調の頻度をカウントすることによって、赤チャンネルのヒストグラムを生成する。ヒストグラム生成部104は、緑チャンネル及び青チャンネルについても同様に、数値Gxy,Bxyを参照して、各階調の頻度をカウントすることでヒストグラムを生成することになる。なお、ここではヒストグラム生成部104が、赤チャンネル、緑チャンネル、及び青チャンネルのそれぞれについてヒストグラムを生成する場合を説明するが、これら3つの色チャンネルを合わせた1つのヒストグラム(いわゆる輝度ヒストグラム)を生成してもよい。
本実施形態では、ヒストグラム生成部104は、画像40内の領域ごとにヒストグラムイコライゼーション処理を実行したうえでヒストグラムを生成する場合を説明する。ヒストグラムイコライゼーション処理は、ヒストグラムにおける頻度の累積を示すグラフが直線状になるように各画素値を変換する処理である。画像に対してヒストグラムイコライゼーション処理を施すことにより、階調に偏りがある場合に、階調を万遍なく分散させることができる。ヒストグラムイコライゼーション処理自体は、公知の種々の処理を適用可能である。例えば、ヒストグラム生成部104は、画像40内の領域の各階調の頻度を取得し、頻度が基準以上(例えば、1以上)の階調を特定する。ヒストグラム生成部104は、当該特定した階調の値とその頻度を所与の数式に代入することによって、ヒストグラムイコライゼーション処理を実行する。この数式は、基準以上の頻度を有する階調値が、階調の範囲(ここでは各数値は8ビットで表されるので、0〜255)に分散されるように定められている。例えば、ある領域の数値Rxyが50〜100に集中しており、それ以外の階調の頻度が0である場合、これら50〜100の階調値が、8ビットで表現可能な0〜255に分散されるように、数値Rxyが変換されることになる。
図4は、領域41内のヒストグラムを生成する処理の説明図である。図4に示すように、領域41は、比較的色の数や変化が少なく、同じ色の画素が多い領域である。即ち、領域41は、所定の階調値に頻度が集中している領域である。このため、ヒストグラム生成部104が領域41に対してヒストグラムイコライゼーション処理を実行してヒストグラムを生成すると、色分布がまばらなヒストグラムが生成される。図4の例は、ヒストグラム生成部104が、領域41の赤チャンネルに対してヒストグラムイコライゼーション処理を実行した場合を示している。例えば、領域41内のほぼ全ての画素Pxyの数値Rxyが100と140であった場合、100と140に頻度が集中して他の階調の頻度はほぼ0である。このため、ヒストグラム生成部104が領域41にヒストグラムイコライゼーション処理を実行すると、図4のように、色分布がまばらなヒストグラムとなる。
図5は、領域42内のヒストグラムを生成する処理の説明図である。図4に示すように、領域42は、比較的色の数や変化が大きく、同じ色の画素が少ない領域である。即ち、領域42は、所定の階調値に頻度が集中するのではなく、各階調値に万遍なく頻度が分散している領域である。このため、ヒストグラム生成部104が領域42に対してヒストグラムイコライゼーション処理を実行してヒストグラムを生成しても、色分布がまばらなヒストグラムにはならない。図5の例は、ヒストグラム生成部104が、領域42の赤チャンネルに対してヒストグラムイコライゼーション処理を実行した場合を示している。例えば、領域42内の各画素Pxyの数値Rxyが0〜255の間で万遍なく存在していた場合、0〜255のそれぞれの頻度はほとんど変わらない。このため、ヒストグラム生成部104が領域42にヒストグラムイコライゼーション処理を実行しても、図5に示すように、色分布がまばらにはならない。
[2−6.領域選択部]
領域選択部105は、制御部11を主として実現される。領域選択部105は、画像40の中から、ヒストグラム生成部104により生成されたヒストグラムにおける色分布がまばらな領域41を選択する。本実施形態では、複数個の色チャンネルを有するカラー画像に対して色チャンネルごとにヒストグラムが生成されるので、領域選択部105は、色チャンネルごとに、ヒストグラム生成部104により生成されたヒストグラムにおける色分布がまばらな領域41を選択する。
色分布がまばらとは、所定以上の頻度が表れた階調のまばら具合(密度)が基準以上(基準密度以上)であることを意味する。例えば、下記のようにして色分布がまばらであるかが判定される。
例えば、色分布がまばらだと特定の階調に頻度が集中し、グラデーションしていると各階調に頻度が分散するので、領域選択部105は、第1の閾値T以上の頻度の階調の数が所定数以上であるときは、色分布がまばらと判定するようにしてもよい。例えば、上記所定数を2個とすると、図3に示す領域41のヒストグラムでは、閾値T以上の頻度の階調の数は2個であり所定数以上なので、領域選択部105は、領域41の色分布がまばらだと判定する。一方、領域42のヒストグラムでは、閾値T以上の頻度の階調は0個であり所定数未満なので、領域選択部105は、領域42の色分布はまばらではないと判定する。
また例えば、色分布がまばらだと頻度が0の階調が多数あり、グラデーションしていると頻度が0の階調はほとんどないので、上記とは逆に、領域選択部105は、第2の閾値T(T<<T)以上の頻度の階調の数が所定数未満であるときは、色分布がまばらと判定するようにしてもよい。例えば、上記所定数を10個とすると、領域41のヒストグラムでは、閾値T以上の頻度の階調の数は2個であり所定数未満なので、領域選択部105は、領域41の色分布がまばらだと判定する。一方、領域42のヒストグラムでは、閾値T以上の頻度の階調は多数あり所定数以上なので、領域選択部105は、領域41の色分布はまばらではないと判定する。
また例えば、上記のように階調の数に着目するのではなく、ピーク間の距離に着目すると、色分布がまばらだとピーク間の距離が長く、グラデーションしているとピーク間の距離が短いので、領域選択部105は、ピーク(例えば、閾値T以上の頻度があればピークとする)どうしの距離Dが所定距離(例えば、5)以上であるときは、色分布がまばらと判定するようにしてもよい。ここでの距離Dは、あるピークの階調値と、そのピークの隣のピークの階調値と、の差の値である。例えば、上記所定距離は、後述する画像処理部106による数値Rxy,Gxy,Bxyの変化量に基づいて定まるようにしてよい。これは、ウォーターマークを埋め込んで数値Rxy,Gxy,Bxyを変化させたときに、隣のピークと同じ値になってしまうと、どの部分にウォーターマークが埋め込まれたのかを特定できなくなる可能性があるので、これを防止するためである。例えば、領域41のヒストグラムでは、距離Dは所定距離以上なので、領域選択部105は、領域41の色分布がまばらだと判定する。一方、領域42のヒストグラムでは、ピーク間の距離Dは「1」又は「2」であり所定距離未満なので、領域選択部105は、領域41の色分布はまばらではないと判定する。
上記のようにして、領域選択部105は、画像40から色分布がまばらな領域を判定し、当該領域を選択する。例えば、領域選択部105は、赤チャンネルの色分布がまばらな領域を特定し、赤チャンネルにウォーターマークを埋め込む領域として選択する。また例えば、領域選択部105は、緑チャンネルの色分布がまばらな領域を特定し、緑チャンネルにウォーターマークを埋め込む領域として選択する。領域選択部105は、青チャンネルの色分布がまばらな領域を特定し、青チャンネルにウォーターマークを埋め込む領域として選択する。なお、色分布がまばらな領域は、グラデーションしていない領域であり、色の違い(ある画素と、周囲の画素と、の色の違い)が大きい領域である。別の言い方をすれば、色分布がまばらな領域は、色の変化の度合いが大きい領域である。このため、領域選択部105は、色の違いが基準以上となる領域を選択することになる。
[2−7.画像処理部]
画像処理部106は、制御部11を主として実現される。画像処理部106は、領域選択部105により選択された領域41内にウォーターマークを埋め込む。画像処理部106は、画素値に含まれる数値Rxy,xy,xyのうちの1つ以上を変化させることによってウォーターマークを埋め込む。本実施形態では、領域選択部105により色チャンネルごとに領域が選択されるので、画像処理部106は、領域選択部105により色チャンネルごとに選択された領域内の当該色チャンネルの数値を変化させることによって、当該領域内にウォーターマークを埋め込むことになる。
図6は、ウォーターマークが埋め込まれる様子を示す図である。ここでは、領域選択部104が、全ての色チャンネルに対して領域41を選択した場合を説明する。即ち、画像処理部106が、全ての色チャンネルに対して、領域41にウォーターマーク50を埋め込む場合を説明する。
先述したように、本実施形態では、ウォーターマーク50は二次元コードである。二次元コードの各セルは、0又は1の何れかの値を取る。例えば、「0」に対応するセルは色がなく、「1」に対応するセルは色を有する。なお、ここでの色がないとは背景色と同じ色であることを意味し、色を有するとは背景色と異なる色であることを意味する。即ち、赤チャンネルに埋め込まれるウォーターマーク50の「0」のセルに対応する領域は赤色がなく、「1」のセルに対応する領域は赤色を有することになる。同様に、緑チャンネル及び青チャンネルに埋め込まれるウォーターマーク50の「0」のセルに対応する領域は、それぞれ緑色又は青色がなく、「1」のセルに対応する領域は、それぞれ緑色又は青色を有する。このため、図4では、ウォーターマーク50を黒で示しているが、実際には、各チャンネルに埋め込まれるウォーターマーク50は、赤色、緑色、青色である。なお、ウォーターマーク50の二次元コードの1つのセルは、画像としては1画素(1ピクセル)だけで構成されてもよいし、複数の画素から構成されてもよい。例えば、画像圧縮に耐えられるように、十分な大きさのウォーターマーク50を採用する場合には、1つのセルは複数の画素から構成されるようにすればよい。
例えば、画像処理部106は、ウォーターマーク50の「0」のセルに対応する画素の画素値は変化させず、ウォーターマーク50の「1」のセルに対応する画素の画素値は変化させる。具体的には、画像処理部106は、ウォーターマーク50の「0」のセルに対応する画素の画素値は(Rxy,Gxy,Bxy)のまま変化させず、ウォーターマーク50の「1」のセルに対応する画素Pxyの画素値を(Rxy+1,Gxy+1,Bxy+1)とする。先述したように、ここでは、全ての色チャンネルに対してウォーターマークを埋め込む場合を説明するので、数値Rxy,xy,xyの全てが1ずつ増加している。このように、ウォーターマーク50が埋め込まれた領域の画素値はわずかしか変化しないので、図4に示すように、ウォーターマーク50は人の目では気づきにくい状態(不可視的な状態)となる。
なお、画像処理部106が各色チャンネルの数値Rxy,xy,xyを1だけ増加させる場合を説明したが、2以上の変化をさせてもよい。ただし、数値Rxy,xy,xyの変化が大きすぎると、不可視性を維持できない可能性があるので、変化量は閾値(例えば、4)未満となるようにしてもよい。また、画像処理部106は、各色チャンネルの数値Rxy,xy,xyを増加させるのではなく減少させてもよい。この場合、画像処理部106は、ウォーターマーク50の「0」のセルに対応する画素の画素値を減少させ、ウォーターマーク50の「1」に対応する画素の画素値は変化さないようにしてもよい。また、各色チャンネルの数値Rxy,xy,xyの変化量は、固定値であってもよいし、可変値であってもよい。
また、1つの領域内に埋め込まれるウォーターマーク50の数は、1つではなく、複数であってもよい。1つの領域に埋め込まれるウォーターマーク50の数は、画像データベースに格納された全ての画像データで同じであってもよいし、画像データごとに異なっていてもよい。更に、ウォーターマーク50の数は、固定値であってもよいし、可変値であってもよい。可変値である場合には、ウォーターマーク50の数は、ユーザや画像データなどの所定条件のもとで定まってもよいし、ランダムに定まってもよい。
また、上記の例では、領域41において3つの色チャンネルの全ての色分布がまばらである場合の処理を説明したが、一部の色チャンネルの色分布のみがまばらであった場合には、画像処理部106は、当該一部の色チャンネルの数値のみを変化させる。例えば、領域41において赤チャンネルの色分布のみがまばらであった場合、画像処理部106は、赤チャンネルの数値Rxyのみを変化させることになる。なお、一部の色チャンネルの色分布のみがまばらであった場合でも、全ての色チャンネルにウォーターマークを埋め込んでもよい。更に、3つの色チャンネルの全ての色分布がまばらであったとしても、画像処理部106は、必ずしもこれら全てにウォーターマークを埋め込む必要はなく、何れか1つ又は2つにウォーターマークを埋め込んでもよい。この場合、ウォーターマークを埋め込む色チャンネルは、固定であってもよいし、所与の条件のもとで可変であってもよい。
[2−8.画像提供部]
画像提供部107は、制御部11を主として実現される。画像提供部107は、要求受付部101により要求を受け付けたユーザに対して、画像処理部106によりウォーターマークが埋め込まれた画像データ(即ち、画素値を変化させた画像データ)を提供する。例えば、画像提供部107は、ウォーターマークを埋め込んだ画像データ自体をユーザ端末に送信してもよいし、画像データ自体は送信せずにウォーターマークが埋め込まれた画像を表示部25に表示させるためのデータ(画面の表示データ)のみをユーザ端末に送信してもよい。
[3.画像処理システムにおいて実行される処理]
次に、画像処理システム1において実行される処理の一例として、画像にウォーターマークを埋め込むためのウォーターマーク埋め込み処理と、画像に埋め込まれたウォーターマークを検出するためのウォーターマーク検出処理と、を説明する。下記に説明する処理は、図2に示す機能ブロックが実行する処理の一例である。
図7は、ウォーターマーク埋め込み処理の一例を示すフロー図である。図7に示す処理は、制御部11が、記憶部12に記憶されたプログラムに従って動作し、制御部21が、記憶部22に記憶されたプログラムに従って動作することによって実行される。
図7に示すように、まず、ユーザ端末20において、ユーザが操作部24から所定の操作を行うと、制御部21は、画像処理サーバ10に対して画像データを要求する(S1)。画像データの要求は、所定の形式で行われるようにすればよく、例えば、要求する画像データを識別するための情報(ファイル名やリンク情報など)を含む。なお、ユーザ端末20から画像処理サーバ10に対して要求が送信される場合にはユーザIDやIPアドレスが送信されており、画像処理サーバ10は、どのユーザがアクセスしているかを特定可能になっているものとする。
画像処理サーバ10においては、画像データの要求を受信すると、制御部11は、ユーザデータベースを参照し、画像データを要求したユーザIDなどの情報を取得する(S2)。S2においては、制御部11は、画像データの要求に基づいて、ウォーターマークとして埋め込む情報を取得することになる。なお、この情報は、ユーザが画像データを要求した日時やユーザに画像データを提供する日時が含まれていてもよい。
制御部11は、S2で取得した情報に基づいて、ウォーターマークを生成する(S3)。ウォーターマークを生成するプログラムは記憶部12に記憶されているものとする。本実施形態では、二次元コードをウォーターマークとして用いるので、公知の二次元コードビルダを利用してよい。S3においては、制御部11は、S2で取得した情報を二次元コードビルダに入力することによってウォーターマークを生成する。
制御部11は、画像データベースを参照し、ユーザが要求した画像データを取得する(S4)。制御部11は、画像データが示す画像内の領域を選択する(S5)。S5においては、制御部11は、ウォーターマークを埋め込む領域の候補を選択することになる。例えば、制御部11は、画像内の所定位置から順番に領域を選択してもよいし、乱数を用いてランダムに領域を選択してもよい。
制御部11は、S5で選択した領域に対してヒストグラムイコライゼーション処理を実行してヒストグラムを生成する(S6)。S6では、制御部11は、色チャンネルごとにヒストグラムイコライゼーション処理を実行するので、赤チャンネル、緑チャンネル、及び青チャンネルの3つのヒストグラムを生成することになる。
制御部11は、S6で生成したヒストグラムに基づいて、S5で選択した領域の色分布が十分にまばらであるかを判定する(S7)。S7においては、制御部11は、先述したように、閾値T,Tを利用して判定処理を実行したり、ピーク間の距離Dを利用して判定処理を実行したりする。S7における判定は、色チャンネルごとに実行される。1つ以上の色チャンネルについて色分布がまばらであると判定された場合、S7においては、色分布が十分にまばらであると判定される。
色分布が十分にまばらであると判定された場合(S7;Y)、制御部11は、S5で選択した領域をウォーターマークが埋め込まれる領域として選択し、S3で生成したウォーターマークを埋め込む(S8)。S8においては、制御部11は、図6を参照して説明した方法に基づいて、ウォーターマークを埋め込む領域の数値Rxy,Gxy,Bxyのうち、まばらであると判定された色チャンネルの数値を変化させることになる。
制御部11は、ウォーターマークの埋め込みを終了するかを判定する(S9)。S9の判定処理は、所定の条件のもとで実行されるようにすればよい。例えば、所定数だけウォーターマークを埋め込むことが条件となってもよいし、選択する領域がなくなったことを条件としてもよい。
終了すると判定された場合(S9;Y)、制御部11は、S8でウォーターマークを埋め込んだ画像データをユーザ端末20に送信する(S10)。なお、色分布がまばらな領域が見つからなかった場合は、制御部11は、ウォーターマークを埋め込まずに画像データを送信してもよいし、予め定められた位置やランダムに選択した位置にウォーターマークを埋め込んだうえで画像データを送信してもよい。ユーザ端末20においては、画像データを受信すると、制御部21は、受信した画像データを表示部25に表示させる(S11)。
以上説明したウォーターマーク埋め込み処理が実行されると、ユーザは、受信した画像データや表示部25のスクリーンショットなどをネットワーク2上のコンピュータにアップロードできる状態となる。以降説明するウォーターマーク検出処理は、ネットワーク2上のコンピュータにアップロードされたカラー画像に埋め込まれたウォーターマークを管理者端末30で検出するための処理である。
図8は、ウォーターマーク検出処理の一例を示すフロー図である。図8に示す処理は、制御部31が、記憶部32に記憶されたプログラムに従って動作することによって実行される。図8に示すように、まず、制御部31は、ネットワーク2上のコンピュータに公開された画像データを取得する(S21)。S21においては、制御部31は、ネットワーク2上のコンピュータから画像データを受信してもよいし、予め記憶部32にダウンロードしておいた画像データを読み出してもよい。
制御部31は、S21で取得した画像データが示すカラー画像内の領域を選択する(S22)。S22においては、制御部31は、予め定められた方法に基づいてカラー画像内の領域を選択すればよく、所定の大きさの領域を画像内の所定位置から順番に選択してもよいし、ランダムに領域を選択してもよい。なお、S22以降の処理は、色チャンネルごとに実行される。即ち、制御部31は、赤チャンネルに対してS22以降の処理を実行し、緑チャンネルに対してS22以降の処理を実行し、青チャンネルに対してS22以降の処理を実行する。
制御部31は、S22で選択した領域に対して、色チャンネルごとにヒストグラムイコライゼーション処理を実行する(S23)。S23では、制御部31は、色チャンネルごとにヒストグラムイコライゼーション処理を実行するので、赤チャンネル、緑チャンネル、及び青チャンネルの3つのヒストグラムを生成することになる。なお、画像全体に対してヒストグラムイコライゼーション処理を施してもよいが、一部の領域に対してヒストグラムイコライゼーション処理を施すことにより、各階調のピーク間の距離をより広げることができるので、ウォーターマークが浮かび上がりやすくなり、その結果、ウォーターマークを検出しやすくなる。
制御部31は、S23で生成したヒストグラムを参照して、特定の階調(又はピーク)を選択する(S24)。S24においては、制御部31は、ヒストグラムに表れた頻度を閾値と比較し、基準以上の頻度が現れた階調を選択する。この閾値は、記憶部32に記憶されているものとする。
制御部31は、何れかの色チャンネルにおいて、S24で選択した特定の階調でウォーターマークの一部又は全部を検出可能であるかを判定する(S25)。S25においては、制御部31は、ウォーターマークに含まれる所定パターンを検出したかを判定することになる。本実施形態のように二次元コードをウォーターマークとして用いるのであれば、制御部31は、二次元コードのコーナーに配置された3つのファインダパターンを探索する。例えば、制御部31は、1つ又は2つのファインダパターンを検出した場合にウォーターマークの一部を検出したと判定し、3つのファインダパターンを検出した場合にウォーターマークの全部を検出したと判定する。
一部又は全部を検出可能であると判定された場合(S25;Y)、制御部31は、当該検出したウォーターマークが完全であるかを判定する(S26)。なお、S25において複数の色チャンネルにおいてウォーターマークが検出された場合には、S26の処理は、これら複数の色チャンネルごとに実行されることになる。また、本実施形態のように二次元コードをウォーターマークとして用いるのであれば、S26においては、制御部31は、公知の二次元コードリーダーでウォーターマークの読み取りが可能かを判定すればよい。他にも例えば、制御部31は、ウォーターマークに含まれる所定パターンを検出したかを判定してもよい。このパターンは、S25の判定で用いるパターンと同じであってもよいし、異なっていてもよい。S26においては、制御部31は、パターンマッチングを利用して、二次元コードのアライメントパターン、タイミングパターン、又はフォーマット情報を検出したかを判定してもよい。
ウォーターマークが完全であると判定された場合(S26;Y)、制御部31は、ウォーターマークに含まれるメッセージを読み出して表示部35に表示させ(S27)、本処理は終了する。S27においては、制御部31は、ウォーターマークに含まれるユーザIDなどの情報を表示部35に表示させることになる。
一方、ウォーターマークが完全でないと判定された場合(S26;N)、制御部31は、記憶部32を参照し、既に検出したウォーターマークの一部があるかを判定する(S28)。過去にS25で検出されたウォーターマークの一部は、記憶部32に記憶されているものとする。
ウォーターマークの一部があると判定された場合(S28;Y)、制御部31は、S25で検出したウォーターマークの一部と、既に検出したウォーターマークの一部と、を合成する(S29)。S29においては、制御部31は、各ウォーターマーク部分に含まれる所定パターンを所定位置に配置することによって合成する。例えば、本実施形態のように二次元コードをウォーターマークとして用いるのであれば、ファインダパターンは3つのコーナーに配置されるので、各ウォーターマーク部分に含まれるファインダパターンがコーナーに配置されるようにする。なお、S29においては、制御部31は、ある色チャンネルで検出されたウォーターマークの一部と、他の色チャンネルで検出されたウォーターマークの一部と、を合成してもよい。
制御部31は、S29で合成したウォーターマークが完全であるかを判定する(S30)。S30の処理は、S26と同様である。ウォーターマークが完全であると判定された場合(S30;Y)、S27においてメッセージが読み出され、本処理は終了する。一方、ウォーターマークが完全でないと判定された場合(S30;N)、後述するS32に移行する。
S25において、一部又は全部を検出可能でないと判定された場合(S25;N)、制御部31は、S24における階調の選択を終了するかを判定する(S31)。S31においては、制御部31は、まだ選択していない階調が存在するかを判定することになる。階調の選択を終了しないと判定された場合(S31;N)、S24の処理に戻り、次の階調についてウォーターマークの検出処理が実行される。
一方、階調の選択を終了すると判定された場合(S31;Y)、制御部31は、S22において全ての領域を選択し終わったかを判定する(S32)。選択していない領域があると判定されない場合(S32;N)、S22の処理に戻り、次の領域についてウォーターマークの検出処理が実行される。
一方、領域の選択を終了すると判定された場合(S32;Y)、制御部31は、ウォーターマークを検出できなかった旨を示すエラーメッセージを表示部35に表示させ(S33)、本処理は終了する。
以上説明した画像処理システム1によれば、色分布がまばらであり、ウォーターマークを検出しやすい領域にウォーターマークが埋め込まれるので、ウォーターマークを検出する確実性を向上させることができる。例えば、図3の画像40のように、グラデーションしている領域42ではなく、色の違いが大きい領域41にウォーターマークを埋め込むことで、ウォーターマークを検出する確実性が高まる。
また、画像処理サーバ10は、色チャンネルごとに色分布がまばらな領域を選択してウォーターマークを埋め込むので、より多くのウォーターマークを埋め込むことが可能になり、ウォーターマークの不可視性も高めることができる。例えば、赤チャンネルは色分布がまばらなのに、緑チャンネル及び青チャンネルは色分布がまばらでない領域は、全体として見れば色分布がまばらではないと判定されてウォーターマークが埋め込まれない可能性があるが、色チャンネルごとに領域を選択することで、このような領域もウォーターマークを埋め込む対象として選択されることになるので、より多くのウォーターマークを埋め込むことができる。更に、全ての色チャンネルにウォーターマークを埋め込む場合には、画素値の総変化量が大きくなってしまうが、色分布がまばらな色チャンネルに対してだけウォーターマークを埋め込むことで、画素値の総変化量を抑えることができ、ウォーターマークの不可視性を高めることができる。例えば、赤チャンネルは色分布がまばらなのに、緑チャンネル及び青チャンネルは色分布がまばらでない領域に対して、全色チャンネルにウォーターマークを埋め込むと、合計3の画素値が変化するが、赤チャンネルだけに埋め込めば1の変化で済むので、不可視性を高めることができる。
また、領域ごとにヒストグラムイコライゼーション処理を施したうえでヒストグラムを生成することで、色分布がまばらかどうかの判定を正確に行うことができる。その結果、より検出しやすい領域にウォーターマークを埋め込むことができるので、ウォーターマークを検出する確率を高めることができる。
また、画像処理サーバ10に対して画像データを要求したユーザを識別する情報をウォーターマークに含めるので、例えば、社内の秘密情報である画像をユーザが社外に漏えいした場合であっても、ウォーターマークから当該ユーザを特定することができる。その結果、画像の漏洩を未然に防止することができる。
[4.変形例]
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
図9は、変形例の機能ブロック図である。図9に示すように、下記に説明する変形例では、実施形態の機能に加えて、判定部108及びランダム選択部109が実現される。
(1)例えば、上記説明した画像データには動画データも含まれているが、動画は複数の静止画像が連続再生されるものであり、各静止画像に対してウォーターマーク埋め込み処理を実行すると処理が複雑化する。このため、ユーザが動画データを要求した場合にはランダムに定まる位置にウォーターマークを埋め込み、ユーザが静止画データを要求した場合にのみ実施形態で説明したウォーターマーク埋め込み処理を実行するようにしてもよい。
変形例(1)の画像処理システム1は、判定部108及びランダム選択部109が実現される。判定部108は、制御部11を主として実現される。判定部108は、画像データ取得部102により取得された画像データが、静止画データであるか動画データであるかを判定する。判定部108は、画像データのデータ形式を参照することで判定を行う。例えば、判定部108は、画像データの拡張子を参照してもよいし、画像データのプロパティを参照してもよい。ここでは、画像データベースにデータ形式が格納されているので、判定部108は、画像データベースを参照することで判定を行う。
ランダム選択部109は、制御部11を主として実現される。ランダム選択部109は、画像40の中からランダムに領域を選択する。領域の大きさは、固定であってもよいし、ランダムに決定されてもよい。例えば、ランダム選択部109は、乱数発生アルゴリズムに基づいて乱数を発生させ、当該乱数に基づいて定まる位置を含む領域を選択する。この位置は、乱数を所定の数式に代入することで得られるスクリーン座標であってよい。
画像処理部106は、判定部108により静止画データであると判定された場合に、領域選択部105により選択された領域内にウォーターマークを埋め込む。画像処理部106は、判定部108により動画データであると判定された場合に、ランダム選択部109によりランダムに選択された領域内にウォーターマークを埋め込む。ウォーターマークを埋め込む処理自体は、実施形態で説明した方法と同様である。
変形例(1)によれば、動画データは多数の画像を含むため、何れかの画像のウォーターマークは検出できる確率が高いので、ランダムに選択した領域にウォーターマークを埋め込んで画像処理サーバ10の処理負荷を軽減することができる。
(2)また例えば、画像処理部106は、領域選択部105により複数の領域が選択された場合、当該複数の全ての領域内にウォーターマークを埋め込んでもよい。この場合、領域選択部105は、画像内で選択可能な領域が無くなるまで領域を選択してもよいし、所定数の領域を選択するまで領域を選択してもよい。各領域にウォーターマークを埋め込む処理自体は、実施形態で説明した方法と同様である。
変形例(2)によれば、画像内により多くのウォーターマークを埋め込むことができる。
(3)また例えば、実施形態では、色分布がまばらな領域が複数ある場合、その全てにウォーターマークを埋め込む場合を説明したが、全てに対して埋め込むのではなく、色分布がよりまばらなものから順番に埋め込むようにしてもよい。
画像処理部106は、領域選択部105により複数の領域が選択された場合、当該複数の領域のうち、ヒストグラム生成部104により生成されたヒストグラムにおける色分布がまばらなものから順番に所定個数の領域を選択してウォーターマークを埋め込む。画像処理部106は、色分布のまばら具合を、ヒストグラムに基づいて判定する。例えば、画像処理部106は、閾値T以上の階調数が多いものから順番に所定個数の領域を選択する。また例えば、画像処理部106は、閾値T以上の階調数が少ないものから順番に所定個数の領域を選択してもよい。また例えば、画像処理部106は、距離Dが長いものから順番に所定個数の領域を選択するようにしてもよい。
変形例(3)によれば、色分布がよりまばらな領域に対して優先的にウォーターマークが埋め込まれるので、ウォーターマークを検出する確率を高めることができる。
(4)また例えば、変形例(1)と(2)又は変形例(1)と(3)を組み合わせるようにしてもよい。
また例えば、実施形態では、色チャンネルごとにウォーターマーク検出処理を実行する場合を説明したが、例えば、各色チャンネルでウォーターマークの一部しか検出できなかった場合は、各色チャンネルで検出したウォーターマーク同士を合成してもよい。例えば、赤チャンネルで検出したウォーターマークの一部と、緑チャンネルで検出したウォーターマークの一部と、青チャンネルで検出したウォーターマークの一部と、を合成して1つのウォーターマークとして検出を試みてもよい。また例えば、複数の色チャンネルでウォーターマークを検出できた場合には、色チャンネルに優先順位を付けておき、優先順位の高い色チャンネルのウォーターマークを信頼するようにしてもよい。例えば、赤チャンネルのウォーターマークは、緑チャンネルのウォーターマークよりも優先順位を高くして、赤チャンネルと緑チャンネルの両方でウォーターマークを検出できたときは、赤チャンネルのウォーターマークに基づいてメッセージが出力されてもよい。
また例えば、画像処理部106は、互いに異なる向きのウォーターマークを画像に埋め込むようにしてもよい。また例えば、画像処理部106は、互いに異なるサイズのウォーターマークを画像に埋め込むようにしてもよい。また例えば、ある色チャンネルに埋め込むウォーターマークと、別の色チャンネルに埋め込むウォーターマークと、が重なるようにしてもよい。また、領域選択部105が、ある色チャンネルで選択した領域と、別の色チャンネルで選択した領域と、が同じである場合を説明したが、これらは、互いに一部が重なっていてもよいし、全く重なっていなくてもよい。即ち、領域選択部105は、ある色チャンネルと、別の色チャンネルと、で互いに異なる領域を選択してもよい。
また例えば、静止画像データにウォーターマークを埋め込む場合を説明したが、動画データにウォーターマークを埋め込んでもよい。他にも例えば、カラー画像ではなく、グレースケール画像にウォーターマークを埋め込んでもよい。更に、二次元コード以外のコードをウォーターマークとして利用してもよいし、コード以外の画像やテキストをウォーターマークとして利用してもよい。また例えば、ウォーターマークには任意の情報が含まれていてよく、画像データを要求したユーザ以外の情報が含まれていてもよい。
また例えば、画像処理サーバ10で実現されるものとして説明した機能が他のコンピュータ(例えば、ユーザ端末20や管理者端末30など)で実現されるようにしてもよい。この場合、上記説明した各機能が実現されるコンピュータが本発明に係る画像処理装置に相当することになる。また、上記説明した機能のうち、画像データ取得部102、ヒストグラム生成部104、領域選択部105、及び画像処理部106以外の機能は省略してもよい。

Claims (9)

  1. 画像データを取得する画像データ取得手段と、
    前記画像データ取得手段により取得された画像データが示す画像の画素値に基づいて、前記画像内の領域ごとにヒストグラムを生成するヒストグラム生成手段と、
    前記画像の中から、前記ヒストグラム生成手段により生成されたヒストグラムにおける色分布がまばらな領域を選択する領域選択手段と、
    前記領域選択手段により選択された領域内にウォーターマークを埋め込む画像処理手段と、
    を含むことを特徴とする画像処理装置。
  2. 前記画像は、複数個の色チャンネルを有するカラー画像であり、
    前記ヒストグラム生成手段は、前記画素値に基づいて、前記色チャンネルごとに前記ヒストグラムを生成し、
    前記領域選択手段は、前記色チャンネルごとに、前記ヒストグラム生成手段により生成されたヒストグラムにおける色分布がまばらな領域を選択し、
    前記画像処理手段は、前記領域選択手段により前記色チャンネルごとに選択された領域内の当該色チャンネルの数値を変化させることによって、当該領域内に前記ウォーターマークを埋め込む、
    ことを特徴とする請求項1に記載の画像処理装置。
  3. 前記ヒストグラム生成手段は、前記画像内の領域ごとにヒストグラムイコライゼーション処理を実行したうえで前記ヒストグラムを生成する、
    ことを特徴とする請求項1又は2に記載の画像処理装置。
  4. 前記画像処理装置は、ユーザによる前記画像データの要求を受け付ける要求受付手段を更に含み、
    前記ウォーターマークは、前記画像データを要求した前記ユーザを識別するための情報を含み、
    前記画像処理装置は、前記要求受付手段により要求を受け付けた前記ユーザに対して、前記画像処理手段により前記ウォーターマークが埋め込まれた前記画像データを提供する画像提供手段を更に含む、
    ことを特徴とする請求項1〜3の何れかに記載の画像処理装置。
  5. 前記画像処理装置は、
    前記画像データ取得手段により取得された画像データが、静止画データであるか動画データであるかを判定する判定手段と、
    前記画像の中からランダムに領域を選択するランダム選択手段と、
    を更に含み、
    前記画像処理手段は、前記判定手段により静止画データであると判定された場合、前記領域選択手段により選択された領域内に前記ウォーターマークを埋め込み、前記判定手段により動画データであると判定された場合、前記ランダム選択手段によりランダムに選択された領域内に前記ウォーターマークを埋め込む、
    ことを特徴とする請求項1〜4の何れかに記載の画像処理装置。
  6. 前記画像処理手段は、前記領域選択手段により複数の領域が選択された場合、当該複数の全ての領域内に前記ウォーターマークを埋め込む、
    ことを特徴とする請求項1〜5の何れかに記載の画像処理装置。
  7. 前記画像処理手段は、前記領域選択手段により複数の領域が選択された場合、当該複数の領域のうち、前記ヒストグラム生成手段により生成されたヒストグラムにおける色分布がまばらなものから順番に所定個数の領域を選択して前記ウォーターマークを埋め込む、
    ことを特徴とする請求項1〜6の何れかに記載の画像処理装置。
  8. 画像データを取得する画像データ取得ステップと、
    前記画像データ取得ステップにより取得された画像データが示す画像の画素値に基づいて、前記画像内の領域ごとにヒストグラムを生成するヒストグラム生成ステップと、
    前記画像の中から、前記ヒストグラム生成ステップにより生成されたヒストグラムにおける色分布がまばらな領域を選択する領域選択ステップと、
    前記領域選択ステップにより選択された領域内にウォーターマークを埋め込む画像処理ステップと、
    を含むことを特徴とする画像処理方法。
  9. 画像データを取得する画像データ取得手段、
    前記画像データ取得手段により取得された画像データが示す画像の画素値に基づいて、前記画像内の領域ごとにヒストグラムを生成するヒストグラム生成手段、
    前記画像の中から、前記ヒストグラム生成手段により生成されたヒストグラムにおける色分布がまばらな領域を選択する領域選択手段、
    前記領域選択手段により選択された領域内にウォーターマークを埋め込む画像処理手段、
    としてコンピュータを機能させるためのプログラム。
JP2017508111A 2016-01-27 2016-01-27 画像処理装置、画像処理方法、及びプログラム Active JP6127226B1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2016/052369 WO2017130334A1 (ja) 2016-01-27 2016-01-27 画像処理装置、画像処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6127226B1 JP6127226B1 (ja) 2017-05-10
JPWO2017130334A1 true JPWO2017130334A1 (ja) 2018-02-01

Family

ID=58704812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017508111A Active JP6127226B1 (ja) 2016-01-27 2016-01-27 画像処理装置、画像処理方法、及びプログラム

Country Status (5)

Country Link
US (1) US10970804B2 (ja)
EP (1) EP3410685B1 (ja)
JP (1) JP6127226B1 (ja)
ES (1) ES2839252T3 (ja)
WO (1) WO2017130334A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3296960B1 (en) * 2016-09-15 2018-08-22 Axis AB A method and an arrangement for pseudo coloring of a digital image
CN111008923B (zh) * 2018-10-08 2022-10-18 阿里巴巴集团控股有限公司 水印嵌入和水印提取方法、装置和设备
CN111915472B (zh) * 2019-05-10 2023-07-28 浙江大学 一种水印嵌入方法、提取方法和装置
CN110232651B (zh) * 2019-06-12 2021-06-01 山东科技大学 一种基于分块预测及差值直方图平移的可逆信息隐藏方法
CN110349115A (zh) * 2019-07-04 2019-10-18 邃蓝智能科技(上海)有限公司 Ct图像处理系统
KR102412135B1 (ko) * 2019-08-01 2022-06-23 네이버 주식회사 워터마크의 삽입을 위한 영상 합성 장치 및 방법
KR102423710B1 (ko) * 2019-09-06 2022-07-22 구글 엘엘씨 반투명 이미지 워터마크 검출
WO2021080592A1 (en) * 2019-10-24 2021-04-29 Hewlett-Packard Development Company, L.P. Printing image-independent print data based on pixel characteristics
CN111340675B (zh) * 2020-02-12 2023-04-25 中南林业科技大学 一种基于稀疏表示的彩色图案水印嵌入和提取方法
US12113993B2 (en) * 2020-12-11 2024-10-08 Shanghai Bilibili Technology Co., Ltd. Video processing method and device
CN116542838B (zh) * 2023-07-03 2024-03-29 平安银行股份有限公司 一种水印安全处理方法、装置、系统及介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1051639A (ja) 1996-07-29 1998-02-20 Fuji Photo Film Co Ltd 画像処理装置
JP3928325B2 (ja) 2000-04-03 2007-06-13 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置
US7738673B2 (en) * 2000-04-19 2010-06-15 Digimarc Corporation Low visible digital watermarks
JP3849623B2 (ja) * 2002-09-05 2006-11-22 日本電気株式会社 携帯通信機器
JP2004194233A (ja) * 2002-12-13 2004-07-08 Mitsubishi Electric Corp コンテンツ管理装置及びコンテンツ配信装置
JP2005192001A (ja) * 2003-12-26 2005-07-14 Toshiba Corp 電子透かし埋め込み方法および電子透かし埋め込み装置
JP2009200754A (ja) * 2008-02-20 2009-09-03 Yumiko Kuroda 電子透かし埋め込み装置、電子透かし検証装置、電子透かし埋め込み方法、電子透かし検証方法
JP4795473B2 (ja) * 2009-06-29 2011-10-19 キヤノン株式会社 画像処理装置及びその制御方法
JP5187371B2 (ja) * 2010-10-07 2013-04-24 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置および画像形成方法
US20130236046A1 (en) 2012-03-09 2013-09-12 Infosys Limited Method, system, and computer-readable medium for detecting leakage of a video

Also Published As

Publication number Publication date
US20190066254A1 (en) 2019-02-28
JP6127226B1 (ja) 2017-05-10
EP3410685A1 (en) 2018-12-05
WO2017130334A1 (ja) 2017-08-03
US10970804B2 (en) 2021-04-06
EP3410685B1 (en) 2020-12-02
ES2839252T3 (es) 2021-07-05
EP3410685A4 (en) 2019-12-04

Similar Documents

Publication Publication Date Title
JP6127226B1 (ja) 画像処理装置、画像処理方法、及びプログラム
Zhou et al. Coverless image steganography using partial-duplicate image retrieval
US20180373851A1 (en) Screen shot marking and identification for device security
US9740884B2 (en) Method and device for generating a code
CN111310134B (zh) 屏幕水印生成方法、装置及设备
KR102423710B1 (ko) 반투명 이미지 워터마크 검출
Khodaei et al. Adaptive data hiding, using pixel-value-differencing and LSB substitution
JP6127225B1 (ja) 画像処理装置、画像処理方法、及びプログラム
Nilizadeh et al. Information Hiding in RGB Images Using an Improved Matrix Pattern Approach.
JP6127227B1 (ja) 画像処理装置、画像処理方法、及びプログラム
CN115841413A (zh) 图像处理方法及装置
Al-Otum et al. Copyright protection of color images for android-based smartphones using watermarking with quick-response code
Hsu et al. Visible watermarking with reversibility of multimedia images for ownership declarations
Zhang et al. Eliminating orthonormal constraints of SVD to guarantee full retrievability of blind watermarking
Pinapati et al. Reversible data hiding using prior pixel pairs in two-dimensional histogram with tri-directional modification of difference histogram
Das et al. A new introduction towards invisible image watermarking on color image
RU2739936C1 (ru) Способ внесения цифровых меток в цифровое изображение и устройство для осуществления способа
Bucerzan et al. Reliable metrics for image LSB steganography on Mobile platforms
US20070297684A1 (en) Data Conversion Apparatus, Data Conversion Method, and Data Conversion System
EA044006B1 (ru) Способ внесения цифровых меток в цифровое изображение и устройство для осуществления способа
Faragallah Quadruple difference expansion-based reversible data hiding method for digital images
Kuo et al. Verifiable data hiding scheme with tamper detection
Mazurczyk et al. Information Hiding in RGB Images Using an Improved Matrix Pattern Approach
Yalman et al. Secret data embedding scheme modifying the frequency of occurrence of image brightness values
CN118827879A (zh) 图像分享方法、设备及存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170213

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170213

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20170213

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20170228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170404

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170410

R150 Certificate of patent or registration of utility model

Ref document number: 6127226

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250