KR20210049022A - 뷰포인트 위치에 기초하는 콘텐츠 애니메이션 커스터마이제이션 - Google Patents

뷰포인트 위치에 기초하는 콘텐츠 애니메이션 커스터마이제이션 Download PDF

Info

Publication number
KR20210049022A
KR20210049022A KR1020207012832A KR20207012832A KR20210049022A KR 20210049022 A KR20210049022 A KR 20210049022A KR 1020207012832 A KR1020207012832 A KR 1020207012832A KR 20207012832 A KR20207012832 A KR 20207012832A KR 20210049022 A KR20210049022 A KR 20210049022A
Authority
KR
South Korea
Prior art keywords
content item
location
viewport
animated content
computing device
Prior art date
Application number
KR1020207012832A
Other languages
English (en)
Other versions
KR102392716B1 (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 KR20210049022A publication Critical patent/KR20210049022A/ko
Application granted granted Critical
Publication of KR102392716B1 publication Critical patent/KR102392716B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/802D [Two Dimensional] animation, e.g. using sprites
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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
    • G06T13/00Animation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/24Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

애니메이트된 콘텐츠 아이템이 제시되는 컴퓨팅 디바이스의 뷰포트 내 애니메이트된 콘텐츠 아이템의 위치에 기초하여 애니메이트된 콘텐츠 아이템을 구성하는데 사용되는 시스템, 방법 및 컴퓨터 판독가능 저장 매체가 제공된다. 하나의 방법은 애니메이트된 콘텐츠 아이템의 속성이 변하는 뷰포트 내의 위치를 포함하는 위치-의존적 설정의 제 1 컴퓨팅 디바이스를 통한 선택을 허용하도록 구성된 애니메이션 구성 인터페이스를 제 1 컴퓨팅 디바이스에 제공하는 단계를 포함한다. 상기 방법은 제 2 컴퓨팅 디바이스에 의해 상기 위치-의존적 설정을 수신하는 단계, 및 상기 애니메이트된 콘텐츠 아이템이 상기 위치-의존적 설정에 따라 뷰포트 내의 위치에서 상기 제 2 컴퓨팅 디바이스의 뷰포트 내에 제시될 때 속성을 변경하도록, 상기 위치-의존적 설정에 기초하여 상기 애니메이트된 콘텐츠 아이템의 속성을 구성하는 단계를 더 포함한다.

Description

뷰포인트 위치에 기초하는 콘텐츠 애니메이션 커스터마이제이션
본 발명은 콘텐츠 아이템을 제시하는 방법 및 시스템에 관한 발명이다.
인터넷과 같은 컴퓨터 네트워크 환경에서, 사람 또는 회사 등의 엔티티는 소비자를 유치하기 위해 다양한 형태의 공공 디스플레이를 위한 콘텐츠 아이템을 제공한다. 콘텐츠 아이템을 제공하는 엔티티들은 콘텐츠 아이템의 프리젠테이션을 구성하기를 원할 수 있다.
일부 구현예들은 애니메이트된 콘텐츠 아이템을 구성하는 방법과 관련이 있다. 상기 방법은 애니메이트된 콘텐츠가 제시되는(이하, '제시되는' 또는 '프리젠팅되는' 이라함) 컴퓨팅 디바이스의 뷰포트 내에서의 애니메이트된 콘텐츠 아이템의 위치에 기초하여, 애니메이트된 콘텐츠 아이템을 구성하는 단계를 포함한다. 본 방법은 애니메이트된 콘텐츠 아이템의 속성이 변화하는 뷰포트 내의 위치를 포함하는 위치-의존적 설정을 제 1 컴퓨팅 디바이스를 통해 선택할 수 있게 하는 애니메이션 구성 인터페이스를 상기 제 1 컴퓨팅 디바이스에 제공하는 단계를 포함한다. 또한, 상기 방법은, 제 2 컴퓨팅 디바이스에 의해, 상기 위치-의존적 설정을 수신하는 단계 그리고 상기 애니메이트된 콘텐츠 아이템이 상기 위치-의존적 설정에 따라 뷰포트 내의 위치에서 상기 제 2 컴퓨팅 디바이스의 뷰포트 내에 제시될 때 속성을 변경하도록, 상기 위치-의존적 설정에 기초하여 상기 애니메이트된 콘텐츠 아이템의 속성을 구성하는 단계를 포함한다.
일부 구현예에서, 상기 위치-의존적 설정은, 상기 애니메이트된 콘텐츠 아이템의 애니메이션이 시작되는 상기 뷰포트 내의 위치를 포함한다. 상기 애니메이션 구성 인터페이스는 제 2 위치-의존적 설정에 대한 선택을 허용하도록 구성된다. 상기 제 2 위치-의존적 설정은 상기 애니메이션이 종료하는 뷰포트 내의 제 2 위치를 포함한다. 상기 애니메이트된 콘텐츠 아이템의 속성을 구성하는 단계는, 상기 위치와 상기 제 2 위치 사이에서 뷰포트 통해 상기 애니메이트된 콘텐츠 아이템이 이동함에 따라, 상기 애니메이트된 콘텐츠 아이템의 애니메이션이 변화하게 하는 단계를 포함한다. 상기 애니메이션 구성 인터페이스는, 뷰포트 내의 제 3 위치를 포함하는 제 3 위치-의존적 설정에 대한 선택을 허용하도록 구성된다.
일부 구현예들에서, 상기 애니메이션 구성 인터페이스를 제공하는 단계는, 상기 애니메이션 구성 인터페이스가 슬라이딩 인터페이스 또는 백분율 입력 중 적어도 하나에 의해서 위치-의존적 설정을 상기 제 1 컴퓨팅 디바이스를 통해 선택할 수 있게 하는 단계를 포함한다. 상기 애니메이션 구성 인터페이스는 애니메이트된 콘텐츠 아이템의 뷰포트 내의 위치에 대한 그래픽 표현을 포함하고, 상기 그래픽 표현은 상기 애니메이트된 콘텐츠 아이템의 속성이 변화하는 상기 뷰포트 내의 위치를 선택하도록 이동가능하다. 상기 속성은 애니메이트된 콘텐츠 아이템의 회전을 포함한다. 상기 위치-의존적 설정은 상기 애니메이트된 콘텐츠 아이템의 회전이 시작되는 뷰포트 내의 위치를 포함한다. 상기 애니메이션 구성 인터페이스는 상기 애니메이트된 콘텐츠 아이템의 회전이 종료되는 뷰포트 내의 제 2 위치를 선택할 수 있도록 구성된다.
일부 구현예에서, 애니메이션된 콘텐츠 아이템은 이미지 애니메이션 또는 비디오 애니메이션 중 하나를 포함한다.
일부 구현예에서, 상기 방법은, 제 3 컴퓨팅 디바이스에 의해서, 상기 위치-의존적 설정을 수신하고 그리고 상기 위치-의존적 설정에 따라 뷰포트 내의 상기 위치에서 제 3 컴퓨팅 디바이스의 뷰포트 내에서 제시될 때 상기 애니메이트된 콘텐츠 아이템의 속성이 변화하도록, 상기 위치-의존적 설정에 기초하여 상기 애니메이트된 콘텐츠 아이템의 속성을 구성하는 단계를 더 포함한다.
일부 구현예에서, 상기 방법은, 상기 제 2 컴퓨팅 디바이스의 뷰포트에 대한 상기 애니메이트된 콘텐츠 아이템의 위치를 결정하는 단계, 상기 뷰포트에 대한 애니메이트된 콘텐츠 아이템의 위치가 위치-의존적 설정에 따른 상기 뷰포트의 상기 위치와 매칭된다라고 결정하는 단계, 및 상기 애니메이트된 콘텐츠 아이템의 속성을 변경하는 단계를 더 포함한다.
일부 구현예에서, 상기 속성은 상기 뷰포트 내의 상기 애니메이트된 콘텐츠 아이템의 위치에 기초하여 보간되는 값을 포함한다.
일부 구현예들은 적어도 하나의 메모리에 동작가능하게 연결되는 적어도 하나의 컴퓨팅 디바이스를 구비한 시스템에 관한 것이다. 상기 컴퓨팅 디바이스는, 제 1 컴퓨팅 디바이스에게, 애니메이트된 콘텐츠 아이템의 속성이 변화하는 뷰포트 내의 위치를 포함하는 위치-의존적 설정을 상기 제 1 컴퓨팅 디바이스를 통해 선택할 수 있게 하는 애니메이션 구성 인터페이스를 제공하도록 구성될 수 있다. 또한, 상기 컴퓨팅 디바이스는 상기 제 1 컴퓨팅 디바이스로부터 상기 위치-의존적 설정을 수신하고 그리고 제 2 컴퓨팅 디바이스에게 상기 위치-의존적 설정을 제공하도록 구성될 수 있다. 여기서, 상기 제 2 컴퓨팅 디바이스는, 상기 위치-의존적 설정에 따라 뷰포트 내의 위치에서 상기 제 2 컴퓨팅 디바이스의 뷰포트 내에 제시될 때 상기 애니메이트된 콘텐츠 아이템이 속성을 변경하도록, 상기 위치-의존적 설정에 기초하여 상기 애니메이트된 콘텐츠 아이템의 속성을 구성한다.
일부 구현예에서, 상기 애니메이션 구성 인터페이스는 제 2 위치-의존적 설정의 선택을 허용하도록 구성된다. 상기 애니메이션 구성 인터페이스는 제 3 위치-의존적 설정의 선택을 허용하도록 구성된다. 상기 애니메이트된 콘텐츠 아이템은 이미지 애니메이션 또는 비디오 애니메이션 중 하나를 포함한다.
일부 구현예들은 명령들이 저장되어 있는 하나 이상의 컴퓨터 판독가능 저장 매체에 관한 것이며, 상기 명령들은 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하며, 상기 동작들은, 제 1 컴퓨팅 디바이스에 의해, 콘텐츠 관리 시스템으로부터, 애니메이트된 콘텐츠 아이템의 속성이 변화하는 뷰포트 내의 위치를 포함하는 위치-의존적 설정을 선택할 수 있게 하는 애니메이션 구성 인터페이스를 수신하는 동작을 포함한다. 또한, 상기 동작들은 제 2 컴퓨팅 디바이스에 의해 상기 위치-의존적 설정을 수신하는 동작, 및 상기 위치-의존적 설정에 따라 뷰포트 내의 위치에서 상기 제 2 컴퓨팅 디바이스의 뷰포트 내에 제시될 때 상기 애니메이트된 콘텐츠 아이템이 속성을 변경하도록, 상기 위치-의존적 설정에 기초하여 상기 애니메이트된 콘텐츠 아이템의 속성을 구성하는 동작을 포함한다.
일부 구현예들에서, 상기 위치-의존적 설정을 구성하는 것은, 또한 상기 애니메이트된 콘텐츠 아이템의 복수의 속성들이 변화하는 뷰포트 내의 위치를 포함하는 위치-의존적 설정과 관련된 복수의 속성들을 선택할 수 있게 한다.
일부 구현예들에서, 상기 제 1 컴퓨팅 디바이스는, 상기 뷰포트 내의 제 2 위치를 포함하는 제 2 위치-의존적 설정을 선택하고, 상기 뷰포트 내의 제 3 위치를 포함하는 제 3 위치-의존적 설정을 선택하고, 상기 뷰포트 내의 부분 위치(portion position)를 포함하는 제 4 위치-의존적 설정을 선택하도록 구성된다.
전술한 및 후술될 시스템들 및 방법들에 대한 다른 선택적인 피처들은 임의의 적절한 방식으로 조합될 수 있으며, 그리고 시스템 구현예 혹은 컴퓨터 판독가능 저장 매체 구현예 중 하나와 결합될 수 있다.
첨부된 도면들은 축척대로 그려진 것으로 의도되지 않는다. 다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 요소를 나타낸다. 명확성을 위해, 모든 구성 요소들이 모든 도면에 표시되는 것은 아니다.
도 1a는 예시적인 구현예에 따른, 네트워크를 통해 정보를 제공하기 위한 시스템의 구현을 나타내는 블록도이다.
도 1b는 예시적인 구현예에 따른, 콘텐츠 관리 시스템의 구현을 나타내는 블록도이다.
도 2는 예시적인 구현예에 따른, 애니메이션화된 콘텐츠 아이템을 구성하는 방법에 대한 흐름도이다.
도 3은 예시적인 구현예에 따른, 애니메이션 구성 인터페이스의 예시적인 구현을 도시한 도면이다.
도 4는 예시적인 구현예에 따른, 애니메이션 구성 인터페이스 내의 애니메이션 타이밍 패널의 예시적인 구현을 도시한 도면이다.
도 5는 예시적인 구현예에 따른, 애니메이션 구성 인터페이스 내의 애니메이션 타이밍 패널의 예시적인 구현을 도시한 도면이다.
도 6은 예시적인 구현예에 따른, 애니메이션 구성 인터페이스 내의 애니메이션 타이밍 패널의 예시적인 구현을 도시한 도면이다.
도 7은 예시적인 구현예에 따른, 애니메이션 구성 인터페이스 내의 애니메이션 타이밍 패널의 예시적인 구현을 도시한 도면이다.
도 8은 예시적인 구현예에 따른, 애니메이션 구성 인터페이스 내의 애니메이션 타이밍 패널의 예시적인 구현을 도시한 도면이다.
도 9는 예시적인 구현예에 따른, 본 명세서에 설명된 다양한 구현에 사용하기에 적합한 예시적인 컴퓨팅 디바이스를 도시하는 블록도이다.
도면의 일부 또는 전부는 설명의 목적을 위한 개략적인 표현이라는 것을 인식할 것이다. 발명의 범위 및 청구 범위의 의미를 제한하기 위해 사용되지 않을 것이라는 명백한 이해와 함께, 하나 이상의 실시예들을 예시하기 위한 목적으로 도면들이 제공된다.
도면들을 참조하면, 일반적으로, 본 발명의 시스템 및 방법은 애니메이트된 콘텐츠 아이템이 제시되는 컴퓨팅 디바이스의 뷰포인트 내의 애니메이트된 콘텐츠 아이템의 위치에 기초하여 애니메이트된 콘텐츠 아이템을 구성하는 것에 관한 것이다. 일부 실시예에서, 애니메이트된 콘텐츠 아이템의 인과적인(causal) 구성은 애니메이트된 콘텐츠 아이템의 속성이 변하는 뷰포트 내의 위치를 포함하는 위치-의존적 설정들을 구성하는 것을 포함할 수 있다. 또한, 뷰포트 내의 위치들은 애니메이트된 콘텐츠 아이템의 속성이 시작되는 위치, 애니메이트된 콘텐츠 아이템이 끝나는 제 2 위치, 및 제 3 위치를 더 포함할 수 있다.
많은 시스템들에서, 애니메이트된 콘텐츠 아이템은 컴퓨팅 디바이스에 의해 스크롤 이벤트가 수신될 때 그리고 애니메이트된 콘텐츠 아이템이 뷰포트에 도달한 후에 뷰포트 내에 프리젠팅되기 시작한다. 하지만, 뷰포트 내의 위치에 기초하여 애니메이션의 양상들을 제어하는 능력 가령, 애니메이트된 콘텐츠 아이템이 완전히 뷰포트 내부에 있거나, 뷰포트 내부의 특정 지점에 도달하거나, 디바이스의 뷰포트 중앙에 직접 올 때까지 애니메이트된 콘텐츠 아이템이 프리젠트되는 것을 지연시킴으로써 애니메이트된 콘텐츠 아이템이 뷰포트 내부에서 언제 프리젠팅되는지를 제어하는 것은, 애니메이트된 콘텐츠 아이템의 제작자에게 향상된 유연성을 제공하는바, 애니메이트된 콘텐츠 아이템이 컴퓨팅 디바이스의 뷰포트 내에서 표시되는 방법에 대한 향상된 유연성을 제공한다. 이러한 인과적 접근법은 컴퓨팅 디바이스의 뷰포트를 통해 제시될 때 애니메이트된 콘텐츠 아이템의 참여(engagement) 및 현저성(noticeability)에 대한 상당한 개선을 애니메이트된 콘텐츠 아이템의 제작자가 생성할 수 있게한다. 따라서, 본 발명의 양상들은 애니메이트된 콘텐츠 아이템의 생성을 위한 개선된 개발 툴을 제공함으로써 어플리케이션 개발의 문제점을 해결한다.
따라서, 본 발명은 애니메이트된 콘텐츠 아이템이 제시되는 컴퓨팅 디바이스의 뷰포트 내에서의 애니메이트된 콘텐츠 아이템의 위치에 기초하여 애니메이트된 콘텐츠 아이템을 구성하기 위한 시스템 및 방법에 관한 것이다. 즉, 애니메이트된 콘텐츠 아이템이 위치에 도달할 때 변경되는 속성은 애니메이션을 시작하는 것일 수 있다. 일부 구현예들에서, 설명된 시스템들 및 방법들은 애니메이션 구성 인터페이스를 이용하는 것을 포함한다. 애니메이션 구성 인터페이스를 사용하면 뷰포트 내 애니메이트된 콘텐츠 아이템의 위치에 대한 그래픽 표시를 활용함으로써 위치-의존적인(position-dependent) 설정들을 선택할 수 있으며, 이는 애니메이트된 콘텐츠 아이템의 속성이 변경되는 뷰포트 내 위치를 선택할 수 있도록 이동가능하다. 이것은 또한, 슬라이딩 인터페이스를 조정하거나 혹은 해당 백분율 입력 필드에 직접 값을 입력함으로써 수행될 수도 있다. 이러한 프로세스는 후속하여 제 2 위치 및 제 3 위치와 같은 다수의 위치들에 대해 수행될 수도 있다. 본 개시에서 제 3 위치는 일반적으로 상기 위치와 제 2 위치를 나누는 것으로 정의된다. 애니메이트된 콘텐츠 아이템을 뷰포트 내의 애니메이트된 콘텐츠 아이템의 위치에 매핑하게 되면, 애니메이트된 콘텐츠 아이템에 대한 향상된 제어 기능이 제작자에게 제공되므로, 인간-머신 상호작용 프로세스가 향상될 수 있게한다. 또한, 상기 매핑은, 예를 들어, 애니메이트된 콘텐츠 아이템을 호스팅하는 웹 페이지를 통해 사용자가(자신의 속도로) 스크롤할 때 애니메이트된 콘텐츠 아이템이 전체적으로 제시됨을 보장할 수 있으며, 더 나아가 최종 사용자 경험을 향상시킬 수 있다. 또한, 상기 매핑은 최종 사용자에게 애니메이션이 실행되는 방법에 대한 제어를 제공하므로, 개선된 사용자 인터페이스를 제공한다.
일부 구현예들에서, 제 2 컴퓨팅 디바이스는 제 1 컴퓨팅 디바이스로부터 애니메이트된 콘텐츠 아이템의 위치-의존적 설정을 수신한다. 다음으로, 제 2 컴퓨팅 디바이스는 수신된 위치-의존적 설정에 기초하여 애니메이트된 콘텐츠 아이템의 속성을 구성하는바, 애니메이트된 콘텐츠 아이템은 수신된 위치-의존적 설정에 따라 뷰포트의 위치에서 뷰포트 내에 제시될 때 속성을 변경하도록 구성된다. 이러한 프로세스는 후속하여 제 2 위치 및 제 3 위치로 수행될 수 있어서, 뷰포트 내에 애니메이트된 콘텐츠 아이템의 속성이 변하는 위치-의존적 설정으로 각각 구성된 3 개의 위치들이 존재한다. 예를 들어, 애니메이트된 콘텐츠 아이템을 표시하는 동안, 제 2 컴퓨팅 디바이스는 뷰포트에 대한 애니메이트된 콘텐츠 아이템의 위치를 반복적으로 결정할 수 있다. 예를 들어, 사용자는 애니메이트된 콘텐츠 아이템이 제시되는 피드(feed)를 스크롤링하여, 사용자가 스크롤함에 따라 뷰포트에 대한 애니메이트된 콘텐츠 아이템의 위치가 변경되게할 수 있다. 애니메이트된 콘텐츠 아이템이 위치-의존적 설정에 따라 뷰포트의 지정된 위치에 도달한 것으로 판별되면, 애니메이트된 콘텐츠 아이템의 속성이 변경된다. 위치-의존적 설정은 개별적으로 또는 애니메이트된 콘텐츠 아이템과 함께 제 2 컴퓨터 디바이스로 전송될 수 있다. 다른 예에서, 애니메이트된 콘텐츠 아이템을 나타내는 데이터가 제 2 컴퓨팅 디바이스로 전송될 수 있고, 여기서 상기 데이터는, 위치-의존적 설정에 기초하여 애니메이트된 콘텐츠 아이템의 속성에 따라 뷰포트 내에서 애니메이트된 콘텐츠 아이템의 애니메이션을 제 2 컴퓨팅 디바이스가 디스플레이하게 한다. 즉, 애니메이트된 콘텐츠 아이템을 나타내는 데이터는 애니메이트된 콘텐츠 아이템을 구성하는데 사용되는 하나 이상의 위치-의존적 설정들을 포함할 수 있다. 또한, 각각의 위치-의존적 설정은 동시에 제 2 컴퓨팅 디바이스로 전송될 수 있다.
일부 구현예들에서, 제 3 위치는 애니메이트된 콘텐츠 아이템이 애니메이트된 콘텐츠 아이템의 속성을 스크롤 이벤트의 어느 방향으로 교환할 수 있게한다. 예를 들어, 상기 제 3 위치는, 애니메이트된 콘텐츠 아이템이 제 3 위치에 도달할 때까지 애니메이트된 콘텐츠 아이템이 프리젠팅을 시작하지 않게 할 수 있다. 다른 예에서, 애니메이트된 콘텐츠 아이템은 애니메이트된 콘텐츠 아이템을 시계 방향으로 회전시키는 회전 속성을 이용할 수 있고, 제 3 위치에 도달하면 애니메이트된 콘텐츠 아이템을 반시계 방향으로 회전시키기 시작한다. 본 발명의 애니메이트된 콘텐츠 아이템의 이러한 구성은 인과 관계(causal)가 아닌 애니메이트된 콘텐츠 아이템의 구성을 능가하는바, 왜냐하면, 본 발명의 애니메이트된 콘텐츠 아이템의 구성은 스크롤 이벤트 동안 어느 방향으로든 동작할 수 있기 때문이다(예를 들어, 컴퓨팅 디바이스의 뷰포트 내에서 제시된 아티클(article) 상에서 위 또는 아래로 스크롤하는 스크롤 이벤트). 또한, 일부 구현예에서, 애니메이트된 콘텐츠 아이템의 하나 이상의 속성이 존재한다. 애니메이트된 콘텐츠 아이템의 하나 이상의 속성들은 개별적으로 구성될 수 있다.
일부 구현예들에서, 뷰포트에 대한 각각의 애니메이트된 콘텐츠 아이템의 하나 이상의 속성들의 값들은 뷰포트 모니터링 라이브러리에 기초하여 보간된다. 뷰포트 모니터링 라이브러리는 컴퓨팅 디바이스로 하여금 애니메이트된 콘텐츠 아이템의 뷰포트에 대한 상대적 위치에 기초하여 애니메이트된 콘텐츠 아이템의 복수의 좌표 값을 식별하게 하도록 구성될 수 있다. 예를 들어, 뷰포트 모니터링 라이브러리는 뷰포트 또는 애니메이트된 콘텐츠 아이템과 관련된 스크롤 바의 스크롤 탭의 이동(예를 들어, 위 또는 아래)을 나타내는 정보를 컴퓨팅 디바이스로부터 수신하도록 구성될 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리는 예를 들어 컴퓨팅 디바이스로부터 수신된 스크롤 정보에 기초하여, 스크롤 바에 대한 또는 뷰포트에 대한 스크롤 탭의 위치를 모니터링하도록 구성될 수 있다. 즉, 어플리케이션 내에서 애니메이트된 콘텐츠 아이템의 위치와 관련된 상태 정보가 획득되고 그리고 애니메이트된 콘텐츠 아이템의 하나 이상의 속성들의 값들에 대한 후속 결정에서 사용된다.
도 1a는 예시적인 구현예에 따라 네트워크(130)를 통해 정보를 제공하기 위한 시스템(100)의 구현을 나타내는 블록도이다. 네트워크(130)는 근거리 통신망(LAN), 광역 통신망(WAN), 공중 전화 교환망(PSTN)과 같은 전화 네트워크, 무선 링크, 인트라넷, 인터넷 또는 이들의 조합을 포함할 수 있다. 시스템(100)은 또한 콘텐츠 관리 시스템(110)과 같은 적어도 하나의 데이터 프로세싱 시스템 또는 프로세싱 회로를 포함할 수 있다. 콘텐츠 관리 시스템은 네트워크(130)를 통해, 예를 들어 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120) 및/또는 사용자 컴퓨팅 디바이스와 통신할 수 있다. 콘텐츠 관리 시스템(110)은 또한 적어도 하나의 로직 디바이스, 예를 들어, 본 명세서에 서술된 하나 이상의 동작을 수행하기 위해 메모리 디바이스에 저장된 명령을 실행하도록 구성된 프로세싱 회로를 갖는 컴퓨팅 디바이스를 포함할 수 있다. 프로세싱 회로는 마이크로 프로세서, 주문형 집적회로(ASIC: application specific integrated circuit), FPGA(field-programmable gate array) 등 또는 이들의 조합을 포함할 수 있다. 메모리는 전자, 광학, 자기, 또는 프로세서에 프로그램 명령을 제공할 수 있는 임의의 다른 저장 또는 전송 디바이스를 포함할 수 있지만, 이에 제한되지는 않는다. 메모리는 플로피 디스크, CD-ROM(compact disc read-only memory), DVD(digital versatile disc), 자기 디스크, 메모리 칩, ROM(read-only memory), RAM(random-access memory), 전기적으로 지울 수 있는 프로그램가능 읽기 전용 메모리(EEPROM), 지울 수 있는 프로그램가능 읽기 전용 메모리(EPROM), 플래시 메모리, 광 매체, 또는 프로세서가 명령어를 읽을 수 있는 다른 적절한 메모리를 포함할 수 있다. 이러한 명령들은 ActionScript®, C, C++, C#, HTML, Java®, JavaScript®, Perl®, Python®, Visual Basic® 및 XML과 같은 적절한 컴퓨터 프로그래밍 언어의 코드를 포함할 수 있다. 프로세싱 회로 이외에도, 콘텐츠 관리 시스템(110)은 데이터를 저장하도록 구성된 하나 이상의 데이터베이스(예를 들어, 116)를 포함할 수 있다. 콘텐츠 관리 시스템(110)은 또한 네트워크(130)를 통해 데이터를 수신하고 콘텐츠 관리 시스템(110)으로부터 네트워크(130) 상의 임의의 다른 시스템 및 디바이스에 데이터를 제공하도록 구성된 인터페이스(예를 들어, 애니메이션 구성 인터페이스 112)를 포함할 수 있다. 콘텐츠 관리 시스템(110)은 하나 이상의 라이브러리(예를 들어, 뷰포트 모니터링 라이브러리(116))를 포함할 수 있다. 콘텐츠 관리 시스템(110)의 기능에 대한 추가적인 세부 사항들은 도 2를 참조하여 제공된다.
콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 임의 종류의 컴퓨팅 디바이스가 될 수 있는바, 예를 들어, 데스크탑 컴퓨터, 랩탑 또는 노트패드 컴퓨터, 태블릿, 전자 패드, 개인 휴대 정보 단말기, 스마트 등의 모바일 디바이스, 비디오 게임 디바이스, 텔레비전 또는 텔레비전 보조 박스(셋톱 박스라고도 함), 키오스크, 호스팅된 가상 데스크톱 또는 네트워크(130)를 통해 정보를 교환할 수 있는 기타 디바이스를 포함할 수 있다. 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 네트워크를 통해 도 1의 다른 시스템 및 디바이스와 정보를 교환하도록 구성될 수 있다. 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 프로세싱 회로 및 메모리를 포함하는 임의의 형태의 컴퓨팅 디바이스 일 수 있다. 메모리는 머신 명령을 저장할 수 있으며, 머신 명령은 프로세싱 회로에 의해 실행될 때 프로세싱 회로로 하여금 본 명세서에 설명된 동작들 중 하나 이상을 수행하게 할 수 있다. 메모리는 또한 컴퓨팅 디바이스 상에 하나 이상의 리소스, 애니메이트된 콘텐츠 아이템 등의 프리젠테이션에 영향을 주는 데이터를 저장할 수 있다. 프로세서는 마이크로 프로세서, 주문형 집적회로(ASIC: application-specific integrated circuit), FPGA(field-programmable gate array) 등 또는 이들의 조합을 포함할 수 있다. 메모리는 전자, 광학, 자기, 또는 프로세서에 프로그램 명령을 제공할 수 있는 임의의 다른 저장 또는 전송 디바이스를 포함할 수 있지만, 이에 제한되지는 않는다. 메모리는 플로피 디스크, CD-ROM(Compact Disc Read-Only Memory), DVD(Digital Versatile Disc), 자기 디스크, 메모리 칩, ROM(Read-Only Memory), RAM(Random-Access Memory), 전기적으로 소거가능한 프로그램가능 읽기 전용 메모리(EEPROM: Electrically Erasable Programmable Read-Only Memory), 소거가능한 프로그램가능 읽기 전용 메모리(EPROM), 플래시 메모리, 광 매체 또는 프로세서가 명령을 읽을 수 있는 기타 적절한 메모리를 포함할 수 있다. 이러한 명령들은 ActionScript®, C, C++, C#, Java®, JavaScript®, JSON, Perl®, HTML, HTML5, XML, Python® 및 Visual Basic®과 같은 적절한 컴퓨터 프로그래밍 언어의 코드를 포함할 수 있다.
콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 네트워크(130)를 통해 다른 컴퓨팅 시스템 및 디바이스로부터 콘텐츠를 검색하기 위해 소프트웨어 어플리케이션(예를 들어, 웹 브라우저 또는 다른 어플리케이션)을 실행할 수 있다. 이러한 어플리케이션은 콘텐츠 관리 시스템(110)으로부터 애니메이션 구성 인터페이스(112)를 검색하도록 구성될 수 있다. 일 구현예에서, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)의 뷰포트 상에서 인터페이스(예를 들어, 애니메이션 구성 인터페이스(112))를 제공하는 웹 브라우저 어플리케이션을 실행할 수 있다. 인터페이스를 제공하는 웹 브라우저 어플리케이션은 입력 디바이스(예를 들어, 포인팅 디바이스, 키보드, 터치 스크린 또는 다른 형태의 입력 디바이스)로부터 웹 주소와 같은 URL(Uniform Resource Locator)의 입력을 수신함으로써 동작할 수 있다. 이에 응답하여, 웹 브라우저 어플리케이션으로부터의 명령들을 실행하는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)의 하나 이상의 프로세서는 URL 어드레스(예를 들어, 콘텐츠 관리 시스템(110))에 의해 참조되는, 네트워크(130)에 연결된 다른 디바이스로부터 데이터를 요청할 수 있다. 이어서, 다른 디바이스는 웹 페이지 데이터 및/또는 다른 데이터를 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 제공할 수 있으며, 이는 인터페이스가 퍼블리셔 컴퓨팅 디바이스(120)의 뷰포트에 의해 제시되게 한다. 따라서, 브라우저 윈도우는 인터페이스를 제시하여 인터페이스와의 사용자 상호작용을 용이하게 한다.
사용자 컴퓨팅 디바이스(140)는 예를 들어, 데스크탑 컴퓨터, 랩탑 또는 노트패드 컴퓨터, 태블릿, 전자 패드, 개인 휴대 정보 단말기, 스마트 폰 등의 모바일 디바이스, 비디오 게이밍 디바이스, 텔레비전 또는 텔레비전 보조 박스(또한 셋톱 박스라고도 함), 키오스크, 호스팅된 가상 데스크탑, 또는 네트워크(130)를 통해 정보를 교환할 수 있는 임의의 다른 디바이스를 포함하는 임의 종류의 컴퓨팅 디바이스가 될 수 있다. 사용자 컴퓨팅 디바이스(140)는 네트워크(130)을 통해 도 1의 다른 시스템 및 디바이스와 정보를 교환하도록 구성할 수 있다. 사용자 컴퓨팅 디바이스(140)는 프로세싱 회로 및 메모리를 포함하는 임의의 형태의 컴퓨팅 디바이스일 수 있다. 메모리는 프로세싱 회로에 의해 실행될 때 프로세싱 회로로 하여금 본 명세서에 설명된 동작들 중 하나 이상을 수행하게하는 머신 명령들을 저장할 수 있다. 메모리는 또한 컴퓨팅 디바이스 상에 하나 이상의 리소스, 애니메이트된 콘텐츠 아이템 등의 프리젠테이션에 영향을 주는 데이터를 저장할 수 있다. 프로세서는 마이크로 프로세서, 주문형 집적회로(ASIC: application-specific integrated circuit), FPGA(field-programmable gate array) 등 또는 이들의 조합을 포함할 수 있다. 메모리는 전자, 광학, 자기, 또는 프로세서에 프로그램 명령을 제공할 수 있는 임의의 다른 저장 또는 전송 디바이스를 포함할 수 있지만, 이에 제한되지는 않는다. 메모리는 플로피 디스크, 시디롬(CD-ROM), DVD(Digital Versatile Disc), 자기 디스크, 메모리 칩, 판독 전용 메모리(ROM: Read-Only Memory), 랜덤 액세스 메모리(RAM: Random-Access Memory), 전기적으로 소거가능한 프로그램가능 읽기 전용 메모리(EEPROM: Electrically Erasable Programmable Read-Only Memory), 소거가능한 프로그램가능 읽기 전용 메모리(EPROM), 플래시 메모리, 광 매체 또는 프로세서가 명령을 읽을 수 있는 기타 적절한 메모리를 포함할 수 있다. 이러한 명령들은 ActionScript®, C, C++, C#, Java®, JavaScript®, JSON, Perl®, HTML, HTML5, XML, Python® 및 Visual Basic®과 같은 적절한 컴퓨터 프로그래밍 언어의 코드를 포함할 수 있다.
여전히 도 1a를 참조하면, 사용자 컴퓨팅 디바이스(140)는 네트워크(130)를 통해 다른 시스템 및 디바이스들로부터 콘텐츠를 검색하기 위해 소프트웨어 어플리케이션(예컨대, 웹 브라우저 또는 다른 어플리케이션)을 실행할 수 있다. 이러한 어플리케이션은 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)로부터 하나 이상의 위치-의존적 설정들을 검색하도록 구성될 수 있다. 일 구현예에서, 사용자 컴퓨팅 디바이스(140)는 웹 브라우저 어플리케이션을 실행할 수 있으며, 이는 하나 이상의 위치-의존적 설정들을 제공하며 따라서 하나 이상의 위치-의존적 설정들에 따라서 뷰포인트의 위치에서 사용자 컴퓨팅 디바이스(140)의 뷰포트 내에 제시될 때, 애니메이트된 콘텐츠 아이템이 애니메이트된 콘텐츠 아이템의 하나 이상의 속성들을 변경할 수 있다. 위치-의존적 설정들을 제공하는 웹 브라우저 어플리케이션은 입력 디바이스(예를 들어, 포인팅 디바이스, 키보드, 터치 스크린, 또는 다른 형태의 입력 디바이스)로부터 웹 주소와 같은 URL(uniform resource locator)의 입력을 수신함으로써 동작할 수 있다. 이에 응답하여, 웹 브라우저 어플리케이션으로부터 명령을 실행하는 사용자 컴퓨팅 디바이스(140)의 하나 이상의 프로세서는 URL 주소에 의해 참조되는 네트워크(130)에 연결된 다른 디바이스(예를 들어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120))로부터 데이터를 요청할 수 있다. 그 후, 다른 디바이스는 웹 페이지 데이터 및/또는 다른 데이터를 사용자 컴퓨팅 디바이스(140)에 제공할 수 있으며, 이는 웹 페이지가 사용자 컴퓨팅 디바이스(140)의 뷰포트에 의해 제시되게 한다. 따라서, 브라우저 윈도우는 하나 이상의 검색된 위치-의존적 설정들에 따라 애니메이트된 콘텐츠 아이템을 제시한다.
예를 들어, 사용자 컴퓨팅 디바이스(140)는 개방 시스템 상호연결(OSI: Open Systems Interconnection) 계층들에 따른 프로토콜들을 사용하여, 예를 들어 UDP(User Datagram Protocol)와 같은 OSI 계층-4 전송 프로토콜, 전송 제어 프로토콜(TCP: Transmission Control Protocol) 또는 예컨대, IPv4 또는 IPv6와 같은 인터넷 프로토콜(IP) 등의 OSI 계층-3 네트워크 프로토콜 상에 계층화된 스트림 제어 전송 프로토콜(SCTP: Stream Control Transmission Protocol)을 이용하여 네트워크(130)를 통해 정보를 교환하도록 구성될 수 있다. 일부 구현예들에서, 사용자 컴퓨팅 디바이스(140)는 데이터 입력 및 데이터 프리젠테이션을 용이하게 하기위한 하나 이상의 하드웨어 요소들 예를 들어 키보드, 디스플레이, 터치 스크린, 마이크로폰, 스피커 및/또는 햅틱 피드백 디바이스를 포함한다. 일부 구현예들에서, 사용자 컴퓨팅 디바이스(140)는 버튼들, 예를 들어 기능 특정 버튼들(예를 들어, 볼륨 업, 볼륨 다운, 음소거 등의 오디오 디바이스 볼륨 콘트롤들) 및/또는 기능 진단 버튼들(예컨대, 소프트웨어 레벨에서 특정 기능에 할당된 소프트 버튼)을 포함할 수 있다.
일부 구현예에서, 사용자 컴퓨팅 디바이스(140)는 사용자 컴퓨팅 디바이스(140) 상에서 소프트웨어 어플리케이션의 실행을 관리하는 운영 시스템을 실행한다. 일부 구현예에서, 운영 시스템은 사용자 컴퓨팅 디바이스(140)에 제공된다. 일부 구현예에서, 사용자 컴퓨팅 디바이스(140)는 하이퍼텍스트 전송 프로토콜(HTTP: Hypertext Transfer Protocol) 및/또는 전송 계층 보안(Transport Layer Security)에 의해 암호화된 HTTP(HTTPS) 등과 같은 하이퍼텍스트 어플리케이션 프로토콜에 따라 포맷된 데이터를 수신할 수 있는 브라우저 어플리케이션(예컨대, 웹 브라우저)을 실행한다.
일부 이러한 구현들에서, 브라우저는 하나 이상의 웹 페이지의 형태로 사용자 컴퓨팅 디바이스(140)에 제시된 인터페이스를 통해 하나 이상의 시스템 및 디바이스와의 상호작용을 용이하게 한다. 일부 구현예들에서, 브라우저 어플리케이션이 사용자 컴퓨팅 디바이스(140)에 제공된다. 일부 구현예들에서, 사용자 컴퓨팅 디바이스(140)는 예를 들어 콘텐츠 관리 시스템(100) 및/또는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)와 같은 시스템 및 디바이스와 상호작용하는 게임 또는 다른 어플리케이션 등의 커스텀 어플리케이션을 실행한다. 커스텀 어플리케이션과 콘텐츠 관리 시스템(110) 사이의 상호 작용은 HTTP 및 HTTPS와 같은 표준 프로토콜을 사용하거나, 또는 UDP, TCP 또는 SCTP와 같은 전송 계층 프로토콜 상에 구현되는 커스텀 어플리케이션 계층 프로토콜과 같은 어플리케이션 특정 프로토콜을 사용할 수 있다. 일부 구현예에서는 사용자 컴퓨팅 디바이스(140)는 사용자 컴퓨팅 디바이스(140) 상에 추가적인 어플리케이션(예를 들어, 커스텀 어플리케이션)을 획득 및/또는 설치하기 위한 툴을 포함한다. 일부 구현예에서, 사용자 컴퓨팅 디바이스(140)와 통신하는 하나 이상의 시스템 및 디바이스는 커스텀 명령 세트 예컨대, API(application programming interface)를 지원하고, 그리고 사용자 컴퓨팅 디바이스(140)에서 실행되는 커스텀 어플리케이션은 API를 구현한다. 어플리케이션은 예를 들어 어플리케이션 개발자에게 제공되는 라이브러리 또는 소프트웨어 개발 키트(SDK)를 사용하여 API를 구현할 수 있다.
사용자 컴퓨팅 디바이스(140)는 콘텐츠 관리 시스템(110) 및/또는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)와 같은 다양한 시스템 및 디바이스와 통신하도록(혹은 데이터를 교환하도록) 구성될 수 있다. 일부 구현예에서, 하나 이상의 시스템 및 디바이스(110, 120 및 140)는 특수 목적 논리 회로, 예를 들어 주문형 집적회로(ASIC)을 사용하여 구현된다. 일부 구현예들에서, 하나 이상의 시스템 및 디바이스(110, 120 및 140)는 적어도 하나의 프로세서(또는 마이크로프로세서) 코어를 포함하는 시스템 온 칩(SoC:system on a chip) 반도체 디바이스를 사용하여 구현된다. 일부 구현예들에서, 하나 이상의 시스템들 및 디바이스들(110, 120 및 140)은 범용 컴퓨팅 프로세서를 사용하여 구현된다.
도 1b를 참조하면, 예시적인 구현예에 따른, 콘텐츠 관리 시스템(110)의 블록도가 도시되어 있다. 콘텐츠 관리 시스템(110)은 이하에서 설명되는 도 10에 도시된 것과 같은 컴퓨팅 디바이스의 하나 이상의 프로세서 상에서 실행되거나 달리 실행될 수 있다. 넓은 개요에서, 콘텐츠 관리 시스템(110)은 애니메이션 구성 인터페이스(112), 뷰포트 모니터링 라이브러리(114) 및 데이터베이스(116)를 포함할 수 있다. 애니메이션 구성 인터페이스(112)는 애니메이트된 콘텐츠 아이템을 구성하기 위해 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 제공될 수 있다. 일반적으로, 애니메이션 구성 인터페이스(112)는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에서 렌더링될 수 있으며, 따라서 프리젠테이션을 위해 사용자 컴퓨팅 디바이스(140)에 구성 및 제공될 수 있다. 예를 들어, 콘텐츠 발행자 컴퓨팅 디바이스(120)를 이용하는 콘텐츠 퍼블리셔(사용자 또는 인간 운영자)는 하나 이상의 위치-의존적 설정을 애니메이션 구성 인터페이스(112)에 입력할 수 있다. 각각의 위치-의존적 설정은 애니메이트된 콘텐츠 아이템의 하나 이상의 속성들이 변화하는 뷰포트 내의 위치를 포함할 수 있다. 각각의 속성은 인벤토리(예를 들어, 애니메이션 구성 인터페이스(112) 및/또는 데이터베이스(116)에 의해 제공됨)로부터 선택되거나 콘텐츠 퍼블리셔에 의해 제공될 수 있다.
애니메이션 구성 인터페이스(112)는 도 3 내지 도 8에 설명된 것과 같은 인터페이스 및 속성들을 포함할 수 있다. 애니메이션 구성 인터페이스(112)는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120) 또는 콘텐츠 관리 시스템(110)에서 실행하여 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에서 애니메이션 구성 인터페이스(112)를 제공할 수 있다. 일 구현예에서, 애니메이션 구성 인터페이스(112)는 웹 브라우저 내에 제공될 수 있다. 다른 구현예에서, 콘텐츠 생성 어플리케이션(130)은 웹 브라우저를 이용하지 않고 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에서 콘텐츠 관리 시스템(110)을 제공하기 위해 실행된다.
일 구현예에서, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 실행되는 어플리케이션은 웹 브라우저가 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)의 모니터 또는 스크린 상에 디스플레이되게할 수 있다. 웹 브라우저는 입력 디바이스(예를 들어, 포인팅 디바이스, 키보드, 터치 스크린 또는 다른 형태의 입력 디바이스)로부터의 필드 내에 URL(Uniform Resource Locator)의 입력을 수신함으로써 동작한다. 이에 응답하여, 웹 브라우저를 실행하는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 데이터베이스(116)로부터와 같은 데이터를 요청할 수 있다. 웹 브라우저는 내비게이션 콘트롤(예를 들어, 뒤로 및 앞으로 버튼)과 같은 다른 기능을 포함할 수 있다. 콘텐츠 관리 시스템(110)은 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 애니메이션 구성 인터페이스(112)를 제공하도록 데이터베이스(116)를 실행할 수 있다(또는 데이터베이스(116)로부터의 데이터를 실행을 위해 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 제공할 수 있다.
뷰포트 모니터링 라이브러리(114)는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 식별된 하나 이상의 애니메이트된 콘텐츠 아이템을 추가하도록(append)(예를 들어, 하나 이상의 속성에 대한 값을 수정하도록), 사용자 컴퓨팅 디바이스(140)로 하여금 어플리케이션의 뷰포트를 모니터링하게하도록 구성될 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 식별된 하나 이상의 애니메이트된 콘텐츠 아이템을 추가하도록(append)(예를 들어, 하나 이상의 속성에 대한 값을 수정하도록), 콘텐츠 관리 시스템(110)으로 하여금 어플리케이션의 뷰포트를 모니터링하게하도록 구성될 수 있다. 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)가 애니메이트된 콘텐츠 아이템을 식별하게하도록 구성될 수 있다. 일부 구현예에서는 뷰포트 모니터링 라이브러리(114)는 콘텐츠 관리 시스템(110)이 애니메이트된 콘텐츠 아이템을 식별하게하도록 구성될 수 있다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템은 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 수신된 하나 이상의 위치-의존적 설정에 포함될 수 있다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템은 문서 객체 모델 요소(즉, DOM)일 수 있다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템은 사용자 컴퓨팅 디바이스(140) 상에 제시하기 위해 렌더링될 수 있는 DOM 요소일 수 있다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템은 컴퓨팅 디바이스(140) 상에 제시하기 위해 렌더링될 수 있는 DOM 요소의 시각적 표현일 수 있다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템은 무엇보다도 이미지 애니메이션, 비디오 애니메이션일 수 있다. 일부 구현예에서는 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)로 하여금, 애니메이트된 콘텐츠 아이템으로서 어플리케이션 상에 디스플레이된 이미지 애니메이션의 객체를 식별하게하도록 구성될 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 콘텐츠 관리 시스템(110)으로 하여금, 애니메이트된 콘텐츠 아이템으로서 어플리케이션 상에 디스플레이된 이미지 애니메이션의 객체를 식별하게하도록 구성될 수 있다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템은 어플리케이션의 DOM 트리의 iframe과 같은 컨테이너에 포함될 수 있다. 애니메이트된 콘텐츠 아이템은 컨테이너에 포함된 기사(article)일 수 있다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템은 기사의 임의의 부분, 예를 들어 헤더, 이미지, 제목일 수 있다. 컨테이너는 하나 이상의 애니메이트된 콘텐츠 아이템을 포함할 수 있다. 컨테이너는 애니메이트된 콘텐츠 아이템이 어플리케이션의 뷰포트 내의 특정 위치에 대응하는 방식으로, 하나 이상의 애니메이트된 콘텐츠 아이템의 하나 이상의 속성들을 변경하도록 구성될 수 있다.
뷰포트 모니터링 라이브러리(114)는 어플리케이션의 기준점에 대한 애니메이트된 콘텐츠 아이템의 위치를 모니터링할 수 있으며, 따라서 애니메이트된 콘텐츠 아이템이 어플리케이션의 뷰포트를 통해 이동함에 따라, 애니메이트된 콘텐츠 아이템과 관련된 하나 이상의 속성들의 값들이 보간될 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 애니메이트된 콘텐츠 아이템의 뷰포트에 대한 위치를 모니터링할 수 있어, 애니메이트된 콘텐츠 아이템이 어플리케이션의 뷰포트 내에 제시되는 위치-의존적 설정을 검출할 수 있다.
일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)가 어플리케이션의 기준점에 대한 애니메이트된 콘텐츠 아이템의 좌표를 결정하게하도록 구성될 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 콘텐츠 관리 시스템(110)이 어플리케이션의 기준점에 대한 애니메이트된 콘텐츠 아이템의 좌표를 결정하게하도록 구성될 수 있다. 일부 구현예들에서, 어플리케이션의 기준점은 어플리케이션의 상단 코너(top corner)를 포함할 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 어플리케이션이 수직 또는 수평으로 연장되도록 구성되어 있다고 결정할 수 있다. 어플리케이션이 수직으로 확장되도록 구성된 구현예에서, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)가 수직 축(또는 다르게 표현하면 y 축 좌표)을 따른 애니메이트된 콘텐츠 아이템의 좌표 값을 결정하게 할 수 있다. 어플리케이션이 수평으로 확장되도록 구성된 구현예에서, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)로 하여금 수평 축(또는 다르게 표현하면 x 축 좌표)을 따른 애니메이트된 콘텐츠 아이템의 좌표 값을 결정하게할 수 있다. 일부 구현예들에서, 좌표 값은 픽셀들의 개수, 거리, 또는 어플리케이션의 기준점으로부터의 스케일링된 거리일 수 있다. 일부 구현예에서, 좌표 값은 애니메이트된 콘텐츠 아이템의 포인트, 예를 들어 애니메이트된 콘텐츠 아이템의 상단 에지에 대응하는 백분율일 수 있다.
일부 구현예들에서, 애니메이트된 콘텐츠 아이템의 포인트는 애니메이트된 콘텐츠 아이템의 임의의 포인트이거나 애니메이트된 콘텐츠 아이템에 대응할 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)가 애니메이트된 콘텐츠 아이템 상의 미리 정의된 포인트 또는 부분(예를 들어, 애니메이트된 콘텐츠 아이템의 중심, 애니메이트된 콘텐츠 아이템의 에지들 중 하나, 애니메이트된 콘텐츠 아이템의 코너들 중 하나)을 식별하게하도록 구성될 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)로 하여금 어플리케이션이 스크롤될 수 있는 축에 대응하는 애니메이트된 콘텐츠 아이템의 좌표를 식별하게할 수 있다. 예를 들어, 어플리케이션이 수직적으로 스크롤되도록 구성된 경우, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)로 하여금 애니메이트된 콘텐츠 아이템의 상단 에지 또는 하단 에지 중 하나를 식별하게할 수 있다. 어플리케이션이 수평적으로 스크롤되도록 구성된 경우, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)가 애니메이트된 콘텐츠 아이템의 좌측 에지 또는 우측 에지 중 하나를 식별하게할 수 있다.
뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)가 뷰포트에 대한 어플리케이션의 상대 위치에 기초하여 어플리케이션의 좌표 값을 모니터링하게하도록 구성될 수 있다. 예를 들어, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)가 뷰포트의 제 1 에지(예를 들어, 상단 에지)와 정렬되는 어플리케이션의 제 1 부분을 식별하게할 수 있다. 사용자가 어플리케이션을 스크롤(예를 들어, 스크롤 이벤트를 수신함)함에 따라, 어플리케이션의 다른 부분들은 뷰포트의 제 1 에지와 정렬될 것이다. 일부 구현예에서는 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)가 어플리케이션의 어느 부분이 뷰포트의 상단 에지와 정렬되고 어플리케이션의 어느 부분이 뷰포트의 하단 에지와 정렬되는지 주기적으로 모니터링하도록 구성될 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 기존 JavaScript 함수를 사용하여 사용자 컴퓨팅 디바이스(140)가 뷰포트의 상단 에지와 정렬되는 어플리케이션의 제 1 부분의 제 2 좌표 값 및 뷰포트의 하단 에지와 정렬되는 어플리케이션의 제 2 부분의 제 3 좌표 값을 식별하게하도록 구성될 수 있다. 예를 들어, 뷰포트 모니터링 라이브러리(114)는 함수 iframeElement.getBoundClientRect().top 를 사용하여 특정 스크롤 위치에서 뷰포트의 상단 에지와 정렬되는 어플리케이션의 제 2 부분에 대응하는 제 2 좌표 값을 식별할 수 있다. 상기 함수 iframeElement.getBoundClientRect().top 는 뷰포트의 상단 에지와 정렬되는 어플리케이션의 제 1 부분을 식별하는 y 좌표를 리턴한다. 또한, 뷰포트 모니터링 라이브러리(114)는 특정 스크롤 위치에서 뷰포트의 하단 에지와 정렬되는 어플리케이션의 제 2 부분에 대응하는 제 3 좌표 값을 식별하도록 iframeElement.getBoundClientRect(). bottom 함수를 사용할 수 있다. 일부 구현예들에서, 제 3 좌표 값은 제 2 좌표 값에 뷰포트의 높이를 추가함으로써 결정될 수 있다.
일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)가 애니메이션 구성 인터페이스(112)를 사용하여, 뷰포트의 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 구성된 제 1 위치-의존적 설정에 정렬되는 어플리케이션의 제 1 부분의 제 2 좌표 값 및 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 구성된 제 2 위치-의존적 설정에 정렬되는 어플리케이션의 제 2 부분의 제 3 좌표 값을 식별하게 할 수 있다. 상기 하나 이상의 위치-의존적 설정들은 애니메이트된 콘텐츠 아이템의 하나 이상의 속성들이 변경되는 뷰포트 내의 위치를 포함한다. 예를 들어, 뷰포트 모니터링 라이브러리(114)는 특정 스크롤 위치에서 뷰포트 내의 제 1 위치-의존적 설정과 정렬되는 어플리케이션의 제 2 부분에 대응하는 제 2 좌표 값을 식별하기 위해 하나 이상의 위치-의존적 설정을 사용할 수 있다. 또한, 뷰포트 모니터링 라이브러리(114)는 특정 스크롤 위치에서 뷰포트 내의 제 2 위치-의존적 설정과 정렬되는 어플리케이션의 제 2 부분에 대응하는 제 2 좌표 값을 식별하기 위해 하나 이상의 위치-의존적 설정을 사용할 수 있다.
일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)가 애니메이션 구성 인터페이스(112)를 사용하여, 뷰포트의 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 구성된 제 3 위치-의존적 설정에 정렬되는 어플리케이션의 제 3 부분의 제 4 좌표 값을 식별하게 할 수 있다.
애니메이트된 콘텐츠 아이템이 사용자 컴퓨팅 디바이스(140) 상에서 실행되는 어플리케이션의 뷰포트 내에서 볼 수 있는지를 결정하기 위하여, 뷰포트 모니터링 라이브러리(114)는 제 1 좌표 값이 제 2 좌표 값과 제 3 좌표 값 사이에 위치하는지를 결정할 수 있다. 뷰포트 모니터링 라이브러리(114)는 애니메이트된 콘텐츠 아이템의 좌표 값을 뷰포트의 좌표 값들과 비교하도록 구성될 수 있다. 뷰포트 모니터링 라이브러리(114)는 애니메이트된 콘텐츠 아이템의 좌표 값이 제 2 및 제 3 좌표 값들 사이, 제 2 및 제 4 좌표 값들 사이 및/또는 제 3 및 제 4 좌표 값들 사이의 숫자라고 결정되는 경우, 애니메이트된 콘텐츠 아이템이 뷰포트 내에서 보여질 수 있다라고 결정할 수 있다.
일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 사용자 컴퓨팅 디바이스(140)로 하여금 어플리케이션 내에서 스크롤 활동이 발생했는지를 검출하도록 구성될 수 있다. 예를 들어, 뷰포트 모니터링 라이브러리(114)는 뷰포트 또는 어플리케이션과 연관된 스크롤 바의 스크롤 탭의 이동(예를 들어, 위 또는 아래)을 나타내는 정보를 어플리케이션으로부터 수신하도록 구성될 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 예를 들어, 어플리케이션으로부터 수신된 스크롤 정보에 기초하여 스크롤 바에 대한 또는 뷰포트에 대한 스크롤 탭의 위치를 모니터링하도록 구성될 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 스크롤 활동을 검출하는 하나 이상의 리스너(listener)("OnScroll"을 포함하되 이에 국한되지는 않음)를 활용함으로써 스크롤 활동이 발생했는지를 결정할 수 있다. 일부 구현예들에서, 뷰포트 모니터링 라이브러리(114)는 어플리케이션의 뷰포트를 모니터링하도록 구성될 수 있다.
콘텐츠 관리 시스템(110)은 적어도 하나의 데이터베이스(116)를 포함할 수 있다. 데이터베이스(116)는 애니메이션 구성 인터페이스(112), 애니메이트 콘텐츠 아이템 또는 다른 콘텐츠 아이템 또는 추가 정보와 같은 정보를 저장하기위한 데이터 구조를 포함할 수 있다. 데이터베이스(116)는 콘텐츠 관리 시스템(110)의 일부이거나, 콘텐츠 관리 시스템(110), 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120) 또는 사용자 컴퓨팅 디바이스(140)가 네트워크(130)를 통해 액세스할 수 있는 별도의 구성 요소일 수 있다. 또한, 데이터베이스(116)는 시스템(100)에 분산될 수 있다. 예를 들어, 데이터베이스(116)는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120), 사용자 컴퓨팅 디바이스(140), 콘텐츠 관리 시스템(110) 또는 이들 3개 모두와 관련된 다수의 데이터베이스를 포함할 수 있다. 일 구현예에서, 콘텐츠 관리 시스템(110)은 데이터베이스(116)를 포함한다.
도 2를 참조하면, 예시적인 구현예에 따른, 애니메이트된 콘텐츠 아이템을 구성하는 방법(200)에 대한 흐름도가 도시되어 있다. 콘텐츠 관리 시스템(110), 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120) 및/또는 사용자 컴퓨팅 디바이스(140)는 방법(200)을 수행하도록 구성될 수 있다. 또한, 본 명세서에 설명된 임의의 컴퓨팅 디바이스는 방법(200)을 수행하도록 구성될 수 있다.
방법(200)의 넓은 개요에서, 단계(210)에서, 애니메이션 구성 인터페이스(112)는 콘텐츠-의존적 설정의 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 통한 선택을 허용하도록 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 제공된다. 위치-의존적 설정은 애니메이트된 콘텐츠 아이템의 속성이 변경되는 뷰포트 내의 위치를 포함하다. 단계(220)에서, 사용자 컴퓨팅 디바이스(140)는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)로부터 위치-의존적 설정을 수신한다. 단계 230에서, 사용자 컴퓨팅 디바이스(140)는 위치-의존적 설정에 기초하여 애니메이트된 콘텐츠 아이템의 속성을 구성하는바, 따라서 애니메이트된 콘텐츠 아이템은 단계 220에서 수신된 위치-의존적 설정에 따른 뷰포트의 위치에서 뷰포트 내에 제시될 때 애니메이트된 콘텐츠 아이템이 속성을 변경하도록 구성된다.
방법(200)을 보다 상세하게 설명하면, 단계(210)에서, 애니메이션 구성 인터페이스(112)가 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 제공된다. 예를 들어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 콘텐츠 관리 시스템(110)에 애니메이션 구성 인터페이스(112)를 요청할 수 있다. 일부 구현예에서, 상기 요청에 응답하여, 콘텐츠 관리 시스템(110)은 애니메이션 구성 인터페이스를 네트워크(130)를 통해 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 제공한다. 일부 구현예에서, 애니메이션 구성 인터페이스(112)는, 애니메이트된 콘텐츠 아이템의 속성이 변하는 뷰포트 내의 위치를 포함하는 위치-의존적 설정에 대한 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 통한 선택을 허용하도록 구성된다. 일부 구현예에서, 애니메이션 구성 인터페이스(112)는 애니메이트된 콘텐츠 아이템의 하나 이상의 속성들이 변하는 뷰포트 내의 하나 이상의 위치들을 포함하는 하나 이상의 위치-의존적 설정들에 대한 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 통한 선택을 허용하도록 구성된다. 애니메이션 구성 인터페이스(112)의 구현들 및 하나 이상의 위치-의존적 설정들을 구성하는 것과 관련된 추가적인 세부 사항은 도 3 내지 도 8에 관련하여 제공된다.
단계 220에서, 사용자 컴퓨팅 디바이스(140)는 위치-의존적 설정을 수신한다. 일부 구현예들에서, 사용자 컴퓨팅 디바이스(140)는 웹 브라우저의 어드레스 부분에 URL을 입력하는 사용자를 통해 애니메이트된 콘텐츠 아이템의 위치-의존적 설정을 요청할 수 있다. 일부 구현예들에서, 도 1a에 도시된 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)와 같은 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는, 애니메이트된 콘텐츠 아이템의 프리젠테이션에 영향을 주도록 위치-의존적 설정들을 네트워크(130)를 통해 사용자 컴퓨팅 디바이스(140)에 전송한다. 일부 구현예에서, 도 1b의 콘텐츠 관리 시스템(110)과 같은 콘텐츠 관리 시스템(110)은, 애니메이트된 콘텐츠 아이템의 프리젠테이션에 영향을 주도록 위치-의존적 설정들을 네트워크(130)를 통해 사용자 컴퓨팅 디바이스(140)에 전송한다. 일부 구현예에서, 사용자 컴퓨팅 디바이스(140)는 웹 브라우저의 어드레스 부분에 URL을 입력하는 사용자를 통해 애니메이트된 콘텐츠 아이템의 하나 이상의 위치-의존적 설정들을 요청할 수 있다.
일부 구현예에서, 사용자 컴퓨팅 디바이스(140)는 하나 이상의 위치-의존적 설정을 수신한다. 각각의 위치-의존적 설정은 애니메이트된 콘텐츠 아이템의 속성이 변하는 뷰포트 내의 위치를 포함할 수 있다. 일부 구현예들에서, 각각의 위치-의존적 설정은 애니메이트된 콘텐츠 아이템의 하나 이상의 속성들이 변하는 뷰포트 내의 위치와 관련된 하나 이상의 속성들을 포함할 수 있다.
단계 230에서, 사용자 컴퓨팅 디바이스(140)는 위치-의존적 설정에 기초하여 애니메이트된 콘텐츠 아이템의 속성을 구성하는바, 따라서 애니메이트된 콘텐츠 아이템은 단계 220에서 수신된 위치-의존적 설정에 따른 뷰포트의 위치에서 뷰포트 내에 제시될 때 애니메이트된 콘텐츠 아이템이 속성을 변경하도록 구성된다. 일부 구현예에서, 사용자 컴퓨팅 디바이스(140)는 애니메이트된 콘텐츠 아이템과 관련된 하나 이상의 위치-의존적 설정을 구성해야만 할 수 있다. 일부 구현예들에서, 사용자 컴퓨팅 디바이스(140)는 하나 이상의 위치-의존적 설정들과 관련된 하나 이상의 속성들을 구성해야만 할 수 있다.
예를 들어, 사용자 컴퓨팅 디바이스(140)는 수신된 위치 의존적 설정에 기초하여, 뷰포트 내의 제 1 위치를 설정할 수 있다. 사용자 컴퓨팅 디바이스(140)는 애니메이트된 콘텐츠 아이템의 하나 이상의 속성이 변경되는 위치-의존적 설정으로 각각 구성되는 뷰포트 내에 3 개의 위치가 있도록 제 2 위치 및 제 3 위치를 후속 적으로 구성할 수 있다. 다른 예에서, 사용자 컴퓨팅 디바이스(140)는 수신된 위치-의존적 설정에 기초하여 뷰포트 내의 제 4 위치를 구성할 수 있다.
도 3은 애니메이션 구성 인터페이스(300)의 예시적인 구현예를 도시한다. 일반적으로, 애니메이션 구성 인터페이스(300)는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에서 렌더링되어, 하나 이상의 애니메이트된 콘텐츠 아이템과 관련된 하나 이상의 위치-의존적 설정을 구성할 수 있다. 애니메이션 구성 인터페이스(300)는 복수의 인터페이스들 및 객체들을 포함할 수 있다. 예를 들어, 콘텐츠 관리 시스템(110)은 애니메이션 구성 인터페이스(300)에 적어도 하나의 자산 패널(asset panel)(310), 적어도 하나의 애니메이션 타이밍 패널(320), 적어도 하나의 레이어 패널(layer panel)(330), 적어도 하나의 속성 패널(340), 적어도 하나의 푸터(footer) 패널(370)을 제공하도록 실행할 수 있다. 일부 구현예에서, 각각의 패널은 복수의 서브패널을 포함할 수 있다. 일부 구현예에서, 애니메이션 구성 인터페이스(300) 내의 각 패널은 입력 디바이스(예를 들어, 포인팅 디바이스, 키보드, 터치 스크린 또는 다른 형태의 입력 디바이스)로부터 입력을 수신함으로써 동작한다. 이에 응답하여, 애니메이션 구성 인터페이스(300)를 실행하는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 네트워크(130)를 통해 콘텐츠 관리 시스템(110)에 대응하는 데이터베이스(예를 들어, 데이터베이스(116))로부터 애니메이트된 콘텐츠 아이템(360)과 같은 데이터를 요청할 수 있다. 일부 구현예에서, 애니메이션 구성 인터페이스(300)를 실행하는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)의 데이터 저장 유닛으로부터 애니메이트된 콘텐츠 아이템(360)과 같은 데이터를 요청할 수 있다.
애니메이션 구성 인터페이스(300)는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120), 콘텐츠 관리 시스템(110), 또는 이들 둘다에서 실행되어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에서 애니메이션 구성 인터페이스(300)를 제공할 수 있다. 일부 구현예에서, 애니메이션 구성 인터페이스(300)는 웹 브라우저 내에서 제공될 수 있다. 일부 구현예들에서, 콘텐츠 관리 시스템(110)은 웹 브라우저를 이용하지 않고 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에서 애니메이션 구성 인터페이스(300)를 제공하도록 실행된다. 일 구현예에서, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)에 의해 실행되는 어플리케이션은 애니메이션 구성 인터페이스(300)가 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)의 모니터 또는 스크린 상에 제시되게 할 수 있다.
일부 구현예들에서, 콘텐츠 발행자 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)는 애니메이션 구성 인터페이스(300) 내의 애니메이션 타이밍 패널(320)에 하나 이상의 위치-의존적 설정을 입력할 수 있다. 각각의 위치-의존적 설정은 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 속성이 변경되는 뷰포트 내의 위치를 포함할 수 있다. 각각의 위치-의존적 설정은 하나 이상의 속성들(예를 들어, 트랜스레이션(translation), 불투명도(opacity), 사이즈)을 포함할 수 있다. 일부 구현예들에서, 각각의 속성은 애니메이션 타이밍 패널(320) 및/또는 속성 패널(340)을 사용하여 개별적으로 구성될 수 있어서, 각각의 속성은 임의의 다른 속성과는 독립적인바, 예를 들어, 애니메이트된 콘텐츠 아이템(360)의 불투명도는 70 %로 설정되고, 애니메이트된 콘텐츠 아이템(360)의 사이즈는 30 % 의 폭 및 20 %의 높이로 설정되고, 애니메이트된 콘텐츠 아이템(360)의 트랜스레이션은 60 픽셀의 x 축 및 0 픽셀의 y 축으로 설정되도록, 제 1 위치-의존적 설정이 구성될 수 있다. 제 2 위치-의존적 설정은 애니메이트된 콘텐츠 아이템(360)의 불투명도는 70 %로 설정되고, 애니메이트된 콘텐츠 아이템(360)의 사이즈는 50 %의 폭 및 50 %의 높이로 설정되고, 애니메이트된 콘텐츠 아이템(360)의 트랜스레이션은 120 픽셀의 x 축 및 60 픽셀의 y 축으로 설정되도록 구성될 수 있는바, 따라서 스크롤 이벤트 동안(예를 들어, 사용자 컴퓨팅 디바이스(140)의 뷰포트 내에서 제시된 기사에서 스크롤 다운 또는 스크롤 업하는 것), 애니메이트된 콘텐츠 아이템(360)은 뷰포트 내의 위치에 따라 하나 이상의 속성들을 변경한다. 일부 구현예에서는 애니메이션 구성 인터페이스(300)는 스크롤 이벤트의 방향에 기초하여 하나 이상의 위치-의존적 설정을 구성할 수 있다. 애니메이션 구성 인터페이스(300)의 애니메이션 타이밍 패널(320)에 관한 추가절인 세부 사항은 도 4 내지 도 8과 관련하여 여기에 제공된다.
일부 구현예들에서, 애니메이션 구성 인터페이스(300)는 자산 패널(asset panel)(310)을 포함할 수 있는바, 자산 패널(310)은 자산 프리뷰 서브패널(asset preview sub-panel)(312), 자산 필터 서브패널(314), 자산 라이브러리 서브패널(316) 및 자산 추가 버튼(318)을 포함할 수 있다. 자산 프리뷰 서브패널(312)은 애니메이트된 콘텐츠 아이템(360)의 객체(예를 들어, 이미지, 비디오, 텍스트, 오디오, 다른 형태의 객체의 장면)의 미리보기를 제시할 수 있다. 일부 구현예에서, 자산 프리뷰 서브패널(312)은 자산 라이브러리 서브패널(316)로부터 클릭, 클릭 및 드래그, 및/또는 드롭을 수신하는 것에 응답하여 객체의 미리보기를 제시할 수 있다. 자산 패널(310) 내의 자산 라이브러리 서브패널(316)은 객체 목록을 제공한다. 일부 구현들에서, 객체가 객체 목록에 추가될 수 있는바 예를 들어, 자산 추가 버튼(318)을 클릭함으로써, 예를 들어 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120) 상의 파일 폴더로부터 객체에 대한 클릭 및 드래그, 드롭, 삽입 또는 첨부 작업을 통해 추가될 수 있다. 일부 구현예에서, 자산 라이브러리 서브패널(316)은 자산 필터 서브패널(314)을 사용하여 필터링될 수 있다. 예를 들어, 컨텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 컨텐츠 생성자(사용자 또는 인간 운영자) 애니메이션 구성 인터페이스(300) 내의 자산 필터 서브패널(314) 입력 필드에 하나 이상의 문자(character)를 입력하고 이에 응답하여, 입력된 문자와 매칭되지 않는 자산 라이브러리 서브패널(316)에 제시된 임의의 객체를 필터링 아웃(즉, 제시를 중단)할 수 있다.
일부 구현예들에서, 애니메이션 구성 인터페이스(300)는 계층 선택 서브패널(332), 계층 삭제 버튼(334) 및 계층 추가 버튼(336)을 포함할 수 있는 계층 패널(330)을 포함할 수 있다. 계층 선택 서브패널(332)은 계층들의 목록을 제시한다. 일부 구현예들에서, 계층 선택 서브패널(332)은 하나 이상의 계층들을 애니메이트된 콘텐츠 아이템(360)에 추가하기 위해 사용될 수 있다. 일부 구현예들에서, 하나 이상의 계층들이 계층들의 목록에 추가될 수 있는데, 예를 들어 계층 추가 버튼(336)을 클릭함으로써, 하나 이상의 계층들에 대한 클릭 및 드래그, 드롭, 삽입 또는 첨부 작업을 통해 하나 이상의 계층들이 계층들의 목록에 추가될 수 있다. 일부 구현예들에서, 하나 이상의 계층들이 계층들의 목록으로부터 제거될 수 있는바, 예를 들어 계층 삭제 버튼(334)을 클릭하거나, 하나 이상의 계층들에 대한 클릭 및 드래그, 드롭, 삽입 또는 첨부 작업을 통해 하나 이상의 계층들이 계층들의 목록으로부터 제거될 수 있다.
일부 구현예에서, 애니메이션 구성 인터페이스(300)는 URL 서브패널(342) 및 속성 설정 서브패널(344)을 포함할 수 있는 속성 패널(340)을 포함할 수 있다. 일부 구현예에서, URL 서브패널(342)은 URL 서브패널(342) 입력 필드를 통해 입력을 수신할 수 있다. 예를 들어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)는 애니메이션 구성 인터페이스(300) 내의 URL 서브패널(342) 입력 필드에 하나 이상의 문자를 입력할 수 있다. 입력된 문자들은 애니메이트된 콘텐츠 아이템(360)(예를 들어, URL) 내에 내장(embedded)될 수 있는바, 예를 들어, 사용자 컴퓨팅 디바이스(140)의 뷰포트 내에서 선택될 때 어플리케이션이 회사 웹 사이트로 리다이렉트되게 한다.
일부 구현예에서, 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 속성들은 속성 설정 서브패널(344)을 사용하여 구성될 수 있다. 일부 구현예에서, 각각의 속성들은 속성 패널(340) 및/또는 애니메이션 타이밍 패널(320)을 사용하여 개별적으로 구성할 수 있으며, 따라서 각각의 속성은 다른 속성과 독립적이다. 일부 구현예들에서, 하나 이상의 속성들은 하나 이상의 위치-의존적 설정에 기초할 수 있다. 일부 구현예들에서, 각각의 위치-의존적 설정은 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 속성들이 변경되는 뷰포트 내의 위치를 포함할 수 있다.
예를 들어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)는 속성 설정 서브패널(344)을 사용하여 애니메이션 컨텐트 아이템(360)이 뷰포트를 통해 제 1 위치와 제 3 위치(즉, 중간 위치)사이에서 이동할 때 애니메이션 컨텐트 아이템(360)을 시계 방향으로 회전시키도록 제 1(즉, 시작) 위치-의존적 설정을 구성할 수 있다. 또한, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)는 속성 설정 서브패널(344)을 사용하여 애니메이션 컨텐트 아이템(360)이 뷰포트를 통해 제 3 위치와 제 2 위치 사이에서 이동할 때 애니메이션 컨텐트 아이템(360)을 반시계 방향으로 회전시키도록 제 2(즉, 엔딩(ending)) 위치-의존적 설정을 구성할 수 있다.
다른 일례에서, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)는 속성 설정 서브패널(344)을 사용하여 애니메이션 컨텐트 아이템(360)이 제 1 위치와 제 3 위치(즉, 중간 위치)사이에서 뷰포트의 바닥에서 상단(top)(예를 들어, 뷰포트 바닥 422에서 뷰포트 상단 420으로)으로 뷰포트를 통해 이동할 때 애니메이션 컨텐트 아이템(360)을 시계 방향으로 회전시키도록 제 1(즉, 시작) 위치-의존적 설정을 구성할 수 있다. 이와 반대로, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 속성 설정 서브패널(344)을 사용하여 애니메이션 컨텐트 아이템(360)이 제 1 위치와 제 3 위치 사이에서 뷰포트의 상단에서 바닥으로(예를 들어, 뷰포트 상단 420에서 뷰포트 바닥 422으로)으로 뷰포트를 통해 이동할 때 애니메이션 컨텐트 아이템(360)을 반시계 방향으로 회전시키도록 제 1(즉, 시작) 위치-의존적 설정을 구성할 수 있다. 또한, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)는 속성 설정 서브패널(344)을 사용하여 애니메이션 컨텐트 아이템(360)이 제 3 위치와 제 2 위치 사이에서 뷰포트의 바닥에서 최상단(top)(예를 들어, 뷰포트 바닥 422에서 뷰포트 상단 420으로)으로 뷰포트를 통해 이동할 때 애니메이션 컨텐트 아이템(360)을 반시계 방향으로 회전시키도록 제 2(즉, 엔딩) 위치-의존적 설정을 구성할 수 있다. 이와 반대로, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)는 속성 설정 서브패널(344)을 사용하여 애니메이션 컨텐트 아이템(360)이 제 3 위치와 제 2 위치 사이에서 뷰포트의 상단에서 바닥으로(예를 들어, 뷰포트 상단 420에서 뷰포트 바닥 422으로)으로 뷰포트를 통해 이동할 때 애니메이션 컨텐트 아이템(360)을 시계 방향으로 회전시키도록 제 2 위치-의존적 설정을 구성할 수 있다.
일부 구현예에서, 애니메이션 구성 인터페이스(300)는 메인 패널(350)을 포함할 수 있으며, 메인 패널(350)은 시작 버튼(352), 중간 버튼(354), 종료 버튼(356), 프리뷰 버튼(358), 애니메이트된 콘텐츠 아이템(360), 및 줌 위젯(362)을 포함할 수 있다. 패널의 상단을 따라 있는 각각의 버튼(시작 버튼(352), 중간 버튼(354), 종료 버튼(356), 프리뷰 버튼(358))은 선택될 때, 애니메이트된 콘텐츠 아이템(360)의 프리젠테이션을 수정한다. 줌 위젯(362)은 선택될 때, 애니메이션 구성 인터페이스로 하여금 메인 패널(350) 내에서 애니메이트된 콘텐츠 아이템(360)의 확대된 프리젠테이션을 생성하게 하거나, 또는 애니메이트된 콘텐츠 아이템(360)의 확대되지 않은 프리젠테이션을 생성하게 할 수 있다.
일부 구현예에서, 시작 버튼(352)은 선택될 때, 애니메이션 구성 인터페이스(300)로 하여금 애니메이트된 콘텐츠 아이템(360)과 관련된 제 1(예를 들어, 시작) 위치-의존적 설정의 프레젠테이션을 생성하게 할 수 있는바, 여기서 자산 패널(310)을 사용하여 객체들이 추가 또는 제거될 수 있고, 계층 패널(330)을 사용하여 계층들이 추가 또는 제거될 수 있고, 속성 패널(340)을 사용하여 속성들(예를 들어, 트랜스레이션, 불투명도, 사이즈)이 추가 또는 제거될 수 있다. 프리젠테이션은 제 1 위치-의존적 설정과 관련된 하나 이상의 속성들(예를 들어, 트랜스레이션, 불투명도, 크기)을 제시하는 애니메이트된 시퀀스 내에서 움직일 수 있다.
일부 구현예에서, 중간 버튼(354)은 선택되면, 애니메이션 구성 인터페이스(300)로 하여금 애니메이트된 콘텐츠 아이템(360)과 관련된 제 3(예를 들어, 중간) 위치-의존적 설정의 프레젠테이션을 생성하게 할 수 있는바, 여기서 자산 패널(310)을 사용하여 객체들이 추가 또는 제거될 수 있고, 계층 패널(330)을 사용하여 계층들이 추가 또는 제거될 수 있고, 속성 패널(340)을 사용하여 속성들(예를 들어, 트랜스레이션, 불투명도, 사이즈)이 추가 또는 제거될 수 있다. 프리젠테이션은 제 3 위치-의존적 설정과 관련된 하나 이상의 속성들(예를 들어, 트랜스레이션, 불투명도, 크기)을 제시하는 애니메이트된 시퀀스 내에서 움직일 수 있다.
일부 구현예에서, 종료 버튼(356)은 선택되면, 애니메이션 구성 인터페이스(300)로 하여금 애니메이트된 콘텐츠 아이템(360)과 관련된 제 2(예를 들어, 종료) 위치-의존적 설정의 프레젠테이션을 생성하게 할 수 있는바, 여기서 자산 패널(310)을 사용하여 객체들이 추가 또는 제거될 수 있고, 계층 패널(330)을 사용하여 계층들이 추가 또는 제거될 수 있고, 속성 패널(340)을 사용하여 속성들(예를 들어, 트랜스레이션, 불투명도, 사이즈)이 추가 또는 제거될 수 있다. 프리젠테이션은 제 2 위치-의존적 설정과 관련된 하나 이상의 속성들(예를 들어, 트랜스레이션, 불투명도, 크기)을 제시하는 애니메이트된 시퀀스 내에서 움직일 수 있다.
일부 구현예에서, 프리뷰 버튼(358)은 선택되면, 애니메이션 구성 인터페이스(300)로 하여금 애니메이트된 콘텐츠 아이템(360)의 프리뷰를 생성하게 할 수 있는바, 여기서 객체들은, 위치-의존적 설정들의 하나 이상의 속성들(예를 들어, 트랜스레이션, 불투명도, 사이즈)을 나타내는 위치들(예컨대, 제 1 위치 및 제 3 위치, 제3 위치 및 제 2 위치) 사이에서 애니메이트된 시퀀스 내에서 움직일 수 있다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템이 존재하는 위치들은 애니메이트된 콘텐츠 아이템 슬롯(예를 들어, 애니메이트된 콘텐츠 슬롯(426))으로 지칭될 수 있다.
일부 구현예들에서, 애니메이션 구성 인터페이스(300)는 푸터(footer) 패널(370)을 포함할 수 있는바, 푸터 패널(370)은 저장(save) 버튼(372) 및 취소(cancel) 버튼(374)을 포함할 수 있다. 저장 버튼(372)은 선택될 때, 애니메이션 구성 인터페이스(300)로 하여금 애니메이트된 콘텐츠 아이템(360)의 구성을 데이터베이스(116)에 또는 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)의 데이터 저장 유닛에 저장하게 할 수 있다. 취소 버튼(374)은 선택될 때, 애니메이션 구성 인터페이스(300)로 하여금 이전에 저장되지 않은 애니메이트된 콘텐츠 아이템(360)의 모든 구성들을 삭제하게 할 수 있다. 일부 구현예들에서, 애니메이션 구성 인터페이스(300)는 풀 스크린 모드를 구성하기 위한 패널들과 같은 다른 기능들을 포함할 수 있다. 애니메이트된 콘텐츠 아이템(360)이 전체 뷰포트 상에 표시되도록 풀 스크린 모드가 구성될 수 있다. 풀 스크린 모드는 엑시트 옵션 및 가령 애니메이트된 콘텐츠 아이템의 애니메이션들을 풀 스크린에 트리거링하는 것과 같은 추가 오버레이 기능들, 카메라 줌(인트로덕션을 위한)을 포함할 수 있다. 전체 화면 모드는 종료 옵션 및 애니메이션 컨텐츠 아이템의 애니메이션을 전체 화면으로 트리거링하는 것, 카메라 줌(도입을 위해)과 같은 추가 오버레이 기능을 포함할 수 있어, 사용자 컴퓨팅 디바이스(140)의 사용자는 물체의 색상을 변경할 수 있거나, 또는 줌인(zoom in) 및 애니메이트된 컨텐츠 아이템의 피처들을 더 자세히 볼 수 있다.
일부 구현예들에서, 애니메이션 구성 인터페이스(300)는 지불 설정들(payment settings)을 구성하기 위한 패널들과 같은 다른 기능들을 포함할 수 있다. 지불 설정들은, 기부, 제품 구매 또는 기타 유형의 금융 거래와 같은 금융 거래를 위한 옵션을 포함할 수 있다. 일부 구현예들에서, 애니메이션 구성 인터페이스(300)는 맵들 및/또는 지리적 위치 기능을 위한 패널들과 같은 다른 기능들을 포함할 수 있다. 일부 구현예들에서, 애니메이션 구성 인터페이스(300)는 애드-인(add-ins)을 위한 패널들과 같은 다른 기능들을 포함할 수 있다. 예를 들어, 전화 호출을 실행하기 위해 애니메이트된 콘텐츠 아이템(360)을 선택하도록 사용자가 애니메이트된 콘텐츠 아이템(360)과 상호작용할 수 있게 하는 폰 넘버 애드-인이 그것이다. 일부 구현예에서 애니메이션 구성 인터페이스(300)는 비디오 편집을 위한 패널과 같은 다른 기능을 포함할 수 있다. 일부 구현예들에서, 애니메이션 구성 인터페이스(300)는 위치 타이밍 설정을위한 패널들과 같은 다른 기능들을 포함할 수 있다. 위치 타이밍 설정(position timing settings)은 시간에 기초하여 애니메이트된 콘텐츠 아이템의 시작을 지연시키는 것을 포함할 수 있다.
아래에 설명되는 도 4는 애니메이션 구성 인터페이스(300) 내의 애니메이션 타이밍 패널(400)의 예시적인 구현을 도시한다. 애니메이션 타이밍 패널(400)은 애니메이트된 콘텐츠 아이템(360)이 컴퓨팅 디바이스(예를 들어, 사용자 컴퓨팅 디바이스 140)의 뷰포트(418)에 의해 제시될 수 있는 가령, 스마트 폰 또는 태블릿과 같은 사용자 컴퓨팅 디바이스 템플릿(402)을 도시한다. 일부 구현예들에서, 뷰포트(418)는 방향에 의해 정의되며, 상기 방향은 뷰포트 상단(top)(420)(예를 들어, 100 %), 뷰포트 하단(422)(예를 들어, 0 %) 및 중간 가이드 라인(예를 들어, 50 %)을 포함한다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템(360)은 애니메이트된 콘텐츠 아이템 슬롯(426) 내에 제시된다. 애니메이션 타이밍 패널(400)은 하나 이상의 구성가능한 설정들을 포함할 수 있다. 일부 구현예들에서, 애니메이션 타이밍 패널(400)은 그래픽 프레임(406), 슬라이더 인터페이스(424), 슬라이더 설정 포인트(408), 슬라이더 설정 포인트(410), 그래픽 프레임(412), 입력 필드(414), 및 입력 필드(416)을 포함할 수 있다. 일부 구현예들에서, 각각의 프레임, 슬라이더, 필드 조합(예를 들어, 그래픽 프레임 406, 슬라이더 설정 포인트 408, 입력 필드 414 또는 그래픽 프레임 412, 슬라이더 설정 포인트 410, 입력 필드 416)은 유사한 기능을 수행할 수 있고, 상호교환 가능하게 구성될 수 있으므로, 입력 필드가 변경될 때마다 상기 슬라이더 및 그래픽 프레임 역시도 입력 필드에 따라 변경된다.
일반적으로, 각각의 그래픽 프레임은 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 속성들이 변하는 뷰포트(418) 내의 새로운 위치를 설정하도록 이동가능한 뷰포트(418) 내의 애니메이트된 콘텐츠 아이템(360)의 위치에 대한 그래픽 표현일 수 있다(예를 들어, 그래픽 프레임 경계 내의 임의의 곳을 클릭하고, 그래픽 프레임을 뷰포트(418) 내의 다른 위치로 드래그함으로써). 각각의 슬라이더 설정 포인트는 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 속성들이 변하는 슬라이더 인터페이스(424) 상의 새로운 위치를 설정하도록 이동가능한 뷰포트(418) 내의 애니메이트된 콘텐츠 아이템(360)의 위치에 대한 슬라이더 설정 포인트 표현일 수 있다(예를 들어, 슬라이더 설정 포인트들 중 하나를 클릭하고, 슬라이더 설정 포인트를 슬라이더 인터페이스(424) 상의 다른 위치로 드래그함으로써). 각각의 입력 필드는 뷰포트(418) 내의 애니메이트된 콘텐츠 아이템(360)의 위치의 수치적 표현일 수 있으며, 이는 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 속성들이 변경되는 새로운 위치를 설정하기 위한 입력을 수신할 수 있다(예를 들어, 입력 필드에 다른 숫자를 입력함으로써).
일부 구현예에서, 각각의 그래픽 프레임은 예를 들어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)의 입력 디바이스들(예컨대, 포인팅 디바이스, 키보드, 터치 스크린, 또는 다른 형태의 입력 디바이스)을 이용하여 선택 및 이동될 수 있다. 일부 구현예들에서, 그래픽 프레임(412)은 뷰포트(418) 내의 애니메이트된 콘텐츠 아이템(360)의 제 1 위치에 대한 그래픽 표현일 수 있고, 이는 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 애니메이션들이 제시되기 시작하는 제 1 위치를 선택하도록 이동가능하다. 일부 구현예들에서, 그래픽 프레임(406)은 뷰포트(418) 내의 애니메이트된 콘텐츠 아이템(360)의 제 2 위치에 대한 그래픽 표현일 수 있고, 이는 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 애니메이션들이 프리젠팅을 종료하는 제 2 위치를 선택하도록 이동가능하다.
예를 들어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)는, 컴퓨팅 디바이스(예를 들어, 사용자 컴퓨팅 디바이스 140)에 의해 스크롤 이벤트가 수신될 때 그리고 애니메이트된 콘텐츠 아이템(360)이 뷰포트(418) 내의 제 1 위치에 도달한 이후에 애니메이트된 콘텐츠 아이템(360)이 제시되기 시작하도록 그래픽 프레임(412)을 구성할 수 있다. 도시된 바와 같이, 그래픽 프레임(412)은 애니메이트된 콘텐츠 아이템(360)이 뷰포트 하부(422)에 도달한 후에 애니메이트된 콘텐츠 아이템(360)을 제시하기 시작하도록 구성된다.
일부 구현예들에서, 각각의 슬라이더 설정 포인트는 예를 들어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)의 입력 디바이스들(예컨대, 포인팅 디바이스, 키보드, 터치 스크린, 또는 다른 형태의 입력 디바이스)을 이용하여 슬라이더 인터페이스(424)를 따라 선택 및 이동될 수 있다. 일부 구현예에서, 슬라이더 설정 포인트(408)은 뷰포트(418) 내의 애니메이트된 콘텐츠 아이템(360)의 제 1 위치에 대한 슬라이더 설정 포인트 표현일 수 있고, 이는 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 애니메이션들이 제시되기 시작하는 제 1 위치를 선택하도록 슬라이더 인터페이스(424)를 따라 이동가능하다. 일부 구현예에서, 슬라이더 설정 포인트(410)은 뷰포트(418) 내의 애니메이트된 콘텐츠 아이템(360)의 제 2 위치에 대한 슬라이더 설정 포인트 표현일 수 있고, 이는 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 애니메이션들이 프리젠팅을 종료하는 제 2 위치를 선택하도록 슬라이더 인터페이스(424)를 따라 이동가능하다.
예를 들어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)는, 컴퓨팅 디바이스(예를 들어, 사용자 컴퓨팅 디바이스 140)에 의해 스크롤 이벤트가 수신될 때 그리고 애니메이트된 콘텐츠 아이템(360)이 뷰포트(418) 내의 제 1 위치에 도달한 이후에 애니메이트된 콘텐츠 아이템(360)이 제시되기 시작하도록 슬라이더 설정 포인트(410)를 구성할 수 있다. 도시된 바와 같이, 슬라이더 설정 포인트(410)는 애니메이트된 콘텐츠 아이템(360)이 뷰포트 하부(422)에 도달한 후에 애니메이트된 콘텐츠 아이템(360)을 제시하기 시작하도록 구성된다.
일부 구현예에서, 각각의 입력 필드는 예를 들어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)의 입력 디바이스들(예컨대, 포인팅 디바이스, 키보드, 터치 스크린, 또는 다른 형태의 입력 디바이스)을 이용하여 입력을 수신할 수 있다. 일부 구현예들에서, 입력 필드(416)는 뷰포트(418) 내의 애니메이트된 콘텐츠 아이템(360)의 제 1 위치에 대한 수치적 표현일 수 있고, 이는 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 애니메이션들이 제시되기 시작하는 제 1 위치를 설정하도록 입력을 수신할 수 있다. 일부 구현예들에서, 입력 필드(416)는 뷰포트(418) 내의 애니메이트된 콘텐츠 아이템(360)의 제 2 위치에 대한 수치적 표현일 수 있고, 이는 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 애니메이션들이 프리젠테이션을 종료하는 제 2 위치를 설정하도록 입력을 수신할 수 있다.
예를 들어, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)는, 컴퓨팅 디바이스(예를 들어, 사용자 컴퓨팅 디바이스 140)에 의해 스크롤 이벤트가 수신될 때 그리고 애니메이트된 콘텐츠 아이템(360)이 뷰포트(418) 내의 제 1 위치에 도달한 이후에 애니메이트된 콘텐츠 아이템(360)이 제시되기 시작하도록 입력 필드(416)에 숫자 문자(numerical character)를 입력할 수 있다. 도시된 바와 같이, 입력 필드(416)는 애니메이트된 콘텐츠 아이템(360)이 뷰포트 하부(422)에 도달한 후에 애니메이트된 콘텐츠 아이템(360)을 제시하기 시작하도록 구성된다.
일부 구현예에서, 하나 이상의 위치 의존 속성들이 사용자 디바이스(예를 들어, 사용자는 컴퓨팅 디바이스 140) 상에 구성된다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템(360)은 뷰포트(418) 내의 임의의 위치에서 프리젠테이션을 시작할 수 있으며, 뷰포트(418) 내의 임의의 위치에서 프리젠테이션을 종료할 수 있다(예를 들어, 애니메이트된 콘텐츠 아이템 슬롯(426)에 의해 결정된). 예를 들어, 위치 의존 속성은 사용자 디바이스로 하여금 위치 의존 속성들 중에서, 뷰포트 상단(420)과 뷰포트 하단(422) 사이에 있는 하나 이상의 위치들을 설정하게 할 수 있다(예컨대, 애니메이트된 콘텐츠 아이템 슬롯 426). 예를 들어, 위치-의존적 속성들은, 5 %, 10 %, 15 %, 80 %, 85 %, 90 % 또는 뷰포트 상단(420)과 뷰포트 하단(422) 사이의 임의의 다른 백분율 값일 수 있다. 도 5의 일례를 고려하면, 예를 들어, 위치 의존 속성들은 뷰포트(518) 내의 15 %와 85 % 위치 사이에 배열된다. 따라서, 애니메이트된 콘텐츠 아이템 슬롯은 15 %와 85 % 사이에 있고, 따라서 애니메이트된 콘텐츠 아이템(360)이 오직 애니메이트된 콘텐츠 아이템 슬롯(526) 사이에서 제시될 것임을 나타낸다. 결과적으로, 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 이용하는 콘텐츠 생성자(사용자 또는 인간 운영자)에 의해 구성된 위치 의존 속성들은 또한 뷰포트(418) 내의 위치들의 임의의 조합을 구성하여, 애니메이트된 콘텐츠 아이템(360)이 이들 위치들 사이에서 존재하도록 애니메이트된 콘텐츠 아이템 슬롯(426)을 확립할 수 있다.
일부 실시예에서, 도 7의 일례를 고려하면, 예를 들어, 위치 의존 속성들은 15 % 내지 85 % 사이에 배치되는 한편, 50 % 위치에서 위치 의존 속성을 또한 포함한다. 일부 구현예들에서, 애니메이트된 콘텐츠 아이템(360)에 추가적인 유연성 및 기능성을 제공하기 때문에, 애니메이트된 콘텐츠 아이템(360)에 복수의 위치 의존 속성들을 추가하는 것이 콘텐츠 생성자에게 유리하다. 예를 들어, 애니메이트된 콘텐츠 아이템(360)의 복수의 텍스트는 뷰포트(718) 내의 스크롤 이벤트가 15 % - 50 % 위치-의존적 설정들 사이에 있기 때문에 지정된 방향으로(예를 들어, 수평 또는 수직으로) 슬라이딩할 수 있다. 대안적으로, 애니메이트된 콘텐츠 아이템(360)의 복수의 텍스트는 뷰포트(718) 내의 스크롤 이벤트가 50 % - 85 % 사이이므로 다른 지정된 방향으로 슬라이딩할 수 있다. 일부 구현예에서는, 애니메이션 컨텐트 아이템(360)이 15 % - 50 % 또는 50 % - 85 % 사이에 있을 때 애니메이션 컨텐트 아이템(360)의 하나 이상의 속성들의 값들이 보간될 수 있도록 뷰포트 모니터링 라이브러리(114)가 사용자 디바이스(예를 들어, 사용자 컴퓨팅 디바이스 140)에 제공될 수 있다.
이하에서 설명되는 도 5는 애니메이션 구성 인터페이스(300) 내의 애니메이션 타이밍 패널(500)의 예시적인 일례를 도시한다. 애니메이션 타이밍 패널(500)은 도 4를 참조하여 상세히 설명된 비슷한 피처들 및 기능과 유사하다(resemble). 도시된 바와 같이, 그래픽 프레임(512), 슬라이더 설정 포인트(510) 또는 입력 필드(516)를 사용하여, 제 1 위치가 15 %로 설정되므로, 스크롤 이벤트가 컴퓨팅 디바이스(예를 들어, 사용자 컴퓨팅 디바이스 140)에 의해 수신될 때 그리고 애니메이트된 콘텐츠 아이템(360)이 뷰포트(418) 내의 제 1 위치(예를 들어, 15 %)에 도달한 이후에, 애니메이트된 콘텐츠 아이템(360)은(예를 들어, 애니메이트된 콘텐츠 아이템 슬롯 526 내에서) 프리젠팅을 시작한다. 또한, 도시된 바와 같이, 그래픽 프레임(506), 슬라이더 설정 포인트(510) 또는 입력 필드(514)를 사용하여, 제 2 위치가 85 %로 설정되므로, 스크롤 이벤트가 컴퓨팅 디바이스(예를 들어, 사용자 컴퓨팅 디바이스 140)에 의해 수신될 때 그리고 애니메이트된 콘텐츠 아이템(360)이 뷰포트(418) 내의 제 2 위치(예를 들어, 85 %)에 도달한 이후에, 애니메이트된 콘텐츠 아이템(360)은(예를 들어, 애니메이트된 콘텐츠 아이템 슬롯 526 내부가 아닌) 프리젠팅을 종료한다.
아래에 서술되는 도 6은 애니메이션 구성 인터페이스(300) 내의 애니메이션 타이밍 패널(600)의 예시적인 구현예를 도시한다. 애니메이션 타이밍 패널(600)은 도 4를 참조하여 상세하게 설명된 비슷한 피처들 및 기능과 유사하다. 하지만, 일부 구현예에서, 애니메이션 구성 인터페이스(300)은 그래픽 프레임(628), 슬라이더 설정 포인트(630), 입력 필드(632)를 포함할 수 있다. 예를 들어, 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 속성들이 변화하는 뷰포트(418) 내의 2개의 위치들을 갖는 대신에, 애니메이션 타이밍 패널(600)은 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)가 그래픽 프레임(628), 슬라이더 설정 포인트(630), 또는 입력 필드(632)를 이용하여 애니메이트된 콘텐츠 아이템 슬롯(626) 내의 제 3 위치를 구성하게 할 수 있다. 일부 구현예들에서, 애니메이션 타이밍 패널은 콘텐츠 퍼블리셔 컴퓨팅 디바이스(120)를 사용하는 콘텐츠 생성자(사용자 또는 인간 운영자)가 다른 그래픽 프레임, 다른 슬라이더 설정 포인트, 또는 다른 입력 필드(632)를 이용하여 애니메이트된 콘텐츠 아이템 슬롯(626) 내의 제 4 위치를 구성하게 할 수 있다. 도 6에 도시된 일례에서, 제 3 위치에 대한 슬라이더 설정 포인트(630)는 그래픽 프레임(628)이 뷰포트(618)의 중간 부분에 대응하도록 뷰포트(618)의 중간 포인트(604)에 설정된다.
아래에 설명된 도 7은 애니메이션 구성 인터페이스(300) 내의 애니메이션 타이밍 패널(700)의 예시적인 구현예를 도시한다. 애니메이션 타이밍 패널(700)은 도 4 및 도 6을 참조하여 상세히 설명된 비슷한 피처들 및 기능과 유사하다. 도시된 바와 같이, 그래픽 프레임(712), 슬라이더 설정 포인트(710) 또는 입력 필드(716)를 사용하여, 제 1 위치가 15 %로 설정되므로, 스크롤 이벤트가 컴퓨팅 디바이스(예를 들어, 사용자 컴퓨팅 디바이스 140)에 의해 수신될 때 그리고 애니메이트된 콘텐츠 아이템(360)이 뷰포트(718) 내의 제 1 위치(예를 들어, 15 %)에 도달한 이후에, 애니메이트된 콘텐츠 아이템(360)은(예를 들어, 애니메이트된 콘텐츠 아이템 슬롯 726 내에서) 프리젠팅을 시작한다. 또한, 도시된 바와 같이, 그래픽 프레임(706), 슬라이더 설정 포인트(710) 또는 입력 필드(714)를 사용하여, 제 2 위치가 85 %로 설정되므로, 스크롤 이벤트가 컴퓨팅 디바이스(예를 들어, 사용자 컴퓨팅 디바이스 140)에 의해 수신될 때 그리고 애니메이트된 콘텐츠 아이템(360)이 뷰포트(718) 내의 제 2 위치(예를 들어, 85 %)에 도달한 이후에, 애니메이트된 콘텐츠 아이템(360)은(예를 들어, 애니메이트된 콘텐츠 아이템 슬롯 726 내부가 아닌) 프리젠팅을 종료한다. 또한, 도시된 바와 같이, 그래픽 프레임(728), 슬라이더 설정 포인트(730) 또는 입력 필드(732)를 사용하여, 제 3 위치가 50 %로 설정되므로, 애니메이트된 콘텐츠 아이템(360)이 뷰포트(718) 내의 제 3 위치(즉, 50 %)에 도달한 후에, 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 속성들이 변화할 수 있다.
아래에 서술된 도 8은 애니메이션 구성 인터페이스(300) 내의 애니메이션 타이밍 패널(800)의 예시적인 구현예를 도시한다. 애니메이션 타이밍 패널(800)은 도 4 및 도 6을 참조하여 상세히 설명된 비슷한 피처들 및 기능과 유사하다. 추가적으로, 애니메이션 타이밍 패널(800)은 뷰포트 내의 위치에 기초하여 애니메이트된 콘텐츠 아이템(360)의 하나 이상의 속성들을 구성하기 위한 기능을 포함할 수 있다. 일부 구현예들에서, 애니메이션 타이밍 패널(800)은 제1-제3(first-third) 위치 속성(836), 제1-제3(first-third) 위치 속성(840), 제2-제3(second-third) 위치 속성(834), 제2-제3(second-third) 위치 속성(838)을 포함할 수 있다. 각각의 제1-제3 위치 속성은, 애니메이트된 콘텐츠 아이템(360)이 애니메이트된 콘텐츠 아이템 슬롯(826) 내에서 제 1 위치(예를 들어, 슬라이더 설정 포인트 810)와 제 3 위치(예를 들어, 슬라이더 설정 포인트 830) 사이에서 프리젠팅될 때, 설정된 속성들에 따라 애니메이트된 콘텐츠 아이템(360)이 제시되도록 구성될 수 있다. 예를 들어, 도시된 바와 같이, 애니메이트된 콘텐츠 아이템(360)은 100 % 의 불투명도(opacity) 및 100 % 의 칠 불투명도(fill opacity)인 불투명도 속성, 및 50 %의 폭과 75 %의 높이인 사이즈 속성을 가지며 제 1 위치와 제 3 위치 사이에 존재할 것이다. 불투명도는 애니메이트된 콘텐츠 아이템(360)의 전체의 불투명도를 제어하며, 칠 불투명도(fill opacity)는 색상 칠하기(예컨대, 애니메이트된 콘텐츠 아이템 360의 배경 색상)를 위한 불투명도만을 제어한다. 이와 달리, 각각의 제3-제2 위치 속성은, 애니메이트된 콘텐츠 아이템(360)이 애니메이트된 콘텐츠 아이템 슬롯(826) 내에서 제 3 위치(예를 들어, 슬라이더 설정 포인트 830)와 제 2 위치(예를 들어, 슬라이더 설정 포인트 808) 사이에서 프리젠팅될 때, 설정된 속성들에 따라 애니메이트된 콘텐츠 아이템(360)이 제시되도록 구성될 수 있다. 예를 들어, 도시된 바와 같이, 애니메이트된 콘텐츠 아이템(360)은 50 % 의 불투명도(opacity) 및 75 % 의 칠 불투명도(fill opacity)인 불투명도 속성, 및 제1-제3 위치 속성의 사이즈 속성을 미러링하는(즉, 정확하게 동일한) 사이즈 속성을 가지며 제 3 위치와 제 2 위치 사이에 존재할 것이다.
도 9를 참조하면, 예시적인 구현예에 따른 예시적인 컴퓨팅 시스템(901)의 블록도가 도시되어 있다. 컴퓨팅 시스템(901)은 예시적인 구현예에 따라 본 명세서에 설명된 컴퓨터화된 컴포넌트를 구현하는데 사용하기에 적합하다. 넓은 개요에서, 컴퓨팅 시스템(901)은 명령들, 예를 들어, 캐시 메모리(903)에 보유된 명령들에 따라 동작을 수행하기 위한 프로세서(902)를 포함한다. 도시된 예시적인 컴퓨팅 시스템(901)은 버스(908)를 통해 메인 메모리(906), 네트워크 인터페이스 제어기(907), 입/출력(I/O) 인터페이스(908) 및 데이터 저장소(909)와 통신하는 하나 이상의 프로세서(902) 및 코프로세서(904)를 포함한다. 일부 구현예에서, 컴퓨팅 시스템(901)은 추가 인터페이스 또는 다른 컴포넌트(916)를 포함할 수 있다.
일부 구현예에서, 프로세서(902)는 메인 메모리(906)(또는 데이터 저장소 909)로부터 캐시 메모리(903)로 명령들을 로딩하도록 구성될 수 있다. 또한, 상기 프로세서(902)는 캐시 메모리(903)로부터 온보드 레지스터로 명령들을 로딩하고 온보드 레지스터로부터의 명령들을 실행하도록 구성될 수 있다. 일부 구현예들에서, 명령들은 도시되지 않은 판독 전용 메모리(ROM: read-only memory) 또는 펌웨어 메모리 칩(예를 들어, 기본 I/O 시스템(BIOS)에 대한 명령들을 저장)으로부터 인코딩 및 판독된다.
도시된 바와 같이, 프로세서(902)는 캐시 메모리(903)에 직접 연결된다. 그러나, 일부 구현예에서, 캐시 메모리(903)는 프로세서(902)에 통합되고/되거나 프로세서(902)와 동일한 회로 또는 칩에서 구현된다. 일부 구현예는 다중 계층들 혹은 다중 레벨들의 캐시 메모리(903)를 포함하며, 그 각각은 또한 프로세서(902)로부터 제거될 수 있다. 일부 구현예는 추가적인의 특수 명령들에 대한 지원과 함께 프로세서(902)를 증강시키는 다중 프로세서(902) 및/또는 코프로세서(904)를 포함한다(예를 들어, 수학 코프로세서, 부동 소수점 코프로세서, 및/또는 그래픽 코 프로세서). 도시된 바와 같이, 코프로세서(904)는 프로세서(902)에 근접하게 연결된다. 그러나, 일부 구현예들에서, 코프로세서(904)는 프로세서(902)에 통합되거나 프로세서(902)와 동일한 회로 또는 칩 상에 구현될 수 있다. 일부 구현예에서, 코프로세서(904)는 예컨대, 버스(908)에 연결되어 프로세서로부터 제거된다.
네트워크 인터페이스 제어기(907)는 네트워크 디바이스(914)에 연결하기 위해(예를 들어, 네트워크(130)에 대한 액세스를 위해) 하나 이상의 네트워크 인터페이스(917)를 제어하도록 구성될 수 있다. I/O 인터페이스(908)는 키보드, 터치 스크린, 마이크로폰, 모션 센서, 비디오 디스플레이, 스피커, 햅틱 피드백 디바이스, 프린터와 같은 다양한 I/O 디바이스(918)로 데이터를 송수신하는 것을 용이하게하도록 구성될 수 있다. 일부 구현예에서, 하나 이상의 I/O 디바이스(918)는 컴퓨팅 시스템(901)에 통합된다. 일부 구현예에서, 하나 이상의 I/O 디바이스(918)는 컴퓨팅 시스템(901)의 외부에 있고 컴퓨팅 시스템(901)으로부터 분리 가능하다. 일부 구현예들에서, 컴퓨팅 시스템(901)은 특수 목적 논리 회로를 사용하여 구현되는바, 예를 들어, 프로세서(902) 및 가령, 캐시 메모리(903), 네트워크 인터페이스 제어기(907), 네트워크 인터페이스(917), 하나 이상의 I/O 인터페이스들(908)과 같은 하나 이상의 추가 컴포넌트들을 포함하는 주문형 집적회로(ASIC) 또는 시스템 온 칩(SoC) 반도체 디바이스를 이용하여 구현된다.
프로세서(902)는 예를 들어, 캐시 메모리(903), 메인 메모리(906), 데이터 저장소(909) 또는 미도시된 다른 메모리로부터 페치된 명령들을 프로세싱하는 임의의 논리 회로일 수 있다. 프로세서(902)는 다수의 데이터 및 명령 레지스터를 포함한다. 일부 구현예들에서, 프로세서(902)는 시동(부팅)할 때, 더 많은 명령들을 로드하기 위한 명령들을 포함하는 초기 명령들을 BIOS로부터 레지스터로 로드하고, 레지스터로부터 명령들을 실행하도록 구성될 수 있다. 일부 구현예들에서, BIOS 명령들은 프로세서(902)로 하여금 운영 체제(OS)를 로드하게 하고, 이는 프로세서(902)는 하나 이상의 프로그램들을 로드하고 실행하게 한다.
프로세서(902)는 하나 이상의 보조 코프로세서(904)에 의해 증강될 수 있는바, 이는 특정 목적을 위한 특수 명령어 세트를 구비한 보조 프로세싱 유닛이다. 일부 구현예들에서, 인식되지 않은 명령에 직면한 프로세서(902)는 예를 들어, 특수 버스를 통해 상기 명령을 코프로세서(904)에 전달할 것이며, 그리고 상기 코프로세서(904)도 명령을 인식하지 않는 경우 인식할 수 없는 명령 폴트를 단지 생성할 것이다. 프로세서(902) 및 코프로세서(904)는 각각 단일 코어 또는 다중 코어 프로세서일 수 있다.
컴퓨팅 시스템(901)은 다수의 개별 프로세서(902) 및/또는 다수의 개별 코프로세서(904)를 포함할 수 있다. 예를 들어, 일부 구현예에서, 멀티 코어 중앙 처리 유닛(CPU)과 같은 범용 프로세서(902)는 가령, 수학 코프로세서, 부동 소숫점 코프로세서, 혹은 그래픽 프로세싱 유닛(GPU)와 같은 하나 이상의 특수 목적 코프로세서로 증강될 수 있다. 예를 들어, 수학 코프로세서(904)는 고정밀 또는 복잡한 계산으로 프로세서(902)를 보조할 수 있다. 일부 구현예들에서, 프로세서(들)(902) 및 코프로세서들(904)은 하나 이상의 칩들 상의 회로로서 구현된다. 컴퓨팅 시스템(901)은 본 명세서에 기술된 바와 같이 동작할 수 있는 임의의 프로세서(902), 또는 프로세서(902) 및/또는 코프로세서 세트(904)에 기초할 수 있다.
일반적으로 캐시 메모리(903)는 빠른 액세스 시간을 위해 프로세서(902)에 근접하게 배치된 컴퓨터 메모리의 형태이다. 일부 구현예들에서, 캐시 메모리(903)는 프로세서(902)의 일부이거나 그와 동일한 칩 상에 있는 메모리 회로이다. 일부 구현예들에서, 다중 레벨의 캐시 메모리(903), 예를 들어 L2 및 L3 캐시 계층들이있다. 일부 구현예들에서, 다수의 프로세서들(902) 및/또는 프로세서(902)의 다수의 코어들은 동일한 캐시 메모리(903)에 대한 액세스를 공유한다.
메인 메모리(906)는 컴퓨터 판독가능 데이터를 저장하기에 적합한 임의의 디바이스일 수 있다. 메인 메모리(906)는 지정된 어드레스로의 직접 액세스를 지원하는 디바이스인바, 예를 들어 메인 메모리(906)는 랜덤 액세스 메모리(RAM)이다. 일부 구현예들에서, 메인 메모리(906)는 동적 랜덤 액세스 메모리(DRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 이중 데이터 레이트 SDRAM(DDR SDRAM), 정적 랜덤 액세스 메모리(SRAM), T-RAM, Z-RAM 등과 같은 휘발성 반도체 메모리 디바이스이다. 컴퓨팅 시스템(901)은 메인 메모리(906)로서 기능하는 임의 개수의 디바이스를 가질 수 있다.
데이터 저장소(909)는 파워 사이클들 사이에서 컴퓨터 판독가능 데이터를 저장하기에 적합한 임의의 디바이스일 수 있다. 일부 구현예들에서, 데이터 저장소(909)는 자기 디스크, 예를 들어, 하드 디스크 드라이브(HDD)와 같은 고정식 저장 매체를 갖는 디바이스이다. 일부 구현예들에서, 데이터 스토리지(909)는 자기 디스크들(예를 들어, 플로피 디스크 드라이브 또는 착탈식 HDD), 자기 테이프, 자기-광학 디스크들 또는 광학 디스크들(예를 들어, CD ROM, DVD-ROM 또는 BLU-RAY 디스크)와 같은 착탈식 저장 매체를 갖는 디바이스이다. 일부 구현예들에서, 데이터 저장소(909)는 소거가능 프로그램가능 판독 전용 메모리(EPROM), 전기적으로 소거가능 프로그램가능한 판독 전용 메모리(EEPROM) 또는 플래시 메모리와 같은 비휘발성 반도체 메모리 디바이스이다. 일부 구현예들에서, 메인 메모리(906)는 예를 들어, 멀티-레벨 셀(MLC: Multi-Level Cell) NAND 기반 플래시 메모리를 사용하는 솔리드 스테이트 드라이브(SSD)이다. 컴퓨팅 시스템(901)은 데이터 저장소(909)로서 기능하는 임의 개수의 디바이스를 가질 수 있다.
다시 도 9를 참조하면, 버스(908)는 컴퓨팅 시스템(901)의 다양한 내부 구성요소들 사이의 데이터 교환을 제공하는 인터페이스로서, 예를 들어 프로세서(902)를 메인 메모리(906), 네트워크 인터페이스 제어기(907), I/O 인터페이스(908), 데이터 저장소(909)에 연결한다. 일부 구현예에서, 버스(908)는 컴퓨팅 시스템(901) 외부의 하나 이상의 구성 요소들, 예를 들어 다른 구성 요소(916)와의 데이터 교환을 추가로 제공한다. 일부 구현예에서, 버스(908)는 직렬 및/또는 병렬 통신 링크를 포함한다. 일부 구현예들에서, 버스(908)는 통합 드라이브 전자 디바이스(IDE), 주변 컴포넌트 상호연결 익스프레스(PCI: Peripheral Component Interconnect Express), 스몰 컴퓨터 시스템 인터페이스(SCSI: Small Computer System Interface) 또는 범용 직렬 버스(USB: Universal Serial Bus)와 같은 데이터 버스 표준을 구현한다. 일부 구현예들에서, 컴퓨팅 시스템(901)은 다수의 버스들(908)을 갖는다.
컴퓨팅 시스템(901)은 하나 이상의 입력 또는 출력(I/O) 디바이스(918)를 위한 인터페이스(908)를 포함 또는 제공할 수 있다. I/O 디바이스(918)는 키보드, 터치 스크린, 터치 패드(예: 전자기 유도 패드, 정전기 패드, 용량성 패드 등), 마이크로폰, 조이스틱, 풋 페달, 관성 측정 유닛(IMU), 가속도계, 자이로 스코프, 틸트 센서, 모션 센서, 환경 센서, MIDI(Musical Instrument Digital Interface) 장치(예: MIDI 키보드)와 같은 MIDI 입력 디바이스들, 스타일러스 및 마우스나 트랙볼과 같은 포인팅 디바이스와 같은 입력 디바이스들을 포함하지만, 이에 한정되는 것은 아니다. 출력 디바이스들은 비디오 디스플레이, 스피커, 햅틱 피드백 디바이스, 재생 가능한 점자 터미널(refreshable Braille terminals), 조명, 서보, MIDI 합성기와 같은 MIDI 출력 디바이스, 및 2 차원 또는 3 차원 프린터(잉크젯 프린터, 레이저 프린터, 써모그래픽 프린터, 스테레오리소그래픽 프린터, 압출 증착 프린터 및 금속 소결 프린터를 포함하지만 이에 제한되지 않음)를 포함하지만, 이에 제한되는 것은 아니다.
네트워크(130)는 컴퓨팅 시스템(901) 및 네트워크 디바이스(914)와 같은 다양한 노드들 사이의 통신을 가능하게한다. 일부 구현예에서, 데이터는 예를 들어, OSI(Open Systems Interconnection) 계층에 따른 데이터 패킷의 형태인 데이터 패킷의 흐름으로서 소스 노드로부터 목적지 노드로 네트워크(130)를 통해 흐른다. 패킷들의 흐름은, 예를 들어, 유저 데이터그램 프로토콜(UDP: User Datagram Protocol), 전송 제어 프로토콜(TCP: Transmission Control Protocol), 또는 스트림 콘트롤 트랜스미션 프로토콜(SCTP)과 같은 OSI 계층-4 전송 프로토콜을 이용하거나, 인터넷 프로토콜(IP), 예컨대 IPv4 혹은 IPv6와 같은 OSI 계층-3 네트워크 프로토콜 위에 계층화된 네트워크(130)를 통해 전송될 수 있다. 네트워크(130)는 참여 디바이스들 사이에서 하나 이상의 데이터 통신 경로를 형성하도록 서로 링크된 다양한 네트워크 디바이스들(노드들)로 구성된다. 각각의 네트워크 디바이스는 전형적으로 하나 이상의 데이터 패킷으로서 데이터를 수신 및/또는 전송하기 위한 적어도 하나의 네트워크 인터페이스를 포함한다. 예시적인 네트워크(130)는 인터넷이지만, 다른 네트워크가 사용될 수 있다. 네트워크(130)는 자율 시스템(AS), 즉, 일관된 통합 라우팅 정책에 따라 운영되고(또는 적어도 AS 네트워크 외부에서 온 것으로 보이는) 그리고 일반적으로 단일 관리 엔티티(예를 들어, 시스템 운영자, 관리자 또는 관리 그룹)에 의해 관리되는 네트워크일 수 있다.
네트워크(130)는 다수의 연결된 서브-네트워크들 또는 AS 네트워크들로 구성될 수 있으며, 이는 다음 중 하나 이상을 충족할 수 있다: 중재(intervening) 네트워크(트랜지트 네트워크), 이중 홈 게이트웨이 노드, 포인트 오브 프리젠스(POP: point of presence), 인터넷 교환 지점(IXP) 및/또는 기타 다른 네트워크 바운더리들. 네트워크(130)는 회사 인트라넷과 같은 로컬 영역 네트워크(LAN), 메트로폴리탄 영역 네트워크(MAN), 광역 네트워크(WAN), 인터넷과 같은 인터 네트워크 또는 예를 들어, 애드혹 Wi-Fi 피어-투-피어 네트워크와 같은 피어 투 피어 네트워크일 수 있다. 네트워크(130) 내의 노드들 사이의 데이터 링크는 물리적 링크(예를 들어, 광섬유, 메시, 동축, 예를 들어 Cat-5 또는 Cat-6 등의 트위스트 페어) 및/또는 무선 링크(예를 들어, 라디오, 위성, 마이크로파 등)의 임의의 조합일 수 있다.
네트워크(130)는 모바일 통신 디바이스들을 위한 캐리어 네트워크들을 포함할 수 있는바, 예컨대, GSM(Global System for Mobile Communications), 코드 분할 다중 접속CDMA:Code Division Multiple Access), 시분할 동기식 코드 분할 다중 접속(TD-SCDMA: Time Division Synchronous Code Division Multiple Access), 롱-텀 에볼루션(LTE: Long-Term Evolution), 또는 소위 3 세대(3G), 4 세대(4G), 5 세대(5G) 프로코톨 등을 포함하는 임의의 다른 프로토콜들과 같은 무선 통신 프로토콜들을 구현하는 네트워크를 포함할 수 있다. 네트워크(130)는 예를 들어, PAN(Personal Area Network) 또는 메시 네트워크라 지칭되기도 하는 와이파이(Wi-Fi), 블루투스(BLUETOOTH), BLE 또는 지그비(ZIGBEE)를 통한 근거리 무선 링크를 포함할 수 있다. 네트워크는 퍼블릭, 프라이빗 또는 퍼블릭 및 프라이빗 네트워크의 조합일 수 있다. 네트워크(130)는 임의의 유형 및/또는 형태의 데이터 네트워크 및/또는 통신 네트워크일 수 있다.
네트워크 인터페이스 제어기(907)는 네트워크 인터페이스(917)(때때로 네트워크 인터페이스 포트로 지칭됨)를 통한 네트워크(130) 내의 디바이스들(예를 들어, 네트워크 디바이스 914) 사이의 데이터 교환을 관리한다. 네트워크 인터페이스 제어기(907)는 네트워크 통신을 위한 개방 시스템 상호연결(OSI) 모델의 물리 및 데이터 링크 계층들을 처리한다. 일부 구현예에서, 네트워크 인터페이스 제어기의 태스크들 중 일부는 프로세서(902) 및/또는 보조 프로세서(904)에 의해 처리된다. 일부 구현예에서, 네트워크 인터페이스 제어기(907)는 예를 들어 동일한 칩 상의 회로로서 프로세서(902)에 통합된다. 일부 구현예에서, 컴퓨팅 시스템(901)은 단일 제어기(907)에 의해 제어되는 다중 네트워크 인터페이스들(917)을 갖는다. 일부 구현예에서, 컴퓨팅 시스템(901)은 다수의 네트워크 인터페이스 제어기들(907)을 갖는다. 일부 구현예에서, 각각의 네트워크 인터페이스(917)는 물리적 네트워크 링크(가령, Cat-5 이더넷 링크)를 위한 연결 포인트이다.
일부 구현예들에서, 네트워크 인터페이스 제어기(907)는 무선 네트워크 연결들을 지원하고 인터페이스(917)는 무선(예를 들어, 무선) 수신기/송신기이다(예를 들어, 임의의 IEEE 802.11 Wi-Fi 프로토콜, 근거리 통신(NFC), BLUETOOTH), BLUETOOTH LOW ENERGY(BLE), ZIGBEE, ANT 또는 기타 무선 프로토콜). 일부 구현예들에서, 네트워크 인터페이스 제어기(907)는 이더넷과 같은 하나 이상의 네트워크 프로토콜들을 구현한다. 일반적으로, 컴퓨팅 시스템(901)은 네트워크 인터페이스(917)를 통해 물리적 또는 무선 링크를 통해 다른 컴퓨팅 디바이스와 데이터를 교환하도록 구성될 수 있다. 네트워크 인터페이스(917)는 다른 디바이스에 직접 링크될 수 있거나 또는 중간 디바이스, 예를 들어 컴퓨팅 시스템(901)을 네트워크(130)에 연결하는 허브, 브리지, 스위치 또는 라우터와 같은 네트워크 디바이스(914)를 통해 다른 디바이스에 링크될 수 있다.
네트워크 디바이스(914)는 허브, 스위치, 라우터, 모뎀, 네트워크 브리지, 다른 컴퓨팅 시스템(901) 또는 다른 네트워크 노드일 수 있다. 일부 구현예들에서, 네트워크 디바이스(914)는 네트워크 게이트웨이이다. 일부 구현예들에서, 네트워크 디바이스(914)는 특수 목적 프로세서 및/또는 TCAM(Thirary Content-addressable Memory)과 같은 맞춤형 하드웨어를 사용하여 구현된 라우팅 디바이스이다.
다른 구성 요소(916)는 버스(908)를 통해 연결되는 대안적인 I/O 인터페이스, 외부 직렬 디바이스 포트, 임의의 추가적인 코프로세서를 포함할 수 있다. 예를 들어, 컴퓨팅 시스템(901)은 외부 입력 디바이스, 출력 디바이스 또는 추가 메모리 디바이스(예: 휴대용 플래시 드라이브 또는 외부 미디어 드라이브)를 연결하기 위한 인터페이스(예를 들어, 범용 직렬 버스(USB) 인터페이스)를 포함할 수 있다.
도시된 컴퓨팅 시스템(901)은 데이터를 관리 또는 구성하는 시스템을 구현하는데 적합하다. 예를 들어, 일부 구현예들에서, 컴퓨팅 시스템(901)은 데이터베이스를 호스팅한다. 데이터베이스, 다 구체적으로는 데이터베이스 관리 시스템(DBMS)은 데이터베이스 정의, 예를 들어 데이터베이스 스키마에 따라 데이터를 구성한다. 예를 들어, 관계형 데이터베이스에서 DBMS는 테이블과 같은 데이터 구조로 데이터를 유지 관리한다. 각 테이블은 컬럼들을 포함하며, 이들 각각은 엔트리 타입, 분류, 또는 목적에 대응한다. 예를 들어, 테이블에는 수치 데이터를 위한 컬럼, 텍스트 데이터를 위한 컬럼(예: 수치 데이터에 대한 설명), 날짜 데이터를 위한 컬럼, 등등이 있을 수 있다. 일부 구현예들에서, 컬럼은 다수의 데이터 요소들을 단일 컬럼으로 그룹화하는 구조화된 데이터를 나타낸다. 관계형 데이터베이스에서, 컬럼에 있는 각각의 엔트리는 엔트리를 테이블의 다른 컬럼의 엔트리와 로우 연관시킨다.
일부 경우에서, 엔트리(또는 엔트리들의 조합)은 하나의 테이블의 로우를 다른 테이블의 하나 이상의 로우들과 연관시킨다. 일부 DBMS 구현예에서, "뷰(views)"라 지칭되는 가상 테이블은 마치 테이블인 것처럼 하나 이상의 테이블에서 가져온 데이터를 나타낸다(즉, 뷰는 데이터베이스 클라이언트 또는 사용자에게 마치 테이블인 것처럼 보이지만, 반드시 그렇게 보관될 필요는 없다). 다양한 유형의 관계형 데이터베이스, 객체 지향 데이터베이스, 문서 지향 데이터베이스, XML(eXtensible Markup Language) 데이터베이스, NoSQL 데이터베이스, 기타 등등을 포함한 다양한 유형의 데이터베이스 관리 시스템도 사용될 수 있다. 이러한 데이터베이스 유형들 중 다수는 관계형 데이터베이스와 관련하여 위에서 설명한 것과 유사한 방식으로 테이블 또는 테이블 유사 구조를 사용한다. 일부 데이터베이스 구현예에서, 데이터는 예를 들어 데이터 튜플의 모음으로서 테이블 이외의 방식으로 저장되거나 표현된다.
데이터베이스의 클라이언트 또는 사용자는 데이터베이스 명령들, 예컨대, 구조적 질의 언어(SQL: Structured Query Language)와 같은 데이터베이스 질의 언어로의 질의들을 이용하여 데이터베이스의 데이터를 추가하거나, 데이터를 수정하거나, 또는 데이터를 검색할 수 있다. 하나 이상의 데이터베이스 명령들은 데이터베이스 트랜잭션으로 그룹화될 수 있다. 일반적으로 데이터베이스는 트랜잭션 원자적 일관성, 격리 및 내구성을 제공한다. 이러한 속성은 약어 ACID로 알려져 있다. 일부 구현예에서 DBMS는 모든 ACID 속성을 제공한다. 그러나 일부 구현예에서 DBMS는 모든 ACID 특성을 제공하지는 않는다.
일부 구현예에서, 하나 이상의 클라이언트 디바이스(120), 예를 들어 컴퓨팅 시스템(901)의 인스턴스는 예를 들어 직접 링크 또는 네트워크(130)를 통해 DBMS와 통신한다. 일부 구현예에서, 하나 이상의 클라이언트는 SQL(Structured Query Language), HTSQL(Hyper Text Structured Query Language), CQL(Contextual Query Language), DMX(Data Mining Extensions) 또는 XML 쿼리(XQuery)와 같은 공식 질의 언어의 질의를 사용하여 DBMS로부터 데이터를 획득한다. 일부 구현예에서, 하나 이상의 클라이언트는 CORBA(Common Object Request Broker Architecture), RPC(Remote Procedure Calls), OLE(Object Linking and Embedding), COM(Component Object Model), 또는 DCOM(Distributed Component Object Model)과 같은 프로세스 간 통신 아키텍처를 사용하여 DBMS로부터 데이터를 획득한다. 일부 구현예에서, 하나 이상의 클라이언트는 자연어 또는 의미론적 질의(semantic queries)를 사용하여 DBMS로부터 데이터를 획득한다. 일부 구현예에서, 하나 이상의 클라이언트는 시각화 API 질의 언어와 같은 사용자 정의 질의 언어의 질의들을 사용하여 DBMS로부터 데이터를 획득한다. 본 명세서에 서술된 주제 및 동작의 구현예들은 디지털 전자 회로로 구현되거나, 또는 본 명세서에 개시된 구조들 및 그와 동등한 구조적 등가물 또는 이들의 하나 이상의 조합을 포함하는 유형의 매체, 펌웨어 또는 하드웨어 상에 구현된 컴퓨터 소프트웨어에서 구현될 수 있다. 본 명세서에 서술된 주제의 구현예들은 유형의 매체에 구현된 하나 이상의 컴퓨터 프로그램, 즉 데이터 프로세싱 장치(예를 들어, 프로세서 902를 포함)에 의해 실행되거나 그 동작을 제어하기 위해 하나 이상의 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램 명령들의 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 이에 포함될 수 있다. 또한, 컴퓨터 저장 매체는 하나 이상의 개별 구성요소 또는 매체(예를 들어, 다수의 CD, 디스크 또는 다른 저장 디바이스)일 수 있거나 그에 포함될 수 있다. 컴퓨터 저장 매체는 유형(tangible)이다. 컴퓨터 저장 매체는 데이터, 예를 들어 컴퓨터 실행가능 명령들을 비일시적 형태로 저장한다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드라고도 함)은 컴파일링 언어, 해석된 언어, 선언적 언어 및 절차적 언어를 포함하는 모든 형태의 프로그래밍 언어로 작성될 수 있으며, 컴퓨터 프로그램은 독립형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 모듈, 구성 요소, 서브 루틴, 객체 또는 기타 디바이스를 포함한 모든 형태로 배포된다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부에 저장되거나, 문제의 프로그램 전용의 단일 파일에 저장되거나 또는 다수의 조정 파일들(예컨대, 하나 이상의 모듈, 라이브러리, 하위 프로그램 또는 코드 부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는 하나의 장소에 위치하거나 혹은 여러 장소에 분산되어 있고 통신 네트워크로 상호 연결된 여러 컴퓨터들에서 실행되도록 배포될 수 있다.
본 명세서에 서술된 프로세스들 및 논리 흐름들은 입력 데이터에 작용하고 출력 데이터를 생성함으로써 동작들을 수행하는 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램가능한 프로세서들에 의해서 수행될 수 있다. 프로세스들 및 논리 흐름들은 또한 특수 목적 논리 회로, 예를 들어, 필드 프로그래머블 게이트 어레이(FPGA) 또는 주문형 집적 회로(ASIC)에 의해 수행될 수 있으며, 장치가 또한, FPGA 또는 ASIC으로 구현될 수 있다. 이러한 특수 회로는 범용 프로세서가 아니더라도 컴퓨터 프로세서라고 지칭될 수 있다.
비록, 본 명세서가 많은 특정한 세부적인 구현 사항들을 포함하지만, 이들은 임의의 발명의 범위 또는 청구될 수 있는 것에 대한 제한으로 해석되어서는 아니되고, 특정 발명의 특정 구현예에 특유한 피처들에 대한 설명으로 해석되어야 한다. 개별 구현예들의 문맥에서 본 명세서에서 설명된 소정의 피처들은 단일 구현예의 조합에서 구현될 수도 있다. 반대로, 단일 구현예의 맥락에서 설명된 다양한 피처들은 또한 여러 구현예들에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 피처들이 특정한 조합으로 작용하는 것으로 설명되고, 심지어 초기에 그렇게 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 피처들은 일부 경우에 조합으로부터 제외될 수도 있다.
이와 유사하게, 비록 동작들이 도면들에서 특정 순서로 도시되지만, 이는 그러한 동작들이 도시된 특정 순서대로 또는 순차적인 순서로 수행되어야만 함을 의미하는 것이 아니며 또는 도시된 모든 동작들이 수행되어야만 원하는 결과가 얻어짐을 의미하는 것도 아니다. 소정 상황에서는, 멀티 태스킹 및 병렬 처리가 유리할 수도 있다. 더욱이, 위에서 설명된 구현예들에서 다양한 시스템 구성요소들의 분리는 모든 구현예들에서 이러한 분리를 요구하는 것으로 이해되어서는 안되며, 설명된 프로그램 구성 요소들 및 시스템들은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 또는 여러 소프트웨어 제품으로 패키지화될 수 있음을 이해해야한다.
"또는"에 대한 참조들은 포괄형(inclusive)으로 간주될 수 있으며, 따라서 "또는" 을 이용하여 서술된 임의의 항목들은, 하나의 항목, 2 이상의 항목, 및 서술된 항목들 모두를 나타낼 수 있다. "제 1 " , "제 2 " , "제 3 " 등과 같은 라벨들은 순위(ordering)를 반드시 의미할 필요는 없으며, 일반적으로 단지 유사하거나 비숫한 아이템들 또는 요소들을 구별하기 위해 사용될 수도 있다.
따라서, 본 발명의 주제에 대한 특정 구현예들이 설명되었다. 다른 구현예들도 다음의 청구 범위 내에 속한다. 일부 경우에, 청구항에 언급된 동작들은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성할 수 있다. 또한, 첨부 도면에 도시된 프로세스들은 바람직한 결과를 달성하기 위해 도시된 특정 순서 또는 순차적 순서를 반드시 요구할 필요는 없다. 특정 구현들에서, 멀티 태스킹 또는 병렬 프로세싱이 사용될 수 있다.

Claims (22)

  1. 애니메이트된 콘텐츠 아이템이 제시되는 컴퓨팅 디바이스의 뷰포트(viewport) 내에서의 상기 애니메이트된 콘텐츠 아이템의 위치에 기초하여 상기 애니메이트된 콘텐츠 아이템을 구성하는 방법으로서,
    상기 애니메이트된 콘텐츠 아이템의 속성이 변화하는 상기 뷰포트 내의 위치를 포함하는 위치-의존적 설정을 제 1 컴퓨팅 디바이스를 통해 선택할 수 있게 하는 애니메이션 구성 인터페이스를 상기 제 1 컴퓨팅 디바이스에 제공하는 단계;
    제 2 컴퓨팅 디바이스에 의해 상기 위치-의존적 설정을 수신하는 단계; 및
    상기 애니메이트된 콘텐츠 아이템이 상기 위치-의존적 설정에 따라 뷰포트 내의 위치에서 상기 제 2 컴퓨팅 디바이스의 뷰포트 내에 제시될 때 속성을 변경하도록, 상기 위치-의존적 설정에 기초하여 상기 애니메이트된 콘텐츠 아이템의 속성을 구성하는 단계
    를 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  2. 제1항에 있어서,
    상기 위치-의존적 설정은, 상기 애니메이트된 콘텐츠 아이템의 애니메이션이 시작되는 상기 뷰포트 내의 위치를 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 애니메이션 구성 인터페이스는 제 2 위치-의존적 설정에 대한 선택을 허용하도록 구성되는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  4. 제3항에 있어서,
    상기 제 2 위치-의존적 설정은 상기 애니메이션이 종료하는 뷰포트 내의 제 2 위치를 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  5. 제4항에 있어서,
    상기 애니메이트된 콘텐츠 아이템의 속성을 구성하는 단계는,
    상기 위치와 상기 제 2 위치 사이에서 뷰포트 통해 상기 애니메이트된 콘텐츠 아이템이 이동함에 따라, 상기 애니메이트된 콘텐츠 아이템의 애니메이션이 변화하게 하는 단계를 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  6. 제3항, 제4항, 또는 제5항에 있어서,
    상기 애니메이션 구성 인터페이스는, 뷰포트 내의 제 3 위치를 포함하는 제 3 위치-의존적 설정에 대한 선택을 허용하도록 구성되는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  7. 선행하는 임의의 청구항 있어서,
    상기 애니메이션 구성 인터페이스를 제공하는 단계는,
    상기 애니메이션 구성 인터페이스가 슬라이딩 인터페이스 또는 백분율 입력 중 적어도 하나에 의해서 위치-의존적 설정을 상기 제 1 컴퓨팅 디바이스를 통해 선택할 수 있게 하는 단계를 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  8. 선행하는 임의의 청구항 있어서,
    상기 애니메이션 구성 인터페이스는 애니메이트된 콘텐츠 아이템의 뷰포트 내의 위치에 대한 그래픽 표현을 포함하고, 상기 그래픽 표현은 상기 애니메이트된 콘텐츠 아이템의 속성이 변화하는 상기 뷰포트 내의 위치를 선택하도록 이동가능한 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  9. 선행하는 임의의 청구항 있어서,
    상기 속성은 애니메이트된 콘텐츠 아이템의 회전을 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  10. 제9항에 있어서,
    상기 위치-의존적 설정은 상기 애니메이트된 콘텐츠 아이템의 회전이 시작되는 뷰포트 내의 위치를 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  11. 제10항에 있어서,
    상기 애니메이션 구성 인터페이스는 상기 애니메이트된 콘텐츠 아이템의 회전이 종료되는 뷰포트 내의 제 2 위치를 선택할 수 있도록 구성되는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  12. 선행하는 임의의 청구항에 있어서,
    상기 애니메이트된 콘텐츠 아이템은 이미지 애니메이션 또는 비디오 애니메이션 중 하나를 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  13. 선행하는 임의의 청구항에 있어서,
    제 3 컴퓨팅 디바이스에 의해서, 상기 위치-의존적 설정을 수신하고 그리고 상기 위치-의존적 설정에 따라 뷰포트 내의 상기 위치에서 제 3 컴퓨팅 디바이스의 뷰포트 내에서 제시될 때 상기 애니메이트된 콘텐츠 아이템의 속성이 변화하도록, 상기 위치-의존적 설정에 기초하여 상기 애니메이트된 콘텐츠 아이템의 속성을 구성하는 단계를 더 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  14. 임의의 선행하는 청구항에 있어서,
    상기 제 2 컴퓨팅 디바이스의 뷰포트에 대한 상기 애니메이트된 콘텐츠 아이템의 위치를 결정하는 단계;
    상기 뷰포트에 대한 애니메이트된 콘텐츠 아이템의 위치가 위치-의존적 설정에 따른 상기 뷰포트의 상기 위치와 매칭된다라고 결정하는 단계; 및
    상기 애니메이트된 콘텐츠 아이템의 속성을 변경하는 단계
    를 더 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  15. 임의의 선행하는 청구항에 있어서,
    상기 속성은 상기 뷰포트 내의 상기 애니메이트된 콘텐츠 아이템의 위치에 기초하여 보간되는 값을 포함하는 것을 특징으로 하는 애니메이트된 콘텐츠 아이템을 구성하는 방법.
  16. 시스템으로서,
    적어도 하나의 메모리에 동작가능하게 연결되는 적어도 하나의 컴퓨팅 디바이스를 포함하고, 상기 적어도 하나의 컴퓨팅 디바이스는,
    제 1 컴퓨팅 디바이스에게, 애니메이트된 콘텐츠 아이템의 속성이 변화하는 뷰포트 내의 위치를 포함하는 위치-의존적 설정을 상기 제 1 컴퓨팅 디바이스를 통해 선택할 수 있게 하는 애니메이션 구성 인터페이스를 제공하고;
    상기 제 1 컴퓨팅 디바이스로부터 상기 위치-의존적 설정을 수신하고;
    제 2 컴퓨팅 디바이스에게 상기 위치-의존적 설정을 제공하도록 구성되며,
    상기 제 2 컴퓨팅 디바이스는, 상기 위치-의존적 설정에 따라 뷰포트 내의 위치에서 상기 제 2 컴퓨팅 디바이스의 뷰포트 내에 제시될 때 상기 애니메이트된 콘텐츠 아이템이 속성을 변경하도록, 상기 위치-의존적 설정에 기초하여 상기 애니메이트된 콘텐츠 아이템의 속성을 구성하는 것을 특징으로 하는 시스템.
  17. 제15항에 있어서,
    상기 애니메이션 구성 인터페이스는 제 2 위치-의존적 설정의 선택을 허용하도록 구성되는 것을 특징으로하는 시스템.
  18. 제16항에 있어서,
    상기 애니메이션 구성 인터페이스는 제 3 위치-의존적 설정의 선택을 허용하도록 구성되는 것을 특징으로 하는 시스템.
  19. 제15항, 제16항 또는 제17항에 있어서,
    상기 애니메이트된 콘텐츠 아이템은 이미지 애니메이션 또는 비디오 애니메이션 중 하나를 포함하는 것을 특징으로 하는 시스템.
  20. 명령들이 저장되어 있는 하나 이상의 컴퓨터 판독가능 저장 매체로서, 상기 명령들은 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 동작들을 수행하게 하며, 상기 동작들은,
    제 1 컴퓨팅 디바이스에 의해, 콘텐츠 관리 시스템으로부터, 애니메이트된 콘텐츠 아이템의 속성이 변화하는 뷰포트 내의 위치를 포함하는 위치-의존적 설정을 선택할 수 있게 하는 애니메이션 구성 인터페이스를 수신하는 동작;
    제 2 컴퓨팅 디바이스에 의해 상기 위치-의존적 설정을 수신하는 동작; 및
    상기 위치-의존적 설정에 따라 뷰포트 내의 위치에서 상기 제 2 컴퓨팅 디바이스의 뷰포트 내에 제시될 때 상기 애니메이트된 콘텐츠 아이템이 속성을 변경하도록, 상기 위치-의존적 설정에 기초하여 상기 애니메이트된 콘텐츠 아이템의 속성을 구성하는 동작
    을 포함하는 것을 특징으로 하는 하나 이상의 컴퓨터 판독가능 저장 매체.
  21. 제19항에 있어서,
    상기 위치-의존적 설정을 구성하는 것은, 또한 상기 애니메이트된 콘텐츠 아이템의 복수의 속성들이 변화하는 뷰포트 내의 위치를 포함하는 위치-의존적 설정과 관련된 복수의 속성들을 선택할 수 있게 하는 것을 특징으로 하는 시스템.
  22. 제19항 또는 제20항에 있어서,
    상기 제 1 컴퓨팅 디바이스는,
    상기 뷰포트 내의 제 2 위치를 포함하는 제 2 위치-의존적 설정을 선택하고,
    상기 뷰포트 내의 제 3 위치를 포함하는 제 3 위치-의존적 설정을 선택하고,
    상기 뷰포트 내의 부분 위치(portion position)를 포함하는 제 4 위치-의존적 설정을 선택하도록 구성되는 것을 특징으로 하는 시스템.
KR1020207012832A 2019-10-23 2019-10-23 뷰포인트 위치에 기초하는 콘텐츠 애니메이션 커스터마이제이션 KR102392716B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2019/057625 WO2021080580A1 (en) 2019-10-23 2019-10-23 Content animation customization based on viewport position

Publications (2)

Publication Number Publication Date
KR20210049022A true KR20210049022A (ko) 2021-05-04
KR102392716B1 KR102392716B1 (ko) 2022-04-29

Family

ID=68582352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207012832A KR102392716B1 (ko) 2019-10-23 2019-10-23 뷰포인트 위치에 기초하는 콘텐츠 애니메이션 커스터마이제이션

Country Status (6)

Country Link
US (1) US11635880B2 (ko)
EP (1) EP3837671A1 (ko)
JP (1) JP7248668B2 (ko)
KR (1) KR102392716B1 (ko)
CN (1) CN113039586A (ko)
WO (1) WO2021080580A1 (ko)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205651A1 (en) * 2001-09-13 2004-10-14 International Business Machines Corporation Transferring information over a network related to the content of user's focus
JP2012512483A (ja) * 2008-12-16 2012-05-31 リッチ メディア クラブ エルエルシー コンテンツレンダリング制御システム及び方法
KR20120125296A (ko) * 2010-02-12 2012-11-14 마이크로소프트 코포레이션 유연한 평행 및 직교 움직임을 가진 멀티-레이어 사용자 인터페이스
US20130093793A1 (en) * 2011-10-17 2013-04-18 Microsoft Corporation Pinning a Callout Animation

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5552069A (en) 1978-10-09 1980-04-16 Nec Corp Electrostatic recorder capable of reproducing medium contrast
US5818462A (en) * 1994-07-01 1998-10-06 Digital Equipment Corporation Method and apparatus for producing complex animation from simpler animated sequences
US6559860B1 (en) * 1998-09-29 2003-05-06 Rockwell Software Inc. Method and apparatus for joining and manipulating graphical objects in a graphical user interface
US6469702B1 (en) * 1999-04-16 2002-10-22 Avid Technology, Inc. Method and system for editing function curves in two dimensions
JP3755499B2 (ja) * 2002-09-06 2006-03-15 ソニー株式会社 Guiアプリケーション開発支援装置、gui表示装置、および方法、並びにコンピュータ・プログラム
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
JP4095592B2 (ja) * 2004-08-06 2008-06-04 キヤノン株式会社 情報処理装置、情報処理方法ならびにプログラム
US8014034B2 (en) * 2005-04-13 2011-09-06 Acd Systems International Inc. Image contrast enhancement
GB2457968A (en) * 2008-08-06 2009-09-02 John W Hannay & Co Ltd Forming a presentation of content
US8448076B2 (en) * 2009-04-27 2013-05-21 Fisher-Rosemount Systems, Inc. Configuring animations and events for operator interface displays in a process control system
KR101217828B1 (ko) * 2009-04-30 2013-01-02 주식회사 엔톰애드 스크롤 바의 위치 정보를 이용한 복수개의 온라인 광고의 제공 방법 및 장치
US20130127877A1 (en) * 2011-02-28 2013-05-23 Joaquin Cruz Blas, JR. Parameterizing Animation Timelines
US10353566B2 (en) * 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9607420B2 (en) * 2011-11-14 2017-03-28 Microsoft Technology Licensing, Llc Animations for scroll and zoom
US8861005B2 (en) * 2012-09-28 2014-10-14 Interactive Memories, Inc. Methods for real time discovery, selection, and engagement of most economically feasible printing service vendors among multiple known vendors
US8799829B2 (en) * 2012-09-28 2014-08-05 Interactive Memories, Inc. Methods and systems for background uploading of media files for improved user experience in production of media-based products
US20140223271A1 (en) * 2013-02-04 2014-08-07 Google Inc. Systems and methods of creating an animated content item
US11010794B2 (en) * 2013-03-13 2021-05-18 Adobe Inc. Methods for viewer modeling and bidding in an online advertising campaign
US20170206064A1 (en) * 2013-03-15 2017-07-20 JIBO, Inc. Persistent companion device configuration and deployment platform
US10373363B2 (en) * 2013-07-24 2019-08-06 Adobe Inc. Systems and methods for visually creating and editing scrolling actions
JP5739957B2 (ja) * 2013-09-20 2015-06-24 ヤフー株式会社 配信装置、配信方法、および配信プログラム
US20160065992A1 (en) * 2014-08-27 2016-03-03 Microsoft Technology Licensing, Llc Exporting animations from a presentation system
US20160110901A1 (en) * 2014-10-20 2016-04-21 Facebook, Inc. Animation for Image Elements in a Display Layout
US20190139288A1 (en) * 2016-05-02 2019-05-09 Michael Kelly Dynamic motion simulation methods and systems
US11112963B2 (en) * 2016-05-18 2021-09-07 Apple Inc. Devices, methods, and graphical user interfaces for messaging
JP6224786B1 (ja) 2016-08-03 2017-11-01 ヤフー株式会社 情報表示プログラム、情報表示装置、情報表示方法および配信装置
JP6394724B2 (ja) * 2017-03-09 2018-09-26 オムロン株式会社 サーボパラメータ調整装置およびサーボパラメータ調整方法
US10373364B2 (en) * 2017-05-17 2019-08-06 Google Llc Termination of animation
WO2018231276A1 (en) * 2017-06-13 2018-12-20 Google Llc Systems and methods for authoring cross-browser html 5 motion path animation
JP6556308B1 (ja) 2018-08-30 2019-08-07 ヤフー株式会社 情報表示プログラム、情報表示装置、情報表示方法および配信装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040205651A1 (en) * 2001-09-13 2004-10-14 International Business Machines Corporation Transferring information over a network related to the content of user's focus
JP2012512483A (ja) * 2008-12-16 2012-05-31 リッチ メディア クラブ エルエルシー コンテンツレンダリング制御システム及び方法
KR20120125296A (ko) * 2010-02-12 2012-11-14 마이크로소프트 코포레이션 유연한 평행 및 직교 움직임을 가진 멀티-레이어 사용자 인터페이스
US20130093793A1 (en) * 2011-10-17 2013-04-18 Microsoft Corporation Pinning a Callout Animation

Also Published As

Publication number Publication date
CN113039586A (zh) 2021-06-25
WO2021080580A1 (en) 2021-04-29
JP7248668B2 (ja) 2023-03-29
JP2022510045A (ja) 2022-01-26
EP3837671A1 (en) 2021-06-23
KR102392716B1 (ko) 2022-04-29
US20210132775A1 (en) 2021-05-06
US11635880B2 (en) 2023-04-25

Similar Documents

Publication Publication Date Title
US10248634B2 (en) Model-driven data entry validation
US9773264B2 (en) Method for providing composite user interface controls and an online storefront for same
US10460014B2 (en) Scrolling in large hosted data set
JP6541647B2 (ja) ランタイムカスタマイゼーションインフラストラクチャ
US8516364B2 (en) View model aspects of component objects
US20140258894A1 (en) Visual Timeline Of An Application History
CA3039009C (en) A method and system for providing and executing web applications
EP2775397A2 (en) Visual representation of edits for collaborative application development
US8890890B2 (en) Pluggable web-based visualizations for applications
US20140253574A1 (en) Development Environment For Capture Of Image Data From A Mobile Device
WO2022048316A1 (zh) 前端页面设计方法、装置、存储介质及设备
US20140258969A1 (en) Web-Based Integrated Development Environment For Real-Time Collaborative Application Development
US10007356B2 (en) Chart dual-Y resize and split-unsplit interaction
CN104216691A (zh) 一种创建应用的方法及装置
US20170068400A1 (en) Context based selection of menus in contextual menu hierarchies
JP2017522639A (ja) 開発システムにおける意味論的なコンテンツアクセス
KR102392716B1 (ko) 뷰포인트 위치에 기초하는 콘텐츠 애니메이션 커스터마이제이션
KR20140041601A (ko) 자동화된 관계 질의를 위한 데이터 구동 자연 인터페이스 기법
Doman Mastering ArcGIS Server Development with JavaScript
WO2024039477A1 (en) Bridging ui elements across multiple operating systems
WO2024015711A1 (en) Interactive form editor with concurrent automatic creation of schema files
KR20200117140A (ko) 웹 상에서의 가상 입력 방법 및 시스템

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant