KR101595076B1 - 그래픽을 위한 그래픽 렌더링 매칭 - Google Patents

그래픽을 위한 그래픽 렌더링 매칭 Download PDF

Info

Publication number
KR101595076B1
KR101595076B1 KR1020147018127A KR20147018127A KR101595076B1 KR 101595076 B1 KR101595076 B1 KR 101595076B1 KR 1020147018127 A KR1020147018127 A KR 1020147018127A KR 20147018127 A KR20147018127 A KR 20147018127A KR 101595076 B1 KR101595076 B1 KR 101595076B1
Authority
KR
South Korea
Prior art keywords
display device
post
processing
display
rendering process
Prior art date
Application number
KR1020147018127A
Other languages
English (en)
Other versions
KR20140099308A (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 KR20140099308A publication Critical patent/KR20140099308A/ko
Application granted granted Critical
Publication of KR101595076B1 publication Critical patent/KR101595076B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/355Performing operations on behalf of clients with restricted processing capabilities, e.g. servers transform changing game scene into an encoded video stream for transmitting to a mobile phone or a thin client
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/50Controlling the output signals based on the game progress
    • A63F13/52Controlling the output signals based on the game progress involving aspects of the displayed game scene
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/203Image generating hardware
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program
    • A63F2300/66Methods for processing data by generating or executing the game program for rendering three dimensional images
    • A63F2300/6692Methods for processing data by generating or executing the game program for rendering three dimensional images using special effects, generally involving post-processing, e.g. blooming

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

전 및 후 처리 조합의 바람직하지 않은 효과를 감소시키도록 렌더링 소스에서의 그래픽의 전 처리를 디스플레이 장치에서의 후 처리로 매칭하기 위한 기술이 제시된다. 렌더링 소스는 이미지가 전달될 디스플레이 장치의 유형과 연관된 정보를 수신하거나 그렇지 않으면 결정할 수 있다. 렌더링 프로세스의 매개변수는 이후 디스플레이 장치에 의해 수행되는 후 처리를 이용하도록 적절히 수정될 수 있고 디스플레이 장치에 의해 수행되지 않을 수 있는 프로세스를 제거할 수 있다. 일부 예시에서, 렌더링 소스는 자신의 전 처리 매개변수를 디스플레이 장치로 통신할 수 있고 디스플레이 장치에서 후 처리 매개변수의 조정이 가능하게 할 수 있거나 대안적으로 디스플레이 장치로 후 처리 매개변수를 조정하도록 명령어를 전송할 수 있다.

Description

그래픽을 위한 그래픽 렌더링 매칭{GRAPHICS RENDER MATCHING FOR DISPLAYS}
여기에서 달리 지적되지 않는다면, 본 섹션에서 설명되는 내용은 본 출원에서 청구범위에 대한 선행 기술이 아니며, 본 섹션에 포함함으로써 선행 기술로 인정되지 않는다.
네트워킹 및 데이터 처리 기술의 진화와 함께, 온라인 게임은 점점 더 확산되는 현상이 되었다. 온라인(뿐만 아니라 로컬로 설치된) 게임은 이미지 품질에서 전에 없이 더더욱 복잡하다. 사실, 디지털로 생성된 게임 렌더링과 캡처된 비디오 사이의 경계는 끊임없이 흐려지고 있다. 높은 품질 이미지 게임을 이용하기 위해서는 플레이어는 디스플레이 장치로서 텔레비전 세트를 종종 사용한다. 텔레비전 세트는 (무선으로 또는 케이블을 통한)브로드캐스트 비디오 이미지를 디스플레이하는 것에 주로 맞추어져 있기 때문에, 그들은 수신된 시호를 향상시키기 위한 회로를 갖추고 있는 경향이 있다.
현대 텔레비전은 이미지 품질을 향상시키기 위한 시도에서 적용하는 중요한 인셋 이미지 처리(in-set image processing)를 가진다. 예컨대, 일부 텔레비전 세트는 표준 TV 신호에서의 전형적인 재생율(refresh rate)보다 더 높은 주파수에서 재생하는 텔레비전으로 인해 움직임 평활도(motion smoothness)를 향상시키고 블러(blur)를 제거하는 것을 시도한다. 인셋 신호 처리는 인식되는 움직임 평활도를 향상시키거나 원 이미지에서 안티 에일리어싱(anti-aliasing)에 의해 제공되는 품질을 감소시키는 것과 같이 디스플레이 특성에 영향을 끼칠 수 있고, 이는 처리되지 않은 비디오와는 다른 세트의 최적의 게임 렌더링 조건을 보여준다. 프레임-투-프레임 배경 선명화(sharpening)를 가지는 일부 시스템은 동일한 이미지를 사용자에게 보여주기 위하여 배경에 대한 각각의 프레임에서 요구되는 디테일의 양을 또한 감소시킨다.
그러므로, 텔레비전 세트에서 디스플레이되는 이미지 품질을 높이기 위한 인셋 메커니즘은 전 처리의 영향을 감소시키거나 또는 게임 이미지의 "위조" 외형(fake appearance)이 발생되는 이미지의 과보정(over-correction)을 유발하여, 비디오 게임에서의 전 처리된 이미지에 불리하게 작용할 수 있다.
본 개시는 비디오 게임 이미지와 같은 전달된 이미지 상의 디스플레이 후처리의 영향를 감소시키기 위하여 디스플레이를 위해 그래픽 렌더 매칭을 위한 기술을 일반적으로 설명한다.
일부 예시에 따라, 디스플레이를 위한 그래픽 렌더 매칭을 제공하기 위한 방법은 디스플레이 장치의 하나 이상의 후 처리 매개변수를 검출하는 단계, 검출된 후 처리 매개변수에 기초하여 서버에서 렌더링 프로세서를 수정하는 단계, 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 디스플레이 장치로 전송하는 단계 및 감소된 이미지 품질을 야기하는 디스플레이 장치에서의 후 처리의 영향이 실질적으로 감소되도록 디스플레이 장치에서 전송된 하나 이상의 이미지의 디스플레이가 가능하게 하는 단계를 포함할 수 있다.
다른 예시에 따라, 디스플레이를 위한 그래픽 렌더링을 매칭하도록 조정되는 서버는, 통신 모듈에서 명령어를 저장하도록 조정되는 메모리 및 저장된 메모리와 함께 하나 이상의 네트워크를 통해 게임 클라이언트 장치와 통신을 위한 처리 유닛을 포함할 수 있다. 처리 유닛은 디스플레이 장치의 하나 이상의 후 처리 매개변수를 검출하고, 디스플레이 장치에서 후 처리에 의해 반전될 하나 이상의 렌더링 프로세스를 제거하도록 검출된 후 처리 매개수에 기초하여 렌더링 프로세스를 수정하고, 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 디스플레이 장치로 전송하고, 디스플레이 장치에서 전송된 하나 이상의 이미지의 디스플레이가 가능하게 할 수 있다.
추가적인 예시에 따라, 컴퓨터 판독가능 매체는 디스플레이 후 처리로 그래픽 렌더 매칭을 제공하기 위한 저장된 명령어를 포함할 수 있다. 명령어는 디스플레이 장치의 하나 이상의 후 처리 매개변수를 검출하는 것, 검출된 후 처리 매개변수에 기초하여 게임 서버에서 렌더링 프로세스를 수정하는 것, 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 디스플레이 장치로 전송하는 것 및 감소된 이미지 품질을 야기하는 디스플레이 장치에서의 후 처리의 영향이 실질적으로 감소되도록 디스플레이 장치에서 전송된 하나 이상의 이미지의 디스플레이를 가능하게 하는 것을 포함할 수 있다.
또 다른 예시에 따라, 디스 플레이 후 처리로 그래픽 렌더 매칭을 허용하도록 조정된 게임 클라이언트는 디스플레이 장치, 명령어를 저장하도록 조정된 메모리, 통신 모듈 및 통신 모듈 및 디스플레이 장치에 결합된 프로세서를 포함할 수 있다. 프로세서는 디스플레이 장치의 하나 이상의 후 처리 매개변수를 결정하고, 게임 서버에서의 렌더링 프로세스가 결정된 후 처리 매개변수에 기초하여 수정되도록 게임 서버로 하나 이상의 후 처리 매개변수를 제공하고, 게임 서버로부터 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 수신하고, 감소된 이미지 품질을 야기하는 디스플레이 장치에서의 후 처리의 영향이 실질적으로 감소되도록 디스플레이 장치에서 수신된 하나 이상의 이미지의 디스플레이를 가능하게 할 수 있다.
이상의 요약은 단순히 예시적인 것으로서 어떠한 방식으로든 제한적으로 의도된 것이 아니다. 이하의 상세한 설명과 도면을 참조함으로써, 상기 설명된 예시적인 양태, 실시예, 그리고 특징에 더하여, 추가적인 양태, 실시예, 그리고 특징 또한 명확해질 것이다.
본 개시의 전술한 특징 및 다른 특징은 첨부 도면과 함께, 다음의 설명과 첨부된 청구범위로부터 더욱 충분히 명백해질 것이다. 이들 도면은 본 개시에 따른 몇몇 실시예를 묘사할 뿐이고, 따라서, 범위를 제한하는 것으로 고려되어서는 안될 것임을 이해하면서, 본 개시는 첨부 도면의 사용을 통해 더 구체적이고 상세하게 설명될 것이다.
도 1은 디스플레이를 위한 그래픽 렌더 매칭이 제공될 수 있는, 서비스 제공자 및 렌더링 클라이언트 장치의 예시적인 네트워킹된 시스템을 도시하고,
도 2는 디스플레이를 위한 그래픽 렌더 매칭을 갖는 렌더링기로부터 디스플레이 장치로의 이미지 처리의 흐름을 개념적으로 도시하고,
도 3은 디스플레이를 위하여 그래픽 렌더링을 매칭함에 있어서 하나의 예시적인 동작 흐름을 도시하고,
도 4는 디스플레이를 위하여 그래픽 렌더링을 매칭함에 있어서 다른 예시적인 동작 흐름을 도시하고,
도 5는 디스플레이를 위하여 그래픽 렌더링하는 것을 매칭하기 위한 시스템을 구현하는데 사용될 수 있는 범용 컴퓨팅 장치를 도시하고,
도 6은 디스플레이를 위하여 그래픽 렌더링하는 것을 매칭하기 위한 예시적인 방법을 도시하는 흐름도이고,
도 7은 예시적인 컴퓨터 프로그램 제품의 블록도를 도시하고, 모두 여기에서 기술된 적어도 일부 실시예에 따라 배열된다.
이하의 상세한 설명에서 본 개시의 일부를 이루는 첨부된 도면이 참조된다. 문맥에서 달리 지시하고 있지 않은 한, 통상적으로, 도면에서 유사한 부호는 유사한 컴포넌트를 나타낸다. 상세한 설명, 도면, 그리고 청구범위에 설명되는 예시적인 실시예는 제한적으로 여겨지지 않는다. 본 개시에서 제시되는 대상의 범위 또는 사상에서 벗어나지 않으면서도 다른 실시예가 이용되거나, 다른 변경이 이루어질 수 있다. 여기에서 일반적으로 설명되고, 도면에 도시되는 본 개시의 양태는 다양한 다른 구성으로 배열, 대체, 조합, 분리 및 설계될 수 있음과 이 모두가 여기에서 명시적으로 고려됨이 기꺼이 이해될 것이다.
본 개시는 그 중에서도 일반적으로 디스플레이를 위한 그래픽 렌더 매칭에 관련된 방법, 장치, 시스템, 기기 및/또는 컴퓨터 프로그램 제품에 관한 것이다.
간략하게 설명하면, 렌더링 소스에서의 그래픽의 전 처리를 디스플레이 장치에서의 후 처리로 매칭하여 전 및 후 처리 조합의 바람직하지 않은 효과를 줄이기 위한 기술이 제시된다. 렌더링 소스는 이미지가 전달될 디스플레이 장치의 유형과 연관된 정보를 수신하거나 그렇지 않으면 결정할 수 있다. 렌더링 프로세스의 매개변수는 디스플레이 장치에 의해 수행되는 후 처리를 이용하거나 디스플레이 장치에 의해 수행되지 않을 수 있는 프로세스를 제거하도록 적절히 수정될 수 있다. 일부 예시에서, 렌더링 소스는 자신의 전 처리 매개변수를 디스플레이 장치로 통신할 수 있고 디스플레이 장치로 하여금 자신의 후 처리를 턴오프(turn off)할 수도 있거나 대안적으로 디스플레이 장치에게 후 처리 매개변수를 조정하라는 명령어를 발송할 수도 있다.
여기에서 사용된 바와 같이, 용어 "전 처리(pre-processing)"는 구성(composition), 렌더링(rendering), 강화(enhancement), 압축(compression) 및 이미지 또는 비디오 스트림가 디스플레이를 위한 하나 이상의 클라이언트 장치로 전송되는 것에 앞서 소스에서 이미지 또는 비디오 스트림의 유사한 특징에 관련되는 이미지 및 비디오 처리의 다양한 방법을 지칭한다. 용어 "후 처리(post-processing)"는 압축 해제(decompression), 모션 필(motion fill) 및 디스플레이 하기 전에 이미지 또는 비디오 스트림을 수신하면 텔레비전 세트와 같은 수신 장치에서 이미지 또는 비디오 스트림의 유사한 특징에 관련되는 이미지 및 비디오 처리의 다양한 방법을 지칭한다.
도 1은, 여기에서 기술된 적어도 일부 실시예에 따라 배열된, 디스플레이를 위한 그래픽 렌더 매칭이 제공될 수 있는, 서비스 제공자 및 렌더링 클라이언트 장치의 예시적인 네트워킹된 시스템을 도시한다.
여기에서 온라인 게임 애플리케이션 및 서비스 제공자를 사용하는 것으로 예시가 기술되지만 실시예는 후 처리 매칭을 갖는 온라인 게임 이미지의 렌더링에 제한되지 않는다. 예시적인 실시예는 게임 애플리케이션, 텔레 챗 애플리케이션, 텔레 쇼핑 애플리케이션 또는 유사한 것에서 구현될 수 있다. 유사하게, 아래에서 기술되는 서비스 제공자는 온라인 게임 서비스, 통신 서비스(예컨대 비디오 컨프런스), 쇼핑 서비스 및 유사한 것을 포함할 수 있다. 온라인 게임은 많은 시청자에게 폭넓은 게임 유형을 제공하는 더욱 더 대중적인 산업이다. 개별적인 가입 기반 개별적인 게임부터 대규모 멀티 플레이어 온라인 게임(MMOG)에 이르기까지, 클라우드 기반 게임은 스마트폰부터 텔레비전 세트에 이르는 클라이언트 장치 상에서 플레이될 수 있다. 온라인 게임의 시각적 특징은 또한 기본적인 그래픽에서 매우 현실적인 현실 세계 유사 비디오로 변화할 수 있다. 특히 더 복잡한 비디오 스트림의 경우에서, 실질적인 전 처리는 소스(게임을 배포하는 서비스 제공자 또는 게임 컨텐트 재공자)에서 관여될 수 있다. 그러한 전 처리는 전송된 수신단에서의 컴퓨팅 장치 및 전송된 이미지의 전 처리가 잠재적인 네트워크 조건, 컴퓨팅 장치 디스플레이 특징 등을 고려하는 것으로 가정한다.
플레이어는 그러나 더 큰 스크린 텔레비전 세트를 점점 더 사용하고 있다. 다른 한편, 텔레비전 세트는 브로드캐스트 또는 유사한 소스로부터 비디오 신호를 디스플레이하기 위하여 설계된다. 많은 현대 텔레비전 세트는 수신된 비디오 신호를 향상시키기 위한 다양한 후 처리 기능을 포함한다. 그러나, 온라인 비디오 게임을 디스플레이하기 위하여 텔레비전 세트를 이용하는 시스템에서의 소스 전 처리 및 텔레비전 후 처리는 이따금 충돌할 수 있다. 예컨대, 일부 텔레비전 세트는 표준 TV 신호를 위한 전형적인 재생율보다 더 높은 주파수에서 텔레비전 재생으로 인한 움직임 평활도를 향상시키고 블러를 제거하는 것을 시도할 수 있다. 현실적인 이미지를 제공하는 것을 목표로 하는 비디오 게임 이미지는 예컨대 렌더링된 이미지에서, 보는 이가 "위조(fakeness)"로 인식할 수 있는, 선명한 모서리를 피하기 위하여, 의도적인 블러링을 이용할 수 있다. 텔레비전 세트가 블러링을 제거하면, 디스플레이된 비디오는 위조로 인식되는 부작용으로 나타날 수 있다.
일부 실시예에 따르는 시스템은 검출된 텔레비전 후 처리와 소스 전 처리를 매칭함으로써 텔레비전 세트 상에서 디스플레이되는 컴퓨터가 생성한 이미지/비디오를 향상시킬 수 있다. 디스플레이 장치, 텔레비전 또는 유사한 장치의 후 처리 매개변수는 디스플레이 장치로 질의하거나 장치 특징의 테이블을 검색함으로써 결정될 수 있고 이후 전 처리 동작을 적절하게 조정할 수 있다. 예컨대, 일부 전처리 단계는 제거될 수 있거나 추가적인 전 처리 단계가 추가될 수 있어 디스플레이 장치에 의한 예상되는 후 처리를 보상할 수 있다. 다른 실시예에 따라, 렌더링 소스 또는 서비스 제공자는 스마트 디스플레이 장치에게 명령어를 발송하여 하나 이상의 후 처리 매개변수가 수정되게 할 수 있다.
도 1의 도표(100)에 도시된 바와 같이, 예시적인 클라우드 기반 게임 시스템은 이미지 또는 비디오 스트림을 렌더링하여 그들을 하나 이상의 네트워크(102)를 통해 클라이언트 장치로 전송하는 하나 이상의 서버(104)를 포함할 수 있다. 데이터 저장 장치(106)는 제공되는 이미지 또는 비디오 스트림과 연관되는 데이터를 저장하도록 사용될 수 있다. 클라이언트 장치는 데스크탑(122), 소형 컴퓨터(120), 랩탑 컴퓨터(118) 또는 스마트폰, 태블릿 컴퓨터, 차량 장착 컴퓨터 등과 같은 유사한 장치를 포함할 수 있다. 클라이언트 장치는 사용자가 텔레비전 세트(110) 또는 프로젝터(114)-스크린(116) 조합과 같은 디스플레이 장치를 통해 이미지 또는 비디오 스트림을 볼 수 있게 할 수 있는 제어기(108 또는 112)를 또한 포함할 수 있다. 일부 예시에 따르면, 텔레비전 세트(110) 또는 프로젝터(114)-스크린(116) 조합과 같은 디스플레이 장치는 또한 컴퓨팅 장치를 통해 사용될 수 있다.
도 2는, 여기에서 기술된 적어도 일부 실시예에 따라 배열된, 디스플레이를 위한 그래픽 렌더 매칭을 갖는 렌더링기로부터 디스플레이 장치로의 이미지 처리의 흐름을 개념적으로 도시한다.
단순하고, 예시적인 시나리오가 도 2의 도표(200)에 도시되어 있고, 이미지(또는 비디오 스트림)(238)는 서버(232)에서 전 처리를 통해 시작 데이터(236)로부터 렌더링된다. 시작 데이터(236)는 그래픽 원형(graphics primitive), 객체 모델, 배경 이미지 등과 같은 임의의 정보를 포함할 수 있다. 렌더링된 이미지(또는 비디오 스트림)(238)은 하나 이상의 네트워크(202)를 통해 디스플레이 장치(234)로 서버(232)에 의해 전송될 수 있다. 수신된 이미지(또는 비디오 스트림)(240)은 디스플레이 장치(234)에서 후 처리될 수 있고 디스플레이된 이미지(242)로서 표현될 수 있다.
디스플레이 장치(234)에서의 이미지 품질 향성의 일부 예시는 블러를 줄이고 움직임 평활도를 향상시키는 노력을 포함할 수 있다. 인셋 신호 처리는 인식된 움직임 평활도를 향상시키는 것 또는 원 이미지에서 안티 에일리어싱에 의해 제공되는 품질을 감소시키는 것과 같이 다수의 디스플레이 품질에 영향을 미칠 수 있고, 이는 처리되지 않은 비디오와는 다른 세트의 최적의 렌더링 조건을 보여준다. 다른 예시는 프레임-투-프레임 배경 선명화를 포함할 수 있고, 이는 동일한 이미지를 사용자에게 보여주기 위하여 배경에 대한 각각의 프레임에서 요구되는 디테일의 양을 또한 감소시킬 수 있다.
일부 텔레비전 후 처리 기술은 새로운 이미지 프레임 계산 및 이미지 선명화를 이용한다. 텔레비전 세트에서의 후 처리 회로는 프레임 사이의 이동 및 객체 범위를 예측하고 이러한 위치 사이의 객체 및 예측된 배경 필(background fill)을 가지고 새로운 프레임을 만듦으로써 (텔레비전으로의 입력으로 전달되지 않던)새로운 프레임을 생성할 수 있다. 새로운 프레임 생성은 프레임의 약 92%까지 생성할 수 있다. 모서리 선명화는 마스크 및 이미지 사이에서 후보를 사용하여 수행될 수 있고, 블러를 제거함으로써 배경 요소를 선명하게 하기 위하여 데이터의 복수의 프레임을 사용할 수 있다.
일부 시나리오에서, 그러한 후 처리는 (더 현실적인 이미지를 생성하는 데에 목적이 있는)렌더링의 안티 에일리어싱 및 복잡한 움직임 블러를 극복할 수 있다. 후 처리는 부자연스럽게 선명한 경계 및 움직임을 반환함으로써 이미지 일부의 위조 외형(예컨대, 게임 캐릭터)에 또한 추가할 수 있다.
일부 예시에 따르면, 다양한 접근법이 사용되는 디스플레이 장치의 유형을 결정하는 데에 사용될 수 있다. 예컨대, 설비 유형이 네트워크 요청으로 기록되는 경우에, 더 새로운 세대의 텔레비전은 웹 브라우저 또는 웹 애플릿을 가진다. 대안적으로, 소스(서비스 또는 컨텐트 제공자)는 예컨대, DLNA 표준을 사용하여 디스플레이 장치를 이용하는 제어기 또는 디스플레이 장치로 질의할 수 있거나 디스플레이 장치 유형 또는 모델은 디스플레이 장치의 데이터베이스에서 검색되는 후 처리 특징 및 소스로 기록될 수 있다.
디스플레이 유형이 검출되면, 적용될 후 처리의 속성이 결정될 수 있도록 처리의 특징으로 정보가 추출될 수 있다. 일부 예시에서, 영향(impact) 레지스터는 렌더 경로 특징을 매칭하는 알파벳 스트링으로 사용될 수 있고 특정 디스플레이 장치에 대한 렌더링을 어떻게 수정하는지에 대한 정보를 포함한다.
도 3은, 여기에서 기술된 적어도 일부 실시예에 따라 배열된, 디스플레이를 위하여 그래픽 렌더링을 매칭함에 있어서 하나의 예시적인 동작 흐름을 도시한다.
현대 게임 시스템에서의 전형적인 렌더링은 구성 및 애니메이션, 정점 섀이딩(vertex shading), 기하학적 섀이딩(geometry shaindg), 원형 설정, 래스터화(rasterization), 픽셀 섀이딩 및/또는 프레임 버퍼 블렌딩과 같은 다수의 단계로 구성될 수 있다. 그러므로, 그러한 렌더 경로를 위한 임팩트 레지스터는 일곱 개의 상이한 엔트리를 가질 수 있고, 이는 후 처리 유형 및 렌더 단계 각각의 엄밀도(severity)를 나타낸다.
위 몇몇 단계는 전형적인 존재하는 텔레비전 후 처리에 의해 가장 영향 받을 수 있다. 예컨대, 프레임 버퍼 블렌딩 단계는 텔레비전 세트에 의해 수행되는 선명화에 바로 반대될 수 있다. 임팩트 레지스터가 프레임 버퍼 블렌딩 단계에 대해 목적지 디스플레이 상의 높은 수준의 선명화를 나타내는 경우, 렌더 파이프라인은 더 적은 전체 계산을 가지고 동일한 최종 디스플레이에 도달하기 위하여 단계 모두를 건너뛸 수 있다. 다른 예시에서, 임팩트 레지스터는 바람직하지 않은 위조 품질을 감소시키기 위하여 움직임 블러의 손실을 보상하는 다른 시각적 효과를 제공하도록 섀이딩 모델을 변경하기 위하여 정점 섀이딩 및 기하학적 섀이딩 단계에 대해 나타낼 수 있다. 이는 비선명화 마스크로 또한 달성될 수 있다.
마찬가지로, 시뮬레이션된 객체 움직임을 수행하는 디스플레이 장치는, 그가 렌더링의 전체 프레임을 제거하는 것(종래와는 다른 인터페이스를 통해 전달된 초당 프레임 수가 변화될 수 있음)이 가능할 수 있음에 따라, 구성 및 애니메이션 단계에 대한 임펙트 레지스터에서 플래그될 수 있다. 그러므로, 움직임 평활도가 최상이 되도록 이동하는 객체를 뚜렷하게 엣지-정의(edge-define)함으로써 및/또는 구성 및 애니메이션 단계는 필요한 프레임의 수를 감소시킴으로써 구성 및 애니메이션 단계는 현저하게 수정될 수 있다. 이는 렌더링 계산을 단순화하여 디스플레이된 이미지 또는 비디오 스트림에서 더 훌륭한 인식되는 품질을 야기할 수 있다.
도 3의 도표(300)에서의 예시적인 동작 흐름을 참조하여, 서버(332)는 원 데이터(344)로부터 이미지 또는 비디오 스트림 처리를 시작할 수 있다(344). 다음으로, 서버(332)는 전술된 바와 같이, 디스플레이 장치(334)의 후 처리 매개변수를 검출할 수 있다(346). 서버(332)는 임팩트 레지스터 또는 유사한 방식을 이용하여 서버(332)에서의 전 처리 매개변수가 어떻게 수정되는지 결정하고 수정된 전 처리 매개변수에 기초하여 이미지 또는 비디오 스트림을 처리할 수 있다(348). 처리된 이미지 또는 비디오 스트림은 디스플레이 장치(334)로 전송될 수 있다(350).
디스플레이 장치(334)에서, 수신된 이미지는 디스플레이 장치의 후 처리 매개변수에 더 기초하여 처리될 수 있고(352), 서버(332)에 부과된 줄어든 컴퓨팅 및/또는 디스플레이된 비디오 이미지의 증가된 품질을 야기하며 디스플레이될 수 있다(354).
도 4는, 여기에서 기술된 적어도 일부 실시예에 따라 배열된, 디스플레이를 위하여 그래픽 렌더링을 매칭함에 있어서 다른 예시적인 동작 흐름을 도시한다.
일부 예시에서, 비디오 신호는 디스플레이 장치 후 처리의 일부 또는 모두를 턴오프 할 수 있는 "후 처리하지 말 것" 플래그를 포함할 수 있다. 플래그는 인 디스플레이 브라우저로의 전달 선택 사항인, DLNA 메시지일 수 있고, 디스플레이 브라우저 또는 애플릿에서 다른 스크린 유형의 에뮬레이션을 촉구하는 에뮬레이터 커맨드일 수 있다. 애플리케이션 내장 디스플레이에 대하여, 플래그는 특정 애플리케이션이 비디오를 또한 전달하도록 촉구할 수 있다. 또한, 시스템은 디스플레이 장치 유형이 알려지지 않았거나 검출되지 않은 경우, "후 처리하지 말 것" 플래그를 디폴트로 발송할 수도 있다. 나아가, 전 또는 후 처리 매개변수의 조정은 변화하는 조건에 기초하여 반복될 수 있다. 예컨대, 플레이어가 게임을 플레이하는 도중 디스플레이 장치를 바꿀 수 있다. 새로운 디스플레이 장치 및 그의 후 처리 매개변수를 검출함에 따라, 일부 실시예에 따르는 시스템은 그에 따라 전 처리 매개변수를 조정할 수 있고 및/또는 새로운 디스플레이 장치로 하여금 후 처리 매개변수를 조정하라고 명령할 수 있다.
도 4의 도표(400)에 도시된 바와 같이, 서버(432)는 다른 예시적인 시나리오에 따라 원 데이터로부터 이미지 또는 비디오 스트림 처리를 시작할 수 있다(444). 다음으로 서버(432)는 디스플레이 장치(434)로 질의하거나, 사용자 또는 디스플레이 장치(434)로부터 정보를 수신하거나 디스플레이 장치(434)에 대한 데이터베이스를 검색함으로써 디스플레이 장치(434)의 후 처리 매개변수를 결정할 수 있다(446).
어떠한 전 또는 후 처리 매개변수가 최적의 디스플레이를 위하여 수정될 필요가 있는지 결정함에 따라, 이미지 또는 비디오 스트림은 디스플레이 장치(434)로 후 처리 명령어와 함께 전송될 수 있다(462). 명령어는 디스플레이 장치(434)로 하여금 후 처리를 완전히 턴오프하거나 이미지 또는 비디오 스트림을 수정된 매개변수를 가지고 후 처리하게 할 수 있다(464). 디스플레이 장치(434)는 이후 이미지 또는 비디오 스트림을 디스플레이할 수 있다(454).
도 5는, 여기에서 기술된 적어도 일부 실시예에 따라 배열된, 디스플레이를 위하여 그래픽 렌더링을 매칭하기 위한 시스템을 구현하는 데에 사용될 수 있는 범용 컴퓨팅 장치를 도시한다. 예컨대, 컴퓨팅 장치(500)는 도4의 서버(432)로 사용될 수 있다. 예시적인 기본적인 구성(502)에서, 컴퓨팅 장치(500)는 하나 이상의 프로세서(504) 및 시스템 메모리(506)를 포함할 수 있다. 메모리 버스(508)는 프로세서(504)와 시스템 메모리(506) 사이의 통신을 위해 사용될 수 있다. 기본적인 구성(502)은 내부 파선 내의 컴포넌트에 의해 도 5에 도시된다.
요구되는 구성에 따라, 프로세서(504)는 마이크로프로세서(μP), 마이크로컨트롤러(μC), 디지털 신호 프로세서(DSP) 또는 그 임의의 조합을 포함하는 임의의 유형일 수 있지만, 이에 한정되는 것은 아니다. 프로세서(504)는 레벨 캐시 메모리(512)와 같은 하나 이상의 레벨의 캐싱, 프로세서 코어(514) 및 레지스터(516)를 포함할 수 있다. 예시적인 프로세서 코어(514)는 ALU(arithmetic logic unit), FPU(floating point unit), DSP 코어(digital signal processing core), 또는 그 임의의 조합을 포함할 수 있다. 예시적인 메모리 컨트롤러(518)는 또한 프로세서(504)와 사용될 수 있거나, 또는 몇몇 구현예에서, 메모리 컨트롤러(518)는 프로세서(504)의 내부 부품일 수 있다.
요구되는 구성에 따라, 시스템 메모리(506)는 (RAM과 같은) 휘발성 메모리, (ROM, 플래시 메모리 등과 같은) 비휘발성 메모리, 또는 그 임의의 조합을 포함할 수 있지만, 이에 한정되지 않는 임의의 유형일 수 있다. 시스템 메모리(506)는 운영 체제(520), 하나 이상의 애플리케이션(522), 및 프로그램 데이터(524)를 포함할 수 있다. 애플리케이션(522)은 게임 애플리케이션, 텔레 챗 애플리케이션, 텔레 쇼핑 애플리케이션 또는 유사한 것일 수 있고 렌더링 엔진(523)을 포함할 수 있고, 이는 디스플레이 장치로의 전송을 위한 이미지 또는 비디오 스트림을 렌더하고 처리할 수 있다. 애플리케이션(522)은 매칭 모듈(525)을 포함할 수 있고, 여기에서 기술된 바와 같이 이는 디스플레이 장치 후 처리 매개변수를 결정할 수 있고 검출된 후 처리 매개변수에 기초하여 렌더링 전 처리 매개변수를 조정할 수 있다. 프로그램 데이터(524)는, 다른 데이터 사이에서, 여기에서 기술된 바와 같이, 디스플레이 데이터(526) 등을 포함할 수 있다.
컴퓨팅 장치(500)는 추가적인 특징 또는 기능, 및 기본 구성(502)과 임의의 요구되는 장치와 인터페이스 간 통신을 용이하게 하기 위한 추가적인 인터페이스를 가질 수 있다. 예를 들면, 버스/인터페이스 컨트롤러(530)는 저장 인터페이스 버스(534)를 통한 기본 구성(502)과 하나 이상의 데이터 저장 장치(532) 간의 통신을 용이하게 하는데 사용될 수 있다. 데이터 저장 장치(532)는 하나 이상의 분리형 저장 장치(536), 하나 이상의 비분리형 저장 장치(538), 또는 그들의 조합일 수 있다. 분리형 저장 장치 및 비분리형 저장 장치의 예로는, 몇 가지 말하자면, 플렉서블 디스크 드라이브 및 하드 디스크 드라이브(HDD)와 같은 자기 디스크 장치, 컴팩트 디스크(CD) 드라이브 또는 디지털 다기능 디스크(DVD) 드라이브와 같은 광 디스크 드라이브, 고체 상태 드라이브(solid state drive; SSD), 및 테이프 드라이브가 포함된다. 예시적인 컴퓨터 저장 매체는, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 분리형 및 비분리형 매체를 포함할 수 있다.
시스템 메모리(506), 분리형 저장 장치(536) 및 비분리형 저장 장치(538)는 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(DVD), 고체 상태 드라이브, 또는 다른 광학 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 장치(500)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하지만, 이에 한정되는 것은 아니다. 그러한 임의의 컴퓨터 저장 매체는 장치(500)의 일부일 수 있다.
컴퓨팅 장치(500)는 버스/인터페이스 컨트롤러(530)를 통한 다양한 인터페이스 장치(예를 들면, 하나 이상의 출력 장치(540), 하나 이상의 주변 인터페이스(550) 및 하나 이상의 통신 장치(560))로부터 기본 구성(502)으로의 통신을 용이하게 하기 위한 인터페이스 버스(542)도 포함할 수 있다. 예시적인 출력 장치(540) 중 일부는 그래픽 처리 유닛(548) 및 오디오 처리 유닛(544)을 포함하며, 이는 하나 이상의 A/V 포트(546)를 통해 디스플레이 또는 스피커와 같은 다양한 외부 장치로 통신하도록 구성될 수 있다. 하나 이상의 예시적인 주변 인터페이스(550)는 직렬 인터페이스 컨트롤러(554) 또는 병렬 인터페이스 컨트롤러(556)를 포함하며, 이는 하나 이상의 I/O 포트(558)를 통해 입력 장치(예를 들면, 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등) 또는 다른 주변 장치(예를 들면, 프린터, 스캐너 등)와 같은 외부 장치와 통신하도록 구성될 수 있다. 예시적인 통신 장치(560)는 네트워크 컨트롤러(566)를 포함하며, 이는 하나 이상의 통신 포트(564)를 통해 네트워크 통신 상에서의 하나 이상의 다른 컴퓨팅 장치(562)와의 통신을 용이하게 하도록 배치될 수 있다.
네트워크 통신 링크는 통신 매체의 일 예시일 수 있다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 전송 메커니즘 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. "변조된 데이터 신호"는 신호 내에 정보를 인코딩하기 위한 방식으로 설정되거나 변경된 특성 중 하나 이상을 갖는 신호일 수 있다. 제한적인지 않은 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음파, 무선 주파수(RF), 마이크로웨이브, 적외선(IR) 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다. 여기서 사용되는 컴퓨터 판독가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함할 수 있다.
컴퓨팅 장치(500)는 범용 또는 전용 서버, 메인 프레임 또는 위의 기능 중 임의의 것을 포함하는 유사한 컴퓨터의 일부로 구현될 수 있다. 컴퓨팅 장치(500)는 랩탑 컴퓨터 및 랩탑이 아닌 컴퓨터 구성 모두를 포함하는 개인용 컴퓨터로 또한 구현될 수 있다.
예시적인 실시예는 디스플레이를 위하여 그래픽 렌더링을 매칭하기 위한 방법을 또한 포함할 수 있다. 이러한 방법은 여기에서 기술된 구조를 포함하는, 임의의 수의 방법으로 구현될 수 있다. 하나의 그러한 방법은 본 개시에서 기술된 유형의 장치 중 기계 작동에 의할 수 있다. 방법을 구현하는 것의 다른 선택적인 방법은 작동 중 일부를 수행하는 하나 이상의 작동자(human operator)와 함께 수행될 방법의 개별 작동 중 하나 이상에 대한 것일 수 있는 반면 다른 작동은 기계에 의해 수행될 수 있다. 이러한 작동자는 서로 결합될 필요는 없으나 각각은 프로그램의 일부를 수행하는 기계와 단지 함께일 수 있다. 다른 예시에서, 인간적인 상호작용은 기계 자동화된 사전 선택된 기준에 의함과 같이 자동화될 수 있다.
도 6은, 여기에서 기술된 적어도 일부 실시예에 따라 배열된, 도 4의 서버(432) 또는 도 5의 장치(500)와 같은 컴퓨팅 장치에 의해 수행될 수 있는 디스플레이를 위하여 그래픽 렌더링을 매칭하기 위한 예시적인 방법을 도시하는 흐름도이다. 예시적인 방법은 블록(622, 624, 626, 628 및/또는 630) 중 하나 이상에 의해 도시되는 하나 이상의 동작, 기능 또는 작동을 포함할 수 있다. 블록(622 내지 630)을 통해 기술되는 동작은 컴퓨팅 장치(610)의 컴퓨터 판독가능 매체(620)와 같은 컴퓨터 판독가능 매체에서 컴퓨터 실행가능 명령어로 또한 저장될 수 있다.
디스플레이 장치에 대한 그래픽 렌더 매칭의 예시적인 프로세스는 블록(622), "디스플레이 장치의 후 처리 매개변수 검출"에서 시작할 수 있고, 도 4의 디스플레이 장치(434)와 같은 디스플레이 장치는 검출될 수 있고, 디스플레이 장치의 후 처리 매개변수는 도 4의 서버(432)에 의해 결정될 수 있다. 블록(622)에 블록(624), "검출된 후 처리 매개변수에 기초하여 렌더링 매개변수 수정"이 뒤따를 수 있고, 도 4의 서버(432)에서의 하나 이상의 전 처리 또는 렌더링 단계는 디스플레이 장치(434)에서 디스플레이 되는 이미지의 품질을 저하시키지 않기 위하여 조정될 수 있다. 예컨대 렌더링 단계가 디스플레이 장치에서 후 처리 단계에 의해 수행되지 않을 것이라면, 단계는 서버(432)에서 제거될 수 있다.
블록(624)에 블록(626), "디스플레이 장치로 이미지(비디오 스트림) 전송"이 뒤따를 수 있다. 블록(626)에서, 서버(432)는 디스플레이를 위하여 디스플레이 장치 또는 디스플레이 장치를 제어하는 클라이언트 장치로 이미지(또는 비디오 스트림)을 전송할 수 있다. 블록(626)에 블록(628), "디스플레이 장치에서 후 처리의 조정를 가능하게 함"이 뒤따를 수 있고, 서버(432)는 디스플레이 장치로 하여금 렌더링 연산을 하지 않을 수 있는 후 처리 단계를 턴오프하게 하거나 후 처리 매개변수를 조정하도록 명령할 수 있다. 블록(628)에 블록(630), "처리 효과 중첩 없이 디스플레이 장치에서 렌더링된 이미지의 디스플레이를 가능하게 함"이 뒤따를 수 있고, 중첩 프로세스가 제거되고 반대로 작용할 수 있는 전 및 후 처리 연산이 조정되도록 디스플레이 장치에서 이미지가 디스플레이된다.
전술된 프로세스에 포함된 블록은 예시 목적을 위함이다. 디스플레이를 위한 매칭 그래픽 렌더링은 예컨대, 도 1 및 도4에서 도시된 블록을 이용하여 더 적은 또는 추가적인 블록을 가지고 유사한 프로세스에 의해 구현될 수 있다. 일부 예시에서, 블록은 상이한 순서에서 수행될 수 있다. 일부 다른 예시에서, 다양한 블록이 제거될 수 있다. 또 다른 예시에서, 다양한 블록은 추가적인 블록으로 분할되거나 또는 더 적은 블록으로 함께 조합될 수 있다.
도 7은, 여기에서 기술된 적어도 일부 실시예에 따라 배열되는, 예시적인 컴퓨터 프로그램 제품(700)의 블록도를 도시한다. 도 7에 도시된 바와 같이, 컴퓨터 프로그램 제품(700)은, 예컨대, 프로세서에 의해 실행되는 경우 여기에서 기술된 기능을 제공할 수 있는 하나 이상의 컴퓨터 판독가능 명령어(704)를 또한 포함할 수 있는 신호 베어링 매체(702)를 포함할 수 있다. 그러므로, 예컨대, 도 5의 프로세서(504)를 참조하면, 매칭 모듈(525) 또는 렌더링 엔진(523)은 여기에서 기술된 디스플레이를 위한 그래픽 렌더 매칭을 제공하는 것에 연관된 동작을 수행하도록 매체(702)에 의해 프로세서(504)로 전달된 명령어(704)에 응답하여 도 7에 도시된 태스크 중 하나 이상을 수행할 수 있다. 그러한 명령어 중 일부는, 여기에서 기술된 일부 실시예에 따라, 예컨대, 디스플레이 장치의 후 처리 매개변수를 검출하는 것, 검출된 매개변수에 기초하여 렌더링된 이미지를 처리하는 것 및 이미지 또는 비디오 스트림을 디스플레이 장치로 전송하기 위한 명령어를 포함할 수 있다.
일부 구현예에서, 도 7에 도시된 신호 베어링 매체(702)는 하드 디스크 드라이브, 고체 상태 드라이브 CD(Compact Disk), DVD(Digital Versatile Disk), 디지털 테이프, 메모리 등과 같은 컴퓨터 판독 가능 매체(706)를 포함할 수 있으나, 이에 제한되지는 않는다. 일부 구현예에서, 신호 베어링 매체(702)는 메모리, 읽기/쓰기(R/W) CD, R/W DVD 등과 같은 기록 가능 매체(708)를 포함할 수 있으나, 이에 제한되지는 않는다. 일부 구현예에서, 신호 베어링 매체(702)는 디지털 및/또는 아날로그 통신 매체(예컨대, 광섬유 케이블, 도파관(waveguide), 유선 통신 링크, 무선 통신 링크 등)와 같은 통신 매체(710)를 포함할 수 있으나, 이에 제한되지는 않는다. 따라서, 예컨대, 프로그램 제품(700)은, 신호 베어링 매체(702)가 무선 통신 매체(710)(예컨대, IEEE 802.11 표준에 따르는 무선 통신 매체)에 의해 전달되는 RF 신호 베어링 매체에 의하여 프로세서(704)의 하나 이상의 모듈로 전달될 수 있다.
일부 예시에 따라, 디스플레이를 위한 그래픽 렌더 매칭을 제공하기 위한 방법은 디스플레이 장치의 하나 이상의 후 처리 매개변수를 검출하는 단계, 검출된 후 처리 매개변수에 기초하여 서버에서 렌더링 프로세스를 수정하는 단계, 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 디스플레이 장치로 전송하는 단계 및 감소된 이미지 품질을 야기하는 디스플레이 장치에서의 후 처리의 영향이 실질적으로 감소되도록 디스플레이 장치에서 전송된 하나 이상의 이미지의 디스플레이 가능하게 하는 단계를 포함할 수 있다.
다른 예시에 따르면, 하나 이상의 후 처리 매개변수는, 디스플레이 장치 유형을 검출하는 것, 디스플레이 장치를 제어하는 클라이언트 장치로부터 네트워크 요청을 통해 디스플레이 유형을 수신하는 것 또는 디스플레이 장치를 제어하는 클라이언트 장치로 질의하는 것 중 하나 이상에 의해 검출될 수 있다. 하나 이상의 후 처리 매개변수를 검출하는 것은 디스플레이 유형에 기초하여 하나 이상의 후 처리 매개변수를 계산하거나 검색 테이블을 이용하는 것을 더 포함할 수 있다. 이미지는 일련의 정지 이미지 또는 비디오 스트림을 포함할 수 있다. 렌더링 프로세스는 초당 전송된 프레임 수, 움직임 평활도 매개변수 또는 안티 에일리어싱 매개변수 중 하나 이상을 조정함으로써 수정될 수 있다.
추가적인 예시에 따라, 렌더링 프로세스는 구성 및 애니메이션, 정점 섀이딩, 기하학적 섀이딩, 원형 설정, 래스터화, 픽셀 섀이딩 및/또는 프레임 버퍼 블렌딩 중 하나 이상을 포함하는 새로운 렌더 경로 특징을 결정함으로써 수정될 수 있다. 방법은 렌더 경로 단계 각각에 대한 엄밀도 수준 및 후 처리 유형을 포함하는 임팩트 레지스터를 생성하는 단계, 후 처리의 영향을 줄이기 위하여 렌더 경로 단계 중 하나 이상의 조합을 이용하는 단계, 게임의 전송 내내 후 처리 매개변수를 모니터링하는 단계, 및/또는 후 처리 매개변수의 변화에 응답하여 렌더링 프로세스를 업데이트하는 단계를 또한 포함할 수 있다. 후 처리 매개변수에서의 변화는 디스플레이 장치 유형의 변화를 포함할 수 있다. 디스플레이 장치는 텔레비전 세트, 프로젝터, 모바일 장치 디스플레이, 웨어러블 디스플레이, 또는 헤드셋 디스플레이일 수 있다.
다른 예시에 따라, 디스플레이를 위하여 그래픽 렌더링을 매칭하도록 조정되는 서버는 명령어를 저장하도록 조정된 메모리, 통신 모듈 및 저장된 명령어와 함께 하나 이상의 네트워크를 통해 게임 클라이언트 장치와 통신하기 위한 처리 유닛을 포함할 수 있다. 처리 유닛은 디스플레이 장치의 하나 이상의 후 처리 매개변수를 검출하고, 디스플레이 장치에서 후 처리에 의해 반전될 하나 이상의 렌더링 프로세스 단계를 제거하도록 검출된 후 처리 매개변수에 기초하여 렌더링 프로세스를 수정하고, 디스플레이 장치로 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 전송하고, 디스플레이 장치에서 전송된 하나 이상의 이미지의 디스플레이를 가능하게 할 수 있다.
또 다른 예시에 따라, 처리 유닛은 디스플레이 장치 유형을 검출하고, 디스플레이 장치를 제어하는 클라이언트 장치로부터 네트워크 요청을 통해 디스플레이 유형을 수신하고 및/또는 디스플레이 장치를 제어하는 클라이언트 장치로 질의함으로써 하나 이상의 후 처리 매개변수를 검출할 수 있다. 처리 유닛은 디스플레이 유형에 기초하여 하나 이상의 후 처리 매개변수를 계산하고 검색 테이블을 이용하는 것 중 하나 이상에 의해 하나 이상의 후 처리 매개변수를 더 검출할 수 있다.
일부 예시에 따라, 하나 이상의 이미지는 일련의 정지 이미지 또는 비디오 스트림을 포함할 수 있고, 처리 유닛은 초당 전송된 프레임 수, 움직임 평활도 매개변수, 블러링 매개변수 및 안티 에일리어싱 매개변수 중 하나 이상을 조정함으로써 렌더링 프로세스를 수정할 수 있고; 구성 및 애니메이션, 정점 섀이딩, 기하학적 섀이딩, 원형 설정, 래스터화, 픽셀 섀이딩 및/또는 프레임 버퍼 블렌딩을 포함하는 하나 이상의 단계를 포함하는 새로운 렌더 경로 특징을 결정함으로써 렌더링 프로세스를 수정할 수 있고; 그리고 렌더 경로 단계 각각에 대한 엄밀도 정도 및 후 처리 유형을 포함하는 임팩트 레지스터를 생성할 수 있다.
다른 예시에 따라, 처리 유닛은 렌더 경로 단계 중 하나 이상의 조합을 이용하여 후 처리의 영향을 줄일 수 있고, 디스플레이 장치가 디스플레이 장치에서 하나 이상의 후 처리 단계를 턴오프하게 하기 위한 명령어를 전송할 수 있고, 디스플레이 스트림의 전송 내내 후 처리 매개변수를 모니터링할 수 있고 및/또는 후 처리 매개변수에서의 변화에 응답하여 렌더링 프로세스를 업데이트할 수 있다. 후 처리 매개변수에서의 변화는 디스플레이 장치 유형의 변화를 포함할 수 있다. 디스플레이 장치는 텔레비전 세트, 모바일 장치 디스플레이, 웨어러블 디스플레이 또는 헤드셋 디스플레이일 수 있다.
추가적인 예시에 따라, 컴퓨터 판독가능 매체는 디스플레이 후 처리로 그래픽 렌더 매칭을 제공하기 위해 저장된 명령어를 포함할 수 있다. 명령어는 디스플레이 장치의 하나 이상의 후 처리 매개변수를 검출하는 것, 검출된 후 처리 매개변수에 기초하여 게임 서버에서 렌더링 프로세스를 수정하는 것, 디스플레이 장치로 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 전송하는 것 및 감소된 이미지 품질을 야기하는 디스플레이 장치에서 후 처리의 디스플레이 장치에서 후 처리의 영향이 실질적으로 감소되도록 디스플레이 장치에서 전송된 하나 이상의 이미지의 디스플레이를 가능하게 하는 것을 포함할 수 있다.
또 다른 예시에 따라, 하나 이상의 후 처리 매개변수를 검출하는 것은 디스플레이 장치 유형을 검출하는 것, 디스플레이 장치를 제어하는 클라이언트 장치로부터 네트워크 요청을 통해 디스플레이 유형을 수신하는 것, 디스플레이 장치를 제어하는 클라이언트 장치로 질의하는 것을 포함할 수 있다. 하나 이상의 후 처리 매개변수는 검색 테이블을 이용하는 것 및 디스플레이 유형에 기초하여 하나 이상의 후 처리 매개변수를 계산하는 것 중 하나 이상을 더 포함할 수 있다.
일부 예시에 따라, 하나 이상의 이미지는 일련의 정지 이미지 또는 비디오 스트림을 포함할 수 있고, 렌더링 프로세스를 수정하는 것은 초당 전송된 프레임의 수, 움직임 평활도 매개변수 및 안티 에일리어싱 매개변수를 조정하는 것 중 하나 이상을 포함할 수 있다. 렌더링 프로세스를 수정하는 것은 구성 및 애니메이션, 정점 섀이딩, 기하학적 섀이딩, 원형 설정, 래스터화, 픽셀 섀이딩 및/또는 프레임 버퍼 블렌딩을 포함하는 새로운 렌더 경로 특징을 결정하는 것을 또한 포함할 수 있다.
다른 예시에 따라, 명령어는 렌더 경로 단계 각각에 대한 엄밀도 정도 및 후 처리 유형을 포함하는 임팩트 레지스터를 생성하는 것, 렌더 경로 단계 중 하나 이상의 조합을 이용하여 후 처리의 영향을 줄이는 것, 디스플레이 장치가 디스플레이 장치에서 하나 이상의 후 처리 단계를 턴오프하게 하기 위한 명령어를 전송하는 것, 게임의 전송 내내 후 처리 매개변수를 모니터링하는 것 및/또는 후 처리 매개변수에서의 변화에 응답하여 렌더링 프로세스를 업데이트하는 것을 더 포함할 수 있다. 후 처리 매개변수에서의 변화는 디스플레이 장치 유형의 변화를 포함할 수 있고, 디스플레이 장치는 텔레비전 세트, 프로젝터, 모바일 장치 디스플레이, 웨어러블 디스플레이 또는 핸드셋 디스플레이일 수 있다.
또 다른 예시에 따라, 디스플레이 후 처리로 그래픽 렌더 매칭을 허용하도록 조정되는 게임 클라이언트는 디스플레이 장치, 명령어를 저장하도록 조정된 메모리, 통신 모듈 및 메모리, 통신 모듈 및 디스플레이 장치에 결합된 프로세서를 포함할 수 있다. 프로세서는 디스플레이 장치의 하나 이상의 후 처리 매개변수를 결정하고, 결정된 후 처리 매개변수에 기초하여 게임 서버에서의 렌더링 프로세스가 수정되도록 게임 서버로 하나 이상의 후 처리 매개변수를 제공하고, 게임 서버로부터 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 수신하고, 감소된 이미지 품질을 야기하는 디스플레이 장치에서의 후 처리의 영향이 실질적으로 감소되도록 디스플레이 장치에서 수신된 하나 이상의 이미지의 디스플레이를 가능하게 할 수 있다.
일부 예시에 따라, 프로세서는 게임 서버로의 최초 연결 시 네트워크 메시지를 전송하고 및/또는 게임 서버로부터 질의에 응답함으로써 하나 이상의 후 처리 매개변수를 제공할 수 있다. 하나 이상의 이미지는 일련의 정지 이미지 또는 비디오 스트림을 포함할 수 있다. 프로세서는 게임서버로부터 디스플레이 장치에서 하나 이상의 후 처리 단계를 턴오프하게 하는 명령어를 수신할 수 있고 디스플레이 장치에서 하나 이상의 후 처리 단계를 턴오프하게 할 수 있다. 디스플레이 장치에서의 하나 이상의 후 처리 단계는 움직임 평활도 매개변수 및/또는 안티 에일리어싱 매개변수를 포함할 수 있다. 프로세서는 게임의 실행 내내 후 처리 매개변수를 모니터링할 수 있고 후 처리 매개변수에서의 변화에 응답하여 게임 서버로 업데이트를 제공할 수 있다. 후 처리 매개변수에서의 변화는 디스플레이 모드에서의 전송 또는 디스플레이 장치 유형의 변화를 포함할 수 있다. 디스플레이 장치는 텔레비전 세트, 프로젝터, 모바빌 장치 디스플레이, 웨어러블 디스플레이 또는 헤드셋 디스플레이일 수 있다.
시스템 양상들의 하드웨어와 소프트웨어 구현 사이에는 구별이 거의 없다. 하드웨어 또는 소프트웨어의 사용은 일반적으로 (그러나 어떤 맥락에서 하드웨어 및 소프트웨어 사이의 선택이 중요하게 될 수 있다는 점에서 항상 그런 것은 아니지만) 비용 대비 효율의 트레이드오프(tradeoff)를 나타내는 설계상 선택(design choice)이다. 여기에서 기술된 프로세스 및/또는 시스템 및/또는 다른 기술들이 영향 받을 수 있는 다양한 수단(vehicles)(예를 들어, 하드웨어, 소프트웨어 및/또는 펌웨어)이 있으며, 선호되는 수단은 프로세스 및/또는 시스템 및/또는 다른 기술이 사용되는 맥락(context)에 따라 변경될 것이다. 예를 들어, 만약 구현자가 속도 및 정확도가 중요하다고 결정하면, 구현자는 주로 하드웨어 및/또는 펌웨어(firmware) 수단을 선택할 수 있고, 만약 유연성이 중요하다면, 구현자는 주로 소프트웨어 구현을 선택할 수 있으며, 또는, 또 다른 대안으로서, 구현자는 하드웨어, 소프트웨어, 및/또는 펌웨어 중 일부 조합을 선택할 수 있다.
전술한 상세한 설명은 블록도, 흐름도, 및/또는 예시의 사용을 통해 장치 및/또는 프로세스의 다양한 실시예를 설명하였다. 그러한 블록도, 흐름도, 및/또는 예시가 하나 이상의 기능 및/또는 동작을 포함하는 한, 당업자라면 그러한 블록도, 흐름도, 또는 예시 내의 각각의 기능 및/또는 동작은 하드웨어, 소프트웨어, 펌웨어, 또는 실질적으로 그들 임의의 조합의 넓은 범위에 의해 개별적으로 및/또는 집합적으로 구현될 수 있다는 것이 이해될 것이다. 일 실시예에서, 여기에서 기술된 대상의 몇몇 부분은 ASIC(Application Specific Integrated Circuit), FPGA(Field Programmable Gate Array), DSP(Digital Signal Processor) 또는 다른 집적의 형태를 통해 구현될 수 있다. 그러나, 당업자라면, 여기에서 기술된 실시예의 일부 양상이, 하나 이상의 컴퓨터 상에 실행되는 하나 이상의 컴퓨터 프로그램(예를 들어, 하나 이상의 컴퓨터 시스템 상에 실행되는 하나 이상의 프로그램), 하나 이상의 프로세서 상에서 실행되는 하나 이상의 프로그램(예를 들어, 하나 이상의 마이크로프로세서 상에서 실행되는 하나 이상의 프로그램), 펌웨어 또는 실질적으로 그들의 조합으로서, 전체적으로 또는 부분적으로 균등하게 집적 회로에 구현될 수 있다는 알 수 있으며, 소프트웨어 및/또는 펌웨어를 위한 코드의 작성 및/또는 회로의 설계는 본 개시에 비추어 당업자에게 자명할 것이다.
본 개시는 다양한 태양의 예시로서 의도된 본 출원에 기술된 특정 예시들에 제한되지 않을 것이다. 당업자에게 명백할 바와 같이, 많은 수정과 변형이 그 사상과 범위를 벗어나지 않으면서 이루어질 수 있다. 여기에 열거된 것들에 더하여, 본 개시의 범위 안에서 기능적으로 균등한 방법과 장치가 위의 설명으로부터 당업자에게 명백할 것이다. 그러한 수정과 변형은 첨부된 청구항의 범위에 들어가도록 의도된 것이다. 본 개시는 첨부된 청구항의 용어에 의해서만, 그러한 청구항에 부여된 균등물의 전 범위와 함께, 제한될 것이다. 본 개시가 물론 다양할 수 있는 특정 방법, 시약, 합성 구성 또는 생물학적 시스템에 제한되지 않는 것으로 이해될 것이다. 또한, 여기에서 사용된 용어는 단지 특정 예시들을 기술하기 위한 목적이고, 제한하는 것으로 의도되지 않음이 이해될 것이다.
또한, 당업자라면, 여기에서 기술된 대상의 수단(mechanism)들이 다양한 형태의 프로그램 제품으로 분포될 수 있음을 이해할 것이며, 여기에서 기술된 대상의 실시예는, 분배를 실제로 수행하는데 사용되는 신호 베어링 매체(signal bearing medium)의 특정 유형과 무관하게 적용됨을 이해할 것이다. 신호 베어링 매체의 예시는, 플로피 디스크, 하드 디스크 드라이브(HDD), CD(Compact Disc), DVD(Digital Versatile Disk), 디지털 테이프, 컴퓨터 메모리, 고체 상태 드라이브 등과 같은 판독가능 유형의 매체 및 디지털 및/또는 아날로그 통신 매체(예를 들어, 섬유 광학 케이블, 웨이브가이드, 유선 통신 링크, 무선 통신 링크 등)와 같은 전송 유형 매체를 포함할 수 있으나, 이에 제한되지는 않는다.
당업자라면, 여기서 설명된 형식으로 장치 및/또는 프로세스를 기술하고, 이후, 공학 실무를 사용하여 그러한 기술된 장치 및/또는 프로세스을 데이터 처리 시스템에 통합한다는 것은 당해 분야에서는 일반적이란 것을 인식할 것이다. 즉, 여기서 기술된 장치 및/또는 프로세스의 적어도 일부는 합당한 실험 량을 통해 데이터 처리 시스템에 통합될 수 있다. 당업자라면, 전형적인 데이터 처리 시스템은 일반적으로 시스템 유닛 하우징, 비디오 디스플레이 장치, 휘발성 및 비휘발성 메모리 같은 메모리, 마이크로프로세서 및 디지털 신호 프로세서와 같은 프로세서, 운영 체제, 드라이버, 그래픽 사용자 인터페이스 및 애플리케이션 프로그램과 같은 컴퓨터 엔티티(computational entities), 터치 패드 또는 스크린 같은 하나 이상의 상호작용 장치, 및/또는 피드백 루프 및 제어 모터(예를 들면, 위치 및/또는 갠트리 시스템의 속도를 감지하기 위한 피드백; 컴포넌트 및/또는 양(quantities)을 이동하고 및/또는 조정하기 위한 제어 모터)를 포함하는 제어 시스템 중 하나 이상을 일반적으로 포함한다는 것을 인식할 것이다.
전형적인 데이터 처리 시스템은 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템에서 전형적으로 발견되는 바와 같은 임의의 적절한 상업적으로 이용 가능한 컴포넌트를 이용하여 구현될 수 있다. 여기에서 기술된 대상은 때때로 상이한 다른 컴포넌트 내에 포함되거나 접속된 상이한 컴포넌트를 도시한다. 도시된 그러한 아키텍처는 단순히 예시적인 것이고, 사실상 동일한 기능을 달성하는 다른 많은 아키텍처가 구현될 수 있다는 것이 이해되어야 한다. 개념적으로, 동일한 기능을 달성하기 위한 컴포넌트의 임의의 배치는 원하는 기능이 달성되도록 유효하게 "연관"된다. 이에 따라, 특정 기능을 달성하기 위해 여기서 결합된 임의의 두 개의 컴포넌트는, 아키텍처 또는 중간 컴포넌트와는 무관하게, 원하는 기능이 달성되도록 서로 "연관"된 것으로 볼 수 있다. 마찬가지로, 연관된 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 접속"되거나 또는 "동작적으로 연결"되는 것으로 간주될 수 있고, 그와 같이 연관될 수 있는 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 연결가능"한 것으로 볼 수 있다. 동작적으로 연결가능하다는 것의 특정예는 물리적으로 연결가능하고 및/또는 물리적으로 인터액팅하는 컴포넌트 및/또는 무선으로 인터액팅이 가능하고 및/또는 무선으로 인터액팅하는 컴포넌트 및/또는 논리적으로 인터액팅하고 및/또는 논리적으로 인터액팅이 가능한 컴포넌트를 포함하지만, 이에 한정되는 것은 아니다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어의 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 기재될 수 있다.
당업자라면, 일반적으로 본 개시에 사용되며 특히 첨부된 청구범위(예를 들어, 첨부된 청구범위)에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도되었음을 이해할 것이다. 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함하여 청구항 기재사항을 도입할 수 있다. 그러나, 그러한 구절의 사용이, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 실시예들로, 그러한 도입된 청구항 기재사항을 포함하는 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")과 같은 부정관사(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 적어도 기재된 수(예를 들어, 다른 수식어가 없는 "두개의 기재사항"을 단순히 기재한 것은, 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)를 의미하도록 해석되어야 함을 이해할 것이다.
또한, "A, B 및 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B, 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). 또한 당업자라면, 실질적으로 임의의 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나, 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려했음을 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.
추가적으로, 개시의 특징 또는 양태가 마쿠시(Markush) 그룹으로 기술되는 경우, 개시는 마쿠시 그룹의 임의의 개별 요소 또는 요소들의 하위 그룹 역시 포함하고 있다는 것을 당업자는 인식할 것이다.
당업자에게 이해될 것과 같이, 임의의 그리고 모든 목적에서든, 기술 내용을 제공하는 것 등에 있어서, 여기에 개시되어 있는 모든 범위는 임의의 그리고 모든 가능한 하위범위와 그러한 하위범위의 조합을 또한 포함한다. 임의의 열거된 범위는 적어도 1/2, 1/3, 1/4, 1/5, 1/10 등으로 나누어지는 동일한 범위를 충분히 설명하고 실시가능하게 하는 것으로서 쉽게 인식될 수 있다. 제한하지 않는 예시로서, 여기서 논의되는 각각의 범위는 하위 1/3, 중앙 1/3, 상위 1/3 등으로 나누어질 수 있다. 또한, "까지", "적어도", "보다 많은", "보다 적은" 등과 같은 언어는 기재된 수를 포함하며, 전술한 하위범위로 후속적으로 나누어질 수 있는 범위를 지칭함이 당업자에게 이해되어야 한다. 마지막으로, 범위는 각각의 개별 요소를 포함함이 이해되어야 한다. 따라서, 예를 들어, 1-3개의 셀을 갖는 그룹은 1, 2 또는 3개의 셀을 갖는 그룹들을 의미한다. 유사하게, 1-5개의 셀을 갖는 그룹은 1, 2, 3, 4 또는 5개의 셀을 갖는 그룹을 의미한다.
다양한 양상 및 실시예들이 여기에서 개시되었지만, 다른 양상 및 실시예들이 당업자에게 명확할 것이다. 본 개시에 기재된 다양한 양상 및 실시예는 예시의 목적으로 제시된 것이고, 제한하려고 의도된 것이 아니며, 진정한 범위와 사상은 이하 청구범위에 의해 나타낸다.

Claims (44)

  1. 디스플레이를 위한 그래픽 렌더 매칭을 제공하기 위한 방법으로서,
    디스플레이 장치의 하나 이상의 후 처리 매개변수를 검출하는 단계;
    렌더링 프로세서의 하나 이상의 동작을 제거하는 것, 이미지 생성을 위해 필요한 프레임의 수를 줄이는 것 및 이동하는 객체를 엣지-정의(edge-define)하는 것 중 하나 이상에 의해, 전 처리 동작(pre-processing operation)과 후 처리 동작(post-processing operation)을 반대로 작용시키는 것(counteract)이 조정되도록, 상기 검출된 후 처리 매개변수에 기초하여 서버에서 렌더링 프로세스를 수정하는 단계;
    상기 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 상기 디스플레이 장치로 전송하는 단계;
    상기 디스플레이 장치에서 감소된 이미지 품질을 피하기 위하여 상기 디스플레이 장치에서 하나 이상의 후 처리 동작을 턴오프(turn off)하게 하는 명령어를 상기 디스플레이 장치로 전송하는 단계; 및
    상기 감소된 이미지 품질을 야기하는 상기 디스플레이 장치에서의 후 처리의 영향이 실질적으로 감소되도록 상기 디스플레이 장치에서 상기 전송된 하나 이상의 이미지의 디스플레이를 가능하게 하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 하나 이상의 후 처리 매개변수를 검출하는 단계는
    디스플레이 장치 유형을 검출하는 단계;
    상기 디스플레이 장치를 제어하는 클라이언트 장치로부터 네트워크 요청을 통해 상기 디스플레이 장치 유형을 수신하는 단계; 및
    상기 디스플레이 장치를 제어하는 상기 클라이언트 장치로 질의하는 단계
    중 하나 이상을 포함하는, 방법.
  3. 제2항에 있어서,
    상기 하나 이상의 후 처리 매개변수를 검출하는 단계는 검색 테이블을 이용하는 단계 및 상기 디스플레이 장치 유형에 기초하여 상기 하나 이상의 후 처리 매개변수를 계산하는 단계 중 하나 이상을 더 포함하는, 방법.
  4. 제1항에 있어서,
    상기 하나 이상의 이미지는 일련의 정지 이미지 및 비디오 스트림 중 하나를 포함하는, 방법.
  5. 제4항에 있어서,
    상기 렌더링 프로세스를 수정하는 단계는 초당 전송된 프레임의 수, 움직임 평활도 매개변수(motion smoothing parameter) 및 안티 에일리어싱 매개변수(anti-aliasing parameter) 중 하나 이상을 조정하는 단계를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 렌더링 프로세스를 수정하는 단계는 구성 및 애니메이션(composition and animation), 정점 섀이딩(vertex shading), 기하학적 섀이딩(geometry shading), 원형 설정(primitive setup), 래스터화(rasterization), 픽셀 섀이딩 및/또는 프레임 버퍼 블렌딩을 포함하는 하나 이상의 동작을 포함하는 새로운 렌더 경로 특징(render path characterization)을 결정하는 단계를 포함하는, 방법.
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 디스플레이를 위한 그래픽 렌더링을 매칭하도록 적응되는 서버로서,
    명령어를 저장하도록 적응되는 메모리;
    통신 모듈; 및
    상기 저장된 명령어와 함께 하나 이상의 네트워크를 통해 게임 클라이언트 장치와 통신하기 위한 처리 유닛을 포함하고,
    여기에서 상기 처리 유닛은,
    디스플레이 장치의 하나 이상의 후 처리 매개변수를 검출하고;
    상기 디스플레이 장치에서의 후 처리에 의해 역전될(reverse) 하나 이상의 렌더링 프로세스 동작을 제거하기 위하여 상기 검출된 후 처리 매개변수에 기초하여 렌더링 프로세스를 수정하고 - 렌더 경로 특징(render path characterization)을 매칭하고, 상기 디스플레이 장치의 유형에 기초하여 상기 렌더링 프로세스를 어떻게 수정하는지에 대한 정보를 포함하도록 임팩트 레지스터(impact register)가 생성됨 -;
    상기 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 상기 디스플레이 장치로 전송하며; 그리고
    상기 디스플레이 장치에서 상기 전송된 하나 이상의 이미지의 디스플레이를 가능하게 하도록 구성되는, 서버.
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제13항에 있어서,
    상기 임팩트 레지스터는 렌더 경로 동작 각각에 대한 후 처리 유형 및 엄밀도 수준(severity level)을 포함하는, 서버.
  20. 제13항에 있어서,
    상기 처리 유닛은 상기 후 처리의 영향을 감소시키도록 렌더 경로 동작 중 하나 이상의 조합을 이용하도록 더 구성되는, 서버.
  21. 삭제
  22. 제13항에 있어서,
    상기 처리 유닛은,
    게임의 전송 내내 상기 후 처리 매개변수를 모니터링하며;
    상기 후 처리 매개변수에서의 변화에 응답하여 상기 렌더링 프로세스를 업데이트하도록 더 구성되는, 서버.
  23. 제22항에 있어서,
    상기 후 처리 매개변수에서의 상기 변화는 디스플레이 장치 유형의 변화를 포함하는, 서버.
  24. 제13항에 있어서,
    상기 디스플레이 장치는 텔레비전 세트, 프로젝터, 모바일 장치 디스플레이, 웨어러블 디스플레이 및 헤드셋 디스플레이 중 하나인, 서버.
  25. 디스플레이 후 처리로 그래픽 렌더 매칭을 제공하기 위한 저장된 명령어를 갖는 컴퓨터 판독가능 매체로서, 상기 명령어는,
    디스플레이 장치의 하나 이상의 후 처리 매개변수를 검출하는 것;
    전 처리 동작과 후 처리 동작을 반대로 작용시키는 것이 조정되도록, 상기 검출된 후 처리 매개변수에 기초하여 게임 서버에서 렌더링 프로세스를 수정하는 것;
    상기 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 상기 디스플레이 장치로 전송하는 것;
    상기 디스플레이 장치에서 감소된 이미지 품질을 피하기 위하여 상기 디스플레이 장치에서 하나 이상의 후 처리 동작을 턴오프(turn off)하게 하는 명령어를 상기 디스플레이 장치로 전송하는 것 - 상기 명령어는, 디스플레이 브라우저 또는 애플릿에서 다른 스크린 유형의 에뮬레이션을 촉구하기 위한 에뮬레이터 커맨드, 인 디스플레이 브라우저, DLNA(Digital Living Network Alliance) 메시지로서 전달되는 "후 처리하지 말 것" 플래그를 포함함 -;
    상기 디스플레이 장치의 유형이 알려지지 않았거나 검출되지 않는 경우 상기 디스플레이 장치로 상기 명령어를 디폴트로 발송하는 것; 및
    상기 감소된 이미지 품질을 야기하는 상기 디스플레이 장치에서의 후 처리의 영향이 실질적으로 감소되도록 상기 디스플레이 장치에서 상기 전송된 하나 이상의 이미지의 디스플레이를 가능하게 하는 것
    을 포함하는, 컴퓨터 판독가능 매체.
  26. 삭제
  27. 삭제
  28. 삭제
  29. 제25항에 있어서
    상기 렌더링 프로세스를 수정하는 것은, 움직임 평활도 매개변수 및 안티-에일리어싱 매개변수를 조정하는 것, 및 구성 및 애니메이션, 정점 섀이딩, 기하학적 섀이딩, 원형 설정, 래스터화, 픽셀 섀이딩 및/또는 프레임 버퍼 블렌딩을 포함하는 하나 이상의 동작을 포함하는 새로운 렌더 경로 특징을 결정하는 것 중 하나 이상을 포함하는, 컴퓨터 판독가능 매체.
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 제25항에 있어서,
    상기 명령어는,
    게임의 전송 내내 상기 후 처리 매개변수를 모니터링하는 것; 및
    상기 후 처리 매개변수에서의 변화에 응답하여 상기 렌더링 프로세스를 업데이트하는 것을 더 포함하는, 컴퓨터 판독가능 매체.
  35. 삭제
  36. 삭제
  37. 디스플레이 후 처리로의 그래픽 렌더 매칭을 허용하도록 적응되는 게임 클라이언트로서,
    디스플레이 장치;
    명령어를 저장하도록 적응되는 메모리;
    통신 모듈; 및
    상기 메모리, 상기 통신 모듈, 및 상기 디스플레이 장치에 결합된 프로세서를 포함하고, 상기 프로세서는,
    상기 디스플레이 장치의 하나 이상의 후 처리 매개변수를 검출하고;
    전 처리 동작과 후 처리 동작을 반대로 작용시키는 것이 조정되도록, 상기 검출된 후 처리 매개변수에 기초하여 게임 서버에서 렌더링 프로세서가 수정되도록 게임 서버로 상기 하나 이상의 후 처리 매개변수를 제공하고 - 렌더 경로 특징을 매칭하고, 상기 디스플레이 장치의 유형에 기초하여 렌더링 프로세스를 어떻게 수정하는지에 대한 정보를 포함하도록 임팩트 레지스터가 생성됨 -;
    상기 수정된 렌더링 프로세스에 의해 생성된 하나 이상의 이미지를 상기 게임 서버로부터 수신하고;
    상기 디스플레이 장치에서 감소된 이미지 품질을 피하기 위하여 상기 디스플레이 장치에서 하나 이상의 후 처리 동작을 턴오프 하게 하기 위한 명령어를 상기 게임 서버로부터 수신하며;
    상기 디스플레이 장치의 유형이 알려지지 않았거나 검출되지 않는 경우 상기 게임 서버로부터 상기 명령어를 디폴트로 수신하며; 그리고
    상기 감소된 이미지 품질을 야기하는 상기 디스플레이 장치에서의 후 처리의 영향이 실질적으로 감소되도록 상기 디스플레이 장치에서 상기 수신된 하나 이상의 이미지의 디스플레이를 가능하게 하도록 구성되는, 게임 클라이언트.
  38. 제37항에 있어서,
    상기 프로세서는,
    상기 게임 서버에 초기 연결 시 네트워크 메시지를 전송하고; 및/또는
    상기 게임 서버로부터 질의에 응답함으로써 상기 하나 이상의 후 처리 매개변수를 제공하도록 더 구성되는, 게임 클라이언트.
  39. 삭제
  40. 삭제
  41. 삭제
  42. 제37항에 있어서,
    상기 프로세서는,
    게임의 전송 내내 상기 후 처리 매개변수를 모니터링하며;
    상기 후 처리 매개변수에서의 변화에 응답하여 상기 게임 서버에게 업데이트를 제공하도록 더 구성되는, 게임 클라이언트.
  43. 제42항에 있어서,
    상기 후 처리 매개변수에서의 상기 변화는 디스플레이 장치 유형의 변화를 포함하는, 게임 클라이언트.
  44. 제37항에 있어서,
    상기 디스플레이 장치는 텔레비전 세트, 프로젝터, 모바일 장치 디스플레이, 웨어러블 디스플레이 및 헤드셋 디스플레이 중 하나인, 게임 클라이언트.
KR1020147018127A 2011-12-13 2011-12-13 그래픽을 위한 그래픽 렌더링 매칭 KR101595076B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/064666 WO2013089684A2 (en) 2011-12-13 2011-12-13 Graphics render matching for displays

Publications (2)

Publication Number Publication Date
KR20140099308A KR20140099308A (ko) 2014-08-11
KR101595076B1 true KR101595076B1 (ko) 2016-02-26

Family

ID=48572484

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147018127A KR101595076B1 (ko) 2011-12-13 2011-12-13 그래픽을 위한 그래픽 렌더링 매칭

Country Status (4)

Country Link
US (1) US8888590B2 (ko)
JP (1) JP5896389B2 (ko)
KR (1) KR101595076B1 (ko)
WO (1) WO2013089684A2 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5336939B2 (ja) * 2009-06-15 2013-11-06 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US20130188878A1 (en) * 2010-07-20 2013-07-25 Lockheed Martin Corporation Image analysis systems having image sharpening capabilities and methods using same
TWI606418B (zh) * 2012-09-28 2017-11-21 輝達公司 圖形處理單元驅動程式產生內插的圖框之電腦系統及方法
US11185783B2 (en) 2013-03-14 2021-11-30 Sony Interactive Entertainment Inc. Controller emulation for cloud gaming
US10021180B2 (en) * 2013-06-04 2018-07-10 Kingston Digital, Inc. Universal environment extender
US9232177B2 (en) * 2013-07-12 2016-01-05 Intel Corporation Video chat data processing
US9691181B2 (en) * 2014-02-24 2017-06-27 Sony Interactive Entertainment Inc. Methods and systems for social sharing head mounted display (HMD) content with a second screen
US10263933B2 (en) 2016-05-17 2019-04-16 Google Llc Incorporating selectable application links into message exchange threads
GB2550448A (en) * 2016-05-17 2017-11-22 Google Inc Augmenting message exchange threads
US10291565B2 (en) 2016-05-17 2019-05-14 Google Llc Incorporating selectable application links into conversations with personal assistant modules
KR102651126B1 (ko) 2016-11-28 2024-03-26 삼성전자주식회사 그래픽 프로세싱 장치 및 그래픽스 파이프라인에서 텍스처를 처리하는 방법
CN115379185B (zh) * 2018-08-09 2024-04-02 辉达公司 使用可变速率着色的运动自适应渲染
CN113572948B (zh) * 2020-04-29 2022-11-11 华为技术有限公司 视频处理方法和视频处理装置
CN112328452A (zh) * 2020-11-06 2021-02-05 北京金山云网络技术有限公司 外设消息的响应方法及装置、存储介质、电子设备
US20220212100A1 (en) * 2021-01-04 2022-07-07 Microsoft Technology Licensing, Llc Systems and methods for streaming interactive applications
CN113350781B (zh) * 2021-06-28 2022-12-23 青岛海信传媒网络技术有限公司 一种显示设备及游戏模式切换方法
CN116440501B (zh) * 2023-06-16 2023-08-29 瀚博半导体(上海)有限公司 自适应云游戏视频画面渲染方法和系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6810528B1 (en) * 1999-12-03 2004-10-26 Sony Computer Entertainment America Inc. System and method for providing an on-line gaming experience through a CATV broadband network
US6785329B1 (en) * 1999-12-21 2004-08-31 Microsoft Corporation Automatic video object extraction
JP2002204465A (ja) * 2000-12-28 2002-07-19 Casio Comput Co Ltd 外部表示調整装置、及び外部表示調整方法、外部表示調整処理プログラムを記録した記録媒体
KR100451584B1 (ko) 2001-12-20 2004-10-08 엘지전자 주식회사 웨이블릿 변환과 움직임 추정을 이용한 동영상 부호화 및복호화 장치
KR100449857B1 (ko) * 2001-12-26 2004-09-22 한국전자통신연구원 광대역 인쇄형 다이폴 안테나
US6980599B2 (en) * 2002-06-04 2005-12-27 Koninklijke Philips Electronics N.V. Video decoding system and method having post-processing to reduce sharpness prediction drift
KR100434178B1 (ko) * 2003-12-16 2004-06-09 엔에이치엔(주) 단말 수단의 영상 신호 처리 능력에 연동되는 영상데이터의 정밀도 조정 방법 및 조정 시스템
JP2008500752A (ja) * 2004-05-27 2008-01-10 ヴィヴィダス テクノロジーズ ピーティーワイ リミテッド ビデオデータの適応型復号
US7796095B2 (en) 2005-03-18 2010-09-14 Ati Technologies Ulc Display specific image processing in an integrated circuit
KR100968370B1 (ko) * 2008-04-21 2010-07-06 주식회사 코아로직 2d 및 3d 통합 그래픽 가속기, 그 가속기를 포함한어플리케이션 프로세서 및 그 어플리케이션 프로세서에서의그래픽 가속방법
JP4427592B2 (ja) * 2008-08-04 2010-03-10 株式会社東芝 画像処理装置、および画像処理方法
CN102405644B (zh) * 2009-04-21 2014-09-10 马维尔国际贸易有限公司 基于因特网视频内容的经估算质量对视频后处理器的自动调节
US8506402B2 (en) * 2009-06-01 2013-08-13 Sony Computer Entertainment America Llc Game execution environments
EP2278550B1 (en) * 2009-06-17 2013-08-14 Canon Kabushiki Kaisha Method of encoding and decoding a graphics path sequence into a layered scheme
US8773448B2 (en) * 2010-04-09 2014-07-08 Intel Corporation List texture
JP5632680B2 (ja) * 2010-08-25 2014-11-26 日立アロカメディカル株式会社 超音波画像処理装置
JP5576781B2 (ja) * 2010-12-16 2014-08-20 株式会社メガチップス 画像処理システム、画像処理システムの動作方法、ホスト装置、プログラム、およびプログラムの作成方法
KR20120119504A (ko) * 2011-04-21 2012-10-31 한국전자통신연구원 게임 스트리밍 서비스 시스템 및 방법

Also Published As

Publication number Publication date
KR20140099308A (ko) 2014-08-11
JP2015509227A (ja) 2015-03-26
US8888590B2 (en) 2014-11-18
WO2013089684A2 (en) 2013-06-20
WO2013089684A3 (en) 2014-04-10
JP5896389B2 (ja) 2016-03-30
US20130150161A1 (en) 2013-06-13

Similar Documents

Publication Publication Date Title
KR101595076B1 (ko) 그래픽을 위한 그래픽 렌더링 매칭
US11565178B2 (en) User interface rendering and post processing during video game streaming
US10537799B1 (en) User interface rendering and post processing during video game streaming
US9955194B2 (en) Server GPU assistance for mobile GPU applications
JP6310073B2 (ja) 描画システム、制御方法、及び記憶媒体
US9454282B2 (en) Sending application input commands over a network
US9253494B2 (en) Altering streaming video encoding based on user attention
EP2895242B1 (en) Method and apparatus for delivery of interactive multimedia content over a network
EP3938871A1 (en) Virtual character inter-reality crossover
US20240173631A1 (en) Dynamic allocation of compute resources for highlight generation in cloud gaming systems
KR20220124286A (ko) 애플리케이션 계산들의 분배를 위한 방법들 및 장치들
KR20080085008A (ko) 모바일 디바이스를 이용하여 사용자가 대형 화면 게임을플레이할 수 있도록 하는 방법 및 시스템
JP6379107B2 (ja) 情報処理装置並びにその制御方法、及びプログラム
US11321931B2 (en) Creating cloud-hosted, streamed augmented reality experiences with low perceived latency
US9948691B2 (en) Reducing input processing latency for remotely executed applications
US9497238B1 (en) Application control translation
CN115220906A (zh) 音频/视频合成应用的云执行
WO2024026206A1 (en) User sentiment detection to identify user impairment during game play providing for automatic generation or modification of in-game effects
US9384276B1 (en) Reducing latency for remotely executed applications
US20240261678A1 (en) Text extraction to separate encoding of text and images for streaming during periods of low connectivity
WO2024118082A1 (en) Methods and systems for rendering video graphics
CN115253291A (zh) 一种运动状态识别方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
A201 Request for 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: 20190328

Year of fee payment: 4