KR20070092198A - 컴퓨터 애플리케이션 원격 제어 방법 및 시스템 - Google Patents

컴퓨터 애플리케이션 원격 제어 방법 및 시스템 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
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 KR20070092198A publication Critical patent/KR20070092198A/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/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)
  • Digital Computer Display Output (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명의 시스템 및 방법은 원격 디지털 미디어 수신기 클라이언트로의 실시간 비디오 및 제어 스트림을 이용하여 호스트 컴퓨터 애플리케이션 인터페이스를 디스플레이하고 제어하기 위한 것이다. 호스트 컴퓨터 애플리케이션 인터페이스 윈도우의 연속적인 그래픽 디스플레이 픽셀 및 오디오는 소정 길이의 시간 세그먼트로 분리된다. 이러한 세그먼트는 이어서 비디오 및 오디오 스트림으로 부호화된다. 이러한 비디오 및 오디오 스트림은 원격 디지털 미디어 수신기 클라이언트로 전송되고, 텔레비전 장치를 통해 디스플레이 하기 위해 복호화 되며, 또는 오디오 시스템에서 재생된다. 호스트 컴퓨터 애플리케이션 인터페이스는 상기 원격 디지털 미디어 수신기 클라이언트에서 생성된 사용자 명령에 의해 제어된다. 그 명령은 상기 호스트 컴퓨터와 상기 디지털 미디어 수신기 간에 설정된 제어 채널을 통해 전송된다.

Description

컴퓨터 애플리케이션 원격 제어 방법 및 시스템{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호의 우선권 주장 출원이다.
본 발명은 컴퓨터 네트워크에 관한 것으로, 더욱 상세하게는 콘텐츠 스트리밍(content streaming)에 관한 것이다.
현재, 원격 호스트에서 동작하는 컴퓨터 애플리케이션의 실행을 원격으로 제어하고 그 애플리케이션 출력을 제공할 수 있는 장치의 필요성이 요구되고 있다. 이러한 장치는 강인(robust)해야 하고 원격 호스트로부터 전송된 암호화된 데이터를 복호화할 수 있어야 한다. 일 예로, 원격으로 미디어 플레이어를 제어하여 상기 미디어 플레이어의 출력을 볼 수 있는 것을 포함한다.
이러한 애플리케이션은 컴퓨터 애플리케이션을 동작시키는데 필요한 처리 능력을 애플리케이션 실행을 제어하는 장치로부터 분리시키는 방법 및 시스템을 제공한다. 이는 상기 장치를 간단하고 저렴해지도록 한다.
바람직한 실시예에서, 본 발명의 시스템 및 방법은 디지털 미디어 수신기(Digital Media Receiver : 이하 DMR) 장치가 원격 컴퓨터에서 호스트되는 임의의 컴퓨터 운영 체제 및 애플리케이션(즉, 마이크로소프트 윈도우, 애플 MacOS, 마아크로소프트 워드, 마이크로소프트 인터넷 익스플로어, PC 비디오 게임, 마이크로소프트 미디어 플레이어, 리얼 네트워크 미디어 플레이어 등)을 동작시키고, 제어하며 화면에 표시할 수 있도록 한다. 본 발명의 시스템 및 방법은 음성 및 비디오 스트림과 네트워크 제어 채널을 통해 병행(concurrent) 전송 및 호스트 컴퓨터의 제어을 제공한다. 실시간 오디오 및 비디오 스트림은 애플리케이션 인터페이스 미디어 스트림(Application Interface Media Stream: 이하 AIMS)으로 불려진다. AIMS는 컴퓨터 네트워크를 통하여 호스트 컴퓨터로부터 DMR으로 전송된다. 그런 다음, DMR은 AIMS를 수신하여 복호화하고 TV 장치로 디스플레이하기 위해 렌더링한다. 호스트 컴퓨터 애플리케이션은 사용자에 의해 제어되는 DMR 제어 장치의 이용에 의해서 제어된다. DMR 제어 장치에서 발생하는 명령은 컴퓨터 네트워크를 통하여 호스트 컴퓨터 애플리케이션으로 전송되고, 호스트 컴퓨터 애플리케이션은 상기 명령에 응답하여 순차적으로 애플리케이션 GUI, 비디오 스크린 이벤트 및 오디오 애플리케이션 인터페이스 출력(output)을 업데이트 및 제어한다.
다른 측면에서, 상기 애플리케이션의 시스템 및 방법은 또한 DMR 장치가 원격 컴퓨터상에호스트된 미디어 플레이어 애플리케이션을 동작시키고 제어하며 화면에 표시할 수 있도록 한다. 이때 원격 컴퓨터의 미디어 플레이어 애플리케이션은 다음 두 가지면에서 다른 애플리케이션과 다르다. (1) 원격 컴퓨터는 DMR이 복호화할 수 없는 미디어 포맷을 DMR이 복호화할 수 있는 미디어 포맷으로 변환시키는 컴포넌트를 포함해야 한다. (2) 미디어 플레이어 애플리케이션은 사용자가 선택한 비디오 파일이 TV 화면상에서 파일 선택을 수월하게 하는 GUI를 완전히 대체하도록 컨텍스트 스위칭(context switching)을 제공한다.
바람직한 실시예의 일반적인 동작은 다음과 같다. 먼저, DMR과 호스트 컴퓨터 사이에 세션(session)이 설정된다. 그리고 나서, 동시에 호스트 컴퓨터의 비디오 및 오디오는 DMR로 전송되는 시간 슬라이스 스트림(time slices streams)으로 부호화되고, DMR은 사용자로부터 제어 메시지를 수신한다. 상기 제어 메시지는 부호화되어 호스트 컴퓨터로 전송되는데, 그 제어 메시지는 복호화되어 애플리케이션의 실행을 조정하기 위해 사용된다.
한편, 또 다른 측면에서, 원격으로 컴퓨터 애플리케이션을 제어하는 방법은, 호스트 컴퓨터상의 컴퓨터 애플리케이션을 동작시키는 단계; 미디어 채널 및 애플리케이션 제어 채널을 통하여 호스트 컴퓨터와 원격의 수신기간에 전자적 데이터 통신을 설정하는 단계; 미디어 채널을 통하여 호스트 컴퓨터에서 원격 수신기로 애플리케이션 출력(output)을 전송하는 단계; 원격 수신기에서 애플리케이션 출력(output)을 표시하는 단계; 및 호스트 컴퓨터에서 애플리케이션 채널을 통하여 상기 원격 수신기로부터 상기 표시된 출력에 관련된 명령을 수신하는 단계를 포함한다.
또한, 원격 호스트 컴퓨터에서 동작하는 컴퓨터 애플리케이션을 제어하고 표시하기 위한 수신기는, 수신기와 원격 호스트간에 하나 이상의 통신 채널을 설정하기 위한 데이터 관리 수단; 원격 호스트로부터 수신된 애플리케이션 출력 데이터를 복호화하기 위한 데이터 처리 수단; 수신기로부터 원격 호스트로의 제어 신호를 부호화하기 위한 데이터 제어 수단; 및 수신기의 사용자에 의한 제어 명령을 입력하기 위한 입력 수단을 포함한다.
본 출원에 설명된 실시예는 이어지는 바람직한 실시예의 설명 및 첨부된 도면을 참조함으로써 보다 정확하게 이해될 것이다.
도 1은 컴퓨터 네트워크상에서 다수의 제어 및 미디어 스트림을 통하여 호스트 컴퓨터의 애플리케이션 인터페이스를 제어, 디스플레이, 송신 및 수신하는 시스템의 블록도이다.
도 2는 컴퓨터 네트워크상에서 다수의 제어 및 미디어 스트림을 통하여 호스트 컴퓨터의 미디어 플레이어 애플리케이션 인터페이스 및 호스트 컴퓨터의 A/V 미디어 아카이브를 제어, 디스플레이, 전송 및 수신하는 시스템의 블록도이다.
도 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 등이 될 수 있다.
세션 설정 및 제어 컴포넌트는 DMR(90)과 호스트 컴퓨터(91) 사이의 통신 세션 설정을 위해 사용된다. DMR의 세션 설정 및 제어 컴포넌트(250)는 UPnP 포럼에서 개시한 UPnP(Universal Plug and Play)를 사용할 수 있다. DMR에 있어서, 세션 설정 및 제어 컴포넌트는 아래의 내용을 필수적으로 제공한다.
1. DMR에 대한 IP 주소로서, 고정(static) IP 할당 또는 DHCP(Dynamic Host Control Protocol) 기반의 IP 할당을 사용.
2. 네트워크 상에서 호환되는 호스트 컴퓨터를 발견하여 DMR에 연결하기 위한 방법.
3. 상기 네트워크 상에서 호환되는 호스트 컴퓨터와 DMR 간에 TCP/IP 기반의 소켓(socket) 접속을 토대로 세션을 협상, 설정, 종료하기 위한 방법. 상기 소켓 접속은 TCP/IP 및 UDP/IP 기반 통신 채널이다. 상기 소켓 접속은 DMR과 호스트 컴퓨터 간에 실시간 비디오, 오디오 및 제어 메시지를 전송한다.
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) 사이에서 미디어의 불법 복제를 방지하기 위해 사용될 수 있다.
호스트 컴퓨터(91)에 있어서, 세션 설정 및 제어 컴포넌트(305)는 아래의 내용을 필수적으로 제공한다.
1. 네트워크 상에서 DMR 장치를 발견하여 연결하기 위한 방법
2. 네트워크 상에서 호스트 컴퓨터와 DMR 간에 TCP/IP 기반의 소켓(socket) 접속을 토대로세션을 협상, 설정, 종료하기 위한 방법. 상기 소켓 접속은 TCP/IP 및 UDP/IP 기반 통신 채널이다. 상기 소켓 접속은 DMR과 호스트 컴퓨터 간에 실시간 비디오, 오디오, 및 제어 메시지를 전송한다.
3. 또한, 적용 가능한 경우에, DRM(Digital Rights Management) 플랫폼 및 보안 통신 채널을 위해 암호키/복호화 키에 관해 협상한다. 그리고 나서, 호스트 컴퓨터(91)의 암호화 컴포넌트 (450)로 복호화 키를 전달한다.
상기 암호화 및 복호화 키의 교환은 세션 제어 채널(20)을 통해 이루어진다. 일단 DMR과 호스트 컴퓨터 간에 세션이 설정되면, 미디어 스트림은 미디어 스트림 채널(22)을 통하여 호스트 컴퓨터(91)에서 DMR(90)으로 전송될 수 있고, 제어 메시 지는 애플리케이션 제어 채널(24)을 통하여 DMR(90)에서 호스트 컴퓨터(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 미디어 패킷을 암호화한다.
RTP 스트리밍 엔진(440)은 RTP를 이용하여 A/V 데이터를 일정한 패킷 단위로 나누어 네트워크 인터페이스(310)를 통해 IP 네트워크 상의 DMR로 전달한다. 이때, TCP/IP 스택(300)은 패킷이 미디어 스트림 채널(22)로 전송될 때, 적절한 헤더를 패킷에 부가한다. 여기서 RTP는 HTTP(Hyper Text Transfer Protocol)로 대체될 수 있고, 또는, 임의의 패킷화된 스트리밍 미디어 포맷으로 대체될 수 있음을 분명히 한다.
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 출력 인터페이스로 전송한다.
오디오 스트림은 오디오 복호기(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)을 통해 출력한다.
오디오 및 비디오 정보가 호스트 컴퓨터(91)에서 DMR(90)로 전송된 것과 같이, DMR(90)의 사용자는 호스트 컴퓨터(91)의 애플리케이션 실행을 제어할 수 있다. Control In 컴포넌트(230)는 임의의 제어 장치(즉, 키보드(231), 마우스(232), 조이스틱(233), 적외선 원격 제어장치(240))로 DMR(90)과 통신 가능하게 하는 물리적인 인터페이스다. 사용자는 DMR에 의해 디스플레이 되는 애플리케이션 인터페이스를 조정 및 네비게이트하기 위해 제어 장치를 사용할 뿐만 아니라, DMR을 통해 임의의 미디어 스트림(즉, 비디오, 오디오, 사진)의 재생을 제어 및 조정하기 위해 제어 장치를 사용한다.
복호화(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)은 모든 제어 이벤트를 관리하고 처리한다.
도 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) 스탬프 는, 미디어가 시스템 내의 이후 프로세싱 컴포넌트에 의해 때 맞추어 리샘플링될 것을 요구하는 앞으로 빨리 감기 및 되감기 명령을 명시하기 위해 사용된다.
오디오 트랜스코더(500)는 DMR(90)이 지원하는 포맷으로 저장되어 있지 않은 오디오 채널을 리포맷(reformat) 하기 위해 사용된다. 상기 리포맷은 우선 오디오 채널을 미가공(raw) 오디오로 압축 해제한 다음 DMR(90)이 지원하는 포맷으로 다시 압축함으로써 달성된다. DMR이 지원하는 오디오 압축 포맷은 세션 설정 동안 협상된다. 절대 실시간(absolute real-time) 스탬프 및 샘플링 주파수가 오리지널 샘플링 주파수와 상이하면, 오디오 패킷에 대해 시간 척도(time scale)의 변경이 수행된다. 시간 척도(time scale) 변경은 사용자의 선택에 따라 연속적으로(피치 스케일 변경 사용 또는 미사용) 또는 불연속적으로 진행될 수 있다.
비디오 트랜스코더(530)는 DMR(90)이 지원하는 포맷으로 저장되어 있지 않은 비디오 채널을 리포맷 하기 위해 사용된다. 상기 리포맷은 우선 오디오 채널을 미가공 비디오로 압축 해제한 다음 DMR(90)이 지원하는 포맷으로 다시 압축함으로써 달성된다. DMR이 지원하는 비디오 압축 포맷은 세션 설정 동안 협상된다. 절대 실시간(absolute real-time) 스탬프와 샘플링 주파수가 오리지널 샘플링 주파수와 상이하면, 비디오 패킷에 대해 시간 척도(time scale)의 변경이 수행된다. 시간 척도(time scale) 변경은 사용자의 선택에 따라 연속적으로 또는 불연속적으로 진행될 수 있다. 선택된 파일이 오디오 파일인 경우, 비디오 채널과 비디오 트랜스코더(530)는 사용되지 않는다.
사용자가 검색을 위한 디지털 사진을 선택한 경우, 사진 파서(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)로 전달된다.
그런 다음, 오디오 트랜스코더(500) 및 비디오 트랜스코더(530)의 출력은 A/V 미디어 컴포넌트(460)로 전달되어 처리된 후, 제 1 실시예에서 설명한 방법과 같이 DMR(90)로 전달된다. DMR(90)의 사용자가 호스트 컴퓨터(92)로부터 미디어 파일을 요청할 때, 컨텍스트(context)는 스위칭된다. 즉, 비디오는 사용자가 볼 수 있는 GUI로 완전하게 교체된다. 상기 선택된 파일의 재생(palyback)은 사용자의 요청에 의해 중단될 수 있으며, 컨텍스트는 어느 시점에서 뒤로 스위칭될 수 있다.
본 발명의 실시예는 본 발명의 다양한 형태의 설명으로 의도된 것이기 때문에, 상세한 설명에 기재되고 청구범위에 기재된 본 발명은 상기 실시예의 범위에 한정되지 않는다. 동등한 실시예는 본 발명의 범위 안에 있음은 물론이다. 물론, 도면 및 상세한 설명에 더하여 본 발명의 기술분야에서 통상의 지식이 가진 자라면 상술한 본 발명의 다양한 변형이 가능함은 당연하다. 이러한 변형 역시 첨부된 특허청구범위 내에 있음은 물론이다.

Claims (18)

  1. 원격으로 컴퓨터 애플리케이션을 제어하는 방법에 있어서,
    호스트 컴퓨터의 애플리케이션을 동작시키는 단계;
    (1) 미디어 채널과 (2) 애플리케이션 제어 채널 통하여 상기 호스트 컴퓨터와 원격 수신기(receiver) 간에 전자적 데이터 통신을 설정하는 단계;
    상기 미디어 채널을 통하여 상기 호스트 컴퓨터로부터 상기 원격 수신기(receiver)로 애플리케이션 출력을 전송하는 단계;
    상기 원격 수신기(receiver)에서 애플리케이션 출력을 표시하는 단계; 및
    상기 호스트 컴퓨터에서 상기 원격 수신기로부터 상기 표시된 출력과 관련된 명령을 상기 애플리케이션 제어 채널을 통하여 수신하는 단계;를 포함하는 원격 컴퓨터 애플리케이션 제어 방법.
  2. 제 1 항에 있어서,
    상기 수신된 명령에 응답하여 상기 원격 수신기에서 상기 애플리케이션 출력의 표시를 수정하는 단계;를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.
  3. 제 1항에 있어서,
    상기 애플리케이션 출력은 사용자 인터페이스 및 사운드를 포함하는 원격 컴퓨터 애플리케이션 제어 방법.
  4. 제 1 항에 있어서,
    상기 전자적 데이터 통신을 설정하는 단계는,
    상기 원격 수신기의 네트워크 주소를 획득하는 단계; 및
    상기 미디어 채널 및 애플리케이션 제어 채널과 관련된 파라미터를 협상하는 단계;를 포함하는 원격 컴퓨터 애플리케이션 제어 방법.
  5. 제 1 항에 있어서,
    상기 전자적 데이터 통신을 설정하는 단계는,
    범용 플러그 앤 플래그(Universal Plug and Play) 표준에 따르는 원격 컴퓨터 애플리케이션 제어 방법.
  6. 제 4 항에 있어서,
    상기 호스트 컴퓨터 및 원격 수신기는 IP 컴퓨터 네크워크에 의해 연결되는 원격 컴퓨터 애플리케이션 제어 방법.
  7. 제 6 항에 있어서,
    상기 협상 단계는,
    상기 호스트 컴퓨터와 상기 원격 수신자(receiver) 간에 암호화 및 복호화 키를 교환하는 단계;를 포함하는 원격 컴퓨터 애플리케이션 제어 방법.
  8. 제 7 항에 있어서,
    상기 호스트 컴퓨터에서 상기 애플리케이션 출력을 암호화하는 단계; 및
    상기 원격 수신기에서 상기 애플리케이션 출력을 복호화(decryption)하는 단계;를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.
  9. 제 6 항에 있어서,
    상기 전송 단계는,
    사용자 인터페이스를 상기 원격 수신기가 복호화(decoding)할 수 있는 비디오 포맷으로 부호화하는 단계;
    사운드를 상기 원격 수신기가 복호화(decoding)할 수 있는 오디오 포맷으로 부호화하는 단계;
    상기 부호화된 비디오 및 상기 부호화된 오디오를 오디오/비디오 스트림으로 결합하는 단계; 및
    오디오/비디오 스트림을 데이터 패킷으로 포맷팅하는 단계;를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.
  10. 제 6 항에 있어서,
    상기 표시 단계는,
    상기 패킷을 상기 원격 수신기로 전송하는 단계;
    상기 원격 수신기에서 상기 패킷으로부터 오디오/비디오 스트림을 재구성하는 단계;
    상기 부호화된 오디오 및 상기 부호화된 비디오를 분리하는 단계;
    GUI 비디오를 복호화(decoding)하는 단계;
    상기 GUI 비디오를 비디오 출력 장치로 전송하는 단계;
    애플리케이션 사운드의 오디오를 복호화(decoding)하는 단계; 및
    애플리케이션 사운드의 오디오를 오디오 출력 장치로 전송하는 단계;를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.
  11. 제 6 항에 있어서,
    상기 호스트 컴퓨터에 의해 실행되는 애플리케이션은 미디어 플레이어이고
    상기 원격 수신기에서, 상기 호스트 컴퓨터에 의해 접근 가능한 하나 이상의 미디어 파일을 검색하기 위한 사용자 인터페이스를 디스플레이하는 단계;
    상기 호스트 컴퓨터에서, 상기 원격 수신기에서 생성된 하나 이상의 미디어 파일 선택을 수신하는 단계; 및
    상기 호스트 컴퓨터로부터 상기 원격 수신기로 상기 선택된 하나 이상의 미디어 파일을 전송하는 단계;를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.
  12. 제 11 항에 있어서,
    DRM(Digital Right Management) 플랫폼으로 미디어 파일을 패키징하는 단계; 를 더 포함하는 원격 컴퓨터 애플리케이션 제어 방법.
  13. 제 11 항에 있어서,
    상기 미디어 파일 암호화는 DRM(Digital Right Management) 플랫폼의 표준 구현으로 수행되는 원격 컴퓨터 애플리케이션 제어 방법.
  14. 제 12 항에 있어서,
    상기 미디어 파일 복호화(decryption)는, DRM(Digital Right Management) 플랫폼의 한정된 구현으로 수행되는 원격 컴퓨터 애플리케이션 제어 방법.
  15. 원격 호스트 컴퓨터상에서 동작하는 컴퓨터 애플리케이션의 제어 및 표시를 위한 수신기에 있어서,
    상기 수신기 및 상기 원격 호스트간에 하나 이상의 통신 채널을 설정하기 위한 데이터 관리 수단;
    상기 원격 호스트로부터 수신된 애플리케이션 출력 데이터를 복호화(decoding)하기 위한 데이터 처리 수단;
    상기 수신기로부터 상기 원격 호스트로의 제어 신호를 부호화하기 위한 데이터 제어 수단; 및
    상기 수신기의 사용자에 의한 제어 명령을 입력하기 위한 입력 수단;을 포함하는 수신기.
  16. 제 16 항에 있어서,
    상기 수신기는 컴퓨터 네트워크 주소를 자동으로 획득할 수 있는 수신기.
  17. 제 16 항에 있어서,
    상기 원격 호스트로부터 수신된 암호화된 애플리케이션 출력 데이터를 복호화(decryption)하기 위한 수단;을 포함하는 수신기.
  18. 제 16 항에 있어서,
    DRM(Digital Rights Management) 플랫폼으로 패키지된 데이터를 복호화(decryption)하기 위한 수단;을 포함하는 수신기.
KR1020077005878A 2004-08-13 2005-08-15 컴퓨터 애플리케이션 원격 제어 방법 및 시스템 KR20070092198A (ko)

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 (ko) 2007-09-12

Family

ID=35908228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077005878A KR20070092198A (ko) 2004-08-13 2005-08-15 컴퓨터 애플리케이션 원격 제어 방법 및 시스템

Country Status (6)

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

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101251099B1 (ko) * 2012-07-03 2013-04-05 알서포트 주식회사 원격 접속 과정 모니터링 방법 및 원격 접속 모니터링 시스템
KR101389214B1 (ko) * 2012-09-04 2014-04-24 주식회사 엘지씨엔에스 원격 관리 시스템 및 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008510392A (ja) * 2004-08-13 2008-04-03 シーエムウェア, インコーポレイテッド コンピュータ・アプリケーションをリモート・サイトから制御するシステム及び方法
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 (ja) * 1993-11-04 1995-05-19 Nec Corp Eoプローブ
JP3546662B2 (ja) * 1997-09-12 2004-07-28 日本ビクター株式会社 分散型ホームネットワーク
WO2001063430A1 (en) * 2000-02-22 2001-08-30 Mankovitz Roy M Portable electronic audio-visual apparatus and method employing cellular network architecture
FI109854B (fi) * 2000-04-07 2002-10-15 Domiras Oy Palvelun tuottaminen TCP/IP-verkon palvelimelta
US20030009542A1 (en) * 2001-06-14 2003-01-09 Kasal Alpay O. Digital entertainment solution
JP3785107B2 (ja) * 2002-03-28 2006-06-14 株式会社東芝 動画像および音声データの記録再生装置および再生方法
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 (de) * 2002-08-12 2008-02-07 Alcatel Lucent Verfahren und Vorrichtungen zur Implementerung von hochinteraktiven Unterhaltungsdiensten unter Verwendung der Medienströmungstechnologie, das die Bereitstellung auf Abstand von Virtuelle Realitätdiensten ermöglicht
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 (ja) * 2002-12-09 2004-07-08 Toshiba Corp Av送信装置、av受信装置、av通信システム、av送信プログラム及びav受信プログラム
US20040133908A1 (en) * 2003-01-03 2004-07-08 Broadq, Llc Digital media system and method therefor
JP4127053B2 (ja) * 2003-01-10 2008-07-30 ソニー株式会社 電子機器制御システム及び電子機器制御方法
US20050216949A1 (en) * 2004-03-23 2005-09-29 Ray Candelora Systems and methods for a universal media server with integrated networking and telephony
KR101011134B1 (ko) * 2004-06-07 2011-01-26 슬링 미디어 인코퍼레이티드 퍼스널 미디어 브로드캐스팅 시스템
JP2008510392A (ja) * 2004-08-13 2008-04-03 シーエムウェア, インコーポレイテッド コンピュータ・アプリケーションをリモート・サイトから制御するシステム及び方法
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 (ko) * 2012-07-03 2013-04-05 알서포트 주식회사 원격 접속 과정 모니터링 방법 및 원격 접속 모니터링 시스템
KR101389214B1 (ko) * 2012-09-04 2014-04-24 주식회사 엘지씨엔에스 원격 관리 시스템 및 방법
US9219656B2 (en) 2012-09-04 2015-12-22 Lg Cns Co., Ltd. Remote managing system and method

Also Published As

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

Similar Documents

Publication Publication Date Title
US20060188096A1 (en) Systems and methods for remotely controlling computer applications
TWI565310B (zh) 無線通訊系統中的視訊流送
JP4794440B2 (ja) デジタルストリーミングフォーマット又はソースの高速な変化に対応する装置及び方法
US20090235170A1 (en) Methods and apparatus for sharing either a computer display screen or a media file and selecting therebetween
WO2010140587A1 (ja) ゲートウェイ装置と方法とシステム
TWI513315B (zh) 電視畫面重現的方法、系統及電視設備
CN101778285B (zh) 一种音视频信号无线传输***及其方法
KR101821123B1 (ko) 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치
EP2549680A2 (en) Content output system and codec information sharing method in same system
WO2011043983A2 (en) Systems and methods for media format transcoding
KR20140091021A (ko) 제어 방법 및 그를 이용한 장치
EP1933529A1 (en) Content distribution system by SIP(Session Initiation Protocol), content server side user terminal, content client side user terminal and authentication method
KR101821124B1 (ko) 웹브라우저 상에서 미디어 스트림을 재생하는 방법 및 장치
KR20070092198A (ko) 컴퓨터 애플리케이션 원격 제어 방법 및 시스템
EP2661877B1 (en) System and method for video distribution over internet protocol networks
JP2011010196A (ja) 通信制御装置、及び通信制御方法
JP5265860B2 (ja) 受信装置
WO2017020607A1 (zh) Rdp协议数据回放方法、服务器及***
KR101871403B1 (ko) 화면 가상화를 이용한 어플리케이션 구동 방법 및 시스템
JP5561278B2 (ja) ゲートウェイ装置と方法と通信システム
JP5337499B2 (ja) データ送信装置、およびデータ送信方法
JP5494753B2 (ja) 受信装置
JP2006148451A (ja) コンテンツデータ送信回路、コンテンツデータ受信回路、コンテンツデータ送受信回路、および半導体装置
JP2008270968A (ja) 画像処理システム、画像処理装置、画像処理方法、およびプログラム
JP2019053350A (ja) 配信装置、再生装置、配信方法、再生方法、再生プログラムおよびデータ構造

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