KR20070092198A - Systems and methods for remotely controlling computer apllications - Google Patents

Systems and methods for remotely controlling computer apllications Download PDF

Info

Publication number
KR20070092198A
KR20070092198A KR1020077005878A KR20077005878A KR20070092198A KR 20070092198 A KR20070092198 A KR 20070092198A KR 1020077005878 A KR1020077005878 A KR 1020077005878A KR 20077005878 A KR20077005878 A KR 20077005878A KR 20070092198 A KR20070092198 A KR 20070092198A
Authority
KR
South Korea
Prior art keywords
application
host computer
remote
audio
video
Prior art date
Application number
KR1020077005878A
Other languages
Korean (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 KR20070092198A publication Critical patent/KR20070092198A/en

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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/43615Interfacing a Home Network, e.g. for connecting the client to a plurality of peripherals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Digital Computer Display Output (AREA)

Abstract

A modular system and method is for displaying and controlling a host computer application interface using a real-time video and control stream to a remote digital media receiver client is disclosed. The continuous graphical display pixels and audio of a host computer application interface window are divided into time segments of a predetermined length. These segments are then subsequently coded as video and audio streams. These video and audio streams are then sent to a remote digital media receiver client where they are decoded for display on a television device or played back on an audio system. The host computer application interface is controlled by user commands that originate at the remote digital media receiver client. The commands are sent over a control channel that is established between the host computer and the digital media receiver.

Description

컴퓨터 애플리케이션 원격 제어 방법 및 시스템{SYSTEMS AND METHODS FOR REMOTELY CONTROLLING COMPUTER APLLICATIONS}Remote control method and system for computer applications {SYSTEMS AND METHODS FOR REMOTELY CONTROLLING COMPUTER APLLICATIONS}

본 출원은, 2004년 2월 27일에 제출한 미국 가출원 제60/548,726호의 우선권을 주장하는 2005년 2월 28일에 제출한 미국 실용신안 출원 제11/068612호의 일부계속출원이다. 여기에 참고로 포함된다. 또한, 본 출원은 2004년 8월 13일에 제출한 미국 가출원 제60/601,244호의 우선권 주장 출원이다.This application is a partial continuing application of US Utility Model Application No. 11/068612, filed February 28, 2005, which claims priority of US Provisional Application No. 60 / 548,726, filed February 27, 2004. This is incorporated by reference. This application is also a priority claim application of US Provisional Application No. 60 / 601,244, filed August 13, 2004.

본 발명은 컴퓨터 네트워크에 관한 것으로, 더욱 상세하게는 콘텐츠 스트리밍(content streaming)에 관한 것이다. TECHNICAL FIELD The present invention relates to computer networks and, more particularly, to content streaming.

현재, 원격 호스트에서 동작하는 컴퓨터 애플리케이션의 실행을 원격으로 제어하고 그 애플리케이션 출력을 제공할 수 있는 장치의 필요성이 요구되고 있다. 이러한 장치는 강인(robust)해야 하고 원격 호스트로부터 전송된 암호화된 데이터를 복호화할 수 있어야 한다. 일 예로, 원격으로 미디어 플레이어를 제어하여 상기 미디어 플레이어의 출력을 볼 수 있는 것을 포함한다.Currently, there is a need for a device that can remotely control the execution of a computer application running on a remote host and provide that application output. Such devices must be robust and able to decrypt encrypted data sent from remote hosts. For example, it may be possible to remotely control the media player to view the output of the media player.

이러한 애플리케이션은 컴퓨터 애플리케이션을 동작시키는데 필요한 처리 능력을 애플리케이션 실행을 제어하는 장치로부터 분리시키는 방법 및 시스템을 제공한다. 이는 상기 장치를 간단하고 저렴해지도록 한다.Such applications provide a method and system for separating the processing power needed to run a computer application from a device controlling application execution. This makes the device simple and inexpensive.

바람직한 실시예에서, 본 발명의 시스템 및 방법은 디지털 미디어 수신기(Digital Media Receiver : 이하 DMR) 장치가 원격 컴퓨터에서 호스트되는 임의의 컴퓨터 운영 체제 및 애플리케이션(즉, 마이크로소프트 윈도우, 애플 MacOS, 마아크로소프트 워드, 마이크로소프트 인터넷 익스플로어, PC 비디오 게임, 마이크로소프트 미디어 플레이어, 리얼 네트워크 미디어 플레이어 등)을 동작시키고, 제어하며 화면에 표시할 수 있도록 한다. 본 발명의 시스템 및 방법은 음성 및 비디오 스트림과 네트워크 제어 채널을 통해 병행(concurrent) 전송 및 호스트 컴퓨터의 제어을 제공한다. 실시간 오디오 및 비디오 스트림은 애플리케이션 인터페이스 미디어 스트림(Application Interface Media Stream: 이하 AIMS)으로 불려진다. AIMS는 컴퓨터 네트워크를 통하여 호스트 컴퓨터로부터 DMR으로 전송된다. 그런 다음, DMR은 AIMS를 수신하여 복호화하고 TV 장치로 디스플레이하기 위해 렌더링한다. 호스트 컴퓨터 애플리케이션은 사용자에 의해 제어되는 DMR 제어 장치의 이용에 의해서 제어된다. DMR 제어 장치에서 발생하는 명령은 컴퓨터 네트워크를 통하여 호스트 컴퓨터 애플리케이션으로 전송되고, 호스트 컴퓨터 애플리케이션은 상기 명령에 응답하여 순차적으로 애플리케이션 GUI, 비디오 스크린 이벤트 및 오디오 애플리케이션 인터페이스 출력(output)을 업데이트 및 제어한다.In a preferred embodiment, the system and method of the present invention is directed to any computer operating system and application in which a Digital Media Receiver (DMR) device is hosted on a remote computer (ie, Microsoft Windows, Apple MacOS, Microsoft). Word, Microsoft Internet Explorer, PC video games, Microsoft Media Player, Real Network Media Player, etc.) can be operated, controlled and displayed on the screen. The systems and methods of the present invention provide for concurrent transmission and control of the host computer via voice and video streams and network control channels. Real-time audio and video streams are called Application Interface Media Streams (AIMS). AIMS is sent from the host computer to the DMR via a computer network. The DMR then receives, decodes and renders the AIMS for display on the TV device. The host computer application is controlled by the use of a DMR control device controlled by the user. Commands originating in the DMR control device are transmitted to the host computer application via the computer network, which in turn updates and controls the application GUI, video screen events, and audio application interface outputs in response to the command.

다른 측면에서, 상기 애플리케이션의 시스템 및 방법은 또한 DMR 장치가 원격 컴퓨터상에호스트된 미디어 플레이어 애플리케이션을 동작시키고 제어하며 화면에 표시할 수 있도록 한다. 이때 원격 컴퓨터의 미디어 플레이어 애플리케이션은 다음 두 가지면에서 다른 애플리케이션과 다르다. (1) 원격 컴퓨터는 DMR이 복호화할 수 없는 미디어 포맷을 DMR이 복호화할 수 있는 미디어 포맷으로 변환시키는 컴포넌트를 포함해야 한다. (2) 미디어 플레이어 애플리케이션은 사용자가 선택한 비디오 파일이 TV 화면상에서 파일 선택을 수월하게 하는 GUI를 완전히 대체하도록 컨텍스트 스위칭(context switching)을 제공한다.In another aspect, the system and method of the application also allows the DMR device to operate, control, and display the hosted media player application on a remote computer. The remote player's media player application differs from other applications in two ways: (1) The remote computer must include a component that converts a media format that the DMR cannot decrypt into a media format that the DMR can decrypt. (2) The media player application provides context switching so that the video file selected by the user completely replaces the GUI that facilitates file selection on the TV screen.

바람직한 실시예의 일반적인 동작은 다음과 같다. 먼저, DMR과 호스트 컴퓨터 사이에 세션(session)이 설정된다. 그리고 나서, 동시에 호스트 컴퓨터의 비디오 및 오디오는 DMR로 전송되는 시간 슬라이스 스트림(time slices streams)으로 부호화되고, DMR은 사용자로부터 제어 메시지를 수신한다. 상기 제어 메시지는 부호화되어 호스트 컴퓨터로 전송되는데, 그 제어 메시지는 복호화되어 애플리케이션의 실행을 조정하기 위해 사용된다.The general operation of the preferred embodiment is as follows. First, a session is established between the DMR and the host computer. At the same time, the video and audio of the host computer are then encoded into time slices streams that are sent to the DMR, which receives the control message from the user. The control message is encoded and sent to a host computer, which control message is decoded and used to coordinate the execution of the application.

한편, 또 다른 측면에서, 원격으로 컴퓨터 애플리케이션을 제어하는 방법은, 호스트 컴퓨터상의 컴퓨터 애플리케이션을 동작시키는 단계; 미디어 채널 및 애플리케이션 제어 채널을 통하여 호스트 컴퓨터와 원격의 수신기간에 전자적 데이터 통신을 설정하는 단계; 미디어 채널을 통하여 호스트 컴퓨터에서 원격 수신기로 애플리케이션 출력(output)을 전송하는 단계; 원격 수신기에서 애플리케이션 출력(output)을 표시하는 단계; 및 호스트 컴퓨터에서 애플리케이션 채널을 통하여 상기 원격 수신기로부터 상기 표시된 출력에 관련된 명령을 수신하는 단계를 포함한다.On the other hand, in another aspect, a method of controlling a computer application remotely includes: operating a computer application on a host computer; Establishing electronic data communication between a host computer and a remote receiver via a media channel and an application control channel; Sending an application output from a host computer to a remote receiver via a media channel; Displaying an application output at the remote receiver; And receiving a command related to the displayed output from the remote receiver via an application channel at a host computer.

또한, 원격 호스트 컴퓨터에서 동작하는 컴퓨터 애플리케이션을 제어하고 표시하기 위한 수신기는, 수신기와 원격 호스트간에 하나 이상의 통신 채널을 설정하기 위한 데이터 관리 수단; 원격 호스트로부터 수신된 애플리케이션 출력 데이터를 복호화하기 위한 데이터 처리 수단; 수신기로부터 원격 호스트로의 제어 신호를 부호화하기 위한 데이터 제어 수단; 및 수신기의 사용자에 의한 제어 명령을 입력하기 위한 입력 수단을 포함한다.The receiver for controlling and displaying a computer application running on a remote host computer further comprises: data management means for establishing at least one communication channel between the receiver and the remote host; Data processing means for decrypting application output data received from the remote host; Data control means for encoding a control signal from a receiver to a remote host; And input means for inputting a control command by the user of the receiver.

본 출원에 설명된 실시예는 이어지는 바람직한 실시예의 설명 및 첨부된 도면을 참조함으로써 보다 정확하게 이해될 것이다.The embodiments described in this application will be more accurately understood by reference to the following description of the preferred embodiments and the accompanying drawings.

도 1은 컴퓨터 네트워크상에서 다수의 제어 및 미디어 스트림을 통하여 호스트 컴퓨터의 애플리케이션 인터페이스를 제어, 디스플레이, 송신 및 수신하는 시스템의 블록도이다.1 is a block diagram of a system for controlling, displaying, transmitting, and receiving an application interface of a host computer through a number of control and media streams over a computer network.

도 2는 컴퓨터 네트워크상에서 다수의 제어 및 미디어 스트림을 통하여 호스트 컴퓨터의 미디어 플레이어 애플리케이션 인터페이스 및 호스트 컴퓨터의 A/V 미디어 아카이브를 제어, 디스플레이, 전송 및 수신하는 시스템의 블록도이다.FIG. 2 is a block diagram of a system for controlling, displaying, transmitting and receiving a media player application interface of a host computer and an A / V media archive of a host computer through a number of control and media streams over a computer network.

도 1에 도시된 본 발명의 제 1 실시예에서, 디지털 미디어 수신기(90, Digital Media Receiver : DMR)(DMR은 네트워킹이 가능한 DVD 플레이어, DMR 기능을 지원하기 위해 특화된 소프트웨어를 구동하는 개인용 컴퓨터 등이 될 수 있다)는 호스트 컴퓨터(91)의 네트워크 인터페이스(310)에 연결되는 네트워크 인터페이스(260)를 포함한다. 네트워크 인터페이스(260, 310)는 각각TCP/IP(Transmission Control Protocol/Internet Protocol) 스택(stack)(100, 300)을 사용하는 “유선”(즉, IEEE 802.3 이더넷) 혹은 “무선”(즉, IEEE 802.11) 하드웨어 장치일 수 있다. 상기 스택은 소프트웨어 통신 서비스로서 제공될 수 있고, 호스트 컴퓨터(91)와 같은 네트워크 상의 TCP/IP 기반의 임의의 장치와 DMR 사이에서 최소한 표준 TCP/IP와 UDP/IP 패킷 교환 방식의 데이터 통신 채널을 제공해야 한다. 또한, 네트워크 인터페이스는 USB, IEEE 1394 등이 될 수 있다.In the first embodiment of the present invention shown in Fig. 1, a digital media receiver (DMR) 90 (DMR) is a DVD player capable of networking, a personal computer running software specialized to support the DMR function, or the like. And network interface 260 coupled to network interface 310 of host computer 91. Network interfaces 260 and 310 are " wired " (i.e., IEEE 802.3 Ethernet) or " wireless " (i.e., IEEE) using Transmission Control Protocol / Internet Protocol (TCP / IP) stacks 100, 300, respectively. 802.11) hardware device. The stack may be provided as a software communication service, and may establish at least standard TCP / IP and UDP / IP packet switched data communication channels between any TCP / IP based device on the network, such as host computer 91, and the DMR. Must be provided. In addition, the network interface may be USB, IEEE 1394, and the like.

세션 설정 및 제어 컴포넌트는 DMR(90)과 호스트 컴퓨터(91) 사이의 통신 세션 설정을 위해 사용된다. DMR의 세션 설정 및 제어 컴포넌트(250)는 UPnP 포럼에서 개시한 UPnP(Universal Plug and Play)를 사용할 수 있다. DMR에 있어서, 세션 설정 및 제어 컴포넌트는 아래의 내용을 필수적으로 제공한다.The session establishment and control component is used for establishing a communication session between the DMR 90 and the host computer 91. The session establishment and control component 250 of the DMR may use Universal Plug and Play (UPnP) initiated by the UPnP Forum. In DMR, the session establishment and control component essentially provides the following.

1. DMR에 대한 IP 주소로서, 고정(static) IP 할당 또는 DHCP(Dynamic Host Control Protocol) 기반의 IP 할당을 사용.1. As an IP address for the DMR, use static IP assignment or Dynamic Host Control Protocol (DHCP) based IP assignment.

2. 네트워크 상에서 호환되는 호스트 컴퓨터를 발견하여 DMR에 연결하기 위한 방법.2. A method for finding a compatible host computer on the network and connecting to the DMR.

3. 상기 네트워크 상에서 호환되는 호스트 컴퓨터와 DMR 간에 TCP/IP 기반의 소켓(socket) 접속을 토대로 세션을 협상, 설정, 종료하기 위한 방법. 상기 소켓 접속은 TCP/IP 및 UDP/IP 기반 통신 채널이다. 상기 소켓 접속은 DMR과 호스트 컴퓨터 간에 실시간 비디오, 오디오 및 제어 메시지를 전송한다.3. A method for negotiating, establishing, and terminating a session based on a TCP / IP based socket connection between a compatible host computer and a DMR on the network. The socket connection is a TCP / IP and UDP / IP based communication channel. The socket connection transmits real time video, audio and control messages between the DMR and the host computer.

