JP2020107343A - Image cropping according to points of interest - Google Patents

Image cropping according to points of interest Download PDF

Info

Publication number
JP2020107343A
JP2020107343A JP2020020349A JP2020020349A JP2020107343A JP 2020107343 A JP2020107343 A JP 2020107343A JP 2020020349 A JP2020020349 A JP 2020020349A JP 2020020349 A JP2020020349 A JP 2020020349A JP 2020107343 A JP2020107343 A JP 2020107343A
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.)
Pending
Application number
JP2020020349A
Other languages
Japanese (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 JP2020107343A publication Critical patent/JP2020107343A/en
Pending legal-status Critical Current

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)
  • User Interface Of Digital Computer (AREA)
  • Image Processing (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Sorting Of Articles (AREA)

Abstract

To provide an improved image cropping method.SOLUTION: In one embodiment, a computing device determines one or more points of interest in an image. The computing device selects a display area position including a pre-determined number of the points of interest. The computing device crops the image on the basis at least in part of the display area position.SELECTED DRAWING: Figure 3

Description

本開示は一般に、ソーシャルネットワーキングにおける画像に関する。 The present disclosure relates generally to images in social networking.

ソーシャルネットワーキング・システム(ソーシャルネットワーキング・ウェブサイト
を含むことができる)は、そのソーシャルネットワーキング・システムのユーザ(人また
は組織など)がそのソーシャルネットワーキング・システムと、およびそのソーシャルネ
ットワーキング・システムを通じて互いに対話することを可能にすることができる。ソー
シャルネットワーキング・システムは、ユーザからの入力を用いて、そのユーザに関連付
けられているユーザ・プロフィールを作成して、ソーシャルネットワーキング・システム
内に格納することができる。ユーザ・プロフィールは、人口統計学的情報、通信チャネル
情報、およびユーザの個人的な関心に関する情報を含むことができる。ソーシャルネット
ワーキング・システムは、ユーザからの入力を用いて、そのユーザと、ソーシャルネット
ワーキング・システムのその他のユーザとの関係のレコードを作成および格納すること、
ならびにサービス(たとえば、ウォール・ポスト、写真共有、イベント編成、メッセージ
ング、ゲーム、または広告)を提供して、ユーザ同士の間における社会的な交流を容易に
することも可能である。
A social networking system (which may include a social networking website) allows users (such as people or organizations) of the social networking system to interact with and through the social networking system. Can be enabled. The social networking system can use input from the user to create a user profile associated with the user and store it in the social networking system. The user profile can include demographic information, communication channel information, and information regarding the user's personal interests. The social networking system uses input from the user to create and store a record of the relationship between the user and other users of the social networking system,
And services (eg, wall posts, photo sharing, event organization, messaging, games, or advertising) can be provided to facilitate social interaction between users.

ソーシャルネットワーキング・システムは、そのサービスに関連したコンテンツまたは
メッセージを、1つまたは複数のネットワークを介して、ユーザのモバイルまたはその他
のコンピューティング・デバイスへ送信することができる。ユーザは、自分のユーザ・プ
ロフィールおよびソーシャルネットワーキング・システム内のその他のデータにアクセス
するためにソフトウェア・アプリケーションを自分のモバイルまたはその他のコンピュー
ティング・デバイス上にインストールすることもできる。ソーシャルネットワーキング・
システムは、ユーザにつながっているその他のユーザの集約されたストーリのニュースフ
ィードなど、ユーザに表示するためのコンテンツ・オブジェクトのパーソナライズされた
セットを生成することができる。
The social networking system can send content or messages related to the service to the user's mobile or other computing device via one or more networks. Users may also install software applications on their mobile or other computing devices to access their user profile and other data in social networking systems. Social Networking ·
The system may generate a personalized set of content objects for display to a user, such as an aggregated story news feed of other users connected to the user.

ソーシャルネットワーキング・システムに関連付けられている例示的なネットワーク環境を示す。1 illustrates an exemplary network environment associated with a social networking system. 例示的なソーシャルグラフを示す。3 illustrates an exemplary social graph. 関心箇所を有する例示的な画像を示す。3 illustrates an exemplary image with points of interest. 例示的な表示域のテスト位置を示す。3 illustrates an exemplary display area test position. 例示的な表示域のテスト位置を示す。3 illustrates an exemplary display area test position. 例示的な表示域のテスト位置を示す。3 illustrates an exemplary display area test position. 画像の切り取りに関する例示的な方法を示す。1 illustrates an exemplary method for cropping an image. 例示的なコンピュータ・システムを示す。1 illustrates an exemplary computer system.

特定の実施形態においては、ソーシャルネットワーキング・システムは、画像中で1つ
もしくは複数の関心箇所を決定する。関心箇所は、例えば、人物(例えばソーシャルネッ
トワーキング・システムのユーザ)、またはソーシャルネットワーキング・システム内で
示されるコンセプト(例えば場所またはビジネス)を包む。特定の実施形態においては、
画像中の最大数の関心箇所を含む表示域の位置が選択され、この位置における表示域の範
囲に従って画像が切り取られる。この表示域の位置は、例えば、画像中の各関心箇所の位
置で、関心箇所が表示域内にどれだけ含まれるかというテストにより選択される。
In particular embodiments, the social networking system determines one or more points of interest in the image. The points of interest may, for example, enclose a person (eg a user of a social networking system) or a concept (eg a place or business) presented within the social networking system. In certain embodiments,
The position of the display area containing the maximum number of points of interest in the image is selected and the image is cropped according to the range of the display area at this position. The position of this display area is selected by, for example, the position of each point of interest in the image and a test of how many points of interest are included in the display area.

図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を含むことができる。
FIG. 1 illustrates an exemplary network environment 100 associated with a social networking system. The network environment 100 includes a client system 130, a social networking
Includes system 160 and third party system 170. Although FIG. 1 shows a particular configuration of client system 130, social networking system 160, third party system 170, and network 110, the present disclosure is directed to client system 130, social networking system 160, a third party. Any suitable configuration of party system 170 and network 110 is envisioned.
By way of example, and not limitation, multiple of client system 130, social networking system 160, and third party system 170 may bypass network 110 and connect directly to each other. As another example, a plurality of client system 130, social networking system 160, and third party system 170 may be physically or logically co-located with each other, in whole or in part. Is possible. Moreover, while FIG. 1 illustrates a particular number of client systems 130, social networking systems 160, third party systems 170, and networks 110, the present disclosure is not limited to any suitable number of client systems. 130, social networking system 160,
A third party system 170 and network 110 are envisioned. By way of example, and not limitation, network environment 100 may include multiple client systems 130, social networking systems 160, third party systems 170, and networks 110.

本開示は、任意の適切なネットワーク110を想定している。限定ではなく、例として
、ネットワーク110の1つまたは複数の部分は、アド・ホック・ネットワーク、イント
ラネット、エクストラネット、仮想プライベート・ネットワーク(VPN)、ローカル・
エリア・ネットワーク(LAN)、ワイヤレスLAN(WLAN)、ワイド・エリア・ネ
ットワーク(WAN)、ワイヤレスWAN(WWAN)、メトロポリタン・エリア・ネッ
トワーク(MAN)、インターネットの一部分、公衆交換電話網(PSTN)の一部分、
セルラー電話ネットワーク、またはこれらのうちの複数の組合せを含むことができる。ネ
ットワーク110は、1つまたは複数のネットワーク110を含むことができる。
This disclosure contemplates any suitable network 110. By way of example, and not limitation, one or more portions of network 110 may include ad hoc networks, intranets, extranets, virtual private networks (VPNs), local networks.
Area network (LAN), wireless LAN (WLAN), wide area network (WAN), wireless WAN (WWAN), metropolitan area network (MAN), part of the Internet, part of the public switched telephone network (PSTN) ,
It may include a cellular telephone network, or a combination of multiple of these. Networks 110 may include one or more networks 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の一部分、セルラー・テクノロジ
ーベースのネットワーク、衛星通信テクノロジーベースのネットワーク、別のリンク15
0、または複数のそのようなリンク150の組合せを含む。リンク150は、ネットワー
ク環境100の全体を通じて必ずしも同じである必要はない。1つまたは複数の第1のリ
ンク150は、1つまたは複数の点において1つまたは複数の第2のリンク150とは異
なることが可能である。
The link 150 can connect the client system 130, the social networking system 160, and the third party system 170 to the communication network 110 or to each other. This disclosure contemplates any suitable link 150.
In particular embodiments, one or more links 150 are one or more wired links (eg, Digital Subscriber Line (DSL) or Data over Cable Service Interface Specification (DOCSIS), etc.). , Wireless links (such as Wi-Fi or Worldwide Interoperability for Microwave Access (WiMAX)), or optical links (such as Synchronous Optical Networks (SONET) or Synchronous Digital Hierarchy (SDH)). Etc.) is included. In particular embodiments, one or more links 150 are each an ad hoc network, intranet, extranet, VPN, LAN, WLAN, WAN,
WWAN, MAN, part of the Internet, part of the PSTN, cellular technology based networks, satellite communication technology based networks, another link 15
It includes zero, or a combination of multiple such links 150. The links 150 need not be the same throughout the network environment 100. The one or more first links 150 can differ from the one or more second links 150 in one or more respects.

特定の実施形態においては、クライアント・システム130は、クライアント・システ
ム130によって実装またはサポートされる適切な機能を実行することができる、ハード
ウェア、ソフトウェア、もしくは組み込みロジック・コンポーネント、または複数のその
ようなコンポーネントの組合せを含む電子デバイスであることが可能である。限定ではな
く、例として、クライアント・システム130は、デスクトップ・コンピュータ、ノート
ブック・コンピュータもしくはラップトップ・コンピュータ、ネットブック、タブレット
・コンピュータなどのコンピュータ・システム、eブック・リーダ、GPSデバイス、カ
メラ、携帯情報端末(PDA)、ハンドヘルド電子デバイス、セルラー電話、スマートフ
ォン、その他の適切な電子デバイス、またはそれらの任意の適切な組合せを含むことがで
きる。本開示は、任意の適切なクライアント・システム130を想定している。クライア
ント・システム130は、クライアント・システム130のネットワーク・ユーザがネッ
トワーク110にアクセスすることを可能にすることができる。クライアント・システム
130は、自分のユーザがその他のクライアント・システム130のその他のユーザと通
信することを可能にすることができる。
In particular embodiments, client system 130 is a hardware, software, or embedded logic component, or a plurality of such, capable of performing the appropriate functions implemented or supported by client system 130. It can be an electronic device that includes a combination of components. By way of example, and not limitation, client system 130 may be a computer system such as a desktop computer, notebook computer or laptop computer, netbook, tablet computer, e-book reader, GPS device, camera, handheld device. It may include an information terminal (PDA), handheld electronic device, cellular phone, smart phone, other suitable electronic device, or any suitable combination thereof. This disclosure contemplates any suitable client system 130. Client system 130 may enable network users of client system 130 to access network 110. Client system 130 may allow its users to communicate with other users of other client systems 130.

