KR20160082521A - 크로마 하향 변환 및 상향 변환 처리 - Google Patents

크로마 하향 변환 및 상향 변환 처리 Download PDF

Info

Publication number
KR20160082521A
KR20160082521A KR1020167014166A KR20167014166A KR20160082521A KR 20160082521 A KR20160082521 A KR 20160082521A KR 1020167014166 A KR1020167014166 A KR 1020167014166A KR 20167014166 A KR20167014166 A KR 20167014166A KR 20160082521 A KR20160082521 A KR 20160082521A
Authority
KR
South Korea
Prior art keywords
screen content
format
computing device
chrominance
conversion
Prior art date
Application number
KR1020167014166A
Other languages
English (en)
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 KR20160082521A publication Critical patent/KR20160082521A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/64Circuits for processing colour signals
    • H04N9/646Circuits for processing colour signals for image enhancement, e.g. vertical detail restoration, cross-colour elimination, contour correction, chrominance trapping filters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Abstract

스크린 컨텐츠의 상향 변환 및 하향 변환을 포함한, 스크린 컨텐츠의 크로미넌스를 처리하는 방법 및 시스템이 개시된다. 한 방법은 컴퓨팅 디바이스에서의 스크린 컨텐츠의 크로미넌스를 제1 포맷에서 제2 포맷으로 하향 변환하는 단계를 포함하며, 제2 포맷은 비디오 코텍에 준한 것이다. 방법은 또한, 제2 포맷의 하향 변환된 스크린 데이터를 비디오 코덱을 이용해 압축하여 압축된 하향 변환 스크린 컨텐츠를 생성하는 단계를 포함한다. 방법은 압축된 하향 변환 스크린 컨텐츠를 제2 컴퓨팅 디바이스에 전송하는 단계를 더 포함한다.

Description

크로마 하향 변환 및 상향 변환 처리{CHROMA DOWN-CONVERSION AND UP-CONVERSION PROCESSING}
스크린 컨텐츠, 혹은 컴퓨팅 시스템에 의해 디스플레이 상에서 사용자에게 표시되는 정보를 기술하는 데이터는 일반적으로 다수의 상이한 타입의 컨텐츠를 포함한다. 이들은, 예컨대 텍스트 컨텐츠, 비디오 컨텐츠, 정지 화상(예, 윈도우즈나 기타 GUI 엘리먼트의 디스플레이), 및 슬라이드 또는 다른 프레젠테이션 자료를 포함할 수 있다. 점점 더, 예컨대 2개 이상의 원격 컴퓨팅 시스템이 공통 디스플레이를 공유할 수 있도록 스크린 컨텐츠가 배포됨에 따라, 떨어져 있는 2인이 동시에 동일한 스크린을 볼 수 있게 되거나, 다른 방식으로는 스크린이 여러 개인들 사이에 공유되는 원격회의(teleconference)가 가능하게 된다.
일반적으로, 스튜디오 안에서 카메라로부터 포착된, 또는 다른 이미지 또는 텍스트 기반의 스크린 이미지(예, 디스플레이 윈도우)에 기초한 스크린 컨텐츠는 RGB 포맷으로 포착된다. R8B8G8(각 R, G, 및 B 색 채널마다 8비트) 또는R16G16B16(각 채널마다 16비트) 등의 특정 RGB 포맷은 각 색 채널마다 사용되는 비트수가 다를 수 있다. 그리고 이 데이터가 대응하는 휘도(luminance)-색도(chrominance) 배열(즉, YUV 포맷)로 변환되면, 대응하는 포맷은 픽셀당 총 6바이트의 정보를 필요로 하는 YUV444이게 된다.
스크린 컨텐츠가 원격으로 배포되기 때문에, 또 스크린 해상도의 상승으로 인해, 대역폭을 줄이고 전송 효율을 향상시키기 위해 이 컨텐츠를 본래의 비트맵 사이즈 미만의 사이즈로 압축하는 것이 바람직하다. 따라서, 비디오 또는 스크린 데이터를 송신 및/또는 수신하도록 구성되어 있는 다수의 디바이스는, 2픽셀을 묘사하는 데에 4바이트를 필요로 하는 YUV422 데이터, 또는 4픽셀을 묘사하는 데에 6바이트를 필요로 하는 YUV411 데이터, 또는 심지어 YUV420 데이터 등의, 시각적으로 주관적 품질 손실은 적지만 객관적 품질이 낮은 데이터만 허용할 수 있는데, 상기 YUV420 데이터는 비디오 컨텐츠에 대해서는 시각적으로 무손실 품질이 되게 하기 때문에 주로 사용되고, 역시 4픽셀을 묘사하는 데에 6바이트를 필요로 하지만, Y, U, V 값을 그룹핑하기 위해 재정렬되어야 한다. 이들 디바이스는 처리 및 압축을 위해 (예, H.264 등의 MPEG(Moving Picture Experts Group) 코덱 또는 HEVC 기반의 코덱을 이용해서) 이러한 소형의 데이터 사이즈를 관리하는 것만 가능하다. 그러나, YUV444로부터 이들 다른 포맷 중 하나로의 변환은 통상, 각 픽셀을 묘사하는 데이터의 일부를 탈락(즉, 다운샘플링)시킴으로써 행해져서, 일부 색 정보가 손실된다.
갈수록 더, 원격 시스템 상에서 볼 수 있도록 스크린 컨텐츠가 전송되기 때문에, YUV444로부터 YUV420으로, 또는 통상 비디오 전송에만 사용되는 기타 저품질의 포맷으로의 데이터의 손실이 요구되고 있지만, 스크린 컨텐츠가 비디오 컨텐츠만 포함하는 것이 아니라 정지 화상과 텍스트 컨텐츠도 포함하고 있기 때문에, 저품질 포맷의 사용은 바람직하지 않다. 한편, 디바이스가 그렇게 인코딩된 스크린 컨텐츠를 수신하여 그 컨텐츠를 디코딩/압축해제할 때에, 디바이스는 그 스크린 컨텐츠를 수신한 저품질 포맷(예, YUV420 등)으로 그렇게 할 수 있다. 일부 경우에는 디코딩된 컨텐츠가 이어서 YUV444로 상향 변환된다. 이에 많은 문제가 발생한다. 예를 들면, 이러한 상향 변환은 통상 상향 변환을 달성하는 최근접 픽셀 방법(nearest pixel method) 또는 쌍일차 방법(bilinear method)을 이용하여 행해진다. 이들 기술을 이용하면 YUV444 포맷으로 상향 변환된 후에 스크린 컨텐츠에 아티팩트가 생긴다. 예를 들면, 텍스트가 특정 색에 속하면 사라질 수 있거나 다른 아티팩트가 보일 수도 있다(예, 최종 이미지에 선 또는 쉐도우가 보일 수 있다). 이러한 아티팩트는 상향 변환시에도 스크린 컨텐츠에 선명도를 결여시킨다.
정리하면, 본 개시내용은 고품질 포맷(예, YUV444)의 이미지 데이터를, 인코딩 및 원격 시스템에의 전송을 위해 저품질 포맷으로 변환할 때에 달리 발생하게 되는 시각적 아티팩트를 최소화하는데 이용할 수 있는 크로미넌스(chrominance) 하향 변환 기술에 관한 것이다. 일부 양태에 있어서, 본 개시내용은 고품질 이미지 데이터가 원격 시스템에서 재구성되는 것을 보장하기 위해 해당 하향 변환 기술을 보상하는 상향 변환 기술을 적용한다.
제1 양태에 있어서, 스크린 컨텐츠의 크로미넌스 처리 방법이 개시된다. 이 방법은 컴퓨팅 디바이스에서의 스크린 컨텐츠의 크로미넌스를 제1 포맷에서 제2 포맷으로 하향 변환하는 단계를 포함하며, 제2 포맷은 비디오 코텍에 준한 것이다. 방법은 또한, 제2 포맷의 하향 변환된 스크린 컨텐츠를 비디오 코덱을 이용해 압축하여 압축된 하향 변환 스크린 컨텐츠를 생성하는 단계를 포함한다. 방법은 압축된 하향 변환 스크린 컨텐츠를 제2 컴퓨팅 디바이스에 전송하는 단계를 더 포함한다.
제2 양태에 있어서, 스크린 컨텐츠 변환 시스템은, 컴퓨팅 디바이스 상에서 동작 가능하며, 스크린 컨텐츠를 수신하고 그 스크린 컨텐츠의 크로미넌스를 제1 포맷에서 제2 포맷으로 하향 변환하는 하향 변환 컴포넌트를 포함하고, 제2 포맷은 비디오 코텍에 준한 것이며, 하향 변환 컴포넌트는 스크린 컨텐츠에 9탭(nine-tap) 필터, 쌍방향 필터(bilateral filter), 또는 이산 코사인 변환(discrete cosine transform) 중 적어도 하나를 적용하여 하향 변환된 스크린 컨텐츠를 생성한다. 스크린 컨텐츠 변환 시스템은, 컴퓨팅 디바이스 상에서 동작 가능하며, 하향 변환된 스크린 컨텐츠를 수신하고, 비디오 코덱을 이용해 압축된 하향 변환 스크린 컨텐츠를 생성하는 압축 컴포넌트를 더 포함한다. 스크린 컨텐츠 변환 시스템은 또한, 압축된 하향 변환 스크린 컨텐츠를 원격 컴퓨팅 디바이스에 전송하도록 동작 가능한 전송 컴포넌트를 포함한다.
제3 양태에 있어서, 컴퓨터 실행 가능한 명령어를 포함하는 컴퓨터 판독 가능한 매체가 개시되며, 이 컴퓨터 실행 가능한 명령어는 실행 시에, 컴퓨팅 시스템으로 하여금 스크린 컨텐츠의 크로미넌스를 처리하는 방법을 수행하게 한다. 이 방법은 컴퓨팅 디바이스에서의 스크린 컨텐츠의 크로미넌스를 제1 포맷에서 제2 포맷으로 하향 변환하는 단계를 포함하고, 제2 포맷은 비디오 코텍에 준한 것이며, 하향 변환 단계는 스크린 컨텐츠에 9탭(nine-tap) 필터, 쌍방향 필터(bilateral filter), 또는 이산 코사인 변환 중 적어도 하나를 적용하여 하향 변환된 스크린 컨텐츠를 생성하는 단계를 포함한다. 방법은 제2 포맷의 하향 변환된 스크린 컨텐츠를 비디오 코덱을 이용해 압축하여 압축된 하향 변환 스크린 컨텐츠를 생성하는 단계를 더 포함한다. 방법은 또한, 압축된 하향 변환 스크린 컨텐츠를 제2 컴퓨팅 디바이스에 전송하는 단계를 포함한다.
본 개요는 이하의 상세한 설명에서 더욱 설명하는 다양한 개념들을 간략화한 형태로 소개하기 위해 제공된다. 본 개요는 청구범위의 발명의 대상이 되는 주요 특징 또는 본질적 특징을 확인하기 위한 것이 아니며, 청구범위의 발명의 대상의 범위를 한정하기 위해 이용되어서도 안 된다.
도 1은 원격 소스로부터 컴퓨팅 시스템에서 수신된 그래픽 데이터가 처리되는 시스템의 예시적인 개략 구성을 나타내고 있다.
도 2는 비디오 코덱을 이용하여 스크린 데이터의 압축과 관련해서 사용하기 위한 크로미넌스 하향 변환 및 상향 변환의 방법의 흐름도이다.
도 3a는 예시적인 실시형태에 따라, 9탭 필터를 사용한 크로미넌스 하향 변환 및 상향 변환의 방법의 흐름도이다.
도 3b는 예시적인 실시형태에 따라, 색상, 채도, 명도 변환 및 쌍방향 필터를 사용한 크로미넌스 하향 변환 및 상향 변환의 방법의 흐름도이다.
도 3c는 예시적인 실시형태에 따라, 이산 코사인 변환 및 상보적 역 이산 코사인 변환을 사용한 크로미넌스 하향 변환 및 상향 변환의 방법의 흐름도이다.
도 4는 도 3a의 실시형태에 따라 사용 가능한 9탭 필터의 예시도이다.
도 5는 도 4의 필터 레이아웃과 관련하여 사용 가능한 9탭 필터의 예시적인 가중화를 나타내고 있다.
도 6은 예시적인 실시형태에 따른, 도 3b에 도시하는 바와 같은 색상, 채도, 명도 변환 및 쌍방향 필터를 사용한 크로미넌스 하향 변환을 도시하는 블록도이다.
도 7은 예시적인 실시형태에 따라 스크린 컨텐츠에 대해 행해진 이산 코사인 변환의 개략도이다.
도 8은 예시적인 실시형태에 따라, 하향 변환된 스크린 컨텐츠에 대해 행해진 역 이산 코사인 변환의 개략도이다.
도 9는 본 발명의 실시형태들이 실시될 수 있는 컴퓨팅 디바이스의 예시적인 물리적 컴포넌트들을 도시하는 블록도이다.
도 10a와 도 10b는 본 발명의 실시형태들이 실시될 수 있는 모바일 컴퓨팅 디바이스의 간략화된 블록도이다.
도 11은 본 발명의 실시형태들이 실시될 수 있는 분산형 컴퓨팅 시스템의 간략화된 블록도이다.
이상 간략하게 설명한 바와 같이, 본 발명의 실시형태는 크로미넌스 상향 변환 및 하향 변환 처리에 관한 것이다. 구체적으로, 본 개시내용은 개괄적으로, 복수의 상이한 타입의 스크린 컨텐츠를 포함하는, 스크린 프레임 등의 스크린 컨텐츠를 처리하는 방법 및 시스템에 관한 것이다. 이러한 스크린 컨텐츠는 텍스트, 비디오, 이미지, 특수 효과, 또는 다른 타입의 컨텐츠를 포함할 수 있다. 본 명세서에서 설명하는 크로미넌스 상향 변환 및 하향 변환 프로세스는 이러한 스크린 컨텐츠를, 비디오 인코딩 및 전송 프로토콜을 이용하여 전송용 압축된 포맷으로 변환하면서, 고품질 색 및 이미지 충실도를 유지한다.
원격 스크린 디스플레이 시스템에서의 몇몇 취약점을 해결하기 위해, 미국 워싱턴주 레드몬드에 소재한 MICROSOFT®사에서는 원격 데스크탑 프로토콜(Remote Desktop Protocol, RDP)을 개발하였다. 이 프로토콜에서는, 상이한 컨텐츠는 상이하게 분류되는 식으로 스크린 프레임이 분석된다. RDP를 사용할 경우, 후속 재구성 및 디스플레이를 위해 압축되어 원격 시스템에 전송될 스크린 컨텐츠의 타입에 기초하여, 혼합된 다수의 코텍이 적용될 수 있다.
RDP 솔루션의 최신판에서는, MPEG 기반의 코덱(예, HEVC 또는 H.264/MPEG-4 AVC) 등의 비디오 코덱이 스크린 컨텐츠를 압축 및 배포하는데 이용되고 있다. 이러한 비디오 코텍은 통상, 픽셀 데이터를 묘사하는 데에 소수개(또는 적어도 완전 충실도(full-fidelity) 이미지 데이터에 사용된 것보다 작은 수)의 비트를 이용한, 이미지의 컴팩트한 표현을 사용할 것을 요구한다. 전술한 바와 같이, 픽셀 데이터의 간단한 다운샘플링은 중요 정보를 상실할 수 있어, 최종의, 인코딩되어 전송되고 디코딩된 스크린 컨텐츠에 시각적 아티팩트를 일으킬 수 있다.
일부 실시형태에 있어서, 기존의 RDP 솔루션과 대조적으로, 본 명세서에 설명하는 크로미넌스 하향 변환 및 상향 변환은, 통상 YUV420 포맷 등의 저품질 포맷을 수신하는 비디오 코텍과 관련하여 사용하도록 스크린 컨텐츠를 포맷팅한다. 9탭 필터의 사용, 색상, 채도, 명도(HSL) 포맷팅 및 쌍방향 필터의 사용, 또는 이산 코사인 변환(및 상향 변환에 수반되는 역 이산 코사인 변환)의 사용 등의, 본 명세서에서 설명하는 기술 중 하나 이상을 적용하여, YUV444 등의 고품질 포맷의 크로미넌스 성분의 간단한 다운샘플링에 의해 달리 발생하게 되는 시각적 아티팩트가 방지된다.
도 1은 원격 스크린 컨텐츠 배포가 행해질 수 있고 범용 코덱(universal codec)이 구현될 수 있는 시스템(100)의 예시적인 개략 구성을 도시하고 있다. 도시하는 바와 같이, 시스템(100)은 CPU 등의 프로그래머블 회로(104)를 포함하는 컴퓨팅 디바이스(102)를 포함한다. 컴퓨팅 디바이스(102)는 프로그래머블 회로(104)에 의해 실행 가능한 컴퓨팅 명령어를 저장하도록 구성된 메모리(106)를 더 포함한다. 컴퓨팅 디바이스(102)로서 이용되기에 적합한 예시적인 컴퓨팅 시스템의 유형에 대해서는 도 9 내지 도 11와 관련하여 후술한다.
일반적으로, 메모리(106)는 원격 데스크탑 프로토콜 소프트웨어(108)와 인코더(110)를 포함한다. 원격 데스크탑 프로토콜 소프트웨어(108)는 일반적으로, 컴퓨팅 디바이스(102)의 로컬 디스플레이(112) 상에 표시되는 스크린 컨텐츠를, 원격 디바이스(120)로서 예시하는 원격 컴퓨팅 디바이스 상에 복사하도록 구성된다. 일부 실시형태에 있어서, 원격 데스크탑 프로토콜 소프트웨어(108)는 미국 워싱턴주 레드몬드에 소재한 MICROSOFT®사에서 정의된 RDP(Remote Desktop Protocol)에 준한 컨텐츠를 생성한다.
이하에서 더욱 상세하게 설명하겠지만, 인코더(110)는 원격 디바이스(120)로의 전송을 위해 압축되어 있는 다수의 컨텐츠 타입(예, 텍스트, 비디오, 이미지)의 컨텐츠에 범용 컨텐츠 코텍을 적용하도록 구성될 수 있다. 예시적인 실시형태에 있어서, 인코더(110)은 MPEG 기반의 코덱 등의 표준 기반의 코텍에 준한 비트스트림을 생성할 수 있다. 구체적인 예로, 인코더(110)는 MPEG-4 AVC/H.264 또는 HEVC/H.265 코덱 등의 하나 이상의 코덱과 호환 가능하다. 다른 타입의 표준 기반의 인코딩 방식 또는 코텍도 사용할 수 있다.
도 1에 도시하는 바와 같이, 인코딩된 스크린 컨텐츠는 컴퓨팅 디바이스(102)의 통신 인터페이스(104)에 의해 원격 디바이스(120)에 전송될 수 있으며, 컴퓨팅 디바이스(102)는 인코딩된 스크린 컨텐츠를 통신 접속(116)(예, 인터넷)을 통해 원격 디바이스(120)의 통신 인터페이스(134)에 제공한다. 일반적으로 그리고 후술하는 바와 같이, 통신 접속(116)은 예컨대 그 통신 접속(116)을 형성하는 네트워크 상에서 발생하는 추가 트래픽 때문에, 예측 불가능한 가용 대역폭을 가질 수 있다. 따라서, 상이한 데이터 품질이 통신 접속(116)을 통해 전송될 수 있다.
본 개시내용의 상황에서는, 일부 실시형태에 있어서, 원격 디바이스(120)가 CPU 등의 메인 프로그래머블 회로(124)와, 특수 용도 프로그래머블 회로(125)를 포함한다. 예시적인 실시형태에 있어서, 특수 용도 프로그래머블 회로(125)는 특정 표준(예, MPEG-4 AVC/H.264 또는 HEVC/H.265)을 가진 컨텐츠를 인코딩 또는 디코딩하기로 설계된 MPEG 디코더 등의 표준 기반의 디코더이다. 구체적인 실시형태에 있어서, 원격 디바이스(120)는 컴퓨팅 디바이스(102)에 대해 근거리에 있거나 원격으로 배치된 클라이언트 디바이스에 대응하며, 그것은 스크린 컨텐츠를 수신하도록 사용 가능한 클라이언트 디바이스로서 역할한다. 따라서, 원격 디바이스(120)의 관점에서, 컴퓨팅 디바이스(102)는 그래픽(예, 디스플레이) 컨텐츠의 원격 소스에 대응한다.
또한, 원격 디바이스(120)는 메모리(126)와 디스플레이(128)를 포함한다. 메모리(126)는 원격 데스크탑 클라이언트(130)와 디스플레이 버퍼(132)를 포함한다. 원격 데스크탑 클라이언트(130)는 예컨대, 컴퓨팅 디바이스(102)로부터 스크린 컨텐츠를 수신하여 수신된 스크린 컨텐츠를 디코딩하도록 구성된 소프트웨어 컴포넌트일 수 있다. 일부 실시형태에 있어서, 원격 데스크탑 클라이언트(130)는 디스플레이(128) 상에 원격 스크린을 제공하기 위해 스크린 컨텐츠를 수신하여 처리하도록 구성된다. 스크린 컨텐츠는 일부 실시형태에 있어서, 미국 워싱턴주 레드몬드에 소재한 MICROSOFT®사에서 정의된 원격 데스크탑 프로토콜에 따라 전송될 수 있다. 디스플레이 버퍼(12)는 디스플레이(128) 상에 표시될 스크린 컨텐츠의 현재의 카피(copy)를, 예컨대 업데이트가 이용 가능할 때에 영역이 선택되어 대체될 수 있는 비트맵으로서 메모리에 저장한다.
도 2를 참조하면, 비디오 코덱을 이용하여 스크린 데이터의 압축과 관련해 사용하기 위한 크로미넌스 하향 변환 및 상향 변환의 방법(200)의 흐름도를 나타내고 있다. 이 방법(200)은 예컨대 앞에서 도 1의 시스템(100)을 이용하여, 또는 도 9 내지 도 11과 관련하여 후술하는 것인 컴퓨팅 시스템의 기타 구성으로 수행될 수 있다.
나타내는 실시형태에 있어서, 방법(200)은 변환 컴포넌트에서의 하나 이상의 프레임을 나타내는 스크린 컨텐츠의 수신에 대응하는 프레임 수신 단계 202를 포함한다. 예컨대, 프레임 수신 단계 202는 컴퓨팅 시스템의 변환 컴포넌트에서 스크린 컨텐츠를 그 동일한 컴퓨팅 시스템의 다른 소프트웨어 서브시스템으로부터 수신하는 것에 대응할 수 있으며, 대안의 실시형태에서는, 프레임 수신 단계 202는 시스템이 방법(200)의 단계들 중 하나 이상을 수행하는 것에 비교할 경우 별개의 컴퓨팅 시스템 또는 디바이스로부터 스크린 컨텐츠를 수신하는 것에 대응할 수 있다.
크로미넌스 하향 변환 단계 204는 스크린 컨텐츠의 픽셀의 각각에 대해 하향 변환 프로세스를 수행하여, 스크린 컨텐츠를 제1 포맷에서 비디오 인코딩 코덱에 허용 가능한 제2 포맷으로 변환한다. 예시적인 실시형태에 있어서, 제1 포맷은 YUV444 포맷일 수 있고, 제2 포맷은 YUV420 또는 YUV422 포맷일 수 있다. 대안적 실시형태에 있어서, 다른 색채 표현(예, 좌표계) 및/또는 포맷도 또한 이용될 수 있다. 더욱이, 다양한 하향 변환 방법론이 이용될 수도 있다. 도 3a-도 3b와 관련하여 더욱 자세하게 후술하겠지만, 다양한 실시형태에 있어서, 9탭 필터가 사용될 수도 있고, 대안적으로 또는 부가적으로, 쌍방향 필터가, 예컨대 색상, 채도, 명도(HSL, hue, saturation, and lightness) 좌표계로 변환된 스크린 컨텐츠에 대해 사용될 수도 있다. 또, 도 3c와 관련하여 설명하겠지만, 이산 코사인 변환이 크로미넌스 하향 변환에 이용될 수 있다.
압축 단계 206은 크로미넌스 하향 변환 단계 204에서의 하향 변환된 스크린 컨텐츠에 대해 압축 동작을 수행한다. 압축 동작은 예컨대 하향 변환된 스크린 컨텐츠에의 비디오 코덱의 적용일 수 있으며, 이에 비디오 코덱에 허용 가능한 포맷이 된다. 예시적인 실시형태에 있어서, 압축 단계 206은 MPEG-4 AVC/H.264, HEVC/H.265, 또는 다른 MPEG 기반의 인코딩 방식을 적용하는 것에 대응할 수 있다.
도시하는 실시형태에 있어서, 채널 전송 단계 208는 이제 인코딩된, 또는 압축된, 하향 변환 스크린 컨텐츠를, 하향 변환 및/또는 압축이 행해진 컴퓨팅 시스템으로부터 제2 컴퓨팅 시스템으로 전송하는 것에 대응한다. 이것은, 예컨대, 도 1과 관련하여 전술한 바와 같이, 인코딩된 스크린 컨텐츠를 컴퓨팅 디바이스(102)로부터 원격 디바이스(120)로 전송하는 것에 대응할 수 있다. 이것은 전술한 바와 같이 예컨대 RDP 소프트웨어를 이용하여, 스트리밍형 컨텐츠 구성을 통해 달성될 수 있다. 인코딩된 비디오 파일의 일괄 전송 등의 다른 전송 구성도 가능할 수 있다.
도시하는 실시형태에 있어서, 압축해제 단계 210은 압축 단계 206에서 사용된 것의 상보적 코덱 적용을 이용하여, 전송된 압축(및 하향 변환) 스크린 컨텐츠를 압축해제한다. 전술한 바와 같이, 압축해제 단계 210은 MPEG-4 AVC/H.264, HEVC/H.265, 또는 다른 MPEG 기반의 인코딩/디코딩 방식을 활용할 수 있다. 압축해제 단계 210은 하향 변환된 스크린 컨텐츠를 재구성하는데, 예컨대 스크린 컨텐츠를 YUV420 포맷, YUV422, 또는 다른 코텍에 준한 색채 표현으로 재구성한다.
압축해제 단계 210에 이어서, 상향 변환 단계 212가 하향 변환된 스크린 컨텐츠에 기초하여 스크린 컨텐츠의 상향 변환 버전을 생성한다. 상향 변환 프로세스는 다수의 방식으로 수행될 수 있다. 예를 들어, 상향 변환 단계 212는 YUV420 또는 YUV422로부터 YUV444로의 상향 변환시에 쌍일차 필터(bilinear filter) 또는 쌍입방 필터(bi-cubic filter)를 적용하는 것을 포함할 수 있다. 이러한 구성은, 예컨대 전술한 9탭 하향 변환 프로세스와 관련해서 이용될 때에 효과적일 수 있다. 대안적 실시형태에 있어서, 상향 변환 단계 212는 어떤 필터의 사용 없이도 최근접 포인트를 이용해서 간단히 수행될 수 있다. 추가 실시형태에 있어서, 상향 변환 단계 212는 역 이산 코사인 변환을 수행하는 것을 포함할 수 있으며, 이러한 역 이산 코사인 변환의 예는 도 8에 도시하며 후술한다.
저장 및 표시 단계 214에서는 상향 변환된 스크린 컨텐츠를 수신하고 그 상향 변환된 스크린 컨텐츠를 이용하여 하나 이상의 동작을 수행할 수 있다. 예시적인 실시형태에 있어서, 저장 및 표시 단계 214는 원격 디바이스(120) 등의 원격 시스템의 스크린 상에, 원래의 제1 포맷(예, YUV444)으로 상향 변환된 스크린 컨텐츠를 표시할 수 있다. 대안의 실시형태에 있어서, 수신된 컨텐츠는 추후 표시 또는 전송을 위해 원격 디바이스(120) 등의 원격 시스템에서 메모리에 저장될 수 있다.
이제 도 3a-도 3c를 참조하면, 가능한 하향 변환 및 상향 변환 프로세스의 세가지 특정 예를 개시하며, 이들은 원격 시스템에의 전달을 위해 스크린 컨텐츠를 압축 및 전송하는 것과 함께 이용될 수 있다. 도 3a는 예시적인 실시형태에 따라, 9탭 필터를 사용한 크로미넌스 하향 변환 및 상향 변환의 방법(300)의 흐름도이다. 도 3a의 방법(300)에 있어서, 수신된 입력 스크린 컨텐츠는 하향 변환 모듈(302)에서 9탭 필터를 이용하여 제1 포맷에서 제2 포맷으로 하향 변환된다. 이 변환은 도 4-도 5와 관련하여 후술하겠지만 하향 변환을 수행하기 위해 9탭 필터를 이용해서 행해질 수 있다. 전술한 바와 같이, 제1 포맷은 일반적으로 입력으로서 비디오 코덱에 허용되지 않는 것인 한편, 제2 포맷은 일반적으로 보다 컴팩트한 포맷이며 입력으로서 비디오 코텍에 허용된다. 예시적인 실시형태에 있어서, 제1 포맷은 RGB 또는 YUV444 포맷일 수 있고, 제2 포맷은 YUV420 또는 YUV422 포맷일 수 있다. 구체적으로, 하향 변환 모듈(302)은 YUV444 포맷의 U 및 V 패널을 하향 변환하여 하향 변환 스크린 컨텐츠를 생성하도록 구성될 수 있다.
그런 다음 하향 변환 스크린 컨텐츠는, 비디오 코덱을 이용하여 하향 변환 스크린 컨텐츠를 인코딩하는 인코딩 모듈(304)로 전달된다. 전술한 바와 같이, 각종의 상이한 코텍 중 MPEG 기반의 코텍(예, AVC/H.264, HEVC/H.265) 등의 임의의 것이 이용될 수 있다. 그리고 나서 인코딩 컨텐츠는 전송 채널(306)로 전달되며, 이것은 인코딩된 스크린 컨텐츠의 (예, 컴퓨팅 디바이스(102)로부터 원격 디바이스(120)로의) 전송에 대응한다. 수신측 컴퓨팅 시스템(원격 디바이스(120) 등)에서, 비디오 압축해제 단계 308은 수신된 인코딩 컨텐츠를 압축해제하여, 비디오 압축/압축해제를 위해 선택된 코텍에 준한 제2 포맷(예, YUV420 또는 YUV422)의 무압축 스크린 컨텐츠를 재구성한다. 이 하향 변환된 스크린 컨텐츠는 그 스크린 컨텐츠의 상향 변환을 수행하는 상향 변환 모듈(310)로 전달된다. 구체적으로, 스크린 컨텐츠(예, 프레임)을 상향 변환 포맷(예, YUV444, 또는 등가의 RGB 포맷)으로 생성하기 위해 쌍일차 필터가 적용될 수 있다. 표시 또는 저장 모듈(312)이 스크린 컨텐츠를 저장용 메모리나 표시용 스크린에 제공한다.
도 3b를 참조하면, 예시적인 실시형태에 따라, 색상, 채도, 명도 변환 및 쌍방향 필터를 사용한 크로미넌스 하향 변환 및 상향 변환의 방법(320)의 흐름도가 도시된다. 일반적으로, 방법(320)은 전술한 바와 같이 방법(300)에 대응한다. 그러나, 방법(320)은, 하향 변환 모듈(302) 및 상향 변환 모듈(310)과는 상이한 하향 변환 모듈(322) 및 상향 변환 모듈(324)을 포함한다. 이 구성에 있어서, 하향 변환 모듈(322)은 스크린 데이터의 색상, 채도, 명도(HSL) 표현을 이용하여 크로미넌스 하향 변환을 적용하고, 그 표현에 쌍방향 필터를 적용한다. 구체적으로, HSL 표현 및 쌍방향 필터 적용의 일례에 대해서는 이하에서 도 6과 관련하여 더 자세하게 설명한다. 일반적으로, 쌍방향 필터는 YUV420 또는 YUV422 표현을 달성하기 위해 U 및 V 채널을 하향 변환하여 프레임의 크로미넌스 서브샘플링을 생성할 것이다.
도시하는 실시형태에 있어서, 상향 변환 모듈(324)은 하나 이상의 필터의 사용이 가능하더라도 이들 필터를 적용할 필요 없이 일반적인 상향 변환 프로세스를 수행한다. 예를 들어, 상향 변환 스크린 컨텐츠, 예컨대 YUV444 프레임을 생성하기 위해 필터 또는 최근접 포인트 카피가 적용될 수 있다.
도 3c를 참조하면, 예시적인 실시형태에 따라, 이산 코사인 변환 및 상보적 역 이산 코사인 변환을 사용한 크로미넌스 하향 변환 및 상향 변환의 방법(340)의 흐름도가 도시된다. 일반적으로, 방법(340)은 전술한 바와 같이 방법(300)에 대응한다. 그러나, 방법(340)은, 하향 변환 모듈(302) 및 상향 변환 모듈(310)과는 상이한, 이산 코사인 변환을 수행하는 하향 변환 모듈(342), 및 역 이산 코사인 변환을 수행하는 상향 변환 모듈(344)을 포함한다. 구체적으로, 하향 변환 모듈(342)에서는, DCT 방법 모듈에 대한 입력이 YUV444 프레임일 것이며, 그 모듈은 YUV420 또는 YUV422 포맷 등의 새로운 포맷을 달성하기 위해 U 및 V 채널을 다운샘플링하여 크로미넌스 서브샘플링 프레임을 생성할 것이다. 상향 변환 모듈(344)은 수신측 컴퓨팅 시스템에서 예컨대 YUV444 포맷 프레임을 생성하기 위해 역 이산 코사인 변환을 수행한다.
방법(300, 320)과는 대조적으로, 방법(340)은 하향 변환 및 압축 데이터가 전송되는 채널의 대향 단부에서의(예컨대, 컴퓨팅 디바이스(102) 및 원격 디바이스(120)에서의) 상보적 동작을 필요로 한다. 이것은, DCT 기반의 하향 변환의 일반적인 사용에 있어서, DCT 프로세스가 고에너지 신호를 DCT 매트릭스의 단일 사분면 내에 집결시키기 때문에, DCT 프로세스로부터 데이터를 재구성하는데 역 DCT 프로세스가 필요한 것에서 기인한다. 이 프로세스의 상세 설명은 도 7-도 8과 관련하여 이하에서 제공된다.
이제 도 4-도 5를 차조하면, 도 3a의 방법(300)과 관련하여 사용된 9탭 필터의 예시적인 구현에 관한 상세를 제공한다. 도 4는 일반적으로 특정 픽셀에 대한 9탭 필터(400)의 레이아웃을 도시하고 있다. 도 4에 예시하는 바와 같이, 중심 픽셀(402)(대상 픽셀)은 8개의 주변 픽셀(404a-h) 각각과 비교된다. 8개의 주변 픽셀, 즉 각각 옆과 대각선에 이웃한 주변 픽셀은 일반적으로 중심 픽셀을 "터칭"하는 것에 대응한다. 예시적인 실시형태에 있어서, 9탭 필터(400)는, YUV444 포맷팅된 스크린 컨텐츠의 UV 성분의 다운샘플링(UVdown으로 표시)을 정의하는, 이하의 수식에 의해 기술될 수 있다.
Figure pct00001
Figure pct00002
이 구성에 있어서, UVdown 포인트는 그 자신을 기초로 하며 8개의 주변 픽셀은 404a-h인 것을 주목해야 한다.
도 5에 도시하는 9탭 필터(500)의 예시적인 구현에 있어서, 가능한 가중치가 제공된다. 구체적으로, 예시적인 구현에 있어서, 현재의 픽셀 또는 중심 픽셀(502)은 이웃 포인트(504a-h) 각각과 동등하게 가중된다. 따라서, 중심 픽셀(502)은 필터의 전체 고려치(consideration)의 8/16으로 가중되고, 각각의 이웃 포인트에는 1/16 가중치가 할당된다. 물론, 대안적 실시형태에 있어서, 포인트의 다른 가중치가 이용될 수도 있다. 도 3a와, 도 4-도 5를 참조하면, 일반적으로 수신측 디바이스에서 9탭 필터(400) 및 연관된 필터링을 이용함으로써, 그러한 변환 및/또는 필터를 사용하지 않으면 발생할 수 있는 오버슈팅 문제가 방지된다. 더욱이, 이 구성은 연산적으로 간단하여, 복잡도가 낮은 용도에서 또는 송신측 또는 수신측 디바이스의 한쪽 또는 양쪽이 제한된 연산 리소스를 갖는 경우에 이용될 수 있다.
특별히 도 6을 참조하여, 예시적인 하향 변환 모듈(600)의 상황에서, HSL 및 쌍방향 필터를 사용한 하향 변환에 관한 상세에 대해 설명한다. 하향 변환 모듈(600)은 예컨대 앞의, 도 3b의 다운 하향 변환 모듈(322)에 이용될 수 있다. 일반적으로, 도 6에 예시하는 바와 같이, 모듈(600)은 YUV444 등의 제1 포맷의 스크린 컨텐츠를 수신한다. 그런 다음 그 컨텐츠는, YUV444 컨텐츠라면, RGB 변환 모듈(602)에서 RGB 스케일로 변환된다. 대안적으로, RGB 포맷팅된 데이터는 이러한 재포맷팅 없이 원래의 형태로 유지될 수 있다.
RGB 포맷팅된 스크린 컨텐츠는 색상, 채도, 명도(HSL) 변환 모듈(604)로 전달된다. 예시적인 실시형태에 있어서, 다음의 수식을 이용하여 RGB 채널 각각에 대해 채도(s)가 산출될 수 있다.
Figure pct00003
Figure pct00004
앞의 수식에서, 명도(l)는 RGB 값의 평균을 나타내는 다음의 수식에 기초하여 결정될 수 있다.
Figure pct00005
색상(Hp)은 다음의 공식을 이용하여, 특정 포인트에서의 명도 및 채도로부터 산출될 수 있다.
Figure pct00006
최근접 이웃 픽셀로부터 픽셀 거리에 대해 표현된 HSL 값은 이어서 쌍방향 필터(606)로 전달되는데, 이 필터는 레인지 거리(range distance)(608)와 나란한 값을 수신하고 다운샘플링된 크로미넌스 결과(610)를 제공한다. 도시하는 실시형태에 있어서, 쌍방향 필터(606)는 다음의 응답 필터링 수식을 이용하여 현재의 다운샘플링 위치에 대응하는 UVdown 성분을 결정한다.
Figure pct00007
앞의 쌍방향 필터 정의에 있어서,
Figure pct00008
항은 다음과 같이 정의된다.
Figure pct00009
이 수식에 있어서, Iq는 q 위치의 픽셀 값이고, p는 현재의 위치이며, G는 가우시안 커널, 박스 커널, 또는 그 필터에 사용된 다른 커널이다.
도 6을 참조하면, 일반적으로 하향 변환 모듈(600)은 색 채도의 손실이 바람직하지 않은 상황에 특히 적용 가능하다. 색이 HSL 평면보다는 UV 평면 상에 표현되기 때문에, HSL 하향 변환에서는 크로미넌스 정보의 손실이 적다(대응하는 트레이드-오프로 색상 정보에서는 손실이 약간 더 크다). 또한, 추가 채도 정보가 하향 변환 프로세스시에 보전되기 때문에, 9탭 필터가 사용되는 경우(그리고 상향 변환시에 또는 그 이전에 필터의 사용이 장려되는 경우)와 달리, 상향 변환시에 또는 그 이전에, 모듈(600)에서 상보적 필터링을 준비할 필요가 적다.
이제 도 7-도 8을 참조하여, 이산 코사인 변환(도 7에 예시) 및 역 이산 코사인 변환(도 8에 예시)의 사용에 기초한 크로미넌스 하향 변환 및 상향 변환에 대해 개시한다. 본 명세서에 개시하는 하향 변환 및 상향 변환은 도 3c에 대해 전술한 DCT 기반 기술의 예를 나타낼 수 있다.
도 7에 도시하는 실시형태에 있어서, DCT 커널(704)이 8x8 어레이의 U/V 값(702)에 대해 포워드 변환을 행하여 변환 계수의 어레이(706)가 얻어지는 DCT 프로세스(700)를 나타낸다. 이어서 역시 8x8 어레이인 변환 계수 어레이(706)는, 그 변환 계수 어레이(706)의 최상단 좌측부만 나타내는 변환 계수의 서브세트(708)가 유지되도록 컷오프된다. 이 서브세트(708)는 YUV444에서 YUV420로의 다운샘플링에 대응한다.
도 8에서, 역 DCT(inverse DCT, IDCT) 프로세스(800)가 서브세트(708)에 대해 행해진다. IDCT 프로세스(800)는 서브세트(708)를 수신하고 DCT 프로세스(700)에 의해 원래 생성되는 4x4 매트릭스로부터 8x8 매트릭스(802)를 달성하기 위해 제로패딩 채워넣기(zero-padded fill)를 수행한다. 상보적 IDCT 커널(804)은 크로미넌스 정보의 원래의 해상도(예, YUV444)를 복구하기 위해, 결과적인 8x8 어레이의 U/V 값(806)을 재생성한다.
도 7-도 8을 참조하면, 일반적으로 DCT 프로세스(700)는 압축용 코덱의 적용 전에 제1 컴퓨팅 시스템에서 스크린 컨텐츠에 대해 통상 DCT 프로세스(700)가 행해질 것임을 주목해야 한다. IDCT 프로세스(800)는 스크린 컨텐츠를 수신하여 그것을 유사한 코덱으로 압축해제하는 제2 컴퓨팅 시스템에서 통상 행해질 것이다. IDCT 프로세스(800)는 DCT 프로세스(700)와 상보적이며, 따라서 전술한 바와 같이 크로미넌스 정보의 재생성을 제공한다.
대체로 그리고 도 1-도 8을 참조하면, 일반적으로 스크린 데이터에 대해 크로미넌스 정보를 상향 변환 및 하향 변환하는 전술한 방법 및 시스템은, 최근접 이웃 데이터를 이용한 다운샘플링 또는 간단히 업샘플링에 의해 도입되는 잡음을 저감하면서, 그래픽 및 텍스트 데이터에 대한 날카로운 엣지 정보를 유지하는 것을 허용하는 것임을 주목해야 한다. 부가적으로, 그러한 변환 및/또는 필터의 사용 없이 발생할 수 있는 오버슈팅 문제가 방지된다.
전술한 다양한 방법들을 비교할 경우, 각각의 방법은 송신측 또는 수신측 컴퓨팅 시스템에서 이용 가능한 컴퓨팅 리소스 및 원하는 연산 복잡도에 기초하여 개별적으로 또는 함께 이용될 수 있음을 주목해야 한다. 예를 들어, 9탭 필터를 활용하는 도 3a의 방법(300)은 연산면에서 효율적이며, 크로미넌스 정보의 간단한 다운샘플링을 통해 어느 정도의 향상된 이미지 품질을 제공할 것이다. 도 3b의 방법(320)은 HSL 표현을 사용하고 대량의 크로미넌스 정보를 유지하기 때문에, 도 3a의 방법보다 스크린 컨텐츠의 보다 다채롭고 선명한 표현을 제공할 수 있다. 다시 말해, 채도 정보가 하향 변환 프로세스중에 유지되기 때문에, 이 방법론에서는 상향 변환시에 하나 이상의 필터를 제공하는 것이 요구되지 않을 수 있다. 그러한 필터의 적용 여부는, HSL 표현을 사용하여 이미지 데이터의 보존 및 아티팩트의 방지가 이미 달성되기 때문에, 선택적이게 된다.
도 3c의 방법(340)은, 도 7-도 8에 예시하는 바와 같이, 제1 포맷의 신호를 재구성함에 있어서 최대치의 정확도를 제공하는데, 그 방법은 최고 에너지의 U/V 값(즉, 맨처음 16개의 최상위 U/V 계수)을 수집하여 전송을 위해 원격 시스템에 유지되는 어레이의 사분면에 집결시키기 때문이다. 본래의 DCT 하드웨어를 구비하는(그리고 송신측 및 수신측에서 그러한 하드웨어를 상보적으로 구성할 수 있는) 시스템에 있어서, 이러한 구성은 원래의 스크린 컨텐츠에 대한 정확도를 유지하는 재현 색 정보가 고도로 정확할 수 있다.
도 9-도 11 및 연관된 내용(description)은 본 발명의 실시형태들이 실시될 수 있는 다양한 동작 환경에 대한 설명을 제공한다. 그러나, 도 9-도 11에 대해 예시하고 설명한 디바이스 및 시스템은 예시 및 도시를 위한 것이며, 본 명세서에 설명하는 본 발명의 실시형태들을 실시하는데 이용될 수 있는 다수의 컴퓨팅 디바이스 구성을 한정하는 것이 아니다.
도 9는 본 발명의 실시형태들이 실시될 수 있는 컴퓨팅 디바이스(900)의 예시적인 물리적 컴포넌트들(즉, 하드웨어)을 도시하는 블록도이다. 이하에서 설명하는 컴퓨팅 디바이스 컴포넌트는 도 1의 디바이스(102, 120) 등의 전술한 컴퓨팅 디바이스로서 역할하기에 적합할 수 있다. 기본 구성에 있어서, 컴퓨팅 디바이스(900)는 적어도 하나의 프로세싱 유닛(902)과 시스템 메모리(904)를 포함할 수 있다. 컴퓨팅 디바이스의 구성 및 유형에 따라, 시스템 메모리(904)는 휘발성 스토리지(예, 랜덤 액세스 메모리), 비휘발성 스토리지(예, 리드 온리 메모리), 플래시 메모리, 또는 이들 메모리의 임의의 조합을 포함할 수 있으나, 이들에 한정되지 않는다. 시스템 메모리(904)는 운영체제(905)와, 도 1과 관련하여 전술한, 구체적으로 도 2-도 8과 관련하여 설명한 하향 변환, 상향 변환, 및 인코딩의, 원격 데스크탑 프로토콜 소프트웨어(108)와 인코더(110) 등의 소프트웨어 애플리케이션(920)의 구동에 적합한 하나 이상의 프로그램 모듈(906)을 포함할 수 있다. 예를 들어, 운영체제(905)는 컴퓨팅 디바이스(900)의 동작을 제어하기에 적합할 수 있다. 또한, 본 발명의 실시형태들은 그래픽 라이브러리, 다른 운영체제, 또는 기타 애플리케이션 프로그램과 함께 실시될 수 있으며, 임의의 특정 애플리케이션이나 시스템에 한정되지 않는다. 이 기본 구성이 도 9에서 점선(908) 내 컴포넌트들로 예시되어 있다. 컴퓨팅 디바이스(900)는 추가 특징 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 디바이스(900)는 예컨대 자기 디스크, 광학 디스크, 또는 테이프 등의 추가 데이터 저장 디바이스(분리형 및/또는 비분리형)을 포함할 수도 있다. 이러한 추가 저장 디바이스는 도 9에서 분리형 저장 디바이스(909)와 비분리형 저장 디바이스(910)로 예시되어 있다.
전술한 바와 같이, 다수의 프로그램 모듈 및 데이터 파일이 시스템 메모리(904) 내에 저장될 수 있다. 프로세싱 유닛(902) 상에서 실행되는 동안, 프로그램 모듈(906)(예, 원격 데스크탑 프로토콜 소프트웨어(108)과 인코더(110))은 본 명세서에 설명하는 바와 같이, 범용 코덱 인코더 또는 디코더의 동작을 포함하나, 이에 한정되지 않는 프로세스를 수행할 수 있다. 본 발명의 실시형태들에 따라, 구체적으로 스크린 컨텐츠를 생성하는 데에 이용될 수 있는 다른 프로그램 모듈은, 전자 메일 및 주소록(contact) 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 데이터베이스 애플리케이션, 슬라이드 프레젠테이션 애플리케이션, 드로잉 또는 컴퓨터를 이용한 애플리케이션 프로그램 등을 포함할 수 있다.
또한, 본 발명의 실시형태들은 개별 전자 소자, 로직 게이트를 포함하는 패키징형 또는 집적형 전자 칩, 마이크로프로세서를 이용하는 회로를 포함하는 전기 회로 내에서 또는 전자 소자나 마이크로프로세서를 포함하는 단일 칩 상에서 실시될 수 있다. 예를 들어, 본 발명의 실시형태들은 도 9에 도시하는 컴포넌트들의 각각이 또는 다수가 단일 집적 회로 상에 집적될 수 있는 시스템 온 칩(SOC)을 통해 실시될 수도 있다. 이러한 SOC 디바이스는 하나 이상의 프로세싱 유닛, 그래픽 유닛, 통신 유닛, 시스템 가상화 유닛 및 다양한 애플리케이션 기능을 포함할 수 있으며, 이들 기능은 모두 단일 집적 회로로서 칩 기판 상에 집적(또는 "버닝(burned)")될 수 있다. SOC를 통해 동작할 때에, 원격 데스크탑 프로토콜 소프트웨어(108) 및 인코더(110)에 대해, 본 명세서에서 설명한 기능은 단일 집적 회로(칩) 상에서 컴퓨팅 디바이스(1800)의 다른 컴포넌트와 집적된 애플리케이션 특유의 로직을 통해 동작될 수 있다. 또한 본 발명의 실시형태들은 기계적, 광학적, 유체적, 및 양자적 기술을 포함하나 이들에 한정되지 않는, 예컨대 AND, OR 및 NOT 등의 논리적 연산을 수행할 수 있는 다른 기술을 이용해 실시될 수 있다. 또한, 본 발명의 실시형태들은 범용 컴퓨터 내에서 또는 기타 회로나 시스템 내에서 실시될 수 있다.
또한, 컴퓨팅 디바이스(900)는 키보드, 마우스, 펜, 사운드 또는 음성 입력 디바이스, 터치 또는 스와이프 입력 디바이스 등의 하나 이상의 입력 디바이스(912)를 구비할 수 있다. 디스플레이, 스피커, 프린터 등의 출력 디바이스(914)도 포함될 수 있다. 전술한 디바이스들은 예시이며 다른 것들이 이용될 수도 있다. 컴퓨팅 디바이스(900)는 다른 컴퓨팅 디바이스(918)와의 통신을 가능하게 하는 하나 이상의 통신 접속(916)을 포함할 수 있다. 적절한 통신 접속(916)의 예는, RF 송신기, 수신기 및/또는 송수신기 회로, USB(universal serial bus), 병렬 및/또는 직렬 포트를 포함하나 이들에 한정되지는 않는다.
본 명세서에서 사용하는 용어인 컴퓨터 판독 가능한 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능한 명령어, 데이터 구조, 또는 프로그램 모듈 등의 정보를 저장하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 포함할 수 있다. 시스템 메모리(904), 분리형 저장 디바이스(909) 및 비분리형 저장 디바이스(910)가 다 컴퓨터 저장 매체의 예(즉, 메모리 스토리지)이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM(electrically erasable read-only memory), 플래시 메모리 또는 기타 메모리 기술, CD-ROM, 디지털 다용도 디스크(digital versatile disk, DVD) 또는 기타 광학 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 기타 자기 저장 디바이스, 또는 정보를 저장하는데 이용될 수 있고 컴퓨팅 디바이스(900)에 의해 액세스될 수 있는 기타 제조 물품을 포함할 수 있다. 임의의 그러한 컴퓨터 저장 매체는 컴퓨팅 디바이스(900)의 일부일 수 있다. 컴퓨터 저장 매체는 반송파나 다른 전파 또는 변조된 데이터 신호를 포함하지 않는다.
통신 매체는 반송파나 기타 전송 메커니즘 등의 변조된 데이터 신호 내에 컴퓨터 판독 가능한 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터에 의해 구현될 수 있고, 임의의 정보 전달 매체를 포함한다. 용어 "변조된 데이터 신호(modulated data signal)"란, 그 신호의 특색을 이루는 세트 중 하나 이상을 갖거나 그 신호 내에 정보를 인코딩하는 방식으로 변화된 신호를 의미할 수 있다. 제한이 아니라 예를 들자면, 통신 매체는 유선 네트워크나 직접 유선 접속 등의 유선 매체, 음향(acoustic), RF(radio frequency), 적외선 및 기타 무선 매체 등의 무선 매체를 포함할 수 있다.
도 10a와 도 10b는 본 발명의 실시형태들이 실시될 수 있는, 예컨대 모바일 전화기, 스마트 폰, 태블릿 퍼스널 컴퓨터, 랩탑 컴퓨터 등의 모바일 컴퓨팅 디바이스(1000)를 예시하고 있다. 도 10a를 참조하면, 실시형태들을 구현하기 위한 모바일 컴퓨팅 디바이스(1000)의 일 실시형태가 도시되고 있다. 기본 구성에 있어서, 모바일 컴퓨팅 디바이스(1000)는 입력 요소 및 출력 요소를 다 구비한 핸드헬드 컴퓨터이다. 모바일 컴퓨팅 디바이스(1000)는 통상 디스플레이(1005)와, 사용자가 정보를 모바일 컴퓨팅 디바이스(1000)에 입력하게 하는 하나 이상의 입력 버튼(1010)을 포함한다. 모바일 컴퓨팅 디바이스(1000)의 디스플레이(1005)는 입력 디바이스로서 기능할 수도 있다(예, 터치 스크린 디스플레이). 포함된다면, 선택적 슬라이드 입력 요소(1015)가 추가 사용자 입력을 가능하게 한다. 슬라이드 입력 요소(1015)는 회전 스위치, 버튼, 또는 기타 유형의 수동 입력 소자일 수 있다. 대안적 실시형태에서는, 모바일 컴퓨팅 디바이스(1000)는 약간의 입력 요소들을 내장할 수 있다. 예를 들어, 디스플레이(1005)가 일부 실시형태에서는 터치 스크린이 아닐 수도 있다. 또 다른 대안적 실시형태에서는, 모바일 컴퓨팅 디바이스(1000)가 셀룰러 폰 등의 휴대용 폰 시스템이다. 모바일 컴퓨팅 디바이스(1000)는 또한 선택적 키패드(1035)를 포함할 수 있다. 선택적 키패드(1035)는 물리적 키패드, 또는 터치 스크린 디스플레이 상에 생성된 "소프트" 키패드일 수 있다. 다양한 실시형태에 있어서, 출력 요소는 그래픽 사용자 인터페이스(GUI)를 보여주는 디스플레이(1005), 시각적 인디케이터(1020)(예, 발광 다이오드) 및/또는 오디오 트랜듀서(1025)(예, 스피커)를 포함한다. 일부 실시형태에 있어서, 모바일 컴퓨팅 디바이스(1000)는 사용자에게 촉감 피드백을 제공하는 진동 트랜듀서를 내장한다. 또 다른 실시형태에 있어서, 모바일 컴퓨팅 디바이스(1000)는 외부 디바이스에 대해 신호를 송신 또는 수신기 위한, 오디오 입력(예, 마이크 잭), 오디오 출력(예, 헤드폰 잭) 및 비디오 출력(예, HDMI 잭) 등의 입력 및/또는 출력 포트를 내장한다.
도 10b는 모바일 컴퓨팅 디바이스의 일 실시형태의 아키텍쳐를 나타내는 블록도이다. 즉, 모바일 컴퓨팅 디바이스(1000)는 일부 실시형태를 구현하기 위한 시스템(즉, 아키텍쳐)(1002)을 내장할 수 있다. 일 실시형태에 있어서, 그 시스템(1902)은 하나 이상의 애플리케이션(예, 브라우저, 이메일, 달력, 주소록 매니저, 메시징 클라이언트, 게임 및 미디어 클라이언트/플레이어)을 구동할 수 있는 "스마트 폰"으로서 구현된다. 일부 실시형태에 있어서, 시스템(1002)은 내장된 개인 디지털 장비(personal digital assistant, PDA) 및 무선 전화기 등의 컴퓨팅 디바이스 등으로서 통합된다.
하나 이상의 애플리케이션 프로그램(1066)이 메모리(1062) 내에 로딩되어 운영체제(1064) 상에서 또는 운영체제와 관련해 구동될 수 있다. 애플리케이션 프로그램의 예는, 전화걸기(phone dialer) 프로그램, 이메일 프로그램, 개인 정보 관리(personal information management, PID) 프로그램, 워드 프로세싱 프로그램, 스프레드시트 프로그램, 인터넷 브라우저 프로그램, 메시징 프로그램 등을 포함한다. 시스템(1002)은 메모리(1062) 내에 비휘발성 저장 영역(1068)을 포함한다. 비휘발성 저장 영역(1068)은 시스템(1002)이 파워 다운될 경우에 손실되어서는 안 되는 지속적인 정보를 저장하는데 이용될 수 있다. 애플리케이션 프로그램(1066)은 이메일이나 이메일 애플리케이션에 의해 이용된 다른 메시지 등의 정보를 이용하고 그 정보를 비휘발성 저장 영역(1068)에 저장할 수 있다. 동기화 애플리케이션(도시 생략)도 시스템(1002)에 상주하며, 호스트 컴퓨터 상에 상주한 대응하는 동기화 애플리케이션과 인터랙트하도록 프로그래밍되어, 호스트 컴퓨터에 저장되는 대응하는 정보와 동기화된 비휘발성 저장 영역(1068) 내에 저장된 정보를 유지시킨다. 이해하겠지만, 본 명세서에서 설명하는 원격 데스크탑 프로토콜 소프트웨어(108)(및/또는 선택적으로 인코더(110), 또는 원격 디바이스(120))와 함께, 전술한 연관된 크로미넌스 하향 변환 프로세스를 비롯한 다른 애플리케이션도 메모리(1062)에 로드되고 모바일 컴퓨팅 디바이스(1000) 상에서 구동될 수 있다. 일부 유사한 시스템에서는, 역 프로세스(inverse process)가 시스템(1002)을 통해 행해질 수 있는데, 이 시스템은 비디오 코덱을 이용해 생성된 비트스트림을 디코딩하고 압축해제된 스크린 컨텐츠의 크로미넌스를 상향 변환하는 원격 디바이스(120)로서 역할한다.
시스템(1002)은 하나 이상의 배터리로서 구현될 수 있는 전원(1070)을 구비한다. 전원(1070)은 배터리를 보충 또는 재충전하는 전력 공급 거취대(powered docking cradle) 또는 AC 어댑터 등의 외부 전원을 더 포함해도 된다.
시스템(1002)은 또한, 고주파 통신을 송신 및 수신하는 기능을 수행하는 무선부(1072)를 포함할 수 있다. 무선부(1072)는 통신 캐리어 또는 서비스 공급자를 통해 시스템(1002)과 "외부 세계" 간의 무선 접속을 용이하게 한다. 무선(1072)에 대한 전송은 운영체제(1064)의 제어 하에 수행된다. 다시 말해, 무선부(1972)에 의해 수신된 통신은 운영체제(1064)를 통해 애플리케이션 프로그램(1066)에 분배될 수 있고, 그 반대도 가능하다.
시각적 인디케이터(1020)는 시각적 통보를 제공하는데 이용될 수 있고/있거나 오디오 인터페이스(1074)는 오디오 트랜듀서(1025)를 통해 가청 통보를 생성하는데 이용될 수 있다. 예시하는 실시형태에 있어서, 시각적 인디케이터(1020)는 발광 다이오드(LED)이고, 오디오 트랜듀서(1025)는 스피커이다. 이들 디바이스는, 프로세서(1060) 및 기타 컴포넌트들이 배터리 전력을 절약하기 위해 셧다운되더라도, 작동 시에, 통보 메커니즘이 지시하는 기간 동안 유지해 있도록 전원(1070)에 직접 연결될 수 있다. LED는 사용자가 디바이스의 파워온 상태를 지시하는 동작을 취할 때까지 무기한으로 유지되도록 프로그래밍될 수 있다. 오디오 인터페이스(1074)는 사용자에 대해 가청 신호를 제공 및 수신하는데 이용된다. 예를 들어, 오디오 트랜듀서(1025)에 연결되는 것과 함께, 오디오 인터페이스(1074)는 예컨대 전화 통화를 용이하기 위해서 가청 입력을 수신하는 마이크에도 연결될 수 있다. 본 발명의 실시형태들에 따르면, 마이크는 이하에 설명하는 바와 같이, 통보의 제어를 용이하게 하는 오디오 센서로서 기능할 수도 있다. 시스템(1002)은 온보드 카메라(1030)의 동작으로 정지 화상, 비디오 스트림 등을 기록할 수 있게 하는 비디오 인터페이스(1076)를 더 포함할 수 있다.
시스템(1002)을 구현하는 모바일 컴퓨팅 디바이스(1000)는 추가 특징 또는 기능을 가질 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(1000)는 자기 디스크, 광학 디스크, 또는 테이프 등의 추가 데이터 저장 디바이스(분리형 및/또는 비분리형)도 포함할 수 있다. 이러한 추가 저장 디바이스는 도 10b에서 비휘발성 저장 영역(1068)으로 예시되고 있다.
모바일 컴퓨팅 디바이스(1000)에 의해 생성 또는 캡처되어 시스템(1002)을 통해 저장된 데이터/정보는 전술한 바와 같이, 모바일 컴퓨팅 디바이스(1000) 상에 국부적으로 저장될 수도 있거나, 데이터는 모바일 컴퓨팅 디바이스(1000)와 그 모바일 컴퓨팅 디바이스(1000)와 연관된 개별 컴퓨팅 디바이스, 예컨대 인터넷 등의 분산형 컴퓨팅 네트워크 내의 서버 컴퓨터 사이의 유선 접속을 통해 또는 무선부(1072)를 통해 디바이스에 의해 액세스될 수 있는 임의 개의 저장 매체 상에 저장될 수도 있다. 물론 그러한 데이터/정보는 무선부(1072)를 통해 또는 분산형 컴퓨팅 네트워크를 통해 모바일 컴퓨팅 디바이스(1000)에 의해 액세스될 수도 있다. 마찬가지로, 그러한 데이터/정보는 전자 메일 및 공동 데이터/정보 공유 시스템을 포함한 잘 알려진 데이터/정보 전달 및 저장 수단에 따라 저장 및 이용을 위해 컴퓨팅 디바이스들 간에 쉽게 전달될 수 있다.
도 11은 전술한 바와 같이, 컴퓨팅 디바이스(1104), 태블릿(1106), 또는 모바일 디바이스(1108) 등의 원격 소스로부터 컴퓨팅 시스템에서 수신된 데이터를 처리하는 시스템의 아키텍처의 일 실시형태를 예시하고 있다. 서버 디바이스(1102)에 표시되는 컨텐츠는 상이한 통신 채널 또는 다른 저장 타입으로 저장될 수 있다. 예를 들어, 디렉토리 서비스(1122), 웹 포털(1124), 메일박스 서비스(1126), 인스턴트 메시징 스토어(1128) 또는 소셜 네트워킹 서비스(1130)를 이용해 다양한 문서들이 저장될 수도 있다. 원격 데스트탑 프로토콜 소프트웨어(108)는 예컨대 네트워크(1115)를 통해, 예를 들어 웹을 거쳐 원격 시스템에서의 표시를 위해 RDP 및 MPEG에 준한(또는 다른 표준에 준한 데이터 스트림을 생성할 수 있다. 예를 들면, 클라이언트 컴퓨팅 디바이스는 컴퓨팅 디바이스(102) 또는 원격 디바이스(120)로서 구현되고, 퍼스널 컴퓨터(1104), 태블릿 컴퓨팅 디바이스(1106) 및/또는 모바일 컴퓨팅 디바이스(1108)(예, 스마트폰) 내에 포함될 수도 있다. 이들 컴퓨팅 디바이스(102, 120, 1800, 1800, 1102, 1104, 1106, 1108)의 실시형태 중 임의의 것은, 전술한 크로미넌스 하향 변환 및 상향 변환 기술에서 설명한 바와 같이, 그래픽 발원 시스템에서 선처리되거나 또는 수신측 컴퓨팅 시스템에서 후처리되도록 사용 가능한 그래픽 데이터를 수신하는 것과 함께, 스토어(1116)로부터 컨텐츠를 취득할 수도 있다.
본 발명의 실시형태가, 예컨대 본 발명의 실시형태에 따른 방법, 시스템, 및 컴퓨터 프로그램 제품의 동작 예시 및/또는 블록도를 참조하여 전술되었다. 블록도에서 주목하는 기능/액트는 임의의 흐름도에서 보이는 순서와 다르게 일어날 수도 있다. 예를 들어, 연속된 것으로 보이는 2개의 블록은 사실상 실질적으로 동시에 실행될 수도 있고 또는 그 블록들은 수반되는 기능/액트에 의존하여, 때때로 반대 순서로 실행될 수 있다.
본원이 제공하는 하나 이상의 실시형태들의 설명 및 예시는 청구하는 본 발명의 범위를 어떤 식으로도 한정하거나 제한하려고 하지 않는다. 본원이 제공하는 실시형태들, 실시예 및 상세내용은 속한 내용을 전달하기에 충분한 것으로 간주되며 다른 이들이 청구하는 발명의 최상 모드를 구성 및 이용하게 할 수 있다. 청구하는 발명은 본원이 제공하는 어떤 실시형태, 실시예 또는 상세내용에 한정되는 것으로서 해석되어서는 안 된다. 조합으로 또는 단독으로 도시 및 설명되는지에 관계없이, 다양한 특징들(구조적 및 방법적인 것들 모두)은 특정 세트의 특징을 갖는 실시형태를 형성하기 위해 선택적으로 포함되거나 생략되는 것이다. 본원의 설명 및 예시가 제공되었으므로, 당업자라면 청구하는 발명의 더 넓은 양태의 사상 및 그 넓은 범위에서 벗어나지 않는, 본원에 포함되는 일반적인 발명 개념 내에 있는 변화, 변형 및 대체 실시형태들을 구상할 수 있다.

Claims (15)

  1. 스크린 컨텐츠의 크로미넌스(chrominance)를 처리하는 방법에 있어서,
    컴퓨팅 디바이스에서의 스크린 컨텐츠의 크로미넌스를 제1 포맷에서 제2 포맷으로 하향 변환(down-convert)하는 단계로서, 상기 제2 포맷은 비디오 코텍에 준한 것인, 상기 크로미넌스를 하향 변환하는 단계와,
    상기 제2 포맷의 하향 변환된 스크린 컨텐츠를 비디오 코덱을 이용해 압축하여 압축된 하향 변환 스크린 컨텐츠를 생성하는 단계와,
    상기 압축된 하향 변환 스크린 컨텐츠를 제2 컴퓨팅 디바이스에 전송하는 단계
    를 포함하는 스크린 컨텐츠의 크로미넌스 처리 방법.
  2. 제1항에 있어서, 상기 크로미넌스를 하향 변환하는 단계 전에, 상기 컴퓨팅 디바이스에서 스크린 컨텐츠를 수신하는 단계를 더 포함하는 스크린 컨텐츠의 크로미넌스 처리 방법.
  3. 제2항에 있어서, 상기 컴퓨팅 디바이스에서 스크린 컨텐츠를 수신하는 단계는 상기 컴퓨팅 디바이스에서 상기 스크린 컨텐츠를 생성하는 단계를 포함하는 것인 스크린 컨텐츠의 크로미넌스 처리 방법.
  4. 제1항에 있어서, 상기 제2 컴퓨팅 디바이스에서,
    상기 압축된 하향 변환 스크린 컨텐츠를 압축해제하여, 상기 제2 포맷의 하향 변환된 스크린 컨텐츠를 재구성하는 단계와,
    상기 하향 변환된 스크린 컨텐츠의 크로미넌스를 상향 변환(up-convert)하여 상기 제1 포맷의 제2 스크린 컨텐츠를 생성하는는 단계
    를 더 포함하는 스크린 컨텐츠의 크로미넌스 처리 방법.
  5. 제4항에 있어서,
    상기 스크린 컨텐츠의 크로미넌스를 하향 변환하는 단계는 상기 스크린 컨텐츠에 이산 코사인 변환(discrete cosine transform)을 적용하여 하향 변환된 스크린 컨텐츠를 생성하는 단계를 포함하고,
    상기 하향 변환된 스크린 컨텐츠의 크로미넌스를 상향 변환하는 것은, 상기 제2 컴퓨팅 디바이스에서의 하향된 변환 스크린 컨텐츠에 역 이산 코사인 변환을 적용하는 것을 포함하는 것인 스크린 컨텐츠의 크로미넌스 처리 방법.
  6. 제1항에 있어서, 상기 스크린 컨텐츠의 크로미넌스를 하향 변환하는 단계는, 상기 스크린 컨텐츠에 9탭 필터(nine-tap filter)를 적용하는 단계를 포함하는 것인 스크린 컨텐츠의 크로미넌스 처리 방법.
  7. 제1항에 있어서, 상기 스크린 컨텐츠의 크로미넌스를 하향 변환하는 단계는, 상기 스크린 컨텐츠를 색상, 채도, 명도(HSL, hue, saturation, and lightness) 포맷으로 변환하는 단계를 포함하는 것인 스크린 컨텐츠의 크로미넌스 처리 방법.
  8. 제7항에 있어서, 상기 스크린 컨텐츠의 크로미넌스를 하향 변환하는 단계는, 상기 변환된 스크린 컨텐츠에 쌍방향 필터(bilateral filter)를 적용하여 하향 변환된 스크린 컨텐츠를 생성하는 단계를 포함하는 것인 스크린 컨텐츠의 크로미넌스 처리 방법.
  9. 제1항에 있어서, 상기 제1 포맷은 YUV444 포맷을 포함하고, 상기 제2 포맷은 YUV420 포맷을 포함하는 것인 스크린 컨텐츠의 크로미넌스 처리 방법.
  10. 스크린 컨텐츠 변환 시스템에 있어서,
    컴퓨팅 디바이스 상에서 동작 가능하며, 스크린 컨텐츠를 수신하고 상기 스크린 컨텐츠의 크로미넌스를 제1 포맷에서 제2 포맷으로 하향 변환하는 하향 변환 컴포넌트로서, 상기 제2 포맷은 비디오 코텍에 준한 것이며, 상기 하향 변환 컴포넌트는 스크린 컨텐츠에 9탭(nine-tap) 필터, 쌍방향 필터(bilateral filter), 또는 이산 코사인 변환(discrete cosine transform) 중 적어도 하나를 적용하여 하향 변환된 스크린 컨텐츠를 생성하는 것인, 상기 하향 변환 컨포넌트와,
    상기 컴퓨팅 디바이스 상에서 동작 가능하며, 하향 변환된 스크린 컨텐츠를 수신하고, 비디오 코덱을 적용하여 압축된 하향 변환 스크린 컨텐츠를 생성하는 압축 컴포넌트와,
    상기 압축된 하향 변환 스크린 컨텐츠를 원격 컴퓨팅 디바이스에 전송하도록 동작 가능한 전송 컴포넌트
    를 포함하는 스크린 컨텐츠 변환 시스템.
  11. 제10항에 있어서, 상기 하향 변환 컴포넌트는 상기 9탭 필터와 상기 쌍방향 필터를 다 적용하는 것인 스크린 컨텐츠 변환 시스템.
  12. 제10항에 있어서, 원격 컴퓨팅 디바이스를 더 포함하고,
    상기 원격 컴퓨팅 디바이스 상에서 동작 가능하며, 압축된 하향 변환 스크린 컨텐츠를 수신하고, 하향 변환된 스크린 컨텐츠를 재구성하는 압축해제 컴포넌트와,
    상기 원격 컴퓨팅 디바이스 상에서 동작 가능하며, 상기 하향 변환된 스크린 컨텐츠를 수신하는 상향 변환 컴포넌트를 더 포함하는 스크린 컨텐츠 변환 시스템.
  13. 제12항에 있어서, 상기 상향 변환 컴포넌트는 상기 하향 변환된 스크린 컨텐츠에 역 이산 코사인 변환을 적용하는 것인 스크린 컨텐츠 변환 시스템.
  14. 제10항에 있어서, 상기 9탭 필터는, 중심 탭과 복수의 주변 탭을 포함하는 가중 탭 세트를 포함하고, 상기 중심 탭은 상기 주변 탭과 동등하게 가중되는 것인 스크린 컨텐츠 변환 시스템.
  15. 컴퓨터 실행 가능한 명령어를 포함하는 컴퓨터 판독 가능한 저장 매체에 있어서,
    상기 명령어는 실행시에, 컴퓨팅 시스템으로 하여금 스크린 컨텐츠의 크로미넌스를 처리하는 방법을 수행하게 하고,
    상기 방법은,
    컴퓨팅 디바이스에서의 스크린 컨텐츠의 크로미넌스를 제1 포맷에서 제2 포맷으로 하향 변환하는 단계를 포함하고, 상기 제2 포맷은 비디오 코텍에 준한 것이며, 상기 하향 변환은 스크린 컨텐츠에 9탭(nine-tap) 필터, 쌍방향 필터(bilateral filter), 또는 이산 코사인 변환 중 적어도 하나를 적용하여 하향 변환된 스크린 컨텐츠를 생성하는 것을 포함하는 것인, 상기 크로미넌스를 하향 변환하는 단계와,
    상기 제2 포맷의 하향 변환된 스크린 컨텐츠를 비디오 코덱을 이용해 압축하여 압축된 하향 변환 스크린 컨텐츠를 생성하는 단계와,
    상기 압축된 하향 변환 스크린 컨텐츠를 제2 컴퓨팅 디바이스에 전송하는 단계
    를 포함하는 것인 컴퓨터 판독 가능한 저장 매체.
KR1020167014166A 2013-11-01 2014-10-27 크로마 하향 변환 및 상향 변환 처리 KR20160082521A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/070,285 US20150124873A1 (en) 2013-11-01 2013-11-01 Chroma Down-Conversion and Up-Conversion Processing
US14/070,285 2013-11-01
PCT/US2014/062430 WO2015065911A1 (en) 2013-11-01 2014-10-27 Chroma down-conversion and up-conversion processing

Publications (1)

Publication Number Publication Date
KR20160082521A true KR20160082521A (ko) 2016-07-08

Family

ID=51897450

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167014166A KR20160082521A (ko) 2013-11-01 2014-10-27 크로마 하향 변환 및 상향 변환 처리

Country Status (5)

Country Link
US (1) US20150124873A1 (ko)
EP (1) EP3063937B1 (ko)
KR (1) KR20160082521A (ko)
CN (1) CN105745924B (ko)
WO (1) WO2015065911A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015125420A1 (en) * 2014-02-19 2015-08-27 Canon Kabushiki Kaisha Imaging apparatus and imaging system
CN107172406A (zh) * 2017-04-21 2017-09-15 西安诺瓦电子科技有限公司 图像处理方法及装置
CN112188280B (zh) * 2019-07-03 2022-07-08 北京嗨动视觉科技有限公司 图像处理方法、装置及系统和计算机可读介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04323963A (ja) * 1991-04-23 1992-11-13 Canon Inc 画像処理方法及び装置
US6175592B1 (en) * 1997-03-12 2001-01-16 Matsushita Electric Industrial Co., Ltd. Frequency domain filtering for down conversion of a DCT encoded picture
US20050129130A1 (en) * 2003-12-10 2005-06-16 Microsoft Corporation Color space coding framework
US20050259729A1 (en) * 2004-05-21 2005-11-24 Shijun Sun Video coding with quality scalability
US8243340B2 (en) * 2006-02-23 2012-08-14 Microsoft Corporation Pre-processing of image data for enhanced compression
KR101125846B1 (ko) * 2007-03-23 2012-03-28 삼성전자주식회사 패킷 기반의 영상 프레임 전송 방법 및 장치
US7835586B2 (en) * 2007-08-01 2010-11-16 Mitsubishi Electric Research Laboratories, Inc. Method for filtering images with bilateral filters
KR101597987B1 (ko) * 2009-03-03 2016-03-08 삼성전자주식회사 계층 독립적 잔차 영상 다계층 부호화 장치 및 방법
JP5844263B2 (ja) * 2009-10-05 2016-01-13 ビーマル イメージング リミテッドBeamr Imaging Ltd. デジタル画像を再圧縮するための装置および方法
WO2011087963A1 (en) * 2010-01-15 2011-07-21 Dolby Laboratories Licensing Corporation Edge enhancement for temporal scaling with metadata
CN103098471B (zh) * 2010-09-14 2016-07-06 三星电子株式会社 用于多层画面编码/解码的设备和方法
US20120207212A1 (en) * 2011-02-11 2012-08-16 Apple Inc. Visually masked metric for pixel block similarity
US9300980B2 (en) * 2011-11-10 2016-03-29 Luca Rossato Upsampling and downsampling of motion maps and other auxiliary maps in a tiered signal quality hierarchy
US9363516B2 (en) * 2012-01-19 2016-06-07 Qualcomm Incorporated Deblocking chroma data for video coding
US8958474B2 (en) * 2012-03-15 2015-02-17 Virtualinx, Inc. System and method for effectively encoding and decoding a wide-area network based remote presentation session

Also Published As

Publication number Publication date
WO2015065911A1 (en) 2015-05-07
US20150124873A1 (en) 2015-05-07
EP3063937B1 (en) 2019-02-13
EP3063937A1 (en) 2016-09-07
CN105745924B (zh) 2018-09-21
CN105745924A (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
TWI663880B (zh) 色度預測的方法和設備
US9386319B2 (en) Post-process filter for decompressed screen content
CN108696761B (zh) 一种图片文件处理方法及其设备、系统
US9734557B2 (en) Method and apparatus for generating 3K-resolution display image for mobile terminal screen
JP6245888B2 (ja) エンコーダおよび符号化方法
US10971109B2 (en) Image processing method, apparatus, device, and video image transmission system
JP5985053B2 (ja) 関心領域ベースの3dビデオコーディング
KR20160052688A (ko) 범용 스크린 콘텐츠 코덱
US8995763B2 (en) Systems and methods for determining compression methods to use for an image
JP2016226001A (ja) デコーダおよび復号方法
EP3198868A1 (en) Video coding rate control including target bitrate and quality control
TWI626841B (zh) 具有減少色彩解析度的視訊流之自適應處理
US20130114684A1 (en) Electronic devices for selective run-level coding and decoding
CN109151503B (zh) 一种图片文件处理方法及其设备
US20130039429A1 (en) Computer display content coding method and system
KR20160082521A (ko) 크로마 하향 변환 및 상향 변환 처리
US20140009563A1 (en) Non-video codecs with video conferencing
US11638040B2 (en) Eco-friendly codec-based system for low latency transmission
CN108933945B (zh) 一种gif图片的压缩方法、装置及存储介质
CN114079823A (zh) 基于Flutter的视频渲染方法、装置、设备及介质
US10034007B2 (en) Non-subsampled encoding techniques
US9361860B2 (en) Display apparatus, image post-processing apparatus and method for image post-processing of contents
CN114339226A (zh) 一种提高画面的流畅度的方法、装置及介质
CN117729328A (zh) 视频图像的编码方法、解码方法及相关设备
CN117750127A (zh) 一种图像处理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
WITB Written withdrawal of application