KR101279680B1 - 모션 데스크톱 - Google Patents

모션 데스크톱 Download PDF

Info

Publication number
KR101279680B1
KR101279680B1 KR1020097013841A KR20097013841A KR101279680B1 KR 101279680 B1 KR101279680 B1 KR 101279680B1 KR 1020097013841 A KR1020097013841 A KR 1020097013841A KR 20097013841 A KR20097013841 A KR 20097013841A KR 101279680 B1 KR101279680 B1 KR 101279680B1
Authority
KR
South Korea
Prior art keywords
content
background
motion desktop
rendering
foreground
Prior art date
Application number
KR1020097013841A
Other languages
English (en)
Other versions
KR20090106498A (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 KR20090106498A publication Critical patent/KR20090106498A/ko
Application granted granted Critical
Publication of KR101279680B1 publication Critical patent/KR101279680B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/36Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators characterised by the display of a graphic pattern, e.g. using an all-points-addressable [APA] memory
    • G09G5/363Graphics controllers
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/503Blending, e.g. for anti-aliasing
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/12Overlay of images, i.e. displayed pixel being the result of switching between the corresponding input pixels
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Controls And Circuits For Display Device (AREA)
  • User Interface Of Digital Computer (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Image Processing (AREA)
  • Digital Computer Display Output (AREA)

Abstract

동화상을 포함하는 모션 데스크톱이 처리 장치의 디스플레이 화면 상에 표시될 수 있다. 예를 들어, 아이콘 및 관련 텍스트 또는 기타 정보 등과 같은 전경 아이템은 모션 데스크톱의 면 상에 나타날 수 있다. 본 개시의 청구 대상에 따른 실시예에서, 전경 콘텐츠는 구성면으로 렌더링될 수 있는데, 구성면은 반투명 아이템을 표시할 수 있는 알파-인에이블드 면일 수 있다. 모션 데스크톱 모듈은 모션 데스크톱의 배경의 적어도 일부에 대한 콘텐츠를 구성기와 공유되는 각각의 공유 메모리로 렌더링할 수 있다. 구성기는 렌더링된 콘텐츠를 공유 메모리로부터 구성면으로 주기적으로 복사할 수 있는데, 여기서 구성기는 배경 및 전경 콘텐츠로부터 씬을 구성하고 블렌딩할 수 있다. 구성된 씬은 이어서 모션 데스크톱으로서 표시될 수 있다.
모션 데스크톱, 동화상, 모션 데스크톱 모듈, 알파-인에이블드 면

Description

모션 데스크톱{MOTION DESKTOP}
오늘날, 사용자들은 그들의 처리 장치 상의 데스크톱 월페이퍼로 사용할 커스텀 정적 화상을 선택할 수 있다. 현대의 처리 장치의 그래픽 처리 능력은 실질적으로 더 풍부한 콘텐츠를 데스크톱 배경으로서 제공할 수 있도록 한다. 예를 들어, 동화상이 처리 장치의 데스크톱 배경으로 제공될 수 있다.
이전에는, 다양한 애플리케이션이 비디오 오버레이 기능을 이용하여 수용가능한 모션 데스크톱을 만들기 위한 시도를 해왔다. 비디오 오버레이 기술을 이용하는 경우, 데스크톱의 배경 영역은 특정 크로매틱 키 값(chromatic key value)을 할당받을 수 있다. 비디오가 그 특정 크로매틱 키 값을 가진 영역에 의해 정의되는 클리핑 영역으로 생성될 수 있다. 클리핑 영역은 그래픽 또는 비디오가 표시될(present) 수 있는 영역이다. 그러나, 비디오 오버레이 기능을 사용하는 접근법은 두 가지 문제점을 갖는다. 첫째로, 섀도우 텍스트 및 부분적 반투명 요소들과 같은 기능들은, 비디오 오버레이 기능을 사용함으로써 생성되는 배경과 근본적으로 호환되지 않는다. 예를 들어, 섀도우 텍스트의 섀도우 부분 및 반투명 요소 뒤의 영역은 특정 크로매틱 키 값의 근사치에 관련된 색을 가질 수 있다. 특정 키 크로매틱 키 값의 근사치를 가진 영역은, 특정 크로매틱 키 값을 가진 영역을 오버레이할 수 있는 임의의 비디오와 맞지 않는 것으로 보일 수 있다. 둘째로, 시스템은 일반적으로 하나의 비디오 오버레이 자원만을 가지므로, 이 자원을 획득하고 데스크톱 상에서 이용함으로써, 예를 들어 미디어 플레이어 또는 비디오 편집 애플리케이션과 같은 다른 애플리케이션은 비디오 오버레이 자원을 취득하고 이용하지 못할 수 있다.
수용가능한 모션 데스크톱을 만들기 위한 다른 접근법에서, 데스크톱 상의 임의의 콘텐츠는 복합 클리핑 영역을 만듦으로써 그려질 수 있는데, 이는 아이콘 및 관련 텍스트와 같은 데스크톱 아이템뿐 아니라 다른 아이템들을 배제한다. 이 접근법을 사용한 모션 데스크톱은 나쁜 성능을 보인다. 데스크톱 아이템들은 배경과 함께 구성되지(composed) 않았고, 매번 배경이 갱신될 때마다 갱신된 배경은 클리핑 영역을 사용하여 "잘라내(cut out)"져야 한다. 이것은 나쁜 사용자 경험을 야기한다. 나아가, 이 접근법은 데스크톱이 갱신될 때 클리핑 영역이 유지될 것을 요구하므로 복잡하고, 이 접근법은 반투명 요소들을 어떻게 처리할지 고려하지 않는다.
이 발명의 상세한 설명은 이하 상세한 설명에서 더 설명될 단순화된 형태의 개념의 선택을 소개하기 위해 제공된다. 발명의 상세한 설명은 청구된 청구대상의 중요 특징 또는 본질적인 특징을 식별하도록 의도되지 않았고, 청구된 청구 대상의 범위를 한정하도록 의도되지도 않았다.
본 개시의 청구대상에 따른 실시예에서, 모션 데스크톱이 처리 장치의 디스플레이 화면에 표시될 수 있다. 모션 데스크톱은 동화상을 배경으로 포함하고, 전경 아이템(예를 들어, 아이콘 및 관련 텍스트) 또는 기타 정보를 전경으로 포함할 수 있다. 전경 콘텐츠는 구성면(composing surface) 상으로 렌더링될 수 있는데, 구성면은 일부 실시예에서 반투명 아이템을 표시할 수 있는 알파 인에이블드 면(alpha-enabled surface)일 수 있다. 하나 이상의 모션 데스크톱 모듈이 모션 데스크톱의 동화상 배경의 각각의 부분에 대한 각각의 공유 메모리로 콘텐츠를 렌더링할 수 있다. 구성기(composer)는 각각의 공유 메모리로부터의 렌더링된 콘텐츠를 사용하여 구성면 상에 전경 콘텐츠 및 동화상에 관하여 렌더링된 콘텐츠로부터 씬을 구성할 수 있고, 구성된 씬의 부분을 블렌딩할 수 있다. 구성된 씬은 이어서 처리 장치의 디스플레이 화면에 모션 데스크톱으로서 표시될 수 있다.
본 개시의 청구대상에 따른 실시예에서, 모션 데스크톱의 배경의 동화상은 렌더링된 배경 콘텐츠가 모션 데스크톱을 구성하는데 이용가능하다는 것을 나타내는 모션 데스크톱 모듈로부터의 통지를 수신할 때 표시를 위해 구성면 상에 렌더링되고 구성될 수 있다. 일부 실시예에서, 모션 데스크톱 및 기타 애플리케이션의 전경 아이템을 표시하기 위한 고품질의 서비스를 제공하기 위해 표시된 모션 데스크톱의 배경의 동화상의 품질이 저하될 수 있도록, 모션 데스크톱의 배경의 동화상이 주기적으로 구성면 상에 렌더링되고 구성될 수 있다.
위에 열거된 장점 및 특징 등이 얻어질 수 있는 방법을 설명하기 위해, 보다 구체적인 설명이 아래에서 설명되고 첨부된 도면에 도시된 특정 실시예들을 참조하여 표현될 것이다. 이 도면들은 단지 일반적인 실시예를 도시하는 것이고, 따라서 그 범위를 한정하는 것으로 여겨지지 않아야 한다는 것을 이해하며, 구현은 첨부된 도면을 이용하여 보다 명확하고 상세하게 기술되고 설명될 것이다.
도 1은 본 개시의 청구 대상에 따른 실시예들을 구현할 수 있는 처리 장치의 기능적 블록도.
도 2는 본 개시의 청구 대상에 따른 일실시예의 예시적인 구성요소들을 도시하는 기능적 블록도.
도 3은 본 개시의 청구 대상에 따른 일실시예에서 예시적인 구성요소들 및 각각의 공유 메모리를 통한 그 예시적인 구성요소들 사이의 통신을 도시하는 기능적 블록도.
도 4는 모션 데스크톱의 전경 콘텐츠를 렌더링하기 위한 예시적인 프로세스를 도시하는 순서도.
도 5는 배경 콘텐츠를 렌더링하고, 렌더링된 배경 콘텐츠와 렌더링된 전경 콘텐츠로부터 씬을 구성하며, 그 씬을 모션 데스크톱으로서 표시하기 위한 예시적인 프로세스를 도시하는 순서도.
도 6은 통지를 수신하고 모션 데스크톱의 전경 부분 또는 배경 부분을 다시 칠하기 위한 예시적인 프로세스를 도시하는 순서도.
도 7A-7C는 모션 데스크톱을 렌더링, 구성, 및 표시하고, 모션 데스크톱을 갱신하기 위한 갱신 방법을 변경하기 위한 예시적인 프로세스를 도시하는 순서도.
실시예들이 아래에서 상세히 논의된다. 특정 구현들이 논의되지만, 이는 예 시적인 목적으로만 이루어지는 것이라고 이해해야 한다. 관련 분야의 당업자는 본 개시의 청구대상의 사상 및 범위를 벗어나지 않고 다른 구성요소 및 구성이 사용될 수 있다고 인식할 것이다.
개요
처리 장치는 모션 데스크톱을 표시할 수 있는데, 모션 데스크톱은 처리 장치의 디스플레이 화면 상의 동화상을 포함할 수 있고, 예를 들어 아이콘 및 관련 텍스트와 같은 전경 아이템 또는 기타 정보가 동화상의 면에 나타날 수 있다. 모션 데스크톱 경험을 개념화하는 하나의 방법은 사용자가 상호작용할 수 있는 모션 데스크톱의 면을 다수의 흥미로운 것들이 보일 수 있는 삼차원 씬 앞에 걸려있는 한 장의 유리라고 생각하는 것이다. 이 씬은 전체 디스플레이 화면을 채우도록 스케일링된 직교 직사각형(orthogonal rectangle) 상으로 투사되는 비디오와 같이 단순할 수 있고(비디오 월페이퍼), 또는 지속적인 삼차원 멀티플레이어 게임 세상의 카메라 시점을 렌더링하는 것처럼 풍부할 수 있다.
본 개시의 청구대상에 따른 실시예에서, 전경 콘텐츠는 데스크톱의 상호작용-가능 부분일 수 있는데, 이는 사용자 데이터에 의해 구동될 수 있다. 전경 콘텐츠는 구성면(예를 들어, 반투명 아이템을 표시할 수 있는 알파-인에블드 면)으로 렌더링되도록 재지시될 수 있다. 하나 이상의 모션 데스크톱 모듈이 모션 데스크톱의 배경의 적어도 일부분에 대한 콘텐츠를 구성기와 공유된 각각의 공유 메모리로 렌더링할 수 있다. 주기적으로, 구성기는 각각의 공유 메모리로부터의 렌더링된 콘텐츠를 씬을 구성하기 위해 이용할 수 있고, 씬의 배경 및 전경 부분을 블렌 딩할 수 있다. 그 결과, 고품질의 시각 효과가 얻어질 수 있고 표시될 수 있다. 일부 실시예에서, 알파 블렌딩 동작은 현대 그래픽 카드에서 존재하는 그래픽 처리 유닛(GPU)으로 오프로딩될 수 있어서, 다른 애플리케이션이나 서비스를 위해 이용가능한 처리 용량에 크게 영향을 주지 않고 고충실도(high fidelity) 시각 경험을 제공한다.
예시적인 처리 장치
도 1은 본 개시의 청구 대상에 따른 실시예들을 구현하기 위해 사용될 수 있는 처리 장치(100)의 기능적 블록도이다. 처리 장치(100)는 버스(110), 프로세서(120), 메모리(130), 읽기 전용 메모리(ROM; 140), 저장 장치(150), 입력 장치(160), 디스플레이 장치(170) 및 그래픽 프로세서(180)를 포함할 수 있다.
버스(110)는 처리 장치(100)의 구성요소들 간의 통신을 가능하게 하는 통신 인터페이스일 수 있다. 프로세서(120)는 명령어를 해석하고(interpret) 실행하는 적어도 하나의 종래의 프로세서 또는 마이크로프로세서를 포함할 수 있다. 메모리130)는 랜덤 액세스 메모리(RAM) 또는 프로세서(120)에 의한 실행을 위한 정보 및 명령어를 저장하는 다른 종류의 동적 저장 장치일 수 있다. 메모리(130)는 또한 프로세서(120)에 의하여 명령어가 실행되는 동안 임시 변수 또는 기타 중간 정보를 저장할 수도 있다. ROM(140)은 종래의 ROM 장치 또는 프로세서(120)를 위한 정적 정보 및 명령어를 저장하는 다른 종류의 정적 저장 장치를 포함할 수 있다. 저장 장치(150)는 데이터 및/또는 명령어를 저장하기 위한 임의 종류의 유형 매체를 포함할 수 있다. 그래픽 프로세서(180)는 데이터를 처리하고 그래픽 화상을 표시하 기 위한 적어도 하나의 그래픽 프로세서를 포함할 수 있다.
처리 장치(100)는 프로세서가, 예를 들어 메모리(130)와 같은 머신-판독가능 매체 또는 기타 유형 매체에 들어있는 명령어들의 시퀀스를 실행하는 것에 응답하여 그러한 기능들을 수행할 수 있다. 그러한 명령어들은 저장 장치(150)와 같은 다른 유형 머신-판독가능 매체로부터, 또는 별개의 장치로부터 통신 인터페이스(180)를 통하여 메모리(130)로 판독될 수 있다.
예시적인 동작
도 2는 본 개시의 청구 대상에 따른 일실시예의 구성요소 및 인터페이스를 도시하는 예시적인 기능적 블록도이다. 도 2의 실시예는 구성기(202) 및 모션 데스크톱 모듈들(204, 206 및 208)을 포함할 수 있다. 구성기(202)는 API(210, 212 및 214)를 통하여 모션 데스크톱 모듈들(순서대로 204, 206 및 208)과 인터페이스 연결할 수 있다. 각각의 모션 데스크톱 모듈들(204, 206 및 208)은 API(216)를 통하여 구성기(202)와 인터페이스 연결할 수 있다.
모션 데스크톱 모듈들(204, 206 및 208)의 각각은 모션 데스크톱을 위한 배경의 적어도 일부분의 콘텐츠를 구성기(202)와 공유될 수 있는 각각의 공유 메모리로 렌더링할 수 있다. 렌더링된 콘텐츠는 동화상일 수 있다. 구성기(202)는 각각의 공유 메모리로부터의 렌더링된 콘텐츠를 이용하여 구성면(알파-인에이블드 면일 수 있음) 상에 씬을 구성하는 것을 담당할 수 있다. 나아가, 예를 들어 아이콘 및 관련 텍스트뿐 아니라 다른 아이템들과 같은 전경 콘텐츠는 구성면으로 재지시될 수 있다. 구성기(202)는 씬을 구성하기 위해 전경 콘텐츠를 각각의 공유 메모리로 부터의 렌더링된 콘텐츠와 블렌딩할 수 있는데, 씬은 처리 장치의 디스플레이 화면(예를 들어, 디스플레이 장치(170)) 상에 표시될 수 있다. 일부 실시예에서, 구성면은 그래픽 프로세서 또는 그래픽 처리 유닛(GPU)에 의해 처리되고 알파 블렌딩될 수 있다.
도 2에 도시된 실시예에서, 구성기(202) 및 모션 데스크톱 모듈(204)은 하나의 프로세스에서 실행될 수 있지만, 모션 데스크톱 모듈들(206, 208)은 구성기(202) 및 모션 데스크톱 모듈(204)이 실행될 수 있는 프로세스로와는 별개의 프로세스에서 실행될 수 있다. 일부 실시예에서, 구성기 및 모션 데스크톱 모듈은 하나의 프로세스에서 실행될 수 있다. 다른 실시예에서, 구성기 및 모션 데스크톱 모듈은 각각 별개의 프로세스에서 실행될 수 있다. 일부 실시예에서, 구성기는 하나 이상의 모션 데스크톱 모듈로부터 격리될 수 있다.
도 3은 본 개시의 청구 대상에 따른 일실시예의 특징들을 더 도시하는 기능적 블록도이다. 이 실시예에서, 모션 데스크톱 모듈(204)은 모션 데스크톱의 배경의 적어도 일부분에 대한 콘텐츠를 공유 메모리(306)로 렌더링할 수 있고, 모션 데스크톱(206)은 모션 데스크톱의 배경의 적어도 제2 부분에 대한 콘텐츠를 공유 메모리(302)로 렌더링할 수 있으며, 모션 데스크톱(208)은 모션 데스크톱의 배경의 적어도 제3 부분에 대한 콘텐츠를 공유 메모리(304)로 렌더링할 수 있다. 모션 데스크톱 모듈들(204, 206, 208)의 각각은 각각의 모션 데스크톱 모듈로부터의 콘텐츠가 배경 화면 내에서 어디에 어떻게 위치되어야 하는지를 구성기(202)에게 알릴 수 있다. 예를 들어, 모션 데스크톱 모듈로부터의 중앙의 콘텐츠는 화면의 우표 크기만큼의 부분을 가질 수 있고, 또는 중앙의 콘텐츠는 화면의 가시 영역을 완전히 덮거나 그 이상으로 늘려질 수 있다. 구성기(202)는 모션 데스크톱 모듈들(204, 206, 208)이 그들 각각의 콘텐츠를 표시하기 위한 가장 좋은 방법을 안다고 가정할 수 있고, 구성기(202)는, 만약 가능하다면, 각각의 모션 데스크톱 모듈 위치 요청을 받아들일 수 있다. 모션 데스크톱 모듈이 그 콘텐츠가 다른 모션 데스크톱 모듈로부터의 콘텐츠와 겹쳐지게 위치되도록 요청한다면, 구성기(202)는 단순히 가장 최신의 모션 데스크톱 모듈 요청을 받아들일 수 있다(즉, 마지막 요청이 우선한다).
이 실시예에서, 공유 메모리들(302, 304 및 306)의 각각은 구성기(202)와 공유될 수 있다. 일실시예에서, 모션 데스크톱 모듈들(204-206)의 각각은 저마다의 렌더링된 콘텐츠가 구성기(202)를 위해 이용가능할 때 구성기(202)에게 통지할 수 있다. 각각의 모션 데스크톱 모듈로부터의 통지를 수신할 때, 구성기(202)는 공유된 메모리들(302, 304 및 306) 내의 콘텐츠를 이용하여 배경 면을 구성할 수 있다. 전경 면(301)으로부터의 배경 및 전경 콘텐츠는 이어서 구성면(308)(알파-인에이블드 면일 수 있음) 상의 씬으로 구성될 수 있고, 새롭게 갱신된 모션 데스크탑으로서의 표시를 위해 블렌딩될 수 있다.
도 3에 도시된 실시예는 예시적인 실시예이다. 다른 실시예에서, 더 적거나 더 많은 모션 데스크톱 모듈이 포함될 수 있다. 예를 들어, 일실시예는 단지 하나의 모션 데스크톱 모듈 및 하나의 공유 메모리만을 포함할 수 있다.
예시적인 처리
도 4는 본 개시의 청구 대상에 따른 실시예들에서 수행될 수 있는 예시적인 프로세스를 도시한다. 도 4의 예시적인 프로세스는 구성기(예를 들어, 구성기(202))가 모션 데스크톱의 전경의 전경 콘텐츠를 다시 칠하도록 하는 통지를 수신할 때 발생할 수 있는 처리를 도시한다.
프로세스는 구성기(202)가 모션 데스크톱의 전경의 전경 콘텐츠를 다시 칠하도록 하는 통지를 받으며 시작할 수 있다(동작(402)). 전경 콘텐츠는 아이콘, 관련 텍스트, 또는 기타 아이템과 같은 것들을 기술하는 전경 정보로부터 전경 면(301) 상으로 렌더링될 수 있다(동작(404)). 일부 실시예에서, 구성기(202)는 전경 콘텐츠가 전경 면(308)으로 렌더링되도록 요청하는 통신을 운영체제 구성요소, 또는 기타 시스템 구성요소로 보낼 수 있다.
다음으로, 다른 구성기(202) 스레드가 구성면(308)에 기록하는 것을 막기 위해, 구성기(202)는 구성면(308)을 잠글 수 있다(동작(406)). 잠금은 하드웨어 또는 소프트웨어 메커니즘을 통하여 수행될 수 있다. 구성기(202)는 이어서 전경 면(301)의 렌더링된 전경 콘텐츠 및 렌더링된 배경 콘텐츠(아래서 설명되는 것과 같이, 구성 영역으로 이전에 복사되어 있을 수 있음)로부터, 또는 하나 이상의 공유 메모리에 포함된 렌더링된 배경 콘텐츠로부터 씬을 구성하고 블렌딩할 수 있다(동작(408)). 일부 실시예에서, 구성기(202)는 씬의 블렌딩을 GPU로 오프로딩할 수 있다. 구성기(202)는 이어서 씬을 처리 장치의 디스플레이 상에 모션 데스크톱으로서 표시할 수 있다(동작(410)). 구성기(202)는 이어서 구성면(308)의 잠금을 해제하여 다른 구성기(202) 스레드들이 구성면(308)에 기록할 수 있도록 할 수 있 다(동작(412)).
도 5는 모션 데스크톱의 배경 콘텐츠를 갱신하기 위한 본 개시의 청구 대상에 따른 실시예들에 구현될 수 있는 예시적인 프로세스의 순서도이다. 예시적인 프로세스는 구성기(구성기(202) 등) 및 같은 프로세스 또는 별개의 프로세스에서 실행되는 모션 데스크톱 모듈에 의해 수행될 수 있다.
프로세스는 모션 데스크톱이 폐색되었는지 여부를 모션 데스크톱 모듈이 결정하며 시작할 수 있다(동작(502)). 모션 데스크톱은 모션 데스크톱이 디스플레이되는 것을 막는 윈도우 또는 기타 디스플레이되는 아이템에 의해 폐색될 수 있다. 모션 데스크톱은 또한 다른 경우에도 폐색될 수 있는데, 이는 데스크톱이 중지 상태에 있는 경우, 세션이 잠긴 경우, 또는 스크린 세이버가 실행되고 있는 경우를 포함할 수 있지만 이에 한정되지는 않는다. 만약 모션 데스크톱이 폐색되었다고 모션 데스크톱 모듈이 결정하면, 프로세스는 반환될 수 있다. 즉, 구성면(308)(알파-인에이블드 면일 수 있음) 상으로의 동화상 콘텐츠의 렌더링은 모션 데스크톱이 폐색되었다고 모션 데스크톱 모듈이 결정할 때 정지되거나 중지될 수 있다. 다시 말하면, 구성면(308) 상으로의 동화상 콘텐츠의 렌더링은 모션 데스크톱이 폐색되지 않은 경우에만 수행될 수 있다.
만약 모션 데스크톱이 폐색되지 않았다고 모션 데스크톱 모듈이 결정하면, 모션 데스크톱 모듈은, 예를 들어 모션 데스크톱의 배경을 위한 동화상 콘텐츠와 같은 콘텐츠를 공유 메모리 상으로 렌더링할 수 있다(동작(504)). 모션 데스크톱 모듈은 이어서 배경을 위한 모션 데스크톱 모듈의 렌더링된 콘텐츠의 이용가능성을 구성기(예를 들어, 구성기(202))에게 통지할 수 있다(동작(506)). 구성기(202)는 이어서 공유 메모리를 잠가서 모션 데스크톱 모듈이 공유 메모리에 기록하는 것을 방지할 수 있고, 구성면(308)을 잠가서 전경 콘텐츠가 구성면(308)에 기록되는 것을 방지할 수 있다(동작(508)).
구성기(202)는 이어서 배경 콘텐츠를 구성면(308) 상으로 렌더링하기 위해 공유 메모리의 콘텐츠를 이용할 수 있고(동작(510)), 렌더링된 전경 콘텐츠(이전에 구성면(308)으로 렌더링됨) 및 배경을 위한 렌더링된 콘텐츠(구성면(308)으로 새롭게 렌더링됨)에 기초하여 씬을 구성하고 블렌딩할 수 있다(동작(512)). 구성된 씬은 이어서 처리 장치의 디스플레이 상에 모션 데스크톱으로서 표시될 수 있다(동작(514)). 일부 실시예에서, 씬의 블렌딩은 GPU로 오프로딩될 수 있다. 구성기(202)는 이어서 구성면(308) 및 공유 메모리의 잠금을 해제하여 다시 전경 콘텐츠가 전경 면(301)으로부터 구성면(308)으로 렌더링되도록 허용하고 모션 데스크톱이 공유 메모리에 기록할 수 있도록 허용할 수 있다(동작(516)). 프로세스는 이후에 모션 데스크톱의 배경을 갱신하기 위해 모션 데스크톱 모듈이 다시 배경 콘텐츠를 렌더링할 때 다시 실행될 수 있다.
일부 실시예에서, 모션 데스크톱 모듈은 다수의 메모리를 구성기(202)와 공유할 수 있다. 그러한 실시예에서, 모션 데스크톱 모듈이 공유 메모리들 중의 하나에서 배경 콘텐츠가 이용가능하다고 구성기에 통지할 때, 모션 데스크톱 모듈은 이어서 공유 메모리들 중의 다른 하나를 사용할 수 있다. 구성기(202)가 이어서 공유 메모리들 중의 하나를 사용하여 구성면(308)을 구성하기 위해 배경 콘텐츠를 렌더링하는 동안, 모션 데스크톱 모듈은 갱신된 배경 콘텐츠를 공유 메모리들 중의 다른 하나로 렌더링할 수 있다. 그러한 실시예에서, 공유 메모리들 중의 어떤 하나가 잠겨있는 동안 모션 데스크톱 모듈은 계속해서 배경 콘텐츠를 렌더링할 수 있다.
일부 실시예에서, 구성기(예를 들어, 구성기(202))는 같거나 서로 다른 소스들로부터 각각 전경 갱신 통지 또는 배경 갱신 통지를 수신할 수 있는데, 이는 순서대로 모션 데스크톱의 전경 또는 배경이 갱신되고 표시되도록 할 수 있다. 도 6은 그러한 실시예에 구현될 수 있는 예시적인 프로세스의 순서도이다.
프로세스는 구성기(202)가 통지를 수신하며 시작할 수 있다(동작(602)). 구성기(202)는 그 통지가 모션 데스크톱 모듈이 공유 메모리로 배경 콘텐츠를 렌더링했다는 것을 나타내는 배경 통지인지(도 5의 동작(504) 참고), 아니면 그 통지가 모션 데스크톱의 전경이 갱신되었다는 것을 나타내는 전경 통지인지 결정할 수 있다(동작(604)). 만약 구성기(202)가 수신된 통지는 모션 데스크톱 모듈로부터의 배경 통지라고 결정하면, 구성기(202)는 도 5의 동작들(506-516)에 관하여 이전에 설명된 바와 같이 콘텐츠를 구성면(308)으로 렌더링하기 위해 각각의 공유 메모리의 콘텐츠를 사용함으로써 모션 데스크톱의 배경을 다시 칠할 수 있다(동작(606)). 일부 실시예에서, 구성면(308)은 알파-인에이블드 면일 수 있다. 구성기(202)는 이어서 구성면(308)의 새롭게 렌더링된 콘텐츠 및 전경 콘텐츠로부터 씬을 구성하고 블렌딩하는데, 전경 콘텐츠는 이전에 전경 면(301)으로부터 구성면(308)으로 렌더링되었을 수 있다(동작(610)). 동작들(602-610)은 이어서 반복될 수 있다.
동작(604)에서, 만약 구성기(202)가 그 통지는 전경 통지라고 결정하면, 구성기(202)는 동작들(404-412)에 관하여 이전에 설명된 바와 같이 전경 면(301)으로부터 구성면(308) 상으로 렌더링된 전경의 콘텐츠 및 구성면(308) 상으로 렌더링된 모션 데스크톱의 배경의 콘텐츠에 기초하여 씬을 구성함으로써 모션 데스크톱의 전경을 다시 칠할 수 있다(동작(608)).
본 개시의 청구 대상에 따른 다른 실시예에서, 모션 데스크톱의 배경의 표시 품질은 모션 데스크톱을 표시하는 처리 장치의 상태에 적어도 부분적으로 기초하여 스케일링되거나 저하될 수 있다. 즉, 동화상에 기초하여 배경 콘텐츠를 렌더링하는 빈도(frequency)는 모션 데스크톱을 표시하는 처리 장치의 상태에 적어도 부분적으로 기초하여 조절될 수 있다. 예를 들어, 모션 데스크톱이 배터리-전원공급 상태, 저전력 상태, 또는 원격 데스크톱 상태(처리 장치의 모션 데스크톱이 원격 처리 장치 상에 디스플레이되고 있다는 것을 나타냄)로 결정된다면, 모션 데스크톱의 배경은 덜 자주 갱신될 수 있다. 처리 장치의 상태가, 예를 들어 배터리-전원공급 상태 또는 저전력 상태로부터 플러그-인 상태로 변한다면, 모션 데스크톱의 배경의 표시 품질은 다시 더 높은 품질로 표시될 수 있다. 도 7A-7C는 그러한 실시예에 구현될 수 있는 예시적인 프로세스를 도시하는 순서도들이다.
프로세스는 구성기(202)가 모션 데스크톱의 배경을 갱시하라는 통지를 수신하며 시작될 수 있다(동작(702)). 구성기(202)는 구성기(202)가 실행되는 처리 장치의 동작 상태를 확인할 수 있다(동작(704)). 예를 들어, 구성기(202)는 처리 장치가 배터리-전원공급 상태, 저전력 상태, 원격 데스크톱 상태, 또는 다른 상태인 지 여부를 결정할 수 있다. 이 실시예에서, 모션 데스크톱의 배경의 표시 품질은 처리 장치의 동작 상태가 저전력 상태 또는 원격 데스크톱 상태일 때 스케일링되거나 저하될 수 있다. 다른 실시예에서, 모션 데스크톱의 배경의 표시 품질은 처리 장치의 동작 상태가 저전력 상태, 배터리-전원공급 상태, 또는 원격 데스크톱 상태일 때 스케일링되거나 저하될 수 있다. 또 다른 실시예에서, 모션 데스크톱의 배경의 표시 품질은 처리 장치의 동작 상태가 다른 상태일 때 스케일링되거나 저하될 수 있다. 모션 데스크톱의 배경의 표시 품질은, 각각의 모션 데스크톱 모듈로부터의 통지를 수신할 때 모션 데스크톱의 배경을 갱신하는(여기서 "온-디맨드" 갱신이라 불림) 대신 하나 이상의 모션 데스크톱 모듈이 갱신을 위해 주기적으로 폴링되는 식으로(여기서 "폴링" 갱신이라고 불림), 모션 데스크톱의 배경의 갱신 동작을 변경함으로써 저하될 수 있다.
동작 상태를 확인한 후, 구성기(202)는 동작 상태에 기초하여 갱신이 "폴링"으로부터 "온-디맨드"로, 또는 "온-디맨드"로부터 "폴링"으로 변경되는지 여부를 결정할 수 있다(동작(706)). 만약 구성기(202)가 갱신 동작의 변경이 이루어지지 않는다고 결정하면, 구성기(202)는 모션 데스크톱이 폐색되었는지 여부를 결정한다(도 7B의 동작(712)). 구성기(202)가 모션 데스크톱이 폐색되었다고 결정하면, 추가적인 처리는 다음 배경 통지가 수신될 때까지 이루어지지 않을 수 있다. 즉, 모션 데스크톱이 폐색되었다면, 모션 데스크톱의 배경은 갱신되지 않을 수 있다.
만약 구성기(202)가 모션 데스크톱이 폐색되지 않았다고 결정하면, 구성기(202)는 모션 데스크톱 모듈과 공유되는 공유 메모리를 잠가서 모션 데스크톱 모 듈이 그 공유 메모리에 기록하는 것을 방지할 수 있고, 구성기(202)는 구성면(308)을 잠가서 다른 구성기(202) 스레드들이 구성면(308)에 기록하는 것을 방지할 수 있다(동작(714)). 구성기(202)는 이어서 공유 메모리를 이용하여 공유 메모리의 콘텐츠를 구성면(308) 상으로 렌더링할 수 있다(동작(716)). 구성기(202)는 이어서 렌더링된 배경 및 전경 콘텐츠로부터 구성면(308) 상에 씬을 구성할 수 있으며, 배경 콘텐츠 및 전경 콘텐츠를 블렌딩할 수 있다. 일부 실시예에서, 블렌딩은 GPU에 의해 수행될 수 있다. 구성된 씬은 이어서 구성기(202)에 의해 처리 장치의 디스플레이 상에 모션 데스크톱으로서 표시될 수 있다(동작(720)). 구성기(202)는 이어서 구성면(308)의 잠금을 해제하여 다른 구성기(202) 스레드들이 구성면(308)에 기록할 수 있도록 할 수 있고, 구성기(202)는 공유 메모리의 잠금을 해제하여 모션 데스크톱 모듈이 공유 메모리에 기록할 수 있도록 할 수 있다(동작(722)). 다른 통지를 수신할 때, 동작(702)은 다시 수행될 수 있다.
만약 도 7A의 동작(706)에서 구성기(202)가 모션 데스크톱의 갱신에 변경이 일어난다고 결정하면, 구성기(202)는 갱신의 변화가 "폴링" 갱신으로의 변경인지 결정할 수 있다(동작(730)). 만약 구성기(202)가 변경이 "폴링" 갱신으로의 변경이라고 결정하면, 구성기(202)는 이어서 공유 메모리의 갱신된 렌더링된 배경 콘텐츠의 이용가능성을 나타내는 모션 데스크톱 모듈로부터의 통지를 비활성화하거나 무시할 수 있다(동작(732)). 구성기(202)는 이어서 폴링 통지를 활성화할 수 있다(동작(734)). 즉, 모션 데스크톱의 배경으로의 갱신이 발생했다는 것을 나타내기 위해 수신된 통지는, 미리 정해진 시간 간격(초당 10회 등) 또는 다른 시간 간 격에 기초하여 주기적으로 생성될 수 있다. 그러한 통지는 타이머의 만료시에 생성될 수 있는데, 타이머는 "폴링" 갱신 동작 동안 실행되며 만료시 재시작될 수 있다. 도 7B의 동작들(712-722)이 이어서 모션 데스크톱을 구성하고, 렌더링하며, 표시하기 위해 구성기(202)에 의해 수행될 수 있다.
만약 동작(730)에서 구성기(202)가 갱신이 "폴링" 갱신으로 변경되는 것이 아니라고 결정하면, 구성기(202)는 갱신이 "온-디맨드" 갱신으로 변경되는 것이라고 가정할 수 있다. 구성기(202)는 이어서, 예를 들어 타이머를 멈추거나 다른 동작을 수행함으로써 폴링 통지를 비활성화할 수 있고(도 7C의 동작(740)), 예를 들어 갱신된 배경 콘텐츠가 공유 메모리에서 이용가능하다는 것을 나타내는 모션 데스크톱 모듈로부터의 통지가 다시 모션 데스크톱의 배경이 갱신되도록 할 수 있도록 "온-디맨드" 갱신을 활성화할 수 있다(동작(742)). 구성기(202)는 이어서 모션 데스크톱의 배경을 갱신하기 위해 도 7B의 동작들(712-722)을 수행할 수 있다. 예를 들어, 공유 메모리의 갱신된 렌더링된 콘텐츠의 이용가능성을 나타내는 모션 데스크톱으로부터의 통지와 같은 다른 통지가 수신될 때, 구성기(202)는 다시 도 7A의 동작(702)을 수행할 수 있다.
도 7A-7C의 순서도들에 의해 설명된 프로세스는 예시적이다. 다른 실시예에서, 동작들은 상이한 순서로 수행될 수 있고, 또는 상이하거나 다른 동작들이 수행될 수 있다. 도 7A-7C에 의해 설명되는 실시예의 변형에서, 처리 장치의 동작 상태를 확인하는(동작(704)) 대신, 구성기(202)는 모션 데스크톱의 전경이 특정 서비스 품질을 가지는지 결정할 수 있다. 즉, 구성기(202)는 배경이 너무 자주 갱신되 어서, 모션 데스크톱의 표시되는 전경의 품질의 저하를 유발하는지 여부를 결정할 수 있다. 예를 들어, 일실시예에서 구성기(202)는, 구성기(202)가 표시되는 모션 데스크톱의 전경을 갱신할 수 없었을 때, 모션 데스크톱의 전경이 갱신될 것을 나타내는 다수의 통지가 수신되었는지 여부를 결정할 수 있다. 그러한 상황에서, 구성기(202)는 모션 데스크톱의 전경이 특정 서비스 품질을 가지도록 보장하기 위해, "온-디맨드" 갱신으로부터 "폴링" 갱신으로 변경할 수 있다. 구성기(202)는 이후에 미리 정해진 시간 간격(예를 들어, 15분 또는 다른 미리 정해진 시간 간격 등) 이 지나갔다면 "폴링" 갱신으로부터 다시 "온-디맨드" 갱신으로 변경할 수 있다. 일부 실시예에서, 다시 "온-디맨드" 갱신으로 전환된 후에, 제2의 미리 정해진 시간 간격 내에 구성기(202)가 다시 모션 데스크톱의 전경을 갱신할 수 없었던 동안 모션 데스크톱의 전경을 갱신하는 것에 관한 다수의 통지가 수신되었다면, 구성기(202)는 다시 "온-디맨드" 갱신으로부터 미리 정해진 시간 간격보다 더 긴 시간 간격에 대한 "폴링" 갱신으로 변경할 수 있다.
도 7A-7C를 참조하여 설명된 예시적인 방법의 변형에서, "폴링" 갱신으로 변경하는 대신, 구성기(202)는 모션 데스크톱 모듈이 "제어" 모드(controlled mode)로 들어가도록 알릴 수 있는데, 여기에서 구성기(202)는 모션 데스크톱 모듈이 일시정지하거나, 멈추거나, 진행하도록 명령할 수 있다. 그러한 일실시예에서, 모션 데스크톱 모듈은 "일시정지" 또는 "멈춤" 상태일 때 자원을 해제할 수 있다. 예를 들어, 동작들(732-734)은, 제어기가 모션 데스크톱 모듈에게 "제어" 모드로 들어가도록 통지할 수 있고, 모션 데스크톱 모듈에게 "일시정지 상태"로 들어가도록 명령 할 수 있도록 변경될 수 있다. 동작들(740-742)은, 제어기가 모션 데스크톱 모듈에게 "제어" 모드를 빠져나오고 "온-디맨드" 갱신 모드로 들어가도록 통지할 수 있도록 변경될 수 있다.
위에 참조된 순서도는 처리 장치 상에서 실행되는 하나의 모션 데스크톱만을 설명하지만, 다른 실시예에서는, 처리 장치 상에 다수의 모션 데스크톱 모듈이 실행될 수 있다. 그러한 실시예에서, 모션 데스크톱 모듈들의 각각은 구성기(202)와 공유된 각각의 공유 메모리로 콘텐츠를 렌더링할 수 있는데, 여기에서 모션 데스크톱의 배경의 일부 콘텐츠가 렌더링될 수 있다.
나아가, 본 개시의 청구대상에 따른 일부 실시예에서, 모션 데스크톱을 표시할 때 소리가 포함될 수 있다. 그러한 실시예에서, 구성기(202)는 모션 데스크톱 모듈에 의해 시작되었을 수 있는 오디오 세션에 대한 마스터 오디오 볼륨을 노출시킬 수 있다.
결론
비록 청구 대상이 구조적 특징 및/또는 방법론적 동작에 특정된 언어로 설명되었지만, 첨부된 특허청구범위의 청구 대상은 반드시 위에서 설명된 특정 특징 또는 동작에 한정되는 것은 아니라고 이해해야 한다. 오히려, 위에서 설명된 특정 특징 또는 동작은 특허청구범위를 구현하기 위한 예시적인 형태로서 개시되었다.
비록 위의 설명이 특정 상세사항을 포함할 수 있지만, 이는 특허청구범위를 어떠한 방법으로든 한정하는 것으로 해석되어서는 안 된다. 설명된 실시예의 다른 구성은 본 개시의 범위의 일부분이다. 나아가, 본 개시의 청구 대상에 따른 구현 은 설명된 것보다 많거나 적은 동작들을 가질 수 있고, 또는 도시된 것과 상이한 순서로 동작을 구현할 수 있다. 따라서, 주어진 어떤 특정 예가 아니라 첨부된 특허청구범위 및 그 법적 동등물만이 본 발명을 정의해야 한다.

Claims (20)

  1. 처리 장치를 위해 모션 데스크톱을 렌더링하기 위한 방법으로서,
    상기 모션 데스크톱은 배경 및 전경을 포함하고,
    상기 방법은,
    상기 모션 데스크톱이 폐색되었는지(occluded) 여부를 판정하는 단계;
    상기 모션 데스크톱이 폐색되지 않은 것으로 판정된 경우에만, 동화상에 기초한 콘텐츠를 공유 메모리 상으로 렌더링하는 단계;
    전경 정보로부터 상기 전경의 콘텐츠를 렌더링하는 단계;
    상기 배경의 적어도 일부분으로서 상기 공유 메모리로부터의 렌더링된 콘텐츠와 상기 배경 상에 위치하는 상기 전경의 상기 렌더링된 콘텐츠를 포함하는 씬(scene)을 구성하는 단계;
    상기 씬을 상기 모션 데스크톱으로서 표시하는 단계;
    상기 처리 장치의 상태를 판정하는 단계; 및
    상기 처리 장치의 상기 판정된 상태에 적어도 부분적으로 기초하여, 상기 동화상에 기초한 상기 콘텐츠가 렌더링되는 레이트(rate)를 조절하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 동화상에 기초한 상기 콘텐츠를 상기 공유 메모리 상으로 렌더링하는 단계 및 상기 씬을 구성하는 단계는 별개의 프로세스에서 수행되는 방법.
  3. 제1항에 있어서,
    제2 동화상에 기초한 콘텐츠를 제2 공유 메모리 상으로 렌더링하는 단계를 더 포함하고,
    상기 씬을 구성하는 단계는, 상기 배경의 적어도 다른 일부분으로서 상기 제2 공유 메모리로부터의 렌더링된 콘텐츠를 포함하는 상기 씬을 구성하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 처리 장치의 상기 판정된 상태에 적어도 부분적으로 기초하여, 상기 모션 데스크톱의 상기 배경의 표시 품질을 감소시키는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 동화상에 기초한 상기 콘텐츠가 렌더링되는 레이트를 조절하는 단계는 상기 콘텐츠의 렌더링을 상기 동화상에 기초하여 제어 모드에서 수행하는 단계를 더 포함하는 방법.
  6. 처리 장치의 적어도 하나의 프로세서에 의해 실행되는 경우 상기 적어도 하나의 프로세서로 하여금 방법을 수행하게 하는 명령어들이 기록되어 있는 컴퓨터 판독가능 저장 매체로서,
    상기 방법은,
    모션 데스크톱의 배경의 적어도 일부분의 콘텐츠를 공유 메모리 상으로 렌더링하는 단계;
    전경 정보에 기초한 상기 모션 테스크톱의 전경의 콘텐츠를 렌더링하는 단계- 상기 배경의 적어도 일부분의 콘텐츠의 렌더링은 상기 적어도 하나의 프로세서에 의해 상기 전경의 콘텐츠의 렌더링과는 별개의 프로세스에서 수행됨 -;
    상기 전경의 렌더링된 콘텐츠와 상기 공유 메모리로부터의 상기 배경의 적어도 일부분의 상기 렌더링된 콘텐츠에 기초하여 씬(scene)을 구성하는 단계;
    상기 씬을 상기 모션 데스크톱으로서 디스플레이 상에 표시하는 단계;
    상기 처리 장치의 상태를 판정하는 단계;
    상기 처리 장치의 상기 판정된 상태에 적어도 부분적으로 기초하여, 상기 배경의 적어도 일부분의 콘텐츠가 렌더링되는 레이트를 조절하는 단계;
    상기 모션 데스크톱이 폐색되었는지(occluded) 여부를 판정하는 단계; 및
    상기 모션 데스크톱이 폐색된 것으로 판정된 경우, 상기 모션 데스크톱의 상기 배경의 적어도 일부분의 콘텐츠를 렌더링하는 것을 중지하는 단계
    를 포함하는, 컴퓨터 판독가능 저장 매체.
  7. 제6항에 있어서,
    상기 모션 데스크톱의 전경의 콘텐츠를 렌더링하는 단계는, 상기 전경의 콘텐츠를 온-디맨드 기반(on-demand basis)으로 렌더링하는 단계를 포함하고,
    상기 모션 데스크톱의 배경의 적어도 일부분의 콘텐츠를 렌더링하는 단계는, 상기 배경의 적어도 일부분의 콘텐츠를 폴링 기반(polling basis)으로 렌더링하는 단계를 포함하는,
    컴퓨터 판독가능 저장 매체.
  8. 제6항에 있어서,
    상기 적어도 하나의 프로세서를 포함하는 처리 장치가 원격 데스크톱 상태, 배터리 동작 상태, 또는 저전력 상태를 포함하는 상태에 있을 때, 상기 레이트를 조절하는 단계가 수행되는, 컴퓨터 판독가능 저장 매체.
  9. 제6항에 있어서,
    상기 방법은, 제2 동화상에 기초하여 상기 모션 데스크톱의 상기 배경의 적어도 제2 부분의 콘텐츠를 제2 공유 메모리 상으로 렌더링하는 단계를 더 포함하고,
    상기 씬을 구성하는 단계는, 상기 제2 공유 메모리로부터의 상기 모션 데스크톱의 상기 배경의 상기 적어도 제2 부분의 상기 렌더링된 콘텐츠에 기초하여 상기 씬을 구성하는 단계를 포함하는,
    컴퓨터 판독가능 저장 매체.
  10. 제6항에 있어서,
    상기 배경의 상기 적어도 일부분의 콘텐츠가 렌더링되는 레이트를 조절하는 단계는 제어 모드에서 수행되는
    컴퓨터 판독가능 저장 매체.
  11. 처리 장치로서,
    적어도 하나의 프로세서;
    버스; 및
    메모리를 포함하고,
    상기 버스는 상기 메모리와 상기 적어도 하나의 프로세서를 연결하여 그 사이의 통신을 허용하고,
    상기 메모리는,
    모션 데스크톱의 움직이는 배경의 적어도 일부분의 콘텐츠를 공유 메모리 상으로 렌더링하기 위한 명령어들;
    전경 정보에 기초하여 상기 모션 데스크톱의 전경의 콘텐츠를 렌더링하기 위한 명령어들 - 상기 움직이는 배경의 적어도 일부분의 콘텐츠를 렌더링하기 위한 명령어들은 상기 전경의 콘텐츠를 렌더링하기 위한 명령어들과는 별개의 프로세스에서 실행됨 -;
    상기 전경의 상기 렌더링된 콘텐츠 및 상기 공유 메모리로부터의 상기 배경의 상기 적어도 일부분의 상기 렌더링된 콘텐츠에 기초하여 씬을 구성하기 위한 명령어들;
    상기 씬을 상기 모션 데스크톱으로서 표시하기 위한 명령어들;
    상기 처리 장치의 상태를 판정하기 위한 명령어들;
    상기 처리 장치의 상기 판정된 상태에 적어도 부분적으로 기초하여, 상기 움직이는 배경의 상기 적어도 일부분의 콘텐츠가 렌더링되는 레이트를 조절하기 위한 명령어들;
    상기 모션 데스크톱이 폐색되었는지 여부를 판정하기 위한 명령어들; 및
    상기 모션 데스크톱이 폐색된 것으로 판정된 경우, 상기 모션 데스크톱의 상기 배경의 상기 적어도 일부분의 콘텐츠를 렌더링하는 것을 중지하기 위한 명령어들을 포함하는, 처리 장치.
  12. 제11항에 있어서,
    상기 움직이는 배경의 상기 적어도 일부분의 콘텐츠가 렌더링되는 레이트를 조절하기 위한 명령어들은,
    상기 처리 장치가 배터리 동작, 저전력 동작, 또는 원격 데스크톱 동작의 상태에서 동작할 때, 상기 움직이는 배경의 상기 적어도 일부분의 콘텐츠가 렌더링되는 상기 레이트를 감소시키는 명령어들을 더 포함하는, 처리 장치.
  13. 제11항에 있어서,
    상기 메모리는, 상기 모션 데스크톱의 상기 움직이는 배경의 적어도 제2 부분의 콘텐츠를 제2 공유 메모리 상으로 렌더링하기 위한 명령어들을 더 포함하고,
    상기 전경의 상기 렌더링된 콘텐츠 및 상기 배경의 상기 적어도 일부분의 상기 렌더링된 콘텐츠에 기초하여 씬을 구성하기 위한 상기 명령어들은, 상기 제2 공유 메모리로부터의 상기 움직이는 배경의 상기 적어도 제2 부분의 상기 렌더링된 콘텐츠에 기초하여 상기 씬을 구성하기 위한 명령어를 더 포함하는
    처리 장치.
  14. 제11항에 있어서,
    상기 메모리는, 상기 씬을 상기 모션 데스크톱으로서 표시할 때 소리를 포함하기 위한 명령어들을 더 포함하는 처리 장치.
  15. 제11항에 있어서,
    상기 움직이는 배경의 상기 적어도 일부분의 콘텐츠가 렌더링되는 레이트를 조절하기 위한 명령어들은 상기 레이트를 제어 모드에서 조절하기 위한 명령어들을 더 포함하는, 처리 장치.
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
KR1020097013841A 2007-01-03 2007-12-26 모션 데스크톱 KR101279680B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/649,077 US7712047B2 (en) 2007-01-03 2007-01-03 Motion desktop
US11/649,077 2007-01-03
PCT/US2007/088800 WO2008085726A1 (en) 2007-01-03 2007-12-26 Motion desktop

Publications (2)

Publication Number Publication Date
KR20090106498A KR20090106498A (ko) 2009-10-09
KR101279680B1 true KR101279680B1 (ko) 2013-06-27

Family

ID=39585816

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097013841A KR101279680B1 (ko) 2007-01-03 2007-12-26 모션 데스크톱

Country Status (8)

Country Link
US (2) US7712047B2 (ko)
EP (1) EP2102806B1 (ko)
JP (1) JP4809922B2 (ko)
KR (1) KR101279680B1 (ko)
CN (1) CN101573728B (ko)
BR (1) BRPI0722069B1 (ko)
RU (1) RU2463661C2 (ko)
WO (1) WO2008085726A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7712047B2 (en) * 2007-01-03 2010-05-04 Microsoft Corporation Motion desktop
US7996787B2 (en) * 2007-02-06 2011-08-09 Cptn Holdings Llc Plug-in architecture for window management and desktop compositing effects
CN102118576B (zh) * 2009-12-30 2015-02-18 新奥特(北京)视频技术有限公司 一种虚拟体育系统中的色键合成方法及装置
US20120127198A1 (en) * 2010-11-22 2012-05-24 Microsoft Corporation Selection of foreground characteristics based on background
US9560314B2 (en) 2011-06-14 2017-01-31 Microsoft Technology Licensing, Llc Interactive and shared surfaces
CN102523481A (zh) * 2011-12-09 2012-06-27 成都东方盛行电子有限责任公司 一种节目播出系统用数据交换缓存的方法
CN103513926A (zh) * 2012-06-25 2014-01-15 威盛电子股份有限公司 动态桌布显示方法及新视频信息显示方法与手持移动系统
CN103729884A (zh) * 2014-01-10 2014-04-16 广州市久邦数码科技有限公司 一种模拟物理运动的桌面系统及其实现方法
KR102285188B1 (ko) * 2015-02-13 2021-08-05 삼성전자주식회사 시인성 개선을 위한 이미지 처리 방법 및 이를 지원하는 전자 장치
CN105843831A (zh) * 2016-01-15 2016-08-10 乐视移动智能信息技术(北京)有限公司 一种移动终端图片显示方法及系统
US11294530B2 (en) * 2017-08-07 2022-04-05 Microsoft Technology Licensing, Llc Displaying a translucent version of a user interface element
CN112997245A (zh) * 2018-11-14 2021-06-18 韦斯特尔电子工业和贸易有限责任公司 用于生成图像的方法、计算机程序和装置
RU2748857C1 (ru) * 2020-05-26 2021-06-01 Общество с ограниченной ответственностью "Трастед Серч Девелопмент Компани" Способ отображения ярлыка запуска приложений или иного функционала на экране информационной системы различного назначения

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5940080A (en) * 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
US6064393A (en) * 1995-08-04 2000-05-16 Microsoft Corporation Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline
US6700588B1 (en) * 1998-11-09 2004-03-02 Broadcom Corporation Apparatus and method for blending graphics and video surfaces
US20070064112A1 (en) 2003-09-09 2007-03-22 Chatting David J Video communications method and system

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4498079A (en) * 1981-08-20 1985-02-05 Bally Manufacturing Corporation Prioritized overlay of foreground objects line buffer system for a video display system
US4580165A (en) * 1984-04-12 1986-04-01 General Electric Company Graphic video overlay system providing stable computer graphics overlayed with video image
US5523791A (en) * 1993-10-12 1996-06-04 Berman; John L. Method and apparatus for applying overlay images
US5422674A (en) * 1993-12-22 1995-06-06 Digital Equipment Corporation Remote display of an image by transmitting compressed video frames representing background and overlay portions thereof
JPH1020844A (ja) * 1996-06-28 1998-01-23 Toshiba Corp 画像処理装置、及びパーソナルコンピュータ
JP3558104B2 (ja) * 1996-08-05 2004-08-25 ソニー株式会社 3次元仮想物体表示装置および方法
JPH11313339A (ja) * 1998-04-30 1999-11-09 Toshiba Corp 表示制御装置および動画/グラフィクス合成表示方法
US6229542B1 (en) * 1998-07-10 2001-05-08 Intel Corporation Method and apparatus for managing windows in three dimensions in a two dimensional windowing system
US6384846B1 (en) * 1998-12-11 2002-05-07 Hitachi America Ltd. Methods and apparatus for rendering multiple images using a limited rendering resource
KR19990078635A (ko) * 1999-07-16 1999-11-05 이원수 컴퓨터 모니터의 바탕화면을 이용한 광고방법
KR20010008134A (ko) * 2000-11-10 2001-02-05 정장호 바탕화면을 이용한 콘텐츠 제공 방법 및 시스템
KR20010016495A (ko) * 2000-12-15 2001-03-05 최추원 미디어 플레이어를 이용한 영상 디스플레이 방법
KR100372092B1 (ko) * 2001-02-06 2003-02-14 주식회사 우리기술 바탕화면 동영상 매체재생기 및 이를 이용한 바탕화면의동영상 처리방법과 상기 매체재생기 또는 방법을실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수있는 기록매체
US7107549B2 (en) * 2001-05-11 2006-09-12 3Dna Corp. Method and system for creating and distributing collaborative multi-user three-dimensional websites for a computer system (3D Net Architecture)
US7043701B2 (en) * 2002-01-07 2006-05-09 Xerox Corporation Opacity desktop with depth perception
JP2004362222A (ja) * 2003-06-04 2004-12-24 Matsushita Electric Ind Co Ltd 壁紙表示の方法
US7817163B2 (en) * 2003-10-23 2010-10-19 Microsoft Corporation Dynamic window anatomy
KR20050116260A (ko) * 2004-06-07 2005-12-12 주식회사 소프트미디어 클라이언트의 바탕화면을 이용한 브랜드 이미지 프로모션및 능동적 커뮤니케이션 시스템
JP4949853B2 (ja) * 2004-12-01 2012-06-13 パナソニック株式会社 再生装置、画像合成方法、画像合成プログラム及び集積回路
US7712047B2 (en) 2007-01-03 2010-05-04 Microsoft Corporation Motion desktop

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6064393A (en) * 1995-08-04 2000-05-16 Microsoft Corporation Method for measuring the fidelity of warped image layer approximations in a real-time graphics rendering pipeline
US5940080A (en) * 1996-09-12 1999-08-17 Macromedia, Inc. Method and apparatus for displaying anti-aliased text
US6700588B1 (en) * 1998-11-09 2004-03-02 Broadcom Corporation Apparatus and method for blending graphics and video surfaces
US20070064112A1 (en) 2003-09-09 2007-03-22 Chatting David J Video communications method and system

Also Published As

Publication number Publication date
US7712047B2 (en) 2010-05-04
CN101573728B (zh) 2012-06-06
EP2102806B1 (en) 2013-05-29
WO2008085726A1 (en) 2008-07-17
KR20090106498A (ko) 2009-10-09
EP2102806A1 (en) 2009-09-23
EP2102806A4 (en) 2011-05-04
US20080163060A1 (en) 2008-07-03
RU2463661C2 (ru) 2012-10-10
RU2009125411A (ru) 2011-01-10
JP4809922B2 (ja) 2011-11-09
JP2010515194A (ja) 2010-05-06
US8863028B2 (en) 2014-10-14
US20100171748A1 (en) 2010-07-08
BRPI0722069B1 (pt) 2019-01-02
BRPI0722069A2 (pt) 2014-04-08
CN101573728A (zh) 2009-11-04
BRPI0722069A8 (pt) 2017-01-17

Similar Documents

Publication Publication Date Title
KR101279680B1 (ko) 모션 데스크톱
CN110377264B (zh) 图层合成方法、装置、电子设备及存储介质
US9474972B2 (en) Gaming machine transitions
US8803896B2 (en) Providing a coherent user interface across multiple output devices
CN110377263B (zh) 图像合成方法、装置、电子设备及存储介质
US20050257153A1 (en) Application sharing user interface improvements
KR101239029B1 (ko) 그래픽스 처리 시스템의 오프-스크린 표면을 위한 멀티-버퍼 지원
CN112057852B (zh) 一种基于多显卡的游戏画面渲染方法和系统
EP3311565B1 (en) Low latency application streaming using temporal frame transformation
JPH0689154A (ja) ラスタスキャンビデオ表示装置及び表示方法
KR102426012B1 (ko) 데스크탑 환경에서 애플리케이션 렌더링에서 온 스크린까지 시간을 동적으로 감소시키기 위한 방법 장치
CN115546410A (zh) 窗口展示方法、装置、电子设备及存储介质
CN112565869B (zh) 一种视频重定向的窗口融合方法、装置及设备
CN109859328B (zh) 一种场景切换方法、装置、设备和介质
JP2022515709A (ja) 画像を生成するための方法、コンピュータプログラム、及び装置
CN114020396A (zh) 应用程序的显示方法和应用程序的数据生成方法
CN110944239A (zh) 一种视频播放的方法和装置
CN113676753B (zh) Vr场景中展示视频的方法、装置、电子设备和存储介质
CN117193910A (zh) 一种帧动画处理方法、装置、电子设备和存储介质
CN112783584B (zh) 终端系统的图层显示方法、装置及车机设备、存储装置
CN117608715A (zh) 一种应用共享方法、装置、设备及存储介质
CN115988252A (zh) 一种遮挡视频字幕的方法及装置
CN117290046A (zh) 壁纸渲染方法、电子设备和存储介质
CN113660500A (zh) 直播房间的展示方法、装置、存储介质及电子设备
CN114125327A (zh) 一种视频切换方法、系统及存储介质和终端设备

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 7