JP2022503307A - 半透明の画像ウォーターマークの検出 - Google Patents

半透明の画像ウォーターマークの検出 Download PDF

Info

Publication number
JP2022503307A
JP2022503307A JP2020542769A JP2020542769A JP2022503307A JP 2022503307 A JP2022503307 A JP 2022503307A JP 2020542769 A JP2020542769 A JP 2020542769A JP 2020542769 A JP2020542769 A JP 2020542769A JP 2022503307 A JP2022503307 A JP 2022503307A
Authority
JP
Japan
Prior art keywords
image
encoded
pixels
watermarked
prediction
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
JP2020542769A
Other languages
English (en)
Other versions
JP7142709B2 (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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of JP2022503307A publication Critical patent/JP2022503307A/ja
Application granted granted Critical
Publication of JP7142709B2 publication Critical patent/JP7142709B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • H04N19/467Embedding additional information in the video signal during the compression process characterised by the embedded information being invisible, e.g. watermarking
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/0021Image watermarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • 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/0061Embedding of the watermark in each block of the image, e.g. segmented watermarking
    • 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
    • G06T2201/00General purpose image data processing
    • G06T2201/005Image watermarking
    • G06T2201/0083Image watermarking whereby only watermarked image required at decoder, e.g. source-based, blind, oblivious
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Image Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Image Analysis (AREA)

Abstract

Figure 2022503307000001
キャプチャされたソース画像内のウォーターマークを付ける画像の存在を予測モデルを用いて検出するためのシステム、方法、デバイス、およびその他の技術。技術は、第1の画像を取得する動作であって、第1の画像がキャプチャされたソース画像の縮尺を調整されたバージョンである、動作を含む動作を含み得る。第1の画像内のピクセルの色が、第1の画像内の符号化されたかもしれないピクセルの符号化された値を決定するために分析され、第1の画像内の符号化されたかもしれないピクセルの符号化された値のパターンが、第1の画像の符号化されたかもしれない領域を決定するために分析される。第1の画像の符号化されたかもしれない領域の特徴に関する値が、決定され、予測モデルが、ウォーターマークを付ける画像が第1の画像に符号化されているかどうかを示す予測を生成するために特徴の値を処理する。予測が、記憶され、復号プロセスの呼び出しに関する判断を行うためのコントローラに提供される。

Description

インターネットなどのネットワーク化された環境において、第一者の(first-party)コンテンツプロバイダが、電子文書、たとえば、ウェブページまたはアプリケーションインターフェース内で提示するための情報を提供し得る。文書は、第一者のコンテンツプロバイダによって提供された第一者コンテンツおよび第三者のコンテンツプロバイダによって提供された第三者コンテンツを含み得る。
第三者コンテンツは、様々な技術を使用して電子文書に追加され得る。一部の文書は、第三者のコンテンツプロバイダに第三者コンテンツアイテムを直接要求するように、文書が提示されるクライアントコンピュータに命じるタグを含む。その他の文書は、第三者のコンテンツプロバイダのうちの1つまたは複数から選択された第三者コンテンツアイテムを返すために複数の第三者のコンテンツプロバイダと提携する仲介サービスを呼び出すようにクライアントコンピュータに命じるタグを含む。場合によっては、第三者コンテンツアイテムは、電子文書内で提示するために動的に選択され、文書の所与の提供のために選択される特定の第三者コンテンツアイテムは、同じドキュメントのその他の提供のために選択される第三者コンテンツアイテムと異なる可能性がある。
米国付与前特許出願公開第2018/0270388号 米国特許出願第15/712,395号
本明細書は、画像が視覚的に知覚され得ないウォーターマーク画像を符号化されている可能性が高いのかまたは符号化されていない可能性が高いのかを予測するためのコンピュータに基づくシステム、方法、デバイス、およびその他の技術を説明する。下でより詳細に説明されるように、画像がウォーターマークを含むかどうかを予測するために画像の特徴をまず処理することによって、ウォーターマークが検出されなかった画像を復号する試みを避けることによって復号プロセスにおいてかなりの計算時間およびコストが節約される可能性がある。
一部の例においては、サービスシステムが、ソース画像に関連するメタデータを特定するために呼び出される。ソース画像は、第三者コンテンツプロバイダによって提供され、ユーザコンピューティングデバイスにおいてウェブページ内にまたはネイティブアプリケーションのグラフィカルインターフェース内に提示された画像である可能性がある(ただし、ソース画像は、様々なその他の状況で生じる可能性もある)。ウォーターマークを付ける画像(watermarking image)が、通常、ソース画像上のウォーターマークを付ける画像のアルファブレンディングによってソース画像内に符号化される状況で、ソース画像がレンダリングされる可能性がある。たとえば、QRコード(登録商標)が、QRコード(登録商標)内のそれぞれの元の(符号化された)ピクセルがすべての空白ピクセルに隣接するように空白の符号化されていないピクセルをちりばめることによってウォーターマークを付ける画像に変換される可能性がある。QRコード(登録商標)内の黒いピクセルのすべては、ウォーターマークを付ける画像内で非常に高い透明度値の不完全な透明にされることが可能であり、したがって、それらのピクセルは、ほとんどのソース画像上に重ね合わされるときにほとんどのユーザに視覚的に知覚され得ず、白いピクセルおよび黒いピクセルのすべては、完全に透明にされることが可能である。QRコード(登録商標)は、ソース画像の出所、それが提供された時間、および/またはその他の関連する情報もしくはメタデータについての情報を含むかまたは参照する可能性がある。場合によっては、ソース画像のスクリーンショットが、たとえば、QRコード(登録商標)およびその符号化されたデータを復元するために復号するためにキャプチャされ、サービスシステムに提供される可能性がある。
しかし、サービスシステムは、広い範囲のクライアントまたはユーザからのスクリーンショットを処理するために呼び出される可能性があるので、スクリーンショットの一部は、ウォーターマーク画像を符号化されなかったソース画像を示す可能性がある。その他のスクリーンショットは、ウォーターマーク画像を符号化されたが、符号化が正常な復号の見込みがなくなるかまたは法外に高コストになる程まで(たとえば、画像圧縮の雑音の存在が原因で、または意図的な難読化/攻撃が原因で)損なわれた画像を示す可能性がある。隣接するピクセルに対して相対的なスクリーンショット画像内の対応するピクセルの明暗または色合いに基づくウォーターマークを付ける画像内のピクセルの値の推定を伴う符号化および対応する復号プロセス自体の性質は、不正確であり、雑音がなかったとしても復号され得ない一部の符号化されたソース画像をレンダリングし得る。所与のスクリーンショットに示されたソース画像が正常に復号され得るかどうかをサービスシステムが見分けるのを助けるために、本明細書において説明される技術は、ソース画像がウォーターマークを付ける画像を含む可能性が高いのかまたは含まない可能性が高いのかを示す予測の生成を可能にするソース画像の特徴の一意の組を分析するための予測モデルを提供する。そして、予測は、ソース画像の復号を試みるべきかどうかを判定すること、および/あるいは不成功の復号がソース画像がそもそも復号され得るウォーターマークを含まなかった結果である可能性が高かったのか、または雑音がウォーターマークを損なったもしくは別の理由の結果である可能性が高かったのかを判定することを含むいくつかの目的のために使用され得る。
本明細書において開示される対象のいくつかの実装は、コンピュータによって実施される方法を含む。方法は、ユーザ(たとえば、クライアント)コンピューティングデバイスにおいてキャプチャされたソース画像のスクリーンショットまたはスクリーンショット/ソース画像の縮尺を調整されたバージョンなどの第1の画像をコンピューティングシステムによって取得するステップを含み得る。コンピューティングシステムは、第1の画像内の符号化されたかもしれないピクセルの符号化された値を決定するために第1の画像内のピクセルの属性(たとえば、色、濃淡)を分析する。システムは、第1の画像の符号化されたかもしれない領域を決定するために第1の画像内の符号化されたかもしれないピクセルの符号化された値のパターンを分析する。そのとき、システムは、第1の画像の符号化されたかもしれない領域の特徴に関する値を決定することができる。第1の画像の符号化されたかもしれない領域の特徴に関する値は、ウォーターマークを付ける画像が第1の画像に符号化されているかどうかを示す予測を生成するために予測モデルに与えられ、予測モデルを用いて処理される。それから、システムは、予測を1つまたは複数の方法で適用し、出力することができる。
これらのおよびその他の実装は、以下の特徴のうちの1つまたは複数をさらに含む可能性がある。
予測を生成することは、ウォーターマークを付ける画像が第1の画像に符号化されていることかまたはウォーターマークを付ける画像が第1の画像に符号化されていないことかのどちらかを示す2進値を選択することを含み得る。
予測を生成することは、ウォーターマークを付ける画像が第1の画像に符号化されているかまたは符号化されていない尤度(likelihood)を定量化する数値的な予測を生成することを含み得る。
予測を出力することは、コンピューティングシステムのメモリに予測を記憶することまたはユーザに対して提示するために予測を提供することのうちの少なくとも一方を含み得る。
予測を出力することは、ウォーターマークを付ける画像を復元するために第1の画像または第1の画像が導出された第2の画像に復号プロセスを適用すべきかどうかを少なくとも予測に基づいて判定するように構成されるコントローラに予測を提供することを含み得る。
コントローラは、予測がウォーターマークを付ける画像が第1の画像に符号化されていることを示すことを特定することに応じて、ウォーターマークを付ける画像を復元するために第1の画像または第2の画像に復号プロセスを適用するように構成され得る。
コントローラは、予測がウォーターマークを付ける画像が第1の画像に符号化されていないことを示すことを特定することに応じて、ウォーターマークを付ける画像を復元するために第1の画像または第2の画像に復号プロセスを適用しないように構成され得る。
第1の画像を取得することは、ユーザのコンピューティングデバイスからスクリーンショット画像を取得することを含むことが可能であり、スクリーンショット画像は、ウェブページまたはネイティブアプリケーションのグラフィカルユーザインターフェース内の提供されたコンテンツを示す。
方法は、未知のズームレベルでレンダリングされた第2の画像を取得する行為と、第2の画像に関する複数の可能なズームレベルを特定する行為と、第2の画像から第1の画像を含む複数の縮尺を調整された画像を生成する行為であって、それぞれの縮尺を調整された画像を生成することが、(i)複数のズームレベルから異なる可能なズームレベルを選択すること、および(ii)第2の画像が異なる可能なズームレベルでレンダリングされた場合に共通の目標のズームレベルを実現するために必要とされる量だけ第2の画像の縮尺を調整することを含む、行為とをさらに含み得る。
方法は、複数の縮尺を調整された画像の中のそれぞれの縮尺を調整された画像に関して、縮尺を調整された画像内の符号化されたかもしれないピクセルの符号化された値を決定するために縮尺を調整された画像内のピクセルの色を分析することと、縮尺を調整された画像の符号化されたかもしれない領域を決定するために縮尺を調整された画像内の符号化されたかもしれないピクセルの符号化された値のパターンを分析することと、縮尺を調整された画像の符号化されたかもしれない領域の特徴に関する値を決定することと、1つまたは複数の基準に基づいて、複数の縮尺を調整された画像のうちのその他の縮尺を調整された画像の符号化されたかもしれない領域の特徴に関する値ではなく、第1の画像の符号化されたかもしれない領域の特徴に関する値を予測モデルによる処理のために提供すると決定することとをさらに含み得る。
第1の画像内の符号化されたかもしれないピクセルの符号化された値を決定するために第1の画像内のピクセルの色を分析することは、第1の画像内の符号化されたかもしれないピクセルのすべてまたは一部の各々に関して、符号化されたかもしれないピクセルの色を第1の画像内の符号化されたかもしれないピクセルの近くの1つまたは複数のピクセルのそれぞれの色と比較することを含み得る。
第1の画像の符号化されたかもしれない領域を決定するために第1の画像内の符号化されたかもしれないピクセルの符号化された値のパターンを分析することは、符号化された値が第1の画像内のウォーターマークを付ける画像の1つまたは複数の符号化されたインスタンスに対応するかもしれないと判定される符号化されたかもしれないピクセルの1つまたは複数のブロックを含む領域を特定することを含み得る。
符号化された値が第1の画像内のウォーターマークを付ける画像の1つまたは複数の符号化されたインスタンスに対応するかもしれないと判定される符号化されたかもしれないピクセルの1つまたは複数のブロックを含む第1の画像の領域を特定することは、各ブロック内に現れる予め定義されたビットパターンのインスタンスの位置を特定することを含み得る。
第1の画像の符号化されたかもしれない領域の特徴に関する値を決定することは、それぞれの符号化されたかもしれない領域に関して、符号化された値がウォーターマークを付ける画像の異なる符号化されたインスタンスに対応すると判定される符号化されたかもしれない領域内の符号化されたかもしれないピクセルのブロックの数をカウントすることを含むことが可能であり、第1の画像の符号化されたかもしれない領域の特徴は、符号化されたかもしれない領域の中のカウントされたブロックの平均の数、符号化されたかもしれない領域の中のカウントされたブロックの最大の数、特定された符号化されたかもしれない領域の数、および符号化されたかもしれない領域の中のカウントされたブロックの数の標準偏差を含む群から選択される。
第1の画像は、第2の画像の縮尺を調整されたバージョンであることが可能である。方法は、第1の画像の符号化されたかもしれない領域を第2の画像の対応する領域にマッピングする行為、第2の画像のそれぞれのマッピングされた領域内のピクセルの中の1つまたは複数の色チャンネルの各々の分散を決定する行為、各色チャンネルに関して、第2の画像のマッピングされた領域の中の色チャンネルに関する最小の分散を決定する行為、およびウォーターマークを付ける画像が第1の画像に符号化されているかどうかを示す予測を生成する行為であって、第2の画像のそれぞれのマッピングされた領域内のピクセルの中の1つまたは複数の色チャンネルの各々に関する最小の分散をさらに処理する行為を含む、生成する行為をさらに含むことが可能である。
予測モデルは、2クラス分類モデルを含み得る。
予測モデルは、ニューラルネットワークを含み得る。
本明細書において開示される対象の一部の実装は、方法の行為を実行するようにそれぞれ構成された対応するコンピュータシステム、装置、および1つまたは複数のコンピュータストレージデバイス(たとえば、コンピュータ可読媒体)に記録されたコンピュータプログラムを含む。1つまたは複数の場所の1つまたは複数のコンピュータのシステムが、動作中にシステムに行為を実行させるシステムにインストールされたソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せによって特定の動作または行為を実行するように構成され得る。1つまたは複数のコンピュータプログラムは、データ処理装置(たとえば、1つまたは複数のプロセッサ)によって実行されるときに装置に行為を実行させる命令を含むことによって特定の動作または行為を実行するように構成され得る。
本明細書において説明される対象の一部の実装は、特定の場合、以下の利点のうちの1つまたは複数を実現し得る。第1に、システムが、たとえウォーターマーク画像が生成されるときにソース画像が知られていないとしても、任意のソース画像を増強するためのウォーターマーク画像を生成する可能性がある。ウォーターマーク画像はシステムの遠隔にあるクライアントコンピュータにおいてユーザに対して提示するためにソース画像上に重ね合わされる可能性があるので、システムは、ウォーターマーク画像がクライアントコンピュータに送信される前にソース画像を直接取得または修正する必要がない。第2に、システムが、ソース画像の事前の知識がないとしても、ウォーターマーク画像を復元する可能性があり、またはウォーターマーク画像が導出された符号化をする画像(encoding image)を復元する可能性があり、それによって、システムが任意の画像をそれらがどこから来たのかを知ることなく復号することを可能にする。第3に、ウォーターマーク画像がソース画像の知覚される視覚的品質を損なわないように、ウォーターマーク画像がソース画像の上にレンダリングされるときにユーザに知覚され得ないようにウォーターマーク画像が実質的に透明であり得る。第4に、符号化されたかもしれないソース画像がウォーターマークを付ける画像を符号化された可能性が高いのかまたは符号化されなかった可能性が高いのかを予測するために、予測モデルが使用され得る。ソース画像に対する復号プロセスを完了しようと試みる前にまずそのような予測を生成することによって、そもそも符号化されなかった可能性が高い画像を復号する試みを避けることによって計算時間およびコストが軽減される可能性がある。
本明細書に記載の対象の特定の実装の詳細が、添付の図面および以下の説明に記載されている。対象のその他の特徴、態様、および利点は、説明、図面、および請求項から明らかになるであろう。
文書内で1つまたは複数のソース画像に渡って表示するために構成されたウォーターマーク画像によってクライアントデバイスに提供される電子文書を増強するためのコンピューティング環境、およびウォーターマークの予測および復号のための動作を実施するように構成されたサーバシステムのブロック図である。 半透明のウォーターマーク画像を生成し、ソース画像上にウォーターマーク画像をブラインドで(blindly)符号化するための例示的な技術を示す図である。 半透明のウォーターマーク画像を生成し、ソース画像上にウォーターマーク画像をブラインドで符号化するための例示的な技術を示す図である。 半透明のウォーターマーク画像を生成し、ソース画像上にウォーターマーク画像をブラインドで符号化するための例示的な技術を示す図である。 半透明のウォーターマーク画像を生成し、ソース画像上にウォーターマーク画像をブラインドで符号化するための例示的な技術を示す図である。 半透明のウォーターマーク画像を生成し、ソース画像上にウォーターマーク画像をブラインドで符号化するための例示的な技術を示す図である。 半透明のウォーターマーク画像を生成し、ソース画像上にウォーターマーク画像をブラインドで符号化するための例示的な技術を示す図である。 半透明のウォーターマーク画像を生成し、ソース画像上にウォーターマーク画像をブラインドで符号化するための例示的な技術を示す図である。 半透明のウォーターマーク画像を生成し、ソース画像上にウォーターマーク画像をブラインドで符号化するための例示的な技術を示す図である。 半透明のウォーターマーク画像を生成し、ソース画像上にウォーターマーク画像をブラインドで符号化するための例示的な技術を示す図である。 半透明のウォーターマーク画像を生成し、ソース画像上にウォーターマーク画像をブラインドで符号化するための例示的な技術を示す図である。 ウォーターマーク画像によってクライアントコンピュータに提供される文書内で提示されるソース画像を増強し、その後、ウォーターマークを符号化されたソース画像を含むスクリーンショットを復号するための例示的なプロセスの流れ図である。 符号化をする画像からウォーターマーク画像を生成するための例示的なプロセスの流れ図である。 2次元バイナリクイックレスポンスコード(QRコード(登録商標))の形態の例示的な符号化をする画像の図である。 キャプチャされたソース画像(たとえば、スクリーンショット)が1つまたは複数のウォーターマークを付ける画像を符号化されているかどうかを予測するための例示的なプロセスの流れ図である。 1つまたは複数のウォーターマークを付ける画像を符号化されたかもしれない画像内の領域を特定するための例示的なプロセスの流れ図である。 ウォーターマークの予測を生成するために、符号化されたかもしれないソース画像に関連する様々な特徴の値を処理するウォーターマーク予測モデルの図である。 符号化されたかもしれないソース画像の縮尺を調整されていないバージョンおよび縮尺を調整されたバージョンを、符号化されたかもしれないソース画像内で特定された符号化されたかもしれない領域のインジケーションとともに示す図である。 1組のズームレベルに関する符号化されたかもしれないソース画像を記憶するための例示的なデータベーステーブルのスキーマを示す図である。 符号化されたかもしれないソース画像がウォーターマークを付ける画像を符号化されている可能性が高いのかまたは符号化されていない可能性が高いのかを示す予測を生成するための予測モデルを訓練するための例示的なプロセスの流れ図である。 本明細書において説明されるコンピュータによって実施される方法およびその他の技術に関連して使用され得るコンピューティングシステムのブロック図である。
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
本明細書は、正常な見る条件の下では人間のユーザに視覚的に知覚され得ないウォーターマークをレンダリングするためにソース画像上に混合された半透明のウォーターマーク画像を検出するための技術を説明する。検出プロセスは、画像がウォーターマークを含む可能性が高いのかまたは含まない可能性が高いのかを示す予測を生成するために符号化されたかもしれないソース画像の特徴を処理する予測モデルを使用することができる。
図1を参照すると、ソース画像がソース画像に関連する情報をデジタルで符号化するためにウォーターマークを付けられ、符号化されたソース画像がウォーターマークを復元するかまたはウォーターマークによって参照される情報にアクセスするために復号されるコンピューティング環境100の図が、示される。環境100は、サーバシステム102、クライアントコンピュータ104、および1つまたは複数のソース画像プロバイダ106a~nのためのコンピューティングシステムを含む。サーバシステム102、クライアントコンピュータ104、およびソース画像プロバイダ106a~nは、インターネットまたはローカルエリアネットワーク(LAN)などの1つまたは複数のネットワークを介して通信可能なように接続される。概して、クライアントコンピュータ104は、電子文書の要求を生成し、サーバシステム102に送信するように構成される。クライアントコンピュータ104からの要求に基づいて、サーバシステム102は、クライアントコンピュータ104に返すための応答(たとえば、電子文書)を生成する。所与の応答は、ユーザに対して表示するためにクライアントコンピュータ104においてレンダリングされることになる選択されたソース画像128aを参照することができ、ソース画像128aは、ソース画像プロバイダ106a~nのうちの1つによって提供される。一部の実装において、サーバシステム102は、クライアントコンピュータ104において応答ドキュメントを提示する際にソース画像128上に表示するために構成される区別可能な半透明のウォーターマークを付ける画像126によってクライアントコンピュータ104に提供される応答を増強することができる。その他の実装において、サーバシステム102は、(たとえば、ソース画像128上の前景に半透明のウォーターマーク画像126をアルファブレンディングすることによって)クライアントコンピュータ104がウォーターマークを付ける画像126をソース画像128上にのせた結果として得られる符号化と同じまたは同様の方法でサーバシステム102においてウォーターマークを付ける画像126によってソース画像128にウォーターマークを付けるかまたはソース画像128を符号化し、それによって、ソース画像128およびウォーターマークを付ける画像126をクライア
ントコンピュータ104に提供される単一の符号化されたソース画像へと合併するためにソース画像エンコーダ138を使用するように構成される可能性がある。図1の以下の検討は、区別可能なウォーターマーク画像126が画像128の上にクライアントコンピュータ104によってレンダリングするためにクライアントコンピュータ104に提供される前者の実装に焦点を当てる。
クライアントコンピュータ104は、概して、1人または複数の人間のユーザに画像およびその他のコンテンツを提示する任意の種類のコンピューティングデバイスであることが可能である。クライアントコンピュータ104は、サーバシステム102に要求を行い、サーバシステム102から応答を受信するウェブブラウザアプリケーションなどのアプリケーションを含む可能性がある。アプリケーションは、クライアントコンピュータ104の1人または複数のユーザに応答を提示するために、ウェブページのコードまたはその他の種類の文書ファイルなどのサーバシステム102からの応答を実行する可能性がある。一部の実装において、クライアントコンピュータ104は、レンダリングされる応答からのコンテンツをクライアントコンピュータ104の1人もしくは複数のユーザに対して表示する電子ディスプレイデバイス(たとえば、LCDもしくはLEDスクリーン、CRTモニタ、ヘッドマウント仮想現実ディスプレイ、ヘッドマウント復号現実ディスプレイ)を含むかまたは電子ディスプレイデバイスに結合される。表示されるコンテンツは、選択されたソース画像128aと、実質的に透明な方法で選択されたソース画像128aの上に表示されるウォーターマークを付ける画像126とを含み得る。一部の実装において、クライアントコンピュータ104は、ノートブックコンピュータ、スマートフォン、タブレットコンピュータ、デスクトップコンピュータ、またはスマートウォッチもしくはその他のウェアラブルデバイスである。
一部の実装において、クライアントコンピュータ104への応答内で提供されるソース画像128は、たとえば、応答の第一者のコンテンツプロバイダによって提供されるコンテンツの中にない第三者コンテンツアイテムである。たとえば、応答がウェブページである場合、ウェブページの作成者は、ウェブページの作成者と異なる第三者のコンテンツプロバイダ(たとえば、画像リポジトリのプロバイダ)からのソース画像によって埋められるように構成されるスロットを含める可能性がある。別の例において、第一者のコンテンツプロバイダは、第三者ソース画像128に直接リンクする可能性がある。クライアントコンピュータ104は、ソース画像128を、ソース画像プロバイダ106a~nのうちの1つのための対応するコンピューティングシステムに直接、またはサーバシステム102もしくは別のサーバシステムによって提供されるサービスなどの仲介サービスを介して間接的に要求する可能性がある。
サーバシステム102は、電子文書と、電子文書内でソース画像128a上に表示されることになる半透明のウォーターマークを付ける画像126とによってクライアントコンピュータ104からの要求に応答するように構成される。サーバシステム102およびその構成要素の各々は、1つまたは複数の場所のデータ処理装置を含む1つまたは複数のコンピュータとして実装され得る。サーバシステム102は、フロントエンドサブシステム108、画像生成サブシステム110、応答フォーマッタ116、画像分析およびデコーダモジュール118、応答レコードデータベース120、ウォーターマーク予測モデル132、モデル訓練エンジン134、コントローラ136、およびソース画像エンコーダ138のうちの1つまたは複数を含み得る。各サブシステムは、1つまたは複数の処理デバイスなどのデータ処理装置を含むハードウェア上に実装され得る。構成要素108~120、132~138の各々は、本明細書において説明されるそれぞれの動作を実行するように構成される。たとえば、各構成要素108~120および132~138に関連する動作は、1つまたは複数のコンピュータ可読ストレージデバイスのメモリに記憶された命令によって定義される可能性があり、動作は、命令がサーバシステム102の1つまたは複数のプロセッサによって実行されるときに実行される可能性がある。追加的にまたは代替的に、動作は、ソフトウェア、ハードウェア、ファームウェア、またはソフトウェア、ハードウェア、およびファームウェアの組合せを使用して実装される可能性がある。いくつかの動作が、例として、構成要素108~120または132~138のうちの特定の1つによって実行されるものとして本明細書において説明されるが、その他の実装においては、単一の構成要素によるのではなく、構成要素108~120のうちの2つ以上の動作の一部またはすべてが、統合され、実行される可能性がある。さらにその他の実装において、構成要素108~120または132~38のいずれか1つの動作が、2つ以上の構成要素の間に分割される可能性がある。
サーバシステム102は、図2A~図2Iに示される技術ならびにプロセス300、400、600、700、および1100を実行するように構成され得る。プロセス300、400、600、700、および1100の動作ならびにその他の技術が、図3、図4、図6、図7、および図11に関連して下でさらに詳細に説明される。図2~図11に関連したサーバシステム102およびその構成要素108~120、132~138の概要が以下に続き、その後、これらの構成要素によって実行される動作およびその他の技術のさらなる詳細が図2~図11に関連して説明される。
フロントエンドサブシステム108は、1つまたは複数のネットワークを介して通信するためのインターフェースを提供する。フロントエンドサブシステム108は、クライアントコンピュータ104から要求を受信し、要求に対する応答を、ウォーターマークを付ける画像および任意でソース画像などの要求に関連する任意のコンテンツと一緒にクライアントコンピュータ104に送信する。フロントエンドサブシステム108は、たとえば、クライアントコンピュータ104に提供するためのソース画像128aを取得するためにソース画像プロバイダ106a~nのコンピューティングシステムと通信する可能性もある。フロントエンドサブシステム108は、サーバシステム102の構成要素112~120、132~138の各々の間で活動を調整するためのコントローラ136と通信し、コントローラ136を含む可能性もある。ネットワークを介したデバイスとの通信を容易にするために、フロントエンドサブシステム108は、フロントエンドサブシステムが好適な通信ネットワークに接続することを可能にする有線(たとえば、金属もしくは光)、ワイヤレス、または有線とワイヤレスとの組合せの通信インターフェースを含み得る。
画像生成サブシステム110は、入力データから画像を生成するように構成される。特に、画像生成サブシステム110は、符号化入力ジェネレータ112およびウォーターマークを付ける画像ジェネレータ114を含む。
符号化入力ジェネレータ112は、プレーンテキストデータアイテム122を処理して、プレーンテキストデータアイテム122を符号化する符号化をする画像124を生成する。プレーンテキストデータアイテム122は、符号化入力ジェネレータ112の制約の中で符号化され得る任意のデータであることが可能である。たとえば、符号化をする画像124のサイズが予め定義された最大の長さn文字までにのみ可逆符号化を提供し得る可能性があるので、プレーンテキストデータアイテム122は、最大の長さn文字のテキストサンプルまたは文字列である可能性がある。一部の実装において、プレーンテキストデータアイテム122は、クライアントコンピュータ104からの要求に対する応答が提供されるクライアントコンピュータ104とサーバシステム102との間のネットワークセッションを一意に特定するセッション識別子を含む。
一部の実装において、プレーンテキストデータアイテム122は、クライアントコンピュータ104に提供される特定のソース画像128aを特定するソース画像データまたはソース画像128aに関連する情報(たとえば、ソース画像プロバイダ106a~nのうちのどれがクライアントコンピュータ104に提供される特定のソース画像128aを提供したかを示す情報、およびいつソース画像128aが提供もしくは要求されたかを示すタイムスタンプ)を含むかまたは参照する。一部の実装において、応答レコードデータベース120は、プレーンテキストデータアイテム122によって提示されたセッション識別子またはその他の情報によって詳細情報がアクセスされ得るようにするために、特定の要求に関して提供されるソース画像128または応答についての情報を相互に関連付けるデータを記憶する。応答レコードデータベース120は、セッション識別子をソース画像データに関連付けることもでき、それによって、プレーンテキストデータアイテム122によって提示されたセッション識別子を使用してデータベース120に問い合わせることによってソース画像データがアクセスされ得るようにする。そのとき、ユーザは、プレーンテキストデータアイテム122からのセッション識別子を使用するために、たとえば、ソース画像128a~nのうちのどれが、いつ、どのソース画像プロバイダ106a~nからクライアントコンピュータ104に提供されたかを特定することができる。
符号化をする画像124は、プレーンテキストデータアイテム122を符号化する画像である。一部の実装において、符号化をする画像124は、プレーンテキストデータアイテム122を表すマトリックス型のバーコードである。好適なマトリックス型のバーコードの一例は、クイックレスポンスコード(QRコード(登録商標))である。符号化をする画像124は、ピクセルの行および列の数を単位とする予め定義されたサイズを持ち得る。符号化をする画像124の各ピクセルは、データの2進ビットを符号化することができ、各ビットの値が、異なる色によって表される。たとえば、2進値「1」を符号化するピクセルは、黒である可能性があり、一方、2進値「0」を符号化するピクセルは、白である可能性がある。一部の実装において、符号化をする画像124の最も小さな符号化単位は、実際は、単一のピクセルよりも大きい可能性がある。しかし、本明細書において説明される例の目的として、最も小さな符号化単位は、単一のピクセルであると仮定される。しかし、本明細書において説明される技術は、最も小さな符号化単位が複数のピクセルの組、たとえば、ピクセルの2x2または3x3の組である実装に拡張される可能性があることを理解されたい。
画像ジェネレータサブシステム110は、ウォーターマークを付ける画像ジェネレータ114をさらに含む。ウォーターマークを付ける画像ジェネレータ114は、半透明のウォーターマークを付ける画像126を生成するために符号化をする画像124を処理するように構成される。半透明のウォーターマークを付ける画像126は、符号化をする画像124から導出され、プレーンテキストデータアイテム122をやはり符号化する。しかし、ウォーターマークを付ける画像126の符号化されたピクセルの透明度、色、配列、および/またはその他の特徴は、符号化をする画像124の符号化されたピクセルの透明度、色、配列、および/またはその他の特徴から変更される可能性がある。たとえば、符号化をする画像124は、一様に不透明であり、互いに近くに密に詰め込まれた符号化されたピクセルから成る可能性がある一方、ウォーターマークを付ける画像126は、いくつかの完全に透明なピクセルおよびいくつかの不完全に透明なピクセルを含む可能性がある。さらに、ウォーターマークを付ける画像126の符号化されたピクセルは、それぞれの符号化されたピクセルが符号化されていないピクセル(つまり、「空白」ピクセル)によって囲まれるように互いに間隔を空けられる可能性がある。符号化をする画像124のウォーターマークを付ける画像126への変換は、ウォーターマークを付ける画像126が背景のソース画像128aの上に重ね合わされ、合併された後、符号化された情報が、たとえば、符号化をする画像124またはウォーターマークを付ける画像126を再構築することによって復号される可能性があるように実行される可能性がある。
一部の実装において、ウォーターマークを付ける画像126は、ウォーターマークを付ける画像126を獲得する途中で中間動作として符号化をする画像124を明示的に生成することなくプレーンテキストデータ122から直接生成される可能性がある。さらに、サーバシステム102がクライアントコンピュータ104への合併された画像の提供のためにソース画像128aの上にウォーターマークを付ける画像126を直接合併するためにソース画像エンコーダ138を使用する実装に関して、サーバシステム102は、符号化をする画像124、ウォーターマークを付ける画像126、またはそれら両方を明示的に生成することなくソース画像128内にウォーターマークを直接符号化する可能性がある。しかしながら、そのようなウォーターマーク付けがどのようにして実現される可能性があるかをはっきりさせるために、本明細書は、符号化をする画像124およびウォーターマークを付ける画像126がどのようにして明示的に生成され得るかの詳細を検討する。これらの動作のうちの1つまたは複数がソース画像128aの符号化/ウォーターマーク付けのより直接的な形態を提供するためにどのようにして統合される可能性があるかは、当業者に明らかであろう。
応答フォーマッタ116は、電子文書のクライアントの要求に応答してクライアントコンピュータ104に返す応答を生成するように構成される。応答は、ウェブページ、アプリケーションインターフェース、PDF、プレゼンテーションスライド資料、またはスプレッドシートなどの電子文書を集合的に形成する第一者コンテンツアイテムおよび第三者コンテンツアイテムを含む1つまたは複数のコンテンツアイテムを含み得る。一部の実装において、応答は、様々なコンテンツアイテムがどのようにして配列され、表示されるべきかを指定する主な文書を含む。ハイパーテキストマークアップ言語(HTML)ページなどの主な文書は、文書の提示の際に表示されることになる第一者コンテンツアイテムおよび第三者コンテンツアイテムを参照する可能性がある。一部の実装において、応答フォーマッタ116は、応答を実行するときに、たとえば、人間のユーザに実質的に知覚され得ないウォーターマークをソース画像128aに追加するためにソース画像128a上にウォーターマークを付ける画像126の1つまたは複数のインスタンスを表示するようにクライアントコンピュータ104に命じるコンピュータコードを主な文書に追加するように構成される。ウォーターマークを付ける画像126が完全に透明なピクセルおよび不完全に透明なピクセルを有するので、電子文書をレンダリングするクライアントコンピュータ104のアプリケーションは、ウォーターマークを付ける画像126の指定された透明度に従ってソース画像128a上にウォーターマークを付ける画像126を重ね合わされるためのブレンディング技術を実行し得る。たとえば、応答フォーマッタ116は、電子文書内の第三者コンテンツのスロットに背景画像としてソース画像128aを表示し、ソース画像128a上の前景画像としてウォーターマークを付ける画像126の1つまたは複数のインスタンスを表示するようにクライアントコンピュータ104に指示するコードを追加する可能性がある。
サーバシステム102は、画像分析およびデコーダモジュール118をさらに含む。画像分析およびデコーダモジュール118は、たとえば、符号化をする画像124もしくはウォーターマークを付ける画像126を再構築するため、ソース画像128aの符号化されていないバージョンを復元するため、ならびに/またはプレーンテキストデータ122からの情報が読まれ得るおよび/もしくは応答レコードデータベース120からの適切なレコードがプレーンテキストデータ122からの情報に基づいてアクセスされ得るようにプレーンテキストデータ122を復元するために、符号化された/ウォーターマークを付けられたソース画像を復号するように構成される。符号化された/ウォーターマークを付けられたソース画像は、クライアントコンピュータ104がソース画像128a上にウォーターマークを付ける画像126をレンダリングした結果として得られる画像である。たとえウォーターマークを付ける画像126がソース画像128aと別々である可能性があるとしても、画像分析およびデコーダモジュール118によって処理された符号化されたソース画像130は、ソース画像128a上に混合されたウォーターマークを付ける画像126を示す合併された画像である可能性がある。たとえば、クライアントコンピュータ104のユーザは、電子文書の要求に応答してソース画像プロバイダ106a~nのうちの1つから不適当なまたは関連性のないソース画像128aを受け取る可能性がある。ユーザは、符号化されたソース画像130のスクリーンショットをキャプチャし、分析のため、たとえば、ソース画像128aの出所について尋ねるためにサーバシステム102にスクリーンショットを送信する可能性がある。スクリーンショットがウォーターマークを付ける画像126を重ね合わされた元のソース画像128aを示すので、画像分析およびデコーダモジュール118は、プレーンテキストデータアイテム122の符号化された表現を復元するためにスクリーンショットを処理することができ、そして次に、プレーンテキストデータアイテム122の符号化された表現が、プレーンテキストデータアイテム122自体を復元するために復号され得る。そのとき、システム102は、復元されたプレーンテキストデータアイテム122を様々な目的で、たとえば、ソース画像128aおよ
びその出所についての詳細情報、またはソース画像128aがクライアントコンピュータ104に提供された特定のクライアントセッションについてのその他の情報を検索するために応答レコードデータベース120に問い合わせるために復元されたプレーンテキストデータアイテム122を使用することができる。画像分析およびデコーダモジュール118が生成するプレーンテキストデータアイテム122の符号化された表現は、たとえば、復元されたウォーターマークを付ける画像126または復元された符号化をする画像124であることが可能である。
場合によっては、画像分析およびデコーダモジュール118を含むサーバシステム102は、符号化された/ウォーターマークを付けられたかもしれないソース画像を分析する要求を受信する可能性がある。本明細書において使用されるとき、用語「かもしれない」は、アイテムに起因し得る可能性があるが、それにもかかわらず、アイテムを処理する処理エンティティ(たとえば、サーバシステム102/デコーダ118)に知られていないアイテムの状態を指す。つまり、アイテムのあり得る状態は、処理エンティティにその事実が知られていないアイテムの候補の状態である。処理エンティティは、アイテムのあり得る(候補の)状態を特定するため、あり得る(候補の)状態の事実についての予測を行うため、および/または特定の状態を呈するあり得る(候補の)アイテムを特定するための処理を実行する可能性がある。たとえば、符号化されたかもしれないソース画像は、ウォーターマークを符号化されたかもしれないが、画像が実際にウォーターマークを付けられたかどうかがサーバシステム102に最初は知られていないソース画像である。したがって、ウォーターマークによるソース画像のあり得る符号化は、ソース画像の候補の状態であり、ソース画像は、ウォーターマークを符号化されている状態を呈する候補のアイテムである。符号化されたかもしれないソース画像は、ユーザがソース画像のスクリーンショットをキャプチャし、分析のために、ただし、画像が符号化された/ウォーターマークを付けられたかどうかについての確証を示すさらなる情報なしにサーバシステム102に画像を提供した結果として得られる可能性がある。サーバシステム102が符号化された/ウォーターマークを付けられたかもしれないソース画像を受信するこれらの場合、デコーダ118は、デコーダ118が符号化されたかもしれないソース画像を復号する1回または複数回の試みを完了する前に、符号化されたかもしれないソース画像がウォーターマークを含む可能性が高いのかまたは含まない可能性が高いのかを予測するためにウォーターマーク予測モデル132およびコントローラ136と協力する可能性がある。その他の図に関連してさらに詳細に説明されるように、デコーダ118は、符号化されたかもしれないソース画像の符号化されたかもしれない領域を特定する可能性があり、符号化された
かもしれないソース画像の特徴に関する値を決定する可能性がある。それから、これらの特徴に関する値は、符号化されたかもしれないソース画像がウォーターマークを付ける画像126を符号化されたかどうかを示す予測を生成するためにウォーターマーク予測モデル132によって処理される可能性がある。コントローラ136は、この予測を使用して、デコーダ118が符号化されたかもしれないソース画像に対する復号プロセスを完了しようと試みるべきかどうかを判定する可能性がある。ウォーターマーク予測モデル132は、サーバシステム102が実装される1つまたは複数の場所の1つまたは複数のコンピュータに実装され得る。一部の例において、モデル132は、2クラス分類器(binary classifier)である。一部の例において、モデル132は、ニューラルネットワーク(たとえば、演算の入力層、1つまたは複数の隠れ層、および出力層を有する順伝播型ニューラルネットワーク)またはその他の機械学習モデルである。モデル132は、モデル訓練エンジン134によってサンプル訓練データに関して訓練される可能性がある。
コンピューティング環境100ならびに画像内のウォーターマークを符号化し、復号するための技術についてのさらなる情報は、米国付与前特許出願公開第2018/0270388号として公開された米国特許出願第15/712,395号に記載されており、この特許出願の内容全体は、参照によりその全体が本明細書に組み込まれる。
図2A~図2Iは、プレーンテキストデータを符号化するウォーターマークを付ける画像を生成するため、およびプレーンテキストデータの符号化された表現を復元するために(たとえば、符号化されたソース画像から符号化をする画像、ウォーターマークを付ける画像、またはプレーンテキストデータのうちの1つまたは複数を再構築するために)符号化されたソース画像を復号するための例示的な技術を示す。図2A~図2Iの各々が、図3および図4の流れ図に表されるプロセスに関連して下でさらに詳細に検討される。特に、図3は、クライアントコンピュータに提供される電子文書内に提示されるソース画像を増強するために半透明のウォーターマークを付ける画像を使用するための例示的なプロセス300の流れ図である。プロセス300は、1つまたは複数のコンピュータのシステム、たとえば、サーバシステム102によって実行され得る。
一部の実装において、プロセス300は、システムがプレーンテキストデータ、たとえば、プレーンテキストデータアイテム122を受信する段階302において始まる。概して、プレーンテキストデータは、QRコード(登録商標)などの符号化をする画像に符号化され得る任意のデータである。一部の実装において、プレーンテキストデータは、クライアントコンピュータとシステムとの間の論理的なセッションを一意に特定するか、またはクライアントコンピュータからの要求に応答して提供される電子文書を特定するセッション識別子である。一部の実装において、プレーンテキストデータは、クライアントコンピュータに提供される特定のソース画像を特定するソース画像データまたはソース画像に関連する情報を含むかまたは参照する。
段階304において、システムの符号化入力ジェネレータ、たとえば、符号化入力ジェネレータ112が、プレーンテキストデータから符号化をする画像を生成する。符号化をする画像は、プレーンテキストデータを符号化する画像である。一部の実装において、符号化をする画像は、プレーンテキストデータを表すマトリックス型のバーコードである。好適なマトリックス型のバーコードの一例は、図5のクイックレスポンスコード(QRコード(登録商標))500などのQRコード(登録商標)である。符号化をする画像は、ピクセルの行および列の数を単位とする予め定義されたサイズを持ち得る。符号化をする画像の各ピクセルは、データの2進ビットを符号化することができ、各ビットの値が、異なる色によって表される。たとえば、2進値「1」を符号化するピクセルは、黒である可能性があり、一方、2進値「0」を符号化するピクセルは、白である可能性がある。
単純な符号化をする画像202の一例が、図2Aに示される。この例の符号化をする画像202は、ピクセルの3つの行および3つの列を有する2次元バーコードである。もちろん、符号化をする画像のその他のサイズも、ピクセルのより多いまたはより少ない行および列を用いて可能である。符号化をする画像202内で、いくつかのピクセルは、第1の2値の色、つまり、黒を有し、その他のピクセルは、第2の2値の色、つまり、白を有する。各ピクセルの色は、色値によって定義される。たとえば、(行,列)座標(1,2)、(3,1)、および(3,2)にあるピクセルは、白であり、一方、符号化をする画像202のその他のピクセルは、黒である。
さらに、各ピクセルは、ピクセルの透明度のレベルを示す透明度値(「アルファ」値とも呼ばれる)を有する可能性がある。透明度値は、範囲[0,1]に正規化される可能性があり、値「0」が、完全に透明であることを表し、値「1」が、まったく透明でないこと(不透明)を表し、「0」と「1」との間の中間の値は、不完全に透明であることを表す。一部の実装において、符号化をする画像202は、符号化をする画像202のピクセルの各々が透明度値「1」を有するようにまったく透明でない。そのとき、画像レンダリングアプリケーションは、前景画像が背景画像上に重ね合わされ、混合されるときに結果として得られるピクセルの合成色を決定するために透明度値を使用することができる。たとえば、一部のブレンディング手順においては、背景ピクセルの色値が「bgRGB」であり、前景ピクセルの色値が「fgRGB」であり、「fgA」の透明度(アルファ)値が範囲[0,1]に正規化される場合、ユーザに対して表示するために最終的にレンダリングされる合成ピクセルは、色値fgRBG * fgA + bgRGB * (1 - fgA)を有する。「fgA」の値がゼロである場合、式は、bgRGB * (1 - fgA)になる。たとえば、図2Fは、例示的な背景画像212(たとえば、ソース画像)を示し、各ピクセルは、記号CnRGBによって特定される色値を有する。
図2Gは、ソース画像212(背景画像)上にウォーターマークを付ける画像210(前景画像)を重ね合わせるために前の段落で説明されたブレンディング技術を使用して生成された符号化されたソース画像214を示し、符号化されたソース画像214の特定の符号化されたピクセルの色は、ウォーターマークを付ける画像210からの不完全に透明な前景ピクセルおよびソース画像212からの対応する背景ピクセルの色の混合である。図2Gに示される色値および式は、前景のウォーターマークを付ける画像の影付きのピクセルが黒であり、したがって、ピクセルの前景のRGB値が(0, 0, 0)であると仮定することに留意されたい。したがって、前景のウォーターマークを付ける画像および背景のソース画像を混合した結果として得られる合成ピクセルに関する完全な式は、「fgRBG * fgA + bgRGB * (1 - fgA)」から単に「bgRGB * (1 - fgA)」に単純化される。したがって、ウォーターマークを付ける画像からの前景ピクセルが色(0, 0, 0)および透明度値Baを有する場合、ピクセルの合成色値は、式CnRGB * (1 - Ba)によって定義される。ウォーターマークを付ける画像からの前景ピクセルが色(0, 0, 0)および透明度値0を有し、背景ピクセルの色がCnRGBである場合、ピクセルの合成色値は、CnRGBである。
段階306において、システムのウォーターマークを付ける画像ジェネレータ、たとえば、ウォーターマークを付ける画像ジェネレータ114が、ウォーターマークを付ける画像を生成する。ウォーターマークを付ける画像は、プレーンテキストデータアイテムを符号化するために透明度の2つ以上の異なるレベルを有するピクセルを含む半透明の画像である。2レベルの透明度に関して、ウォーターマークを付ける画像は、第1の透明度のレベルを有する、たとえば、不完全に透明なピクセルの第1の組、および第2の透明度のレベルを有する、たとえば、完全に透明なピクセルの第2の組から成る可能性がある。ピクセルの第1の組は、黒などの第1の色値を有する符号化をする画像からのそれぞれのピクセルをそれぞれ表す符号化されたピクセルである可能性がある。ピクセルの第2の組は、ピクセルの2つのサブセット、つまり、符号化されたピクセルおよび空白ピクセルを含む可能性がある。第2のサブセットの符号化されたピクセルおよび空白ピクセルは同じ透明度のレベルを共有する可能性があるが、ピクセルの符号化されたサブセットのみが、白などの第2の色値を有する符号化をする画像からのピクセルを表す。空白ピクセルは、符号化をする画像からのいかなるピクセルも表さず、その代わりに、ウォーターマークを付ける画像が背景画像上に重ね合わされた結果として後で得られる可能性がある符号化されたソース画像からの情報の復元を容易にするためにピクセルの第1の組および第2の組の符号化されたピクセルの間にちりばめられる。
一部の実装において、システムは、図4の流れ図に示される例示的なプロセス400によって段階306を実行する。プロセス400は、符号化をする画像からウォーターマークを付ける画像を生成するためのプロセスである。プロセス400は、1つまたは複数のコンピュータのシステム、たとえば、サーバシステム102によって、および特にウォーターマークを付ける画像ジェネレータ、たとえば、ウォーターマークを付ける画像ジェネレータ114によって実行され得る。
段階402において、ウォーターマークを付ける画像ジェネレータが、符号化をする画像202などの符号化をする画像を特定する。
任意で、段階404において、ウォーターマークを付ける画像ジェネレータが、符号化をする画像を正規化する。符号化をする画像を正規化することは、符号化をする画像のピクセルのすべてまたは一部のそれぞれの色値および透明度値を予め定義された色および/または透明度値にマッピングすることを含み得る。たとえば、元の符号化をする画像において、画像に符号化された2進値がピクセルの色によって区別された場合、正規化された符号化をする画像において、正規化された画像に符号化された2進値は、ピクセルの透明度によって区別される可能性がある。
図2Bおよび図2Cは、符号化をする画像を正規化する一例を示す。特に、図2Bは、黒いピクセルがすべて色値BRGBを有し、透明度値BAを有し、白いピクセルがすべて色値WRGBを有し、透明度値WAを有する元の符号化をする画像202の例示的な表現204を示す。一部の実装において、WAおよびBAは、同一である。図2Cは、黒いピクセルおよび白いピクセルが共通の色BRGBを割り振られるが、それらの透明度によって区別されるようにピクセルの色および透明度が変換された正規化された符号化をする画像206を示す。黒いピクセルは、透明度値BAを割り振られ、一方、白いピクセルは、透明度値「0」を割り振られ、つまり、完全に透明である。
再び図4を参照すると、段階406において、ウォーターマークを付ける画像ジェネレータが、初期ウォーターマークキャンバス(watermark canvas)を生成する。一部の実装において、初期ウォーターマークキャンバスは、予め定義されたサイズを有する予備画像であり、ウォーターマークを付ける画像の生成のための開始点を提供する。例示的な初期ウォーターマークキャンバスは、図2Dに示されるキャンバス208である。キャンバス208は、正規化された符号化をする画像206と同じ行数を有するが、正規化された符号化をする画像206の2倍の列数を持つように作られる。さらに、初期ウォーターマークキャンバス208のすべてのピクセルは、同じ色および透明度のレベルを有する空白ピクセルである。空白ピクセルは、符号化をする画像からの情報を符号化せず、符号化をする画像のいかなるピクセルにも対応しないピクセルである。一部の実装において、空白ピクセルは、正規化された符号化をする画像206のピクセルの第2の組と同じ透明度を有する。たとえば、キャンバス208の空白ピクセルは、各ピクセルに関するそれぞれの括弧(色値,透明度値)の後者の値によって示されるように完全に透明である。
段階408において、ウォーターマークを付ける画像ジェネレータが、最終的なウォーターマークを付ける画像を生成するために、正規化された符号化をする画像を使用して初期ウォーターマークキャンバスに符号化されたピクセルを追加する。符号化されたピクセルは、黒いピクセルと対照的に符号化をする画像からの情報を符号化するウォーターマークを付ける画像のピクセルである。ウォーターマークを付ける画像のそれぞれの符号化されたピクセルは、正規化された符号化をする画像のピクセルのうちの1つに対応する。一部の実装において、最終的なウォーターマークを付ける画像は、初期ウォーターマークキャンバスの空白ピクセルのサブセットを正規化された符号化をする画像からの符号化されたピクセルによって置き換えることによって生成される。たとえば、初期ウォーターマークキャンバスの所与の空白ピクセルは、完全に透明である可能性がある。そのピクセルが符号化されたピクセルにされる場合、そのピクセルは、符号化されることになる正規化された符号化をする画像からの対応するピクセルの透明度を割り振られる。場合によっては、ピクセルは、正規化された符号化をする画像からの対応する背景ピクセルが完全に透明である場合、完全に透明なままである可能性がある。その他の場合、ウォーターマークピクセルの透明度は、正規化された符号化をする画像からの対応するピクセルが不完全に透明である場合、不完全に透明な状態に調整される可能性がある。
図2Eは、正規化された符号化をする画像206に基づいて初期ウォーターマークキャンバス208からウォーターマークを付ける画像ジェネレータが生成するウォーターマークを付ける画像210の一例を示す。模様のある背景を有するウォーターマークを付ける画像210のピクセルの各々は、符号化されたピクセルを表す。模様のない白い背景を有するウォーターマークを付ける画像210のピクセルの各々は、空白ピクセルを表す。ウォーターマークを付ける画像210が示すように、符号化されたピクセルは、それぞれの符号化されたピクセルが少なくとも2つの空白ピクセルによって上、下、左、および/または右に隣接されるように空白ピクセルの間に分散される。概して、ウォーターマークを付ける画像ジェネレータは、それぞれの符号化されたピクセルが少なくとも1つの2つ、3つ、4つ、またはそれよりも多い空白ピクセルに直接隣接するようにウォーターマークを付ける画像内に符号化されたピクセルを分散させる。この構成は、以下でさらに説明されるように、ソース画像の事前の知識なしにウォーターマークを付ける画像によって増強されたソース画像から符号化された情報が後で復元されることを可能にし得る。図2Eの例において、ウォーターマークを付ける画像ジェネレータは、偶数行の符号化されたピクセルを奇数行の符号化されたピクセルに対して1ピクセルずらすために、正規化された符号化をする画像のピクセルの配列から開始し、奇数行のそれぞれの符号化されたピクセルの直ぐ右に空白ピクセルを挿入し、偶数行のそれぞれの符号化されたピクセルの直ぐ左に空白ピクセルを挿入することによってウォーターマークを付ける画像内に符号化されたピクセルをちりばめた。効果は、最終的なウォーターマークを付ける画像210に示されるように、符号化されたピクセルを互い違いにし、それらの符号化されたピクセルを空白ピクセルによって囲むことである。したがって、最終的なウォーターマークを付ける画像210においては、完全に透明ではないピクセルのみが、元の符号化をする画像202の空白ピクセルに対応する符号化されたピクセルである。より広く、元の符号化をする画像202の第1の2値の色のピクセルに対応するウォーターマークを付ける画像210の符号化されたピクセルが第1の透明度のレベルを割り振られる可能性がある一方、元の符号化をする画像202からの第2の2値の色のピクセルに対応する空白ピクセルと符号化されたピクセルとの両方に第2の透明度のレベルが割り振られる可能性がある。
一部の実装において、ウォーターマークを付ける画像ジェネレータは、符号化されたピクセルを正規化された符号化をする画像206から最終的なウォーターマークを付ける画像210にマッピングするためのその他の技術を使用し得る。ウォーターマークを付ける画像ジェネレータは、ウォーターマークを付ける画像210の符号化されたピクセルの位置を正規化された符号化をする画像206のピクセル位置に相互に関連付けるマッピングテンプレートを使用する可能性がある。正規化された符号化をする画像206のあらゆるピクセルは、ウォーターマークを付ける画像210のピクセルにマッピングされ得る。一部の実装において、システムは、符号化されたソース画像からウォーターマークを付ける画像210または符号化をする画像202を再構築するために符号化されたソース画像からの符号化されたピクセルの逆マッピングを実行するためのマッピングテンプレートも使用し得る。マッピングテンプレートは、符号化をするピクセル(encoding pixel)の各々が空白ピクセルに隣接する限り、ウォーターマークを付ける画像210の符号化をするピクセルの任意の好適な構成を(たとえば、任意の順序で)特定し得る。
再び図3を参照すると、段階308において、システムが、応答レコードデータベース、たとえば、応答レコードデータベース120内のエントリを生成する。応答レコードデータベースは、時間の期間にわたってサーバシステムと通信する1つまたは複数のクライアントコンピュータに送信された各応答またはその他の電子文書(たとえば、特定の要求に応答しないプッシュされた電子文書)についての情報を記憶するログを含む。各応答は、所与のクライアントコンピュータとサーバシステムとの間の1回または複数回の要求-応答のインタラクションを伴う可能性があるクライアントセッションに関連付けられる可能性がある。一部の実装において、応答レコードデータベースの所与のエントリは、セッションID、応答ID、およびソース画像データを含む。セッションIDは、サーバ-クライアントネットワークセッションを一意に特定し、応答IDは、所与のセッション中にクライアントコンピュータに提供された応答を一意に特定し、ソース画像データは、特定のセッションまたは応答に関してクライアントコンピュータに送信されたソース画像についての情報を特定する。セッションID、応答ID、またはそれら両方は、後でシステムがソース画像上に重ね合わされたウォーターマークを使用してセッションID、応答ID、またはそれら両方を復元し、セッションIDおよび/または応答IDに関連する適切なソース画像データを検索することができるように、符号化をする画像およびウォーターマークを付ける画像に符号化されるプレーンテキストデータを形成する可能性がある。
段階310において、サーバシステムが、クライアントコンピュータに電子文書を提供する。電子文書は、クライアントコンピュータによって実行されるときにクライアントコンピュータにソース画像およびウォーターマークを付ける画像を要求させ、取得させるコンピュータコードを含む可能性がある。さらに、コンピュータコードは、電子文書がユーザに対して提示するためにレンダリングされるときに、クライアントコンピュータがソース画像上にウォーターマークを付ける画像を重ね合わせる命令を含む可能性がある。たとえば、クライアントコンピュータにおいて符号化されたソース画像をレンダリングするための例示的なプロセス600が、図6に示される。プロセス600は、1つまたは複数のコンピューティングデバイス、たとえば、クライアントコンピュータ104によって実行され得る。一部の実装において、プロセス600は、ウェブブラウジングアプリケーションなどのクライアントコンピュータにインストールされたアプリケーションによって実行される。代替的に、サーバシステム102は、符号化されたソース画像がクライアントコンピュータ104に提供される前に、サーバシステム102において符号化されたソース画像を生成するためにウォーターマークを付ける画像およびソース画像を混合する可能性がある。
ときには、サーバシステム102は、符号化されたソース画像を復号するために呼び出される可能性がある。たとえば、段階312において、システムが、クライアントコンピュータ104のユーザによってスクリーンショットとしてキャプチャされ、復号および分析のためにサーバシステム102に送られた可能性がある符号化されたソース画像を受信する。段階314において、システムが、符号化されたソース画像を復号する。概して、復号プロセスは、たとえば、それぞれの符号化されたピクセルが符号化をするソース画像(encoding source image)(たとえば、QRコード(登録商標))の黒いピクセル(値1)に対応するのかまたは符号化をするソース画像の白いピクセル(値0)に対応するのかを判定するために、符号化されたソース画像の符号化されたピクセルの符号化された値を特定することを含む。符号化されたピクセルの位置または座標が突き止められると、ピクセルの符号化された値を見分けるために様々な復号技術が使用され得る。たとえば、ピクセルの色が、その隣接するピクセルと比較される可能性があり、ピクセルの色がその隣接するピクセルよりも特定の量だけ暗い場合、そのピクセルは、符号化をする画像からの黒いピクセル(値1)を符号化すると考えられる可能性がある。ピクセルの色がその隣接するピクセルよりも必要とされる量だけ暗くない場合、そのピクセルは、符号化をする画像からの白いピクセル(値0)を符号化すると考えられる可能性がある。さらに、ソース画像に符号化されたウォーターマークを付ける画像の複数のインスタンスからの同じ符号化されたピクセルが、分析される可能性があり、結果が、統計的に平均される可能性がある。一部の実装においては、機械学習モデルが、復号の分析を実行するために訓練される可能性がある。それにもかかわらず、復号プロセスは、計算コストが高く、常に成功するとは限らない可能性がある。たとえば、基礎を成すソース画像の色のパターンが不完全に透明な黒い符号化をするピクセルによって課される暗くすることを不明瞭にする場合、符号化された値は、成功裏に復元されない可能性がある。さらに、システムは、ウォーターマークを付ける画像に関するあり得る位置を特定するために符号化されたソース画像のスクリーンショット中を反復的に探索する必要がある可能性があり、
スクリーンショットがどのズームレベルまたは解像度でレンダリングされ、キャプチャされたかを示すデータをシステムが知らない可能性があるので、多くの可能なズームレベルまたは解像度に関してそのような探索をすることを求められる可能性がある。したがって、図6~図10の説明は、いったい符号化されたかもしれないソース画像がウォーターマークを付ける画像をそもそも符号化されているのかどうかの予測を生成するために予測モデルを使用して復号プロセスの効率を高めるための技術を提供する。
復号が成功である場合、段階316において、サーバシステムが、復号された情報を使用してプレーンテキストデータを復元する。そのとき、システムは、様々な目的のためにプレーンテキストデータを使用する可能性がある。一部の実装において、プレーンテキストデータは、セッションIDまたは応答IDを表す。サーバシステムは、ソース画像データを検索し、たとえば、ソース画像を提供した特定のコンテンツプロバイダを決定するためにセッションIDまたは応答IDを使用して応答レコードデータベースに問い合わせることができる。
図5は、本明細書において説明される技術の目的のために符号化をする画像、たとえば、符号化をする画像124を提供し得る例示的なQRコード(登録商標)500を示す。その他の予め定義されたサイズのQRコード(登録商標)も好適であるが、QRコード(登録商標)500は、この例において、21x21ピクセルの決まったサイズを有する。例として、21x21のQRコード(登録商標)500は、符号化されたかもしれないソース画像がウォーターマークを付ける画像を符号化された可能性が高いのかまたは符号化されなかった可能性が高いのかを予測するための本明細書において開示される技術を示すために図6~図10の検討において参照される。
QRコード(登録商標)500の特有の特徴は、コード500の左上、右上、および左下の角にあるその3つの7x7ピクセルの正方形502a~502cである。正方形のパターン502a~cは、ピクセルの行および列が突き止められることが可能であり、コード500が成功裏に読まれることが可能であるように、光学式読み取りデバイスがQRコード(登録商標)500の境界の位置を特定し、QRコード(登録商標)500の向きを適切に定めるのを助ける。それぞれの正方形のパターンは、その第1行および第7行の7つの連続する黒いピクセル(たとえば、符号化された値1)と、第2行および第6行の黒-白-白-白-白-白-黒のパターン(たとえば、符号化された値1-0-0-0-0-0-1)と、第3行、第4行、および第5行の黒-白-黒-黒-黒-白-黒のパターン(たとえば、符号化された値1-0-1-1-1-0-1)とによって定義される。ウォーターマークを付ける画像は、コード500のそれぞれの黒いピクセルに高い不完全な透明度の値を割り振り、コード500のそれぞれの白いピクセルに完全な透明度の値を適用し、それぞれの奇数行のQRコード(登録商標)500からの各ピクセルの右に空白の(符号化されていない)完全に透明なピクセルを挿入し、コード500のそれぞれの偶数行のQRコード(登録商標)500からの各ピクセルの左に空白の完全に透明なピクセルを挿入することによって、図1~図4に関連して説明されたようにQRコード(登録商標)500から形成され得る。結果は、符号化されることになるソース画像上に重ね合わされ得る21x43ピクセルのウォーターマークを付ける画像である。
図6は、画像がウォーターマークを付ける画像を符号化する可能性が高いのかまたは符号化しない可能性が高いのかを予測するために符号化されたかもしれないソース画像を分析するための例示的なプロセス600の流れ図である。一部の実装において、プロセス600は、サーバシステム102のウォーターマーク予測モデル132およびコントローラ136と協力して画像分析およびデコーダモジュール118によって実行される。
段階602において、システムが、符号化されたかもしれないソース画像を取得する。一部の実装において、符号化されたかもしれないソース画像は、ユーザのクライアントコンピュータデバイスにおいてウェブページまたはアプリケーションのグラフィカルインターフェース内に表示されたコンテンツのスクリーンショットをユーザがキャプチャすることによって獲得される。スクリーンショットの目標であるウェブページまたはアプリケーションは、QRコード(登録商標)500から導出されたウォーターマークを付ける画像126を符号化されている第三者コンテンツプロバイダ106からのソース画像128aなどの、視覚的に知覚され得ないウォーターマークを付ける画像を符号化される余地があるソース画像を含む可能性がある。分析プログラムのため、ソース画像内の不快なもしくは関連性のないコンテンツを報告するため、画像に符号化された販売促進コンテンツを引き換えるため、またはそうでなければクライアントコンピュータ104に提供されるソース画像の出所もしくはコンテキストについての情報を特定するためなど、任意の数の理由でサーバシステムによる分析のために、ユーザが手動で(またはユーザのデバイスが自動的に)スクリーンショットをキャプチャし、そのスクリーンショットを送る可能性がある。ソース画像は、クライアントコンピュータ104においてレンダリングされるときに単一の画像へと合併される可能性があり、または合併されない可能性があるが、典型的には、ユーザがソース画像のスクリーンショットをキャプチャした後、効果は、ソース画像の上に置かれた任意の不完全に透明なウォーターマークを付ける画像の合併された画像を生成することである。場合によっては、スクリーンショットがキャプチャされた状況に関連する1つまたは複数の要因が、画像を復号するサーバの依頼の困難を大きくする可能性がある。たとえば、ユーザのデバイスは、画像が元のソース画像およびウォーターマークを付ける画像よりも高いまたは低い解像度で表示されるように、スクリーンショットがキャプチャされたときに画像のズームインされたまたはズームアウトされた表示をレンダリングした可能性があり、サーバシステムは、画像のズームレベルおよび対応する解像度のインジケーションを受信しない可能性がある。さらに、スクリーンショットは、符号化されたかもしれないソース画像をオーバーキャプチャする(over-capture)かまたはアンダーキャプチャする(under-capture)可能性がある。たとえば、符号化されたかもしれないソース画像がウェブページ内のバナー広告であり、そのバナー広告に関して、ユーザがウェブページ全体のスクリーンショットを送る場合、スクリーンショットの比較的小さな部分のみが、実際にウォーターマークを付ける画像を符号化される可能性がある。その他の場合、スクリーンショットが、クロップされ、符号化されたかもしれないソース画像の一部を含む可能性がある。さらに、スクリーンショットは、スクリーンショット記憶および/または送信のコストを小さくするファイル圧縮の結果として雑音を含む可能性がある。
段階604において、システムが、符号化されたかもしれないソース画像の1つまたは複数の縮尺を調整されたバージョンを生成する。システムは、符号化されたピクセルおよび符号化されていないピクセルのパターン内の予測可能性を保証するために符号化されたかもしれないソース画像の復号をその符号化されたかもしれないソース画像のネイティブの元の解像度(たとえば、符号化されたかもしれないソース画像のサイズがソース画像の元のサイズと一致するように100パーセントのズームレベル)で実行するように構成される可能性がある。しかし、段階602において得られた符号化されたかもしれないソース画像のズームレベルが復号システムに知られていない可能性があるので、システムは、符号化されたかもしれないソース画像の縮尺を調整されたバージョンの組を生成し、それぞれの縮尺を調整された画像は、段階602において得られた符号化されたかもしれない画像の異なる開始ズームレベルを仮定し、画像のサイズを仮定された開始ズームレベルから目標の100パーセントのズームレベルに縮小または拡大することによって100パーセントのズームレベルに対応する推定された解像度(「目標」解像度またはズームレベルとも呼ばれる)の符号化されたかもしれないソース画像の異なるバージョンを提供する。したがって、スクリーンショットが200パーセントのズームレベルでキャプチャされたと仮定されるならば、システムは、目標の100パーセントのズームレベルを達成するために画像の寸法を半分に縮小することによって符号化されたかもしれないソース画像の第1の縮尺を調整されたバージョンを生成する。スクリーンショットが500パーセントのズームレベルでキャプチャされたと仮定されるならば、システムは、目標の100パーセントのズームレベルを達成するために画像の寸法を5分の1に縮小することによって符号化されたかもしれないソース画像の第2の縮尺を調整されたバージョンを生成する。符号化されたかもしれないソース画像の任意の数の縮尺を調整されたバージョンが、生成される可能性がある。符号化されたかもしれないソース画像のスクリーンショットがキャプチャされる可能性がある多くのユーザデバイスがユーザが100パーセントのズームレベルから500パーセントのズームレベルまで任意の解像度のズームインされた表示解像度を設定する能力を提供するので、一部の実装において、システムは、100パーセントから500パーセントまでの401個のすべての可能な開始ズームレベルに対応する取得されたかもしれないソース画像のそれぞれの縮尺を調整されたバージョンを生成する。しかし、その他の実装においては、異なる範囲のズームレベルが、可能な開始解像度として仮定される可能性がある。加えて、一部の実装においては、所与の範囲内の可能なズームレベルのサブセットのみが、符号化されたかもしれないソース画像の縮尺を調整されたバージョンが生成される開始解像度としてサンプリングされ、使用される。
段階606において、システムが、第1の推定された開始ズームレベルに関して符号化されたかもしれないソース画像の第1の縮尺を調整されたバージョンを選択し、縮尺を調整された画像内の符号化されたかもしれない領域を探索する。開始ズームレベルが目標のズームレベル(たとえば、100パーセント)まで推定される場合、単純に、選択された画像は、段階602において得られた下の画像である可能性がある。選択された/縮尺を調整された画像の符号化されたかもしれない領域が、ウォーターマークを付ける画像の1つまたは複数のインスタンスを符号化されているかもしれないと判定される領域である。一部の実装において、ウォーターマークを付ける画像は、ソース画像自体よりもずっと小さく、したがって、ウォーターマークを付ける画像は、ソース画像のすべてまたは一部の上に重なり合わず、互いに直接隣り合ってタイル表示される。一部の実装においては、符号化されたかもしれないウォーターマークを付ける画像の複数のインスタンスが同じ符号化されたかもしれない領域に含まれるために、ウォーターマークを付ける画像は、互いに連続していなければ(たとえば、一連の直接隣り合う/隣接するウォーターマークでなければ)ならない。(直接的にかまたは符号化されたかもしれないウォーターマークを付ける画像のその他のインスタンスを介して間接的にかのどちらかで)互いに連続しない符号化されたかもしれないウォーターマークを付ける画像の2つのインスタンスが縮尺を調整された画像内で検出される場合、それらのインスタンスは、区別可能な符号化されたかもしれない領域に割り振られる可能性がある。図9は、符号化されたかもしれないソース画像950の縮尺を調整されたバージョン900内の符号化されたかもしれない領域902a~902dの組の例を示す。破線は、特定の領域内の符号化されたかもしれないウォーターマークを付ける画像の異なるインスタンスに対応するブロックの間の分割を示す。
縮尺を調整された画像内の符号化されたかもしれない領域を特定するための一部の実装において段階606に含まれる動作のさらなる詳細が、図7に示されるプロセス700によって与えられる。段落702において、システム(たとえば、画像分析およびデコーダモジュール118)が、符号化されたかもしれない領域を探索されることになる符号化されたかもしれないソース画像の縮尺を調整されたバージョンを取得した。段落704において、システムが、縮尺を調整された画像内の符号化されたかもしれないピクセルの符号化された値を予測する。ウォーターマークを付ける画像がそれぞれの符号化されたピクセルが空白(符号化されていない)ピクセルによって上、下、左、および右に隣接されるように互い違いに1つおきの位置に符号化されたピクセルをあたえる場合に関して、システムは、縮尺を調整された画像内の1つおきのピクセル、つまり、縮尺を調整された画像が符号化した任意のウォーターマークを付ける画像内の符号化されたピクセルに対応するピクセルの符号化された値を予測する可能性がある。それぞれの符号化されたピクセルの符号化された値は、その符号化されたピクセルの隣接する空白ピクセルの色に対して相対的なそのピクセルの色を分析することによって予測される可能性がある。たとえば、符号化されたかもしれないピクセルの色がその符号化されたかもしれないピクセルの隣接するピクセルのうちの1つもしくは複数またはその符号化されたかもしれないピクセルの隣接するピクセルの平均よりも十分に(たとえば、予め定義された閾値の量だけ)暗い場合、ピクセルは、ウォーターマークを付ける画像からの黒いピクセル(たとえば、値「1」)を符号化すると予測される可能性がある。符号化されたかもしれないピクセルの色がその符号化されたかもしれないピクセルの隣接するピクセルのうちの1つもしくは複数またはその符号化されたかもしれないピクセルの隣接するピクセルの平均よりも十分に暗くない場合、ピクセルは、ウォーターマークを付ける画像からの白いピクセル(たとえば、値「0」)を符号化すると予測される可能性がある。一部の実装においては、ピクセルがウォーターマークを付けるもしくは符号化をする画像からの黒いピクセルかまたはウォーターマークを付けるもしくは符号化をする画像からの白いピクセルかのどちらかを符号化するかどうかを予測するためにそれぞれの符号化されたかもしれないピクセルに2クラス分類を適用するのではなく、システムは、ピクセルが特定の2進値を符号化する尤度(たとえば、ピクセルが黒いピクセルまたは白いピクセルを符号化する確率)を示す各ピクセルに関するスコア(たとえば、確率の値)を生成する可能性がある。
段階706において、システムが、縮尺を調整された画像内の符号化されたかもしれないピクセルの予測された符号化された値のパターンに基づいて縮尺を調整された画像の符号化されたかもしれない領域を決定する。一部の実装において、システムは、縮尺を調整された画像内の符号化されたかもしれないピクセルの予測された符号化された値を評価してウォーターマークを付けるまたは符号化をする画像を示す特有のパターンを特定することによって符号化されたかもしれない領域を特定する。予測された符号化された値がウォーターマークを付けるまたは符号化をする画像に関する予め定義されたパターンと一致するとき、ウォーターマークを付けるまたは符号化をする画像のインスタンスは、符号化されたかもしれない領域に関するブロックとして登録される。たとえば、システムは、QRコード(登録商標)500の特有の正方形のパターン502a~502cに対応する予測された符号化された値のパターンを探索する可能性があり、またはそれぞれの正方形のパターンの真ん中の3行からの黒-白-黒-黒-黒-白-黒のパターン(たとえば、値1-0-1-1-1-0-1)などの正方形のパターン502a~502cの一部を探索する可能性がある。これらの予め定義されたパターンが予測された符号化された値の中で認識される場合、システムは、パターンが認識された位置の縮尺を調整された画像内の符号化されたかもしれないウォーターマークを付けるまたは符号化をする画像のインスタンスを登録する。一部の実装において、システムは、一致を登録するために、予測された符号化された値と予め定義されたパターンとの間の完全な対応を必要とする可能性がある。その他の実装において、システムは、(たとえば、予測された符号化された値の少なくとも閾値の部分が予め定義されたパターン内に与えられた対応する符号化された値と一致する限り)予測された符号化された値と予め定義されたパターンとの間の不完全な対応がそれにもかかわらず登録された一致をもたらし得るようになんらかの許容度を認める可能性がある。そして、縮尺を調整された画像内の符号化されたかもしれないウォーターマークを付ける/符号化をする画像の1つまたは複数の特定されたブロックの連続した組が、それぞれの符号化されたかもしれない領域に割り振られる。
一部の実装において、符号化されたかもしれない領域を探索し、特定するプロセスは、図7の段階708~712の動作の実行によって拡張され得る。段階708において、システムは、縮尺を調整された画像内の符号化されたかもしれないピクセルの各々(またはサブセット)に関するシーケンススコア(sequence score)を決定する。所与の符号化されたかもしれないピクセルに関するシーケンススコアは、所与の符号化されたかもしれないピクセルと定義された関係を含むまたは有する符号化されたかもしれないピクセルのシーケンスに関する符号化された値がウォーターマークを付けるまたは符号化をする画像の存在を示す符号化された値の所定の特有のパターンと一致する尤度を示す。一部の実装において、所与の符号化されたかもしれないピクセルに関するシーケンススコアは、縮尺を調整された画像の、所与の符号化されたかもしれないピクセルと同じ行内の次の7つの符号化されたかもしれないピクセルに関する符号化された値がQRコード(登録商標)500の正方形のパターン502a~502cの真ん中の3行に見られる黒-白-黒-黒-黒-白-黒(たとえば、1-0-1-1-1-0-1)のシーケンスと一致する尤度を示す。場合によっては、シーケンススコアは、符号化された値の所与のシーケンスとの予測された符号化された値の一致の数に基づいて決定される。場合によっては、シーケンススコアは、所与のシーケンスの目標値に対して相対的なシーケンス内のそれぞれの符号化されたかもしれないピクセルに関する個々の確率の値の考慮に基づいて決定される。
段階710において、システムが、縮尺を調整された画像内のブロック、つまり、ウォーターマークを付けるまたは符号化をする画像の符号化されたかもしれないインスタンスのあらゆる可能な位置を特定し、各ブロック位置に関して、ウォーターマークを付けるまたは符号化をする画像がそのブロック位置に符号化される尤度を示すブロックスコアを特定する。一部の例において、ブロック位置の数は、異なるブロック位置が(おそらく、ブロックが画像の端を超えるので完全なブロックが可能でない可能性がある画像の周囲のまわりを除いて)ブロックを1ピクセルずつスライドさせることによって特定され得るので、縮尺を調整された画像内のピクセルの数とほぼ等しい。ブロック位置に関するブロックスコアは、ブロック内の符号化されたかもしれないピクセルの特定の位置に関するシーケンススコアに基づいて計算され得る。たとえば、QRコード(登録商標)500に対応するウォーターマークを付ける画像がその位置のブロックに符号化された尤度を示す縮尺を調整された画像の所与の位置のブロックに関するブロックスコアを決定するために、システムは、符号化されたQRコード(登録商標)のウォーターマークを付ける画像に対応するブロックの適切な位置に正方形のパターン502a~502cからの7つのピクセルのシーケンスが現れる尤度を示す、ブロックの左上、右上、および左下の位置の近くのピクセルに関するシーケンススコアを評価する可能性がある。ブロックは、たとえば、それらの角のピクセルが黒-白-黒-黒-黒-白-黒(たとえば、1-0-1-1-1-0-1)のシーケンスを符号化された高い尤度をブロックのそれらの3つの角のシーケンススコアがそれぞれ示す場合、ウォーターマークを付ける画像がブロック内に符号化されているより高い尤度を示す可能性がある。
段階712において、システムが、ブロックスコアに基づいて縮尺を調整された画像の符号化されたかもしれない領域を決定する。たとえば、縮尺を調整された画像内の各ブロック位置に関して、システムは、そのブロック位置から始まる1つまたは複数の連続したブロックがウォーターマークを付けるまたは符号化をする画像のそれぞれのインスタンスを符号化されている尤度を査定する可能性がある。ブロックスコア、および連続したブロックの様々な順列がそれぞれウォーターマークを符号化されている尤度の分析から、システムは、領域がウォーターマークを付けるまたは符号化をする画像の1つまたは複数の連続したブロックを符号化されている可能性が高いという十分な確信をシステムが有する互いに排他的な符号化されたかもしれない領域の組を明らかにする。
図6を再び参照すると、縮尺を調整された画像の1つまたは複数の符号化されたかもしれない領域を決定した後、段階608において、システムが、縮尺を調整された画像に関する予測の特徴の組に関する値を決定する。これらの値は、その後、図2~図4に関連して既に説明された技術によって、符号化されたかもしれないソース画像が視覚的に知覚され得ない不完全に透明なウォーターマークを付ける画像(またはソース画像中にタイル表示された繰り返されたウォーターマークを付ける画像の組)を符号化されたかどうかについて最終的なまたは最後の予測を生成するために処理される。一部の実装において、予測の特徴は、縮尺を調整された画像内で特定された符号化されたかもしれない領域についての情報を特徴付ける。たとえば、特徴は、(i)縮尺を調整された画像の特定された符号化されたかもしれない領域内のブロックの平均の(もしくはその他の標準の)数、(ii)縮尺を調整された画像の最も大きな特定された符号化されたかもしれない領域内のブロックの数(つまり、符号化されたかもしれない領域の中のブロックの最大数)、(iii)縮尺を調整された画像の特定された符号化されたかもしれない領域に含まれるブロックの数の標準偏差もしくは散らばりのその他の尺度、(iv)縮尺を調整された画像内の特定された符号化されたかもしれない領域の総数、またはこれらのうちの2つ以上の組合せを含む可能性がある。
一部の実装においては、さらなる特徴に関する値が、符号化されたかもしれないソース画像の縮尺を調整されていないバージョン内のピクセルの分析に基づいて計算される。たとえば、システムは、符号化されたかもしれないソース画像の縮尺を調整されたバージョンからの特定された符号化されたかもしれない領域を符号化されたかもしれないソース画像の縮尺を調整されていないバージョン内の対応する領域にマッピングする可能性がある。1つのそのようなマッピングが、図9に例として示され、符号化されたかもしれないソース画像の縮尺を調整されたバージョン900からの符号化されたかもしれない領域902a~902dの各々は、符号化されたかもしれないソース画像の縮尺を調整されていないバージョン950内の対応する領域952a~952dにマッピングされる。符号化されたかもしれないソース画像の縮尺を調整されていないバージョン内のそれぞれのマッピングされた領域952a~952dに関して、システムは、3つの値、すなわち、(i)マッピングされた領域内のピクセルに関する赤チャンネルの値の分散、(ii)マッピングされた領域内のピクセルに関する青チャンネルの値の分散、および(iii)マッピングされた領域内のピクセルに関する緑チャンネルの値の分散を計算する。それから、システムは、マッピングされた領域952a~952dの中で最低の(最小の)青チャンネルの分散、マッピングされた領域952a~952dの中で最低の緑チャンネルの分散、およびマッピングされた領域952a~952dの中で最低の青チャンネルの分散を選択する。そして、これらの3つの選択された最低の分散の値は、前の段落で説明されたように、符号化されたかもしれないソース画像の縮尺を調整されたバージョンの符号化されたかもしれない領域を特徴付ける特徴と一緒に、ウォーターマーク予測モデルへの入力として予測の特徴の中で適用され得る。たとえば、Sがソース画像を表すものとし、Xがウォーターマークを付ける画像を表すものとし、Y = X+Sを符号化された(ウォーターマークを付けられた)ソース画像とする。XがSの知識なしに生成されるので、当然、XおよびSは互いに独立していると仮定される可能性がある。したがって、Var[Y] = Var[X] + Var[S]ということになる。デコーダ側で、Zによって表され
るYの雑音のあるバージョンが受信される。一般性を失うことなく、Nによって表される雑音は加算的であり、Yと独立していると仮定する。つまり、Z = Y + Nである。したがって、Var[Z] = Var[Y] + Var[N] = Var[X] + Var[S] + Var[N]である。Var[S]およびVar[N]は、非負であり、Var[X] > 0である。したがって、Var[Z]が小さいとき、それはおおむねVar[X]が原因である。言い換えると、Var[Z]が小さいとき、Var[X]は、ウォーターマークが存在する場合、Var[Z]を使用することによって近似され得ることが理解され得る。さらに、Var[X]が小さいとき、分類結果(たとえば、ウォーターマークがソース画像内に符号化されるかどうか)の比較的高い信頼性が達成され得る。一方で、Var[X]が大きいとき、分類結果の比較的低い信頼性が見られる可能性がある。
段階610において、システムが、段階608において決定された予測の特徴の値を記憶する。一部の実装において、システムは、システムが分析する符号化されたかもしれないソース画像のそれぞれの縮尺を調整されたバージョンに関して決定された予測の特徴の値のデータベースを保持する。特徴の組に関する新しい値が画像の別の縮尺を調整されたバージョンに関して決定される度に、新しいレコードまたはエントリが、データベースに作成される可能性があり、値が、その中に記憶される可能性がある。所与の符号化されたかもしれないソース画像に関連する予測の特徴の値を記憶するための例示的なデータベーステーブル1000が、図10に示される。示されるように、テーブル1000の各行は、符号化されたかもしれないソース画像の異なる縮尺を調整されたバージョンに関する特徴の値を記憶するレコードを表す。システムは、特徴の値が関心のあるすべてのズームレベルに関して計算されるまで、画像のそれぞれの縮尺を調整されたバージョンに関して計算された特徴に関してデータベースに値を一時的に記憶する可能性がある。
段階612において、システムが、特徴の値が符号化されたかもしれないソース画像に関する開始ズームレベルの異なる推定に対応するいずれかの追加的な縮尺を調整された画像に関して計算されるべきであるかどうかを判定する。追加的な縮尺を調整された画像が分析されるべきである場合、システムは、段階611に進み、符号化されたかもしれないソース画像の次の縮尺を調整されたバージョンを選択し、段階606に戻る。追加的な縮尺を調整された画像が分析されるために残っていない場合、システムは、段階614に進む。
段階614において、システムが、縮尺を調整された画像の各々に関して計算された特徴の値のデータベースにアクセスし、特定の縮尺を調整された画像に関する特徴の値の組の内の1つを代表的組として選択する。様々な規則が、特徴の値のどの組を代表的組として選択すべきかを決定する際に適用され得る。一部の実装において、システムは、領域内のブロックの数の観点で最も大きな符号化されたかもしれない領域をもたらした符号化されたかもしれないソース画像の縮尺を調整されたバージョンの特徴の値の組を選択する。たとえば、200パーセントの仮定された開始ズーム比から目標のズーム比に縮小された画像の縮尺を調整されたバージョンがいかなるその他のズーム比に関する縮尺を調整された画像に関連する最大の領域のブロックのカウントよりも大きな最大の領域のブロックのカウントを生じた場合、画像のこの縮尺を調整されたバージョンに対応する特徴の値の組が、代表的組として選択される可能性がある。さらなるまたはその他の特徴も、代表的組を選択するための基礎として使用される可能性がある。一部の実装においては、いくつかのズーム比に関する特徴の値の複数の組が、上位n個の組(たとえば、n = 2、3、4、または5)などの代表的組として選択される可能性がある。一部の実装においては、特徴の値の組のすべてが、代表的組として選択される可能性がある。
段落616において、システムが、符号化されたかもしれないソース画像がウォーターマークを付ける画像を符号化された可能性が高いのかまたはウォーターマークを付ける画像を符号化されなかった可能性が高いのかを示す最終的な予測を生成するために、予測モデル、たとえば、ウォーターマーク予測モデルを用いて予測の特徴の代表的組の値を処理する。一部の実装において、予測モデルは、符号化されたかもしれないソース画像がウォーターマークを付ける画像を符号化された可能性が高いかまたはウォーターマークを付ける画像を符号化されなかった可能性が高いかのどちらかであることを示す2値出力を生成するように構成される。一部の実装において、予測モデルは、符号化されたかもしれないソース画像がウォーターマークを付ける画像を符号化されたかまたはウォーターマークを付ける画像を符号化されなかったかの数値的な尤度を示すスコア(たとえば、確率の値)を出力するように構成される。一部の実装において、予測モデルは、スコアを中間出力として生成し、それから、符号化されたかもしれないソース画像がウォーターマークを付ける画像を符号化されたかまたは符号化されなかったかを示す最終的な2値出力を生成するためにスコアを指定された閾値と比較する可能性がある。予測モデルの任意の好適な形態が、このタスクのために使用される可能性がある。一部の実装において、予測モデルは、ニューラルネットワークなどの機械学習モデルである。たとえば、ニューラルネットワークは、予測の特徴の代表的組からの値を処理するように構成された入力層と、入力に対して一連の演算を実行する1つまたは複数の隠れ層と、予測の出力を生成する出力層とを有する順伝播型ニューラルネットワークである可能性がある。値の単一の代表的組からの7つの特徴804a~804gに関する値を処理してウォーターマークの予測806を生成するウォーターマーク予測モデル802の図示800が、図8に示される。
一部の実装において、システムは、符号化されたかもしれないソース画像を復号する試みを続けるさらなる処理コストを負うべきかどうかについての判断を知らせるためにウォーターマークの予測を使用することができる。段階618において、システムコントローラ、たとえば、コントローラ136が、予測モデルの出力に基づいて復号を続けるべきかどうかを判定する。符号化されたかもしれないソース画像がウォーターマークを付ける画像を符号化された可能性が高いことを予測が示す場合、システムは、段階620に進み、符号化されたかもしれないソース画像の復号を試みるために別な復号モデルを使用する。成功する場合、符号化されたソース画像が、ウォーターマークを付ける画像、符号化をする画像(たとえば、QRコード(登録商標)500)、またはそれら両方を再構築するために復号され得る。ウォーターマークを付けるまたは符号化をする画像から、プレーンテキストデータおよびそれが参照するに任意の情報が、そのとき特定され得る。符号化されたかもしれないソース画像がウォーターマークを付ける画像を符号化されなかったことを予測が示す場合、システムは、符号化されたかもしれないソース画像のさらなる処理をせず、画像の復号の試みを続けない(段階622)。一部の実装において、復号が段階620において先に進むとき、システムは、プロセス600の前の段階で集められた情報を使用して、成功の最も高い尤度を有すると推定される復号のための特定の領域を目標に定める可能性がある。目標に定められた領域は、たとえば、特徴の値が代表的組として選択された画像の縮尺を調整されたバージョンに対応する特定された符号化されたかもしれない領域である可能性がある。
図11は、サーバシステム102において使用されるウォーターマーク予測モデル132を実装するニューラルネットワークなどの予測モデルを訓練するための例示的なプロセス1100の流れ図である。一部の実装において、プロセス1100は、モデル訓練エンジン134によって実行される。段階1102において、システムが、訓練画像の組を取得する。訓練の組の一部の画像はウォーターマークを付ける画像を符号化されており、一方、その他の画像は符号化されていないが、各画像は画像がウォーターマークを付けられたのかまたはウォーターマークを付けられなかったのかを示す目標(真)分類値(target (true) classification value)をラベル付けされる。システムは、各訓練画像に関して予測の特徴に関する値を決定する(段落1104)。予測の特徴は、たとえば、図6および図8に関連して説明された7つの特徴を含む可能性がある。そして、システムは、訓練サンプルの組を生成する(段落1106)。各訓練サンプルは、訓練画像のうちの異なる訓練画像に対応し、訓練入力および目標訓練出力を含む。訓練入力は、対応する訓練画像に関して決定された予測の特徴に関する値を含むかまたはそのような値から成る。訓練出力は、訓練入力を与えられた予測モデルの目標出力を表す値である。目標出力は、予測の特徴に関する値が導出された対応する訓練画像がウォーターマークを付ける画像を符号化されたかまたは符号化されなかったか否かを示す2進値であることが可能である。システムは、ニューラルネットワークモデルの内部パラメータを(たとえば、ランダム化された初期化プロセスを使用して)初期化する(段階1108)。システムは、第1の訓練サンプルを選択し(段階1110)、それから、モデルの内部パラメータの現在の値に従ってその訓練サンプルからの訓練入力を処理して予測出力を生成する(段階1112)。システムは、訓練サンプルの予測出力と目標出力との間のいずれかの誤差を決定し(たとえば、段階1114)、それから、誤差を使用して誤差を小さくするためにモデルの内部パラメータを更新する(段階1116)。一部の実装において、誤差は、逆伝播されることが可能であり、モデルは、勾配降下法を使用して更新されることが可能である。段落1118において、システムが、さらなる訓練サンプルが
処理されるために残っているかどうか、または訓練が完了したかどうかを調べる。訓練フェーズがまだ完了しておらず、さらなるサンプルが残っている場合、プロセス1100は、次の訓練サンプルが選択される段階1110に戻り、動作1112~118が、繰り返される。訓練が完了すると、予測モデルは、たとえば、実際にはウォーターマークモデル132または802として使用するために提供され得る(段階1120)。
本明細書に記載の対象の実装および機能の動作は、本明細書で開示された構造およびそれらの構造的均等物を含む、デジタル電子回路、有形で具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらの1つもしくは複数の組合せで実装されることが可能である。本明細書に記載の対象の実装は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的プログラムキャリア上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装され得る。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために好適な受信機装置に送信するために情報を符号化するように生成される人為的に生成された伝播信号、たとえば、機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化され得る。コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであることが可能である。
用語「データ処理装置」は、データ処理ハードウェアを指し、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)である可能性もあり、またはそのような専用論理回路をさらに含む可能性がある。任意で、装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含み得る。
プログラム、ソフトウェア、ソフトウェアアプリケーション、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは記載される可能性もあるコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述されることが可能であり、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境内での使用に適したその他のユニットとしての形態を含む任意の形態で配置されることが可能である。コンピュータプログラムは、ファイルシステム内のファイルに対応する可能性があるが、必ずそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部、たとえば、マークアップ言語のドキュメントに記憶された1つもしくは複数のスクリプト、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに記憶され得る。コンピュータプログラムは、1つのコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるように展開され得る。
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するための1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なコンピュータが実行することによって実行され得る。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC(特定用途向け集積回路)によって実行されることが可能であり、さらに、装置は、それらの専用の論理回路として実装されることが可能である。
コンピュータプログラムの実行に好適なコンピュータは、例として、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはそれら両方、または任意のその他の種類の中央演算処理装置を含む。概して、中央演算処理装置は、読み出し専用メモリ、またはランダムアクセスメモリ、またはそれら両方から命令およびデータを受け取る。また、概してコンピュータは、データを記憶するための1つもしくは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受信するか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつか例を挙げるとすれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)受信機、またはポータブルストレージデバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込まれることが可能である。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。プロセッサおよびメモリは、専用論理回路によって補完され得るか、または専用論理回路に組み込まれ得る。
ユーザとのインタラクションを行うために、本明細書に記載の対象の実装は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT(ブラウン管)またはLCD(液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装され得る。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響、発話、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスにドキュメントを送信し、そのデバイスからドキュメントを受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。
本明細書に記載の対象の実装は、バックエンドコンポーネントを、たとえば、データサーバとして含むか、またはミドルウェアコンポーネント、たとえば、アプリケーションサーバを含むか、またはフロントエンドコンポーネント、たとえば、それによってユーザが本明細書に記載の対象の実装とインタラクションすることができるグラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンドコンポーネント、ミドルウェアコンポーネント、もしくはフロントエンドコンポーネントの任意の組合せを含むコンピューティングシステムに実装され得る。システムのコンポーネントは、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、たとえば、インターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。一部の実装において、サーバは、たとえば、クライアントとして働くユーザデバイスとインタラクションするユーザに対してデータを表示し、そのようなユーザからユーザ入力を受け取る目的でユーザデバイスにデータ、たとえば、HTMLページを送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザのインタラクションの結果が、サーバにおいてユーザデバイスから受信され得る。
1つのそのような種類のコンピュータの例が、汎用的なコンピュータシステム1200の概略図を示す図12に示される。システムは、1つの実装によって、上述のコンピュータで実装される方法のいずれかと関連して説明された動作のために使用され得る。システム1200は、プロセッサ1210、メモリ1220、ストレージデバイス1230、および入力/出力デバイス1240を含む。構成要素1210、1220、1230、および1240の各々は、システムバス1250を用いて相互に接続される。プロセッサ1210は、システム1200内で実行するための命令を処理することができる。1つの実装において、プロセッサ1210は、シングルスレッドプロセッサである。別の実装において、プロセッサ1210は、マルチスレッドプロセッサである。プロセッサ1210は、入力/出力デバイス1240上にユーザインターフェースのためのグラフィカルな情報を表示するための、メモリ1220またはストレージデバイス1230に記憶された命令を処理することができる。
メモリ1220は、システム1200内で情報を記憶する。1つの実装において、メモリ1220は、コンピュータ可読媒体である。1つの実装において、メモリ1220は、揮発性メモリユニットである。別の実装において、メモリ1220は、不揮発性メモリユニットである。
ストレージデバイス1230は、システム1200に大容量ストレージを提供することができる。1つの実装において、ストレージデバイス1230は、コンピュータ可読媒体である。様々な異なる実装において、ストレージデバイス1230は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイスである可能性がある。
入力/出力デバイス1240は、システム1200のための入力/出力動作を提供する。1つの実装において、入力/出力デバイス1240は、キーボードおよび/またはポインティングデバイスを含む。別の実装において、入力/出力デバイス1240は、グラフィカルユーザインターフェースを表示するためのディスプレイユニットを含む。
本明細書は多くの具体的な実装の詳細を含むが、これらは、特許請求される可能性があるものの範囲に対する限定と見なされるべきでなく、むしろ、特定の実装に固有である可能性がある特徴の説明と見なされるべきである。別々の実装に関連して本明細書において説明されている特定の特徴が、単一の実装に組み合わせて実装されることも可能である。反対に、単一の実装に関連して説明されている様々な特徴が、複数の実装に別々に、または任意の適切な部分的組合せで実装されることも可能である。さらに、特徴は、特定の組合せで動作するものとして上で説明されている可能性があり、最初にそのように主張されてさえいる可能性があるが、主張された組合せの1つまたは複数の特徴は、場合によっては組合せから削除されことが可能であり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とする可能性がある。
同様に、動作が図中に特定の順序で示されているが、これは、そのような動作が示された特定の順序でもしくは逐次的順序で実行されること、または所望の結果を達成するために示されたすべての動作が実行されることを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクおよび並列処理が有利である可能性がある。さらに、上述の実装における様々なシステムモジュールおよび構成要素の分割は、すべての実装においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラム構成要素およびシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であることが理解されるべきである。
対象の特定の実装が、説明された。その他の実装は、添付の請求項の範囲内にある。たとえば、請求項に挙げられた行為は、論理と整合する異なる順序で実行され、それでも所望の結果を達成することができる。一例として、添付の図に示されたプロセスは、所望の結果を達成するために、必ずしも、示された特定の順序または逐次的順序を必要としない。場合によっては、マルチタスクおよび並列処理が有利である可能性がある。
100 コンピューティング環境
102 サーバシステム
104 クライアントコンピュータ
106a~n ソース画像プロバイダ
108 フロントエンドサブシステム
110 画像生成サブシステム
112 符号化入力ジェネレータ
114 ウォーターマークを付ける画像ジェネレータ
116 応答フォーマッタ
118 画像分析およびデコーダモジュール
120 応答レコードデータベース
122 プレーンテキストデータアイテム
124 符号化をする画像
126 ウォーターマークを付ける画像
128 ソース画像
130 符号化されたソース画像
132 ウォーターマーク予測モデル
134 モデル訓練エンジン
136 コントローラ
138 ソース画像エンコーダ
202 符号化をする画像
204 表現
206 正規化された符号化をする画像
208 キャンバス
210 ウォーターマークを付ける画像
212 背景画像、ソース画像
214 符号化されたソース画像
300 プロセス
500 QRコード(登録商標)
502a~502c 正方形
600 プロセス
700 プロセス
800 図示
802 ウォーターマーク予測モデル
804a~804g 特徴
806 ウォーターマークの予測
900 縮尺を調整されたバージョン
902a~902d 符号化されたかもしれない領域
950 符号化されたかもしれないソース画像、縮尺を調整されていないバージョン
952a~952d 対応する領域
1000 データベーステーブル
1100 プロセス
1200 コンピュータシステム
1210 プロセッサ
1220 メモリ
1230 ストレージデバイス
1240 入力/出力デバイス
1250 システムバス

Claims (20)

  1. 第1の画像を取得するステップと、
    前記第1の画像内の符号化されたかもしれないピクセルの符号化された値を決定するために前記第1の画像内のピクセルの属性を分析するステップと、
    前記第1の画像の符号化されたかもしれない領域を決定するために前記第1の画像内の前記符号化されたかもしれないピクセルの符号化された値のパターンを分析するステップと、
    前記第1の画像の前記符号化されたかもしれない領域の特徴に関する値を決定するステップと、
    ウォーターマークを付ける画像が前記第1の画像に符号化されているかどうかを示す予測を生成するために前記第1の画像の前記符号化されたかもしれない領域の前記特徴に関する前記値を予測モデルを用いて処理するステップと、
    前記予測を出力するステップと
    を含むコンピュータによって実施される方法。
  2. 前記予測を生成することが、前記ウォーターマークを付ける画像が前記第1の画像に符号化されていることか、または前記ウォーターマークを付ける画像が前記第1の画像に符号化されていないことかのどちらかを示す2進値を選択することを含む請求項1に記載の方法。
  3. 前記予測を生成することが、前記ウォーターマークを付ける画像が前記第1の画像に符号化されているかまたは符号化されていない尤度を定量化する数値的な予測を生成することを含む請求項1または2に記載の方法。
  4. 前記予測を出力するステップが、コンピューティングシステムのメモリに前記予測を記憶することまたはユーザに対して提示するために前記予測を提供することのうちの少なくとも一方を含む請求項1から3のいずれか一項に記載の方法。
  5. 前記予測を出力するステップが、前記ウォーターマークを付ける画像を復元するために前記第1の画像または前記第1の画像が導出された第2の画像に復号プロセスを適用すべきかどうかを少なくとも前記予測に基づいて判定するように構成されるコントローラに前記予測を提供することを含む請求項1から4のいずれか一項に記載の方法。
  6. 前記コントローラが、前記予測が前記ウォーターマークを付ける画像が前記第1の画像に符号化されていることを示すことを特定することに応じて、前記ウォーターマークを付ける画像を復元するために前記第1の画像または前記第2の画像に前記復号プロセスを適用するように構成され、
    前記コントローラが、前記予測が前記ウォーターマークを付ける画像が前記第1の画像に符号化されていないことを示すことを特定することに応じて、前記ウォーターマークを付ける画像を復元するために前記第1の画像または前記第2の画像に前記復号プロセスを適用しないように構成される請求項5に記載の方法。
  7. 前記第1の画像を取得するステップが、ユーザのコンピューティングデバイスからスクリーンショット画像を取得することを含み、前記スクリーンショット画像が、ウェブページまたはネイティブアプリケーションのグラフィカルユーザインターフェース内の提供されたコンテンツを示す請求項1から6のいずれか一項に記載の方法。
  8. 未知のズームレベルでレンダリングされた第2の画像を取得するステップと、
    前記第2の画像に関する複数の可能なズームレベルを特定するステップと、
    前記第2の画像から前記第1の画像を含む複数の縮尺を調整された画像を生成するステップであって、それぞれの縮尺を調整された画像を生成することが、(i)前記複数のズームレベルから異なる可能なズームレベルを選択すること、および(ii)前記第2の画像が前記異なる可能なズームレベルでレンダリングされた場合に共通の目標のズームレベルを実現するために必要とされる量だけ前記第2の画像の縮尺を調整することを含む、ステップと
    をさらに含む請求項1から7のいずれか一項に記載の方法。
  9. 前記複数の縮尺を調整された画像の中のそれぞれの縮尺を調整された画像に関して、
    前記縮尺を調整された画像内の符号化されたかもしれないピクセルの符号化された値を決定するために前記縮尺を調整された画像内のピクセルの属性を分析するステップと、
    前記縮尺を調整された画像の符号化されたかもしれない領域を決定するために前記縮尺を調整された画像内の前記符号化されたかもしれないピクセルの符号化された値のパターンを分析するステップと、
    前記縮尺を調整された画像の前記符号化されたかもしれない領域の特徴に関する値を決定するステップと、
    1つまたは複数の基準に基づいて、前記複数の縮尺を調整された画像のうちのその他の縮尺を調整された画像の前記符号化されたかもしれない領域の特徴に関する前記値ではなく、前記第1の画像の前記符号化されたかもしれない領域の特徴に関する前記値を前記予測モデルによる処理のために提供すると決定するステップと
    をさらに含む請求項8に記載の方法。
  10. 前記第1の画像内の前記符号化されたかもしれないピクセルの前記符号化された値を決定するために前記第1の画像内のピクセルの属性を分析するステップが、前記第1の画像内の前記符号化されたかもしれないピクセルのすべてまたは一部の各々に関して、前記符号化されたかもしれないピクセルの色を前記第1の画像内の前記符号化されたかもしれないピクセルの近くの1つまたは複数のピクセルのそれぞれの色と比較することを含む請求項1から9のいずれか一項に記載の方法。
  11. 前記第1の画像の前記符号化されたかもしれない領域を決定するために前記第1の画像内の前記符号化されたかもしれないピクセルの符号化された値の前記パターンを分析するステップが、符号化された値が前記第1の画像内のウォーターマークを付ける画像の1つまたは複数の符号化されたインスタンスに対応するかもしれないと判定される符号化されたかもしれないピクセルの1つまたは複数のブロックを含む領域を特定することを含む請求項1から10のいずれか一項に記載の方法。
  12. 符号化された値が前記第1の画像内の前記ウォーターマークを付ける画像の1つまたは複数の符号化されたインスタンスに対応するかもしれないと判定される符号化されたかもしれないピクセルの1つまたは複数のブロックを含む前記第1の画像の領域を特定することが、各ブロック内に現れる予め定義されたビットパターンのインスタンスの位置を特定することを含む請求項11に記載の方法。
  13. 前記第1の画像の前記符号化されたかもしれない領域の前記特徴に関する前記値を決定するステップが、
    それぞれの符号化されたかもしれない領域に関して、符号化された値が前記ウォーターマークを付ける画像の異なる符号化されたインスタンスに対応すると判定される前記符号化されたかもしれない領域内の符号化されたかもしれないピクセルのブロックの数をカウントすることを含み、
    前記第1の画像の前記符号化されたかもしれない領域の前記特徴が、前記符号化されたかもしれない領域の中のカウントされたブロックの平均の数、前記符号化されたかもしれない領域の中のカウントされたブロックの最大の数、特定された符号化されたかもしれない領域の数、および前記符号化されたかもしれない領域の中のカウントされたブロックの前記数の標準偏差を含む群から選択される請求項1から12のいずれか一項に記載の方法。
  14. 前記第1の画像が、第2の画像の縮尺を調整されたバージョンであり、前記方法が、
    前記第1の画像の前記符号化されたかもしれない領域を前記第2の画像の対応する領域にマッピングするステップ、
    前記第2の画像のそれぞれのマッピングされた領域内のピクセルの中の1つまたは複数の色チャンネルの各々の分散を決定するステップ、
    各色チャンネルに関して、前記第2の画像の前記マッピングされた領域の中の前記色チャンネルに関する最小の分散を決定するステップ、および
    ウォーターマークを付ける画像が前記第1の画像に符号化されているかどうかを示す前記予測を生成するステップであって、前記第2の画像のそれぞれのマッピングされた領域内の前記ピクセルの中の前記1つまたは複数の色チャンネルの各々に関する前記最小の分散をさらに処理するステップを含む、生成するステップ
    をさらに含む請求項1から13のいずれか一項に記載の方法。
  15. 前記予測モデルが、2クラス分類モデルを含む請求項1から14のいずれか一項に記載の方法。
  16. 前記予測モデルが、ニューラルネットワークを含む請求項1から15のいずれか一項に記載の方法。
  17. 1つまたは複数のプロセッサと、
    前記1つまたは複数のプロセッサによって実行されるときに、前記1つまたは複数のプロセッサに、
    第1の画像を取得する動作、
    前記第1の画像内の符号化されたかもしれないピクセルの符号化された値を決定するために前記第1の画像内のピクセルの属性を分析する動作、
    前記第1の画像の符号化されたかもしれない領域を決定するために前記第1の画像内の前記符号化されたかもしれないピクセルの符号化された値のパターンを分析する動作、
    前記第1の画像の前記符号化されたかもしれない領域の特徴に関する値を決定する動作、
    ウォーターマークを付ける画像が前記第1の画像に符号化されているかどうかを示す予測を生成するために前記第1の画像の前記符号化されたかもしれない領域の前記特徴に関する前記値を予測モデルを用いて処理する動作、および
    前記予測を出力する動作
    を含む動作を実行させる命令を記憶した1つまたは複数のコンピュータ可読記録媒体と
    を含むシステム。
  18. 前記予測を出力する動作が、前記ウォーターマークを付ける画像を復元するために前記第1の画像または前記第1の画像が導出された第2の画像に復号プロセスを適用すべきかどうかを少なくとも前記予測に基づいて判定するように構成されるコントローラに前記予測を提供することを含む請求項17に記載のシステム。
  19. 前記コントローラが、前記予測が前記ウォーターマークを付ける画像が前記第1の画像に符号化されていることを示すことを特定することに応じて、前記ウォーターマークを付ける画像を復元するために前記第1の画像または前記第2の画像に前記復号プロセスを適用するように構成され、
    前記コントローラが、前記予測が前記ウォーターマークを付ける画像が前記第1の画像に符号化されていないことを示すことを特定することに応じて、前記ウォーターマークを付ける画像を復元するために前記第1の画像または前記第2の画像に前記復号プロセスを適用しないように構成される請求項18に記載のシステム。
  20. 1つまたは複数のプロセッサによって実行されるときに、前記1つまたは複数のプロセッサに、
    第1の画像を取得する動作、
    前記第1の画像内の符号化されたかもしれないピクセルの符号化された値を決定するために前記第1の画像内のピクセルの属性を分析する動作、
    前記第1の画像の符号化されたかもしれない領域を決定するために前記第1の画像内の前記符号化されたかもしれないピクセルの符号化された値のパターンを分析する動作、
    前記第1の画像の前記符号化されたかもしれない領域の特徴に関する値を決定する動作、
    ウォーターマークを付ける画像が前記第1の画像に符号化されているかどうかを示す予測を生成するために前記第1の画像の前記符号化されたかもしれない領域の前記特徴に関する前記値を予測モデルを用いて処理する動作、および
    前記予測を出力する動作
    を含む動作を実行させる命令を記憶した1つまたは複数の非一時的コンピュータ可読記録媒体。
JP2020542769A 2019-09-06 2019-09-06 半透明の画像ウォーターマークの検出 Active JP7142709B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/050011 WO2021045781A1 (en) 2019-09-06 2019-09-06 Detecting semi-transparent image watermarks

Publications (2)

Publication Number Publication Date
JP2022503307A true JP2022503307A (ja) 2022-01-12
JP7142709B2 JP7142709B2 (ja) 2022-09-27

Family

ID=68000123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020542769A Active JP7142709B2 (ja) 2019-09-06 2019-09-06 半透明の画像ウォーターマークの検出

Country Status (6)

Country Link
US (1) US20210334929A1 (ja)
EP (1) EP3815034A1 (ja)
JP (1) JP7142709B2 (ja)
KR (1) KR102423710B1 (ja)
CN (1) CN112789650B (ja)
WO (1) WO2021045781A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116391200A (zh) * 2021-06-21 2023-07-04 谷歌有限责任公司 缩放不可知水印提取
WO2022271146A1 (en) * 2021-06-21 2022-12-29 Google Llc Zoom agnostic watermark extraction
EP4238312A1 (en) 2022-01-11 2023-09-06 Google LLC End-to-end watermarking system
US20240087075A1 (en) * 2022-01-11 2024-03-14 Google Llc End-to-end watermarking system
CN114440834B (zh) * 2022-01-27 2023-05-02 中国人民解放军战略支援部队信息工程大学 一种非编码标志的物方与像方匹配方法
US11706369B1 (en) * 2022-03-02 2023-07-18 Avalara, Inc. Systems and methods for digitally watermarking resources produced by an online software platform
CN114863143B (zh) * 2022-05-20 2023-03-21 北京百度网讯科技有限公司 图像检测方法、装置、电子设备及存储介质
US20240037688A1 (en) * 2022-07-27 2024-02-01 GeoSnapshot Pty Ltd Inspection of digital images through watermarks
CN116385414B (zh) * 2023-04-10 2023-11-07 哈尔滨耐是智能科技有限公司 零部件多尺度缺陷特征提取方法、计算设备及存储介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092683A (ja) * 2000-07-14 2002-03-29 Oki Electric Ind Co Ltd 媒体真偽鑑別装置
JP2005094107A (ja) * 2003-09-12 2005-04-07 Oki Electric Ind Co Ltd 印刷物処理システム,透かし入り文書印刷装置,透かし入り文書読み取り装置,印刷物処理方法,情報読み取り装置,および情報読み取り方法
US20060072785A1 (en) * 2000-09-11 2006-04-06 Davidson Clayton L Watermark encoding and decoding
JP2013009162A (ja) * 2011-06-24 2013-01-10 Mitsubishi Electric Corp 画像電子透かし埋め込み装置及び画像電子透かし検出装置
JP2014165617A (ja) * 2013-02-25 2014-09-08 Hitachi Solutions Ltd 電子透かし埋め込み方法および電子透かし検出方法
JP2015136027A (ja) * 2014-01-17 2015-07-27 株式会社日立ソリューションズ 電子透かし埋め込み方法または電子透かし検出方法
US20180225800A1 (en) * 2016-01-21 2018-08-09 Tencent Technology (Shenzhen) Company Limited Method and device for identifying whether standard picture contains watermark
US20180270388A1 (en) * 2017-03-14 2018-09-20 Google Inc. Semi-Transparent Embedded Watermarks

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5832119C1 (en) * 1993-11-18 2002-03-05 Digimarc Corp Methods for controlling systems using control signals embedded in empirical data
US6360000B1 (en) * 1998-11-09 2002-03-19 David C. Collier Method and apparatus for watermark detection for specific scales and arbitrary shifts
US7013021B2 (en) * 1999-03-19 2006-03-14 Digimarc Corporation Watermark detection utilizing regions with higher probability of success
MXPA05003984A (es) * 2002-10-15 2005-06-22 Digimarc Corp Documento de identificacion y metodos relacionados.
WO2012034280A1 (en) * 2010-09-16 2012-03-22 Hewlett-Packard Development Company, L.P. Digital watermarking
EP2671386A4 (en) * 2011-02-04 2015-05-20 Jesse Bickmore UNIQUE WATERMARKS FOR DIGITAL MEDIA
EP2749040A4 (en) * 2011-08-26 2015-05-06 Google Inc SYSTEM AND METHOD FOR DETERMINING THE CONFIDENCE LEVEL FOR THE CURRENT PRESENTATION OF A MEDIA ELEMENT
US9639911B2 (en) * 2014-08-20 2017-05-02 Verance Corporation Watermark detection using a multiplicity of predicted patterns
US9756401B2 (en) * 2015-04-07 2017-09-05 Sony Corporation Processing and providing an image in which a plurality of symbols are encoded
EP3410685B1 (en) * 2016-01-27 2020-12-02 Rakuten, Inc. Image processing device, image processing method, and program
US10521566B2 (en) * 2016-05-12 2019-12-31 Markany Inc. Method and apparatus of DRM systems for protecting enterprise confidentiality

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002092683A (ja) * 2000-07-14 2002-03-29 Oki Electric Ind Co Ltd 媒体真偽鑑別装置
US20060072785A1 (en) * 2000-09-11 2006-04-06 Davidson Clayton L Watermark encoding and decoding
JP2005094107A (ja) * 2003-09-12 2005-04-07 Oki Electric Ind Co Ltd 印刷物処理システム,透かし入り文書印刷装置,透かし入り文書読み取り装置,印刷物処理方法,情報読み取り装置,および情報読み取り方法
JP2013009162A (ja) * 2011-06-24 2013-01-10 Mitsubishi Electric Corp 画像電子透かし埋め込み装置及び画像電子透かし検出装置
JP2014165617A (ja) * 2013-02-25 2014-09-08 Hitachi Solutions Ltd 電子透かし埋め込み方法および電子透かし検出方法
JP2015136027A (ja) * 2014-01-17 2015-07-27 株式会社日立ソリューションズ 電子透かし埋め込み方法または電子透かし検出方法
US20180225800A1 (en) * 2016-01-21 2018-08-09 Tencent Technology (Shenzhen) Company Limited Method and device for identifying whether standard picture contains watermark
US20180270388A1 (en) * 2017-03-14 2018-09-20 Google Inc. Semi-Transparent Embedded Watermarks

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
吉崎 健二、稲葉 宏幸: ""誤り訂正符号を用いた拡大縮小及び同期ずれ耐性を有する電子透かしの提案"", 2010年 暗号と情報セキュリティシンポジウム概要集, JPN6021050628, 19 January 2010 (2010-01-19), JP, pages 1 - 6, ISSN: 0004665492 *
山中 賢次、外2名: ""印刷物を対象とした電子透かし法の検討"", 2013年 暗号と情報セキュリティシンポジウム概要集, JPN6021050627, 22 January 2013 (2013-01-22), JP, pages 1 - 7, ISSN: 0004665491 *

Also Published As

Publication number Publication date
EP3815034A1 (en) 2021-05-05
CN112789650B (zh) 2024-03-12
KR102423710B1 (ko) 2022-07-22
WO2021045781A1 (en) 2021-03-11
KR20210030247A (ko) 2021-03-17
US20210334929A1 (en) 2021-10-28
CN112789650A (zh) 2021-05-11
JP7142709B2 (ja) 2022-09-27

Similar Documents

Publication Publication Date Title
JP7142709B2 (ja) 半透明の画像ウォーターマークの検出
CN108595583B (zh) 动态图表类页面数据爬取方法、装置、终端及存储介质
Ni et al. ESIM: Edge similarity for screen content image quality assessment
US11631162B2 (en) Machine learning training method, system, and device
CN111275784B (zh) 生成图像的方法和装置
CN111612010A (zh) 图像处理方法、装置、设备以及计算机可读存储介质
CN116746155A (zh) 端到端加水印***
CN111741329B (zh) 一种视频处理方法、装置、设备及存储介质
US20230328101A1 (en) Systems and methods of detecting anomalous websites
CN111382383A (zh) 网页内容敏感类型确定方法、装置、介质和计算机设备
US20230325961A1 (en) Zoom agnostic watermark extraction
US20230325959A1 (en) Zoom agnostic watermark extraction
CN114119365A (zh) 一种应用检测方法、装置、设备及存储介质
Zhang et al. Self-embedding watermarking algorithm under high tampering rates
US20240087075A1 (en) End-to-end watermarking system
Ledermann Towards Automatic Extraction of Cartographic Metadata from the Code of Online Maps
CN112257749A (zh) 相似图片处理方法、装置、终端设备和存储介质
CN115294227A (zh) 一种多媒体界面生成方法、装置、设备及介质
CN112085670A (zh) 一种联合语义可解释信息的图像修复方法及***
CN115359272A (zh) 理赔检测方法、装置、设备及存储介质
CN116932962A (zh) 姿势打卡方法、装置、电子设备及存储介质
CN116994274A (zh) 医疗应用的提示增强方法、装置、设备及存储介质
CN117496525A (zh) 图像中文字的质检方法、装置、电子设备及可读存储介质
CN113778825A (zh) 页面指标参数的确定方法和装置、存储介质及电子设备
CN117056628A (zh) 一种数据展示方法、装置、设备及其存储介质

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201013

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220303

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220728

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20220728

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20220808

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20220815

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: 20220822

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220913

R150 Certificate of patent or registration of utility model

Ref document number: 7142709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150