特定の実施形態においては、クライアント130は、MICROSOFT INTER
NET EXPLORER、GOOGLE CHROME、またはMOZILLA FI
REFOXなどのウェブ・ブラウザ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つまたは複数の対
応するウェブページ・ファイルを含み、その逆もまた同様である。
In a particular embodiment, the client 130 is a MICROSOFT INTER.
NET EXPLORER, GOOGLE CHROME, or MOZILLA FI
It may include a web browser 132 such as REFOX, and may have one or more add-ons, plug-ins, or other extensions such as TOOLBAR or YAHOO TOOLBAR. A user of client system 130 enters a uniform resource locator (URL) or other address that directs web browser 132 to a particular server (such as server 162 or a server associated with third party system 170). The web browser 132 can generate a Hyper Text Transfer Protocol (HTTP) request and communicate the HTTP request to the server. The server can accept the HTTP request and communicate one or more Hyper Text Markup Language (HTML) files to the client system 130 in response to the HTTP request. The client system 130 can render a web page based on the HTML file from the server for presentation to the user. This disclosure contemplates any suitable web page file. By way of example, and not limitation, web pages can be rendered from HTML files, Extensible Hypertext Markup Language (XHTML) files, or Extensible Markup Language (XML) files, according to particular needs. Such pages include, but are not limited to, JAVASCRIPT®, JAVA(
(Registered trademark), scripts such as scripts written in MICROSOFT SILVERLIGHT, AJAX (Asynchronous JAVASCRIPT (registered trademark)
a combination of a markup language such as and XML) and a script can also be executed. As used herein, a reference to a web page, where appropriate, includes one or more corresponding web page files (which may be used by a browser to render the web page), The reverse is also true.

特定の実施形態においては、ソーシャルネットワーキング・システム160は、オンラ
イン・ソーシャル・ネットワークをホストすることができるネットワークアドレス可能な
コンピューティング・システムであることが可能である。ソーシャルネットワーキング・
システム160は、たとえば、ユーザプロフィール・データ、コンセプトプロフィール・
データ、ソーシャルグラフ情報、またはオンライン・ソーシャル・ネットワークに関連し
たその他の適切なデータなどのソーシャルネットワーキング・データを生成すること、格
納すること、受け取ること、および送信することが可能である。ソーシャルネットワーキ
ング・システム160は、ネットワーク環境100のその他のコンポーネントによって直
接、またはネットワーク110を介してアクセスされることが可能である。特定の実施形
態においては、ソーシャルネットワーキング・システム160は、1つまたは複数のサー
バ162を含むことができる。それぞれのサーバ162は、単一のサーバ、または複数の
コンピュータもしくは複数のデータセンターにわたる分散サーバであることが可能である
。サーバ162は、限定ではなく、例として、ウェブ・サーバ、ニュース・サーバ、メー
ル・サーバ、メッセージ・サーバ、広告サーバ、ファイル・サーバ、アプリケーション・
サーバ、Exchangeサーバ、データベース・サーバ、プロキシ・サーバ、本明細書
において記述されている機能もしくはプロセスを実行するのに適している別のサーバ、ま
たはそれらの任意の組合せなど、さまざまなタイプのものであることが可能である。特定
の実施形態においては、それぞれのサーバ162は、サーバ162によって実装またはサ
ポートされる適切な機能を実行するためのハードウェア、ソフトウェア、もしくは組み込
みロジック・コンポーネント、または複数のそのようなコンポーネントの組合せを含むこ
とができる。特定の実施形態においては、ソーシャルネットワーキング・システム164
は、1つまたは複数のデータ・ストア164を含むことができる。データ・ストア164
は、さまざまなタイプの情報を格納するために使用されることが可能である。特定の実施
形態においては、データ・ストア164内に格納されている情報は、特定のデータ構造に
従って編成されることが可能である。特定の実施形態においては、それぞれのデータ・ス
トア164は、リレーショナル・データベースであることが可能である。特定の実施形態
は、クライアント・システム130、ソーシャルネットワーキング・システム160、ま
たはサードパーティ・システム170が、データ・ストア164内に格納されている情報
を管理すること、取り出すこと、修正すること、追加すること、または削除することを可
能にするインタフェースを提供することができる。
In particular embodiments, social networking system 160 may be a network addressable computing system capable of hosting an online social network. Social Networking ·
The system 160 may, for example, be user profile data, concept profile,
Social networking data, such as data, social graph information, or other suitable data associated with online social networks, can be generated, stored, received, and transmitted. Social networking system 160 may be accessed directly by other components of network environment 100 or via network 110. In particular embodiments, social networking system 160 may include one or more servers 162. Each server 162 can be a single server or a distributed server across multiple computers or multiple data centers. The server 162 includes, by way of example and not limitation, a web server, news server, mail server, message server, ad server, file server, application server.
A server, an Exchange server, a database server, a proxy server, another server suitable for performing the functions or processes described herein, or any combination thereof. It is possible. In particular embodiments, each server 162 comprises hardware, software, or embedded logic components, or a combination of multiple such components, to perform the appropriate functions implemented or supported by server 162. Can be included. In particular embodiments, social networking system 164
May include one or more data stores 164. Data store 164
Can be used to store various types of information. In particular embodiments, the information stored in data store 164 may be organized according to particular data structures. In particular embodiments, each data store 164 can be a relational database. Particular embodiments allow client system 130, social networking system 160, or third party system 170 to manage, retrieve, modify, and add information stored in data store 164. An interface may be provided that allows it to be deleted or deleted.

特定の実施形態においては、ソーシャルネットワーキング・システム160は、1つま
たは複数のソーシャルグラフを1つまたは複数のデータ・ストア164内に格納すること
ができる。特定の実施形態においては、ソーシャルグラフは、複数のノード(複数のユー
ザ・ノード(それぞれが、特定のユーザに対応している)、または複数のコンセプト・ノ
ード(それぞれが、特定のコンセプトに対応している)を含むことができる)と、ノード
同士をつなげる複数のエッジとを含むことができる。ソーシャルネットワーキング・シス
テム160は、オンライン・ソーシャル・ネットワークのユーザに、その他のユーザと通
信および対話する能力を提供することができる。特定の実施形態においては、ユーザたち
は、ソーシャルネットワーキング・システム160を介してオンライン・ソーシャル・ネ
ットワークに参加し、次いで、自分たちがつながりたいと望むソーシャルネットワーキン
グ・システム160のその他の複数のユーザにつながり(すなわち、関係)を付加するこ
とができる。本明細書においては、「友達」という用語は、ユーザがソーシャルネットワ
ーキング・システム160を介して、つながり、関連付け、または関係を形成しているソ
ーシャルネットワーキング・システム160のその他の任意のユーザを指すことができる
In particular embodiments, social networking system 160 may store one or more social graphs in one or more data stores 164. In particular embodiments, the social graph may include multiple nodes, multiple user nodes, each corresponding to a particular user, or multiple concept nodes, each corresponding to a particular concept. Can be included) and a plurality of edges connecting nodes. The social networking system 160 may provide users of online social networks with the ability to communicate and interact with other users. In certain embodiments, users join an online social network through social networking system 160 and then connect to other users of social networking system 160 that they want to connect with. (Ie relationships) can be added. As used herein, the term “friend” may refer to any other user of social networking system 160 with which a user is connected, associated, or formed a relationship via social networking system 160. it can.

特定の実施形態においては、ソーシャルネットワーキング・システム160は、ソーシ
ャルネットワーキング・システム160によってサポートされるさまざまなタイプのアイ
テムまたはオブジェクトに関してアクションを取る能力をユーザに提供することができる
。限定ではなく、例として、それらのアイテムおよびオブジェクトは、ソーシャルネット
ワーキング・システム160のユーザが属することが可能であるグループもしくはソーシ
ャル・ネットワーク、ユーザが関心を抱く可能性があるイベントもしくはカレンダー・エ
ントリー、ユーザが使用することができるコンピュータベースのアプリケーション、ユー
ザがサービスを介してアイテムを購入もしくは販売することを可能にするトランザクショ
ン、ユーザが実行することができる広告との対話、またはその他の適切なアイテムもしく
はオブジェクトを含むことができる。ユーザは、ソーシャルネットワーキング・システム
160において、またはサードパーティ・システム170の外部システム(ソーシャルネ
ットワーキング・システム160とは別個のものであって、ネットワーク110を介して
ソーシャルネットワーキング・システム160に結合されている)によって表されること
が可能である任意のものと対話することができる。
In particular embodiments, social networking system 160 may provide a user with the ability to take action on various types of items or objects supported by social networking system 160. By way of example, and not limitation, those items and objects may include groups or social networks to which a user of the social networking system 160 may belong, events or calendar entries that the user may be interested in, users. Computer-based applications that can be used by, transactions that allow users to buy or sell items through the service, interactions with advertisements that users can perform, or other suitable items or objects. Can be included. The user may be in the social networking system 160 or external to the third party system 170 (separate from the social networking system 160 and coupled to the social networking system 160 via the network 110). Can interact with anything that can be represented by.

特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざ
まなエンティティ同士をリンクできることが可能である。限定ではなく、例として、ソー
シャルネットワーキング・システム160は、ユーザたちが互いに対話すること、ならび
にサードパーティ・システム170もしくはその他のエンティティからのコンテンツを受
け取ることを可能にすることができ、またはユーザたちがアプリケーション・プログラミ
ング・インタフェース(API)もしくはその他の通信チャネルを通じてこれらのエンテ
ィティと対話することを可能にすることができる。
In particular embodiments, social networking system 160 may be capable of linking various entities together. By way of example, and not limitation, social networking system 160 may allow users to interact with each other as well as receive content from third party systems 170 or other entities, or It may be possible to interact with these entities through an application programming interface (API) or other communication channel.

特定の実施形態においては、サードパーティ・システム170は、1つもしくは複数の
タイプのサーバ、1つもしくは複数のデータ・ストア、1つもしくは複数のインタフェー
ス(APIを含むが、それには限定されない)、1つもしくは複数のウェブ・サービス、
1つもしくは複数のコンテンツ・ソース、1つもしくは複数のネットワーク、または(た
とえば、サーバが通信することができる)その他の任意の適切なコンポーネントを含むこ
とができる。サードパーティ・システム170は、ソーシャルネットワーキング・システ
ム160を運営しているエンティティとは異なるエンティティによって運営されることが
可能である。しかしながら、特定の実施形態においては、ソーシャルネットワーキング・
システム160およびサードパーティ・システム170は、ソーシャルネットワーキング
・システム160またはサードパーティ・システム170のユーザにソーシャルネットワ
ーキング・サービスを提供するために互いに連携して機能することができる。この意味に
おいて、ソーシャルネットワーキング・システム160は、サードパーティ・システム1
70などのその他のシステムがインターネットを介してソーシャルネットワーキング・サ
ービスおよび機能をユーザに提供するために使用することができるプラットフォーム、ま
たはバックボーンを提供することができる。
In particular embodiments, third-party system 170 may include one or more types of servers, one or more data stores, one or more interfaces (including but not limited to APIs), One or more web services,
It may include one or more content sources, one or more networks, or any other suitable component (eg, a server can communicate with). The third party system 170 can be operated by a different entity than the entity that operates the social networking system 160. However, in certain embodiments, social networking
The system 160 and the third party system 170 may work together to provide social networking services to the users of the social networking system 160 or the third party system 170. In this sense, the social networking system 160 is the third party system 1
Other systems, such as 70, can provide a platform, or backbone, that can be used to provide social networking services and features to users over the Internet.

特定の実施形態においては、サードパーティ・システム170は、サードパーティ・コ
ンテンツ・オブジェクト・プロバイダを含むことができる。サードパーティ・コンテンツ
・オブジェクト・プロバイダは、コンテンツ・オブジェクトの1つまたは複数のソースを
含むことができ、それらのソースは、クライアント・システム130に通信されることが
可能である。限定ではなく、例として、コンテンツ・オブジェクトは、ユーザにとって関
心がある物またはアクティビティに関する情報、たとえば、映画の開始時刻、映画のレビ
ュー、レストランのレビュー、レストランのメニュー、製品の情報およびレビュー、また
はその他の適切な情報などを含むことができる。限定ではなく、別の例として、コンテン
ツ・オブジェクトは、インセンティブ・コンテンツ・オブジェクト、たとえば、クーポン
、ディスカウント・チケット、ギフト券、またはその他の適切なインセンティブ・オブジ
ェクトを含むことができる。
In particular embodiments, third party system 170 may include a third party content object provider. The third-party content object provider can include one or more sources of content objects, which sources can be communicated to the client system 130. By way of example, and not limitation, content objects may be information about things or activities that are of interest to the user, such as movie start times, movie reviews, restaurant reviews, restaurant menus, product information and reviews, or other. It may include appropriate information of As another example and not by way of limitation, content objects may include incentive content objects, such as coupons, discount tickets, gift certificates, or other suitable incentive objects.

特定の実施形態においては、ソーシャルネットワーキング・システム160はまた、ユ
ーザによって生成されたコンテンツ・オブジェクトを含み、それらのコンテンツ・オブジ
ェクトは、ソーシャルネットワーキング・システム160とのユーザの対話を高めること
ができる。ユーザによって生成されたコンテンツは、ユーザがソーシャルネットワーキン
グ・システム160に付加、アップロード、送信、または「ポスト」することができる任
意のものを含むことができる。限定ではなく、例として、ユーザは、クライアント・シス
テム130からソーシャルネットワーキング・システム160へポストを通信する。ポス
トは、ステータス更新もしくはその他のテキスト・データ、ロケーション情報、写真、ビ
デオ、リンク、音楽、またはその他の類似したデータもしくはメディアなどのデータを含
むことができる。コンテンツは、ニュースフィードまたはストリームなどの「通信チャネ
ル」を通じてサードパーティによってソーシャルネットワーキング・システム160に付
加されることも可能である。
In particular embodiments, social networking system 160 also includes user-generated content objects, which may enhance the user's interaction with social networking system 160. Content generated by a user can include anything that the user can add, upload, send, or “post” to the social networking system 160. By way of example, and not limitation, a user communicates a post from client system 130 to social networking system 160. Posts can include data such as status updates or other textual data, location information, photos, videos, links, music, or other similar data or media. Content can also be added to the social networking system 160 by a third party through a "communication channel" such as a news feed or stream.

特定の実施形態においては、ソーシャルネットワーキング・システム160は、さまざ
まなサーバ、サブシステム、プログラム、モジュール、ログ、およびデータ・ストアを含
むことができる。特定の実施形態においては、ソーシャルネットワーキング・システム1
60は、ウェブ・サーバ、アクション・ロガー、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から受け取られたロケーション情報を格納す
るために、ロケーション・ストアが使用されることが可能である。広告価格設定モジュー
ルが、ソーシャルな情報、現在時刻、ロケーション情報、またはその他の適切な情報を組
み合わせて、関連がある広告を、通知の形式でユーザに提供することができる。
In particular embodiments, social networking system 160 may include various servers, subsystems, programs, modules, logs, and data stores. In a particular embodiment, the social networking system 1
60 is a web server, action logger, API request server, relevance and ranking engine, content object classifier, notification controller, action log, third party content object exposure log, inference module, authorization/privacy Servers, search modules, ad targeting modules, user interface modules, user profile stores, connected stores, third parties
It may include one or more of a content store or a location store. The social networking system 160 may include any suitable component, such as a network interface, security mechanism, load balancer, failover server, management and network operations console, any other suitable component, or any suitable combination thereof. Can also be included. In particular embodiments, social networking system 160 may include one or more user profile stores for storing user profiles. User profiles include, for example, background information, demographic information, behavioral information,
It may include social information, or other types of descriptive information, such as work experience, educational background, hobbies or preferences, interests, familiarity, or location. Interest information is
Interests associated with one or more categories may be included. Categories can be general or specific. By way of example, and not limitation, if a user says “like” an article about shoes of a brand, then the category is that brand,
Or it could be the general category of "shoes" or "clothing". A connection store can be used to store connection information about users. Connection information includes similar or common work experience, group membership, hobbies,
It can indicate users who have educational backgrounds, are related in some way, or share common attributes. Connection information may also include user-defined connections between various users and content (both internal and external).
A web server may be used to link the social networking system 160 to one or more client systems 130 or one or more third party systems 170 via the network 110. The web server may include a mail server or other messaging function to receive and route messages between the social networking system 160 and one or more client systems 130. The API request server
Third party system 170 may allow access to information from social networking system 160 by invoking one or more APIs. An action logger can be used to receive communications from a web server regarding actions of a user on or outside the social networking system 160. Along with the action log, a third party content object log about the user's exposure to the third party content object can be maintained. The notification controller can provide information about the content object to the client system 130. The information can be pushed to the client system 130 as a notification, or the information can be pulled from the client system 130 in response to a request received from the client system 130. An authorization server may be used to enforce one or more privacy settings for users of the social networking system 160. User privacy settings specify how certain information associated with a user can be shared. The authorization server allows the user to record their actions by the social networking system 160, such as by setting appropriate privacy settings, or other system (
For example, it may be possible to opt in or out of being shared with a third party system 170). A third party content object store may be used to store content objects received from a third party, such as third party system 170. A location store may be used to store location information received from the client system 130 associated with the user. The ad pricing module may combine social information, current time, location information, or other suitable information to provide relevant ads to users in the form of notifications.

