JP6572468B2 - スマートフォンベースの方法、スマートフォン及びコンピュータ可読媒体 - Google Patents

スマートフォンベースの方法、スマートフォン及びコンピュータ可読媒体 Download PDF

Info

Publication number
JP6572468B2
JP6572468B2 JP2016234336A JP2016234336A JP6572468B2 JP 6572468 B2 JP6572468 B2 JP 6572468B2 JP 2016234336 A JP2016234336 A JP 2016234336A JP 2016234336 A JP2016234336 A JP 2016234336A JP 6572468 B2 JP6572468 B2 JP 6572468B2
Authority
JP
Japan
Prior art keywords
data
smartphone
image
user
information
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.)
Active
Application number
JP2016234336A
Other languages
English (en)
Other versions
JP2017108401A (ja
JP2017108401A5 (ja
Inventor
ブルース, エル. デーヴィス,
ブルース, エル. デーヴィス,
トニー, エフ. ロドリゲス,
トニー, エフ. ロドリゲス,
ジェフリー, ビー. ローズ,
ジェフリー, ビー. ローズ,
ジョシュア, ヴイ. アラー,
ジョシュア, ヴイ. アラー,
コンウェル, ウィリアム, ワイ.
ウィリアム, ワイ. コンウェル,
ジェリン, ケー. オーウェン,
ジェリン, ケー. オーウェン,
アドナン, エム. アラター,
アドナン, エム. アラター,
エリオット ロジャース,
エリオット ロジャース,
ブレット, エー. ブラッドリー,
ブレット, エー. ブラッドリー,
アラステアー, エム. リード,
アラステアー, エム. リード,
ロバート, クレイグ ブランディス,
ロバート, クレイグ ブランディス,
Original Assignee
ディジマーク コーポレイション
ディジマーク コーポレイション
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
Priority claimed from US13/174,258 external-priority patent/US8831279B2/en
Priority claimed from US13/207,841 external-priority patent/US9218530B2/en
Application filed by ディジマーク コーポレイション, ディジマーク コーポレイション filed Critical ディジマーク コーポレイション
Publication of JP2017108401A publication Critical patent/JP2017108401A/ja
Publication of JP2017108401A5 publication Critical patent/JP2017108401A5/ja
Application granted granted Critical
Publication of JP6572468B2 publication Critical patent/JP6572468B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • G06V10/225Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition based on a marking or identifier characterising the area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3885Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/322Aspects of commerce using mobile devices [M-devices]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/32Payment architectures, schemes or protocols characterised by the use of specific devices or networks using wireless devices
    • G06Q20/327Short range or proximity payments by means of M-devices
    • G06Q20/3276Short range or proximity payments by means of M-devices using a pictured code, e.g. barcode or QR-code, being read by the M-device
    • 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/0064Geometric transfor invariant watermarking, e.g. affine transform invariant
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/285Memory allocation or algorithm optimisation to reduce hardware requirements
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/81Detection of presence or absence of voice signals for discriminating voice from music
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/84Detection of presence or absence of voice signals for discriminating voice from noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • 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/32154Transform domain methods
    • H04N1/32187Transform domain methods with selective or adaptive application of the additional information, e.g. in selected frequency coefficients
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/52Details of telephonic subscriber devices including functional features of a camera

Description

関連出願データ
米国において、本出願は、以下の仮出願、
・2010年11月4日出願の米国特許仮出願第61/410217号、
・2011年3月4日出願の米国特許仮出願第61/449529号、
・2011年3月25日出願の米国特許仮出願第61/467862号、
・2011年4月4日出願の米国特許仮出願第61/471651号、
・2011年4月26日出願の米国特許仮出願第61/479323号、
・2011年5月6日出願の米国特許仮出願第61/483555号、
・2011年5月13日出願の米国特許仮出願第61/485888号、
・2011年6月27日出願の米国特許仮出願第61/501602号の優先権を主張し、
また、以下の各出願、
・2011年6月30日出願の米国特許出願第13/174258号、
・2011年8月11日出願の米国特許出願第13/207841号、及び
・2011年10月21日出願の米国特許出願第13/278949号の一部継続出願でもある。
これらの出願の開示は、それらの全体として参照により本明細書に組み込まれる。
本技術は、一般には、主に、スマートフォン及びタブレットコンピュータなど、センサを装備した消費者電子デバイスに関する。
序論
本明細書は、様々な異なる目的を果たすために、長期間にわたって集められた多様な技術を詳述する。しかも、多様な技術は、様々な方法で互いに関係し、連携して使用されうることが多く、そのため、この単一の文書では集合的に提示される。
この多様な、相互に関係する主題は、簡単な提示に役立つものではない。したがって、この話は時折、種々雑多な話題及び技術の中で、非線形的な方式で進むので、読者の寛大さが求められる。
詳細な技術は、以前の米国特許出願において詳述された研究を基礎とする。これらの特許出願には、以下の出願、
・2011年5月31日出願の米国特許出願第13/149334号、
・2011年4月15日出願の米国特許出願第13/088259号、
・2011年4月4日出願の米国特許出願第13/079327号、
・2011年1月21日出願の米国特許出願第13/011618号(米国特許出願公開第2011/0212717号として公開)、
・2010年6月9日出願の米国特許出願第12/797503号(米国特許出願公開第2011/0161076号として公開)、
・2010年5月5日出願の米国特許出願第12/774512号、
・2010年3月3日出願の米国特許出願第12/716908号(米国特許出願公開第2010/0228632号として公開)、
・2009年6月24日出願の米国特許出願第12/490980号(米国特許出願公開第2010/0205628号として公開)、
・2008年11月14日出願の米国特許出願第12/271772号(米国特許出願公開第2010/0119208号として公開)、
・2007年1月8日出願の米国特許出願第11/620999号(米国特許出願公開第2007/0185840号として公開)、
・米国特許第7003731号、及び
・米国特許第6947571号
が含まれる。
ポータブルコンピューティングデバイス(例えば、スマートフォン、音楽プレイヤ、及び、タブレットコンピュータ)は、発表から数年間で、目新しいものからほぼ必需品へと移り変わってきた。ポータブルコンピューティングデバイスの広範囲に及ぶ採用で、そのようなプラットフォームに使用可能なソフトウェアプログラム(「アプリ」)の数が急増してきた。300,000を越えるアプリが、現在、アップル(Apple)アイチューンズ(iTunes)ストアのみから入手可能である。
多数のアプリは、メディアコンテンツに関する。一部のアプリは、オーディオ又はビデオコンテンツ、例えば、テレビショーのオンデマンド再生を提供するように設計される。他のアプリは、特別コンテンツ(舞台裏のクリップ、出演者の経歴及びインタビュー、コンテスト、ゲーム、レシピ、ハウツーもののビデオ)へのアクセスを可能にすることによって、ソーシャルネットワークベースの機能(ツイッター[登録商標](Twitter[登録商標])、フェイスブック(Facebook[登録商標])及びフォースクエア(Foursquare)、ブログによるものを含む、他のファンとコミュニケーションを取ること)、その他などを可能にすることによって、メディアコンテンツを補足する役目を果たす。場合によっては、メディア関連アプリは、オーディオ又はビデオコンテンツと同期して動作し、例えば、コンテンツ及びリンクを、コンテンツ中の時間又はイベントの適切な点で提示することがある。
アプリは、現在、特定の放送及び記録されたメディアコンテンツに特化されている。ABCテレビショーのマイ・ジェネレーション(My Generation)は、例えば、番組のみの専用のコンパニオンアイパッド[登録商標](iPad[登録商標])アプリで導入され−投票、クイズ及び他の情報を、同期化された方式で提供した。CNN、ESPN、CBS、その他など、従来のメディア企業も同様に、次第にアプリ企業になりつつある。
アプリがこの込み合った市場において魅力を得ることは、困難である。アイチューンズ及び他のアプリストアを検索することは、ユーザが自分のデバイスのための新しいアプリを発見する、最も一般的な技法である。次に普及している、アプリ発見のための技法は、友人からの推奨によるものである。両方の手法は、しかし、アプリ市場がはるかに小さかったときに確立されたものであり、十分に比例してきていない。
マイ・ジェネレーションのアイパッドアプリの場合、例えば、ショーのプロデューサは、対象の視聴者に働きかけ、アプリストアへ行くように誘わなければならず、アプリストアで、対象の視聴者は、アプリのタイトルを入力し、アプリをダウンロードし、インストールし、次いで、テレビ番組が放送中であるとき、アプリを実行しなければならない。
本技術のある実施形態によれば、異なる解決策が提供される。1つのそのような実施形態では、マイクロフォンを装備したユーザデバイスは、周囲のコンテンツをサンプリングし、コンテンツ識別データを、取り込まれたオーディオから作り出す。このコンテンツ識別データが次いで使用されて、コンテンツの所有者によって推奨されたアプリが調べられ、そのアプリが次いでインストール及び起動され−ユーザによるアクションは、ほとんど又は全く必要とされない。
そのような構成によって、コンテンツは、アプリを有効に選択する。ユーザは、ソフトウェアを選択せず、ユーザのアクティビティが、ソフトウェアを選択する。時間とともに、各ユーザデバイスは、アプリによりユーザのコンテンツプリファレンスに適合されるようになり−それにより、コンテンツの世界におけるユーザの特定の関心に合わせて最適化されるようになる。
ある程度まで、本技術のこの態様は、アプリを除いて、ティーボ(TiVo)の推奨機能に類似している。ユーザのコンテンツ消費習慣(及び、任意選択で、ユーザのソーシャルネットワークの友人のコンテンツ消費習慣)は、ユーザの関心に役立つアプリを推奨するように、デバイスを導く。
アーティスト自身の創造的な作品によって呼び出されるべきアプリ(複数可)を指定する特権が与えられるのは、アーティストであることが望ましい。多数の国々には、アーティスト自身の作品が扱われる際の完全性(いわゆる「人格権」)へのアーティストの継続的な権利を認める法律がある。本技術の実施形態は、この権利に役立ち、アーティストに、自分のアートがどのように提示されるかにおいて継続的な役割をもたらし、アーティストが、自分の作品がそれにより体験されるべきである好ましい機構を規定できるようにする。継続性が、アーティストの意図とアートの配信との間でもたらされる。
この方式で扱われうるものは、スタンドアロンアプリのみではない。メディアプレイヤ(例えば、ウィンドウズ[登録商標](Windows[登録商標])メディアプレイヤ(Media Player))によって使用されるべき特定のレンダリングコーデックの選択など、より粒度の細かいソフトウェア選択を、同様に行うことができる。例えば、ナショナルホッケーリーグ(National Hockey League)は、そのコンテンツが、最大フレームレートに合わせて設計されたコーデックでレンダリングされることを好むことがある。対照的に、フードネットワーク(Food Network)は、そのコンテンツが、最も実際どおりの色忠実度に合わせて最適化されたコーデックでレンダリングされることを好むことがある。
歴史的に見て、「チャネル」が王様であり、コンテンツは、サポートする役割(つまり、消費者をチャネルへ、及び、その広告へ引き寄せる)を果たした。消費者の見地からは、しかし、これらの役割が逆転されるべきであり、すなわち、コンテンツが主たるものであるべきである。本技術の実施形態は、この前提に基づいている。ユーザがコンテンツを選び、配信機構が次いで、結果として後に続く。
本技術の前述及び他の特徴及び利点は、以下の詳細な説明からより容易に明らかとなり、詳細な説明は、添付の図面を参照して進行する。
本技術のある実施形態において使用されうるシステムのブロック図である。 図1の実施形態とともに使用されうるデータ構造の表現である。 例えば、テキスト入力のための、例示的な視線追跡(gaze−tracking)実施形態の特徴を詳述する図である。 例えば、テキスト入力のための、例示的な視線追跡(gaze−tracking)実施形態の特徴を詳述する図である。 例えば、テキスト入力のための、例示的な視線追跡(gaze−tracking)実施形態の特徴を詳述する図である。 例えば、テキスト入力のための、例示的な視線追跡(gaze−tracking)実施形態の特徴を詳述する図である。 例えば、テキスト入力のための、例示的な視線追跡(gaze−tracking)実施形態の特徴を詳述する図である。 例示的ユーザインターフェースの特徴を詳述する図である。 例示的ユーザインターフェースの特徴を詳述する図である。 本技術の原理を組み込んだシステムのブロック図を示す図である。 空間周波数ドメイン内のマーカ信号を示す図である。 本技術の一態様による、図11のマーカ信号を含む印刷物の混合ドメインビューを示す図である。 非表示データを指示するために使用されうる角のマーカを示す図である。 図11のマーカ信号の代替物を示す図である。 スマートフォンカメラから出力されたデータのグラフ表現を示す図である。 オブジェクト認識のためのミドルウェアアーキテクチャを示す図である。 図16に類似しているが、特にディジマーク(Digimarc)ディスカバー(Discover)実装形態に類似している図である。 システムタスクに対する、画像ウォーターマークを読み取る影響を示す棒グラフである。 アップルアイフォン(iPhone[登録商標])4デバイス上で実行するウォーターマーク認識エージェントの性能をさらに詳述する図である。 第1及び第2の画像フレーム内の顕著点(salient points)のロケーションを示す図である。 2つの顕著点のフレームの幾何学的位置合わせに関連付けられたヒストグラムを示す図である。 それぞれ8ビット深度の3色ビットプレーンを含む、スマートフォン内の画像メモリを示す図である。 同様のスマートフォンメモリであるが、ここではRDFトリプルを格納するために利用されるスマートフォンメモリを示す図である。 図23のメモリに格納されうる数百又は数千のRDFトリプルのうち、いくつかを示す図である。 ここでは、人々の間のある関係を詳述する例示的RDF情報がポピュレートされる、図23のメモリを示す図である。 描かれたRDFトリプルにおいてセマンティックな推論を行うために、図25のメモリの述部プレーンに適用されうる、テンプレートのいくつかを示す図である。 メモリの3×3ピクセルブロック内で9個のRDFトリプルを命名する図である。 スマートフォン内のメモリのストアを示す図である。 図28のメモリからデータを使用する、グラフィカルユーザインターフェースの要素を描く図である。 図28のメモリからデータを使用する、グラフィカルユーザインターフェースの要素を描く図である。 ユーザへの検索クエリレポートの生成において使用されるデータを生成するための、トリプルを格納するメモリと、関連付けられたテーブルとの使用を示す図である。 整数(例えば、8ビット)ストレージのより多くのプレーンのうち、4つを描く、スマートフォン内のメモリの別のストアを示す図である。 ステガノグラフィ的にデジタルウォーターマークの存在を信号伝達する、独特のグラフィック効果を有する、カタログページから取り込まれた画像を表示するスマートフォンを示す図である。 表示の縁部に沿って提示され、表示内の異なる項目に関連付けられるタグを、スマートフォンがどのように発生させることができるかを示す図である。 表示の縁部に沿って提示され、表示内の異なる項目に関連付けられるタグを、スマートフォンがどのように発生させることができるかを示す図である。 ウォーターマークにより識別されたカタログページに関する、データベースから取得された情報(つまり、オブジェクト形状のためのオブジェクトハンドル)を示す図である。 画像の異なる領域内の異なるウォーターマークの検出が、どのようにユーザに信号伝達されうるかを示す図である。 高帯域幅及び低帯域幅チャネルの両方を組み込んだ、LEDベースの通信システムを示す図である。
詳細な説明
本技術は、いくつかの点で、譲受人の上記で詳述した特許出願において詳述された技術を拡大する。読者は、本技術の実装形態において使用されうる(且つ、本技術が組み込まれうる)、そのような以前の研究に精通していると推定される。
図1を参照すると、例示的システム12は、プロセッサ16と、メモリ18と、1つ又は複数の入力周辺機器20と、1つ又は複数の出力周辺機器22とを有する、デバイス14を含む。システム12はまた、ネットワーク接続24、及び、1つ又は複数のリモートコンピュータ26をも含んでもよい。
例示的デバイス14は、スマートフォン又はタブレットコンピュータであるが、任意の他の消費者電子デバイスが使用されうる。プロセッサは、アトム(Atom)又はA4デバイスなど、マイクロプロセッサを含んでもよい。プロセッサの動作は、オペレーティングシステムソフトウェア、アプリケーションソフトウェア(例えば、「アプリ」)、データ、その他など、メモリ内に格納された情報によって、部分的に制御される。メモリは、フラッシュメモリ、ハードドライブ、その他を含んでもよい。
入力周辺機器20には、カメラ及び/又はマイクロフォンが含まれうる。周辺機器(又は、デバイス14自体)はまた、それにより、カメラ/マイクロフォンによってサンプリングされたアナログ信号が、システムによる処理に適したデジタルデータに変換される、インターフェースシステムをも備えてもよい。他の入力周辺機器には、タッチスクリーン、キーボード、その他が含まれうる。出力周辺機器22には、表示画面、スピーカ、その他が含まれうる。
ネットワーク接続24は、ワイヤード(例えば、イーサネット[登録商標](Ethernet[登録商標])、その他)、ワイヤレス(WiFi、4G、ブルートゥース[登録商標](Bluetooth[登録商標])、その他)、又は両方であってもよい。
例示的動作では、デバイス14は、デジタルコンテンツデータのセットを、マイクロフォン20及びインターフェースを通して、ネットワーク接続24を通して、又はそれ以外などで受信する。コンテンツデータは、いかなるタイプのものであってもよく、オーディオは例示的である。
システム12は、デジタルコンテンツデータを処理して、対応する識別データを生成する。このことは、例えば、デジタルウォーターマーク復号処理、又は、フィンガープリンティングアルゴリズムを、−望ましくは、いわゆる「アウトオブバンド」データ(例えば、ファイル名、ヘッダデータ、その他)にではなく、音又は視覚の情報自体を表すデータに−適用することによって、行われうる。結果として生じる識別データは、受信されたコンテンツデータを、同じタイプの他のデータ(例えば、他のオーディオ又は他のビデオ)とは区別する役目を果たす。
この識別データを参照して、システムは、呼び出されるべき対応するソフトウェアを決定する。このことを行うための1つの方法は、識別データにより、テーブル、データベース、又は他のデータ構造をインデックス付けして、それにより、適切なソフトウェアを識別する情報を得ることによる。例示的テーブルを、図2で概念的に示す。
場合によっては、データ構造は、単一のソフトウェアプログラムの識別を返すことがある。その場合、このソフトウェアが−使用可能であれば−起動される。(可用性は、ソフトウェアがデバイス上に常駐することを必要としない。クラウドベースのアプリが使用可能であってもよい。)使用可能でない場合、ソフトウェアは、(例えば、アイチューンズストアなど、オンラインリポジトリから)ダウンロードされ、インストールされ、起動されてもよい。(又は、デバイスは、アプリのソフトウェアアズサービス(software−as−service)クラウドバージョンをサブスクライブすることができる。)そのようなアクション(複数可)におけるユーザの関与は、特定の実装形態によって決まることがあり、つまり、時々、ユーザは許可を求められ、他の実装形態では、そのようなアクションは、ユーザに迷惑をかけることなく進行する。
時々、データ構造は、いくつかの異なるソフトウェアプログラムを識別することがある。異なるプログラムは、異なるプラットフォームに特有のものであることがあり、その場合、デバイス12は単に、プラットフォーム(例えば、アンドロイド(Android[登録商標])G2、アイフォン4、その他)に対応するプログラムを見つけ出してもよい。又は、データ構造は、所与のプラットフォーム上で使用されうる、いくつかの代替プログラムを識別してもよい。この状況では、デバイスは、どれが−もしあれば−既にインストールされ、使用可能であるかを決定するために、チェックしてもよい。そのようなプログラムが発見される場合、起動されうる。2つのそのようなプログラムが発見される場合、デバイスは、アルゴリズム(例えば、直近に使用された、最小のメモリフットプリント、その他)を使用して、2つのそのようなプログラムの間で選んでもよく、又は、デバイスは、ユーザに選択を促してもよい。代替プログラムのいずれも、デバイスにとって使用可能でない場合、デバイスは、−再びアルゴリズムを使用して、又は、ユーザからの入力に基づいて−プログラムを選択及びダウンロードすることができる。ダウンロード及びインストールされると、アプリケーションが起動される。
(時々、データ構造は、異なる機能をサービスする異なるプログラム−すべてがコンテンツに関係付けられる−を識別することがある。1つは、例えば、歌詞の発見のためのアプリでありうる。別の1つは、音楽家の経歴に関するアプリでありうる。別の1つは、コンテンツの購買のためのアプリでありうる。ここでも、各異なるクラスのソフトウェアには、いくつかの代替物が含まれうる。)
デバイスは、受信されたコンテンツと連動するため(例えば、MPEG4又はMP3ファイルをレンダリングするため)に技術的に適している、インストール済みのアプリケーションを既に有していることがあることに留意されたい。あるタイプの動作では、技術的に適している、数ダース以上のそのようなプログラムがありうる。しかし、コンテンツは、この多数の可能なソフトウェアプログラムのサブセットのみが使用されるべきであることを指示してもよい。
デバイス14内のソフトウェアは、コンテンツにより識別されたソフトウェア選択を厳密に実施することがある。代替として、システムは、そのようなソフトウェア識別を、ユーザが無効にすることができるプリファレンスとして扱ってもよい。いくつかの実装形態では、ユーザには、コンテンツにより識別されたソフトウェアを使用するためのインセンティブが提供されうる。又は、反対に、ユーザは、コンテンツによって指示されたソフトウェア以外のソフトウェアを使用するために、料金又は他の障害が課されることがある。
時々、システムは、(例えば、適したアプリ又はハードウェア能力の欠如のために)デバイス上であるコンテンツのレンダリングを断ることがあるが、必要とされる能力を有する別のユーザデバイスへコンテンツを転送するようにユーザに勧めてもよく、そのような転送を実施してもよい。(アンセル・アダムス(Ansel Adams)は、自分の大きいフォーマットの写真が、小さいフォーマットで低解像度のスマートフォンのディスプレイでスクリーンセーバーとして使用されることを、快く思わなかったかもしれない。そのような表示が試みられる場合、ソフトウェアは、代わりに、画像を見るために、ユーザの自宅にある大きいフォーマットのHDディスプレイへ転送するように、ユーザに勧めてもよい。)
コンテンツのレンダリングを完全に断る代わりに、システムは、制限された方式でコンテンツをレンダリングしてもよい。例えば、ビデオは、(例えば、シーン遷移からの)一連の静止キーフレームとしてレンダリングされることがある。ここでも、システムは、コンテンツをより適切に楽しむことができるところへ転送することができ、又は、ハードウェアの考慮すべき事柄が許す(例えば、画面表示解像度が適当である)場合、必要とされるソフトウェアがダウンロード及び使用されうる。
図2のテーブル(そのデータ構造は、メモリ18内に、又は、リモートコンピュータシステム26内に常駐可能である)によって示すように、ソフトウェアの指示は、−コンテンツ識別データに加えて−1つ又は複数のコンテキストの要素に基づいてもよい。(2つのコンテキスト要素のみを示すが、もちろん、より多い又はより少ないコンテキスト要素が使用可能である。)
「コンテキスト」の1つの形式的な定義は、「エンティティ(ユーザとアプリケーションの間のインタラクションに関連があると見なされる、人、場所又は物体であり、ユーザ及びアプリケーション自体が含まれる、の状況を特徴付けるために使用されうる任意の情報」である。
コンテキスト情報は、多数の種類のものであってもよく、コンピューティングコンテキスト(ネットワーク接続性、メモリ可用性、プロセッサタイプ、CPU競合、その他)、ユーザコンテキスト(ユーザプロファイル、ロケーション、アクション、プリファレンス、近くの友人、ソーシャルネットワーク(複数可)及び状況、その他)、物理的コンテキスト(例えば、照明、雑音レベル、トラフィック、その他)、時間的コンテキスト(時刻、日、月、季節、その他)、上記の履歴、その他が含まれる。
図示のテーブルでは、行32及び34は、同じコンテンツ(すなわち、同じコンテンツID)に対応するが、−ユーザのコンテキストが屋内であるか、屋外であるかに応じて−異なるソフトウェアが使用されるべきであることを指示する。(ソフトウェアは、5シンボル16進識別子によって指示され、コンテンツは、6個の16進シンボルによって識別される。他の形式、及び、より長い又はより短い長さの識別子が、もちろん使用可能である。)
行36は、ソフトウェアの2つの項目を含むソフトウェア選択を示し−2つの項目の両方が呼び出される。(一方は、さらなる記述子−ソフトウェア「FF245」によってロードされるべきであるユーチューブ(YouTube[登録商標])ビデオの識別子−を含む。)このソフトウェアは、日中のコンテキストにおけるユーザに対して、及び、20〜25歳の年齢層のユーザに対して指示される。
行38は、ユーザのロケーション(郵便番号)及び性別を、コンテキストのデータとして示す。このコンテンツ/コンテキストのためのソフトウェアは、選択的に指定される(つまり、行36の「AND」とは対照的に、ともに「OR」された4つの識別子)。
行40及び42は、同じコンテンツIDが−デバイスプロセッサ(アトム又はA4)に応じて−異なるコーデックに対応できることを示す。
(比較の点により、コーデックが現在選ばれる手順を考えられたい。典型的には、ユーザは、競合するコーデック間の技術的な区別をよく知らず、アーティストには発言権がない。コーデック選択は、このように、選択に最も極めて重大に関心のあるいずれの当事者によっても行われない。代わりに、デフォルトのコーデックが、あるメディアレンダリングソフトウェア(例えば、ウィンドウズメディアプレイヤ)とセットになってくる。デフォルトが、あるコンテンツを扱うことができない場合、レンダリングソフトウェアは典型的には、−やはり、最も関係している当事者からの入力なしに−さらなるコーデックをダウンロードする。)
コンテンツによってテーブル30内で指示されるソフトウェアは、スタンドアロンアプリ、又は、ソフトウェアコンポーネント−コーデック、ドライバ、その他など−であってもよいことは理解されよう。ソフトウェアは、コンテンツをレンダリングすることができ、又は、コンテンツコンパニオン−コンテンツに関係付けられた他の情報又は機能性を提供する−であってもよい。いくつかの実装形態では、「ソフトウェア」は、URL、又は、別のソフトウェアプログラム若しくはオンラインサービスに提供される他のデータ/パラメータ(例えば、ユーチューブビデオ識別子)を備えてもよい。
テーブル内で識別されたすべてのそのようなソフトウェアが、ソフトウェアが関連付けられるコンテンツの所有者(例えば、アーティスト、創作者又は著作権保持者)によって選ばれることが望ましい。これにより、大部分の他のデジタルコンテンツシステムに欠けている、ある程度のアートの制御権が、所有者に与えられる。(そのような事柄における所有者の制御権には、例えば、コンテンツ配給者、AOL又はアイチューンズなど、の制御権よりも、多くの敬意が払われるべきである。同様に、所有者の選択は、デバイスのための文書処理及び表計算ソフトウェアを提供する会社の選択よりも、重要なものに値するように思われる。)
所有者のソフトウェアの選択は、美しさ及び技術的なメリットに基づくようになることが多い。時々、しかし、商業的に考慮すべき事柄が出てくる。(アーティストのロバート・ゲン(Robert Genn)が言及したように、「’飢えたアーティスト’は、20歳で受け入れられ、40歳では怪しく、60歳では問題がある。」)
したがって、例えば、ユーザのデバイスが、グループのザ・ディセンバリスツ(The Decemberists)による周囲のオーディオを検出する場合、データ構造30内でアーティストにより指定されたデータは、デバイスが、検出された音楽の購買のためにアマゾン(Amazon)アプリをロード(又は、対応するアマゾンウェブページをロード)して、販売を誘導するべきであることを指示してもよい。同じデバイスが、レッド・ホット・チリ・ペッパーズ(Red Hot Chili Peppers)による周囲のオーディオを検出する場合、そのグループは、同じ目的で、デバイスがバンド自体のウェブページ(又は、別のアプリ)をロードするべきであると指定していてもよい。所有者は、このようにして、コンテンツオブジェクト指向の商取引のためのフルフィルメントサービスを指定することができる。
いくつかの構成では、飢えたアーティストの問題は、オークション構成によって最も良く軽減されうる。つまり、デバイス14(又は、リモートコンピュータシステム26)は、ある人口統計プロファイル/コンテキスト情報が使用可能でありうるユーザのアイポッド[登録商標](iPod[登録商標])が映画のアバター(Avatar)のサウンドトラックを検出したことを、オンラインサービス(グーグル(Google)アドワーズ(AdWords)に類似のもの)に発表してもよい。ミニオークションが、次いで、購入機会をユーザに提示する特権をめぐって、結果として起こることがある。勝者(例えば、イーベイ(EBay))は次いで、落札金額を口座に支払い、口座から落札金額が、オークションサービス、アーティスト、その他で分配される。ユーザのデバイスは、ユーザが1本の映画、そのサウンドトラック又は関連商品を購入できるイーベイアプリを起動することによって、応答する。そのようなコンテンツ検出イベント、及び、関連付けられたコンテキスト情報を、クラウドベースのサービスにプッシュすることは、応答の十分な競争市場を可能にすることができる。
(オークション技術はまた、譲受人の以前に引用した特許出願において、並びに、グーグルの米国特許出願公開第2010/017298号及び第2009/198607号においても詳述されている。)
コンテンツの人気は、関連付けられたソフトウェアが同様に人気になることにつながる可能性がある。このことは、自分たちのコンテンツとともに使用するためにそのようなソフトウェアを検討するように、他のコンテンツ所有者を誘導する可能性があり、その理由は、そのソフトウェアの幅広い展開により、消費者が他の所有者のコンテンツにさらされることが容易になりうるからである。
例えば、ユニバーサル・ミュージック・グループ(Universal Music Group)は、FFmpeg MP3プレイヤが好ましいレンダリングソフトウェアとして識別されるようにする識別子により、すべての自社の曲にデジタルウォーターマーキングしてもよい。UMGアーティストの熱心なファンは、すぐに推奨ソフトウェアをインストールし−そのようなソフトウェアが多数の消費者デバイス上に展開されることにつながる。他の音楽所有者が、テーブル30内で何のソフトウェアを指定すべきかを検討するとき、広く行き渡ったFFmpeg MP3ソフトウェアの使用は、他の音楽所有者が選ぶ際に熟考する要素の1つでありうる。
(テーブル30内で指示されたソフトウェアは、曲のリリースサイクルの過程を通してなど、経時的に変更されてもよい。新しいバンドが曲を出すとき、テーブルにより指定されたソフトウェアは、新しいバンドを世間に紹介するように意図されたアプリを含んでもよい(又は、ユーチューブクリップがこの目的のために指示されうる)。音楽の人気が出て、バンドがより良く知られるようになった後、異なるソフトウェア選択が指示されてもよい。)
現在、音楽発見及び他のコンテンツ関連アプリケーションは、一般に、アプリケーションソフトウェアによって行われる。オペレーティングシステム(OS)ソフトウェアは、様々な有用なサービスを提供し−サービスのいくつか(例えば、I/O)は、一般に、コンテンツ関連アプリケーション内で使用される。しかし、市販のOSソフトウェアは、コンテンツ処理又は識別に特有のいかなるサービスも以前に提供していない。
本技術のさらなる態様によれば、コンテンツ処理又は識別に特有の1つ又は複数のサービスを行うために、オペレーティングシステムソフトウェアが提供される。
1つの特定の実装形態では、OSアプリケーションプログラミングインターフェース(API)は、コンテンツデータを入力として(又は、コンテンツデータが格納されるロケーションへのポインタ)を取り、コンテンツデータに対応するフィンガープリントデータを返す。別のOSサービス(同じAPI又は別のAPIを使用して提供される)は、同じ入力を取り、コンテンツデータから復号されたウォーターマーク情報を返す。(APIへの入力パラメータは、複数のフィンガープリント又はウォーターマーク処理のうちどれが適用されるべきであるかを指定することができる。代替として、サービスは、いくつかの異なるウォーターマーク及び/又はフィンガープリント抽出処理を入力データに適用し、結果として生じる情報を呼び出し側のプログラムへ返してもよい。ウォーターマーク抽出の場合、結果として生じる情報は、エラー訂正データなどを参照することによって、明らかな有効性についてチェックされうる。)
同じAPI又は別のAPIは、抽出されたフィンガープリント/ウォーターマークデータをさらに処理して、コンテンツに関連付けられるXMLベースのコンテンツメタデータ(例えば、作品のタイトル、アーティストの名前、著作権保持者、その他を与えるテキスト)を得ることができる。このことを行うために、同じAPI又は別のAPIは、グレースノート(Gracenote)によって維持されたものなど、リモートメタデータレジストリを調べてもよい。
そのようなコンテンツ処理APIは、フィンガープリント/ウォーターマーク抽出処理の結果(文字通りに、又は、対応するメタデータのいずれか)がパブリッシュされる先のメッセージキュー(例えば、「リスニング/ヒアリングキュー)を確立することができる。1つ又は複数のアプリケーションプログラムは、−ある識別子を求めてリッスンしながら−キューを監視(フック)することができる。あるアプリは、ビートルズ(Beatles)による音楽へのアラートであってもよい。別のアプリは、ディズニー(Disney)映画のサウンドトラックを求めてリスニングしてもよい。そのようなコンテンツが検出されるとき、監視アプリ、又は、別のアプリ、は、アクティビティ−イベントのロギング、メディアコンテンツを補足するように作動すること、購入機会の提供、その他−に取りかかることができる。
代替として、そのような機能性は、オペレーティングシステムから離れて実装可能である。1つの手法は、パブリッシュ/サブスクライブモデル(出版/購読型モデル)によるものであり、パブリッシュ/サブスクライブモデルによって、いくつかのアプリが能力(例えば、特定のタイプのオーディオを求めてリスニングすること)をパブリッシュし、他のアプリがそのような機能をサブスクライブする。これらの構成によって、疎結合アプリケーションが協働して、同様のエコシステムを可能にすることができる。
本技術の1つの適用例は、ユーザがさらされるメディアを−バックグラウンド処理として−監視することである。つまり、シャザム(Shazam)など、曲識別サービスとは異なり、ユーザは、発見動作を開始して、特定の曲のアイデンティティを知るために、いかなるアクションを取る必要もない。(もちろん、ユーザは、ある時点で、デバイスをオンにし、このバックグラウンド機能性を認可しなければならない。)代わりに、デバイスは、ユーザの一日の流れの中で、延長された期間(シャザムのようなサービスの10〜15秒よりもはるかに長い)にわたってリスニングする。コンテンツに遭遇すると、コンテンツが処理及び認識される。認識情報は、デバイス内にロギングされ、−次回にユーザの注目がデバイスの方に向くときに使用可能な−そのようなコンテンツにさらされることを反映するために、あるソフトウェアを用意するために使用される。
例えば、デバイスは、周囲のオーディオを、15分間、1時間、又は1日にわたって処理してもよい。ユーザが次にデバイスとインタラクトするとき、デバイスは、ユーザがさらされてきたコンテンツのリストを提示してもよい。ユーザは、関心のあるコンテンツを求めてリストをタッチして、発見動作に参加するように勧められてもよい。このコンテンツに関連付けられたソフトウェアが、次いで起動する。
いくつかの実装形態では、デバイスは、ソフトウェアアプリケーションを、コンテンツ識別データに少なくとも部分的に基づく情報により、用意することができる。この用意は、例えば、ユーチューブアプリに、ユーザが聞いた曲の音楽ビデオに対応するサムネイルを示す−サムネイルを選択のために準備する−ようにさせてもよい。同様に、90秒のサンプルオーディオクリップが、アイポッド音楽プレイヤアプリにダウンロードされ−「最近の遭遇(Recent Encounters)」フォルダ内で使用可能にされてもよい。バンドからの電子メールが、ユーザの電子メールのインボックスに追加されてもよく、トリビアゲームアプリが、バンドに関する一連の質問をロードしてもよい。そのようなデータは、ローカルに常駐しており(つまり、ユーザは、例えば、ウェブサイトから、そのようなデータの取得を指図する必要がない)、対応するアプリが次に使用されるとき、情報がユーザにとって顕著であり−それにより、ユーザのコンテンツ体験ごとにこれらのアプリをカスタマイズする。
ソーシャルメディアアプリケーションは、そのような情報が提示及び共有されるプラットフォームとしての役目を果たすことができる。ユーザがフェイスブックアプリをアクティベートするとき、例えば、アバターが「あなたが今日、以下のものを体験したことに気付きました...」という挨拶をして、次いで、例えば、ディセンバリスツによる「ビリー・ライアー(Billy Liar)」、ダンディ・ウォーホルズ(Dandy Warhols)による「ボーイズ・ベター(Boys Better)」、及び、ナイキ(Nike)の新しいレブロン・ジェームズ(LeBron James)のコマーシャルなど、ユーザがさらされたコンテンツをリストしてもよい。アプリは、各々に遭遇した際のコンテキストをユーザに思い出させてもよく、例えば、2010年11月4日にポートランドのダウンタウンを通って歩いている間(例えば、デバイス内のGPS及び加速度計センサによって決定される)などである。フェイスブックアプリは、このコンテンツのいずれかを友人と共有するように、ユーザに勧めることができる。フェイスブックアプリは、ユーザがバンドのいずれかのディスコグラフィーを望むかどうか、又は、コンテンツのフルデジタルコピーを望むか、いずれかに関連付けられた補足的なコンテンツに関心があるか、関連付けられたアプリ(複数可)が起動されることを望むか、その他のクエリをさらに行ってもよい。
アプリは同様に、(適切な許可があれば)ユーザの友人のメディア遭遇及び関連付けられたアクティビティについて、レポートしてもよい。
前述から、前述の実施形態のうち特定のものは、あるメディアコンテンツに関連付けられたアプリを探し出すことの、ユーザのジレンマを和らげることは理解されよう。代わりに、メディアコンテンツが、それ自体の有利なアプリを探し出す役目を果たす。
そのような実施形態は、アートの意図と配信の間の継続性を保証し、アートが作り出すように意図される体験を最適化する。もはや、アートの体験は、アーティストが制御権を有していない配信プラットフォーム−それ自体のために注目を求め、潜在的に、ユーザが関心のあるアートから気を散らすことがあるプラットフォーム−によって仲介されなければならないものではない。
この技術はまた、アプリ市場の競争をも促進し−アーティストに、どのアプリが自分たちの創作物を最良に表現するかについて、より顕著な発言権を与える。望ましくは、ダーウィン効果(Darwinian effect)が現れてもよく、それにより、アプリ人気がそれほどブランディング及びマーケティング予算の表れではなくなり、より、アプリによって配信されたコンテンツの人気の反映となる。
他の構成
オブジェクトインタラクションを参照することによる、データストリームのフィルタリング/ハイライト
ユーザには、ますます大量のデータが提示されている。例には、数百のテレビ番組のチャネル、電子メール、及び、RSS/ツイッター/ソーシャルネットワーク/ブログフィードが含まれる。ユーザがそのような情報の流れを扱うことを助けるために、入ってくる情報を、ユーザプロファイルデータに従ってフィルタリング又はハイライトする技術が提案されている。
よく知られている例は、明らかなユーザ関心に基づいて完全な電子番組ガイドのサブセットを提示する、ティーボによるものなどのDVRソフトウェアである。ティーボソフトウェアは、どのテレビ番組がユーザによって見られたかに注目し、「よし(thumbs−up)」又は「だめ(thumbs−down)」ランキングの形式でユーザフィードバックを勧め、次いで、そのような過去の振る舞い及びランキングに基づいて、潜在的に関心のある今後の番組を提案する。
より最近の例は、グーグルのGmail(ジーメール)サービスのための「優先トレイ(Priority Inbox)」である。着信電子メールが解析され、ユーザにとってのその電子メールの潜在的な重要性に従ってランク付けされる。そのような判断を行う際に、グーグルは、どのような電子メールをユーザが以前読んだか、どの電子メールにユーザが以前返信したか、及び、そのようなメールに関連付けられた送信者/キーワードを考慮する。そのような評価で高いスコアを取る着信電子メールが、メールリストの最上部に提示される。
My6sense.comという会社は、RSS及びツイッターフィードを優先順位付けするための同様のサービスを提供する。ここでも、ソフトウェアは、データフィードとのユーザの過去のインタラクションを監視し、ユーザに最も関連があると思われる着信項目の優先度を高める。(ツイッターフィードの処理では、My6senseは、ユーザがクリックしたことがあるリンク、ユーザがお気に入りのマークを付けたツイート、ユーザがリツイートしたツイート、及び、そのようなツイートを特徴付ける著者/キーワードを考慮する。)
そのような原理を、オブジェクトインタラクションを包含するように拡張することができる。例えば、ノードストローム(Nordstrom)デパートを訪れる人が、自分のスマートフォンを使用して、一足のジミー・チュウ(Jimmy Choo)オートバイ用ブーツの画像を取り込む場合、このことは、ファッション、又はオートバイに乗ること、又は履物、又はブーツ、又はジミー・チュウ商品、その他へのある関心を指示するように推測されうる。その人が後に自分のスマートフォンを使用して、リバー・ロード(River Road)オートバイ用サドルバッグを撮像する場合、このことは、その人の関心が、オートバイに乗ることを含むものとして、より正確に特徴付けられうることを示唆する。それぞれの新しい画像オブジェクトが見極められるとき、その人の関心についてのより多くの情報が収集される。いくつかの初期の結論を強めることができ(例えば、オートバイに乗ること)、他の仮説を度外視することができる。
画像内のオブジェクトを認識することに加えて、解析(クラウドソーシングによって人が見直すことを含みうる)もまた、アクティビティを見極めることができる。ロケーションも、気付くことができる(画像から推測されるか、又は、GPSデータなどによって指示される)。
例えば、画像のフレームに適用された画像解析は、画像のフレームが、オートバイに乗っている人を含み、バックグラウンドとしてテント及び森林設定を有すると決定することがある。又は、一連の時間の画像内で、1つの画像が、オートバイに乗っている人を含むことが発見されることがあり、数分後に撮影された別の画像が、以前のフレームのオートバイの運転手と同じ服装の人−ここでは森林設定内でテントの隣に描かれている−を含むことが発見されることがあり、数分後に撮影された別の画像が、森林のバックグラウンドで運転されているオートバイを描くことが発見されることがある。GPSデータは、画像のすべてをイエローストーン国立公園(Yellowstone National Park)内で位置指定することがある。
そのような履歴の情報(経時的に累積されたもの)は、ユーザにとって関心のある被写体、アクティビティ、人々、及び場所を指示する、度重なるテーマ及びパターンを明らかにすることができる。それぞれのそのような結論に、属性がユーザの関心を正確に特徴付けるというシステムの信頼度に基づいて、信頼メトリックを与えることができる。(今挙げた例では、「オートバイに乗る」は、「ジミー・チュウ商品」よりも高いスコアを取るようになる。)そのようなデータは次いで、ユーザのデバイスに提示される上述のデータ(及び他のもの)のフィードのフィルタリング又はハイライトにおいて使用されうる。
デバイス使用の履歴が編集されるとき、ユーザによる世界とのインタラクションを強化するために使用されうる、関心及びメディア消費パターンの総合的な履歴が現れる。例えば、ユーザが、セフォラ(Sephora)のファッションアクセサリを撮像する場合、ユーザの迷惑メールフィルタを制御するパラメータが修正されて、その会社からの電子メール−そうでない場合はブロックされていたかもしれない電子メール−の配信が可能にされてもよい。ユーザのウェブブラウザ(例えば、スマートフォンのサファリ(Safari)、ホームPCのファイアーフォックス(Firefox))は、ティーボが番組提案で行うことと同様に、セフォラのウェブページを「お気に入りの提案(Suggested Favorites)」のリストに追加してもよい。
ユーザは、ツイッターアカウントを確立することを選択してもよく、該アカウントは、ユーザのオブジェクトにより導出されたプロファイルによって本質的に所有される。このツイッターアカウントは、ユーザが最近検知したオブジェクトに関するツイートをフォローする。ユーザがキャノン(Canon)SLRカメラを撮像した場合、この関心は、プロファイル関連のツイッターアカウントに反映可能であり、プロファイル関連のツイッターアカウントは、そのような被写体に関するツイートをフォローすることができる。このアカウントは次いで、ユーザがユーザ自身のツイッターアカウントからフォローするか、又は、定期的にチェックすることができるフィードに、そのような投稿をリツイートすることができる。
そのようなオブジェクトにより導出されたプロファイル情報を、スマートフォン、テレビ、PC及び他のコンテンツ配信デバイスを介してユーザに配信されるコンテンツの選択に影響を与えることを越えることに、使用することができる。そのようなオブジェクトにより導出されたプロファイル情報はまた、そのようなコンテンツの構成に影響を与えることもできる。例えば、ユーザがインタラクトするオブジェクトは、ユーザの消費のためにメディアマッシュアップに含まれうる。ユーザがしばしば訪れる仮想現実ゲームの世界の主人公は、ジミー・チュウのオートバイ用ブーツを履いていてもよい。対戦相手から獲得した宝物には、キャノンSLRカメラが含まれていてもよい。
ユーザがオブジェクトとインタラクトするたびに、このインタラクションを、ツイッター、フェイスブック、その他を介してパブリッシュすることができる(ユーザの許可及びパラメータの共有を必要とする)。これらの通信はまた、フォースクエアの意味における「チェックイン」であると考えることもできるが、この場合、ロケーションのためではなく、オブジェクト又はメディアタイプ(音楽、TV、その他)のためである。
これらの公の声明に基づいて、ソーシャルフレームワークが出現することが可能である。1980年代から手作りのベルギーのレース用自転車に関心のある人々(人々がそのような自転車の画像を取り込むことによって証明される)は、例えば、ツイッター若しくはフェイスブック(又は、ツイッター若しくはフェイスブックの後継)上で、アフィニティソーシャルグループに合体することができる。オブジェクトベースのコミュニティは、このようにして、関心のあるユーザによって定義及び探求されうる。
ソーシャルネットワーク理論家は、このことがソーシャルネットワーク解析の一形式であるが、ノードが物理的オブジェクトを表すことを、理解するであろう。
ソーシャルネットワーク解析は、ネットワーク理論を使用して、関係を見るものであり、ネットワーク理論において、ネットワークは、ノード及びタイ(tie)(エッジ、リンク又は接続と呼ばれることがある)を備える。ノードは、ネットワーク内の個々の行為者であり、タイは、行為者間の関係である。結果として生じるグラフベースの構造は複雑になることがあり、ノード間に多数の種類のタイがあることがある。今挙げた場合では、関係タイには、「好き」、「所有」、その他が含まれうる。
特定の3Dグラフは、人々のオブジェクトを1つの平面に入れ、物理的オブジェクトを、平行な平面に入れてもよい。2つの平面間のリンクは、人々を、人々が所有するか又は好きであるオブジェクトに関連付ける。(デフォルトの関係は、「好き」であってもよい。「所有」は、コンテキストから推測されてもよく、又は、他のデータから導き出されてもよい。例えば、ユーザによって写真に撮られ、ユーザの居住地でジオロケートされ(geolocated)たカマロ(Camaro)自動車は、「所有」関係を指示することがある。同様に、その車がユーザに登録されることを指示する、公的データベースにおけるカマロナンバープレートの検索もまた、「所有」関係を示唆する。)
そのようなグラフはまた、典型的には、(ソーシャルネットワークグラフにおいて通常あるように)人々のオブジェクト間のリンクをも含むようになり、また、物理的オブジェクト間のリンクをも含みうる。(1つのそのようなリンクは、物理的近接の関係である。駐車場内で隣り合って駐車された2台の車は、そのような関係によってリンクされうる。)
そのようなネットワーク内の物理的オブジェクトへのリンクの数は、そのネットワーク内のオブジェクトの相対的重要性を指示するものである。2つの異なる物理的オブジェクト間の関連度は、2つの異なる物理的オブジェクトをリンクするネットワークパス(複数可)の長さによって指示可能であり−より短いパスは、より近い関連度を指示する。
いくつかのオブジェクトは、ユーザにとって一時的に関心のあるものでありうるが、他のオブジェクトは、長い期間にわたって関心のあるものでありうる。ユーザが、特定のタイプのオブジェクトを一度だけ撮像する場合、そのオブジェクトは、前者のクラスに属する可能性が高い。ユーザが、そのようなオブジェクトタイプの画像を経時的に繰り返し取り込む場合、そのようなオブジェクトタイプは、後者のクラスに属する可能性がより高い。プロファイルデータに基づく決定は、オブジェクトにより指示された関心が古くなることを考慮に入れることができるので、1年前に一度遭遇したオブジェクトに、より最近遭遇したオブジェクトと同じ重みが与えられないようにする。例えば、システムは、キャノンSLRベースのツイートを1日、1週間、又は1カ月のみフォローし、次いで、ユーザによって撮像された他のオブジェクトがキャノンの機器又はSLRカメラへの継続的な関心を証明しない限り、もはやフォローされないようにしてもよい。各オブジェクト関心に、そのタイプのオブジェクトとの度重なる遭遇によって増加又は維持されるが、そうでない場合は経時的に減少する、数値のプロファイルスコアを割り当てることができる。このスコアは次いで、コンテンツの扱いにおいて、そのオブジェクト関連の関心に重み付けするために使用される。
(詳述した構成は、取り込まれた画像データの解析によって物理的オブジェクトを識別したが、ユーザがインタラクトするオブジェクトは、そのようなオブジェクトに関連付けられたRFID/NFCチップの検出によるなど、他の方法で識別可能であることは理解されよう。)
上記で詳述したものに類似した原理及び実施形態を、音楽及び音声認識を含む、ユーザのオーディオ環境の解析に適用することができる。そのような情報は、ユーザ(例えば、ユーザデバイス)に提示されるか、及び/又は、ユーザ(ユーザデバイス)によって送られうる、データのストリームの選択及び構成に、同様に適用されうる。さらにより大きい有用性が、ユーザデバイスセンサによって取り込まれた視覚及び聴覚刺激の両方の検討によってもたらされうる。
テキスト入力
スマートフォンの前面カメラを使用して、視線追跡モードでテキスト入力の速度を速めることができる。
ユーザに連続して表示画面上の3つ又は4つの既知の位置を見させると同時に、スマートフォンカメラ101を使用して両目のうち一方の凝視を監視することによって、基本的な幾何学的な参照フレームが最初に確立されうる。図3では、ユーザは、連続して点A、B、C及びDを見る。このサイクルを繰り返すことによって、正確さの向上が達成されうる。(読者は、視線追跡システムの原理に精通していると推定されるので、ここでは同じことを長々と論じない。システムの例は、例えば、特許公報の20110013007、20100315482、20100295774、及び、20050175218、並びに、本明細書中で引用された参考文献に詳述されている。)
システムが、ユーザの目の凝視及びデバイス画面に関係する幾何学的なフレームワークを決定すると、ユーザは、表示されたキーボード102上で最初の文字を凝視することによって、最初の文字を指示することができる。(画面をより十分に使用する他のキーボード表示を、もちろん使用することができる。)ユーザは、凝視された文字の選択を、ジェスチャー、例えば、目のまばたき、又は、スマートフォン本体(若しくは、スマートフォン本体が置いてある机の上)のタップなど、信号によって示すことができる。テキストが選択されるとき、テキストは、メッセージエリア103に追加される。
最初の文字(例えば、「N」)が提示されると、可能性が高い次の文字を画面の拡大文字メニュー部分104に提示することによって、データ入力の速度を速めることができる(また、視線追跡をより正確にすることができる)。文字が入力されるたびに、可能性が高い次の文字のメニュー(例えば、代表的なコーパスにおける文字の対の頻度分析によって決定される)が提示される。一例を図4に示し、図4では、メニューは、六角形配列のタイルの形式を取る(が、もちろん、他の構成を使用することができる)。
この例では、ユーザは、テキスト「Now is the time for a_(今こそ〜のときである)」を既に入力しており、システムは、下線106が指示されるところに入れるべき文字をユーザが選択することを、待機中である。選択された最後の文字は、「a」であった。この文字は、ここで−グレー表示のフォーマットで−中央のタイルに表示され、様々なオプション−「an」、「at」、「al」及び「ar」を含む−に囲まれている。これらのオプションは、「a」で始まる4つの最も一般的な文字の対である。同じく、指示された六角形配列内に表示されるものは、「−−」選択タイル108(次のシンボルがスペースであるべきであることを指示する)、及び、キーボード選択タイル110である。
次の文字「l」を入力するため、ユーザは単に、「al」表示タイル112を見て、上記のようにタップ又は他のジェスチャーによって承認を示す。システムは次いで、図5に示すように、画面を更新する。ここでは、メッセージが1文字だけ長くされており(「Now is the time for al_」)、メニュー104は、文字「l」で始まる最も一般的な文字の対を示すように更新されている。デバイスは、次の文字入力を求める。もう1つの「l」を入力するために、ユーザは、「ll」タイル114を凝視し、ジェスチャーをする。
初期の研究は、テキスト入力の50%をはるかに上回るものが、可能性が高い次の文字(に加えて、スペース)の拡大文字メニューによって達成されうることを示唆している。異なる文字が必要とされる場合、ユーザは単に、キーボードタイル110を凝視し、ジェスチャーをするだけである。キーボード−図3に示すようなもの、又は別のもの−が現れ、ユーザはキーボードから選択を行う。
図2及び図3に示すように、4つの文字の対、スペース、及び、キーボードアイコンを提示する代わりに、代替実施形態は、図6に示すように、5つの文字の対、及び、スペースを提示する。この構成では、キーボードが常に画面上に表示されているので、ユーザは、図4のキーボードタイル110を選択する中間ステップなしに、文字をキーボードから選択できるようになる。
通常のキーボード表示102の代わりに、変形例のキーボード表示102a−図7に示す−を使用することができる。このレイアウトは、5つの文字が、表示されたキーボード上で必要とされないという事実を反映し、その理由は、5つの最も可能性が高い文字が六角形のメニュー内に既に提示されているからである。図示の例では、5つのキーが完全に省略されるのではなく、むしろ、極小のキーが与えられる。21個の残りの文字には、特大のキーが与えられる。そのような構成は、ユーザによるキーボードからの文字選択の速度を速め、残りのキーの視線追跡をより正確にする。(5つの文字キーがキーボードから完全に省略される、さらなる変形例もまた使用可能である。)
図7の変形例のキーボードレイアウト102aは、通常のスペースバーを省略することにも留意されたい。スペースシンボルのための拡大メニュータイル116があるので、キーボード102a内でスペースバーは必要とされない。図示の構成では、このエリアは、一般的な句読シンボルで置き換えられている。
多数の代替物及び拡張が実装可能であることは、当業者には理解されよう。例えば、最後の文字が六角形の中央に表示されることは必要ではない。このスペースは空いたままにすることができ、又は、代わりに、ユーザの現在の凝視によって明らかに指示された次の文字を指示するために使用することができるので、ユーザは、ジェスチャーして確認する前に選択をチェックできるようになる。(明らかに指示された文字で更新されるとき、中央のタイルを凝視することで、以前の凝視ベースの選択を変更しない。)数字パッドを、−図4のキーボードタイル110のような−数字パッドアイコンの選択によって、画面に呼び出すことができる。又は、数字キーボードを、(図6のキーボード102のように)メッセージ構成動作の全体を通して画面上に表示することができる。六角形のタイルのうち1つ又は複数は、ユーザが入力中の完全な語の推量を−ここでもテキストコーパスの解析に基づいて−提示することができる。
最も一般的な文字の対と、完全な語の推量とを決定するために使用されるコーパスは、ユーザによりカスタマイズ可能であり、例えば、ユーザによって書かれた、又は、ユーザのデバイスから送られた、すべてのテキスト及び/又は電子メールメッセージの履歴のアーカイブである。指示された表示の特徴は、当然、使用されているスマートフォン機能性(例えば、テキストメッセージングアプリケーション)に関連付けられた、他のグラフィカルなしるし及びコントロールによって拡張可能である。
さらに他の実施形態では、ユーザは、−印刷されたページ上など−スマートフォンのディスプレイから離れて提示されたシンボル及び語から選択してもよい。大きいスケールの完全なキーボード及び完全な数字パッドを、そのようなページ上に提示し、単独で、又は、メニュー104のような、表示された文字メニューとともに使用することができる。(ここでも、スマートフォンカメラを使用して、視線追跡を行うことができ、ユーザに基準点を凝視させることによって、幾何学的な較正を行うことができる。)
手話
スマートフォンがユーザの目を見て、動きを解釈することができることと全く同じように、スマートフォンは同様に、ユーザの手のジェスチャーを見て、解釈することもできる。結果は、手話インタプリタである。
手話(アメリカ及びイギリスの手話が最も優勢である)は、様々な要素を備え−その要素のすべてを、カメラによって取り込み、適した画像解析ソフトウェアによって識別することができる。サインは典型的には、手型(handform)及び向きの態様を含み、ロケーション(又は、調音の位置)及び動きによっても特徴付けられうる。手話用アルファベット(指文字)ジェスチャーは同様であり、主に、固有名詞及び他の特殊な語彙のために採用される。
例示的手話解析モジュールは、大部分の肌の色合いに関連付けられた全域内のクロミナンスを有する連続的なピクセルのセットを識別することによって、スマートフォンにより取り込まれた画像を関心領域に区分する。このようにして区分された画像は次いで、手の構成(複数可)を参照手型のデータベースライブラリ内の最良のマッチとマッチングしようと努める分類エンジンに適用される。同様に、画像フレームのシーケンスが処理されて、手型内の動きの異なる点と、経時的な向きの変化とを指示する、動きベクトルが見極められる。これらの見極められた動きは、同様に、参照の動き及び変化のデータベースに適用されて、最良のマッチが識別される。
マッチするサインがデータベース内で発見されるとき、見極められたサインに関連付けられたテキストの意味が、データベースレコードから取得され、−語、音素又は文字として−スマートフォンの表示画面など、出力デバイスに出力されうる。
データベースからの最良マッチデータは、生の形式で出力されないことが望ましい。データベースは、サインごとに候補マッチのセットを識別し−各々が信頼メトリックを有することが好ましい。システムソフトウェアは次いで、どのような組み合わせの語、音素又は文字が、その連続コンテキスト内にある可能性が最も高いかを検討し−可能なマッチの異なる信頼度に重みを与え、語のスペリングを詳述する参照データベース(例えば、辞書)を参照し、頻繁に手話で使われる語の対及びトリプルを識別する。(同様の技法は、音声認識システムにおいて−無意味な語句を出力する見込みを減らすために−使用されることは、当業者には理解されよう。)
認識ソフトウェアはまた、トレーニングによって恩恵を受けることもできる。ユーザが、正しくない解釈がシステムによってサインに与えられたことに気付く場合、ユーザは、以前のサインが再解釈のために繰り返されるようになることを指示する、サインを出すことができる。ユーザは次いで、このサインを繰り返す。システムは次いで、代替解釈を提供し−(システムの推測が正しくなかった)以前の解釈を避ける。この処理は、システムが正しい解釈(親指を立てるジェスチャーなど、ユーザのサインにより承認されうる)で応答するまで、繰り返されてもよい。システムは次いで、システムの参照サインのデータベースに、今表現されたサインを−正しい意味と関連して−追加することができる。
同様に、システムがサインを解釈し、ユーザがその解釈を疑わない場合、取り込まれたサイン画像についてのデータを、参照データベースに、−その解釈と関連して−追加することができる。この構成によって、システムは、あるサインの様々な提示を認識することを学習する。同じ技法は、システムがユーザ特有の日常語及び他の特異な表現法を認識するように、経時的にトレーニングされることを可能にする。
マシン認識を支援するため、標準的な手話を拡張して、画像解析ソフトウェアに、理解を支援するようになるある較正又は参照情報を与えることができる。例えば、スマートフォンに対してサインを出すとき、ユーザは、外向きの手のひらから指及び親指を広げ(数字「5」の典型的なサイン)、次いで、指を握りこぶしに戻すなどのジェスチャーから始めてもよい。これにより、スマートフォンは、ユーザの肌色(fleshtone)のクロミナンスを識別し、ユーザの手及び指のスケールを決定できるようになる。同じジェスチャー又は別のジェスチャーを使用して、−文の終わりのピリオドのように−概念を分離することができる。(そのような句読は一般に、アメリカの信号語において、小休止によって表現される。ジェスチャーがないことよりも、明白な手のジェスチャーの方が、マシンビジョンベースの手話解釈にとって、より信頼できる構文解析要素である。)
述べたように、解釈された手話を、スマートフォン表示上でテキストとして出力することができる。しかし、他の構成もまた実装可能である。例えば、テキストを単に(例えば、アスキー(ASCII)又はワード(Word)文書に)格納することができ、又は、テキストから音声への変換器を通して出力して、可聴音声を生じることができる。同様に、テキストは、翻訳ルーチン又はサービス(例えば、グーグル翻訳)に入力されて、別の言語に変換されてもよく−別の言語で格納、表示又は発話されてもよい。
スマートフォンは、その近接センサを採用して、ユーザの身体の一部分(例えば、手)の接近を検出し、次いで、カメラ画像のフレームを取り込み、肌の色合いのクロミナンス及び長いエッジ(又は、手及び/若しくは指の特性を示す他の属性)についてチェックしてもよい。そのような解析が、ユーザが手を電話の方へ動かしたと結論付ける場合、電話は、その手話翻訳機をアクティベートしてもよい。関連して、アップルのフェイスタイム(FaceTime)通信ソフトウェアは、ユーザが電話のカメラによって撮像されるように手を位置決めするとき、手話翻訳機をアクティベートするように構成されうる。その後、ユーザの手のジェスチャーに対するテキスト対応物を、テキスト表示、テキストから音声への変換、その他によってなど、電話がつなげられる相手(複数可)に通信することができる。
ストリーミングモード検出器
この技術の別の態様によれば、スマートフォンは、複数のオブジェクトから識別を迅速に取り込み、識別をのちに見直すために使用可能にするように装備される。
図8は、一例を示す。アプリケーションは、カメラから(すなわち、通常のビューファインダーモード)のストリーミングビデオにより更新される、大きい表示ウィンドウを含む。ユーザがカメラをパンするとき、システムは、画像を解析して、いずれかの識別可能なオブジェクトを見極める。図8では、カメラの視野内に、バーコードを持ついくつかのオブジェクトがある。
図示のシステムでは、プロセッサは、中央で開始して画像フレームを解析し−識別可能な特徴を探す。(他の構成では、トップダウン又は他の画像検索手順に従うことができる。)電話が識別可能な特徴(例えば、バーコード118)を発見するとき、電話は、角括弧120を特徴の周りにオーバーレイするか、又は、特徴をハイライトして、ユーザに対し、表示された画像の何の部分が電話の注意を引いたかを指示する。「シューッ」という音が次いで、デバイスのスピーカから発せられ、アニメのしるしが、画面の角括弧が付いた部分から底部の履歴122ボタンへと動く。(アニメーションは、履歴ボタンで1ポイント下につぶれる正方形のグラフィックであってもよい。)履歴ボタンの隣に表示される、赤い円で囲まれたカウンタ124は、デバイス履歴内でこのようにして検出及び配置された項目の数(この場合、7)を指示する。
バーコード118をこのようにして処理した後、システムは、他の認識可能な特徴を求めて、その視野の解析を継続する。中央から解決しながら、システムは次にバーコード126を認識し、同様の動作のシーケンスが後に続く。カウンタ124は、「8」に増分される。システムは次に、バーコード128に−部分的にカメラの視野の外側にあるにもかかわらず−気付く。(あるバーコードの冗長符号化は、そのような復号を可能にする。)3つのバーコードからデータを認識し、関連付けられたユーザフィードバック(サウンド及びアニメーション効果)とともにデバイス履歴に取り込むために経過した時間は、3秒未満である(1秒又は2秒が典型的である)。
履歴ボタン122をタップすることによって、以前に取り込まれた特徴のスクロール可能な表示が、図9に示すように提示される。このリストでは、各エントリは、認識された特徴のタイプを指示するグラフィカルなしるしを、特徴から見極められた情報、及び、特徴が検出された時間とともに含む。(この時間は、絶対的な方式で、又は、現在時間に相対的に示されてもよく、後者を図9に示す。)
図9に示すように、システムによって検出される特徴は、カメラデータ内で発見される必要はない。特徴には、オーディオ(例えば、話している人の識別)から、又は他のセンサから見極められた特徴が含まれうる。図9は、電話が、データを近距離無線チップ(near field chip)(例えば、RFIDチップ)−「NFC」のしるしによって指示される−からも検知したことを示す。
後で、ユーザは、この履歴リストを呼び戻し、関心のあるしるしをタップすることができる。電話は次いで、その特徴に対応する応答を開始することによって(又は、いくつかの使用可能な特徴のメニューを提示し、メニューからユーザが選択できるようにすることによって)、応答する。
時々、ユーザは、詳述したストリーミングモード動作をオフにすることを望むことがあり、例えば、環境に検出可能な特徴が豊富にあり、ユーザが複数の取り込みを望まないときである。アプリケーションUIのボタンコントロール130は、そのような機能性のオン及びオフを切り替える。示した状態では、複数の特徴の検出が可能にされる。ユーザがこのコントロールをタップする場合、そのしるしは「複数がオフ」に切り替わる。電話がこのモードで特徴を検出するとき、システムは、(前述のように)その特徴を履歴に追加し、対応する応答を直ちに開始する。例えば、システムは、ウェブブラウザ機能性を呼び出し、検出された特徴に対応するウェブページをロードしてもよい。
証拠ベースのステートマシン、及び、ブラックボードベースのシステム
本技術の別の態様は、スマートフォンベースのステートマシンを含み、スマートフォンベースのステートマシンは、センサ入力に応答してその動作を変化させる。
米国特許出願第12/797503号は、ブラックボードデータ構造が、データをシステムコンポーネント間で渡すためにどのように使用されるかについて、詳述している。以下の説明は、例示的実施形態についてのさらなる情報を提供する。
この例示的システムでは、物理センサ及び論理センサの両方がある。物理センサは、センサを監視し、センサからのデータをブラックボードへ供給する。スマートフォンのカメラ及びマイクロフォンは、特定のタイプの物理センサであり、一般に「メディアセンサ」と呼ばれることがある。いくつかのセンサが、いくつかのタイプのデータを出力することがある。例えば、画像センサは、ピクセルデータのフレーム、及び、AGC(自動利得制御)信号をも出力することがある。
論理センサは、データを−典型的にはブラックボードから−得て、さらなるデータを計算するために使用する。このさらなるデータもまた、一般にブラックボードに戻すように格納される。(米国特許出願第12/793503号で論じられた認識エージェントは、論理センサの例である。もう1つは、推測エンジンである。)場合によっては、同じ物理的データが、処理中に複数の段階の論理センサ精緻化を通過してもよい。
メディアコンテンツを作り出すか、又は消費するモジュールは、例えば、他のモジュールとのフォーマットネゴシエーションを可能にするために、ある特殊な機能性を必要とすることがある。このことには、認識エージェントに対して、その要求されたフォーマット(例えば、関連付けられたパラメータとともに、オーディオ又はビデオ)についてクエリを行い、次いで、対応するセンサデータをブラックボードから得ることが含まれうる。
以下に、取り込まれた画像からデジタルウォーターマークを読み取るための、例示的な6段階の物理センサ/論理センサデータフローを詳述するテーブルが続く(ReadImageWatermarkシナリオ)。格納されたデータの列は、ブラックボード内の格納されたデータの名前を与える。(MSはメディアセンサの略であり、PSは物理センサの略であり、LSは論理センサの略であり、RAは認識エージェントの略である。)
Figure 0006572468
最初の2行は単に、ビデオデータのフレームと、関連付けられたAGCデータ(例えば、フレームの全域の平均輝度値でありうる)とが、カメラからブラックボードへ書き込まれることを指示する。3行目は、関連付けられたハンドセットの動きデータ−スマートフォンの加速度計システムによって検知されたもの−もまた、ブラックボードに書き込まれることを示す。
4行目で、テーブルは、以前にブラックボードに格納されたData_Frameデータが画像分類器(様々な論理センサ)に適用され、結果として、ブラックボード内に格納される分類データが生じることを指示する。(分類データは、様々な種類のものでありうる。分類データの1つのタイプは、色の彩度である。フレームが極めて低い色の彩度を有する場合、このことは、フレームがカラーのシーンではなく、白いバックグラウンド上に印刷されたテキスト、又はバーコードである可能性がより高いことを指示する。例示的データフローは、シーンが印刷されたテキスト又はバーコードである可能性が高いことをData_Classificationデータが指示する場合、ウォーターマーク検出器をアクティベートしないようになるが−他の実装形態では、ウォーターマークが、白黒又はグレースケールの画像から読み取られてもよい。別の分類器は、発話された音声と音楽とを区別し、例えば、発話されたオーディオが入力されるとき、曲認識処理が実行しないようにする。)
5行目は、今導出された分類データが、AGC及び加速度計データとともに、ブラックボードから呼び戻され、ウォーターマーク推測モジュール(別の論理センサ)に適用されて、フレーム品質メトリックが生じ、フレーム品質メトリックがブラックボードに書き戻されることを指示する。ウォーターマーク推測モジュールは、入力データを使用して、フレームが、ウォーターマーク(ある場合)が復号可能な品質のものであるという見込みを推定する。例えば、フレームが極めて暗いか、又は極めて淡いことを、AGC信号が指示する場合、ウォーターマークが回復可能であることは、ありそうもないことである。画像のフレームが取り込まれたとき、スマートフォンが加速されていることを、加速度計データが指示する場合も、上記と同じである。(加速度計データは典型的には、重力について補償される。)低い彩度のデータのセットであることを、分類器が指示する場合も、同様である。
6行目は、今決定されたフレーム品質メトリックが、−取り込まれた画像のフレームとともに−ウォーターマークリーダ(認識エージェント)に提供されることを示す。フレーム品質が閾値を超える場合、ウォーターマークリーダは、画像からウォーターマークを復号するように試みるようになる。そのような試みの結果は、ReadResultデータに格納され(例えば、「1」は、ウォーターマークの復号に成功したことを指示し、「0」は、ウォーターマークが発見されなかったことを指示する)、復号されたウォーターマークペイロード−ある場合−は、WM_IDとして格納される。
(別の実施形態では、フレーム品質メトリックが閾値を超える場合にウォーターマーク復号器を条件付きで呼び出す代わりに、このメトリックを、ウォーターマーク復号器の動作を−システムコンテキストに基づいて−動的に制御する優先度値として、使用することができる。システムが他の動作で忙しい場合、又は、他のコンテキスト−充電など−により、復号動作のコストが高くなる場合、低品質メトリックを有するフレームは、ウォーターマーク処理をされないようになり、より高い優先度の処理からシステムリソースを流用しないようにする。)
例示的システムでは、インストールされたモジュールは、構成ファイル内で列挙される。これらのモジュールは、インスタンス化及びランタイムの使用のために使用可能である。構成ファイルはまた、1つ又は複数のシナリオ(例えば、ReadImageWatermark−上記で詳述したようなもの−、及び、FingerprintAudio)をも詳述し−各々は、そのシナリオのために使用されるべきであるモジュールの集まりを指定する。ランタイムで、アプリケーションは、呼び出すべき特定のシナリオ(複数可)を指定するミドルウェアを初期化する。ミドルウェア構成、及びシナリオは、典型的には、XML構成ファイルからロードされる。
例示的システムは、C/C++で(例えば、ビジュアルスタジオ(Visual Studio)2010を使用して)コーディングされ、図10に示すアーキテクチャに従う。ミドルウェア−ブラックボードを、イベントコントローラ及びミドルウェアステートマシンとともに備える−は、動的リンクライブラリ(DLL)で実装される。
当業者にはよく知られているように、図10のシステムは、異なるシステムコンポーネントが通信する標準化されたインターフェースを採用する。特に、システムアプリケーション(上)とミドルウェアの間の通信は、APIを通して実施され、APIは、関数呼び出しを開始及びサービスするための取り決め/プロトコルを定義する。同様に、センサモジュール(典型的には、ミドルウェアによってランタイムに動的にロードされるDLLとして実装される)は、サービスプロバイダインターフェース(SPI)を通してミドルウェアと通信する。
図示のブラックボードは、様々な方法でデータを格納することができ、例えば、キー値の対、XML、オントロジー、その他である。例示的ブラックボードは、データをキー値の対として格納し、キー値の対には、プッシュ及びプルAPIを使用してアクセスされる。並行処理制御は、悲観的なロッキング−データが別の処理によって使用中である間、処理がデータにアクセスすることを妨げること−によって処理される。ブラックボードデータタイプには、個別のデータ要素(例えば、整数及び文字列)に加えて、データブロブ(blob)が含まれる。
データ値自体に加えて、各データエントリは、関連付けられたデータのいくつかの項目(メタデータ)を有する。これらの項目には、以下が含まれる。
・名前
・ソース(エントリを作成したモジュールの名前)
・値
・データタイプ
・データサイズ
・参照カウント
・タイムスタンプ(最後の更新時間)
・寿命(この値がどのくらい長く有用であるか)
・品質(この値がどのくらい確実であるか)
ブラックボードに格納される値は、以下の代表的なデータタイプのものである。
・ビデオフレーム
・ビデオ統計値(フレームレート、AGC、焦点距離、その他)
・加速度計データ
・WM読み取り結果
・WM ID
・ビデオ分類結果
データは、API及びSPIの両方によってサポートされる関数を通して、ブラックボードに書き込まれ、ブラックボードから読み取られる。そのような関数は、当業者にはよく知られており、以下が含まれる(括弧付きのものは、API/SPI呼び出しの一部として渡される値を示す)。
・BB_CreateEntry(名前、ソース、タイプ、サイズ)、ハンドルを返す
・BB_OpenEntry(名前)、ハンドルを返す
・BB_GetEntryNames(ソース、バッファ)
・BB_GetEntryInfo(名前、ソース、情報)
・BB_GetEntryInfo(ハンドル、情報)
・BB_GetValue(ハンドル、値)
・BB_SetValue(ハンドル、値)
・BB_CloseEntry(ハンドル)
上記で詳述したデータタイプに加えて、モジュールは、共通の名前付きエントリのセットを使用して、ステータス情報をブラックボードにパブリッシュする。各名前は、接頭辞+「_」+モジュール名というパターンを使用することによって作成される。接頭辞には、以下が含まれる。
・Status(数値ステータスコード)
・Error(最後のエラーについてのエラー文字列)
・Result(直近の動作の数値結果コード)
API及びSPI関数にはまた、Initialize、Uninitialize、LoadScenario、Start、Stop及びPauseもが含まれ、これらの関数を通して、関連のあるDLLが初期化され(又は、初期化されず)、異なるシナリオが構成され、開始/停止/一時停止される。
図10のミドルウェアのイベントコントローラモジュールは、異なるSPIの様々な優先度、処理の複雑さ、及び処理頻度に対処する。例えば、画像ウォーターマーク復号器RAは、プロセッサ集中的であるが、個別のフレーム上で動作するので、他のSPIが実行する時間を必要とする場合、フレームを無視できるようになる。(例えば、WatermarkImageReadシナリオを画像のストリーム、すなわち、ビデオストリーム上で行う際に、様々なフレームを落とすことができ−それにより、実行を使用可能なリソースに合わせてスケールし、システムが停滞されるようになることを防ぐ)。対照的に、オーディオウォーターマーク復号器RAは、よりプロセッサ集中的ではない可能性があるが、中断されないストリーム内でオーディオデータを処理する必要がある。つまり、オーディオデータのストリームが使用可能であるとき、オーディオウォーターマークRAは、他のSPIに優先するべきである。複数のメディアストリーム(例えば、オーディオ及びストリーミング画像)が存在し、他のRAが処理に関与するとき、イベントコントローラは、画像の高品質のフレームが使用可能である場合、オーディオ処理を定期的に中断して、画像処理を可能にしてもよい。
各モジュールは、モジュールの優先度の必要性及び制限、実行頻度、その他についての情報を詳述する、データ構造を含むことが望ましい。そのような構造のデータのサンプルは、以下の通りである。
・名前
・タイプ(PS、MS、LS、RA)
・優先度(低−高、例えば、2〜10ステップによる)
・消費されたブラックボードデータ値
・作り出されたブラックボードデータ値
モジュール及びアプリケーションはさらに、ブラックボードトリガ関数を、対応するトリガ値(又は、トリガ値範囲)とともに出すことができ、それにより、ブラックボード内のあるデータがトリガ値基準を満たすとき、ミドルウェア(例えば、ブラックボード又はイベントコントローラ)に、そのようなモジュール/アプリケーションに対して通知/メッセージを出させる。1つのそのようなトリガは、ReadImageWatermark動作が、ウォーターマーク読み取りの成功を表す「1」のReadResult値を返す場合である。別のトリガは、音楽認識モジュールが、テレビショーのグレイズ・アナトミー(Grey’s Anatomy)のテーマ音楽を識別する場合である。そのような関数によって、モジュール/アプリケーションは、ブラックボード上のあるデータの存在のアラートが出されるまで、休止状態のままでいることができる。
前述の構成によって、センサの各々は、データ及びステータス情報をブラックボードへパブリッシュすることができ、この情報は、他のモジュールによって、及び、異なるアプリケーションによって、取得及び使用することができ、他のモジュール及び異なるアプリケーションは次に、それぞれの結果をブラックボードへパブリッシュすることは理解されよう。そのような反復処理を通して、単一の物理センサからの生データが、他の情報とともに連続して処理及び拡張され、推論されて、極めて複雑な動作が行われうる。ReadImageWatermarkは、そのようなシステムが可能にする多面的な処理の簡単な例である。
さらにミドルウェア、その他について
図16は、メディア及び物理的オブジェクト認識のためのミドルウェアの別のアーキテクチャの図である。この柔軟なアーキテクチャを使用して、より多くのコンテキストの情報をアプリケーションに配信することもできる。この設計は、ブラックボード、センサバンク、認識エージェント(RA)バンク、推測エンジン、及び、イベントコントローラを含む。
述べたように、ブラックボードは、アーキテクチャの中心にある。ブラックボードは、システムコンポーネントが通信する共有リポジトリである。直接通信は典型的には、他のいかなるシステムコンポーネント間でも可能にされない。例示的ブラックボードは、実質的に別々のセクションに構築され、各セクションは、所与のタイプのデータ専用である。例えば、オーディオデータのための1つのセクション、及び、画像のための別のセクションがある。
センサバンクは、入力をブラックボードに提供し、カメラ、マイクロフォン、加速度計、ジャイロスコープ、周囲光センサ、GPS、その他が含まれてもよい。RAバンクには、画像及びオーディオウォーターマークリーダ、フィンガープリントリーダ、バーコードリーダ、その他が含まれてもよい。各センサ及びRAは、その割り当てられたタスクを達成するコストと、その結果の品質とを推定するための、プライベートの知識ベースを含む。このことは、拡張可能性をサポートし、システムの他のコンポーネントへの影響なしに、センサ又はRAを追加又は除去できるようにする。
イベントコントローラは、システムの全体的な動作を調整する。推測エンジンは、ブラックボードのコンテンツを監視し、コンテキストのデータを推測して、センサ及びRAバンク内のリソースの使用を最適化する。推測エンジンは、推測されたデータをブラックボードに書き込む。
最小数のセンサが、典型的には、入力をブラックボードに提供するためにアクティブである。いずれかのコンポーネントから入力があると、ブラックボードは、変更をすべてのコンポーネントへ信号伝達してもよい。各センサ及びRAは次いで、検出されたオブジェクトのアイデンティティの解決を助けることができるかどうかを評価する。センサは、関連のある、より正確なデータを提供することによって、アイデンティティの解決を助けることができる。センサ又はRAは、その知識ベースを使用して、その解決策のコスト及び品質を推定し、そのデータをブラックボードに書き込む。イベントコントローラは、最適な結果を最も経済的に出すと推定されるセンサ(複数可)又はRA(複数可)をアクティベートする。センサ及び推測エンジンは、ブラックボードを更新し続けて、最も適したモジュール(複数可)が常に活動中であることを保証する。システムは、オブジェクトのアイデンティティが解決されるまで、この処理を継続する。このシナリオでは、イベントコントローラは、システム内の電力及びリソースの使用を最適化する。例えば、照明レベルが不十分であるか、又は、デバイスが活発な動きをしている場合、カメラは使用されず、画像ウォーターマークリーダもバーコードリーダも、識別のために使用されない。
図17は、ディジマークディスカバーアプリケーションのミドルウェアアーキテクチャを示す。このミドルウェアアーキテクチャは、C/C++及びアセンブリ言語で実装され、アイフォン及びアンドロイドプラットフォームに合わせて最適化される。ディジマークディスカバーアプリケーションは、デジタルウォーターマーク、バーコード、及び、オーディオフィンガープリントのためのRAを統合する。
図17に描かれたアーキテクチャと、図16に示されたアーキテクチャの間の主な違いは、形式的推測エンジンがないこと、及び、ブラックボードのための役割がより制限されていることである。いくつかの機構が実装されて、メディアサンプルを処理するかどうかが決定されるが、完全推測エンジンは必要とされない。また、ブラックボードは、本質的に、あるセンサデータ(加速度計、ジャイロスコープ、その他)とともに、メディアデータ(オーディオ及びビデオ)を移動するための手段として、使用される。ブラックボードは、すべての取り込まれたデータを、RAのデータのサンプリングレートにかかわらず、RAによる消費のために同期化され、キューに入れられたままに保つ。RAが処理する準備ができているとき、RAは、ブラックボード内の対応するデータキューからメディアサンプルを要求する。ブラックボードは次いで、RAに、メディアデータ及び関連付けられたセンサデータを提供する。
RAがメディアサンプルの処理を開始するとき、RAは、サンプルに添付されたセンサデータのいずれかを使用してもよい。RAは最初に、サンプルを処理するかどうかを決定する。RAは、正しい識別に達していることを比較的確信している場合にのみ、その識別タスクを引き受ける。そうでない場合、RAは、動作を中止し、次のメディアサンプルを待機する。RAは、論理センサを使用して、その識別パラメータを調整してもよい。成功した場合、RAは、ミドルウェアを通して、その結果をアプリケーションへ返す。
魅力的なユーザ体験を提供するために、RAは、明確なオブジェクト/メディア識別における最良の機会のために、大量のデータを迅速に処理するべきである。識別にはそのような量のデータが必要であるため、オペレーティングシステムとの適切な統合が望ましい。この統合は典型的には、使用される特定のオーディオ及びビデオ取り込み処理に基づいて調整される。そのような統合がなければ、ブラックボードは、RAが検出を行うために十分なデータを有していないことがあり、正しい識別を得る機会が低減される。複数のRAを同時に使用することは、この問題を悪化させる可能性がある。
ディジマークディスカバーアプリケーションの初期の実装形態は、デモンストレーションプラットフォームとしてはかなりうまくいったが、速くはなく、容易に拡張可能ではなかった。追加の識別技術を統合することは、性能及び実装の課題を提示した。そのような状況に対処するため、2つのタイプの最適化が実装される。
1つは、スマートフォンメディア取り込みサブシステムとの改善された統合による、より効率的なOSリソースの利用である。別の1つは、RAのアイフォン特有の最適化である。これらの最適化を、以下で詳述する。
アイフォンバージョンのディジマークディスカバーアプリケーションは、アップルのグランドセントラルディスパッチ(Grand Central Dispatch)スレッディング機能に依拠し、この機能は、低スレッドレイテンシとともにアプリケーションの大規模なマルチスレッディングを可能にする。オーディオ及びビデオストリームは、別々のスレッド内に記録され、各RAは、それ自体のスレッド内で実行する。オーバーヘッドは、スレッドの数とともに目立って増大しなかった。アイフォンのシングルコアプロセッサ上でさえ、この利益は、可能性のある欠点をはるかに上回る。RA処理は一般に、オーディオ及びビデオ取り込みスレッドによって駆動されるが、このことは、使用中のRAのタイプに応じて変わる可能性がある。
以前に述べたように、ストリーミング画像(ビデオ)識別技術(例えば、ウォーターマーク及びバーコード)と、オーディオ(例えば、ウォーターマーク及びフィンガープリント)との間に基本的な違いがあり、つまり、ビデオ技術は個々の画像を処理するが、オーディオ技術はストリームを処理するという違いである。ビデオは、アプリケーションへ、各々が完全な画像であるフレームのシーケンスとして配信される。しかし、オーディオは、生のバイトストリームのデータのブロックとして配信される。ビデオフレームは、スタンドアロンでありうるが、単一のオーディオブロックは、オーディオ識別のために役に立たないことが多い。大部分のオーディオ識別技術は、識別のために少なくとも数秒(多数のブロックに相当する)のオーディオデータを必要とする。
データタイプとサンプルレートの間のこの違いは、ミドルウェアアーキテクチャにおける違いを引き起こす。プロセッサの使用度が高い間、個々のビデオフレームは、ビデオRAのロバスト性へのごくわずかな影響により、落とされることがある。オーディオRAは、しかし、コンテンツを識別するために、数ブロックを必要とする。ディジマークディスカバーアプリケーションの初期の実装形態では、メディアサンプルが使用可能になったとき、RAがメディアサンプルを処理したが、必ずしもオーディオでうまくいくとは限らなかった。場合によっては、オーディオ処理は、重い処理中に遅れて、遅延される結果、及び、所望の速度よりも遅いユーザインターフェースにつながる可能性があった。このことに対処するために、ディジマークディスカバーアプリケーションは、優先度システムを採用し、優先度システムでは、ミドルウェアが、フレームをスキップしても差し支えない可能性のあるRAを減速させると同時に、他のRAを全速力で実行したままに保つことによって、処理のバランスをとる。
画像/ビデオフレームの処理は、最もCPU集中的なタスクの1つである。2つの別々のRA(ウォーターマーク検出器及びバーコードリーダ)が、取り込まれた各画像を処理するために同時に使用されることがある。画像を調べることから1つのRAを除くことで、性能を著しく向上させることができる。上記で示したように、ディジマークディスカバーアプリケーションは、分類器を使用して、バーコードリーダが画像を処理するべきであるかどうかを決定する。バーコードは、ほとんど常に白黒で印刷されるので、分類器は、画像の彩度レベルを点検し、有意な量の色を持つ画像を排除する。同様に、フィンガープリントベースのグレースノート音楽認識RAは、音声分類器を参照することによって制御され、それにより、マイクロフォンオーディオが音声として分類されるとき、グレースノートRAを呼び出すことを回避する。
上記で示したように、ImageWatermarkReadシナリオは、スマートフォンの加速度計からのデータを採用し−画像が過度のモーションブラーを含む可能性が高くなる場合、試みられるウォーターマーク読み取りを防ぐ。同様に、他の位置/動きセンサ、並びに、焦点距離、自動ホワイトバランス、自動利得制御、及びISOのセンサを含む、他のスマートフォン論理センサを使用して、低品質フレームを識別することができるので、スマートフォンリソースが、不十分な品質の入力の処理でむやみに消費されないようになる。
我々の研究は、論理センサが、システムリソースの使用の最適化、及び、ユーザ体験を高めることを助けることを示している。同様に、ユーザコンテキスト及びデバイスコンテキストについての追加の情報を提供する論理センサは、さらにより複雑な動作を可能にする。いつ、どこで、どのように、誰によってデバイスが使用されるかについての情報は、ミドルウェアを伴うすべての決定に含まれることが望ましい。いくつかの実装形態は、コンテキストの形式的な表現、及び、人工知能ベースの推測エンジンを採用する。そのような構成では、センサ及びRAを、知識源と考えることができる。
(いかなる論理センサも、ある意味で、推測モジュールと見なされうる。光センサは、微光を検出し、スマートフォンのコンテキストが暗やみの中であると推測することができる。そのような推測を使用して、トーチ(torch)を付けて照明を増す信号を出すことができる。より高度な構成は、スマートフォンにおいていくつかのモジュールを採用する。例えば、光センサが、微光を検出することがあり、マイクロフォンが、サラサラという雑音を検出することがある。システムは、スマートフォンがユーザのポケットの中にあると推測することができ、その場合、カメラのトーチをオンにすることは無意味でありうる。さらにより複雑な構成は、1つ又は複数のシステムモジュールを、ユーザ履歴データ及び/又は外部リソースとともに採用することができる。例えば、システムは、オーディオフィンガープリンティングモジュールと、外部データベースと、ユーザ履歴とによって、スマートフォンユーザがテレビショーのグレイズ・アナトミーのシーズン4、エピソード6を15分間見たこと、及び、サラ・ラミレス(Sara Ramirez)−外科医カリー・トーレス(Callie Torres)を演じる女優−が、ユーザのお気に入りの女優の一人であることを決定し、スマートフォンに、ラミレスのウィキペディア(Wikipedia)のエントリへのリンクを、エピソードのこの部分の間にユーザに表示されるメニューオプションのリストの上の方に提示させてもよい。)
認識の有効性が、RA及びミドルウェアの速度によって多大な影響を受けることは、理解されよう。この点について、様々な改善を行うことができる。
各RAは、所与の総合プラットフォーム利用プロファイルにおいて受信者動作曲線(Receiver Operating Curve)によりモデリングされうる。理想的には、RAのインスタンスごとのモバイルデバイスプロファイルが、システム設計を知らせるために採用される。
ディジマーク画像ウォーターマークRAは、FFT、ログポーラ(log−polar)、及び、非線形フィルタリング段階をアセンブリ言語で実装して、アイフォンのA4プロセッサ内のNEONレジスタを利用することによって、アイフォンプラットフォームに合わせて最適化される。
画像ウォーターマークRAは、8ビットの深度の128×128ピクセルブロックを処理し、単一ブロック又は4ブロック検出器として実行することができる。単一ブロック実施形態では、以下の表に示すように、NEON実装形態の実行時間が、マーク付きのフレーム及びマークなしのフレームの両方で20%減った。マークなしのフレームに対する拒否速度を増すことは、より高いスループットを生じ、次には、RAによる認識の試みの割合を増す。
Figure 0006572468
NEON実装形態は、レジスタのSIMD能力が使用されて、同時に4つの画像ブロックが処理されるとき、特定の利益を生じる。この4ブロック手法は、RAの動作エンベロープ(以下で説明する)を増大し、したがってユーザ体験を改善するために、様々な前置フィルタの使用を可能にする。
モバイルプラットフォームは時々、所与のシステムサービスのために複数のAPIを提供する。APIの選択は、プラットフォーム上で、リソース利用と、結果として生じるタスク混合とに影響を及ぼす可能性がある。場合によっては、この選択は、センサのスループットに影響を及ぼすことがある。
iOS 4.0では、いくつかのAPIが、カメラへのアクセスを提供する。最良の手法を識別するため、アイフォン4は、タスク混合を取り込むように機器が備えられたが、ディジマークディスカバーアプリケーションは、プリントトゥウェブ(Print−to−Web)使用モデルにおいて使用された。
図18は、プレビュー(Preview)APIを使用して、画像フレームを取得する前後の、タスク混合を示す(それぞれ、ビルド1.0.8及び1.11)。プレビューAPIを使用することで、フレームのレンダリングで費やされる時間が劇的に削減し、画像ウォーターマーク認識(「WMの復号」として図示)のための時間が空く。プレビューAPIを使用することで、他のシステム及びアプリケーションスレッドがプロセッサをより多く使用できるようにもなった。
OSに、他のスレッドにサービスするためのより多くの時間を与えることは、確実にシステム全体としての利益であるが、毎秒11フレームから14フレームへのスループットの増大は、ユーザにとってより直接的に有益である。スループットの増大はまた、RAによるオブジェクトを認識する試みの割合をも増す。
ユーザ体験の改善を定量化するために、認識率を、特定のユーザシナリオについての一次環境因子に応じて取り込むことができる。加えて、スループットを測定して、時間に応じて認識率を正規化することができる。
以下の表は、最適化されたRAを、iOS 4.0プレビュー及びUIGetScreenImage APIの両方とともに使用して、アイフォンビデオキュー(Video Queue)からフレームを取得した結果を示す。プレビューAPIの実装形態は、すべてのRAについて、アイフォン3GSで重要な改善を生じた。
Figure 0006572468
プリントトゥウェブの使用シナリオでは、主要な環境因子は、プリントまでの距離、照明、及び姿勢である。これらの因子を検討するために、認識率へのそれらの影響を繰り返し測定する、ロボットセルが構築された。
2つのバージョンの画像ウォーターマークRAが、距離に対してテストされた。「SS」バージョンは、改良されたサンプリングアルゴリズムを含むが、「ベース(Base)」バージョンは含まない。サンプリングアルゴリズムは、iOS 4.2によって提供されたメタデータ辞書におけるCurrentFocusPositionによって提供された論理センサデータを使用する。
図19は、2つのバージョンの結果を表示し、どのフレームがウォーターマーク(又は、ペイロード)の復号に成功する結果となったか、及び、どのフレームがそうならなかったかを示す。改良されたサンプリングアルゴリズムは、ウォーターマークが検出可能であり、且つ、ペイロードが回復可能である、距離の範囲を著しく増大した。
合わせて、図19からの結果及び上記の表は、システムリソースの効率的な利用を、最適化されたRAと組み合わせることで、画像ウォーターマークRAの動作エンベロープが測定可能な程度に増大することを示す。
要するに、詳述したディジマークディスカバープラットフォームは、現実世界の使用シナリオに基づいて、コンテンツ識別を提供し、関連する、モバイル発見アプリケーションを構築する複雑さを低減するように、設計される。プラットフォームは、拡張可能となるように、且つ、システムに影響を及ぼすことなく、いかなるタイプの認識エージェントの追加又は除去をも可能にするように、設計される。オペレーティングシステムリソースの効率的な利用、及び、認識エージェントの最適化は、消費者の満足のいくシステム性能を可能にする。すべてのオーディオ及びビデオ取り込みを扱うミドルウェアアーキテクチャを採用することで、レイテンシを低減し、システムリソースの共有を容易にし、電力消費を削減し、内部の競合を減少させる。いくつかの実装形態では、このミドルウェアは、ユーザ及びデバイスコンテキストに基づいて、センサ及び認識エージェントの使用を適合させる、形式的推測エンジンを含むが、他のミドルウェアは、より非形式的なタイプの推測を使用する。
モバイル発見の極小構成物としてのリンクトデータ(Linked Data)
米国特許出願第12/797503号に詳述されているように、リンクトデータの原理をスマートフォンデータに関連して使用することができる。
スマートフォンセンサは、コンテキストについてのデータを作り出すものと見なされうる。
コンテキストデータが格納されうる1つの方法は、ラベル(一般に辞書から取られる)及びデータを含む、キー値の対によるものである。(例えば、LAT=45.03、AudioEnvironment=SpokenWord、BatteryLeft=.107)。そのような簡単なキー値表現の欠点は、コンピュータがラベルを理解しないことである。コンピュータは単に、変数LATが浮動小数点数を運ぶこと、変数AudioEnvironmentが文字列であること、その他を知るのみでありうる。
本技術の別の態様によれば、そのような情報が、リソース記述フレームワーク(RDF)知識表現言語におけるデータトリプルの集まりによってなど、セマンティックな表現方法で表される。(トリプルは典型的には、主部、述部(又は、プロパティ)、及び目的部からなる。)RDFスキーマ(RDFS)は、オブジェクト及びクラスの階層の維持を可能にする。セマンティックトリプル(Semantic triples)は一般に、2つのデータ要素を含む関係を表現し、又は、単一のデータ要素に関する属性を表現する。
トリプルでは、パラメータに値をさらに割り当てることができるが、トリプルは、他の情報にセマンティックに関係付けられ−意味を吹き込む。様々なオントロジーモデル(RDFS、OWL、その他)を使用して、これらのトリプルの解釈、及び、そこでこれらのトリプルの互いの関係を形式的に記述することができる。LAT(緯度)パラメータに、浮動小数点データがさらに割り当てられることがあるが、他のトリプルを参照することによって、コンピュータは、このLATデータが地球上の位置を指すことを理解することができる。そのような理解は、強力な推測を可能にする。(例えば、あるオブジェクトをある時間の瞬間に緯度45に、2秒後に緯度15に配置するデータセットは、疑わしいと理解されうる。)セマンティックウェブ技術は、スマートフォンが、コンテキストの情報と、そのような形式で提示された他のデータとに基づいて、推論することを可能にする。
検知されたコンテキストトリプルは、グラフ形式で格納可能であり、但し、センサは、センサ自体及びセンサの出力データについてのアサーション(assertions)を収集する。1つのそのようなグラフ(ツリー)を、図15に示す。
異なる名前空間を、異なるセンサによって使用して、データの不一致を低減することができる。別個の名前を、各トリプルアサーションに反映することができ、例えば、以下の通りである。
・{ImageSensor3DF12_ImageTime=2011040118060103_Pixel(0,0);HasRedValue;45}
・{ImageSensor3DF12_ImageTime=2011040118060103_Pixel(0,0);HasGreenValue;32}
・その他である。
代替として、ツリー構造は、固有の名前空間識別子をルート又は他の基本となるノード(図15に記載)に含むことが可能であり、他のノードを次いで、推測によりそのようにラベル付けすることができる。ツリーは、データ編成構成物として長い歴史を有しており、ツリー関連技法(例えば、ソート、枝刈り(pruning)、メモリ最適化、その他)の豊富な集まりが適用可能である。
ブラックボードデータ構造は、RDFトリプルのためのデータベースとしての役目を果たすことができる。極端な例では、取り込まれた画像内のあらゆるピクセルロケーションが、1つ又は複数のトリプルとして表現される。特定の実装形態では、センサシステムは、それらのデータをトリプルのストリームとして出力するように構成される。
トリプルの述部自体が、他のトリプルの主部であることがある。例えば、「HasRedValue」は、上記の例では述部であるが、{HasRedValue;IsAttributeOf;Image}のようなトリプルの主部でもありうる。データがブラックボード上へ流されるとき、一体化動作を行うことができ−データタイプのそのような理解によって可能にされうる。
認識エージェントは、米国特許出願第12/797503号に詳述されているように、そのようなデータトリプルを使用して、認識エージェントの動作をトリガ又は一時停止することができる。例えば、入ってくるピクセルトリプルが暗い場合、光学的認識エージェント(例えば、バーコードリーダ、ウォーターマーク復号器、OCRエンジン)は実行されるべきではない。きめの細かい方式で(例えば、特定のピクセル値をアサートするトリプルのレベルまで下がって)データを表現することは、認識エージェントのきめの細かい制御を同様に可能にする。
より高いレベルの粒度では、トリプルは、画像フレーム内の中心の16×16ピクセルブロックなど、ピクセルの集まりを含むメモリへのポインタを提供してもよい。さらに高くなると、トリプルは、画像のフレームを格納するメモリロケーションへのポインタを提供してもよい。このメモリロケーションの画像についてのアサーションを、一連のトリプルを通して作成し、例えば、画像のサイズ(例えば、640×480ピクセル)、画像の色表現(例えば、YUV)、画像の取り込み時間、画像が取り込まれた際のセンサ、画像が取り込まれたジオロケーション、その他を詳述することができる。
システムプロセッサは次いで、格納されたアサーションを使用して、画像へのアクションを取ることができる。例えば、システムプロセッサは、ユーザから−又は、別のシステム処理から−のクエリに応答して、特定のロケーションから取り込まれたか、又は、特定の時間に取り込まれた画像のフレームを探し出すことができる。システムは次いで、このようにして識別された画像のフレームにおいて、動作(例えば、オブジェクト認識)を行うことができる。別の例では、システムは、フレームの平均輝度をどのように計算するかを、格納されたRDFデータからのフレームの色表現の形式の知識を部分的に使用して、見極めることができる。(YUV画像では、Yは輝度を示すので、フレームのすべてのピクセルにわたってYを平均することで、平均輝度が生じる。RGB画像では、対照的に、各ピクセルでの輝度は、R値、G値及びB値の加重和であり、これらの加重和が次いでフレームの全体で平均されて、平均輝度が得られる。)
ソフトウェア(例えば、上記で詳述したミドルウェア構成を有する、米国特許出願第12/797503号のICPステートマシン)は、異なる認識エージェントにとって有用な入力データのタイプを考慮することができ、コンテキストに応じて、異なるタイプのデータを異なる時間に出力するように、センサシステムを構成することができる。
例えば、コンテキストは、バーコード読み取りエージェント及びウォーターマーク復号エージェントがともにアクティブであるべきであることを、指示することがある。(そのようなコンテキストには、例えば、小売店内のジオロケーション、閾値を上回る周囲の照明、及び、ユーザの手に持たれたスマートフォンが含まれうる。)バーコードリーダは、輝度データを選ぶことがあるが、それほど好ましくなく、RGBデータを使用し、RGBデータから輝度を導出することが可能である。ウォーターマーク復号器は、フルカラー画像を必要とすることがあるが、フルカラー画像がRGBで提供されるか、YUVで提供されるか、ある他のフォーマットで提供されるかは、重要ではない。システムソフトウェアは、異なる認識エージェントの異なる必要性及びプリファレンスに重み付けし、それに応じてセンサシステムを構成することができる。(いくつかの実施形態では、ミドルウェアは、異なるエージェント間でネゴシエートするプロキシとしての役目を果たし、例えば、プリファレンスによりスコアが取られた、可能なデータタイプのリストを求め、異なる組み合わせのスコアを取り、結果として得られた異なるスコアに基づいて選択を行う。)
今述べた場合では、ソフトウェアは、YUVデータを出力するように、センサシステムに指図するようになり、その理由は、そのようなデータがウォーターマーク復号器に直接適しているためであり、Yチャネル(輝度)データをバーコードリーダによって直接使用することができるからである。
物理センサに加えて、スマートフォンは、論理センサを有するものと見なされうる。論理センサは、コンテキストデータを消費すること、及び、コンテキストデータを作り出すことの両方を行ってもよく、典型的には−スマートフォン上、又はクラウド内のいずれかで−ソフトウェア処理を備えてもよい。例には、初期段階の認識(例えば、ここに関係があると思われるピクセルのブロブがある、ここに円の形がある)を行うコードから、ユーザの現在のアクティビティ(例えば、トニーは歩いている(Tony is walking)、その他)をレポートする、全くの推測駆動のセンサまで、幅広くすべてが含まれる。)
そのようなコンテキストデータはやはり、単純なグラフとして格納可能であり、グラフでは、論理センサは、主部についての1つ又は複数のアサーション(例えば、主部=Smartphone_Owner_Tony、述部=Engaged_in_Activity、目的部=Walking)を作成する。SPARQLを使用して、データベース内のトリプルにアクセスすることができ、詳細なクエリを維持することが可能になる。
論理センサは当然、−入力として−スマートフォンセンサデータ及びその派生物以外のデータを使用することができる。環境内のセンサは、例えば、入力のソースでありうる。ユーザの予定表データ又は電子メールデータもまた、使用されうる。(ユーザがミーティングに出るようにスケジュールされている時間に検知されたサウンド−又は、見られたオブジェクト−は、他のミーティング出席者(複数可)がいるところで起こったものとして指示されうる。)ソーシャルメディアネットワークから(例えば、フェイスブック又はリンクトイン(LinkedIn)ウェブAPIを介して)得られた情報は、同様に入力として論理センサに提供可能であり、RDF出力トリプルに反映可能である。
米国特許出願第12/797503号に詳述されている認識エージェントは、ステートマシン及び関連付けられたアルゴリズムを実施して、特定のアプリケーションをサポートして、特定のコンテンツ/オブジェクトタイプを認識することができる。アプリケーションは、目標駆動の使用モデルを表す。アプリケーションは、1つ又は複数の認識エージェントを活用することによって、詳述されている直観的コンピューティングプラットフォームとインターフェースして、特定のタスクを行う。例えば、ウォーターマークを復号する、曲を認識する、バーコードを読み取るなどである。(米国特許出願第12/797503号に詳述されている直観的コンピューティングプラットフォームは、センサを使用して、−ローカル及びクラウド内の両方で−ソフトウェアエージェントのタスクをより良く完了するための方法について、ソフトウェアエージェントに情報を与えることができるコンテキストを生成する。)
この技術の特定の実装形態は、RDF APIと、RDF/XML、N3、及びN−トリプルの読み取り/書き込みと、OWL APIと、SPARQLクエリエンジンとを提供する、Jena−セマンティックウェブアプリケーションのためのオープンソースJava[登録商標]フレームワーク(当初はヒューレット・パッカード(Hewlett−Packard)によって開発された)を採用している。Jenaをモバイルハンドセットに適合させた1つのものは、ミラノのポリテクニック(Polytechnic)によるμ−Jenaである。(代替実装形態は、Androjena又はモバイル(Mobile)RDFを使用することができる。)
米国特許出願第12/797503号に詳述されている直観的コンピューティングプラットフォームは、アプリケーションから認識エージェントへのトラフィックを管理し、論理センサ及び物理センサの両方のリソース競合を調停する。ブラックボードデータ構造を使用して、そのようなプロセス間通信を可能にし、システムのステータス(例えば、バッテリ状態)についての情報を維持することができる。
ブラックボードを介したプロセス間通信の一例は、取り込まれた画像内で不適当な輝度を検知し、スマートフォンのトーチがオンにされることを望む、ウォーターマーク復号器である。ウォーターマーク復号器は、(OSシステムコールを行う代わりに)トリプルをブラックボードに投稿し、そのようなアクションを要求してもよい。1つのそのようなトリプルは、以下の通りでありうる。
{Torch;Queued_Request;On}
別の1つは、以下の通りでありうる。
{WM_Decoder;Requests;Torch_On}
トーチ制御プロセス(又は、別のプロセス)は、そのようなトリプルについてブラックボードを監視し、同じことが起こるとき、トーチをオンにしてもよい。又は、バッテリ電源が低い場合、そのようなプロセスは、トーチが照明されることを2つ以上の認識エージェントが待機中となるまで(又は、他の緊急性の兆候が発見されるまで)待機し、そのときにのみトーチをオンにしてもよい。
ウォーターマーク復号器は、トーチの電源が投入されることを指示するトリプルを求めてブラックボードを検索するSPARQLクエリによって、トーチがオンにされたことを検出してもよい。このクエリは、トーチが照明されるとき、応答を返し、ウォーターマーク復号エージェントをブロック解除し、完了まで実行可能にする。
ロケーションは、(上記で示したような)コンテキスト情報の別の重要なソースであり、RDFトリプルで同様に表現可能である。DBペディア(DBpedia)−ウィキペディアからの情報のリンクトデータ表現、及び、ジオネームズ(GeoNames)は、そのようなデータのための多数のソースの中にある。電話センサデータ(GPS)を、ジオネームズ又はDBペディアサービスに適用して、対応するテキストのジオラベル(geo−labels)を得ることができる。
コンテキストデータは、ユーザ自身のスマートフォンから生じる必要はない。例えば、同じロケール及び時間期間で、他者によって他者のモバイルデバイスを使用して収集/寄付された、低レベルのセンサ情報(トリプル)を使用することもできる(適切なプライバシー保護手段を必要とする)。政府機関、その他によって維持された道路のカメラなど、近くの静止センサからのデータの場合も、同様である。(同じロケールは、それ自体がコンテキスト/アプリケーション依存であり、例えば、閾値距離内−100m、1km又は10kmなど−、同じ地理的機関内−町又は市など−、その他が含まれうる。同様に、時間の近接は、過去10秒以内、10分以内、1時間以内、その他に収集されたデータなど、閾値により境界が付けられうる)。そのような情報を、ローカルのブラックボードに直接統合して、デバイスエージェントがその情報において動作できるようにしてもよい。画像に加えて、そのようなデータには、オーディオ、ロケーションの識別を助けるためにエリア内で使用可能なワイヤレス信号のサンプル、その他が含まれうる。データ共有のためのそのような「オープンワールド」手法は、スマートフォンプラットフォームによるコンテキストの理解を非常に増すことができる。
前述のものは、リンクトデータ方式のコンテキスト及びセンサデータの表現に焦点を合わせているが、他のスマートフォンデータは同様に利益を得ることができる。
例えば、米国特許出願第13/079327号において、出願人は、印刷されたテキストにおけるマシン可読データがどのように検知されうるか、及び、関連付けられた情報である、「ツールのヒント」ポップアップテキストと、関連情報の拡大されたストアとの両方にリンクするために、どのように使用されうるかを詳述している。例えば、新聞の分類広告のページをカメラ付き電話でスキャンするとき、スマートフォン表示は、電話が広告上を通過するとき、広告の短い概要(例えば、「1967 マスタング(Mustang)」)を提示してもよい。読み取られている特定の新聞は、コンテキスト情報であり、識別発行情報は、ページから復号された最初のウォーターマークペイロードから導き出される。このコンテキストから、新聞全体のための適切なポップアップテキストがリモートデータストアからプルされ、後の使用のために、電話にキャッシュされる。そのようなポップアップテキストを、トリプルの形式(例えば、{Watermark 14DA3;HasPopUpText;1967 Mustang})で送信及び/又は格納することができる。
スマートフォンアプリケーションにおけるリンクトデータの別の実装形態については、Zander他、「Context−Driven RDF Data Replication on Mobile Devices」、Proc. Of the 6th Int’l Conf. on Semantic Systems、2010年に詳述されている。Zanderの研究は、ローカルソフトウェアエージェントによって使用するための、リモートソースからモバイルデバイスへの、構造化セマンティックウェブデータの、コンテキスト情報に基づくレプリケーションに焦点が合わせられているが、詳述されたシステムは、スマートフォンにおけるリンクトデータ利用の他の態様を例示している。Zanderの研究の特徴及び詳細は、出願人の発明性のある研究に関連して適用可能であり、逆もまた同様である。
RDF関連技術に関して米国特許出願第12/797503号から写された抜粋は、以下の通りである。
リンクトデータ
本技術の別の態様によれば、データ及びリソースのウェブ2.0の概念(例えば、リンクトデータに関連する)が、有形のオブジェクト及び/又は関連キーベクトルデータ、並びに、関連付けられた情報と共に使用される。
リンクトデータは、Sir Tim Berners Leeによって奨励された、ウェブ上で参照解除可能なURIを介してデータを公開、共有及び接続するための構成を指す。(例えば、T.B. Lee、Linked Data、www<dot>w3<dot>org/DesignIssues/LinkedData.htmlを参照。)
要するに、URIが使用されて、有形のオブジェクト及び関連付けられたデータオブジェクトが識別される。HTTP URIは、人々及びユーザエージェントによってこれらのオブジェクトを参照し、ルックアップ(「参照解除」)することができるように、使用される。ある有形のオブジェクトが参照解除されるとき、その有形のオブジェクトについての有用な情報(例えば、構造化されたメタデータ)が提供される。この有用な情報は、−他の関連情報及び有形のオブジェクトの発見を改善するために−他の関連URIへのリンクを含むことが望ましい。
RDF(リソース記述フレームワーク)は一般に、リソースについての情報を表現するために使用される。RDFは、リソース(例えば、有形のオブジェクト)を、主部、述部及び目的部からなる、いくつかのトリプルとして記述する。これらのトリプルは、時として、アサーションと呼ばれる。
トリプルの主部は、記述されたリソースを識別するURIである。述部は、どのような種類の関係が主部と目的部の間に存在するかを指示する。述部もまた、典型的にはURIであり−特定のドメインに関する標準化された語彙から引き出されるものである。目的部は、リテラル値(例えば、名前又は形容詞)であってもよく、又は、主部に何らかの形で関係付けられる別のリソースのURIであってもよい。
異なる知識表現言語を使用して、有形のオブジェクト及び関連付けられたデータに関するオントロジーを表現することができる。ウェブオントロジー言語(OWL)はその1つであり、RDFスキーマとの互換性を提供するセマンティックモデルを使用する。SPARQLは、RDF表現とともに使用するためのクエリ言語であり−クエリが、連言、選言、及びオプションのパターンとともに、トリプルパターンからなることを可能にする。
本技術のこの態様によれば、モバイルデバイスによって取り込まれ、作り出されたデータの項目には、一意及び永続的な識別子がそれぞれ割り当てられる。これらのデータには、基本のキーベクトル、セグメント化された形状、認識されたオブジェクト、これらの項目について得られた情報、その他が含まれる。これらのデータの各々は、クラウドベースのレジストリシステムに記録され、このレジストリシステムはまた、関連するルーティング機能をもサポートする。(データオブジェクト自体もまた、長期の格納のためにクラウドへプッシュされてもよい。)データに関する関連アサーションは、モバイルデバイスからレジストリへ提供される。したがって、ローカルデバイスに知られている各データオブジェクトは、クラウド内のデータを介してインスタンス化される。
ユーザは、画像を取り込みながら、カメラをさっと動かしてもよい。そのようなアクションを通して集められ、処理され、及び/又は識別されたすべてのオブジェクト(及び関連データ)は、識別子が割り当てられ、クラウド内で存続する。1日又は1年後、別のユーザがそのようなオブジェクトに対して、(例えば、ある木がホワイトオークである、などという)アサーションを作成することができる。カメラが特定の場所を、特定の時間に素早く見ることであっても、クラウド内で無期限にメモリアライズ(memorialized)される。そのようなコンテンツは、この基本のクラウドベースの形式において、協調のために組織化する構成物となりうる。
データの命名を、クラウドベースのシステムによって割り当てることができる。(クラウドベースのシステムは、割り当てられた名前を発信側のモバイルデバイスに戻すようにレポートすることができる。)モバイルデバイスに知られているようなデータを識別する情報(例えば、上述のクランプID又はUID)をクラウドベースのレジストリに提供することができ、そのデータについての別のアサーションとして、クラウド内でメモリアライズすることができる。
クラウドベースのレジストリによって維持されたデータの部分ビューには、以下が含まれうる。
Figure 0006572468
このように、この態様では、モバイルデバイスは、クラウドベースのレジストリが複数のソフトウェアオブジェクト(例えば、RDFトリプル)を、モバイルデバイスが処理するデータの項目ごとに、及び/又は、そのカメラの視野内で発見された物理的オブジェクト又は特徴ごとに、インスタンス化することを可能にするデータを提供する。大変多くのアサーションを、各々について作成することができる(私はキャニーデータである、私はある場所及び時間で取り込まれた画像に基づいている、私は、緯度X、経度/Yから北を見ると見える、質感の高い青いオブジェクトである、その他)。
重要なことには、これらの属性を、他のデバイスによって投稿されたデータとリンクさせることができ−ユーザのデバイスによって、入手可能な画像データ及びコンテキストのみから見極めることができない、新しい情報の獲得及び発見が可能となる。
例えば、ジョンの電話は、ある形状をビルとして認識するが、その住所を見極めること、又はそのテナントを知ることができないことがある。ジェーンは、しかし、そのビルで働いていることがある。彼女の特定のコンテキスト及び履歴のため、彼女の電話がビル関連画像データに関連してレジストリに以前に提供した情報においては、そのビルの住所及びいくつかのテナントについての情報を含む、そのビルについての情報がより豊富であることがある。ジオロケーション情報及び形状情報における類似性によって、ジェーンの電話が情報を提供したビルを、ジョンの電話が情報を提供した同じビルである可能性が高いものとして識別することができる。(新しいアサーションをクラウドレジストリに追加して、ジェーンのビルのアサーションをジョンのものに明示的に関係付けることができ、逆もまた同様である。)ジョンの電話がレジストリに対して、そうするように要求した場合(且つ、関連のあるプライバシー保護手段が許可する場合)、レジストリは、ジョンの電話に、ジェーンの電話によって提供されたそのビルについてのアサーションを送ることができる。ここで作用している、根底にある機構は、仲介されたクラウドソーシングであると見なすことができ、アサーションは、参加者もサブスクライブするポリシー及びビジネスルールフレームワーク内で作成される。
関連付けられたアサーションの豊富なセットを有するロケーション(例えば、場所によって、及び、任意選択で時間によっても決定される)は、新しい発見体験をもたらす。モバイルデバイスは、GPSロケーション及び現在時間など、単純なアサーションを、リンクトデータ又は他のデータリポジトリ内で検索又は発見体験を開始するためのエントリポイントとして、提供することができる。
また、クラウド内のアサーションのアクセス又はナビゲーションに、モバイルデバイス上のセンサによって影響を与えることができることにも留意されたい。例えば、ジョンは、GPS又は他のセンサによって決定されるような、そのビルとの特定の近接内(例えば、10m、30m、100m、300m、その他)にいる場合にのみ、そのビルに関するジェーンのアサーションにリンクすることを許可されてもよい。この許可は、ジョンが静止しているか、又は、GPS、加速度計/ジャイロスコープ、若しくは他のセンサによって決定されるような歩く速度(例えば、毎分100フィート若しくは300フィート未満)で移動中である必要がある場合に、さらに限定されてもよい。モバイルデバイス内のセンサからのデータに基づくそのような制限は、望まれていないか、又はより関連性の少ないアサーション(例えば、広告など、スパム)を減らし、データのリモート又はドライブバイ(若しくは、フライバイ)マイニングに対する、あるセキュリティを提供することができる。(様々な構成を用いて、GPS又は他のセンサデータのスプーフィングと戦うことができる。)
同様に、2人の関係者が、ジオロケーション、時間、ソーシャルネットワークのつながり、その他における近接など、ある特色を共有するときにのみ、クラウド内に格納されたアサーションがアクセスされてもよい(又は、主部についての新しいアサーションが作成されてもよい)。(後者は、ジョンが、例えば友人として、ジェーンに社会的にリンクされることを示す、フェイスブック又はリンクトインなど、ソーシャルネットワークデータストアを参照することによって、示されうる。)ジオロケーション及び時間のそのような使用は、社会慣習に近似し、すなわち、人々の大きいグループが集まるとき、発生する自然発生的なインタラクションは価値のある可能性があり、その理由は、そのグループのメンバが共通の関心、特色、その他を有する高い見込みがあるからである。アサーションにアクセスし、それを投稿するための能力、及び、他者の存在に基づいて新しい発見体験を可能にすることは、このモデルの結果として生じる。
ロケーションは、画像データのセットが関連付けられる、よくある手がかりである。他の手がかりもまた、使用することができる。
ゾウの調査員を考えられたい。知られているゾウ(例えば、自然保護区域内にいる)には、一般に名前が付けられ、顔の特徴(傷跡、しわ及びきばを含む)によって識別される。調査員のスマートフォンは、あるゾウについての顔の特徴ベクトルを大学データベースに提出してもよく、大学データベースは、顔のベクトルをゾウの名前に関連付けるために存在する。しかし、そのような顔のベクトル情報がクラウドベースのレジストリに提出されるとき、より大量の情報が明らかにされることがあり、例えば、以前の目撃の日付及びロケーション、そのゾウを見たことがある他の調査員の名前、その他である。ここでもまた、データセット間の対応が見極められた後、さらなるアサーションをレジストリに追加することによって、この事実をメモリアライズすることができる。
モバイルデバイスのカメラ、マイクロフォン及び他のセンサによって検知された刺激についてのアサーションの、そのようなクラウドベースのリポジトリは、特に他のリンクトデータシステム(そのうちの少数は、linkeddata<dot>orgに詳述されている)内の情報と関係付けられるとき、グローバルに有用な情報の莫大なストアを迅速に備えうることは理解されよう。格納されたアサーションによって表現された理解は、部分的に、そのデバイスがそのような情報に寄与する個々のユーザのプロファイル及び履歴を反映するので、知識ベースは特に豊富である。(ウェブのグーグルのインデックスは、比較すると小さく見えることがある。)
(有形のオブジェクトの識別に関連して、潜在的に有用な語彙は、AKT(高度知識技術(Advanced Knowledge Technologies))オントロジーである。AKTオントロジーは、そのトップレベルにクラス「Thing(物)」を有し、その下に2つのサブクラスである「Tangible−Thing(有形物)」及び「Intangible−Thing(無形物)」がある。「Tangible−Thing」には、ソフトウェアから亜原子粒子まで、現実及び想像上のあらゆるものが含まれる(例えば、ミッキー・マウス(Mickey Mouse)の車)。「Tangible−Thing」は、「Location(ロケーション)」、「Geographical−Region(地理的領域)」、「Person(人)」、「Transportation−Device(移動手段デバイス)」、及び、「Information−Bearing−Object(情報を伝えるオブジェクト)」を含む、サブクラスを有する。この語彙を拡張して、本技術に関連して遭遇されると予期されるオブジェクトについての識別を提供することができる。)
混合ドメイン表示
本技術の別の態様によれば、スマートフォンは、カメラによって取り込まれた自然画像、並びに、カメラによって取り込まれた画像に基づいた変換ドメイン情報(例えば、空間周波数、又はフーリエ、ドメイン内)の両方を含む、表示を提示する。
2010年5月5日出願の米国特許出願第12/774512号は、ステガノグラフィ的にウォーターマーク検出器による、ウォーターマークが存在するかどうかの判定を支援するために、画像に符号化されうる例示的参照信号を詳述している。詳述された参照信号は、空間周波数ドメイン内に−十分に高い周波数で−、クロミナンス−偶然に見る人々にとって参照信号を知覚不可能にさせる−とともに符号化される。
本技術の実施形態は、見る人に対して、この変換ドメインベースの情報を明らかにする。
図11は、印刷されたホスト画像に追加される参照信号210の例示的空間周波数ドメインビューを示し、実数成分が横軸によって表され、虚数成分が縦軸によって表される(いわゆる「u,v」平面)。図示の参照信号は、人間が知覚するには高すぎるが、スマートフォンカメラ内の画像センサによって作り出されたデータ内で検出可能である周波数(つまり、原点からの距離)での、空間ドメインインパルスの五角形の配列212を備える。(ホスト画像の対応する空間周波数ドメインビューは図示しないが、典型的には、u,v平面の全体にわたって散乱しているが、横軸及び縦軸に沿って最も集中している、信号を備えるようになる。)
図11のビューでは、マーカ215は、円215を中心とする。人間の視覚の限界は、より小さい円217によって示される。円217の外側の空間周波数成分から構成される特徴(例えば、マーカ212)は、周波数が高すぎて、見る人々にとって見極め不可能である。(マーカ212が空間周波数内でより低かった場合、マーカ212は、細かいヘリンボーン織りに類似しているピクセルパターンに対応するようになる。より高い周波数では、しかし、目は、織り込みパターン(weave pattern)を区別することができない。むしろ、織り込みは、一見すると平坦になる。)
4つの五角形のマーカ配列212を示すが、もちろん、より少ない又はより多い数を使用することもできる。同様に、マーカは、五角形の形である必要はない。
スマートフォンカメラが参照パターン210を検出するとき、スマートフォンカメラは、それにより、カメラと印刷物の間の相対距離、並びに、印刷物に対するカメラのいかなる回転及び傾きを見極めることもできる。例えば、カメラが印刷物に近付くように動かされる場合、拡大された画像成分が、より低い成分の空間周波数を有するものとして検知される。したがって、五角形のマーカは、原点に近付くように動く。カメラが(参照信号が当初ホスト画像内で符号化された向きに対して)回転される場合、五角形のマーカは、同様に回転されるように見える。カメラが−印刷された画像の一部分が、印刷された画像の他の部分よりもセンサに近くなるように−傾けられる場合、五角形のパターンは歪められる。(五角形のパターンの中心214は、u,v原点を中心とした円215上にもはや位置しておらず、代わりに、楕円上に位置する。)
図12は、例示的スマートフォン表示220を示す。この例示では、スマートフォンは、シリアルの箱の一部分を撮像中であり−そのアートワーク222は、画面の大部分を占有している。画面上に重ね合わせられたものは、上の2つの五角形の参照マーカを含む、検出された参照信号の半平面の描写である。図示の表示はまた、2つの固定された対象領域224−円形の破線で輪郭が描かれている−をも含む。電話をシリアルの箱に向かって、又は、シリアルの箱から離れるように動かし、必要に応じて傾ける/回転させることによって、ユーザは、五角形のマーカ212を2つの対象領域224内へ移動させることができる。この位置で、シリアルの箱からのウォーターマーク信号の読み取りが、最適化される。スマートフォンは、ウォーターマークを直ちに(マーカが対象領域内に位置合わせされる前の可能性が高い)読み取るようになり、電話は、検出されたデータに応答して、対応するアクションを取るようになる。
変換ドメインオーバーレイは、検出された参照信号の強度とともに変化する可視性(強度)で提示されることが望ましい。参照信号が(例えば、パターン検出器によって出力された検出メトリックによって)検出されない場合、オーバーレイは提示されない。より強い信号では、オーバーレイされたマーカ信号は、−バックグラウンド画像222と比較して−より高いコントラストで提示される。いくつかの実施形態では、マーカは、検出された参照信号の強度に応じて、クロミナンス又は明度が変化する配色で提示される。
1つの特定の実装形態では、取り込まれた画像の空間周波数表現が閾値処理されるので、閾値を下回るいかなる空間周波数成分も表示されないようになる。これにより、取り込まれたシリアルの箱のアートワーク222のフーリエドメイン表現によって表示が劣化することを防ぐ。代わりに、オーバーレイされた信号のみが、マーカ信号に対応する。
同様に、空間周波数データを、高域スペクトルフィルタリングして、閾値空間周波数(例えば、図11の円217によって指示された空間周波数)を上回る画像成分のみが示されるようにしてもよい。
円形の対象領域224は、必須ではない。他の視覚的ガイドを提示することができ、又は、完全に省略することができる。後者の場合、ユーザは、マーカ224が平らである(すなわち、水平にわたる)ように、電話を位置決めするように命令されることがある。変換されたデータが(前の段落で説明したように)スペクトルフィルタリングされる場合、ユーザは、マーカがちょうど現れるまで、電話を被写体に向かって−又は、被写体から離れるように−位置決めするように命令されることがある。(実際の実施では、マーカ212の5つの点は、特にカラーでレンダリングされるとき、やや、小さい小妖精の姿−頭、2つの手、及び2本の足−のように見える。ユーザには、したがって、「小妖精の人々を探す」ように命令することができる。小妖精の外観は、各マーカの5つの成分要素に異なる色を与えることによって、特に顕著にすることができ、経時的に色を変え−人をひきつける、きらめき効果を生じることができる。)
図12に描かれた特定の実施形態では、空間周波数情報は、長方形のボックス226内に示される。空間周波数情報のためのフレームとしての役目を果たすことに加えて、このボックスはまた、アートワーク222内で長方形のピクセルの小領域を定義する役目も果たし、長方形のピクセルの小領域において変換ドメイン解析が行われる。つまり、画像のフレーム全体をフーリエドメインに変換する代わりに、ボックス226内のそれらのピクセルのみがそのように変換される。これにより、電話プロセッサへの負荷が低減される。(ボックス226を、小さなくぼみの領域(fovea region)−プロセッサが、ユーザによる電話の最適な位置決めを助けるときに注意を集中させる、ピクセルの小領域−と見なすことができる。)領域226内のピクセルの輝度をわずかに増加又は減少させて−ユーザに対して領域をさらにハイライトすることができる。
ウォーターマーク合図パターン
デジタルウォーターマークは、通常は知覚不可能である。このことは望ましいことであり、その理由は、デジタルウォーターマークは、いかなる可視の変化を導入することもなく、細かいアートワーク及び他のグラフィックスに符号化可能であるからである。しかし、この利点には、関連する欠点があり、つまり、符号化されたデータの潜在的ユーザは、いずれかのウォーターマーキングされたデータが存在するかどうか、確信がない。
従来、この欠点は時々、符号化された視覚的アートワークの角に印刷されて、そのアートワークがウォーターマーク符号化されていることを指示する、小さい視覚的なロゴの使用によって軽減されてきた。
本技術の別の態様によれば、デジタルウォーターマーキングされた情報の存在は、視覚的なウォーターマークパターンをかすかに見えるようにすることによって、視覚的に合図される。
前のセクションで述べたように、ウォーターマークを含む空間周波数要素の周波数が十分に低い場合、空間周波数要素は、織り込み(例えば、標準の五角形のマーカの場合、ヘリンボーン織り)に類似したパターンを生じる。いくつかの応用例では、そのような織り込まれたバックグラウンドパターンは、不快ではない。バックグラウンドパターンは、(例えば、印刷された銀行小切手の上の)多数のコンテキストからよく知られている。そのため、光沢仕上げの写真を含まない文書の場合は特に、文書の有用性を損なうことなく、パターンを挿入することができる。
ユーザは、経時的に学習し、又はトレーニングされて、ある繰り返し発生するパターンを、関連付けられたデータの存在の証拠となるものとして認識することができる。(例えば、オンライン文書内の青い下線付きのテキストの提示が、ハイパーリンクを表すものとして、大部分のユーザにどれほどよく知られているかを考えられたい。)スマートフォンベースのシステムを使用して、そのような独特のパターンの画像を取り込み、ウォーターマークキングされた情報を復号し、対応するアクション(複数可)を取ることができる。
1つの特定の実施形態では、そのようなウォーターマークは、人間の視覚の範囲内である(すなわち、図11の円217の内側の)第1のセットの空間周波数成分と、人間の視覚の範囲を越えている(すなわち、図11の円217の外側の)第2のセットの空間周波数成分とを含む。前者は、手漉き紙の表面の外観−一般に、そのような紙のパルプ繊維の分散に基づくランダムパターンを含む−に類似している、ピクセルドメイン内の対応するパターンを定義するように、u,v平面内で擬似ランダムに分散している成分を含みうる。この第1のセットの空間周波数成分を、すべてのタイプの文書にわたって繰り返し使用して−ユーザが最終的に、符号化された情報の存在の手がかりを与えるものとして認識するようになることが可能である、特性的パターンを作り出すことができる。(パターンの色は、空間周波数成分を異なる色チャネルに入れることによって、応用例に最良に合うように変更されうる。)この一貫したパターンをスマートフォンのウォーターマーク検出器によって使用して、(1)ウォーターマークの存在を迅速に識別し、任意選択で(2)取り込まれた画像の−その当初符号化された状態に対する−変換、スケール及び/又は回転を決定することができる。
第2のセットの空間周波数成分は、この特定の実施形態では、ウォーターマークペイロード情報の一部又は全部を搬送する。この情報は、文書によって変わる。しかし、これらの画像成分は、偶然に見る状況では人間には見えないので、そのような可変性は、ユーザがそれにより符号化情報を含むものとして文書を認識する特性的テクスチャパターンを、妨げない。
ちょうど、カラーの下線付きのテキストが、人々の心の中でハイパーリンクされた情報に関連付けられるようになっているように、独特の可視パターンも同様に、デジタルウォーターマーキングされた情報の存在に関連付けられるようになりうる。
手がかりを与えるパターンは、−非表示情報の存在を指示するために使用された−独特のスクリプト体又は活字書体の形態を取ることさえある。例えば、あるフォントは、独特の拡張特徴−右側で巻いている、又はねじれ、又は結びなど−を含む、セリフを含むことがある。又は、符号化されたウォーターマークデータを含む印刷物は、独特の縁を含むことがある。1つは、3本の細い線によって定義された、フレームを付ける長方形である。別の1つは、2つ又は4つの類似する角のマーカのセット−図13に示すものなど−である。
(いくつかの構成では、そのような縁−又は、角−のマーキングは、元の物理的媒体には存在しないが、媒体内で符号化された信号(例えば、図11又は図14の信号)のスマートフォン検出によってトリガされる画面上のグラフィックオーバーレイとして、レンダリングされる。特定の構成では、そのようなオーバーレイされたマーキングの線は、スマートフォンが次善の見る姿勢である場合、多少ぼけたようにレンダリングされ、ユーザがスマートフォンをより最適な見る姿勢に動かすにつれて、次第に焦点が合うようにレンダリングされる。電話が最適に(例えば、ウォーターマーキングされた被写体の平面ビューでは、6インチの距離で)位置決めされるとき、次いで、線は、くっきりした鮮明な形で提示される。このようにして、電話内のソフトウェアは、見る姿勢の最適性についての情報を、あるユーザにとって多少なじみのある視覚的パラダイム−焦点の、距離への依存−に変換する。)
情報提示の層
いくつかの実装形態では、情報がユーザに提示される3つの概念的な「層」があることがある。これらの層は、視覚層、フラグ層、及びリンク層と呼ばれることがある。
視覚層は、デジタルウォーターマーク情報が存在するという、人間が知覚可能な手がかりである。今述べたように、これらの手がかりは、異なる形態を取ることができる。1つは、符号化された情報の存在を指示するロゴ、活字書体、縁、又は他の印刷されたしるしである。別の1つは、ウォーターマーキング処理の一部として、印刷されたコンテンツ内に導入される、目に見えるアーチファクト(例えば、織り込みのようなデザイン)である。
フラグ層は、ある初期デジタル画像処理の結果としてユーザに提示される(典型的には一時的な)しるしである。1つの例は、上記で言及した「小妖精の人々」である。別の例は、米国特許出願第12/797503号で論じられている「プロトボーブル(proto−baubles)」である。他の例は、米国特許出願第12/774512号で論じられている。フラグ層は、実際にはウォーターマークが存在しているという、最初のかすかな電子的認識としての役目を果たす。(フラグ層は、任意選択で、最適化されたウォーターマーク読み取りのためにスマートフォンカメラを位置決めする際に、ユーザをガイドする支援をするものとしての役目を果たしてもよい。)
リンク層は、ウォーターマークが復号された後にユーザに提示される情報を備える。このことは一般に、リゾルバデータベースを復号されたウォーターマークペイロード(例えば、大数)によりインデックス付けして、どのような振る舞いがそのウォーターマークに関連付けられるかを学習すること、及び、次いで、その振る舞いを開始することを含む。
符号化されたデータ変換
本技術のさらなる態様によれば、ウォーターマークにより符号化されたメディア信号を受信するデバイスは、ウォーターマークデータを復号し、別のデータチャネルによって前方へ中継するように作動することができる。
テレビ、セットトップボックス、又は、ビデオエンターテインメント番組を受信する他のデバイスを考えられたい。番組のオーディオ及び/又はビデオは、例えば、番組を識別する、デジタルウォーターマーク情報により符号化されることがある。消費者は、ビデオ番組をテレビで見ながら、スマートフォン又はタブレットコンピュータを使用中であることがあり、スマートフォン/コンピュータが、見られている番組のアイデンティティを知ることは、有利でありうる(例えば、特許公報の米国特許出願公開第2010/0119208号及び第2010/0205628号に詳述されている理由のため)。従来技術では、このことは、−番組のオーディオ内に符号化されたウォーターマークについては−スマートフォン又はコンピュータ内のマイクロフォンを使用して、周囲のオーディオを取り込み、次いで、取り込まれたオーディオからウォーターマークデータを復号することによって達成されている。しかし、このことは時々、マイクロフォンによって同様に取り込まれることがあり、信頼できるウォーターマーク復号を妨げることがある、他のサウンドによって、困難にされる。
本技術のこの態様によれば、第1のデバイス(例えば、テレビ又はセットトップボックス)は、ウォーターマークデータをコンテンツストリームから復号する。第1のデバイスは次いで、このデータを−異なるチャネルによって−第2のデバイス(例えば、スマートフォン)へ中継する。
1つの例示的実施形態では、テレビ内の復号器は、番組を受信し、オーディオ成分からオーディオウォーターマークを復号する。テレビ内の復号器は次いで、復号されたウォーターマークデータを近くのスマートフォンへ、ブルートゥースワイヤレス技術を介して再送信する。これらのスマートフォンは、このようにして、周囲の室内雑音干渉のないウォーターマークデータを(スマートフォンの内蔵のブルートゥース受信機を使用して)受信する。
復号されたウォーターマーク情報を中継することができる別のワイヤレスデータチャネルは、NFC無線プロトコル(現在、13.56MHzで動作する)である。NFCシステムは典型的には、電磁結合によって近くのパッシブNFCチップ/エミッタに電力供給し、次いで、チップによって発せられた、結果として生じる弱いRF応答を受信するように作動する、受信機(例えば、スマートフォン)を含むが、同じスマートフォンNFC回路は、電力供給された13MHz送信機−テレビ、セットトップボックス、又は他のデバイスが装備可能である−によって送信される信号を受信することができる。最低の標準的なNFCデータレートである106キロビット/秒は、ウォーターマーク関係のサービスにとって非常に十分である(また、−所望であれば−中継されたデータの極めて冗長なエラー訂正コーディングを可能にするために十分に広帯域である)。
復号されたウォーターマークデータをデバイス間で中継するためのさらに別のデータチャネルは、例えば、802.11b、802.11g又は802.11n規格によるWiFiである。
さらに別のデータチャネルは、IR通信−テレビ及びリモートコントロールが一般に通信する種類など−である。この応用例では、しかし、テレビ(又は、セットトップボックス、その他)は典型的には、受信機というよりむしろ、IR放射線のエミッタである。IR通信システムは一般に、940nmの波長を使用する。データは、普及しているRC−5プロトコルの場合、例えば、36KHzのキャリア信号を変調することによって通信される。このプロトコルでは、リモートコントロール上の各ボタンは、14ビットコード送信に対応し、それにより、ボタンが押されるとき、キャリア信号が変調される。ウォーターマークデータは、同様の方式で、例えば、14ビットコードのグループを使用する(それにより、既存の復号ハードウェアがそのような使用のために構成されうるようにする)ことによって、搬送可能である。
1つの特定のシステムでは、テレビ(又は、セットトップボックス)は、ボンジュール(Bonjour)サービスを使用して、復号されたウォーターマークデータの可用性を−他のデバイスに−宣伝する。公報の米国特許出願公開第2010/0205628号に詳述されているように、ボンジュールは、ゼロコンフ(Zeroconf)−サービス発見プロトコル−の一実装形態である。ボンジュールは、デバイスをローカルネットワーク上で探し出し、マルチキャストドメインネームシステムサービス記録を使用して、各々が提供するサービスを識別する。このソフトウェアは、アップルMAC OS Xオペレーティングシステムに組み込まれ、また、アイフォンのためのアップル「リモート(Remote)」アプリケーションにも含まれており、そこでは、WiFiを介してアイチューンズライブラリへの接続を確立するために使用される。ボンジュールはまた、ティーボによって、デジタルビデオレコーダ及び共有されたメディアライブラリを探し出すためにも使用される。ボンジュールを使用して、第1のデバイスは、ネットワーク上の他のデバイスに、ウォーターマークデータの可用性についてアドバイスし、他のデバイスがそのようなデータを得ることを可能にするパラメータを提供する。
前述の原理を、(ウォーターマークではなく)メディアフィンガープリントに関連して採用することもできる。第1のデバイス(例えば、テレビ又はセットトップボックス)は、受信されたメディアコンテンツからフィンガープリントデータを導出し、次いで、別のデータチャネルを介して、フィンガープリントデータを第2のデバイスへ通信することができる。(代替として、第1のデバイスは、フィンガープリントデータをデータベースシステムへ送ってもよい。データベースシステムは、格納された参照データの中で近いマッチを発見して、それにより、フィンガープリントにより識別されたコンテンツに関連付けられたメタデータにアクセスしようと試みる。このメタデータは次いで、発信側の第1のデバイスへ返信されうる。この第1のデバイスは、次に、データチャネルを介して、このメタデータを第2のデバイス上へ中継する。)
スマートフォン支援パーソナルショッピングサービス
本技術のさらに別の態様によれば、スマートフォンは、パーソナルショッピングサービスに関連して使用される。
サービス指向の小売店−あるショッピングセンターで発見されたアップルストアなど−を考えられたい。そのような店内を見て回っている消費者は、スマートフォンを使用して、ある製品(例えば、マックブックプロ(MacBook Pro)コンピュータ)への好奇心を表すことがある。このことは、マックブックプロの画像を取り込むこと、又は、そうでない場合は識別情報を(例えば、デバイス上のRFID若しくはNFCチップから、又は、関連する看板のバーコード若しくはウォーターマークから)検知することを含みうる。スマートフォンは、信号をサービスへ送り、消費者の関心を指示する。例えば、電話は、ワイヤレスで(例えば、WiFi又はブルートゥースによって)、画像又は検知された識別情報を、買物客サービスアプリケーションソフトウェアを実行中のバックオフィスの店のコンピュータへ送ってもよい。
送信された製品情報とともに、電話はまた、バックオフィスコンピュータへ消費者の識別子をも送る。この消費者識別子は、名前、電話番号、アップル顧客番号(例えば、アイチューンズログイン識別子)、又は、フェイスブック(若しくは、他のソーシャルネットワーク)ログイン識別子、その他でありうる。買物客サービスアプリケーションソフトウェアは次いで、もしあれば、その買物客に関連付けられたプロファイル情報を取得する。このプロファイル情報は、アップルが遭遇する、その人のアップルでの履歴−購買履歴、登録されたアップルソフトウェアのリスト、及び、他の買物客についての情報を含む−を含みうる。
買物客サービスアプリケーションソフトウェアは、消費者をパーソナルサービスのためのキューに入れる。キュー内で数名の顧客が前にいる場合、ソフトウェアは、買物客がサービスの前に体験する可能性が高いであろう待ち時間を予測し、この情報を消費者へ(例えば、ユーザの電話へのテキストメッセージによって)送る。
店がパーソナルショッピング店員を顧客に割り当てることができるようになるまでに、遅延があるようになる場合、店は、顧客(例えば、顧客のスマートフォン又は他のコンピュータデバイス)に、時間をつぶす助けとなる、人をひきつけるコンテンツを提供してもよい。例えば、店は、買物客に、アイチューンズメディアストアから入手可能な曲、ビデオ及び他のメディアを無制限に聴く/見る権利を付与してもよい。限られた数のコンテンツ項目のフリーダウンロードが、付与されてもよい。そのような特権は、買物客が店内又は店のそばにとどまる間、継続してもよい。
パーソナルショッピング店員が、顧客を手伝うために応対可能であるとき、ソフトウェアは、買物客に、店員の名前及び店員の写真を含むアラートを送る。予め、買物客のプロファイル情報の抜粋されたバージョン−短縮されたテキスト形式でハイライトを与える−が、ショッピング店員に(例えば、店員のスマートフォンに)提供されて、店員がより良いサービスを提供する助けとなりうるバックグラウンド情報が与えられている。店員は次いで、顧客に近付き、名指しで顧客に挨拶し−マックブックプロについてのいかなる質問にも答える準備ができている。
パーソナルサービスのためのキューは、厳密な先着順サービスではないことがある。代わりに、アップル購買の履歴を有する買物客には、優先度が与えられ−且つ、他者の過去のアップル購買の価格に従って、キュー内で他者より前に上げられ−てもよい。買物客サービスソフトウェアは、いくつかの保護手段を適用して、既存のアップル顧客が店に入るたびに、新しい顧客が必ずしも優先度を下げられるわけではないことを保証する。例えば、キューは、限られた数の優先顧客(例えば、2人)に、キュー内で新しい顧客より前の配置が付与されるように、管理されてもよい。2人の優先顧客が新しい顧客より前に上げられた後、次の優先顧客は、キュー内で、新しい顧客の後(であるが、まだ2回動かされていない他の新しい顧客より前)に挿入される。
キュー管理は、アップルとの過去の取引履歴に加えて、(又は、その履歴以外の)要素によって決まってもよい。公的データベース及び商用データベースのマイニングは、大部分の買物客についての有用な人口統計プロファイル情報の編集を可能にする。買物客サービスコンピュータが、店に入ったばかりの顧客が新型のレクサス(Lexus)自動車のDMV登録者であると思われると決定する場合、その顧客には、古いユーゴ(Yugo)を運転しているとDMV記録が指示する、より早い顧客より前の優先位置が、キュー内で与えられてもよい。(又は、店は、逆のポリシーを採用してもよい。)
アップル取引情報、並びに、公的データベース及び商用データベースから収集されたデータに部分的に基づいて、顧客サービスを管理することに加えて、そのような決定は同様に、顧客によって自発的に提供された情報に基づくことが可能である。例えば、「デジタルウォレット」技術は、個人が、自分のスマートフォン又は他のデバイスから、他者−小売店を含む−へ、自分自身についてのある人口統計及び他のプロファイル情報を容易に共有できるようにする。顧客サービスキュー内の顧客の位置は、そのような自分で明らかにした情報に基づいてもよい。消費者は、自分についてのより多くの情報を入手可能にするほど、より良い顧客サービスが提供されることを発見することがある。
前述の機能性は、顧客のスマートフォンにダウンロードされたアプリケーションプログラムを介して、又は、顧客が誘導される先のウェブサービスとして実装されてもよい。又は、機能性の多くは、テキスト(画像)メッセージング構成−店が任意選択で、他の標準スマートフォンソフトウェア(例えば、ウェブブラウザ又はアイチューンズソフトウェア)を呼び出すリンクを提供する−によって実装されてもよい。
好都合な互換性判定
本技術のさらなる態様によれば、スマートフォンは、ある電子デバイスとともに有用であるアクセサリを迅速に識別するために使用される。
例示的シナリオは、フライズ(Fry’s)など、電子機器の小売店に入る買物客が、自分のHTCサンダーボルト(Thunderbolt)スマートフォン用の保護ケースを探すことである。店には、スマートフォンケースの壁がある。従来技術では、買物客は、異なる各パッケージを吟味し、そのケースが合うスマートフォン(複数可)の指示を探すようになる。このことには、壁からケースの多数を取り外し、ケースをひっくり返し−細かい文字を読むことが必要となりうる。フラストレーションがすぐに生じる。
本技術のこの態様によれば、小売店は、ソフトウェアツールを入手可能にし、ソフトウェアツールが、ユーザのスマートフォン(又は、他のデバイス)にダウンロードされうる。又は、ツールは、ウェブサービスとして提供されてもよい。ユーザは、アクセサリ(ケース、充電器、その他)を含みうるドロップダウンメニューによってなど、何を探し中であるかを指示するように勧められる。ユーザが「アクセサリ」を選択するとき、さらなるダイアログが、アクセサリが探されている製品について尋ねる。ユーザは、「HTCサンダーボルト」と入力する(又は、ドロップダウンメニューから選択する)。(この情報は、多数の他の方法で収集されることがあり−このデータ収集段階の特定の実装形態は、特定の店の事情に合わせて構成されうることは、当業者には理解されよう。)
店のソフトウェアが、顧客の使命を、HTCサンダーボルト電話用のアクセサリを識別するものとして識別する、データを収集すると、店のソフトウェアは次いで、データベースを検索して、その店の在庫品のうち、そのようなデバイスと互換性があるすべての製品を識別する。このことは、店の製品のためのデータシートをテキスト検索して、関連キーワードを有する製品を識別することによって、行われうる。又は、アクセサリのベンダが、そのような互換性情報を、標準化された形式−UPCコードのリストによって、又は、アクセサリが互換性を有する各製品のための他のそのような識別子など−で、店が使用できるようにしてもよい。
1つの特定の実装形態では、店は、互換性のある製品の識別子のリストを、買物客のデバイスにダウンロードする。ソフトウェアは次いで、買物客に、保護用スマートフォンケースの陳列(買物客がまだそこにいない場合、8B通路の中ほどで発見される)を物理的にスキャンするようにアドバイスし、HTCサンダーボルトと互換性のあるアクセサリに対して、電話が青信号を表示する(又は、別の確認信号を出力する)ことを、買物客に知らせる。
スキャニング機構は、−やはり事情に応じて−様々な種類のものでありうる。製品パッケージにはそれぞれ、RFID又はNFCチップが装備されてもよく、このチップは、電話が近接近に持ち込まれるとき、スマートフォンに対して製品を電子的に識別する役目を果たす。(NFCリーダは、間もなく、大部分のスマートフォンの標準機能になるであろう。)又は、画像認識技法を使用することができる。(多数であるが、限られた数の保護ケースが壁にあり、各々が異なるパッケージを有する。店のコンピュータは、ストリーミングカメラデータの解析によって、SIFT又はSURFデータなどの視覚的フィンガープリントデータ、又は、それによりスマートフォンがこの限られた多数から特定のパッケージを視覚的に識別することができる他の特性的情報を、ダウンロードすることができる。)
さらに別の構成では、スマートフォンは、そのカメラによって取り込まれた画像をウォーターマーク検出器に適用し、ウォーターマーク検出器は、製品パッケージのアートワークに符号化された複数ビットデータを抽出する。又は、バーコード読み取りを使用することができる。
電話が近くの製品から識別子を取り入れるとき、予めダウンロードされた、互換性のあるデバイスのための識別子のリストが、マッチについてチェックされる。スキャンされた製品の識別子が、ダウンロードされた互換性のある製品のリストの中で発見される場合、適切な指示がユーザに対して出力される。
そのような構成によって、スマートフォンは、ガイガーカウンタに類似した方法で作動する。顧客が電話を、陳列された保護ケースに沿って動かすとき、電話は、顧客の注目を関心のある特定のアイテム(すなわち、HTCサンダーボルト電話を保護するように構成されたケース)に集めるように、信号を出す。ユーザは次いで、どのケースが購買のために適した候補であるかという基本的な疑問で頭を悩ませるのではなく、他の考慮すべき事柄(例えば、価格及び美しさ)に問い合わせを集中させることができる。
前述の構成は、多数の変形を受けるが、なお、互換性へのインタラクティブなガイドを提供することは理解されよう。例えば、店は、互換性のある識別子のリストをスマートフォンにダウンロードする必要はない。代わりに、スマートフォンは、検知された識別子を店のコンピュータへ送ることができ、店のコンピュータは次いで、そのような識別子を、互換性のある製品のリストに対してマッチングすることができる。同様に、互換性のある製品のリストが事前に生成される必要はない。代わりに、店のコンピュータは、スキャンされた識別子を顧客のスマートフォンから受信し、次いで、オンザフライで、(例えば、次いで、その製品に関連付けられたデータを呼び戻し、HTCサンダーボルト電話が互換性のある製品の1つであるという指示についてチェックすることによって)スキャンされた製品に互換性があるかどうかを判定することができる。
同様に、検知されたパッケージからの製品識別子の検出は、電話によって行われる必要はない。例えば、カメラ画像が電話から店のコンピュータへ流されてもよく、そこで、カメラ画像を(例えば、パターン認識技法、ウォーターマーク認識技法、又はバーコード認識技法によって)処理して、関連付けられた識別子を得ることができる。
識別子は、製品パッケージから見極められる/導出される必要はない。棚のタグ又は他のマーキングもまた、製品識別のための基礎としての役目を果たすことができる。
特定の実装形態に応じて、識別子をマッピング又は変換して、互換性を判定するステップがあってもよい。例えば、棚のタグは、店の独自のSKU番号を持つことがある。しかし、それにより互換性が指示される参照データ(例えば、製品のデータシート)は、UPCコードによって製品を識別してもよい。このようにして、システムは、互換性の判定において、検知されたSKU番号からUPCコードを調べる必要がありうる。
当然、これらの原理は、ビデオプレイヤのための車内充電器の発見、携帯電話のための不明瞭なバッテリの発見、又は、カメラのためのメモリカードの発見など、他の関連製品の対に適用可能である。
コンピュテーショナルフォトグラフィ(Computational Photography)及びサブリミナルな参照情報
コンピュテーショナルフォトグラフィは、取り込まれた画像データをアルゴリズムにより改変して、向上した形式の画像を生じる、画像処理技法を指す。一例は、画像ぼけ除去である。
画像ぼけは、必然的に小さいサイズのカメラ開口部による、スマートフォンカメラに特有の問題であり、センサへ送られる光の量が制限されるので、比例して延ばされた露光時間が必要となる。延ばされた露光時間により、ユーザがより長い期間にわたってカメラを固定して押さえることが必要となり−モーションブラーのリスクが増す。(そのような電話の軽量さもまた、モーションブラーのリスクを増す−そのような電話には、SLRなど、より重いカメラが提供する慣性安定度が欠如している。)
ぼけは、動き以外の現象によって導入されることがある。例えば、レンズ光学系は典型的には、特定の焦点面及び被写界深度内で被写体に焦点を合わせる。焦点が合った視野の外側にあるオブジェクトは、ぼける(いわゆる「焦点ぼけ」)。
ぼけ関数を、数学的に特徴付けることが可能であり、特徴付けると、逆関数の適用によって打ち消すことが可能である。しかし、ぼけ関数は通常、直接測定することができず、むしろ、典型的には推定され、反復改良されなければならない。ぼけた画像からぼけ関数を回復すること(ブラインドデコンボリューション(blind−deconvolution)問題として知られる)は、不確実な努力であり、その理由は、ぼけた画像のみでは、典型的には部分的制約のみをもたらすからである。
代替的な元の画像間の曖昧性除去、及び、関連付けられたぼけ関数(一般に、ぼけ「カーネル」)のより良い推定を助けるため、ぼけていない元の画像についての何か−いわゆる「事前制約」(又は、単に「画像プライア(image prior)」)を知ることが助けになる。
例えば、特許出願公開20090324126では、マイクロソフト(Microsoft)の研究者は、画像が一般に、類似する配色の領域によって特徴付けられることを観察している。多少ぼけたとしても、これらの領域は、その同じ全体的な配色を保持する傾向がある。局所的な画像の色は、ぼけに対して不変である傾向があるので、ぼけ関数のより良い推定を生じる助けとなるように使用することができる、画像プライアとしての役目を果たすことができる。
別の画像プライアは、ハッブル(Hubble)望遠鏡からの画像の鮮明化を助けるために使用されたが、ハッブル望遠鏡は元々、歪みを導入する鏡の変形を欠点として持っていた。取り込まれた画像における大部分の光源が円板(又は、点光源)であったことは、理解された。この知識により、候補の矯正的なぼけカーネルを、処理された画像がそれらの元の円板の形で星を描くまで、反復して修正することができた。(例えば、Coggins他、Iterative/Recursive Deconvolution with Application to HST Data」、ASP Conference Series、Vol.61、1994年、及び、Adorf、「Hubble Space Telescope Image Restoration in its Fourth Year」、Inverse Problems、Vol.11、639、1995年を参照。)
(別のグループのぼけ除去技法は、取り込まれた画像の特徴についての事前情報に焦点を合わせておらず、むしろ、画像取り込みについての技術的属性に関する。例えば、以前に言及したマイクロソフトの研究チームは、カメラに慣性センサ(例えば、加速度計及びジャイロスコープ)を装備して、画像露光中のカメラの動きについてのデータを収集した。この動きデータが次いで、矯正的なぼけカーネルの推定において使用された。Joshi他、「Image Deblurring Using Inertial Measurement Sensors」、SIGGRAPH ’10、Vol 29、No 4、2010年7月を参照されたい。(対応する特許出願が、シーグラフ(SIGGRAPH)より前に出願されたとも考えられている。)アドオンハードウェアセンサを有するSLRとの関連で詳述したが、出願人は、マイクロソフトの方法が、スマートフォンとともに使用するために適していると考える(スマートフォンには、ますます3D加速度計及びジャイロスコープが装備されるようになっており、アップルアイフォン4を参照)。)
本技術の別の態様によれば、既知の参照情報が、カメラ(例えば、スマートフォン)によって撮像されうるシーンに導入されて、画像の向上を可能にする画像プライアがもたらされる。
図12に描かれたシリアルの箱を考えられたい。そのアートワークは、空間周波数が高すぎて人間の観察者には見えないマーカ特徴により、サブリミナル的に符号化される。それでも、これらのマーカの形及び周波数は、事前に知られている。(これらのマーカは典型的には、一般的なウォーターマーキング技法によって標準化される。一例は、ディジマーク画像ウォーターマーキング技術であり、アドビ(Adobe)フォトショップ[登録商標](Photoshop[登録商標])とともに提供される。)これらのマーカを、このようにして画像プライアとして使用することができ−シリアルの箱の画像を、いかなるモーションブラー−又は、焦点ぼけ−をも打ち消すように処理することができる。
事前情報を、空間周波数ドメイン内で使用することができ(事前情報が、インパルス関数の五角形の配列として現れる)、又は、ピクセルドメイン内で使用することができる(事前情報が、特性的織り込みパターン−周波数が高すぎて、見る人によって見極めることができないが、カメラにより取り込まれた画像から検出可能−として現れる)。
知られているブラインドデコンボリューション技法を使用して、そのようなプライアは、ぼけカーネルの反復改良を可能にし、ぼけカーネルが次いで、取り込まれた画像内のいかなるぼけをも打ち消すために適用されうる。
例示的実装形態は、リチャードソン−ルーシー(Richardson−Lucy)技法を使用し、この技法は、Richardson、「Bayesian−Based Iterative Method of Image Restoration」、J.Opt.Soc.Am.62、55〜59、1972年、及び、Lucy、「An Iterative Technique for the Rectification of Observed Distributions」、The Astronomical Journal、Vol.79、No.6、1974年6月という、2つの出版物に遡る。そのような方法は、その後の数十年間において改良されている。例は、マイクロソフト及びMITによる特許出願、例えば、2010123807、2008240607、2008025627、2010074552、及び2009244300に示されている。
ピクセルドメイン内の大部分のぼけは、−周波数ドメイン内のぼけとしてよりもむしろ−フーリエドメイン内の高周波数での強度の低減として、より明示される。よって、フーリエドメイン内で鮮明に定義されたパターンを発見する能力は、−フーリエドメイン信号の振幅が十分であるとすれば−ピクセルドメインぼけに耐える傾向がある。特定の応用例における特定の振幅は、ヒューリスティックに決定されうる。わずかなぼけのみの補正が予想される(例えば、スマートフォンカメラの応用例における小さい手の震えによるモーションブラー)場合、比較的低い振幅のフーリエマーカ信号が採用されうる。より大きなぼけが予期される場合、より強いマーカ信号が使用されるべきである。(振幅の減少は、マーカ(複数可)を比較的より低い周波数に、例えば、図11の線217により近くなるように置くことによって、軽減されうる。)
今述べたように、マーカ信号は、ぼけ補償に関してその有用性を最適化するように、周波数が調整されうる。マーカ信号はまた、形も調整されうる。例えば、−図11の場合のように−5つのインパルス関数から構成されるマーカの代わりに、ぼけ軽減マーカ信号は、1つ又は2つなど、より少ない数の要素を備えてもよい。同様に、インパルス関数成分の代わりに、そのようなマーカは、水平に、垂直に、及び/又は、中間の角度で配置された細長い区分からなり−モーションブラーの存在下でロバスト性の改善を助けてもよい。一例は、図14に示すパターン302である。
特許6,590,996に詳述されているように、ウォーターマーク信号は、様々なセットの信号要素を含みうる。1つのセットは、登録信号のセットを備えうる。登録信号は、比較的強力に符号化され、ウォーターマーキングされた画像の変換、スケール及び回転を決定できるようにする。これらのパラメータがわかると、このようにして知らされたウォーターマーク検出器は次いで、ウォーターマークペイロードデータの大部分(又は、すべて)を搬送する、第2のセットの要素を回復することができ、第2のセットの要素は、より多数である(且つ、典型的にはより弱く符号化される)。
図11及び図14のマーカ信号を、特許6,590,996の登録信号のような方法で使用して、取り込まれた画像についてのアフィンパラメータを決定することができる。そして、図11及び図14のマーカ信号はまた、ぼけ補正のために、画像プライアを提供する二重の目的を果たすこともできる。
特定の実施形態では、パターン210/302によって提供されたサブリミナルなマーカを画像プライアとして使用して、ブラインドデコンボリューションが、ぼけた画像に適用される。反復補正が画像に適用されて、−画像をより鮮明な形に復元することを求めて−ぼけ効果が低減される。(ぼけ補正されたフーリエドメインマーカ信号の強度を評価することは、使用可能な1つのメトリックである。)ウォーターマーク読み取り動作が次いで、ぼけ補償された画像において行われ−複数ビットペイロード情報の回復が可能にされる。このようにして、結果として好循環が生じ−マーカ信号は、画像のぼけ除去において有用であり、結果として生じるぼけ除去された画像は、より良く復号されたウォーターマークの結果を生じる。
いくつかの実施形態では、ウォーターマークペイロードは、元の画像についての統計値を搬送する様々なビットを含んでもよい。非常に様々な画像統計値が、従来技術では、ぼけの除去を支援するために、画像プライアとして使用されている。従来技術に関する問題は、しかし、−ぼけた画像のみが使用可能であるときに−信頼できる画像統計値を得ることである。デジタルウォーターマークは、そのような情報を画像からぼけ除去システムへ確実に搬送することができる、チャネルを提供することができる。
いくつかの実施形態では、マーカ信号210/302は、それら自体で情報を搬送することができる。例えば、成分マーカ要素の位相を選択的に反転させて、限られた数のビットを搬送することができる。このように搬送されうる1つの画像統計値は、元のアートワークの平均輝度である。この統計値は、異なる反復されるぼけ解決策の精度の評価において有用である制約を提供する。
(異なるウォーターマークペイロードを、アートワークの異なる領域−一般に、長方形のタイル−内で符号化することができる。これにより、いくつかの局所統計値が搬送可能になる。例えば、図12に描かれたシリアルの箱のアートワークは、6×4のウォーターマークタイルの配列を備え、24個の異なる空間領域のための統計値を搬送可能にしてもよい。)
大部分の画像は、シリアルの箱を含んでいない。しかし、ウォーターマーキングされたデータは、多数の一般の環境に挿入可能であり、上記で説明したように、画像プライアを提供する役目を果たすことができる。例えば、カーペット及び室内装飾材料の織物は、ウォーターマークパターンを含みうる。そのようなウォーターマークパターンが発見されるいかなる環境でも、そのような環境で取り込まれた画像の品質を、前述のぼけ補正技法によって向上させることができる。(他のコンピュテーションフォトグラフィ方法は同様に、そのようなウォーターマーク信号に依拠することができる。)
大部分の実施形態は、信号の周波数のために人間の視覚的知覚の範囲外(例えば、図11及び図14の円217の外側)である、ウォーターマーク信号を使用するが、他の実施形態では、信号のクロミナンスのために注意を免れる、ウォーターマーク信号が追加されてもよい。人間の目は、例えば、黄色に対して比較的鈍感である。したがって、既知のマーカパターンが、黄色で印刷される場合、より低い周波数で挿入されてもよい。同様に、一般に人間の知覚の範囲外にあるが、画像センサによって検出可能である、他のインクもまた使用可能である。
先を見越すと、フリッカー(Flickr)及びフェイスブックなど、オンライン写真リポジトリは、アップロードされた画像を、ウォーターマークについてルーチン的にチェックしてもよい。ウォーターマークが発見されるときはいつでも、サービスは、コンピュテーショナルフォトグラフィ方法でそのような信号を採用して、画像を向上させることができる。
(事後の画像補正手順との関連で説明したが、同じ技法を、画像取り込み処理前又は処理中に同様に採用することができる。例えば、サブリミナルなマーカ信号は、焦点がどこで確立されるべきかの決定において、カメラの自動焦点システムを支援することができる。)
さらにぼけについて
引用したJoshi他の論文は、ぼけカーネルの推定値を改良するために、慣性データをどのように使用することができるかについて、教示している。しかし、慣性データのより簡単な適用は、最終的により広範囲に有用となりうる。
1つの特定の構成では、スマートフォンカメラは、画像フレームのシーケンスを(例えば、ストリーミング取り込み、又は、ビデオモードで)取り込む。各フレーム中に、電話の動きが、−電話の3Dジャイロスコープ及び/又は加速度計によってなど−検知される。画像フレームのストリームのうち選択された(つまり、低い電話の動きに基づいて選択された)ものが次いで、位置合わせ及び結合され、向上した画像として出力される。
そのような向上した画像は、例えば、デジタルウォーターマーク検出器に適用されうる。画像の向上により、検出器は、復号された情報をより迅速に出力できるようになり(その理由は、検出器が周辺信号の回復においてそれほど長く機能する必要がないためである)、よりロバストなウォーターマーク回復(例えば、不十分な照明、画像破損、及び他の課題にもかかわらず、復号すること)が可能になる。
結合されることになる画像フレームの選択は、異なる方式で進むことが可能である。例えば、動き閾値を(例えば、ジャイロスコープにより検知された、毎秒の回転度で)設定することができ、その閾値を下回る動きを有するフレームを結合することができる。(又は、別のビューでは、その閾値を上回る動きを有するフレームが無視される。)結合されることになるフレームの数を事前に設定する(例えば、閾値基準を満たす最初の6個のフレームを使用する)ことができ、又は、この技法は、そのようなテストに合格するシーケンス内のすべてのフレームを利用することができる。別のオプションは、対象のフレームカウントに関する閾値(例えば、10)を設定し、次いで、−取り込まれたフレームのシーケンスから−(値がどのようなものでも)最低値の動きデータを有する、対象数のフレームを選択することである。
フレームの結合は、簡単な平均によるものでありうる。又は、加重平均を使用することができる。各フレームに割り当てられる重みは、関連付けられた動きデータによって決まってもよい。重み付けは、より詳細には、フレームのそれぞれの動きデータ間の関係に基づくので、フレームが「より静止している」ほど、フレームがより平均に寄与するようになることが望ましい。1つ又は複数のフレームがゼロの動きを有する場合、最大の重み値が与えられるべきであり、ゼロでない動きの値を有するフレームには、ゼロの重み値が与えられるべきであることが好ましい。そのようなフレーム依存の重み付け係数「k」を確立するための1つのアルゴリズムは、以下の通りである。
=[Motion(FrameMIN)/Motion(Frame)]
但し、kは、フレーム「A」のための重み付け係数であり、Motion(Frame)は、フレーム「A」の毎秒の度単位の動きであり、Motion(FrameMIN)は、選択されたセット内のフレームのすべての中の最小の動きであり、Xは、指数関数的比率係数(exponential ratio−ing factor)である。
ぼけを低減することに加えて、そのような技法はまた、スマートフォンにより取り込まれた画像の雑音を除去するためにも有効である。
ハイブリッドウォーターマーク/顕著点/バーコード/NFC構成
以前に引用した米国特許出願第13/079327号は、印刷された文書(例えば、新聞)から取り込まれた画像が、スマートフォン画面上に補助情報とともにレンダリングされ、補助情報が、幾何学的に位置合わせされた方式でオーバーレイされる構成を、詳述している。公開された出願20080300011は、関連技術を詳述している。
これらの今述べた出願の好ましい実施形態は、ページ内に符号化されたウォーターマーク信号の登録信号成分を参照することによって、ページに対するスマートフォンの姿勢を見極める。このウォーターマークのペイロードが、ページに関係付けられた補助情報を含むデータベースにアクセスするために使用される。この補助情報は次いで、ページから取り込まれた画像の上で、見極められた姿勢によって決まる画面上の位置にオーバーレイされる。
以前に引用した米国特許出願第13/011618号は、やや異なる構成を教示しており、ユーザが、スマートフォン画面上に提示された、撮像されたページの一部分をタップする。取り込まれた画像から復号されたウォーターマークペイロードは、データベースへ送られ、データベースは、見られているページに対応するページレイアウト情報を返す。(ページレイアウトデータは、ページを構成するときに使用されたパブリッシングソフトウェアから以前にエクスポートされ、データベース格納された。)ウォーターマークの登録信号成分から見極められたスケール及び回転情報を、取得されたページレイアウトデータとともに参照することによって、電話は、ユーザのタップによって指示された物理的ページ上の座標(例えば、印刷されたページの左上角から4インチ下、及び、6インチ右)を決定する。これらの決定されたページ座標を参照することによって、ページのその特定の部分に関する補助情報が識別され、スマートフォン画面上に提示される。
本技術の別の態様によれば、印刷されたページ−又は、他のオブジェクト−上の異なるロケーションに対応する情報を提示するための、異なる構成が利用される。
1つの特定の実施形態では、ページに対するスマートフォンのロケーションは、ウォーターマーク信号の登録成分を参照することによって決定されない。代わりに、復号されたウォーターマークペイロードがリモートサーバ(データベース)へ送られ、リモートサーバ(データベース)が、ページについての情報を返す。米国特許出願第13/011618号とは異なり、しかし、返される情報は、パブリッシングソフトウェアからエクスポートされたページレイアウトデータではない。代わりに、データベースは、ページ上に存在する顕著点(特徴)についての、以前に格納された参照データを返す。
(顕著点は、例えば、ページの最上の角から下及び横に数インチによってなど、元のページ上の顕著点の座標に関して簡単に識別されうる。加えて、又は代替として、他の情報−典型的には、特徴ベクトル−を提供することができる。個々の、無関係な点を識別する代わりに、データベースから返される情報は、顕著点の配列を特徴付けてもよい。)
スマートフォンは、様々な方法で見られているページ上の参照顕著点についてのこの知識を使用することができる。例えば、スマートフォンは、データベースによって識別された顕著点を、電話の視野内で発見された顕著点とマッチングすることによって、ページのどの特定の部分が撮像されているかを識別することができる。
ユーザに提示された補助データもまた、顕著点の機能でありうる。例えば、スマートフォンは、リモートサーバへ、電話の視野内でマッチングされる識別された顕著点のリストを送信することができる。このサブセットは、見られているページの領域を正確に位置測定する役目を果たすので、その領域に特に対応する(例えば、ユーザにとって関心のある特定の記事に対応する)補助情報を、電話に返すことができる。代替として、例えばページの全体に、又は、新聞のすべてのページに対応する、より大きいセットの補助データを、ウォーターマークペイロードに応答して、データベースから返すことができる。スマートフォンは次いで、このより大きいセットのデータの中から選択し、(顕著点によって決定されるような)撮像されている特定のページ抜粋に対応するサブセットのみを提示することができる。ユーザが電話を動かして、オブジェクトの異なる部分を撮像するとき、異なるサブセットを迅速に提示することができる。
データベースによって返された参照顕著点を利用することができる別の方法は、ページに対する電話の姿勢の決定におけるものである。オブジェクトに対するカメラの3D姿勢は、カメラレンズを通したその視野の投影とともに、取り込まれた画像内のどこに顕著点が現れるかを一意に決定する。取り込まれた画像、及び、オブジェクトの平面ビュー内の顕著点の位置についての参照データが与えられると、3D姿勢を決定することができる。(正確な姿勢の決定には、例えば、焦点距離及び画像フォーマットなど、カメラ/レンズによって影響を受ける投影についてのある情報が必要となる。)
オブジェクトの姿勢が決定されると、任意のオーバーレイされる情報、例えば、ページのスマートフォンのビューにマッチする回転、スケール、変換、及び/又は、アフィンワープ若しくは遠近ワープを用いて、下にある画像に幾何学的に位置合わせされ得る。
(情報を画像上に、顕著点に基づいて、幾何学的に位置合わせされる方式でオーバーレイすることは、拡張現実から知られている。例えば、特許文献7,616,807、7,359,526、20030012410、及び20100232727、並びに、記事、Reitmayr、「Going Out:Robust Model−based Tracking for Outdoor Augmented Reality」、Proc. 5th IEEE/ACM Int. Symp. on Mixed and Augmented Reality、2006年、109〜118ページ、及び、Genc、「Marker−less Tracking for AR:A Learning−Based Approach、Proc. 1st IEEE/ACM Int. Symp. on Mixed and Augmented Reality、2002年、295〜304ページを参照されたい。)
1つの特定の構成では、データベースはまた、スマートフォンに提供された顕著点情報に関係付けられた、スケール及び回転データをも返す。例えば、データベースは、どの方向が撮像されたオブジェクトの上部に向かう(すなわち、垂直である)かを指示するために有用な数値を返してもよい。この値は、例えば、垂直と、最初にリストされた顕著点と最後にリストされた顕著点との間の直線との間の、角度を表現することができる。同様に、データベースは、オブジェクト(例えば、新聞)が当初印刷されたスケールにおける、最初にリストされた顕著点と最後にリストされた顕著点との間の距離−インチ単位−を指示する数値を返してもよい。(これらの簡単な例示は、例示的でしかないが、概念を例示する役目を果たす。)
関連して、データベースから返された顕著点はまた、グラフィカルなしるし−ボックス、縁、メニュー、その他など−のサイズ決定及び位置決めにおけるガイドとしての役目を果たすこともできる。例えば、スマートフォンは、電話の表示上で境界ボックスを−5、32、44及び65と番号付けされた顕著点を包含するためにちょうど十分な大きさのサイズで、縁部が表示の縁部に対して平行であるように−レンダリングするように命令されうる。顕著点は同様に、それを参照することによって他の情報がサイズ決定又は提示されうる、オブジェクト内の目安としての役目を果たすことができる。
参照顕著点情報のさらに別の使用は、焦点距離など、カメラのレンズシステムの固有のパラメータの決定におけるものである。典型的には、そのような仕様は、メーカーから入手可能であり、又は、カメラによって出力されたメタデータ内で(例えば、EXIFデータ内で)入手可能である。しかし、不明の場合、写真測量法の分野の当業者にはよく知られているように、レンズパラメータを、既知の顕著点を含む画像の解析から経験的に決定することができる。(他者は、そのような方法の実装において、Hartleyによる書籍、「Multiple View Geometry in Computer Vision」、Cambridge University Press、2004年、及び、Pollefeysによる論文、「Self−Calibration and Metric 3D Reconstruction from Uncalibrated Image Sequences」、Catholic University of Leuven、1999年など、参考文献を調べることができる。)
上記で説明した構成では、ウォーターマーク信号の登録成分は使用されず、ウォーターマークのペイロードのみが採用される。そのような構成では、他のデータ搬送機構が代替として使用されてもよく、バーコード、OCR、近距離無線通信チップ(RFID)、その他などである。
埋め込まれたか、又は取り付けられたNFCチップを含む、印刷されたポスターを考えられたい。NFCリーダが装備されたスマートフォンは、ポスターのNFCチップから複数シンボル識別子−ポスターを識別する役目を果たす−を検知する。このポスター識別情報は、電話によってデータベースへ送信され、データベースは、ポスターに関連付けられた顕著点を返す。ユーザは次いで、位置依存の方法で、ポスターとインタラクトすることができる。
例えば、全体としてポスターに一般的である応答データを提示する(すなわち、典型的なNFC使用モデルの)代わりに、ユーザは、スマートフォンカメラで、ポスターの異なるエリアを撮像することができる。電話は、取り込まれた画像内の顕著点を識別し、識別した顕著点を、NFCポスター識別データの提出に応答してデータベースから返された顕著点とマッチングする。そのような構成によって、スマートフォンは、ポスターのどのような抜粋が撮像されているか(及び、望むなら、ポスターに対する電話の姿勢)を見極める。そのような抜粋に特に対応する補助情報が次いで、ユーザに(望むなら、幾何学的に位置合わせされた画面オーバーレイとして)提示される。このようにして、そのようなユーザは、ポスターの第1の部分を見ている場合、ある応答が提示され、ポスターの第2の部分を見ている場合、異なる応答が提示されうる。
より一般には、そのような顕著点の方法は、極めて正確なロケーション決定方法−例えば、GPSよりも分解能がはるかに細かい−としての役目を果たすことができる。ポスターを含む現場を考えられたい。ポスター上の固定点(例えば、ポスターの中心)の位置が、事前に決定され、そのような情報が、ポスターに含まれたNFCチップのペイロードによって識別されたデータベースレコードに格納される(又は、チップのデータペイロードの一部として符号化される)。基準点の位置は、緯度/経度/高度(ジオロケーションデータ)など、様々な形式で、又は、単に、ポスターの顕著点に対するそのロケーション(例えば、ポスターの中心、又は、左上角)によって、表現されてもよい。ロケーションデータはまた、姿勢情報、例えば、ポスターが向いているコンパス方向、及び、ある場合、その水平及び垂直の傾き(度単位)をも含みうる。このNFCチップを検知するユーザは、ポスターのロケーション座標、並びに、ポスターアートワークに関する顕著点情報を、データベースから得る。スマートフォンは次いで、電話の現在の観点から取り込まれた画像を解析し、ポスターに対する電話の姿勢を見極める(例えば、中心から3インチ右、4インチ下、及び、ポスターから24インチ、10度の傾きで上方を、20度の角度で右の方を見ており、電話はポスターに対して時計回りに4度傾いている)。この顕著点により決定された姿勢情報を、ポスターの既知の位置とともに使用することによって、電話の絶対6D姿勢が決定される。
当然、そのような方法を、ポスター以外のオブジェクトとともに使用することができる。そして、このようにして決定されたスマートフォンのロケーションを、ロケーション決定に依拠する大部分の方法に関連して使用することができる。
顕著点−関心点、又は、局所的特徴として知られることがある−は、コンテンツベースの画像取得(CBIR)及び他の画像ベースの技術からよく知られている。一般的に言えば、そのような点は、画像内で、1つ又は複数の選ばれた画像特徴に対して有意な局所的変化があるロケーションであり−そのようなロケーションが、独特で検出されやすくなる。そのような特徴は、輝度、色、テクスチャ、その他など、単純なパラメータ、又は、より複雑なメトリック(例えば、ガウス差分(difference of Gaussians))に基づくことが可能である。各顕著点は、画像内のそのロケーションと、点の向きと、及び/又は、そのロケーションに関連付けられた情報を表す特徴ベクトルとを指示する、データによって表すことができる。(SURF実装形態で一般に使用される特徴ベクトルは、関心点の周りに配列された16個の異なる正方形ピクセルブロックの各々についての輝度勾配情報の4つの値を詳述する、64個のデータを備える。)
顕著点は、個々のピクセル(又は、画像内のサブピクセルのロケーション)に対応してもよいが、顕著点検出器は典型的には、角など、2D構造に焦点を合わせるか、又は、ピクセルの正方形エリア内の勾配を考慮する。顕著点は、1つの特定のタイプの局所的画像記述子である。上記で詳述した構成は、他のそのような記述子とともに同様に使用することができる。特定の実装形態では、SIFT又はSURFアルゴリズムによって使用される顕著点を使用することができる。つまり、ウォーターマーク、NFC、又は他のオブジェクト識別子をスマートフォンから受信することに応答して、リモートサーバ/データベースは、そのオブジェクトに対応するSIFT又はSURFデータのセットを返すことができる。
(SIFTは、スケール不変特徴変換(Scale−Invariant Feature Transform)の頭字語であり、David Loweによって開拓され、「Distinctive Image Features from Scale−Invariant Keypoints」、International Journal of Computer Vision,60,2(2004年)、91〜110ページ、及び、「Object Recognition from Local Scale−Invariant Features」、International Conference on Computer Vision、Corfu、Greece(1999年9月)、1150〜1157ページを含む、彼の様々な論文において、並びに、特許6,711,293において説明されている、コンピュータビジョン技術である。SURFは、関連があり、例えば、Bay他、「SURF:Speeded Up Robust Features」、Eur. Conf. on Computer Vision(1)、404〜417ページ、2006年、並びに、Chen他、「Efficient Extraction of Robust Image Features on Mobile Devices」、Proc. of the 6th IEEE and ACM Int. Symp. On Mixed and Augmented Reality、2007年、及び、Takacs他、「Outdoors Augmented Reality on Mobile Phone Using Loxel−Based Visual Feature Organization」、ACM Int. Conf. on Multimedia Information Retrieval、2008年10月に詳述されている。)
上記で説明した動作への予備的な行為として、オブジェクトのための参照顕著点データが、(典型的には、オブジェクトの所有者又は発行者によって、オブジェクトが印刷される元のファイルの解析から)決定され、このデータが、そのオブジェクトのための識別子(例えば、NFC識別子、又は、ウォーターマーク若しくはバーコードペイロード、その他)に関連してデータベースに格納される。
いくつかの構成では、顕著点データは、事前に決定及び格納されないことがある。代わりに、顕著点データは、例えば、クラウドソースされる方式で、使用を通して開発されてもよい。例えば、ユーザは、ポスターから画像を取り込み、ウォーターマークペイロードを復号し、顕著点情報を取り込むことがある。ウォーターマークペイロードとともにデータベースにクエリを行うとき、スマートフォンは、そのオブジェクトについて予め格納された顕著点参照情報がないことを発見することがある。スマートフォンは次いで、電話によって見極められた情報を提供するように、データベースによって要求されることがあり、要求に対して、スマートフォンは、その顕著点情報を格納のためにデータベースへ転送することによって、応答することができる。
スマートフォンは、加えて、電話−オブジェクト姿勢に関する情報を送ってもよい。例えば、電話内のウォーターマーク検出器は、−ウォーターマーク信号に含まれた登録信号成分を参照することによって決定されるような−そのオブジェクト観点のスケール、回転及び変換を特徴付けるアフィン変換パラメータを提供してもよい。又は、電話プロセッサによって実行される画像処理アルゴリズムは、姿勢情報の少なくともいくつかの態様(複数可)を、視野内で描かれた既知の項目(例えば、正方形の2Dバーコードの縁部)の見かけの歪みを参照することによって、見極めてもよい。さらに他の構成では、電話は、データベースに、取り込まれた画像データを送ってもよく、そのような姿勢推定方法を、−電話ではなく−データベースに関連付けられたプロセッサによって行うことができる。又は、姿勢データを、他の方法で(例えば、音響エコー技法、加速度計/ジャイロスコープ/磁力計センサデータ、無線ベースのロケーション、その他によって)決定することができる。)
そのような姿勢情報を参照することによって、データベースに関連付けられたプロセッサは、電話により提出された顕著点情報を処理し、正規化して、姿勢関連の歪みを低減又は除去し、顕著点情報を後で使用するために参照データとして格納することができる。(又は、そのような正規化は、スマートフォンによって、顕著点情報を格納するためにデータベースに提供する前に、行われてもよい。)この正規化された顕著点情報は次いで、第2のスマートフォンがその後にデータベースにクエリを行って、そのオブジェクトについての参照顕著点情報を得るとき、参照情報としての役目を果たすことができる。
同様に、オブジェクトの縁部についてのデータ−電話により取り込まれた画像から検知される−を、データベースに格納することができる。そのような情報は、顕著点情報に幾何学的に関係付けられるので、顕著点が、例えば、オブジェクトの異なる縁部からの距離を指示する役目を果たすことができるようになることが好ましい。
他の実施形態では、データベースが、ページ上に存在する顕著点(特徴)についての以前に格納された参照データを返す代わりに、ページ画像自体のコピーを−関連付けられた顕著点データあり又はなしで−返すことができる。
顕著点ベースのシステムについてのより多くの情報を、以下のセクションで提示する。そのようなセクションで説明する実施形態の詳細を、上記で説明した構成に組み込むことができ、その逆も同様である。
顕著点及びウォーターマーク検出
ウォーターマーク検出は一般に、ウォーターマークの登録信号成分(例えば、空間周波数ドメイン内の既知のインパルスの配列)を参照することによって、ウォーターマーキングされたオブジェクトの変換、回転及びスケールを最初に推定することによって、進行する。取り込まれた画像が次に処理されて、これらの推定されたアフィン歪みが除去される。最後に、ウォーターマーク復号アルゴリズムが、処理された画像に適用される。
本技術の別の態様によれば、カメラに対する撮像されたオブジェクトの姿勢が、−上述のような−参照顕著点の使用を通して推定される。姿勢が推定されると、矯正的な調整(例えば、アフィン逆歪み(affine counter−distortions))が取り込まれた画像に対して行われて、姿勢のアーチファクトが低減され、平面のようなビューに正規化される画像のフレームが生じる。ウォーターマーク復号アルゴリズムが次いで、補正された画像に適用される。
平面のオブジェクト上で、極めて小さい顕著点のセットは、そのような目的のために十分でありうる(例えば、3つの点)。印刷物で一般に発見されるグラフィカルなしるし(例えば、リサイクルシンボル、又は会社のロゴ、又は正方形のバーコードさえも)は、そのような目的に好適である。代替として、典型的な寸法の、典型的な雑誌のページの長方形の輪郭もまた、十分でありうる。
画像雑音除去のための顕著点
ウォーターマーク信号は典型的には、振幅が小さく、画像雑音−低露光量から生じるなど−によって劣化されうる。他の画像操作は同様に、画像雑音を欠点として有する(例えば、フィンガープリントベースの画像認識)。画像雑音は、露光間隔を長くすることによって減少可能であるが、そのように行うことで、モーションブラーのリスクが増す。
本技術のさらなる態様によれば、シーンの複数の画像フレームが、スマートフォンによってビデオ取り込みモードでなど、取り込まれる。各フレームは、独立して、不十分な信号対雑音比を有することがある。この信号対雑音比は、それらの共通の顕著点を参照することによって、複数のフレームを幾何学的に位置合わせし、次いで、位置合わせされたフレームを平均することによって、改善される。このようにして得られた複合フレームは、成分フレームよりも雑音が低いが、この利点は、モーションブラーのリスクなしに達成される。そのような複合フレームを次いで、ウォーターマーク復号のためにウォーターマーク検出器へ提出することができ、又は、他の方法で使用することができる。
そのような方法は、フレームの各々における顕著点を(例えば、SURF技法を使用して)識別することによって機能する。対応する点が次いで、フレーム間でマッチングされる。フレーム間の点の動きは、それによりあるフレームが変化して次のフレームが生じた変換を定量化するために、使用される。これらのそれぞれの変換が次いで逆にされて、フレームの各々が、共通の参照(例えば、5個のフレームのシーケンス内の中心のフレームであってもよい)に位置合わせされる。位置合わせされたフレームが次いで、平均される。
ビデオ取り込みモードは、この方法の迅速な実行を容易にする、確実な仮定を可能にする。例えば、顕著点のフレーム間の並進運動は小さいので、対象フレームを検索して前のフレームから顕著点を識別する際に、対象フレーム全体が検索される必要はない。代わりに、検索を、前のフレーム内の点の位置を中心とした、小さい境界のある区域(例えば、32×32ピクセル)に限定することができる。
同様に、顕著点のフレーム間の回転変換は、小さい可能性が高いので、点のための特徴ベクトルは、通例の向き情報を省略することができる。
同様に、フレームのシーケンス内に取り込まれた画像のスケール係数は、比較的不変である可能性が高く−やはり、マッチする点を発見する際に検討されなければならない検索空間を制約する。
特定のマッチングアルゴリズムは、通常は第1及び第2のフレーム内で識別された顕著点から開始する。例示的フレームは、20〜400個の顕著点を有することがある。第1のフレーム内の点ごとに、その特徴ベクトルと、第2のフレーム内の各顕著点の特徴ベクトルとの間の、ユークリッド距離が計算される。第1のフレーム内の点ごとに、最も近いユークリッド距離を有する第2のフレーム内の点が、候補マッチとして識別される。
時々、第2のフレーム内の点は、第1のフレーム内の2つ以上の点への候補マッチとして識別されることがある。そのような候補マッチは、廃棄される。また、廃棄されるものは、計算されたユークリッド距離が閾値を超える候補マッチである。(絶対値の閾値が使用されてもよく、又は、アルゴリズムは、距離値の最大の10パーセントに基づいて、候補マッチを廃棄してもよい。)候補マッチのセットが残る。
図20は、第1及び第2のフレーム内で、残っている顕著点のロケーションを示す。わかるように、フレームの中心に近い点は、厳密に一致している。さらに離れると、あるずれがあり−一部は、2つの画像フレーム間のわずかに異なるスケールによるものであり(例えば、ユーザがカメラを被写体により近付くように動かした)、一部は、変換による(例えば、ユーザがカメラを少々震わせた)。
第1近似では、第1及び第2のフレーム間の変換は、スケール係数によって、及び、(X及びYにおける)変換によって特徴付けられる。スケールが最初に推定される。このことは、残っている顕著点の第2のフレームを様々な量によってスケールし、次いで、スケールされた点のロケーションと、第1のフレーム内のそれらの最も近い対応物との間の距離のヒストグラムを調べることによって、行われる。図21は、1.01、1.03、1.05及び1.07のスケール係数についての結果を示す。わかるように、1.05のスケールが、最良のピークを生じる。
残っている顕著点の第2のフレームが次いで、決定されたスケール値(1.05)に従ってスケールされる。スケールされた点のロケーションと、第1のフレーム内のそれらの最も近い対応物との間の(X及びYにおける)距離が、次いで計算され、Xオフセット及びYオフセットの中央値が、次いで計算される。これにより、第1の画像に対する第2の画像の位置合わせを特徴付ける変換の第1近似が完成する。
この近似を、望むなら、さらに改良することができる。1つの適した技法は、決定されたスケール及びXオフセット、Yオフセットを適用した後に閾値距離内でなお位置合わせされない、それらの候補点の対を廃棄することによる。決定されたスケール及びオフセットに基づく、アフィン変換に、次いで反復する方式で摂動が与えられて、なお保持された候補点間の最良の最小二乗適合を生じる変換が識別される。
1つの実験では、デジタルウォーターマーキングされた写真の500個のフレームが、スマートフォンのビデオ取り込みモードを使用して、微光の中で取り込まれた。個々に、500個のフレームの25%を処理して、符号化されたデジタルウォーターマークを読み取ることができた。成功したウォーターマーク読み取りは、49%の時間で、5個のフレームの各シーケンス内で1つ又は複数のフレームにより達成された。5個のフレームの連続するグループが、いかなる位置合わせもなしに平均された場合、結果は、18%まで下がった。しかし、5個のフレームの各シーケンスが、上記で説明したように位置合わせ及び平均された(第3のフレームを参照として使用し、それに対して他のフレームがマッチングされた)場合、成功したウォーターマーク読み取りは、61%の時間で達成された。
ちょうど、説明した手順がウォーターマーク読み取り動作の成功を向上させたように、複数の画像フレームの−顕著点の位置合わせ及び平均に基づく−そのような処理は、同様に、他の目的(消費者の楽しみを含む)のために、低雑音の鮮明な画像を生じることができる。
前述の構成とともに、又は独立して使用することができる別の方法は、ビデオシーケンスの各フレームが取り込まれた瞬間に対応するスマートフォンの動きセンサデータに注目することである。センサデータ(例えば、3D加速度計又はジャイロスコープからのもの)が閾値を上回る動きを指示する場合、画像の対応するフレームを廃棄し、平均する演算で使用しないことができる。閾値は、例えば、10個のフレームの各シーケンスから、最高の動きの値を有する2つのフレームを廃棄することによって、適応的でありうる。
(予備的な研究は、ハンドヘルド電話でハンドヘルドの動きの大きさが瞬間ごとに大幅に−無から、比較的大きい値まで−変化することを示している。後の方のフレームを廃棄することによって、はるかに向上した結果を達成することができる。)
チャネル化されたオーディオウォーターマーク
オーディオウォーターマークは、オーディオ及びオーディオ−ビデオコンテンツに関連してネットワークサービスを提供するために、ますます使用されつつある。一例は、ABCテレビジョン(Television)によって提供された、グレイズ・アナトミーSyncアプリケーションであり、アップルアプリストア(App Store)からダウンロードが可能である。このアイパッドアプリは、グレイズ・アナトミーの番組の視聴者が、番組を見ながら、他のファンと(例えば、チャット機能性によって)インタラクトすること、及び、エピソード関連コンテンツ(例えば、俳優の経歴、クイズ、その他)をリアルタイムで得ることを可能にする。同様に、音楽コンテンツ内のオーディオウォーターマークは、リスナーが他のファンとインタラクトすること、及び、関連情報を得ることを可能にすることができる。
オーディオウォーターマーク情報は典型的には、コンテンツ自体に織り込まれ−オーディオデータから分離不可能である、極めて低レベルの、雑音のような信号である。ウォーターマークの除去は典型的には、極めて困難、又は不可能である。
本技術の別の態様によれば、オーディオウォーターマーク情報は、別のオーディオチャネルで搬送されるので、ユーザの希望、又は他の状況に応じて、そのような情報がレンダリング可能−又は不可能となる。
1つの適したフォーマットは、ドルビートゥルーHD(Dolby TrueHD)であり、8個の個別のオーディオチャネルの各々で24ビットオーディオを搬送することができる。別の1つは、マイクロソフトのWAVファイルフォーマットであり、現在、複数のオーディオチャネルをサポートしている。さらに別の1つは、欧州放送連合(European Broadcasting Union)によって指定されるような、RF64フォーマットである。
例示的実装形態は、関連付けられたウォーターマークデータが追加のチャネル上で搬送される、オーディオファンの5.1又は7.1サラウンドサウンドシステムを使用した、ホームオーディオシステムである。オーディオ受信機上の(及び/又は、リモートコントロールデバイス上の)コントロールによって、ユーザは、ウォーターマークチャネルがレンダリングされるべきであるかどうかを命令することができる。レンダリングが選択される場合、受信機は、ウォーターマークデータを、スピーカチャネルのうち1つ又は複数(例えば、前方の左右のスピーカ)にミキシングする。ウォーターマークの振幅は通常、ミキシングで変更されないが、いくつかの実装形態は、追加として、ミキシングされたウォーターマークの振幅を変化させるためのある能力を、ユーザに与えてもよい。
別の実装形態は、オーディオが録音された本来のマルチトラック形式で消費者に配信され、ユーザが自分自身のミックスを創作できるようになる日を期待している。(例えば、サクソフォーンを好む消費者は、バンドの16トラック録音においてサクソフォーントラックを強調してもよく、ドラムトラック、その他を弱めてもよい。)やはり、そのような実装形態では、−ユーザが、ウォーターマークによって可能にされるネットワークサービス又は他の機能を利用するつもりであるかどうかに応じて−ウォーターマーク信号を最終的なオーディオミックスに含めるか、又は、除外する機会が、ユーザに与えられる。
大部分の実装形態では、単一のウォーターマークトラックが提供される。しかし、複数のトラックを使用することができる。1つのそのような実施形態は、基本的なウォーターマークトラック、及び、複数のさらなるトラックを有する。さらなるトラックの各々は、データチャネルであり、対応するオーディオ(楽器)トラックに関連付けられるべきであるウォーターマークの振幅成分を指定する。今挙げた例では、ドラムトラックの振幅が減衰される場合、マスキングのために、ドラムトラックに依拠するウォーターマーク信号のある特徴を同様に減衰することが望ましいことがある。振幅データチャネルは、対応するオーディオ(楽器)トラックのユーザ設定振幅に従ってスケールされ、すべてのそのようなチャネルからのスケールされた振幅データが次いで合計されて、ウォーターマーク信号のための最終的なスケール係数が生じる。ウォーターマーク信号は次いで、このスケール係数に従って(例えば、乗算によって)振幅が動的に調整されるので、ウォーターマーク振幅は、総合のオーディオを構成する様々なオーディオトラックの振幅に最適に対応するようになる。
オーディオのトラックは、消費者電子デバイスが上記のようにトラックを読み取り且つ処理するコンピュータ可読媒体上に格納可能である。又は、トラックは、ケーブル若しくはオンライン配信サービスによってなど、デバイスにストリームされ、読み取り及び処理される前にメモリ内に一時的にバッファされてもよい。
取り込まれたシーン内の複数のオブジェクトの曖昧性除去
スマートフォンは、共有されたコンテキストにおいていくつかの異なるオブジェクトを描く画像フレームを取り込むことがよくある。一例は、単一の写真画像内で様々な製品を特集するデパートの広告である。別の例は、分類広告のページである。複数の異なるオブジェクトを含むそのような文書は、「複合被写体(composite subjects)」と呼ばれることがある。複合被写体の一部分を形成する各オブジェクトは、異なる電子的応答(例えば、対応するオンラインウェブページ、又は、他のトリガされるアクション)に関連付けられることが望ましいことが多い。
本技術のさらなる態様によれば、前述は、複合被写体に関連付けられた識別子を決定すること、その識別子をデータストアへ送信すること、及び、返信において、元の複合被写体の一部又は全部のレンダリングを作り出すことができるデータを含む、オーサリングされたページを受信することによって、達成可能である。この受信されたページは、異なるクリック可能(タップ可能)な領域を定義することができる。ユーザは、レンダリングされたページ上に示された、関心のある特定のオブジェクトをタップし、スマートフォンは、当技術分野で知られている技法を使用して(画像をハイパーリンクとしてレンダリングする、よく知られているHTMLハイパーテキストマークアップを介してなど)、その領域に関連付けられた応答を設けることによって、応答する。
そのような構成では、スマートフォン画面上に提示される画像は、スマートフォンカメラによって取り込まれた画像ではないことがある。代わりに、画像は典型的には、リモートストアからスマートフォンへ配信されたページ(ファイル)である。しかし、画像は、ユーザがインタラクト中である同じ複合被写体の1つのバージョンを示す(通常は、「平面」ビュー−スマートフォンにより取り込まれた画像にいかなる遠近歪みもないもの−であるが)。
スマートフォンに配信されたファイルは、複合被写体を、スマートフォン画面上に一度に好都合に表示可能であるよりも大きい、本来のスケール/解像度で提示してもよい。(つまり、最初に取り込まれた画像は、描かれた被写体を1インチ当たり50ピクセルで解像することがあるのに対して、配信されたファイルは、1インチ当たり72ピクセルの解像度を提供してもよい。このようにして、最初に取り込まれた画像内で10ピクセルにわたることがある印刷ページ上の特徴は、配信されたファイル内で14ピクセルにわたることがある。)ユーザは、ピンチ、スワイプ、その他を含む、知られているタッチスクリーンジェスチャーを使用して、表示倍率を変更し、ページを横切って、所望の抜粋を表示させることができる。(大きいスケール/解像度のために、配信されたファイルのピクセルのすべてを画面上で一度に提示することが、−ある種のダウンサンプリングがなければ−可能でないことがある。)ユーザの関心のある被写体である、描かれたオブジェクトが、表示上で好都合なサイズで提示されると、ユーザは、オブジェクトをタップして、関連付けられた振る舞いを開始する。
複合被写体に関連付けられた識別子を決定することに、言及した。このことを、様々な方法で行うことができる。いくつかの実施形態では、複合被写体内に描かれた各オブジェクトは、それ自体のマシン可読コード(例えば、デジタルウォーターマーク、バーコード、その他)により符号化される。オブジェクトのうちいずれかが復号され、そのペイロードがリモートサーバへ送られる場合、システムは、引き換えに、同じ複合ページデータにより応答する(つまり、複数の入力ペイロードはすべて、同じ出力ページとなる)。代替として、複合被写体全体が、単一の識別子(例えば、完全な複合被写体にわたるデジタルウォーターマーク、又は、いくつかのオブジェクトを描く印刷ページ上の単一のバーコード)により符号化されてもよい。やはり、システムは、スマートフォン表示上でレンダリングするために、ページデータを返すことによって、そのような単一の識別子の送信に応答することができる。
同様に、複合被写体内で描かれた個々のオブジェクト、又は、複合被写体の他の抜粋(そのような被写体を全体として含む)は、SURFなど、画像フィンガープリント技法によって認識されてもよい。やはり、そのような識別は、その被写体のための識別子にマッピングすることができ、識別子は、レンダリングのために対応する電子ページに関連付けられうる。
さらに他の実施形態では、スマートフォンは、スマートフォンカメラを使用せずに、例えば、対応する検出器を使用して、複合被写体によって搬送されたNFC又はRFIDチップから識別子を検出することによって、複合被写体から識別子を見極めてもよい。
ユーザインタラクションのためにスマートフォン上で提示される電子ページは、異なる度合いで、体験を開始した物理的ページと視覚的に一致してもよい。いくつかの実施形態では、電子ページは、物理的ページとは区別不可能であってもよい(例えば、−斜めではなく−平面の視点からなど、異なる観点から提示されうることを除く)。他の実施形態では、電子ページは、視覚的に類似するが、等しくなくてもよい。例えば、電子ページは、解像度がより低くてもよく、又は、より小さいカラーパレット若しくは他の様式化されたグラフィック効果、その他により、ページを提示してもよい。
そのような構成を通して、システムは、−スマートフォン画面上で−ユーザによって見られている複合被写体のバージョンを複製するが、対応するリソースにリンクするか、又は、対応する振る舞いをトリガする、クリック可能/タップ可能な領域を伴う。
前述の構成は、潜在的問題、つまり、画像の単一のフレーム内で複数のマシン可読なしるしを検出し、どのしるしがユーザにとって特に関心のあるものであるかを見極めることができない、スマートフォン内のウォーターマーク又はバーコード検出器の潜在的な問題を回避することは、理解されよう。代わりに、単一のフレームは−複数のオブジェクトを描くことがあるが−応答において、単一の電子ページにマッピングする。ユーザは次いで、どのオブジェクトに関心があるかを、タップによって(又は、代替ユーザインターフェース選択によって)曖昧でなく指示することができる。
関連する問題が、(上記で詳述した)ストリーミングモード検出器のある実装形態で生じることがある。ユーザがスマートフォンカメラを動かして、関心のある特定のオブジェクトの画像を取り込むとき、スマートフォンは、複合被写体の一部分を形成する多数の他のオブジェクト(ユーザが関心を有していないことがある)の画像を取り込むことがあるが、それでも、スマートフォンは、各々からマシン可読識別子を復号することがある。
本技術のさらなる態様によれば、スマートフォンは、電話の動きセンサ(例えば、加速度計、ジャイロスコープ及び/又は磁力計)が、閾値の動きの程度よりも大きいものを指示するとき、あるモジュール(例えば、ウォーターマーク及びバーコード復号器、NFCリーダ、その他)の動作を無効化してもよい。例えば、電話が毎秒2、4又は6インチを超える動きを検知する場合、電話は、そのようなモジュールの動作を抑制してもよい。(ある動きは、単に自然な手の細かい震えによって起こる。)電話は、動きがその閾値を下回るか、又は、異なる閾値(例えば、毎秒1インチ)を下回るとき、モジュール動作を再開してもよい。そのような構成によって、意図されていない識別子の復号が抑制される。
例えば、新聞のための、プリントトゥウェブの見返り(Payoffs)
示したように、印刷媒体−新聞及び雑誌など−にデジタルウォーターマーキングして、非表示ペイロードデータを埋め込むことができる。そのようなペイロードデータが、スマートフォン上の適したウォーターマーク検出プログラム(例えば、ディジマークディスカバーアプリ)によって検知されるとき、そのようなペイロードデータは、スマートフォンに、関連付けられたオンラインコンテンツを表示させるなど、関連付けられた「見返り」を提示させる。
新聞が、多数のその毎日の写真、又は、多数のその毎日の記事にデジタルウォーターマーキングする場合、発行者が写真/記事ごとに適切な見返りを指定することは、記号論理学的な課題となりうる。制作スケジュールに圧倒され、ある発行者は、そのウォーターマーキングされた画像のすべてが単に発行物のオンラインプレゼンスのホームページ(例えば、www<dot>nytimes<dot>comウェブページ)に戻るようにリンクするように準備する。代替として、発行者は、印刷記事のための見返りが、単に同じ記事のオンラインバージョンであると指定することがある。
そのような手段は、しかし、付加価値をほとんど提供しない。
本技術のさらなる態様によれば、新聞記事(又は、画像)は、ほとんど又は全く労力をかけずに、より価値のある見返りに関連付けられる。
1つの特定の実施形態によれば、新聞が購読者に配達される前(であるが、ウォーターマークIDが記事に割り当てられた後)に、オペレータが、記事に関連付けられる少数の(例えば、2〜5個の)キーワード(例えば、オバマ、プエルトリコ、又は、スタンレーカップ、ブルーインズ)を入力する。これらのキーワードは、中央コンピュータシステムのデータベースに、それとともに記事がデジタルウォーターマーキングされるウォーターマークペイロードIDに関連して、格納される。見る人がその後、ディジマークディスカバーアプリを使用して、ウォーターマークを復号し、見返りにリンクするとき、見返りは、その記事について入力されたキーワードに基づくグーグル(又は、Bingなど、他のプロバイダ)検索である。
実際には、グーグルキーワード検索は、発行者が他のいかなる見返りも指定しない場合に備えて、デフォルトの、又は支えになる見返りとして使用されてもよい。このようにして、典型的なワークフローでは、キーワードが記事に関連して格納され、格納されたキーワードに基づくグーグル検索が、記事のための見返りとして最初に指定される。その後、しかし、新聞の発行者、又は記事の記者は、格納されたデータを変更して、異なる見返りを指定してもよい。(時々、筆者により指定されたオンラインの見返りが発行者に、記事テキストとともに提出され、その場合、この筆者により指定された見返りを、最初からオンラインの見返りとして使用することができる。)
別の実施形態では、キーワードは、手動で入力されず、むしろ、例えば、タグクラウド技法によるように、記事のテキストから抽出される。1つの特定のタグクラウドは、記事内の名詞を頻度によってランク付けし−場合によっては「雑音語」を廃棄する。共起法を使用して、2語以上の句を識別することができる。最も頻繁に発生する用語は、記事キーワードとして格納される。そのような技法は、当業者にはよく知られている。
さらに別の構成では、システムは、記事の筆者に基づいて、可能性が高いキーワードを予測することができる。オレゴニアン(Oregonian)の人気があるスポーツ記者は、通常、トレイルブレイザーズ(Trailblazers)バスケットボールチームについて書いている。ザ・ニューヨーク・タイムズ(The New York Times)のポール・クルーグマン(Paul Krugman)は、通常、経済について書いている。そのようなキーワードに基づくグーグル検索は、筆者の記事のコンテンツについてのいかなる特定の情報もない場合に、適したデフォルトの見返りイベントになりうる。
さらに別の方法は、パターンマッチング又は顔認識によってなど、画像からセマンティックな情報を抽出する。例えば、知られている方法を使用して、新聞の写真内で、有名人及びよく知られているランドマークの描写を識別することができる。そのような技法の使用を通して見極められた名前を、そのような写真のためのキーワードとして格納することができる。
自動化されたシステムが、画像に関するロケーション情報のある知識を有する場合、画像のコンテンツを見極めることが支援される。オレゴニアン新聞は、例えば、地元及び州の役人の顔を含む画像を頻繁に発行する。役人の顔は、世界中の顔から描かれた参照顔データとマッチングすることが困難でありうる。しかし、そのような画像がオレゴニアンで発行されていることを知ることで、認識システムに、描かれた人々/ランドマークを識別するために使用できるさらなる手がかり、つまり、オレゴンに関連付けられた顔データとのマッチを最初にチェックするということが与えられる。
前述の実施形態では、自動生成されたキーワードがオペレータによって見直されてもよく、オペレータは、そのような出力を監督し、自動生成されたキーワードが不適切又は不適当に見える場合、そのような出力を修正することができる。
一般に、ウォーターマークベースのプリントトゥウェブのスマートフォンアプリが、ウォーターマークペイロードを検知し、オンラインの見返りへのリンクを開始するとき、ウォーターマークを検出したアプリは、画面から消え、電話のウェブブラウザに置き換えられる。これが、ディジマークディスカバーアプリの最初のリリースの場合であった。本技術の好ましい実装形態によれば、しかし、HTML 5又はアドビフラッシュ(Flash)が使用されて、関連付けられたオンラインの見返り(例えば、引用されたグーグル検索)が、ウォーターマーク読み取りアプリによって表示されたカメラの視野の上に−そのアプリコンテキストを離れることなく−視覚的オーバーレイとしてレンダリングされる。
特定の実装形態では、中央コンピュータシステムのデータベースは、ウォーターマークペイロードIDを、関連付けられた見返りの詳述に関連付ける。このデータベースは、新聞発行者によって、又は別の関係者によって維持されうる。ウォーターマークペイロードIDごとに、関連付けられたデータベースレコードがあり、関連付けられたデータベースレコードは、その記事(又は、写真)のためのキーワードを含む。データベースレコードはまた、HTML 5テンプレートをも指定する。データベースが、復号されたウォーターマークIDを提供するスマートフォンアプリによって尋ねられるとき、データベースは、HTML 5テンプレートをプルし、関連付けられたキーワードを挿入して、スマートフォンに返す。スマートフォンアプリは次いで、返されたHTMLテンプレートに従って、画面表示をレンダリングする。(代替として、データベースは、キーワードによりグーグルにクエリを行い、スマートフォンに完全な形式のHTMLページを返してもよく、完全な形式のHTMLページには既にグーグル検索結果が含まれている。)
ユーザに提示されるグーグル結果を制限することが、望ましいことがある。例えば、ニューヨーク・タイムズの記事からのオンラインの見返りが、競合する新聞の記事へ読者を導いた場合、具合の悪いことになりうる。したがって、変形実施形態では、スマートフォンアプリによって提示されるグーグル検索が、ニューヨーク・タイムズのウェブサイト、及び、競合しないドメイン(例えば、ウィキペディア、米国政府ウェブサイト、その他)などにドメイン制限されてもよい。
読者が、(例えば、オバマのプエルトリコ訪問についての)新聞記事から、キーワードベースのグーグル検索結果の対応するページへリンクするとき、アプリは、何の検索結果をユーザがその後にたどるかを監視することができる。全体として、そのようなユーザ選択は、ユーザの明らかな関心をより良く追跡するために、その記事のためのオンラインの見返りを修正するように、システムを導くことができる。
例えば、キーワード「オバマ」及び「プエルトリコ」によるグーグル検索は、(ザ・ニューヨーク・タイムズ、ザ・ネイション(The Nation)、アル・ジャジーラ(Al Jazeera)、その他によって発行された)オバマの訪問の新しいレポートがトップに来る結果のリストを生じる。検索結果の下の方には、しかし、集会でダンスをするオバマを示すユーチューブのリンクがある。HTML 5コードは、アプリへ及び/又はアプリからのトラフィックを観察することができ、データベースに対し、どのリンク(複数可)をユーザがたどるかを指示してもよい。ダンスのリンクをクリックするユーザの数に基づいて、システムは、見返りを修正し、この結果が検索結果のリストのより上の方に現れるようにしてもよい。
データベースは、プエルトリコで「ビール(cerveza)」を飲み、「バナナ(platanos)」を食べるオバマに関するリンクへの見る人の関心を、同様に知ることがある。
これらの用語のうちすべてが、データベースキーワードとして追加され、検索のための基礎として使用されてもよい。しかし、結果は次いで、以前トップにランクされたニュースアカウントを除外することがある。そのような場合に、より良いことは、データベースが複数のグーグルクエリを実行することであり−あるクエリは、元のキーワードによるものであり、あるクエリは、それらのキーワード及び「ダンスをする」によるものであり、あるクエリは、それらのキーワード及び「ビール」によるものであり、あるクエリは、それらのキーワード及び「バナナ」によるものである。リモートシステムは次いで、結果を−指示された、異なる主題のユーザ人気に基づいて−組み合わせ、これらの修正された結果を、その後に記事からリンクするスマートフォンへ返すことができる。これらの後のユーザは次いで、ユーチューブビデオがトップに来る検索結果を見ることがある。リンクがスマートフォンアプリ上で提示される順序を、新聞の読者の中の明らかな人気に対応するように、調整することができる。
そのような構成によって、新聞は、その読者に人気が出るであろう特定の記事のためにオンラインの見返りを指定する負担から解放される。代わりに、最初のグーグル検索は、後続のクラウドソースされたフィードバックとともに、システムが、実証された読者の関心を満たすオンラインの見返りを自動的に見極めることを可能にする。
時々、ある記事に対するユーザの反応が、新聞が第2の関連記事に関連付けるリンクに、影響を与えることがありうる。4ページにオバマのプエルトリコ訪問の政治についての記事、及び、5ページに−ダンスを含む−オバマの訪問についての別の人情話を含む、オレゴニアンの版を考えられたい。トラフィック解析は、より多くの読者が(5ページの話を読者のディジマークディスカバーアプリに提示することによって)、4ページの話に関心を表すよりも、5ページの話に関心を表すことを示すことがある。オンラインの見返りをそのような話に(例えば、上記で詳述した方法で)自信を持って変更するために十分な、4ページの話からのトラフィックがないことがある。しかし、中央システムは、4ページの記事のセマンティックな比較を行って、−キーワード類似性によって−新聞のどのような他の記事(複数可)が関係付けられるかを発見してもよい。そのような処理によって、5ページの記事が4ページの記事に関係付けられることが発見される。そのような場合、システムは、−4ページの記事の読者に対する見返りオプションとして−5ページの記事の読者に最も人気があると判明するリンク(複数可)を提示することができる。
可動オブジェクトにリンクされたタグ
上記で詳述した特徴のうち特定のものをさらに広げると、オブジェクトは、画像内で(例えば、ウォーターマーキング又はフィンガープリンティングによって)認識されてもよく、スマートフォンは、タグ(アイコン又はボーブルとしても知られる)を、そのような表示されたオブジェクトに関連して提示してもよいことは理解されよう。この関連は、「べたべたした」ものでありうる。つまり、スマートフォン画面上に表示された視野が変更される場合、表示されたタグは、タグがそれぞれ関連付けられるオブジェクトの見かけの動きとともに動く。
そのような振る舞いは、直観的な応答を提供するが、動くタグは、ユーザがタグをタップして、例えば、関連付けられたアクションをトリガすることを望む場合、問題になると判明する可能性がある。これには典型的には、カメラを少なくとも片手で押さえると同時に、画面上で潜在的に動く対象をタップすることが必要となる。
本技術のさらなる態様によれば、表示された画像内で認識されたオブジェクトに関連付けられたタグが、画面上で固定された位置に、タグを対応するオブジェクトにリンクする視覚的指示とともに、提示される。
ユーザが、スマートフォンカメラを、販売用衣類を着ている女性を描く印刷されたカタログに向けることを考えられたい。スマートフォンが、(例えば、閾値強度を超えるウォーターマーク較正又は向き信号が、取り込まれた画像内で発見されるので)カタログ印刷がステガノグラフィ的にデジタルウォーターマークを搬送していると結論付ける場合、スマートフォンは、取り込まれた画像の、ウォーターマークが発見されるように見えるエリア上に、独特のグラフィック効果を提示するようにプログラムされてもよい。この効果は、例えば、きらめき、クロミナンス又は輝度変動、オーバーレイされたグラフィカルな特徴、その他を備えてもよい。図32は、1つのそのような構成を示す。(オーバーレイされた星の明るさ又は位置が、数ヘルツの周波数で変化し−目に映るより多くのものがここにあることを、ユーザに指示する。図32では、ウォーターマーク信号が、表示された画像の全体で検出された。)
そのような独特のグラフィック効果に応答して、ユーザは、取り込まれた画像上のウォーターマーク読み取り動作を完了するように、スマートフォンに命令するアクションを取ってもよい。そのようなアクションは、タッチスクリーンジェスチャー、電話を振ること、物理的ボタンのタッチ、発話コマンド、その他であってもよい。代替として、電話は、可能なウォーターマーク信号が検出されるときは常にウォーターマーク読み取りに自動的に着手するモードで、動作してもよい。
図32の構成では、スマートフォンは、ウォーターマーク読み取り動作を完了する。スマートフォンは次いで、復号されたウォーターマークペイロードを、リモートデータベースステーション/ウェブサービスへ送信する。リモートデータベースステーションは、受信されたウォーターマークペイロードを使用して、関連付けられた情報を含むデータベースレコードにアクセスし、次いで、関連付けられた情報をスマートフォンへ返信する。
描かれた構成では、スマートフォンへ返されたこの情報は、電話に、図33に示すような表示を提示させる。つまり、スマートフォンは、3つのタグを画面の下縁部に発生させ−そこで、3つのタグは、ユーザの親指で好都合にタップ可能である。1つのタグは、取り込まれた画像内で描かれた女性が着ているブラウスに対応し、第2のタグは、女性のショートパンツに対応し、第3のタグは、女性のハンドバッグに対応する。
図33では、各タグを対応するオブジェクトに概念的にリンクする、2つのタイプの視覚的指示がある。1つのタイプは、タグからオブジェクトまで伸びる、つなぎ線である。別のタイプは、オブジェクトによりカスタマイズされたタグである。
つなぎ線に関しては、カメラが動かされ、オブジェクトが画面表示内で動かされる場合、タグは、関連付けられたつなぎ線の下端部とともに、画面の下縁部に固定されたまま残ることが望ましい。しかし、つなぎ線の上端部が動いて、オブジェクトを追跡し、オブジェクトとタグの間の持続的な視覚的関連を維持する。このことは、図33及び図34を対比することによってわかる。ユーザは、スマートフォンをこれらの2つの図の間で動かしており、カタログページの異なるビューを生じている。ブラウス及びショートパンツを着ている女性は、表示された視野内で右方向に移動しており、ハンドバッグは、見えない所に移動している。ブラウス及びショートパンツのタグは、しかし、画面の底部で静止したままである。つなぎ線の上部が動いて、移動するブラウス及びショートパンツオブジェクトを追跡する。(カメラの見えない所に移動したハンドバッグのタグは、図34では消える。)
描かれたつなぎ線の構成は、このようにして二重形式の図像を採用している。一方はオブジェクトの後を追い(すなわち、つなぎ線)、他方は静止している(すなわち、タグ)。
示したように、各タグをそれぞれのオブジェクトにリンクする第2の視覚的指示は、対応するオブジェクトの性質を指示する独特のグラフィカルタグアートワークである。描かれた構成では、つなぎ線は必要とされず、その理由は、独特のタグが単独で、画像内の異なるオブジェクト(ブラウス、ショートパンツ及びハンドバッグ)をシンボル化する−不可欠な、関連の視覚的指示を提供する−からであることは理解されよう。しかし、他の実施形態では、タグが汎用で互いに等しい可能性があり、その場合、つなぎ線が適切な視覚的関連を提供する。
(多数の他の形式の−タグを画像オブジェクトに関連付けるための−視覚的指示を、図示の2つのタイプの代わりに用いることができる。1つの他の形式は、画像オブジェクトをある色でハイライトするか、又は輪郭を付け、次いで、同じ色のタグをスマートフォン表示の縁部に設けることである。異なる色を使用して、異なるオブジェクトを異なるタグに関連付けることができる。)
舞台裏では、特定の実施形態では、ウェブサービスに送られたウォーターマークペイロード(又は、フィンガープリントデータ)は、見られている特定のカタログ及びページについての情報を含むデータベースレコードへのアクセスを可能にする。データベースから返される情報は、画像内の特定の特徴を特徴付ける参照画像データを含みうる。この情報は、1つ又は複数のサムネイル画像又はマップ−異なるオブジェクト形状(ブラウス、ショートパンツ、ハンドバッグ、その他)を定義する−を備えてもよい。加えて、又は代替として、この情報は、描かれたオブジェクト(複数可)がそれにより認識及び追跡されうる特徴を識別するデータなど、画像フィンガープリントデータを備えてもよい。加えて、又は代替として、この情報は、オブジェクト「ハンドル」−つなぎ線の上端部が終了可能である、オブジェクト形状の縁部内又は縁部でのロケーション−を定義するデータを備えてもよい。図35は、3つのハンドルロケーション(「X」によって指示される)を定義する、1つのそのような形状(ショートパンツ用)を示す。
この特定の例では、データベースから返される情報が典型的にはカタログの発行者によって書かれることは理解されよう。発行者は、図32の画像が、リンクされたタグを介して、ユーザ選択可能なインタラクティビティを備えるべきである3つのオブジェクトを含むことを、指定する。3つのオブジェクトについての情報は、データベースに格納され、電話に提供され(例えば、図35のような形状データ、又は、フィンガープリントデータ−SURFなど)、ビューが動くにつれて3つのオブジェクトをパターンマッチング及び追跡可能にし、アタッチメントハンドル点が識別される。発行者により指定されたデータは、3つの異なるオブジェクトに関連して画面の底部に提示されることになる特定のアイコン形状を、さらに定義する。
図33の場合のように、タグが、取り込まれた画像上に最初にオーバーレイされるとき、ソフトウェアは、画像の下縁部を解析して、どこにタグを最良に配置するべきであるかを識別してもよい。この決定は、画像のその領域内の縁部を識別することによってなど、異なる候補ロケーションの評価に基づくことが可能である。望ましくは、タグは強い縁部上に配置されるべきではなく、その理由は、この配置が、取り込まれた画像の知覚的に関連のある特徴を不明瞭にすることがあるからである。タグを、画像の比較的「穏やか」又は一様な−強い縁部及び他の知覚的に顕著な特徴がない−部分上に配置する方がより良く、そこでは、障害物がそれほど問題にならない可能性が高くなる。タグが最初に配置されると、しかし、−下にある取り込まれた画像がずれる場合でも−タグがそのロケーションに残されて、そのようなタグとのユーザインタラクションが容易になるようにすることが望ましい。画像がずれる場合、つなぎ線の最上部が動く特徴の後を追う−ゴムバンドのように伸びて、必要に応じて位置決めし直す−ことが望ましい。(場合によっては、タグの移動が必要となることがあり、追加のオブジェクトがビューに入ってくる−追加のタグの提示を必要とする−ときなどである。そのような場合には、ソフトウェアは、新しいタグをさらに収容しながら、元のタグをできるだけその元の位置の近くに維持しようとする。このことは、元のタグをより小さいサイズにすることを含むことがある。)
つなぎ線(複数可)は、使用される場合、タグから対応するオブジェクト上の最も近いハンドルへの単純な曲線状のパスを識別するアルゴリズムを使用して、ルーティングされる。異なるオブジェクトハンドルへの異なるパスを評価することができ、ルートの選択は、ある基準(例えば、強い縁部を横切ることを最小限にすること、ほぼ90度の角度で強い縁部を横切ること−回避不可能な場合−、視覚的に心地良い範囲−25度に近い曲線角など−を有する曲線を生じるルートを識別すること、オブジェクトの外側からオブジェクトの縁部上のハンドルに近付くルートを識別すること、その他)に基づくことが可能である。つなぎ線の色は、つなぎ線がその上にオーバーレイされる取り込まれた画像に基づいて、適したコントラストをもたらすように構成されうる。カメラの視野がずれるとき、つなぎ線のルート及び色が再評価されてもよく、そのような線は、状況によっては、所与のオブジェクト上の異なるハンドルで終了してもよい。(これは、例えば、ショートパンツを対応するアイコンに接続するつなぎ線の場合である。図33では、女性のショートパンツの右側のハンドルが採用され、図34では、左側のハンドルが使用される。)
カメラの視野が、いくつかの明確にウォーターマーキングされたオブジェクトを包含する場合、ウォーターマーク検出の指示を、オブジェクトの各々の上に提示することができる。スマートフォンが、女性の衣類を包含する画像の領域内で符号化されたあるウォーターマーク、及び、女性のハンドバッグを包含する画像の領域内で符号化された別のウォーターマークを検出するとき、そのような構成を図36に概念的に示す。ここでは、スマートフォンは、女性のショートパンツ及びブラウスを描く画像の領域を修正して、1つの特定のグラフィック効果(オーバーレイされた星パターンとして示す)を提示し、女性のハンドバッグを描く画像の領域を修正して、異なるグラフィック効果(オーバーレイされた円として示す)を提示する。
デジタルウォーターマークの証拠が検出されるとき、スマートフォンによって提示されるグラフィック効果は、−上記で示すものをはるかに超えて−いかなる外観を有することも可能である。1つの特定の構成では、ソフトウェアAPIが、そのような検出によってアクティベートされ、ウォーターマーキングされた領域の見かけの中心のピクセル座標を(おそらく、半径、又は垂直及び水平範囲、又はベクトルエリア記述など、他の情報とともに)出力してもよい。API、又は他のソフトウェアは、どのようなグラフィック効果がこの特定のウォーターマークのために(例えば、このペイロードのために、又は、このエリア内で発見されるウォーターマークのために)提示されるべきであるかを定義する、ソフトウェアスクリプトをフェッチしてもよい。スクリプトは、拡大鏡、泡、揺れ、炎のアニメーション、その他などの効果−ウォーターマークが位置すると見られるとAPIがレポートする領域に、配置される−をもたらすことができる。
1つの特定の実施形態では、そのような領域のウォーターマークが検出されるとすぐに、スマートフォンは、画面上に、ウォーターマーキングされた領域内、又はその縁部で開始するつなぎ線を表示し始め、その線を、画面の縁部に向かってくねって進むようにアニメーション化する。伸びる線が縁部に達するまでに、スマートフォンは、復号されたウォーターマークをリモートデータベースへ送っており、応答において、適切な表示応答−アニメーションの線が終了するところでハンドバッグアイコンを提示するなど−を確定できるようになる情報を受信している。(スマートフォンはまた、線の上端部を、受信された情報によって定義されたハンドル点にスナップしてもよい。)
フィンガープリントベースの画像オブジェクト識別の場合、典型的には、提示された画像に関連付けられたインタラクティビティのアラートをユーザに出すための、きらめき又は他のグラフィック効果はない。そして、上記で説明したような振る舞いは、通常、自動的に起動されるようにはならず、その理由は、振る舞いをトリガするための画像特徴がないからである。(いくつかの実装形態は、しかし、バーコード、又は、RFID/NFCにより検知されたデータなど、他のトリガを使用することがある。)代わりに、ユーザは、そのようなアクションを、ユーザ命令によって開始するようになる。応答において、電話は、画像(又は、画像に基づいたフィンガープリントデータ)をリモートシステム/ウェブサービスへ送信する。リモートシステムは、フィンガープリントを(既に電話によって提供されていない場合に)計算し、データベース内でマッチする参照フィンガープリントを識別しようとする。マッチが発見される場合、データベース内の関連付けられた情報は、画像によって描かれたオブジェクト/シーン(例えば、特定のカタログ及びページ)を識別する役目を果たす。そのような識別が行われると、上記で詳述した振る舞いが進行することが可能である。
上記で説明したように、ハンドバッグがもはや表示されないように、カメラの視野が動かされるとき、対応するハンドバッグタグは、画面の底部から除去される。他の実施形態では、ユーザは、現在表示されている画像ビューをフリーズさせるため、及び/又は、画面上に現在表示されているタグを維持するためのコマンドとして、スマートフォンが解釈するアクションを、取ることができる。そのような機能性は、ユーザがカメラをカタログページに向けて、対応するタグを得て、その後、画像/タグとインタラクトするためにより好都合な位置へ電話を位置決めし直すことを可能にする。
取り込まれた画像との関連で説明したが、これらの実施形態、及び、本明細書の他のところの実施形態を、ストレージデバイスから、又はネットワークの全体から受信されるなど、他の方法で得られた画像とともに実装できることは理解されよう。
同様に、オブジェクト識別は、詳述した構成では、ウォーターマーキング(又は、画像フィンガープリンティング)によって行われるが、他の実施形態は、バーコード、グリフ、RFID/NFCチップ、その他など、他の形式の識別に基づくことが可能である。
スマートフォンハードウェア及びRDFトリプル
スマートフォンには、例えば、ゲーム、ビデオ、及び、他の画像集中的なアプリケーションのための、複雑な画面表示のレンダリングの速度を速めるために、グラフィックス処理装置(GPU)がますます装備されつつある。
GPUチップは、複数のプロセッシングコア、及び、一般にグラフィックスのために最適化される命令セットによって特徴付けられる、プロセッサチップである。典型的な使用では、各コアは、画像内の小さいピクセル値の区域専用であり、例えば、陰影付け、霧、アフィン変換、その他など、視覚的効果を適用する処理を行う。GPUは通常、そのようなプロセッシングコアと、RGBフレームバッファなど、関連付けられたメモリとの間の、画像データの交換を加速するためにも最適化される。(GPUによって処理される画像データは一般に、赤/緑/青、又はYUVなど、3つの成分プレーンで表現される。)整数データストレージの複数のプレーンを提供することに加えて、フレームバッファはまた、フレームバッファが(例えば、適切なインターフェースハードウェアによって)バッファされたデータを表示するためにデバイス画面へ素早く切り替えることを可能にするように構成される点でも、プログラムストレージメモリとは異なる。フレームバッファのピクセルサイズは通常、表示画面のピクセルサイズと1:1の対応を有する(例えば、960×640ピクセル表示画面を有するスマートフォンは一般に、1つ又は複数の960×640フレームバッファを有するようになる)。
GPUは、グラフィックス処理の速度を速めることに起源を有したが、他の用途にも適用されている。汎用GPU(GPGPU)のより幅広い分野では、そのようなデバイスは現在、音声認識からタンパク質の折り畳み計算に及ぶ応用例で使用されている。多数のメインフレームスーパーコンピュータは、超並列処理(massive parallelism)のためにGPUに依拠する。ますます、NVIDIAなどのGPUベンダは、通常の「C」言語コンピュータプログラムからの指定された関数を、自社のGPUを装備したビデオカード上で実行可能にする、ソフトウェアツールを提供しつつある。
本技術の別の態様によれば、ある実施形態は、グラフィックスの目的のために提供されたスマートフォンハードウェア(例えば、GPU、及びRGBフレームバッファ)を、検索及びセマンティックな推論のためなど、RDFトリプルとともに代わりに使用するために転用する。
(セマンティックな推論は時々、アサートされた事実のセットに基づいて、論理的帰結を見極めること(例えば、推測すること)として定義される。)
128×128ピクセルの寸法を有することがある、画像データのフレームを格納するために使用されるメモリの概念図である、図22を考えられたい。各ピクセルは、3つの成分色値を有し、1つは赤、1つは緑、1つは青である。例示的ピクセルを、RGB色値{43,35,216}とともに示す。これらのデータは、ロイヤルブルーに類似した色を有するピクセルに対応する。
この概念的構成は、RDFトリプルのストレージにうまくマッピングする。ピクセル表現の3つの成分を格納する代わりに、このメモリは、RDFトリプルの3つの成分−一般に、主部、述部、及び目的部と呼ばれる−を格納する役目を果たす。
画像メモリロケーションに格納されたデータは典型的には、8ビット値(つまり、赤、緑、青に1つずつ)を備える。各値は、0〜255の範囲の整数でありうる。RDF使用のために転用されるとき、RDF成分は、0〜255の範囲の整数コードとして同様に表現される。テーブルなど、補助データ構造は、異なる8ビットRDFコードを、関連付けられた文字列、整数、又は実数値にマッピングすることができる。
一例が以下に続き、この例では、セマンティックな推論が入力RDFデータのセットに適用されて、人々の間の述べられていない関係が見極められる。推論が後に適用されるようになるそのような入力トリプルの一例は、以下の通りである。
BOB HasChild TED(ボブにはテッドという子供がいる)
このトリプルは、ボブという名前の人に、テッドという名前の子供がいるという、情報を表現する。「BOB(ボブ)」は主部であり、「HasChild(子供がいる)」は述部であり、「TED(テッド)」は目的部である。
そのようなデータを画像メモリに格納するために、1つ又は複数のテーブルを使用して、異なるデータを対応する整数コードにマッピングすることができる。例えば、第1のテーブルは、人々の名前を整数コードにマッピングすることができ、例えば、以下の通りである。
Figure 0006572468
そのようなテーブルは、RDFトリプルの単一の成分(例えば、主部データ)専用であってもよく、又は、2つ以上の成分用になることができる。データは、すべて同じタイプ(例えば、人々の名前)であってもよく、又は、異なるタイプのデータが含まれてもよい。あらゆる8ビットコードが対応するデータにマッピングされる必要があるとは限らない。
本例では、さらなるテーブルが使用されて、8ビットコードが、人々に関与する異なる述部に関連付けられ、例えば、以下の通りである。
Figure 0006572468
「BOB HasChild TED」という表現は、このようにして、8ビットコード{6,3,4}のトリプルとして表現されうる。第1のコード及び第3のコード(6及び4)の意味は、テーブルIによって指示されるが、第2のコード(3)の意味は、テーブルIIによって指示されることは理解されよう。
図23は、図22と同じメモリ構成を示すが、ここではRDF使用のために転用されている。8ビット整数コード{6,3,4}は、3つのプレーン−ここでは、主部、述部、及び目的部を表す−内の対応するメモリロケーションに格納される。
「BOB HasChild TED」を指示する、1つのトリプルが、図23で特に詳述される。しかし、画像メモリは典型的には、極めて大きく、例えば、1024×768である。小さい128×128ピクセルメモリさえもが、16,384個の異なるデータ要素を有するので、16,384個のトリプルを格納できるようになる。図24は、メモリに格納されうる、潜在的に数千個のそのようなトリプルのうち、少数を示す。
(テーブルIIでは、述部のすべてが、それらの主部のためにも、それらの目的部のためにも、個人名を使用するとは限らない。例えば、述部のうち1つは、「HasGender(性別を有する)」である。この述部の主部は個人名であるが、この述部の目的部は「Male(男性)」又は「Female(女性)」である。これらの後者の2つのデータには、テーブルIIのコード254及び255が割り当てられてもよい。)
図22に戻ると、ロイヤルブルーピクセルは、メモリ内で、レンダリングされた画像内のその所望の提示の位置に対応するロケーションに格納される。述べたように、スマートフォン内のフレームバッファは典型的には、表示内のピクセル要素との1対1のマッピングを有する。したがって、ロイヤルブルーデータ{43,35,216}がメモリ内で格納される位置は、メモリからレンダリングされるようになる図において、その青ピクセルがどこに現れるかに影響を及ぼす。
RDFトリプルを格納するとき、−メモリ内で−どこにトリプルが格納されるべきであるかを指図する、メモリと表示の間の固有のマッピングはない。例えば、図23では、{6,3,4}トリプルは、128×128ピクセルメモリ内の16,384個のロケーションのいずれかに格納されうる。
画像メモリ内でピクセルデータを処理して、所望のグラフィック効果を達成する代わりに、図23のメモリ内のRDFトリプルデータが処理されて、セマンティックな推論ルールが適用される。例示的な例では、推論は、人々の間の追加の関係情報を推測する。
少数のRDFトリプルがポピュレートされた、スマートフォンメモリの小さい抜粋を示す、図25を考えられたい。(8ビットコード及び対応するテキストがともに、説明の便宜上、描かれる。)
わかるように、RDFデータは、アリスに姉/妹ヘレンがいることをアサートする。また、データは、ボブに2人の姉/妹(メアリー及びスー)、子供(テッド)、及び、2人の兄/弟(チャック及びジョン)がいることをアサートする。
この例では、GPUは、ルールベースの推論を適用して、個人間の新しいタイプの関係−叔父であるという関係−を見極めるようにプログラムされる。プレインイングリッシュで述べられた、そのような推測ルールは、ある人に子供も兄/弟もいる場合、兄/弟は子供の叔父である、というものでありうる。ブール疑似コード方式で分析されると、このルールは、以下のように表現されうる。
IF(PERSON1 HasChild PERSON2)
AND IF(PERSON1 HasBrother PERSON3),
THEN PERSON2 HasUncle PERSON3.
GPUがこの推論ルールを図25に描かれたデータに適用する場合、GPUは、2つの新しいセマンティックなアサーションを作成することによって結論付けるようになる。
1.TED HasUncle CHUCK(テッドにはチャックという叔父がいる)
2.TED HasUncle JOHN(テッドにはジョンという叔父がいる)
これらの2つの新しいアサーションは、図25のRDFデータストアに追加されうる。
上記で述べたように、どこに特定のトリプルが格納されるべきであるかを指図する、メモリと表示の間の固有のマッピングはない。しかし、この例では、出願人は、類似の主部をともにグループ化することを選ぶ。特に、メモリは、概念的に、3×3ブロック(302、304、その他)に分割され−各々は、異なるRDF主部に向けられる。この分割を、図25で濃い線によって示す。各RDF主部について、最大9個の異なるトリプルアサーションを、そのような3×3ブロック内に格納することができる。
そのような空間的局所性(spatial locality)とともにデータを編成することは、GPUの複数のコア−及び、各コアに入力及び出力を提供するバス構成−が一般に、隣り合っているピクセルの区域に働きかけるように最適化されるという、利点をもたらす。空間的局所性をデータ上で実施することによって、特定の主部に関するすべてのアサーションを、同じGPUコアによって処理することができる。これにより、処理の速度が速くなり、例えば、その理由は、データが通常、コア間で共有される必要がないからである。
推論を実行するソフトウェアを、異なる方法で実装することができる。各コアが9個のトリプルのドメインに働きかけると仮定すると、一実装形態は、以下のように機能する。
・9個の述部の各々をチェックして、そのコード=5であるかどうかを確かめ、そうである場合、カウンタ「i」を増分する
・i=0である場合、終了する
・残りの述部の各々をチェックして、そのコード=3であるかどうかを確かめ、そうである場合、カウンタ「j」を増分する
・j=0である場合、終了する
・X及びYのすべての組み合わせを使用して、i*j個の新しいアサーション「X HasUncle Y(XにはYという叔父がいる)」を作成し、但し、Xは、その述部がコード=3を有する目的部であり、Yは、その述部がコード=5を有する目的部である。
図示の例では、GPUの演算テーブルに、上記の手順を実行するための命令がロードされる。GPU演算が次いで呼び出されるとき、デバイスは、i=1及びj=2を発見し、上記で識別されたような、2つの新しいアサーションを作成する。
前述の手順は時々、メモリ内のトリプルのストレージにさらなる空間的制約を課すことによって、短くすることができる。つまり、同じ主部を有するトリプルを一緒に共通ブロック内でグループ化することに加えて、トリプルはまた、ブロック内でそれらの述部コードに基づいて順序付けも行われる。そのようなソートにより、9個の述部が、完全な検索なしに、特定のコードについてチェック可能になることが多い。
例えば、図25では、述部が、各ブロックの左上のセルで開始して、降順にリストされる。上記で詳述した手順では、述部をコード「5」についてチェックするとき、「5」未満のコードに遭遇するとき、チェックは停止することが可能である。図25のブロック304内でチェックされた第5の述部(すなわち、3×3ブロック内の中心のセル)は、コード「3」を有する。この時点で、「5」についてのチェックは停止することができ−それ以上はないであろう。
同様に、コード「3」についてチェックするとき、そのチェックは、「5」についてのチェックが停止したところで開始することが可能であり−その理由は、「3」がその順序で以前に生じることがないからである。同様に、「3」についてのチェックは、「3」未満の最初の述部が発見されるとき、停止することが可能である。(空のセルは、「0」の値を格納し、「0」の値は、例示を明確にするために図示しない。)
ブロック内のトリプルをこの方式で述部によってソートすることによって、「5」コード及び「3」コードの数をカウントするために、9個の述部を2回チェックすることは必要ではない。代わりに、5個がチェックされて、すべての「5」が合算され(つまり、最初の「3」に遭遇するとき、停止する)、さらに2個がチェックされて、すべての「3」が合算される(つまり、中心のセルで開始し、次のセル−「0」述部−に遭遇するとき、停止する)。
異なる実装形態は、テンプレートマッチングに基づく。図26及び図27を考えられたい。図26は、含まれるテンプレートのサブセットを示す。これらのテンプレートでは、空のボックスは、「気にしない」を指示する。(図27は単に、ブロック内のトリプルの各々に文字の名前を与えて、図26のテンプレートを説明するときに言及を容易にするものである。)
GPUコアは、トリプルメモリ(例えば、304)内のブロックの3×3述部プレーンを、テンプレートの各々に対してチェックして、マッチするコードパターンを識別する。各マッチについて、新しい「HasUncle(叔父がいる)」アサーションが生成される。
例えば、図26の左上のテンプレートの適用において、コアは、トリプル「a」が述部=3を有し、且つ、トリプル「c」が述部=5を有するかどうかをチェックする。そうである場合、入力トリプル「a」の目的部をその主部として、入力トリプル「c」の目的部をその目的部として、新しい「HasUncle」トリプルが作成される。
同様に、GPUコアは、図26の第2のテンプレートを適用して、トリプル「b」が述部=3を有し、且つ、トリプル「c」が述部=5を有するかどうかをチェックする。そうである場合、入力トリプル「b」の目的部をその主部として、入力トリプル「c」の目的部をその目的部として、新しい「HasUncle」トリプルが作成される。などとなる。
マッチングの対象の64個のテンプレートがあるが、そのような比較は、GPUコアによって迅速に行われる。そして、百以上の異なるトリプルデータのブロックが、異なるGPUコアによって並列に処理されうるので、それにもかかわらず、高スループットが達成される。
図25のブロック304に適用されると、図26の2つの太字のテンプレートが、描かれたデータ内のパターンにマッチし、上記で識別された2つの新しいアサーションが生じることは理解されよう。
図25でトリプルをソートすることで、最初に定義した手順を支援できることと全く同じように、図25でトリプルをソートすることで、テンプレートベースの手順を同様に支援することができる。特に、トリプルを述部でソートすることによって、必要とされるテンプレートの数を半分にすることができる。
より詳細には、−(図25に示すように)述部で降順にソートされる場合−図26の左上のテンプレート内で描かれた構成が発生することがないことは理解されよう。つまり、ブロックの左上角に「3」、及び、その右に「5」が来ることは決してない。同様に、第2のテンプレートは、同じ理由のために必要とされない。実際に、可能性のあるテンプレートのうち半分(すなわち、「5」の前に「3」を配置するもの)は、必要とされない。
本技術のいくつかの実装形態は、整数論を使用して、推論を助けるか、又は速度を速める。
上記で挙げた例では、整数論手順が最初に−ブロック内の入力データから見極められるべき、いずれかの「HasUncle」アサーションがあるかどうかを判定するためのチェックとして−適用されうる。この予備的チェックが肯定的である場合にのみ、テンプレートマッチング手順、又は、別のそのような手順が呼び出される。
この場合に使用されうる例示的整数論は、素因数を含む。「HasChild」述部にも、「HasBrother(兄/弟がいる)」述部にも、素数コード(すなわち、3及び5)が割り当てられることは理解されよう。3×3ブロック内のゼロでない述部コードのすべてが掛け合わされる場合(又は、「1」が「0」の代わりに用いられて、すべての9個の述部コードが掛け合わされる場合)、結果として生じる積は、そのブロックが少なくとも1つの「3」及び少なくとも1つの「5」を含む場合、常に15の倍数となる。
GPUコアは、この計算を行い−ブロック内の述部コードを掛け合わせる。この結果が次いで、(GPUコアによって、又は他の方法で)15で除算される。余りがある場合(すなわち、積が15で均等に割り切れない場合)、そのブロックは、3と5をともに有していない。そのブロックは、したがって、いかなる「HasUncle」アサーションを生成することもできず、テンプレートマッチング手順(又は、他のそのような手順)は、実際的な意味がないとしてスキップされうる。
同じ乗算の積をまた使用して、入力データのブロック内の1つ又は複数の「HasAunt(叔母がいる)」関係の存在について、選別することもできる。「HasAunt」についてのルールは、「HasUncle」についてのルールに類似しているが、代わりに「HasSister(姉/妹がいる)」を使用する。プレインイングリッシュでは、ある人に子供も姉/妹もいる場合、姉/妹は子供の叔母である。
テーブルIIでは、「HasSister」述部に、7の(素数)コードが割り当てられる。入力トリプルのブロック内にいずれかの「HasAunt」関係がある場合、その述部の積は常に、21(すなわち、3*7)で均等に割り切れるようになる。
整数0〜255の中に、54個の異なる素数がある。これらの素数コードが、セマンティックな推論ルールによってともに論理積が取られうる述部に割り当てられる(そのような割り当てが、テーブルIIの場合のように、おそらく他の値をスキップする)場合、述部データのブロック内の素数コードのいかなるグループの存在(又は、共在(co−presence))も、すべての9個の述部コードの積が、その素数のグループの積によって均等に割り切れるかどうかをチェックすることによって、判定することができる。(例えば、2、3及び11の共起をチェックするには、66で割り切れることをチェックする。)
GPUは、3×3ブロックのトリプルデータごとに1つのコアを有していないことがある。例えば、メモリは、1000個の3×3ブロックのトリプルデータを有することがあるが、GPUは、200個のコアしか有していないことがある。このことに対処することができる、多数の方法がある。1つは、GPUが素数選別手順を最初の200個のブロックに適用すること、及び、「HasUncle」関係を有することが発見されたブロックを、フレームバッファにコピーすることである。この処理が、第2、第3、第4及び第5の200個のブロックに対して繰り返し、「HasUncle」関係を有すると判定されたブロックのコピーが、フレームバッファに追加される。最後に、以前に詳述したパターンマッチング(又は、別の手順)が、フレームバッファ内のブロックで実行されて(ブロックのすべてが潜在的な「HasUncle」関係を有することがわかっている)、新しいアサーションが生成される。
素数の積は、適用可能である整数論の1つのタイプである。多数の他のタイプがある。別のクラスは、加法的整数論を含む。簡単な例についての、以下の述部コードのテーブルを考えられたい。
Figure 0006572468
このテーブルはまばらであり、大部分の8ビットコードは、述部が組み合わせられるときに所望の整数論結果を生じるために、割り当てから予約されている。実際には、このテーブル内のコードは、1、10及び100のみである。
この述部値の割り当ては、1つ又は複数の「HasUncle」関係が所与のトリプルのブロックから推論されうるかどうかの、別のチェックを可能にする。この特定の実装形態では、ブロック内の9個の述部コードが合計される。(やはり、いかなる空のセルにも「0」が使用される。)この特定のまばらな整数の割り当ては、少なくとも1つの「HasChild」述部、及び、少なくとも1つの「HasBrother」述部がある場合、和の最後の2つの10進数の桁の各々がゼロでなくなるように、設計される。GPUコアは、このチェックを行い、このチェックが満たされる場合、GPUは次いで、上記で説明した手順のうち1つによってなど、ブロックをさらに処理して、新しい「HasUncle」アサーション(複数可)を抽出することができる。
(この加法的手順の変形もまた、1つ又は複数の「HasAunt」関係についてチェックすることができる。このチェックでは、100の値が最初に和から減算される。コアは次いで、(1)結果が正であること、及び、(2)結果の最後の桁がゼロでないことをチェックする。これらの条件が満たされる場合、1つ又は複数の「HasAunt」関係をデータからアサートすることができる。)
前述の整数論の例は、単純であり、やや人為的であるが、基礎をなす原理を実証する。実際の実装形態は、通常は異なるようになる。(含まれる特定の演算は通常、使用されているGPUコア(複数可)の基本命令セットから選択される。)
前の例は、ゼロでない10進数の桁についてチェックしたが、多数の応用例は、代わりに、整数論原理を2進又は16進表現に適用するようになる。
実装形態は、他の方法で、例示した例とは異なることが多くなる。例えば、推論ルールは、3個以上の述部を含むことがある。各ブロック内のトリプルの数は、9とは異なることがある。実際に、メモリの均等なブロック編成は必要とされず、いくつかの実装形態は、可変サイズのブロックを有するか、又は、ブロック編成を全くなしで済ませることがある。時々、GPUコアは、メモリの重複するエリア(例えば、重複するブロック)にアクセスすることがある。トリプルメモリの各プレーンは、8以外(例えば、16)のビット深度を有することがある。メモリ内の空間的局所性が採用される場合、データは、主部のアイデンティティではなく、述部又は目的部のアイデンティティによってグループされうる。同様に、応用例に応じて、−各ブロック内で、又は、トリプルメモリ全体にわたって−主部、述部、又は目的部でソートすることが望ましいことがある。当然、異なる述部(又は、主部若しくは目的部)に割り当てるための特定の8ビットコードの選択は、特定のコンテキストによって決まることが多くなる。
上記で詳述した推論演算によって出力される「HasUncle」アサーションを、トリプルデータベース(例えば、図25)に追加できることと全く同じように、逆演算からの出力もそうすることができる。例えば、「HasChild」の逆は、「HasParent(親がいる)」である。そのため、トリプル「BOB HasChild TED」を処理して、新しい逆のトリプル「TED HasParent BOB(テッドにはボブという親がいる)」を生じることができる。同様に、推論演算の結果を逆にして、さらにより豊富な関係の表現をもたらすことができることが多い。例えば、上記で生成された出力「TED HasUncle CHUCK」を逆にして、「CHUCK HasNephew TED(チャックにはテッドという甥がいる)」を生じることができる。
逆の関係自体を、図25のメモリ内、又は他の場所でトリプルとして表現することができ、例えば、「HasUncle HasInverse HasNephew(叔父がいる、は、甥がいる、の逆である)」である。
トリプルストアが販売用の車両についての情報を含む、異なる例を考えられたい。この情報は、ユーザがスマートフォンカメラを使用して、分類広告発行物の車両セクションの画像を取り込むことに応答して、スマートフォンのメモリに自動的にダウンロードされていてもよい(例えば、米国特許出願第13/079327号を参照)。
この例では、8ビット主部コードは、異なる車両を識別するテキスト文字列に対応してもよく、例えば、以下の通りである。
Figure 0006572468
このテーブルIVは、メイン主部テーブルと見なされうる。
これらの主部の各々に関連付けられるものは、典型的には、複数の述部及び目的部となる。8ビットの述部コード、及び、それらの関連付けられた意味は、以下の通りでありうる。
Figure 0006572468
テーブルVは、メイン述部テーブルと見なされうる。(このテーブル内の述部は、例示のために選ばれる。多数の実装形態は、確立されたOWLオントロジーの語彙など、標準化された語彙を採用するようになる。)
8ビットの主部コード、及び、それらの関連付けられた意味は、以下の通りでありうる。
Figure 0006572468
テーブルVIは、メイン目的部テーブルと見なされうる。
前述のように、スマートフォンメモリ内のトリプルは、これらの3つの語彙テーブルから選択された8ビットコードを使用して、アサーションを表現することができ、例えば、以下の通りである。
・1985年式ウィネベーゴ(Winnebago)チーフテン(Chieftan) HasGrossVehicleWeight 6〜7トン(1985年式ウィネベーゴ・チーフテンは、6〜7トンの自動車総重量がある)は、{3,3,62}と表現され、
・1985年式ウィネベーゴ・チーフテン HasExteriorColor 白(1985年式ウィネベーゴ・チーフテンは、白の外装色である)は、{3,1,17}と表現される。
メイン目的部テーブル内のいくつかのエントリは、メイン述部テーブル内のエントリの1つのみとともに使用されうることに留意されたい。例えば、目的部コード62(例えば、6〜7トン)は、HasGrossVehicleWeight(自動車総重量がある)述部のみとともに使用されうる。目的部テーブル内の他のエントリは、述部テーブル内のいくつかのエントリとともに使用されうる。例えば、目的部コード2〜5は、HasPassengerCapacity(乗客定員である)述部とともに、及び、HasDoors(ドアがある)述部とともに使用されることがある。(同様に、目的部コード17〜19は、HasExteriorColor(外装色である)述部とともに、及び、HasUpholsteryColor(座席カバー色である)述部とともに使用されることがある。)
可能な目的部の値の数は、8ビットメモリプレーンに収容可能である256を超えることが多い。例えば、250台の車両の各々は、関連付けられた異なる価格も、異なる電話番号も有することがあり、つまり、500個の異なる値を有することがある。
その目的部が、メイン目的部テーブル内の8ビットコードに関連付けられうる256個の異なる値の中で収容不可能である述部については、「0」の目的部コードを、そのようなトリプル内で指定することができる。これにより、スマートフォンソフトウェアに、対応する目的部情報について、メイン目的部テーブルの代わりに補助データ構造(例えば、テーブル)を調べるように指図する。この異なる構造は、述部名(又は、その番号の相当するもの)によって識別されてもよい。
例えば、トリプル{3,4,0}は、ウィネベーゴの価格に関する。しかし、目的部コード「0」は、価格が、メイン目的部テーブル(すなわち、上記のテーブルVI)内の8ビットコードによってインデックス付けされた値によって指示されないことを、指示する。代わりに、「0」は、補助メモリテーブル#4(述部の値4を指す)を調べるように、スマートフォンに指図する。補助メモリテーブル#4は、対応する主部コード(理解しやすいように、丸括弧内で示される)に関連付けられた、すべての車両についての価格を有してもよく、例えば、以下の通りである。
Figure 0006572468
いくつかの実施形態では、そのような補助テーブルは、主部コードではなく、関連付けられた目的部の値(ここでは、価格)でソートされて−検索が容易にされうる。
スマートフォンGPUは、メイン主部−述部−目的部メモリ内に格納されたデータをほぼ即座にフィルタリングして、ある探し求められたパラメータ(すなわち、メイン目的部テーブル内で表現されたパラメータ)を有する車両を識別することができる。例えば、ユーザが、(1)トラック、(2)4〜6人の乗客を座らせることができること、に関心がある場合、これらのパラメータを、従来のスマートフォングラフィカルユーザインターフェース(GUI)を使用して入力することができ、結果を迅速に決定することができる。
1つの例示的GUIは、ドロップダウンメニュー、又は、スクロール可能選択ホイールを提示し、ドロップダウンメニュー、又は、スクロール可能選択ホイールには、述部メインテーブル及び目的部メインテーブルから引き出されたリテラルがポピュレートされる。補助GUIテーブルが使用されて、情報の表示が容易にされ、例えば、述部のプレインイングリッシュ対応物が提供され、それにより検索が入力されうる特定のコードが指示されてもよい。
図28、図29A及び図29Bは、一例を示す。1つ若しくは複数のテーブル400、又は他のデータ構造(複数可)は、GUIメニューの生成において使用される情報を格納する。GUIメニュー、402、404、その他のシーケンスは、スマートフォン画面上に提示され、ユーザが所望の検索パラメータを入力できるようにする。
図示のGUI402は、テーブル410の列410からの異なるメニュー凡例が選択可能に表示される、第1のスクロール可能ウィンドウ部420を有する。図示のように、ユーザは、「何を探していますか?」オプションへスクロールしている。
第2のスクロール可能ウィンドウ422には、テーブル400を参照することによって決定されるような、ウィンドウ部420に示された選択に対応する第2のレベルのメニュー選択肢がポピュレートされる。例えば、ユーザがウィンドウ部420を「何を探していますか?」へスクロールしているので、スマートフォンは、第2のウィンドウ部422に「車」「トラック」「オートバイ」及び「その他」などの選択肢を提示することによって応答する。これらの特定のテキスト文字列は、テーブル400の列412から引き出され、但し、これらの特定のテキスト文字列は、「何を探していますか?」トップレベルメニューに対応する。図示のように、ユーザは、ウィンドウ422をスクロールして、「トラック」を指示している。
GUI402は、ユーザがタップして、さらなる検索パラメータを入力することができる、ボタン424をさらに含む。代替として、ユーザは、ユーザにより入力されたパラメータ(複数可)に基づいた検索の結果を提示する「結果を取得」ボタン426を、タップすることができる。
ユーザがボタン424をタップすると仮定すると、GUIは、ユーザによって入力されたばかりの値(すなわち、「何を探していますか?」及び「トラック」)、又は、そのような値に関連付けられた8ビットコード値を格納し、次いで、ユーザがウィンドウ420と、次いで再びウィンドウ422とインタラクトできるようにする。今回は、ユーザは、ウィンドウ420から「乗客定員は何人ですか?」を選択する。
テーブル400の列412を参照することによって、スマートフォンは、第2のウィンドウ422を、「1」、「2」、「3」、「4」、「5」及び「6」など、対応するオプションでポピュレートすることを知る(その理由は、これらのラベルが「乗客定員は何人ですか?」メニュー選択に関連付けられるからである)。テーブル400内のフラグ(図示せず)は、ソフトウェアに対して、「乗客定員は何人ですか?」メニューオプションが選択されるとき、第2のウィンドウ422aをレンダリングするべきであることを信号伝達することができ、第2のウィンドウ422a内で、ユーザは範囲の上限を指定することができる。(元のウィンドウ422は次いで、範囲の下限としての役目を果たす。)図29Bで、ユーザは、ウィンドウ422を「4」へ、ウィンドウ422aを「6」へスクロールしている。ユーザは、したがって、4人と6人の間の乗客を座らせることができるトラックに関心がある。
ユーザは次いで、「結果を取得」ボタン426をタップすることによって、検索結果を要求することができる。
ユーザがボタン426をタップするとき、トリプルストアの検索が開始可能である。(代替として、検索はより早く、すなわち、ユーザがボタン424をタップすることによって、第1の検索パラメータ(「トラック」)の入力を完了したとき、開始していてもよい。つまり、検索を、一連の連続する選別動作内で行うことができるので、ユーザが「結果を取得」ボタンをタップするとき、最終的なパラメータのみが、予め決定された暫定的な検索結果のセット内で検索されることが必要となる。)
テーブル400は、スマートフォンプロセッサがどのように、格納されたデータを検索して、ユーザの検索基準を満たす車両を識別するべきであるかを、指示する。
例えば、ユーザが「トラック」を検索条件として選択したので、テーブル400の行432は、この検索条件が、12の述部コード(HasVehibleType(車両タイプである))、及び、115の目的部コード(トラック)に対応することを指示する。GPUは、これらの基準を満たすトリプルを求めて、メモリを検索する。
このことが実装されうる1つの方法は、閾値処理−GPUコアが優れている演算−によるものである。つまり、メモリをフィルタリングして、11よりも大きい、且つ、13よりも小さい述部を有するトリプルを識別することができる。この最初の演算からの暫定結果−HasVehicleType述部を有するすべてのトリプルを含む−が、新しいフレームバッファにコピーされうる。(又は、この閾値テキストを満たさないトリプルを、{0,0,0}−画像処理では「黒」−に設定することができる。)
上記で挙げた例では、さらなる処理のために、このステップによって複数のトリプルが識別されることがあり−典型的には、車両の各々につき1つのトリプル、例えば、{1,12,112}−ホンダ(Honda)CRX、{2,12,115}−フォード(Ford)レンジャー(Ranger)、{3,12,116}−ウィネベーゴ、(トヨタ(Toyota)タコマ(Tacoma))、{4,12,17}−トヨタ・シエナ(Sienna)、その他である。
第2の検索が次いで、(例えば、フレームバッファ内の)これらの暫定結果の全体で行われて−今回は、目的部コード115を有する(すなわち、「トラック」目的部についての)トリプルが識別される。115の目的部コードを有していないトリプルを、削除(又は、「黒」に設定)することができる。
これらの2回の検索ステップの後に残るものは、(この例では)2つのトリプル、すなわち、{2,12,115}及び{5,12,115}である。主部=2のトリプルは、フォード・レンジャーに対応し、主部=5のトリプルは、トヨタ・タコマに対応する。検索の「トラック」部分は、これらの2つの主部コードの識別によって、完了されている。
(前述の検索の段階を実装することができる別の方法は、対にされたテンプレートのセット−1つは、述部メモリプレーン内で12のコードを探し、1つは、目的部メモリプレーン内で115のコードを探す−を用いた、テンプレートマッチングによるものである。ここでも、2つのトリプルが、それにより識別される。)
スマートフォンは次に、第2の検索基準−4〜6人の乗客定員−を適用する。ソフトウェアは、テーブル400の行434a及び434b内で、この範囲が、2の述部コード(HasPassengerCapacity)、及び、5、6又は7の目的部コードに対応することを発見する。検索の第1の段階から、ソフトウェアは、主部コードが2又は5のいずれかに違いないことも知っている。これらの主部/述部/目的部条件を満たすデータが次いで、メイントリプルメモリ内のデータを調べることによって、又は、フレームバッファ内でデータのサブセット(すなわち、主部=2又は主部=5を有するすべてのトリプル)において演算することによって、(例えば、閾値処理演算によって)識別される。単一のトリプルが、すべてのこれらの基準を満たすことが発見され、すなわち、{5,2,7}である。これは、トヨタ・タコマトラックの6人の乗客定員を表現するトリプルである。
この検索の第2の段階の結果から、スマートフォンは、ユーザのクエリにマッチする車両のための主部コード、すなわち、5を知る。(この例では1つのマッチがあるが、他の場合では、いくつかのマッチがありうる。)スマートフォンは次に、検索結果情報を、ユーザに提示するために準備する。この演算の結果レポート段階を、図30を参照することによって例示する。
どの主部コード(複数可)が、ユーザのクエリを満たす車両に対応するかを知り、スマートフォンはここで、メモリ内で5の主部コードを有するすべてのトリプルを識別する。複数のトリプルが発見され−そのうちのいくつかを図30に示す(例えば、{5,1,17}、{5,2,7}、{5,3,58}、その他)。
メイン主部テーブル、メイン述部テーブル、及びメイン目的部テーブル(上記のテーブルIV、V及びVI)が、それぞれの主部コード、述部コード、及び目的部コードに関連付けられた文字列又は他の値について調べられる。例えば、第1のトリプル、{5,1,17}は、「2007年式トヨタ・タコマ HasExteriorColor 白(2007年式トヨタ・タコマは、白の外装色である)」を指示する。第2のトリプル、{5,2,7}は、「2007年式トヨタ・タコマ HasPassengerCapacity 6(2007年式トヨタ・タコマは、6人の乗客定員である)」を指示する。スマートフォンソフトウェアは、テンプレートフォームを満たし、テンプレートフォームは、異なるデータにプレインイングリッシュのタイトル(例えば、「HasExteriorColor」の代わりに「Color(色)」)でラベルを付けてもよく、スマートフォンソフトウェアは、リスト(例えば、上記の述部テーブルVからのすべての使用可能なパラメータを含む)を、スマートフォン画面上でユーザに提示する。(電話は、あるパラメータに基づいて、異なるテンプレートを使用してもよく、例えば、トラックについて使用されるテンプレートは、車について使用されるテンプレートとは異なるものであってもよい。テンプレートは、必要に応じて、クラウドストレージから得られてもよく、又は、スマートフォンメモリ内に常駐してもよい。)
述べたように、価格及び電話番号など、パラメータのいくつかは、メイン目的部テーブル内に格納されていないことがある。これらのパラメータは、「0」の目的部コードを有するトリプルによって指示される。そのようなトリプルからデータを提示するために、ソフトウェアは、述部に対応する補助テーブルを調べる(例えば、補助テーブル#4は、HasPrice(価格である)値を提供する)。そのような補助テーブル情報を参照することによって、ソフトウェアは、トヨタ・タコマの価格が$24,500であり、販売者の電話番号が503−555−1234であることを指示する情報を、フォームにポピュレートする。
いくつかのパラメータは、トリプルとともにスマートフォン内にダウンロードされたデータにおいて指定されないことがあるが、代わりに、例えば、クラウド内の、リモートトリプルストアから(又は、グーグルのようなテキスト検索から)プルされることがある。例えば、EPA燃費は、オンラインで容易に入手可能である政府統計値であり、他の車両情報を拡張するために得ることができる。
そのようなユーザクエリの結果を提示する例示的画面は、1つ又は複数の写真(例えば、HasLinkForMoreInfo(さらなる情報のリンクがある)述部によって指示されたURLから得られたもの)を、参照されたテンプレートフォームを使用して構成されたテキストとともに含んでもよい。そのようなテキストは、例えば、以下の通りになることがある。
「2007年式トヨタ・タコマ、$24,500、白(黄褐色の内装)で、53,000マイル。2.7リッターガソリンエンジンで、21mpgのEPA燃料経済性。このトラックは、6人用の座席を特徴とし、3500ポンドの牽引能力があります。503−555−1234にお電話下さい。」
1つの画面表示につき単一の車両が詳述されてもよく、追加の車両は、タッチスクリーン表示を横切ってスワイプする動きによって表示されてもよい。そのような情報の提示についてのさらなる詳細は、例えば、米国特許出願第13/079327号で見られる。
他の実施形態では、4つ以上の8ビットデータプレーンを利用するトリプルストアを使用することができる。(いくつかの画像が4プレーン表現で格納され、例えば、シアン/マゼンタ/黄/黒、又はRGBAであり−但し、Aはアルファ、すなわち透明度を表す。)一般に、「トリプル」の向上した形式と見なされるが、そのようなデータのセットはまた、「クワドラプル(quadruple)」、又は、より一般には「N−タプル(N−tuple)」(但し、N=4)と呼ばれることもある。第4の8ビットデータプレーンは、様々な機能を可能にする。
述べたように、価格は、メイン目的部テーブルによってコーディングするには不向きであり、その理由は、コーディングされる必要のある256個の異なる値があることがあり−他の情報を表すために使用可能な8ビットコードが残らないことがあるからである。しかし、256個の異なる価格を表す8ビットコードを、まばらにポピュレートされた第4の8ビットデータプレーンに格納することができる。
図31は、以前に説明した3つの8ビットプレーンを、価格のためのコードの格納専用の第4の8ビットプレーンとともに含む、例示的メモリの一部分を示す。このメモリは、実質的に、4×4ブロック−各々が異なる主部専用−に編成される。描かれた抜粋は、主部5(トヨタ・タコマトラック)に関連付けられたコードを詳述する。
わかるように、述部コード4(すなわち、HasPrice)を有するトリプルは、その目的部コードで255を有する。この実装形態では、255のコードは、関連付けられたコードについてさらなる8ビットプレーン(述部コードによって指示されている特定のプレーン)を参照するように、ソフトウェアに命令する。この例では、関連付けられたコードは、218である。
以前の例のように、テーブルは、異なる8ビットコードを異なる値に関連付けることができる。いくつかの実装形態では、価格コードを、ソートされた順序で、例えば、より小さいコードがより安い価格に対応するように、割り当てることが有利である。この8ビット価格コードメモリプレーンでは、サンプルのテーブルは以下の通りでありうる。
Figure 0006572468
図31及びこのテーブルを参照することによって、主部5に関連付けられた価格は$24,500であると決定することができる。
この構成の利点は、検索を容易にすることであり、その理由は、上記で詳述した技法−GPUの速度を、画像ストレージからの8ビット整数の処理に活用する−を利用できるからである。図29Bのユーザインターフェースは、「価格はいくらですか?」と尋ねることができる。一対のウィンドウ422、422aは次いで、メモリ内で詳述された車両の実際の価格の中でユーザがスクロールできるコントロールを提示し−最低価格及び最高価格を設定する。閾値処理、又は、他のそのようなGPU演算が次いで、価格メモリプレーン内の対応するコードに適用されて、指定された価格基準を満たす主部が迅速に識別される。
複数のそのようなさらなる8ビットコードプレーンを、もうけることができる。(これらの8ビットコードプレーンは、ハードウェアがそのように構成される場合、第4の画像メモリプレーンに切り替えられてもよく、又は、他の場所で格納及びアクセスされうる。)図31は、別のそのようなコードプレーン−エンジンサイズ(述部6に対応する)専用−を示す。ここでも、この8ビットプレーン内の対応するコードの格納は、検索クエリを迅速に実行可能にする。(GPUシェーダは典型的には、GPUシェーダが駆動する表示画面に同期される。アイフォン4電話の控えめなGPUでも、毎秒約25フレームでその640×960ピクセル表示画面をリフレッシュする。)
いくつかの実装形態では、述部の大部分−又は、すべてさえも−は、図31で価格及びエンジンサイズについて描かれたもののように、コードの格納のために8ビットメモリのそれら自体のプレーンを有してもよい。
目的部コードを割り当てて、セマンティックな順序付けを表現することによって、検索が容易になることは理解されよう。このことは、乗客定員に関する前述の例から明らかであり、前述の例では、異なる数値が、関連付けられた8ビットコードの対応する優位により、昇順の方式で順序付けされる。これにより、上側コード及び下側コードを指定すること、及び、閾値処理演算を行うことによって、範囲ベースの検索が可能になる。
同様の順序付けを、純粋に数ではないパラメータで実施することができる。例えば、色は、例えば、対応する波長最大値、及び/又は、強度若しくは輝度に基づいて、セマンティックな方法で順序付けされうる。したがって、青のすべて(ネイビーブルー、ロイヤルブルー、スカイブルー、アクアマリン色、その他)が同様のコードを有してもよく、すべての赤が同様のコードを有してもよく、青コード及び赤コードは、0〜255コード空間内で互いに離れて間隔があけられる。範囲ベースの色検索を次いで、容易に行うことができる。(例えば、ユーザは、図29Bのウィンドウ422内で「ネイビーブルー」を選択し、ウィンドウ422a内で「アクアマリン色」を選択してもよく、これらの2つの範囲限界の色コード間のいかなる色コードを有する車両も識別される。)
(色及び他の特徴を扱う別の方法は、RDFオントロジーを使用することによるものであり、RDFオントロジーは、項目をセマンティックにグループ化し、関連付ける。例えば、無数の異なる車メーカー色名を、以下のものなど、オントロジーによって検索可能パラメータに抜き出すことができる。
・AQUA METALLIC HasColor BLUE(アクアメタリックは青の色である)
・DEEP NAVY HasColor BLUE(ディープネイビーは青の色である)
・DEEP CARDINAL HasColor RED(ディープカーディナルは赤の色である)
・CRYSTAL RED HasColor RED(クリスタルレッドは赤の色である)
・CHARCOAL HasColor GREY(チャコールはグレーの色である)
・GRANITE HasColor GREY(グラニットはグレーの色である)
スマートフォンは、これらのトリプルを逆にして、結果として生じる主部(例えば、BLUE、RED、その他)を、図29Bのウィンドウ422及び422a内など、GUIで提示することができる。この場合、ウィンドウ422及び422a内で選択された2つの値は、パラメータの範囲を定義しないが、むしろ、検索においてともに論理和が取られる2つの異なる値を定義するので、いずれかの値を満たすトリプルが選択されるようになる。)
前述の例は、やや初歩的であるが、関係する原理を例示する役目を果たす。より複雑なセマンティックな推論を、当然実装することができる。例えば、電話が自動車の分類広告の画像を取り込む場合、電話は、ユーザにクエリを行って、ユーザが1年で運転するマイル数など、いくつかの事実を学習してもよい。(この情報は、ネットワーク化されたコンピュータ上に格納されたユーザプロファイル内、又は、ユーザの現在の車内のデータベース内など、他の場所で入手可能でありうる。)ユーザが、50,000マイルが典型的な年間走行距離であると指示することによって、このクエリに応答する場合、電話は、セマンティックな推論を採用して、1マイル当たりの車両運用コストがユーザにとって重要である可能性が高いことを見極めてもよい。この推測された情報により、電話は、ユーザにより指図された車両検索の結果を、(ユーザからの他の命令なしに)検索結果の中で最高の燃料経済性を有する車両を最初に提示することによって、レンダリングするように決定してもよい。
EPA燃費が、検索結果内の車両について入手可能でない場合、電話は、他のデータを使用して推論することができる。例えば、セマンティックな推論を使用して、1300ccエンジンによるエンジンが、4.7リッターエンジンによるエンジンよりも良い燃料経済性を有する可能性が高いと、結論付けることができる。同様に、そのような推論、又は、ネットワーク化された知識ベースは、ディーゼルエンジンがガソリンエンジンよりも良い燃料経済性を有する傾向があることを、指示してもよい。ここでも、そのような知識は、−単に、ユーザが年間50,000マイル運転するという事実に基づいて−検索結果の提示に情報を与えることができる。
前述の技法を特にスマートフォン実装形態との関連で説明しているが、原理は、より幅広く適用可能である。また、GPUコアの使用が好ましいが、詳述した機能は、他のタイプのプロセッサで処理されるメモリ内で同様に適用可能である。
同期化されたバックグラウンド
拡張現実の技法は、画像特徴を認識し、ラベルなどの情報をオーバーレイするために知られている。重ね合わせられたオーバーレイは、画像特徴(複数可)とともに幾何学的に位置合わせされうるので、画像特徴が視野内で動くにつれて、オーバーレイが対応する動きで動くようになる。
本技術の別の態様は、オーバーレイではなく、バックグラウンドの形態の拡張を提供することによって、そのような技法に基づいて前進する。
前景で被写体を描く画像、及び、周囲のバックグラウンドを考えられたい。例示的画像は、ビートルズ(Beatles)のアビー・ロード(Abbey Road)レコードアルバムであり、アビー・ロードの横断歩道を歩いて渡るビートルズの4人を描くものである。
フォトショップ、GIMP、又は別のツールを使用して、ビートルズの4人が画像から抜粋されうる。2つの画像をそれにより形成することができ−ビートルズの4人のみ(周囲に何もないか、又は均等色−白など−によって囲まれている)の第1の画像、及び、バックグラウンドのみ(ビートルズがいたところに何もなくてもよく(又は、そこが白であってもよく)、そうでなくてもよい)の第2の画像である。
第1の画像は、基層(substrate)上にプリントされてもよく、スマートフォンが使用されて、例えば、ビデオ取り込みモードで基層の画像が取り込まれる。スマートフォン内のソフトウェアは、第1の画像に対するカメラの姿勢を決定する。この情報により、ソフトウェアは、第2の(バックグラウンド)画像を幾何学的にワープさせるので、第2の(バックグラウンド)画像が、同じ姿勢から見られるかのような、スケール及び視点を有するようになる。電話が次いで、2つの画像−電話により取り込まれたビートルズの4人の画像、及び、バックグラウンド−画像の元の背景をもたらすようにワープされたもの−を合成する。2つの画像は、互いを補完して、基層に対する電話の姿勢から見られるかのような、元のアルバムカバーのように見える統合された画像を提示する。
他のバックグラウンド画像が、元の画像の代わりに使用されてもよい。したがって、アビー・ロードの画像の代わりに、バックグラウンド画像は、ニューヨークのタイムズ・スクエアのブロードウェイを描いてもよい。抜粋されたビートルズ−プリントされた基層から(又は、電子表示画面から)撮像された−を、新しいバックグラウンド画像−やはり、基層に対するカメラと同じ姿勢で見えるようにワープ及びスケールされる−の上に重ね合わせることができる。したがって、この拡張は、従来の拡張現実オーバーレイよりもむしろ、よりアンダーレイに類似している。
バックグラウンド画像を、基層−カメラ姿勢にマッチするように幾何学的にワープ及び登録することは、デジタルウォーターマーク、顕著な画像点、その他を使用するなど、様々な方法で行われうる。第1の画像が、QRコード[登録商標]又は他のバーコードを有する場合、そのような特徴自体を使用して、姿勢情報を見極めることができる。そのような技法を、本開示の他のところでさらに詳述している。
第1の画像に対する電話の姿勢が見極められると、第2の(バックグラウンド)画像を、姿勢の変化に基づいて修正して−3D効果を与えることができる。例えば、ユーザがカメラをパンする場合、追加のバックグラウンドの風景がフレームに入ることがある。ユーザがカメラを軽くさわって、より下方に向ける場合、街路の画像のより多くが視野に入ることが可能である(そして、一部の空の画像がフレームの上部から消えていく)。カメラの姿勢が変化するにつれて、第2の画像内に描かれたより近い特徴の変更された視点によって、第2の画像のある特徴が遮られるようになる−又は、現れるようになる。いくつかのそのような実施形態は、3Dモデルを採用して、バックグラウンド画像を生成する−電話の観点に基づいて、適切な2Dビューを計算する。
例示的実施形態は、被写体の描写の周囲に何もないか、又は被写体の描写が均等色で囲まれた、第1の画像を使用したが、他の実施形態では、このことは必要ではない。被写体のアイデンティティが(例えば、フィンガープリンティング、マシン可読符号化、その他によって)わかると、そのような被写体の輪郭を、データベースを参照することによって決定することができる。カメラは次いで、第2の画像を第1の画像の周りにステッチし−画像の主要な被写体(例えば、ビートルズの4人)の、データベースにより定義された輪郭の外側にある、第1の画像の部分をふさぐことができる。
ユーザが表示画面をタップする場合、電話のソフトウェアは、タップのロケーションに適した応答を提供することが望ましい。ユーザがジョン・レノン(John Lennon)をタップする場合、ジョン・レノンに関係付けられたコンテンツが提示される。そのようなタップは、タップされた表示の部分が、電話のカメラによって実際に取り込まれた画像を描くかどうか、又は、電話によって拡張として置かれた他の画像を描くかどうかにかかわらず、この振る舞いを呼び出す。(電話のソフトウェアは、ユーザのタップのXロケーション及びYロケーションを出力し、Xロケーション及びYロケーションが次いで、表示された画像内の特にロケーションにマップされる。提示された画像の表示内のそのようなロケーションに対応するコンテンツを次いで、知られている方法によって決定することができ、知られている方法は、タップ座標でデータベースにインデックス付けすることによる、その領域のウォーターマークを復号することによる、その他などである。)
モバイルデバイスへの表示のリンク付け
本技術のこの態様によれば、ウォーターマークが、LCDモニタなど、表示デバイス上で提示されることになる画像/コンテンツ/広告/ビデオ/ユーザインターフェース(例えば、ウェブページ)に埋め込まれる。埋め込みは、表示デバイスによって、関連付けられたコンピュータによって、又は、画像のリモートソースによって行うことができる。ウォーターマークは、スマートフォン又は他のモバイルデバイス内に存在する検出器で読み取り可能である。ウォーターマークからのペイロードは、テーブル又は他のデータ構造を通して、提示された表示に対応する情報のソースに論理的にリンクする。(ウェブページでは、情報は、ページのURLアドレスでありうる。)他の技法に勝る利点には、リアルエステート(real estate)の節約(画面上に表示された画像では、ウォーターマークがいかなる追加の空間も占有しない)、埋め込みコスト(印刷されたバーコードよりも安価)、全デジタルワークフロー、隠された特徴(必要とされる場合)、表示されたコンテンツとモバイルデバイスの間の通信チャネルが含まれる。応用例は多数であり−いくつかの例を以下で詳述する。
1つの応用例は、地図作成に関する。ユーザが、マップクエスト(MapQuest)、ヤフーマップ(Yahoo Maps)、又はグーグルマップ(Maps)など、地図作成ツールを使用することによって、デスクトップ/ラップトップ上で道案内を探していると仮定する。所望の地図/道案内が画面表示(ウォーターマーキングされている)上に提示された後、ユーザは、モバイル電話を、画面上に表示された地図/道案内に向ける。符号化されたウォーターマークを読み取ると、電話は、表示された道案内のためのURLを得で、同じページを(WiFiインターネット接続を使用するか、又は、GPRSなどの通信リンクを通して)ロードする。その時点で、ユーザは、モバイル電話で直接、地図/道案内を持って、出かける用意ができている。
モバイル電話がGPS能力を有する場合、ウォーターマークを読み取ると、スマートフォンは、すべてのロケーション/住所情報を手入力する必要なしに、地図/道案内をGPS機能性に直接リンクさせることができる。
モバイル電話がGPS能力を有していないが、ユーザがGPSを装備したデバイスを自分の車内に有する場合、ウォーターマーキングされたデスクトップ画面表示から電話によって復号されたペイロード情報を、ワイヤレス(例えば、ブルートゥース)接続を使用してGPSデバイスに転送することができる。
別の応用例は、電子商取引を容易にすることに関する。ある人が、自分のデスクトップ/ラップトップ上で靴の広告を見ており、この広告がウォーターマーキングされていると仮定する。モバイル電話を広告に向けることで、その人を、モバイル電話上に表示された「チェックアウト」ページに直接連れていくことが可能である。
別の応用例は、画像の同期に関する。ユーザは、デスクトップ画面上に表示された特定の画像を気に入り、自分のスマートフォン上にほしくなることがある。このことは、電話を使用して、単に画面表示の画像を取り込むことによって達成されうる。電話は、ウォーターマークを復号し、それにより抽出されたペイロードを使用して、画像のコピーをその元のロケーションから得る。
関連して、予定表の同期は、デスクトップ表示上の予定表プログラム(例えば、マイクロソフトアウトルック(Outlook))から画像を取り込むことによって達成されうる。電話は、ウォーターマークペイロードを復号し、この情報を参照することによって、ローカルの予定表を表示されたアウトルック予定表と同期させるためのデータを得る。
別の応用例は、ビジュアルブックマークである。ユーザが、デスクトップ/ラップトップ上でウェブページを見ており、(例えば、通勤帰りに)モバイル電話上でさらに閲覧するためにそのページをブックマークすることを望むと仮定する。ウェブページがウォーターマークを有する場合、ユーザは、単に電話をそのページに向けることができ、そのページ(又は、その対応するモバイルバージョン)のためのブックマークが、自動的にモバイル電話上に現れるようになる。
さらに別の応用例は、アクティブリンクに関する。静的であるウェブページ上のリンク(ユーザが、興味深いことを起こすために、リンクをクリックするなどのアクションを取らなければならないということである)とは反対に、ウォーターマークは、「アクティブリンク」を容易にすることができる。つまり、モバイルデバイスをウェブページ(又は、他の関連のある表示)に向けて、ウォーターマークを読み取るだけで、アクションを−モバイルデバイス上、又は、(ワイヤレスリンクを通して)ディスプレイに接続されたコンピュータ上のいずれかで−自動的にトリガする。
前述の概念をビデオに拡張して、モバイルデバイスを表示画面上のビデオストリーミングに向けることによって、動的に変化するウォーターマークを読み取ることを可能にすることができる。
前述の構成のうち特定のものを実装する際に有用な追加の情報は、Modro他、Digital Watermarking Opportunities Enabled by Mobile Media Proliferation、Proc. SPIE、Vol 7254、2009年1月の論文で見られる。
デバイス間のタスクの移行
本譲受人の米国特許出願公開第2010/0205628号は、ユーザがゲーム/コンテンツの流れにおける立場を失うことなく、ゲーム又はエンターテインメントコンテンツを、あるコンピュータシステム(例えば、デスクトップコンピュータ)から別のコンピュータシステム(例えば、スマートフォン)へ転送可能であることの望ましさに言及している。そのような構成によって、ユーザは、デバイスを切り替えるにもかかわらず、アクティビティをシームレスに継続することができる。
本技術の別の態様によれば、コンピュータの画面上に提示された表示データは、アプリ状態可変(app−state−variant)ペイロードによりルーチン的にデジタルウォーターマーキングされる。つまり、コンピュータ内の表示ドライバ又は他のモジュールは、表示されたデータを定期的に、マルチビット識別子によりステガノグラフィ的に符号化する。この識別子は、時折変更される(例えば、フレームごとに、又は1〜10秒ごとに、又は不規則な間隔で−閾値量の変化がプログラム若しくはコンピュータ状態で起こったときなど)。識別子が変更されるたびに、コンピュータは、コンピュータシステムの、又は、画面上に表示されているプログラムの、「完全な状態」を回復可能にするデータを書き込む。この情報が書き込まれるデータストアは、いくつかのエントリを含むことができ−基本データ状態を提供するもの、及び、連続する更新を提供する他のものである(ビデオフレームが、単に前のフレームとの差分を詳述するデータにより時々符号化される方法に類似している)。データベース(ルックアップテーブルと同じくらい簡単でありうる)は、格納されたデータのどの部分が、各ウォーターマークペイロードに対応するデバイス状態を再現するために必要とされるかを、識別する。
図37は、そのような構成をさらに詳述する。最初に縦軸を参照すると、時折の間隔で、第1のコンピュータ(例えば、デスクトップコンピュータ)が状態データをメモリに格納する。この状態データは、コンピュータの状態(又は、表示されているプログラムの状態)を異なるデバイス上で再現するために十分であることが望ましい。そのような状態データが格納されるたびに、新しいウォーターマークIDが割り当てられ(223、224、その他)、画面表示がその後、この識別子により符号化される。対応する更新が、ウォーターマークルックアップテーブルに対して行われる。
格納された状態データは一般に、可変長である(図37では、長方形の長さによって指示される)。時折、大きいデータのブロックが書き込まれるようになる(図37の「基本データ」)。格納されたデータの後続のブロックは単に、基本データの差分更新でありうる。さらなる間隔の後、別の新しい、大きい基本データブロックが書き込まれることがある(例えば、「基本データ38」)。
格納された状態データは、この例では、線形メモリに連続アドレス(図37の横軸に対応する)で書き込まれる。「基本データ37」は、メモリアドレス1004で開始して格納され、1012まで継続する。第1の更新である「37A」は、アドレス1013で開始して格納され、1016まで継続する。同様に、第2の更新である「37B」は、アドレス1017で開始して格納され、1023まで継続する。これは、第3の更新「37C」で継続する。次いで、基本データの新しいブロック(「基本データ38」)が書き込まれる。
消費者がスマートフォンを使用して、ウォーターマーク223が符号化されている表示画面の画像を取る場合、消費者のスマートフォンは、ウォーターマークを復号し、ウォーターマークを、対応する状態データが格納されているアドレス情報を提供するデータ構造(ローカル又はリモート)に入力する。図示の例では、データ構造は、メモリ範囲1004〜1012を返す。(図38は、そのようなウォーターマークルックアップテーブルを示す。)スマートフォンは、この範囲のデータを取得して使用し、異なるデバイス上にもかかわらず、実行中のプログラムを、ウォーターマーク223が最初に符号化されたときに存在した通りに再現する。
消費者が、ウォーターマーク224が符号化されている表示画面の画像を取る場合、図38のテーブルは、対応する基本データ(「基本データ37」)を包含し、また差分更新「37A」をも含むように広がる、メモリ範囲を返す。このようにして、図38のテーブルは、メモリアドレス範囲1004〜1016を返す。ここでも、消費者のスマートフォンは、この情報を使用して、ウォーターマーク224が最初に符号化されたときにデスクトップコンピュータ上に存在した実行状態を−スマートフォン上で−再現することができる。
図37の下部は、−図38のウォーターマークルックアップテーブル内で−異なるウォーターマークペイロードの各々に関連付けられた異なるメモリ範囲を、グラフィカルに示す。
機能的に同様の構成は、実装がより複雑であるが、Chang他、Deep Shot:A Framework for Migrating Tasks Across Devices Using Mobile Phone Cameras, Proceedings of the 2011 ACM Conference on Human Factors in Computing Systems(CHI 2011年)、2163〜2172ページに詳述されている。出願人の今説明した技術を、Changシステムに有利に組み込むことができ、Changシステムの教示を、今説明した構成において同様に採用することができる。
LED照明
LEDオフィス照明は、デスクトップコンピュータに取り付けられた光モデムと通信する、データ信号のための光キャリア−光DSLネットワークに類似している−として使用されつつある。(例えば、米国特許出願公開第2009/0129782号、及び、LVXシステム(LVX System,Inc.)による市版品を参照。)
NXPセミコンダクター(NXP Semiconductor)による照明のグリーンチップ(Greenchip)ラインは、統合されたIP6接続性を有する、LEDライト(「SSL」−ソリッドステートライト(solid state lights)と呼ばれることがある)を含む。つまり、あらゆるライトが、それ自体のインターネットアドレスを有する。「JenNet」−IPネットワークソフトウェアは、LEDデバイスのためのワイヤレス接続性を提供する。JenNetは、IEEE 802.15.4ベースのネットワーキングを採用する、6LoWPANメッシュアンダーツリーネットワーク(mesh−under tree network)である。これらなどの構成を通して、LEDの動作パラメータを、配線網の全域で送信されるIP6データに基づいて変更することができる。
本技術のさらなる態様によれば、LED照明は、スマートフォン、及び、他のカメラを装備したデバイスと通信することができる。照明の輝度又はクロミナンスが、人間が知覚不可能な度合いで変化させられて、追加のデータが搬送される。これらの微妙な変化は、スマートフォンカメラによって取り込まれた画像に反映される。スマートフォンプロセッサによって実行されたウォーターマーク復号処理は次いで、カメラデータから、符号化された情報を抽出する。
光モデムとは異なり、スマートフォンカメラは、取り込み画像フレームを毎秒100フレーム未満(より典型的には、10〜30fps)で提供する。しかし、小さいが、このデータレートは、それにもかかわらず、有用な情報を搬送することができる。照明が、一般のスマートフォンによって検知された異なる色チャネル−赤、緑、及び青−のうち2つ以上で変調される場合、多少より高いデータレートを達成することができる。
いくつかの応用例では、−色の変調にもかかわらず−一定の輝度を維持することが望ましいことがある。このことは、データを搬送するために色チャネルのうち2つを変調すること、及び、他の色による輝度変化を補償するために、必要に応じて第3のチャネルを変調し、一定の最終的な輝度を生じることによって、達成されうる。光の異なる波長に対する目の異なる感度のために、輝度は、緑の量に最も依存し、青の量に最も依存しない(Y=.59G+.30R+.11B)。例示的実施形態は、赤及び青を変化させて、データを搬送し、輝度補償のために緑を変化させてもよい。
他の応用例では、−輝度の変調にもかかわらず−一定の色相を維持することが望ましいことがある。やはり、このことは、駆動信号の適切な制御によって達成されうる。
知られているデジタルウォーターマーキングシステム(例えば、6,590,996)の場合と同様に、ウォーターマークデータペイロードを、BCH(「トレリス」)又は畳み込みコーディングなど、エラー訂正コードを使用して表して、データエラーに対するロバスト性をもたらすことができる。結果として生じる、時間的に変化する輝度又はクロミナンス変化を、(LEDが高速データで変調されるかどうかにかかわらず)既存のLED制御信号に適用して、最も近いカメラセンサへのブロードキャストを実施することができる。
通常、カメラは、画像の単一のフレームからデジタルウォーターマークデータの複数のビットを復号し、例えば、画像の異なる空間部分(例えば、ピクセル)間の輝度又はクロミナンスのわずかな差異を検出する。対照的に、本出願は、フレームのシーケンスからデジタルウォーターマークデータの複数のビットを復号し、経時的に輝度又はクロミナンスのわずかな差異を検出する。単一のフレーム内で、取り込まれた画像のすべての部分は、LED照明信号によって同様に影響を受けることがある。したがって、ウォーターマークを、単一のピクセルから、又は複数のピクセルから、又はピクセルのすべてから、出力された信号から復号することができる。後者の場合、例えば、復号アプリケーションは、カメラピクセルのすべてにわたって輝度及び/又はクロミナンスを合計又は平均し、この集計された信号を、ウォーターマーク符号化によって引き起こされた変化について解析することができる。
そのような技術の1つの特定の応用例は、小売店内でロケーションを信号伝達することである。靴セクションのLED電球器具は、ある特定の識別子により符号化されてもよく、紳士服セクションのLED電球器具は、異なる識別子により符号化されてもよい。周囲の照明を簡単にサンプリングすることによって、電話は、店内のそのロケーションを決定することができる。
別の応用例は、周囲のメディア環境からデータを検知し、検知された環境に基づいて情報を抽出するために、マイクロフォン又はカメラが装備されたLED照明器具である。(このことは、オーディオウォーターマークを検出すること、又は、オーディオフィンガープリントデータを生成し、それに基づいて曲を認識すること、又は、取り込まれた画像から人の顔を認識すること、その他を含みうる。)この抽出された情報に関係付けられたデータは次いで、照明器具から発せられた光において符号化される。
またさらに、LED自動車ヘッドライトを変調して、自動車の速度及びコンパス方位など、自動車の動作のパラメータを−接近する車両へ−搬送することができる。(そのような信号は、ユーザのスマートフォンではなく、車に組み込まれた光センサシステムを使用して復号されることが好ましい。そのようなセンサシステムは、スマートフォンカメラで可能であるよりも高い帯域幅でデータを取り込むように構成されうる。例えば、ヘッドランプは、1000又は10,000ビット/秒のデータレートで符号化可能であり、センサシステムは、そのようなレートを復号するように構成されうる。)
関連して、勤務先又は居住地の住所の屋外照明(例えば、正面玄関のライト)を変調して、番地を符号化することができる。
そのような情報が得られると、ユーザ(又は、ユーザのデバイス)は、そのような情報に関してアクションを起こすことができる。例えば、小売りの例では、電話は、店内の別のロケーションへの道案内をユーザに与えることができ、又は、近くの商品のクーポンを提示することができる。車の例では、電話は、接近する車両が制限速度(又は、ユーザ自身の速度)を10パーセントよりも多く超えた速度で走行中である場合、警告を信号伝達することができる。屋外照明の場合では、番地をユーザの電話に提示することができ、又は、そのロケーションの勤務先/居住者の名前を公的データベースから調べることができる。
汎用LED照明以外の光源を、今説明した方法で制御できることは理解されよう。例えば、テレビ及びラップトップ照明を、この方式で変調することができる。クロミナンス変調は、色が重要なテレビシーン(例えば、肌の色合いを描くもの)には適さないことがあるが、他の情報表示は、クロミナンス変化に寛容である(例えば、デスクトップの色、ウェブページのバックグラウンド、その他)。
図38は、輝度LED変調を採用する例示的実施形態を示す。照明器具を搭載したデバイス320は、1つ又は複数のLED322、直流電源324、及び、変調構成326を含む。描かれた構成はまた、JenNet IP6リモート制御システム(論理ブロック327、及び、関連付けられた変調器329を含む)をも含むが、これは必須ではない。
電源324は、従来のものであり、器具の交流電力(例えば、120ボルト)を、LED(複数可)322に適した直流電圧に変換する。(特に図示しないが、同じ電源は、必要とされる電圧(複数可)を変調構成326及びJenNetシステム327に供給することができる。)変調構成326は、例えば、無線又はオーディオ信号によってデバイスへ搬送され、アンテナ328又はマイクロフォン330によって検知された、入力データ信号333を受信する、データ受信機332を含む。データ受信機は、適切な復号(例えば、オーディオ信号の場合、ウォーターマーク抽出処理)を実現して、バイナリ出力データを供給する。このデータは、畳み込み符号器334に入力され、畳み込み符号器334は、出力信号を変調器336に供給し、変調器336は、LED(複数可)322に印加された直流信号を、それに応じて変化させる。(変調器329、336は、加算器として描かれるが、乗算器又は他の構成が代替として使用されうる。)
実際の実施では、システム320は典型的には、赤色/緑色/青色/白色LED光源を採用し、LED光源は、1KHz〜30KHzの周波数の三刺激(tri−stimulus)パルス幅変調(PWM)制御信号により駆動される。そのような構成では、駆動パルスの持続時間は、データ信号333のステガノグラフィ的符号化を実施するために、長くされ、及び/又は、短くされる。(典型的には、パルス長の変更は、25%未満であり、10%、5%又は2%未満でありうる。より大きい変更は、例えば、畳み込み符号器からの「1」及び「0」の出力に対応して、正の変更と負の変更がともに行われる場合、許容可能であり、その理由は、それらの時間平均が典型的にはゼロであるからである。)特定の変調率は、対象となっている応用例によって決まり、簡単な実験法によって決定されうる。(例えば、所与の畳み込み符号器では、望まれていない視覚効果が最も厳しい照明条件−夜間など−でちょうど現れ始めるまで、PWM駆動信号への率の変更を増し、次いで、これらの効果が知覚不可能になるまで、率の変更を低減する。)
変形実施形態では、図32のデータ受信機332が、GPS受信機、又は、他のロケーション検知モジュールで置き換えられる。(GPSよりも正確な技術は、特許7876266及び7,983,185、及び、特許公報2009313370、2009233621、及び2009213828で教示されている。)。そのような構成では、光源は、ジオロケーションデータにより符号化された照明を発する。
別の構成では、システム320は、データ受信機332を採用しないが、代わりに、(例えば、ROM又はディップスイッチ構成によって設定されうる)固定の複数ビットデータペイロードによりハードコードされる。そのようなペイロードは、システムのための一意の識別子としての役目を果たすことができる。受信側のスマートフォンがそのようなシステムからの照明を検知し、複数ビット識別子を復号するとき、この電話は、識別子をリモートデータベースへ(例えば、インターネットを介して)送信することができ、リモートデータベースは、電話の使用のために、関連付けられた情報(例えば、住居番号、店の売り場名、その他)を返す。
さらに別の構成では、ステガノグラフィ的に(つまり、スマートフォンによって検知可能なビットレートで)搬送されるべきデータが、電力線を介して搬送される。このことは、PDSL又はBPLなど、知られている電力線通信(PLC)技術を使用して行われうる。代替として、デバイスのグリーンチップラインによって採用された技術を使用することができる。
スマートフォンがLEDベースの光通信信号の受信機としての役目を果たすことができることと全く同じように、スマートフォンは、そのような信号の送信機としての役目を同様に果たすことができる。大部分のスマートフォン(及び、多数のより低能力の「フィーチャー」フォン)は、カメラにより取り込まれるシーンを照明するためにLED「トーチ」を含む。そのようなLEDを、上記で詳述した構成を使用して変調して、データを電話から光学的に搬送することができる。ブルートゥース及び他の短距離通信技術とは異なり、そのようなLED通信は、ある程度のプライバシーを与え、その理由は、明確なサイトのラインが典型的には必要とされるからである。
1つの特定の実施形態では、受信側のシステム(例えば、別のスマートフォン)は、応答データでLED信号に応答する。このデータ応答は、受信された光信号の強度(例えば、信号対雑音のメトリックに対応する数)を指示する情報を含みうる。発信側の電話は次いで、そのLED駆動電力を低減して、適度であるが過度ではない受信信号強度を第2のデバイスで供給するようにすることができる。節電に加えて、この方式でのLED駆動電流のそのような低減は、意図されていない受光機の盗聴のための能力をさらに削減する。(発信側のスマートフォンに返信されるこの応答データは、ワイヤレスで、光学的に、又は他の方法で搬送されうる。)
総括
総括するため、本明細書で詳述した新規の構成のいくつかを、以下のように要約することができる。
デバイス内で、コンテンツ(例えば、オーディオコンテンツ)を表すデータを受信するステップを含む方法。アルゴリズムが、受信されたデータに適用されて、識別データが導出される。導出された識別データを参照することによって、特定のソフトウェアプログラムが、コンテンツとともに使用するために選択される。この選択するステップが、そのような行為を行うように構成される、デバイス内のプロセッサによって行われる。選択されたソフトウェアプログラムが次いで、起動される。この構成によって、データとともに使用される特定のソフトウェアプログラムの選択が、データ自体から導出された識別データに基づく。
さらなる方法は、やはり、デバイス内で、コンテンツ(例えば、オーディオコンテンツ)を表すデータを受信するステップと、アルゴリズムを受信されたデータに適用して、識別データを導出するステップとを含む。導出された識別データを参照することによって、コンテンツとともに使用するために有利なソフトウェアプログラムが、選択される。この選択するステップが、そのような行為を行うように構成される、デバイス内のプロセッサによって行われる。有利なソフトウェアプログラムが次いで、ユーザに指示される。この構成によって、データとともに使用される有利なソフトウェアプログラムが、データ自体から導出された識別データに基づいて選択される。
さらに別の方法は、デバイス内で、コンテンツ(例えば、オーディオコンテンツ)を表すデータを受信するステップを含む。このコンテンツは、デバイス内の第1のソフトウェアによってレンダリングされうるタイプのものである。コンテンツをこの第1のソフトウェアによりレンダリングするための試みに応答して、デバイスが、第2のソフトウェアが代わりに使用されるべきであることを指示する。この場合、コンテンツの創作者が、その創作者のコンテンツのために、第2のソフトウェアを好ましいものとして指定した。
さらに別の方法は、デバイスのマイクロフォンにより、周囲環境からオーディオを受信するステップを含む。アルゴリズムが、受信されたオーディオを表すオーディオデータに適用されて、識別データが導出される。導出された識別データを参照することによって、オーディオに関係する商取引のために使用されるべき、対応するフルフィルメントサービスが選択される。この構成によって、第1の受信されたオーディオが、第1のオーディオに関係する商取引のために使用されるべき第1のフルフィルメントサービスの選択につながり、第2の異なる受信されたオーディオが、第2のオーディオに関係する商取引のために使用されるべき第2の異なるフルフィルメントサービスの選択につながる。
さらなる方法は、ユーザの周囲環境内のコンテンツ(例えば、オーディオ)を識別するステップを含み、コンテンツが、ユーザデバイスによって以前にサンプリングされている。識別されたコンテンツについての情報が次いで、任意選択でユーザコンテキスト情報とともに、パブリッシュされる。このパブリッシュされた情報に応答して、1つ又は複数の第三者入札が受信される。決定が、落札、及び、落札に関連付けられた第三者について行われる。決定された第三者により識別されたソフトウェアが次いで有効化されて、ユーザデバイス上でユーザに購入機会が提示される。
さらに別の方法は、所与のタイプ(例えば、オーディオ、画像又はビデオ)の受信されたコンテンツに対応する、デジタルデータのセットを受信するステップを含む。受信されたコンテンツに対応する識別データが生成され、それにより、受信されたコンテンツが、所与のタイプの他のコンテンツとは区別されうる。識別データを参照することによって、受信されたコンテンツに関連付けられ、且つ、所与のタイプのすべての他のコンテンツに関連付けられない、N個のアプリケーションプログラム(複数可)が決定され、但し、Nは1又は複数である。アクションが次いで、決定されたアプリケーションプログラム(複数可)のうち1つ又は複数により、取られる。
この技術の別の態様は、オペレーティングシステム(OS)ソフトウェアが格納されている、コンピュータ可読ストレージ媒体である。OSソフトウェアは、OSサービスを、定義されたインターフェースを通して、要求側アプリケーションプログラムに提供するように、プロセッサを構成する役目を果たす。これらのOSサービスは、視覚又は聴覚の情報を表す信号データから、コンテンツ識別データを導出すること、及び、コンテンツ識別データを、定義されたインターフェースを通して、コンテンツ識別データをサブスクライブする1つ又は複数のアプリケーションプログラムによって使用するために、パブリッシュすることを含む。
この技術の別の態様は、処理デバイスとメモリとを含む装置である。メモリはオペレーティングシステム(OS)命令を含み、該OS命令は、OSサービスを、定義されたインターフェースを通して、要求側アプリケーションプログラムに提供するように、処理デバイスを構成するOS命令を含む。装置は、デバイスの環境から周囲の視覚及び/又は音の刺激を検知するためであり、且つ、それに対応するコンテンツデータを作り出すための、検知システムをさらに含む。OSサービスのうち1つは、作り出されたコンテンツデータからコンテンツ識別データを導出し、コンテンツ識別データを、定義されたインターフェースを通して、サブスクライブする要求側アプリケーションプログラムにパブリッシュする。
この技術の別の態様は、処理デバイスとメモリとを含む装置である。メモリはオペレーティングシステム(OS)命令を含み、オペレーティングシステム(OS)サービスを、定義されたインターフェースを通して、要求側アプリケーションプログラムに提供するように、処理デバイスを構成するOS命令を含む。これらの定義されたインターフェースのうち1つはコンテンツ識別メッセージキューを提供し、該コンテンツ識別メッセージキューがデバイスによって処理された視覚又は音の刺激に対応するコンテンツ識別データをパブリッシュする、、該コンテンツ識別メッセージキューを、1つ又は複数のアプリケーションプログラムがサブスクライブすることができる。
この技術の別の態様は、ユーザの周囲環境から、延長された期間(prolongedperiod; 例えば、15分、1時間、又は6時間より長い)にわたって、音又は視覚の刺激を検知し、それにより、ユーザがその期間中に曝されていたコンテンツに気付くステップを含む、方法である。この検知された刺激を参照することによって、構成されたハードウェアプロセッサが使用されて、ユーザがこの期間中に曝されていたコンテンツのいくつかの異なる項目に対応するコンテンツ識別データが生成される。次いで、ユーザインターフェースとの後続のユーザインタラクションの過程で、この方法は、ユーザに対して、タイトルによって、ユーザの環境から気付かれたコンテンツの複数の異なる項目を識別し、ユーザが、識別されたコンテンツの項目のうち少なくとも1つに対する複数の異なるアクションの中で選択できるようにする。
別の方法は、ユーザの周囲環境から、音又は視覚の刺激を検知し、それにより、ユーザが曝されていたコンテンツに気付くステップを含む。検知された刺激を参照することによって、構成されたハードウェアプロセッサが使用されて、コンテンツの少なくとも1つのそのような項目に対応するコンテンツ識別データが生成される。2つ以上の異なるソフトウェアアプリケーションが次いで、そのような生成されたコンテンツ識別データに少なくとも部分的に基づく情報により、用意される。この構成によって、ユーザが次に、異なるソフトウェアアプリケーションの各々を利用するとき、ユーザは、異なるソフトウェアアプリケーションの各々が、ユーザがコンテンツの項目に曝されたことを既に反映することを、発見するようになる。
さらなる方法は、消費者電子デバイスを使用して、オーディオ、画像及び/又はビデオコンテンツを表すコンテンツデータを受信するステップを含み、但し、以前にインストールされたか、又は他の方法で、デバイスとともに使用するために使用可能にされた、第1のソフトウェアレンダリングプログラムのために、電子デバイスがレンダリングしてコンテンツ関連体験を作り出すことが可能であるタイプのファイルフォーマットで、コンテンツデータが受信される。受信されたコンテンツデータを参照することによって1つ又は複数のソフトウェアレンダリングプログラム(複数可)が決定され、該ソフトウェアレンダリングプログラム(複数可)は、受信されたコンテンツデータとともにコンテンツ関連ユーザ体験を作り出すためにコンテンツデータの所有者によって規定される。この方法は次いで、これらの決定されたソフトウェアレンダリングプログラムのいずれもが現在インストールされていないか、又は、デバイスとともに使用するために使用可能でないと決定し、したがって、可能な第1のソフトウェアレンダリングプログラムにもかかわらず、受信されたコンテンツデータをデバイス上でレンダリングすることを拒否する。そのような構成によって、消費者電子デバイスは、それによりコンテンツ関連ユーザ体験がユーザに配信されるべきである、ソフトウェアレンダリングプログラム(複数可)に関する、所有者の規定を尊重する。
さらに別の方法は、ユーザのデバイスを使用して、アートをレンダリングすることに関し、但し、アートは、その所有者によって作り出されている。アートは、いくつかの異なるソフトウェアプログラムによってレンダリングされうるデータフォーマットで表される。この方法は、プログラムされたプロセッサを使用して、所有者により指定されたメタデータを調べて、アートデータをレンダリングするために利用されうるこれらのプログラムのサブセットを決定するステップと、このサブセットのうち1つのプログラムによりアートデータをレンダリングするステップとを、さらに含む。そのような構成によって、所有者に、アートがどのようにレンダリングされるかの、ある程度の制御権が与えられる。
この技術の別の態様は、処理デバイスと、処理デバイスを構成するためのいくつかのソフトウェアプログラムを格納するコンピュータ可読ストレージ媒体と、装置の環境内の周囲の視覚又は音のコンテンツを表すデータを生成するための検知システムとを含む、装置である。ソフトウェアプログラムのうち少なくとも1つが、コンピュータ可読ストレージ媒体に、装置が装置の環境からある周囲のコンテンツを検知する結果として、格納される。
この技術の別の態様は、プロセッサとメモリとを含むポータブルデバイス(例えば、スマートフォン)であり、メモリは、オペレーティングシステムソフトウェアと、複数のソフトウェアプログラムとを含む。これらのプログラムのうち第1のものは、音又は視覚のコンテンツを表すデータを解析して、対応する識別データを作り出す役目を果たし、そのような解析の結果を出力にパブリッシュする。これらのプログラムのうち第2のものは、第2のプログラムが調和するあるコンテンツについて、第1のプログラムの出力を監視し、あるコンテンツが気付かれるとき、アクションを取る役目を果たす。
さらに別の方法は、見る姿勢から被写体の画像を取り込み、取り込まれた画像をポータブルデバイスの画面上に提示するステップを含む。見る姿勢の最適性が、取り込まれた画像を参照することによって評価される。この方法は次いで、取り込まれた画像の提示上に、評価の結果を指示するしるしをオーバーレイする。このオーバーレイされたしるしは、評価された最適性の変化とともに変化する。
さらなる方法は、ポータブルデバイスを使用して、画像の複数のフレームを取り込むステップを含み、ポータブルデバイスは、画像センサ及び第2のセンサを有する。取り込まれたフレームのうち少なくとも2つのサブセットが、第2のセンサからのデータに基づいて選択される。これらの選択されたフレームが次いで、結合される。結合は、顕著点を使用することができ、結合された出力は、ポータブルデバイス内のデジタルウォーターマーク復号器に提供されうる。
この技術の別の態様は、プロセッサと、メモリと、少なくともカメラ及びマイクロフォンを含む複数のセンサとを含む、ポータブルデバイス(例えば、スマートフォン)である。デバイスコンポーネントが協働して、オーディオフィンガープリント認識エージェント、バーコード認識エージェント、及び、画像ウォーターマーク認識エージェントなど、複数の認識エージェントを定義する。エージェントが、メモリのブラックボードデータ構造からデータを読み取り、且つ、メモリのブラックボードデータ構造へデータを書き込むように構成される。このブラックボードデータ構造がまた、センサからデータを受信するように、且つ、エージェントが処理する格納された画像データ及びオーディオデータのキューを編集するように構成される。これらの要素が、メモリ内の命令によって定義されたイベントコントローラの制御下で協働する。
さらに別の方法は、人と複数のオブジェクトの間のネットワーク関係を決定するステップと、これらのネットワーク関係から、人にとってのオブジェクトの相対的重要性を見極めるステップとを含む。アクションが次いで、見極められた相対的重要性に基づいて取られる。
さらに別の方法は、ポータブルデバイスにより、人の手のジェスチャーの画像を取り込むステップを含む。画像が処理されて、ジェスチャーから手話が見極められ、それに基づいて、アクションが取られる。
さらなる方法は、第1及び第2の空間周波数部分を有する情報搬送パターンを定義するステップと、このパターンを基層上にプリントするステップとを含む。第1の部分が、見る人に、符号化された情報の存在への合図を出す、可視バックグラウンド織り込みパターンを定義し、第2の部分が、人間の視覚の範囲を超える空間周波数を含み、符号化された情報のうち、少なくとも特定のものを搬送する。
さらに別の方法は、第1のデバイス内で、デジタルウォーターマーキングによって符号化されたペイロードデータを有するオーディオ又は画像のコンテンツデータを受信するステップを含む。このペイロードデータが復号され、次いで、少なくとも一部分が、デジタルウォーターマーキング以外の技法によって、第2のデバイスへ送信される。
なお、さらなる方法は、ホームエンターテインメントシステム内で、オーディオ又は画像のコンテンツを受信し、メディアフィンガープリント情報を決定するステップを含む。メディアフィンガープリント情報が次いで、コンテンツがホームエンターテインメントシステムによってレンダリングされているユーザのポータブルデバイス(例えば、スマートフォン)へ、ワイヤレスで送信される。
別の方法は、小売店内で、店内の買物客による製品関心を指示する信号を受信するステップと、次いで、受信された信号に基づいて、アクションを取るステップとを含む。このアクションは、買物客をサービスのためのキューに入れるサブステップと、買物客にサービスのための待ち時間を知らせるサブステップと、買物客に、サービスを提供するようになる小売店スタッフについての情報を提供するサブステップと、買物客に、サービスを待つように誘い物を提供するサブステップとのうち、少なくとも1つを含む。(そのような誘い物は、そうでない場合は料金が課されるはずのエンターテインメントコンテンツでありうる。)
さらなる方法は、買物客のスマートフォンによって、小売店内に陳列された第1の製品から検知されたデータを参照することによって、第2の製品が第1の製品と互換性を有するかどうかを判定するステップと、次いで、そのような判定に基づいてアクションを取るステップと、を含む。
さらに別の方法は、デジタルウォーターマーキングされたオブジェクトから画像を取り込むステップを含み、デジタルウォーターマークは、既知の参照特徴を含む。次いで、これらの既知の参照特徴がぼけカーネルの推定において使用され、取り込まれた画像がぼけカーネルにより処理されて画像ぼけが低減されうる。
さらに別の方法は、ユーザのポータブルデバイス(例えば、スマートフォン)によって検知された情報を参照することによって、ユーザの関心を決定するステップと、次いで、決定された関心に基づいてアクションを取るステップと、を含む。
さらに別の方法は、ユーザが選択することができる、ポータブルデバイスの画面上のテキスト文字の配列を表示するステップと、画面の一部分に向かうユーザの凝視を検知して、テキスト選択を行うステップと、次いで、ユーザが次に選択することができる、画面上の文字の配列を変更するステップとを含む。
さらなる方法は、スマートフォンカメラを使用して、画像データのビデオシーケンスを取り込むステップと、取り込まれたデータ内で第1のマシン可読シンボロジー(symbology)を識別するステップと、第1の識別されたシンボロジーに関係付けられた情報を格納するステップと、取り込まれたデータ内で第2のマシン可読シンボロジーを識別するステップと、第2の識別されたシンボロジーに関係付けられた情報を格納するステップとを含む。そのような構成によって、デバイスが、ストリーミングモードで動作して、取り込まれたビデオシーケンス内で発見されたマシン可読シンボロジーに関係付けられた情報を収集する。
この技術の別の態様は、プロセッサと、メモリと、1つ又は複数のセンササブシステムと、タッチスクリーンとを含む、システムである。システムは、デバイスが、センササブシステムからの情報を、メモリ内にRDFトリプルとして格納するように構成され、プロセッサが、格納されたRDFトリプルに基づいて、アクションを取るように構成されることを特徴とする。
この技術のさらに別の態様は、センサデータを受信するステップと、検知された情報を、格納のためにRDFトリプルとして表すステップと、次いで、格納されたRDFトリプルを処理するステップと、を含む、方法である。
この技術の別の態様は、カメラと、プロセッサと、メモリとを含む、デバイスである。メモリが、カメラによって取り込まれた画像のセットを格納し、画像のセットについてのアサーションを作成する複数のRDFトリプルをも格納する。デバイスプロセッサが、格納されたRDFトリプルのうち1つ又は複数を参照することによって、格納された画像のセットにおいて演算を行うように構成される。
別の方法は、第1のコンピュータ処理が、1つ又は複数の他のコンピュータ処理からのサービスを要求することを可能にし、要求をデータ構造に投稿するステップであって、要求がRDFトリプルとして表現される、ステップを含む。
さらに別の方法は、オーディオ情報を消費者電子デバイスで受信するステップを含み、但し、オーディオ情報がコンテンツ配給者によって用意されており、少なくとも第1及び第2のオーディオトラックを含む。このデバイス内で、第1及び第2のトラック間の比を設定する、制御信号が受信される。オーディオが次いで、この比に従って消費者にレンダリングされる。第2のオーディオトラックが、補助情報を搬送する、雑音のようなデジタルウォーターマーク信号を含む。
この技術の別の態様は、第1のデバイスによってレンダリングされる場合、第2のデバイスの機能を制御する、コンテンツデータを含む、コンピュータ可読媒体である。このコンテンツデータは、オーディオ情報の少なくとも第1及び第2のトラックを含む。第1のトラックは、消費者の楽しみのためのオーディオを含み、第2のトラックは、第2のデバイスのための制御データを搬送する、雑音のようなデジタルウォーターマーク信号を含む。
この技術の別の態様は、オーディオの少なくとも第1及び第2のトラックに対応するデータを含む、コンテンツ情報を格納するメモリを含む、装置である。オーディオ部が、コンテンツ情報を出力デバイス(例えば、スピーカ)にレンダリングするために提供される。このオーディオ部は、第2のトラックが第1のトラックに対してレンダリングされるべきであるレベルを設定するために、ユーザによって操作可能なコントロールを含む。オーディオの第2のトラックに対応する、格納されたデータは、第2の装置の機能を制御するための、雑音のようなデジタルウォーターマーク信号を表す。
この技術の別の態様は、カメラを装備したポータブルデバイスによって取り込まれた画像に対応する第1のセットのデータを受信するステップを含む、方法であり、但し、画像は被写体を描く。ステガノグラフィ的に符号化されたデジタルウォーターマークペイロードデータが、第1のセットのデータから復号される。このペイロードデータを参照することによって、第2のセットのデータが得られる。この第2のセットのデータは、被写体に対応する顕著点データを含む。
この技術の別の態様は、コンピューティングデバイスによって実行される場合、被写体を描く画像に対応する第1のセットのデータを受信すること、ステガノグラフィ的に符号化されたデジタルウォーターマークペイロードデータを、第1のセットのデータから復号すること、及び、ペイロードデータを参照することによって、第2のセットのデータを得ることを含む動作をコンピューティングデバイスに行わせるソフトウェア命令を含む、コンピュータ可読媒体である。第2のセットのデータは、被写体に対応する顕著点データを含む。
この技術のさらなる態様は、ポータブルデバイス内で、オブジェクトに関連付けられたパッシブチップデバイスから検知された識別データを受信するステップを含む、方法である。この識別データを参照することによって、第2のセットのデータが得られる。この第2のセットのデータは、オブジェクトに対応する顕著点データを含む。
この技術の別の態様は、ポケットサイズのハウジング内に配置された、メモリ及び処理部を含む、ポータブルデバイスである。メモリは第1の部分を含み、該第1の部分が、複数のコードベースのセマンティックトリプルを表すコードデータを格納す、トリプルの各々は、第1、第2及び第3のコードを含み、コードのうち1つが主部コードであり、1つが述部コードであり、1つが目的部コードである。メモリは第2の部分をさらに含み、該第2の部分が、異なるテキストリテラルを別々のコードに関連付けるリテラルデータを格納する。処理部はGPUをさらに含み、該GPUが、メモリの第1の部分内のコードデータを処理して、メモリの第2の部分内のテキストリテラルによって表された情報において演算を行う。
この技術の別の態様は、ポケットサイズのハウジング内に配置された、メモリ及び処理部を含む、ポータブルデバイスである。メモリはフレームバッファ部を含み、該フレームバッファ部が、複数のコードベースのセマンティックトリプルを表すコードデータを格納し、各トリプルは、主部コード、述部コード、及び目的部コードを含む。メモリは第2の部分をさらに含み、該第2の部分は、異なるテキストリテラルを別々のコードに関連付けるリテラルデータを格納する。処理部はGPUを含み、該GPUが、メモリの第1の部分内のコードデータを処理して、メモリの第2の部分内のテキストリテラルを使用して表現された概念を含むセマンティックな推論を行う。
この技術のさらなる態様は、ポケットサイズのハウジング内に配置された、メモリ及び処理部を含む、ポータブルデバイスである。処理部は、メモリ内に格納された命令によって構成され、GPUを含む。メモリは、複数のコードベースのセマンティックトリプルを表すコードデータを格納し、各トリプルは、主部コード、述部コード、及び目的部コードを含む。命令は、前記処理部が一連のテンプレートを格納されたコードデータに適用して、トリプルに基づいて演算を行うように、処理部を構成する。
この技術の別の態様は、カメラを装備したポータブルデバイスによって取り込まれた画像に対応するデータのセットを受信するステップを含む、方法であり、但し、画像は被写体を描く。識別データが、受信されたデータのセットに基づいて決定される。識別データを参照することによって、第2のセットのデータが得られ、但し、この第2のセットのデータは、複数のN−タプルを含み、各々は、主部、述部及び目的部要素を含む。これらのN−タプルが処理され、そのような処理に基づいて、アクションが取られる。
この技術のさらなる態様は、ポケットサイズのハウジング内に配置された、タッチスクリーン、メモリ及び処理部を含む、ポータブルデバイスである。メモリは、複数のコードベースのセマンティックトリプルを表すデータを含み、各トリプルは、主部コード、述部コード、及び目的部コードを含む。メモリは、別々のコードのためのそれぞれのテキストの意味を指示する、テキストリテラルを含む部分をさらに含む。メモリはまたソフトウェア命令をも含み、該命令は、処理部が、タッチスクリーン上で、テキストリテラルのうち特定のものがポピュレートされるユーザインターフェースを提示し、該ユーザインターフェースを通してユーザがコードベースのセマンティックトリプルのクエリを定義することができるように、処理部を構成する、。
この技術の別の態様は、ポケットサイズのハウジング内に配置された、タッチスクリーン、メモリ及び処理部を含む、ポータブルデバイスである。メモリが、複数のデータN−タプルを含む、ストレージの複数のプレーンとして論理的に編成され、N−タプルの要素がテキストリテラルに対応する。処理部はGPUを含み、該GPUは、タッチスクリーンユーザインターフェースを介して入力されたユーザクエリに応答することの一部として、データN−タプルにおいて演算するように構成されている。
別の方法は、ユーザクエリに対応するデータを受信するステップを含む。第1のプレーン閾値処理テストが、N−タプルデータストアの1つのプレーン内に格納された値に適用され、但し、データストアが、複数のデータN−タプルを格納するデータのN個のプレーンを含むように論理的に編成され、但し、Nは少なくとも3である。このプレーン閾値処理テストは、ユーザクエリの第1の態様を満たす、格納されたデータN−タプルの第1のサブセットを識別する。
さらに別の方法は、カメラを装備したポータブルデバイスによって取り込まれた画像に対応する第1のセットのデータを受信するステップを含み、但し、画像は、第1の解像度で被写体を描く。識別データが、第1のセットのデータに基づいて決定される。この識別データを参照することによって、第2のセットのデータが得られ、但し、第2のセットのデータは、被写体を描く画像に対応する。第2のセットのデータは、第1のセットのデータとは異なる視点から被写体を描き、第1の解像度よりも高い第2の解像度で被写体を描きうる。
さらに別の方法は、オブジェクトから検知されたNFC識別データを受信するステップと、識別データを参照することによって、オブジェクトを描く画像データのセットを得るステップと、を含む。
さらなる方法は、第1及び第2のデバイス間でアプリケーション状態を転送するステップに関し、各デバイスは、プロセッサと表示画面とを含む。この方法は、第1のデバイス内のカメラを使用して、第2のデバイスの表示画面上に提示された画像を検知するステップを含む。デジタルウォーターマークデータが、検知された画像から復号される。復号されたデジタルウォーターマークデータに基づいて、格納されたデータが識別され、該格納されたデータが第2のプロセッサのアプリケーション状態をメモリアライズする。この格納されたデータが次いで使用されて、第2のプロセッサがアプリケーション状態に初期化されうる。
さらに別の方法は、プロセッサと表示画面とを有するデバイスを伴う。この方法は、アプリケーション状態データを時折格納するステップと、画像をデジタルウォーターマーキングして、その中の識別子を符号化するステップとを含み、但し、識別子は、格納されたアプリケーション状態データへのアクセスを容易にする。このデジタルウォーターマーキングされた画像が次いで、表示画面上に提示されうる。
さらに別の方法は、ポータブルデバイス内のカメラを使用して、光(例えば、周囲光)を検知するステップを含む。識別子が、検知された光から復号され、情報が次いで、復号された識別子に基づいて得られる。
さらなる方法は、動いている車両の方向及び/又は速度を符号化する信号を生成するステップと、そのような信号に従って、車両の1つ又は複数の外部ライト(例えば、ヘッドランプ)を制御するステップとを含む。
別の方法は、照明器具によって照明された環境からデータを検知するステップと、検知されたデータを処理してそれに対応する情報を決定するステップとを含む。照明器具から発せられた光が次いで、決定された情報に従って符号化される。
さらに別の方法は、デバイスのマイクロフォンにより、ユーザの周囲環境から、延長された間隔(例えば、少なくとも15分、1時間、又は6時間)にわたって、オーディオを受信するステップを含む。アルゴリズムが次いで、受信されたオーディオを表すデータに適用されて、識別データが導出される。導出された識別データを参照することによって、ユーザがその間隔中に曝されたオーディオコンテンツの少なくとも第1及び第2の異なる項目が決定される。オーディオコンテンツのこれらの2つの項目を参照することによって、ソフトウェアが、ユーザによる後の使用のために用意される。この用意するステップは、補助コンテンツの第1及び第2の項目を、デバイスで、1つ又は複数のリモートリポジトリから受信するサブステップを含む。補助コンテンツの第1の項目が、オーディオコンテンツの第1の決定された項目に関連付けられ、補助コンテンツの第2の項目が、オーディオコンテンツの第2の決定された項目に関連付けられる。ユーザが次いで、オーディオコンテンツの決定された第1及び第2の項目を識別するリストを提示されうる。関心のあるものとしての、オーディオコンテンツのこれらの決定された項目のうち1つのユーザ選択に応答して、補助コンテンツの対応する項目を使用して、用意されたソフトウェアに従って、アクションが取られうる。そのような構成によって、ユーザが曝されるオーディオコンテンツの項目が監視され、ユーザがオーディオコンテンツの特定の項目を関心のあるものとして選択するより前に、関連付けられた補助コンテンツが、デバイスによって受信される。
さらに別の方法は、ポータブルデバイスのマイクロフォンにより、ユーザの周囲環境から、延長された間隔にわたって、オーディオを受信するステップを含む。この間隔中のユーザのロケーションが、検知される。アルゴリズムが、受信されたオーディオを表すデータに適用されて、識別データが導出される。導出された識別データを参照することによって、ユーザがその間隔中に曝されたオーディオコンテンツの少なくとも第1及び第2の異なる項目が決定される。ポータブルデバイスのユーザインターフェースを通して、オーディオコンテンツの決定された第1及び第2の異なる項目が、ユーザに識別され、第1の項目を選択する、ユーザインターフェースを通して入力されたユーザ信号が、受信される。応答において、オーディオコンテンツの第1の項目の識別が、ユーザの検知されたロケーションを指示するデータとともに、オンラインソーシャルネットワークに投稿される。
この技術の別の態様は、メモリ内の命令によって構成されるプロセッサを含む、システムである。これらの命令は、オペレーティングシステムソフトウェアを含む。オペレーティングシステムソフトウェアは、入力オーディオデータを受信するオーディオ識別サービス、又は、格納されたオーディオデータへのポインタを提供し、それに対応するメタデータを、オペレーティングシステムソフトウェアのオーディオ識別メッセージキューへ返す。
さらなる方法は、モバイル電話デバイスのカメラ部分を使用して取り込まれ、デバイスの画面上に表示された、第1の被写体を描く画像のフレームを含む。この方法は、取り込まれた画像データを解析することによって、第1の被写体に関係付けられた識別子を作り出すステップを含む。第1のタグが、画面上に、画像の第1のフレームとともに表示される。この第1のタグが、画面上の第1の位置に位置し、第1の被写体に関連付けられたアクションを開始するようにユーザ選択可能である。第1のフレーム内に描かれた通りの第1の被写体を、表示された第1のタグに関連付ける、視覚的しるしが、画面上に提示される。この方法は、この第1のタグを、画面上に、第1の被写体を描く画像の第2のフレームとともに表示するステップをさらに含む。第1の被写体が、画像の第1及び第2のフレーム内の異なるロケーションに描かれるが、第1のタグが、画像の第1及び第2のフレームの両方とともに、画面上の同じ第1の位置に表示される。
別の方法は、ユーザのモバイル電話のカメラ部分によって取り込まれた画像内で描かれた物理的オブジェクトを識別して、それにより、ユーザに関する物理的オブジェクトプリファレンス情報を見極めるステップを含む。それに基づいた物理的オブジェクトプリファレンスプロファイルデータが次いで、メモリ内に格納される。電子メディアがその後、格納された物理的オブジェクトプリファレンスプロファイルデータに少なくとも部分的に基づいて、処理されうる。
さらに別の方法は、ポータブルデバイスのカメラ部分により、画像のシーケンスを取り込むステップを含む。シーケンスの1つの抜粋が解析されて、較正情報が見極められ、但し、較正情報は、この抜粋内で描かれた人の手の色を特徴付ける肌色データを含む。シーケンスの他の抜粋が解析されて、取り込まれた画像を格納された参照手型データとマッチングすることによって、画像内に描かれたアメリカ手話(American Sign Language)の手型が識別される。語、音素及び/又は文字が次いで、前記解析に基づいて、出力デバイスに出力されうる。
他のコメント
例示的な例を参照して、本発明の研究の原理を説明及び図示したが、この技術はそのように限定されないことは理解されよう。
例えば、スマートフォンに言及しているが、この技術は、あらゆる種類のデバイス−ポータブルも固定も−とともに有用性を見いだすことは理解されよう。ポータブル音楽プレイヤ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、セットトップボックス、テレビ、ネットブック、ウルトラポータブル、ウェアラブルコンピュータ、サーバ、その他は、すべて、本明細書で詳述した原理を使用することができる。
特に企図されるスマートフォンには、アップルアイフォン4、及び、グーグルのアンドロイド仕様に従うスマートフォン(例えば、HTC Corp.によって製造されたベライゾン(Verizon)ドロイドエリス(Droid Eris)電話、及び、モトローラ(Motorola)ドロイド(Droid)2電話)が含まれる。「スマートフォン」(又は、「携帯電話」)という用語は、厳密に言えばセルラーでも電話でもないものであっても、すべてのそのようなデバイスを包含するように解釈されるべきである。
(アイフォンの詳細は、そのタッチインターフェースを含めて、アップルの特許出願公開20080174570で提供されている。)
本開示で言及したスマートフォン及び他のコンピュータの設計は、当業者にはよく知られている。一般論として、各々は、1つ又は複数のプロセッサと、1つ又は複数のメモリ(例えば、RAM)と、ストレージ(例えば、ディスク又はフラッシュメモリ)と、ユーザインターフェース(例えば、キーパッド、TFT LCD若しくはOLED表示画面、タッチ若しくは他のジェスチャーセンサ、カメラ若しくは他の光センサ、コンパスセンサ、3D磁力計、3軸加速度計、3軸ジャイロスコープ、1つ若しくは複数のマイクロフォン、その他を、グラフィカルユーザインターフェースを提供するためのソフトウェア命令とともに含みうる)と、これらの要素間の相互接続(例えば、バス)と、他のデバイスと通信するためのインターフェース(GSM[登録商標]、CDMA、W−CDMA、CDMA2000、TDMA、EV−DO、HSDPA、WiFi、WiMax若しくはブルートゥースなどのワイヤレス、及び/又は、イーサネットローカルエリアネットワーク、T−1インターネット接続、その他によるなどのワイヤード)とを含む。
本明細書は、譲受人の以前の特許出願との関係に以前に言及したが、繰り返しを有する。これらの開示は、同時に読まれ、全体として解釈されるべきである。出願人は、各開示における特徴及び実装形態の詳細が組み合わせられ、他の開示におけるそのような教示とともに使用されることを意図する。したがって、本出願で開示された方法、要素及び概念は、それらの関連出願で詳述された方法、要素及び概念と組み合わせられることを理解されたい。いくつかは本明細書で特に詳述されたが、−並べ換え及び組み合わせが多数であるため−多くは詳述されていない。しかし、すべてのそのような組み合わせの実装形態は、提供された教示から、当業者には容易である。
本明細書で開示した異なる実施形態内の要素及び教示もまた、交換及び組み合わされるように意図されている。
本明細書で詳述した処理及びシステムコンポーネントは、コンピューティングデバイスのための命令として実装されてもよく、これらの命令には、マイクロプロセッサ(例えば、アトム及びA4)、グラフィックス処理装置(nVidia Tegra APX 2600など、GPU)、及び、デジタル信号プロセッサ(例えば、テキサスインスツルメンツ(Texas Instruments)TMS320シリーズのデバイス)、その他を含む、様々なプログラマブルなプロセッサのための汎用プロセッサ命令が含まれる。これらの命令は、ソフトウェア、ファームウェア、その他として実装されてもよい。これらの命令はまた、様々な形式のプロセッサ回路で実装することもでき、これらのプロセッサ回路には、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ(例えば、Xilinx Virtexシリーズのデバイス)、フィールドプログラマブルオブジェクトアレイ、並びに、特定用途向け回路−デジタル、アナログ、及び、混合のアナログ/デジタル回路を含む−が含まれる。命令の実行を、複数のプロセッサ間で分散させることができ、及び/又は、1つのデバイス内の複数のプロセッサにわたって、若しくは、デバイスのネットワークの全体で並列にすることができる。コンテンツ信号データの処理もまた、異なるプロセッサ及びメモリデバイス間で分散されうる。「クラウド」コンピューティングリソースも、同様に使用することができる。「プロセッサ」、「モジュール」又は「コンポーネント」への言及は、特定の形態の実装を必要とするのではなく、機能性を指すものと理解されたい。
詳述した機能性を実装するためのソフトウェア命令は、当業者によって、本明細書で提供した説明から、過度の実験なしに書くことができ、例えば、C、C++、ビジュアルベーシック(Visual Basic)、Java、パイソン(Python)、Tcl、パール(Perl)、スキーム(Scheme)、ルビー(Ruby)、その他で書くことができる。本技術のある実装形態による携帯電話及び他のデバイスは、異なる機能及び行為を行うためのソフトウェアモジュールを含みうる。
知られているブラウザソフトウェア、通信ソフトウェア、及び、メディア処理ソフトウェアは、本明細書で詳述した使用の多数に合わせて構成されうる。
コンテンツ所有者がそれによりある属性及び体験を(例えば、指定されたソフトウェアの呼び出しを通して)コンテンツによるものとするサービスは、典型的には、ソフトウェアをユーザデバイス上で−OS内で、又は、アプリケーションソフトウェアとして−使用する。代替として、このサービスは、リモートリソースを使用して−部分的に−実装されうる。
ソフトウェア及びハードウェア構成データ/命令は一般に、磁気又は光ディスク、メモリカード、ROM、その他など、有形の媒体によって搬送される1つ又は複数のデータ構造における命令として格納され、ネットワークを介してアクセスされうる。いくつかの実施形態は、(例えば、基本的な携帯電話の場合に一般的であるように)埋め込みシステム−ユーザには、オペレーティングシステムソフトウェア及びアプリケーションソフトウェアの区別がつかない、専用コンピュータシステム−として実装されてもよい。本明細書で詳述した機能性を、オペレーティングシステムソフトウェア、アプリケーションソフトウェア内で、及び/又は、埋め込みシステムソフトウェアとして実装することができる。
別々の機能性を、異なるデバイス上で実装することができる。例えば、スマートフォンがリモートサービスプロバイダのサーバと通信するシステムでは、異なるタスクをあるデバイス若しくは他のデバイスによって排他的に行うことができ、又は、実行をデバイス間で分散させることができる。コンテンツからのフィンガープリント及びウォーターマークデータの抽出は、そのような方式で分散されうる処理の一例である。したがって、特定のデバイス(例えば、スマートフォン)によって行われているような動作の説明は、限定的ではなく例示的であり、別のデバイス(例えば、リモートサーバ)による、又は、デバイス間で共有される動作の性能もまた、明示的に企図されることを理解されたい。
(同様に、特定のデバイス上に格納されているデータの説明もまた例示的であり、データを、ローカルデバイス、リモートデバイス、クラウド内、分散するなど、どこにでも格納することができる。)
実際の実施では、本技術によって使用されるデータ構造は、分散されうる。例えば、異なるレコードレーベルは、それぞれ自社のカタログ内の音楽のための自社のデータ構造を維持することができる。あるシステムは、一連の中間データ構造(階層的であることが多い)をナビゲートして、必要とされる情報とともに1つを探し出す必要があることがある。(1つの適した構成は、ディジマークの米国特許第6947571号に詳述されている。)一般にアクセスされた情報は、ネットワーク内のサーバにキャッシュされて−DNSデータによく似ている−アクセスの速度が速められてもよい。
GPUに言及したが、この用語は、同時に動作可能な複数のハードウェアコアを含むいかなるデバイスをも含むように意図される。インテル(Intel)は、例えば、「メニーインテグレーテッドコア(Many Integrated Core)」、すなわち、インテルMICという用語を使用して、そのようなクラスのデバイスを示す。大部分の現代のGPUは、グラフィックス処理のために最適化される命令セットを有する。アップルアイフォン4デバイスは、パワーVR(PowerVR)SGX 535 GPU(他のデバイスとともに、システムオンチップ構成に含まれる)を使用する。大部分のそのようなデバイスは、命令セット内に、3プレーン画像又は4プレーン画像とともに機能するように調整される命令を含んで、ディスプレイへの出力のために意図されたフレームバッファ内の画像の構築を加速する。例えば、多数の命令は、データトリプルを入力として取り、データトリプルを出力として供給する。他の命令は、格納された画像フレーム内のデータ値の空間的な区域における演算を容易にする。
同様に、NFCチップに言及したが、これは、あらゆる種類のチップを包含する−NFCリーダによる問い合わせを受けるとき、複数ビット識別子を搬送する信号を発する、他の名前(例えば、RFIDチップ)によって知られるものを含む−ことは理解されよう。
本開示は、行為の特定の順序付け、及び、要素の特定の組み合わせを詳述したが、他の企図される方法は、行為の順序を変えてもよく(場合によっては、いくつかの行為を省き、他の行為を追加する)、他の企図される組み合わせは、いくつかの要素を省き、他の要素を追加するなどしてもよいことは理解されよう。
完全なシステムとして開示したが、詳述した構成の副次的組み合わせもまた、別々に企図される。
オーディオ取り込み及び処理を行うシステムとの関連で主に詳述したが、対応する構成は、画像及びビデオを取り込み、処理するシステム、又は、複数の形式のメディアを取り込み、処理するシステムに等しく適用可能である。
パブリッシュ/サブスクライブ機能性は、デバイス内のみではなく、ネットワークの全体で実装可能である。アドホックネットワークは、劇場内など、共通のロケーション内のユーザの間で形成されうる。あるユーザのスマートフォンによって生成されたコンテンツ認識情報が、アドホックネットワークにパブリッシュされてもよく、ネットワーク内の他者は、それに基づいてサブスクライブし、アクションを取ることができる。
アップルのボンジュールソフトウェアは、そのような構成の例示的実装形態で使用されうる。ボンジュールは、アップルのゼロコンフ−サービス発見プロトコル−の実装形態である。ボンジュールは、デバイスをローカルネットワーク上で探し出し、マルチキャストドメインネームシステムサービス記録を使用して、各々が提供するサービスを識別する。(このソフトウェアは、アップルMac OS Xオペレーティングシステムに組み込まれ、また、アイフォンのためのアップル「リモート」アプリケーションにも含まれており−そこでは、WiFiを介してアイチューンズライブラリへの接続を確立するために使用される。)ボンジュールサービスは、オペレーティングシステム内ではなく、標準的なTCP/IP呼び出しを主に使用して、アプリケーションレベルで実装される。アップルは、ボンジュールマルチキャストDNSレスポンダのソースコード−サービス発見の中心的なコンポーネント−を、ダーウィン(Darwin)オープンソースプロジェクトとして入手可能にしている。このプロジェクトは、Mac OS X、リナックス[登録商標](Linux[登録商標])、*BSD、ソラリス(Solaris)、及びウィンドウズを含む、広範囲のプラットフォームのためのレスポンダデーモンを構築するための、ソースコードを提供している。加えて、アップルは、ボンジュールフォーウィンドウズ(Bonjour for Windows)と呼ばれる、ユーザによりインストール可能なサービスのセット、並びに、Javaライブラリを提供している。ボンジュールはまた、デバイスとシステムの間の通信を含む、本技術の他の実施形態でも使用されうる。
(他のソフトウェアは代替として、又は追加として、デバイス間でデータを交換するために使用されうる。例には、ユニバーサルプラグアンドプレイ(Universal Plug and Play)(UPnP)、及び、その後継のデバイシズプロファイルフォーウェブサービシズ(Devices Profile for Web Services)(DPWS)が含まれる。これらは、ゼロ構成ネットワーキングサービスを実装する他のプロトコルであり、それを通して、デバイスは、接続し、デバイス自体を識別し、使用可能な能力を他のデバイスに宣伝し、コンテンツを共有するなどのことができる。他の実装形態は、CORBA(IBMウェブスフィア(WebSphere)の別名でも知られる)など、オブジェクトリクエストブローカを使用してもよい。)
ウォーターマークを符号化/復号するための技術は、例えば、ディジマークの特許文献6,614,914、6,590,996、6,122,403及び20100150434、並びに、係属中の米国特許出願第12/774512号と、Nielsen(ニールセン)の特許6,968,564及び7,006,555とに詳述されている。
オーディオフィンガープリンティングの例は、特許公報の20070250716、20070174059及び20080300011(ディジマーク)、20080276265、20070274537及び20050232411(ニールセン)、20070124756(グーグル)、7,516,074(Auditude)、並びに、6,990,453及び7,359,889(両方ともシャザム)に詳述されている。画像/ビデオフィンガープリンティングの例は、特許公報の7,020,304(ディジマーク)、7,486,827(Seiko−Epson)、20070253594(Vobile)、20080317278(Thomson)、及び、20020044659(NEC)に詳述されている。
簡潔さの法定要件に従いながら、包括的な開示を提供するため、出願人は、本明細書で参照された特許出願及び他の文献を参照により組み込む。(そのような資料は、それらの教示の特定のものに関連して上記で引用された場合であっても、それらの全体として組み込まれる。)これらの参考文献は、本明細書で詳述された構成に組み込むことができ、且つ、本明細書で詳述された技術及び教示がそれらに組み込まれうる、技術及び教示を開示している。読者は、そのような従来の研究に精通していると推定される。
[発明の例]
[例1]
ポータブルオーディオデバイス内で、オーディオコンテンツを表すオーディオデータを受信するステップと、
アルゴリズムを前記受信されたオーディオデータに適用して、識別データを導出するステップと、
前記導出された識別データを参照することによって、特定のソフトウェアプログラムを、前記オーディオコンテンツとともに使用するために選択するステップであり、前記選択するステップが、そのような行為を行うように構成される、前記ポータブルオーディオデバイス内のプロセッサによって行われる、ステップと、
前記選択されたソフトウェアプログラムを起動するステップと、
を含み、
前記オーディオデータとともに使用される前記特定のソフトウェアプログラムの選択が、前記オーディオデータから導出された識別データに基づく、方法。
[例2]
前記選択するステップが、前記オーディオコンテンツのための特定のレンダリングコーデックを、複数の可能なレンダリングコーデックの中から選択するサブステップを含む、例1に記載の方法。
[例3]
前記選択するステップが、前記導出された識別データを参照して、且つ、コンテキストデータをも参照して進行し、第1のソフトウェアプログラムが第1のコンテキスト内で選択され、第2のソフトウェアプログラムが第2のコンテキスト内で選択される、例1に記載の方法。
[例4]
前記コンテキストデータが年齢データを備える、例3に記載の方法。
[例5]
前記コンテキストデータが性別データを備える、例3に記載の方法。
[例6]
前記選択するステップの後、前記選択されたソフトウェアプログラムを、クラウドリポジトリから前記ポータブルオーディオデバイスへダウンロードするステップを含む、例1に記載の方法。
[例7]
前記ポータブルオーディオデバイスが、前記オーディオコンテンツとともに使用するためのソフトウェアプログラムを既に含むが、前記選択するステップが、異なるソフトウェアプログラムを識別し、前記方法が、前記異なるソフトウェアプログラムをダウンロードするステップと、前記異なるソフトウェアプログラムを起動するステップとを含む、例1に記載の方法。
[例8]
前記選択するステップが、複数の異なるソフトウェアプログラムを識別するサブステップと、前記識別されたソフトウェアプログラムのうちどれが、前記ポータブルオーディオデバイスのストレージ内で使用可能であるかをチェックするサブステップとを含む、例1に記載の方法。
[例9]
前記識別されたソフトウェアプログラムのうち2つ以上が、前記ポータブルオーディオデバイスのストレージ内で使用可能であることを発見するステップと、次いで、アルゴリズムに基づいて、前記使用可能なソフトウェアプログラムの間で自動的に選ぶステップとを含む、例8に記載の方法。
[例10]
前記受信するステップが、前記ポータブルオーディオデバイスのマイクロフォンを使用して、周囲のオーディオを受信するサブステップを含む、例1に記載の方法。
[例11]
ポータブルオーディオデバイス内で、オーディオコンテンツを表すオーディオデータを受信するステップと、
アルゴリズムを前記受信されたオーディオデータに適用して、識別データを導出するステップと、
前記導出された識別データを参照することによって、前記オーディオコンテンツとともに使用するために有利なソフトウェアプログラムを選択するステップであり、前記選択するステップが、そのような行為を行うように構成される、前記ポータブルデバイス内のプロセッサによって行われる、ステップと、
前記有利なソフトウェアプログラムをユーザに指示するステップと、
を含み、
前記オーディオデータとともに使用される前記有利なソフトウェアプログラムが、前記オーディオデータから導出された識別データに基づいて選択される、方法。
[例12]
前記オーディオコンテンツとともに使用するためのソフトウェアプログラムを識別する、ユーザ入力を受信するステップと、
前記受信されたユーザ入力によって識別された前記ソフトウェアプログラムが前記有利なソフトウェアプログラムではない場合、前記識別されたソフトウェアプログラムを前記オーディオコンテンツとともに使用することを制限するステップと、
を含む、例11に記載の方法。
[例13]
ポータブルオーディオデバイス内で、オーディオコンテンツを表すオーディオデータを受信するステップであり、前記オーディオコンテンツが、前記ポータブルオーディオデバイス内の第1のソフトウェアによってレンダリングされうるタイプのものである、ステップと、
前記オーディオコンテンツを前記第1のソフトウェアによりレンダリングするための試みに応答して、前記ポータブルオーディオデバイスが、第2のソフトウェアが代わりに使用されるべきであることを指示するステップと、
を含み、
前記オーディオコンテンツの創作者が、その創作者のオーディオのために、前記第2のソフトウェアを好ましいものとして指定した、方法。
[例14]
前記オーディオコンテンツを前記第1のソフトウェアによりレンダリングすることを拒否するステップを含む、例13に記載の方法。
[例15]
前記オーディオコンテンツを前記第1のソフトウェアとともに制限付きで使用することのみを可能にするステップを含む、例13に記載の方法。
[例16]
ポータブルデバイスのマイクロフォンにより、周囲環境からオーディオを受信するステップと、
アルゴリズムを前記受信されたオーディオを表すオーディオデータに適用して、識別データを導出するステップと、
前記導出された識別データを参照することによって、前記オーディオに関係する商取引のために使用されるべき、対応するフルフィルメントサービスを選択するステップと、
を含み、
第1の受信されたオーディオが、前記第1のオーディオに関係する商取引のために使用されるべき第1のフルフィルメントサービスの選択につながり、第2の異なる受信されたオーディオが、前記第2のオーディオに関係する商取引のために使用されるべき第2の異なるフルフィルメントサービスの選択につながる、方法。
[例17]
ユーザの周囲環境内のオーディオを識別するステップであり、前記オーディオが、ユーザデバイスによって以前にサンプリングされている、ステップと、
前記識別されたオーディオについての情報を、ユーザコンテキスト情報とともに、パブリッシュするステップと、
前記パブリッシュされた情報に応答して、1つ又は複数の第三者入札を受信するステップと、
落札に関連付けられた第三者を決定するステップと、
前記決定された第三者により識別されたソフトウェアを有効化して、前記ユーザデバイス上で前記ユーザに購入機会を提示するステップと、
を含む、方法。
[例18]
所与のタイプの受信されたコンテンツに対応する、デジタルデータのセットを受信するステップであり、前記タイプがオーディオ又はビデオを備える、ステップと、
前記受信されたコンテンツに対応する識別データを生成するステップであり、それにより、前記受信されたコンテンツが、前記所与のタイプの他のコンテンツとは区別されうる、ステップと、
前記識別データを参照することによって、前記受信されたコンテンツをレンダリングするためのN個の候補レンダリングエンジン(複数可)を、前記所与のコンテンツタイプのためのより多数の可能なレンダリングプログラムの中から決定するステップであり、但し、1>=Nである、ステップと、
前記受信されたコンテンツを、前記N個の候補レンダリングプログラム(複数可)のうち1つによりレンダリングするステップと、
を含み、
特定のレンダリングプログラムが、前記所与のコンテンツタイプのための複数の候補の中から、前記コンテンツを参照することによって決定される、方法。
[例19]
N個の候補レンダリングエンジン(複数可)を決定するステップが、前記識別データ、及び、1つ又は複数のコンテキスト要素の両方に基づく、例18に記載の方法。
[例20]
前記コンテキスト要素(複数可)のうち1つが、前記コンテンツのレンダリングにおいて使用されるデバイスのタイプの識別を備える、例19に記載の方法。
[例21]
1つ又は前記コンテキスト要素(複数可)が、ロケーション関連情報を備える、例19に記載の方法。
[例22]
前記決定するステップが、
前記コンテンツの所有者によって提供された情報が格納されるデータ構造を調べるサブステップであり、前記情報が、前記N個のレンダリングプログラム(複数可)についての前記所有者のプリファレンスを指示する、サブステップを含み、
前記コンテンツの前記所有者に、前記コンテンツがレンダリングされるべき前記レンダリングプログラムを指定する特権が付与される、例18に記載の方法。
[例23]
前記所有者が、前記コンテンツの制作に関与した存在であり、単に前記コンテンツの配給者ではなく、前記コンテンツの前記配給者に、前記所有者に付与された前記特権が与えられない、例22に記載の方法。
[例24]
前記所有者が、前記コンテンツの制作に関与したアーティストである、例22に記載の方法。
[例25]
前記所有者が、前記コンテンツの少なくとも一部における著作権を保持する、例22に記載の方法。
[例26]
前記方法が、オーディオ又はビデオを表すデータを処理して、前記識別子を導出するステップを含み、特定のレンダリングプログラムが、前記所与のコンテンツタイプのための複数の候補の中から、オーディオ又はビデオを表すデータから導出された識別子に基づいて決定される、例18に記載の方法。
[例27]
N>1であり、前記方法が、前記N個の候補レンダリングプログラムをユーザに結びつけるステップと、前記候補レンダリングプログラムのうち1つを使用するために選択する、ユーザ入力を受信するステップと、を含む、例18に記載の方法。
[例28]
ユーザデバイス内のマイクロフォンによって受信されたオーディオに対応する、デジタルデータのセットを受信するステップを含む、例18に記載の方法。
[例29]
所与のタイプの受信されたコンテンツに対応する、デジタルデータのセットを受信するステップであり、前記タイプがオーディオ、画像又はビデオを備える、ステップと、
前記受信されたコンテンツに対応する識別データを生成するステップであり、それにより、前記受信されたコンテンツが、前記所与のタイプの他のコンテンツとは区別されうる、ステップと、
前記識別データを参照することによって、前記受信されたコンテンツに関連付けられ、且つ、前記所与のタイプのすべての他のコンテンツに関連付けられない、N個のアプリケーションプログラム(複数可)を決定するステップであり、但し、Nが1又は複数である、ステップと、
前記決定されたアプリケーションプログラム(複数可)のうち1つ又は複数により、アクションを取るステップと、
を含む、方法。
[例30]
前記アクションが、前記1つ又は複数の決定されたアプリケーションプログラム(複数可)を起動するサブステップを含む、例29に記載の方法。
[例31]
N個のアプリケーションプログラム(複数可)を決定するステップが、前記識別データ、及び、1つ又は複数のコンテキスト要素の両方に基づく、例29に記載の方法。
[例32]
前記コンテキスト要素(複数可)のうち1つが、前記コンテンツのレンダリングにおいて使用されるデバイスのタイプの識別を備える、例31に記載の方法。
[例33]
前記コンテキスト要素(複数可)のうち1つが、ロケーション関連情報を備える、例31に記載の方法。
[例34]
前記アクションが、前記決定されたアプリケーションプログラム(複数可)のうち1つ又は複数を前記ユーザに結びつけるサブステップと、前記決定されたアプリケーションプログラム(複数可)のうち1つ又は複数がインストール及び/又は起動されるべきであるかどうかについての入力を求めるサブステップと、を含む、例29に記載の方法。
[例35]
前記決定するステップが、オークションを実施して、前記N個のアプリケーションプログラム(複数可)のうち1つ又は複数を決定するサブステップを含む、例29に記載の方法。
[例36]
前記決定するステップが、
前記コンテンツの所有者によって提供された情報が格納されるデータ構造を調べるサブステップであり、前記情報が、前記N個のアプリケーションプログラム(複数可)についての前記所有者のプリファレンスを指示する、サブステップを含み、
前記コンテンツの前記所有者に、前記受信されたコンテンツに関連付けられるべき前記アプリケーションプログラム(複数可)を指定する特権が付与される、例29に記載の方法。
[例37]
前記所有者が、前記コンテンツの制作に関与した存在であり、単に前記コンテンツの配給者ではなく、前記コンテンツの前記配給者に、前記所有者に付与された前記特権が与えられない、例29に記載の方法。
[例38]
前記所有者が、前記コンテンツの制作に関与したアーティストである、例29に記載の方法。
[例39]
前記所有者が、前記コンテンツの少なくとも一部における著作権を保持する、例29に記載の方法。
[例40]
前記方法が、オーディオ、画像又はビデオを表すデータを処理して、前記識別子を導出するステップを含み、特定のアプリケーションプログラムが、前記所与のコンテンツタイプのための複数の候補の中から、オーディオ、画像又はビデオを表すデータから導出された識別子に基づいて決定される、例29に記載の方法。
[例41]
N>1であり、前記方法が、前記N個の候補アプリケーションプログラムをユーザに結びつけるステップと、前記候補アプリケーションプログラムのうち1つをアクションのために選択する、ユーザ入力を受信するステップと、を含む、例29に記載の方法。
[例42]
ユーザデバイス内のマイクロフォンによって受信されたオーディオに対応する、デジタルデータのセットを受信するステップを含む、例29に記載の方法。
[例43]
オペレーティングシステム(OS)ソフトウェアが格納されているコンピュータ可読ストレージ媒体であって、
前記オペレーティングシステムソフトウェアは、OSサービスを、定義されたインターフェースを通して、要求側アプリケーションプログラムに提供するように、プロセッサを構成する役目を果たし、
前記OSサービスが、視覚又は聴覚の情報を表す信号データから、コンテンツ識別データを導出すること、及び、前記コンテンツ識別データを、定義されたインターフェースを通して、前記コンテンツ識別データをサブスクライブする1つ又は複数のアプリケーションプログラムによって使用するために、パブリッシュすること、を含む、コンピュータ可読ストレージ媒体。
[例44]
前記導出することが、処理アルゴリズムを前記信号データに適用して、ビット削減コンテンツ識別データを生じることを含む、例43に記載のコンピュータ可読ストレージ媒体。
[例45]
前記導出することが、処理アルゴリズムを前記信号データに適用して、ビット削減コンテンツ識別データを生じること、及び、データストアにアクセスして、前記ビット削減コンテンツ識別データに対応するさらなる識別情報を得ること、を含む、例43に記載のコンピュータ可読ストレージ媒体。
[例46]
処理デバイスとメモリとを含む装置であって、
前記メモリがオペレーティングシステム(OS)命令を含み、該OS命令は、OSサービスを、定義されたインターフェースを通して、要求側アプリケーションプログラムに提供するように、前記処理デバイスを構成し、
前記装置が、前記処理デバイスの環境から周囲の視覚及び/又は音の刺激を検知するためであり、且つ、それに対応するコンテンツデータを作り出すための、検知システムをさらに含み、
前記OSサービスのうち1つが、前記作り出されたコンテンツデータからコンテンツ識別データを導出し、前記コンテンツ識別データを、定義されたインターフェースを通して、サブスクライブする要求側アプリケーションプログラムにパブリッシュする、装置。
[例47]
処理デバイスとメモリとを含む装置であって、
前記メモリがオペレーティングシステム(OS)命令を含み、該OS命令は、OSサービスを、定義されたインターフェースを通して、要求側アプリケーションプログラムに提供するように、前記処理デバイスを構成し、
前記定義されたインターフェースのうち1つがコンテンツ識別メッセージキューを提供し、該コンテンツ識別メッセージキューが前記デバイスによって処理された視覚又は音の刺激に対応するコンテンツ識別データをパブリッシュし、該コンテンツ識別メッセージキューを、1つ又は複数のアプリケーションプログラムがサブスクライブすることができる、装置。
[例48]
前記装置が、前記装置の環境から周囲の視覚及び/又は音の刺激を検知するためであり、且つ、それに対応するコンテンツデータを作り出すための、検知システムをさらに含み、
前記コンテンツ識別メッセージキューが、前記装置の前記環境から検知された視覚又は音の刺激に対応するコンテンツ識別データを備えるメッセージを提供する、例47に記載の装置。
[例49]
ユーザの周囲環境から、延長された期間にわたって、音又は視覚の刺激をバックグラウンドで検知し、それにより、前記ユーザが前記期間中に曝されていたコンテンツに気付くステップと、
前記バックグラウンドで検知された刺激を参照することによって、構成されたハードウェアプロセッサを使用して、前記ユーザが前記期間中に曝されていたコンテンツのいくつかの異なる項目に対応するコンテンツ識別データを生成するステップと、
ユーザインターフェースとの後続のユーザインタラクションの過程で、前記ユーザに対して、タイトルによって、前記ユーザの環境から気付かれたコンテンツの複数の異なる項目を識別し、前記ユーザが、前記識別されたコンテンツの項目のうち少なくとも1つに対する複数の異なるアクションの中で選択できるようにするステップとを含む、方法。
[例50]
ユーザの周囲環境から、音又は視覚の刺激を検知し、それにより、前記ユーザが曝されていたコンテンツに気付くステップと、
前記検知された刺激を参照することによって、構成されたハードウェアプロセッサを使用して、前記ユーザが曝されていたコンテンツの少なくとも1つの項目に対応するコンテンツ識別データを生成するステップと、
2つ以上の異なるソフトウェアアプリケーションを、前記生成されたコンテンツ識別データに少なくとも部分的に基づく情報により、用意するステップと、
を含み、
前記ユーザが次に、前記異なるソフトウェアアプリケーションの各々を利用するとき、前記ユーザは、前記異なるソフトウェアアプリケーションの各々が、前記ユーザが前記コンテンツの項目に曝されたことを既に反映することを、発見するようになる、方法。
[例51]
3つ以上の異なるソフトウェアアプリケーションを、前記生成されたコンテンツ識別データに少なくとも部分的に基づく情報により、用意するステップを含む、例50に記載の方法。
[例52]
4つ以上の異なるソフトウェアアプリケーションを、前記生成されたコンテンツ識別データに少なくとも部分的に基づく情報により、用意するステップを含む、例50に記載の方法。
[例53]
前記用意するステップが、オーディオ若しくはビデオクリップ、又は画像をキャッシュするサブステップを含む、例50に記載の方法。
[例54]
消費者電子デバイスにより実施される方法であって、
オーディオ、画像及び/又はビデオコンテンツを表すコンテンツデータを受信するステップであり、以前にインストールされたか、又は他の方法で、前記デバイスとともに使用するために使用可能にされた、第1のソフトウェアレンダリングプログラムのために、前記電子デバイスがレンダリングしてコンテンツ関連体験を作り出すことが可能であるタイプのファイルフォーマットで、前記コンテンツデータが受信される、ステップと、
前記受信されたコンテンツデータを参照することによって、1つ又は複数のソフトウェアレンダリングプログラム(複数可)を決定するステップであって、該ソフトウェアレンダリングプログラム(複数可)は、前記受信されたコンテンツデータとともにコンテンツ関連ユーザ体験を作り出すために前記コンテンツデータの所有者によって規定される、ステップと、
前記決定されたソフトウェアレンダリングプログラムのいずれもが現在インストールされていないか、又は、前記デバイスとともに使用するために使用可能でないと決定するステップと、
前記可能な第1のソフトウェアレンダリングプログラムにもかかわらず、前記受信されたコンテンツデータを前記デバイス上でレンダリングすることを拒否するステップと、
を含み、
前記消費者電子デバイスが、それによりコンテンツ関連ユーザ体験が前記ユーザに配信されるべきである、前記ソフトウェアレンダリングプログラム(複数可)に関する、前記所有者の前記規定を尊重する、方法。
[例55]
前記デバイスのユーザに情報を提示するステップであって、該情報は、前記所有者によって規定された前記ソフトウェアレンダリングプログラム(複数可)のうち1つ又は複数のインストールを前記ユーザが指図できるようにする、ステップをさらに含む、例54に記載の方法。
[例56]
前記所有者によって規定された1つ又は複数のソフトウェアレンダリングプログラム(複数可)を決定するステップが、1つ又は複数のコンテキスト要素にも基づく、例54に記載の方法。
[例57]
前記所有者によって規定された1つ又は複数のソフトウェアレンダリングプログラム(複数可)を決定するステップが、前記消費者電子デバイスのためのタイプ識別子の識別を備えるコンテキスト要素に基づく、例56に記載の方法。
[例58]
ユーザのデバイスを使用して、アートをレンダリングする方法であって、
前記アートが、その所有者によって作り出され、配給者によって配信されており、前記アートが、いくつかの異なるソフトウェアプログラムによってレンダリングされうるデータフォーマットで表され、
改良が、
プログラムされたプロセッサを使用して、所有者により指定されたメタデータを調べて、前記アートデータをレンダリングするために利用されうる前記プログラムのサブセットを決定するステップと、
前記サブセットのうち1つのプログラムにより前記アートデータをレンダリングするステップと
を含み、
前記所有者に、前記アートがどのようにレンダリングされるかについての、ある程度の制御権が与えられる、方法。
[例59]
前記所有者に、前記アートがどのようにレンダリングされるかの、前記配給者よりも大きい制御権が与えられる、例58に記載の方法。
[例60]
処理デバイスと、前記処理デバイスを構成するための複数のソフトウェアプログラムを格納するコンピュータ可読ストレージ媒体と、装置の環境内の周囲の視覚又は音のコンテンツを表すデータを生成するための検知システムとを含む、装置であって、
前記ソフトウェアプログラムのうち少なくとも1つが、前記コンピュータ可読ストレージ媒体に、前記装置が前記装置の環境からある周囲のコンテンツを検知する結果として、格納される、装置。
[例61]
前記ソフトウェアプログラムのうち少なくとも第1及び第2のものが、前記コンピュータ可読ストレージ媒体に、それぞれ、前記装置が前記装置の環境から第1及び第2の周囲のコンテンツを検知する結果として、格納される、例60に記載の装置。
[例62]
プロセッサとメモリとを含むスマートフォンであって、前記メモリが、オペレーティングシステムソフトウェアと、複数のアプリケーションプログラムとを含み、
前記アプリケーションプログラムのうち第1のものが、音又は視覚のコンテンツを表すデータを解析して、対応する識別データを作り出し、そのような解析の結果を出力にパブリッシュする役目を果たし、
前記アプリケーションプログラムのうち第2のものが、前記第2のアプリケーションプログラムが調和するあるコンテンツについて、前記第1のアプリケーションプログラムの前記出力を監視し、前記あるコンテンツが気付かれるとき、アクションを取る役目を果たす、スマートフォン。
[例63]
前記アプリケーションプログラムのうち第3のものが、前記第3のアプリケーションプログラムが調和するあるコンテンツについて、前記第1のアプリケーションプログラムの前記出力を監視し、前記あるコンテンツが気付かれるとき、アクションを取る役目を果たす、例62に記載のスマートフォン。
[例64]
前記第3のアプリケーションプログラムが、前記第2のアプリケーションプログラムが前記出力を監視する同じコンテンツについて、前記第1のアプリケーションプログラムの前記出力を監視する、例63に記載のスマートフォン。
[例65]
前記第3のアプリケーションプログラムが、前記第2のアプリケーションプログラムが前記出力を監視するコンテンツとは異なるコンテンツについて、前記第1のアプリケーションプログラムの前記出力を監視する、例63に記載のスマートフォン。
[例66]
見る姿勢から被写体の画像を取り込み、前記取り込まれた画像をポータブルデバイスの画面上に提示するステップと、
前記見る姿勢の最適性を、前記取り込まれた画像を参照することによって評価するステップと、
前記取り込まれた画像の提示上に、前記評価の結果を指示するしるしをオーバーレイするステップと、
を含み、
前記オーバーレイされたしるしが、前記評価された最適性の変化とともに変化する、方法。
[例67]
前記オーバーレイされたしるしのぼけ度(blurriness)が、前記評価された最適性の変化とともに変化する、例66に記載の方法。
[例68]
ポータブルデバイスを使用して、画像の複数のフレームを取り込むステップであり、前記ポータブルデバイスが、画像センサ及び第2のセンサを有する、ステップと、
前記取り込まれたフレームのうち少なくとも2つのサブセットを、前記第2のセンサからのデータに基づいて選択するステップと、
前記選択されたフレームを結合するステップと、
を含む、方法。
[例69]
前記取り込まれたフレームの選択されたサブセット内の、対応する顕著点を見極めるステップと、
結合するステップより前に、前記選択されたフレームのうち少なくとも第1のものを変換するステップであって、
前記変換するステップが、
前記2つのフレーム内の対応する顕著点間の距離のヒストグラムを参照することによって、参照フレームに対する前記第1のフレームのためのスケール係数を推定するサブステップと、
その後、前記参照フレームに対する前記第1のフレームのためのx及びyにおける変換を推定するサブステップと、
を含む、ステップと、
をさらに含む、例68に記載の方法。
[例70]
前記方法が、重み付け係数を、前記フレームの選択されたサブセットのうち少なくとも1つに適用するステップであって、前記重み付け係数が前記第2のセンサからのデータに基づく、ステップを含む、例68に記載の方法。
[例71]
プロセッサと、メモリと、少なくともカメラ及びマイクロフォンを含む複数のセンサとを含む、スマートフォンデバイスであって、
前記要素が協働して複数の認識エージェントを定義し、該認識エージェントがオーディオフィンガープリント認識エージェント、バーコード認識エージェント、及び、画像ウォーターマーク認識エージェントを含み、
前記エージェントが、前記メモリのブラックボードデータ構造からデータを読み取り、且つ、前記メモリの前記ブラックボードデータ構造へデータを書き込むように構成され、
前記ブラックボードデータ構造が、前記センサからデータを受信し、且つ、前記エージェントが処理する格納された画像データ及びオーディオデータのキューを編集するように構成され、
前記要素が、前記メモリ内の命令によって定義されたイベントコントローラの制御下で協働する、スマートフォンデバイス。
[例72]
前記認識エージェントのうち複数が、機能を行うために必要とされるリソースコストを推定するとともに、そのような機能によって達成されうる結果の品質を推定するように、並びに、そのような推定値を前記ブラックボード構造に格納するように、それぞれ構成され、
前記イベントコントローラが、複数の認識エージェントからのそのような格納された推定値を評価するとともに、それに基づいて、どの認識エージェント(複数可)をアクティベートするべきかを決定するように構成される、例71に記載のスマートフォンデバイス。
[例73]
前記スマートフォンデバイスが、前記ブラックボードデータ構造を監視するとともにコンテキストのデータを推測するように構成された推測エンジンをさらに含み、
前記イベントコントローラが、どの認識エージェント(複数可)をアクティベートするべきかを決定することにおいて、前記コンテキストのデータを使用するように構成される、例71に記載のスマートフォンデバイス。
[例74]
前記デバイスが、オーディオ及び画像ストリームを別々のスレッド内で処理するように構成され、各認識エージェントがそれ自体のスレッド内で実行するように構成される、例71に記載のスマートフォンデバイス。
[例75]
前記センサが、加速度計をさらに含み、
前記デバイスが、画像を取り込み、それに関係付けられた輝度値を決定し、前記画像に関連付けられた加速度を評価し、前記画像の彩度を評価し、それに基づいて、画像品質を評価し、その後、前記評価された画像品質に基づいて、ウォーターマーク読み取り動作を前記画像上で呼び出すかどうかを決定するように構成される、例71に記載のスマートフォンデバイス。
[例76]
人と複数のオブジェクトの間のネットワーク関係を決定するステップと、
前記ネットワーク関係から、前記人にとってのオブジェクトの相対的重要性を見極めるステップと、
前記見極められた相対的重要性に基づいてアクションを取るステップと、
を含む、方法。
[例77]
前記見極められた相対的重要性に基づいてデータを処理するステップと、
結果として生じる処理されたデータのセットを前記人に提示するステップと、
を含む、例76に記載の方法。
[例78]
前記処理するステップが、前記人への提示のために、前記見極められた相対的重要性に基づいて、より大きいコンテンツのセットの中からコンテンツのサブセットを選択するサブステップを含む、例77に記載の方法。
[例79]
ネットワーク関係を決定するステップが、前記人によって操作されたデバイスによって取り込まれた画像を解析するサブステップを含む、例76に記載の方法。
[例80]
ポータブルデバイスにより、人の手のジェスチャーの画像を取り込むステップと、
前記画像を処理して、前記ジェスチャーから手話を見極めるステップと、
前記見極められた手話に基づいて、アクションを取るステップと、
を含む、方法。
[例81]
第1及び第2の空間周波数部分を有する情報搬送パターンを定義するステップと、
前記パターンを基層上にプリントするステップと、
を含み、
前記第1の部分が、見る人に、符号化された情報の存在への合図を出す、可視バックグラウンド織り込みパターンを定義し、
前記第2の部分が、人間の視覚の範囲を超える空間周波数を備え、前記符号化された情報のうち、少なくとも特定のものを搬送する、方法。
[例82]
第1のデバイス内で、ペイロードデータを有するオーディオ又は画像のコンテンツデータを受信するステップであって、前記ペイロードデータがデジタルウォーターマーキングによって符号化されている、ステップと、
前記ペイロードデータを、前記受信されたコンテンツデータから復号するステップと、
前記ペイロードデータの少なくとも一部を、デジタルウォーターマーキング以外の技法によって、第2のデバイスへ送信するステップと、
を含む、方法。
[例83]
前記技法が、ブルートゥース、IR、WiFi又はNFCなど、ワイヤレス送信技法を含む、例82に記載の方法。
[例84]
ホームエンターテインメントシステム内で、オーディオ又は画像のコンテンツを受信し、メディアフィンガープリント情報を決定するステップと、
前記メディアフィンガープリント情報を、前記コンテンツが前記ホームエンターテインメントシステムによってレンダリングされているユーザのスマートフォンへ、ワイヤレスで送信するステップと、
を含む、方法。
[例85]
前記決定するステップが、メディアフィンガープリントデータを決定するサブステップと、前記をリモートサーバへ送信するサブステップと、応答において、対応するメディアフィンガープリント情報を受信するサブステップと、を含む、例84に記載の方法。
[例86]
小売店内で、前記店内の買物客による製品関心を指示する信号を受信するステップと、
前記受信された信号に基づいてアクションを取るステップであり、
前記アクションが、
前記買物客をサービスのためのキューに入れるサブステップと、
前記買物客にサービスのための待ち時間を知らせるサブステップと、
前記買物客に、サービスを提供するようになる小売店スタッフについての情報を提供するサブステップと、
前記買物客に、サービスを待つように誘い物を提供するサブステップとのうち、少なくとも1つを含む、ステップと、
を含み、前記誘い物が、そうでない場合は料金が課されるはずのエンターテインメントコンテンツを備える、方法。
[例87]
前記アクションが、前記買物客を、サービスのためのキュー内で、前記キューにより早く入った1人又は複数の他の買物客より前に入れるサブステップを含む、例86に記載の方法。
[例88]
買物客のスマートフォンによって、小売店内に陳列された第1の製品から検知されたデータを参照することによって、第2の製品が前記第1の製品と互換性を有するかどうかを判定するステップと、
前記判定に基づいてアクションを取るステップと、
を含む、方法。
[例89]
デジタルウォーターマーキングされたオブジェクトから画像を取り込むステップであり、前記デジタルウォーターマークが、既知の参照特徴を含む、ステップと、
前記既知の参照特徴をぼけカーネルの推定において使用するステップであって、前記取り込まれた画像が前記ぼけカーネルにより処理されて画像ぼけが低減されうる、と、
を含む、方法。
[例90]
フーリエドメイン内で前記既知の参照特徴を見極めるステップを含む、例89に記載の方法。
[例91]
前記デジタルウォーターマークが、前記フーリエドメイン内の画像統計値データをも搬送し、前記方法が、
前記画像から前記画像統計値データを見極めるステップと、
前記画像統計値データを、前記ぼけカーネルの推定において使用するステップと、
を含む、例90に記載の方法。
[例92]
ユーザのスマートフォンによって検知された情報を参照することによって、前記ユーザの関心を決定するステップと、
前記決定された関心に基づいてアクションを取るステップと、
を含む、方法。
[例93]
前記アクションが、前記ユーザへの提示のために、前記決定された関心に基づいて、より大きいコンテンツのセットの中から、コンテンツのサブセットを選択するサブステップを含む、例92に記載の方法。
[例94]
前記ユーザのスマートフォンによって取り込まれた画像を参照することによって、前記ユーザの関心を決定するステップを含む、例92に記載の方法。
[例95]
前記ユーザのスマートフォンによって検知されたジオロケーション情報を参照することによって、前記ユーザの関心を決定するステップを含む、例92に記載の方法。
[例96]
ユーザが選択することができる、ポータブルデバイスの画面上のテキスト文字の配列を表示するステップと、
前記画面の一部分に向かうユーザの凝視を検知して、テキスト選択を行うステップと、
前記ユーザが次に選択することができる、前記画面上の前記文字の配列を変更するステップと、
を含む、方法。
[例97]
スマートフォンカメラを使用して、画像データのビデオシーケンスを取り込むステップと、
前記取り込まれたデータ内で第1のマシン可読シンボロジーを識別するステップと、
前記第1の識別されたシンボロジーに関係付けられた情報を格納するステップと、
前記取り込まれたデータ内で第2のマシン可読シンボロジーを識別するステップと、
前記第2の識別されたシンボロジーに関係付けられた情報を格納するステップと、
を含み、
前記スマートフォンが、ストリーミングモードで動作して、前記取り込まれたビデオシーケンス内で発見されたマシン可読シンボロジーに関係付けられた情報を収集する、方法。
[例98]
プロセッサと、メモリと、1つ又は複数のセンササブシステムと、タッチスクリーンとを備える、システムにおいて、
前記デバイスが、第1のセンササブシステムからの情報を、前記メモリ内にRDFトリプルとして格納するように構成され、前記プロセッサが、前記格納されたRDFトリプルに基づいて、アクションを取るように構成されることを特徴とする、システム。
[例99]
前記第1のセンササブシステムが、カメラと、マイクロフォンと、加速度計と、GPS受信機と、ワイヤレス信号センサと、近距離無線チップリーダと、画像分類器と、ユーザアクティビティセンサとからなるグループから選択される物理センサ又は論理センサを含む、例98に記載のシステム。
[例100]
前記第1のセンササブシステムが、前記検知された情報に対応するデータを、RDFトリプルとして出力するように構成される、例98に記載のシステム。
[例101]
センサデータを受信するステップと、
前記検知された情報を、格納のためにRDFトリプルとして表すステップと、
前記格納されたRDFトリプルを処理するステップと、
を含む、方法。
[例102]
センサデータを受信するステップが、第1のユーザによって運ばれる第1のデバイス内のセンサを使用して、検知するサブステップを含む、例101に記載の方法。
[例103]
前記RDFトリプルを、前記デバイスとは別個のコンピュータ内に格納するステップを含む、例102に記載の方法。
[例104]
前記処理するステップが、第2の異なるユーザによって運ばれる第2のデバイスを使用して、前記格納されたRDFトリプルを処理するサブステップを含む、例103に記載の方法。
[例105]
前記処理するステップが、前記ユーザによって運ばれる第1のデバイスによって行われ、センサデータを受信する前記ステップが、前記第1のデバイスとは別個である第2のデバイスからセンサデータを受信するサブステップを含む、例101に記載の方法。
[例106]
前記検知された情報が画像を備える、例101に記載の方法。
[例107]
ピクセルデータを、格納のためにRDFトリプルとして表すステップを含む、例106に記載の方法。
[例108]
カメラと、プロセッサと、メモリとを備える、デバイスであって、前記メモリが、前記カメラによって取り込まれた画像のセットを格納し、前記メモリが、前記画像のセットについてのアサーションを作成する複数のRDFトリプルをも格納し、前記プロセッサが、前記格納されたRDFトリプルのうち1つ又は複数を参照することによって、前記格納された画像のセットにおいて演算を行うように構成される、デバイス。
[例109]
第1のコンピュータ処理が、1つ又は複数の他のコンピュータ処理からのサービスを要求するための方法であって、前記方法が、要求をデータ構造に投稿するステップであって、前記要求がRDFトリプルとして表現される、ステップを含む、方法。
[例110]
前記データ構造が、ブラックボードデータ構造を備える、例109に記載の方法。
[例111]
第2の処理が、特定のタイプのRDFトリプルを求めて前記データ構造を検索するクエリを実行するステップと、そのようなトリプルが発見されるときアクションを取るステップと、をさらに含む、例109に記載の方法。
[例112]
前記クエリが、SPARQLクエリを備える、例111に記載の方法。
[例113]
オーディオ情報を消費者電子デバイスで受信するステップであり、前記オーディオ情報がコンテンツ配給者によって用意されており、前記受信されたオーディオ情報が少なくとも第1及び第2のオーディオトラックを含む、ステップと、
前記デバイス内で、前記第1及び第2のトラック間の比を設定する、制御信号を受信するステップと、
前記オーディオ情報を、前記比に従って消費者にレンダリングするステップと、を含み、
前記第2のオーディオトラックが、補助情報を搬送する、雑音のようなデジタルウォーターマーク信号を備える、方法。
[例114]
前記第1及び第2のトラック間の比を設定する、消費者により操作されるコントロールからの信号を受信するステップを含む、例112に記載の方法。
[例115]
前記制御信号が、前記第2のトラックがレンダリングされない比を設定する、例112に記載の方法。
[例116]
第1のデバイスによってレンダリングされる場合、第2のデバイスの機能を制御する、第1のコンテンツデータを含む、コンピュータ可読媒体であって、
前記コンテンツデータが、オーディオ情報の少なくとも第1及び第2のトラックを含み、
前記第1のトラックが、消費者の楽しみのためのオーディオを備え、
前記第2のトラックが、前記第2のデバイスのための制御データを搬送する、雑音のようなデジタルウォーターマーク信号を備える、コンピュータ可読媒体。
[例117]
前記オーディオ情報の第1及び第2のトラックが、ドルビートゥルーHDフォーマットで格納される、例116に記載の媒体。
[例118]
コンテンツ情報を格納するメモリであり、前記コンテンツ情報が、オーディオの少なくとも第1及び第2のトラックに対応するデータを含む、メモリと、
前記コンテンツ情報を出力デバイスにレンダリングするためのオーディオ部であり、前記オーディオ部が、前記第2のトラックが前記第1のトラックに対してレンダリングされるべきであるレベルを設定するために、ユーザによって操作可能なコントロールを含む、オーディオ部と、
を備え、
前記オーディオの第2のトラックに対応する前記格納されたデータが、第2の装置の機能を制御するための、雑音のようなデジタルウォーターマーク信号を表す、装置。
[例119]
前記オーディオ部が、前記オーディオの第1及び第2のトラックを単一のチャネル内で結合するためのミキサをさらに備える、例118に記載の装置。
[例120]
前記オーディオの第2のトラックに対応する前記格納されたデータが、RF64フォーマットでフォーマットされる、例118に記載の装置。
[例121]
カメラを装備したポータブルデバイスによって取り込まれた画像に対応する第1のセットのデータを受信するステップであり、前記画像が被写体を描く、ステップと、
ステガノグラフィ的に符号化されたデジタルウォーターマークペイロードデータを、前記第1のセットのデータから復号するステップと、
前記ペイロードデータを参照することによって、第2のセットのデータを得るステップと、
を含み、
前記第2のセットのデータが、前記被写体に対応する顕著点データを備える、方法。
[例122]
前記顕著点データの使用を通して、前記被写体に対する前記ポータブルデバイスのロケーションを決定するステップをさらに含む、例121に記載の方法。
[例123]
前記顕著点データの使用を通して、前記被写体に対する前記デバイスの位置を詳述する3D姿勢情報を決定するステップをさらに含む、例121に記載の方法。
[例124]
前記顕著点データの使用を通して、前記画像内に描かれた前記被写体の下位部分(sub−part)を識別するステップを含む、例121に記載の方法。
[例125]
前記識別された下位部分を参照することによって、第3のセットのデータを得るステップであり、前記第3のセットのデータが、前記被写体の前記下位部分に関する、ユーザへの情報の表示を提示するために有用な補助データを含む、ステップを含む、例124に記載の方法。
[例126]
前記顕著点データに従って、前記ポータブルデバイスの画面上に提示されたグラフィカルな特徴のサイズ決定又は位置決めをするステップをさらに含む、例121に記載の方法。
[例127]
前記顕著点データに基づいて前記デバイスの動作を制御するステップをさらに含む、例121に記載の方法。
[例128]
コンピューティングデバイスによって実行される場合、
被写体を描く画像に対応する第1のセットのデータを受信すること、
ステガノグラフィ的に符号化されたデジタルウォーターマークペイロードデータを、前記第1のセットのデータから復号すること、及び
前記ペイロードデータを参照することによって、第2のセットのデータを得ること
を含む動作を前記コンピューティングデバイスに行わせるソフトウェア命令を含み、
前記第2のセットのデータが、前記被写体に対応する顕著点データを備える、コンピュータ可読媒体。
[例129]
前記動作が、前記第2のセットのデータに基づいて前記デバイスの動作を制御することをさらに含む、例128に記載のコンピュータ可読媒体。
[例130]
ポータブルデバイス内で、オブジェクトに関連付けられたパッシブチップデバイスから検知された識別データを受信するステップと、
前記識別データを参照することによって、第2のセットのデータを得るステップと、
を含み、
前記第2のセットのデータが、前記オブジェクトに対応する顕著点データを備える、方法。
[例131]
前記ポータブルデバイスが、前記パッシブチップデバイスから前記識別データを検知するステップをさらに含む、例130に記載の方法。
[例132]
前記オブジェクトがポスターを備える、例130に記載の方法。
[例133]
前記第2のセットのデータが、前記オブジェクトに関連付けられた基準位置データをさらに備え、
前記方法が、前記基準位置データ及び前記顕著点データを参照することによって、前記ポータブルデバイスについての位置データを決定するステップを含み、前記デバイスのユーザが、位置依存の方法で前記オブジェクトとインタラクトすることができる、例130に記載の方法。
[例134]
前記識別データが、前記オブジェクトに関連付けられた基準位置データを含み、
前記方法が、前記基準位置データ及び前記顕著点データを参照することによって、前記ポータブルデバイスについての位置データを決定するステップを含み、前記デバイスのユーザが、位置依存の方法で前記オブジェクトとインタラクトすることができる、例130に記載の方法。
[例135]
前記ポータブルデバイスについての第1の位置データが決定されているとき、前記デバイスの画面上に、第1のセットの情報を提示するステップと、
前記ポータブルデバイスについての第2の位置データが決定されているとき、前記デバイスの前記画面上に、第2の異なるセットの情報を提示するステップと、
を含む、例133に記載の方法。
[例136]
ポケットサイズのハウジング内に配置された、メモリ及び処理部を備えており、
前記メモリが第1の部分を含み、前記第1の部分が、複数のコードベースのセマンティックトリプルを表すコードデータを格納し、前記トリプルの各々が、第1、第2及び第3のコードを含み、前記コードのうち1つが主部コードであり、前記コードのうち1つが述部コードであり、前記コードのうち1つが目的部コードであり、
前記メモリがさらに第2の部分を含み、前記第2の部分が、異なるテキストリテラルを別々の前記コードに関連付けるリテラルデータを格納し、
前記処理部がGPUを含み、該GPUが、前記メモリの前記第1の部分内のコードデータを処理して、前記メモリの前記第2の部分内の前記テキストリテラルによって表された情報において演算を行う、ポータブルデバイス。
[例137]
前記演算が、セマンティックな推論演算を含み、それにより、前記処理部が、前記リテラルデータとともに前記セマンティックトリプルによってアサートされた事実に基づいて、論理的帰結を推測する、例136に記載のデバイス。
[例138]
前記デバイスが、表示画面をさらに含み、前記メモリの前記第1の部分が、前記表示画面のピクセル寸法にマッチするストレージ寸法を有するフレームバッファを備えて、グラフィックスとともに使用するために知られているフレームバッファ技術が、セマンティックトリプルとともに使用するために適用されるようになる、例136に記載のデバイス。
[例139]
前記処理部が、前記セマンティックな推論の結果を、前記フレームバッファ内に、追加のセマンティックトリプルとして格納するように構成される、例138に記載のデバイス。
[例140]
前記メモリの前記第1の部分が、任意の編成を有するのではなく、2D構成を有し、空間的局所性とともに編成され、
同じ第1のコードを含むトリプルがともにグループ化され、前記メモリの前記第1の部分内で隣り合っているロケーションに格納されて、前記処理部が、空間的局所性に依拠するGPU機能性をより良く採用することができるようになる、例136に記載のデバイス。
[例141]
前記第1のコードが主部コードを備える、例140に記載のデバイス。
[例142]
同じ第1のコードを含むトリプルがそれらの第2のコードの順序によってさらに編成されて、処理が容易になる、例140に記載のデバイス。
[例143]
前記第1のコードが主部コードを備え、前記第2のコードが述部コードを備える、例142に記載のデバイス。
[例144]
前記メモリの前記第1の部分が、主部コードとして格納される第1のコードの第1のインスタンスを含み、目的部コードとして格納される前記第1のコードの第2のインスタンスをも含み、前記第1のコードの両方のインスタンスが、前記メモリの前記第2の部分に格納されたデータによって、同じテキストリテラルに関連付けられる、例136に記載のデバイス。
[例145]
前記メモリが、ルールデータを格納する第3の部分をさらに含み、前記処理部が、前記ルールデータを前記セマンティックトリプルに適用して、以前に表現されていない情報を見極めるように構成される、例136に記載のデバイス。
[例146]
ポケットサイズのハウジング内に配置された、メモリ及び処理部を備えており、
前記メモリがフレームバッファ部を含み、前記フレームバッファ部が、複数のコードベースのセマンティックトリプルを表すコードデータを格納し、各トリプルが、主部コード、述部コード、及び目的部コードを備え、
前記メモリがさらに第2の部分を含み、前記第2の部分が、異なるテキストリテラルを別々の前記コードに関連付けるリテラルデータを格納し、
前記処理部がGPUを含み、前記GPUが、前記メモリの前記第1の部分内のコードデータを処理して、前記メモリの前記第2の部分内の前記テキストリテラルを使用して表現された概念を含むセマンティックな推論を行う、ポータブルデバイス。
[例147]
ポケットサイズのハウジング内に配置された、メモリ及び処理部を備えており、
前記処理部は前記メモリ内に格納された命令によって構成され、前記処理部がGPUを含み、
前記メモリは複数のコードベースのセマンティックトリプルを表すコードデータを格納し、各トリプルが、主部コード、述部コード、及び目的部コードを備え、
前記命令は、前記処理部が一連のテンプレートを前記格納されたコードデータに適用して前記トリプルに基づいて演算を行うように、前記処理部を構成する、ポータブルデバイス。
[例148]
前記命令は、前記処理部が前記一連のテンプレートを前記格納されたコードデータに適用して前記トリプルに基づいてセマンティックな推論を行うように、前記処理部を構成する、例147に記載のデバイス。
[例149]
カメラを装備したポータブルデバイスによって取り込まれた画像に対応するデータのセットを受信するステップであり、前記画像が被写体を描く、ステップと、
前記受信されたデータのセットに基づいて、識別データを決定するステップと、
前記識別データを参照することによって、第2のセットのデータを得るステップであり、前記第2のセットのデータが、複数のN−タプルを備え、各々が、主部、述部及び目的部要素を含む、ステップと、
前記N−タプルを処理するステップと、
前記処理に基づいてアクションを取るステップと、
を含む、方法。
[例150]
ポケットサイズのハウジング内に配置された、タッチスクリーン、メモリ及び処理部を備えており、
前記メモリは、複数のコードベースのセマンティックトリプルを表すデータを含み、各トリプルが、主部コード、述部コード、及び目的部コードを備えており、
前記メモリは、別々の前記コードのためのそれぞれのテキストの意味を指示する、テキストリテラルを含む部分をさらに備え、
前記メモリは、ソフトウェア命令をさらに含み、前記命令は、前記処理部が、前記タッチスクリーン上で前記テキストリテラルのうち特定のものがポピュレートされるユーザインターフェースを提示し、該ユーザインターフェースを通してユーザが前記コードベースのセマンティックトリプルのクエリを定義することができるように、前記処理部を構成する、ポータブルデバイス。
[例151]
ポケットサイズのハウジング内に配置された、タッチスクリーン、メモリ及び処理部を備えており、
前記メモリは、複数のデータN−タプルを含む、ストレージの複数のプレーンとして論理的に編成され、前記N−タプルの要素がテキストリテラルに対応し、
前記処理部がGPUを含み、前記GPUは、タッチスクリーンユーザインターフェースを介して入力されたユーザクエリに応答することの一部として、前記データN−タプルにおいて演算するように構成されている、ポータブルデバイス。
[例152]
ユーザクエリに対応するデータを受信するステップと、
第1のプレーン閾値処理テストを、N−タプルデータストアの1つのプレーン内に格納された値に適用するステップであり、前記データストアが、複数のデータN−タプルを格納するデータのN個のプレーンを備えるように論理的に編成され、但し、Nが少なくとも3であり、前記プレーン閾値処理テストが、前記ユーザクエリの第1の態様を満たす、前記格納されたデータN−タプルの第1のサブセットを識別する、ステップと、
前記ユーザクエリの結果を前記ユーザに提示するステップと、
を含む、方法。
[例153]
1つ又は複数のテキストリテラルに基づくユーザクエリに対応するデータを受信するステップと、
前記1つ又は複数のテキストリテラルを、1つ又は複数の対応するデータコードにマッピングするステップと、
前記データコードのうち1つを、前記第1のプレーン閾値処理テストにおいて使用するステップと、
を含む、例152に記載の方法。
[例154]
第2のプレーン閾値処理テストを、前記データN−タプルの第1の識別されたサブセット内の値に適用して、前記ユーザクエリの第2の態様を満たす、データN−タプルのさらなるサブセットを識別するステップをさらに含む、例152に記載の方法。
[例155]
1つ又は複数のさらなるプレーン閾値処理テストを、データN−タプルの以前に識別されたサブセットに適用して、前記ユーザクエリのさらなる態様を満たす、データN−タプルの1つ又は複数のさらなるサブセットを連続して識別するステップを含む、例154に記載の方法。
[例156]
前記ユーザクエリの結果を前記ユーザに提示するステップが、テンプレートを1つ又は複数のテキストリテラルでポピュレートするサブステップを含み、前記複数のテキストリテラルが、1つ又は複数のデータN−タプルの識別されたサブセットからの1つ又は複数の値に対応する、例152に記載の方法。
[例157]
カメラを装備したポータブルデバイスによって取り込まれた画像に対応する第1のセットのデータを受信するステップであり、前記画像が、第1の解像度で被写体を描く、ステップと、
前記第1のセットのデータに基づいて、識別データを決定するステップと、
前記識別データを参照することによって、第2のセットのデータを得るステップであり、前記第2のセットのデータが、前記被写体を描く画像に対応する、ステップと、
を含み、
前記第2のセットのデータが、前記第1のセットのデータとは異なる視点から前記被写体を描き、前記第1の解像度よりも高い第2の解像度で前記被写体を描く、方法。
[例158]
オブジェクトから検知されたNFC識別データを受信するステップと、
前記識別データを参照することによって、画像データのセットを得るステップであり、前記画像データが前記オブジェクトを描く、ステップと、
前記画像データに対応する画像を、ポータブルデバイスのタッチスクリーン上に提示するステップと、
を含む、方法。
[例159]
前記方法が、
ユーザ入力を前記タッチスクリーン上で受信するステップと、
前記ユーザ入力に基づいて、アクションを取るステップと、
をさらに含み、
前記ユーザが前記提示された画像を第1のロケーションでタッチする場合、前記アクションが第1のアクションを備え、前記ユーザが前記提示された画像を第2の異なるロケーションでタッチする場合、前記アクションが第2の異なるアクションを備える、例158に記載の方法。
[例160]
第1及び第2のデバイス間でアプリケーション状態を転送するための方法であって、前記デバイスがそれぞれプロセッサと表示画面とを含み、前記方法が、
前記第1のデバイス内のカメラを使用して、前記第2のデバイスの表示画面上に提示された画像を検知するステップと、
デジタルウォーターマークデータを、前記検知された画像から復号するステップと、
前記復号されたデジタルウォーターマークデータに基づいて、格納されたデータを識別するステップであって、該格納されたデータが前記第2のプロセッサのアプリケーション状態をメモリアライズする、ステップと、
前記格納されたデータを使用して、前記第2のプロセッサを前記アプリケーション状態に初期化するステップと、
を含む、方法。
[例161]
前記格納されたデータを使用して、前記ポータブルデバイス内のプロセッサを前記アプリケーション状態に初期化するステップを含む、例160に記載の方法。
[例162]
プロセッサと表示画面とを含むデバイスを使用する方法であって、
アプリケーション状態データを時折格納するステップと、
画像をデジタルウォーターマーキングして、その中の識別子を符号化するステップであり、前記識別子が、前記格納されたアプリケーション状態データへのアクセスを容易にする、ステップと、
前記デジタルウォーターマーキングされた画像を前記表示画面上に提示するステップと、
を含む、方法。
[例163]
ポータブルデバイス内のカメラを使用して、光を検知するステップと、
前記検知された光から、識別子を復号するステップと、
前記復号された識別子に基づいて、情報を得るステップと、
を含む、方法。
[例164]
前記得るステップが、前記復号された識別子に基づいて小売店内のロケーションを決定するサブステップを含む、例163に記載の方法。
[例165]
前記得るステップが、前記復号された識別子に基づいて街路上のビルの番号を決定するサブステップを含む、例163に記載の方法。
[例166]
前記得るステップが、前記復号された識別子に基づいて車道上で接近する車両の速度を決定するサブステップを含む、例163に記載の方法。
[例167]
動いている車両の速度及び/又は方向を検知するステップと、
前記検知された情報が符号化されている信号を生成するステップと、
前記信号に従って、前記車両の1つ又は複数のヘッドライトを制御するステップと、
を含む、方法。
[例168]
照明器具によって照明された環境からデータを検知するステップと、
前記検知されたデータを処理して対応する情報を決定するステップと、
前記照明器具から発せられた光を、前記決定された情報に従って符号化するステップと、
を含む、方法。
[例169]
前記処理するステップが、デジタルウォーターマーク復号するサブステップを含む、例168に記載の方法。
[例170]
前記処理するステップが、パターン認識動作を行うサブステップを含む、例168に記載の方法。
[例171]
前記検知するステップが、前記照明器具に関連付けられたセンサから検知するサブステップを含む、例168に記載の方法。
[例172]
無線信号を検知するステップと、
前記検知された無線信号を処理して、ジオロケーション情報を決定するステップと、
前記照明器具から発せられた光を、前記決定されたジオロケーション情報に従って符号化するステップと、
を含む、例168に記載の方法。
[例173]
ポータブルデバイスのマイクロフォンにより、ユーザの周囲環境から、少なくとも15分の延長された間隔にわたって、オーディオを受信するステップと、
アルゴリズムを、前記受信されたオーディオを表すデータに適用して、識別データを導出するステップと、
前記導出された識別データを参照することによって、前記ユーザが前記間隔中に曝されたオーディオコンテンツの少なくとも第1及び第2の異なる項目を決定するステップと、
前記オーディオコンテンツの決定された第1及び第2の異なる項目を参照することによって、前記ユーザによる後の使用のためにソフトウェアを用意するステップであり、前記用意するステップが、補助コンテンツの第1及び第2の項目を前記ポータブルデバイスで1つ又は複数のリモートリポジトリから受信するサブステップを含み、前記補助コンテンツの第1の項目が、前記オーディオコンテンツの第1の決定された項目に関連付けられ、前記補助コンテンツの第2の項目が、前記オーディオコンテンツの第2の決定された項目に関連付けられる、ステップと、
前記ユーザに、前記オーディオコンテンツの決定された第1及び第2の項目を識別するリストを提示するステップと、
関心のあるものとしての、前記オーディオコンテンツの決定された項目のうち1つのユーザ選択に応答して、補助コンテンツの対応する項目を使用して、前記用意されたソフトウェアに従って、アクションを取るステップと、
を含み、
前記ユーザが曝されるオーディオコンテンツの項目が監視され、前記ユーザがオーディオコンテンツの特定の項目を関心のあるものとして選択するより前に、関連付けられた補助コンテンツが、前記ポータブルデバイスによって受信される、方法。
[例174]
前記補助コンテンツの第1の項目が、音楽ビデオを備える、例173に記載の方法。
[例175]
前記補助コンテンツの第1の項目が、ゲームを備える、例173に記載の方法。
[例176]
ポータブルデバイスのマイクロフォンにより、ユーザの周囲環境から、少なくとも15分の延長された間隔にわたって、オーディオを受信するステップと、
前記間隔中に前記ユーザのロケーションを検知するステップと、
アルゴリズムを、前記受信されたオーディオを表すデータに適用して、識別データを導出するステップと、
前記導出された識別データを参照することによって、前記ユーザが前記間隔中に曝されたオーディオコンテンツの少なくとも第1及び第2の異なる項目を決定するステップと、
前記ポータブルデバイスのユーザインターフェースを通して、前記オーディオコンテンツの決定された第1及び第2の異なる項目を、前記ユーザに識別するステップと、
前記オーディオコンテンツの決定された第1の項目を選択する、前記ユーザインターフェースを通したユーザ信号を、受信するステップと、
前記ユーザ信号に応答して、前記オーディオコンテンツの第1の項目の識別を、前記ユーザの検知されたロケーションを指示するデータとともに、オンラインソーシャルネットワークに投稿するステップと、
を含む、方法。
[例177]
メモリ内の命令によって構成されるプロセッサを含むシステムであって、
前記命令が、オペレーティングシステムソフトウェアを含み、前記オペレーティングシステムソフトウェアが、入力オーディオデータを受信するオーディオ識別サービス、又は、格納されたオーディオデータへのポインタを提供し、それに対応するメタデータを、前記オペレーティングシステムソフトウェアのオーディオ識別メッセージキューへ返す、システム。
[例178]
前記返されたメタデータが、オーディオフィンガープリントデータを備える、例177に記載のシステム。
[例179]
前記サービスが、複数のフィンガープリント処理のうちどれを適用すべきかを指定する、パラメータ入力データをも受信する、例178に記載のシステム。
[例180]
前記返されたメタデータが、復号されたオーディオウォーターマークデータを備える、例177に記載のシステム。
[例181]
前記サービスがパラメータ入力データをさらに受信し、前記パラメータ入力データは、複数のウォーターマーク復号処理のうちどれが、前記オペレーティングシステムソフトウェアの前記オーディオ識別サービスによって適用されるべきであるかを指定する、例180に記載のシステム。
[例182]
前記サービスが、前記返されたオーディオウォーターマークデータの明らかな有効性についてチェックする、例180に記載のシステム。
[例183]
前記返されたメタデータが、前記オーディオのタイトルと演奏するアーティストの名前とを与える、テキストを備える、例177に記載のシステム。
[例184]
前記サービスが、リモートメタデータレジストリと協働して、前記オーディオに関する情報を得る、例177に記載のシステム。
[例185]
モバイル電話デバイスのカメラ部分を使用して取り込まれ、前記デバイスの画面上に表示された、第1の被写体を描く画像のフレームを含む、方法であって、
取り込まれた画像データを解析することによって、前記第1の被写体に関係付けられた識別子を作り出すステップと、
第1のタグを、前記画面上に、画像の第1のフレームとともに表示するステップであり、前記第1のタグが、前記画面上の第1の位置に位置し、前記第1のタグが、前記第1の被写体に関連付けられたアクションを開始するようにユーザ選択可能である、ステップと、
前記第1のフレーム内に描かれた通りの前記第1の被写体を、前記表示された第1のタグに関連付ける、視覚的しるしを、前記画面上に提示するステップと、
前記第1のタグを、前記画面上に、前記第1の被写体を描く画像の第2のフレームとともに表示するステップと、
を含み、
前記第1の被写体が、前記画像の第1及び第2のフレーム内の異なるロケーションに描かれるが、前記第1のタグが、前記画像の第1及び第2のフレームの両方とともに、前記画面上の前記第1の位置に表示される、方法。
[例186]
前記視覚的しるしが視覚的つなぎ(visual tether)を備えており、前記視覚的つなぎが、前記画面上に表示された通りの前記第1の被写体に最も近い第1の端部を有し、且つ、前記表示された第1のタグに最も近い第2の端部を有しており、前記第1の端部が、前記画像の第1及び第2のフレーム内の前記第1の被写体の前記異なるロケーションとともに動く、例185に記載の方法。
[例187]
前記視覚的つなぎの前記第1の端部が、前記第1のフレーム内の前記第1の被写体の第1のハンドルロケーションに最も近く、前記第2のフレーム内の前記第1の被写体の第2の異なるハンドルロケーションに最も近い、例186に記載の方法。
[例188]
前記視覚的しるしが共通色を備えており、前記共通色が、前記第1のタグを、前記第1の被写体とともにレンダリングされたグラフィック効果に関連付ける、例185に記載の方法。
[例189]
前記視覚的しるしが、前記第1のタグを前記第1の被写体に視覚的に関連付ける、前記第1のタグのグラフィカルな外観を備える、例185に記載の方法。
[例190]
前記第1のタグを、前記画面の縁部に沿って表示するステップを含む、例185に記載の方法。
[例191]
前記方法が、前記識別子をリモートシステムへ送信するステップと、応答において情報を受信するステップであって、前記受信された情報が、前記第1の被写体に関する参照画像データを含む、ステップと、を含む、例185に記載の方法。
[例192]
前記受信された情報の使用を通して、前記第1及び第2の画像フレーム間で、前記第1の被写体の動きを追跡するステップをさらに含む、例191に記載の方法。
[例193]
前記受信された情報の使用を通して、前記第1の被写体と前記表示された第1のタグとの間に伸びるつなぎの終点を定義するステップをさらに含む、例191に記載の方法。
[例194]
前記方法が、第2の表示されたタグを、前記画面上に、前記画像の第2のフレームとともに追加するステップを含み、前記第2のタグが、前記画面上の第2の位置に位置し、前記第2のタグが、前記第2のフレーム内に描かれた第2の被写体に関連付けられたアクションを開始するようにユーザ選択可能であり、前記第2の位置が、前記第1のタグの前記第1の位置を変更することなく、前記画面上のその表示を可能にするように選択され、前記第1及び第2の位置が、前記画面の縁部に沿って位置する、例185に記載の方法。
[例195]
ユーザのモバイル電話のカメラ部分によって取り込まれた画像内で描かれた物理的オブジェクトを識別して、それにより、前記ユーザに関する物理的オブジェクトプリファレンス情報を見極め、それに基づいた物理的オブジェクトプリファレンスプロファイルデータを、メモリ内に格納するステップと、
電子メディアを、前記格納された物理的オブジェクトプリファレンスプロファイルデータに少なくとも部分的に基づいて、処理するステップと、を含む、方法。
[例196]
前記処理するステップが、前記格納された物理的オブジェクトプリファレンスプロファイルデータに少なくとも部分的に基づいて、前記ユーザに関連付けられた電子メールアカウントに向けて送られた電子メールを選別するサブステップを含む、例195に記載の方法。
[例197]
前記処理するステップが、特定のウェブページを、示唆されたお気に入りとして、前記ユーザに関連付けられたウェブブラウザに追加するサブステップを含み、前記特定のウェブページが、前記格納された物理的オブジェクトプリファレンスプロファイルデータに少なくとも部分的に基づいて決定される、例195に記載の方法。
[例198]
前記処理するステップが、パブリッシュされた電子メディアを監視するサブステップと、その選択された抜粋を前記ユーザに提供するサブステップと、を含み、前記選択が、前記格納された物理的オブジェクトプリファレンスプロファイルデータに少なくとも部分的に基づく、例195に記載の方法。
[例199]
前記パブリッシュされた電子メディアが、オンラインソーシャルネットワーキングサービスへの投稿を備える、例198に記載の方法。
[例200]
ポータブルデバイスのカメラ部分により、画像のシーケンスを取り込むステップと、
前記シーケンスの最初の抜粋を解析して、較正情報を見極めるステップであり、前記較正情報が、前記最初の抜粋内で描かれた人の手の色を特徴付ける肌色データを含む、ステップと、
前記シーケンスの他の抜粋を解析して、取り込まれた画像を格納された参照手型データとマッチングすることによって、前記画像内に描かれたアメリカ手話の手型を識別するステップと、
前記解析に基づいて、語、音素、又は文字を出力デバイスに出力するステップと、
を含む、方法。
[例201]
前記方法が、前記ポータブルデバイスに装備される近接センサから出力された信号に少なくとも部分的に基づいて、前記シーケンスの前記最初の抜粋を解析するステップであって、人間の身体の一部分が前記デバイスに近接して検出されるとき、そのセンサが、前記出力信号を生じる、ステップを含む、例200に記載の方法。

Claims (11)

  1. スマートフォンのカメラにより、印刷されたページ又は他のオブジェクト上のアートワークを描く画像を取り込む動作であって、前記アートワークがマシン可読コードを含む、動作と、
    ペイロードデータを取得するために前記マシン可読コードを復号する動作と、
    前記ペイロードデータをリモートデータベースに送信し引き換えに前記オブジェクトについての情報を受信することによって前記アートワークに関する顕著点にアクセスする動作であって、受信された前記情報が、前記リモートデータベースによって識別された前記アートワークに関する前記顕著点を含む、動作と、
    前記スマートフォンの前記オブジェクトに対する3D姿勢を決定するために前記顕著点を使用する動作と、
    前記スマートフォンの画面において、取り込まれた前記画像の上に、補助情報を提示する動作であり、前記補助情報は、前記3D姿勢に応じて前記補助情報のアフィンワープ若しくは遠近ワープを用いて、取り込まれた該画像に幾何学的に位置合わせされる、動作と、
    を含み、
    前記3D姿勢は、取り込まれた前記画像に描かれた前記マシン可読コードから復号された前記ペイロードデータを使用して前記データベースからアクセスされた前記顕著点に基づいて決定される、方法。
  2. 前記マシン可読コードが正方形2Dバーコードである、請求項1に記載の方法。
  3. 物理的な前記オブジェクトがポスターである、請求項1に記載の方法。
  4. 前記顕著点の各々は、前記アートワーク内のそのロケーションを示すデータと、そのロケーションに関連付けられた情報を表す特徴ベクトルと、によって表わされる、請求項1に記載の方法。
  5. 前記特徴ベクトルは、前記点の周りに配列された複数の正方形ピクセルブロックの各々についての輝度勾配情報の値を詳述する、請求項4に記載の方法。
  6. 前記顕著点は、輝度、色、テクスチャ又はガウス差分の有意な局所的変化がある、前記アートワーク内のロケーションを特定する、請求項1に記載の方法。
  7. 前記顕著点はSIFT又はSURFの点を含む、請求項1に記載の方法。
  8. 取り込まれた前記画像において前記オブジェクトのどのような抜粋が描かれているかを見極めるために前記顕著点を使用する動作と、
    そのような抜粋に特に対応する補助情報を提示する動作であって、ユーザが、前記オブジェクトの第1の部分を見ている場合にある応答を提示され、前記オブジェクトの第2の部分を見ている場合に第2の応答を提示されることを可能にする、動作と、
    をさらに含む、請求項1に記載の方法。
  9. カメラと、ディスプレイと、プロセッサと、ソフトウェア命令を含むメモリと、を含むスマートフォンであって、前記ソフトウェア命令は前記スマートフォンに動作を実行させるように該スマートフォンを構成し、前記動作は、
    ペイロードデータを取得するために物理的なオブジェクト上のアートワークに含まれるマシン可読コードを復号する動作であって、前記マシン可読コードが前記スマートフォンのカメラによって取り込まれた画像に描かれている、動作と、
    前記ペイロードデータをリモートデータベースに送信し引き換えに前記オブジェクトについての情報を受信することによって前記アートワークに関する顕著点にアクセスする動作であって、受信された前記情報が、前記リモートデータベースによって識別された前記アートワークに関する前記顕著点を含む、動作と、
    前記スマートフォンの前記オブジェクトに対する3D姿勢を決定するために前記顕著点を使用する動作と、
    前記スマートフォンの前記ディスプレイにおいて、取り込まれた前記画像の上に、補助情報を提示する動作であり、前記補助情報は、前記3D姿勢に応じて前記補助情報のアフィンワープ若しくは遠近ワープを用いて、取り込まれた該画像に幾何学的に位置合わせされる、動作と、
    を含み、
    前記3D姿勢は、取り込まれた前記画像に描かれた前記マシン可読コードから復号された前記ペイロードデータを使用して前記データベースからアクセスされた前記顕著点に基づいて決定される、スマートフォン。
  10. ソフトウェア命令を含むコンピュータ可読媒体であって、前記ソフトウェア命令は、カメラ及びディスプレイを具備するスマートフォンに動作を実行させるように該スマートフォンを構成し、前記動作は、
    ペイロードデータを取得するために物理的なオブジェクト上のアートワークに含まれるマシン可読コードを復号する動作であって、前記マシン可読コードが前記スマートフォンのカメラによって取り込まれた画像に描かれている、動作と、
    前記ペイロードデータをリモートデータベースに送信し引き換えに前記オブジェクトについての情報を受信することによって前記アートワークに関する顕著点にアクセスする動作であって、受信された前記情報が、前記リモートデータベースによって識別された前記アートワークに関する前記顕著点を含む、動作と、
    前記スマートフォンの前記オブジェクトに対する3D姿勢を決定するために前記顕著点を使用する動作と、
    前記スマートフォンの前記ディスプレイにおいて、取り込まれた前記画像の上に、補助情報を提示する動作であり、前記補助情報は、前記3D姿勢に応じて前記補助情報のアフィンワープ若しくは遠近ワープを用いて、取り込まれた該画像に幾何学的に位置合わせされる、動作と、
    を含み、
    前記3D姿勢は、取り込まれた前記画像に描かれた前記マシン可読コードから復号された前記ペイロードデータを使用して前記データベースからアクセスされた前記顕著点に基づいて決定される、コンピュータ可読媒体。
  11. 前記リモートデータベースが、第2のスマートフォンから前記アートワークに関する前記顕著点を前もって受信し、前記第2のスマートフォンが、前もって前記アートワークの画像を取り込み、前記画像内の顕著点を識別するとともに、格納のために前記リモートデータベースに前記識別された顕著点の情報を転送する、請求項1に記載の方法。
JP2016234336A 2010-11-04 2016-12-01 スマートフォンベースの方法、スマートフォン及びコンピュータ可読媒体 Active JP6572468B2 (ja)

Applications Claiming Priority (22)

Application Number Priority Date Filing Date Title
US41021710P 2010-11-04 2010-11-04
US61/410,217 2010-11-04
US201161449529P 2011-03-04 2011-03-04
US61/449,529 2011-03-04
US201161467862P 2011-03-25 2011-03-25
US61/467,862 2011-03-25
US201161471651P 2011-04-04 2011-04-04
US61/471,651 2011-04-04
US201161479323P 2011-04-26 2011-04-26
US61/479,323 2011-04-26
US201161483555P 2011-05-06 2011-05-06
US61/483,555 2011-05-06
US201161485888P 2011-05-13 2011-05-13
US61/485,888 2011-05-13
US201161501602P 2011-06-27 2011-06-27
US61/501,602 2011-06-27
US13/174,258 US8831279B2 (en) 2011-03-04 2011-06-30 Smartphone-based methods and systems
US13/174,258 2011-06-30
US13/207,841 2011-08-11
US13/207,841 US9218530B2 (en) 2010-11-04 2011-08-11 Smartphone-based methods and systems
US13/278,949 2011-10-21
US13/278,949 US9183580B2 (en) 2010-11-04 2011-10-21 Methods and systems for resource management on portable devices

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2013537885A Division JP6054870B2 (ja) 2010-11-04 2011-11-04 スマートフォンベースの方法及びシステム

Publications (3)

Publication Number Publication Date
JP2017108401A JP2017108401A (ja) 2017-06-15
JP2017108401A5 JP2017108401A5 (ja) 2018-06-07
JP6572468B2 true JP6572468B2 (ja) 2019-09-11

Family

ID=46025145

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013537885A Active JP6054870B2 (ja) 2010-11-04 2011-11-04 スマートフォンベースの方法及びシステム
JP2016234336A Active JP6572468B2 (ja) 2010-11-04 2016-12-01 スマートフォンベースの方法、スマートフォン及びコンピュータ可読媒体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2013537885A Active JP6054870B2 (ja) 2010-11-04 2011-11-04 スマートフォンベースの方法及びシステム

Country Status (7)

Country Link
US (1) US9183580B2 (ja)
EP (1) EP2635997A4 (ja)
JP (2) JP6054870B2 (ja)
KR (1) KR102010221B1 (ja)
CN (2) CN107103316B (ja)
CA (1) CA2815944C (ja)
WO (1) WO2012061760A2 (ja)

Families Citing this family (146)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120322428A1 (en) 2004-09-30 2012-12-20 Motedata Inc. Network of tags
US8515052B2 (en) 2007-12-17 2013-08-20 Wai Wu Parallel signal processing system and method
US8819172B2 (en) 2010-11-04 2014-08-26 Digimarc Corporation Smartphone-based methods and systems
US9218530B2 (en) 2010-11-04 2015-12-22 Digimarc Corporation Smartphone-based methods and systems
US8903847B2 (en) 2010-03-05 2014-12-02 International Business Machines Corporation Digital media voice tags in social networks
US8762852B2 (en) 2010-11-04 2014-06-24 Digimarc Corporation Smartphone-based methods and systems
US20120224711A1 (en) * 2011-03-04 2012-09-06 Qualcomm Incorporated Method and apparatus for grouping client devices based on context similarity
US20120246238A1 (en) * 2011-03-21 2012-09-27 International Business Machines Corporation Asynchronous messaging tags
US20120244842A1 (en) 2011-03-21 2012-09-27 International Business Machines Corporation Data Session Synchronization With Phone Numbers
US8688090B2 (en) 2011-03-21 2014-04-01 International Business Machines Corporation Data session preferences
US9196028B2 (en) 2011-09-23 2015-11-24 Digimarc Corporation Context-based smartphone sensor logic
SG185147A1 (en) * 2011-04-08 2012-11-29 Creative Tech Ltd A method, system and electronic device for at least one of efficient graphic processing and salient based learning
US9117074B2 (en) 2011-05-18 2015-08-25 Microsoft Technology Licensing, Llc Detecting a compromised online user account
US9087324B2 (en) * 2011-07-12 2015-07-21 Microsoft Technology Licensing, Llc Message categorization
US8885882B1 (en) 2011-07-14 2014-11-11 The Research Foundation For The State University Of New York Real time eye tracking for human computer interaction
US9065826B2 (en) 2011-08-08 2015-06-23 Microsoft Technology Licensing, Llc Identifying application reputation based on resource accesses
US9367770B2 (en) 2011-08-30 2016-06-14 Digimarc Corporation Methods and arrangements for identifying objects
US10474858B2 (en) 2011-08-30 2019-11-12 Digimarc Corporation Methods of identifying barcoded items by evaluating multiple identification hypotheses, based on data from sensors including inventory sensors and ceiling-mounted cameras
US9235799B2 (en) 2011-11-26 2016-01-12 Microsoft Technology Licensing, Llc Discriminative pretraining of deep neural networks
GB2497951A (en) * 2011-12-22 2013-07-03 Nokia Corp Method and System For Managing Images And Geographic Location Data
US20130254265A1 (en) * 2012-03-20 2013-09-26 Alexandra Chemla System and mechanisms for transferring user selected content to a recipient
WO2013179086A1 (en) * 2012-05-29 2013-12-05 Nokia Corporation Supporting the provision of services
WO2013184383A2 (en) * 2012-06-04 2013-12-12 Apple Inc. App recommendation using crowd-sourced localized app usage data
US9510141B2 (en) 2012-06-04 2016-11-29 Apple Inc. App recommendation using crowd-sourced localized app usage data
US9477884B2 (en) 2012-06-14 2016-10-25 Digimarc Corporation Methods and systems for signal processing
US9621621B2 (en) 2012-07-17 2017-04-11 Myron Frederick Zahnow System, apparatus and method for activity guidance and monitoring
US20140025537A1 (en) * 2012-07-23 2014-01-23 Cellco Partnership D/B/A Verizon Wireless Verifying accessory compatibility with a mobile device
US9401153B2 (en) 2012-10-15 2016-07-26 Digimarc Corporation Multi-mode audio recognition and auxiliary data encoding and decoding
US9305559B2 (en) 2012-10-15 2016-04-05 Digimarc Corporation Audio watermark encoding with reversing polarity and pairwise embedding
US9224184B2 (en) 2012-10-21 2015-12-29 Digimarc Corporation Methods and arrangements for identifying objects
US8874924B2 (en) * 2012-11-07 2014-10-28 The Nielsen Company (Us), Llc Methods and apparatus to identify media
US9477925B2 (en) 2012-11-20 2016-10-25 Microsoft Technology Licensing, Llc Deep neural networks training for speech and pattern recognition
US9591339B1 (en) 2012-11-27 2017-03-07 Apple Inc. Agnostic media delivery system
US9774917B1 (en) 2012-12-10 2017-09-26 Apple Inc. Channel bar user interface
US10200761B1 (en) 2012-12-13 2019-02-05 Apple Inc. TV side bar user interface
US9532111B1 (en) 2012-12-18 2016-12-27 Apple Inc. Devices and method for providing remote control hints on a display
US10521188B1 (en) 2012-12-31 2019-12-31 Apple Inc. Multi-user TV user interface
US20140196137A1 (en) * 2013-01-07 2014-07-10 Curtis John Schwebke Unified communications with a cloud client device
US9146990B2 (en) * 2013-01-07 2015-09-29 Gracenote, Inc. Search and identification of video content
US9099080B2 (en) 2013-02-06 2015-08-04 Muzak Llc System for targeting location-based communications
US9275278B2 (en) * 2013-02-15 2016-03-01 Fuji Xerox Co., Ltd. Systems and methods for implementing and using off-center embedded media markers
US8990638B1 (en) * 2013-03-15 2015-03-24 Digimarc Corporation Self-stabilizing network nodes in mobile discovery system
US20140337905A1 (en) * 2013-05-09 2014-11-13 Telefonaktiebolaget L M Ericsson (Publ) System and method for delivering extended media content
US9251549B2 (en) * 2013-07-23 2016-02-02 Verance Corporation Watermark extractor enhancements based on payload ranking
KR102165818B1 (ko) 2013-09-10 2020-10-14 삼성전자주식회사 입력 영상을 이용한 사용자 인터페이스 제어 방법, 장치 및 기록매체
EP3047445A4 (en) * 2013-09-16 2017-01-25 The Electric Fan Company Distributed, Unfolding, Embedded Transaction and Inventory Apparatuses, Methods and Systems
US10277330B2 (en) * 2013-09-19 2019-04-30 Radius Universal Llc Fiber optic communications and power network
US9600474B2 (en) 2013-11-08 2017-03-21 Google Inc. User interface for realtime language translation
BR102013031062A2 (pt) * 2013-12-03 2015-10-20 Antonio Ferreira De Souza sistema de consulta eletrônica e aferição de autenticidade, validade e restrição de carteira nacional de habilitação (cnh), certificado de registro de veículo (crv) e certificado de registro e licenciamento de veículo (crlv), utilizando tecnologia de leitura de dados por aproximação
JP6222830B2 (ja) * 2013-12-27 2017-11-01 マクセルホールディングス株式会社 画像投射装置
JP2015127897A (ja) * 2013-12-27 2015-07-09 ソニー株式会社 表示制御装置、表示制御システム、表示制御方法、およびプログラム
US9311639B2 (en) 2014-02-11 2016-04-12 Digimarc Corporation Methods, apparatus and arrangements for device to device communication
WO2015123658A1 (en) 2014-02-14 2015-08-20 Sonic Blocks, Inc. Modular quick-connect a/v system and methods thereof
US9613638B2 (en) * 2014-02-28 2017-04-04 Educational Testing Service Computer-implemented systems and methods for determining an intelligibility score for speech
US9756549B2 (en) 2014-03-14 2017-09-05 goTenna Inc. System and method for digital communication between computing devices
SE538975C2 (sv) * 2014-05-16 2017-03-07 Corfitsen Sten System och förfarande för att utföra betalningar från ett fordon
US10108748B2 (en) 2014-05-30 2018-10-23 Apple Inc. Most relevant application recommendation based on crowd-sourced application usage data
US9913100B2 (en) 2014-05-30 2018-03-06 Apple Inc. Techniques for generating maps of venues including buildings and floors
CN104023208B (zh) * 2014-06-05 2019-07-05 北京小鱼在家科技有限公司 一种自动监测与自主反应的装置及方法
WO2015200227A1 (en) 2014-06-24 2015-12-30 Apple Inc. Column interface for navigating in a user interface
US9402161B2 (en) 2014-07-23 2016-07-26 Apple Inc. Providing personalized content based on historical interaction with a mobile device
US10200439B2 (en) * 2014-07-29 2019-02-05 Sap Se In-memory cloud triple store
US10045427B2 (en) * 2014-09-29 2018-08-07 Philips Lighting Holding B.V. System and method of autonomous restore point creation and restoration for luminaire controllers
CN105787485B (zh) * 2014-12-25 2019-11-26 联想(北京)有限公司 识别点击操作的装置和方法
CN106162928A (zh) * 2015-04-03 2016-11-23 松翰科技股份有限公司 信息传输系统及方法
US9529500B1 (en) 2015-06-05 2016-12-27 Apple Inc. Application recommendation based on detected triggering events
US9652196B2 (en) * 2015-06-29 2017-05-16 Microsoft Technology Licensing, Llc Smart audio routing management
KR102429427B1 (ko) * 2015-07-20 2022-08-04 삼성전자주식회사 촬영 장치 및 그 동작 방법
US20170034551A1 (en) * 2015-07-29 2017-02-02 GM Global Technology Operations LLC Dynamic screen replication and real-time display rendering based on media-application characteristics
CN105187295B (zh) * 2015-08-06 2019-05-17 广州华多网络科技有限公司 一种在客户端实现气泡展示的方法及客户端、服务器和系统
US10331944B2 (en) * 2015-09-26 2019-06-25 Intel Corporation Technologies for dynamic performance of image analysis
JP6696149B2 (ja) * 2015-10-29 2020-05-20 富士通株式会社 画像生成方法、画像生成プログラム、情報処理装置および表示制御方法
US10740409B2 (en) 2016-05-20 2020-08-11 Magnet Forensics Inc. Systems and methods for graphical exploration of forensic data
WO2017197526A1 (en) * 2016-05-20 2017-11-23 Roman Czeslaw Kordasiewicz Systems and methods for graphical exploration of forensic data
US20170351651A1 (en) * 2016-06-01 2017-12-07 Intel Corporation Smart bookmark device and bookmark synchronization system
US10595169B2 (en) 2016-06-12 2020-03-17 Apple Inc. Message extension app store
DK201670581A1 (en) 2016-06-12 2018-01-08 Apple Inc Device-level authorization for viewing content
DK201670582A1 (en) 2016-06-12 2018-01-02 Apple Inc Identifying applications on which content is available
KR102493607B1 (ko) * 2016-06-15 2023-02-01 삼성전자주식회사 지문 인식 기능을 지원하는 전자 장치 및 이의 운용 방법
CN106874817A (zh) 2016-07-27 2017-06-20 阿里巴巴集团控股有限公司 二维码识别方法、设备和移动终端
CN106921728A (zh) 2016-08-31 2017-07-04 阿里巴巴集团控股有限公司 一种定位用户的方法、信息推送方法及相关设备
KR20190059952A (ko) * 2016-09-29 2019-05-31 콘비다 와이어리스, 엘엘씨 분산형 시맨틱 디스크립터들을 통한 시맨틱 질의
US20180113579A1 (en) 2016-10-26 2018-04-26 Apple Inc. User interfaces for browsing content from multiple content applications on an electronic device
EP3571627A2 (en) 2017-01-19 2019-11-27 Mindmaze Holding S.A. Systems, methods, apparatuses and devices for detecting facial expression and for tracking movement and location including for at least one of a virtual and augmented reality system
US10515474B2 (en) 2017-01-19 2019-12-24 Mindmaze Holding Sa System, method and apparatus for detecting facial expression in a virtual reality system
US10943100B2 (en) 2017-01-19 2021-03-09 Mindmaze Holding Sa Systems, methods, devices and apparatuses for detecting facial expression
CN109255564B (zh) * 2017-07-13 2022-09-06 菜鸟智能物流控股有限公司 一种取件点地址推荐方法及装置
CN108021954B (zh) 2017-11-01 2020-06-05 阿里巴巴集团控股有限公司 业务过程的启动方法和装置
CN107958667A (zh) * 2017-11-20 2018-04-24 北京云知声信息技术有限公司 能够快速启动应用的移动终端保护套和移动终端控制方法
CN108196952B (zh) * 2017-12-05 2020-06-05 阿里巴巴集团控股有限公司 一种资源分配方法、装置及设备
US11328533B1 (en) 2018-01-09 2022-05-10 Mindmaze Holding Sa System, method and apparatus for detecting facial expression for motion capture
JP6855401B2 (ja) * 2018-02-08 2021-04-07 ヤフー株式会社 生成装置、生成方法、及び生成プログラム
US10944669B1 (en) 2018-02-09 2021-03-09 GoTenna, Inc. System and method for efficient network-wide broadcast in a multi-hop wireless network using packet echos
CN111860020A (zh) 2018-04-25 2020-10-30 创新先进技术有限公司 业务处理方法、装置以及设备
US10134022B1 (en) * 2018-06-07 2018-11-20 Capital One Services, Llc Transaction terminals for automated billing
CN110209923B (zh) * 2018-06-12 2023-07-25 中国人民大学 话题影响力用户的推送方法和装置
US11145313B2 (en) * 2018-07-06 2021-10-12 Michael Bond System and method for assisting communication through predictive speech
CA3107919A1 (en) 2018-07-27 2020-01-30 GoTenna, Inc. Vinetm: zero-control routing using data packet inspection for wireless mesh networks
EP3621039A1 (en) * 2018-09-06 2020-03-11 Tata Consultancy Services Limited Real time overlay placement in videos for augmented reality applications
CN109451139B (zh) * 2018-09-13 2020-11-20 腾讯科技(深圳)有限公司 消息传输方法、终端、装置、电子设备及可读介质
CN109615423B (zh) 2018-11-29 2020-06-16 阿里巴巴集团控股有限公司 业务的处理方法及装置
KR102160189B1 (ko) * 2018-11-30 2020-09-25 인천대학교 산학협력단 애니메이션 내 객체의 채색을 지원하기 위한 사용자 인터페이스를 제공하는 전자 장치 및 그의 동작 방법
US10805690B2 (en) 2018-12-04 2020-10-13 The Nielsen Company (Us), Llc Methods and apparatus to identify media presentations by analyzing network traffic
US11126861B1 (en) 2018-12-14 2021-09-21 Digimarc Corporation Ambient inventorying arrangements
US11340758B1 (en) * 2018-12-27 2022-05-24 Meta Platforms, Inc. Systems and methods for distributing content
CN109448836A (zh) * 2018-12-27 2019-03-08 重庆科技学院 一种用于检测医疗健康的机器人及自助体检的方法
WO2020185707A1 (en) 2019-03-08 2020-09-17 goTenna Inc. Method for utilization-based traffic throttling in a wireless mesh network
EP3928194A1 (en) 2019-03-24 2021-12-29 Apple Inc. User interfaces including selectable representations of content items
US11683565B2 (en) 2019-03-24 2023-06-20 Apple Inc. User interfaces for interacting with channels that provide content that plays in a media browsing application
US11467726B2 (en) 2019-03-24 2022-10-11 Apple Inc. User interfaces for viewing and accessing content on an electronic device
CN109822595A (zh) * 2019-03-25 2019-05-31 杭州纳茵特科技有限公司 一种教育机器人
US11082380B2 (en) 2019-05-24 2021-08-03 Universal City Studios Llc Systems and methods for providing in-application messaging
US11786694B2 (en) 2019-05-24 2023-10-17 NeuroLight, Inc. Device, method, and app for facilitating sleep
WO2020243645A1 (en) 2019-05-31 2020-12-03 Apple Inc. User interfaces for a podcast browsing and playback application
US11863837B2 (en) 2019-05-31 2024-01-02 Apple Inc. Notification of augmented reality content on an electronic device
US11743550B2 (en) 2019-06-28 2023-08-29 Dolby Laboratories Licensing Corporation Video content type metadata for high dynamic range
US20210034907A1 (en) 2019-07-29 2021-02-04 Walmart Apollo, Llc System and method for textual analysis of images
US11698676B2 (en) 2019-08-23 2023-07-11 Samsung Electronics Co., Ltd. Method and electronic device for eye-tracking
RU2724445C1 (ru) * 2019-08-23 2020-06-23 Самсунг Электроникс Ко., Лтд. Устройство и способ отслеживания положения глаза
KR102252084B1 (ko) * 2019-09-19 2021-05-17 주식회사 스켈터랩스 블랙보드 기반의 사용자 모델링을 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체
CN110991450A (zh) * 2019-12-03 2020-04-10 厦门亿合恒拓信息科技有限公司 电网设备信息的采集方法及计算机可读存储介质
CN111177587B (zh) * 2019-12-12 2023-05-23 广州地理研究所 一种购物街道推荐方法及装置
CN111127094B (zh) * 2019-12-19 2023-08-25 秒针信息技术有限公司 一种账户匹配方法、装置、电子设备和存储介质
CN111081270B (zh) * 2019-12-19 2021-06-01 大连即时智能科技有限公司 一种实时音频驱动的虚拟人物口型同步控制方法
EP3839880A1 (en) 2019-12-20 2021-06-23 Koninklijke Philips N.V. A system for performing ambient light image correction
US10839181B1 (en) 2020-01-07 2020-11-17 Zebra Technologies Corporation Method to synchronize a barcode decode with a video camera to improve accuracy of retail POS loss prevention
US11843838B2 (en) 2020-03-24 2023-12-12 Apple Inc. User interfaces for accessing episodes of a content series
CN113296767A (zh) * 2020-04-07 2021-08-24 阿里巴巴集团控股有限公司 Ui组件的生成方法及装置、用户界面的处理方法及装置
US11501470B2 (en) 2020-05-27 2022-11-15 Microsoft Technology Licensing, Llc Geometric encoding of data
CN111667571B (zh) * 2020-06-08 2021-09-17 南华大学 核设施源项三维分布快速重建方法、装置、设备及介质
US11899895B2 (en) 2020-06-21 2024-02-13 Apple Inc. User interfaces for setting up an electronic device
US11321797B2 (en) 2020-08-25 2022-05-03 Kyndryl, Inc. Wearable watermarks
CN111930846B (zh) * 2020-09-15 2021-02-23 支付宝(杭州)信息技术有限公司 一种数据处理方法、装置及设备
CN112183401A (zh) * 2020-09-30 2021-01-05 敦泰电子(深圳)有限公司 图像采集方法、芯片及图像采集装置
CN112511848B (zh) * 2020-11-09 2023-06-20 网宿科技股份有限公司 直播方法、服务端及计算机可读存储介质
CN114553618A (zh) * 2020-11-27 2022-05-27 赛万特科技有限责任公司 控制设备的方法、装置、智能家居设备、系统和存储介质
US11720229B2 (en) 2020-12-07 2023-08-08 Apple Inc. User interfaces for browsing and presenting content
US11934640B2 (en) 2021-01-29 2024-03-19 Apple Inc. User interfaces for record labels
US11738952B2 (en) * 2021-02-03 2023-08-29 Ats Corporation System and method for rotary drive curved track in a conveyor system
CN113379794B (zh) * 2021-05-19 2023-07-25 重庆邮电大学 基于注意力-关键点预测模型的单目标跟踪系统及方法
US20220383025A1 (en) * 2021-05-26 2022-12-01 International Business Machines Corporation Augmented reality translation of sign language classifier constructions
CN113360820B (zh) * 2021-05-29 2024-03-08 北京网聘信息技术有限公司 一种页面展示方法、系统、设备和存储介质
CN113657116B (zh) * 2021-08-05 2023-08-08 天津大学 基于视觉语义关系的社交媒体流行度预测方法及装置
CN113836397A (zh) * 2021-09-02 2021-12-24 桂林电子科技大学 一种购物篮个性化特征建模的推荐方法
CN113946701B (zh) * 2021-09-14 2024-03-19 广州市城市规划设计有限公司 一种基于图像处理的城乡规划数据的动态更新方法及装置
US11941860B2 (en) * 2021-09-24 2024-03-26 Zebra Tehcnologies Corporation Computational load mitigation for image-based item recognition

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311214B1 (en) 1995-07-27 2001-10-30 Digimarc Corporation Linking of computers based on optical sensing of digital data
JP4242529B2 (ja) * 1999-10-27 2009-03-25 オリンパス株式会社 関連情報呈示装置及び関連情報呈示方法
KR100330134B1 (ko) * 1999-12-29 2002-03-27 류명선 속도제한 경보 및 교통정보안내 시스템 및 방법
US6728312B1 (en) * 2000-04-13 2004-04-27 Forgent Networks, Inc. Adaptive video decoding and rendering with respect to processor congestion
AU2002213069A1 (en) * 2000-10-10 2002-04-22 Discrete Wireless, Inc. System and methods for conserving wireless resources
US6748360B2 (en) * 2000-11-03 2004-06-08 International Business Machines Corporation System for selling a product utilizing audio content identification
US6722569B2 (en) 2001-07-13 2004-04-20 Welch Allyn Data Collection, Inc. Optical reader having a color imager
EP1419608A4 (en) * 2001-08-15 2008-05-28 Precache Inc PACKET ROUTING BY INSPECTING PAYLOAD AND PROCESSING SUBSCRIPTION IN A PUBLIC SUBSCRIBER NETWORK
CN1589433A (zh) 2001-11-19 2005-03-02 皇家飞利浦电子股份有限公司 向任务分配预算盈余的方法和系统
WO2003048960A1 (en) * 2001-11-30 2003-06-12 A New Voice, Inc. Method and system for contextual prioritization of unified messages
WO2005010817A1 (ja) * 2003-07-24 2005-02-03 Olympus Corporation 画像処理装置
US8615487B2 (en) * 2004-01-23 2013-12-24 Garrison Gomez System and method to store and retrieve identifier associated information content
US20060107219A1 (en) 2004-05-26 2006-05-18 Motorola, Inc. Method to enhance user interface and target applications based on context awareness
EP2315423B1 (en) 2004-08-06 2017-11-01 Digimarc Corporation Fast signal detection and distributed computing in portable computing devices
JP2006091980A (ja) 2004-09-21 2006-04-06 Seiko Epson Corp 画像処理装置、画像処理方法および画像処理プログラム
US20100036717A1 (en) 2004-12-29 2010-02-11 Bernard Trest Dynamic Information System
AU2005322959A1 (en) * 2005-01-06 2006-07-13 Tervela, Inc. Intelligent messaging application programming interface
US7873974B2 (en) * 2005-09-19 2011-01-18 Sony Corporation Identification of television programming using a portable wireless device
US7319908B2 (en) 2005-10-28 2008-01-15 Microsoft Corporation Multi-modal device power/mode management
US8849821B2 (en) * 2005-11-04 2014-09-30 Nokia Corporation Scalable visual search system simplifying access to network and device functionality
WO2007130688A2 (en) * 2006-05-10 2007-11-15 Evolution Robotics, Inc. Mobile computing device with imaging capability
US7787697B2 (en) 2006-06-09 2010-08-31 Sony Ericsson Mobile Communications Ab Identification of an object in media and of related media objects
US7680959B2 (en) * 2006-07-11 2010-03-16 Napo Enterprises, Llc P2P network for providing real time media recommendations
US8565815B2 (en) * 2006-11-16 2013-10-22 Digimarc Corporation Methods and systems responsive to features sensed from imagery or other data
US7991157B2 (en) * 2006-11-16 2011-08-02 Digimarc Corporation Methods and systems responsive to features sensed from imagery or other data
CN101246486B (zh) * 2007-02-13 2012-02-01 国际商业机器公司 用于改进的表达式处理的方法和装置
US8788529B2 (en) * 2007-02-26 2014-07-22 Microsoft Corp. Information sharing between images
US20080243806A1 (en) * 2007-03-26 2008-10-02 Roger Dalal Accessing information on portable cellular electronic devices
US7912444B2 (en) * 2007-04-23 2011-03-22 Sony Ericsson Mobile Communications Ab Media portion selection system and method
JP5380789B2 (ja) * 2007-06-06 2014-01-08 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
US8279946B2 (en) * 2007-11-23 2012-10-02 Research In Motion Limited System and method for providing a variable frame rate and adaptive frame skipping on a mobile device
US9224150B2 (en) * 2007-12-18 2015-12-29 Napo Enterprises, Llc Identifying highly valued recommendations of users in a media recommendation network
KR20090091549A (ko) * 2008-02-25 2009-08-28 주식회사 케이티 피사체의 위치정보가 포함된 사진 생성 장치 및 그 방법
US8417259B2 (en) * 2008-03-31 2013-04-09 At&T Mobility Ii Llc Localized detection of mobile devices
US8036417B2 (en) 2008-06-11 2011-10-11 Eastman Kodak Company Finding orientation and date of hardcopy medium
US20090315886A1 (en) * 2008-06-19 2009-12-24 Honeywell International Inc. Method to prevent resource exhaustion while performing video rendering
US8520979B2 (en) 2008-08-19 2013-08-27 Digimarc Corporation Methods and systems for content processing
US8805110B2 (en) 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
WO2010022185A1 (en) 2008-08-19 2010-02-25 Digimarc Corporation Methods and systems for content processing
CN102132341B (zh) * 2008-08-26 2014-11-26 杜比实验室特许公司 鲁棒的媒体指纹
US9788043B2 (en) * 2008-11-07 2017-10-10 Digimarc Corporation Content interaction methods and systems employing portable devices
US20100135417A1 (en) * 2008-12-02 2010-06-03 Asaf Hargil Processing of video data in resource contrained devices
JP2010134649A (ja) * 2008-12-03 2010-06-17 Canon Inc 情報処理装置、その処理方法及びプログラム
JP5315111B2 (ja) * 2009-03-31 2013-10-16 株式会社エヌ・ティ・ティ・ドコモ 端末装置、情報提示システム及び端末画面表示方法
CN101533506B (zh) * 2009-04-24 2012-01-04 西安电子科技大学 一种鲁棒性的图像双水印方法
US8886206B2 (en) 2009-05-01 2014-11-11 Digimarc Corporation Methods and systems for content processing
US8121618B2 (en) 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
US9197736B2 (en) 2009-12-31 2015-11-24 Digimarc Corporation Intuitive computing methods and systems
US8694533B2 (en) * 2010-05-19 2014-04-08 Google Inc. Presenting mobile content based on programming context
US8781152B2 (en) * 2010-08-05 2014-07-15 Brian Momeyer Identifying visual media content captured by camera-enabled mobile device
US8359020B2 (en) 2010-08-06 2013-01-22 Google Inc. Automatically monitoring for voice input based on context

Also Published As

Publication number Publication date
JP2014505896A (ja) 2014-03-06
JP2017108401A (ja) 2017-06-15
WO2012061760A2 (en) 2012-05-10
JP6054870B2 (ja) 2016-12-27
CN107103316A (zh) 2017-08-29
CA2815944A1 (en) 2012-05-10
KR102010221B1 (ko) 2019-08-13
US20120134548A1 (en) 2012-05-31
CN103329147A (zh) 2013-09-25
EP2635997A4 (en) 2015-01-07
EP2635997A2 (en) 2013-09-11
US9183580B2 (en) 2015-11-10
KR20130118897A (ko) 2013-10-30
CA2815944C (en) 2019-09-17
CN107103316B (zh) 2020-11-03
WO2012061760A3 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
JP6572468B2 (ja) スマートフォンベースの方法、スマートフォン及びコンピュータ可読媒体
US10658007B2 (en) Smartphone-based methods and systems
US10521873B2 (en) Salient point-based arrangements
US9367886B2 (en) Smartphone arrangements responsive to musical artists and other content proprietors
US9240021B2 (en) Smartphone-based methods and systems
US20120154633A1 (en) Linked Data Methods and Systems
US20120277893A1 (en) Channelized Audio Watermarks
US20120224743A1 (en) Smartphone-based methods and systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180116

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20180413

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180508

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180730

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180806

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20180928

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190718

R150 Certificate of patent or registration of utility model

Ref document number: 6572468

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