4. 또한, 적용 가능한 경우에, DRM(Digital Rights Management) 방침 및 보안 통신 채널을위해 암호화 복호화 키에 관해 협상한다. 그리고 나서, DMR(90)의 복호화(decryption) 컴포넌트(120)로 복호화 키를 전달한다. 바람직한 실시예에서 복잡도가 낮은(low complexity) 사설(proprietary) DRM 방침은 Light Weight DRM으로 알려진 호스트 컴퓨터와 DMR 사이에서 동작되는 것으로 의도되고, 복잡도가 높은(high complexity) 산업 표준에 기초한 DRM 플랫폼은 호스트 컴퓨터에서 종단될 것임을 분명히 한다. 대안으로, DTCP(Digital Transmission Cortent Protocol)와 같은 산업 표준은 DMR(90)과 호스트 컴퓨터(91) 사이에서 미디어의 불법 복제를 방지하기 위해 사용될 수 있다.4. Also, where applicable, negotiate cryptographic decryption keys for Digital Rights Management (DRM) policies and secure communication channels. The decryption key is then passed to the decryption component 120 of the DMR 90. In the preferred embodiment, the low complexity proprietary DRM policy is intended to operate between the host computer and the DMR, known as Light Weight DRM, and the DRM platform based on high complexity industry standards Make sure it will be terminated on the computer. Alternatively, industry standards such as the Digital Transmission Cortent Protocol (DTCP) can be used to prevent illegal copying of media between the DMR 90 and the host computer 91.

호스트 컴퓨터(91)에 있어서, 세션 설정 및 제어 컴포넌트(305)는 아래의 내용을 필수적으로 제공한다.In the host computer 91, the session establishment and control component 305 essentially provides the following.

1. 네트워크 상에서 DMR 장치를 발견하여 연결하기 위한 방법1. A method for discovering and connecting DMR devices on a network

2. 네트워크 상에서 호스트 컴퓨터와 DMR 간에 TCP/IP 기반의 소켓(socket) 접속을 토대로세션을 협상, 설정, 종료하기 위한 방법. 상기 소켓 접속은 TCP/IP 및 UDP/IP 기반 통신 채널이다. 상기 소켓 접속은 DMR과 호스트 컴퓨터 간에 실시간 비디오, 오디오, 및 제어 메시지를 전송한다.2. A method for negotiating, configuring, and terminating a session based on a TCP / IP based socket connection between a host computer and a DMR on a network. The socket connection is a TCP / IP and UDP / IP based communication channel. The socket connection transmits real time video, audio, and control messages between the DMR and the host computer.

3. 또한, 적용 가능한 경우에, DRM(Digital Rights Management) 플랫폼 및 보안 통신 채널을 위해 암호키/복호화 키에 관해 협상한다. 그리고 나서, 호스트 컴퓨터(91)의 암호화 컴포넌트 (450)로 복호화 키를 전달한다.3. Also negotiate encryption key / decryption key for Digital Rights Management (DRM) platform and secure communication channel, if applicable. The decryption key is then passed to the encryption component 450 of the host computer 91.

상기 암호화 및 복호화 키의 교환은 세션 제어 채널(20)을 통해 이루어진다. 일단 DMR과 호스트 컴퓨터 간에 세션이 설정되면, 미디어 스트림은 미디어 스트림 채널(22)을 통하여 호스트 컴퓨터(91)에서 DMR(90)으로 전송될 수 있고, 제어 메시 지는 애플리케이션 제어 채널(24)을 통하여 DMR(90)에서 호스트 컴퓨터(91)로 전송될 수 있다. The exchange of encryption and decryption keys is through the session control channel 20. Once a session has been established between the DMR and the host computer, the media stream can be sent from the host computer 91 to the DMR 90 via the media stream channel 22, and the control message is transmitted through the application control channel 24 to the DMR. 90 may be sent to host computer 91.

호스트 컴퓨터에서 동작하는 애플리케이션(410, 이벤트 루프)은 모든 제어 이벤트를 관리하고 처리한다. 애플리케이션(410, 이벤트 루프)은 GUI 인터페이스 뿐만 아니라 모든 애플리케이션 서브-시스템에 직접적인 접근을 한다. 애플리케이션 사운드 컴포넌트(430)는 운영체제의 비프음과 같이 애플리케이션에 특유한 오디오, 또는 GUI 청각 도구로서 생성되는 오디오 표시기를 생성한다. 오디오 부호기(420)는 DMR 장치에서 사용되는 코덱에 호환되는 압축 코덱을 이용하여 오디오 스트림을 압축한다. 애플리케이션 윈도우(490, GUI)는 애플리케이션의 사용자 인터페이스를 구성하는 활성화 윈도우 또는 윈도우의 집합 및 대화 박스(dialog boxes)이다. 윈도우 비디오 부호기(480)는 호스트 컴퓨터(91)에서 애플리케이션 GUI 윈도우에 의해 점유되는 메모리 영역 내의 비디오 버퍼를 샘플링(sampling)하여 미가공(raw) 비디오 스트림을 생성한다. 그런 다음, 세션 설정 동안 협상된, DMR에 의해 지원되는 최적의 디스플레이 포맷(display format)으로 비디오의 해상도 및 주사 구조를 리샘플링(resampling)한다. 통상적인 비디오 해상도 포맷은 표준 화질 NTCS-TV의 비월 주사 또는 순차 주사 720 X 480 픽셀, 또는 720P, 1080i, 1080p HDTV 이다. 그런 다음, 미가공(raw) 비디오 프레임 레이트(rate)는 DMR 하드웨어가 지원하는 최적의 디스플레이 비율(display rate)로 리샘플링 된다. 이후, 미가공 비디오는 비디오 부호기(470)로 전달되고, 비디오 부호기(470)는 DMR 장치의 코덱에 호환되는 압축 코덱을 이용하여 비디오 스트림을 압축한다. 그 후, 오디오 및 비디오, 즉 두 개의 압축된 스트림은 A/V(Audio/Video) 미디어 컴포넌트(460)로 전송된다. 상기 A/V 미디어 컴포넌트(460)는 애플리케이션(410)에서 발생한 오디오 및 비디오 스트림간 시스템 시간 동기에 관한 정보를 유지한다. 또한, A/V 미디어 컴포넌트(460)는 RTP(Real-time Transfer Protocol) 세션동안 가용되는 비디오/오디오 스트림 포맷을 구성한다. 그 다음에, 암호화 컴포넌트(450)는 세션 설정 및 제어 컴포넌트(305)에 의해 세션이 설정되는 과정에서 협상된 암호화 키를 이용하여 A/V 미디어 패킷을 암호화한다.An application 410 (event loop) running on the host computer manages and handles all control events. The application 410 (event loop) has direct access to all application sub-systems as well as the GUI interface. The application sound component 430 generates audio indicators that are generated as application-specific audio, such as beeps in an operating system, or as a GUI hearing tool. The audio encoder 420 compresses the audio stream using a compression codec compatible with the codec used in the DMR apparatus. The application window 490 (GUI) is an activation window or set of windows and dialog boxes that make up the user interface of the application. The window video encoder 480 samples the video buffer in the memory area occupied by the application GUI window at the host computer 91 to produce a raw video stream. It then resamples the resolution and scanning structure of the video to the optimal display format supported by the DMR, negotiated during session establishment. Typical video resolution formats are interlaced or progressively scanned 720 × 480 pixels of standard definition NTCS-TV, or 720P, 1080i, 1080p HDTV. The raw video frame rate is then resampled to the optimal display rate supported by the DMR hardware. The raw video is then passed to the video encoder 470, which compresses the video stream using a compression codec that is compatible with the codec of the DMR device. Thereafter, audio and video, i.e., two compressed streams, are sent to an A / V media component 460. The A / V media component 460 maintains information about system time synchronization between audio and video streams occurring in the application 410. The A / V media component 460 also composes the video / audio stream format available during a Real-time Transfer Protocol (RTP) session. The encryption component 450 then encrypts the A / V media packet using the encryption key negotiated during the session establishment by the session establishment and control component 305.

