[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2018081701A - 関心箇所に応じた画像の切り取り - Google Patents

関心箇所に応じた画像の切り取り Download PDF

Info

Publication number
JP2018081701A
JP2018081701A JP2017231481A JP2017231481A JP2018081701A JP 2018081701 A JP2018081701 A JP 2018081701A JP 2017231481 A JP2017231481 A JP 2017231481A JP 2017231481 A JP2017231481 A JP 2017231481A JP 2018081701 A JP2018081701 A JP 2018081701A
Authority
JP
Japan
Prior art keywords
display area
image
interest
points
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017231481A
Other languages
English (en)
Other versions
JP6681867B2 (ja
Inventor
セルジュ バンジャマン シェドー、クリストファー
Serge Benjamin Chedeau Christopher
セルジュ バンジャマン シェドー、クリストファー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Meta Platforms Inc
Original Assignee
Facebook Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Facebook Inc filed Critical Facebook Inc
Publication of JP2018081701A publication Critical patent/JP2018081701A/ja
Application granted granted Critical
Publication of JP6681867B2 publication Critical patent/JP6681867B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/22Cropping
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/04Changes in size, position or resolution of an image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Image Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Sorting Of Articles (AREA)

Abstract

【課題】改良された画像の切り取り方法を提供する。【解決手段】一実施形態においてコンピューティングデバイスは、画像中の1つもしくは複数の関心箇所を決定する。コンピューティングデバイスは、所定数の関心箇所を含む表示域の位置を選択する。コンピューティングデバイスは、表示域の位置に少なくとも部分的に基づいて画像を切り取る。【選択図】 図3

Description

本開示は一般に、ソーシャルネットワーキングにおける画像に関する。
ソーシャルネットワーキング・システム(ソーシャルネットワーキング・ウェブサイトを含むことができる)は、そのソーシャルネットワーキング・システムのユーザ(人または組織など)がそのソーシャルネットワーキング・システムと、およびそのソーシャルネットワーキング・システムを通じて互いに対話することを可能にすることができる。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザに関連付けられているユーザ・プロフィールを作成して、ソーシャルネットワーキング・システム内に格納することができる。ユーザ・プロフィールは、人口統計学的情報、通信チャネル情報、およびユーザの個人的な関心に関する情報を含むことができる。ソーシャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザと、ソーシャルネットワーキング・システムのその他のユーザとの関係のレコードを作成および格納すること、ならびにサービス(たとえば、ウォール・ポスト、写真共有、イベント編成、メッセージング、ゲーム、または広告)を提供して、ユーザ同士の間における社会的な交流を容易にすることも可能である。
ソーシャルネットワーキング・システムは、そのサービスに関連したコンテンツまたはメッセージを、1つまたは複数のネットワークを介して、ユーザのモバイルまたはその他のコンピューティング・デバイスへ送信することができる。ユーザは、自分のユーザ・プロフィールおよびソーシャルネットワーキング・システム内のその他のデータにアクセスするためにソフトウェア・アプリケーションを自分のモバイルまたはその他のコンピューティング・デバイス上にインストールすることもできる。ソーシャルネットワーキング・システムは、ユーザにつながっているその他のユーザの集約されたストーリのニュースフィードなど、ユーザに表示するためのコンテンツ・オブジェクトのパーソナライズされたセットを生成することができる。
ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す。 例示的なソーシャルグラフを示す。 関心箇所を有する例示的な画像を示す。 例示的な表示域のテスト位置を示す。 例示的な表示域のテスト位置を示す。 例示的な表示域のテスト位置を示す。 画像の切り取りに関する例示的な方法を示す。 例示的なコンピュータ・システムを示す。
特定の実施形態においては、ソーシャルネットワーキング・システムは、画像中で1つもしくは複数の関心箇所を決定する。関心箇所は、例えば、人物(例えばソーシャルネットワーキング・システムのユーザ)、またはソーシャルネットワーキング・システム内で示されるコンセプト(例えば場所またはビジネス)を包む。特定の実施形態においては、画像中の最大数の関心箇所を含む表示域の位置が選択され、この位置における表示域の範囲に従って画像が切り取られる。この表示域の位置は、例えば、画像中の各関心箇所の位置で、関心箇所が表示域内にどれだけ含まれるかというテストにより選択される。
図1は、ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境100を示している。ネットワーク環境100は、ネットワーク110によって互いにつながっているクライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を含む。図1は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の特定の構成を示しているが、本開示は、クライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110の任意の適切な構成を想定している。限定ではなく、例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、ネットワーク110を迂回して、互いに直接つながることが可能である。別の例として、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170のうちの複数は、物理的にまたは論理的に、全体としてまたは部分的に互いに同一場所に配置されることが可能である。その上、図1は、特定の数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を示しているが、本開示は、任意の適切な数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を想定している。限定ではなく、例として、ネットワーク環境100は、複数のクライアント・システム130、ソーシャルネットワーキング・システム160、サードパーティ・システム170、およびネットワーク110を含むことができる。
本開示は、任意の適切なネットワーク110を想定している。限定ではなく、例として、ネットワーク110の1つまたは複数の部分は、アド・ホック・ネットワーク、イントラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・エリア・ネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイド・エリア・ネットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタン・エリア・ネットワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネットワーク110は、1つまたは複数のネットワーク110を含むことができる。
リンク150は、クライアント・システム130、ソーシャルネットワーキング・システム160、およびサードパーティ・システム170を通信ネットワーク110に、または互いに接続することができる。本開示は、任意の適切なリンク150を想定している。特定の実施形態においては、1つまたは複数のリンク150は、1つもしくは複数の有線リンク(たとえば、デジタル・サブスクライバ・ライン(DSL)もしくはデータ・オーバ・ケーブル・サービス・インタフェース仕様(DOCSIS)など)、ワイヤレス・リンク(たとえば、Wi−Fiもしくはワールドワイド・インターオペラビリティー・フォー・マイクロウェーブ・アクセス(WiMAX)など)、または光リンク(たとえば、同期光ネットワーク(SONET)もしくは同期デジタル階層(SDH)など)を含む。特定の実施形態においては、1つまたは複数のリンク150はそれぞれ、アド・ホック・ネットワーク、イントラネット、エクストラネット、VPN、LAN、WLAN、WAN、WWAN、MAN、インターネットの一部分、PSTNの一部分、セルラー・テクノロジーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク150、または複数のそのようなリンク150の組合せを含む。リンク150は、ネットワーク環境100の全体を通じて必ずしも同じである必要はない。1つまたは複数の第1のリンク150は、1つまたは複数の点において1つまたは複数の第2のリンク150とは異なることが可能である。
特定の実施形態においては、クライアント・システム130は、クライアント・システム130によって実装またはサポートされる適切な機能を実行することができる、ハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではなく、例として、クライアント・システム130は、デスクトップ・コンピュータ、ノートブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット・コンピュータなどのコンピュータ・システム、eブック・リーダ、GPSデバイス、カメラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことができる。本開示は、任意の適切なクライアント・システム130を想定している。クライアント・システム130は、クライアント・システム130のネットワーク・ユーザがネットワーク110にアクセスすることを可能にすることができる。クライアント・システム130は、自分のユーザがその他のクライアント・システム130のその他のユーザと通信することを可能にすることができる。
特定の実施形態においては、クライアント130は、MICROSOFT INTERNET EXPLORER、GOOGLE CHROME、またはMOZILLA FIREFOXなどのウェブ・ブラウザ132を含むことができ、1つまたは複数のアドオン、プラグイン、またはTOOLBARもしくはYAHOO TOOLBARなどのその他の拡張を有することができる。クライアント・システム130のユーザは、ウェブ・ブラウザ132を特定のサーバ(サーバ162、またはサードパーティ・システム170に関連付けられているサーバなど)へ導くユニフォーム・リソース・ロケータ(URL)またはその他のアドレスを入力することができ、ウェブ・ブラウザ132は、ハイパー・テキスト転送プロトコル(HTTP)要求を生成して、そのHTTP要求をサーバに通信することができる。サーバは、そのHTTP要求を受け入れて、そのHTTP要求に応答して1つまたは複数のハイパー・テキスト・マークアップ言語(HTML)ファイルをクライアント・システム130に通信することができる。クライアント・システム130は、ユーザに提示するためにサーバからのHTMLファイルに基づいてウェブページをレンダリングすることができる。本開示は、任意の適切なウェブページ・ファイルを想定している。限定ではなく、例として、ウェブページは、特定のニーズに従って、HTMLファイル、拡張可能ハイパー・テキスト・マークアップ言語(XHTML)ファイル、または拡張可能マークアップ言語(XML)ファイルからレンダリングすることができる。そのようなページは、限定ではなく、例として、JAVASCRIPT(登録商標)、JAVA(登録商標)、MICROSOFT SILVERLIGHTで書かれたスクリプトなどのスクリプト、AJAX(Asynchronous JAVASCRIPT(登録商標) and XML)などのマークアップ言語とスクリプトの組合せなどを実行することもできる。本明細書においては、ウェブページへの参照は、適切な場合には、(そのウェブページをレンダリングするためにブラウザが使用することができる)1つまたは複数の対応するウェブページ・ファイルを含み、その逆もまた同様である。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークをホストすることができるネットワークアドレス可能なコンピューティング・システムであることが可能である。ソーシャルネットワーキング・システム160は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・データ、ソーシャルグラフ情報、またはオンライン・ソーシャル・ネットワークに関連したその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、格納すること、受け取ること、および送信することが可能である。ソーシャルネットワーキング・システム160は、ネットワーク環境100のその他のコンポーネントによって直接、またはネットワーク110を介してアクセスされることが可能である。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のサーバ162を含むことができる。それぞれのサーバ162は、単一のサーバ、または複数のコンピュータもしくは複数のデータセンターにわたる分散サーバであることが可能である。サーバ162は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メール・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・サーバ、Exchangeサーバ、データベース・サーバ、プロキシ・サーバ、本明細書において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、またはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定の実施形態においては、それぞれのサーバ162は、サーバ162によって実装またはサポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム164は、1つまたは複数のデータ・ストア164を含むことができる。データ・ストア164は、さまざまなタイプの情報を格納するために使用されることが可能である。特定の実施形態においては、データ・ストア164内に格納されている情報は、特定のデータ構造に従って編成されることが可能である。特定の実施形態においては、それぞれのデータ・ストア164は、リレーショナル・データベースであることが可能である。特定の実施形態は、クライアント・システム130、ソーシャルネットワーキング・システム160、またはサードパーティ・システム170が、データ・ストア164内に格納されている情報を管理すること、取り出すこと、修正すること、追加すること、または削除することを可能にするインタフェースを提供することができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャルグラフを1つまたは複数のデータ・ストア164内に格納することができる。特定の実施形態においては、ソーシャルグラフは、複数のノード(複数のユーザ・ノード(それぞれが、特定のユーザに対応している)、または複数のコンセプト・ノード(それぞれが、特定のコンセプトに対応している)を含むことができる)と、ノード同士をつなげる複数のエッジとを含むことができる。ソーシャルネットワーキング・システム160は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通信および対話する能力を提供することができる。特定の実施形態においては、ユーザたちは、ソーシャルネットワーキング・システム160を介してオンライン・ソーシャル・ネットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキング・システム160のその他の複数のユーザにつながり(すなわち、関係)を付加することができる。本明細書においては、「友達」という用語は、ユーザがソーシャルネットワーキング・システム160を介して、つながり、関連付け、または関係を形成しているソーシャルネットワーキング・システム160のその他の任意のユーザを指すことができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ソーシャルネットワーキング・システム160によってサポートされるさまざまなタイプのアイテムまたはオブジェクトに関してアクションを取る能力をユーザに提供することができる。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャルネットワーキング・システム160のユーザが属することが可能であるグループもしくはソーシャル・ネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エントリー、ユーザが使用することができるコンピュータベースのアプリケーション、ユーザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクション、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしくはオブジェクトを含むことができる。ユーザは、ソーシャルネットワーキング・システム160において、またはサードパーティ・システム170の外部システム(ソーシャルネットワーキング・システム160とは別個のものであって、ネットワーク110を介してソーシャルネットワーキング・システム160に結合されている)によって表されることが可能である任意のものと対話することができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざまなエンティティ同士をリンクできることが可能である。限定ではなく、例として、ソーシャルネットワーキング・システム160は、ユーザたちが互いに対話すること、ならびにサードパーティ・システム170もしくはその他のエンティティからのコンテンツを受け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミング・インタフェース(API)もしくはその他の通信チャネルを通じてこれらのエンティティと対話することを可能にすることができる。
特定の実施形態においては、サードパーティ・システム170は、1つもしくは複数のタイプのサーバ、1つもしくは複数のデータ・ストア、1つもしくは複数のインタフェース(APIを含むが、それには限定されない)、1つもしくは複数のウェブ・サービス、1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または(たとえば、サーバが通信することができる)その他の任意の適切なコンポーネントを含むことができる。サードパーティ・システム170は、ソーシャルネットワーキング・システム160を運営しているエンティティとは異なるエンティティによって運営されることが可能である。しかしながら、特定の実施形態においては、ソーシャルネットワーキング・システム160およびサードパーティ・システム170は、ソーシャルネットワーキング・システム160またはサードパーティ・システム170のユーザにソーシャルネットワーキング・サービスを提供するために互いに連携して機能することができる。この意味において、ソーシャルネットワーキング・システム160は、サードパーティ・システム170などのその他のシステムがインターネットを介してソーシャルネットワーキング・サービスおよび機能をユーザに提供するために使用することができるプラットフォーム、またはバックボーンを提供することができる。
特定の実施形態においては、サードパーティ・システム170は、サードパーティ・コンテンツ・オブジェクト・プロバイダを含むことができる。サードパーティ・コンテンツ・オブジェクト・プロバイダは、コンテンツ・オブジェクトの1つまたは複数のソースを含むことができ、それらのソースは、クライアント・システム130に通信されることが可能である。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって関心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、またはその他の適切な情報などを含むことができる。限定ではなく、別の例として、コンテンツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン、ディスカウント・チケット、ギフト券、またはその他の適切なインセンティブ・オブジェクトを含むことができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160はまた、ユーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジェクトは、ソーシャルネットワーキング・システム160とのユーザの対話を高めることができる。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキング・システム160に付加、アップロード、送信、または「ポスト」することができる任意のものを含むことができる。限定ではなく、例として、ユーザは、クライアント・システム130からソーシャルネットワーキング・システム160へポストを通信する。ポストは、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、ビデオ、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含むことができる。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネル」を通じてサードパーティによってソーシャルネットワーキング・システム160に付加されることも可能である。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざまなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ウェブ・サーバ、アクション・ロガー、API要求サーバ、関連性およびランキング・エンジン、コンテンツ・オブジェクト分類子、通知コントローラ、アクション・ログ、サードパーティ・コンテンツ・オブジェクト露出ログ、推測モジュール、認可/プライバシー・サーバ、検索モジュール、広告ターゲティング・モジュール、ユーザインタフェース・モジュール、ユーザプロフィール・ストア、つながりストア、サードパーティ・コンテンツ・ストア、またはロケーション・ストアのうちの1つまたは複数を含むことができる。ソーシャルネットワーキング・システム160は、適切なコンポーネント、たとえば、ネットワーク・インタフェース、セキュリティー・メカニズム、ロード・バランサ、フェイルオーバ・サーバ、管理およびネットワークオペレーション・コンソール、その他の適切なコンポーネント、またはそれらの任意の適切な組合せを含むこともできる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、ユーザ・プロフィールを格納するための1つまたは複数のユーザプロフィール・ストアを含むことができる。ユーザ・プロフィールは、たとえば、経歴情報、人口統計学的情報、挙動情報、ソーシャルな情報、またはその他のタイプの記述的情報、たとえば、職業経験、学歴、趣味もしくは好み、関心、親近感、またはロケーションを含むことができる。関心情報は、1つまたは複数のカテゴリに関連した関心を含むことができる。カテゴリは、一般的または具体的であることが可能である。限定ではなく、例として、ユーザが、あるブランドの靴に関する記事に対して「いいね!」を表明した場合には、カテゴリは、そのブランド、または「靴」もしくは「衣類」という一般的なカテゴリであることが可能である。ユーザに関するつながり情報を格納するために、つながりストアが使用されることが可能である。つながり情報は、類似のもしくは共通の職業経験、グループ・メンバーシップ、趣味、学歴を有しているか、または何らかの形で関連しているか、もしくは共通の属性を共有しているユーザ同士を示すことができる。つながり情報は、さまざまなユーザおよびコンテンツ(内部および外部の両方)の間におけるユーザ定義のつながりを含むこともできる。ネットワーク110を介してソーシャルネットワーキング・システム160を1つもしくは複数のクライアント・システム130または1つもしくは複数のサードパーティ・システム170にリンクさせるために、ウェブ・サーバが使用されることが可能である。ウェブ・サーバは、ソーシャルネットワーキング・システム160と、1つまたは複数のクライアント・システム130との間においてメッセージを受け取って回送するためにメール・サーバまたはその他のメッセージング機能を含むことができる。API要求サーバは、サードパーティ・システム170が、1つまたは複数のAPIを呼び出すことによってソーシャルネットワーキング・システム160からの情報にアクセスすることを可能にすることができる。ソーシャルネットワーキング・システム160の上のまたは外のユーザのアクションに関してウェブ・サーバから通信を受け取るために、アクション・ロガーが使用されることが可能である。アクション・ログとともに、サードパーティコンテンツ・オブジェクトへのユーザの露出についてのサードパーティコンテンツオブジェクト・ログが保持されることが可能である。通知コントローラは、コンテンツ・オブジェクトに関する情報をクライアント・システム130に提供することができる。情報は、通知としてクライアント・システム130へ押し出されることが可能であり、または情報は、クライアント・システム130から受け取られた要求に応答してクライアント・システム130から引き出されることが可能である。ソーシャルネットワーキング・システム160のユーザの1つまたは複数のプライバシー設定を実施するために、認可サーバが使用されることが可能である。ユーザのプライバシー設定は、ユーザに関連付けられている特定の情報がどのように共有されることが可能であるかを特定する。認可サーバは、ユーザが、たとえば、適切なプライバシー設定を設定することなどによって、自分のアクションをソーシャルネットワーキング・システム160によって記録されること、またはその他のシステム(たとえば、サードパーティ・システム170)と共有されることのオプトインまたはオプトアウトを行うことを可能にすることができる。サードパーティ・システム170などのサードパーティから受け取られたコンテンツ・オブジェクトを格納するために、サードパーティコンテンツオブジェクト・ストアが使用されることが可能である。ユーザに関連付けられているクライアント・システム130から受け取られたロケーション情報を格納するために、ロケーション・ストアが使用されることが可能である。広告価格設定モジュールが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
図2は、例示的なソーシャルグラフ200を示している。特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャルグラフ200を1つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、ソーシャルグラフ200は、複数のノード(複数のユーザ・ノード202、または複数のコンセプト・ノード204を含むことができる)と、ノード同士をつなげる複数のエッジ206とを含むことができる。図2において示されている例示的なソーシャルグラフ200は、教示上の目的から、2次元のビジュアル・マップ表示で示されている。特定の実施形態においては、ソーシャルネットワーキング・システム160、クライアント・システム130、またはサードパーティ・システム170は、適切なアプリケーションに関してソーシャルグラフ200および関連したソーシャルグラフ情報にアクセスすることができる。ソーシャルグラフ200のノードおよびエッジは、データ・オブジェクトとして、たとえば(ソーシャルグラフ・データベースなどの)データ・ストア内に格納されることが可能である。そのようなデータ・ストアは、ソーシャルグラフ200のノードまたはエッジの1つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
特定の実施形態においては、ユーザ・ノード202は、ソーシャルネットワーキング・システム160のユーザに対応することができる。限定ではなく、例として、ユーザは、ソーシャルネットワーキング・システム160と、またはソーシャルネットワーキング・システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(たとえば、企業、ビジネス、もしくはサードパーティ・アプリケーション)、または(たとえば、個人もしくはエンティティの)グループであることが可能である。特定の実施形態においては、あるユーザがソーシャルネットワーキング・システム160とのアカウントに登録した場合には、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード202を作成し、そのユーザ・ノード202を1つまたは複数のデータ・ストア内に格納することができる。本明細書において記述されているユーザおよびユーザ・ノード202は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているユーザ・ノード202を指すことができる。追加として、または代替として、本明細書において記述されているユーザおよびユーザ・ノード202は、適切な場合には、ソーシャルネットワーキング・システム160に登録されていないユーザを指すことができる。特定の実施形態においては、ユーザ・ノード202は、ユーザによって提供された情報、またはソーシャルネットワーキング・システム160を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、ユーザ・ノード202は、ユーザに関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、ユーザ・ノード202は、1つまたは複数のウェブページに対応することができる。
特定の実施形態においては、コンセプト・ノード204は、コンセプトに対応することができる。限定ではなく、例として、コンセプトは、場所(たとえば、映画館、レストラン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワーク・システム160に関連付けられているウェブサイト、もしくはウェブアプリケーション・サーバに関連付けられているサードパーティ・ウェブサイトなど)、エンティティ(たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など)、ソーシャルネットワーキング・システム160内に、もしくはウェブアプリケーション・サーバなどの外部サーバ上に配置されることが可能であるリソース(たとえば、オーディオ・ファイル、ビデオ・ファイル、デジタル写真、テキスト・ファイル、構造化されたドキュメント、もしくはアプリケーションなど)、物的もしくは知的財産(たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など)、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプト・ノード204は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキング・システム160を含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、1つもしくは複数のイメージ(たとえば、本の表紙のイメージ)、ロケーション(たとえば、住所もしくは地理的ロケーション)、(URLに関連付けられることが可能である)ウェブサイト、連絡先情報(たとえば、電話番号もしくはEメール・アドレス)、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプト・ノード204は、コンセプト・ノード204に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプト・ノード204は、1つまたは複数のウェブページに対応することができる。
特定の実施形態においては、ソーシャルグラフ200内のノードは、ウェブページ(「プロフィール・ページ」と呼ばれる場合もある)を表すこと、またはウェブページによって表されることが可能である。プロフィール・ページは、ソーシャルネットワーキング・システム160によってホストされること、またはソーシャルネットワーキング・システム160にとってアクセス可能であることが可能である。プロフィール・ページは、サードパーティ・サーバ170に関連付けられているサードパーティ・ウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィール・ページは、その特定の外部ウェブページであることが可能であり、そのプロフィール・ページは、特定のコンセプト・ノード204に対応することができる。プロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。限定ではなく、例として、ユーザ・ノード202は、対応するユーザプロフィール・ページを有することができ、そのユーザプロフィール・ページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。限定ではなく、別の例として、コンセプト・ノード204は、対応するコンセプトプロフィール・ページを有することができ、そのコンセプトプロフィール・ページにおいては、1人または複数のユーザが、特にコンセプト・ノード204に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
特定の実施形態においては、コンセプト・ノード204は、サードパーティ・システム170によってホストされているサードパーティ・ウェブページまたはリソースを表すことができる。サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す(たとえば、JAVASCRIPT(登録商標)、AJAX、もしくはPHPコードで実装されることが可能である)その他の対話可能なオブジェクトを含むことができる。限定ではなく、例として、サードパーティ・ウェブページは、「いいね!」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティ・ウェブページを閲覧しているユーザは、それらのアイコンのうちの1つ(たとえば、「食べる」)を選択することによってアクションを実行して、クライアント・システム130に、そのユーザのアクションを示すメッセージをソーシャルネットワーキング・システム160へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・システム160は、ユーザに対応するユーザ・ノード202と、サードパーティ・ウェブページまたはリソースに対応するコンセプト・ノード204との間においてエッジ(たとえば、「食べる」エッジ)を作成して、エッジ206を1つまたは複数のデータ・ストア内に格納することができる。
特定の実施形態においては、ソーシャルグラフ200内の1対のノードが、1つまたは複数のエッジ206によって互いにつながることが可能である。1対のノードをつなげるエッジ206は、それらの1対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ206は、1対のノードの間における関係に対応する1つまたは複数のデータ・オブジェクトまたは属性を含むことまたは表すことが可能である。限定ではなく、例として、第1のユーザは、第2のユーザが第1のユーザの「友達」であるということを示すことができる。この表示に応答して、ソーシャルネットワーキング・システム160は、「友達要求」を第2のユーザに送信することができる。第2のユーザがその「友達要求」を承認した場合には、ソーシャルネットワーキング・システム160は、ソーシャルグラフ200内で第1のユーザのユーザ・ノード202を第2のユーザのユーザ・ノード202につなげるエッジ206を作成して、エッジ206をソーシャルグラフ情報としてデータ・ストア24のうちの1つまたは複数の中に格納することができる。図2の例においては、ソーシャルグラフ200は、ユーザ「A」のユーザ・ノード202と、ユーザ「B」のユーザ・ノード202との間における友達関係を示すエッジ206と、ユーザ「C」のユーザ・ノード202と、ユーザ「B」のユーザ・ノード202との間における友達関係を示すエッジとを含む。本開示は、特定のユーザ・ノード202同士をつなげる特定の属性を伴う特定のエッジ206を記述している、または示しているが、本開示は、ユーザ・ノード202同士をつなげる任意の適切な属性を伴う任意の適切なエッジ206を想定している。限定ではなく、例として、エッジ206は、友達関係、家族関係、ビジネスもしくは雇用関係、ファン関係、フォロワー関係、ビジター関係、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表すことができる。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、1つまたは複数のエッジ206によってソーシャルグラフ200内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士を指すことができる。
特定の実施形態においては、ユーザ・ノード202とコンセプト・ノード204との間におけるエッジ206は、ユーザ・ノード202に関連付けられているユーザによって、コンセプト・ノード204に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、図2において示されているように、ユーザは、コンセプトに対して「いいね!を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジタイプまたはサブタイプに対応することができる。コンセプト・ノード204に対応するコンセプトプロフィール・ページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、クリック可能な「チェックイン」アイコンなど)、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャルネットワーキング・システム160は、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ(ユーザ「C」)が、特定のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用して特定の曲(「Ramble On」)を聴く場合がある。このケースにおいては、ソーシャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード202と、その曲およびアプリケーションに対応するコンセプト・ノード204との間において、(図2に示されているような)「聴いた」エッジ206および「使用した」エッジを作成して、そのユーザがその曲を聴いてそのアプリケーションを使用したということを示すことができる。その上、ソーシャルネットワーキング・システム160は、その曲に対応するコンセプト・ノード204と、そのアプリケーションに対応するコンセプト・ノード204との間において、(図2に示されているような)「再生した」エッジ206を作成して、その特定の曲がその特定のアプリケーションによって再生されたということを示すことができる。このケースにおいては、「再生した」エッジ206は、外部アプリケーション(SPOTIFY)によって外部オーディオ・ファイル(「イマジン」という曲)に関して実行されたアクションに対応する。本開示は、ユーザ・ノード202とコンセプト・ノード204とをつなげる特定の属性を伴う特定のエッジ206について記述しているが、本開示は、ユーザ・ノード202とコンセプト・ノード204とをつなげる任意の適切な属性を伴う任意の適切なエッジ206を想定している。その上、本開示は、単一の関係を表すユーザ・ノード202とコンセプト・ノード204との間におけるエッジについて記述しているが、本開示は、1つまたは複数の関係を表すユーザ・ノード202とコンセプト・ノード204との間におけるエッジを想定している。限定ではなく、例として、エッジ206は、ユーザが特定のコンセプトに対して「いいね!」を表明しているということ、およびその特定のコンセプトを使用したということの両方を表すことができる。あるいは、別のエッジ206は、(図2において、ユーザ「E」を表すユーザ・ノード202と、「SPOTIFY」を表すコンセプト・ノード204との間において示されているような)ユーザ・ノード202とコンセプト・ノード204との間におけるそれぞれのタイプの関係(または、単一の関係が複数集まったもの)を表すことができる。
特定の実施形態においては、ソーシャルネットワーキング・システム160は、ソーシャルグラフ200内でユーザ・ノード202とコンセプト・ノード204との間においてエッジ206を作成することができる。限定ではなく、例として、(たとえば、ユーザのクライアント・システム130によってホストされているウェブ・ブラウザまたは専用のアプリケーションを使用することなどによって)コンセプトプロフィール・ページを閲覧しているユーザは、「いいね!」アイコンをクリックまたは選択することにより、コンセプト・ノード204によって表されているコンセプトを自分が気に入っているということを示すことができ、その「いいね!」アイコンをクリックまたは選択することは、ユーザのクライアント・システム130に、そのコンセプトプロフィール・ページに関連付けられているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソーシャルネットワーキング・システム160へ送信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・システム160は、そのユーザとコンセプト・ノード204との間における「いいね!」エッジ206によって示されているように、そのユーザに関連付けられているユーザ・ノード202とコンセプト・ノード204との間においてエッジ206を作成することができる。特定の実施形態においては、ソーシャルネットワーキング・システム160は、エッジ206を1つまたは複数のデータ・ストア内に格納することができる。特定の実施形態においては、エッジ206は、特定のユーザ・アクションに応答してソーシャルネットワーキング・システム160によって自動的に形成されることが可能である。限定ではなく、例として、第1のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ206は、第1のユーザに対応するユーザ・ノード202と、それらのコンセプトに対応するコンセプト・ノード204との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ206を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ206を形成することを想定している。
特定の実施形態においては、1つもしくは複数の画像(例えば、クライアント・システム130に格納される)は、ユーザによりソーシャルネットワーキング・システム160へアップロードされる。例として、ユーザは、クライアント・システム130に格納された画像をソーシャルネットワーキング・システム160に手動でアップロードする。他の例として、クライアント・システム130は、(例えばユーザのプライバシー設定に応じて)イメージ・シンク(image synching)を通して、クライアント・システム130に格納された画像をソーシャルネットワーキング・システム160に自動的にアップロードする。特定の実施形態においては、クライアント・システム130のアプリケーションまたはオペレーティング・システム(OS)は、ソーシャルネットワーキング160に画像をアップロードする。ソーシャルネットワーキング・システム160は、サードパーティ・システム170、共有されたアーカイブもしくはスペース、または任意の他の画像ソースから、画像を受け取る。ユーザは、1つもしくは複数の画像を非公開として指定する(もしくは別の方法でアクセス制限をする)か、または、ユーザのプライバシー設定の少なくとも一部に基づいて、ソーシャルネットワーキング・システム160のある他のユーザが1つもしくは複数の画像にアクセスすることを許可する。
特定の実施形態においては、ソーシャルネットワーキング・システム160にアップロードされた画像は、ソーシャルネットワーキング・システム上のメタデータと関連付けされる。メタデータは1人もしくは複数のソーシャルネットワーキング・システムのユーザにより手動で生成される。例として、画像が1人もしくは複数のソーシャルネットワーキング・システムのユーザを含む写真である場合、その写真は、(例えば、アップロードしたユーザによって、またはそうすることを許可されたソーシャルネットワーキング・システムの任意のユーザによって)その写真中のユーザの名前または識別子を示すメタデータと「タグ付けされる」か、または分類され得る。他の例として、その画像が特定の場所または時間に撮影された写真である場合、その写真は、場所(特定の実施形態において、ソーシャルグラフにおけるコンセプト・ノードに対応する)を含むメタデータと、または同様に日付もしくは時間情報と、タグ付けされる。同様に、その画像が、ソーシャルグラフ中のコンセプト・ノードと関連付けられる建物、ロゴ、ブランド、または他の任意のコンセプトを含む写真である場合、その写真は対応するコンセプト・ノードの識別子を含むメタデータとタグ付けされ得る。特定の実施形態においては、画像に関連付けられるメタデータは、ソーシャルネットワーキング・システム160によって自動的に生成される。例として、ソーシャルネットワーキング・システム160は、画像に、その画像をアップロードしたユーザの識別子を含むメタデータを自動的にタグ付けする。他の例として、ソーシャルネットワーキング・システムは、アップロードされた画像中の1つもしくは複数の顔を自動的に検出するか、または認識する。これは、例えば、適切な顔検出または顔認識アルゴリズムを使用して行われる。例として、顔認識アルゴリズムは、アップロードされた画像中で発見された顔の特徴を分析し、既知の顔(例えば、ユーザの写真から特定されるソーシャルネットワーキング・システムのユーザの顔)のセットと関連付けられる顔の特徴との比較に基づいて顔を識別する。ソーシャルネットワーキング・システム160は、アップロードされた画像中で検出されるか、または認識された顔に基づいて、1人もしくは複数のソーシャルネットワーキング・システムのユーザが画像中に存在していることを自動的に判定し、(個々のユーザのプライバシー設定に応じて)その画像に、その画像中に存在しているユーザの識別子を含むメタデータをタグ付けする。他の例として、ソーシャルネットワーキング・システムは、(例えば、任意の適切なコンピュータヴィジョンアルゴリズムまたは任意の適切な既知のオブジェクトのセットを利用して)アップロードされた画像中で、ソーシャルグラフ中のコンセプト・ノードと関連付けられる場所、建物、ロゴもしくはブランド、またはコンセプトを含むオブジェクトを自動的に検出するか、または認識する。ソーシャルネットワーキング・システムは、画像に、自動的に検出されたアイテムに対応するソーシャルグラフ中のコンセプト・ノードの識別子を含むメタデータを自動的にタグ付けすることができる。
特定の実施形態においては、画像(例えば、ソーシャルネットワーキング・システム160にアップロードされた画像)は、1人もしくは複数のソーシャルネットワーキング・システムのユーザに対して表示される。画像は、例えば、任意の適切な画像レイアウトアルゴリズムを使用して表示される。例として、画像はウェブページ内のグリッドフォーマットで表示される。グリッドにおける各画像は、固定された大きさの視認領域または「表示域(viewport)」を使用して表示される。ある場合においては、画像の大きさは表示域の大きさと等しくなくてもよい。これらの場合においては、画像は、(スケール変換または境界線の追加によって)表示域内に完全に適合するように表示されるか、または、画像は、表示域の大きさに切り取られる。カスケーディングスタイルシート(CSS:Cascading Style Sheets)は、例えば、「背景の大きさ(background−size)」のプロパティ及び「コンテイン(contain)」を使用するディスプレイスタイル(display style)、または「背景の大きさ」に関する「カバー(cover)」の値のいずれかを実装するのに使用される。
特定の実施形態においては、画像は特定の大きさに(例えば、1つもしくは複数の表示域の範囲(dimension)と等しく)スケール変換される。その画像は、例えば、表示域の大きさまたは範囲に基づいてスケール変換される。図3の例において画像300は、高さより大きな幅を有する(例えば、画像300の横縦比は1より大きい)。特定の実施形態においては、スケール変換される画像が、表示域よりもより「横向き」な(例えば、表示域の横縦比よりも画像の横縦比の方が大きい)場合は、画像は表示域の高さと等しくなるようにスケール変換される。図3の例においては、画像300は表示域301の横縦比よりも大きな横縦比を有するので、画像300は表示域301の高さと等しくなるようにスケール変換される。特定の実施形態においては、スケール変換される画像が表示域よりもより縦向きである(例えば、画像の横縦比が表示域の横縦比よりも小さい)場合は、画像は表示域の幅と等しくなるようにスケール変換される。画像は、特定の実施形態においては、特定の大きさ(例えば表示域の大きさ)に切り取られる前に、スケール変換され得る。
特定の実施形態においては、画像は特定の大きさ(例えば表示域の大きさ)に切り取られる。その画像は、画像中の1つもしくは複数の関心箇所の位置と、表示域の大きさ、もしくは範囲とに基づいて切り取られる。特定の実施形態においては、画像中の関心箇所は、その画像と関連付けられたタグ、ラベル、または他のメタデータによって関連づけられるか、または識別される。関心箇所は、例として、ソーシャルネットワーキング・システムのソーシャルグラフ中のノードと関連付けられる人物(例えばソーシャルネットワーキング・システムのユーザ)、人物の一部(例えば顔)、場所、建物、ロゴ、ブランド、テキスト、オブジェクト、またはユーザもしくはコンセプトを含む。図3は、例えば、(ソーシャルネットワーキング・システム160によって自動的に検出されるか、またはソーシャルネットワーキング・システムのユーザによって手動でタグ付けされた)5人の人の顔に対応する5つの関心箇所302,304,306,308,310を有する例示的な画像300を示す。特定の実施形態においては、画像が表示域の範囲と等しくなるように一度スケール変換されると、その画像は、表示域の第2の範囲に対応する軸に沿う関心箇所の場所に基づいて切り取られる。図3の例においては、画像300が(表示域301の幅に対応する)横軸に沿った関心箇所302〜310の場所に基づいて切り取られる前に、画像300は表示域301の高さと等しくなるように最初にスケール変換される。横軸に沿った関心箇所302,304,306,308,310の場所は、Xマーク312,314,316,318,320によって個別に示される。
特定の実施形態においては、画像は、その画像の関心箇所を最大数含むように配置される表示域に適合するように切り取られる。図4は、横軸に沿った画像300の関心箇所302〜310の場所312〜320に関して、表示域301に対する5つの可能性のある表示域のテスト位置410,420,430,440,450を示す。表示域301の幅(横軸に対応する表示域の範囲)は、各表示域のテスト位置で遮蔽ボックスの幅によって示されている。特定の実施形態においては、表示域が各関心箇所に位置しているときに、表示域内に収まる関心箇所の数が決定される。表示域は、(画像の特定の範囲における)表示域の境界線が関心箇所の場所と一致するように、各テスト位置に関して配置される。図4の例において、(画像の幅に対応する横軸に関して)表示域の最左の境界線は、各関心箇所の場所に配置される。表示域301が表示域のテスト位置410に配置されるとき、2個の関心箇所(302及び304)のみが表示域内にある。表示域301が表示域のテスト位置420に配置されるとき、3個の関心箇所(304,306,及び308)が表示域内にある。表示域301が表示域のテスト位置430に配置されるとき、2個の関心箇所(306及び308)のみが表示域内にある。表示域301が表示域のテスト位置440に配置されるとき、2個の関心箇所(308及び310)のみが表示域内にある。最後に、表示域301が表示域のテスト位置450に配置されるとき、1個の関心箇所(310)のみが表示域内にある。従って、表示域301において適合する画像300の関心箇所の最大数は3であると判定される。このように、表示域のテスト位置420は、関心箇所を最大数含む表示域の位置であると判定される。表示域301が表示域の位置420に配置されるとき、画像300は表示域301に適合するように切り取られる。
特定の実施形態においては、関心箇所を最大数含む表示域のテスト位置が一度決定されると、画像を切り取る前に表示域の位置を調整することができる。図5に示すように、関心箇所を最大数含む表示域のテスト位置(例えば420)は、関心箇所が中心にはない。例えば、表示域301内に残存する画像の余白またはパディング(padding)の量「d」が存在し得る。特定の実施形態においては、表示域内に適合するように画像を切り取る前に、表示域が含む関心箇所が中心に位置するように表示域を再配置することができる。図5の例においては、表示域によって含まれる3つの関心箇所のどちら側においてもパディングがd/2となるように表示域301が中心に配置される。特定の実施形態においては、1つ以上の表示域のテスト位置が関心箇所を最大数含む場合、パディングを最も含むテスト位置(例えばdが最も大きいテスト位置)が、画像を切り取るための表示域の位置として選択される。特定の実施形態においては、1つもしくは複数の関心箇所は、最終的に切り取られる画像において存在することが必須である。これらの実施形態においては、必須の関心箇所を有する表示域に含まれる関心箇所に配置される表示域のテスト位置のみがテストされ得る。図6において、例として、場所316に対応する関心箇所306は、必須の関心箇所である(例えば、その関心箇所は最終的に切り取られた画像に存在すべきものである)。場所316に配置される表示域は、関心箇所306及び関心箇所310(場所320に対応する)の両方を含むことができないので、関心箇所310及び場所320は表示域のテスト位置のセットから取り除かれる。同様に、関心箇所302及び場所312は表示域のテスト位置のセットから取り除かれる。このように、関心箇所306が必須の関心箇所である場合、表示域のテスト位置が含む関心箇所の数に基づいて1つ選択されるであろう3つの表示域のテスト位置のみが存在する。特定の実施形態においては、1つもしくは複数の関心箇所には、(例えば、ソーシャルグラフ200からのデータに基づく)数字的な重み、もしくは値が割り当てられて、(例えば、表示域のテスト位置に含まれる各関心箇所の重みまたは値を合計することによって計算された)最も高い数字的な値を有する表示域のテスト位置が、画像を切り取るための表示域として選択されるようにしてもよい。
図7は関心箇所に応じて画像を切り取るための例示的な方法700を示す。この方法は、画像中の1つもしくは複数の関心箇所が決定されるステップ710から開始される。ステップ720では、所定数の関心箇所を含む表示域の位置が選択される。例として、所定数の関心箇所は、任意の表示域のテスト位置に配置されているときに表示域によって含まれる最大数の関心箇所であり得る。ステップ730では、ステップ720で選択された表示域の位置に少なくとも部分的に基づいて画像が切り取られる。特定の実施形態は、図7の方法の1つもしくは複数の適切なステップを繰り返し得る。この開示は、図7の方法の特定のステップが特定の順序で発行われるものとして説明し、図示するが、この開示は、任意の適切な順序で行われるものとして図7の方法の任意の適切なステップを企図する。加えて、この開示は、図7の方法の特定のステップを実行する特定のコンポーネント、デバイス、またはシステムを説明し、図示するが、この開示は、図7の方法の任意の適切なステップを実行するコンポーネント、デバイス、またはシステムの任意の適切な組み合わせを企図する。
図8は、例示的なコンピュータ・システム800を示している。特定の実施形態においては、1つまたは複数のコンピュータ・システム800が、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を実行する。特定の実施形態においては、1つまたは複数のコンピュータ・システム800が、本明細書において記述されているまたは示されている機能を提供する。特定の実施形態においては、1つまたは複数のコンピュータ・システム800上で稼働するソフトウェアが、本明細書において記述されているもしくは示されている1つもしくは複数の方法の1つもしくは複数の工程を実行し、または本明細書において記述されているもしくは示されている機能を提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム800の1つまたは複数の部分を含む。本明細書においては、コンピュータ・システムへの言及は、適切な場合には、コンピューティング・デバイスを包含することができる。その上、コンピュータ・システムへの言及は、適切な場合には、1つまたは複数のコンピュータ・システムを包含することができる。
本開示は、任意の適切な数のコンピュータ・システム800を想定している。本開示は、任意の適切な物理的な形態を取るコンピュータ・システム800を想定している。限定ではなく、例として、コンピュータ・システム800は、組み込みコンピュータ・システム、システムオンチップ(SOC)、シングルボード・コンピュータ・システム(SBC)(たとえば、コンピュータオンモジュール(COM)もしくはシステムオンモジュール(SOM)など)、デスクトップ・コンピュータ・システム、ラップトップもしくはノートブック・コンピュータ・システム、インタラクティブ・キオスク、メインフレーム、コンピュータ・システムのメッシュ、モバイル電話、携帯情報端末(PDA)、サーバ、タブレット・コンピュータ・システム、またはこれらのうちの複数の組合せであることが可能である。適切な場合には、コンピュータ・システム800は、1つもしくは複数のコンピュータ・システム800を含むこと、単一型もしくは分散型であること、複数のロケーションにわたること、複数のマシンにわたること、複数のデータセンターにわたること、または、クラウド(1つもしくは複数のネットワーク内の1つもしくは複数のクラウド・コンポーネントを含むことができる)内に常駐することが可能である。適切な場合には、1つまたは複数のコンピュータ・システム800は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を、実質的な空間上のまたは時間上の制限を伴わずに実行することができる。限定ではなく、例として、1つまたは複数のコンピュータ・システム800は、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程をリアル・タイムで、またはバッチ・モードで実行することができる。1つまたは複数のコンピュータ・システム800は、適切な場合には、本明細書において記述されているまたは示されている1つまたは複数の方法の1つまたは複数の工程を別々の時点で、または別々のロケーションで実行することができる。
特定の実施形態においては、コンピュータ・システム800は、プロセッサ802、メモリ804、ストレージ806、入力/出力(I/O)インタフェース808、通信インタフェース810、およびバス812を含む。本開示は、特定の数の特定のコンポーネントを特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、本開示は、任意の適切な数の任意の適切なコンポーネントを任意の適切な構成で有する任意の適切なコンピュータ・システムを想定している。
特定の実施形態においては、プロセッサ802は、コンピュータ・プログラムを構成している命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、命令を実行するために、プロセッサ802は、内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806から命令を取り出し(またはフェッチし)、それらの命令をデコードして実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ、メモリ804、またはストレージ806に書き込むことができる。特定の実施形態においては、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部キャッシュを含むプロセッサ802を想定している。限定ではなく、例として、プロセッサ802は、1つまたは複数の命令キャッシュ、1つまたは複数のデータ・キャッシュ、および1つまたは複数の変換ルックアサイド・バッファ(TLB)を含むことができる。命令キャッシュ内の命令は、メモリ804またはストレージ806内の命令のコピーであることが可能であり、命令キャッシュは、プロセッサ802によるそれらの命令の取り出しをスピードアップすることができる。データ・キャッシュ内のデータは、プロセッサ802において実行される命令が機能する際に基づくメモリ804もしくはストレージ806内のデータのコピー、プロセッサ802において実行される後続の命令によるアクセスのための、もしくはメモリ804もしくはストレージ806への書き込みのためのプロセッサ802において実行された以前の命令の結果、またはその他の適切なデータであることが可能である。データ・キャッシュは、プロセッサ802による読み取りオペレーションまたは書き込みオペレーションをスピードアップすることができる。TLBは、プロセッサ802のための仮想アドレス変換をスピードアップすることができる。特定の実施形態においては、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意の適切な数の任意の適切な内部レジスタを含むプロセッサ802を想定している。適切な場合には、プロセッサ802は、1つまたは複数の演算ロジック・ユニット(ALU)を含むこと、マルチコア・プロセッサであること、または1つもしくは複数のプロセッサ802を含むことが可能である。本開示は、特定のプロセッサについて記述し、示しているが、本開示は、任意の適切なプロセッサを想定している。
特定の実施形態においては、メモリ804は、プロセッサ802が実行するための命令、またはプロセッサ802が機能する際に基づくデータを格納するためのメイン・メモリを含む。限定ではなく、例として、コンピュータ・システム800は、命令をストレージ806または別のソース(たとえば、別のコンピュータ・システム800など)からメモリ804にロードすることができる。次いでプロセッサ802は、命令をメモリ804から内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために、プロセッサ802は、命令を内部レジスタまたは内部キャッシュから取り出し、それらの命令をデコードすることができる。命令の実行中または実行後に、プロセッサ802は、1つまたは複数の結果(それらは、中間の結果または最終的な結果である場合がある)を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ802は、それらの結果のうちの1つまたは複数をメモリ804に書き込むことができる。特定の実施形態においては、プロセッサ802は、(ストレージ806またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ804内の命令のみを実行し、(ストレージ806またはその他の場所ではなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ804内のデータ上でのみ機能する。1つまたは複数のメモリ・バス(それらはそれぞれ、アドレス・バスおよびデータ・バスを含むことができる)は、プロセッサ802をメモリ804に結合することができる。バス812は、以降で記述されているような1つまたは複数のメモリ・バスを含むことができる。特定の実施形態においては、1つまたは複数のメモリ管理ユニット(MMU)が、プロセッサ802とメモリ804との間に常駐し、プロセッサ802によって要求されるメモリ804へのアクセスを容易にする。特定の実施形態においては、メモリ804は、ランダム・アクセス・メモリ(RAM)を含む。このRAMは、適切な場合には、揮発性メモリであることが可能である。適切な場合には、このRAMは、ダイナミックRAM(DRAM)またはスタティックRAM(SRAM)であることが可能である。その上、適切な場合には、このRAMは、シングルポートRAMまたはマルチポートRAMであることが可能である。本開示は、任意の適切なRAMを想定している。メモリ804は、適切な場合には、1つまたは複数のメモリ804を含むことができる。本開示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想定している。
特定の実施形態においては、ストレージ806は、データまたは命令のためのマス・ストレージを含む。限定ではなく、例として、ストレージ806は、ハード・ディスク・ドライブ(HDD)、フロッピー(登録商標)・ディスク・ドライブ、フラッシュ・メモリ、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(USB)ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ806は、適切な場合には、取り外し可能なまたは取り外し不能な(すなわち、固定された)媒体を含むことができる。ストレージ806は、適切な場合には、コンピュータ・システム800の内部または外部に存在することが可能である。特定の実施形態においては、ストレージ806は、不揮発性のソリッドステート・メモリである。特定の実施形態においては、ストレージ806は、読み取り専用メモリ(ROM)を含む。適切な場合には、このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書替え可能ROM(EAROM)、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せであることが可能である。本開示は、任意の適切な物理的な形態を取るマス・ストレージ806を想定している。ストレージ806は、適切な場合には、プロセッサ802とストレージ806との間における通信を容易にする1つまたは複数のストレージ・コントロール・ユニットを含むことができる。適切な場合には、ストレージ806は、1つまたは複数のストレージ806を含むことができる。本開示は、特定のストレージについて記述し、示しているが、本開示は、任意の適切なストレージを想定している。
特定の実施形態においては、I/Oインタフェース808は、コンピュータ・システム800と1つまたは複数のI/Oデバイスとの間における通信のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。コンピュータ・システム800は、適切な場合には、これらのI/Oデバイスのうちの1つまたは複数を含むことができる。これらのI/Oデバイスのうちの1つまたは複数は、人とコンピュータ・システム800との間における通信を可能にすることができる。限定ではなく、例として、I/Oデバイスは、キーボード、キーパッド、マイクロフォン、モニタ、マウス、プリンタ、スキャナ、スピーカ、スチル・カメラ、スタイラス、タブレット、タッチ・スクリーン、トラックボール、ビデオ・カメラ、別の適切なI/Oデバイス、またはこれらのうちの複数の組合せを含むことができる。I/Oデバイスは、1つまたは複数のセンサを含むことができる。本開示は、任意の適切なI/Oデバイス、およびそれらのI/Oデバイスのための任意の適切なI/Oインタフェース808を想定している。適切な場合には、I/Oインタフェース808は、プロセッサ802がこれらのI/Oデバイスのうちの1つまたは複数を駆動することを可能にする1つまたは複数のデバイス・ドライバまたはソフトウェア・ドライバを含むことができる。I/Oインタフェース808は、適切な場合には、1つまたは複数のI/Oインタフェース808を含むことができる。本開示は、特定のI/Oインタフェースについて記述し、示しているが、本開示は、任意の適切なI/Oインタフェースを想定している。
特定の実施形態においては、通信インタフェース810は、コンピュータ・システム800と、1つもしくは複数のその他のコンピュータ・システム800または1つもしくは複数のネットワークとの間における通信(たとえば、パケットベースの通信など)のための1つまたは複数のインタフェースを提供するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、通信インタフェース810は、イーサネット(登録商標)もしくはその他の有線ベースのネットワークと通信するためのネットワーク・インタフェース・コントローラ(NIC)もしくはネットワーク・アダプタ、またはWI−FIネットワークなどのワイヤレス・ネットワークと通信するためのワイヤレスNIC(WNIC)もしくはワイヤレス・アダプタを含むことができる。本開示は、任意の適切なネットワーク、およびそのネットワークのための任意の適切な通信インタフェース810を想定している。限定ではなく、例として、コンピュータ・システム800は、アド・ホック・ネットワーク、パーソナル・エリア・ネットワーク(PAN)、ローカル・エリア・ネットワーク(LAN)、ワイド・エリア・ネットワーク(WAN)、メトロポリタン・エリア・ネットワーク(MAN)、またはインターネットの1つまたは複数の部分、またはこれらのうちの複数の組合せと通信することができる。これらのネットワークのうちの1つまたは複数の1つまたは複数の部分は、有線またはワイヤレスであることが可能である。例として、コンピュータ・システム800は、ワイヤレスPAN(WPAN)(たとえば、ブルートゥースWPANなど)、WI−FIネットワーク、WI−MAXネットワーク、セルラー電話ネットワーク(たとえば、グローバル・システム・フォー・モバイル・コミュニケーションズ(GSM(登録商標))ネットワークなど)、またはその他の適切なワイヤレス・ネットワーク、またはこれらのうちの複数の組合せと通信することができる。コンピュータ・システム800は、適切な場合には、これらのネットワークのうちの任意のネットワークのための任意の適切な通信インタフェース810を含むことができる。通信インタフェース810は、適切な場合には、1つまたは複数の通信インタフェース810を含むことができる。本開示は、特定の通信インタフェースについて記述し、示しているが、本開示は、任意の適切な通信インタフェースを想定している。
特定の実施形態においては、バス812は、コンピュータ・システム800のコンポーネント同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定ではなく、例として、バス812は、アクセラレイティッド・グラフィックス・ポート(AGP)もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタンダード・アーキテクチャ(EISA)バス、フロントサイド・バス(FSB)、ハイパートランスポート(HT)インターコネクト、インダストリー・スタンダード・アーキテクチャ(ISA)バス、インフィニバンド・インターコネクト、ローピンカウント(LPC)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、ペリフェラル・コンポーネント・インターコネクト(PCI)バス、PCIエクスプレス(PCIe)バス、シリアル・アドバンスト・テクノロジー・アタッチメント(SATA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル(VLB)バス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バス812は、適切な場合には、1つまたは複数のバス812を含むことができる。本開示は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはインターコネクトを想定している。
本明細書においては、1つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切な場合には、1つもしくは複数の半導体ベースのもしくはその他の集積回路(IC)(たとえば、フィールドプログラマブル・ゲート・アレイ(FPGA)もしくは特定用途向け集積回路(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含むことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮発性、または揮発性と不揮発性の組合せであることが可能である。
本明細書においては、「または(もしくは)」は、包含的であり、排他的ではない(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AまたはB」は、「A、B、またはその両方」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。その上、「および(ならびに)」は、包括的および個別的の両方である(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。したがって、本明細書においては、「AおよびB」は、「まとめて、または個別に、AおよびB」を意味する(ただし、そうではないことが明示されている場合、または、そうではないことが文脈によって示されている場合は除く)。
本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定のコンポーネント、要素、機能、オペレーション、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されているコンポーネント、要素、機能、オペレーション、または工程のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、システム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、コンポーネントを包含する。

Claims (20)

  1. 方法であって、
    第1のコンピューティングデバイスが、表示域の1つまたは複数の範囲に基づいて画像をスケール変換するステップであって、前記画像は前記表示域内に表示されるものである、前記スケール変換するステップと、
    前記第1のコンピューティングデバイスが、画像に関連するメタデータに基づいて画像内の複数の関心箇所を決定するステップと、
    前記第1のコンピューティングデバイスが、前記画像内の1つまたは複数の関心箇所の各々に重みを割り当てるステップと、
    前記第1のコンピューティングデバイスが、重みが割り当てられた関心箇所の数およびそれらの割り当てられた重みに基づいて表示域の位置を選択するステップと、
    前記第1のコンピューティングデバイスが、選択された表示域の位置に少なくとも部分的に基づいて画像を切り取るステップと
    を含む方法。
  2. 前記画像をスケール変換するステップは、
    前記画像のアスペクト比が前記表示域のアスペクト比よりも大きいかどうかを判定すること、
    判定に応答して、前記画像の高さが前記表示域の高さに等しくなるように前記画像を特定のサイズにスケール変換することを含む、請求項1に記載の方法。
  3. 前記画像をスケール変換するステップは、
    前記画像のアスペクト比が前記表示域のアスペクト比よりも小さいかどうかを判定するステップと、
    判定に応答して、前記画像の幅が前記表示域の幅と等しくなるように前記画像を特定のサイズにスケール変換することを含む、請求項1に記載の方法。
  4. 前記メタデータは、ユーザからの入力に基づいて生成される、請求項1に記載の方法。
  5. 前記メタデータは、前記画像が格納されたときに第2のコンピューティングデバイスによって自動的に生成される、請求項1に記載の方法。
  6. 前記表示域の位置を選択するステップは、
    所定の数の表示域の位置から各表示域の位置について、前記表示域内にある前記関心箇所に割り当てられた重みの合計を計算すること、
    前記所定の数の表示域の位置の中で最大の重みの合計に関連する表示域の位置を選択することを含む、請求項1に記載の方法。
  7. 前記表示域の位置を選択するステップは、
    所定の数の表示域の位置から各表示域の位置について、前記表示域内にある前記関心箇所の数をカウントすること、
    前記所定の数の表示域の位置の中で最大の関心箇所の数に関連する表示域の位置を選択することを含む、請求項1に記載の方法。
  8. 動作可能なソフトウェアを実装するコンピュータ可読で非一時的な1つまたは複数の記憶媒体であって、前記ソフトウェアは、実行されたときに、
    表示域の1つまたは複数の範囲に基づいて画像をスケール変換し、ここで、前記画像は、前記表示域内に表示されるものであり、
    前記画像に関連するメタデータに基づいて前記画像内の複数の関心箇所を決定し、
    前記画像内の前記1つまたは複数の関心箇所の各々に重みを割り当て、
    重みが割り当てられた関心箇所の数およびそれらの割り当てられた重みに基づいて表示域の位置を選択し、
    選択された表示域の位置に少なくとも部分的に基づいて画像を切り取るように動作可能である、記憶媒体。
  9. 前記画像をスケール変換することは、
    前記画像のアスペクト比が前記表示域のアスペクト比よりも大きいかどうかを判定すること、
    判定に応答して、前記画像の高さが前記表示域の高さに等しくなるように前記画像を特定のサイズにスケール変換することを含む、請求項8に記載の媒体。
  10. 前記画像をスケール変換することは、
    前記画像のアスペクト比が前記表示域のアスペクト比よりも小さいかどうかを判定すること、
    判定に応答して、前記画像の幅が前記表示域の幅と等しくなるように前記画像を特定のサイズにスケール変換することを含む、請求項8に記載の媒体。
  11. 前記メタデータは、ユーザからの入力に基づいて生成される、請求項8に記載の媒体。
  12. 前記メタデータは、前記画像が格納されたときに第2のコンピューティングデバイスによって自動的に生成される、請求項8に記載の媒体。
  13. 前記表示域の位置を選択することは、
    所定の数の表示域の位置から各表示域の位置について、前記表示域内にある前記関心箇所に割り当てられた重みの合計を計算すること、
    前記所定の数の表示域の位置の中で最大の重みの合計に関連する表示域の位置を選択することを含む、請求項8に記載の媒体。
  14. 前記表示域の位置を選択することは、
    所定の数の表示域の位置から各表示域の位置について、前記表示域内にある前記関心箇所の数をカウントすること、
    前記所定の数の表示域の位置の中で最大の関心箇所の数に関連する表示域の位置を選択することを含む、請求項8に記載の媒体。
  15. システムであって、
    1つまたは複数のプロセッサと、
    前記プロセッサに結合され、前記プロセッサによって実行可能な命令を含むメモリとを備え、
    前記プロセッサは、前記命令を実行するときに、
    表示域の1つまたは複数の範囲に基づいて画像をスケール変換し、ここで、前記画像は、前記表示域内に表示されるものであり、
    前記画像に関連するメタデータに基づいて前記画像内の複数の関心箇所を決定し、
    前記画像内の前記1つまたは複数の関心箇所の各々に重みを割り当て、
    重みが割り当てられた関心箇所の数およびそれらの割り当てられた重みに基づいて表示域の位置を選択し、
    選択された表示域の位置に少なくとも部分的に基づいて画像を切り取る
    ように動作可能である、システム。
  16. 前記画像をスケール変換することは、
    前記画像のアスペクト比が前記表示域のアスペクト比よりも大きいかどうかを判定すること、
    判定に応答して、前記画像の高さが前記表示域の高さに等しくなるように前記画像を特定のサイズにスケール変換することを含む、請求項15に記載のシステム。
  17. 前記画像をスケール変換することは、
    前記画像のアスペクト比が前記表示域のアスペクト比よりも小さいかどうかを判定すること、
    判定に応答して、前記画像の幅が前記表示域の幅と等しくなるように前記画像を特定のサイズにスケール変換することを含む、請求項15に記載のシステム。
  18. 前記メタデータは、ユーザからの入力に基づいて生成される、請求項15に記載のシステム。
  19. 前記メタデータは、前記画像が格納されたときに第2のコンピューティングデバイスによって自動的に生成される、請求項15に記載のシステム。
  20. 前記表示域の位置を選択するステップは、
    所定の数の表示域の位置から各表示域の位置について、前記表示域内にある前記関心箇所に割り当てられた重みの合計を計算すること、
    前記所定の数の表示域の位置の中で最大の重みの合計に関連する表示域の位置を選択することを含む、請求項15に記載のシステム。
JP2017231481A 2013-03-14 2017-12-01 関心箇所に応じた画像の切り取り Active JP6681867B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/829,859 US9607235B2 (en) 2013-03-14 2013-03-14 Image cropping according to points of interest
US13/829,859 2013-03-14

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2016501270A Division JP6255081B2 (ja) 2013-03-14 2014-03-11 関心箇所に応じた画像の切り取り

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020020349A Division JP2020107343A (ja) 2013-03-14 2020-02-10 関心箇所に応じた画像の切り取り

Publications (2)

Publication Number Publication Date
JP2018081701A true JP2018081701A (ja) 2018-05-24
JP6681867B2 JP6681867B2 (ja) 2020-04-15

Family

ID=51527332

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2016501270A Active JP6255081B2 (ja) 2013-03-14 2014-03-11 関心箇所に応じた画像の切り取り
JP2017231481A Active JP6681867B2 (ja) 2013-03-14 2017-12-01 関心箇所に応じた画像の切り取り
JP2020020349A Pending JP2020107343A (ja) 2013-03-14 2020-02-10 関心箇所に応じた画像の切り取り

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2016501270A Active JP6255081B2 (ja) 2013-03-14 2014-03-11 関心箇所に応じた画像の切り取り

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2020020349A Pending JP2020107343A (ja) 2013-03-14 2020-02-10 関心箇所に応じた画像の切り取り

Country Status (7)

Country Link
US (2) US9607235B2 (ja)
JP (3) JP6255081B2 (ja)
KR (2) KR101964202B1 (ja)
AU (1) AU2014240569B2 (ja)
CA (1) CA2903115C (ja)
IL (2) IL241163A (ja)
WO (1) WO2014159414A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023089048A (ja) * 2019-12-13 2023-06-27 グーグル エルエルシー パーソナライズされた自動ビデオクロッピング

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9607235B2 (en) * 2013-03-14 2017-03-28 Facebook, Inc. Image cropping according to points of interest
US20150103092A1 (en) * 2013-10-16 2015-04-16 Microsoft Corporation Continuous Image Optimization for Responsive Pages
US9489757B2 (en) 2013-10-16 2016-11-08 Microsoft Technology Licensing, Llc Resizable text backing shapes for digital images
US9292756B2 (en) * 2013-12-10 2016-03-22 Dropbox, Inc. Systems and methods for automated image cropping
US9424653B2 (en) * 2014-04-29 2016-08-23 Adobe Systems Incorporated Method and apparatus for identifying a representative area of an image
US9646131B2 (en) * 2014-06-27 2017-05-09 Oracle International Corporation Intelligent image processing for enterprise applications
KR101737089B1 (ko) * 2015-05-29 2017-05-17 삼성전자주식회사 이미지를 디스플레이하는 방법 및 디바이스
US10582125B1 (en) * 2015-06-01 2020-03-03 Amazon Technologies, Inc. Panoramic image generation from video
US12008034B2 (en) 2016-02-15 2024-06-11 Ebay Inc. Digital image presentation
US9864925B2 (en) 2016-02-15 2018-01-09 Ebay Inc. Digital image presentation
CN115809899A (zh) 2016-05-10 2023-03-17 发普有限责任公司 用于链接网络平台的数据库条目的系统和方法
EP3901951B1 (en) * 2016-11-07 2024-09-18 Snap Inc. Selective identification and order of image modifiers
CN106649681B (zh) * 2016-12-15 2020-06-05 北京金山安全软件有限公司 一种数据处理方法、装置及设备
US10853659B2 (en) * 2017-05-05 2020-12-01 Google Llc Methods, systems, and media for adaptive presentation of a video content item based on an area of interest
KR102688199B1 (ko) 2018-12-27 2024-07-25 삼성디스플레이 주식회사 촬상 장치 및 이의 구동 방법
CN109639569B (zh) * 2019-01-31 2021-09-14 维沃移动通信有限公司 一种社交通信方法及终端
GB202005277D0 (en) * 2020-04-09 2020-05-27 Samsung Electronics Co Ltd Image Processing

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080181512A1 (en) * 2007-01-29 2008-07-31 Andrew Gavin Image editing system and method
US20100266208A1 (en) * 2009-04-15 2010-10-21 Microsoft Corporation Automated Image Cropping to Include Particular Subjects
WO2013031096A1 (ja) * 2011-08-29 2013-03-07 パナソニック株式会社 画像処理装置、画像処理方法、プログラム、集積回路

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6654507B2 (en) * 2000-12-14 2003-11-25 Eastman Kodak Company Automatically producing an image of a portion of a photographic image
GB2370438A (en) * 2000-12-22 2002-06-26 Hewlett Packard Co Automated image cropping using selected compositional rules.
GB2378340A (en) * 2001-07-31 2003-02-05 Hewlett Packard Co Generation of an image bounded by a frame or of overlapping images
US6882755B2 (en) * 2001-10-19 2005-04-19 Hewlett-Packard Development Company, L.P. Image transmission for low bandwidth with region of interest
US7680326B2 (en) * 2004-03-18 2010-03-16 Fujifilm Corporation Method, system, and program for correcting the image quality of a moving image
US9329827B2 (en) * 2004-12-29 2016-05-03 Funmobility, Inc. Cropping of images for display on variably sized display devices
GB2422739B (en) * 2005-01-31 2010-07-14 Hewlett Packard Development Co Image processing method and apparatus
US7693304B2 (en) * 2005-05-12 2010-04-06 Hewlett-Packard Development Company, L.P. Method and system for image quality calculation
US7760956B2 (en) * 2005-05-12 2010-07-20 Hewlett-Packard Development Company, L.P. System and method for producing a page using frames of a video stream
US7990564B2 (en) * 2005-07-29 2011-08-02 Vistaprint Technologies Limited Automated image sizing and placement
US7945653B2 (en) * 2006-10-11 2011-05-17 Facebook, Inc. Tagging digital media
KR100735249B1 (ko) 2006-01-06 2007-07-03 삼성전자주식회사 휴대단말기에서 이미지 디스플레이 방법
JP2007214781A (ja) 2006-02-08 2007-08-23 Fujifilm Corp 画像トリミング装置、画像トリミング方法、およびそのプログラム
US20070201765A1 (en) * 2006-02-24 2007-08-30 Dubois Charles L Intelligent Digital Image Cropping System
US8081827B2 (en) 2006-02-28 2011-12-20 Ricoh Co., Ltd. Compressed data image object feature extraction, ordering, and delivery
US20080019574A1 (en) * 2006-07-20 2008-01-24 Anthony Scalise Machine-controlled image cropping with default
US8218895B1 (en) * 2006-09-27 2012-07-10 Wisconsin Alumni Research Foundation Systems and methods for generating and displaying a warped image using fish eye warping
US7792883B2 (en) 2006-12-11 2010-09-07 Google Inc. Viewport-relative scoring for location search queries
US20080215985A1 (en) * 2007-02-23 2008-09-04 Tabblo, Inc. Method for initial layout of story elements in a user-generated online story
KR100811796B1 (ko) * 2007-03-30 2008-03-10 삼성전자주식회사 휴대 단말기 및 그의 초점 정보를 이용한 영상 표시 방법
US8154625B2 (en) * 2007-04-02 2012-04-10 Research In Motion Limited Camera with multiple viewfinders
KR101201227B1 (ko) 2007-11-20 2012-11-13 삼성전자주식회사 화상형성장치 및 멀티 크롭 화상형성방법
US8009921B2 (en) * 2008-02-19 2011-08-30 Xerox Corporation Context dependent intelligent thumbnail images
KR101464572B1 (ko) * 2008-03-20 2014-11-24 인스티튜트 퓌어 룬트퐁크테크닉 게엠베하 작은 스크린 크기들에 대해 비디오 이미지들을 적응시키는 방법
US9143573B2 (en) * 2008-03-20 2015-09-22 Facebook, Inc. Tag suggestions for images on online social networks
JP5015838B2 (ja) 2008-03-31 2012-08-29 能美防災株式会社 煙検出装置
JP5016541B2 (ja) * 2008-04-01 2012-09-05 富士フイルム株式会社 画像処理装置および方法並びにプログラム
US20090295787A1 (en) 2008-06-02 2009-12-03 Amlogic, Inc. Methods for Displaying Objects of Interest on a Digital Display Device
US20100299627A1 (en) * 2009-05-20 2010-11-25 Qualcomm Incorporated Method and apparatus for content boundary detection and scaling
US8180178B2 (en) * 2009-06-24 2012-05-15 Hewlett-Packard Development Company, L.P. Autocropping and autolayout method for digital images
US8406515B2 (en) * 2009-06-24 2013-03-26 Hewlett-Packard Development Company, L.P. Method for automatically cropping digital images
EP2460140B1 (en) * 2009-07-30 2013-09-11 TP Vision Holding B.V. Distributed image retargeting
WO2011018759A1 (en) * 2009-08-11 2011-02-17 Koninklijke Philips Electronics N.V. Method and apparatus for providing an image for display
US8532435B1 (en) * 2009-08-18 2013-09-10 Adobe Systems Incorporated System and method for automatically adapting images
CN102045435B (zh) * 2009-10-20 2014-01-01 深圳富泰宏精密工业有限公司 手机及其壁纸的处理方法
US8363984B1 (en) * 2010-07-13 2013-01-29 Google Inc. Method and system for automatically cropping images
US8327253B2 (en) * 2010-11-09 2012-12-04 Shutterfly, Inc. System and method for creating photo books using video
US8494302B2 (en) * 2010-11-11 2013-07-23 Seiko Epson Corporation Importance filtering for image retargeting
KR101039414B1 (ko) 2011-01-18 2011-06-08 최낙언 객체 간의 관계를 설정하고 이에 대한 정보를 제공하기 위한 방법, 서버 및 컴퓨터 판독 가능한 기록 매체
JP2012160950A (ja) 2011-02-01 2012-08-23 Nikon Corp 画像処理装置、撮像装置および表示装置
US8401292B2 (en) * 2011-04-26 2013-03-19 Eastman Kodak Company Identifying high saliency regions in digital images
US8938100B2 (en) * 2011-10-28 2015-01-20 Intellectual Ventures Fund 83 Llc Image recomposition from face detection and facial features
US9215405B2 (en) * 2011-12-09 2015-12-15 Hewlett-Packard Development Company, L.P. Modification of images based on orientation
US8854397B2 (en) * 2011-12-13 2014-10-07 Facebook, Inc. Photo selection for mobile devices
AU2011254040B2 (en) * 2011-12-14 2015-03-12 Canon Kabushiki Kaisha Method, apparatus and system for determining a saliency map for an input image
JP2014127763A (ja) 2012-12-25 2014-07-07 Canon Inc 画像処理装置、画像処理方法及びプログラム
KR101800617B1 (ko) * 2013-01-02 2017-12-20 삼성전자주식회사 디스플레이 장치 및 이의 화상 통화 방법
US9607235B2 (en) * 2013-03-14 2017-03-28 Facebook, Inc. Image cropping according to points of interest
JP5769755B2 (ja) * 2013-04-24 2015-08-26 キヤノン株式会社 画像処理システム、画像処理装置及び画像処理方法
US9367568B2 (en) * 2013-05-15 2016-06-14 Facebook, Inc. Aggregating tags in images
US9292756B2 (en) * 2013-12-10 2016-03-22 Dropbox, Inc. Systems and methods for automated image cropping
US9336567B2 (en) * 2013-12-16 2016-05-10 Telefonaktiebolaget L M Ericsson (Publ) Content-aware weighted image manipulations
US9177194B2 (en) * 2014-01-29 2015-11-03 Sony Corporation System and method for visually distinguishing faces in a digital image
US9251594B2 (en) * 2014-01-30 2016-02-02 Adobe Systems Incorporated Cropping boundary simplicity
JP6282498B2 (ja) 2014-03-19 2018-02-21 株式会社東芝 画像処理装置、その方法、及び、そのプログラム
US9424653B2 (en) * 2014-04-29 2016-08-23 Adobe Systems Incorporated Method and apparatus for identifying a representative area of an image
US9626584B2 (en) * 2014-10-09 2017-04-18 Adobe Systems Incorporated Image cropping suggestion using multiple saliency maps

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080181512A1 (en) * 2007-01-29 2008-07-31 Andrew Gavin Image editing system and method
US20100266208A1 (en) * 2009-04-15 2010-10-21 Microsoft Corporation Automated Image Cropping to Include Particular Subjects
WO2013031096A1 (ja) * 2011-08-29 2013-03-07 パナソニック株式会社 画像処理装置、画像処理方法、プログラム、集積回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"BEST CROPPING POSITION",[ONLINE], JPN7019000268, October 2012 (2012-10-01), ISSN: 0004129244 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023089048A (ja) * 2019-12-13 2023-06-27 グーグル エルエルシー パーソナライズされた自動ビデオクロッピング
JP7483089B2 (ja) 2019-12-13 2024-05-14 グーグル エルエルシー パーソナライズされた自動ビデオクロッピング

Also Published As

Publication number Publication date
JP6681867B2 (ja) 2020-04-15
US9978167B2 (en) 2018-05-22
IL241163A (en) 2017-10-31
IL241163A0 (en) 2015-11-30
US20170161932A1 (en) 2017-06-08
WO2014159414A8 (en) 2014-11-13
JP6255081B2 (ja) 2017-12-27
US20140270533A1 (en) 2014-09-18
CA2903115A1 (en) 2014-10-02
KR101777304B1 (ko) 2017-09-11
CA2903115C (en) 2018-06-26
KR101964202B1 (ko) 2019-04-01
JP2020107343A (ja) 2020-07-09
AU2014240569B2 (en) 2018-04-05
WO2014159414A1 (en) 2014-10-02
AU2014240569A1 (en) 2015-10-29
JP2016517576A (ja) 2016-06-16
KR20170104653A (ko) 2017-09-15
IL254749A0 (en) 2017-11-30
IL254749B (en) 2018-11-29
US9607235B2 (en) 2017-03-28
KR20150128980A (ko) 2015-11-18

Similar Documents

Publication Publication Date Title
JP6681867B2 (ja) 関心箇所に応じた画像の切り取り
JP6615260B2 (ja) オフライン・コンテンツの生成
JP6431144B2 (ja) ソーシャル・コンテキストに基づく画像フィルタリング
JP6063067B2 (ja) モーメントへの写真クラスタリング
JP6483092B2 (ja) 更新レイヤを伴うデータベース・シャーディング
JP6426630B2 (ja) 写真の促される共有
JP6174705B2 (ja) メッセージ内のインライン画像
JP6488240B2 (ja) 所在地または速度に基づいたユーザ・インターフェースの変更
JP6055122B2 (ja) ユーザのためのビデオのランク付け
JP6386007B2 (ja) ネイティブ・アプリケーションのテスト
JP5933864B2 (ja) アプリケーション用ソーシャル・コンテキスト
JP2018092646A (ja) ユーザ・インターフェースのソーシャル・フィルタリング
JP6349331B2 (ja) ソーシャルネットワークにおける連絡先の集約
JP2016521404A (ja) ソーシャル・コンテキストに基づくメディア・プレビュー

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190507

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20190520

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191008

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200210

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200219

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200324

R150 Certificate of patent or registration of utility model

Ref document number: 6681867

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250