KR20190002539A - 컨텐츠를 표시하기 위한 시스템 및 방법 - Google Patents

컨텐츠를 표시하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20190002539A
KR20190002539A KR1020187033538A KR20187033538A KR20190002539A KR 20190002539 A KR20190002539 A KR 20190002539A KR 1020187033538 A KR1020187033538 A KR 1020187033538A KR 20187033538 A KR20187033538 A KR 20187033538A KR 20190002539 A KR20190002539 A KR 20190002539A
Authority
KR
South Korea
Prior art keywords
content item
interest
point
user
computing device
Prior art date
Application number
KR1020187033538A
Other languages
English (en)
Other versions
KR102505524B1 (ko
Inventor
클리프 워렌
찰스 매튜 서튼
체탄 패러그 굽타
조이스 수
애닝 후
제유 젱
Original Assignee
페이스북, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 페이스북, 인크. filed Critical 페이스북, 인크.
Publication of KR20190002539A publication Critical patent/KR20190002539A/ko
Application granted granted Critical
Publication of KR102505524B1 publication Critical patent/KR102505524B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47217End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Television Signal Processing For Recording (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

시스템, 방법 및 비-일시적 컴퓨터-판독가능한 매체는 컨텐츠 아이템에 접근하기 위한 적어도 하나의 요청을 결정할 수 있고, 요청된 컨텐츠 아이템은 상이한 위치들의 세트로부터 하나 이상의 장면을 캡처하는 카메라 피드 세트를 사용하여 작성된다. 요청된 컨텐츠 아이템 내의 장면들의 적어도 일부를 탐색하기 위한 자동화된 시청 모드를 설명하는 정보가 획득된다. 뷰포트 인터페이스는 요청된 컨텐츠 아이템의 재생이 표시되는 컴퓨팅 장치의 디스플레이 스크린 상에 제공된다. 뷰포트 인터페이스는 자동화된 시청 모드에 적어도 부분적으로 기반하여 요청된 컨텐츠 아이템의 재생 동안에 장면들의 적어도 일부를 통해 자동으로 탐색된다.

Description

컨텐츠를 표시하기 위한 시스템 및 방법
본 기술은 컨텐츠 표시 분야에 관한 것이다. 특히, 본 기술은 컴퓨팅 장치를 통한 컨텐츠 아이템 표시를 위한 기술에 관한 것이다.
오늘날, 사람들은 매우 다양한 목적으로 종종 컴퓨팅 장치(또는 시스템)를 사용한다. 사용자는 그 컴퓨팅 장치를 구동하여, 예컨대 서로 상호작용하고, 컨텐츠를 생성하고, 컨텐츠를 공유하고, 정보에 접근할 수 있다. 종래의 접근법에서, 컨텐츠 아이템(예컨대, 이미지, 비디오, 오디오 파일 등)은 컨텐츠 공유 플랫폼을 통하여 사용가능해질 수 있다. 사용자는 그 컴퓨팅 장치를 구동하여 플랫폼을 통해 컨텐츠 아이템에 접근할 수 있다.  일반적으로, 컨텐츠 아이템은 예컨대 컨텐츠 발행자 및 컨텐츠 공유 플랫폼의 사용자도 포함하여 다양한 엔티티에 의하여 제공 또는 업로드될 수 있다.  일부 예시에서, 컨텐츠 아이템은 카테고리화 및/또는 큐레이팅될 수 있다.
본 발명의 내용 중에 포함되어 있다.
본 명세서의 다양한 실시예는 컨텐츠 아이템에 접근하기 위한 적어도 하나의 요청을 결정하도록 구성된 시스템, 방법 및 비-일시적 컴퓨터 판독가능한 저장 매체를 포함할 수 있는데, 요청된 컨텐츠 아이템은 상이한 위치의 세트로부터 하나 이상의 장면을 캡처하는 카메라 피드의 세트를 사용하여 구성된다. 요청된 컨텐츠 아이템 내에서 장면들의 적어도 일부를 탐색하기 위한 자동화된 시청 모드를 서술하는 정보가 획득된다.  뷰포트 인터페이스가 요청된 컨텐츠 아이템의 재생이 표시되는 컴퓨팅 장치의 디스플레이 스크린 상에 제공된다.  뷰포트 인터페이스는 자동화된 시청 모드에 적어도 부분적으로 기반하여 요청된 컨텐츠 아이템의 재생 동안에 장면들의 적어도 일부를 통해 자동으로 탐색된다.
일부 실시예로, 시스템, 방법 및 비-일시적 컴퓨터 판독가능한 매체는 요청된 컨텐츠 아이템의 재생 동안에 장면들의 적어도 일부를 통해 뷰포트 인터페이스를 탐색하기 위한 적어도 하나의 궤적을 기술하는 정보를 획득하도록 구성된다.
일부 실시예로, 시스템, 방법 및 비-일시적 컴퓨터 판독가능한 매체는 사용자의 하나 이상의 속성에 적어도 부분적으로 기반하여 컴퓨팅 장치를 동작하는 사용자에 대응하는 카테고리를 결정하고 카테고리와 연관된 적어도 하나의 궤적을 획득하도록 구성되고, 상기 궤적은 카테고리에 포함된 적어도 일부 사용자들에게 관심이 있는 것으로 결정된다.
일부 실시예로, 시스템, 방법 및 비-일시적 컴퓨터 판독가능한 매체는 요청된 컨텐츠 아이템의 재생 동안에 나타나는 적어도 하나의 관심 지점을 설명하는 정보를 획득하고 요청된 컨텐츠 아이템의 재생 동안에 장면의 적어도 일부를 통해 뷰포트 인터페이스를 탐색하기 위한 적어도 하나의 궤적을 기술하는 정보를 획득하도록 구성되고, 상기 궤적은 적어도 하나의 관심 지점을 포함한다.
일부 실시예로, 적어도 하나의 관심 지점은 요청된 컨텐츠 아이템의 발행자에 의해 정의된다.
일부 실시예로, 시스템, 방법 및 비-일시적 컴퓨터 판독가능한 매체는 사용자의 하나 이상의 속성에 적어도 부분적으로 기반하여 컴퓨팅 장치를 동작하는 사용자에 대응하는 카테고리를 결정하고 카테고리와 연관된 적어도 하나의 관심 지점을 획득하도록 구성되고, 상기 관심 지점은 카테고리에 포함된 적어도 일부 사용자들에게 관심이 있는 것으로 결정된다.
일부 실시예로, 시스템, 방법 및 비-일시적 컴퓨터 판독가능한 매체는 컴퓨팅 장치를 동작하는 사용자가 요청된 컨텐츠 아이템의 재생 동안에 특정 관심 지점으로 뷰포트 인터페이스를 수동으로 탐색하기 위한 하나 이상의 행위를 수행했다고 결정하고, 특정 관심 지점을 공유하기 위한 동작이 수행되었다고 결정하며, 특정 관심 지점을 기술하는 정보가 소셜 네트워킹 시스템을 통해 공유되도록 야기하게끔 구성된다.
일부 실시예로, 시스템, 방법 및 비-일시적 컴퓨터 판독가능한 매체는 컴퓨팅 장치를 동작하는 사용자가 요청된 컨텐츠 아이템의 재생 동안에 맞춤형 궤적을 생성하기 위해 뷰포트 인터페이스를 수동으로 탐색하기 위한 하나 이상의 행위를 수행했다고 결정하고, 맞춤형 궤적을 공유하는 동작이 수행되었다고 결정하며, 맞춤형 궤적을 기술하는 정보가 소셜 네트워킹 시스템을 통해 공유되도록 야기하게끔 구성된다.
일부 실시예로, 시스템, 방법 및 비-일시적 컴퓨터 판독가능한 매체는 요청된 컨텐츠 아이템이 제1 관심 지점과 제2 관심 지점을 포함한다고 결정하고, 제1 관심 지점으로부터 제2 관심 지점으로 뷰포트 인터페이스를 자동으로 탐색하기 전에 뷰포트 인터페이스 내에 방향 표시자가 디스플레이되도록 야기하게끔 구성되고, 제2 관심 지점은 요청된 컨텐츠 아이템의 재생 동안에 제1 관심 지점에 후속하여 나타나고 상기 방향 표시자는 제2 관심 지점에 대응하는 방향으로 가리킨다.
일부 실시예로, 시스템, 방법 및 비-일시적 컴퓨터 판독가능한 매체는 요청된 컨텐츠 아이템이 제1 관심 지점과 제2 관심 지점을 포함한다고 결정하고, 적어도 하나의 필름 전환 기술을 사용하여 뷰포트 인터페이스로 하여금 제1 관심 지점으로부터 제2 관심 지점으로 자동으로 탐색되도록 야기하게끔 구성되며, 상기 제2 관심 지점은 요청된 컨텐츠 아이템의 재생 동안에 제1 관심 지점에 후속하여 나타난다.
개시된 기술의 많은 다른 특징, 응용, 실시예 및/또는 변형이 첨부된 도면 및 다음의 상세한 설명으로부터 명백할 것이라는 것을 이해할 것이다. 본 명세서에 서술되는 구조, 시스템, 비일시적 컴퓨터 판독가능한 매체 및 방법의 추가 및/또는 대안적 구현이 개시된 기술의 원리로부터 벗어남 없이 채용될 수 있다.
본 발명의 내용 중에 포함되어 있다.
도 1은 본 명세서의 일실시예에 따른 예시적인 컨텐츠 표시 모듈을 포함하는 예시적인 시스템을 도시한다.
도 2는 본 명세서의 일실시예에 따른 인터페이스 모듈의 예시를 도시한다.
도 3은 본 명세서의 일실시예에 따른 컨텐츠 감독자 모듈의 예시를 도시한다.
도 4a-c는 본 명세서의 일실시예에 따른 컨텐츠 아이템이 접근되는 동안 탐색 표시자가 표시되는 뷰포트 인터페이스의 예시를 도시한다.
도 5는 본 명세서의 일실시예에 따른 가상 컨텐츠 아이템을 위해 사용자 경험을 맞춤화하기 위한 발행자 인터페이스의 예시를 도시한다.
도 6a-f는 본 명세서의 일실시예에 따른 컨텐츠 아이템이 접근될 때 뷰포트 인터페이스에 표시될 수 있는 탐색 표시자의 예시를 도시한다.
도 7은 본 명세서의 일실시예에 따른 뷰포트 인터페이스를 탐색하기 위한 예시적인 방법을 도시한다.
도 8은 본 명세서의 일실시예에 따른 다양한 시나리오에서 이용될 수 있는 예시적인 소셜 네트워킹 시스템을 포함하는 예시적인 시스템의 네트워크도를 도시한다.
도 9는 본 명세서의 일실시예에 따른 다양한 시나리오에서 이용될 수 있는 컴퓨터 시스템 또는 컴퓨팅 장치의 예시를 도시한다.
도면들은 오로지 예시적인 목적을 위해 개시된 기술의 다양한 실시예들을 도시하며, 도면들은 같은 구성요소를 식별하기 위해 같은 참조 번호를 사용한다. 통상의 기술자는 다음의 설명으로부터 도면들에 도시된 구조들 및 방법들의 대안적 실시예가 본 명세서에 기술된, 개시된 기술의 원리로부터 벗어남이 없이 이용될 수 있음을 쉽게 인식할 것이다.
컨텐츠 표시를 위한 접근법
사람들은 매우 다양한 목적으로 컴퓨팅 장치(또는 시스템)를 사용한다. 상술한 바와 같이, 종래의 접근법에서, 사용자는 컴퓨팅 장치를 이용하여 다른 사용자와 컨텐츠 아이템(예컨대, 문서, 이미지, 비디오, 오디오 등)을 공유할 수 있다. 종래의 접근법에서, 컨텐츠 아이템(예컨대, 이미지, 비디오, 오디오 파일 등)은 컨텐츠 공유 플랫폼을 통하여 사용가능해질 수 있다.  사용자는 그 컴퓨팅 장치를 구동하여 플랫폼을 통해 컨텐츠 아이템에 접근할 수 있다.  일반적으로, 컨텐츠 아이템은 예컨대 컨텐츠 발행자 및 컨텐츠 공유 플랫폼의 사용자도 포함하여 다양한 엔티티에 의하여 제공 또는 업로드될 수 있다.
일부 경우에, 사용자는 가상 컨텐츠에 예컨대 그 컴퓨팅 장치, 가상 현실 시스템 및/또는 헤드 마운트 디스플레이의 디스플레이 스크린을 통해 접근할 수 있다. 예컨대, 가상 컨텐츠는 지리적 위치와 같은 장면 및/또는 수행중인 활동을 캡처하는 하나 이상의 비디오 및/또는 이미지를 사용하여 구성될 수 있다. 이러한 장면은 실제 세계로부터 캡처되거나 컴퓨터 생성될 수 있다. 일부 경우에, 가상 컨텐츠가 구성되어 사용자는 가상 컨텐츠에 의해 캡처된 장면 내를 탐색할 수 있다. 따라서, 가상 컨텐츠에 접근함으로써, 예컨대 마치 사용자가 주어진 장소에 물리적으로 존재하거나 및/또는 장면에 표현되는 활동을 물리적으로 수행하는 것처럼 사용자는 캡처된 장면을 가상으로 경험 및 탐색할 수 있다.
가상 컨텐츠는 예컨대, 장면의 360도 시야를 캡처하는 구형 비디오일 수 있다. 구형 비디오는 장면의 360도 시야를 캡처하기 위하여 상이한 장소 및/또는 위치에 배치된 카메라에 의해 캡처된 다양한 비디오 스트림 또는 피드를 함께 스티칭함으로써 생성될 수 있다. 함께 스티칭되면, 사용자는 일부 각도에서 구형 비디오의 부분을 열람하기 위하여 구형 비디오를 접근 또는 재생할 수 있다.  일반적으로, 구형 비디오에 접근하는 동안, 사용자는 줌 및 뷰포트의 방향(예컨대, 피치, 요우, 롤)을 변경하여 구형 비디오에 의해 캡처된 장면의 다른 부분에 접근할 수 있다. 가상 컨텐츠의 특성 상, 사용자는 뷰포트의 줌 단계 및/또는 방향에 대한 변경 사항을 계속 추적하는데 어려움이 있을 수 있다.  이러한 변경은 가상 컨텐츠의 게시자에 의해 명시된 의도된 줌 수준 및/또는 뷰포트 방향으로부터 벗어날 수 있다. 일부 예시에서, 뷰포트 방향을 조작하는 동안 사용자는 하나 이상의 관심 지점을 포함하는 구형 비디오의 일부를 놓칠 수 있다. 예컨대, 사용자는 뷰포트 방향이 반대 방향을 향한다면 관심 지점이 사용자에게 가시적일 수 있던 시간에 하나의 방향을 응시하도록 뷰포트의 방향을 변경할 수 있다. 이러한 관심 지점을 놓치는 것은 전체 사용자 경험을 저해할 수 있고 또한, 가상 컨텐츠와의 사용자 참여에 부정적인 영향을 줄 수 있다. 따라서, 이러한 종래의 접근법은 이들 및 컴퓨터 기술에서 발생하는 다른 문제를 다루는데 효과적이지 않을 수 있다.
컴퓨터 기술에 뿌리를 둔 향상된 접근법은 상기 및 특히 컴퓨터 기술 영역에서 발생하는 종래의 접근법과 연관된 다른 단점을 극복한다. 다양한 실시예에서, 탐색 요소 또는 표시자는 가상 컨텐츠가 표시되는 인터페이스 또는 뷰포트에 제공될 수 있다. 사용자가 가상 컨텐츠와 상호작용함에 따라 탐색 표시자는 자동으로 업데이트되어 i) 가상 컨텐츠에 의해 캡처된 장면 내의 뷰포트의 방향 또는 방위 및/또는 ii) 뷰포트의 줌 수준을 시각적으로 표시할 수 있다.  다양한 실시예로, 탐색 표시자는 또한, 접근되는 가상 컨텐츠 내에 존재하는 관심 지점의 각 방향이나 방위를 나타내도록 구성될 수 있다.  관심 지점의 방향은 예컨대, 뷰포트의 방향에 대하여 탐색 표시자 내에서 식별될 수 있다. 결과적으로, 사용자는 관심 지점의 상대적 방향뿐 아니라 시청을 위해 언제 관심 지점이 이용가능한지를 쉽게 결정할 수 있다. 일부 실시예로, 사용자는 사용자의 뷰포트를 관심 지점으로 자동으로 가이드하는 자동 모드를 이용할 수 있다.
도 1은 본 명세서의 일실시예에 따른 사용자에게 컨텐츠 아이템을 제공하도록 구성된 예시적인 컨텐츠 표시 모듈(102)을 포함하는 예시적인 시스템(100)을 도시한다. 도 1의 예시에 도시된 바와 같이, 컨텐츠 표시 모듈(102)은 인터페이스 모듈(104), 컨텐츠 모듈(106), 및 컨텐츠 감독자 모듈(108)을 포함할 수 있다. 일부 예시에서, 시스템(100)의 예시는 적어도 하나의 데이터 스토어(110)를 포함할 수 있다.  이 도면 및 본 명세서의 모든 도면에 도시된 컴포넌트(예컨대, 모듈, 요소 등)는 오직 예시적인 것이고, 다른 구현은 추가적이거나, 더 적거나, 통합되거나, 상이한 컴포넌트를 포함할 수 있다. 일부 컴포넌트는 관련 세부사항을 모호하게 하지 않기 위해 도시되지 않을 수 있다.
일부 실시예에서, 컨텐츠 표시 모듈(102)은 일부 또는 전체로서, 소프트웨어, 하드웨어 또는 그들의 임의의 조합으로 구현될 수 있다. 일반적으로, 본 명세서에서 논의되는 모듈은 소프트웨어, 하드웨어 또는 그들의 임의의 조합과 연관될 수 있다. 일부 구현에서, 모듈의 하나 이상의 기능, 작업 및/또는 동작은 소프트웨어 루틴, 소프트웨어 프로세스, 하드웨어 및/또는 그들의 임의의 조합에 의해 이행 또는 수행될 수 있다. 일부 경우에, 컨텐츠 표시 모듈(102)은 사용자 컴퓨팅 장치나 클라이언트 컴퓨팅 시스템과 같은 하나 이상의 컴퓨팅 장치 또는 시스템 상에서 실행되는 소프트웨어로 부분적 또는 전체로 구현될 수 있다. 예를 들어, 컨텐츠 표시 모듈(102) 또는 그 적어도 일부는 사용자 컴퓨팅 장치 또는 클라이언트 컴퓨팅 시스템, 예컨대 도 8의 사용자 장치(810) 상에서 실행되는 애플리케이션(예컨대, 앱), 프로그램 또는 애플릿 등으로서 또는 그 내부에 구현될 수 있다. 나아가, 컨텐츠 표시 모듈(102), 또는 적어도 그 일부는 네트워크 서버나 클라우드 서버와 같은 하나 이상의 서버를 포함하는 하나 이상의 컴퓨팅 장치 또는 시스템을 사용하여 구현될 수 있다.  일부 예에서, 컨텐츠 표시 모듈(102)은 부분 또는 전체로, 도 8의 소셜 네트워킹 시스템(830)과 같은 소셜 네트워킹 시스템(또는 서비스) 내에 구현되거나 함께 동작하도록 구성될 수 있다. 다양한 변형 또는 다른 가능성이 있을 수 있다는 것을 이해하여야 한다.
다양한 실시예에서, 컨텐츠 표시 모듈(102)은 인터페이스 모듈(104) 및 컨텐츠 모듈(106)을 이용하여 사용자에게 컨텐츠 아이템을 제공할 수 있다. 인터페이스 모듈(104)은 컨텐츠 아이템이 표시(예컨대, 스트리밍)될 수 있는 뷰포트(예컨대, 그래픽 사용자 인터페이스)를 제공하도록 구성될 수 있다. 예를 들어, 뷰포트는 사용자가 구동중인 컴퓨팅 방지 상에서 실행되는 소프트웨어 애플리케이션을 통하여 제공될 수 있고 뷰포트는 컴퓨팅 장치의 디스플레이 스크린을 통해 표시될 수 있다. 사용자는 예컨대, 입력 장치를 통하여 또는 디스플레이 스크린을 통하여 터치 스크린 제스처를 수행함으로써 뷰포트와 상호작용할 수 있다. 인터페이스 모듈(104)에 관한 세부 사항은 도 2와 관련되어 후술된다.
컨텐츠 모듈(106)은 인터페이스 모듈(104)이 제공하는 인터페이스를 통해 표시될 수 있는 다양한 타입의 컨텐츠 아이템을 제공하도록 구성될 수 있다. 예컨대, 컨텐츠 아이템은 소셜 네트워킹 시스템(예컨대, 도 8의 소셜 네트워킹 시스템(830)) 또는 일부 다른 컨텐츠 제공자 시스템으로부터 획득될 수 있다. 다양한 실시예에서, 컨텐츠 모듈(106)은 장면(예컨대, 지리적 위치 및/또는 수행되는 활동)을 캡처하는 하나 이상의 비디오 및/또는 이미지를 사용하여 구성될 수 있는 가상 컨텐츠를 제공할 수 있다. 이러한 장면은 실제 세계로부터 캡처되거나 컴퓨터 생성될 수 있다. 가상 컨텐츠는 예컨대, 장면의 360도 시야를 캡처하는 구형 비디오일 수 있다.  나아가, 가상 컨텐츠는 주어진 순간에 표시될 수 있는 뷰포트보다 큰 임의의 크기인 컨텐츠를 포함할 수 있다. 이러한 경우에, 뷰포트는 뷰포트 위치가 변경됨에 따라 컨텐츠의 상이한 위치를 표시할 수 있다. 일례로, 가상 컨텐츠는 예컨대 몇몇 예를 들자면, 직선 스티칭, 구형 스티칭, 큐브 스티칭을 포함하여 일반적으로 알려진 이미지 스티칭 기술을 사용하여 생성될 수 있다.  다른 예시로, 가상 컨텐츠는 관심 지점과 같은 장면의 360도 시야를 캡처하는 구형 비디오일 수 있다. 가상 컨텐츠의 일부 다른 예시는 모노스코프 360도 시야를 사용하여 구성된 비디오, 스테레오스코프 180도 시야를 사용하여 구성된 비디오 등을 포함할 수 있다. 구형 비디오는 장면의 360도 시야를 캡처하기 위하여 상이한 장소 및/또는 위치에 배치된 카메라에 의해 캡처된 다양한 비디오 스트림 또는 피드를 함께 스티칭함으로써 생성될 수 있다. 이러한 비디오 스트림은 구형 비디오의 다양한 각도(예컨대, 0도, 30도, 60도 등)에 대해 미리 결정될 수 있다.  함께 스티칭되면, 사용자는 일부 각도에서 구형 비디오의 부분을 열람하기 위하여 구형 비디오를 접근 또는 재생할 수 있다. 사용자에게 보여지는 구형 비디오의 부분은 3차원 공간에서 사용자의 뷰포트의 위치 및 방향에 기반하여 결정될 수 있다.
컨텐츠 감독자 모듈(108)은 가상 컨텐츠를 시청할 때 사용자 경험의 맞춤화를 허용하는 다양한 특징으로의 접근을 컨텐츠 발행자에게 제공할 수 있다. 컨텐츠 감독자 모듈(108)에 관한 더 상세한 내용은 도 3을 참조하여 아래에서 제공될 것이다.
일부 실시예에서, 컨텐츠 표시 모듈(102)은 예시적인 시스템(100)의 적어도 하나의 데이터 스토어(110)와 통신 및/또는 동작하도록 구성될 수 있다. 적어도 하나의 데이터 스토어(110)는 다양한 타입의 데이터를 저장 및 유지하도록 구성될 수 있다.  다양한 실시예에서, 적어도 하나의 데이터 스토어(110)는 컨텐츠 표시 모듈(102)의 기능 및 동작과 관련된 데이터를 저장할 수 있다. 이러한 데이터의 일례는 인터페이스 모듈(104)이 제공하는 인터페이스를 통해 접근 가능한 가상 컨텐츠 아이템이다. 일부 구현에서, 적어도 하나의 데이터 스토어(110)는 소셜 네트워킹 시스템(예컨대, 도 8의 소셜 네트워킹 시스템(830))과 연관된 정보를 저장할 수 있다. 소셜 네트워킹 시스템과 연관된 정보는 사용자에 대한 데이터, 소셜 연결, 소셜 상호작용, 위치, 지오펜스 영역, 지도, 장소, 이벤트, 페이지, 그룹, 게시물, 통신, 컨텐츠, 피드, 계정 설정, 사생활 설정, 소셜 그래프 및 다양한 다른 타입의 데이터를 포함할 수 있다. 일부 구현에서, 적어도 하나의 데이터 스토어(110)는 사용자와 연관된 정보, 예컨대 사용자 식별자, 사용자 정보, 프로필 정보, 사용자 고유 설정, 사용자에 의해 생성 또는 게시된 컨텐츠 및 다양한 다른 타입의 사용자 데이터를 저장할 수 있다. 많은 변형 또는 다른 가능성이 있을 수 있음을 이해할 것이다.
도 2는 본 명세서의 일실시예에 따른 인터페이스 모듈(202)의 예시를 도시한다. 일부 실시예에서, 도 1의 인터페이스 모듈(104)은 인터페이스 모듈(202)로 구현될 수 있다. 도 2의 예시에 도시된 바와 같이, 인터페이스 모듈(202)은 뷰 방향 모듈(204), 뷰 줌 수준 모듈(206), 표시자 모듈(208), 관심 지점 모듈(210), 자동 모드 모듈(212) 및 움직임 전환 모듈(214)을 포함할 수 있다.
상술한 바와 같이, 인터페이스 모듈(202)은 컨텐츠 아이템(예컨대, 가상 컨텐츠 아이템)이 표시 및 접근될 수 있는 뷰포트(예컨대, 그래픽 사용자 인터페이스)를 제공하도록 구성될 수 있다. 다양한 실시예에서, 사용자는 사용자에 의해 동작 중인 컴퓨팅 장치를 사용하여 도 1의 컨텐츠 모듈(106)을 통하여 제공되는 가상 컨텐츠 아이템에 접근할 수 있다. 컴퓨팅 장치는 예컨대, 휴대 전화, 태블릿, 가상 현실 시스템 및/또는 헤드 마운트 디스플레이를 포함하여 컨텐츠를 처리 및 표시할 수 있는 임의의 장치일 수 있다.  접근되면, 인터페이스 모듈(202)은 컴퓨팅 장치의 디스플레이 스크린을 통하여 가상 컨텐츠 아이템을 표시할 수 있다.
가상 컨텐츠 아이템이 처음 접근될 때, 컴퓨팅 장치와 연관된 뷰포트는 가상 컨텐츠 아이템의 장면의 특정 부분을 디스플레이할 수 있다. 보여지는 부분은 장면과 관련하여 뷰포트의 위치 및/또는 방향(예컨대, 피치, 요우, 롤)에 기반할 수 있다. 일부 실시예로, 도시된 부분은 가상 컨텐츠 아이템의 발행자에 의해 명시된 위치 및/또는 방향(예컨대, 피치, 요우, 롤)에 대응한다. 일부 실시예에서, 사용자는 가상 컨텐츠 아이템에 의해 캡처되는 장면(들)을 가상으로 탐색함으로써 장면의 상이한 부분을 열람할 수 있다.  예컨대, 사용자가 모바일 장치를 사용하여 가상 컨텐츠 아이템에 접근하고 있다면, 이후 사용자는 예컨대, 터치 스크린 제스처에 기반하거나 및/또는 원하는 위치 및/또는 방향으로 물리적으로 움직인 모바일 장치에 기반하여 뷰포트의 위치 및/또는 방향을 변경함으로써 가상 컨텐츠 아이템 내의 장면(들)을 탐색할 수 있다.
뷰포트 위치 및/또는 방향에 대한 이러한 변경은 사용자가 가상 컨텐츠 아이템과 상호작용함에 따라 뷰 방향 모듈(204)에 의해 실시간으로 결정될 수 있다. 다른 예시에서, 사용자는 주어진 장면에 접근하는 동안 뷰포트의 줌 수준도 변경할 수 있다.  예를 들어, 사용자는 장면의 어떤 부분을 보기 위하여 뷰포트의 줌 수준을 증가 또는 감소시키기 원할 수 있다. 뷰포트 줌 수준에 대한 이러한 변경은 뷰 줌 수준 모듈(206)에 의해 실시간으로 결정될 수 있다.  사용자는 예컨대, 터치 제스처(예컨대, 스와이프 제스처, 드래그 제스처, 슬라이드 제스처, 탭 제스처, 더블 탭 제스처, 핀치 제스처, 스프레드 제스처, 회전 제스처, 플릭 제스처 등) 및/또는 컴퓨팅 장치 제스처를 수행함으로써 뷰포트에 대한 변경(예컨대, 위치, 방향, 줌 등)을 할 수 있다. 컴퓨팅 장치 제스처(예컨대, 틸트)는 예컨대 컴퓨팅 장치의 하나 이상의 센서(예컨대, 자이로스코프, 가속도계 및/또는 관성 측정 유닛)를 사용하여 결정될 수 있다. 나아가, 만약 가상 현실 헤드 마운트 디스플레이를 통해 가상 컨텐츠 아이템에 접근한다면, 사용자는 사용자의 머리의 방향을 바꿈으로써 뷰포트의 방향을 바꿀 수 있다. 당연히, 다른 접근법이 구형 비디오 내의 탐색 및 줌을 위해 이용될 수 있다. 일반적으로, 뷰포트에 대한 변경 또는 조정은 실시간으로(예컨대, 지속적으로 또는 특정 시간 간격으로) 뷰 방향 모듈(204) 및 뷰 줌 수준 모듈(206)에 의해 모니터링될 수 있다. 이러한 변경은 뷰포트를 업데이트하는데 사용되어 가상 컨텐츠 아이템에서 적절한 이미지 및/또는 스트림이 뷰포트에 대한 변경에 기반하여 결정된 바와 같이 사용자에게 표시될 수 있다.
언급한 바와 같이 일부 경우에, 줌 수준 및/또는 뷰포트 방향에 대한 변경을 추적하지 못하면 사용자가 접근되는 가상 컨텐츠에 대해 방향을 잃을 수 있고 이러한 방향 상실은 사용자 경험을 저하할 수 있다. 따라서, 다양한 실시예에서, 표시자 모듈(208)은 가상 컨텐츠가 표시되는 뷰포트에 탐색 표시자를 제공하도록 구성될 수 있다. 일부 경우에, 탐색 표시자는 뷰포트 내의 오버레이로 제공된다.  탐색 표시자는 i) 가상 컨텐츠에 의해 캡처된 장면(들)의 뷰포트의 방향 및/또는 방위 및/또는 ii) 장면(들) 내의 뷰포트의 줌 수준을 시각적으로 표시할 수 있다.  일부 경우에, 탐색 표시자에 의해 표시되는 방향은 요우(즉, 수직축을 따르는 뷰포트의 움직임)에 기반하여 결정될 수 있다.  하지만, 구현에 따라서, 탐색 표시자는 피치(즉, 가로축을 따르는 뷰포트의 움직임) 및/또는 롤(세로축을 따르는 뷰포트의 움직임)도 표시할 수 있다. 탐색 표시자는 사용자가 가상 컨텐츠 아이템과 상호작용함에 따라 자동으로 업데이트되어 가상 컨텐츠 아이템이 접근되는 동안 임의의 주어진 포인트에서 뷰포트의 방향 및/또는 줌 수준을 반영할 수 있다.
일부 실시예에서, 관심 지점 모듈(210)은 접근되는 가상 컨텐츠 아이템의 장면 내의 다양한 관심 지점을 식별하는데 사용될 수 있다. 일부 실시예에서, 관심 지점이 뷰포트를 통해 표시되는 비디오 스트림에 대응하는 한 순간 또는 기간에 장면(들)의 공간적 영역으로 정의될 수 있다.  일부 실시예에서, 이러한 관심 지점은 예컨대 가상 컨텐츠 아이템의 발행자에 의해 지정될 수 있다. 일반적으로, 각 관심 지점은 가상 컨텐츠 아이템에 의해 캡처되는 장면(들) 내의 주어진 위치(예컨대, 좌표)와 연관될 수 있다. 일부 실시예에서, 탐색 표시자는 뷰포트를 통해 표시되는 장면의 뷰포트 위치의 임계 거리 내에 있는 관심 지점을 식별할 수 있다.  다양한 실시예로, 탐색 표시자는 관심 지점의 각 위치 또는 방향을 시각적으로 나타낼 수 있다. 하지만, 구현에 따라서, 관심 지점을 시각적으로 나타내기 위한 다른 접근법이 탐색 표시자에 추가로 또는 그와 별도로 사용될 수 있다. 예컨대, 일부 실시예로, 관심 지점은 관심 지점의 위치나 방향으로 가리키는 방향 표시자(예컨대, 화살표)를 사용하여 시각적으로 나타내질 수 있다. 이 예시에서, 관심 지점이 뷰포트의 우측에 위치한다면, 이후 우측을 가리키는 화살표가 뷰포트의 일부 영역에 디스플레이될 수 있다. 유사하게, 관심 지점이 뷰포트가 바라보는 방향 뒤에 있는 방향으로 위치한다면, 이후 사용자가 방향을 바꾸라고 지시하는 화살표가 디스플레이될 수 있다. 일부 실시예로, 관심 지점은 텍스트로 라벨링될 수 있다.  예컨대, 랜드마크와 같은 관심 지점은, 관심 지점의 이름, 그 위치 및/또는 관심 지점에 관한 사실을 포함하는 설명 텍스트로 라벨링될 수 있다.
일부 실시예로, 가상 컨텐츠 아이템에 의해 캡처된 장면 내의 관심 지점은 장면을 시청하는 동안 사용자에 의해 정의되거나 라벨링될 수 있다. 일례로, 장면을 시청하는 사용자는 장면 내의 일부 특징을 관심 지점으로 태그할 수 있다. 사용자는 또한, 관심 지점과 연관되도록 텍스트 라벨이나 코멘트를 제공할 수 있다. 일부 실시예로, 사용자 정의된 관심 지점은 저장되어서 가상 컨텐츠 아이템에 후속하여 접근하는 다른 사용자들이 사용자가 제공한 임의의 텍스트 레이블이나 코멘트뿐 아니라 사용자에 의해 태그된 관심 지점을 볼 수 있도록 할 수 있다. 따라서, 이러한 실시예에서, 사용자 정의된 관심 지점은, 예컨대 탐색 표시자를 포함하는 전술된 임의의 접근법을 사용하여 가상 컨텐츠 아이템에 사용자가 접근하는 동안 시각적으로 식별될 수 있다. 일부 실시예로, 사용자 정의된 관심 지점은 가상 컨텐츠 아이템 내에 통합되지 않는다. 오히려 사용자 정의된 관심 지점을 통합하는 가상 컨텐츠 아이템의 사본이 저장될 수 있다.  사용자는 이후 예컨대, 소셜 네트워킹 시스템을 통해 다른 사용자와 가상 컨텐츠 아이템의 수정된 사본을 공유할 수 있다. 일부 실시예로, 사용자 정의된 관심 지점은 각 관심 지점이 가상 컨텐츠 아이템에서 어디에서 발견될 수 있는지를 설명하는 정보(예컨대, 프레임(들), 타임스탬프, 시간 범위, 위치 데이터 가령 좌표 등) 및/또는 스크린샷으로 공유될 수 있다.
일부 실시예로, 사용자는 가상 컨텐츠 아이템에 의해 캡처된 장면을 시청하는 동안 뷰포트 궤적을 기록할 수 있다. 따라서, 이러한 실시예에서, 가상 컨텐츠 아이템에서 장면을 시청하는 동안 사용자에 의해 이루어진 뷰포트의 위치 및/또는 방향에 대한 변경은 가상 컨텐츠 아이템에 대한 사용자 뷰포트 궤적으로 저장될 수 있다. 사용자는 이후 예컨대 소셜 네트워킹 시스템을 통해 뷰포트 궤적을 다른 사용자와 공유할 수 있다. 공유된 뷰포트 궤적에 접근하는 상이한 사용자의 뷰포트는 뷰포트 궤적을 공유한 사용자에 의해 뷰포트의 위치 및/또는 방향에 대해 이루어진 변경에 기반하여 가상 컨텐츠 아이템에 의해 캡처된 장면을 통해 가이드될 수 있다.
일부 실시예로, 가상 컨텐츠 아이템 내 관심 지점은 사용자 뷰포트 데이터에 기반하여 자동으로 결정될 수 있다. 예컨대, 가상 컨텐츠 아이템을 시청하는 사용자 뷰포트의 각 궤적은 어떤 장면 또는 장면 내 영역이 사용자에 의해 시청되었는지를 결정하기 위해 분석될 수 있다. 일부 실시예로, 하나 이상의 히트 맵은 가상 컨텐츠 아이템에서 장면을 시청하는 동안 사용자 뷰포트의 각 위치 및/또는 방향을 집계함으로써 가상 컨텐츠 아이템에 대해 생성될 수 있다. 이러한 실시예에서, 히트 맵은 어떤 장면 또는 장면 내의 영역이 집계에서 다른 것들보다 더 인기가 있거나 흥미로웠는지를 결정하는데 사용될 수 있다. 이러한 히트 맵 정보는 관심 지점으로 특정 장면이나 장면 내 영역을 자동으로 식별하는데 사용될 수 있다. 일부 실시예로, 다수의 히트 맵이 상이한 사용자 세트에 대한 뷰포트 궤적을 집계함으로써 가상 컨텐츠 아이템에 대해 생성될 수 있다. 이러한 실시예에서, 사용자들은 속성, 가령 일부 예를 들자면 인구통계(예컨대, 성별, 연령 범위 등), 관심사(예컨대, 조류 관찰, 스노우보드 등) 및/또는 관계(예컨대, 소셜 연결이나 소셜 네트워킹 시스템에서의 "친구들")에 기반하여 상이한 세트로 카테고리화될 수 있다. 상이한 세트의 사용자에 대해 별개의 히트 맵을 생성함으로써, 관심 지점 모듈(210)은 가상 컨텐츠 아이템에서 어느 관심 지점이 그들의 공유된 속성에 따라 사용자의 카테고리 또는 세트와 가장 관련되는지를 결정할 수 있다.  일부 실시예에서, 가상 컨텐츠 아이템에 대해 자동으로 생성된 관심 지점은 제안으로서 가상 컨텐츠 아이템의 발행자에게 제공될 수 있다.  발행자는 가상 컨텐츠 아이템에서 생성된 관심 지점을 통합 또는 식별하도록 선택할 수 있다. 일단 식별되면, 생성된 관심 지점은 예컨대 탐색 표시자를 포함하는 전술된 임의의 접근법을 사용하여 사용자가 가상 컨텐츠 아이템에 접근하는 동안에 시각적으로 표시될 수 있다.
일부 예시에서, 발행자는 가상 컨텐츠 아이템을 시청하는 사용자에 대한 뷰포트 궤적을 자동 모드의 일부로서 사전-정의할 수 있다. 이러한 경우에, 자동 모드 모듈(212)은 사용자가 가상 컨텐츠 아이템에 접근하는 동안 임의의 시간에 자동 모드를 동작시키거나 해제할 수 있게 허용한다.  일부 실시예에서, 가상 컨텐츠 아이템이 접근될 때 자동 모드가 기본으로 활성화될 수 있다.  이러한 실시예에서, 자동 모드 동안, 뷰포트는 사전-정의된 뷰포트 궤적에 기반하여 가상 컨텐츠 아이템의 장면(들)을 통해 자동으로 탐색될 수 있다. 일부 실시예에서, 뷰포트 궤적은 가상 컨텐츠 아이템의 하나 이상의 부분 또는 가상 컨텐트 아이템의 전체를 재생하는 동안 뷰포트의 각각의 위치 및/또는 방향을 정의한다.
일부 실시예로, 발행자는 장면(들) 내 하나 이상의 관심 지점을 명시할 수 있고, 자동 모드가 동작될 때, 뷰포트는 관심 지점으로 자동으로 가이드될 수 있다. 이러한 실시예에서, 뷰포트가 관심 지점 사이에서 이동함에 따른 각 궤적은 자동으로 생성될 수 있다. 일부 실시예에서, 관심 지점은 뷰포트가 관심 지점에 초점을 맞추어야 하는 기간(예컨대, 제1 관심 지점에 3초, 제2 관심 지점에 5초 등)을 표시하는 시간 정보와 연관될 수 있다. 이러한 실시예에서, 자동 모드 모듈(212)은 이러한 시간 정보와 관련하여 뷰포트를 적절하게 탐색할 수 있다. 일부 실시예로, 제1 색상 구성표(scheme)가 자동 모드가 동작할 때 탐색 표시자를 위해 사용되고, 자동 모드가 동작해제될 때, 즉 수동 모드가 활성일 때, 제2 색상 구성표(예컨대, 제1 색상 구성표와 반대인 색상 구성표)가 사용된다.
움직임 전환 모듈(214)은 자동 모드가 동작하는 동안 뷰포트의 움직임을 컨트롤하도록 구성될 수 있다. 예컨대, 일부 실시예로, 뷰포트는 그들이 자동 모드에서 나타남에 따라 장면 및/또는 관심 지점을 디스플레이하도록 자동으로 전환될 수 있다.  장면들 및/또는 관심 지점 사이에서 전환 시에 움직임 전환 모듈(214)은 하나 이상의 상이한 필름 전환 기술을 적용할 수 있다. 일례로, 전환은 장면들 및/또는 관심 지점 간의 전환이 점진적인 디졸브(dissolve) 효과를 사용하여 수행될 수 있다.  다른 예로, 전환은 컷 효과를 사용하여 수행될 수 있다.  다른 예시는 와이프 전환 효과, 선형 전환, 완화 및 힌트(예컨대, 전환을 수행하기 전 방향 표시자를 사용)를 포함한다. 일부 실시예로, 뷰포트는 자동 모드 시에 자동으로 전환되지 않는다.  대신, 관심 지점은 관심 지점의 위치 또는 방향을 가리키는 방향 표시자(예컨대, 화살표)를 사용하여 뷰포트에서 시각적으로 표시될 수 있다. 이러한 실시예에서, 사용자는 관심 지점에 대응되도록 뷰포트를 수동으로 조작하는 옵션을 가진다. 일부 실시예로, 움직임 전환 모듈(214)은 사용되는 장치의 타입(예컨대, 모바일 컴퓨팅 장치, 가상 현실 시스템, 헤드 마운트 디스플레이 등)에 따라 상이한 필름 전환 기술을 적용할 수 있다. 예컨대, 뷰포트 전환은 모바일 컴퓨팅 장치에서 자동적일 수 있지만, 가상 현실 시스템 및/또는 헤드 마운트 디스플레이에서 그렇지 않을 수 있다.  장치 타입은 또한, 어떤 전환 효과가 사용되는지 뿐 아니라 어떻게 뷰포트가 장면 및/또는 관심 지점 간에 전환되는지에 영향을 줄 수 있다. 예컨대, 방향 표시자 및/또는 디졸브 효과가 장치가 가상 현실 헤드 마운트 디스플레이인 경우 뷰포트 전환을 수행하는데 사용될 수 있다. 다른 예시로, 전환 효과는 장치가 모바일 컴퓨팅 장치인 경우 뷰포트 전환을 수행할 때 비활성화될 수 있다.
도 3은 본 명세서의 일실시예에 따른 컨텐츠 감독자 모듈(302)의 예시를 도시한다. 일부 실시예로, 도 1의 컨텐츠 감독자 모듈(108)은 컨텐츠 감독자 모듈(302)로 구현될 수 있다. 도 3의 예시에 도시되는 것처럼, 컨텐츠 감독자 모듈(302)은 인터페이스 모듈(304), 관심 지점 모듈(306) 및 자동 모드 모듈(308)을 포함할 수 있다.
인터페이스 모듈(304)은 가상 컨텐츠 아이템을 위해 사용자 경험을 맞춤화하기 위해 발행자에 의해 이용될 수 있는 다양한 옵션을 포함하는 인터페이스를 제공할 수 있다. 이러한 인터페이스에 관한 추가적인 세부사항은 도 5를 참조하여 아래에 제공될 것이다. 일부 실시예로, 관심 지점 모듈(306)은 가상 컨텐츠 아이템 내의 하나 이상의 관심 지점을 명시하는데 이용될 수 있다. 가상 컨텐츠 아이템을 시청하는 사용자들에게는 예컨대, 탐색 표시자를 포함하는 전술된 임의의 접근법을 사용하여 이러한 관심 지점들에 관해 통보 받을 수 있다.  일례로, 관심 지점은 관심 지점이 가상 컨텐츠 아이템의 재생 동안에 나타나는 위치(예컨대, 좌표) 및/또는 기간(들)에 의해 정의될 수 있다.  자동 모드 모듈(308)은 하나 이상의 뷰포트 궤적을 생성하는데 이용될 수 있다. 일부 실시예에서, 뷰포트 궤적은 가상 컨텐츠 아이템의 하나 이상의 부분 또는 가상 컨텐트 아이템의 전체를 재생하는 동안 뷰포트의 각각의 위치 및/또는 방향을 정의한다. 예컨대, 자동 모드 모듈(308)은 관심 지점 모듈(306)을 사용하여 명시된 관심 지점들에 기반하여 가상 컨텐츠 아이템에서 장면을 탐색하기 위한 뷰포트 궤적을 생성할 수 있다.  일부 실시예로, 자동 모드 모듈(308)은 가상 컨텐츠 아이템의 하나 이상의 부분들 또는 가상 컨텐츠 아이템 전체의 재생 동안에 뷰포트의 명시된 위치 및/또는 방향에 기반하여 가상 컨텐츠 아이템에서 장면을 탐색하기 위한 뷰포트 궤적을 생성하는데 사용될 수 있다. 예컨대, 발행자는 가상 컨텐츠 아이템의 재생 동안에 임의의 주어진 시간에 대해 뷰포트 위치 및/또는 방향을 명시할 수 있다.
도 4a는 본 명세서의 일실시예에 따른 컨텐츠 아이템(예컨대, 가상 컨텐츠 아이템)이 접근되는 동안 탐색 표시자(406)가 제공되는 뷰포트 인터페이스(404)의 예시(400)를 도시한다. 이 예시에서, 뷰포트(404)는 컴퓨팅 장치(402)의 디스플레이 스크린 상에 표시된다. 나아가, 뷰포트(404)는 컴퓨팅 장치(402) 상에서 실행되는 소프트웨어 애플리케이션(예컨대, 웹 브라우저, 소셜 네트워킹 애플리케이션 등)을 통해 제공될 수 있다. 디스플레이 스크린에 보이는 탐색 표시자(406)의 위치 및/또는 크기는 구현에 따라 달라질 수 있다.  도 4a의 예시에서, 뷰포트(404)는 가상 컨텐츠 아이템으로부터의 장면을 표시한다. 이 예시에서, 장면은 다른 관심 지점 중에서, 한 쌍의 새(414)와 행글라이더(416)를 포함한다. 뷰포트(404)는 뷰포트의 방향과 줌 수준을 식별하기 위한 방위 표시자(408)를 포함하는 탐색 표시자(406)를 포함한다.  탐색 표시자(406)는 관심 지점(410)이 식별되었고 방위 표시자(408)에 의해 식별된 뷰포트 방향에 대해 동쪽 방향에 위치한다고도 표시한다.  컴퓨팅 장치(402)를 구동하는 사용자는 예컨대, 뷰포트의 방향 및/또는 줌 수준을 변경함으로써 장면을 탐색한다.  예를 들어, 사용자는 뷰포트의 방향을 관심 지점에 대응하는 방향(410)을 향하도록 변경할 수 있다. 그 결과, 뷰포트는 도 4b의 예시에 도시되는 바와 같이 방향(410)에 대응하는 컨텐츠(예컨대, 이미지 및/또는 비디오 스트림)를 표시하도록 업데이트될 수 있다. 일부 실시예에서, 탐색 표시자(406)는 관심 지점 옆에서 접근되는 장면(들) 내에서 일어나는 다른 타입의 이벤트도 식별할 수 있다. 예를 들어, 탐색 표시자(406)는 장면에서 나는 소리의 방향을 표시할 수 있다.
일부 실시예에서, 탐색 표시자(406)는 초기에 반투명 또는 희미한 것으로 보여진다. 이러한 실시예에서, 탐색 표시자(406)는 예컨대 뷰포트(404) 및/또는 컴퓨팅 장치(402)와의 사용자 상호작용을 감지하면 불투명해진다. 탐색 표시자(406)는 사용자가 탐색 표시자(406)에 대응하는 디스플레이 스크린의 영역에서 터치 제스처를 수행할 때도 불투명해질 수 있다. 예를 들어, 탐색 표시자(406)는 컴퓨팅 장치의 센서에 기반하여 사용자 상호작용을 감지할 수 있다. 일부 실시예에서, 탐색 표시자(406)는 사용자 상호작용이 임계 기간 동안 감지되지 않으면 반투명 또는 희미한 상태로 돌아갈 수 있다.
언급된 바와 같이 일부 예시에서, 발행자는 가상 컨텐츠 아이템을 시청하는 사용자들을 위한 자동 모드를 정의할 수 있다. 이러한 예시에서, 사용자는 가상 컨텐츠 아이템에 접근하는 동안 임의의 시간에 자동 모드를 작동 또는 해제할 수 있다.  도 4a의 예시에서, 자동 모드는 활성이고 결과로서, 뷰포트(404)는 사전-정의된 뷰포트 궤적에 기반하여 가상 컨텐츠 아이템에서 장면(들)을 통해 자동으로 탐색된다. 일부 실시예로, 자동 모드는 가상 컨텐츠 아이템이 접근될 때 디폴트로 활성화될 수 있다.  컴퓨팅 장치(402)를 동작하는 사용자는 예컨대, 뷰포트(404)를 수동으로 탐색하거나 탐색 표시자(406)에 대응하는 디스플레이 스크린 내의 영역을 선택(예컨대, 탭 제스처를 수행)함으로써 자동 모드를 비활성화할 수 있다. 일부 실시예로, 자동 모드는 사용자가 임계 양의 시간 동안 뷰포트를 수동으로 탐색하지 않은 때 재-활성화된다. 일부 실시예로, 발행자는 장면(들) 내 하나 이상의 관심 지점을 명시할 수 있고, 자동 모드가 동작되면, 뷰포트(404)는 관심 지점으로 자동으로 가이드될 수 있다. 도 4a의 예시에서, 뷰포트(404)는 도 4b의 예시에 도시되는 것처럼 관심 지점(410)을 향해 자동으로 탐색된다.
도 4b는 본 명세서의 일실시예에 따른 컨텐츠 아이템(예컨대, 가상 컨텐츠 아이템)이 접근되는 동안 탐색 표시자(406)가 제공되는 뷰포트 인터페이스(404)의 예시(440)를 도시한다. 언급된 것처럼, 자동 모드가 동작할 때, 뷰포트(404)는 관심 지점으로 자동으로 가이드될 수 있다. 이 예시에서, 컴퓨팅 장치(402)의 디스플레이 스크린 상에 표시되는 뷰포트(404)의 방향은 관심 지점(410)으로 도 4a에서 탐색 표시자(406)에 표시된 관심 지점(418)에 대응하는 방향을 바라보도록 변경되었다. 따라서, 이 예시에서, 자동 모드 동안 사전-정의된 궤적을 따르는 의도된 방위(407)와 방위 표시자(408)는 관심 지점(418)이 가시적인 방향에 대응한다. 그 결과, 뷰포트(404)에 표시되는 장면은 뷰포트 조정에 대응하는 컨텐츠(예컨대, 이미지 및/또는 비디오 스트림)를 표시하도록 업데이트되었다. 이 예시에서, 장면은 다른 관심 지점 중에서, 행글라이더(416)와 탐색 표시자(406)에 의해 관심 지점(410)으로 식별된 열기구(418)를 보여준다. 도 4b에서, 방위 표시자(408)는 뷰포트의 방향의 변화에 대응하도록 점(412) 주위로 오른쪽으로 회전되었다. 일부 실시예에서, 컴퓨팅 장치(402)를 구동하는 사용자는 탐색 표시자(406)에 대응하는 디스플레이 스크린의 영역에서 터치 제스처를 수행하여 뷰포트가 가상 컨텐츠 아이템에 대해 정의된 초기 또는 의도된 방위로 복귀하도록 야기할 수 있다. 이러한 실시예에서, 뷰포트의 줌 수준 또한 터치 제스처를 감지하면 가상 컨텐츠 아이템에 대해 정의된 기본 또는 의도된 줌 수준으로 리셋된다. 방위 표시자(408)는 점(412) 주위로, 예컨대 사용자가 뷰포트를 탐색하는 방향에 따라 시계 또는 반시계 방향으로 회전할 수 있다.  예를 들어, 뷰포트 방향의 0에서 180도로의 변화는 방위 표시자(408)가 점(412) 주위로 시계 방향으로 회전하도록 야기할 수 있는 반면 뷰포트 방향의 180에서 360도로의 변화는 방위 표시자(408)가 점(412) 주위로 반시계 방향으로 회전하도록 야기할 수 있다. 도 4b의 예시에서, 자동 모드는 여전히 활성이고 결과로서, 뷰포트(404)는 사전-정의된 뷰포트 궤적에 기반하여 가상 컨텐츠 아이템에서 장면(들)을 통해 자동으로 탐색된다. 이 예시에서, 뷰포트(404)는 탐색 표시자(406)에 도시된 관심 지점(420)을 향해 자동으로 탐색될 것이다.
도 4c는 본 명세서의 일실시예에 따른 컨텐츠 아이템(예컨대, 가상 컨텐츠 아이템)이 접근되는 동안 탐색 표시자(406)가 제공되는 뷰포트 인터페이스(404)의 예시(480)를 도시한다. 언급된 바와 같이, 자동 모드가 동작되는 동안 뷰포트(404)는 관심 지점으로 자동으로 가이드될 수 있다. 이 예시에서, 컴퓨팅 장치(402)의 디스플레이 스크린 상에 표시되는 뷰포트(404)의 방향은 도 4a에서 장면에 도시된 새들(414)의 쌍을 향하도록 변경되었다. 따라서, 이 예시에서, 자동 모드 동안에 사전-정의된 궤적을 따르는 의도된 방위(407)와 방위 표시자(408)는 관심 지점(414)이 가시적인 방향에 대응한다. 도 4c의 예시에서, 컴퓨팅 장치(402)를 동작하는 사용자는 뷰포트(404)를 수동으로 탐색하는 옵션을 가진다. 수동으로 탐색되는 때, 자동 모드는 비활성화되고 뷰포트(404)는 더 이상 사전-정의된 궤적에 기반하여 자동으로 가이드되지 않는다. 사용자는 예컨대, 탐색 표시자(406)에 대응되는 디스플레이 스크린 내의 영역을 선택함으로써 자동 모드를 재활성화하는 옵션을 가진다.
도 5는 본 명세서의 일실시예에 따른 가상 컨텐츠 아이템을 위해 사용자 경험을 맞춤화하기 위한 발행자 인터페이스(502)의 예시(500)를 도시한다. 예시적인 인터페이스(502)는 가상 컨텐츠 아이템이 이를 통해 재생되는 영역(504)을 포함한다. 가상 컨텐츠 아이템의 임의의 맞춤화 또는 수정은 영역(504)에서 가상 컨텐츠 아이템의 재생 동안에 반영될 수 있다. 탐색 표시자(506)는 영역(504) 내에 포함될 수 있어서 발행자가 뷰포트의 위치 및/또는 방향을 시각화하도록 할 수 있다.  일부 실시예로, 발행자는 가상 컨텐츠 아이템이 재생을 시작할 때 사용될 뷰포트를 위해 초기 카메라 배향(508)을 정의할 수 있다. 초기 카메라 배향(508)은 예컨대, 피치, 요우 및/또는 시야에 대한 대응되는 각도 값을 명시함으로써 정의될 수 있다.
일부 실시예로, 발행자는 가상 컨텐츠 아이템을 시청하는 사용자가 가상 컨텐츠 아이템에서 장면을 통해 그들의 뷰포트를 자동으로 탐색하는 자동 모드로 들어가도록 허용하는 자동 모드(510) 또는 "감독자의 컷(director's cut)"을 활성화할 수 있다. 일부 실시예로, 자동 모드가 활성화될 때, 사용자의 뷰포트는 가상 컨텐츠 아이템에서 관심 지점으로 자동으로 전환할 수 있다. 관심 지점 사이의 뷰포트의 각 궤적이 자동으로 생성될 수 있다.  발행자는 영역(504)에서 가상 컨텐츠 아이템을 시청하는 동안 관심 지점을 추가하는 옵션(512)을 사용할 수 있다.  예컨대, 가상 컨텐츠 아이템이 영역(504)에서 재생되는 동안, 발행자는 관심 지점을 선택 및 태그하는 옵션(512)을 선택할 수 있다. 태그된 관심 지점은 일부 예를 들자면 장면 내의 특징, 장면 내의 영역, 프레임 세트에 대응할 수 있다. 관심 지점 표시자(514)는 발행자에 의해 지금까지 태그된 관심 지점의 개수에 대한 집계를 유지할 수 있다. 예를 들어, 소셜 네트워킹 시스템에 발행자는 가상 컨텐츠 아이템을 발행하는 옵션(516)을 선택할 수 있다.  발행된 가상 컨텐츠 아이템은 임의의 명시된 뷰포트 궤적뿐 아니라 명시된 다양한 관심 지점을 설명하는 정보를 포함할 수 있다.  이 정보는 사용자가 가상 컨텐츠 아이템에 접근하여 관심 지점이 적절한 경우 디스플레이되도록 할 수 있게 이용될 수 있다. 일부 실시예로, 발행자는 발행자에 의해 명시된 바와 같이 가상 컨텐츠 아이템 내의 장면들 및/또는 관심 지점을 통해 사용자의 뷰포트를 자동으로 탐색하는 완전히 자동화된 "감독자의 컷" 비디오의 버전(예컨대, 자동-생성된 폴백 사용자 인터페이스)을 생성할 수 있다. 구현에 따라, 자동-생성된 "감독자의 컷" 비디오가 재생됨에 따라, 비디오에 접속하는 사용자는 뷰포트의 방향을 변경하거나 뷰포트의 줌 수준을 변경하거나 둘 모두를 하는 것이 허용되지 않는다. 일부 실시예에서, 자동-생성된 "감독자의 컷" 비디오의 상이한 포맷이 생성될 수 있다.  예컨대, "감독자의 컷" 비디오의 자동화된 버전은 일부 예를 들자면, 구형 비디오, 일반 직선 비디오, 2차원(2D) 비디오 또는 3차원(3D) 비디오로 포맷화될 수 있다. 이러한 실시예들에서, 재생을 위해 사용자의 컴퓨팅 장치에 어떤 포맷이 제공되어야 하는지를 결정하기 위해 다양한 속성들이 사용될 수 있다.  예를 들어, 제공된 포맷은 부분적으로 컴퓨팅 장치의 특성(예를 들어, 어떤 포맷이 컴퓨팅 장치에서 재생될 수 있는지), 사용자 선호도 또는 둘 모두에 기반하여 결정될 수 있다.  일부 실시예로, 자동-생성된 "지사자의 컷" 비디오의 일부 포맷은 사용자의 컴퓨팅 장치가 디폴트 또는 선호되는 포맷의 비디오를 재생할 수 없는 경우 폴백 옵션으로 기능할 수 있다.  예컨대, 발행자는 "감독자의 컷" 비디오의 구형 비디오 버전이 디폴트로 사용자에게 제공되어야 한다고 명시할 수 있다.  사용자의 컴퓨팅 장치가 구형 비디오 버전의 비디오를 재생할 수 없는 경우에, 명시된 비디오 버전 대신에 상이한 버전(예를 들어, 비디오의 2차원 버전)이 제공될 수 있다.
도 6a는 컨텐츠 아이템(예컨대, 가상 컨텐츠 아이템)이 접근될 때 뷰포트 인터페이스에 표시될 수 있는 탐색 표시자(602)의 예시(600)를 도시한다. 도 6a에서, 탐색 표시자(602)는 가상 컨텐츠 아이템이 접근되는 동안 뷰포트의 초기 또는 의도된 방향(604)을 표시한다. 방향(604)은 예컨대 가상 컨텐츠 아이템의 게시자에 의해 명시될 수 있고, 가상 컨텐츠 아이템의 재생 동안 상이한 시점에 변경될 수 있다. 탐색 표시자(602)는 가상 컨텐츠에 의해 캡처되는 장면(들)에 접근하는 동안 뷰포트의 방향 또는 방위를 표시하는 방위 표시자(606)도 포함한다. 이 예시에서, 뷰포트의 방향은 방위 표시자(606)의 방향에 의해 표시된다. 뷰포트 방향이 변함에 따라, 방위 표시자(606)는 업데이트된 뷰포트 방향에 대응하는 방향을 향하도록 점(608) 주위로 회전할 수 있다. 일부 실시예에서, 방위 표시자(606)에 의해 표시되는 방향은 수직 축을 따른 뷰포트의 움직임(즉, 요우)에 대응한다. 방위 표시자(606)는 접근되는 장면(들)의 뷰포트의 줌 수준도 표시할 수 있다. 일부 실시예에서, 방위 표시자(606)의 길이 또는 크기는 점(608) 주위로 증가하거나 길어져 뷰포트의 더 높은 줌 수준을 표시한다. 이러한 실시예에서, 방위 표시자(606)의 길이 또는 크기는 감소 또는 수축하여 점(608) 주위의 감소된 뷰포트의 줌 수준을 표시한다. 일부 실시예에서, 가상 컨텐츠 아이템은 기본 줌 수준(예컨대, 60도 또는 일부 다른 지정된 줌 수준)과 연관될 수 있다.  일부 실시예에서, 가상 컨텐츠 아이템의 게시자는 뷰포트에 적용될 수 있는 최소 및/또는 최대 줌 수준을 명시할 수 있다.
도 6b는 컨텐츠 아이템(예컨대, 가상 컨텐츠 아이템)이 접근될 때 뷰포트 인터페이스에 표시될 수 있는 탐색 표시자(622)의 예시(620)를 도시한다. 도 6b에서, 가상 컨텐츠 아이템에 접근하는 뷰포트는 장면으로 줌인된다. 그 결과, 방위 표시자(626)는 점(628) 주위로 길어지거나 증가된 크기로 도시되어 뷰포트의 증가된 줌 레벨을 표시한다.
도 6c는 컨텐츠 아이템(예컨대, 가상 컨텐츠 아이템)이 접근될 때 뷰포트 인터페이스에 표시될 수 있는 탐색 표시자(632)의 예시(630)를 도시한다. 도 6c에서, 가상 컨텐츠 아이템에 접근하는 뷰포트의 방향은 뷰포트의 초기 또는 의도된 방향(634)에 대해 서쪽, 또는 왼쪽을 향한다. 나아가, 뷰포트는 열람되는 장면으로부터 줌아웃된다. 그 결과, 방위 표시자(636)는 점(638) 주위로 왼쪽으로 회전된 것으로 도시되어 뷰포트의 방향을 표시한다. 나아가, 방위 표시자(636)는 점(638) 주위로 수축 또는 감소된 크기로 도시되어 뷰포트의 감소된 줌 레벨을 표시한다.
도 6d는 컨텐츠 아이템(예컨대, 가상 컨텐츠 아이템)이 접근될 때 뷰포트 인터페이스에 표시될 수 있는 탐색 표시자(642)의 예시(640)를 도시한다. 도 6d에서, 가상 컨텐츠 아이템에 접근하는 뷰포트는 가상 컨텐츠 아이템의 장면으로 줌인된다. 나아가, 가상 컨텐츠 아이템에 접근하는 뷰포트의 방향은 뷰포트의 초기 또는 의도된 방향(644)에 대해 서쪽, 또는 왼쪽을 향한다. 그 결과, 방위 표시자(646)는 점(648) 주위로 길어지거나 증가된 크기로 도시되어 뷰포트의 증가된 줌 레벨을 표시한다. 또한, 방위 표시자(646)는 점(648) 주위로 왼쪽으로 회전된 것으로도 도시되어 뷰포트의 방향을 표시한다.
도 6e는 컨텐츠 아이템(예컨대, 가상 컨텐츠 아이템)이 접근될 때 뷰포트 인터페이스에 표시될 수 있는 탐색 표시자(652)의 예시(650)를 도시한다. 도 6e에서, 뷰포트의 초기 또는 의도된 방향(654)이 업데이트되었다. 의도된 방향(654)의 변경은 가상 컨텐츠 아이템의 재생 동안 상이한 시점, 예컨대 뷰포트가 안내되는 장면(예컨대, 이동중인 자동차로부터의 시야)에 접근할 때 일어날 수 있다. 이 예시에서, 가상 컨텐츠 아이템에 접근하는 뷰포트는 뷰포트의 의도된 방향(654)에 대해 반대 방향을 향하고 있다. 그 결과, 방위 표시자(656)는 의도된 방향(654)에 대해 반대 방향으로 점(658) 주위로 회전된 것으로 도시된다.
도 6f는 컨텐츠 아이템(예컨대, 가상 컨텐츠 아이템)이 접근될 때 뷰포트 인터페이스에 표시될 수 있는 탐색 표시자(662)의 예시(660)를 도시한다. 도 6f에서, 가상 컨텐츠 아이템에 접근하는 뷰포트는 가상 컨텐츠 아이템의 장면으로 줌인된다. 나아가, 가상 컨텐츠 아이템에 접근하는 뷰포트의 방향은 뷰포트의 초기 또는 의도된 방향(664)에 대해 서쪽, 또는 왼쪽을 향한다. 그 결과, 방위 표시자(666)는 점(668) 주위로 길어지거나 증가된 크기로 도시되어 뷰포트의 증가된 줌 레벨을 표시한다. 또한, 방위 표시자(666)는 점(668) 주위로 왼쪽으로 회전된 것으로도 도시되어 뷰포트의 방향을 표시한다. 일부 실시예에서, 탐색 표시자(662)는 접근되는 가상 컨텐츠 아이템의 장면 내의 다양한 관심 지점을 식별할 수 있다. 이러한 실시예에서, 탐색 표시자(662)는 관심 지점의 각 방향(670)을, 예컨대 방향(664) 및/또는 방위 표시자(666)에 대해 시각적으로 표시할 수 있다. 이러한 관심 지점은 예컨대 가상 컨텐츠 아이템의 게시자에 의해 지정될 수 있다.  일반적으로, 각 관심 지점은 접근되는 장면(예컨대, 스트림 또는 피드)에 대응하는 시점에 대해 가상 컨텐츠 아이템에 의해 캡처되는 장면(들) 내의 주어진 위치와 연관될 수 있다. 일부 실시예에서, 탐색 표시자(662)는 뷰포트를 통해 표시되는 장면의 뷰포트 위치의 임계 거리 내에 있는 관심 지점을 식별할 수 있다.
도 7은 본 명세서의 일실시예에 따른 뷰포트 인터페이스를 탐색하기 위한 예시적인 방법(700)을 도시한다. 다르게 언급되지 않으면 본 명세서에 서술된 다양한 실시예의 범위 내에서 유사하거나 대안적인 순서로, 또는 병행하여 수행되는 추가적이거나, 더 적거나, 대안적인 단계가 있을 수 있음을 이해하여야 한다.
블록(702)에서 컨텐츠 아이템에 접근하는 적어도 하나의 요청이 결정된다. 요청된 컨텐츠 아이템은 상이한 위치들의 세트로부터 하나 이상의 장면을 캡처하는 카메라 피드 세트를 사용하여 구성된다.  블록(704)에서, 요청된 컨텐츠 아이템 내의 장면의 적어도 일부를 탐색하기 위한 자동화된 시청 모드를 설명하는 정보가 획득된다.  블록(706)에서, 뷰포트 인터페이스가 요청된 컨텐츠 아이템의 재생이 표시되는 컴퓨팅 장치의 디스플레이 스크린 상에 제공된다.  블록(708)에서, 뷰포트 인터페이스는 자동화된 시청 모드에 적어도 부분적으로 기반하여 요청된 컨텐츠 아이템의 재생 동안에 장면들의 적어도 일부를 통해 자동으로 탐색된다.
본 명세서의 다양한 실시예와 연관된 많은 다른 사용, 응용 및/또는 변형이 있을 수 있음을 고려한다. 예를 들어, 일부 경우에서, 사용자는 개시된 기술을 이용할 것인지 여부를 선택할 수 있다. 또한, 개시된 기술은 다양한 사생활 설정 및 선호가 유지되고 개인 정보가 유출되는 것을 방지할 수 있음을 보장할 수 있다. 다른 예시에서, 본 명세서의 다양한 실시예는 시간에 걸쳐 학습, 개선 및/또는 개량될 수 있다.
소셜 네트워킹 시스템 - 구현의 예시
도 8은 본 명세서의 일실시예에 따른 다양한 시나리오에서 이용될 수 있는 소셜 네트워킹 시스템(800)의 예시를 포함하는 시스템의 예시의 네트워크도를 도시한다. 시스템(800)은 하나 이상의 사용자 장치(810), 하나 이상의 외부 시스템(820), 소셜 네트워킹 시스템(또는 서비스)(830) 및 네트워크(850)를 포함한다. 일실시예로, 전술한 실시예들과 연계하여 논의된 소셜 네트워킹 서비스, 제공자 및/또는 시스템은 소셜 네트워킹 시스템(830)으로 구현될 수 있다. 예시적인 목적을 위해, 도 8에 의해 도시된 시스템(800)의 실시예는 단일 외부 시스템(820) 및 단일 사용자 장치(810)를 포함한다. 하지만, 다른 실시예로, 시스템(800)은 더 많은 사용자 장치(810) 및/또는 더 많은 외부 시스템(820)을 포함할 수 있다. 특정 실시예로, 소셜 네트워킹 시스템(830)은 소셜 네트워크 제공자에 의해 운영되는 한편, 외부 시스템(820)은, 상이한 엔티티들에 의해 운영될 수 있는 점에서 소셜 네트워킹 시스템(830)으로부터 분리되어 있다. 하지만, 다양한 실시예로, 소셜 네트워킹 시스템(830) 및 외부 시스템(820)은 소셜 네트워킹 시스템(830)의 사용자들 (또는 구성원들)에게 소셜 네트워킹 서비스를 제공하기 위해 함께 동작한다. 이러한 측면에서, 소셜 네트워킹 시스템(830)은, 외부 시스템(820)과 같은 다른 시스템들이 인터넷을 통해 사용자에게 소셜 네트워킹 서비스 및 기능을 제공하는데 사용할 수 있는 플랫폼 또는 백본을 제공한다.
사용자 장치(810)는 사용자로부터 입력을 수신하고 네트워크(850)를 통해 송수신할 수 있는 하나 이상의 컴퓨팅 장치(또는 시스템)를 포함한다. 일실시예로, 사용자 장치(810)는 예컨대, Microsoft Windows 호환가능한 운영 시스템(OS), Apple OS X, 및/또는 리눅스 배포판을 실행하는 종래의 컴퓨터 시스템이다. 다른 실시예로, 사용자 장치(810)는 컴퓨팅 장치 또는 가령 스마트폰, 태블릿, PDA(personal digital assistant), 모바일 전화 등과 같은 컴퓨터 기능을 갖는 장치일 수 있다. 사용자 장치(810)는 네트워크를 통해 통신하도록 구성된다. 사용자 장치(810)는 네트워크(850)를 통해 통신하도록 구성된다. 사용자 장치(810)는 예컨대, 사용자 장치(810)의 사용자가 소셜 네트워킹 시스템(830)과 상호작용할 수 있게 하는 브라우저 애플리케이션과 같은 애플리케이션을 실행할 수 있다. 또 다른 실시예로, 사용자 장치(810)는 iOS 및 ANDROID와 같은 사용자 장치(810)의 네이티브 운영 시스템에 의해 제공되는 API(application programming interface)를 통해 소셜 네트워킹 시스템(830)과 상호작용한다. 사용자 장치(810)는 유선 및/또는 무선 통신 시스템을 사용하여 근거리 및/또는 원거리 네트워크의 임의의 조합을 포함할 수 있는 네트워크(850)를 통해 외부 시스템(820) 및 소셜 네트워킹 시스템(830)과 통신하도록 구성된다.
일실시예로, 네트워크(850)는 표준 통신 기술 및 프로토콜을 사용한다. 따라서, 네트워크(850)는 Ethernet, 802.11, WiMAX(worldwide interoperability for microwave access), 3G, 4G, CDMA, GSM, LTE, DSL(digital subscriber line) 등과 같은 기술을 사용하는 링크를 포함할 수 있다. 유사하게, 네트워크(850)에서 사용되는 네트워크 프로토콜은 MPLS(multiprotocol label switching), TCP/IP(transmission control protocol/Internet protocol), UDP(User Datagram Protocol), HTTP(hypertext transport protocol), SMTP(simple mail transfer protocol), FTP(file transfer protocol) 등을 포함할 수 있다. 네트워크(850) 상에서 교환되는 데이터는 HTML(hypertext markup language) 및 XML(extensible markup language)을 포함하는 기술 및/또는 포맷을 사용하여 표현될 수 있다. 추가로, 모든 또는 일부 링크는 SSL(secure sockets layer), TLS(transport layer security), 및 IPsec(Internet Protocol security)와 같은 종래의 암호화 기술을 사용하여 암호화될 수 있다.
일실시예로, 사용자 장치(810)는 브라우저 애플리케이션(812)을 사용하여, 외부 시스템(820) 및 소셜 네트워킹 시스템(830)으로부터 수신된 마크업 언어 문서(814)를 프로세싱함으로써 외부 시스템(820) 및/또는 소셜 네트워킹 시스템(830)으로부터의 컨텐츠를 디스플레이할 수 있다. 마크업 언어 문서(814)는 컨텐츠 및 컨텐츠의 포맷 또는 프레젠테이션을 기술하는 하나 이상의 명령어들을 식별한다. 마크업 언어 문서(814)에 포함된 명령어들을 실행함으로써, 브라우저 애플리케이션(812)은 마크업 언어 문서(814)에 의해 기술된 포맷 또는 프레젠테이션을 사용하여 식별된 컨텐츠를 디스플레이한다. 예컨대, 마크업 언어 문서(814)는, 외부 시스템(820) 및 소셜 네트워킹 시스템(830)으로부터 검색된 텍스트 및/또는 이미지 데이터를 포함하는 다수의 프레임들을 갖는 웹 페이지를 생성하고 디스플레이하기 위한 명령어들을 포함한다. 다양한 실시예로, 마크업 언어 문서(814)는 XML(extensible markup language) 데이터, XHTML(extensible hypertext markup language) 데이터, 또는 다른 마크업 언어 데이터를 포함하는 데이터 파일을 포함한다. 추가로, 마크업 언어 문서(814)는 JSON(JavaScript Object Notation) 데이터, 패딩(padding)을 갖는 JSON(JSONP), 및 외부 시스템(820)과 사용자 장치(810) 사이의 데이터 상호교환을 용이하게 하는 자바스크립트 데이터를 포함할 수 있다. 사용자 장치(810)상의 브라우저 애플리케이션(812)은 마크업 언어 문서(814)를 디코딩하기 위해 자바스크립트 컴파일러를 사용할 수 있다.
마크업 언어 문서(814)는 또한, FLASH™ 또는 Unity™ 애플리케이션들, SilverLight™ 애플리케이션 프레임워크(framework) 등과 같은 애플리케이션 또는 애플리케이션 프레임워크를 포함하거나 링크할 수 있다.
일실시예로, 사용자 장치(810)는 또한, 사용자 장치(810)의 사용자가 소셜 네트워킹 시스템(830)으로 로그되는지 여부를 표시하는 데이터를 포함하는 하나 이상의 쿠키(816)를 포함하고, 이는 소셜 네트워킹 시스템(830)으로부터 사용자 장치(810)로 통신되는 데이터의 수정을 가능하게 할 수 있다.
외부 시스템(820)은, 네트워크(850)를 사용하여 사용자 장치(810)로 통신되는 하나 이상의 웹 페이지들(822a, 822b)을 포함하는 하나 이상의 웹 서버들을 포함한다. 외부 시스템(820)은 소셜 네트워킹 시스템(830)으로부터 분리된다. 예컨대, 외부 시스템(820)은 제1 도메인과 연관되는 한편, 소셜 네트워킹 시스템(830)은 분리된 소셜 네트워킹 도메인과 연관된다. 외부 시스템(820)에 포함된 웹 페이지들(822a, 822b)은 컨텐츠를 식별하고 식별된 컨텐츠의 포맷 또는 프레젠테이션을 특정하는 명령어들을 포함하는 마크업 언어 문서(814)를 포함한다. 전술한 바와 같이, 많은 변형 또는 다른 가능성이 있을 수 있음을 이해할 것이다.
소셜 네트워킹 시스템(830)은 복수의 사용자들을 포함하는 소셜 네트워크를 위해 소셜 네트워크의 사용자들에게 소셜 네트워크의 다른 사용자들과 통신하고 상호작용하는 능력을 제공하는 하나 이상의 컴퓨팅 장치를 포함한다. 일부 예에서, 소셜 네트워크는 그래프 즉, 에지 및 노드를 포함하는 데이터 구조로 표현될 수 있다.  데이터 베이스, 객체, 클래스, 메타 구성요소, 파일, 또는 임의의 다른 데이터 구조를 포함하지만 이에 제한되지 않는 다른 데이터 구조가 또한, 소셜 네트워크를 표현하는데 사용될 수 있다. 소셜 네트워킹 시스템(830)은 오퍼레이터에 의해 관리되고, 유지되거나, 또는 제어될 수 있다. 소셜 네트워킹 시스템(830)의 오퍼레이터는 사람, 자동화된 애플리케이션, 또는 컨텐츠를 관리하고, 정책을 규제하고, 소셜 네트워킹 시스템(830) 내에서 사용 메트릭을 수집하기 위한 일련의 애플리케이션들일 수 있다. 임의 유형의 운영자가 사용될 수 있다.
사용자들은 소셜 네트워킹 시스템(830)에 가입할 수 있고, 이후 그들이 연결되고자 하는 소셜 네트워킹 시스템(830)의 임의의 수의 다른 사용자들에 대한 연결을 추가할 수 있다. 본 명세서에서 사용되는 용어 "친구"는, 사용자가 소셜 네트워킹 시스템(830)을 통해 연결, 연관, 또는 관계를 형성한 소셜 네트워킹 시스템(830)의 임의의 다른 사용자를 의미한다. 예컨대, 일실시예로, 소셜 네트워킹 시스템(830)에서의 사용자들이 소셜 그래프에서 노드로 표현된다면, 용어 "친구"는 2개의 사용자 노드를 직접 연결하고 그 사이에 형성되는 에지를 의미할 수 있다.
연결은 사용자에 의해 명시적으로 추가되거나 사용자의 공통의 특징(예컨대, 동일한 교육 기관의 졸업생들인 사용자들)에 기반하여 소셜 네트워킹 시스템(830)에 의해 자동으로 생성될 수 있다. 예컨대, 제1 사용자는 구체적으로 특정의 다른 사용자를 친구로 선택한다.  소셜 네트워킹 시스템(830)에서의 연결은 보통 양방향이지만, 그럴 필요는 없고, 따라서 용어들 "사용자" 및 "친구"는 준거 기준(frame of reference)에 따른다. 소셜 네트워킹 시스템(830)의 사용자들 사이의 연결은 보통 양방향("쌍방향"), 또는 "상호적"이지만, 연결들은 또한, 일방적, 또는 "일방향"일 수 있다. 예컨대, Bob과 Joe가 모두 소셜 네트워킹 시스템(830)의 사용자들이고 서로에게 연결되어있다면, Boe과 Joe는 서로의 연결들이다. 반면에, Bob이 소셜 네트워킹 시스템(830)으로 Joe에 의해 통신되는 데이터를 열람하기 위해 Joe에게 연결하기를 희망한지만, Joe가 상호 연결을 형성하기를 희망하지 않는다면, 일방향 연결이 확립될 수 있다. 사용자들 사이의 연결은 직접적인 연결일 수 있지만, 소셜 네트워킹 시스템(830)의 일부 실시예들은 하나 이상의 연결 레벨 또는 이격도를 통한 간접적인 연결을 허용한다.
사용자들 사이의 연결을 확립 및 관리하고 사용자들 사이의 상호작용을 허용하는 것에 추가로, 소셜 네트워킹 시스템(830)은 사용자들에게 소셜 네트워킹 시스템(830)에 의해 지원되는 다양한 타입의 아이템들에 대해 행위를 수행할 능력을 제공한다. 이러한 아이템들을, 소셜 네트워킹 시스템(830)의 사용자들이 속할 수 있는 그룹들 또는 네트워크들(즉, 사람들, 엔티티들, 및 컨셉들의 소셜 네트워크), 사용자가 관심 있을 수 있는 이벤트 또는 캘린더 엔트리들, 사용자가 소셜 네트워킹 시스템(830)을 통해 사용할 수 있는 컴퓨터-기반의 애플리케이션들, 사용자가 소셜 네트워킹 시스템(830)에 의해 제공되거나 소셜 네트워킹 시스템(830)을 통한 서비스를 통해 아이템들을 사거나 팔 수 있도록 하는 거래들, 사용자가 소셜 네트워킹 시스템(830) 내에서 혹은 밖에서 수행할 수 있는 광고와의 상호작용들을 포함할 수 있다. 이들은 사용자가 소셜 네트워킹 시스템(830)에 대해 행동할 수 있는 아이템들의 몇몇 예시에 불과하며, 많은 다른 예들이 가능하다. 사용자는 소셜 네트워킹 시스템(830)에서 또는 소셜 네트워킹 시스템(830)과 분리되거나 네트워크(850)를 통해 소셜 네트워킹 시스템(830)으로 연결된 외부 시스템(820)에서, 표현될 수 있는 어떤 것과도 상호작용할 수 있다.
소셜 네트워킹 시스템(830)은 또한, 다양한 엔티티들을 링크할 수 있다. 예컨대, 소셜 네트워킹 시스템(830)은 사용자가 API, 웹 서비스, 또는 다른 통신 채널을 통해 외부 시스템(820) 또는 다른 엔티티들과 상호작용하는 것뿐만 아니라 사용자들 서로와 상호작용할 수 있게 한다. 소셜 네트워킹 시스템(830)은 복수의 에지에 의해 상호연결된 복수의 노드를 포함하는 "소셜 그래프"를 생성하고 관리한다. 소셜 그래프에서의 각각의 노드는 다른 노드에 대해 행동할 수 있거나 및/또는 다른 노드가 행동할 수 있는 엔티티를 표현할 수 있다.  소셜 그래프는 다양한 타입의 노드들을 포함할 수 있다.  노드의 타입의 예들은 사용자들, 비-인간 엔티티들, 컨텐츠 아이템, 웹 페이지, 그룹, 활동, 메시지, 컨셉, 및 소셜 네트워킹 시스템(830)에서 객체에 의해 표현될 수 있는 임의의 다른 것들을 포함한다. 소셜 그래프에서 두 노드 사이의 에지는 두 노드 사이의 특정 종류의 연결 또는 연관을 나타낼 수 있으며, 이는 노드 관계 또는 노드들 중 하나에 의해 다른 노드에 수행되었던 행위로부터의 결과일 수 있다.  일부 경우에서, 노드 사이의 에지에는 가중치가 부과될 수 있다.  에지의 가중치는 노드 사이의 연결 또는 연관의 강도와 같은 에지와 연관된 속성을 표현할 수 있다. 상이한 타입의 에지에는 상이한 가중치가 제공될 수 있다. 예컨대, 한 명의 사용자가 다른 사용자를 "좋아요"할 때 생성된 에지에는 하나의 가중치가 부여될 수 있는 한편, 사용자가 다른 사용자를 친구로 삼을 때 생성된 에지에는 상이한 가중치가 부여될 수 있다.
예로서, 제1 사용자가 제2 사용자를 친구로 식별할 때, 소셜 그래프에서의 에지는 제1 사용자를 표현하는 노드와 제2 사용자를 표현하는 제2 노드를 연결하도록 생성된다. 다양한 노드가 서로 연관되고 상호작용함에 따라, 소셜 네트워킹 시스템(830)은 관계 및 상호작용을 반영하도록 다양한 노드를 연결하는 에지들을 수정한다.
소셜 네트워킹 시스템(830)은 또한, 소셜 네트워킹 시스템(830)과의 사용자 상호작용을 향상시키는 사용자-생성된 컨텐츠를 포함한다. 사용자-생성된 컨텐츠는, 사용자가 소셜 네트워킹 시스템(830)에 추가, 업로드, 전송 또는 "게시"할 수 있는 모든 것을 포함할 수 있다. 예컨대, 사용자는 사용자 장치(810)로부터 소셜 네트워킹 시스템(830)에 게시물을 통신한다. 게시물은 상태 업데이트 또는 다른 텍스트 데이터, 위치 정보, 사진과 같은 이미지, 비디오, 링크, 음악, 또는 다른 유사한 데이터 및/또는 미디어와 같은 데이터를 포함할 수 있다. 컨텐츠는 또한, 제3자에 의해 소셜 네트워킹 시스템(830)에 추가될 수 있다. 컨텐츠 "아이템"들은 소셜 네트워킹 시스템(830)에서 객체로 표현될 수 있다. 이러한 방식으로, 소셜 네트워킹 시스템(830)의 사용자들은, 다양한 통신 채널을 통해 미디어의 다양한 타입의 텍스트 및 컨텐츠 아이템을 게시함으로써 서로와 통신하도록 장려된다. 이러한 통신은 사용자들 서로간의 상호작용을 증가시키고 사용자가 소셜 네트워킹 시스템(830)과 상호작용하는 빈도를 증가시킨다.
소셜 네트워킹 시스템(830)은 웹 서버(832), API 요청 서버(834), 사용자 프로필 스토어(836), 연결 스토어(838), 행위 로거(840), 활동 로그(842) 및 인증 서버(844)를 포함한다. 본 발명의 일실시예로, 소셜 네트워킹 시스템(830)은 다양한 애플리케이션을 위해 추가의, 더 적은 수의, 혹은 상이한 컴포넌트들을 포함할 수 있다. 네트워크 인터페이스, 보안 메커니즘, 로드 균형기(load balancer), 장애복구 서버(failover server), 관리 및 네트워크 운영 콘솔 등과 같은 다른 컴포넌트들은 시스템의 세부사항을 불명확하게 만들지 않기 위해 도시되지 않는다.
사용자 프로필 스토어(836)는, 사용자에 의해 선언되었거나 소셜 네트워킹 시스템(830)에 의해 추론된 경력, 학력, 취미 또는 선호도, 위치 등과 같은 인명적, 인구학적, 및 다른 타입의 기술적 정보를 포함하는 사용자 계정에 관한 정보를 관리한다. 이 정보는 사용자 프로필 스토어(836)에 저장되어서, 각각의 사용자가 고유하게 식별되도록 한다. 소셜 네트워킹 시스템(830)은 또한, 연결 스토어(838)에서의 상이한 사용자들 사이의 하나 이상의 연결을 기술하는 데이터를 저장한다. 연결 정보는 유사하거나 공통되는 경력, 그룹 멤버쉽, 취미, 또는 학력을 갖는 사용자들을 표시할 수 있다.  추가로, 소셜 네트워킹 시스템(830)은 상이한 사용자들 사이의 사용자-정의된 연결을 포함하여, 사용자들이 다른 사용자들과의 그들의 관계를 특정할 수 있도록 한다. 예컨대, 사용자-정의된 연결은 사용자가 사용자의 실제-삶에서의 관계들, 가령 친구들, 동료들, 파트너들 등에 필적하는 다른 사용자들과의 관계를 생성할 수 있도록 한다.  사용자는 기정의된 연결 타입으로부터 선택될 수 있거나, 필요에 따라 스스로 연결 타입을 정의할 수 있다. 소셜 네트워킹 시스템(830)에서의 다른 노드들과의 연결, 가령 비-인간 엔티티들, 버켓, 클러스터 센터, 이미지, 관심사, 페이지, 외부 시스템, 컨셉 등이 또한, 연결 스토어(838)에 저장된다.
소셜 네트워킹 시스템(830)은 사용자가 상호작용할 수 있는 객체들에 관한 데이터를 관리한다. 이 데이터를 관리하기 위해, 사용자 프로필 스토어(836) 및 연결 스토어(838)는 소셜 네트워킹 시스템(830)에 의해 관리되는 객체들의 대응하는 타입의 인스턴스들을 저장한다. 각각의 객체 타입은 객체의 타입에 적절한 정보는 저장하는데 적합한 정보 필드를 가진다. 예컨대, 사용자 프로필 스토어(836)는 사용자의 계정 및 사용자의 계정과 관련된 정보를 기술하기에 적절한 필드를 갖는 데이터 구조를 포함한다. 특정 타입의 새로운 객체가 생성될 때, 소셜 네트워킹 시스템(830)은 대응하는 타입의 새로운 데이터 구조를 초기화하고, 고유한 객체 식별자를 그것에 할당하며, 필요에 따라 객체에 데이터를 추가한다. 이는 예컨대, 사용자가 소셜 네트워킹 시스템(830)의 사용자가 되고, 소셜 네트워킹 시스템(830)이 사용자 프로필 스토어(836)에 사용자 프로필의 새로운 인스턴스를 생성하며, 고유한 식별자를 사용자 계정에 할당하고, 사용자에 의해 제공된 정보로 사용자 계정의 필드를 채우는 것을 시작할 때에 발생할 수 있다.
연결 스토어(838)는 다른 사용자들에 대한 사용자의 연결, 외부 시스템(820)과의 연결 또는 다른 엔터티와의 연결을 기술하는데 적절한 데이터 구조를 포함한다. 연결 스토어(838)는 또한, 연결 타입을 사용자의 연결과 연관시킬 수 있고, 연결 타입은 사용자에 관한 정보에 대한 액세스를 규제하기 위해 사용자의 개인정보 설정과 함께 사용될 수 있다. 본 발명의 일실시예로, 사용자 프로필 스토어(836) 및 연결 스토어(838)는 연합된 데이터베이스로 구현될 수 있다.
연결 스토어(838), 사용자 프로필 스토어(836), 및 활동 로그(842)에 저장된 데이터는 소셜 네트워킹 시스템(830)이 상이한 객체들 사이의 관계를 식별하기 위해 다양한 객체 및 노드를 연결하는 에지를 식별하도록 노드를 사용하는 소셜 그래프를 생성할 수 있도록 한다. 예컨대, 제1 사용자가 소셜 네트워킹 시스템(830)에서 제2 사용자와의 연결을 확립한다면, 사용자 프로필 스토어(836)로부터의 제1 사용자 및 제2 사용자의 사용자 계정들은 소셜 그래프에서 노드로서 역할을 할 수 있다. 연결 스토어(838)에 의해 저장된 제1 사용자 및 제2 사용자 사이의 연결은 제1 사용자 및 제2 사용자와 연관된 노드들 사이의 에지이다. 이 예로 계속하면, 제2 사용자는 이후, 소셜 네트워킹 시스템(830) 내에서 제1 사용자에게 메시지를 전송할 수 있다. 저장될 수 있는 이 메시지를 전송하는 행위는, 제1 사용자 및 제2 사용자를 표현하는 소셜 그래프에서의 2개의 노드 사이의 또 다른 에지이다.  추가로, 메시지 자체는 제1 사용자 및 제2 사용자를 나타내는 노드에 연결된 다른 노드로서 식별되고 소셜 그래프 내에 포함될 수 있다.
다른 예로, 제1 사용자는 소셜 네트워킹 시스템(830)에 의해 관리되는 이미지에서 (또는 대안으로, 소셜 네트워킹 시스템(830) 외부의 다른 시스템에 의해 관리되는 이미지)에서 제2 사용자를 태그할 수 있다. 이미지는 그 자체가 소셜 네트워킹 시스템(830)에서 노드로 표현될 수 있다. 이 태깅 행위는 제1 사용자와 제2 사용자 사이의 에지를 생성할 뿐 아니라 사용자 각각과 소셜 그래프 내의 노드인 이미지 사이의 에지를 생성할 수 있다.  또 다른 예로, 사용자가 이벤트에 참석하는 것을 확인한다면, 사용자 및 이벤트는 사용자 프로필 스토어(836)로부터 획득되는 노드들이며, 여기서 이벤트의 참석은 활동 로그(842)로부터 검색될 수 있는 노드 사이의 에지이다. 소셜 그래프를 생성하고 관리함으로써, 소셜 네트워킹 시스템(830)은 상이한 타입의 객체 및 상호작용과 그 객체들 사이의 연결을 기술하는 데이터를 포함하고, 소셜적으로 관련된(socially relevant) 정보의 풍부한 소스를 제공한다.
웹 서버(832)는 네트워크(850)를 통해 소셜 네트워킹 시스템(830)을 하나 이상의 사용자 장치(810) 및/또는 하나 이상의 외부 시스템(820)으로 링크한다. 웹 서버(832)는, 가령 Java, JavaScript, Flash, XML 등과 같은 다른 웹-연관 컨텐츠 뿐만 아니라 웹 페이지들을 서빙한다. 웹 서버(832)는 메일 서버 또는 소셜 네트워킹 시스템(830)과 하나 이상의 사용자 장치(810) 사이의 메시지를 수신하고 라우팅하기 위한 다른 메시징 기능을 포함할 수 있다. 메시지는 인스턴트 메시지, 큐잉된 메시지(예컨대, 이메일), 텍스트 및 SMS 메시지, 또는 임의의 다른 적절한 메시지 포맷일 수 있다.
API 요청 서버(834)는, 하나 이상의 API 함수를 호출함으로써 하나 이상의 외부 시스템(820) 및 사용자 장치(810)가 소셜 네트워킹 시스템(830)으로부터 액세스 정보를 호출하도록 한다. API 요청 서버(834)는 또한, API들을 호출함으로써 외부 시스템(820)이 소셜 네트워킹 시스템(830)으로 정보를 전송하도록 할 수 있다. 일 실시예로, 외부 시스템(820)은 네트워크(850)를 통하여 소셜 네트워킹 시스템(830)으로 API 요청을 전송하며, API 요청 서버(834)는 그 API 요청을 수신한다. API 요청 서버(834)는 API 요청 서버(834)가 네트워크(850)를 통하여 외부 시스템(820)으로 통신할 적절한 응답을 생성하기 위하여 API 요청과 연관된 API를 호출하는 것에 의하여 그 요청을 처리한다. 예컨대, API 요청에 응답하여, API 요청 서버(834)는 외부 시스템(820)에 로그인하고 있는 사용자의 연결과 같이 사용자와 연관된 데이터를 수집하고 수집된 데이터를 외부 시스템(820)으로 통신한다. 다른 실시예로, 사용자 장치(810)는 외부 시스템(820)과 동일한 방식으로 소셜 네트워킹 시스템(830)과 API들을 통해 통신한다.
행위 로거(840)는 소셜 네트워킹 시스템(830) 안에서의 및/또는 밖에서의 사용자 행위에 관한 통신을 웹 서버(832)로부터 수신할 수 있다. 행위 로거(840)는 사용자 행위에 관한 정보로 활동 로그(842)를 채워서 소셜 네트워킹 시스템(830)이 소셜 네트워킹 시스템(830) 내에서 및 소셜 네트워킹 시스템(830) 밖에서 그것의 사용자들에 의해 행해진 다양한 행위를 발견할 수 있도록 한다. 특정 사용자가 소셜 네트워킹 시스템(830) 상의 다른 노드에 관해 행한 임의의 행위는, 활동 로그(842) 또는 유사한 데이터베이스 또는 다른 데이터 저장소에 관리되는 정보를 통해 각각의 사용자의 계정과 연관될 수 있다. 식별되고 저장된 소셜 네트워킹 시스템(830) 내에서 사용자에 의해 행해진 행위의 예들은 예컨대, 다른 사용자로의 연결의 추가, 다른 사용자에게 메세지를 전송, 다른 사용자로부터의 메시지를 읽기, 다른 사용자와 연관된 컨텐츠를 열람, 다른 사용자에 의해 게시된 이벤트에 참석, 이미지를 게시, 이미지를 게시하는 것의 시도, 또는 다른 사용자 또는 다른 객체와 상호작용하는 다른 행위들을 포함할 수 있다. 사용자가 소셜 네트워킹 시스템(830) 내에서 행위를 행할 때, 행위는 활동 로그(842)에 기록된다. 일실시예로, 소셜 네트워킹 시스템(830)은 활동 로그(842)를 엔트리들의 데이터베이스로서 관리한다. 행위가 소셜 네트워킹 시스템(830) 내에서 행해질 때, 행위에 대한 엔트리는 활동 로그(842)에 추가된다. 활동 로그(842)는 행위 로그라고 언급될 수 있다.
추가로, 사용자 행위는 가령 소셜 네트워킹 시스템(830)으로부터 분리된 외부 시스템(820)과 같이 소셜 네트워킹 시스템(830)의 외부의 엔트리 내에서 발생하는 컨셉 및 행위와 연관될 수 있다. 예컨대, 행위 로거(840)는 웹 서버(832)로부터 외부 시스템(820)과의 사용자 상호작용을 기술하는 데이터를 수신할 수 있다. 이 예에서, 외부 시스템(820)은 소셜 그래프에서의 구조화된 행위 및 객체에 따라 사용자의 상호작용을 보고한다.
사용자가 외부 시스템(820)과 상호작용하는 행위들의 다른 예들은, 사용자가 외부 시스템(820) 또는 다른 엔티티에 대한 관심을 표현하는 것, 사용자가 외부 시스템(820) 또는 외부 시스템(820) 내의 웹 페이지(822a)를 논의하는 코멘트를 소셜 네트워킹 시스템(830)에 게시하는 것, 사용자가 외부 시스템(820)과 연관된 URL(Uniform Resource Locator) 또는 다른 식별자를 소셜 네트워킹 시스템(830)에 게시하는 것, 사용자가 외부 시스템(820)과 연관된 이벤트에 참석하는 것, 또는 외부 시스템(820)과 관련된 사용자에 의한 임의의 다른 행위를 포함한다. 따라서, 활동 로그(842)는 소셜 네트워킹 시스템(830)의 사용자 및 소셜 네트워킹 시스템(830)으로부터 분리된 외부 시스템(820) 사이의 상호작용을 기술하는 행위들을 포함할 수 있다.
인증 서버(844)는 소셜 네트워킹 시스템(830)의 사용자들의 하나 이상의 개인정보 설정을 강제한다. 사용자의 개인정보 설정은 어떻게 사용자와 관련된 특정 정보가 공유될 수 있는지를 결정한다.  개인정보 설정은 사용자와 연관된 특정 정보의 사양 및 정보가 공유될 수 있는 엔티티 또는 엔티티들의 사양을 포함한다.  정보가 공유될 수 있는 엔티티들의 예들은 다른 사용자들, 애플리케이션, 외부 시스템(820), 또는 정보에 잠재적으로 액세스할 수 있는 임의의 엔티티를 포함할 수 있다. 사용자에 의해 공유될 수 있는 정보는 가령, 프로필 사진, 사용자와 연관된 전화번호, 사용자의 연결, 연결을 추가하기, 사용자의 프로필 정보를 변경하기와 같은 사용자에 의해 행해진 행위 등과 같은 사용자 계정 정보를 포함한다.
개인정보 설정 명세가 상이한 레벨의 입상도(granularity)에서 제공될 수 있다. 예컨대, 개인정보 설정은 다른 사용자들과 공유될 특정 정보를 식별할 수 있고; 개인정보 설정은 직장 전화번호 또는 가령, 프로필 사진, 집 전화번호, 및 상태와 같은 관련된 정보의 특정 세트를 식별한다.  대안으로, 개인정보 설정은 사용자와 연관된 모든 정보에 적용될 수 있다.  특정 정보에 접속할 수 있는 엔티티 세트의 사양 또한 다양한 상세도 레벨로 특정될 수 있다.  정보가 공유될 수 있는 다양한 세트의 엔티티들은 예컨대, 사용자의 모든 친구들, 친구들의 모든 친구들, 모든 애플리케이션, 또는 모든 외부 시스템(820)을 포함할 수 있다. 일 실시예는 엔티티 세트의 사양이 엔티티들의 나열을 포함하게 한다.  예컨대, 사용자는 특정 정보에 액세스하는 것이 허용되는 외부 시스템(820)의 리스트를 제공할 수 있다. 다른 실시예는 사양이 정보에 접속이 허용되지 않는 예외와 함께 엔티티 세트를 포함하게 할 수 있게 한다.  예컨대, 사용자는 모든 외부 시스템(820)이 사용자의 작업 정보에 액세스할 수 있도록 하지만, 작업 정보에 액세스하는 것이 허용되지 않는 외부 시스템(820)의 리스트를 특정할 수 있다. 특정 실시예들은 특정 정보를 액세스하는 것이 허용되지 않는 예외들의 리스트를 "차단 리스트"라고 할 수 있다. 사용자에 의해 특정된 차단 리스트에 속하는 외부 시스템(820)은 개인정보 설정에 특정된 정보를 액세스하는 것으로부터 차단된다. 정보의 명세의 입상도 및 정보가 공유되는 엔티티들의 명세의 입상도의 다양한 조합이 가능하다.  예컨대, 모든 개인 정보는 친구들과 공유될 수 있는 한편, 모든 작업 정보는 친구의 친구들과 공유될 수 있다.
인증 서버(844)는 사용자와 연관된 특정 정보가 사용자의 친구들, 외부 시스템(820), 및/또는 다른 애플리케이션과 엔티티들에 의해 액세스될 수 있는지 여부를 결정하는 로직을 포함한다. 외부 시스템(820)은 가령 사용자의 직장 전화번호와 같은 사용자의 더 개인적이고 민감한 정보에 액세스하기 위해 인증 서버(844)로부터의 인증이 필요할 수 있다. 사용자의 개인정보 설정에 기반하여, 인증 서버(844)는, 다른 사용자, 외부 시스템(820), 애플리케이션, 또는 다른 엔티티가 사용자에 의해 행해진 행위에 관한 정보를 포함하는 사용자와 연관된 정보에 액세스하는 것이 허용되는지 여부를 결정한다.
일부 실시예로, 소셜 네트워킹 시스템(830)은 컨텐츠 표시 모듈(846)을 포함할 수 있다. 컨텐츠 표시 모듈(846)은 예컨대, 도 1의 컨텐츠 표시 모듈(102)로 구현될 수 있다. 일부 실시예로, 사용자 장치(810)는 도 1의 컨텐츠 표시 모듈(102)에 의해 수행될 수 있는 특징의 일부 또는 전부를 수행하도록 구성된 컨텐츠 표시 모듈(818)을 포함할 수 있다. 전술한 바와 같이, 많은 변형 또는 다른 가능성이 있을 수 있음을 이해할 것이다.
하드웨어 구현
상술한 프로세스 및 특징들은 매우 다양한 기계 및 컴퓨터 시스템 구조와 매우 다양한 네트워크 및 컴퓨팅 환경으로 구현될 수 있다. 도 9는 본 발명의 실시예에 따른, 본 명세서에 기술된 하나 이상의 실시예들을 구현하도록 사용될 수 있는 컴퓨터 시스템(900)의 예시를 도시한다. 컴퓨터 시스템(900)은 컴퓨터 시스템(900)이 본 명세서에 기술된 프로세스 및 특징들을 수행하도록 야기하는 명령어들의 세트들을 포함한다. 컴퓨터 시스템(900)은 다른 기계들에 연결(예컨대, 네트워크화)될 수 있다. 네트워크화된 배치에서, 컴퓨터 시스템(900)은 클라이언트-서버 네트워크 환경에서의 서버 기계 또는 클라이언트 기계의 용량으로 또는 피어-투-피어 (또는 분산형) 네트워크 환경에서의 피어 기계로서 동작할 수 있다. 본 발명의 일실시예로, 컴퓨터 시스템(900)은 소셜 네트워킹 시스템(830), 사용자 장치(810) 및 외부 시스템(820)이거나 그들의 컴포넌트일 수 있다. 본 발명의 일실시예로, 컴퓨터 시스템(900)은 소셜 네트워킹 시스템(830)의 전부 또는 일부를 구성하는 많은 수의 서버들 중 하나의 서버일 수 있다.
컴퓨터 시스템(900)은, 본 명세서에 기술된 프로세스 및 특징에 관련되고, 컴퓨터-판독가능한 매체에 저장된 프로세서(902), 캐시(904), 및 하나 이상의 실행가능한 모듈 및 드라이버를 포함한다. 추가로, 컴퓨터 시스템(900)은 고성능 입력/출력(I/O) 버스(906) 및 표준 I/O 버스(908)를 포함한다. 호스트 브릿지(910)는 프로세서(902)를 고성능 I/O 버스(906)에 연결하는 한편, I/O 버스 브릿지(912)는 2개의 버스들(906, 908)을 서로 연결한다. 시스템 메모리(914) 및 하나 이상의 네트워크 인터페이스(916)는 고성능 I/O 버스(906)에 연결된다. 컴퓨터 시스템(900)은 비디오 메모리 및 비디오 메모리에 연결된 디스플레이 장치(도시되지 않음)를 더 포함할 수 있다. 대용량 저장소(918) 및 I/O 포트(920)는 표준 I/O 버스(908)에 연결된다. 컴퓨터 시스템(900)은 선택적으로 키보드, 포인팅 장치, 디스플레이 장치, 또는 표준 I/O 버스(908)에 연결된 다른 입력/출력 장치들(도시되지 않음)을 포함할 수 있다. 전체적으로, 이러한 구성요소들은, 캘리포니아 산타 클라라의 인텔사에 의해 제조된 x86-호환 프로세서, 및 캘리포니아 서니데일의 AMD(Advanced Micro Devices), Inc.에 의해 제조된 x86-호환 프로세서뿐만 아니라 임의의 다른 적절한 프로세서에 기반하는 컴퓨터 시스템을 포함하지만 이에 제한되지 않는 컴퓨터 하드웨어 시스템의 넓은 카테고리를 표현하도록 의도되었다.
운영 시스템은, 소프트웨어 애플리케이션(도시되지 않음)으로 오가는 데이터의 입력 및 출력을 포함하는 컴퓨터 시스템(900)의 동작을 관리하고 제어한다. 운영 시스템은 시스템상에 실행되는 소프트웨어 애플리케이션과 시스템의 하드웨어 컴포넌트들 사이의 인터페이스를 제공한다.  가령 LINUX 운영 시스템, 캘리포니아 쿠퍼티노의 Apple Computer Inc.로부터 이용가능한 Apple Macintosh 운영 시스템, UNIX 운영 시스템, Microsoft®Windows® 운영 시스템, BSD 운영 시스템 등과 같은 임의의 적절한 운영 시스템이 이용될 수 있다.  다른 구현도 가능하다.
컴퓨터 시스템(900)의 구성요소들은 아래에서 더 상세하게 기술된다. 특히, 네트워크 인터페이스(916)는 컴퓨터 시스템(900) 및 가령 Ethernet(예컨대, IEEE 802.3) 네트워크, 백플레인(backplane) 등과 같은 임의의 광범위의 네트워크 사이의 통신을 제공한다. 대용량 저장소(718)는 앞서 식별된 각각의 컴퓨팅 시스템들에 의해 구현되는 상기 프로세스들 및 특징들을 수행하는 프로그래밍 명령어들 및 데이터를 위한 영구적인 저장소를 제공하는 한편, 시스템 메모리(914)(예컨대, DRAM)는 프로세서(902)에 의해 실행될 때 데이터 및 프로그래밍 명령어들을 위한 임시적인 저장소를 제공한다. I/O 포트(920)는, 컴퓨터 시스템(900)에 연결될 수 있는 추가 주변 장치들 사이의 통신을 제공하는 하나 이상의 직렬 및/또는 병렬 통신 포트일 수 있다.
컴퓨터 시스템(900)은 다양한 시스템 구조들을 포함할 수 있고, 컴퓨터 시스템(900)의 다양한 컴포넌트들은 재정렬될 수 있다. 예컨대, 캐시(904)는 프로세서(902)를 갖는 온-칩일 수 있다. 대안으로, 캐시(904) 및 프로세서(902)는 프로세서(902)가 "프로세서 코어"로 불리는 "프로세서 모듈"로 함께 패킹(pack)될 수 있다. 더욱이, 본 발명의 특정 실시예들은 상기의 컴포넌트들 전부를 요구하지도 않고 포함하지도 않을 수 있다.  예컨대, 표준 I/O 버스(908)에 연결된 주변 장치들은 고성능 I/O 버스(906)에 연결될 수 있다. 추가로, 일부 실시예로, 단일 버스만이 존재할 수 있고, 컴퓨터 시스템(900)의 컴포넌트들은 단일 버스에 연결될 수 있다. 더욱이, 컴퓨터 시스템(900)은 가령 추가적인 프로세서, 저장 장치, 또는 메모리와 같은 추가 컴포넌트들을 포함할 수 있다.
일반적으로, 본 명세서에 기술된 프로세스 및 특징들은 운영 시스템 또는 특정 애플리케이션, 컴포넌트, 프로그램, 객체, 모듈 또는 "프로그램"으로 불리는 일련의 명령어들의 일부로서 구현될 수 있다. 예컨대, 하나 이상의 프로그램들은 본 명세서에 기술된 특정 프로세스들을 실행하는데 사용될 수 있다.  프로그램들은 전형적으로 하나 이상의 프로세서에 의해 읽혀지고 실행될 때 컴퓨터 시스템(900)이 본 명세서에 기술된 프로세스 및 특징들을 실행하는 동작들을 수행하도록 야기하는 하나 이상의 명령어들을 컴퓨터 시스템(900)에서 다양한 메모리 및 저장 장치에서 포함할 수 있다. 본 명세서에 기술된 프로세스 및 특징들은 소프트웨어, 펌웨어, 하드웨어(예컨대, 애플리케이션 고유의 집적 회로(application specific integrated circuit; ASIC), 또는 이들의 임의의 조합에서 구현될 수 있다.
하나의 구현예로, 본 명세서에 기술된 프로세스 및 특징들은, 컴퓨터 시스템(900)에 의해 실행되는 일련의 실행가능한 모듈로서 분산형 컴퓨팅 환경에서 개별적으로 또는 집합적으로 구현될 수 있다. 전술한 모듈들은 하드웨어, 컴퓨터-판독가능한 매체 (또는 기계-판독가능한 매체), 또는 이들 모두의 조합에 의해 실현될 수 있다.  예컨대, 모듈은 가령, 프로세서(902)와 같은 하드웨어 시스템에서의 프로세서에 의해 실행되는 복수의 또는 일련의 명령어들을 포함할 수 있다. 초기에, 일련의 명령어들은 가령, 대용량 저장소(918)와 같은 저장 장치에 저장될 수 있다. 하지만, 일련의 명령어들은 임의의 적절한 컴퓨터-판독가능한 저장 매체에 저장될 수 있다.  더욱이, 일련의 명령어들은 로컬에서 저장될 필요가 없으며, 네트워크 인터페이스(916)를 통해 가령 네트워크상의 서버와 같은 원격 저장 장치로부터 수신될 수 있다. 명령어들은 가령 대용량 저장소(918)와 같은 저장 장치로부터 시스템 메모리(914)로 복사되고, 이후 프로세서(902)에 의해 액세스되고 실행된다. 다양한 구현예에서, 모듈 또는 모듈들은 프로세서나 복수의 프로세서들에 의하여 하나 또는 복수의 위치, 예컨대 병렬 프로세싱 환경의 복수의 서버에서 실행될 수 있다.
컴퓨터-판독가능한 매체의 예들은, 가령 휘발성 및 비-휘발성 메모리 장치와 같은 기록 가능한 타입의 매체; 고체 상태 메모리(solid state memory; SSD); 플로피 및 다른 제거가능한 디스크; 하드 디스크 드라이브, 자기 매체; 광학 디스크(예컨대, CD ROMS(Compact Disk Read-Only Memory), DVDs(Digital Versatile Disks)); 다른 유사한 비-일시적 (또는 일시적), 실체적 (또는 비-실체적) 저장 매체; 또는 본 명세서에 기술되는 임의의 하나 이상의 프로세스 및 특징을 수행하는 컴퓨터 시스템(900)에 의해 실행하기 위한 일련의 명령어들을 저장하고, 인코딩하고, 운반하는데 적절한 임의의 타입의 매체를 포함하지만, 이에 제한되지 않는다.
설명하기 위한 목적을 위해, 발명의 설명의 완전한 이해를 제공하도록 다수의 구체적인 세부사항들이 언급된다. 하지만, 본 명세서의 실시예들은 이러한 구체적인 세부사항들 없이도 실행될 수 있음이 통상의 기술자에게 자명해질 것이다.  다른 예에서, 기능적 블록 다이어그램 및 흐름 다이어그램은 데이터 및 로직의 흐름을 표현하도록 도시된다.  다른 예에서, 기능적 블록 다이어그램 및 흐름 다이어그램은 데이터 및 로직의 흐름을 표현하도록 도시된다.  블록 다이어그램 및 흐름 다이어그램의 컴포넌트들(예컨대, 모듈, 블록, 구조, 장치, 특징 등)은 본 명세서에 명시적으로 기술되고 도시된 것과 다른 방식으로 다양하게 조합되고, 분리되고, 제거되고, 재정렬되고, 대체될 수 있다.
본 명세서에서의 "일실시예", "실시예", "다른 실시예", "일련의 실시예", "일부 실시예", "다양한 실시예", "특정 실시예" 등에 대한 언급은, 실시예와 연계되어 기술된 특정의 특징, 설계, 구조, 또는 특성이 본 명세서의 적어도 하나의 실시예에 포함되는 것을 의미한다. 본 명세서에서의 다양한 위치에서 가령, "일실시예로" 또는 "실시예로"와 같은 구절이 나타나는 것은 동일한 실시예를 언급하거나 혹은 다른 실시예들과 상호 배타적이며 분리된 또는 대안적 실시예들을 필연적으로 언급하는 것은 아니다.  더욱이, "실시예" 등에 대한 명시적인 언급이 있는지와 무관하게, 다양하게 조합될 수 있고 일부 실시예들에 포함될 수 있는 다양한 특징들이 기술되지만, 이들은 또한, 다른 실시예들에서 다양하게 생략된다.  마찬가지로, 일부 실시예에 대하여 바람직하거나 필요할 수 있지만 다른 실시예에서는 그렇지 않은 다양한 특징들이 개시된다.
본 명세서에 사용되는 용어는 원칙적으로 가독성 및 훈시적 목적을 위해서 선택되었으며, 발명의 대상을 묘사하거나 제한하기 위해 선택된 것은 아니다. 따라서, 본 발명의 실시예들의 개시는 설명을 위한 것이며, 본 발명의 범위를 제한하고자 하는 것이 아니다. 본 발명의 범위는 이하의 청구범위에 개시된다.

Claims (20)

  1. 컴퓨팅 장치에 의해, 컨텐츠 아이템에 접근하기 위한 적어도 하나의 요청을 결정하는 단계;
    컴퓨팅 장치에 의해, 요청된 컨텐츠 아이템 내에 장면의 적어도 일부를 탐색하기 위한 자동화된 시청 모드를 설명하는 정보를 획득하는 단계;
    컴퓨팅 장치에 의해, 요청된 컨텐츠 아이템의 재생이 표시되는 컴퓨팅 장치의 디스플레이 스크린 상에 뷰포트 인터페이스를 제공하는 단계; 및
    컴퓨팅 장치에 의해, 자동화된 시청 모드에 적어도 부분적으로 기반하여 뷰포트 인터페이스가 요청된 컨텐츠 아이템의 재생 동안에 장면의 적어도 일부를 통해 자동으로 탐색되도록 야기하는 단계를 포함하고,
    상기 요청된 컨텐츠 아이템은 상이한 위치 세트로부터 하나 이상의 장면을 캡처하는 카메라 피드 세트를 사용하여 구성되는 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    자동화된 시청 모드를 설명하는 정보를 획득하는 단계는:
    컴퓨팅 장치에 의해, 요청된 컨텐츠 아이템의 재생 동안에 장면의 적어도 일부를 통해 뷰포트 인터페이스를 탐색하기 위한 적어도 하나의 궤적을 설명하는 정보를 획득하는 단계를 더 포함하는 컴퓨터 구현 방법.
  3. 제 1 항에 있어서,
    적어도 하나의 궤적을 설명하는 정보를 획득하는 단계는:
    컴퓨팅 장치에 의해, 사용자의 하나 이상의 속성에 적어도 부분적으로 기반하여 컴퓨팅 장치를 동작하는 사용자에 대응하는 카테고리를 결정하는 단계; 및
    컴퓨팅 장치에 의해, 카테고리에 포함된 적어도 일부 사용자가 관심이 있는 것으로 결정되었고 카테고리와 연관되는 적어도 하나의 궤적을 획득하는 단계를 더 포함하는 컴퓨터 구현 방법.
  4. 제 1 항에 있어서,
    자동화된 시청 모드를 설명하는 정보를 획득하는 단계는:
    컴퓨팅 장치에 의해, 요청된 컨텐츠 아이템의 재생 동안에 나타나는 적어도 하나의 관심 지점을 설명하는 정보를 획득하는 단계; 및
    컴퓨팅 장치에 의해, 요청된 컨텐츠 아이템의 재생 동안에 장면의 적어도 일부를 통해 뷰포트 인터페이스를 탐색하기 위한 적어도 하나의 궤적을 설명하는 정보를 획득하는 단계를 더 포함하고,
    상기 궤적은 적어도 하나의 관심 지점을 포함하는 컴퓨터 구현 방법.
  5. 제 4 항에 있어서,
    적어도 하나의 관심 지점은 요청된 컨텐츠 아이템의 발행자에 의해 정의된 컴퓨터 구현 방법.
  6. 제 4 항에 있어서,
    적어도 하나의 관심 지점을 설명하는 정보를 획득하는 단계는:
    컴퓨팅 장치에 의해, 사용자의 하나 이상의 속성에 적어도 부분적으로 기반하여 컴퓨팅 장치를 동작하는 사용자에 대응하는 카테고리를 결정하는 단계; 및
    컴퓨팅 장치에 의해, 카테고리와 연관되는 적어도 하나의 관심 지점을 획득하는 단계를 더 포함하고,
    상기 관심 지점은 카테고리에 포함된 적어도 일부 사용자가 관심이 있는 것으로 결정되었던 컴퓨터 구현 방법.
  7. 제 1 항에 있어서,
    컴퓨팅 장치에 의해, 컴퓨팅 장치를 동작하는 사용자가 요청된 컨텐츠 아이템의 재생 동안에 특정 관심 지점으로 뷰포트 인터페이스를 수동으로 탐색하는 하나 이상의 행위를 수행했다고 결정하는 단계;
    컴퓨팅 장치에 의해, 특정 관심 지점을 공유하는 동작이 수행되었다고 결정하는 단계; 및
    컴퓨팅 장치에 의해, 특정 관심 지점을 설명하는 정보가 소셜 네트워킹 시스템을 통해 공유되도록 야기하는 단계를 더 포함하는 컴퓨터 구현 방법.
  8. 제 1 항에 있어서,
    컴퓨팅 장치에 의해, 컴퓨팅 장치를 동작하는 사용자가 요청된 컨텐츠 아이템의 재생 동안에 맞춤형 궤적을 생성하도록 뷰포트 인터페이스를 수동으로 탐색하는 하나 이상의 행위를 수행했다고 결정하는 단계;
    컴퓨팅 장치에 의해, 맞춤형 궤적을 공유하는 동작이 수행되었다고 결정하는 단계; 및
    컴퓨팅 장치에 의해, 맞춤형 궤적을 설명하는 정보가 소셜 네트워킹 시스템을 통해 공유되도록 야기하는 단계를 더 포함하는 컴퓨터 구현 방법.
  9. 제 1 항에 있어서,
    뷰포트 인터페이스가 자동으로 탐색되도록 야기하는 단계는:
    컴퓨팅 장치에 의해, 요청된 컨텐츠 아이템이 제1 관심 지점과 제2 관심 지점을 포함한다고 결정하는 단계; 및
    컴퓨팅 장치에 의해, 제1 관심 지점으로부터 제2 관심 지점으로 뷰포트 인터페이스를 자동으로 탐색하기 전에 방향 표시자가 뷰포트 인터페이스에 디스플레이되도록 야기하는 단계를 더 포함하고,
    상기 제2 관심 지점은 요청된 컨텐츠 아이템의 재생 동안에 제1 관심 지점에 후속하여 나타나고,
    상기 방향 표시자는 제2 관심 지점에 대응하는 방향을 가리키는 컴퓨터 구현 방법.
  10. 제 1 항에 있어서,
    뷰포트 인터페이스가 자동으로 탐색되도록 야기하는 단계는:
    컴퓨팅 장치에 의해, 요청된 컨텐츠 아이템이 제1 관심 지점과 제2 관심 지점을 포함한다고 결정하는 단계; 및
    컴퓨팅 장치에 의해, 적어도 하나의 필름 전환 기술을 사용하여 제1 관심 지점으로부터 제2 관심 지점으로 뷰포트 인터페이스가 자동으로 탐색되도록 야기하는 단계를 더 포함하고,
    상기 제2 관심 지점은 요청된 컨텐츠 아이템의 재생 동안에 제1 관심 지점에 후속하여 나타나는 컴퓨터 구현 방법.
  11. 적어도 하나의 프로세서; 및
    명령어를 저장하는 메모리를 포함하고,
    명령어는, 적어도 하나의 프로세서에 의해 실행될 때, 시스템으로 하여금:
    컨텐츠 아이템에 접근하기 위한 적어도 하나의 요청을 결정하는 단계;
    요청된 컨텐츠 아이템 내에 장면의 적어도 일부를 탐색하기 위한 자동화된 시청 모드를 설명하는 정보를 획득하는 단계;
    요청된 컨텐츠 아이템의 재생이 표시되는 컴퓨팅 장치의 디스플레이 스크린 상에 뷰포트 인터페이스를 제공하는 단계; 및
    자동화된 시청 모드에 적어도 부분적으로 기반하여 뷰포트 인터페이스가 요청된 컨텐츠 아이템의 재생 동안에 장면의 적어도 일부를 통해 자동으로 탐색되도록 야기하는 단계를 수행하도록 야기하고,
    상기 요청된 컨텐츠 아이템은 상이한 위치 세트로부터 하나 이상의 장면을 캡처하는 카메라 피드 세트를 사용하여 구성되는 시스템.
  12. 제 11 항에 있어서,
    자동화된 시청 모드를 설명하는 정보를 획득하는 단계는 시스템으로 하여금:
    요청된 컨텐츠 아이템의 재생 동안에 장면의 적어도 일부를 통해 뷰포트 인터페이스를 탐색하기 위한 적어도 하나의 궤적을 설명하는 정보를 획득하는 단계를 수행하도록 또한, 야기하는 시스템.
  13. 제 11 항에 있어서,
    적어도 하나의 궤적을 설명하는 정보를 획득하는 단계는 시스템으로 하여금:
    사용자의 하나 이상의 속성에 적어도 부분적으로 기반하여 컴퓨팅 장치를 동작하는 사용자에 대응하는 카테고리를 결정하는 단계; 및
    카테고리에 포함된 적어도 일부 사용자가 관심이 있는 것으로 결정되었고 카테고리와 연관되는 적어도 하나의 궤적을 획득하는 단계를 수행하도록 또한, 야기하는 시스템.
  14. 제 11 항에 있어서,
    자동화된 시청 모드를 설명하는 정보를 획득하는 단계는 시스템으로 하여금:
    요청된 컨텐츠 아이템의 재생 동안에 나타나는 적어도 하나의 관심 지점을 설명하는 정보를 획득하는 단계; 및
    요청된 컨텐츠 아이템의 재생 동안에 장면의 적어도 일부를 통해 뷰포트 인터페이스를 탐색하기 위한 적어도 하나의 궤적을 설명하는 정보를 획득하는 단계를 수행하도록 또한, 야기하고,
    상기 궤적은 적어도 하나의 관심 지점을 포함하는 시스템.
  15. 제 14 항에 있어서,
    적어도 하나의 관심 지점은 요청된 컨텐츠 아이템의 발행자에 의해 정의된 시스템.
  16. 컴퓨팅 시스템의 적어도 하나의 프로세서에 의해 실행될 때, 컴퓨팅 시스템으로 하여금:
    컨텐츠 아이템에 접근하기 위한 적어도 하나의 요청을 결정하는 단계;
    요청된 컨텐츠 아이템 내에 장면의 적어도 일부를 탐색하기 위한 자동화된 시청 모드를 설명하는 정보를 획득하는 단계;
    요청된 컨텐츠 아이템의 재생이 표시되는 컴퓨팅 장치의 디스플레이 스크린 상에 뷰포트 인터페이스를 제공하는 단계; 및
    자동화된 시청 모드에 적어도 부분적으로 기반하여 뷰포트 인터페이스가 요청된 컨텐츠 아이템의 재생 동안에 장면의 적어도 일부를 통해 자동으로 탐색되도록 야기하는 단계를 포함하는 방법을 수행하도록 야기하는 명령어를 포함하고,
    상기 요청된 컨텐츠 아이템은 상이한 위치 세트로부터 하나 이상의 장면을 캡처하는 카메라 피드 세트를 사용하여 구성되는 비-일시적 컴퓨터-판독가능한 저장 매체.
  17. 제 16 항에 있어서,
    자동화된 시청 모드를 설명하는 정보를 획득하는 단계는 컴퓨팅 시스템으로 하여금:
    요청된 컨텐츠 아이템의 재생 동안에 장면의 적어도 일부를 통해 뷰포트 인터페이스를 탐색하기 위한 적어도 하나의 궤적을 설명하는 정보를 획득하는 단계를 수행하도록 또한, 야기하는 비-일시적 컴퓨터-판독가능한 저장 매체.
  18. 제 16 항에 있어서,
    적어도 하나의 궤적을 설명하는 정보를 획득하는 단계는 컴퓨팅 시스템으로 하여금:
    사용자의 하나 이상의 속성에 적어도 부분적으로 기반하여 컴퓨팅 장치를 동작하는 사용자에 대응하는 카테고리를 결정하는 단계; 및
    카테고리에 포함된 적어도 일부 사용자가 관심이 있는 것으로 결정되었고 카테고리와 연관되는 적어도 하나의 궤적을 획득하는 단계를 수행하도록 또한, 야기하는 비-일시적 컴퓨터-판독가능한 저장 매체.
  19. 제 16 항에 있어서,
    자동화된 시청 모드를 설명하는 정보를 획득하는 단계는 컴퓨팅 시스템으로 하여금:
    요청된 컨텐츠 아이템의 재생 동안에 나타나는 적어도 하나의 관심 지점을 설명하는 정보를 획득하는 단계; 및
    요청된 컨텐츠 아이템의 재생 동안에 장면의 적어도 일부를 통해 뷰포트 인터페이스를 탐색하기 위한 적어도 하나의 궤적을 설명하는 정보를 획득하는 단계를 수행하도록 또한, 야기하고,
    상기 궤적은 적어도 하나의 관심 지점을 포함하는 비-일시적 컴퓨터-판독가능한 저장 매체.
  20. 제 19 항에 있어서,
    적어도 하나의 관심 지점은 요청된 컨텐츠 아이템의 발행자에 의해 정의된 비-일시적 컴퓨터-판독가능한 저장 매체.
KR1020187033538A 2016-05-02 2016-05-03 컨텐츠를 표시하기 위한 시스템 및 방법 KR102505524B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/144,695 2016-05-02
US15/144,695 US20170316806A1 (en) 2016-05-02 2016-05-02 Systems and methods for presenting content
PCT/US2016/030592 WO2017192125A1 (en) 2016-05-02 2016-05-03 Systems and methods for presenting content

Publications (2)

Publication Number Publication Date
KR20190002539A true KR20190002539A (ko) 2019-01-08
KR102505524B1 KR102505524B1 (ko) 2023-03-03

Family

ID=60158486

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187033538A KR102505524B1 (ko) 2016-05-02 2016-05-03 컨텐츠를 표시하기 위한 시스템 및 방법

Country Status (10)

Country Link
US (1) US20170316806A1 (ko)
JP (1) JP6735358B2 (ko)
KR (1) KR102505524B1 (ko)
CN (1) CN109417655B (ko)
AU (1) AU2016405659A1 (ko)
BR (1) BR112018072500A2 (ko)
CA (1) CA3023018A1 (ko)
IL (1) IL262655A (ko)
MX (1) MX2018013364A (ko)
WO (1) WO2017192125A1 (ko)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201710646A (zh) * 2015-09-02 2017-03-16 湯姆生特許公司 描繪大視場內容一部份時,決定導航資訊之方法和裝置,以及大視場內容描繪器
US10841557B2 (en) * 2016-05-12 2020-11-17 Samsung Electronics Co., Ltd. Content navigation
EP3264222B1 (en) * 2016-06-27 2019-04-10 Nokia Technologies Oy An apparatus and associated methods
EP3510744B1 (en) 2016-09-09 2022-05-04 Vid Scale, Inc. Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming
CN107888987B (zh) * 2016-09-29 2019-12-06 华为技术有限公司 一种全景视频播放方法及装置
WO2018116253A1 (en) * 2016-12-21 2018-06-28 Interaptix Inc. Telepresence system and method
KR101810671B1 (ko) * 2017-03-07 2018-01-25 링크플로우 주식회사 전방향 영상의 방향 정보를 생성하는 방법 및 이러한 방법을 수행하는 장치
US10362265B2 (en) 2017-04-16 2019-07-23 Facebook, Inc. Systems and methods for presenting content
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
JP7091073B2 (ja) * 2018-01-05 2022-06-27 キヤノン株式会社 電子機器及びその制御方法
WO2019141901A1 (en) * 2018-01-17 2019-07-25 Nokia Technologies Oy An apparatus, a method and a computer program for omnidirectional video
GB2570708A (en) * 2018-02-05 2019-08-07 Nokia Technologies Oy Switching between multidirectional and limited viewport video content
US10777228B1 (en) * 2018-03-22 2020-09-15 Gopro, Inc. Systems and methods for creating video edits
EP3769539A1 (en) 2018-03-22 2021-01-27 Vid Scale, Inc. Viewport dependent video streaming events
US10721510B2 (en) 2018-05-17 2020-07-21 At&T Intellectual Property I, L.P. Directing user focus in 360 video consumption
US10482653B1 (en) 2018-05-22 2019-11-19 At&T Intellectual Property I, L.P. System for active-focus prediction in 360 video
US11917127B2 (en) 2018-05-25 2024-02-27 Interdigital Madison Patent Holdings, Sas Monitoring of video streaming events
US10827225B2 (en) * 2018-06-01 2020-11-03 AT&T Intellectual Propety I, L.P. Navigation for 360-degree video streaming
JP7146472B2 (ja) * 2018-06-18 2022-10-04 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP7258482B2 (ja) * 2018-07-05 2023-04-17 キヤノン株式会社 電子機器
CN111163306B (zh) 2018-11-08 2022-04-05 华为技术有限公司 一种vr视频处理的方法及相关装置
KR102127846B1 (ko) * 2018-11-28 2020-06-29 주식회사 카이 영상을 처리하는 방법, 영상을 재생하는 방법 및 그 장치들
JP7183033B2 (ja) 2018-12-26 2022-12-05 キヤノン株式会社 電子機器、電子機器の制御方法、プログラム、及び、記憶媒体
JP7385238B2 (ja) * 2019-01-07 2023-11-22 株式会社mediVR リハビリテーション支援装置、リハビリテーション支援方法及びリハビリテーション支援プログラム
JP2022059098A (ja) * 2019-02-20 2022-04-13 ソニーグループ株式会社 情報処理装置、情報処理方法、およびプログラム
JPWO2020184188A1 (ko) * 2019-03-08 2020-09-17
US10728443B1 (en) 2019-03-27 2020-07-28 On Time Staffing Inc. Automatic camera angle switching to create combined audiovisual file
US10963841B2 (en) 2019-03-27 2021-03-30 On Time Staffing Inc. Employment candidate empathy scoring system
CN114026849A (zh) * 2019-07-03 2022-02-08 索尼集团公司 信息处理装置、信息处理方法、再现处理装置以及再现处理方法
CN114342366A (zh) * 2019-07-22 2022-04-12 交互数字Vc控股公司 用于递送体积视频内容的方法和装置
US10834381B1 (en) * 2019-07-25 2020-11-10 International Business Machines Corporation Video file modification
CN112541147A (zh) * 2019-09-23 2021-03-23 北京轻享科技有限公司 一种内容发布管理方法及系统
US11127232B2 (en) 2019-11-26 2021-09-21 On Time Staffing Inc. Multi-camera, multi-sensor panel data extraction system and method
US11023735B1 (en) 2020-04-02 2021-06-01 On Time Staffing, Inc. Automatic versioning of video presentations
US11144882B1 (en) 2020-09-18 2021-10-12 On Time Staffing Inc. Systems and methods for evaluating actions over a computer network and establishing live network connections
CN112699327B (zh) * 2020-11-06 2024-04-19 的卢技术有限公司 一种基于云计算的前端导航栏推荐方法及终端设备
EP4325867A1 (en) * 2021-04-16 2024-02-21 Panasonic Intellectual Property Management Co., Ltd. Video display system and video display method
US11659250B2 (en) * 2021-04-19 2023-05-23 Vuer Llc System and method for exploring immersive content and immersive advertisements on television
US11727040B2 (en) 2021-08-06 2023-08-15 On Time Staffing, Inc. Monitoring third-party forum contributions to improve searching through time-to-live data assignments
US11423071B1 (en) 2021-08-31 2022-08-23 On Time Staffing, Inc. Candidate data ranking method using previously selected candidate data
US11907652B2 (en) 2022-06-02 2024-02-20 On Time Staffing, Inc. User interface and systems for document creation

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060256210A1 (en) * 2005-04-28 2006-11-16 Kathleen Ryall Spatio-temporal graphical user interface for querying videos
US20120216121A1 (en) * 2011-02-18 2012-08-23 Futurewei Technologies, Inc. Methods and Apparatus for Media Navigation
KR20140120628A (ko) * 2013-04-04 2014-10-14 박정환 개체가 삽입된 이미지를 생성하고 편집하는 방법 및 그 장치
JP2015092669A (ja) * 2009-07-27 2015-05-14 コーニンクレッカ フィリップス エヌ ヴェ 3dビデオ及び補助データの結合

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6252975B1 (en) * 1998-12-17 2001-06-26 Xerox Corporation Method and system for real time feature based motion analysis for key frame selection from a video
JP4128033B2 (ja) * 2002-06-18 2008-07-30 富士通株式会社 プロファイルデータ検索装置及びプログラム
JP4285287B2 (ja) * 2004-03-17 2009-06-24 セイコーエプソン株式会社 画像処理装置、画像処理方法およびそのプログラム、記録媒体
US8453061B2 (en) * 2007-10-10 2013-05-28 International Business Machines Corporation Suggestion of user actions in a virtual environment based on actions of other users
CN101504805A (zh) * 2009-02-06 2009-08-12 祁刃升 具有路旁全景图像带的电子地图、其制作及标注兴趣点方法
US20100312596A1 (en) * 2009-06-05 2010-12-09 Mozaik Multimedia, Inc. Ecosystem for smart content tagging and interaction
SG176327A1 (en) * 2010-05-20 2011-12-29 Sony Corp A system and method of image processing
US9599715B2 (en) * 2010-08-03 2017-03-21 Faro Technologies, Inc. Scanner display
JP5678576B2 (ja) * 2010-10-27 2015-03-04 ソニー株式会社 情報処理装置、情報処理方法、プログラム、および監視システム
US9711182B2 (en) * 2011-06-07 2017-07-18 In Situ Media Corporation System and method for identifying and altering images in a digital video
WO2013024364A2 (en) * 2011-08-17 2013-02-21 Iopener Media Gmbh Systems and methods for virtual viewing of physical events
WO2014036363A1 (en) * 2012-08-31 2014-03-06 Fox Sports Productions, Inc. Systems and methods for tracking and tagging objects within a broadcast
JP5923021B2 (ja) * 2012-10-05 2016-05-24 日本電信電話株式会社 映像視聴履歴解析装置、映像視聴履歴解析方法及び映像視聴履歴解析プログラム
US8928666B2 (en) * 2012-10-11 2015-01-06 Google Inc. Navigating visual data associated with a point of interest
JP6044328B2 (ja) * 2012-12-26 2016-12-14 株式会社リコー 画像処理システム、画像処理方法およびプログラム
CN103971589B (zh) * 2013-01-28 2017-10-03 腾讯科技(深圳)有限公司 将地图的兴趣点信息添加于街景图像中的处理方法及装置
US9933921B2 (en) * 2013-03-13 2018-04-03 Google Technology Holdings LLC System and method for navigating a field of view within an interactive media-content item
US9652852B2 (en) * 2013-09-24 2017-05-16 Faro Technologies, Inc. Automated generation of a three-dimensional scanner video
US20150124171A1 (en) * 2013-11-05 2015-05-07 LiveStage°, Inc. Multiple vantage point viewing platform and user interface
US20150221341A1 (en) * 2014-01-31 2015-08-06 Audi Ag System and method for enhanced time-lapse video generation using panoramic imagery
JP2015162117A (ja) * 2014-02-27 2015-09-07 ブラザー工業株式会社 サーバ装置、プログラム、及び情報処理方法
US9754159B2 (en) * 2014-03-04 2017-09-05 Gopro, Inc. Automatic generation of video from spherical content using location-based metadata
JP6369080B2 (ja) * 2014-03-20 2018-08-08 大日本印刷株式会社 画像データ生成システム、画像生成方法、画像処理装置及びプログラム
JP6354244B2 (ja) * 2014-03-25 2018-07-11 大日本印刷株式会社 画像再生端末、画像再生方法、プログラム、及び、多視点画像再生システム
CN106576184B (zh) * 2014-07-18 2020-08-18 索尼公司 信息处理装置、显示装置、信息处理方法、程序和信息处理系统
US20170244959A1 (en) * 2016-02-19 2017-08-24 Adobe Systems Incorporated Selecting a View of a Multi-View Video

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060256210A1 (en) * 2005-04-28 2006-11-16 Kathleen Ryall Spatio-temporal graphical user interface for querying videos
JP2015092669A (ja) * 2009-07-27 2015-05-14 コーニンクレッカ フィリップス エヌ ヴェ 3dビデオ及び補助データの結合
US20120216121A1 (en) * 2011-02-18 2012-08-23 Futurewei Technologies, Inc. Methods and Apparatus for Media Navigation
KR20140120628A (ko) * 2013-04-04 2014-10-14 박정환 개체가 삽입된 이미지를 생성하고 편집하는 방법 및 그 장치

Also Published As

Publication number Publication date
CN109417655A (zh) 2019-03-01
MX2018013364A (es) 2019-03-28
JP6735358B2 (ja) 2020-08-05
CN109417655B (zh) 2021-04-20
BR112018072500A2 (pt) 2019-03-12
KR102505524B1 (ko) 2023-03-03
WO2017192125A1 (en) 2017-11-09
CA3023018A1 (en) 2017-11-09
US20170316806A1 (en) 2017-11-02
JP2019521547A (ja) 2019-07-25
IL262655A (en) 2018-12-31
AU2016405659A1 (en) 2018-11-15

Similar Documents

Publication Publication Date Title
KR102505524B1 (ko) 컨텐츠를 표시하기 위한 시스템 및 방법
KR102312473B1 (ko) 미디어 콘텐츠 아이템들 간의 전이를 위한 시스템들 및 방법들
JP6921842B2 (ja) コンテンツを提示するためのシステムおよび方法
US20180034874A1 (en) Systems and methods for interactive broadcasting
US10354694B2 (en) Systems and methods for providing content items associated with objects
US10445614B2 (en) Systems and methods for evaluating content
US10692187B2 (en) Systems and methods for presenting content
US10362265B2 (en) Systems and methods for presenting content
US10929979B1 (en) Systems and methods for processing content
US11036289B2 (en) Systems and methods to present information in a virtual environment
US11166080B2 (en) Systems and methods for presenting content
EP3217267B1 (en) Systems and methods for presenting content
US10489979B2 (en) Systems and methods for providing nested content items associated with virtual content items
US20180300747A1 (en) Systems and methods for providing demographic analysis for media content based on user view or activity
EP3388955A1 (en) Systems and methods for presenting content
EP3242273B1 (en) Systems and methods for presenting content
EP3389281A1 (en) Systems and methods for provisioning content

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right