RTP 스트리밍 엔진(440)은 RTP를 이용하여 A/V 데이터를 일정한 패킷 단위로 나누어 네트워크 인터페이스(310)를 통해 IP 네트워크 상의 DMR로 전달한다. 이때, TCP/IP 스택(300)은 패킷이 미디어 스트림 채널(22)로 전송될 때, 적절한 헤더를 패킷에 부가한다. 여기서 RTP는 HTTP(Hyper Text Transfer Protocol)로 대체될 수 있고, 또는, 임의의 패킷화된 스트리밍 미디어 포맷으로 대체될 수 있음을 분명히 한다.The RTP streaming engine 440 divides the A / V data into predetermined packet units using the RTP, and delivers the A / V data to the DMR on the IP network through the network interface 310. The TCP / IP stack 300 then adds the appropriate header to the packet when the packet is sent to the media stream channel 22. It is clear here that RTP can be replaced by Hyper Text Transfer Protocol (HTTP), or by any packetized streaming media format.

DMR은 네트워크 인터페이스(260)를 통하여 미디어 스트림을 수신하고 TCP/IP 스택(100)으로 패킷에서 페이로드(payload)를 추출하는 처리를 한다. A/V 지터 버퍼(110, Jitter Buffer)는 DMR로 전송되는 모든 실시간 미디어 패킷의 수신 상태 확인(receipt), 동기, 일련 순서를 관리한다. A/V 지터 버퍼는 패킷을 스트림 유형별(오디오 및 비디오)로 나누고 각 미디어 스트림의 수신 간격에 기초하여 최적의 지터 버퍼 길이를 관리한다. 복호화(decryption) 컴포넌트(120)는 세션 설정 동안 세션 설정 및 제어 컴포넌트(250)로 제공된 복호화 키를 사용하여, DMR로 전송된 모든 암호화된 미디어 패킷을 복호화한다. A/V 프레이머(130, Framer)는 A/V 지터 버퍼(110)로부터의 복호화된 오디오 및 비디오 패킷을 분리하고 하드웨어가 지원하는 미디어 스트림 포맷으로 상기 분리된 패킷을 캡슐화(encapsulate)한다. 그런 다음, 비디오 스트림은 비디오 복호기(decoder)(140)로 전달되고, 상기 비디오 복호기(140)는 A/V 프레이머(130)부터 비디오 프레임을 수신하여 미가공(raw) 비디오 스트림으로 복호화(decode)한다. 이후, 미가공(raw) 비디오 스트림은 NTSC/PAL 부호기(150)로 전달되고, NTSC/PAL 부호기(150)는 상기 미가공 비디오 스트림을 각 나라의 동작 방식에 따라 NTSC나 PAL 포맷으로 변환한다. 그리고 나서, 아날로그 NTSC/PAL 신호는 TV 비디오 출력 컴포넌트(160)로 전달되고, TV 비디오 출력 컴포넌트(160)는 NTSC/PAL 부호기(150)로부터 수신한 아날로그 비디오 신호를 증폭하여 복합, 비월 주사 컴포넌트, 또는 순차 주사 컴포넌트와 같은 표준 TV 출력 인터페이스로 전송한다.The DMR receives the media stream via the network interface 260 and processes the payload from the packet to the TCP / IP stack 100. The A / V jitter buffer 110 manages reception status, synchronization, and sequence of all real-time media packets transmitted to the DMR. The A / V jitter buffer divides packets by stream type (audio and video) and manages the optimal jitter buffer length based on the reception interval of each media stream. Decryption component 120 uses the decryption key provided to session establishment and control component 250 during session establishment to decrypt all encrypted media packets sent to the DMR. A / V framer 130 separates the decoded audio and video packets from A / V jitter buffer 110 and encapsulates the separated packets in a media stream format supported by hardware. The video stream is then passed to a video decoder 140, which receives the video frame from the A / V framer 130 and decodes it into a raw video stream. . Thereafter, the raw video stream is delivered to the NTSC / PAL encoder 150, and the NTSC / PAL encoder 150 converts the raw video stream into an NTSC or PAL format according to the operation of each country. The analog NTSC / PAL signal is then passed to the TV video output component 160, which amplifies the analog video signal received from the NTSC / PAL encoder 150 to produce a composite, interlaced scan component, Or to a standard TV output interface such as a sequential scanning component.

오디오 스트림은 오디오 복호기(170)로 전달되고, 상기 오디오 복호기(170)는 A/V 프레이머(130)로부터 압축된 오디오 신호 채널(signal channel)을 수신하여 선형(linear) PCM 채널로 압축을 해제한다. 이후, 선형 PCM 채널은 5.1 D/A 변환기(180)로 전달되고, 5.1 D/A 변환기(180)는 오디오 복호기 컴포넌트(170)로부터의 선형 PCM 오디오 신호 채널을 아날로그 오디오 신호 채널로 변환한다. 오디오 출력 컴포넌트(190)는 아날로그 및 디지털 인터페이스 동작 모드를 제공한다. 아날로그 동작 모드는 5.1 D/A 변환기(180)로부터 하위 레벨(low level)의 오디오 아날로그 신호를 수신하여 표준 다중채널 RCA(Radio Corporation of America) 오디오 출력 인터페이스로 상기 오디오 신호를 전송하기 전에 전력 증폭한다. 디지털 동작 모드는 5.1 D/A 변환기(180)로부터 미가공(raw) 디지털 채널을 수신하여 광학(opticlal) 또는 전기적 S/PDIF(Sony/Philips Digital Interface Format)을 통해 출력한다.The audio stream is delivered to an audio decoder 170, which receives the compressed audio signal channel from the A / V framer 130 and decompresses it into a linear PCM channel. . The linear PCM channel is then passed to a 5.1 D / A converter 180, which converts the linear PCM audio signal channel from the audio decoder component 170 into an analog audio signal channel. The audio output component 190 provides analog and digital interface operating modes. The analog mode of operation receives a low level audio analog signal from a 5.1 D / A converter 180 and amplifies power before transmitting the audio signal to a standard multichannel Radio Corporation of America (RCA) audio output interface. . The digital mode of operation receives a raw digital channel from the 5.1 D / A converter 180 and outputs it via optical or electrical S / PDIF (Sony / Philips Digital Interface Format).

오디오 및 비디오 정보가 호스트 컴퓨터(91)에서 DMR(90)로 전송된 것과 같이, DMR(90)의 사용자는 호스트 컴퓨터(91)의 애플리케이션 실행을 제어할 수 있다. Control In 컴포넌트(230)는 임의의 제어 장치(즉, 키보드(231), 마우스(232), 조이스틱(233), 적외선 원격 제어장치(240))로 DMR(90)과 통신 가능하게 하는 물리적인 인터페이스다. 사용자는 DMR에 의해 디스플레이 되는 애플리케이션 인터페이스를 조정 및 네비게이트하기 위해 제어 장치를 사용할 뿐만 아니라, DMR을 통해 임의의 미디어 스트림(즉, 비디오, 오디오, 사진)의 재생을 제어 및 조정하기 위해 제어 장치를 사용한다. As audio and video information is transmitted from the host computer 91 to the DMR 90, the user of the DMR 90 can control the application execution of the host computer 91. Control In component 230 is a physical interface that enables communication with the DMR 90 with any control device (ie, keyboard 231, mouse 232, joystick 233, infrared remote control 240). All. The user not only uses the control device to adjust and navigate the application interface displayed by the DMR, but also controls the control device to control and adjust the playback of any media stream (i.e. video, audio, photo) through the DMR. use.

