KR100639970B1 - UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의통신 수행 방법 - Google Patents

UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의통신 수행 방법 Download PDF

Info

Publication number
KR100639970B1
KR100639970B1 KR1020040107252A KR20040107252A KR100639970B1 KR 100639970 B1 KR100639970 B1 KR 100639970B1 KR 1020040107252 A KR1020040107252 A KR 1020040107252A KR 20040107252 A KR20040107252 A KR 20040107252A KR 100639970 B1 KR100639970 B1 KR 100639970B1
Authority
KR
South Korea
Prior art keywords
media renderer
playback module
media
upnp
pipe
Prior art date
Application number
KR1020040107252A
Other languages
English (en)
Other versions
KR20060068535A (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 KR1020040107252A priority Critical patent/KR100639970B1/ko
Publication of KR20060068535A publication Critical patent/KR20060068535A/ko
Application granted granted Critical
Publication of KR100639970B1 publication Critical patent/KR100639970B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2812Exchanging configuration information on appliance services in a home automation network describing content present in a home automation network, e.g. audio video content
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used
    • H04L2012/2849Audio/video appliances

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 범용 플러그 앤 플레이(UPnP; Universal Plug and Play) AV(Audio Visual) 시스템에 관한 것으로, 특히 UPnP AV 시스템에서 미디어 렌더러와 미디어 재생 모듈을 분리하여 각각의 독립적인 실행을 보장하게 하는 UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의 통신 수행 방법에 관한 것이다. 이를 위한 UPnP AV 시스템은 컨트롤 포인트, 미디어 서버 및 미디어 렌더러를 구비하는 UPnP AV 시스템으로서, 컨트롤 포인트 또는 미디어 서버로부터 데이터를 수신하는 미디어 렌더러(media renderer), 미디어 렌더러로부터 분리되어 중재자를 통해 미디어 렌더러와 데이터를 송수신하는 재생 모듈, 및 상기 미디어 렌더러와 상기 재생 모듈 사이에 존재하는 중재자로서, 상기 미디어 렌더러에 수신되는 데이터를 상기 재생 모듈로 전달하고, 상기 재생 모듈에 수신되는 데이터를 상기 미디어 렌더러로 전달하는 중재자를 포함한다. 이로써, 본 발명에 따르면, UPnP AV 시스템에서 미디어 렌더러와 미디어 재생 모듈을 분리하여 각각의 독립적인 실행을 보장할 수 있고, UPnP AV 미디어 렌더러는 탑재될 다양한 종류의 디바이스에 필요한 다양한 재생 모듈과 자유롭게 연동할 수 있으며, 각 미디어 재생 모듈은 큰 수정없이 UPnP 네트워크와 연동되어 자신의 기능을 수행할 수 있다.

Description

UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의 통신 수행 방법{Universal plug and play audio visual system and method of performing communication between media renderer and media player}
도 1은 종래의 UPnP AV 시스템을 나타내는 도면이다.
도 2는 본 발명에 따른 UPnP AV 시스템을 나타내는 도면이다.
도 3은 미디어 렌더러, 중재자, 및 재생 모듈을 나타내는 블록도이다.
도 4는 본 발명에 따른 미디어 렌더러와 재생 모듈간의 통신 수행 방법을 나타내는 흐름도이다.
도 5a 및 도 5b는 미디어 렌더러의 동작을 나타내는 흐름도이다.
도 6a 및 도 6b는 중재자의 동작을 나타내는 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
200...UPnP AV 시스템, 300...미디어 렌더러,
310...중재자, 330...재생 모듈,
311...제1 파이프, 312...제2 파이프,
313...제3 파이프, 314...제4 파이프,
321...제1 스레드, 322...제2 스레드.
본 발명은 범용 플러그 앤 플레이(UPnP; Universal Plug and Play) AV(Audio Visual) 시스템에 관한 것으로, 특히 UPnP AV 시스템에서 미디어 렌더러와 미디어 재생 모듈을 분리하여 각각의 독립적인 실행을 보장하게 하는 UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의 통신 수행 방법에 관한 것이다.
UPnP AV 네트워크는 동적인 네트워크를 자동으로 구성하여 각 디바이스별 정보를 상호 공유하고 사용자가 이를 효과적으로 사용, 제어하기 위한 UPnP 네트워크를 기반으로 하여, 네트워크 영역내의 AV 컨텐츠에 대한 스트리밍 서비스를 제공한다.
범용 플러그 앤 플레이(UPnP; Universal Plug and Play)는 개인용 컴퓨터(PC), 주변장치, 지능형 가전제품, 무선 장비 등과 같은 장치들을 네트워크에 접속시켰을 때, 인터넷과 웹 프로토콜을 사용하여 서로를 자동으로 인식할 수 있도록 해주는 표준이다. UPnP를 이용하면, 사용자가 어떤 장치를 네트워크에 추가하면 그 장치는 스스로 구성을 완료하며, TCP/IP 주소를 받고, 다른 장치들에게 자신의 존재를 알리기 위해 인터넷 HTTP에 기반을 둔 발견 프로토콜을 사용하게 된다. 예를 들어, 현재 네트워크에 접속되어 있는 카메라와 프린터가 있고 그 프린터를 통해 사진을 출력하려고 할 때, 카메라의 단추를 누르면 카메라가 "발견 요청" 신호를 네트워크에 보냄으로써 이용 가능한 프린터가 네트워크 상에 있는지 찾도록 할 수 있다. 그러면 그 신호를 받은 프린터는 자신의 위치를 URL의 형태로 카메라에게 응 답하게 된다.
카메라와 프린터는 공용의 언어로 확장성 생성 언어(XML; Extensible Markup Language)를 사용하거나, 또는 프로토콜 협상을 통해 어떤 방식으로 의사소통을 할 것인지를 정할 수 있게 된다. 의사소통을 위한 공용언어가 결정되면, 카메라는 프린터를 제어하고 선택된 사진을 출력할 수 있게 한다.
또한, 가정에서 사용되는 냉장고, 텔레비전, 세탁기, 컴퓨터, 오디오 등 다양한 디바이스들이 네트워크로 연결됨으로써 그 사용법과 설정 방법을 용이하게 하기 위하여 UPnP 기능이 이용될 수 있다.
현재 운영체제에 플러그 앤 플레이(PnP; Plug and Play) 기능이 추가된 이후로 컴퓨터 주변장치를 설치하고 설정하는 것이 매우 용이해진 바와 같이, UPnP는 이러한 편리한 기능을 TCP/IP, HTTP 및 XML과 같은 인터넷 표준 기술을 기반으로 전체 네트워크로까지 확장시켜 여러 가전 제품, 네트워크 프린터, 인터넷 게이트와 같은 네트워크 디바이스가 네트워킹 특히, 홈네트워킹이 가능하도록 하는 기술이다.
UPnP 구조는 디바이스(device), 서비스(service), 및 컨트롤 포인트(CP; Control Point)로 구성된다.
여기서, 디바이스라 함은 서비스와 여러 부속 디바이스를 포함하고 있는데, VCR 장치를 예로 들면 테이프 이동 서비스, 튜너 서비스 및 시간 서비스 등으로 구성된다. 서비스란 네트워크 상의 가장 작은 제어 단위를 의미하며 상태 변수를 통하여 서비스 자체를 모델링하게 된다.
컨트롤 포인트란 다른 디바이스들을 감지하고 제어하는 기능을 갖춘 제어기를 의미한다.
현재 UPnP AV 시스템은 컨트롤 포인트(CP; Control Point), 미디어 서버(Media Server), 미디어 렌더러(Media Renderer)가 구비되어 구성된다.
여기서, 컨트롤 포인트는 TV, 미디어 서버는 PC 또는 VCR 등 저장용 디스크가 있는 UPnP 디바이스, 미디어 렌더러는 노트북 PC 또는 오디오 플레이어 등의 기기를 예로 들 수 있다.
현재 UPnP AV 시스템에 있어서, 사용자가 컨트롤 포인트(CP)의 사용자 인터페이스(UI)를 이용하여 미디어 서버의 컨텐트(content)를 선택하고 타겟(target) 미디어 렌더러를 선택하면 상기 선택된 컨텐트는 타겟 미디어 렌더러로 직접 전달된다.
이때, 미디어 서버는 적어도 하나 이상의 전송 프로토콜과 각 컨텐트 항목에 대한 데이터 포맷들을 제공하며, 또한 주어진 컨텐트 항목의 포맷을 다른 포맷으로 변환하여 전달할 수도 있다. 그리고, 미디어 렌더러가 받을 수 있는 컨텐트 유형은 그 미디어 렌더러가 지원하는 전송 프로토콜과 데이터 포맷에 따른다. 또한, 컨트롤 포인트는 사용자의 명령에 따라 미디어 서버와 미디어 렌더러의 동작을 조정하거나 관리하는 역할을 한다.
다시 말하면, UPnP는 홈 네트워크에서 다양한 매체를 사용하는 정보가전, 무선 통신장치 및 컴퓨터들 간에 끊임없는 네트워크 연결성을 부여할 수 있도록 하기 위한 것으로서 인터넷 프로토콜(IP; Internet Protocol) 네트워크를 기반으로 하 고, 인터넷에서 널리 사용되고 있는 전송 제어 프로토콜(TCP;Transmission Control Protocol), 하이퍼텍스트 전송 프로토콜(HTTP; Hypertext Transfer Protocol), 사용자 데이터그램 프로토콜(UDP; User Datagram Protocol) 및 확장성 생성 언어(XML; Extensible Markup Language) 등의 프로토콜을 그대로 사용할 수 있도록 하는 구조를 정의하고 있다.
한편, 예를 들어, AV 스트리밍(streaming) 데이터 및 제어 데이터를 제공하는 디바이스는 미디어 서버로 정의되고, 미디어 서버가 제공하는 AV 스트리밍 데이터 및 제어 데이터에 따른 동작을 수행하는 디바이스는 미디어 렌더러로 정의된다. 디바이스들은 기본적으로 네트워크에 접속되거나 또는 제거될 경우에 컨트롤 포인트로 메시지를 전송함과 아울러 정해진 주기로 자신이 네트워크에 존재하는지의 여부를 확인시킬 수 있도록 하는 메시지를 컨트롤 포인트로 전송하며, 또한 UPnP 네트워크 상에서 컨트롤 포인트의 요청에 대한 응답을 수행한다.
도 1은 종래의 UPnP AV 시스템을 나타내는 도면으로서, UPnP AV의 미디어 서버(101), 컨트롤 포인트(102), 미디어 렌더러(103)의 연동 관계를 나타낸다. 미디어 서버(101)는 현재 디바이스에 존재하는 AV 컨텐츠를 다른 디바이스에 알리고, 다른 디바이스의 요구가 있는 경우 이를 해당 디바이스로 스트리밍한다. AV 컨텐츠가 존재하는 디바이스는 모두 미디어 서버(101)가 될 수 있다.
미디어 렌더러(103)는 AV 컨텐츠를 재생하는 디바이스에 탑재되며, 미디어 서버(101)로부터 컨텐츠를 스트리밍 받아 재생한다. 컨트롤 포인트(102)는 UPnP AV 시스템에서 사용자로 하여금 디바이스에 대한 제어를 가능하게 하는 모듈이다. 사 용자는 컨트롤 포인트(102)를 통해 현재 어떤 디바이스가 UPnP AV 네트워크에 존재하며, 각 디바이스가 어떤 서비스를 제공하는지를 확인하고 사용할 수 있다.
UPnP AV의 미디어 서버(101)와 미디어 렌더러(103)는 사용자가 컨트롤 포인트(102)를 통해 AV 컨텐츠와 재생 정보를 편하게 보여주기 위한 모듈로서, 실제 스트리밍 모듈에 대해 정의하지 않고, 각 개발자별 필요 모듈을 구현하여 사용하도록 유도하고 있다. 따라서, 실제 스트리밍을 수행하는 스트리밍 서버와 재생 모듈의 개발이 UPnP AV 시스템의 구성요소(미디어 서버, 미디어 렌더러, 컨트롤 포인트)와 함께 진행되어야 하며, 대부분의 경우 이는 UPnP AV 시스템의 구성요소 구축보다 더 많은 시간과 노력을 소비하게 한다.
기존에 개발된 UPnP AV 미디어 렌더러는 UPnP AV 테스트용으로 개발된 간단한 재생 모듈을 탑재하거나 복잡하고 고유한 재생 모듈을 구비한다. 이는 개발된 UPnP 미디어 렌더러 및 재생 모듈에 대한 갱신을 어렵게 하며, 미디어 렌더러가 사용될 수 있는 디바이스를 한정하고, 재생 모듈이 사용될 수 있는 다양한 분야를 제한한다. 즉, UPnP AV 미디어 렌더러는 MP3 플레이어, 셋톱박스, 개인용 컴퓨터(PC), 개인 휴대 정보 단말기(PDA; personal digital assistant) 등의 다양한 기기에 맞는 재생 모듈과 유연하게 연동될 수 없고, 재생 모듈은 외부 스트리밍 서버와 연동되어 VOD 서비스를 제공하거나, 홈뷰어, 로컬 멀티미디어 재생기로 사용될 수 없다.
또한, 종래의 미디어 렌더러와 재생 모듈의 강력한 결합은 기존에 존재하는 많은 재생 모듈을 사용할 수 없도록 하여, UPnP AV 프레임워크의 개발 기간을 늘이 고, 많은 노력을 소비하게 한다.
본 발명이 이루고자 하는 기술적 과제는, 상기와 같은 단점들을 해결하기 위하여, UPnP AV 미디어 렌더러 구현시, 디바이스 필요에 따라 재생 모듈을 쉽게 변경하여 탑재할 수도 있도록 유도하고, 두 모듈의 명확한 분리를 통해 기존에 개발된 재생 모듈을 큰 수정없이 사용할 수 있도록 하는 UPnP AV 시스템을 제공하는 데 있다.
본 발명이 이루고자 하는 다른 기술적 과제는, 상기와 같은 단점들을 해결하기 위하여, UPnP AV 미디어 렌더러 구현시, 디바이스 필요에 따라 재생 모듈을 쉽게 변경하여 탑재할 수도 있도록 유도하고, 두 모듈의 명확한 분리를 통해 기존에 개발된 재생 모듈을 큰 수정없이 사용할 수 있도록 하는 미디어 렌더러와 재생 모듈간의 통신 수행 방법을 제공하는 데 있다.
본 발명은 상기한 기술적 과제를 달성하기 위하여, 컨트롤 포인트, 미디어 서버 및 미디어 렌더러를 구비하는 범용 플러그 앤 플레이(UPnP; Universal Plug and Play) AV(Audio Visual) 시스템에 있어서,
상기 컨트롤 포인트 또는 상기 미디어 서버로부터 데이터를 수신하는 미디어 렌더러(media renderer);
상기 미디어 렌더러로부터 분리되어 중재자를 통해 상기 미디어 렌더러와 데이터를 송수신하는 재생 모듈; 및
상기 미디어 렌더러와 상기 재생 모듈 사이에 존재하는 중재자로서, 상기 미디어 렌더러에 수신되는 데이터를 상기 재생 모듈로 전달하고, 상기 재생 모듈에 수신되는 데이터를 상기 미디어 렌더러로 전달하는 중재자를 포함하는 것을 특징으로 하는 UPnP AV 시스템을 제공한다.
본 발명은 상기한 다른 기술적 과제를 달성하기 위하여, 컨트롤 포인트, 미디어 서버 및 미디어 렌더러를 구비하는 범용 플러그 앤 플레이(UPnP) AV 시스템에서 미디어 렌더러와 재생 모듈간의 통신을 수행하는 방법에 있어서,
미디어 렌더러로부터 재생 모듈을 분리하여, 상기 미디어 렌더러와 상기 재생 모듈 사이에 중재자를 두고, 상기 미디어 렌더러에 수신되는 데이터를 상기 중재자를 통해 상기 재생 모듈로 전달하는 단계; 및
상기 재생 모듈에 수신되는 데이터를 상기 중재자를 통해 상기 미디어 렌더러로 전달하는 단계를 포함하는 것을 특징으로 하는 미디어 렌더러와 재생 모듈간의 통신 수행 방법을 제공한다.
이하, 첨부한 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 상세하게 설명한다. 본 발명을 설명함에 있어서 관련된 공지기술 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 2는 본 발명에 따른 UPnP AV 시스템(200)을 나타내는 도면이다.
도 2를 참조하면, 본 발명에 따른 UPnP AV 시스템(200)은 미디어 서버(201), 스트리밍 서버(202), 컨트롤 포인트(203), 미디어 렌더러(204), 및 재생 모듈(205)을 포함한다.
컨트롤 포인트(203)는 미디어 서버(201) 및 미디어 렌더러(204)로부터 디바이스/서비스 등록을 받는다. 컨트롤 포인트(203)는 미디어 서버(201)에 컨텐츠 정보를 수집하도록 하고, 미디어 렌더러(204)에 컨텐츠 재생을 요구한다. 재생 모듈(205)은 스트리밍 서버(202)로 스트리밍 서버 연결을 수행하고, 스트리밍 서버(202)로부터 스트리밍을 수신한다.
도 3은 미디어 렌더러(300), 중재자(310), 및 재생 모듈(330)을 나타내는 블록도이다.
본 발명은 UPnP AV 시스템에서 정의한 미디어 렌더러(300)와 실제 스트리밍된 데이터를 처리하는 재생 모듈(330)을 분리하기 위해 중재자(310)를 사용한다. 중재자(310)는 UPnP AV 미디어 렌더러(300)와 재생 모듈(330)이 각각의 고유한 메시지 포맷을 유지하면서 상호 통신할 수 있도록 두 모듈(300, 330) 사이의 통신 포맷을 변환하고, 각 모듈의 독립적인 실행을 보장하기 위해 파이프를 사용하여 전달한다. 각 모듈은 다른 모듈에게 전달할 메시지를 중재자(310)에게 파이프를 통해 전달하면 중재자(310)는 이를 상대편 모듈에 맞게 변환하여 파이프를 통해 전달한다. 파이프에 대한 모든 관리는 중재자가 수행한다. 이런 중재자(310)의 존재 및 중재자의 통신 및 관리 방식은 UPnP AV 시스템에서 미디어 렌더러(300)와 재생 모 듈(330) 사이에 발생할 수 있는 통신 문제를 제거해 주고, 두 모듈(300, 330)이 완전히 분리되어 실행되도록 도와주며, 각 모듈이 단독으로 고유의 임무를 수행할 수 있도록 하고, 필요할 경우 각자 모듈이 타 모듈과 연동되어 사용할 수 있게 한다.
중재자(310)는 하나 이상의 파이프를 생성하고, 미디어 렌더러(300) 및 재생 모듈(330)간의 통신을 수행하기 위해 파이프를 이용하여 데이터를 송신하거나 수신한다. 또한, 중재자(310)는 미디어 렌더러(300) 또는 재생 모듈(330)로부터 수신되는 데이터를 확인하기 위하여 파이프를 감시한다.
중재자(310)는 미디어 렌더러(300)로부터 제1 파이프(311)를 통해 수신되는 데이터를 확인하기 위하여 제1 스레드(321)를 생성하여 상기 제1 파이프(311)를 감시한다. 중재자(310)는 제1 파이프(311)를 통해 수신된 데이터를 재생 모듈(330)에서 인지할 수 있는 데이터로 변환하여 제2 파이프(312)를 통해 재생 모듈(330)로 전달한다.
또한, 중재자(310)는 재생 모듈(330)로부터 제3 파이프(313)를 통해 수신되는 데이터를 확인하기 위하여 제2 스레드(322)를 생성하여 상기 제3 파이프(313)를 감시한다. 중재자(310)는 제3 파이프(313)를 통해 수신된 데이터를 미디어 렌더러(300)에서 인지할 수 있는 데이터로 변환하여 제4 파이프(314)를 통해 미디어 렌더러(300)로 전달한다.
도 3을 참조하여 미디어 렌더러(300), 중재자(310), 및 재생 모듈(330) 간의 통신 수행을 더 상세하게 설명한다.
중재자(310)는 세 모듈 사이의 원활한 통신을 위해 4개의 파이프(311, 312, 313, 314)를 사용한다. 각 파이프는 선입력 선출력을 지원하는 FIFO 타입의 파이프일 수 있다. 제1 파이프(311)는 컨트롤 포인트(203)로부터 전달된 명령을 미디어 렌더러(300)가 중재자(310)에게 알리는데 사용되고, 제2 파이프(312)는 미디어 렌더러(300)로부터 받은 메시지를 중재자(310)가 재생 모듈(330)의 메시지의 포맷에 맞게 변환하여 전달하는데 사용된다.
제3 파이프(313) 및 제4 파이프(314)는 사용자가 컨트롤 포인트(203)를 통하지 않고 재생 모듈(330)에 직접 명령을 입력할 경우에 대비한 것으로서, 제3 파이프(313)는 재생 모듈(330)이 중재자(310)에게 자신의 변환을 알리고, 중재자(310)는 이를 UPnP 미디어 렌더러 포맷에 맞게 변환하여 제4 파이프(314)를 통해서 미디어 렌더러(300)에 전달한다. 중재자(310)는 미디어 렌더러(300)와 재생 모듈(330)로 들어오는 명령에 항상 대기하기 위해 제1 파이프(311) 및 제3 파이프(322)를 감시하는 두 개의 스레드(thread), 즉 제1 스레드(321) 및 제2 스레드(322)를 구비한다.
도 4는 본 발명에 따른 미디어 렌더러와 재생 모듈간의 통신 수행 방법을 나타내는 흐름도이다.
도 4를 참조하면, UPnP AV 시스템에서 미디어 렌더러(300)로부터 재생 모듈(330)을 분리하여, 미디어 렌더러(300)와 재생 모듈(330) 사이에 중재자(310)를 두고, 미디어 렌더러(300)에 수신되는 데이터를 중재자(310)를 통해 재생 모듈(330)로 전달한다(S10). 그 다음, 재생 모듈(330)에 수신되는 데이터를 중재자(310)를 통해 미디어 렌더러(300)로 전달한다(S20).
도 5a 내지 도 6b를 참조하여 본 발명의 일 실시예에 따른 미디어 렌더러와 재생 모듈간의 통신 수행 방법을 더 상세하게 설명한다. 도 5a 및 도 5b는 미디어 렌더러의 동작을 나타내는 흐름도이고, 도 6a 및 도 6b는 중재자의 동작을 나타내는 흐름도이다.
중재자(310)의 실행은 미디어 렌더러(300)를 통해서 이루어진다. 도 5a 및 도 5b는 미디어 렌더러(300)의 흐름을 통해 중재자(310)가 어떻게 실행되는지를 나타낸다.
도 5a를 참조하면, 미디어 렌더러(300)는 사용하는 변수와 환경을 초기화한 후(401), 자신의 존재를 네트워크 상의 다른 디바이스에게 알린다(403).
미디어 렌더러(300)가 자신의 존재를 알리기 전에 네트워크 상에 존재하는 컨트롤 포인트(203)로부터 요구에 응답하기 위해 요구 처리기를 스레드로 실행한다(402).
그 다음, 도 5b를 참조하면, 미디어 렌더러(300)는 컨트롤 포인트(203)의 요구를 인식한다(408). 컨트롤 포인트(203)는 자신이 원하는 액션 수행을 요구할 수 있다(409). 미디어 렌더러(300)가 컨트롤 포인트(203)로부터 액션 수행 요구를 수신하는 경우, 미디어 렌더러(300)는 해당 액션의 종류를 분석하고, 현재 상태를 고려한다. 요구되는 액션이 새로운 URI 설정인지 여부가 판단된다(410). 새로운 URI 설정이 요구되는 경우, 중재자(310)를 실행(411)하여 재생 모듈(330)을 실행하고 통신할 준비를 한다.
단계 410에서 요구되는 액션이 새로운 URI를 설정하는 것이 아닌 경우, 수신 된 메시지를 중재자(310)에게 전달한다. 그 다음, 종료 여부를 판단(413)하고, 종료하는 경우, 미디어 렌더러(300)에 종료 메시지를 전달한다(414). 단계 413에서 종료가 아닌 경우, 단계 408로 진행하여 컨트롤 포인트(203)의 요구를 인식하는 단계를 반복한다.
한편, 단계 408에서 컨트롤 포인트(203)의 요구를 분석하여, 컨트롤 포인트(203)가 특정 변수의 값에 대해 질의하는지 여부를 판단(417)하고, 변수값을 요구하는 경우 해당 변수값 요구를 처리한다(418). 또한, 컨트롤 포인트(203)가 특정 변수가 변할 때 이를 인지할 수 있도록 이벤팅 서비스 등록을 요구하는지 여부를 판단(415)하고, 이벤팅 서비스를 요구하는 경우, 이벤팅 서비스 요구를 처리한다(416).
다시 도 5a를 참조하면, 미디어 렌더러(300)는 종료 메시지 수신을 대기하면서(404), 종료 메시지가 수신되었는지 여부를 판단한다(405). 종료 메시지가 수신된 경우, 네트워크 상의 다른 디바이스에게 디바이스 종료됨을 알리고(406), 라이브러리 및 메모리 할당을 해제한다(407).
도 6a 및 도 6b는 중재자(310)의 흐름도를 나타낸다.
우선, 도 6a를 참조하면, 미디어 렌더러(300)에 의해 실행된 중재자(310)는 먼저 4개의 파이프를 생성하여(501), 미디어 렌더러(300)와 재생 모듈(330) 간의 통신을 준비한다. 파이프 생성을 마친 후, 중재자는 미디어 렌더러(300)로부터 전달되는 메시지를 실시간으로 읽을 수 있도록 하기 위해 제1 스레드(321)를 생성하여 제1 파이프(311)를 감시한다(502).
그 다음, 도 6b를 참조하면, 중재자(310)는 미디어 렌더러(300)로부터 UPnP 메시지를 수신하면(510), 수신된 UPnP 메시지를 분석하여(511), 처음 수신된 재생(PLAY) 메시지인지를 판단한다(512). 처음 전달된 재생(PLAY) 메시지인 경우, 이전에 수신한 메시지 중 SetAVTransportURL을 통해 URL 설정이 미리 이루어져 있는지를 확인한다(518). URL이 설정되어 있는 경우, 재생 모듈을 실행하고(519), 해당 URL을 전달한다(520). URL이 설정되어 있지 않은 경우, 전달된 재생(PLAY) 메시지를 무시한다.
한편, 제1 파이프(311)를 통해 전달된 메시지가 SetAVTransportURL인지 여부를 판단하고(513), SetAVTransportURL인 경우, 해당 메시지는 재생 메시지가 수신될 때까지 임시로 저장하고(517), 다음 메시지를 기다린다.
수신된 메시지가 재생 메시지도 아니고 SetAVTransportURL도 아닌 경우, 메시지는 재생 모듈에서 인지할 수 있는 메시지로 변환되어(514) 제2 파이프(312)에 기록된다(515). 그 다음, 종료메시지가 수신되었는지 여부를 판단(516)하고, 종료 메시지가 수신된 경우, 제2 파이프(312)에 해당 메시지를 기록한 후, 스레드를 종료시키고, 중재자의 종료를 기다린다(504).
다시 도 6a를 참조하면, 중재자는 제1 스레드(321) 생성 후(502), 바로 제2 스레드(322)를 생성하여 재생 모듈(330)로부터 입력되는 명령을 확인한다(503). 사용자가 컨트롤 포인트(203)를 사용하지 않고, 직접 재생 모듈(330)을 제어할 때, 변화된 재생 모듈(330)의 상태가 미디어 렌더러(300)를 통해 컨트롤 포인트(203)에 이벤트되도록 한다. 제2 스레드(322)가 제3 파이프(313)를 검사하여 재생 모듈 (330)로부터 전달된 명령을 인지하면(506), 이 메시지는 미디어 렌더러(300)가 인지할 수 있는 포맷으로 변환되어(507) 제4 파이프(314)에 기록된다(508). 미디어 렌더러(300)는 해당 명령을 받아들여, 자신의 상태변수를 갱신하고, 이를 컨트롤 포인트(203)에 이벤팅한다. 중재자(310)는 스레드 종료를 대기하고(504), 모든 스레드가 종료되었는지를 판단한다(505). 모든 스레드가 종료된 경우, 중재자를 종료한다.
이상 본 발명의 바람직한 실시예에 대해 상세히 기술하였지만, 본 발명이 속하는 기술분야에 있어서 통상의 지식을 가진 사람이라면, 첨부된 청구범위에 정의된 본 발명의 정신 및 범위를 벗어나지 않으면서 본 발명을 여러 가지로 변형 또는 변경하여 실시할 수 있음을 알 수 있을 것이다. 따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
상술한 바와 같이, 본 발명을 이용하면, UPnP AV 시스템에서 미디어 렌더러와 미디어 재생 모듈을 분리하여 각각의 독립적인 실행을 보장할 수 있다.
또한, UPnP AV 미디어 렌더러는 탑재될 다양한 종류의 디바이스에 필요한 다양한 재생 모듈과 자유롭게 연동할 수 있고, 각 미디어 재생 모듈은 큰 수정없이 UPnP 네트워크와 연동되어 자신의 기능을 수행할 수 있다.
한편, 개발자는 이미 개발한 UPnP AV 미디어 렌더러와 재생 모듈에 대해 필요한 경우, 여러 곳에서 응용하여 자유롭게 사용할 수 있다.
또한, UPnP AV 미디어 렌더러와 개발시 기존에 존재하는 재생 모듈을 이용하 여 미디어 렌더러의 멀티미디어 재생 모듈에 소요되는 개발 시간을 단축하고, 재생 모듈을 UPnP AV 미디어 렌더러에서 분리시켜 미디어 렌더러가 어느 디바이스에도 탑재될 수 있도록 한다.
한편, UPnP AV 네트워크 시스템에서 미디어 렌더러와 멀티미디어 재생 모듈의 강력한 결합을 분리하여, 재생 모듈의 독립적인 동작을 보장하고, 재생 모듈을 외부 스트리밍 서버와 연동되어 VOD 서비스를 제공하거나, 홈뷰어, 로컬 멀티미디어 재생 등의 다양한 방식으로 사용할 수 있다.

Claims (12)

  1. 컨트롤 포인트, 미디어 서버 및 미디어 렌더러를 구비하는 범용 플러그 앤 플레이(UPnP; Universal Plug and Play) AV(Audio Visual) 시스템에 있어서,
    상기 컨트롤 포인트 또는 상기 미디어 서버로부터 데이터를 수신하는 미디어 렌더러(media renderer);
    상기 미디어 렌더러로부터 분리되어 중재자를 통해 상기 미디어 렌더러와 데이터를 송수신하는 재생 모듈; 및
    상기 미디어 렌더러와 상기 재생 모듈 사이에 존재하는 중재자로서, 상기 미디어 렌더러에 수신되는 데이터를 상기 재생 모듈로 전달하고, 상기 재생 모듈에 수신되는 데이터를 상기 미디어 렌더러로 전달하는 중재자를 포함하는 것을 특징으로 하는 UPnP AV 시스템.
  2. 제1항에 있어서,
    상기 중재자는 하나 이상의 파이프를 생성하고, 상기 미디어 렌더러 및 상기 재생 모듈간의 통신을 수행하기 위해 상기 파이프를 이용하여 데이터를 송신하거나 수신하는 것을 특징으로 하는 UPnP AV 시스템.
  3. 제2항에 있어서,
    상기 중재자는 상기 미디어 렌더러 또는 상기 재생 모듈로부터 수신되는 데이터를 확인하기 위하여 상기 파이프를 감시하는 것을 특징으로 하는 UPnP AV 시스템.
  4. 제1항에 있어서,
    상기 중재자는 상기 미디어 렌더러로부터 제1 파이프를 통해 수신되는 데이터를 확인하기 위하여 제1 스레드를 생성하여 상기 제1 파이프를 감시하는 것을 특징으로 하는 UPnP AV 시스템.
  5. 제1항에 있어서,
    상기 중재자는 제1 파이프를 통해 수신된 데이터를 상기 재생 모듈에서 인지할 수 있는 데이터로 변환하여 제2 파이프를 통해 상기 재생 모듈로 전달하는 것을 특징으로 하는 UPnP AV 시스템.
  6. 제1항에 있어서,
    상기 중재자는 상기 재생 모듈로부터 제3 파이프를 통해 수신되는 데이터를 확인하기 위하여 제2 스레드를 생성하여 상기 제3 파이프를 감시하는 것을 특징으로 하는 UPnP AV 시스템.
  7. 제1항에 있어서,
    상기 중재자는 제3 파이프를 통해 수신된 데이터를 상기 미디어 렌더러에서 인지할 수 있는 데이터로 변환하여 제4 파이프를 통해 상기 미디어 렌더러로 전달하는 것을 특징으로 하는 UPnP AV 시스템.
  8. 컨트롤 포인트, 미디어 서버 및 미디어 렌더러를 구비하는 범용 플러그 앤 플레이(UPnP; Universal Plug and Play) AV(Audio Visual) 시스템에서 미디어 렌더러와 재생 모듈간의 통신을 수행하는 방법에 있어서,
    미디어 렌더러(media renderer)로부터 재생 모듈을 분리하여, 상기 미디어 렌더러와 상기 재생 모듈 사이에 중재자를 두고, 상기 미디어 렌더러에 수신되는 데이터를 상기 중재자를 통해 상기 재생 모듈로 전달하는 단계; 및
    상기 재생 모듈에 수신되는 데이터를 상기 중재자를 통해 상기 미디어 렌더러로 전달하는 단계를 포함하는 것을 특징으로 하는 미디어 렌더러와 재생 모듈간의 통신 수행 방법.
  9. 제8항에 있어서,
    상기 중재자는 상기 미디어 렌더러로부터 제1 파이프를 통해 수신되는 데이터를 확인하기 위하여 상기 제1 파이프를 감시하는 단계를 포함하는 것을 특징으로 하는 미디어 렌더러와 재생 모듈간의 통신 수행 방법.
  10. 제8항에 있어서,
    상기 중재자는 제1 파이프를 통해 수신된 데이터를 상기 재생 모듈에서 인지할 수 있는 데이터로 변환하여 제2 파이프를 통해 상기 재생 모듈로 전달하는 단계를 포함하는 것을 특징으로 하는 미디어 렌더러와 재생 모듈간의 통신 수행 방법.
  11. 제8항에 있어서,
    상기 중재자는 상기 재생 모듈로부터 제3 파이프를 통해 수신되는 데이터를 확인하기 위하여 상기 제3 파이프를 감시하는 단계를 포함하는 것을 특징으로 하는 미디어 렌더러와 재생 모듈간의 통신 수행 방법.
  12. 제8항에 있어서,
    상기 중재자는 제3 파이프를 통해 수신된 데이터를 상기 미디어 렌더러에서 인지할 수 있는 데이터로 변환하여 제4 파이프를 통해 상기 미디어 렌더러로 전달하는 단계를 포함하는 것을 특징으로 하는 미디어 렌더러와 재생 모듈간의 통신 수행 방법.
KR1020040107252A 2004-12-16 2004-12-16 UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의통신 수행 방법 KR100639970B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040107252A KR100639970B1 (ko) 2004-12-16 2004-12-16 UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의통신 수행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040107252A KR100639970B1 (ko) 2004-12-16 2004-12-16 UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의통신 수행 방법

Publications (2)

Publication Number Publication Date
KR20060068535A KR20060068535A (ko) 2006-06-21
KR100639970B1 true KR100639970B1 (ko) 2006-11-01

Family

ID=37162824

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040107252A KR100639970B1 (ko) 2004-12-16 2004-12-16 UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의통신 수행 방법

Country Status (1)

Country Link
KR (1) KR100639970B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100063970A1 (en) * 2006-05-19 2010-03-11 Chang Hyun Kim Method for managing and processing information of an object for presentation of multiple sources and apparatus for conducting said method
WO2008039005A1 (en) * 2006-09-27 2008-04-03 Lg Electronics Inc. Method for managing and processing information of an object for presentation of multiple sources
KR101449025B1 (ko) * 2008-03-19 2014-10-08 엘지전자 주식회사 다중-소스 스트리밍을 위한 오브젝트에 대한 정보 관리 및처리 방법 그리고 그 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003046535A (ja) 2001-05-24 2003-02-14 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US6708217B1 (en) 2000-01-05 2004-03-16 International Business Machines Corporation Method and system for receiving and demultiplexing multi-modal document content
US20040243694A1 (en) 2003-05-29 2004-12-02 Weast John C. Visibility of UPNP media renderers and initiating rendering via file system user interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6708217B1 (en) 2000-01-05 2004-03-16 International Business Machines Corporation Method and system for receiving and demultiplexing multi-modal document content
JP2003046535A (ja) 2001-05-24 2003-02-14 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US20040243694A1 (en) 2003-05-29 2004-12-02 Weast John C. Visibility of UPNP media renderers and initiating rendering via file system user interface

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
카달로그

Also Published As

Publication number Publication date
KR20060068535A (ko) 2006-06-21

Similar Documents

Publication Publication Date Title
US7590703B2 (en) Set top box for convergence and automation system
JP5226436B2 (ja) UPnPネットワーク上で特定機器を識別する方法、識別された特定機器を通じてコンテンツを再生する方法、及び装置
US7788409B2 (en) System and method for achieving interoperability in home network with IEEE 1394 and UPnP devices
US9883251B2 (en) Method and apparatus for managing connection between broadcast receiving device and another device connected by network
EP1845683A1 (en) Method for transforming contents in the DLNA system
JP2003345683A (ja) 非HAVi装置の制御のためにHAVi装置上にユーザインタフェースを生成する方法
KR20010033879A (ko) 오디오/비디오 네트워크 및 이에 관련된 제어 방법
KR20090075391A (ko) Dlna 네트워크의 dlna 디바이스 제어 방법 및 장치
KR20010033877A (ko) 가정용 오디오/비디오 네트워크
KR101871423B1 (ko) 네트워크로 연결된 방송 수신 디바이스와 다른 디바이스 간 연결을 관리하는 방법 및 장치
US20070101381A1 (en) IP remote
KR20030024806A (ko) 정보 처리 장치
US10341392B2 (en) Method and apparatus for controlling session between devices on network including multiple devices
US20010047431A1 (en) HAVi-VHN bridge solution
US20060156115A1 (en) Device, system, and method for providing error information in XHT network
WO2011048625A1 (ja) コンテンツ配信装置およびシステム
KR100639970B1 (ko) UPnP AV 시스템 및 미디어 렌더러와 재생 모듈간의통신 수행 방법
KR100371166B1 (ko) 홈 네트워크 접속 장치 및 그의 제어 방법
US10165082B2 (en) Method and apparatus for managing connection between plurality of devices over network
JP2007235584A (ja) ゲートウェイ装置
Lai et al. A portable UPnP-based high performance content sharing system for supporting multimedia devices
KR100632399B1 (ko) 고속 직렬 디바이스를 범용 플러그앤플레이 디바이스와연동시키기 위한 브리지 장치 및 그 방법
KR20080085258A (ko) UPnP AV 시스템에서의 실시간 스트리밍 프로토콜선택 장치 및 방법 및 기록매체
JP2010263541A (ja) コンテンツ共有システム、コンテンツ制御装置、コンテンツ共有方法及びコンテンツ共有プログラム
KR100738521B1 (ko) 모듈라 텔레비젼의 아이콘 선택방법 및 리모콘

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121011

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130923

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee