KR100507340B1 - 개인 방송 시스템 - Google Patents

개인 방송 시스템 Download PDF

Info

Publication number
KR100507340B1
KR100507340B1 KR1020040061756A KR20040061756A KR100507340B1 KR 100507340 B1 KR100507340 B1 KR 100507340B1 KR 1020040061756 A KR1020040061756 A KR 1020040061756A KR 20040061756 A KR20040061756 A KR 20040061756A KR 100507340 B1 KR100507340 B1 KR 100507340B1
Authority
KR
South Korea
Prior art keywords
broadcast
client
broadcaster
server
information
Prior art date
Application number
KR1020040061756A
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 엔에이치엔(주)
Priority to KR1020040061756A priority Critical patent/KR100507340B1/ko
Application granted granted Critical
Publication of KR100507340B1 publication Critical patent/KR100507340B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/81Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself
    • H04H60/82Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet

Landscapes

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

Abstract

본 발명은 개인 방송 시스템에 관한 것으로서, 본 발명에 의한 시스템은, 방송 프로그램이 설치되어 있는 방송자 또는 청취자 클라이언트로부터 방송 서버 할당 요청 정보를 수신하여 접속할 방송 서버의 주소 정보를 방송자 또는 청취자 클라이언트에 제공하는 정보관리서버; 방송자 클라이언트 또는 청취자 클라이언트의 접속 요청 정보에 응답하여 커넥션을 설정하고, 방송자 클라이언트가 전송하는 방송 스트림 데이터를 해당 청취자 클라이언트에 전송하는 방송 서버; 방송자 클라이언트 또는 청취자 클라이언트가 방송 서버에 접속하거나 접속을 해제할 경우 상기 방송 서버로부터 상태 정보를 수신하여 저장하는 데이터베이스를 포함하되; 방송자 클라이언트에 설치된 방송 프로그램은 방송자의 영상 데이터 또는 로컬 클라이언트에 저장된 영상 데이터와 방송으로 출력하려는 오디오 데이터를 동기 식별자를 포함하는 프로토콜 패킷으로 변환하여 방송 서버에 전송하고, 청취자 클라이언트에 설치된 방송 프로그램은 상기 프로토콜 패킷으로부터 데이터 신호 및 동기 식별자 정보를 추출하여 오디오 신호 및 영상 신호의 동기를 일치시켜 출력한다.

Description