図2は、例示的なソーシャルグラフ200を示している。特定の実施形態においては、
ソーシャルネットワーキング・システム160は、1つまたは複数のソーシャルグラフ2
00を1つまたは複数のデータ・ストア内に格納することができる。特定の実施形態にお
いては、ソーシャルグラフ200は、複数のノード(複数のユーザ・ノード202、また
は複数のコンセプト・ノード204を含むことができる)と、ノード同士をつなげる複数
のエッジ206とを含むことができる。図2において示されている例示的なソーシャルグ
ラフ200は、教示上の目的から、2次元のビジュアル・マップ表示で示されている。特
定の実施形態においては、ソーシャルネットワーキング・システム160、クライアント
・システム130、またはサードパーティ・システム170は、適切なアプリケーション
に関してソーシャルグラフ200および関連したソーシャルグラフ情報にアクセスするこ
とができる。ソーシャルグラフ200のノードおよびエッジは、データ・オブジェクトと
して、たとえば(ソーシャルグラフ・データベースなどの)データ・ストア内に格納され
ることが可能である。そのようなデータ・ストアは、ソーシャルグラフ200のノードま
たはエッジの1つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことが
できる。
FIG. 2 shows an exemplary social graph 200. In certain embodiments,
The social networking system 160 may include one or more social graphs 2
00 can be stored in one or more data stores. In particular embodiments, social graph 200 includes a plurality of nodes (which may include a plurality of user nodes 202 or a plurality of concept nodes 204) and a plurality of edges 206 that connect the nodes together. You can The exemplary social graph 200 shown in FIG. 2 is shown in a two-dimensional visual map display for instructional purposes. In particular embodiments, social networking system 160, client system 130, or third party system 170 may access social graph 200 and associated social graph information for the appropriate application. The nodes and edges of the social graph 200 can be stored as data objects, eg, in a data store (such as a social graph database). Such a data store may include one or more searchable or queryable indexes of nodes or edges of social graph 200.

特定の実施形態においては、ユーザ・ノード202は、ソーシャルネットワーキング・
システム160のユーザに対応することができる。限定ではなく、例として、ユーザは、
ソーシャルネットワーキング・システム160と、またはソーシャルネットワーキング・
システム160を介して対話または通信する個人(人間のユーザ)、エンティティ(たと
えば、企業、ビジネス、もしくはサードパーティ・アプリケーション)、または(たとえ
ば、個人もしくはエンティティの)グループであることが可能である。特定の実施形態に
おいては、あるユーザがソーシャルネットワーキング・システム160とのアカウントに
登録した場合には、ソーシャルネットワーキング・システム160は、そのユーザに対応
するユーザ・ノード202を作成し、そのユーザ・ノード202を1つまたは複数のデー
タ・ストア内に格納することができる。本明細書において記述されているユーザおよびユ
ーザ・ノード202は、適切な場合には、登録されているユーザ、および登録されている
ユーザに関連付けられているユーザ・ノード202を指すことができる。追加として、ま
たは代替として、本明細書において記述されているユーザおよびユーザ・ノード202は
、適切な場合には、ソーシャルネットワーキング・システム160に登録されていないユ
ーザを指すことができる。特定の実施形態においては、ユーザ・ノード202は、ユーザ
によって提供された情報、またはソーシャルネットワーキング・システム160を含むさ
まざまなシステムによって収集された情報に関連付けられることが可能である。限定では
なく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性
別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報
を提供することができる。特定の実施形態においては、ユーザ・ノード202は、ユーザ
に関連付けられている情報に対応する1つまたは複数のデータ・オブジェクトに関連付け
られることが可能である。特定の実施形態においては、ユーザ・ノード202は、1つま
たは複数のウェブページに対応することができる。
In a particular embodiment, the user node 202 is a social networking
A user of system 160 can be accommodated. By way of example and not limitation, the user
Social networking system 160, or social networking system 160
It can be an individual (human user), entity (eg, corporate, business, or third-party application), or group (eg, individual or entity) interacting or communicating via system 160. In a particular embodiment, when a user registers for an account with social networking system 160, social networking system 160 creates a user node 202 corresponding to that user, and that user node 202. Can be stored in one or more data stores. The users and user nodes 202 described herein may refer to registered users and user nodes 202 associated with registered users, where appropriate. Additionally or alternatively, the users and user nodes 202 described herein may refer to users who are not registered with the social networking system 160, where appropriate. In particular embodiments, user node 202 may be associated with information provided by a user or information collected by various systems, including social networking system 160. By way of example and not limitation, users may identify their name, profile picture, contact information, date of birth, gender, marital status, family status, work location, educational background, preferences, interests, or other demographic information. Can be provided. In particular embodiments, user node 202 may be associated with one or more data objects corresponding to information associated with a user. In particular embodiments, user node 202 may correspond to one or more web pages.

特定の実施形態においては、コンセプト・ノード204は、コンセプトに対応すること
ができる。限定ではなく、例として、コンセプトは、場所(たとえば、映画館、レストラ
ン、ランドマーク、もしくは都市など)、ウェブサイト(たとえば、ソーシャルネットワ
ーク・システム160に関連付けられているウェブサイト、もしくはウェブアプリケーシ
ョン・サーバに関連付けられているサードパーティ・ウェブサイトなど)、エンティティ
(たとえば、人、企業、グループ、スポーツ・チーム、もしくは有名人など)、ソーシャ
ルネットワーキング・システム160内に、もしくはウェブアプリケーション・サーバな
どの外部サーバ上に配置されることが可能であるリソース(たとえば、オーディオ・ファ
イル、ビデオ・ファイル、デジタル写真、テキスト・ファイル、構造化されたドキュメン
ト、もしくはアプリケーションなど)、物的もしくは知的財産(たとえば、彫塑、絵画、
映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など)、ゲーム、アクティビテ
ィ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプ
トに対応することができる。コンセプト・ノード204は、ユーザによって提供されたコ
ンセプトの情報、またはソーシャルネットワーキング・システム160を含むさまざまな
システムによって収集された情報に関連付けられることが可能である。限定ではなく、例
として、コンセプトの情報は、名前もしくはタイトル、1つもしくは複数のイメージ(た
とえば、本の表紙のイメージ)、ロケーション(たとえば、住所もしくは地理的ロケーシ
ョン)、(URLに関連付けられることが可能である)ウェブサイト、連絡先情報(たと
えば、電話番号もしくはEメール・アドレス)、その他の適切なコンセプト情報、または
そのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、
コンセプト・ノード204は、コンセプト・ノード204に関連付けられている情報に対
応する1つまたは複数のデータ・オブジェクトに関連付けられることが可能である。特定
の実施形態においては、コンセプト・ノード204は、1つまたは複数のウェブページに
対応することができる。
In particular embodiments, concept node 204 may correspond to a concept. By way of example, and not limitation, a concept may be a location (eg, a cinema, restaurant, landmark, or city, etc.), a website (eg, a website associated with social network system 160, or a web application server). Third party websites, etc.), entities (eg, people, companies, groups, sports teams, or celebrities), within the social networking system 160, or on an external server such as a web application server. Resources (eg, audio files, video files, digital photographs, text files, structured documents, or applications), physical or intellectual property (eg, sculpture, Paintings,
Movie, game, song, idea, photo, or writing), game, activity, idea or theory, another suitable concept, or more than one such concept. Concept node 204 can be associated with concept information provided by a user or information collected by various systems, including social networking system 160. By way of example, and not limitation, concept information may be associated with a name or title, one or more images (eg, book cover images), locations (eg, addresses or geographical locations), (URLs. It may include websites (which are possible), contact information (eg, phone numbers or email addresses), other suitable concept information, or any suitable combination of such information. In certain embodiments,
Concept node 204 may be associated with one or more data objects that correspond to the information associated with concept node 204. In particular embodiments, concept node 204 may correspond to one or more web pages.

特定の実施形態においては、ソーシャルグラフ200内のノードは、ウェブページ(「
プロフィール・ページ」と呼ばれる場合もある)を表すこと、またはウェブページによっ
て表されることが可能である。プロフィール・ページは、ソーシャルネットワーキング・
システム160によってホストされること、またはソーシャルネットワーキング・システ
ム160にとってアクセス可能であることが可能である。プロフィール・ページは、サー
ドパーティ・サーバ170に関連付けられているサードパーティ・ウェブサイト上にホス
トされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応す
るプロフィール・ページは、その特定の外部ウェブページであることが可能であり、その
プロフィール・ページは、特定のコンセプト・ノード204に対応することができる。プ
ロフィール・ページは、その他のユーザのうちのすべてまたは選択されたサブセットによ
って閲覧できることが可能である。限定ではなく、例として、ユーザ・ノード202は、
対応するユーザプロフィール・ページを有することができ、そのユーザプロフィール・ペ
ージにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、また
はその他の形で自分自身を表現することが可能である。限定ではなく、別の例として、コ
ンセプト・ノード204は、対応するコンセプトプロフィール・ページを有することがで
き、そのコンセプトプロフィール・ページにおいては、1人または複数のユーザが、特に
コンセプト・ノード204に対応するコンセプトに関連して、コンテンツを付加すること
、言明を行うこと、または自分自身を表現することが可能である。
In a particular embodiment, the nodes in the social graph 200 are web pages (“
Sometimes referred to as a "profile page") or by a web page. Profile page is for social networking
It can be hosted by system 160 or accessible to social networking system 160. The profile page can also be hosted on a third party website associated with the third party server 170. By way of example, and not limitation, the profile page corresponding to a particular external web page can be that particular external web page, and the profile page corresponds to a particular concept node 204. You can The profile page can be viewed by all or a selected subset of other users. By way of example, and not limitation, user node 202 may:
It can have a corresponding user profile page where the corresponding user can add content, make assertions, or otherwise express themselves. is there. As another example and not by way of limitation, the concept node 204 may have a corresponding concept profile page in which one or more users specifically correspond to the concept node 204. It is possible to add content, make assertions, or express oneself in relation to the concept of doing.

特定の実施形態においては、コンセプト・ノード204は、サードパーティ・システム
170によってホストされているサードパーティ・ウェブページまたはリソースを表すこ
とができる。サードパーティ・ウェブページまたはリソースは、数ある要素の中でも、コ
ンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティ
ビティを表す(たとえば、JAVASCRIPT(登録商標)、AJAX、もしくはPH
Pコードで実装されることが可能である)その他の対話可能なオブジェクトを含むことが
できる。限定ではなく、例として、サードパーティ・ウェブページは、「いいね!」、「
チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアク
ティビティなどの選択可能なアイコンを含むことができる。サードパーティ・ウェブペー
ジを閲覧しているユーザは、それらのアイコンのうちの1つ(たとえば、「食べる」)を
選択することによってアクションを実行して、クライアント・システム130に、そのユ
ーザのアクションを示すメッセージをソーシャルネットワーキング・システム160へ送
信させることができる。そのメッセージに応答して、ソーシャルネットワーキング・シス
テム160は、ユーザに対応するユーザ・ノード202と、サードパーティ・ウェブペー
ジまたはリソースに対応するコンセプト・ノード204との間においてエッジ(たとえば
、「食べる」エッジ)を作成して、エッジ206を1つまたは複数のデータ・ストア内に
格納することができる。
In particular embodiments, concept node 204 may represent a third party web page or resource hosted by third party system 170. Third party web pages or resources represent content, selectable or other icons, or actions or activities, among other elements (eg, JAVASCRIPT®, AJAX, or PH).
Other interactable objects (which can be implemented in P code) can be included. By way of example, and not limitation, third-party web pages include "Like", "
It can include selectable icons such as "check in,""eat,""recommend," or another suitable action or activity. A user viewing a third-party web page performs an action by selecting one of those icons (eg, "eat") to tell client system 130 that user's action. The indicated message may be sent to the social networking system 160. In response to the message, the social networking system 160 causes the edge (eg, the “eat” edge) between the user node 202 corresponding to the user and the concept node 204 corresponding to the third party web page or resource. ) Can be created to store the edge 206 in one or more data stores.

特定の実施形態においては、ソーシャルグラフ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内でつながっているそれらのユーザ同士またはコンセプト同
士に対応するノード同士を指すことができる。
In particular embodiments, a pair of nodes in social graph 200 may be connected to each other by one or more edges 206. Edges 206 that connect a pair of nodes can represent a relationship between the pair of nodes. In particular embodiments, edge 206 may include or represent one or more data objects or attributes that correspond to a relationship between a pair of nodes. By way of example, and not limitation, the first user may indicate that the second user is a “friend” of the first user. In response to this indication, the social networking system 160 may send a "friend request" to the second user. If the second user approves the "friend request", the social networking system 160
Create an edge 206 in the social graph 200 that connects the first user's user node 202 to the second user's user node 202 and uses the edge 206 as social graph information in one of the data stores 24 or Can be stored in multiple. In the example of FIG. 2, the social graph 200 includes an edge 206 indicating a friendship between the user node 202 of the user “A” and the user node 202 of the user “B”,
It includes an edge indicating a friendship between the user node 202 of user “C” and the user node 202 of user “B”. Although this disclosure describes or illustrates particular edges 206 with particular attributes that connect particular user nodes 202, this disclosure does not contemplate any suitable attributes that connect user nodes 202. We assume any suitable edge 206 with. By way of example, and not limitation, Edge 206 may be a friend relationship, family relationship, business or employment relationship, fan relationship, follower relationship, visitor relationship, subscriber relationship, hierarchical relationship, reciprocal relationship, non-reciprocal relationship, or another suitable relationship. A type of relationship, or multiple such relationships can be represented. Moreover, while the present disclosure generally describes nodes as connected, the present disclosure also describes users or concepts as connected. As used herein, references to connected users or concepts correspond to those connected users or concepts in social graph 200 by one or more edges 206, where appropriate. Can point to each other.

特定の実施形態においては、ユーザ・ノード202とコンセプト・ノード204との間
におけるエッジ206は、ユーザ・ノード202に関連付けられているユーザによって、
コンセプト・ノード204に関連付けられているコンセプトに対して実行された特定のア
クションまたはアクティビティを表すことができる。限定ではなく、例として、図2にお
いて示されているように、ユーザは、コンセプトに対して「いいね!を表明すること」、
「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること
」、または「観ること」を行った可能性があり、それらのそれぞれは、エッジタイプまた
はサブタイプに対応することができる。コンセプト・ノード204に対応するコンセプト
プロフィール・ページは、たとえば、選択可能な「チェックイン」アイコン(たとえば、
クリック可能な「チェックイン」アイコンなど)、または選択可能な「お気に入りに追加
」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に
、ソーシャルネットワーキング・システム160は、それぞれのアクションに対応するユ
ーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成
することができる。限定ではなく、別の例として、あるユーザ(ユーザ「C」)が、特定
のアプリケーション(オンライン音楽アプリケーションであるSPOTIFY)を使用し
て特定の曲(「Ramble On」)を聴く場合がある。このケースにおいては、ソー
シャルネットワーキング・システム160は、そのユーザに対応するユーザ・ノード20
2と、その曲およびアプリケーションに対応するコンセプト・ノード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」を表すユーザ・ノード2
02と、「SPOTIFY」を表すコンセプト・ノード204との間において示されてい
るような)ユーザ・ノード202とコンセプト・ノード204との間におけるそれぞれの
タイプの関係(または、単一の関係が複数集まったもの)を表すことができる。
In a particular embodiment, the edge 206 between the user node 202 and the concept node 204 is defined by the user associated with the user node 202.
A particular action or activity performed on a concept associated with concept node 204 may be represented. By way of example, and not limitation, as shown in FIG. 2, the user “likes” the concept,
You may have done "going", "playing", "listening", "cooking", "working", or "watching", each of which is an edge type or sub It can correspond to the type. The concept profile page corresponding to concept node 204 includes, for example, a selectable “check-in” icon (eg,
Clickable "check-in" icon) or a selectable "add to favorites" icon. Similarly, after the user clicks on these icons, the social networking system 160 may create a "favorite" edge or a "check-in" edge in response to the user's action corresponding to each action. As another non-limiting example, a user (user “C”) may listen to a particular song (“Ramble On”) using a particular application (SPOTIFY, an online music application). In this case, the social networking system 160 has the user node 20 corresponding to that user.
2 and the concept node 204 corresponding to the song and application, create a “listen” edge 206 (as shown in FIG. 2) and a “used” edge so that the user can You can indicate that you listened to the song and used the application. Moreover, the social networking system 160 "played" (as shown in FIG. 2) between the concept node 204 corresponding to the song and the concept node 204 corresponding to the application. Edge 206 can be created to indicate that the particular song was played by the particular application. In this case, the “played” edge 206 is an external audio file (song called “Imagine”) by an external application (SPOTIFY).
Corresponds to the action performed on. Although the present disclosure describes a particular edge 206 with a particular attribute connecting user node 202 and concept node 204, the present disclosure does not describe any edge 206 connecting user node 202 and concept node 204. Consider any suitable edge 206 with the appropriate attributes. Moreover, while this disclosure describes edges between user nodes 202 and concept nodes 204 that represent a single relationship, this disclosure describes user nodes 202 that represent one or more relationships. Assume an edge between and the concept node 204. By way of example, and not limitation, edge 206 may represent both that the user has “liked” a particular concept and has used that particular concept.
Alternatively, another edge 206 (in FIG. 2, user node 2 representing user “E”)
02 and a concept node 204 representing "SPOTIFY", each type of relationship (or a single relationship is more than one) between a user node 202 and a concept node 204. Group of people) can be represented.

