KR102439164B1 - 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 - Google Patents

다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 Download PDF

Info

Publication number
KR102439164B1
KR102439164B1 KR1020210100074A KR20210100074A KR102439164B1 KR 102439164 B1 KR102439164 B1 KR 102439164B1 KR 1020210100074 A KR1020210100074 A KR 1020210100074A KR 20210100074 A KR20210100074 A KR 20210100074A KR 102439164 B1 KR102439164 B1 KR 102439164B1
Authority
KR
South Korea
Prior art keywords
mmt
mpu
signaling message
asset
package
Prior art date
Application number
KR1020210100074A
Other languages
English (en)
Other versions
KR20210097089A (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 KR1020210100074A priority Critical patent/KR102439164B1/ko
Publication of KR20210097089A publication Critical patent/KR20210097089A/ko
Application granted granted Critical
Publication of KR102439164B1 publication Critical patent/KR102439164B1/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 스트리밍 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공을 위한 시그널링 메시지 및 이를 이용한 다중 경로 스트리밍 서비스 제공 방법에 관한 것이다.
이러한 본 발명의 실시 예에 따른 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 통신 프로토콜에 따라 동작하는 복수 개의 MMT 개체로 구성되는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서, 상기 MMT 개체가 자신이 보유하고 있는 패키지(package)에 대한 미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location) 및 MPU 아이디(MPU_id)를 정의하는 MP 테이블(MP table)을 포함하는 시그널링 메시지를 생성하는 단계 및 상기 MMT 개체가 상기 생성된 시그널링 메시지를 이용하여 다중 경로 방식의 스트리밍 서비스 제공이 가능하도록 하나 이상의 다른 MMT 개체로 전송하는 단계를 포함하여 이뤄질 수 있다.

Description