개인 방송 시스템{System for Providing Joint Viewing Service of Moving Picture}
본 발명은 개인 방송 시스템에 관한 것으로서, 더욱 상세하게는 음성 및 영상을 청취자에게 동시에 제공할 수 있는 개인 방송 시스템 및 방법에 관한 것이다.
도 1a는 종래 방송 시스템의 일례를 도시한 도면이다.
도 1a에 도시된 바와 같이, 종래의 방송 시스템은 청취자 클라이언트(102) 및 방송자 클라이언트(100)가 인터넷과 같은 유선 네트워크를 통해 연결되어 있다.
종래에 있어서, 방송자 클라이언트(100)에는 음악 및 방송자의 멘트를 송출하기 위한 프로그램과 방송 스트림을 청취자에게 전송하기 위한 샤우트캐스트 서버 프로그램이 설치된다. 음악 및 방송자의 멘트를 송출하는 프로그램으로 대부분 윈앰프가 사용된다.
도 1a의 시스템에서 방송자 클라이언트(100)에 샤우트캐스트 서버 프로그램이 설치되기 때문에 방송자 클라이언트가 방송 서버로서의 역할을 하게 된다. 방송자가 출력하는 음악 및 멘트는 윈앰프에 의해 합성되고, 합성된 오디오 신호는 샤우트캐스트 프로그램의 제어에 의해 네트워크로 송출된다.
청취자 클라이언트(102)에는 방송 스트림을 수신하여 출력하기 위한 프로그램이 설치되며, 이 프로그램으로도 대부분 윈앰프가 사용된다.
도 1a와 같은 시스템에서, 청취자 클라이언트가 방송자 클라이언트에 접속하려면 방송자 클라이언트의 IP 주소 및 포트 번호를 알아야 한다. 따라서, 청취가 원하는 방송자를 찾아 방송을 청취하는 것이 번거로운 면이 있으며, 방송자 입장에서도 효과적인 홍보를 할 수 없는 문제점이 있었다. 특히, 방송자가 유동 IP를 사용하는 경우, 방송할 때마다 IP 주소가 바뀌므로, 계속적으로 갱신된 IP를 알려야하는 번거로움이 있었다.
또한, 방송자 클라이언트가 방송 서버로서의 역할을 함께 하기 때문에, 대역폭의 한계로 인해 많은 청취자가 동시에 방송을 청취할 수 없는 문제점이 있었다.
도 1b는 종래의 또 다른 방송 시스템의 일례를 도시한 도면이다.
도 1b에 도시된 바와 같은 종래의 다른 방송 시스템은 방송자 클라이언트(110), 정보관리서버(112), 샤우트캐스트 서버(114) 및 청취자 클라이언트(116)를 포함한다. 도 1b는 도1a의 시스템을 개선한 시스템으로서, 방송자 클라이언트(110)로부터 출력되는 방송 스트림 데이터는 별도의 샤우트캐스트 서버(114)를 통해 청취자 클라이언트(116)로 전송된다.
도 1a의 경우, 방송자 클라이언트가 샤우트캐스트 서버로서의 역할을 함께 하기 때문에, 많은 청취자의 방송 요청을 수용할 수 없는 문제점이 있었다. 따라서, 도 1b의 시스템에서, 별도의 샤우트캐스트 서버(114)가 구비된다. 도1b의 시스템은 비교적 높은 대역폭을 가지는 샤우트캐스트 서버(114)가 방송 스트림을 중계하므로 도 1a의 시스템보다 많은 청취자를 수용할 수 있다.
도 1b의 시스템에서, 방송자 클라이언트에는 방송 스트림 송출을 위한 윈앰프가 설치되며, 샤우트캐스트 서버(114)와의 연동을 위한 플러그인 프로그램이 설치된다.
정보관리서버(112)는 방송자 클라이언트들의 방송 개설 정보들을 샤우트캐스트 서버(114)와의 통신을 통해 다른 사용자들에게 제공한다. 청취자 클라이언트(116)는 정보관리서버(112)에 접속하여, 방송을 하고 있는 방송자들의 정보를 확인할 수 있으며, 원하는 방송자가 방송을 하고 있는 샤우트캐스트 서버(114)에 접속하여 방송 스트림을 수신할 수 있다. 도 1a의 경우와는 달리, 정보관리서버에서 방송자에 대한 정보를 제공하므로, 청취자는 방송자 클라이언트의 IP 주소 및 포트 번호를 모르더라도 방송 서비스를 제공받을 수 있다.
방송자 클라이언트(110) 및 청취자 클라이언트(116)에는 방송 스트림의 송신 또는 수신을 위한 윈앰프 프로그램이 설치된다.
위와 같은 종래의 방송 시스템들은 방송용 프로그램으로 윈앰프를 사용한다. 그러나, 윈앰프는 오디오 신호만을 제공할 뿐 영상 신호를 방송 신호로 제공하지 못하는 바, 방송자의 음성 및 방송자가 제공하는 음악을 들을 수 있을 뿐이었다. 최근 웹 카메라의 사용이 증가되고 있으며, 방송자의 영상 정보도 방송으로 제공하고자 하는 요구가 증가하고 있으나, 종래의 윈앰프 프로그램 및 샤우트캐스트 서버로는 이러한 요구를 수용할 수 없는 문제점이 있었다.
또한, 원할한 방송을 위해 부하가 적은 샤우트캐스트 서버에 방송자를 적절히 할당하는 것이 중요한데, 종래의 샤우트캐스트 서버는 상태 정보를 실시간으로 제공하지 않아 정보관리서버가 샤우트캐스트 서버와의 통신을 통해 상태 정보를 판단하였던 바 원할한 방송자 할당이 이루어질 수 없는 문제점이 있었다.
본 발명에서는 상기한 바와 같은 종래 기술의 문제점을 해결하기 위해, 음성 및 영상을 동시에 제공할 수 있는 개인 방송 시스템을 제안하는 것이다.
본 발명의 다른 목적은 음성 및 영상의 동기를 일치시켜 방송으로 제공할 수 있는 개인 방송 시스템을 제안하는 것이다.
본 발명의 또 다른 목적은 방송 서버의 상태 정보를 실시간으로 갱신하여 방송자에게 보다 방송 서버를 보다 효율적으로 할당할 수 있는 개인 방송 시스템을 제안하는 것이다.
상기한 바와 같은 목적을 달성하기 위하여, 본 발명의 바람직한 일 실시예에 따르면, 방송 프로그램이 설치되어 있는 방송자 또는 청취자 클라이언트로부터 방송 서버 할당 요청 정보를 수신하여 접속할 방송 서버의 주소 정보를 방송자 또는 청취자 클라이언트에 제공하는 정보관리서버; 방송자 클라이언트 또는 청취자 클라이언트의 접속 요청 정보에 응답하여 커넥션을 설정하고, 방송자 클라이언트가 전송하는 방송 스트림 데이터를 해당 청취자 클라이언트에 전송하는 방송 서버; 방송자 클라이언트 또는 청취자 클라이언트가 방송 서버에 접속하거나 접속을 해제할 경우 상기 방송 서버로부터 상태 정보를 수신하여 저장하는 데이터베이스를 포함하되; 방송자 클라이언트에 설치된 방송 프로그램은 방송자의 영상 데이터 또는 로컬 클라이언트에 저장된 영상 데이터와 방송으로 출력하려는 오디오 데이터를 동기 식별자를 포함하는 프로토콜 패킷으로 변환하여 방송 서버에 전송하고, 청취자 클라이언트에 설치된 방송 프로그램은 상기 프로토콜 패킷으로부터 데이터 신호 및 동기 식별자 정보를 추출하여 오디오 신호 및 영상 신호의 동기를 일치시켜 출력하는 것을 특징으로 하는 개인 방송 시스템이 제공된다.
본 발명의 다른 실시예에 따르면, 방송자 스트림을 전송하는 방송자 클라이언트, 방송 스트림을 수신하는 청취자 클라이언트, 방송자 클라이언트와 청취자 클라이언트 사이에서 방송 스트림을 중계하는 방송 서버 및 정보관리서버로 이루어진 시스템에서 상기 방송자 클라이언트 및 청취자 클라이언트에 설치되는 개인 방송용 프로그램에 있어서, 상기 정보관리서버로부터 할당 받은 방송 서버의 주소 정보를 이용하여 해당 방송 서버로의 접속을 수행하는 접속 모듈; 방송될 오디오 신호 및 영상 신호에 동기 식별자를 부여하고, 상기 동기 식별자를 포함하는 미리 설정된 프로토콜 패킷을 생성하여 방송 서버에 전송하는 방송 송신 모듈; 상기 방송 서버를 통해 수신되는 상기 프로토콜 패킷들로부터 오디오 신호 및 영상 신호를 분리하고, 분리된 신호에서 데이터 신호와 동기 식별자 정보를 추출하여 동기 식별자 정보에 상응하여 오디오 신호 및 영상 신호가 출력되도록 동기화를 제어하는 방송 수신 모들을 포함하는 개인 방송용 프로그램이 제공된다.
이하에서, 첨부된 도면을 참조하여 본 발명에 의한 개인 방송 시스템의 바람직한 실시예를 상세하게 설명한다.
도 2는 본 발명의 바람직한 일 실시예에 따른 개인 방송 시스템의 구성을 도시한 도면이다.
도 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 개인 방송 시스템은 방송 서버(200), 방송자 클라이언트(202), 상태 정보 데이터베이스(204), 정보관리서버(206) 및 청취자 클라이언트(208)를 포함할 수 있다.
도 2에서, 정보관리서버(206)는 방송자로부터 방송 요청 정보를 수신할 경우, 방송자가 접속할 수 있는 방송 서버를 상태 정보 데이터베이스(204)에서 검색하여 접속할 방송 서버의 주소 정보를 제공한다.
또한, 청취자로부터 방송 청취 요청 정보를 수신할 경우, 정보관리서버(206)는 상태 정보 데이터베이스를 검색하여 사용자가 요청한 방송이 제공되는 방송 서버의 주소 정보를 제공한다.
방송자 클라이언트는 정보관리서버(206)에 방송 요청 정보를 전송하여 접속할 방송 서버 주소 정보를 수신하며, 해당 방송 서버를 통해 방송 신호를 송출한다.
정보 관리 서버는 방송자 또는 청취자가 방송 서비스를 요청할 수 있는 웹페이지를 제공할 수도 있으며, 웹페이지는 다른 정보관리서버에 의해 제공될 수도 있다. 또한, 방송 요청을 위한 인터페이스는 웹페이지가 아닌 다른 형식으로, 예를 들어 전용 프로그램과 같은 형식으로 사용자에게 제공될 수도 있을 것이다. 웹페이지에는 방송을 요청하거나 방송의 청취를 요청할 수 있는 메뉴가 구비되며, 해당 메뉴를 통해 방송자 또는 청취자는 방송 서비스를 제공받을 수 있다.
방송자 클라이언트(202)에는 방송 데이터 송출을 위한 프로그램 및 방송 서버와 연동하기 위한 플러그인 프로그램이 설치된다.
종래에 있어서, 방송 프로그램으로 윈앰프가 사용되는 것이 일반적이었으나, 본 발명에서는 음성 및 영상을 동시에 전송할 수 있는 전용 방송 프로그램이 설치된다. 설치된 방송 프로그램은 음성 및 영상 신호에 대한 정보를 포함하는 패킷을 생성하여 방송 서버로 송출한다. 음성 및 영상 신호를 모두 방송 신호로 송출하므로, 방송 프로그램에서 생성하는 패킷 프로토콜 구조는 종래의 윈앰프의 패킷 프로토콜 구조와는 상이하며 이에 대해서는 별도의 도면을 통해 후술하기로 한다.
또한, 방송 프로그램은 음성 및 영상 신호에 동기 식별자를 부가하는 기능을 한다. 영상 및 음성 신호가 모두 방송 서버를 통해 청취자 클라이언트로 전송이 되더라도 양 신호의 동기가 맞지 않을 경우 영상과 음성이 일관성이 없게 출력된다. 따라서, 방송 프로그램은 동기 식별자를 영상 및 음성 신호에 각각 부가한다.
방송 서버(202)는 방송자 클라이언트로부터 제공되는 방송 스트림을 청취자 클라이언트에 제공하는 기능을 한다. 방송 서버는 방송자 클라이언트(200)와 청취자 클라이언트의 커넥션을 유지하고, 방송 스트림이 안정적으로 청취자 클라이언트에 제공될 수 있도록 한다.
방송 서버(202)에서 방송자와 청취자의 커넥션을 유지하고 스트림을 제공하는 방식은 종래와 다르지 않다. 그러나, 본 발명에 의한 방송 서버(202)는 음성 정보 외에 영상 정보를 함께 방송 스트림 정보로 제공하기 때문에, 종래의 샤우트캐스트 서버가 사용될 수는 없다. 본 발명에 의한 방송 서버는 방송자 클라이언트로부터 전용 프로토콜 방식으로 전송되는 패킷을 분석하여 청취자에게 제공할 수 있는 모듈을 구비하고 있다.
또한, 본 발명에 의한 방송 서버(200)는 현재의 상태 정보를 상태 정보 데이터베이스에 실시간으로 제공한다. 방송자로부터 방송 요청이 오거나, 청취자로부터 청취 요청 등이 있을 경우, 방송 서버(200)는 요청 정보를 처리함과 동시에 상태 정보 데이터베이스(204)에 상태 변경 정보를 제공한다.
종래의 샤우트캐스트 서버가 사용되는 방송 시스템 경우, 샤우트캐스트 서버는 상태 변경 정보를 자체적으로만 관리할 뿐 이를 다른 서버 등에 실시간으로 제공하지 못하였다. 따라서, 종래의 방송 시스템에서 방송 서버를 할당할 경우, 정보관리서버가 샤우트캐스트 서버와의 통신을 통해 상태 정보를 파싱(parsing)하여야 했다. 이와 같은 파싱 작업은 번거로운 절차일뿐만 아니라, 주기적으로 이루어지는 바, 실시간으로 방송 서버의 상태 정보를 파악할 수 없는 문제점이 있었다. 그러나, 본 발명에 의하면, 방송 서버(200)에서 상태 변경 정보를 실시간으로 데이터베이스(204)에 제공하므로 보다 효율적인 방송 서버 할당이 이루어질 수 있다.
상태 정보 데이터베이스(204)에는 관리하는 방송 서버 각각의 상태 정보가 저장된다. 본 발명의 바람직한 일 실시예에 따르면, 상태 정보 데이터베이스(204)는 각 방송 서버별로 개설된 방송국의 수, 각 방송국에 접속한 청취자의 수, 방송 서버에 접속한 총 청취자의 수, 방송자의 정보 등을 관리한다.
청취자 클라이언트(208)는 정보관리서버(206)와의 통신을 통해 원하는 방송자가 방송을 하는 방송 서버에 대한 정보를 수신하고, 해당 방송 서버에 접속하여 방송 스트림을 제공받는다.
방송자 클라이언트(202)의 경우와 같이, 청취자 클라이언트(208)에는 영상 및 음성을 수신하여 출력할 수 있는 전용 방송 프로그램이 설치된다. 청취자 클라이언트(208)에 설치된 전용 프로그램은 수신한 영상 및 음성 정보의 동기를 맞추어 출력한다.
도 3a는 본 발명의 바람직한 일 실시예에 따른 청취자 및 방송자 클라이언트에 설치되는 전용 프로그램의 모듈 구성을 도시한 도면이다.
본 발명의 일 실시예에 따른 전용 프로그램은 접속 모듈(300), 방송 송신 모듈(302) 및 방송 수신 모듈(304)을 포함할 수 있다.
도 3a에서, 접속 모듈(300)은 방송자 또는 청취자 클라이언트가 정보관리서버로부터 할당받은 방송 서버에 접속하는 기능을 한다.
본 발명의 일 실시예에 따르면, 정보관리서버는 방송 서버의 주소 정보로 방송 서버의 IP 주소 및 포트 번호 정보를 제공하며, 접속 모듈은 이 정보를 이용하여 방송 서버에 접속한다. 즉, 이 경우 방송 서버의 주소 식별 정보로 IP와 포트만이 사용된다.
본 발명의 다른 실시예에 따르면, 정보관리서버는 주소 정보로 방송 서버의 IP 주소, 포트 번호 및 MP(Mount Point) 정보를 제공하고, 접속 모듈은 이 정보를 이용하여 방송 서버에 접속한다. 방송 서버의 방송 모듈로 아이스캐스트 방식이 이용될 경우, 포트보다 하위의 식별 수단인 MP 정보가 주소 정보에 포함될 수 있을 것이다. MP 정보를 방송자의 아이디로 할 경우, 방송자의 아이디만으로 방송자가 방송을 하고 있는 주소 정보를 쉽게 알 수 있는 장점이 있다.
방송 송신 모듈(302)은 방송자가 방송하고자 하는 정보를 방송 스트림 정보로 변환하고 이를 접속한 방송 서버에 전송하는 기능을 하며, 방송 수신 모듈(304)은 방송 서버로부터 방송 스트림 정보를 수신하여 이를 재생하는 기능을 한다. 방송 전송 모듈(302) 및 방송 수신 모듈(304)의 보다 상세한 구성을 도 3b 및 도 3c를 참조하여 설명하면 다음과 같다.
도 3b는 본 발명의 바람직한 일 실시예에 따른 방송 송신 모듈의 구성을 도시한 블록도이다.
도 3b에 도시된 바와 같이, 본 발명의 바람직한 일 실시예에 따른 방송 송신 모듈은 외부 오디오 신호 변환 모듈(310), 내부 오디오 신호 변환 모듈(312), 오디오 신호 합성 모듈(314), 오디오 신호 변환 모듈(316), 영상 신호 수신 모듈(318), 동기/프로토콜 변환 모듈(320) 및 큐(322)를 포함할 수 있다.
도 3b에서, 외부 오디오 신호 변환 모듈(310)은 마이크를 통해 수신되는 외부의 음원을 수신한다. 마이크를 통해 수신되는 외부 오디오 신호는 대부분 방송자의 음성 정보일 것이며 외부 오디오 신호 변환 모듈(310)은 웨이브 형태의 압축되지 않은 신호로 이를 변환한다.
내부 오디오 신호 변환 모듈(312)은 방송자 클라이언트에 저장되어 있고 방송자가 방송을 통해 출력하려는 오디오 파일을 웨이브 형태의 데이터로 변환하는 기능을 한다. 개인 방송에서, 방송자의 음성 정보 등은 마이크를 통해 입력되나, 음악은 클라이언트에 저장되어 있는 음악 파일을 이용하여 방송자에게 제공되는 것이 일반적이다. 클라이언트에 저장되어 있는 음악 파일은 대부분 MP3와 같은 압축 파일이며, 이러한 압축 파일은 방송자의 음성 정보와 합성될 수 없다. 따라서, 내부 오디오 신호 변환 모듈(312)은 방송되는 음악 파일의 오디오 신호를 웨이브 형태의 정보로 변환하는 것이다.
오디오 신호 합성 모듈(314)은 외부 오디오 신호 수신 모듈(310)에 의해 출력되는 외부 오디오 신호와 내부 오디오 신호 변환 모듈(312)에 의해 변환된 웨이브 형태의 내부 오디오 신호를 합성하는 기능을 한다. 웨이브 신호의 합성은 이미 공지된 기술이므로 이에 대한 상세한 설명은 생략하기로 한다.
오디오 신호 변환 모듈(316)은 오디오 신호 합성 모듈(314)에서 출력되는 웨이브 형태의 신호를 미리 설정된 형식의 음악 파일로 변환하는 기능을 한다. 본 발명의 일 실시예에 따르면, 오디오 신호 변환 모듈(316)은 MP3 또는 ogg 형식의 음악 파일로 웨이브 신호를 변환한다. 웨이브 신호를 MP3 또는 ogg 형식의 정보로 변환하는 기술 역시 공지된 것이므로 이에 대한 상세한 설명은 생략하기로 한다.
영상 수신 모듈(318)은 웹카메라 등으로부터 영상 정보를 수신하는 기능을 한다. 영상 수신 모듈(318)은 외부 영상의 수신뿐만 아니라 방송자 클라이언트에 저장된 영상 파일 정보를 방송을 통해 전송할 수 있는 형태로 변환하는 기능을 수행할 수도 있다.
동기/프로토콜 변환 모듈(320)은 영상 수신 모듈(318)로부터 제공되는 영상 신호 및 오디오 신호 변환 모듈(316)로부터 제공되는 오디오 신호에 동기 식별자를 삽입하는 기능을 한다. 본 발명의 바람직한 실시예에 따르면, 동기/프로토콜 변환 모듈(320)에서 삽입하는 동기 식별자는 타임 스탬프(Time Stamp) 정보일 수 있다.
동기/프로토콜 변환 모듈(320)은 영상 신호 또는 오디오 신호를 수신할 경우, 수신한 신호에 타임 스탬프 정보를 삽입하여 변환된 프로토콜 패킷을 생성한다. 동기/프로토콜 변환 모듈(320)은 도 7a 및 도 7b와 같은 구조의 프로토콜 패킷을 생성한다.
도 7a 및 도 7b는 동기/프로토콜 변환 모듈(320)에서 변환하는 패킷의 구성을 도시한 도면이다.
도 7a를 참조하면, 본 발명의 일 실시예에 따른 프로토콜 패킷은 타입 필드(700), 타임 스탬프 필드(702), 사이즈 필드(704) 및 데이터 필드(706)를 포함할 수 있다.
타입 필드(700)에는 패킷의 타입에 대한 정보가 포함된다. 패킷 타입에는 오디오 패킷, 비디오 패킷, 키프레임 패킷이 있다. 영상 신호는 키프레임을 기준으로 그 변화 정보가 비디오 패킷으로 제공되므로, 비디오 패킷과 키프레임 패킷으로 구분된다. 동기/프로토콜 변환 모듈(320)은 입력되는 신호가 오디오 신호인지, 일반 영상 신호인지 또는 키프레임 신호인지를 판단하여 해당 식별자를 타입 필드에 부가한다.
타임 스탬프 필드(702)에는 동기/프로토콜 변환 모듈(320)에서 부여하는 타이 스탬프 정보가 기록된다. 본 발명의 일 실시예에 따르면, 동기/프로토콜 변환 모듈(320)은 방송자 클라이언트의 로컬 타임을 타임 스탬프 정보로 패킷에 기록한다. 그러나, 이와 다른 시간 값이 타임 스탬프 정보로 활용될 수 있다는 것은 당업자에게 있어 자명할 것이다.
사이즈 필드(704)에는 데이터의 사이즈에 대한 정보가 포함되며, 사이즈 정보는 주로 에러를 체크할 때 이용된다.
데이터 필드(706)에는 오디오 신호 변환 모듈(316) 또는 영상 수신 모듈(318)에서 출력되는 오디도 또는 영상 데이터가 포함된다.
도 7b는 본 발명의 다른 실시예에 따른 프로토콜 패킷의 구성을 도시한 도면이다.
도 7b에는 프레임 카운트 필드(708)가 더 포함된 프로토콜 패킷이 도시되어 있다. 프레임 카운트 정보는 오디오 신호 및 영상 신호의 동기화 이외에 다른 데이터의 동기화에 이용되는데, 이에 대한 상세한 설명은 별도의 도면을 통해 후술하기로 한다.
도 3c는 본 발명의 바람직한 일 실시예에 따른 방송 수신 모듈의 구성을 도시한 블록도이다.
도 3c에 도시된 바와 같이, 본 발명의 일 실시예에 따른 방송 수신 모듈은 방승 스트림 수신 모듈(330), 신호 분리 모듈(332), 오디오 신호 디코딩 모듈(334), 동기화 모듈(336) 및 영상 신호 디코딩 모듈(338)을 포함할 수 있다.
방송 스트림 수신 모듈(330)은 방송 서버로부터 제공되는 방송 스트림 데이터를 수신하는 기능을 한다. 방송 서버에서 제공되는 스트림 데이터의 패킷 구조는 도 7a 또는 도 7b와 같은 구조를 가지며, 방송 서버는 오디오 신호의 메타 정보도 함께 전송한다.
신호 분리 모듈(332)은 방송 스트림 수신 모듈(330)이 수신한 방송 스트림 신호를 영상 신호 및 오디오 신호로 분리한다. 신호 분리 모듈은 수신한 패킷의 타입 정보를 통해 오디오 신호 및 영상 신호를 분리할 수 있을 것이다. 신호 분리 모듈(332)은 오디오 신호 및 비디오 신호를 분리하여 별도의 데이터 큐에 저장하고, 오디오 패킷 및 비디오 패킷에서 타임 스탬프 정보 및 데이터 정보만을 추출하여 오디오 신호 디코딩 모듈 및 영상 신호 디코딩 모듈에 각각 제공한다.
오디오 신호 디코딩 모듈(334)은 신호 분리 모듈(332)로부터 수신한 오디오 신호를 디코딩한다. 오디오 신호는 일반적으로 MP3 또는 ogg 포맷으로 압축되며, 오디오 신호 디코딩 모듈(334)은 오디오 신호의 압축 포맷에 따라 이에 상응하는 디코딩 알고리즘으로 오디오 신호를 디코딩한다.
오디오 신호 디코딩 모듈(334)은 오디오 패킷의 디코딩 시 디코딩되는 패킷의 타임 스탬프 정보를 동기화 모듈(336)에 제공하고, 동기화 모듈(336)은 영상 신호 디코딩 모듈이 오디오 신호의 타임 스탬프에 상응하는 영상 신호만을 출력하도록 제어한다.
영상 신호 디코딩 모듈(338)은 동기화 모듈(336)에 제어에 따라 해당 타임 스탬프의 영상 신호만을 디코딩하여 출력하며, 이와 같은 동작에 의해 오디오 신호와 영상 신호는 동기화되어 출력될 수 있다.
도 4는 본 발명의 바람직한 일 실시예에 따른 방송 서버의 모듈 구성을 도시한 블록도이다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 방송 서버는 방송자 접속 처리 모듈(400), 청취자 접속 처리 모듈(402), 프로토콜 변환/분석 모듈(404) 및 상태 정보 관리 모듈(406)을 포함한다.
방송자 접속 처리 모듈(400)은 방송자의 방송 요청에 응답하여 방송자 클라이언트와의 커넥션을 설정하고 방송 프로세스를 실행하는 기능을 한다. 본 발명의 바람직한 실시예에 따르면, 방송자 클라이언트는 주소, 포트, MP의 세 개의 주소 식별자를 이용하여 방송 서버에 접속하며, 방송자 접속 처리 모듈(400)은 하나의 포트에 복수의 방송 프로세스가 실행되도록 한다. 이와 달리, 주소 및 포트 정보만을 이용하여 방송자 클라이언트가 방송 서버에 접속하고, 포트별로 하나의 방송 프로세스가 실행될 수도 있다는 점은 당업자에게 있어 자명할 것이다.
청취자 접속 처리 모듈(402)은 청취자의 접속 요청에 응답하여 청취자 클라이언트와의 커넥션을 설정하고 청취자가 요청한 방송자의 방송 스트림이 청취자 클라이언트로 제공될 수 있도록 한다. 전술한 바와 같이, 청취자 클라이언트는 주소, 포트 MP 정보를 이용하여 방송 서버에 접속할 수 있으며, 주소 및 포트 정보만을 이용하여 방송 서버에 접속할 수도 있다.
프로토콜 변환/분석 모듈(404)은, 방송 서버에 접속한 청취자 클라이언트가 도 7a 또는 도 7b와 같은 형태의 프로토콜 패킷을 처리할 수 있는 프로그램을 설치하지 않은 경우, 방송자 클라이언트에서 전송된 프로토콜 패킷을 일반적인 방송 스트림 패킷으로 변환하는 기능을 한다. 청취자 클라이언트에 본 발명에 따른 방송 프로그램이 아닌 일반적인 윈앰프 등의 프로그램이 설치되어 있을 경우, 청취자 클라이언트는 방송자 클라이언트에서 전송하는 패킷을 처리할 수 없다. 따라서, 프로토콜 변환/분석 모듈(404)은 방송자 클라이언트에서 전송되는 패킷을 영상 데이터가 제거하고 음성만으로 이루어진 일반적인 방송 패킷으로 변환한다. 청취자 클라이언트에 설치된 방송 프로그램의 종류는 방송 서버와 청취자 클라이언트의 연결 설정 시에 알 수 있다.
또한, 프로토콜 변환/분석 모듈(404)은 패킷의 헤더 정보를 분석하여 메타 정보를 추출하고 이를 청취자 클라이언트에 전송한다.
상태 정보 관리 모듈(406)은 방송자 또는 청취자가 방송 서버와 접속하거나 또는 접속을 해제하는 경우 이를 감지하여 데이터베이스에 제공하는 기능을 한다. 상태 정보 관리 모듈(406)은 청취자 또는 방송자의 접속 또는 접속 해제 이벤트가 발생할 때마다 이벤트 발생 정보를 데이터베이스에 제공하며, 이로 인해 방송 서버의 상태를 실시간으로 확인할 수 있다.
도 5는 본 발명의 바람직한 일 실시예에 따른 방송자 클라이언트가 접속할 방송 서버를 할당받는 과정을 도시한 도면이다.
도 5를 참조하면, 방송자 클라이언트는 정보관리서버에 방송 서버 주소 요청 정보를 전송한다(S500).
방송자 클라이언트로부터 방송 서버 주소 요청 정보를 수신한 정보관리서버는 데이터베이스에 방송자가 접속할 수 있는 방송 서버 정보를 요청한다(S502).
정보관리서버의 요청을 받은 데이터베이스는 방송 서버들의 상태 정보를 판단하여 방송자 클라이언트가 접속할 서버의 주소 정보(IP, 포트, MP)를 제공한다(S504). 본 발명의 바람직한 실시예에 따르면, 이미 방송 프로세스가 실행중인 서버에 접속을 요청한 방송자 클라이언트를 할당하는 것이 바람직하며, 방송 프로세스가 실행중인 서버에 여유가 없을 경우 새로은 서버를 할당하도록 한다.
데이터베이스로부터 방송자 클라이언트가 접속할 서버의 주소 정보를 수신한 정보관리서버는 이를 방송자 클라이언트에 제공한다(S506). 방송자 클라이언트는 수신한 서버의 주소 정보를 이용하여 방송 서버에 연결하여 방송을 개시한다(S508). 방송 서버는 방송자 클라이언트가 접속할 경우, 방송자 클라이언트의 접속 정보를 데이터베이스에 실시간으로 전송한다.
도 6은 본 발명의 바람직한 일 실시예에 따른 청취자 클라이언트가 접속할 방송 서버를 할당받는 과정을 도시한 도면이다.
도 6을 참조하면, 청취자 클라이언트는 정보관리서버에 접속하여 방송 서버 주소 요청 정보를 전송한다(S600).
정보관리서버는 청취자 클라이언트로부터 제공받은 방송자 아이디 정보를 이용하여 해당 방송자가 방송을 하는 서버의 주소 정보를 데이터베이스에 요청한다(S602).
데이터베이스는 저장하고 있는 방송 서버들의 상태 정보를 조회하여 해당 방송자가 방송을 하고 있는 방송 서버의 주소 정보를 추출하고 이를 정보관리서버에 전송한다(S604). 도 6에는 도시되어 있지 않으나, 방송 서버와 데이터베이스 사이에는 중간 프록시 서버가 구비될 수 있으며, 중간 프록시 서버를 통해 정보관리서버와 데이터베이스 사이의 통신이 이루어질 수도 있을 것이다.
데이터베이스로부터 해당 방송자가 방송을 하는 서버의 주소 정보를 수신한 정보관리서버는 이를 청취자 클라이언트에 전달하고(S606), 청취자 클라이언트는 수신한 주소 정보를 이용하여 방송 서버에 접속한다(S608). 방송 서버는 청취자의 접속 정보를 실시간으로 데이터베이스에 제공한다.
도 8은 본 발명에 의한 방송 시스템을 이용하여 방송 데이터와 외부 데이터를 동기화하는 시스템의 구성을 도시한 도면이다.
도 8에 도시된 바와 같이, 본 발명에 따른 외부 데이터와 방송 데이터를 동기화하는 시스템은 방송자 클라이언트(800), 방송 서버(802), 데이터베이스(804), 외부 서버(806) 및 청취자 클라이언트(808)를 포함할 수 있다.
도 8과 같은 시스템은 바둑, 전략 게임과 같은 게임 정보를 수신하면서 방송자의 게임 해설 정보를 함께 수신할 경우에 특히 유용하게 활용될 수 있다. 이외에도 도 8과 같은 시스템은 프리젠테이션과 같은 문서 데이터 등과 동기를 맞추어 강의를 하는 경우에도 적용될 수 있을 것이다.
설명의 편의를 위해, 온라인 바둑이 대국실 내에서 제공되고 있고, 바둑 관전자 중 1인이 해설을 하고 있다고 가정하고 도 8에 대한 시스템을 설명하기로 한다.
방송자(해설자) 클라이언트(800)의 방송 프로그램은 온라인 대국실에서 진행되는 바둑의 해설을 담당하는 해설자의 음성 및 영상 정보를 도 7b와 같은 프로토콜 포맷으로 변경하여 방송 서버(802)에 전송한다. 영상 및 음성 정보가 바둑 기보와 같은 외부 데이터와 동기를 맞추려면 타임 스탬프 정보보다 프레임 카운트 정보를 이용하는 것이 효율적이다. 따라서, 방송 데이터와 외부 데이터의 동기를 맞추어야 하는 경우, 방송 프로그램은 도 7b와 같은 프로토콜 포맷의 패킷을 생성한다.
또한, 방송자(해설자) 클라이언트(800)는 바둑 기보 정보를 외부 서버(806)-여기서 외부 서버는 바둑 대국 서비스를 제공하는 서버이다-를 통해 청취자 클라이언트(802)로 전송한다. 이때, 바둑 기보 정보에는 해설자의 영상 및 음성 정보와 동기를 맞추기 위한 프레임 카운트 정보가 포함되어 있다. 바둑 기보 정보는 바둑 대국/관전 프로그램을 통해 외부 서버(806)로 전송될 수 있다. 바둑 대국/관전 프로그램과 방송 프로그램은 통합된 프로그램일 수도 있으며, 각각 별개의 프로그램일 수도 있다.
청취자 클라이언트(808)는 방송 서버(802)를 통해 해설자의 영상 및 음성 정보를 수신하고, 외부 서버(806)를 통해 바둑 기보 데이터를 수신한다. 청취자 클라이언트의 방송 프로그램은 음성 신호의 타임 스탬프 정보 및 프레임 카운트 신호를 기준으로 음성 신호가 출력될 때 해당 영상 신호가 출력되거나 해당 기보 데이터가 출력되도록 제어한다.
도 8과 같은 시스템이 이용될 경우, 바둑 해설 정보가 방송 서버를 통해 관전자들에게 제공되므로 대역폭의 큰 제한을 받지 않고 바둑 해설 서비스를 제공할 수 있어 비교적 많은 사용자가 해설 서비스를 제공받을 수 있으며, 기보 데이터와 해설자의 해설 정보의 동기가 어긋나지 않고 정확히 제공될 수 있다.
이상에서 설명한 바와 같이, 본 발명에 따른 개인 방송 시스템에 의하면, 음성 및 영상을 동시에 제공할 수 있을 뿐만 아니라 음성 및 영상의 동기를 일치시켜 방송으로 제공할 수 있는 장점이 있다.
또한, 본 발명에 의하면, 방송 서버의 상태 정보를 실시간으로 갱신하여 방송자에게 보다 방송 서버를 보다 효율적으로 할당할 수 있는 장점이 있다.
도 1a는 종래 방송 시스템의 일례를 도시한 도면.
도 1b는 종래의 또 다른 방송 시스템의 일례를 도시한 도면.
도 2는 본 발명의 바람직한 일 실시예에 따른 개인 방송 시스템의 구성을 도시한 도면.
도 3a는 본 발명의 바람직한 일 실시예에 따른 청취자 및 방송자 클라이언트에 설치되는 전용 프로그램의 모듈 구성을 도시한 도면.
도 3b는 본 발명의 바람직한 일 실시예에 따른 방송 송신 모듈의 구성을 도시한 블록도.
도 3c는 본 발명의 바람직한 일 실시예에 따른 방송 수신 모듈의 구성을 도시한 블록도.
도 4는 본 발명의 바람직한 일 실시예에 따른 방송 서버의 모듈 구성을 도시한 블록도.
도 5는 본 발명의 바람직한 일 실시예에 따른 방송자 클라이언트가 접속할 방송 서버를 할당받는 과정을 도시한 도면.
도 6은 본 발명의 바람직한 일 실시예에 따른 청취자 클라이언트가 접속할 방송 서버를 할당받는 과정을 도시한 도면.
도 7a 및 도 7b는 동기/프로토콜 변환 모듈에서 변환하는 패킷의 구성을 도시한 도면.
도 8은 본 발명에 의한 방송 시스템을 이용하여 방송 데이터와 외부 데이터를 동기화하는 시스템의 구성을 도시한 도면.