特定の実施形態においては、ソーシャルネットワーキング・システム160は、ソーシ
ャルグラフ200内でユーザ・ノード202とコンセプト・ノード204との間において
エッジ206を作成することができる。限定ではなく、例として、(たとえば、ユーザの
クライアント・システム130によってホストされているウェブ・ブラウザまたは専用の
アプリケーションを使用することなどによって)コンセプトプロフィール・ページを閲覧
しているユーザは、「いいね!」アイコンをクリックまたは選択することにより、コンセ
プト・ノード204によって表されているコンセプトを自分が気に入っているということ
を示すことができ、その「いいね!」アイコンをクリックまたは選択することは、ユーザ
のクライアント・システム130に、そのコンセプトプロフィール・ページに関連付けら
れているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソ
ーシャルネットワーキング・システム160へ送信させることができる。そのメッセージ
に応答して、ソーシャルネットワーキング・システム160は、そのユーザとコンセプト
・ノード204との間における「いいね!」エッジ206によって示されているように、
そのユーザに関連付けられているユーザ・ノード202とコンセプト・ノード204との
間においてエッジ206を作成することができる。特定の実施形態においては、ソーシャ
ルネットワーキング・システム160は、エッジ206を1つまたは複数のデータ・スト
ア内に格納することができる。特定の実施形態においては、エッジ206は、特定のユー
ザ・アクションに応答してソーシャルネットワーキング・システム160によって自動的
に形成されることが可能である。限定ではなく、例として、第1のユーザが、画像をアッ
プロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ20
6は、第1のユーザに対応するユーザ・ノード202と、それらのコンセプトに対応する
コンセプト・ノード204との間において形成されることが可能である。本開示は、特定
の様式で特定のエッジ206を形成することについて記述しているが、本開示は、任意の
適切な様式で任意の適切なエッジ206を形成することを想定している。
In particular embodiments, the social networking system 160 may create an edge 206 in the social graph 200 between the user node 202 and the concept node 204. By way of example and not limitation, a user viewing a concept profile page (eg, by using a web browser hosted by the user's client system 130 or a dedicated application) may like. You can indicate that you like the concept represented by the concept node 204 by clicking or selecting the "!" icon, and clicking or selecting that "Like" icon The user's client system 130 may be caused to send a message to the social networking system 160 indicating that the user likes the concept associated with the concept profile page. In response to the message, the social networking system 160, as indicated by the “like” edge 206 between the user and the concept node 204,
An edge 206 can be created between the user node 202 and the concept node 204 associated with that user. In particular embodiments, social networking system 160 may store edge 206 in one or more data stores. In particular embodiments, edges 206 may be automatically formed by social networking system 160 in response to particular user actions. By way of example and not limitation, if the first user uploaded an image, watched a movie, or listened to a song, the edge 20
6 can be formed between the user nodes 202 corresponding to the first user and the concept nodes 204 corresponding to those concepts. Although this disclosure describes forming particular edge 206 in a particular manner, the present disclosure contemplates forming any suitable edge 206 in any suitable manner.

特定の実施形態においては、1つもしくは複数の画像(例えば、クライアント・システ
ム130に格納される)は、ユーザによりソーシャルネットワーキング・システム160
へアップロードされる。例として、ユーザは、クライアント・システム130に格納され
た画像をソーシャルネットワーキング・システム160に手動でアップロードする。他の
例として、クライアント・システム130は、(例えばユーザのプライバシー設定に応じ
て)イメージ・シンク(image synching)を通して、クライアント・シス
テム130に格納された画像をソーシャルネットワーキング・システム160に自動的に
アップロードする。特定の実施形態においては、クライアント・システム130のアプリ
ケーションまたはオペレーティング・システム(OS)は、ソーシャルネットワーキング
160に画像をアップロードする。ソーシャルネットワーキング・システム160は、サ
ードパーティ・システム170、共有されたアーカイブもしくはスペース、または任意の
他の画像ソースから、画像を受け取る。ユーザは、1つもしくは複数の画像を非公開とし
て指定する(もしくは別の方法でアクセス制限をする)か、または、ユーザのプライバシ
ー設定の少なくとも一部に基づいて、ソーシャルネットワーキング・システム160のあ
る他のユーザが1つもしくは複数の画像にアクセスすることを許可する。
In particular embodiments, one or more images (eg, stored on client system 130) may be displayed by a user on social networking system 160.
Uploaded to. As an example, a user manually uploads an image stored on client system 130 to social networking system 160. As another example, the client system 130 may automatically upload images stored on the client system 130 to the social networking system 160 through an image syncing (eg, depending on the user's privacy settings). To do. In particular embodiments, an application or operating system (OS) on client system 130 uploads images to social networking 160. The social networking system 160 receives images from a third party system 170, a shared archive or space, or any other image source. The user may designate one or more images as private (or otherwise restrict access), or some other aspect of the social networking system 160 based at least in part on the user's privacy settings. To allow one user to access one or more images.

特定の実施形態においては、ソーシャルネットワーキング・システム160にアップロ
ードされた画像は、ソーシャルネットワーキング・システム上のメタデータと関連付けさ
れる。メタデータは1人もしくは複数のソーシャルネットワーキング・システムのユーザ
により手動で生成される。例として、画像が1人もしくは複数のソーシャルネットワーキ
ング・システムのユーザを含む写真である場合、その写真は、(例えば、アップロードし
たユーザによって、またはそうすることを許可されたソーシャルネットワーキング・シス
テムの任意のユーザによって)その写真中のユーザの名前または識別子を示すメタデータ
と「タグ付けされる」か、または分類され得る。他の例として、その画像が特定の場所ま
たは時間に撮影された写真である場合、その写真は、場所(特定の実施形態において、ソ
ーシャルグラフにおけるコンセプト・ノードに対応する)を含むメタデータと、または同
様に日付もしくは時間情報と、タグ付けされる。同様に、その画像が、ソーシャルグラフ
中のコンセプト・ノードと関連付けられる建物、ロゴ、ブランド、または他の任意のコン
セプトを含む写真である場合、その写真は対応するコンセプト・ノードの識別子を含むメ
タデータとタグ付けされ得る。特定の実施形態においては、画像に関連付けられるメタデ
ータは、ソーシャルネットワーキング・システム160によって自動的に生成される。例
として、ソーシャルネットワーキング・システム160は、画像に、その画像をアップロ
ードしたユーザの識別子を含むメタデータを自動的にタグ付けする。他の例として、ソー
シャルネットワーキング・システムは、アップロードされた画像中の1つもしくは複数の
顔を自動的に検出するか、または認識する。これは、例えば、適切な顔検出または顔認識
アルゴリズムを使用して行われる。例として、顔認識アルゴリズムは、アップロードされ
た画像中で発見された顔の特徴を分析し、既知の顔(例えば、ユーザの写真から特定され
るソーシャルネットワーキング・システムのユーザの顔)のセットと関連付けられる顔の
特徴との比較に基づいて顔を識別する。ソーシャルネットワーキング・システム160は
、アップロードされた画像中で検出されるか、または認識された顔に基づいて、1人もし
くは複数のソーシャルネットワーキング・システムのユーザが画像中に存在していること
を自動的に判定し、(個々のユーザのプライバシー設定に応じて)その画像に、その画像
中に存在しているユーザの識別子を含むメタデータをタグ付けする。他の例として、ソー
シャルネットワーキング・システムは、(例えば、任意の適切なコンピュータヴィジョン
アルゴリズムまたは任意の適切な既知のオブジェクトのセットを利用して)アップロード
された画像中で、ソーシャルグラフ中のコンセプト・ノードと関連付けられる場所、建物
、ロゴもしくはブランド、またはコンセプトを含むオブジェクトを自動的に検出するか、
または認識する。ソーシャルネットワーキング・システムは、画像に、自動的に検出され
たアイテムに対応するソーシャルグラフ中のコンセプト・ノードの識別子を含むメタデー
タを自動的にタグ付けすることができる。
In particular embodiments, images uploaded to social networking system 160 are associated with metadata on the social networking system. Metadata is manually generated by one or more users of social networking systems. As an example, if the image is a photo that includes one or more users of a social networking system, the photo may be (eg, by the user who uploaded it, or any social networking system authorized to do so). It may be “tagged” or categorized by metadata (by the user) that indicates the user's name or identifier in the photo. As another example, if the image is a photo taken at a particular location or time, the photo includes metadata that includes the location (corresponding to a concept node in the social graph in a particular embodiment); Or similarly tagged with date or time information. Similarly, if the image is a photo containing a building, logo, brand, or any other concept associated with a concept node in the social graph, the photo is metadata containing the identifier of the corresponding concept node. Can be tagged as In particular embodiments, the metadata associated with the image is automatically generated by social networking system 160. As an example, social networking system 160 automatically tags an image with metadata that includes the identifier of the user who uploaded the image. As another example, the social networking system automatically detects or recognizes one or more faces in the uploaded image. This is done, for example, using a suitable face detection or face recognition algorithm. As an example, a face recognition algorithm analyzes facial features found in uploaded images and correlates them with a set of known faces (eg, a user's face of a social networking system identified from the user's photo). Faces are identified based on a comparison with the facial features that are generated. The social networking system 160 automatically determines that one or more users of the social networking system are present in the image based on the faces detected or recognized in the uploaded image. And tag the image (depending on the privacy settings of the individual user) with metadata containing the identifier of the user present in the image. As another example, a social networking system may use concept nodes in a social graph in uploaded images (eg, utilizing any suitable computer vision algorithm or any suitable set of known objects). Automatically detect objects that contain places, buildings, logos or brands, or concepts associated with
Or recognize. The social networking system can automatically tag the image with metadata, including the identifier of the concept node in the social graph that corresponds to the automatically detected item.

特定の実施形態においては、画像(例えば、ソーシャルネットワーキング・システム1
60にアップロードされた画像)は、1人もしくは複数のソーシャルネットワーキング・
システムのユーザに対して表示される。画像は、例えば、任意の適切な画像レイアウトア
ルゴリズムを使用して表示される。例として、画像はウェブページ内のグリッドフォーマ
ットで表示される。グリッドにおける各画像は、固定された大きさの視認領域または「表
示域(viewport)」を使用して表示される。ある場合においては、画像の大きさ
は表示域の大きさと等しくなくてもよい。これらの場合においては、画像は、(スケール
変換または境界線の追加によって)表示域内に完全に適合するように表示されるか、また
は、画像は、表示域の大きさに切り取られる。カスケーディングスタイルシート(CSS
:Cascading Style Sheets)は、例えば、「背景の大きさ(ba
ckground−size)」のプロパティ及び「コンテイン(contain)」を
使用するディスプレイスタイル(display style)、または「背景の大きさ
」に関する「カバー(cover)」の値のいずれかを実装するのに使用される。
In certain embodiments, images (eg, social networking system 1
Images uploaded to 60) are for one or more social networking
Displayed to system users. The image is displayed using, for example, any suitable image layout algorithm. As an example, the image is displayed in a grid format within a web page. Each image in the grid is displayed using a fixed size viewing area or "viewport." In some cases, the size of the image may not be equal to the size of the display area. In these cases, the image is displayed to fit perfectly within the viewing area (by scaling or adding borders), or the image is cropped to the size of the viewing area. Cascading Style Sheet (CSS
: Cascading Style Sheets is, for example, “background size (ba
It is used to implement either the display-style (display-style) using the "cground-size" property and the "contain", or the "cover" value for the "background size". It

特定の実施形態においては、画像は特定の大きさに(例えば、1つもしくは複数の表示
域の範囲(dimension)と等しく)スケール変換される。その画像は、例えば、
表示域の大きさまたは範囲に基づいてスケール変換される。図3の例において画像300
は、高さより大きな幅を有する(例えば、画像300の横縦比は1より大きい)。特定の
実施形態においては、スケール変換される画像が、表示域よりもより「横向き」な(例え
ば、表示域の横縦比よりも画像の横縦比の方が大きい)場合は、画像は表示域の高さと等
しくなるようにスケール変換される。図3の例においては、画像300は表示域301の
横縦比よりも大きな横縦比を有するので、画像300は表示域301の高さと等しくなる
ようにスケール変換される。特定の実施形態においては、スケール変換される画像が表示
域よりもより縦向きである(例えば、画像の横縦比が表示域の横縦比よりも小さい)場合
は、画像は表示域の幅と等しくなるようにスケール変換される。画像は、特定の実施形態
においては、特定の大きさ(例えば表示域の大きさ)に切り取られる前に、スケール変換
され得る。
In particular embodiments, the image is scaled to a particular size (e.g., equal to one or more display area dimensions). The image is, for example,
Scale conversion is performed based on the size or range of the display area. Image 300 in the example of FIG.
Has a width greater than the height (eg, the aspect ratio of image 300 is greater than 1). In certain embodiments, if the scaled image is more “landscape” than the viewing area (eg, the image aspect ratio is greater than the viewing area aspect ratio), then the image is displayed. Scaled to equal the height of the zone. In the example of FIG. 3, since the image 300 has an aspect ratio larger than that of the display area 301, the image 300 is scaled so as to be equal to the height of the display area 301. In certain embodiments, if the image to be scaled is more portrait oriented than the viewing area (eg, the aspect ratio of the image is less than the aspect ratio of the viewing area), the image is the width of the viewing area. Scaled to be equal to. The image may, in certain embodiments, be scaled prior to being cropped to a particular size (eg, viewport size).

特定の実施形態においては、画像は特定の大きさ(例えば表示域の大きさ)に切り取ら
れる。その画像は、画像中の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によって個別に示される。
In certain embodiments, the image is cropped to a particular size (eg, display area size). The image is clipped based on the position of one or more points of interest in the image and the size or range of the display area. In particular embodiments, points of interest in an image are associated or identified by tags, labels, or other metadata associated with the image. Points of interest include, by way of example, a person associated with a node in a social graph of a social networking system (eg a user of the social networking system), a part of a person (eg a face), a place, a building, a logo, a brand, text, Contains objects, or users or concepts. FIG. 3 illustrates, for example, five points of interest 302 corresponding to the faces of five people (either automatically detected by the social networking system 160 or manually tagged by a user of the social networking system). , 304, 306, 308, 310 are shown. In certain embodiments, once the image is scaled to equal the extent of the viewing area, the image is cropped based on the location of the point of interest along the axis corresponding to the second extent of the viewing area. To be In the example of FIG. 3, the image 300 equals the height of the display area 301 before the image 300 is clipped based on the location of the points of interest 302-310 along the horizontal axis (corresponding to the width of the display area 301). It is scaled first so that The locations of the points of interest 302, 304, 306, 308, 310 along the horizontal axis are indicated by X marks 312,
Separately indicated by 314, 316, 318, 320.

特定の実施形態においては、画像は、その画像の関心箇所を最大数含むように配置され
る表示域に適合するように切り取られる。図4は、横軸に沿った画像300の関心箇所3
02〜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が表示域の位置42
0に配置されるとき、画像300は表示域301に適合するように切り取られる。
In a particular embodiment, the image is cropped to fit a display area that is arranged to contain the maximum number of points of interest in the image. FIG. 4 shows a region of interest 3 of image 300 along the horizontal axis.
Five possible display area test positions 410, 420, 430, 440, 450 for display area 301 are shown for locations 312-320 at 02-310. The width of the display area 301 (the range of the display area corresponding to the horizontal axis) is indicated by the width of the shielding box at the test position of each display area. In a particular embodiment, when the display area is located at each point of interest,
The number of points of interest that fit within the display area is determined. The display area is (in a specific area of the image)
Positioned for each test position such that the boundaries of the display area coincide with the location of the point of interest.
In the example of FIG. 4, the leftmost boundary of the display area (with respect to the horizontal axis corresponding to the width of the image) is located at each location of interest. When the display area 301 is placed in the display area test position 410, only two points of interest (302 and 304) are within the display area. When the display area 301 is placed at the test position 420 of the display area, three points of interest (304, 306, and 308) are within the display area. When the display area 301 is placed in the test position 430 of the display area, only two points of interest (306 and 308) are within the display area. When the display area 301 is placed at the test position 440 of the display area, only two points of interest (308 and 310) are within the display area.
Finally, when the display area 301 is placed at the test position 450 of the display area, one point of interest (
Only 310) is in the display area. Therefore, it is determined that the maximum number of interest points of the matching image 300 in the display area 301 is three. In this way, the test position 420 of the display area is determined to be the position of the display area that includes the maximum number of points of interest. The display area 301 is the position 42 of the display area.
When placed at 0, image 300 is cropped to fit display area 301.

特定の実施形態においては、関心箇所を最大数含む表示域のテスト位置が一度決定され
ると、画像を切り取る前に表示域の位置を調整することができる。図5に示すように、関
心箇所を最大数含む表示域のテスト位置(例えば420)は、関心箇所が中心にはない。
例えば、表示域301内に残存する画像の余白またはパディング(padding)の量
「d」が存在し得る。特定の実施形態においては、表示域内に適合するように画像を切り
取る前に、表示域が含む関心箇所が中心に位置するように表示域を再配置することができ
る。図5の例においては、表示域によって含まれる3つの関心箇所のどちら側においても
パディングがd/2となるように表示域301が中心に配置される。特定の実施形態にお
いては、1つ以上の表示域のテスト位置が関心箇所を最大数含む場合、パディングを最も
含むテスト位置(例えばdが最も大きいテスト位置)が、画像を切り取るための表示域の
位置として選択される。特定の実施形態においては、1つもしくは複数の関心箇所は、最
終的に切り取られる画像において存在することが必須である。これらの実施形態において
は、必須の関心箇所を有する表示域に含まれる関心箇所に配置される表示域のテスト位置
のみがテストされ得る。図6において、例として、場所316に対応する関心箇所306
は、必須の関心箇所である(例えば、その関心箇所は最終的に切り取られた画像に存在す
べきものである)。場所316に配置される表示域は、関心箇所306及び関心箇所31
0(場所320に対応する)の両方を含むことができないので、関心箇所310及び場所
320は表示域のテスト位置のセットから取り除かれる。同様に、関心箇所302及び場
所312は表示域のテスト位置のセットから取り除かれる。このように、関心箇所306
が必須の関心箇所である場合、表示域のテスト位置が含む関心箇所の数に基づいて1つ選
択されるであろう3つの表示域のテスト位置のみが存在する。特定の実施形態においては
、1つもしくは複数の関心箇所には、(例えば、ソーシャルグラフ200からのデータに
基づく)数字的な重み、もしくは値が割り当てられて、(例えば、表示域のテスト位置に
含まれる各関心箇所の重みまたは値を合計することによって計算された)最も高い数字的
な値を有する表示域のテスト位置が、画像を切り取るための表示域として選択されるよう
にしてもよい。
In certain embodiments, once the test position of the display area containing the maximum number of points of interest is determined, the position of the display area can be adjusted before cropping the image. As shown in FIG. 5, the test position (for example, 420) in the display area including the maximum number of points of interest is not centered on the points of interest.
For example, there may be an amount of image margin or padding "d" remaining in the display area 301. In certain embodiments, the display area may be rearranged so that the region of interest contained in the display area is centered before cropping the image to fit within the display area. In the example of FIG. 5, the display area 301 is arranged at the center so that the padding is d/2 on either side of the three points of interest included in the display area. In certain embodiments, if the test location of one or more viewports contains the maximum number of points of interest, the test location that contains the most padding (eg, the test location with the largest d) is the viewport for cropping the image. Selected as position. In certain embodiments, it is essential that one or more points of interest be present in the final cropped image. In these embodiments, only the test positions of the display area located at the points of interest contained in the display area having the requisite points of interest may be tested. In FIG. 6, as an example, the point of interest 306 corresponding to the place 316.
Is a required point of interest (eg, that point of interest should be present in the final cropped image). The display area arranged in the place 316 is the interest point 306 and the interest point 31.
Since both 0 (corresponding to location 320) cannot be included, the point of interest 310 and location 320 are removed from the set of test locations in the display area. Similarly, the points of interest 302 and locations 312 are removed from the set of test positions in the display area. Thus, the point of interest 306
Is a mandatory point of interest, there are only three display area test positions that will be selected, one based on the number of points of interest the display area test position contains. In certain embodiments, one or more points of interest are assigned a numerical weight (eg, based on data from social graph 200), or value, to assign (eg, to a test position in the display area). The test position of the display area with the highest numerical value (calculated by summing the weights or values of each included point of interest) may be selected as the display area for cropping the image.

図7は関心箇所に応じて画像を切り取るための例示的な方法700を示す。この方法は
、画像中の1つもしくは複数の関心箇所が決定されるステップ710から開始される。ス
テップ720では、所定数の関心箇所を含む表示域の位置が選択される。例として、所定
数の関心箇所は、任意の表示域のテスト位置に配置されているときに表示域によって含ま
れる最大数の関心箇所であり得る。ステップ730では、ステップ720で選択された表
示域の位置に少なくとも部分的に基づいて画像が切り取られる。特定の実施形態は、図7
の方法の1つもしくは複数の適切なステップを繰り返し得る。この開示は、図7の方法の
特定のステップが特定の順序で発行われるものとして説明し、図示するが、この開示は、
任意の適切な順序で行われるものとして図7の方法の任意の適切なステップを企図する。
加えて、この開示は、図7の方法の特定のステップを実行する特定のコンポーネント、デ
バイス、またはシステムを説明し、図示するが、この開示は、図7の方法の任意の適切な
ステップを実行するコンポーネント、デバイス、またはシステムの任意の適切な組み合わ
せを企図する。
FIG. 7 shows an exemplary method 700 for cropping an image according to a point of interest. The method begins at step 710 where one or more points of interest in the image are determined. In step 720, a display area position that includes a predetermined number of points of interest is selected. By way of example, the predetermined number of points of interest may be the maximum number of points of interest included by the display area when placed in a test position of any display area. In step 730, the image is cropped based at least in part on the position of the display area selected in step 720. A specific embodiment is shown in FIG.
One or more suitable steps of the method can be repeated. Although this disclosure describes and illustrates certain steps of the method of FIG. 7 as issued in a particular order, this disclosure
Any suitable steps of the method of FIG. 7 are contemplated as being performed in any suitable order.
Additionally, although this disclosure describes and illustrates particular components, devices, or systems that perform certain steps of the method of FIG. 7, this disclosure performs any suitable step of the method of FIG. Any suitable combination of components, devices, or systems to implement.

図8は、例示的なコンピュータ・システム800を示している。特定の実施形態におい
ては、1つまたは複数のコンピュータ・システム800が、本明細書において記述されて
いるまたは示されている1つまたは複数の方法の1つまたは複数の工程を実行する。特定
の実施形態においては、1つまたは複数のコンピュータ・システム800が、本明細書に
おいて記述されているまたは示されている機能を提供する。特定の実施形態においては、
1つまたは複数のコンピュータ・システム800上で稼働するソフトウェアが、本明細書
において記述されているもしくは示されている1つもしくは複数の方法の1つもしくは複
数の工程を実行し、または本明細書において記述されているもしくは示されている機能を
提供する。特定の実施形態は、1つまたは複数のコンピュータ・システム800の1つま
たは複数の部分を含む。本明細書においては、コンピュータ・システムへの言及は、適切
な場合には、コンピューティング・デバイスを包含することができる。その上、コンピュ
ータ・システムへの言及は、適切な場合には、1つまたは複数のコンピュータ・システム
を包含することができる。
FIG. 8 illustrates an exemplary computer system 800. In particular embodiments, one or more computer systems 800 perform one or more steps of one or more methods described or shown herein. In particular embodiments, one or more computer systems 800 provide the functionality described or illustrated herein. In certain embodiments,
Software running on one or more computer systems 800 performs one or more steps of one or more methods described or shown herein, or herein. It provides the functionality described or shown in. Particular embodiments include one or more portions of one or more computer systems 800. References to computer systems herein may include computing devices, where appropriate. Moreover, references to computer systems, where appropriate, can encompass one or more computer systems.

本開示は、任意の適切な数のコンピュータ・システム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つまたは複数の工程を別々の時点で、または別々のロケーションで実行するこ
とができる。
This disclosure contemplates any suitable number of computer systems 800. This disclosure contemplates computer system 800 taking any suitable physical form. By way of example, and not limitation, computer system 800 may be an embedded computer system, a system-on-chip (SOC), a single-board computer system (SBC).
) (Eg, computer on module (COM) or system on module (SOM), etc.), desktop computer system, laptop or notebook computer system, interactive kiosk, mainframe, mesh of computer system, mobile It can be a telephone, a personal digital assistant (PDA), a server, a tablet computer system, or a combination of multiple of these. Where appropriate, computer system 800 may include one or more computer systems 800, may be single or distributed, may span multiple locations, span multiple machines, multiple data. Going to the center,
Or cloud (one or more cloud in one or more networks.
Components (which may include components). When appropriate,
One or more computer systems 800 may perform one or more steps of one or more methods described or illustrated herein to substantially space or time limit. Can be performed without. By way of example, and not limitation, one or more computer systems 800 may implement, in real time, one or more steps of one or more methods described or illustrated herein. Or it can be run in batch mode. One or more computer systems 800 may perform one or more steps of one or more methods described or illustrated herein at separate times, or where appropriate, or It can run at different locations.

特定の実施形態においては、コンピュータ・システム800は、プロセッサ802、メ
モリ804、ストレージ806、入力/出力(I/O)インタフェース808、通信イン
タフェース810、およびバス812を含む。本開示は、特定の数の特定のコンポーネン
トを特定の構成で有する特定のコンピュータ・システムについて記述し、示しているが、
本開示は、任意の適切な数の任意の適切なコンポーネントを任意の適切な構成で有する任
意の適切なコンピュータ・システムを想定している。
In particular embodiments, computer system 800 includes processor 802, memory 804, storage 806, input/output (I/O) interface 808, communication interface 810, and bus 812. Although this disclosure describes and illustrates a particular computer system having a particular number of particular components in a particular configuration,
This disclosure contemplates any suitable computer system having any suitable number of any suitable components in any suitable configuration.

特定の実施形態においては、プロセッサ802は、コンピュータ・プログラムを構成し
ている命令などの命令を実行するためのハードウェアを含む。限定ではなく、例として、
命令を実行するために、プロセッサ802は、内部レジスタ、内部キャッシュ、メモリ8
04、またはストレージ806から命令を取り出し(またはフェッチし)、それらの命令
をデコードして実行し、次いで、1つまたは複数の結果を内部レジスタ、内部キャッシュ
、メモリ804、またはストレージ806に書き込むことができる。特定の実施形態にお
いては、プロセッサ802は、データ、命令、またはアドレスのための1つまたは複数の
内部キャッシュを含むことができる。本開示は、適切な場合には、任意の適切な数の任意
の適切な内部キャッシュを含むプロセッサ802を想定している。限定ではなく、例とし
て、プロセッサ802は、1つまたは複数の命令キャッシュ、1つまたは複数のデータ・
キャッシュ、および1つまたは複数の変換ルックアサイド・バッファ(TLB)を含むこ
とができる。命令キャッシュ内の命令は、メモリ804またはストレージ806内の命令
のコピーであることが可能であり、命令キャッシュは、プロセッサ802によるそれらの
命令の取り出しをスピードアップすることができる。データ・キャッシュ内のデータは、
プロセッサ802において実行される命令が機能する際に基づくメモリ804もしくはス
トレージ806内のデータのコピー、プロセッサ802において実行される後続の命令に
よるアクセスのための、もしくはメモリ804もしくはストレージ806への書き込みの
ためのプロセッサ802において実行された以前の命令の結果、またはその他の適切なデ
ータであることが可能である。データ・キャッシュは、プロセッサ802による読み取り
オペレーションまたは書き込みオペレーションをスピードアップすることができる。TL
Bは、プロセッサ802のための仮想アドレス変換をスピードアップすることができる。
特定の実施形態においては、プロセッサ802は、データ、命令、またはアドレスのため
の1つまたは複数の内部レジスタを含むことができる。本開示は、適切な場合には、任意
の適切な数の任意の適切な内部レジスタを含むプロセッサ802を想定している。適切な
場合には、プロセッサ802は、1つまたは複数の演算ロジック・ユニット(ALU)を
含むこと、マルチコア・プロセッサであること、または1つもしくは複数のプロセッサ8
02を含むことが可能である。本開示は、特定のプロセッサについて記述し、示している
が、本開示は、任意の適切なプロセッサを想定している。
In particular embodiments, processor 802 includes hardware for executing instructions, such as the instructions making up a computer program. By way of example and not limitation,
To execute the instructions, processor 802 uses internal registers, internal cache, memory 8
04, or fetching (or fetching) instructions from storage 806, decoding and executing those instructions, and then writing one or more results to an internal register, internal cache, memory 804, or storage 806. it can. In particular embodiments, processor 802 may include one or more internal caches for data, instructions, or addresses. This disclosure contemplates processor 802 including any suitable number of any suitable internal caches, where appropriate. By way of example, and not limitation, processor 802 may include one or more instruction caches, one or more data
It may include a cache and one or more translation lookaside buffers (TLBs). The instructions in the instruction cache can be copies of the instructions in memory 804 or storage 806, and the instruction cache can speed up fetching of those instructions by processor 802. The data in the data cache is
For copying data in memory 804 or storage 806 based on when the instructions executed in processor 802 function, for access by subsequent instructions executed in processor 802, or for writing to memory 804 or storage 806. The result of a previous instruction executed in processor 802, or other suitable data. The data cache can speed up read or write operations by the processor 802. TL
B can speed up virtual address translation for processor 802.
In particular embodiments, processor 802 may include one or more internal registers for data, instructions, or addresses. This disclosure contemplates processor 802 including any suitable number of any suitable internal registers, where appropriate. Where appropriate, processor 802 comprises one or more arithmetic logic units (ALUs), is a multi-core processor, or one or more processors 8.
02 can be included. Although this disclosure describes and illustrates particular processors, this disclosure contemplates any suitable processor.

特定の実施形態においては、メモリ804は、プロセッサ802が実行するための命令
、またはプロセッサ802が機能する際に基づくデータを格納するためのメイン・メモリ
を含む。限定ではなく、例として、コンピュータ・システム800は、命令をストレージ
806または別のソース(たとえば、別のコンピュータ・システム800など)からメモ
リ804にロードすることができる。次いでプロセッサ802は、命令をメモリ804か
ら内部レジスタまたは内部キャッシュにロードすることができる。命令を実行するために
、プロセッサ802は、命令を内部レジスタまたは内部キャッシュから取り出し、それら
の命令をデコードすることができる。命令の実行中または実行後に、プロセッサ802は
、1つまたは複数の結果(それらは、中間の結果または最終的な結果である場合がある)
を内部レジスタまたは内部キャッシュに書き込むことができる。次いでプロセッサ802
は、それらの結果のうちの1つまたは複数をメモリ804に書き込むことができる。特定
の実施形態においては、プロセッサ802は、(ストレージ806またはその他の場所で
はなく)1つもしくは複数の内部レジスタもしくは内部キャッシュ内の、またはメモリ8
04内の命令のみを実行し、(ストレージ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を含むことができる。本開
示は、特定のメモリについて記述し、示しているが、本開示は、任意の適切なメモリを想
定している。
In particular embodiments, memory 804 includes main memory for storing instructions for processor 802 to execute, or data upon which processor 802 functions. By way of example, and not limitation, computer system 800 can load instructions into memory 804 from storage 806 or another source (eg, another computer system 800, etc.). Processor 802 can then load the instructions from memory 804 into an internal register or internal cache. To execute the instructions, the processor 802 can retrieve the instructions from an internal register or cache and decode the instructions. During or after execution of the instructions, the processor 802 may have one or more results, which may be intermediate or final results.
Can be written to an internal register or internal cache. Then the processor 802
May write one or more of those results to memory 804. In particular embodiments, processor 802 may be in one or more internal registers or caches (rather than storage 806 or elsewhere), or in memory 8
Only the instructions in 04 are executed and function only on the data in one or more internal registers or caches (rather than storage 806 or elsewhere) or in memory 804. One or more memory buses, each of which may include an address bus and a data bus, may couple processor 802 to memory 804. Bus 812 may include one or more memory buses as described below. In particular embodiments, one or more memory management units (MMUs) reside between processor 802 and memory 804 to facilitate access to memory 804 required by processor 802. In certain embodiments,
Memory 804 includes random access memory (RAM). This RAM can be volatile memory, where appropriate. If appropriate, this RAM can be dynamic RAM (DRAM) or static RAM (SRAM). Moreover, where appropriate, this RAM can be single-port RAM or multi-port RAM. This disclosure contemplates any suitable RAM. Memory 804 may include one or more memories 804, where appropriate. Although this disclosure describes and illustrates a particular memory, this disclosure contemplates any suitable memory.

特定の実施形態においては、ストレージ806は、データまたは命令のためのマス・ス
トレージを含む。限定ではなく、例として、ストレージ806は、ハード・ディスク・ド
ライブ(HDD)、フロッピー(登録商標)・ディスク・ドライブ、フラッシュ・メモリ
、光ディスク、光磁気ディスク、磁気テープ、またはユニバーサル・シリアル・バス(U
SB)ドライブ、またはこれらのうちの複数の組合せを含むことができる。ストレージ8
06は、適切な場合には、取り外し可能なまたは取り外し不能な(すなわち、固定された
)媒体を含むことができる。ストレージ806は、適切な場合には、コンピュータ・シス
テム800の内部または外部に存在することが可能である。特定の実施形態においては、
ストレージ806は、不揮発性のソリッドステート・メモリである。特定の実施形態にお
いては、ストレージ806は、読み取り専用メモリ(ROM)を含む。適切な場合には、
このROMは、マスクプログラムROM、プログラマブルROM(PROM)、消去可能
PROM(EPROM)、電気的消去可能PROM(EEPROM)、電気的書替え可能
ROM(EAROM)、またはフラッシュ・メモリ、またはこれらのうちの複数の組合せ
であることが可能である。本開示は、任意の適切な物理的な形態を取るマス・ストレージ
806を想定している。ストレージ806は、適切な場合には、プロセッサ802とスト
レージ806との間における通信を容易にする1つまたは複数のストレージ・コントロー
ル・ユニットを含むことができる。適切な場合には、ストレージ806は、1つまたは複
数のストレージ806を含むことができる。本開示は、特定のストレージについて記述し
、示しているが、本開示は、任意の適切なストレージを想定している。
In particular embodiments, storage 806 includes mass storage for data or instructions. By way of example, and not limitation, storage 806 may be a hard disk drive (HDD), floppy disk drive, flash memory, optical disk, magneto-optical disk, magnetic tape, or universal serial bus ( U
SB) drive, or a combination of multiple of these. Storage 8
06 may include removable or non-removable (ie, fixed) media, where appropriate. Storage 806 may reside inside or outside computer system 800, where appropriate. In certain embodiments,
The storage 806 is a non-volatile solid state memory. In particular embodiments, storage 806 includes read only memory (ROM). When appropriate,
The ROM is a mask program ROM, a programmable ROM (PROM), an erasable PROM (EPROM), an electrically erasable PROM (EEPROM), an electrically rewritable ROM (EAROM), or a flash memory, or a plurality of these. Can be a combination of This disclosure contemplates mass storage 806 taking any suitable physical form. Storage 806 may include one or more storage control units that facilitate communication between processor 802 and storage 806, where appropriate. Where appropriate, storage 806 may include one or more storages 806. Although this disclosure describes and illustrates particular storage, this disclosure contemplates any suitable storage.

特定の実施形態においては、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インタフェースを想定している。
In particular embodiments, I/O interface 808 is hardware, software, that provides one or more interfaces for communication between computer system 800 and one or more I/O devices. Or both. Computer system 800 may include one or more of these I/O devices, where appropriate. One or more of these I/O devices may enable communication between a person and computer system 800. By way of example and not limitation, I/O devices include keyboards, keypads, microphones, monitors,
It may include a mouse, printer, scanner, speaker, still camera, stylus, tablet, touch screen, trackball, video camera, another suitable I/O device, or a combination of multiple of these. The I/O device can include one or more sensors. This disclosure contemplates any suitable I/O device and any suitable I/O interface 808 for those I/O devices. Where appropriate, I/O interface 808 provides one or more device drivers or software drivers that enable processor 802 to drive one or more of these I/O devices. Can be included. I/O interface 808 may include one or more I/O interfaces 808, where appropriate.
Although this disclosure describes and illustrates particular I/O interfaces, this disclosure contemplates any suitable I/O interface.

特定の実施形態においては、通信インタフェース810は、コンピュータ・システム8
00と、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を含むことができる。本開示は、特定の通信インタフェースについて記述し、
示しているが、本開示は、任意の適切な通信インタフェースを想定している。
In particular embodiments, communication interface 810 is computer system 8
00 to provide one or more interfaces for communication (eg, packet-based communication, etc.) between 00 and one or more other computer systems 800 or one or more networks, Includes software, or both. By way of example, and not limitation, communication interface 810 may be a network interface controller (NIC) or network adapter for communicating with an Ethernet or other wire-based network, or WI-.
A wireless NIC for communicating with a wireless network such as a FI network (
WNIC) or wireless adapter. This disclosure contemplates any suitable network, and any suitable communication interface 810 for that network.
Is assumed. By way of example, and not limitation, computer system 800 may be an ad hoc network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a metropolitan area network. It may be in communication with a network (MAN), one or more parts of the Internet, or a combination of more than one of these. One or more portions of one or more of these networks can be wired or wireless. By way of example, computer system 800 may include a wireless PAN (WPAN) (eg, Bluetooth WPAN, etc.), WI-FI network, WI-MAX network, cellular telephone network (eg, Global System for Mobile Communications (GSM(GSM(GSM))). ..) networks, etc.), or any other suitable wireless network, or a combination of multiple of these. Computer system 800 may include any suitable communication interface 810 for any of these networks, where appropriate. Communication interfaces 810 may include one or more communication interfaces 810, where appropriate. This disclosure describes specific communication interfaces,
Although shown, this disclosure contemplates any suitable communication interface.

特定の実施形態においては、バス812は、コンピュータ・システム800のコンポー
ネント同士を互いに結合するハードウェア、ソフトウェア、またはその両方を含む。限定
ではなく、例として、バス812は、アクセラレイティッド・グラフィックス・ポート(
AGP)もしくはその他のグラフィックス・バス、エンハンスト・インダストリー・スタ
ンダード・アーキテクチャ(EISA)バス、フロントサイド・バス(FSB)、ハイパ
ートランスポート(HT)インターコネクト、インダストリー・スタンダード・アーキテ
クチャ(ISA)バス、インフィニバンド・インターコネクト、ローピンカウント(LP
C)バス、メモリ・バス、マイクロ・チャネル・アーキテクチャ(MCA)バス、ペリフ
ェラル・コンポーネント・インターコネクト(PCI)バス、PCIエクスプレス(PC
Ie)バス、シリアル・アドバンスト・テクノロジー・アタッチメント(SATA)バス
、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション・ローカル(VLB)バ
ス、または別の適切なバス、またはこれらのうちの複数の組合せを含むことができる。バ
ス812は、適切な場合には、1つまたは複数のバス812を含むことができる。本開示
は、特定のバスについて記述し、示しているが、本開示は、任意の適切なバスまたはイン
ターコネクトを想定している。
In particular embodiments, bus 812 includes hardware, software, or both coupling components of computer system 800 to each other. By way of example, and not limitation, bus 812 may be an accelerated graphics port (
AGP) or other graphics bus, enhanced industry standard architecture (EISA) bus, front side bus (FSB), hypertransport (HT) interconnect, industry standard architecture (ISA) bus, Infiniband・Interconnect, low pin count (LP
C) Bus, Memory Bus, Micro Channel Architecture (MCA) Bus, Peripheral Component Interconnect (PCI) Bus, PCI Express (PC)
Ie) bus, Serial Advanced Technology Attachment (SATA) bus, Video Electronics Standards Association Local (VLB) bus, or another suitable bus, or a combination of two or more thereof. .. Buses 812 may include one or more buses 812, where appropriate. Although this disclosure describes and illustrates a particular bus, this disclosure contemplates any suitable bus or interconnect.

本明細書においては、1つまたは複数の非一時的なコンピュータ可読記憶媒体は、適切
な場合には、1つもしくは複数の半導体ベースのもしくはその他の集積回路(IC)(た
とえば、フィールドプログラマブル・ゲート・アレイ(FPGA)もしくは特定用途向け
集積回路(ASIC)など)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・
ハード・ドライブ(HHD)、光ディスク、光ディスク・ドライブ(ODD)、光磁気デ
ィスク、光磁気ドライブ、フロッピー(登録商標)・ディスケット、フロッピー(登録商
標)・ディスク・ドライブ(FDD)、磁気テープ、ソリッドステート・ドライブ(SS
D)、RAMドライブ、セキュア・デジタル・カードもしくはドライブ、その他の任意の
適切な非一時的なコンピュータ可読記憶媒体、またはこれらのうちの複数の組合せを含む
ことができる。非一時的なコンピュータ可読記憶媒体は、適切な場合には、揮発性、不揮
発性、または揮発性と不揮発性の組合せであることが可能である。
As used herein, one or more non-transitory computer-readable storage media, where appropriate, one or more semiconductor-based or other integrated circuits (ICs) (eg, field programmable gates). Array (FPGA) or application specific integrated circuit (ASIC), hard disk drive (HDD), hybrid
Hard drive (HHD), optical disk, optical disk drive (ODD), magneto-optical disk, magneto-optical drive, floppy (registered trademark) diskette, floppy (registered trademark) disk drive (FDD), magnetic tape, solid state・Drive (SS
D), a RAM drive, a secure digital card or drive, or any other suitable non-transitory computer readable storage medium, or combinations of any of these. Non-transitory computer readable storage media can be volatile, non-volatile, or a combination of volatile and non-volatile, where appropriate.

本明細書においては、「または(もしくは)」は、包含的であり、排他的ではない(た
だし、そうではないことが明示されている場合、または、そうではないことが文脈によっ
て示されている場合は除く)。したがって、本明細書においては、「AまたはB」は、「
A、B、またはその両方」を意味する(ただし、そうではないことが明示されている場合
、または、そうではないことが文脈によって示されている場合は除く)。その上、「およ
び(ならびに)」は、包括的および個別的の両方である(ただし、そうではないことが明
示されている場合、または、そうではないことが文脈によって示されている場合は除く)
。したがって、本明細書においては、「AおよびB」は、「まとめて、または個別に、A
およびB」を意味する(ただし、そうではないことが明示されている場合、または、そう
ではないことが文脈によって示されている場合は除く)。
As used herein, “or (or)” is inclusive and not exclusive (unless explicitly stated otherwise or otherwise indicated by context). (Excluding cases). Therefore, in the present specification, "A or B" means "
“A, B, or both” (unless explicitly stated otherwise or unless the context indicates otherwise). Moreover, "and (and)" is both inclusive and individual (unless explicitly stated otherwise or otherwise indicated by context). )
.. Therefore, as used herein, "A and B" means "collectively or individually
And B” (unless explicitly stated otherwise or unless the context indicates otherwise).

本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書に
おいて記述されているまたは示されている例示的な実施形態に対するすべての変更、置換
、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されてい
るまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書に
おけるそれぞれの実施形態を、特定のコンポーネント、要素、機能、オペレーション、ま
たは工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術
分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述さ
れているまたは示されているコンポーネント、要素、機能、オペレーション、または工程
のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能
を実行するように適合されている、実行するようにアレンジされている、実行することが
できる、実行するように構成されている、実行することを可能にされている、実行するよ
うに機能できる、または実行するように機能する装置もしくはシステム、または装置もし
くはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、シ
ステム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オ
ンにされているか否か、またはロック解除されているか否かを問わず、その装置、システ
ム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジ
されている、そうすることができる、そうするように構成されている、そうすることを可
能にされている、そうするように機能できる、またはそうするように機能する限り、その
装置、システム、コンポーネントを包含する。
The scope of the present disclosure includes all changes, substitutions, variations and modifications to the exemplary embodiments described or shown in the specification, which those skilled in the art will understand. , And modifications. The scope of the present disclosure is not limited to the exemplary embodiments described or shown herein. Moreover, although this disclosure describes and illustrates each embodiment herein as including a particular component, element, function, operation, or step, any of these embodiments Any of the components, elements, functions, operations, or steps described or shown anywhere in this specification will be appreciated by those of ordinary skill in the art. It can include combinations or permutations. Furthermore, it is adapted to perform a particular function, arranged to perform, capable of performing, configured to perform, capable of performing, performing Reference in the appended claims to a device or system, or a component of a device or system, that is capable of functioning to perform, or that functions to perform, means that the device, system, component, or its particular function is active. The device, system, or component, whether or not activated, turned on, or unlocked, is adapted to do so, arranged to do so Is, is capable of, is configured to do, is capable of doing, is capable of doing so, or is capable of doing so, its device, system, Contains components.

本開示の範囲は、当技術分野における標準的な技術者が理解するであろう、本明細書において記述されているまたは示されている例示的な実施形態に対するすべての変更、置換、変形、改変、および修正を包含する。本開示の範囲は、本明細書において記述されているまたは示されている例示的な実施形態に限定されない。その上、本開示は、本明細書におけるそれぞれの実施形態を、特定のコンポーネント、要素、機能、オペレーション、または工程を含むものとして記述し、示しているが、これらの実施形態のいずれも、当技術分野における標準的な技術者が理解するであろう、本明細書の任意の箇所において記述されているまたは示されているコンポーネント、要素、機能、オペレーション、または工程のうちの任意のものの任意の組合せまたは順列を含むことができる。さらに、特定の機能を実行するように適合されている、実行するようにアレンジされている、実行することができる、実行するように構成されている、実行することを可能にされている、実行するように機能できる、または実行するように機能する装置もしくはシステム、または装置もしくはシステムのコンポーネントへの添付の特許請求の範囲における言及は、その装置、システム、コンポーネント、またはその特定の機能が、アクティブ化されているか否か、オンにされているか否か、またはロック解除されているか否かを問わず、その装置、システム、またはコンポーネントが、そうするように適合されている、そうするようにアレンジされている、そうすることができる、そうするように構成されている、そうすることを可能にされている、そうするように機能できる、またはそうするように機能する限り、その装置、システム、コンポーネントを包含する。

<さらなる実施態様>
[実施態様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に記載のシステム。
The scope of the present disclosure includes all changes, substitutions, variations and modifications to the exemplary embodiments described or shown in the specification, which those skilled in the art will understand. , And modifications. The scope of the present disclosure is not limited to the exemplary embodiments described or shown herein. Moreover, although this disclosure describes and illustrates each embodiment herein as including a particular component, element, function, operation, or step, any of these embodiments Any of the components, elements, functions, operations, or steps described or shown anywhere in this specification will be appreciated by those of ordinary skill in the art. It can include combinations or permutations. Furthermore, it is adapted to perform a particular function, arranged to perform, capable of performing, configured to perform, capable of performing, performing Reference in the appended claims to a device or system, or a component of a device or system, that is capable of functioning to perform, or that functions to perform, means that the device, system, component, or its particular function is active. The device, system, or component, whether or not activated, turned on, or unlocked, is adapted to do so, arranged to do so Is, is capable of, is configured to do, is capable of doing, is capable of doing so, or is capable of doing so, its device, system, Contains components.

<Further embodiment>
[Embodiment 1]
Method,
A first computing device scaling an image based on one or more ranges of the display area, the image being displayed within the display area; ,
The first computing device determining a plurality of points of interest in the image based on metadata associated with the image;
The first computing device assigning a weight to each of the one or more points of interest in the image;
Said first computing device selecting the position of the viewing area based on the number of points of interest to which weights have been assigned and their assigned weights;
The first computing device cropping the image based at least in part on the location of the selected viewing area.
[Embodiment 2]
The step of scaling the image comprises:
Determining whether the aspect ratio of the image is greater than the aspect ratio of the display area,
The method of embodiment 1, comprising responsive to the determination, scaling the image to a particular size such that the height of the image is equal to the height of the viewing area.
[Embodiment 3]
The step of scaling the image comprises:
Determining whether the aspect ratio of the image is less than the aspect ratio of the display area;
The method of embodiment 1, comprising responsive to the determination, scaling the image to a particular size such that the width of the image is equal to the width of the display area.
[Embodiment 4]
The method of embodiment 1, wherein the metadata is generated based on input from a user.
[Embodiment 5]
The method of embodiment 1, wherein the metadata is automatically generated by a second computing device when the image is stored.
[Embodiment 6]
The step of selecting the position of the display area,
Calculating the sum of the weights assigned to the points of interest within the display area for each display area position from a predetermined number of display area positions;
The method of embodiment 1, comprising selecting a display area position associated with a sum of maximum weights among the predetermined number of display area positions.
[Embodiment 7]
The step of selecting the position of the display area,
Counting the number of the points of interest in the display area for each display area position from a predetermined number of display area positions,
A method according to embodiment 1, comprising selecting a display area position that is associated with a maximum number of points of interest among the predetermined number of display area positions.
[Embodiment 8]
Computer readable non-transitory one or more storage media implementing operable software, the software being, when executed,
Scaling the image based on one or more ranges of the display area, wherein the image is to be displayed within the display area;
Determining a plurality of points of interest in the image based on metadata associated with the image,
Assigning a weight to each of the one or more points of interest in the image,
Select the display area position based on the number of points of interest to which weights are assigned and their assigned weights,
A storage medium operable to crop an image based at least in part on a location of a selected display area.
[Embodiment 9]
Scaling the image includes
Determining whether the aspect ratio of the image is greater than the aspect ratio of the display area,
9. The medium of embodiment 8, comprising responsive to the determination, scaling the image to a particular size such that the height of the image is equal to the height of the viewing area.
[Embodiment 10]
Scaling the image includes
Determining whether the aspect ratio of the image is less than the aspect ratio of the display area,
9. The medium of embodiment 8, comprising responsive to the determination, scaling the image to a particular size such that the width of the image is equal to the width of the display area.
[Embodiment 11]
The medium according to embodiment 8, wherein the metadata is generated based on an input from a user.
[Embodiment 12]
9. The medium of embodiment 8, wherein the metadata is automatically generated by a second computing device when the image is stored.
[Embodiment 13]
Selecting the position of the display area
Calculating the sum of the weights assigned to the points of interest within the display area for each display area position from a predetermined number of display area positions;
9. The medium of embodiment 8, comprising selecting a display area location associated with a maximum weight sum among the predetermined number of display area locations.
[Embodiment 14]
Selecting the position of the display area
Counting the number of the points of interest in the display area for each display area position from a predetermined number of display area positions,
9. The medium of embodiment 8, comprising selecting a display area position that is associated with a maximum number of points of interest among the predetermined number of display area positions.
[Embodiment 15]
A system,
One or more processors,
A memory coupled to the processor and containing instructions executable by the processor,
The processor, when executing the instructions,
Scaling the image based on one or more ranges of the display area, wherein the image is to be displayed within the display area;
Determining a plurality of points of interest in the image based on metadata associated with the image,
Assigning a weight to each of the one or more points of interest in the image,
Select the display area position based on the number of points of interest to which weights are assigned and their assigned weights,
A system operable to crop an image based at least in part on a location of a selected display area.
[Embodiment 16]
Scaling the image includes
Determining whether the aspect ratio of the image is greater than the aspect ratio of the display area,
16. The system of embodiment 15, comprising responsive to the determination, scaling the image to a particular size such that the height of the image is equal to the height of the viewing area.
[Embodiment 17]
Scaling the image includes
Determining whether the aspect ratio of the image is less than the aspect ratio of the display area,
16. The system of embodiment 15, comprising responsive to the determination, scaling the image to a particular size such that the width of the image is equal to the width of the display area.
[Embodiment 18]
The system of embodiment 15, wherein the metadata is generated based on input from a user.
[Embodiment 19]
16. The system of embodiment 15, wherein the metadata is automatically generated by a second computing device when the image is stored.
[Embodiment 20]
The step of selecting the position of the display area,
Calculating the sum of the weights assigned to the points of interest within the display area for each display area position from a predetermined number of display area positions;
16. The system of embodiment 15, comprising selecting a display area position associated with a sum of maximum weights among the predetermined number of display area positions.

Claims (20)

方法であって、
第1のコンピューティングデバイスが、表示域の1つまたは複数の範囲に基づいて画像
をスケール変換するステップであって、前記画像は前記表示域内に表示されるものである
、前記スケール変換するステップと、
前記第1のコンピューティングデバイスが、画像に関連するメタデータに基づいて画像
内の複数の関心箇所を決定するステップと、
前記第1のコンピューティングデバイスが、前記画像内の1つまたは複数の関心箇所の
各々に重みを割り当てるステップと、
前記第1のコンピューティングデバイスが、重みが割り当てられた関心箇所の数および
それらの割り当てられた重みに基づいて表示域の位置を選択するステップと、
前記第1のコンピューティングデバイスが、選択された表示域の位置に少なくとも部分
的に基づいて画像を切り取るステップと
を含む方法。
Method,
A first computing device scaling an image based on one or more ranges of the display area, the image being displayed within the display area; ,
The first computing device determining a plurality of points of interest in the image based on metadata associated with the image;
The first computing device assigning a weight to each of the one or more points of interest in the image;
Said first computing device selecting the position of the viewing area based on the number of points of interest to which weights have been assigned and their assigned weights;
The first computing device cropping the image based at least in part on the location of the selected viewing area.
前記画像をスケール変換するステップは、
前記画像のアスペクト比が前記表示域のアスペクト比よりも大きいかどうかを判定する
こと、
判定に応答して、前記画像の高さが前記表示域の高さに等しくなるように前記画像を特
定のサイズにスケール変換することを含む、請求項1に記載の方法。
The step of scaling the image comprises:
Determining whether the aspect ratio of the image is greater than the aspect ratio of the display area,
The method of claim 1, comprising responsive to the determination, scaling the image to a particular size such that the height of the image is equal to the height of the viewing area.
前記画像をスケール変換するステップは、
前記画像のアスペクト比が前記表示域のアスペクト比よりも小さいかどうかを判定する
ステップと、
判定に応答して、前記画像の幅が前記表示域の幅と等しくなるように前記画像を特定の
サイズにスケール変換することを含む、請求項1に記載の方法。
The step of scaling the image comprises:
Determining whether the aspect ratio of the image is less than the aspect ratio of the display area;
The method of claim 1, comprising responsive to the determination, scaling the image to a particular size such that the width of the image is equal to the width of the display area.
前記メタデータは、ユーザからの入力に基づいて生成される、請求項1に記載の方法。 The method of claim 1, wherein the metadata is generated based on input from a user. 前記メタデータは、前記画像が格納されたときに第2のコンピューティングデバイスに
よって自動的に生成される、請求項1に記載の方法。
The method of claim 1, wherein the metadata is automatically generated by a second computing device when the image is stored.
前記表示域の位置を選択するステップは、
所定の数の表示域の位置から各表示域の位置について、前記表示域内にある前記関心箇
所に割り当てられた重みの合計を計算すること、
前記所定の数の表示域の位置の中で最大の重みの合計に関連する表示域の位置を選択す
ることを含む、請求項1に記載の方法。
The step of selecting the position of the display area,
Calculating the sum of the weights assigned to the points of interest within the display area for each display area position from a predetermined number of display area positions;
The method of claim 1, comprising selecting a display area location associated with a sum of maximum weights among the predetermined number of display area locations.
前記表示域の位置を選択するステップは、
所定の数の表示域の位置から各表示域の位置について、前記表示域内にある前記関心箇
所の数をカウントすること、
前記所定の数の表示域の位置の中で最大の関心箇所の数に関連する表示域の位置を選択
することを含む、請求項1に記載の方法。
The step of selecting the position of the display area,
Counting the number of the points of interest in the display area for each display area position from a predetermined number of display area positions,
The method of claim 1, comprising selecting a display area position that is associated with a maximum number of points of interest among the predetermined number of display area positions.
動作可能なソフトウェアを実装するコンピュータ可読で非一時的な1つまたは複数の記
憶媒体であって、前記ソフトウェアは、実行されたときに、
表示域の1つまたは複数の範囲に基づいて画像をスケール変換し、ここで、前記画像は
、前記表示域内に表示されるものであり、
前記画像に関連するメタデータに基づいて前記画像内の複数の関心箇所を決定し、
前記画像内の前記1つまたは複数の関心箇所の各々に重みを割り当て、
重みが割り当てられた関心箇所の数およびそれらの割り当てられた重みに基づいて表示
域の位置を選択し、
選択された表示域の位置に少なくとも部分的に基づいて画像を切り取るように動作可能
である、記憶媒体。
Computer readable non-transitory one or more storage media implementing operable software, the software being, when executed,
Scaling the image based on one or more ranges of the display area, wherein the image is to be displayed within the display area;
Determining a plurality of points of interest in the image based on metadata associated with the image,
Assigning a weight to each of the one or more points of interest in the image,
Select the display area position based on the number of points of interest to which weights are assigned and their assigned weights,
A storage medium operable to crop an image based at least in part on a location of a selected display area.
前記画像をスケール変換することは、
前記画像のアスペクト比が前記表示域のアスペクト比よりも大きいかどうかを判定する
こと、
判定に応答して、前記画像の高さが前記表示域の高さに等しくなるように前記画像を特
定のサイズにスケール変換することを含む、請求項8に記載の媒体。
Scaling the image includes
Determining whether the aspect ratio of the image is greater than the aspect ratio of the display area,
9. The medium of claim 8, including responsive to the determination, scaling the image to a particular size such that the height of the image is equal to the height of the viewing area.
前記画像をスケール変換することは、
前記画像のアスペクト比が前記表示域のアスペクト比よりも小さいかどうかを判定する
こと、
判定に応答して、前記画像の幅が前記表示域の幅と等しくなるように前記画像を特定の
サイズにスケール変換することを含む、請求項8に記載の媒体。
Scaling the image includes
Determining whether the aspect ratio of the image is less than the aspect ratio of the display area,
9. The medium of claim 8, including responsive to the determination, scaling the image to a particular size such that the width of the image is equal to the width of the display area.
前記メタデータは、ユーザからの入力に基づいて生成される、請求項8に記載の媒体。 The medium of claim 8, wherein the metadata is generated based on input from a user. 前記メタデータは、前記画像が格納されたときに第2のコンピューティングデバイスに
よって自動的に生成される、請求項8に記載の媒体。
9. The medium of claim 8, wherein the metadata is automatically generated by a second computing device when the image is stored.
前記表示域の位置を選択することは、
所定の数の表示域の位置から各表示域の位置について、前記表示域内にある前記関心箇
所に割り当てられた重みの合計を計算すること、
前記所定の数の表示域の位置の中で最大の重みの合計に関連する表示域の位置を選択す
ることを含む、請求項8に記載の媒体。
Selecting the position of the display area
Calculating the sum of the weights assigned to the points of interest within the display area for each display area position from a predetermined number of display area positions;
9. The medium of claim 8, comprising selecting a display area position associated with a sum of maximum weights among the predetermined number of display area positions.
前記表示域の位置を選択することは、
所定の数の表示域の位置から各表示域の位置について、前記表示域内にある前記関心箇
所の数をカウントすること、
前記所定の数の表示域の位置の中で最大の関心箇所の数に関連する表示域の位置を選択
することを含む、請求項8に記載の媒体。
Selecting the position of the display area
Counting the number of the points of interest in the display area for each display area position from a predetermined number of display area positions,
9. The medium of claim 8, comprising selecting a display area position that is associated with the largest number of points of interest among the predetermined number of display area positions.
システムであって、
1つまたは複数のプロセッサと、
前記プロセッサに結合され、前記プロセッサによって実行可能な命令を含むメモリとを
備え、
前記プロセッサは、前記命令を実行するときに、
表示域の1つまたは複数の範囲に基づいて画像をスケール変換し、ここで、前記画像は
、前記表示域内に表示されるものであり、
前記画像に関連するメタデータに基づいて前記画像内の複数の関心箇所を決定し、
前記画像内の前記1つまたは複数の関心箇所の各々に重みを割り当て、
重みが割り当てられた関心箇所の数およびそれらの割り当てられた重みに基づいて表示
域の位置を選択し、
選択された表示域の位置に少なくとも部分的に基づいて画像を切り取る
ように動作可能である、システム。
A system,
One or more processors,
A memory coupled to the processor and containing instructions executable by the processor,
The processor, when executing the instructions,
Scaling the image based on one or more ranges of the display area, wherein the image is to be displayed within the display area;
Determining a plurality of points of interest in the image based on metadata associated with the image,
Assigning a weight to each of the one or more points of interest in the image,
Select the display area position based on the number of points of interest to which weights are assigned and their assigned weights,
A system operable to crop an image based at least in part on a location of a selected display area.
前記画像をスケール変換することは、
前記画像のアスペクト比が前記表示域のアスペクト比よりも大きいかどうかを判定する
こと、
判定に応答して、前記画像の高さが前記表示域の高さに等しくなるように前記画像を特
定のサイズにスケール変換することを含む、請求項15に記載のシステム。
Scaling the image includes
Determining whether the aspect ratio of the image is greater than the aspect ratio of the display area,
16. The system of claim 15, comprising scaling the image to a particular size such that the height of the image is equal to the height of the viewing area in response to the determination.
前記画像をスケール変換することは、
前記画像のアスペクト比が前記表示域のアスペクト比よりも小さいかどうかを判定する
こと、
判定に応答して、前記画像の幅が前記表示域の幅と等しくなるように前記画像を特定の
サイズにスケール変換することを含む、請求項15に記載のシステム。
Scaling the image includes
Determining whether the aspect ratio of the image is less than the aspect ratio of the display area,
16. The system of claim 15, comprising scaling the image to a particular size such that the width of the image is equal to the width of the display area in response to the determination.
前記メタデータは、ユーザからの入力に基づいて生成される、請求項15に記載のシス
テム。
The system of claim 15, wherein the metadata is generated based on input from a user.
前記メタデータは、前記画像が格納されたときに第2のコンピューティングデバイスに
よって自動的に生成される、請求項15に記載のシステム。
The system of claim 15, wherein the metadata is automatically generated by a second computing device when the image is stored.
前記表示域の位置を選択するステップは、
所定の数の表示域の位置から各表示域の位置について、前記表示域内にある前記関心箇
所に割り当てられた重みの合計を計算すること、
前記所定の数の表示域の位置の中で最大の重みの合計に関連する表示域の位置を選択す
ることを含む、請求項15に記載のシステム。
The step of selecting the position of the display area,
Calculating the sum of the weights assigned to the points of interest within the display area for each display area position from a predetermined number of display area positions;
16. The system of claim 15, comprising selecting a display area position associated with the largest sum of weights among the predetermined number of display area positions.
JP2020020349A 2013-03-14 2020-02-10 Image cropping according to points of interest Pending JP2020107343A (en)

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
JP2017231481A Division JP6681867B2 (en) 2013-03-14 2017-12-01 Crop image according to the point of interest

Publications (1)

Publication Number Publication Date
JP2020107343A true JP2020107343A (en) 2020-07-09

Family

ID=51527332

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2016501270A Active JP6255081B2 (en) 2013-03-14 2014-03-11 Crop an image according to the area of interest
JP2017231481A Active JP6681867B2 (en) 2013-03-14 2017-12-01 Crop image according to the point of interest
JP2020020349A Pending JP2020107343A (en) 2013-03-14 2020-02-10 Image cropping according to points of interest

Family Applications Before (2)

Application Number Title Priority Date Filing Date
JP2016501270A Active JP6255081B2 (en) 2013-03-14 2014-03-11 Crop an image according to the area of interest
JP2017231481A Active JP6681867B2 (en) 2013-03-14 2017-12-01 Crop image according to the point of interest

Country Status (7)

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

Families Citing this family (18)

* 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
US9489757B2 (en) 2013-10-16 2016-11-08 Microsoft Technology Licensing, Llc Resizable text backing shapes for digital images
US20150103092A1 (en) * 2013-10-16 2015-04-16 Microsoft Corporation Continuous Image Optimization for Responsive Pages
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 (en) * 2015-05-29 2017-05-17 삼성전자주식회사 Method and device for displaying an image
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
JP2019521459A (en) 2016-05-10 2019-07-25 エフエーピーエル・エルエルシー System and method for linking database entries in a network platform
US10623666B2 (en) * 2016-11-07 2020-04-14 Snap Inc. Selective identification and order of image modifiers
CN106649681B (en) * 2016-12-15 2020-06-05 北京金山安全软件有限公司 Data processing method, device and equipment
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 (en) 2018-12-27 2024-07-25 삼성디스플레이 주식회사 Imaging apparatus and driving method of the same
CN109639569B (en) * 2019-01-31 2021-09-14 维沃移动通信有限公司 Social communication method and terminal
WO2021118954A1 (en) * 2019-12-13 2021-06-17 Google Llc Personalized automatic video cropping
GB202005277D0 (en) * 2020-04-09 2020-05-27 Samsung Electronics Co Ltd Image Processing

Family Cites Families (60)

* 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 (en) 2006-01-06 2007-07-03 삼성전자주식회사 Method for displaying image in wireless terminal
JP2007214781A (en) 2006-02-08 2007-08-23 Fujifilm Corp Image trimming device, image trimming method, and program thereof
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
US8218830B2 (en) * 2007-01-29 2012-07-10 Myspace Llc Image editing system and method
US20080215985A1 (en) * 2007-02-23 2008-09-04 Tabblo, Inc. Method for initial layout of story elements in a user-generated online story
KR100811796B1 (en) * 2007-03-30 2008-03-10 삼성전자주식회사 Mobile terminal and method for displaying image using focus information thereof
US8154625B2 (en) * 2007-04-02 2012-04-10 Research In Motion Limited Camera with multiple viewfinders
KR101201227B1 (en) 2007-11-20 2012-11-13 삼성전자주식회사 Mage forming apparatus and multi crop image forming method thereof
US8009921B2 (en) * 2008-02-19 2011-08-30 Xerox Corporation Context dependent intelligent thumbnail images
US9143573B2 (en) * 2008-03-20 2015-09-22 Facebook, Inc. Tag suggestions for images on online social networks
PT2269371T (en) * 2008-03-20 2018-05-08 Inst Rundfunktechnik Gmbh A method of adapting video images to small screen sizes
JP5015838B2 (en) * 2008-03-31 2012-08-29 能美防災株式会社 Smoke detector
JP5016541B2 (en) * 2008-04-01 2012-09-05 富士フイルム株式会社 Image processing apparatus and method, and program
US20090295787A1 (en) 2008-06-02 2009-12-03 Amlogic, Inc. Methods for Displaying Objects of Interest on a Digital Display Device
US9020298B2 (en) * 2009-04-15 2015-04-28 Microsoft Technology Licensing, Llc Automated image cropping to include particular subjects
US20100299627A1 (en) * 2009-05-20 2010-11-25 Qualcomm Incorporated Method and apparatus for content boundary detection and scaling
US8406515B2 (en) * 2009-06-24 2013-03-26 Hewlett-Packard Development Company, L.P. Method for automatically cropping digital images
US8180178B2 (en) * 2009-06-24 2012-05-15 Hewlett-Packard Development Company, L.P. Autocropping and autolayout method for digital images
WO2011013062A1 (en) * 2009-07-30 2011-02-03 Koninklijke Philips Electronics N.V. Distributed image retargeting
KR20120055632A (en) * 2009-08-11 2012-05-31 코닌클리케 필립스 일렉트로닉스 엔.브이. 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 (en) * 2009-10-20 2014-01-01 深圳富泰宏精密工业有限公司 Mobile phone and processing method of wallpaper thereof
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 (en) 2011-01-18 2011-06-08 최낙언 Method, server and computer-readable recording medium for setting the relations between objects and provding the same
JP2012160950A (en) 2011-02-01 2012-08-23 Nikon Corp Image processing device, imaging device, and display device
US8401292B2 (en) * 2011-04-26 2013-03-19 Eastman Kodak Company Identifying high saliency regions in digital images
WO2013031096A1 (en) * 2011-08-29 2013-03-07 パナソニック株式会社 Image processing device, image processing method, program, integrated circuit
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 (en) * 2012-12-25 2014-07-07 Canon Inc Image processing apparatus, image processing method, and program
KR101800617B1 (en) * 2013-01-02 2017-12-20 삼성전자주식회사 Display apparatus and Method for video calling thereof
US9607235B2 (en) * 2013-03-14 2017-03-28 Facebook, Inc. Image cropping according to points of interest
JP5769755B2 (en) * 2013-04-24 2015-08-26 キヤノン株式会社 Image processing system, image processing apparatus, and image processing method
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 (en) * 2014-03-19 2018-02-21 株式会社東芝 Image processing apparatus, method thereof, and program thereof
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

Also Published As

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

Similar Documents

Publication Publication Date Title
JP6681867B2 (en) Crop image according to the point of interest
JP6615260B2 (en) Generating offline content
JP6511429B2 (en) User experience interface or user interface based on interaction history
JP6431144B2 (en) Image filtering based on social context
JP6426630B2 (en) Prompted sharing of photos
KR101826113B1 (en) Method and systems for in-line images in messages
US20190138331A1 (en) Contextual and Personalized Help
JP6055122B2 (en) Ranking videos for users
JP5933864B2 (en) Social context for applications
JP6349331B2 (en) Aggregation of contacts in social networks
KR20150115001A (en) Varying user interface based on location or speed
JP6445464B2 (en) Friends lunch
JP6531156B2 (en) Providing content in time slots on client computing devices
JP7242669B2 (en) Serving content across multiple devices

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200310

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20211102