다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램{METHOD FOR PROVIDING OF MULTI PATH STREAMMING SERVICE, COMPUTER READALE STORAGE MEDIUM AND RECORDING PROGRAM THEREFOR}
본 발명은 스트리밍 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
최근의 인터넷 환경에서 다양한 동영상 서비스가 등장하면서 고화질 라이브 방송에 대한 수요가 점점 증가하고 있다. 더하여, 최근에는 라이브 스트리밍(live streaming) 서비스 방식에 따라 다양한 동영상 서비스를 제공하고자 하는 시도들이 이뤄지고 있다.
스트리밍 서비스는 인터넷과 같은 네트워크를 통해 서버에서 단말로 비디오 또는 오디오와 같은 컨텐츠를 전송하는 것을 의미한다. 전송되는 데이터가 마치 물이 흐르는 것처럼 처리된다고 해서 스트리밍이라고 한다. 서버는 비디오를 네트워크로 보낼 수 있도록 패킷으로 분리하며, 단말은 그 패킷들을 다시 모아서 원래 형태로 복원한 후에 재생한다. 이때, 재생과 패킷 수신은 동시에 일어나며, 연관된 일련의 패킷들을 스트림(stream)이라하며, 일련의 패킷들의 집합을 스트리밍 데이터라 한다.
한편, MPEG-2 TS(Transport System)는 표준화 이후 지상파 및 위성 디지털 방송, DMB, IPTV 등 다양한 산업 분야에서 미디어 전송을 위해 주로 사용되어 왔으며, 근래에는 디지털 비디오 카메라나 블루레이 장비에서의 미디어 저장을 위해 사용되는 등 그 사용 분야가 확장되고 있다. 그러나, 최근의 네트워크 환경은 급속히 변화하고 있으며, 다양한 이종망(heterogeneous network) 환경에서의 멀티미디어 전송 기술 등 새로운 요구 사항들이 필요시 되고 있다. 이에, 고도화된 여러 종류의 네트워크 환경에서 다양한 콘텐츠와 서비스를 제공하기 위한 새로운 기술의 표준이 요구되고 있으며, 이에 따라, MMT(MPEG Media Transport) 기술이 개발되고 MMT 방식의 스트리밍 서비스를 제공하려는 시도들이 이뤄지고 있다.
그러나 현재까지의 MMT 기술은 다중 경로(multi path) 방식의 서비스 구현을 위한 동작 방법 및 기술에 대한 가이드 라인이 존재하지 않으며, 또한, 현재의 MMT 표준은 하나의 애셋(asset)은 한 경로를 통해 모두 전달되는 것을 가정하고 있어, 네트워크 대역폭을 효율적으로 사용하지 못한다는 문제점이 있다.
이에, MMT 방식의 스트리밍 서비스에 있어서, 네트워크 대역폭을 보다 효율적으로 사용할 수 있는 다중 경로(multi path) 방식의 서비스 구현 및 이를 위한 메시지의 정의가 필요하다.
한국공개특허 제2013-0057404호, 2013년 05월 31일 공개 (명칭: 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램을 제공하는 데 목적이 있다.
특히, 본 발명은 서버-클라이언트 방식 또는 P2P(Peer to Peer)의 네트워크 구조를 고려하여 보다 효율적으로 다중 경로 방식의 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램을 제공하는 데 그 목적이 있다.
또한, 본 발명은 MMT 스트리밍 서비스 제공 과정에서 사용되는 시그널링 메시지를 새롭게 정의하고, 정의된 시그널링 메시지를 이용하여 다중 경로 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램을 제공하는 데 그 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 통신 프로토콜에 따라 동작하는 복수 개의 MMT 개체로 구성되는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서, 상기 MMT 개체가 자신이 보유하고 있는 패키지(package)에 대한 미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location) 및 MPU 아이디(MPU_id)를 정의하는 MP 테이블(MP table)을 포함하는 시그널링 메시지를 생성하는 단계; 및 상기 MMT 개체가 상기 생성된 시그널링 메시지를 이용하여 다중 경로 방식의 스트리밍 서비스 제공이 가능하도록 하나 이상의 다른 MMT 개체로 상기 시그널링 메시지를 전송하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 MPU 위치 정보는 애셋 위치(asset_location) 정보에 종속되어 정의되며, 상기 MPU 아이디는 상기 MP 테이블의 MMT 일반 위치 정보(MMT_general_location_info())에서 정의되는 위치 타입(location_type)에 패킷 아이디(packet_id)가 정의되는 경우에만 포함될 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스를 제공하는 MMT 스트리밍 서버 및 스트리밍 서비스를 이용하는 클라이언트와 상기 MMT 스트리밍 서버 사이에 위치하며 MMT 통신 프로토콜에 따라 상기 MMT 스트리밍 서버가 제공하는 패키지(package)와 동일한 패키지 전부 또는 일부를 제공할 수 있는 복수 개의 MMT 중간 개체(entity)를 포함하는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서, 상기 복수 개의 MMT 중간 개체 각각이 시그널링 메시지를 통해 자신이 보유하고 있는 패키지와 관련된 정보를 시그널링 메시지를 통해 공유하는 단계; 상기 공유된 시그널링 메시지를 기초로 상기 복수 개의 MMT 중간 개체 중 어느 하나의 MMT 중간 개체가 조정자(coordinator) MMT 중간 개체로 설정되는 단계; 상기 설정된 조정자 MMT 중간 개체가 클라이언트의 요청에 따라 상기 MMT 스트리밍 서버로부터 상기 클라이언트로 전달되는 시그널링 메시지를 상기 공유된 시그널링 메시지를 이용하여 적어도 둘 이상의 다중 경로에 대응하는 시그널링 메시지로 각각 생성하는 단계; 및 상기 조정자 MMT 중간 개체가 상기 생성된 적어도 둘 이상의 시그널링 메시지를 상기 클라이언트로 전달하여 상기 클라이언트가 상기 시그널링 메시지에 따라 MMT 스트리밍 서비스를 요청하고 수신할 수 있도록 처리하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 패키지와 관련된 정보는 미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location) 및 MPU 아이디(MPU_id)를 의미하며, 상기 시그널링 메시지는 상기 MPU 위치 정보 및 MPU 아이디가 정의된 MP 테이블(MP table)을 포함할 수 있다.
또한, 상기 공유하는 단계는, 상기 복수 개의 MMT 중간 개체 각각이 자신이 보유하고 있는 패키지와 관련된 정보를 포함하는 시그널링 메시지를 상기 MMT 스트리밍 서버 상향(upwarding) 방향에 위치하는 상위 MMT 중간 개체로 전송하는 단계; 및 상기 상위 MMT 개체는 하위 MMT 중간 개체로부터 전달되는 시그널링 메시지 및 자신이 보유하고 있는 패키지와 관련된 정보를 포함하는 시그널링 메시지를 상기 MMT 스트리밍 서버 상향 방향으로 전송하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 조정자 MMT 중간 개체로 설정되는 단계는 상기 MMT 스트리밍 서버 상향 방향에 위치하는 개체가 MMT 스트리밍 서버인 최상위 MMT 중간 개체를 조정자 MMT 중간 개체로 설정할 수 있다.
또한, 상기 생성하는 단계는 상기 조정자 MMT 중간 개체가 상기 공유된 시그널링 메시지를 이용하여 상기 MMT 스트리밍 서버로부터 전달되는 시그널링 메시지의 MP 테이블에 기재된 패키지와 관련된 정보 중 적어도 일부의 동일한 패키지를 보유하고 있는 MMT 중간 개체가 존재하는 것으로 판단되면, 상기 MP 테이블에서 해당 정보를 삭제한 제1 시그널링 메시지를 생성하는 단계; 및 상기 조정자 MMT 중간 개체가 상기 MMT 스트리밍 서버로부터 전달된 시그널링 메시지의 상기 MP 테이블에서 동일한 정보를 제외한 나머지를 삭제한 제2 시그널링 메시지를 생성하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 제2 시그널링 메시지를 생성하는 단계는 상기 조정자 MMT 중간 개체는 상기 MMT 스트리밍 서버로부터 전달된 시그널링 메시지의 상기 MP 테이블에서 동일한 정보를 제외한 나머지를 삭제한 후, 상기 시그널링 메시지의 출발지 주소(src_addr)를 상기 동일한 패키지를 보유하고 있는 MMT 중간 개체의 주소로 변경하고, 상기 시그널링 메시지의 목적지 포트(dst_port)를 다른 목적지 포트로 설정한 제2 시그널링 메시지를 생성할 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스를 제공하는 MMT 스트리밍 서버 및 복수 개의 클라이언트를 포함하는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스 제공 방법에 있어서, 어느 하나의 클라이언트가 상기 MMT 스트리밍 서버로 패키지를 요청하는 단계; 상기 클라이언트가 상기 MMT 스트리밍 서버로부터 상기 패키지의 적어도 일부를 보유하고 있는 하나 이상의 다른 클라이언트에 대한 정보를 포함하는 시그널링 메시지를 수신하는 단계; 상기 클라이언트가 가용 채널 용량을 고려하여 상기 시그널링 메시지에 포함된 다른 클라이언트 중 적어도 하나 이상의 다른 클라이언트와 연결하는 단계; 및 상기 클라이언트가 연결된 다른 클라이언트로부터 스트리밍 데이터를 동시에 요청하여 수신하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 수신되는 시그널링 메시지는 상기 클라이언트의 IP 주소, 다른 클라이언트의 IP 주소 및 상기 다른 클라이언트별 각각에 대응하는 패키지 ID, 하나 이상의 애셋 ID 및 적어도 하나 이상의 MPU ID에 대한 정보를 포함할 수 있다.
또한, 상기 다른 클라이언트와 연결하는 단계는 상기 클라이언트가 자신의 현재 채널 사용량(current channel usage of peer) 및 최대 채널 용량(maximum channel capacity of peer)을 산출하는 단계; 및 상기 최대 채널 용량에서 상기 현재 채널 사용량을 뺀 용량이 채널 마진(channel margin for reliability) 미만이 될 때까지 상기 클라이언트가 서로 다른 클라이언트와 연결을 수행할 수 있다.
또한, 상기 클라이언트가 다른 클라이언트와 연결을 수행하는 단계 이후에, 상기 클라이언트가 자신의 현재 채널 사용량 및 최대 채널 용량을 지속적으로 모니터링하여 현재 채널 사용량에 변화가 감지되면, 상기 현재 채널 사용량 및 최대 채널 용량을 재산출하는 단계;를 더 포함하여 이뤄질 수 있다.
추가로 본 발명은 상술한 바와 같은 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
추가로 본 발명은 상술한 바와 같은 방법을 실행시키도록 구현되어 컴퓨터 판독 가능한 기록매체에 저장되는 컴퓨터 프로그램을 통해 배포될 수 있다.
본 발명의 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램에 의하면, MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공함으로써, 보다 신속한 스트리밍 서비스 제공이 가능하게 된다.
또한 본 발명에 의하면, 다중 경로 스트리밍 서비스 제공 시 스트리밍 서비스 제공의 단위가 애셋이 아닌 MPU 단위로 스트리밍 서비스를 제공할 수 있어, 네트워크 자원을 보다 효율적으로 사용할 수 있으며, 서버-클라이언트 방식 또는 P2P 방식과 같이 다양한 네트워크 구조를 고려하여 스트리밍 서비스 제공이 가능하게 된다.
또한, 본 발명에 의하면, MMT 스트리밍 서비스 제공 과정에서 사용되는 시그널링 메시지를 새롭게 정의한 후 이를 이용함으로써, 스트리밍 서비스 제공을 위한 새로운 시스템 구현 없이 기존의 MMT 스트리밍 시스템을 활용하여 본 발명의 서비스를 제공할 수 있게 된다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 다중 경로 MMT 스트리밍 서비스 제공 방법이 적용된 시스템의 개략적인 예시도이다.
도 2는 본 발명의 실시 예에 따른 MMT 패킷 구조를 설명하기 위한 예시도이다.
도 3은 본 발명의 실시 예에 따른 MMT 시그널링 메시지를 설명하기 위한 도면이다.
도 4는 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 구성도이다.
도 5는 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 7은 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 구성도이다.
도 8은 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다.
본 발명의 과제 해결 수단의 특징 및 이점을 보다 명확히 하기 위하여, 첨부된 도면에 도시된 본 발명의 특정 실시 예를 참조하여 본 발명을 더 상세하게 설명한다.
다만, 하기의 설명 및 첨부된 도면에서 본 발명의 요지를 흐릴 수 있는 공지 기능 또는 구성에 대한 상세한 설명은 생략한다. 또한, 도면 전체에 걸쳐 동일한 구성 요소들은 가능한 한 동일한 도면 부호로 나타내고 있음에 유의하여야 한다.
이하의 설명 및 도면에서 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위한 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시 예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시 예에 불과할 뿐이고, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 발명은 또한 네트워크를 통해 유선 데이터 링크, 무선 데이터 링크, 또는 유선 및 무선 데이터 링크의 조합으로 링크된 로컬 및 원격 컴퓨터 시스템 모두가 태스크를 수행하는 분산형 시스템 환경에서 실행될 수 있다. 분산형 시스템 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.
이하 본 명세서에서 기술하는 용어의 의미는 다음과 같이 정의할 수 있다.
넌 타임드 데이터(Non-timed data)는 시간을 명시하지 않고 소비되는 모든 데이터 요소를 정의한다. 넌 타임드 데이터는 그의 미디어 유닛의 디코딩 및/또는 표현을 위한 고유의 동기화 정보를 가지지 않는 데이터다.
타임드 데이터(timed data)는 그의 미디어 유닛의 디코딩 및/또는 표현을 위한 고유의 동기화 정보를 가는 데이터로, 디코딩 및 프리젠테이션되는 특정한 시간과 연관된 데이터 요소를 정의한다.
MMT 개체(MMT entity)는 MMT 프로파일을 따르는 소프트웨어 또는 하드웨어의 구현이다. 이러한 MMT 개체는 시스템 내에서의 동작에 따라 MMT 송신 개체, MMT 수신 개체로 구분될 수 있다. 또한 MMT 송신 개체 및 MMT 수신 개체 사이에 위치하며 MMT 송신 및 수신 사이의 필요한 정보를 송수신하거나 처리할 수 있는 MMT 중간 개체를 포함할 수 있다.
MMT 패킷(MMT packet)은 MMT 프로토콜에 따라 생성 또는 소비되는 데이터의 형식화된 유닛(formatted unit)이다.
MMT 페이로드(MMT payload)는 패키지를 나르거나 MMT 프로토콜이나 인터넷 응용 계층 전송 프로토콜(예를 들어 RTP(Real-Time Transport Protocol)가 있다)을 사용하여 메시지를 시그널링하는 데이터의 형식화된 유닛이다.
MMT 프로토콜은 MMT 페이로드를 IP 네트워크를 통해 전달하기 위한 응용 계층 전송 프로토콜이다.
MMT 페이로드 포맷(MMT payload format)은 MMT 프로토콜 또는 인터넷 응용 계층 프로토콜(예를 들면, RTP)에 의해 전달될 MMT 패키지 또는 MMT 시그널링 메시지의 페이로드를 위한 포맷이다.
이하, 본 발명의 실시 예에 따른 다중 경로 MMT 스트리밍 서비스 제공 방법에 대한 개략적인 흐름에 대해 도 1 및 도 2를 참조하여 설명하도록 한다.
도 1은 본 발명의 실시 예에 따른 다중 경로 MMT 스트리밍 서비스 제공 방법이 적용된 시스템의 개략적인 예시도이며, 도 2는 본 발명의 실시 예에 따른 MMT 구조를 설명하기 위한 예시도이다.
먼저, 도 1을 참조하면 클라이언트(100)는 MMT 스트리밍 서버(500)로 MMT 스트리밍 데이터를 요청한다. 클라이언트(100)는 MMT 프로토콜을 처리할 수 있는 상태의 장치이며, MMT 프로토콜에 따라 MMT 스트리밍 서버(500)로 MMT 스트리밍 데이터를 요청하고 MMT 스트리밍 서버(500)로부터 제공되는 MMT 스트리밍 데이터를 수신하여 재생할 수 있는 장치이다.
이를 위한 본 발명의 클라이언트(100)는 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있으며, MMT 통신 프로토콜에 따라 MMT 스트리밍 서버(500)로부터 제공되는 MMT 스트리밍 데이터를 재생하고 처리할 수 있는 장치를 의미한다.
아울러, 본 발명의 클라이언트(100)는 구현 예에 따라 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 클라이언트(100)는 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.
이러한 본 발명의 클라이언트(100)는 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 클라이언트(100)로 적용될 수 있다.
MMT 스트리밍 서버(500)는 클라이언트(100)로 MMT 스트리밍 데이터를 전송하는 역할을 수행하는 것으로, 일반적인 MMT 스트리밍 서비스에서는 애셋(assect) 단위로 스트리밍 서비스를 제공하게 된다. MMT 패키지(package)에서 애셋은 타임드 또는 넌 타임드 성질을 가진 오디오, 비디오 또는 웹페이지 데이터와 같은 부호화된 미디어 데이터를 캡슐화한, 패키지의 요소를 의미한다. MMT 패키지는 MMT의 논리적인 개념이며, 애셋은 MMT 패키지에서 가장 큰 논리적 데이터 단위이다. 이러한 애셋은 동일한 전달 특성으로 데이터를 포함하는 데이터 개체를 의미하며, 하나의 MMT 패키지는 복수 개의 애셋으로 구성될 수 있다.
그런데 일반적인 MMT 스트리밍 서비스에서는 애셋 단위로 스트리밍 서비스를 제공함으로써 다중 경로 방식에 적용하고자 하더라도 네트워크 자원을 효율적으로 사용하지 못한다는 문제점이 있다. 다시 말해, 데이터 단위가 큰 하나의 애셋을 MMT 스트리밍 서버(500)가 클라이언트(100)로 전송하고자 할 경우, 하나의 경로만을 점유하여 전송할 수 있으므로, 다중 경로 방식에 적용하더라도 여유가 있는 다른 경로를 통해 해당 애셋을 클라이언트(100)로 전송할 방법이 없어, 자원 효율성이 떨어지게 된다.
따라서, 본 발명에서는 도 1에 도시된 바와 같이 다중 경로 방식의 MMT 스트리밍 서비스 방안을 제안하며, 특히 애셋 단위로 스트리밍 서비스를 제공하는 것이 아닌 애셋보다 보다 작은 MPU 단위로 스트리밍 서비스를 제공하고자 한다.
애셋을 구성하는 MPU에 대해 먼저 도 2a를 참조하여 설명하도록 한다. 도 2a는 MMT 기능 영역에서 정의하는 데이터 모델 중 논리적으로 구조화된 가장 큰 MMT 모델인 MMT 패키지를 구성하는 애셋(600)을 도시한 것이다.
하나 이상의 애셋(600)의 집합은 MMT 패키지를 구성하며, 이러한 애셋(600)은 타임드 또는 넌 타임드 성질을 가진 오디오, 비디오 또는 웹페이지 데이터와 같은 부호화된 미디어 데이터를 캡슐화하는 패키지의 요소를 의미하는 논리적 데이터 단위를 의미한다. 특히, 애셋(600)은 동일한 전달 특성으로 데이터를 포함하는 데이터 개체를 의미한다. 예컨대, MMT 패키지(500)는 MMT 기능 영역에서 정의하는 데이터 모델 중 가장 큰 개체(entity)로서 영화 한편과 같은 하나의 독립적인 콘텐츠를 의미한다면, 애셋(600)은 오디오 데이터, 비디오 데이터, 스크립트 데이터와 같은 MMT 패키지를 구성하는 데이터 단위가 될 수 있다.
이러한 애셋(600)은 적어도 하나 이상의 MPU(660)로 구성될 수 있다. 여기서, MPU는 미디어 프로세싱 유닛(MPU; Media Processing Unit, 이하 MPU로 지칭하도록 함)의 논리적인 데이터 객체를 의미하는 것으로 하나의 애셋을 구성하는 복수의 MPU는 동일한 애셋 ID를 포함한다.
또한 MPU(660)는 MMT 패킷 형태로 패킷화하여 전송된다. 예컨대 HD급 영상이 10Mbps(1.25MB), FHD급 영상이 20Mbps(2.5MB)라고 가정하고 MMT packet size가 MTU size(1500KB)와 같다고 본다면 한 개의 MPU는 수십 개의 패킷에 나뉘어져 전달되게 된다. 이러한 MPU(660)를 구성하는 어느 하나의 패킷은 도 2b에 도시된 바와 같이 MMT 패킷 헤더(MMT Packet_hdr, 610) 및 MMT 패킷 페이로드 데이터(MMT Packet Payload data, 620)로 구성된다. 그리고 MMT 패킷 페이로드 데이터(620)은 MMT 페이로드 헤더(MMT payload_hdr, 630) 및 MMT 페이로드 데이터(MMT Payload Data, 640)로 구성될 수 있다. MMT 페이로드 데이터(640)에 MPU(660)나 메시지(Message, 650)가 삽입될 수 있다.
이러한 MPU(660)는 어떠한 특정 미디어 코덱에도 독립된, 타임드 또는 넌 타임드 데이터에 대한 포괄적인 컨테이너일 수 있다. 이러한 MPU(660)은 완전하고 독립적으로 처리될 수 있는 부호화된 미디어 데이터로, MPU의 프로세싱은 패키지로의 인캡슐레이션 또는 전달을 위한 패킷화를 의미할 수 있다. 또한, MPU(660)는 타임드 데이터를 위한 하나 이상의 액세스 유닛들을 포함할 수 있다. 여기서 액세스 유닛(AU; Access Unit)은 시간 정보를 가질 수 있는 가장 작은 데이터 개체로, 예컨대 하나의 GOP(Group Of Picture)는 하나의 MPU가 될 수 있으며, GOP의 하나의 픽처는 MFU가 될 수 있다.
또한 MPU(660)은 넌 타임드 데이터를 위한 액세스 유닛 경계들이 없는 데이터의 부분을 포함하여 구성될 수 있다. 이러한 MPU(660)는 완전하고 독립적으로 처리될 수 있는 코드된 미디어 데이터 유닛으로, 각 MPU(660)는 MPU 헤더 및 코드된 데이터로 구성될 수 있다. 아울러, 본 발명의 MPU(660)는 미디어 프래그먼트 유닛(MFU; Media Fragment Unit)으로 더 구성될 수 있다.
이러한 MPU는 애셋별로 정의될 수 있으며, 따라서 비디오의 애셋으로부터는 비디오 데이터만을 포함하는 비디오의 MPU가 작성되고, 오디오의 애셋으로부터는 오디오 데이터만을 포함하는 오디오의 MPU가 작성될 수 있다.
본 발명은 MMT 표준을 따르는 MPU를 스트리밍 서비스의 단위로 적용함으로써 애셋 단위의 스트리밍 서비스에 비해 보다 효율적으로 한정된 네트워크 자원을 활용할 수 있다. 예를 들어, 제1 경로 및 제2 경로를 이용하여 스트리밍 서비스를 제공하고자 할 경우, 애셋 1을 전송하는 제1 경로에 대역폭의 여유가 있고 애셋 2를 전송하는 제2 경로에 대역폭이 부족한 상황이 발생되었을 때, 기존의 방식에서는 제1 경로를 활용할 방안이 없었으나, 본 발명은 애셋이 아닌 MPU 단위로 패킷을 전송함으로써, 애셋 2를 구성하는 일부 MPU를 제2 경로가 아닌 제1 경로를 통해 클라이언트(100)로 전송할 수 있어 보다 효율적인 대역폭 활용이 가능하게 된다.
또한, 도 1에 도시된 바와 같이 각 애셋별로 MPU의 크기를 서로 다르게 설정할 수 있으므로, 대역폭 상황에 따라 경로별로 적절한 MPU가 제공되도록 제어할 수 있다.
그리고 본 발명의 클라이언트(100)는 다중 경로를 통해 700, 710, 720, 730이 지시하는 바와 같이 MPU 단위로 MMT 패킷을 수신할 수 있으며, 이를 순서대로 조합하여 재생함으로써 MMT 스트리밍 데이터를 이용할 수 있게 된다.
이와 같이 본 발명의 실시 예에 따른 다중 경로 MMT 스트리밍 서비스 제공을 위해서는 MMT 시그널링 메시지(signaling message)에 MPU를 식별할 수 있는 서술자(descriptor)가 필요하다. 일반적인 MMT 시그널링 메시지에 있어서, MPU를 구분할 수 있는 서술자로 MPU timestamp descriptor가 존재하지만 해당 descriptor는 독립적으로 다중 패키지와 애셋을 구분하지 못한다는 문제점이 있다. 따라서, 본 발명에서는 MMT 시그널링 메시지 포맷에 MPU를 구분할 수 있는 새로운 서술자를 정의하고자 한다.
먼저, 본 발명의 MMT 시그널링 메시지에 대해 설명하도록 한다.
도 3은 본 발명의 실시 예에 따른 MMT 시그널링 메시지를 설명하기 위한 도면이다.
도 3을 참조하면, MMT 시그널링 메시지(800)는 MMT 패키지 소비(810)와 패키지 전달(820)에 필요한 정보를 전달하는 데 사용될 수 있는 메시지로 구분될 수 있으며, 이러한 메시지는 MMT 패킷 페이로드에 포함되어 송수신될 수 있다.
본 발명의 실시 예에 따른 다중 경로 방식의 MMT 스트리밍 서비스 제공 방법에서는 패키지 소비(810)에 필요한 시그널링 메시지를 예로 들어 설명하도록 한다. MMT 표준에 정의된 패키지 소비(810) 시그널링 메시지는 접근 제어를 위한 패키지 접근(Package Access, PA) 메시지(811), 프레젠테이션 제어를 위한 미디어 프레젠테이션 정보(Media Presentation Information, MPI) 메시지(812), 패키지 정보를 위한 MMT 패키지 테이블(MMT Package Table, MPT) 메시지(813), 클록 관계 정보(Clock Relation Information, CRI) 메시지(814), 기기 능력 정보(Device Capability Information, DCI) 메시지(815) 등이 있다.
본 발명의 실시 예에 따른 다중 경로 방식의 MMT 스트리밍 서비스 제공 방법에서는 MPT 메시지(813)를 이용하여 본 발명의 MPU 서술자를 정의하고자 하나 반드시 MPT 메시지에 한정되는 것은 아니며, MP테이블을 포함할 수 있는 다른 MMT 시그널링 메시지를 이용하여 MPU 서술자를 정의할 수도 있다. 아울러, 계층적인 CI 전송을 사용하거나 특별히 다른 기능을 제공하는 경우가 아니라면, 최소 채널 획득 지연시간을 달성하기 위해 PA 메시지 내에 필요한 모든 시그널링 테이블을 넣어서 전송할 수도 있다.
아울러, MMT 시그널링 메시지는 각종 메시지 내용이 테이블 형식으로 삽입된다. MPT 메시지는 MP 테이블을 포함하게 되면, 본 발명의 MP 테이블은 본 발명의 실시 예를 위해 새롭게 정의된 asset_location과 상응하는 mpu_location과 이에 종속된 MMT_general_location_info를 위해 MPU_id를 포함하게 된다. 이를 통해 애셋 단위로만 전송이 가능했던 MMT에서 MPU 단위로 전송이 가능하고 보다 유연해지고 적응적으로 동작할 수 있게 된다.
본 발명의 실시 예에 따른 MPT 메시지에 대해 보다 더 구체적으로 설명하도록 한다.
본 발명의 실시 예에 따른 MPT 메시지는 단일 패키지를 위한 정보를 제공한다. 계층적 구성 정보를 갖는 하나의 패키지의 계층적 전달은 복수의 계층적 MP 테이블로 구성될 수 있다. 계층-0 MP 테이블은 기본 엠펙 매체 전송 패키지 테이블이다. 이러한 MPT 메시지는 메시지 아이디(message_id), 메시지 버전(version), 메시지 길이(length)를 포함하여 정의될 수 있으며, 페이로드는 MP 테이블을 포함하여 정의된다.
본 발명의 실시 예에 따른 MP 테이블의 구문예(syntax)은 <표 1>에 도시된 바와 같이 정의될 수 있다.
Syntax Value No. of bits Mnemonic
MP_table() {
Table_id
Version
Length
Reserved
MP_table_mode
If(table_id==SUBSET_0_MPT_TABLE_ID) {
MMT_package_id {
For(i=0;i<N;i++) {
MMT_package_id_byte
}
}
}
Number_of_assets
For(i=0;i<N3;i++) {
Idenfitier_mapping()
Asset_type
Reserved
Asset_clock_relation_flag
If(asset_clock_relation_flag==1) {
Asset_clock_relation_id
Reserved
Asset_timescale_flag
If(asset_time_scale_flag==1) {
Asset_timescale
}
}
Asset_location {
Location_count
For(i=0; i<N6; i++) {
MMT_general_location_info()
MPU_location {
For(j=0; j<N6_1; j++) {
MMT_general_location_infor()
}
}
}
Asset_descriptors {
Asset_descriptors_length
For(j=0; j<N5; j++) (
Asset_descriptors_byte
}
]
}
}































N6_1































32































uimsbf
상기 MP 테이블의 구문예에서 주요 구문 구성에 대해 설명하면, 먼저, table_id는 테이블의 아이디를 의미한다. MP 테이블은 서로 다른 테이블 식별자를 포함하며, 각 table_id 값들은 인접하게 할당될 수 있다. 예컨대 번호 0은 기본 MP 테이블을 의미하며, 번호 1 ~ 14는 향상된 MP 테이블을 의미할 수 있다. version은 MP 테이블의 버전을 의미하며, MMT_package_id는 MMT 패키지별로 글로벌하게 할당되는 고유 식별자를 의미하며, MMT_package_id_byte는 MMT_package_id 스트링에서의 하나의 바이트를 의미한다. Number_of_assets은 MP 테이블에 의해 제공되는 정보를 갖는 애셋의 개수를 의미하며, asset_clock_relation_flag는 하나의 애셋이 네트워크 시간 규악(NTP) 클럭 혹은 다른 클럭 시스템을 클럭 기준으로서 이용하는지의 여부를 나타낸다. 이 플래그가 1이라면, asset_clock_relation_id 필드는 그 다음 구문에 포함되며, 이 필드가 0이라면 네트워크 시간 규약 클럭은 상기 애셋을 위해 이용된다. asset_timescale_flag는 asset_timescale 정보가 제공되는 지의 여부를 나타내며, asset_timescale은 일초에 단위 개수로 표현된 상기 애셋을 위해 이용된 모든 타임스탬프(timestamp)들을 위한 시간 단위의 정보를 제공한다. 한편 MMT_general_location_info() for the asset location은 애셋의 위치 정보를 제공한다. 일반적인 MMT_general_location_infor()는 일반적인 위치 기준 정보를 이용하게 되는데, 0x00 ~ 0x06 만이 하나의 애셋 위치(asset location)에 대해 허용될 수 있다. 특히 본 발명의 실시 예에서는 상기 MMT_general_location_info()에 asset_location과 상응하는 mpu_location를 정의하고 이에 종속된 MMT_general_location_info를 위해 MPU_id를 포함하여 정의하게 된다. mpu_location은 MPU의 위치 정보를 의미하며, MPU_id는 MPU의 아이디를 의미하게 된다.
Figure 112021087967813-pat00001
Figure 112021087967813-pat00002
Figure 112021087967813-pat00003
Figure 112021087967813-pat00004
상기 <표 2>는 본 발명의 실시 예에 따라 정의된 MMT_general_location_info()의 구문예(syntax)를 도시한 것으로, 주요 구문 구성에 대해 설명하면 먼저 location_type은 위치 정보의 유형을 의미한다. 여기서 위치 정보의 유형은 0x00 ~ 0x0C 중 어느 하나가 될 수 있다. 그리고 packet_id는 asset의 id의 의미하며, 본 발명에 의해 새롭게 정의된 MPU_id는 MPU의 식별 정보를 의미한다. 특히, 본 발명의 MPU_id는 상기 location_type에 상기 packet_id가 정의되는 경우에만 포함되어 정의될 수 있다. 이러한 MPU_id는 글로벌 유니크 아이디(global unique ID)가 필요한 경우 hash 방식을 채택할 수 있고, 글로벌 유니크 아이디가 충분하는 경우 32비트로 구현될 수 있다.
또한, ipv4_src_addr는 ipv4 발신지 주소를 의미하며, ipv4_dst_addr는 목적지 주소를 의미한다. dst_port는 목적지 포트 번호를 의미한다. ipv6_src_addr는 ipv6 발신지 주소를 의미하며, ipv6_dst_addr은 ipv6 목적지 주소를 의미한다. network_id는 방송 네트워크 식별자를 의미하며, MPEG_2_transport_stream_id는 MPEG_2 전송 스트림 식별자를 의미하고, MPEG_2_PID는 MPEG_2 패킷 식별자를 의미한다. URL_length는 하나의 웹 페이지 주소의 바이트 길이, URL_byte는 하나의 웹 페이지 주소에서의 하나의 바이트, message_id는 MMT 시그널링 메시지 식별자를 의미한다.
이와 같이 본 발명의 실시 예에 따른 다중 경로를 이용한 스트리밍 서비스 제공 방법은 MPU의 위치 정보 및 아이디를 새롭게 MP 테이블에 추가적으로 정의하고 이를 MPT 메시지를 통해 배포함으로써, 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스에 참여하는 MMT 개체(entity)들은 MPU 단위로 MMT 패킷을 서비스할 수 있어, 네트워크 자원을 보다 효율적으로 사용할 수 있게 된다.
이하에서는 본 발명의 실시 예에 따라 정의된 MP 테이블 및 시그널링 메시지를 이용한 다중 경로 스트리밍 서비스 제공 방법에 대해 설명하도록 한다.
설명의 앞서, 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법은 다음의 조건에서 동작될 수 있음을 예로 들어 설명하도록 한다. 먼저, 본 발명의 다중 경로 스트리밍 서비스 제공 방법은 패키지와 동일한 서비스 범위(coverage) 내에서 동작할 수 있다. 즉, 토폴로지를 구성하는 모든 MMT 통신에 참여하는 개체(entity, MANE(Media Aware Network Element)))들이 이해하는 패키지 정보는 동일하다.
또한 MMT 통신에 참여하는 모든 MMT 개체는 자신과 연결된 다른 MMT 개체로 MP 테이블이 포함된 MPT 메시지를 전송하여 자신이 보유하고 있는 MMT 패키지 혹은 패키지의 일부의 정보를 교환할 수 있다. 여기서, 본 발명의 바람직한 실시 예에서는 MPT 메시지를 이용하는 것을 예로 들어 설명하나, 반드시 MPT 메시지에 한정되는 것은 아니며 MPI와 같은 다른 시그널링 메시지를 이용할 수도 있으며, 또한 모든 정보를 포함하는 PA 메시지를 이용할 수도 있다.
이와 같이 MMT 통신에 참여하는 모든 MMT 개체들이 MPU 정보가 추가된 MP 테이블을 포함하는 MPT 메시지와 자신의 네트워크 상황 정보를 포함하는 NAM(Network Abstraction for Media) 피드백 메시지(이하, 'NAMF 메시지'라 함)를 이용하여 상호 간의 정보를 교환할 수 있으며 상호 간의 정보를 교환함으로써 다중 경로에서의 스트리밍 서비스 제공 시 MPU 단위로 요청 및 처리가 가능하게 된다.
이러한 본 발 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법의 구현 예에 대해 설명하도록 한다.
도 4는 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 구성도이다.
도 4에 도시된 것은 MMT 개체 중 MMT 송신 개체의 역할을 수행하는 MMT 스트리밍 서버(500)와 MMT 수신 개체의 역할을 수행하는 클라이언트(100) 그리고 상기 클라이언트(100) 및 MMT 스트리밍 서버(500) 사이에 위치하는 복수 개의 MMT 중간 개체가 트리 구조의 네트워크를 구성한 것을 도시한 것이다.
여기서, 본 발명의 MMT 중간 개체는 MMT 통신 프로토콜에 따라 MMT 패킷의 전달을 제어할 수 있는 NAME(media-aware network element)를 의미할 수 있다. 이러한 NAME는 예컨대 게이트웨이들, MCU(multipoint conference unit)들, RTP(Real-Time Transport Protocol), 번역기들(translator), RTP 믹서들, MMSC(multimedia messaging center)들, PoC(push-to-talk over cellular) 서버들, 캐시 서버들이 될 수 있다. 특히, 본 발명의 MMT 중간 개체 각각은 MMT 스트리밍 서버(500)가 보유하고 있는 패키지의 전부 또는 일부를 저장하고 있을 수 있으며, 이러한 각각의 MMT 중간 개체들은 자신이 보유한 패키지 또는 그 일부인 애셋 또는 그 일부인 MPU 정보를 포함하는 MPT 메시지 및 NAMF 메시지를 상위 MMT 중간 개체에 주기적으로 전송하여 공유하는 과정을 수행하게 된다.
특히, 본 발명의 MMT 중간 개체들의 시그널링 메시지 공유 과정은 상향 방향으로의 공유를 의미한다. 예컨대 MMT 중간 개체 6(360)은 자신의 MP 테이블을 포함하는 MPT 메시지 및 네트워크 상황에 대한 NAMF 메시지를 생성하여 상위 MMT 중간 개체인 MMT 중간 개체 5(350)로 전달하고, MMT 중간 개체 5(350)는 자신의 MP 테이블을 포함하는 MPT 메시지 및 네트워크 상황에 대한 NAMF 메시지를 생성하여 상위 MMT 중간 개체인 MMT 중간 개체 1(310)로 전달한다. 이때, MMT 중간 개체 5(350)는 MMT 중간 개체 6(360)으로부터 전달된 정보를 누적하여 MMT 중간 개체 1(310)로 전달할 수 있다.
이러한 MMT 중간 개체 간의 정보 전달 과정은 주기적으로 이뤄질 수 있으며, 클라이언트(100)의 MMT 스트리밍 서비스 요청과는 무관하게 이뤄질 수 있다. 또한 상기 과정에서 각 MMT 중간 개체들은 PA 메시지가 아닌 subset MP 테이블만을 포함하는 MPT 메시지를 통해 전달되므로, 각 MMT 중간 개체들이 이 정보를 수신하였을 때 오용될 가능성이 낮다. 또한 MP 테이블은 해당 MMT 중간 개체가 일부라도 가지고 있는 패키지의 수만큼 생성되고 상위 MMT 중간 개체로 전달되는 과정을 수행할 수 있다.
아울러, 하위 MMT 중간 개체가 상위 MMT 중간 개체로 MP 테이블을 포함하는 MPT 메시지 및 NAMF 메시지를 전송 시 자신의 하위 MMT 중간 개체로부터 수신된 정보를 누적하여 상위 MMT 중간 개체로 전달하게 되는데, 이러한 과정을 통해 가장 상단에 위치하는 최상위 MMT 중간 개체는 네트워크 내에 위치하는 다른 MMT 중간 개체의 정보를 확인할 수 있으며, 이를 이용하여 최상위 MMT 중간 개체는 스트리밍 서비스 제공을 위한 최적의 라우팅 경로를 설정하고 이를 클라이언트(100)로 제공할 수 있게 된다. 도면에서 도시된 MMT 중간 개체 1(310)은 다른 MMT 중간 개체 간의 최상위 MMT 중간 개체 역할을 수행하며, 하위의 모든 MMT 중간 개체에 대한 정보를 알 수 있다. 따라서, MMT 중간 개체 1(310)은 최적의 조정자(coordinator) 역할을 수행할 수 있으며, 클라이언트(100)가 요청한 MMT 스트리밍 데이터 제공을 위한 정보들을 클라이언트(100)에게 제공하고, 이를 통해 클라이언트(100)가 보다 효율적으로 다중 경로 스트리밍 서비스를 이용할 수 있게 된다.
이때 최적의 조정자 역할을 수행하는 최상위 MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 전달받은 시그널링 메시지를 최적의 서비스 제공이 가능하도록 수정하여 배포할 수 있다. 즉, 조정자 역할을 수행하는 최상위 MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 전달받은 시그널링 메시지, 바람직하게는 PA 메시지에서 클라이언트(100)로 전달되는 메인 경로(main path)의 PA에 포함된 MP 테이블의 경우 서브 경로(sub paths)로 분해할 패키지의 일부에 대한 위치 정보를 삭제한 후 전달할 수 있으며, MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 받은 PA 메시지를 서브 경로에 위치하는 MMT 개체에 전달함에 있어 상기 MP 테이블에서 제외된 일부에 대한 애셋 또는 MPU의 위치 정보를 포함하여 전달할 수 있다. 이때 전달되는 시그널링 메시지는 위치 타입(location_type)이 0x01 내지 0x06인 경우 출발지 주소(src_addr) 및 목적지 포트(dst_port)는 변경될 수 있다. 이때, ipv4_src_addr(ipv6_src_addr)는 서브 경로의 MMT 개체의 IP 주소로 변경되고 dst_port는 메인 경로의 dst_port와 다르게 설정되며, 다른 서브 경로와도 충돌을 막기 위해 메인 경로의 dst_port 값에 또 다른 서브 조정자(sub coordinator)의 IP 주소 중 마지막 자리를 더한 값을 기록하게 된다.
상기 과정에 대해 도 5의 흐름도 및 구체적인 예를 들어 설명하도록 한다.
도 5는 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 4 및 도 5를 참조하면, 스트리밍 시스템을 구성하는 복수 개의 MMT 중간 개체 각각은 자신이 보유하고 있는 패키지와 관련된 정보를 전술한 바와 같이 시그널링 메시지를 통해 공유한다(S1101). 상기 공유 과정은 클라이언트(100)의 스트리밍 서비스 요청 발생 이전에, 주기적으로 이뤄질 수 있으며, 경우에 따라 클라이언트(100)의 스트리밍 서비스 요청 발생 이후에 이뤄질 수도 있다.
그리고, 공유된 시그널링 메시지를 기초로 복수 개의 MMT 중간 개체 중 조정자의 역할을 수행하는 MMT 중간 개체를 설정한다(S1103). 상기 과정은 MMT 스트리밍 서버(500)에 의해 이뤄질 수 있으나, 바람직하게는 전술한 바와 같이 최상위 MMT 중간 개체가 상향 방향에 다른 MMT 중간 개체가 존재하지 않음을 확인한 후 직접 자신이 조정자 MMT 중간 개체임을 설정할 수 있다. 이러한 조정자 MMT 중간 개체는 각 MMT 중간 개체가 보유하고 있는 패키지에 따라 변동될 수도 있다. 아울러, 조정자 MMT 중간 개체는 자신이 조정자 역할을 수행함을 하위의 MMT 중간 개체 그리고 MMT 스트리밍 서버(500)로 통지할 수도 있으나, 생략할 수도 있다. 도 4에 도시된 MMT 중간 개체 1(310)이 MMT 스트리밍 서버(500) 상향 방향에 다른 MMT 중간 개체는 존재하지 않는 최상위 MMT 중간 개체이므로, 조정자 MMT 중간 개체로 설정할 수 있다.
이후에, 조정자 MMT 중간 개체인 MMT 중간 개체 1(310)은 클라이언트(100)의 요청에 따라 MMT 스트리밍 서버(500)로부터 클라이언트(100)로 전달되는 시그널링 메시지를 S1101 단계에서 공유된 정보를 이용하여 둘 이상의 다중 경로에 대응하는 시그널링 메시지로 각각 생성한 후 전달하는 과정을 수행할 수 있다(S1105). 예를 들어 설명하면, MMT 스트리밍 서버(500)로부터 전달되는 시그널링 메시지, 즉 PA 메시지에 포함된 패키지 관련 정보가 MPU 1, MPU 2, MPU 3에 대한 MP 테이블인 경우, 조정자 MMT 중간 개체인 MMT 중간 개체 1(310)은 하위 MMT 중간 개체가 보유하고 있는 MPU에 대한 정보들을 이미 알고 있는 상태이므로, MPU 2는 MMT 중간 개체 2(320)가 보유하고 있음을 확인할 수 있다. 이에 MMT 중간 개체 1(310)은 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 MP 테이블에서 MPU 2를 삭제한 제1 시그널링 메시지를 생성하여 전달하고, 하위 MMT 중간 개체들은 전달되는 제1 시그널링 메시지를 수정 없이 그대로 클라이언트(100)로 전달한다. 아울러, S1101 단계에서 공유되는 시그널링 메시지는 MP 테이블만을 포함하는 MPT 메시지가 될 수 있으며, S1105 단계에서 생성되고 처리되는 시그널링 메시지는 PA 메시지가 될 수 있다.
그리고 조정자 MMT 중간 개체인 MMT 중간 개체 1(310)은 서브 경로를 설정하고 위해 MPU 2를 보유하고 있는 MMT 중간 개체 2(320)로 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지를 상기 MMT 중간 개체 2(320)로 전달하되, MMT 스트리밍 서버(500)로부터 받은 시그널링 메시지를 그대로 전달하는 것이 아니라, MMT 중간 개체 2(320)가 보유하고 있는 MPU 2에 대한 정보만이 포함되도록 설정한 제2 시그널링 메시지 생성한 후 전달하게 된다.
이때 MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 출발지 주소(ipv4_src_addr 또는 ipv6_src_addr)를 상기 MMT 스트리밍 서버(500)에서 상기 MMT 중간 개체 2(320)의 주소로 변경하고, 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 목적지 포트(dst_port)와는 다른 목적지 포트로 설정한 제2 시그널링 메시지를 생성할 수 있다. 이때, MMT 중간 개체 1(310)은 다른 MMT 중간 개체와의 충돌을 미연에 방지하게 위해 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 목적지 포트 값에 상기 MMT 중간 개체 2(320)의 IP 주소 중 마지막 자리를 더한 값을 목적지 포트로 설정할 수 있다.
이러한 과정을 통해 MMT 스트리밍 서버(500)는 하나의 시그널링 메시지만을 전달하였으나, 조정자 MMT 중간 개체에 의해 다중 경로에 대응하는 복수 개의 시그널링 메시지가 생성되고 이를 수신한 클라이언트(100)는 다중 경로에 대응하여 각각 생성된 시그널링 메시지를 이용하여 MMT 스트리밍 서비스를 요청하고 수신하여 이용할 수 있게 된다(S1107). 전술한 예에서, 제1 시그널링 메시지는 MPU 1 및 MPU 3에 대한 MP 테이블을 정의하고 있고, 제2 시그널링 메시지는 MPU 2에 대한 MP 테이블을 정의하고 있으므로, 클라이언트(100)는 MPU 1 및 MPU 3는 MMT 스트리밍 서버(500)에 요청하여 수신하고, MPU 2는 MMT 중간 개체 2(320)에 요청하고 수신한 후 이를 순차적으로 정렬하고 재생함으로써 MMT 스트리밍 서비스를 다중 경로 방식을 통해 이용할 수 있게 된다.
이러한 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 대해 도 6을 참조하여 보다 더 구체적으로 설명하도록 한다.
도 6은 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 데이터 흐름도이다.
도 6을 참조하여 설명하기에 앞서, 설명의 편의를 위해 스트리밍 시스템을 구성하는 복수 개의 MMT 중간 개체를 MMT 중간 개체 1(310) 및 MMT 중간 개체 2(320)만을 도시하였으나 상기 개수에 한정되는 것은 아니며, MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500) 근처에 위치하는 최상위 MMT 중간 개체인 것을 가정하여 설명하도록 한다.
도 6을 참조하면, 클라이언트(100)는 MMT 스트리밍 서버(500)로 MMT 스트르밍 서비스 제공을 요청한다(S101). MMT 스트리밍 서버(500)는 클라이언트(100)의 요청에 따라 자신이 보유하고 있는 패키지에 대한 정보를 포함하는 시그널링 메시지를 생성하고 자신의 바로 밑에 있는 MMT 개체, 즉 MMT 중간 개체 1(310)로 전달한다(S103). 여기서 MMT 스트리밍 서버(500)가 전송하는 시그널링 메시지는 모든 정보를 포함하는 PA 메시지가 될 수 있다. PA 메시지는 MMT 패키지, 애셋에 접근하기 위한 모든 정보를 포함하는 시그널링 메시지로, 즉 위치, 패키지를 구성하는 애셋 정보, 애셋에 대한 상세 정보를 제공하는 모든 메시지, MP 테이블에 대한 위치 등 MMT 스트리밍 서버(500)가 보유하고 있는 패키지와 관련된 모든 정보를 포함할 수 있다.
MMT 스트리밍 서버(500)가 전달하는 시그널링 메시지는 MMT 중간 개체 1(310) 및 MMT 중간 개체 2(320)를 거쳐 클라이언트(100)로 전달되고(S103 ~ S107), 이를 확인한 클라이언트(100)는 자신이 원하는 패키지를 선택할 수 있다(S109). 그리고 선택된 패키지 정보는 다시 MMT 중간 개체 2(320) 및 MMT 중간 개체 1(310)을 거쳐 MMT 스트리밍 서버(500)로 전달한다(S109 ~ S113).
그리고 MMT 스트리밍 서버(500)는 클라이언트(100)의 요청에 따라 MMT 스트리밍 데이터를 제공할 수 있는데, 이때 MMT 중간 개체 2(320)는 상방향인 MMT 중간 개체 1(310)로 자신이 보유하고 있는 MP 테이블을 포함하는 시그널링 메시지를 전송하고(S117), MMT 중간 개체 1(310)은 MMT 중간 개체 2(320)로부터 수신된 시그널링 메시지 및 자신이 보유하고 있는 MP 테이블을 포함하는 시그널링 메시지를 MMT 스트리밍 서버(500)로 전달할 수 있다.
그리고, 최상위 노드인 MMT 중간 개체 1(310)은 다중 경로를 제어하는 적절한 분기점의 노드로 판단하여 조정자 역할을 수행할 수 있으며, MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 전달되는 메인 경로에 대한 시그널링 메시지가 수신되면(S123), 전술한 바와 같이, 서브 경로에 대한 시그널링 메시지로 생성하여 MMT 중간 개체 2(320)로 전달할 수 있다(S125). 즉, MMT 스트리밍 서버(500)로부터 전달되는 메인 경로에 대한 시그널링 메시지에서 MMT 중간 개체 2(320)가 보유하고 있는 패키지의 적어도 일부에 대한 정보를 제외한 나머지를 삭제한 후, 출발지 주소 정보를 MMT 중간 개체 2(320)의 주소로 변경한 후 이를 클라이언트(100)로 전송할 수 있다.
또한, 하위 MMT 중간 개체인 MMT 중간 개체 2(320)는 주기적으로 상향 방향인 MMT 중간 개체 1(310)로 MP 테이블을 포함하는 MPT 시그널링 메시지를 전송하고, 이에 따라 MMT 중간 개체 1(310)는 패키지의 분포 현황을 확인할 수 있으며, 다중 경로를 제어하기 위한 서브 경로 시그널링 메시지인 PA 메시지를 MMT 중간 개체 2(320)로 전달하는 과정을 수행함으로써 클라이언트(100)가 요청한 스트리밍 데이터를 다중 경로를 통해 제공하는 과정을 제어할 수 있다(S129 ~ S133).
이와 같이 본 발명의 모든 MMT 중간 개체들은 자신의 정보를 이용하여 바로 아래의 MMT 중간 개체로만 하향방향 시그널링 메시지, 즉 PA 메시지를 보내 경로를 결정할 수 있으며, 상위 MMT 중간 개체에서는 항상 최신의 하위 MMT 중간 개체의 정보를 가질 수 있도록 하기 위한 누적된 정보를 전달하는 상향 방향 시그널링 메시지, 즉 MPT 메시지를 수신할 수 있다. 이러한 과정을 짧은 주기로 계속하여 갱신될 수 있다.
이러한 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 지원하는 조정자 MMT 중간 개체의 장치 구성에 대해 도 7을 참조하여 설명하도록 한다.
도 7은 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 지원하는 장치의 구성을 설명하기 위한 도면이다.
전술한 바와 같이, 도 4에서 조정자 MMT 중간 개체 역할을 수행하는 MMT 중간 개체 1(310)을 예시로 들어 설명하도록 하나, 보유하고 있는 패키지에 따라 조정자 MMT 중간 개체는 변경될 수 있음에 유의해야 한다.
도 7에서 본 발명의 조정자 MMT 중간 개체(310)는 송신부(311), 조정자 설정부(312) 및 시그널링 메시지 처리부(313)를 포함하여 구성된다.
송신부(311)는 본 발명의 실시 예에 따른 필요한 정보의 송수신을 지원하는 것으로, 특히, 하위 MMT 중간 개체로부터 MPT 시그널링 메시지를 수신할 수 있으며, MMT 스트리밍 서버(500)로부터 PA 시그널링 메시지를 수신할 수 있다. 또한, 송신부(311)는 시그널링 메시지 처리부(313)를 통해 생성되는 PA 시그널링 메시지를 하위 MMT 중간 개체(310)로 전송하는 역할을 수행할 수 있다.
조정자 설정부(312)는 조정자 역할을 수행할 수 있는 지 여부를 판단하게 된다. 즉 조정자 설정부(312)는 MMT 스트리밍 서버(500) 이외에 상위 MMT 개체가 존재하지 않는 것으로 판단되면, 자신이 조정자 역할을 수행할 수 있음을 결정할 수 있다.
시그널링 메시지 처리부(313)는 조정자 설정부(312)에 의해 조정자 역할을 수행하는 것으로 설정되면, MMT 스트리밍 서버(500)로부터 전달되는 메인 경로에 대응하는 시그널링 메시지인 PA 메시지가 수신되면, 이를 각각의 서브 경로별로 시그널링 메시지를 생성하여 다중 경로에 대응하는 시그널링 메시지가 생성되도록 처리하는 역할을 수행한다. 예를 들어 설명하면, MMT 스트리밍 서버(500)로부터 전달되는 시그널링 메시지, 즉 PA 메시지에 포함된 패키지 관련 정보가 MPU 1, MPU 2, MPU 3에 대한 MP 테이블인 경우, 조정자 MMT 중간 개체인 MMT 중간 개체 1(310)은 하위 MMT 중간 개체가 보유하고 있는 MPU에 대한 정보들을 이미 알고 있는 상태이므로, MPU 2는 MMT 중간 개체 2가 보유하고 있음을 확인할 수 있다. 이에 MMT 중간 개체 1(310)은 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 MP 테이블에서 MPU 2를 삭제한 메인 경로에 대응하는 제1 시그널링 메시지를 생성하여 전달하고, 하위 MMT 중간 개체들은 전달되는 제1 시그널링 메시지를 수정 없이 그대로 클라이언트(100)로 전달한다.
그리고 조정자 MMT 중간 개체인 MMT 중간 개체 1(310)은 서브 경로를 설정하고 위해 MPU 2를 보유하고 있는 MMT 중간 개체 2(320)로 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지를 상기 MMT 중간 개체 2(320)로 전달하되, MMT 스트리밍 서버(500)로부터 받은 시그널링 메시지를 그대로 전달하는 것이 아니라, MMT 중간 개체 2(320)가 보유하고 있는 MPU 2에 대한 정보만이 포함되도록 설정한 제2 시그널링 메시지 생성한 후 전달하게 된다.
이때 MMT 중간 개체 1(310)은 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 출발지 주소(ipv4_src_addr 또는 ipv6_src_addr)를 상기 MMT 스트리밍 서버(500)에서 상기 MMT 중간 개체 2(320)의 주소로 변경하고, 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 목적지 포트(dst_port)와는 다른 목적지 포트로 설정한 제2 시그널링 메시지를 생성할 수 있다. 이때, MMT 중간 개체 1(310)은 다른 MMT 중간 개체와의 충돌을 미연에 방지하게 위해 상기 MMT 스트리밍 서버(500)로부터 전달된 시그널링 메시지의 목적지 포트 값에 상기 MMT 중간 개체 2(320)의 IP 주소 중 마지막 자리를 더한 값을 목적지 포트로 설정할 수 있다.
이상으로 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 대해 설명하였다. 본 발명의 제1 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 있어서, 클라이언트(100) 및 MMT 스트리밍 서버(500)는 도면에는 도시하지 않았으나 접속망 및 코어망으로 구성되는 네트워크를 통해 연결될 수 있으며, 복수 개의 MMT 개체는 네트워크에 분산 배치되며 접속망의 기지국을 통해 클라이언트(100)로 정보를 제공할 수 있다. 여기서, 기지국은 예를 들어, BS(Base Station), BTS(Base Transceiver Station), NodeB, eNodeB 등과 같은 다수의 기지국을 포함하는 개념이 될 수 있으며, 기지국과 BSC(Base Station Controller), RNC(Radio Network Controller)와 같은 기지국 제어기 모두를 포함하는 개념이 될 수 있다. 또한, 기지국은 기지국에 일체로 구현되어 있던 디지털 신호 처리부와 무선 신호 처리부를 각각 디지털 유니트(Digital Unit, 이하 DU라 함과 무선 유니트(Radio Unit, 이하 RU라 함)으로 구분하여, 다수의 영역에 각각 다수의 RU(미도시)를 설치하고, 다수의 RU(미도시)를 집중화된 DU(미도시)와 연결하여 구성할 수도 있다.
또한, 코어망은 접속망 간의 이동성 제어 및 스위칭 등의 이동통신 서비스를 위한 주요 기능을 수행하는 네트워크 시스템으로서, 서킷 교환(circuit switching) 또는 패킷 교환(packet switching)을 수행하며, 네트워크 내에서의 패킷 흐름을 관리 및 제어할 수 있다. 또한, 코어망은 주파수간 이동성을 관리하고, 접속망 및 코어망 내의 트래픽 및 다른 네트워크, 예컨대 인터넷망과의 연동을 위한 역할을 수행할 수도 있다. 이러한 코어망은 SGW(Serving GateWay), PGW(PDN GateWay), MSC(Mobile Switching Center), HLR(Home Location Register), MME(Mobile Mobility Entity)와 HSS(Home Subscriber Server) 등을 더 포함하여 구성될 수도 있다. 아울러, MMT 스트리밍 서버(500)는 코어망과 연결되는 인터넷망을 통해 연결될 수 있으나, 코어망을 통해 연결될 수도 있다.
이하 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 대해 설명하도록 한다.
도 8은 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 구성도이다.
도 8을 참조하면, 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법은 MMT 패킷 수신 개체인 클라이언트가 직접 서버의 역할을 수행하여 패키지를 전송하는 실시 예에 적용될 수 있다. 즉, 도 8에 도시된 클라이언트 1, 2, 3, 4는 MMT 스트리밍 서버(500) 또는 복수 개의 MMT 중간 개체로부터 MMT 스트리밍 데이터를 수신할 수 있으며, 수신된 MMT 스트리밍 데이터를 다른 클라이언트로 배포할 수 있다. 이때, 네트워크를 구성하는 각각의 MMT 개체들은 서로 일대일 관계로 연결될 수 있으며, MMT 스트리밍 서버(500)는 각 클라이언트 1 내지 4가 보유하고 있는 패키지에 대한 정보를 모두 알고 있는 상황이다.
이러한 상황에서 MMT 스트리밍 데이터를 수신하고자 하는 클라이언트 1(100_1)은 MMT 스트리밍 서버(500)로 MMT 스트리밍 서비스를 요청한다. MMT 스트리밍 서버(500)는 클라이언트1(100_1)이 요청한 MMT 스트리밍 서비스에 해당하는 패키지를 보유하고 있는 다른 클라이언트인 클라이언트 2(100_2), 클라이언트 3(100_3) 및 클라이언트 4(100_4)에 대한 정보를 포함하는 시그널링 메시지, 예컨대 PA 메시지를 클라이언트 1(100_1)로 전송한다.
이를 수신한 클라이언트 1(100_1)은 상기 PA 메시지에 따라 MPU 1은 클라이언트 3(100_3)으로부터 MPU 2 및 MPU 4는 클라이언트 2(100_2), 그리고 MPU 3 및 MPU 5는 클라이언트 3(100_3)으로부터 각각 요청하여 수신할 수 있다. 이때 클라이언트 1(100_1)은 각각의 MPU를 순차적으로 정렬하고 정렬된 MPU를 재생할 수 있게 된다.
이러한 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 대해 도 9를 참조하여 보다 더 구체적으로 설명하도록 한다.
도 9는 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 8 및 도 9를 참조하면, 클라이언트 1(100_1)은 MMT 스트리밍 서버(500)로 MMT 스트리밍 서비스를 요청한다(S201). 이를 수신한 MMT 스트리밍 서버(500)는 상기 클라이언트 1(100_1)이 요청한 MMT 스트리밍 서비스에 해당하는 패키지를 보유하고 있는 다른 클라이언트인 클라이언트 2(100_2), 클라이언트 3(100_3) 및 클라이언트 4(100_4)를 확인하고, 상기 클라이언트 2(100_2), 클라이언트 3(100_3) 및 클라이언트 4(100_4)에 대한 정보를 포함하는 시그널링 메시지, 예컨대 PA 메시지를 생성하여 클라이언트 1(100_1)로 전송한다(S203). 여기서 PA 메시지는 클라이언트1의 IP 주소(destination IP information), MMT 패킷을 제공할 하나 이상의 다른 클라이언트의 IP 주소(mid source IP information) 그리고 상기 다른 클라이언트 각각이 보유하고 있는 패키지 ID, 하나 이상의 애셋 ID 및 적어도 하나 이상의 MPU ID에 대한 정보를 포함할 수 있다.
이를 수신한 클라이언트1(100_1)은 상기 MMT 스트리밍 서버(500)로부터 수신된 시그널링 메시지를 이용하여 다른 클라이언트와 연결을 수립하게 된다(S205). 이때, 클라이언트 1(100_1)은 가용 자원을 고려하여 다른 클라이언트와 순차적 연결을 수행하게 된다. 보다 구체적으로 설명하면 MMT 스트리밍 서버(500)로부터 클라이언트 2(100_2), 클라이언트 3(100_3) 및 클라이언트 4(100_4)에 대한 정보를 포함하는 시그널링 메시지를 수신한 경우, 클라이언트 1(100_1)은 상기 다른 클라이언트 중 먼저 어느 하나의 클라이언트, 예컨대 클라이언트 2(100_2)와 먼저 연결을 수립할 수 있다. 이때, 선택되는 다른 클라이언트는 보유하고 있는 MPU ID를 고려하여 설정될 수 있으며, 랜덤으로 선택될 수 있다. 또한, 클라이언트 1(100_1)은 공지된 다양한 근거리 무선 통신 방식으로 제2 클라이언트(100_2)와 연결될 수 있다.
그리고 클라이언트 1(100_1)은 자신의 현재 채널 사용량(current channel usage of peer, Ccurr) 및 최대 채널 용량(maximum channel capacity of peer, Cmax)를 산출하고(S207), 산출된 정보를 NAMF 메시지를 통해 연결된 클라이언트 2(100_2)로 전송한다(S209).
그리고 클라이언트 1(100_1)은 최대 채널 용량(Cmax)에서 현재 채널 사용량(Ccurr)을 뺀 용량이 채널 마진(channel margin for reliability, Cmargin) 미만인지 여부를 판단하여(S211), 미만이 아닌 경우, 가용한 자원이 충분한 상태이므로, 다른 클라이언트, 예컨대 클라이언트 3(100_3)과 연결을 수립하게 된다(S213).
반면, S211 단계에서 미만인 경우, 더 이상이 연결할 수 있는 자원이 없으므로, 클라이언트 1(100_1)은 현재까지 연결된 클라이언트 각각에게 해당 클라이언트가 보유하고 있는 MPU를 동시에 요청하고 이를 수신할 수 있게 된다(S215).
아울러, 본 발명의 클라이언트 1(100_1)은 지속적으로 현재 채널 사용량(Ccurr) 및 최대 채널 용량(Cmax)을 모니터링하고(S217), 현재 채널 사용량(Ccurr)에 변화가 있는 것으로 판단되면(S219), 기존의 연결된 클라이언트와의 연결이 해제되거나 특별한 이벤트가 존재하는 것이므로, 다시 현재 채널 사용량(Ccurr) 및 최대 채널 용량(Cmax)을 산출하고, 산출된 정보를 연결된 다른 클라이언트에게 NAMF 메시지를 통해 전송할 수 있다
이러한 과정은 클라이언트 1(100_1)이 요청한 MMT 스트리밍 데이터의 수신이 완료되면 그 동작을 종료하게 된다.
이하, 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 지원하는 장치인 클라이언트(100)의 주요 구성에 대해 설명하도록 한다.
도 10은 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 지원하는 장치 구성을 도시한 구성도이다.
도 10을 참조하면, 본 발명의 제2 실시 예를 지원하는 클라이언트(100)는 시그널링 송수신부(110), 자원 관리부(120) 및 연결 처리부(130)를 포함하여 구성될 수 있다.
먼저, 시그널링 송수신부(110)는 MMT 스트리밍 서버(500)로부터 PA 메시지를 수신하거나, 다른 클라이언트로 연결을 요청하고 NAMF 메시지를 전송하는 역할을 수행하는 것과 같이 다양한 메시지의 송수신을 지원할 수 있다.
자원 관리부(120)는 클라이언트(100)의 가용 채널 용량을 모니터랑하고 현재 채널 사용량 및 최대 채널 용량을 산출한 후 이를 기초로 채널 마진을 고려한 복수 개의 다른 클라이언트와의 다중 연결을 지원하는 역할을 수행할 수 있다.
연결 처리부(130)는 MMT 스트리밍 서버(500)로부터 전달된 PA 메시지 및 상기 자원 관리부(120)를 통해 산출된 가용 채널 용량을 고려하여 다중 연결을 설정할 복수 개의 다른 클라이언트를 선택할 수 있으며, 선택된 다른 클라이언트와의 연결을 수립하고 연결된 다른 클라이언트로부터 MMT 패킷, 즉 MPU 단위의 MMT 패킷을 요청하고 수신하는 역할을 수행할 수 있다.
이상으로 본 발명의 제2 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법에 대해 설명하였다.
*아울러, 도 10에서 본 발명의 클라이언트(100)의 주요 구성 및 동작에 대해 제2 실시 예를 기준으로 설명하였으나, 본 발명의 클라이언트(100)는 제2 실시 예 뿐 아니라 전술한 제1 실시 예에 따라 동작을 수행할 수도 있다. 다시 말해, 본 발명의 클라이언트(100)는 MMT 스트리밍 서버(500)로 스트리밍 데이터를 요청하고, MMT 스트리밍 서버(500)로부터 다른 클라이언트에 대한 정보를 포함하는 시그널링 메시지가 수신되면 제2 실시 예에 따라 동작을 수행할 수 있으며, MMT 스트리밍 서버(500) 및 복수 개의 MMT 중간 개체의 주소 정보를 포함하는 각각의 시그널링 메시지가 수신되면, 제1 실시 예에 따라 동작을 수행할 수 있다.
본 발명의 다중 경로 스트리밍 서비스 제공 방법을 실행하는 각 장치에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
또한 본 발명의 실시 예에 따른 MMT 스트리밍 서버(500) 및 MMT 개체는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다.
아울러, 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법은 적어도 하나의 모듈에 의해 그 동작이 이뤄질 수 있다. 여기서 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
아울러, 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 본 발명의 실시 예에 따른 다중 경로 스트리밍 서비스 제공 방법을 구현하기 위한 기록매체에 기록되는 프로그램은 MMT 개체가 자신이 보유하고 있는 패키지(package)에 대한 미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location) 및 MPU 아이디(MPU_id)를 정의하는 MP 테이블(MP table)을 포함하는 시그널링 메시지를 생성하는 단계 및 상기 MMT 개체가 상기 생성된 시그널링 메시지를 이용하여 다중 경로 방식의 스트리밍 서비스 제공이 가능하도록 하나 이상의 다른 MMT 개체로 전송하는 단계 등을 실행할 수 있다.
이때, 기록매체에 기록된 프로그램은 컴퓨터에서 읽히어 설치되고 실행됨으로써 전술한 기능들을 실행할 수 있다.
여기서, 컴퓨터가 기록매체에 기록된 프로그램을 읽어 들여 프로그램으로 구현된 기능들을 실행시키기 위하여, 전술한 프로그램은 컴퓨터의 프로세서(CPU)가 컴퓨터의 장치 인터페이스(Interface)를 통해 읽힐 수 있는 C, C++, JAVA, 기계어 등의 컴퓨터 언어로 코드화된 코드(Code)를 포함할 수 있다.
이러한 코드는 전술한 기능들을 정의한 함수 등과 관련된 기능적인 코드(Function Code)를 포함할 수 있고, 전술한 기능들을 컴퓨터의 프로세서가 소정의 절차대로 실행시키는데 필요한 실행 절차 관련 제어 코드를 포함할 수도 있다. 또한, 이러한 코드는 전술한 기능들을 컴퓨터의 프로세서가 실행시키는데 필요한 추가 정보나 미디어가 컴퓨터의 내부 또는 외부 메모리의 어느 위치(주소 번지)에서 참조 되어야 하는지에 대한 메모리 참조 관련 코드를 더 포함할 수 있다. 또한, 컴퓨터의 프로세서가 전술한 기능들을 실행시키기 위하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 통신이 필요한 경우, 코드는 컴퓨터의 프로세서가 컴퓨터의 통신 모듈을 이용하여 원격(Remote)에 있는 어떠한 다른 컴퓨터나 서버 등과 어떻게 통신해야만 하는지, 통신 시 어떠한 정보나 미디어를 송수신해야 하는지 등에 대한 통신 관련 코드를 더 포함할 수도 있다.
이러한, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(Functional) 프로그램과 이와 관련된 코드 및 코드 세그먼트 등은, 기록매체를 읽어서 프로그램을 실행시키는 컴퓨터의 시스템 환경 등을 고려하여, 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론되거나 변경될 수도 있다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 스트리밍 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공할 수 있는 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램에 관한 것이다.
본 발명에 의하면, MMT 방식의 스트리밍 서비스 제공 시 단일 경로가 아닌 다중 경로를 통해 스트리밍 서비스를 제공할 수 있으며, MPU 단위로 스트리밍 서비스를 제공함으로써 한정된 네트워크 자원을 보다 효율적으로 사용할 수 있다. 이에 본 발명은 스트리밍 서비스 산업의 발전에 이바지할 수 있다.
더불어, 본 발명은 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
100: 클라이언트 110: 시그널링 송수신부
120: 자원 관리부 130: 연결 처리부
310: 조정자 MMT 중간 개체 311: 송신부
312: 조정자 설정부 313: 시그널링 메시지 처리부
500: MMT 스트리밍 서버 600: 애셋
610: MMT 패킷 헤더 620: MMT 패킷 페이로드 데이터
630: MMT 페이로드 헤더 640: MMT 페이로드 데이터
800: MMT 시그널링 메시지 810: 패키지 소비
820: 패키지 전달 811: PA 메시지
812: MPI 메시지 813: MPT 메시지
814: CRI 메시지 815: DCI 메시지

Claims (5)

  1. MPEG 미디어 트랜스포트(MMT; MPEG Media Transport) 통신 프로토콜에 따라 동작하는 복수 개의 MMT 개체로 구성되는 스트리밍 시스템에서의 다중 경로 스트리밍 서비스를 제공하기 위한 시그널링 메시지 구조를 갖는 데이터가 기록된 컴퓨터로 읽을 수 있는 기록매체에 있어서,
    상기 MMT 개체가 자신이 보유하고 있는 패키지(package)에 대한 미디어 프로세싱 유닛(MPU; Media Processing Unit) 위치 정보(location); 및
    MPU 아이디(MPU_id)를 정의하는 MP 테이블(MP table);
    을 포함하는 MPU 단위로 형성된 MMP 패킷인 것을 특징으로 하는 시그널링 메시지 구조를 갖는 데이터가 기록된 컴퓨터로 읽을 수 있는 기록매체.
  2. 제1항에 있어서,
    상기 MPU 위치 정보는
    애셋 위치(asset_location) 정보에 종속되어 정의되며,
    상기 MPU 아이디는
    상기 MP 테이블의 MMT 일반 위치 정보(MMT_general_location_info())에서 정의되는 위치 타입(location_type)에 패킷 아이디(packet_id)가 정의되는 경우에만 포함되는 것을 특징으로 하는 시그널링 메시지 구조를 갖는 데이터가 기록된 컴퓨터로 읽을 수 있는 기록매체.
  3. 제2항에 있어서,
    상기 MPU 아이디는
    글로벌 유니크 아이디(global unique ID)가 필요한 경우 hash 방식을 채택하고, 상기 글로벌 유니크 아이디가 충분한 경우 32비트로 구현되는 것을 특징으로 하는 시그널링 메시지 구조를 갖는 데이터가 기록된 컴퓨터로 읽을 수 있는 기록매체.
  4. 제1항에 있어서,
    상기 MP 테이블은
    테이블 아이디(table_id), MP 테이블의 버전을 나타내는 version, MMT 패키지별로 글로벌하게 할당되는 고유 식별자를 의미하는 MMT_package_id, 상기 MMT_package_id 스트링에서의 하나의 바이트를 의미하는 MMT_package_id_byte, 상기 MP 테이블에 의해 제공되는 정보를 갖는 애셋의 개수를 의미하는 Number_of_assets, 하나의 애셋이 네트워크 시간 규악(NTP) 클럭 혹은 다른 클럭 시스템을 클럭 기준으로서 이용하는 지의 여부를 나타내는 asset_clock_relation_flag, 일초에 단위 개수로 표현된 상기 애셋을 위해 이용된 모든 타임스탬프(timestamp)들을 위한 시간 단위의 정보를 제공하는 asset_timescale, 상기 asset_timescale 정보가 제공되는 지의 여부를 나타내는 asset_timescale_flag를 포함하는 것을 특징으로 하는 시그널링 메시지 구조를 갖는 데이터가 기록된 컴퓨터로 읽을 수 있는 기록매체.
  5. 제2항에 있어서,
    상기 MMT 일반 위치 정보(MMT_general_location_info())는
    위치 정보의 유형을 의미하는 location_type, asset의 id의 의미하는 packet_id, ipv4 발신지 주소를 의미하는 ipv4_src_addr, 목적지 포트 번호를 의미하는 dst_port, ipv6 발신지 주소를 의미하는 ipv6_src_addr, ipv6 목적지 주소를 의미하는 ipv6_dst_addr, 방송 네트워크 식별자를 의미하는 network_id, MPEG_2 전송 스트림 식별자를 의미하는 MPEG_2_transport_stream_id, MPEG_2 패킷 식별자를 의미하는 MPEG_2_PID, 하나의 웹 페이지 주소의 바이트 길이를 의미하는 URL_length, 하나의 웹 페이지 주소에서의 하나의 바이트를 의미하는 URL_byte, MMT 시그널링 메시지 식별자를 의미하는 message_id를 포함하는 것을 특징으로 하는 시그널링 메시지 구조를 갖는 데이터가 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020210100074A 2016-03-25 2021-07-29 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램 KR102439164B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210100074A KR102439164B1 (ko) 2016-03-25 2021-07-29 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020160036198A KR102303777B1 (ko) 2016-03-25 2016-03-25 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