Claims (14)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 방송 프로그램이 설치되어 있는 방송자 또는 청취자 클라이언트로부터 방송 서버 할당 요청 정보를 수신하여 접속할 방송 서버의 주소 정보를 방송자 또는 청취자 클라이언트에 제공하는 정보관리서버;
    방송자 클라이언트 또는 청취자 클라이언트의 접속 요청 정보에 응답하여 커넥션을 설정하고, 방송자 클라이언트가 전송하는 방송 스트림 데이터를 해당 청취자 클라이언트에 전송하는 방송 서버;
    방송자 클라이언트 또는 청취자 클라이언트가 방송 서버에 접속하거나 접속을 해제할 경우 상기 방송 서버로부터 상태 정보를 수신하여 저장하는 데이터베이스; 및
    방송 스트림 데이터 이외의 외부 데이터를 방송자 클라이언트로부터 수신하여 청취자 클라이언트에 전송하는 외부 서버를 포함하되,
    방송자 클라이언트에 설치된 방송 프로그램은 영상 촬영 수단에 의해 제공되는 방송자의 영상 데이터 또는 로컬 클라이언트에 저장된 영상 데이터 파일을 통해 출력되는 영상 신호를 동기 식별자를 포함하는 미리 설정된 형태의 프로토콜 패킷으로 변환하고, 방송으로 출력하려는 오디오 데이터에 대해 동기 식별자를 포함하는 프로토콜 패킷으로 변환하여 상기 음성 및 영상 데이터 프로토콜 패킷을 방송 서버에 전송하며, 상기 외부 데이터에 대해 동기 식별자 정보를 포함하는 프로토콜 패킷으로 변환하여 외부 테이터 프로토콜 패킷을 상기 외부 서버에 전송하고,
    청취자 클라이언트에 설치된 방송 프로그램은 상기 방송 서버로부터 수신되는 프로토콜 패킷을 오디오 프로토콜 패킷 및 영상 프로토콜 패킷으로 분리하고 상기 영상 및 오디오 프로토콜 패킷으로부터 데이터 신호 및 동기 식별자 정보를 추출하고, 상기 외부 서버로부터 수신되는 외부 데이터 프로토콜 패킷으로부터 외부 데이터 및 동기 식별자 정보를 추출하여 오디오 데이터, 영상 데이터 및 외부 데이터의 동기를 일치시켜 출력하며,
    상기 외부 데이터는 게임에서의 사용자의 명령 정보 데이터 또는 어플리케이션을 통해 디스플레이되는 문서 또는 이미지 데이터의 전환에 대한 사용자의 명령 정보 데이터인 것을 특징으로 하는 개인 방송 시스템.
  13. 삭제
  14. 삭제
KR1020040061756A 2004-08-05 2004-08-05 개인 방송 시스템 KR100507340B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040061756A KR100507340B1 (ko) 2004-08-05 2004-08-05 개인 방송 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040061756A KR100507340B1 (ko) 2004-08-05 2004-08-05 개인 방송 시스템

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020040071274A Division KR20060013317A (ko) 2004-09-07 2004-09-07 개인 방송 시스템

Publications (1)

Publication Number Publication Date
KR100507340B1 true KR100507340B1 (ko) 2005-08-08

Family

ID=37304033

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040061756A KR100507340B1 (ko) 2004-08-05 2004-08-05 개인 방송 시스템

Country Status (1)

Country Link
KR (1) KR100507340B1 (ko)

Similar Documents

Publication Publication Date Title
US8477950B2 (en) Home theater component for a virtualized home theater system
JP4649091B2 (ja) 通信端末、サーバ装置、中継装置、放送通信システム、放送通信方法及びプログラム
US8707382B2 (en) Synchronizing presentations of multimedia programs
CN106034262B (zh) 自适应流媒体处理方法及装置
EP2690876A2 (en) Heterogeneous network-based linked broadcast content transmitting/receiving device and method
JP2013179664A (ja) 放送データ送信方法およびその装置
KR101934200B1 (ko) 미디어 동기화 방법 및 시스템
CN111147362B (zh) 多人即时通讯方法、系统、装置及电子设备
JP5841715B2 (ja) 映像音声出力装置、および映像音声出力システム、およびマスタ装置
WO2016129981A1 (ko) 미디어 데이터를 송수신하는 방법 및 장치
CN111107390B (zh) 直播服务系统及直播连接的建立方法
WO2015012063A1 (ja) 情報処理装置
TW202114432A (zh) 使用帶內元資料作為存取參考指紋的基礎,以促進與內容相關的動作
KR102090070B1 (ko) 스트리밍 서버, 클라이언트 단말 및 이를 이용한 av 라이브 스트리밍 시스템
EP2814256A1 (en) Method and apparatus for modifying a stream of digital content
JP7377352B2 (ja) 複数メンバーでのインスタントメッセージング方法、システム、装置及び電子機器、並びにコンピュータプログラム
KR100507340B1 (ko) 개인 방송 시스템
KR20060013317A (ko) 개인 방송 시스템
KR100640918B1 (ko) 인터넷 스트리밍 서비스를 위한 스트림 파일 제작 방법
KR100563719B1 (ko) 이동통신 단말기의 다채널 스트리밍 제어방법
KR20130056829A (ko) 3dtv 방송을 위한 송수신 장치 및 그 제어 방법
JP2002314960A (ja) マルチビュー放送サービスシステム及び、それに関する、装置または方法または記録媒体またはプログラム
JP5843480B2 (ja) 受信機及びプログラム
JP5859223B2 (ja) 受信機及びプログラム
JP5174381B2 (ja) ネットワーク中継装置、コンテンツ再生装置、ネットワーク中継方法、コンテンツ再生システム、プログラム、およびプログラムを記録したコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
A107 Divisional application of patent
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120705

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20130626

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20150722

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160725

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20170704

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190701

Year of fee payment: 15