복호화(decode) 제어 컴포넌트(210)는 Control In 컴포넌트 (230)에 연결된 제어 장치(231,232,233,240)로부터 받은 전기적 제어 메시지를 데이터 제어 코드로 복호화한다. 예를 들어, 적외선 리모콘(240)의 버튼이 눌러지면, 전기적 신호가 Control In 컴포넌트(230) 내부에 발생하게 된다. 이 전기적 신호는 적외선 리모콘(240)에서 눌러진 물리적인 버튼에 대응한다. 이후, 복호화 제어 컴포넌트(210)는 이 전기적 신호를 눌러진 물리적 버튼에 상응하는 데이터 제어 코드로 매핑한다. 그런 다음에, 캡슐화 컴포넌트(200)는 이 복호화된 제어 메시지를 캡슐화한다. 여기서 임의의 제어 프로토콜이 상기 캡슐화 컴포넌트에서 사용될 수 있다. 통상적 으로, 상기 제어 프로토콜의 예로 RTSP(Real Time Streaming Protocol)와 HTTP를 들 수 있다. 캡슐화된 메시지는 네트워크 인터페이스(260)에서 TCP/IP 애플리케이션 제어 채널(24)를 경유하여 호스트 컴퓨터(91)로 전송된다. 호스트 컴퓨터(91)는 네트워크 인터페이스(310)를 통하여 패킷을 수신하고 TCP/IP 스택(300)에 의해 이 패킷을 처리한다. 그런 다음, DMR로부터의 제어 메시지를 복호화(decode)하는 복호기(400)로 상기 패킷의 페이로드(payload)를 전달하고 호스트 컴퓨터의 적절한 애플리케이션으로 상기 패킷의 페이로드를 전달한다. 또한, 여기서 사용되는 제어 프로토콜이 임의의 애플리케이션을 지원하기 위해 다른 제어 프로토콜로 변형될 수 있다는 점을 분명히 해 둔다. 예를 들면, 저메모리(low memory)에 복잡도가 낮은 제어 프로토콜은 호스팅 애플리케이션과 호환되는 DHWG(Digital Home Working Group)를 지원하기 위해 RTSP나 HTTP로 변경될 수 있다. 이후, 복호기(400)는 애플리케이션(이벤트 루프,410)으로 제어 메시지를 전달하고, 애플리케이션(이벤트 루프,410)은 모든 제어 이벤트를 관리하고 처리한다. Decode control component 210 decodes the electrical control message received from control device 231, 232, 233, 240 connected to Control In component 230 into a data control code. For example, when a button of the infrared remote controller 240 is pressed, an electrical signal is generated inside the Control In component 230. This electrical signal corresponds to a physical button pressed on the infrared remote controller 240. The decryption control component 210 then maps this electrical signal to a data control code corresponding to the pressed physical button. Encapsulation component 200 then encapsulates this decrypted control message. Any control protocol here can be used in the encapsulation component. Typically, examples of the control protocol include RTSP (Real Time Streaming Protocol) and HTTP. The encapsulated message is sent from the network interface 260 to the host computer 91 via the TCP / IP application control channel 24. The host computer 91 receives the packet via the network interface 310 and processes the packet by the TCP / IP stack 300. It then delivers the payload of the packet to a decoder 400 that decodes the control message from the DMR and delivers the payload of the packet to the appropriate application on the host computer. It is also clarified that the control protocol used herein can be modified to other control protocols to support any application. For example, low memory and low complexity control protocols can be changed to RTSP or HTTP to support the Digital Home Working Group (DHWG), which is compatible with hosting applications. The decoder 400 then forwards the control message to the application (event loop 410), which manages and processes all control events.