KR1020210100074A KR102439164B1 (ko) 2016-03-25 2021-07-29 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020160036198A Division KR102303777B1 (ko) 2016-03-25 2016-03-25 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Publications (2)

Publication Number Publication Date
KR20210097089A KR20210097089A (ko) 2021-08-06
KR102439164B1 true KR102439164B1 (ko) 2022-09-02

Family

ID=60140377

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020160036198A KR102303777B1 (ko) 2016-03-25 2016-03-25 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
KR1020210100074A KR102439164B1 (ko) 2016-03-25 2021-07-29 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020160036198A KR102303777B1 (ko) 2016-03-25 2016-03-25 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Country Status (1)

Country Link
KR (2) KR102303777B1 (ko)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102003925B1 (ko) 2011-11-23 2019-10-02 한국전자통신연구원 스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치
KR102045073B1 (ko) * 2013-01-24 2019-11-14 한국전자통신연구원 유연한 mmt 애셋 송수신 방법 및 그 장치
KR101479464B1 (ko) * 2013-02-01 2015-01-06 에스케이플래닛 주식회사 클라우드 스트리밍 기반의 데이터 전송 제어 방법, 시스템, 클라이언트 단말기 및 서비스장치
KR102115425B1 (ko) * 2013-07-02 2020-06-05 삼성전자주식회사 무선 통신 시스템에서 기본 경로 및 직접 경로 간 전환 장치 및 방법

Also Published As

Publication number Publication date
KR20210097089A (ko) 2021-08-06
KR20170111217A (ko) 2017-10-12
KR102303777B1 (ko) 2021-09-17

Similar Documents

Publication Publication Date Title
JP6487076B2 (ja) インターネットプロトコル(ip)マルチメディア・サブシステム(ims)ベースのピアツーピア(p2p)コンテンツ配信
KR102072344B1 (ko) 적응형 스트리밍 서비스 제공 방법 및 이를 위한 장치
US9537902B2 (en) Enabling devices without native broadcast capability to access and/or receive broadcast data in an efficient manner
BR112015031512B1 (pt) Mediar entrega de conteúdo via um ou mais serviços
US10820229B2 (en) Method for providing streaming service and apparatus therefor
CN105009511A (zh) 使用基于ims的dash服务的呈现服务
JP6868120B2 (ja) ネットワークデータ処理方法及び装置
JP2005516473A (ja) マルチキャスト/同報通信サービスにおけるフロー処理およびマッピングのための方法および装置
CN104541516A (zh) 用于传递多媒体数据的传输特性信息的方法和设备
JP2018515960A (ja) マルチメディアブロードキャストマルチキャストサービスに基づくフレキシブルブロードキャストサービスのための方法及び装置
US10015235B2 (en) Distribution of media content to wireless communication devices
CN112738645A (zh) 用于在多媒体系统中发送和接收信号的方法和装置
US10165311B2 (en) Non-transitory computer-readable recording medium having program recorded therein for providing network-adaptive content and apparatus for providing network-adaptive content
KR102439164B1 (ko) 다중 경로 스트리밍 서비스 제공 방법, 이를 위한 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램
US20230050923A1 (en) Media packet transmission method, apparatus, and system
US10587569B2 (en) Streaming service providing method and device
CN105100147A (zh) 一种基于内容提供商与服务提供商分离的控制方法及装置
JP2019524008A (ja) レートペーシングのためにバッファを管理する装置及び方法
KR102174360B1 (ko) 스트리밍 서비스 제공 방법 및 이를 위한 장치
KR102485601B1 (ko) 컨텐츠 전송을 위한 최적 네트워크 노드 선택 방법 및 이를 위한 장치
CN107438991B (zh) 经由多媒体广播多播服务的灵活广播服务的方法和装置
KR102209782B1 (ko) 스트리밍 서비스 제공 방법 및 이를 위한 장치
KR102123414B1 (ko) 컨텐츠 제공 방법, 이를 위한 노드 제어 서버
CN102333095A (zh) 一种媒体业务系统及方法
WO2024055692A1 (zh) 通信方法、通信装置和通信系统

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant