KR101026759B1 - 터미널 환경의 서버 기반 컴퓨팅 시스템에서 영상 밀림, 영상 손실 및 지연 없이 동영상 재생을 그 파일 형태 및 크기와 무관하게 분산 처리하기 위한 동영상 재생 분산 처리 시스템 및 동영상 재생 분산 처리 방법 - Google Patents

터미널 환경의 서버 기반 컴퓨팅 시스템에서 영상 밀림, 영상 손실 및 지연 없이 동영상 재생을 그 파일 형태 및 크기와 무관하게 분산 처리하기 위한 동영상 재생 분산 처리 시스템 및 동영상 재생 분산 처리 방법 Download PDF

Info

Publication number
KR101026759B1
KR101026759B1 KR1020080083462A KR20080083462A KR101026759B1 KR 101026759 B1 KR101026759 B1 KR 101026759B1 KR 1020080083462 A KR1020080083462 A KR 1020080083462A KR 20080083462 A KR20080083462 A KR 20080083462A KR 101026759 B1 KR101026759 B1 KR 101026759B1
Authority
KR
South Korea
Prior art keywords
video
terminal
video playback
screen
client
Prior art date
Application number
KR1020080083462A
Other languages
English (en)
Other versions
KR20100024758A (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 최백준
Priority to KR1020080083462A priority Critical patent/KR101026759B1/ko
Publication of KR20100024758A publication Critical patent/KR20100024758A/ko
Application granted granted Critical
Publication of KR101026759B1 publication Critical patent/KR101026759B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/42204User interfaces specially adapted for controlling a client device through a remote control device; Remote control devices therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • H04N21/6336Control signals issued by server directed to the network components or client directed to client directed to decoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은, 터미널 환경의 서버 기반 컴퓨팅 시스템에서 동영상 재생을 분산 처리하기 위한 장치 및 동영상 재생 분산 처리 방법에 관한 것으로, 본 발명에 따른, 동영상 재생 가상 엔진을 구비한 클라이언트의 원격 접속에 따라 터미널 서비스를 제공하며 동영상 재생의 분산 처리를 수행하는 터미널 서버 장치는, 터미널 세션에서 구동된 동영상 재생 엔진으로부터 전달된 동영상 데이터를 서버에서 디코딩 처리하지 않고 분산 처리를 위해 재생에 필요한 각종 정보와 함께 우회시키고, 상기 동영상 데이터를 대체할 더미 데이터를 생성하는 디코더; 상기 디코더로부터 전달된 상기 더미 데이터를 렌더링하여 출력하는 렌더러; 및 상기 디코더에서 우회 전달된 상기 동영상 데이터와 재생에 필요한 각종 정보를 전용 통신 터널을 통해 상기 클라이언트의 동영상 재생 가상 엔진으로 전송하는 동영상 재생 분산 처리기;를 포함하는 것을 특징으로 한다. 동영상 재생을 클라이언트로 분산 처리함으로써 터미널 서버의 부하를 경감시키고, 동영상의 형태와 그 크기에 무관하게 터미널 클라이언트에서 재생시킬 수 있다.
터미널 서비스, 씬클라이언트, 동영상 재생, 동영상 가속, 분산 처리, 화면 동기

Description

터미널 환경의 서버 기반 컴퓨팅 시스템에서 영상 밀림, 영상 손실 및 지연 없이 동영상 재생을 그 파일 형태 및 크기와 무관하게 분산 처리하기 위한 동영상 재생 분산 처리 시스템 및 동영상 재생 분산 처리 방법{APPARATUS AMD METHOD FOR PROVIDING A DISTRIBUTED PROCESSING OF MOVING PICTURE IN SERVER BASED COMPUTING SYSTEM OF TERMINAL ENVIRONMENT}
본 발명은, 터미널 환경의 서버 기반 컴퓨팅 시스템에 관한 것으로, 보다 구체적으로, 터미널 환경의 서버 기반 컴퓨팅 시스템에서 동영상 재생을 분산 처리하기 위한 동영상 재생 분산 처리 시스템 및 동영상 재생 분산 처리 방법에 관한 것이다.
터미널 환경의 서버 기반 컴퓨팅 시스템이란 터미널 클라이언트를 이용하여 서버에 원격 접속하여 서버의 리소스를 클라이언트에서 사용할 수 있도록 하는 시스템이다. 즉, 모든 클라이언트 응용 프로그램이 클라이언트 단말에 설치되지 않고 서버에 설치되고, 서버의 응용 프로그램 실행 결과 화면만이 클라이언트 단말로 전송되어, 사용자 측면에서 모든 응용 프로그램이 클라이언트 단말에서 수행되고 있는 것처럼 보이게 하는 시스템이다.
클라이언트가 원격으로 서버에 접속하게 되면, 서버는 접속된 사용자 환경을 세션과 프로필로 구분하여 세션 간에 상호 간섭 없이 독립된 환경을 유지시키고, 클라이언트에서 사용할 수 있는 서버의 리소스는 제약이 없다. 이러한 이유로 터미널 서비스는 원격 서버 관리용으로 처음에는 사용하였으나 이를 응용하여 응용 프로그램 및 웹 콘텐츠를 제공하는 SAAS(Software As A Service)의 한 형태로 발전해왔다.
서버와 클라이언트 간에 실제 데이터가 송수신되는 것이 아니고 모든 작업은 서버에서 이루어지고 클라이언트로는 서버 작업의 결과값만 비트맵 형태로 프레임이 나뉘어 전달된다. 모든 작업이 서버에서 이루어지기 때문에 응용 프로그램이 사용하는 CPU, 메모리 등은 서버의 자원을 사용하고, 클라이언트의 자원은 클라이언트의 구동에만 필요한 자원이 요구된다.
이러한 터미널 서비스 환경에서 응용 프로그램 서비스를 하게 되면 100% 서버에서 작업이 이루어짐으로써 작업 데이터를 외부에 유출할 수 없기 때문에 보안이 매우 높은 장점이 있다.
그러나, 고용량 동영상 등이 빈번하게 활용되는 웹 인터페이스, 응용 프로그램 등은 서비스 제공에 한계가 있어, 터미널 서비스의 확장에 큰 걸림돌이 되고 있다. 왜냐하면, 터미널 클라이언트가 서버에 접속할 때 이용하는 프로토콜은 기본적으로 가상 채널(Virtual Channel)을 생성하게 되는데, 가상 채널의 대역폭은 매우 좁고, 이러한 대역폭의 한계로 인하여 상기와 같은 동영상 등의 대용량 파일의 처리가 불가능하기 때문이다.
또한, 상술한 바와 같이 터미널 서비스는 하나의 서버에 다수의 클라이언트가 접속하여 이용하는 서비스 형태로, 다수의 클라이언트가 서버에 접속하여 서비스를 이용하게 될 경우 서버에 부하가 가중되는 문제점이 있다. 특히 다수의 클라이언트가 서버에 접속하여 서버에서 동영상을 재생하게 될 경우, 서버와 클라이언트 사이에 생성되는 가상 채널을 통해 소량의 패킷만을 운반할 수 있게 되므로 재생 자체가 불가능한 동영상 등이 상존하게 되는 문제점이 있다. 또한 서버에 과도한 CPU 로드가 발생하고 또한 동영상을 압축 해제하여 렌더링한 데이터를 클라이언트로 전송해야 하기 때문에 네트워크 트래픽이 과도하게 증가하는 문제점이 발생한다.
또한, 터미널의 특성상 화면값 용량을 넘어서는 고화질 동영상 등은 실행 클라이언트에서 영상과 음성이 불일치하거나, 또는 화면이 손실되고 지연 처리됨으로써, 서비스 자체가 불가능한 문제점이 있다.
이와 같이 터미널 환경의 서버 기반 컴퓨팅 시스템에서의 동영상 재생의 제약은 보안의 우수성과 단말기 가용성 확대 등의 장점에도 불구하고 터미널 서비스의 확대 적용에 걸림돌이 되고 있다.
본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로, 터미널 환경의 서버 기반 컴퓨팅 환경에서 전용 통신 터널을 확보하여 화면 밀림, 화면 손실, 지연 등이 없이 동영상 재생 처리를 서버와 클라이언트로 분산하여 처리 속도를 향상시키기 위한 동영상 재생 분선 처리 시스템 및 동영상 재생 분산 처리 방법을 제공하는데 목적이 있다. 이를 통해 터미널 내부에서 동영상 가속의 효과를 극대화하고 서버 구축 비용의 절감과 일반 사용자를 위한 대규모 온라인 서비스가 가능하도록 한다.
상기 목적을 달성하기 위한 본 발명의 일 측면에 따른, 동영상 재생 가상 엔진을 구비한 클라이언트의 원격 접속에 따라 터미널 서비스를 제공하며 동영상 재생의 분산 처리를 수행하는 터미널 서버 장치는, 터미널 세션에서 구동된 동영상 재생 엔진으로부터 전달된 동영상 데이터를 분산 처리를 위해 디코딩 처리하지 않고 우회시키고, 상기 동영상 데이터를 대체할 더미 데이터를 생성하는 디코더; 상기 디코더로부터 전달된 상기 더미 데이터를 렌더링하여 출력하는 렌더러; 및 상기 디코더에서 우회 전달된 상기 동영상 데이터를 전용 통신 터널을 통해 상기 클라이언트의 동영상 재생 가상 엔진으로 전송하는 동영상 재생 분산 처리기;를 포함하는 것을 특징으로 한다.
본 발명에 따른 터미널 서버 장치에서 상기 동영상 재생 분산 처리기는, 상 기 렌더러에 의해 출력되는 동영상 화면을 실시간 감시하여 다른 화면에 의해 가려지는 부분의 화면 정보를 상기 동영상 재생 가상 엔진으로 실시간 전송하여 반영하는 화면 영역 실시간 감시부;를 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면에 따른, 터미널 서버에 원격 접속하여 상기 터미널 서버로부터 터미널 서비스를 제공받는 터미널 클라이언트를 구비하는 단말 장치는, 상기 터미널 서버에서 실행된 응용 프로그램의 동영상 재생 창을 포함하는 프로그램 실행 결과 화면을 수신하여 표시하는 상기 터미널 클라이언트는, 상기 동영상 재생 창에 재생되어 표시될 동영상 데이터를 분산 처리를 위해 상기 터미널 서버로부터 전용 통신 터널을 통해 수신하여 디코딩하는 디코더; 및 상기 디코더에서 디코딩 처리된 동영상 데이터를 렌더링하여, 상기 프로그램 실행 결과 화면에 포함된 상기 동영상 재생 창의 위치에 대응하는 상위 레이어(layer) 화면에 출력하는 렌더러;를 포함하는 것을 특징으로 한다.
본 발명에 따른 단말 장치의 상기 터미널 클라이언트는, 상기 터미널 서버에서 실행된 상기 응용 프로그램의 동영상 재생 창이 다른 화면에 의해 가려지는 경우, 그 가려진 부분의 화면 정보를 상기 터미널 서버로부터 실시간 수신하여 상기 렌더러를 제어하는 화면 영역 실시간 조절부;를 더 포함하고, 상기 렌더러는, 상기 화면 영역 실시간 조절부의 제어에 따라, 상위 레이어에 표시 중인 동영상 재생 화면 중 상기 가려진 부분에 대응하는 화면을 잘라내어 하위 레이어 화면이 보이도록 한다.
또한, 상기 목적을 달성하기 위한 본 발명의 또다른 측면에 따른, 터미널 서 버 장치에서, 동영상 재생 가상 엔진을 구비한 클라이언트의 원격 접속에 따라 터미널 서비스를 제공하며 동영상을 재생하는 동영상 재생 분산 처리 방법은, 터미널 세션에서 구동된 동영상 재생 엔진에서 출력된 동영상 데이터를 분산 처리를 위해 디코딩 처리하지 않고 우회시키는 단계; 상기 동영상 데이터를 대체할 더미 데이터를 생성하는 단계; 상기 동영상 데이터를 대신하여 상기 더미 데이터를 렌더링하여 출력하는 단계; 및 상기 우회된 상기 동영상 데이터를 전용 통신 터널을 통해 상기 클라이언트의 동영상 재생 가상 엔진으로 전송하여 클라이언트 단에서 재생시키는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 따른 터미널 서버 장치에서의 동영상 재생 방법은, 상기 렌더링 되어 출력되는 동영상 화면을 실시간 감시하는 단계; 및 실시간 감시 결과에 따라 상기 동영상 화면이 다른 화면에 의해 가려지는 부분의 화면 정보를 상기 클라이언트의 동영상 재생 가상 엔진으로 실시간 전송하여 반영하는 단계;를 더 포함할 수 있다.
또한, 상기 목적을 달성하기 위한 본 발명의 또다른 측면에 따른, 터미널 서버에 원격 접속하여 상기 터미널 서버로부터 터미널 서비스를 제공받는 단말 장치에서의 동영상 재생 분산 처리 방법은, 상기 터미널 서버에서 실행된 응용 프로그램의 동영상 재생 창을 포함하는 프로그램 실행 결과 화면을 수신하여 표시하는 단계; 상기 동영상 재생 창에 재생되어 표시될 동영상 데이터를 분산 처리를 위해 상기 터미널 서버로부터 전용 통신 터널을 통해 수신하여 디코딩하는 단계; 및 디코딩 처리된 동영상 데이터를 렌더링하여, 상기 프로그램 실행 결과 화면에 포함된 상기 동영상 재생 창의 위치에 대응하는 상위 레이어(layer) 화면에 출력하는 단계;를 포함하는 것을 특징으로 한다.
본 발명에 따른 단말 장치에서의 동영상 재생 분산 처리 방법은, 상기 터미널 서버에서 실행된 상기 응용 프로그램의 동영상 재생 창이 다른 화면에 의해 가려지는 경우, 그 가려진 부분의 화면 정보를 상기 터미널 서버로부터 실시간 수신하는 단계; 및 상위 레이어에 표시 중인 동영상 재생 화면 중 상기 가려진 부분에 대응하는 화면을 잘라내어 하위 레이어 화면이 보이도록 하는 단계;를 더 포함할 수 있다.
상기와 같은 본 발명에 따르면, 동영상 재생을 터미널 서버에서 수행하지 않고 터미널 클라이언트에서 수행하도록 분산 처리하여 터미널 서버의 부하를 줄이고, 영상 밀림, 화면 손실 및 지연 없이 동영상 재생을 그 형태와 크기에 무관하게 재생할 수 있다. 이때, 터미널 서버에서 수행되는 응용 프로그램의 동영상 재생 창과 클라이언트의 동영상 재생 창을 완벽하게 일치시킴으로써 사용자 측면에서는 동영상 재생이 터미널 서버에서 이루어지는 것으로 보여, 터미널 서비스의 기본 틀을 유지하고, 터미널 내부에서 동영상 파일의 형태와 크기에 무관하게 동영상 재생이 가능해지며, 서버 부하를 줄여 동시 사용자 수를 늘리는 효과가 있어 구축 비용을 절감할 수 있다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 터미널 서비스 시스템의 구성을 나타낸 도면이다.
도 1에 도시된 바와 같이, 본 실시예에 따른 터미널 서비스 시스템은, 사용자 단말(110)과 상기 사용자 단말(110)과 네트워크를 통해 연결된 터미널 서버(150)를 포함하여 구성된다.
사용자는 사용자 단말(110)을 이용하여 터미널 서버(150)에 접속하여 인증을 수행하고, 터미널 서버(150)는 접속 사용자 단말(110)에 대한 터미널 세션을 생성하여 다른 사용자와 독립된 환경을 유지하며 응용 프로그램을 수행하여 응용 프로그램 실행 결과 화면만(도 1에서 가상 화면(160))을 사용자 단말(110)로 전송한다.
사용자 단말(110)은 터미널 서버(150)로부터 수신된 응용 프로그램 실행 결과 화면에서 처리된 사용자의 입력(예컨대, 키보드 입력 및 마우스 클릭)을 터미널 서버(150)로 반환하고, 터미널 서버(150)는 사용자 단말(110)로부터 반환된 사용자 입력에 따라 응용 프로그램을 처리하여 그에 따른 실행 결과 화면을 다시 사용자 단말(110)로 전송한다.
도 1을 참조하면, 터미널 서버(150)는, 사용자 단말(110)의 터미널 클라이언트(120)가 접속해오면, 독립된 터미널 세션을 생성하고 가상 화면(예컨대, 윈도우 운영체제의 바탕화면)을 터미널 클라이언트(120)로 전송한다. 사용자는 터미널 클라이언트(120)를 통해 표시되는 가상 화면에서 응용 프로그램의 실행을 입력하고, 그에 따른 입력 신호는 네트워크를 통해 터미널 서버(150)에 전달되어 터미널 세션에서 사용자가 선택한 응용 프로그램이 실행된다. 본 실시예에서 사용자는 동영상 재생을 위한 멀티미디어 응용 프로그램(예컨대, 윈도우 미디어 플레이어)을 실행하고, 멀티미디어 응용 프로그램(161)은 가상 화면에서 실행된다. 이때, 멀티미디어 응용 프로그램(161)이 실행되며 이에 종속된 동영상 재생 엔진(163)이 함께 구동된다. 멀티미디어 응용 프로그램(161)의 실행 화면(동영상 재생 창을 포함)은 터미널 클라이언트(120)로 전송되어 표시된다.
도 1을 참조하면, 터미널 서버(150)는, 비디오/오디오 디코더(151), 비디오 렌더러(153), 오디오 렌더러(155) 및 동영상 재생 분산 처리기(170)를 포함한다.
비디오/오디오 디코더(151)는, 멀티미디어 응용 프로그램(161)에 종속된 동영상 재생 엔진(163)이 구동되면, 상기 동영상 재생 엔진(163)에서 파싱된 패킷 단위의 비디오 및 오디오 데이터와 재생 흐름에 필요한 제어 정보(재생 시간 제어를 위한 타이밍 코드, 샘플의 특성을 나타내는 플래그 등)를 상기 동영상 재생 엔진(163)으로부터 수신한다. 동영상 재생 엔진(163)은 최초 구동시 시스템 레지스트리(registry)를 참조하여 비디오/오디오 디코더(151), 비디오 렌더러(153), 오디오 렌더러(155)를 선택 구동시킨다.
비디오/오디오 디코더(151)는, 상기 동영상 재생 엔진(163)으로부터 수신된 패킷 단위의 비디오 및 오디오 데이터와 상기 재생 흐름에 필요한 제어 정보를 동영상 재생 분산 처리기(170)로 전달한다. 이때, 비디오/오디오 디코더(151)는, 비디오 및 오디오 데이터를 디코딩 처리(압축 해제)하지 않고 동영상 재생 분산 처리기(170)로 전달한다.
비디오/오디오 디코더(151)는, 터미널 서버(150)에 설치된 운영 체제(예컨대, windows)의 규격에 따라 기본적인 동작을 수행해야 하기 때문에, 동영상 재생 엔진(163)으로부터 패킷 단위의 비디오 및 오디오 데이터와 재생 흐름에 필요한 제어 정보를 수신하면, 재생 흐름에 필요한 제어 정보는 비디오/오디오 렌더러(153, 155)로 전달하되, 비디오 및 오디오 데이터는 렌더러(153, 155)로 전달하지 않고 더미(dummy) 데이터만을 비디오/오디오 렌더러(153, 155)로 전달한다.
한편, 비디오/오디오 디코더(151)는 동영상 재생을 제어하는 사용자 제어 명령(즉, 플레이, 중지(stop), 멈춤(pause), 소리없음(mute) 등)을 수신하여 비디오/오디오 렌더러(153, 155)로 전달한다.
비디오 렌더러(153)는, 상기 비디오/오디오 디코더(151)로부터 더미 데이터와 재생 흐름에 필요한 제어 정보를 수신하고, 상기 제어 정보에 기초하여 상기 더미 데이터를 렌더링하여 표시한다. 더미 데이터는 아무런 화면 정보가 없는 데이터로서, 렌더링되어 재생되는 화면은, 예컨대 검은색과 같은 정보가 없는 화면이다.
오디오 렌더러(155)는, 상기 비디오/오디오 디코더(151)로부터 더미 데이터와 재생 흐름에 필요한 제어 정보를 수신하고, 상기 제어 정보에 기초하여 상기 더 미 데이터를 렌더링하여 출력한다. 그런데, 더미 데이터는 아무런 오디오 정보가 없는 데이터로서, 오디오는 출력되지 않고 무음 처리된다.
비디오/오디오 렌더러(153, 155)는 비디오/오디오 디코더(151)로부터 전달받은 사용자 제어 명령을 처리하지 않고, 동영상 재생 분산 처리기(170)로 전달한다.
이와 같이, 비디오/오디오 디코더(151), 비디오 렌더러(153) 및 오디오 렌더러(155)는 터미널 서버(150)의 운영체제에서 요구되는 기본적인 동작을 수행하되, 비디오/오디오 디코더(151)는 비디오 렌더러(153)와 오디오 렌더러(155)로 비디오 데이터 및 오디오 데이터로서 더미 데이터를 전달한다. 비디오 렌더러(153)와 오디오 렌더러(155)는 더미 데이터를 수신하여 렌더링하기 때문에, 동영상 재생 엔진(163)에서 출력되는 화면은 아무런 표시 데이터가 없고, 음성은 무음으로 처리된다.
동영상 재생 분산 처리기(170)는, 상기 비디오/오디오 디코더(151)에서 처리되지 않고 전달된 패킷 단위의 비디오 및 오디오 데이터와 재생 흐름에 필요한 제어 정보, 그리고 사용자 제어 명령을 사용자 단말기(110)로 전송한다. 또한 동영상 재생 분산 처리기(170)는 비디오 렌더러(153)에 의해 표시 중인 동영상 재생 창(즉, 멀티미디어 응용 프로그램의 동영상 재생 창)을 실시간 감시하여 다른 화면(예컨대, 다른 응용 프로그램의 화면)에 의해 가려지는 부분의 정보를 사용자 단말기(110)로 전송한다.
보다 구체적으로, 동영상 재생 분산 처리기(170)는, 미디어 채널 관리부(171) 및 화면 영역 실시간 감시부(175)를 포함한다.
미디어 채널 관리부(171)는, 사용자 단말기(110)와 터미널 서버(150) 간의 동영상 재생의 분산 처리를 위한 각종 데이터를 송수신한다. 미디어 채널 관리부(171)는 전용 통신 터널 관리부(181) 및 가상 채널 관리부(183)를 포함하여 구성된다.
전용 통신 터널 관리부(181)는, 동영상의 재생 흐름에 필요한 제어 정보와 패킷 단위의 비디오/오디오 데이터를 상기 비디오/오디오 디코더(151)로부터 전달받아 전용 통신 터널을 통해 사용자 단말기(110)로 전송한다. 기존 터미널 서비스의 가상 채널(virtual channel)는 통신 속도 제한 때문에 고용량의 데이터 전송에 제약이 발생하여 동영상 데이터의 원활한 전달에 문제가 있다. 따라서 본 발명에서 동영상 재생 분산 처리기(170)는 클라이언트로의 미디어 전달을 위한 전용 통신 터널을 확보하여 상기 문제점을 해결한다.
또한, 전용 통신 터널 관리부(181)는, 사용자가 멀티미디어 응용 프로그램(161)에서 입력한 사용자 제어 명령, 예컨대 재생(play), 멈춤(stop), 일시 정보(pause), 조용히(mute), 볼륨(volume) 크기 조절 등의 제어 명령을 비디오/오디오 렌더러(153, 155)를 통해 전달받아 이를 실시간으로 전용 통신 터널을 통해 사용자 단말기(110)로 전달한다.
한편, 가상 채널 관리부(183)는, 초기화 정보(예컨대, 동영상 재생이 시작되었음을 나타내는 정보), 그리고 비디오 렌더러(153)에 의해 표시 중인 화면이 다른 화면에 의해 가려지는 부분의 정보(즉, 좌표 정보)를 터미널 서비스의 가상 채널(virtual channel)을 통해 사용자 단말기(110)로 전송한다.
화면 영역 실시간 감시부(175)는, 상기 비디오 렌더러(153)에 의해 렌더링되어 표시 중인 화면, 즉 동영상 재생 창이 다른 화면에 의해 가려지는 부분이 있는지 실시간 감시하여, 가려진 부분에 대한 정보를 가상 채널을 통해 사용자 단말기(110)로 전송한다.
사용자 단말기(110)의 터미널 클라이언트(120)는 동영상 재생 가상 엔진(130)을 포함한다. 동영상 재생 가상 엔진(130)은, 터미널 서버(150)의 동영상 재생 분산 처리기(170)로부터 분산 처리를 위해 수신된 패킷 단위의 비디오/오디오 데이터를 디코딩한 후 렌더링하여 상위 레이어(layer) 화면에 표시한다. 동영상이 상위 레이어에서 재생되어 표시됨으로써 다른 화면은 동영상 재생 화면에 가려져 보이지 않는다.
터미널 서버(150)로부터 수신되어 사용자 단말기(110)에 표시 중인 멀티미디어 응용 프로그램의 실행 화면 중 동영상 재생 창의 위치에 동영상이 재생된다. 터미널 서버(150)와 사용자 단말기(110)의 화면이 동기 되어야 하므로, 동일한 위치에 동영상이 재생된다. 즉, 동영상 재생 가상 엔진(130)은, 터미널 서버(150)의 동영상 재생 분산 처리기(170)로부터 분산 처리를 위해 수신된 동영상의 화면 위치 정보에 기초하여 비디오 데이터를 디코딩하여 화면에 표시한다. 사용자 측면에서 동영상의 재생은 터미널 서버(150)에서 이루어지는 것으로 보여야 하므로, 터미널 클라이언트(120)의 동영상 재생 가상 엔진(130)은 터미널 서버(150)의 동영상 재생 분산 처리기(170)로부터 동영상의 화면 위치 정보를 수신하고, 이에 기초하여 터미널 서버(150)로부터 수신된 멀티미디어 응용 프로그램 실행 화면의 특정 위치, 즉 터미널 서버(150)에서 멀티미디어 응용 프로그램이 실행되어 동영상이 재생되는 위치와 동일한 위치에 동영상을 재생한다.
터미널 클라이언트(120)의 동영상 재생 가상 엔진(130)은, 동영상을 화면의 상위 레이어(layer)에 표시하기 때문에, 만약 사용자의 입력에 따라 터미널 서버(150)에서 다른 응용 프로그램이 실행되어 기존 멀티미디어 응용 프로그램의 동영상 재생 창의 일부가 가려지게 되는 경우, 터미널 서버(150)의 동영상 재생 분산 처리기(170)로부터 가려지는 부분의 정보를 수신하여 이를 현재 표시 중인 동영상 화면에 반영한다. 즉, 가려지는 부분에 상응하는 동영상 화면을 잘라내기(clipping) 처리하여 하위 레이어(layer)의 화면이 보여지도록 한다.
터미널 클라이언트(120)의 동영상 재생 가상 엔진(130)은 동영상 재생 분산 처리기(170)로부터 실시간 수신된 사용자 제어 명령에 따라 동영상의 재생을 제어한다. 따라서 사용자는 동영상의 제어가 서버에서 수행되는 것으로 인식된다.
도 2는 본 발명의 일 실시예에 따른 터미널 서비스에 있어서 동영상 재생의 분산 처리를 위한 초기화 과정을 설명하는 흐름도이다.
도 2를 참조하면, 먼저 터미널 서버(150)에 설치된 운영 체제인 윈도우즈 시스템은 관리자의 시작 명령에 따라 구동을 시작한다(S201). 구동 시작과 함께 윈도우즈 시스템은 멀티미디어 응용 프로그램의 동영상 재생 엔진에서 동영상을 재생할 때 사용할 비디오/오디오 디코터(151), 비디오 렌더러(153) 및 오디오 렌더러(155)의 정보를 레지스트리에 등록하고, 또한 동영상 재생 분산 처리기(170)를 초기화함으로써 터미널 서비스를 위한 초기화를 한다(S203).
이와 같이 초기화를 완료한 후, 사용자자 터미널 클라이언트(120)를 통해 접속해오면, 터미널 서버(150)는 독립된 터미널 세션을 생성하고 그 터미널 세션 내에 동영상 재생 분산 처리 데몬을 생성한다(S205).
사용자의 터미널 세션이 생성되면 윈도우즈 시스템의 기본 화면(160)이 사용자 단말기(110)의 터미널 클라이언트(120)로 전송되어 표시된다. 사용자는 사용자 단말기(110)에 표시되는 윈도우즈 화면에서 특정 멀티미디어 응용 프로그램을 선택하여 실행한다. 이에 따른 사용자 입력(마우스, 또는 키보드 입력)은 터미널 서버(150)로 전송되고, 터미널 서버(150)의 운영 체제는 터미널 세션 내에서 사용자가 선택한 멀티미디어 응용 프로그램(161) 및 그 멀티미디어 응용 프로그램에 종속된 동영상 재생 엔진(163)을 구동한다(S207). 멀티미디어 응용 프로그램의 실행 화면은 다시 사용자 단말기(110)의 터미널 클라이언트(120)로 전송되어 표시된다.
멀티미디어 응용 프로그램의 실행 화면에서 사용자가 재생할 동영상 파일을 선택하게 되면 이에 따른 선택 정보는 터미널 서버(150)로 전송되고, 터미널 서버(150)의 동영상 재생 엔진(163)은 사용자가 선택한 동영상 파일의 포맷 정보에 따라 비디오/오디오 디코더(151), 비디오 렌더러(153) 및 오디오 렌더러(155)를 로딩한다. 그리고, 비디오/오디오 디코더(151), 비디오 렌더러(153) 및 오디오 렌더러(155)는 동영상 재생 분산 처리기(170)에 동영상 재생에 필요한 기본 정보(즉, 코덱 정보, 데이터의 포맷 정보, 동영상 화면이 표시될 좌표 정보 등)를 등록한다(S209).
동영상 재생 분산 처리기(170)는, 동영상 재생에 필요한 기본 정보를 가상 채널 관리부(183)를 통해 사용자 단말기(110)의 터미널 클라이언트(120)로 전송하며 동영상 재생의 초기화를 요청한다(S211). 터미널 클라이언트(120)의 동영상 재생 가상 엔진(130)은 상기 기본 정보에 기초하여 디코더, 렌더러 등을 선택하여 동영상 재생을 준비한다.
도 3은 본 발명의 일 실시예에 따른 터미널 서비스에 있어서 동영상 재생의 분산 처리 과정을 설명하는 흐름도이다.
도 2를 참조하여 설명한 바와 같이 초기화가 완료된 후, 터미널 서버(150)는 터미널 클라이언트(120)로부터 사용자의 동영상 재생 시작 입력을 수신한다(S301). 터미널 서버(150)의 동영상 재생 엔진(163)은, 동영상 파일을 파싱하여 동영상 파일을 패킷 단위의 비디오 데이터와 오디오 데이터로 분리하고, 그 분리된 비디오 데이터 및 오디오 데이터와 재생 흐름에 필요한 제어 정보를 비디오/오디오 디코더(151)로 전달한다. 비디오/오디오 디코더(151)는, 비디오 데이터 및 오디오 데이터와 재생 흐름에 필요한 제어 정보를 디코딩 처리하지 않고 이를 우회시켜 동영상 재생 분산 처리기(170)로 전달한다(S303).
한편, 비디오/오디오 디코더(151)는, 기본적으로 윈도우즈 운영 체제의 규격에 따라 동작하도록 제작되었기 때문에, 비디오 렌더러(153) 및 오디오 렌더러(155)로 비디오 및 오디오 데이터를 전달해야 한다. 그런데, 상술한 바와 같이 실제 비디오 및 오디오 데이터는 우회 처리하였기 때문에, 비디오 렌더러(153) 및 오디오 렌더러(155)로 전달할 비디오 및 오디오 데이터로서 더미 비디오 및 오디오 데이터를 생성하고, 재생 흐름에 필요한 제어 정보와 함께 비디오 렌더러(153) 및 오디오 렌더러(155)로 전달한다(S305).
비디오 렌더러(153) 및 오디오 렌더러(155)는 재생 흐름에 필요한 제어 정보를 이용하여 더미 비디오 및 오디오 데이터를 렌더링하여 출력한다(S307). 비디오 및 오디오 데이터는 더미 데이터이기 때문에, 화면에는 아무런 비디오 정보가 표시되지 않고 오디오 신호는 무음 처리된다.
한편, 동영상 재생 분산 처리기(170)는, 비디오/오디오 디코더(151)로부터 분산 처리를 위해 우회 전달된 비디오 데이터 및 오디오 데이터와 재생 흐름에 필요한 제어 정보를 전용 통신 터널 관리부(181)를 통해 터미널 클라이언트(120)로 전송한다(S309).
도 4는 본 발명의 일 실시예에 따른 터미널 서비스에 있어서 터미널 클라이언트에서 이루어지는 동영상 재생 분산 처리 과정을 설명하는 흐름도이다.
도 4를 참조하면, 도 2를 참조하여 설명한 바와 같이 터미널 서버(150)에서 동영상 재생을 위한 초기화가 진행되는 과정에서, 사용자 단말기(110)의 터미널 클라이언트(120)는 터미널 서버(150)로부터 초기화 요청을 수신한다(S401).
초기화 요청을 수신함에 따라 터미널 클라이언트(120)는 사용자 단말기(110)의 오디오 장치와 비디오 창을 초기화한다(S403). 또한 터미널 클라이언트(120)는 데이터 큐(queue)를 초기화하고(S405), 비디오/오디오 디코더(135)도 초기화한다(S407).
초기화 완료 후 터미널 서버(150)의 동영상 재생 분산 처리기(170)로부터 동영상 데이터가 수신되면, 터미널 클라이언트(120)는 상기 데이터 큐에 상기 수신된 동영상 데이터를 버퍼링한다(S409).
데이터 큐에 동영상 데이터를 버퍼링하며 터미널 클라이언트(120)는 터미널 서버(150)의 동영상 재생 분산 처리기(170)로부터 제어 명령을 대기한다. 사용자가 사용자 단말기(11)에서 동영상 재생 시작 버튼을 누르게 되면, 그 입력 신호는 터미널 서버(150)로 전송된다.
터미널 서버(150)의 멀티미디어 응용 프로그램(161)은 재생 시작 입력 신호에 따라 동영상 재생을 시작하고, 그 제어 명령을 동영상 재생 분산 처리기(170)를 통해 터미널 클라이언트(120)로 전송한다. 또는 사용자가 동영상 파일을 선택함과 동시에 재생이 시작되는 경우, 재생 시작 제어 명령은 동영상 데이터보다 소정 시간 지연되어 터미널 클라이언트(120)로 전송된다. 제어 명령의 전송은 전용 통신 터널을 통해 이루어진다.
터미널 서버(150)로부터 동영상 재생 시작 제어 명령이 수신되는 경우(S411), 터미널 클라이언트(120)의 동영상 재생 가상 엔진(130)은 상기 데이터 큐에 버퍼링 되고 있는 동영상 데이터를 디코딩 및 렌더링 처리하여 화면의 상위 레이어(layer)에 표시한다(S413). 즉, 다른 화면 보다 상위 레이어에 표시됨으로써, 다른 화면은 동영상 재생 화면에 의해 가려져 보이지 않게 된다.
이상과 같은 본 실시예에 따르면, 모든 응용 프로그램은 터미널 서버(150)에서 실행되고 그에 따른 실행 화면만이 터미널 클라이언트(120)로 전송되는 반면, 동영상 데이터는 터미널 서버(150)에서 실행되지 않고 터미널 클라이언트(120)에서 분산 처리됨으로써, 터미널 서버(150)의 부하를 경감시키고, 기존 터미널 서비스에 서 재생의 한계가 있거나 불가능했던 포맷(예컨대, 윈도우 미디어 파일, 고용량의 동영상 파일 등)의 동영상을 화면 손실, 영상 밀림, 지연 없이 재생할 수 있다.
도 5는 본 발명의 일 실시예에 따른 동영상 재생 분산 처리 과정 중 동영상 재생 화면의 일부가 가려지는 때의 처리 과정을 설명하는 흐름도이다.
도 2 내지 도 4를 참조하여 설명한 바와 같이, 터미널 서버(150)에서 모든 응용 프로그램이 동작하고 동영상 재생은 사용자 단말기(110)로 분산되어 처리될 때, 사용자는 동영상 재생이 터미널 서버(150)에서 이루어지는 것으로 판단한다. 그런데, 동영상이 재생되는 중에 사용자가 다른 윈도우즈 창을 활성화하는 경우, 터미널 서버(150)에서는 그 활성화된 윈도우즈 창을 상위 레이어에 표시하지만, 사용자 단말기(110)의 동영상 재생 화면은 항상 상위 레이어에 표시되기 때문에 상기 활성화된 윈도우즈 창은 사용자 단말기(110)에서 동영상 재생 화면에 의해 보이지 않게 된다. 따라서 터미널 서버(150)의 화면 영역 실시간 감시부(175)는 동영상 재생 화면을 실시간 감시하여 가려지는 부분이 발생하는 경우 사용자 단말기(110) 측에 반영시킨다.
도 5에 도시된 바와 같이, 터미널 서버(150)의 화면 영역 실시간 감시부(175)는, 비디오 렌더러(153)에 의해 표시되는 동영상 재생 화면을 실시간 감시한다(S501). 상술한 바와 터미널 서버(150)에서 재생되는 동영상은 화면 정보가 없고 무음 처리 상태이다.
사용자가 다른 응용 프로그램을 구동하거나, 또는 다른 윈도우 창을 활성화하여 터미널 서버(150)의 동영상 재생 화면의 일부가 가려지는 경우(S503), 화면 영역 실시간 감시부(175)는 가려지는 부분의 화면 정보(예컨대, 좌표 정보)를 확인한다(S505).
화면 영역 실시간 감시부(175)는, 상기 확인된 가려지는 부분의 화면 정보를 가상 채널 관리부(183)를 통해 사용자 단말기(110)의 화면 영역 실시간 조절부(139)로 전송한다(S507).
사용자 단말기(110)의 화면 영역 실시간 조절부(139)는, 상기 수신된 가려진 부분의 화면 정보에 기초하여 동영상 재생 가상 엔진(130)의 비디오 렌더러(131)로 가려진 부분의 동영상 화면의 잘라내기를 지시한다. 동영상 재생 가상 엔진(130)의 비디오 렌더러(131)는, 잘라내기 지시에 따라 다른 화면에 의해 가려지는 부분의 동영상 화면을 잘라낸다(S509). 따라서 동영상 재생 화면에서 잘라내기 처리된 부분은 화면에 보이지 않게 되고, 그 잘라내기 처리된 부분의 하위 레이어 화면이 보여지게 된다. 그러므로, 터미널 서버(150)에서 표시되는 화면과 동일한 화면이 사용자 단말기(110)에 반영되어, 사용자는 동영상 재생이 터미널 서버(150)에서 수행되는 것으로 인지한다.
상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(씨디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다.
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 아니된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절한 부결합(subcombination)에서 구현될 수 있다.
도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 아니된다. 어떤 환경에서, 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.
도 1은 본 발명의 일 실시예에 따른 터미널 서비스 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 터미널 서비스에 있어서 동영상 재생의 분산 처리를 위한 초기화 과정을 설명하는 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 터미널 서비스에 있어서 동영상 재생의 분산 처리 과정을 설명하는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 터미널 서비스에 있어서 터미널 클라이언트에서 이루어지는 동영상 재생 분산 처리 과정을 설명하는 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 동영상 재생 분산 처리 과정 중 동영상 재생 화면의 일부가 가려지는 때의 처리 과정을 설명하는 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
120 : 터미널 클라이언트 130 : 동영상 재생 가상 엔진
139 : 화면 영역 실시간 조절부 150 : 터미널 서버
163 : 동영상 재생 엔진 170 : 동영상 재생 분산 처리기

Claims (15)

  1. 동영상 재생 가상 엔진을 구비한 터미널 클라이언트와 그 터미널 클라이언트의 원격 접속에 따라 터미널 서비스를 제공하며 동영상 재생의 분산 처리를 수행하는 터미널 서버 장치를 포함하는 동영상 재생 분산 처리 시스템으로서,
    상기 터미널 서버 장치는,
    터미널 세션에서 실행된 멀티미디어 응용프로그램에 종속되어 함께 구동된 동영상 재생 엔진으로부터 동영상 데이터를 전달받으면, 그 전달된 동영상 데이터를 분산 처리를 위해 디코딩 처리하지 않으며 또한 상기 동영상 데이터를 제 1 렌더러로 전달하지 않고 동영상 재생 분산 처리기로 우회시키고, 그 우회 동작 수행시 상기 동영상 데이터를 대체할 더미 데이터를 생성하여 제 1 렌더러로 전달하는 제 1 디코더;
    상기 제 1 렌더러로서, 상기 제 1 디코더로부터 전달된 상기 더미 데이터를 렌더링하여 상기 터미널 세션에서 실행된 상기 멀티미디어 응용프로그램의 동영상 재생창에 출력하는 제 1 렌더러; 및
    상기 동영상 재생 분산 처리기로서, 상기 제 1 디코더로부터 분산 처리를 위해 디코딩 처리되지 않고 전달된 상기 동영상 데이터를 상기 터미널 클라이언트의 동영상 재생 가상 엔진으로 전송하여 분산 처리시키고, 상기 제 1 렌더러에 의해 출력되는 동영상 화면을 실시간 감시하여 다른 화면에 의해 가려지는 부분의 화면 좌표 정보를 상기 터미널 클라이언트의 동영상 재생 가상 엔진으로 실시간 전송하는 동영상 재생 분산 처리기;를 포함하고,
    상기 터미널 클라이언트는,
    상기 터미널 세션에서 실행된 멀티미디어 응용프로그램의 동영상 재생창을 포함하는 프로그램 실행 결과 화면을 수신하여 표시하는 터미널 클라이언트로서, 상기 동영상 재생 가상 엔진을 포함하고, 그 동영상 재생 가상 엔진은,
    상기 프로그램 실행 결과 화면에 포함된 동영상 재생창에 재생되어 표시될 동영상 데이터를 상기 터미널 서버 장치의 동영상 재생 분산 처리기로부터 수신하여 디코딩하는 제 2 디코더;
    상기 제 2 디코더에서 디코딩 처리된 동영상 데이터를 렌더링하여, 상기 프로그램 실행 결과 화면에 포함된 동영상 재생창의 화면 영역에 대응하는 상위 레이어(layer)에 출력하는 제 2 렌더러; 및
    상기 터미널 서버의 동영상 재생 분산 처리기로부터 실시간 수신된 상기 가려지는 부분의 화면 좌표 정보에 기초하여 상기 제 2 렌더러를 제어하는 화면 영역 실시간 조절부;를 포함하며,
    상기 제 2 렌더러는, 상기 화면 영역 실시간 조절부의 제어에 따라, 상기 상위 레이어에 출력 중인 동영상 재생 화면 중 상기 가려지는 부분의 화면 좌표 정보에 대응하는 화면 영역을 잘라내어 그 잘라낸 화면 영역의 하위 레이어가 보이도록 하는 것을 특징으로 하는 동영상 재생 분산 처리 시스템.
  2. 제 1 항에 있어서,
    상기 동영상 재생 분산 처리기는,
    상기 제 1 디코더로부터 분산 처리를 위해 전달된 동영상 데이터를 제 1 전송 경로를 통해 상기 터미널 클라이언트의 동영상 재생 가상 엔진으로 전송하고,
    상기 가려지는 부분의 화면 좌표 정보를 제 2 전송 경로를 통해 상기 터미널 클라이언트의 동영상 재생 가상 엔진으로 전송하는 것을 특징으로 하는 동영상 재생 분산 처리 시스템.
  3. 제 1 항에 있어서,
    상기 제 1 디코더는,
    동영상 재생을 제어하는 사용자 제어 명령을 상기 제 1 렌더러로 전달하고,
    상기 동영상 재생 분산 처리기는,
    상기 제 1 렌더러로부터 상기 사용자 제어 명령을 전달받아 상기 클라이언트의 동영상 재생 가상 엔진으로 실시간 전송하며,
    상기 터미널 클라이언트의 동영상 재생 가상 엔진은,
    상기 사용자 제어 명령을 상기 터미널 서버의 동영상 재생 분산 처리기로부터 수신하고, 그 수신된 사용자 제어 명령에 따라 상기 제 2 디코더 및 제 2 렌더러를 제어하는 제어 명령 처리부;를 더 포함하는 것을 특징으로 하는 동영상 재생 분산 처리 시스템.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 터미널 클라이언트와 그 터미널 클라이언트의 원격 접속에 따라 터미널 서비스를 제공하는 터미널 서버 장치를 포함하는 동영상 재생 분산 처리 시스템에서 동영상 재생을 분산 처리하는 동영상 재생 분산 처리 방법으로서,
    (a) 상기 터미널 서버 장치가, 터미널 세션에서 실행된 멀티미디어 응용프로그램에 종속되어 함께 구동된 동영상 재생 엔진에서 출력된 동영상 데이터를 분산 처리를 위해 디코딩 처리하지 않고, 상기 동영상 데이터를 대체할 더미 데이터를 생성하는 단계;
    (b) 상기 터미널 서버 장치가, 상기 동영상 데이터를 대신하여 상기 더미 데이터를 렌더링하여 상기 터미널 세션에서 실행된 상기 멀티미디어 응용프로그램의 동영상 재생창에 출력하는 단계;
    (c) 상기 터미널 서버 장치가, 상기 터미널 세션에서 실행된 상기 멀티미디어 응용프로그램의 동영상 재생창을 포함하는 프로그램 실행 결과 화면을 상기 터미널 클라이언트로 전송하고, 상기 디코딩 처리하지 않은 상기 동영상 데이터를 상기 터미널 클라이언트로 전송하는 단계;
    (d) 상기 터미널 서버 장치가, 상기 터미널 세션에서 실행된 상기 멀티미디어 응용프로그램의 동영상 재생창을 실시간 감시하여 다른 화면에 의해 가려지는 부분의 화면 좌표 정보를 상기 터미널 클라이언트로 전송하는 단계;
    (e) 상기 터미널 클라이언트가, 상기 (c) 단계에서 상기 터미널 서버 장치로부터 전송된 멀티미디어 응용프로그램의 동영상 재생창을 포함하는 프로그램 실행 결과 화면을 수신하여 표시하는 단계;
    (f) 상기 터미널 클라이언트가, 상기 (c) 단계에서 상기 터미널 서버 장치로부터 전송된 디코딩 처리하지 않은 동영상 데이터를 수신하여 디코딩 처리하고, 그 디코딩 처리한 동영상 데이터를 렌더링하여 상기 (e) 단계에서 수신된 프로그램 실행 결과 화면에 포함된 동영상 재생창의 화면 영역에 대응하는 상위 레이어에 출력하는 단계; 및
    (g) 상기 터미널 클라이언트가, 상기 (d) 단계에서 상기 터미널 서버 장치로부터 전송된 상기 가려지는 부분의 화면 좌표 정보를 수신하고, 상기 (f) 단계에서 상위 레이어에 출력 중인 동영상 재생 화면 중 상기 가려지는 부분의 화면 좌표 정보에 대응하는 화면 영역을 잘라내어 그 잘라낸 화면 영역의 하위 레이어가 보이도록 하는 단계;를 포함하는 동영상 재생 분산 처리 방법.
  10. 제 9 항에 있어서,
    상기 (c) 단계에서 상기 터미널 서버 장치는, 디코딩 처리하지 않은 상기 동영상 데이터를 제 1 전송 경로를 통해 터미널 클라이언트로 전송하고,
    상기 (d) 단계에서 상기 터미널 서버 장치는, 가려지는 부분의 화면 좌표 정보를 제 2 전송 경로를 통해 터미널 클라이언트로 전송하는 것을 특징으로 하는 동영상 재생 분산 처리 방법.
  11. 제 9 항에 있어서,
    (h) 상기 터미널 서버 장치가, 동영상 재생을 제어하는 사용자 제어 명령을 상기 터미널 클라이언트로부터 수신하면, 그 수신된 사용자 제어 명령을 처리하지 않고 상기 터미널 클라이언트로 전송하는 단계; 및
    (i) 상기 터미널 클라이언트가, 상기 (h) 단계에서 상기 터미널 서버 장치로부터 전송된 사용자 제어 명령에 따라 상기 상위 레이어의 동영상 재생을 제어하는 단계;를 더 포함하는 동영상 재생 분산 처리 방법.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
KR1020080083462A 2008-08-26 2008-08-26 터미널 환경의 서버 기반 컴퓨팅 시스템에서 영상 밀림, 영상 손실 및 지연 없이 동영상 재생을 그 파일 형태 및 크기와 무관하게 분산 처리하기 위한 동영상 재생 분산 처리 시스템 및 동영상 재생 분산 처리 방법 KR101026759B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080083462A KR101026759B1 (ko) 2008-08-26 2008-08-26 터미널 환경의 서버 기반 컴퓨팅 시스템에서 영상 밀림, 영상 손실 및 지연 없이 동영상 재생을 그 파일 형태 및 크기와 무관하게 분산 처리하기 위한 동영상 재생 분산 처리 시스템 및 동영상 재생 분산 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080083462A KR101026759B1 (ko) 2008-08-26 2008-08-26 터미널 환경의 서버 기반 컴퓨팅 시스템에서 영상 밀림, 영상 손실 및 지연 없이 동영상 재생을 그 파일 형태 및 크기와 무관하게 분산 처리하기 위한 동영상 재생 분산 처리 시스템 및 동영상 재생 분산 처리 방법

Publications (2)

Publication Number Publication Date
KR20100024758A KR20100024758A (ko) 2010-03-08
KR101026759B1 true KR101026759B1 (ko) 2011-04-08

Family

ID=42176503

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080083462A KR101026759B1 (ko) 2008-08-26 2008-08-26 터미널 환경의 서버 기반 컴퓨팅 시스템에서 영상 밀림, 영상 손실 및 지연 없이 동영상 재생을 그 파일 형태 및 크기와 무관하게 분산 처리하기 위한 동영상 재생 분산 처리 시스템 및 동영상 재생 분산 처리 방법

Country Status (1)

Country Link
KR (1) KR101026759B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430729B1 (ko) * 2010-10-27 2014-08-14 한국전자통신연구원 소프트웨어 지원 서버 및 그 방법
KR102237991B1 (ko) 2015-03-20 2021-04-08 한국전자통신연구원 Pci 익스프레스 전용 통신 모듈을 이용한 통신 방법과 이를 포함하는 네트워크 장치

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145885A (ja) 2002-10-25 2004-05-20 Mentor Graphics Corp 遠隔コンピュータへのオペレーションの分散方法、装置、及び記憶媒体
KR20050039868A (ko) * 2002-08-30 2005-04-29 소니 가부시끼 가이샤 미디어 플레이어용 원격 사용자 인터페이스
KR100527874B1 (ko) 2002-12-17 2005-11-15 김주익 가상 데스크탑 컴퓨터 장치 및 이를 이용한 응용프로그램운영방법
KR20060110267A (ko) * 2003-09-12 2006-10-24 사이트릭스 시스템스, 인크. 신 클라이언트에서 그래픽 및 미디어 디스플레이를생성하기 위한 장치 및 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050039868A (ko) * 2002-08-30 2005-04-29 소니 가부시끼 가이샤 미디어 플레이어용 원격 사용자 인터페이스
JP2004145885A (ja) 2002-10-25 2004-05-20 Mentor Graphics Corp 遠隔コンピュータへのオペレーションの分散方法、装置、及び記憶媒体
KR100527874B1 (ko) 2002-12-17 2005-11-15 김주익 가상 데스크탑 컴퓨터 장치 및 이를 이용한 응용프로그램운영방법
KR20060110267A (ko) * 2003-09-12 2006-10-24 사이트릭스 시스템스, 인크. 신 클라이언트에서 그래픽 및 미디어 디스플레이를생성하기 위한 장치 및 방법

Also Published As

Publication number Publication date
KR20100024758A (ko) 2010-03-08

Similar Documents

Publication Publication Date Title
US10080966B2 (en) System and method for experiencing advertised interactive applications
US8903897B2 (en) System and method for providing interactive content to non-native application environments
US9549152B1 (en) Application content delivery to multiple computing environments using existing video conferencing solutions
US9227139B2 (en) Virtualization system and method for hosting applications
US10531149B2 (en) Method and system for managing buffers
JP5481606B1 (ja) 画像生成システムおよび画像生成用プログラム
US9358470B2 (en) Television viewing on gaming consoles
EP3503569A1 (en) Method of transmitting video frames from a video stream to a display and corresponding apparatus
EP3410290B1 (en) Audio processing method, server, user equipment, and system
US20220193540A1 (en) Method and system for a cloud native 3d scene game
KR20110007114A (ko) 원격 세션에서의 멀티미디어 동작을 관리하는 시스템 및 방법
US11588875B2 (en) Multi-media redirection for media applications
CN112399257B (zh) 云桌面视频播放方法、服务器、终端及存储介质
US20140243083A1 (en) Apparatus and method of providing cloud service using game platform based on streaming
US20230388578A1 (en) Systems and Methods of Alternative Networked Application Services
WO2008033649A1 (en) Adding video effects for video enabled applications
KR101026759B1 (ko) 터미널 환경의 서버 기반 컴퓨팅 시스템에서 영상 밀림, 영상 손실 및 지연 없이 동영상 재생을 그 파일 형태 및 크기와 무관하게 분산 처리하기 위한 동영상 재생 분산 처리 시스템 및 동영상 재생 분산 처리 방법
US7783987B2 (en) User experience enforcement
WO2018094261A1 (en) Method and system for managing buffers
KR101067397B1 (ko) 오디오 프로세싱 오브젝트에 의한 액세스 위반에 대한 복구를 수행하기 위한 컴퓨팅 시스템 동작 방법, 컴퓨터-판독가능 매체 및 컴퓨팅 시스템
WO2017020607A1 (zh) Rdp协议数据回放方法、服务器及系统
KR20170105317A (ko) 하드웨어 기반의 gpu를 이용한 가상머신의 화면 전송 방법 및 이를 이용한 장치
KR101480140B1 (ko) 멀티 인젝션 서버 및 그 방법
JP2021518695A (ja) ディスプレイ−サーバコンピューティングシステムにおいてオーディオ及びビデオデータストリームをリダイレクトするためのシステム及び方法
KR20110006979A (ko) 터미널 서비스의 가속화를 위한 멀티미디어 재생 분산처리 시스템 및 그 방법

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: 20140110

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150526

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160325

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190225

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200217

Year of fee payment: 10