도 2는 본 발명의 제 2 실시예를 나타낸 도면으로, 미디어 플레이어를 가지는 호스트 컴퓨터가 이용된다. 본 실시예에서, 호스트 컴퓨터(92)는 제 1 실시예의 호스트 컴퓨터(91)에 비교하면 다수의 추가적인 컴포넌트를 가진다. 특히, 미디어 플레이어를 가지는 호스트 컴퓨터(92)는 미디어 위치 데이터베이스(570)를 포함한다. 상기 미디어 위치 데이터베이스(570)는 컴퓨터의 접근을 허용하는 모든 비디오, 오디오, 사진 파일의 타입(type), 포맷, 이름 및 컴퓨터가 어드레스할 수 있는 위치에 관한 정보를 포함한다. 미디어 위치 데이터베이스(570)는 A/V 아카이 브(archive, 520) 및 사진 아카이브(560)와 인터페이스한다. A/V 아카이브(520)는 컴퓨터 검색(retrieval)을 위해 비디오 및 오디오 파일이 물리적으로 저장되는 위치이고, 사진 아카이브(560)는 컴퓨터 검색(retrieval)을 위해 사진 파일이 물리적으로 저장되는 위치이다. A/V 아카이브(520) 및 사진 아카이브(560)는 호스트 컴퓨터(92)에 위치할 수 있으며, 또는, 호스트 컴퓨터(92)에 부착된 네트워크(IP, IEEE 1394, USB 등) 장치에 저장될 수 있다. 미디어 위치 데이터베이스(570)는 애플리케이션(410)과 통신하고, 이에 따라 데이터베이스의 콘텐츠는 DMR(90)로 전송될 수 있다. DMR의 사용자가 검색하고자 하는 파일을 선택하면, 상기 선택된 정보는 DMR(90)에서 애플리케이션(410)으로 전송된다. 이때, 상기 파일은 비디오 혹은 오디오, 또는 정지 사진, 즉 두 가지 상황이 가능하다. 만약 DMR(90)의 사용자가 오디오나 비디오 파일을 요청한다면, 애플리케이션(410)은 오디오 및 비디오 파일을 탐색 가능한(seekable) 패킷 단위의 미디어 스트림으로 변환하는 A/V 파서(Parser,510)로 접근한다. 상기 A/V 파서(510)는 시간 척도(time scale)를 변경하거나 또는 변경 없이, 재생, 일시정지, 정지, 앞으로 빨리감기, 되감기 및 탐색률(seekable rate) 등과 같은 일반적인 미디어 제어 명령을 지원한다. 이 명령들은 기본적인(primitive) 파일 검색 및 읽기 명령들을 통해 지원된다. A/V 파서(510)는 DMR에 의해 요청된 절대 시간(absolute time)에 상응하는 파일 내의 인덱스(index)를 찾자마자, 오디오 프레임 또는 시간 동기화된 오디오 및 비디오 프레임을 각 미디어 패킷의 절대 실시간(absolute real-time) 스탬프(stamp)와 함께 각각의 트랜스코더(transcoder) 컴포넌트로 보낸다. 절대 실시간(absolute real-time) 스탬프 는, 미디어가 시스템 내의 이후 프로세싱 컴포넌트에 의해 때 맞추어 리샘플링될 것을 요구하는 앞으로 빨리 감기 및 되감기 명령을 명시하기 위해 사용된다. Fig. 2 shows a second embodiment of the present invention in which a host computer having a media player is used. In the present embodiment, the host computer 92 has a number of additional components compared to the host computer 91 of the first embodiment. In particular, host computer 92 having a media player includes a media location database 570. The media location database 570 includes information about the type, format, name, and location of a computer addressable of all video, audio, and photo files that allow access to the computer. Media location database 570 interfaces with A / V archives 520 and photo archives 560. The A / V archive 520 is the location where video and audio files are physically stored for computer retrieval, and the photo archive 560 is the location where photo files are physically stored for computer retrieval. The A / V archive 520 and photo archive 560 may be located on the host computer 92 or may be stored in a network (IP, IEEE 1394, USB, etc.) device attached to the host computer 92. have. The media location database 570 communicates with the application 410 so that the contents of the database can be sent to the DMR 90. When the user of the DMR selects a file to be searched, the selected information is transmitted from the DMR 90 to the application 410. In this case, the file may be video or audio or still picture, that is, two situations. If the user of the DMR 90 requests an audio or video file, the application 410 accesses an A / V parser Parser 510 that converts the audio and video file into a seekable packet-based media stream. do. The A / V parser 510 supports general media control commands such as play, pause, stop, fast forward, rewind, and seekable rate, with or without changing the time scale. . These commands are supported through primitive file search and read commands. As soon as the A / V parser 510 finds an index in the file that corresponds to the absolute time requested by the DMR, the audio frame or time synchronized audio and video frames are stored in the absolute real-time ( It is sent to each transcoder component with an absolute real-time stamp. Absolute real-time stamps are used to specify fast forward and rewind commands that require the media to be resampled in time by subsequent processing components in the system.

오디오 트랜스코더(500)는 DMR(90)이 지원하는 포맷으로 저장되어 있지 않은 오디오 채널을 리포맷(reformat) 하기 위해 사용된다. 상기 리포맷은 우선 오디오 채널을 미가공(raw) 오디오로 압축 해제한 다음 DMR(90)이 지원하는 포맷으로 다시 압축함으로써 달성된다. DMR이 지원하는 오디오 압축 포맷은 세션 설정 동안 협상된다. 절대 실시간(absolute real-time) 스탬프 및 샘플링 주파수가 오리지널 샘플링 주파수와 상이하면, 오디오 패킷에 대해 시간 척도(time scale)의 변경이 수행된다. 시간 척도(time scale) 변경은 사용자의 선택에 따라 연속적으로(피치 스케일 변경 사용 또는 미사용) 또는 불연속적으로 진행될 수 있다.The audio transcoder 500 is used to reformat audio channels that are not stored in a format supported by the DMR 90. The reformatting is accomplished by first decompressing the audio channel into raw audio and then compressing it back into a format supported by the DMR 90. Audio compression formats supported by DMR are negotiated during session establishment. If the absolute real-time stamp and sampling frequency are different from the original sampling frequency, a change of time scale is performed on the audio packet. The time scale change may proceed continuously (with or without pitch scale change) or discontinuously, depending on the user's choice.

비디오 트랜스코더(530)는 DMR(90)이 지원하는 포맷으로 저장되어 있지 않은 비디오 채널을 리포맷 하기 위해 사용된다. 상기 리포맷은 우선 오디오 채널을 미가공 비디오로 압축 해제한 다음 DMR(90)이 지원하는 포맷으로 다시 압축함으로써 달성된다. DMR이 지원하는 비디오 압축 포맷은 세션 설정 동안 협상된다. 절대 실시간(absolute real-time) 스탬프와 샘플링 주파수가 오리지널 샘플링 주파수와 상이하면, 비디오 패킷에 대해 시간 척도(time scale)의 변경이 수행된다. 시간 척도(time scale) 변경은 사용자의 선택에 따라 연속적으로 또는 불연속적으로 진행될 수 있다. 선택된 파일이 오디오 파일인 경우, 비디오 채널과 비디오 트랜스코더(530)는 사용되지 않는다.The video transcoder 530 is used to reformat video channels that are not stored in a format supported by the DMR 90. The reformatting is accomplished by first decompressing the audio channel into raw video and then compressing it back into a format supported by the DMR 90. Video compression formats supported by DMR are negotiated during session establishment. If the absolute real-time stamp and the sampling frequency are different from the original sampling frequency, a change of time scale is performed on the video packet. The change of the time scale may proceed continuously or discontinuously according to the user's selection. If the selected file is an audio file, the video channel and video transcoder 530 are not used.

사용자가 검색을 위한 디지털 사진을 선택한 경우, 사진 파서(550)는 사진을 미가공(raw) 비디오 스트림으로 변환한다. 사진 파서(550)는 먼저 사진을 미가공(raw) 정지 이미지(still image) 프레임으로 압축 해제한다. 그런 다음, 상기 정지 이미지 프레임은 DMR 장치(90)가 지원하고 세션 설정 동안 미리 협상된 비디오 해상도 및 주사 구조로 리샘플링 된다. 통상적인 비디오 해상도 포맷은 표준 화질 NTCS-TV를 위한 비월 주사 또는 순차 주사의 720 X 480 픽셀, 또는 720P, 1080i, 1080p HDTV 이다. 이후, 비디오 프레임은 DMR 하드웨어가 지원하는 프레임 레이트로 재생된다. 예를 들어, DMR이 NTSC 장치를 지원하는 지식에 의거하여, 최적의 NTSC 프레임 비율이 선택된다. 그런 다음, 미가공 비디오는 비디오 부호기(470)와 유사한 비디오 부호기(540)로 전달되고, 그 후, 미가공(raw) 비디오는 비디오 트랜스코더(530)로 전달된다.When the user selects a digital picture for retrieval, photo parser 550 converts the picture into a raw video stream. The picture parser 550 first decompresses the picture into a raw still image frame. The still image frame is then resampled to a video resolution and scanning structure supported by the DMR device 90 and negotiated during session setup. Typical video resolution formats are 720 x 480 pixels of interlaced or sequential scan, or 720P, 1080i, 1080p HDTV for standard definition NTCS-TV. The video frame is then played back at the frame rate supported by the DMR hardware. For example, based on the knowledge that DMR supports NTSC devices, the optimal NTSC frame rate is selected. The raw video is then passed to a video encoder 540 similar to the video encoder 470, after which the raw video is passed to the video transcoder 530.

그런 다음, 오디오 트랜스코더(500) 및 비디오 트랜스코더(530)의 출력은 A/V 미디어 컴포넌트(460)로 전달되어 처리된 후, 제 1 실시예에서 설명한 방법과 같이 DMR(90)로 전달된다. DMR(90)의 사용자가 호스트 컴퓨터(92)로부터 미디어 파일을 요청할 때, 컨텍스트(context)는 스위칭된다. 즉, 비디오는 사용자가 볼 수 있는 GUI로 완전하게 교체된다. 상기 선택된 파일의 재생(palyback)은 사용자의 요청에 의해 중단될 수 있으며, 컨텍스트는 어느 시점에서 뒤로 스위칭될 수 있다. The outputs of the audio transcoder 500 and video transcoder 530 are then passed to the A / V media component 460 for processing, and then to the DMR 90 as in the method described in the first embodiment. . When the user of the DMR 90 requests a media file from the host computer 92, the context is switched. In other words, the video is completely replaced by a GUI that the user can see. The playback of the selected file may be stopped at the request of the user, and the context may be switched back at some point.

본 발명의 실시예는 본 발명의 다양한 형태의 설명으로 의도된 것이기 때문에, 상세한 설명에 기재되고 청구범위에 기재된 본 발명은 상기 실시예의 범위에 한정되지 않는다. 동등한 실시예는 본 발명의 범위 안에 있음은 물론이다. 물론, 도면 및 상세한 설명에 더하여 본 발명의 기술분야에서 통상의 지식이 가진 자라면 상술한 본 발명의 다양한 변형이 가능함은 당연하다. 이러한 변형 역시 첨부된 특허청구범위 내에 있음은 물론이다. Since the embodiments of the present invention are intended for the description of various forms of the present invention, the present invention described in the detailed description and described in the claims is not limited to the scope of the above embodiments. It is understood that equivalent embodiments are within the scope of the present invention. Of course, those skilled in the art, in addition to the drawings and detailed description, it is obvious that various modifications of the present invention described above are possible. Of course, such modifications are also within the scope of the appended claims.

Claims (18)

원격으로 컴퓨터 애플리케이션을 제어하는 방법에 있어서, In a method of controlling a computer application remotely, 호스트 컴퓨터의 애플리케이션을 동작시키는 단계; Running an application of the host computer; (1) 미디어 채널과 (2) 애플리케이션 제어 채널 통하여 상기 호스트 컴퓨터와 원격 수신기(receiver) 간에 전자적 데이터 통신을 설정하는 단계; Establishing electronic data communication between the host computer and a remote receiver via (1) a media channel and (2) an application control channel; 상기 미디어 채널을 통하여 상기 호스트 컴퓨터로부터 상기 원격 수신기(receiver)로 애플리케이션 출력을 전송하는 단계; Sending an application output from the host computer to the remote receiver via the media channel; 상기 원격 수신기(receiver)에서 애플리케이션 출력을 표시하는 단계; 및 Displaying an application output at the remote receiver; And 상기 호스트 컴퓨터에서 상기 원격 수신기로부터 상기 표시된 출력과 관련된 명령을 상기 애플리케이션 제어 채널을 통하여 수신하는 단계;를 포함하는 원격 컴퓨터 애플리케이션 제어 방법.Receiving at the host computer instructions over the application control channel from the remote receiver related to the displayed output. 제 1 항에 있어서,The method of claim 1, 상기 수신된 명령에 응답하여 상기 원격 수신기에서 상기 애플리케이션 출력의 표시를 수정하는 단계;를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.Modifying the display of the application output at the remote receiver in response to the received command. 제 1항에 있어서,The method of claim 1, 상기 애플리케이션 출력은 사용자 인터페이스 및 사운드를 포함하는 원격 컴퓨터 애플리케이션 제어 방법.And wherein said application output includes a user interface and sound. 제 1 항에 있어서,The method of claim 1, 상기 전자적 데이터 통신을 설정하는 단계는, Setting up the electronic data communication, 상기 원격 수신기의 네트워크 주소를 획득하는 단계; 및 Obtaining a network address of the remote receiver; And 상기 미디어 채널 및 애플리케이션 제어 채널과 관련된 파라미터를 협상하는 단계;를 포함하는 원격 컴퓨터 애플리케이션 제어 방법.Negotiating a parameter associated with the media channel and an application control channel. 제 1 항에 있어서,The method of claim 1, 상기 전자적 데이터 통신을 설정하는 단계는,Setting up the electronic data communication, 범용 플러그 앤 플래그(Universal Plug and Play) 표준에 따르는 원격 컴퓨터 애플리케이션 제어 방법.How to control a remote computer application in accordance with the Universal Plug and Play standard. 제 4 항에 있어서,The method of claim 4, wherein 상기 호스트 컴퓨터 및 원격 수신기는 IP 컴퓨터 네크워크에 의해 연결되는 원격 컴퓨터 애플리케이션 제어 방법.Wherein said host computer and remote receiver are connected by an IP computer network. 제 6 항에 있어서,The method of claim 6, 상기 협상 단계는,The negotiation step, 상기 호스트 컴퓨터와 상기 원격 수신자(receiver) 간에 암호화 및 복호화 키를 교환하는 단계;를 포함하는 원격 컴퓨터 애플리케이션 제어 방법.Exchanging an encryption and decryption key between the host computer and the remote receiver. 제 7 항에 있어서, The method of claim 7, wherein 상기 호스트 컴퓨터에서 상기 애플리케이션 출력을 암호화하는 단계; 및Encrypting the application output at the host computer; And 상기 원격 수신기에서 상기 애플리케이션 출력을 복호화(decryption)하는 단계;를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.Decrypting the application output at the remote receiver. 제 6 항에 있어서,The method of claim 6, 상기 전송 단계는,The transmitting step, 사용자 인터페이스를 상기 원격 수신기가 복호화(decoding)할 수 있는 비디오 포맷으로 부호화하는 단계; Encoding a user interface into a video format that the remote receiver can decode; 사운드를 상기 원격 수신기가 복호화(decoding)할 수 있는 오디오 포맷으로 부호화하는 단계; Encoding sound into an audio format that the remote receiver can decode; 상기 부호화된 비디오 및 상기 부호화된 오디오를 오디오/비디오 스트림으로 결합하는 단계; 및Combining the encoded video and the encoded audio into an audio / video stream; And 오디오/비디오 스트림을 데이터 패킷으로 포맷팅하는 단계;를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.Formatting the audio / video stream into a data packet. 제 6 항에 있어서,The method of claim 6, 상기 표시 단계는, The display step, 상기 패킷을 상기 원격 수신기로 전송하는 단계;Sending the packet to the remote receiver; 상기 원격 수신기에서 상기 패킷으로부터 오디오/비디오 스트림을 재구성하는 단계;Reconstructing an audio / video stream from the packet at the remote receiver; 상기 부호화된 오디오 및 상기 부호화된 비디오를 분리하는 단계;Separating the encoded audio and the encoded video; GUI 비디오를 복호화(decoding)하는 단계;Decoding the GUI video; 상기 GUI 비디오를 비디오 출력 장치로 전송하는 단계;Transmitting the GUI video to a video output device; 애플리케이션 사운드의 오디오를 복호화(decoding)하는 단계; 및Decoding audio of application sound; And 애플리케이션 사운드의 오디오를 오디오 출력 장치로 전송하는 단계;를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.Transmitting audio of an application sound to an audio output device. 제 6 항에 있어서, The method of claim 6, 상기 호스트 컴퓨터에 의해 실행되는 애플리케이션은 미디어 플레이어이고 The application executed by the host computer is a media player 상기 원격 수신기에서, 상기 호스트 컴퓨터에 의해 접근 가능한 하나 이상의 미디어 파일을 검색하기 위한 사용자 인터페이스를 디스플레이하는 단계; Displaying, at the remote receiver, a user interface for retrieving one or more media files accessible by the host computer; 상기 호스트 컴퓨터에서, 상기 원격 수신기에서 생성된 하나 이상의 미디어 파일 선택을 수신하는 단계; 및At the host computer, receiving one or more media file selections generated at the remote receiver; And 상기 호스트 컴퓨터로부터 상기 원격 수신기로 상기 선택된 하나 이상의 미디어 파일을 전송하는 단계;를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.Transmitting the selected one or more media files from the host computer to the remote receiver. 제 11 항에 있어서,The method of claim 11, DRM(Digital Right Management) 플랫폼으로 미디어 파일을 패키징하는 단계; 를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.Packaging the media file with a Digital Right Management (DRM) platform; Remote computer application control method further comprising. 제 11 항에 있어서,The method of claim 11, 상기 미디어 파일 암호화는 DRM(Digital Right Management) 플랫폼의 표준 구현으로 수행되는 원격 컴퓨터 애플리케이션 제어 방법.The media file encryption is a remote computer application control method performed by a standard implementation of the Digital Right Management (DRM) platform. 제 12 항에 있어서,The method of claim 12, 상기 미디어 파일 복호화(decryption)는, DRM(Digital Right Management) 플랫폼의 한정된 구현으로 수행되는 원격 컴퓨터 애플리케이션 제어 방법.The media file decryption is performed with a limited implementation of the Digital Right Management (DRM) platform. 원격 호스트 컴퓨터상에서 동작하는 컴퓨터 애플리케이션의 제어 및 표시를 위한 수신기에 있어서,A receiver for controlling and displaying computer applications running on a remote host computer, 상기 수신기 및 상기 원격 호스트간에 하나 이상의 통신 채널을 설정하기 위한 데이터 관리 수단;Data management means for establishing at least one communication channel between the receiver and the remote host; 상기 원격 호스트로부터 수신된 애플리케이션 출력 데이터를 복호화(decoding)하기 위한 데이터 처리 수단;Data processing means for decoding application output data received from the remote host; 상기 수신기로부터 상기 원격 호스트로의 제어 신호를 부호화하기 위한 데이터 제어 수단; 및Data control means for encoding a control signal from the receiver to the remote host; And 상기 수신기의 사용자에 의한 제어 명령을 입력하기 위한 입력 수단;을 포함하는 수신기.And input means for inputting a control command by a user of the receiver. 제 16 항에 있어서,The method of claim 16, 상기 수신기는 컴퓨터 네트워크 주소를 자동으로 획득할 수 있는 수신기.The receiver capable of automatically obtaining a computer network address. 제 16 항에 있어서,The method of claim 16, 상기 원격 호스트로부터 수신된 암호화된 애플리케이션 출력 데이터를 복호화(decryption)하기 위한 수단;을 포함하는 수신기.Means for decrypting encrypted application output data received from the remote host. 제 16 항에 있어서,The method of claim 16, DRM(Digital Rights Management) 플랫폼으로 패키지된 데이터를 복호화(decryption)하기 위한 수단;을 포함하는 수신기.Means for decrypting data packaged with a Digital Rights Management (DRM) platform.
KR1020077005878A 2004-08-13 2005-08-15 Systems and methods for remotely controlling computer apllications KR20070092198A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US60124404P 2004-08-13 2004-08-13
US60/601,244 2004-08-13

Publications (1)

Publication Number Publication Date
KR20070092198A true KR20070092198A (en) 2007-09-12

Family

ID=35908228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077005878A KR20070092198A (en) 2004-08-13 2005-08-15 Systems and methods for remotely controlling computer apllications

Country Status (6)

Country Link
EP (1) EP1810165A2 (en)
JP (1) JP2008510392A (en)
KR (1) KR20070092198A (en)
AU (1) AU2005272636A1 (en)
CA (1) CA2577087A1 (en)
WO (1) WO2006020968A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101251099B1 (en) * 2012-07-03 2013-04-05 알서포트 주식회사 Method for monitoring a process of remote access and system for monitoring a process of remote access
KR101389214B1 (en) * 2012-09-04 2014-04-24 주식회사 엘지씨엔에스 Remote managing system and method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070092198A (en) * 2004-08-13 2007-09-12 씨엠웨어, 인코포레이션 Systems and methods for remotely controlling computer apllications
US7676823B2 (en) * 2006-06-21 2010-03-09 Alcatel-Lucent Usa Inc. User interface methods and apparatus for roaming access to subscription services

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07128408A (en) * 1993-11-04 1995-05-19 Nec Corp Eo probe
JP3546662B2 (en) * 1997-09-12 2004-07-28 日本ビクター株式会社 Distributed home network
AU2001238604A1 (en) * 2000-02-22 2001-09-03 Roy M. Mankovitz Portable electronic audio-visual apparatus and method employing cellular networkarchitecture
FI109854B (en) * 2000-04-07 2002-10-15 Domiras Oy Production of service from a TCP / IP network server
US20030009542A1 (en) * 2001-06-14 2003-01-09 Kasal Alpay O. Digital entertainment solution
JP3785107B2 (en) * 2002-03-28 2006-06-14 株式会社東芝 Moving picture and audio data recording / reproducing apparatus and reproducing method
US7472270B2 (en) * 2002-04-16 2008-12-30 Microsoft Corporation Secure transmission of digital content between a host and a peripheral by way of a digital rights management (DRM) system
US7529846B2 (en) * 2002-05-14 2009-05-05 Thomson Licensing Video receiver architecture for digital subscriber line networks
DE60222890T2 (en) * 2002-08-12 2008-02-07 Alcatel Lucent Methods and apparatus for implementing highly interactive entertainment services using media streaming technology that enables the provision of virtual reality services
US7340531B2 (en) * 2002-09-27 2008-03-04 Intel Corporation Apparatus and method for data transfer
US7881658B2 (en) * 2002-10-10 2011-02-01 Znl Enterprises, Llc Method and apparatus for entertainment and information services delivered via mobile telecommunication devices
US20040086120A1 (en) * 2002-11-06 2004-05-06 Akins Glendon L. Selecting and downloading content to a portable player
JP2004193791A (en) * 2002-12-09 2004-07-08 Toshiba Corp Av transmission apparatus, av reception apparatus, av communication system, av transmission program, and av reception program
US20040133908A1 (en) * 2003-01-03 2004-07-08 Broadq, Llc Digital media system and method therefor
JP4127053B2 (en) * 2003-01-10 2008-07-30 ソニー株式会社 Electronic device control system and electronic device control method
US20050216949A1 (en) * 2004-03-23 2005-09-29 Ray Candelora Systems and methods for a universal media server with integrated networking and telephony
BRPI0511858B1 (en) * 2004-06-07 2020-12-22 Sling Media, Inc. personal media transmitter and respective transmission system, methods of providing access to the audio / visual source at a remote location of the audio / visual source and media signal streaming to a remote subscriber location
KR20070092198A (en) * 2004-08-13 2007-09-12 씨엠웨어, 인코포레이션 Systems and methods for remotely controlling computer apllications
US20060048236A1 (en) * 2004-09-01 2006-03-02 Microsoft Corporation Licensing the use of software to a particular user

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101251099B1 (en) * 2012-07-03 2013-04-05 알서포트 주식회사 Method for monitoring a process of remote access and system for monitoring a process of remote access
KR101389214B1 (en) * 2012-09-04 2014-04-24 주식회사 엘지씨엔에스 Remote managing system and method
US9219656B2 (en) 2012-09-04 2015-12-22 Lg Cns Co., Ltd. Remote managing system and method

Also Published As

Publication number Publication date
CA2577087A1 (en) 2006-02-23
WO2006020968A2 (en) 2006-02-23
EP1810165A2 (en) 2007-07-25
JP2008510392A (en) 2008-04-03
AU2005272636A1 (en) 2006-02-23
WO2006020968A3 (en) 2006-09-14

Similar Documents

Publication Publication Date Title
US20060188096A1 (en) Systems and methods for remotely controlling computer applications
TWI565310B (en) Video streaming in a wireless communication system
JP4794440B2 (en) Apparatus and method for handling high-speed changes in digital streaming format or source
US20090235170A1 (en) Methods and apparatus for sharing either a computer display screen or a media file and selecting therebetween
WO2010140587A1 (en) Gateway device, method, and system
TWI513315B (en) Method, system, and tv with picture re-producing function
CN101778285B (en) A kind of audio-video signal wireless transmitting system and method thereof
KR101821123B1 (en) Method and apparatus for playing media stream on web-browser
EP2549680A2 (en) Content output system and codec information sharing method in same system
WO2011043983A2 (en) Systems and methods for media format transcoding
KR20140091021A (en) Control method and device using same
EP1933529A1 (en) Content distribution system by SIP(Session Initiation Protocol), content server side user terminal, content client side user terminal and authentication method
KR101821124B1 (en) Method and apparatus for playing media stream on web-browser
KR20070092198A (en) Systems and methods for remotely controlling computer apllications
EP2661877B1 (en) System and method for video distribution over internet protocol networks
JP2011010196A (en) Communication control apparatus and communication control method
JP5265860B2 (en) Receiver
WO2017020607A1 (en) Rdp data playback method, server and system
KR101871403B1 (en) Media control device application executing method and system in media displaying device using presentation virtualization
JP5561278B2 (en) Gateway apparatus and method and communication system
JP5337499B2 (en) Data transmission apparatus and data transmission method
JP5494753B2 (en) Receiver
JP2006148451A (en) Transmission circuit, reception circuit and transmission/reception circuit of content data, and semiconductor device
JP2008270968A (en) Image processing system, image processor, image processing method, and program
JP2019053350A (en) Distribution apparatus, reproduction apparatus, distribution method, reproduction method, reproduction program and data structure

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid