KR102301333B1 - 브로드캐스트 채널을 통한 dash 콘텐츠 스트리밍 방법 및 장치 - Google Patents

브로드캐스트 채널을 통한 dash 콘텐츠 스트리밍 방법 및 장치 Download PDF

Info

Publication number
KR102301333B1
KR102301333B1 KR1020167021728A KR20167021728A KR102301333B1 KR 102301333 B1 KR102301333 B1 KR 102301333B1 KR 1020167021728 A KR1020167021728 A KR 1020167021728A KR 20167021728 A KR20167021728 A KR 20167021728A KR 102301333 B1 KR102301333 B1 KR 102301333B1
Authority
KR
South Korea
Prior art keywords
segment
media data
segments
identifying
dash
Prior art date
Application number
KR1020167021728A
Other languages
English (en)
Other versions
KR20160106718A (ko
Inventor
아이메드 부아지지
임영권
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20160106718A publication Critical patent/KR20160106718A/ko
Application granted granted Critical
Publication of KR102301333B1 publication Critical patent/KR102301333B1/ko

Links

Images

Classifications

    • H04L65/4076
    • 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/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • H04L65/4084
    • H04L65/602
    • H04L65/608
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • 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/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

콘텐츠를 제공하기 위한 사용자 기기가 제공된다. 사용자 기기는 적어도 하나의 메모리 및 적어도 하나의 프로세싱 장치를 포함한다. 네트워크를 통해 데이터 스트림을 수신하기 위한 적어도 하나의 프로세스가 설정되며, 데이터 스트림은 콘텐츠로서 미분할(un-segmented) 미디어 데이터를 포함한다. 적어도 하나의 프로세스는 또한, 세그먼트들을 식별하기 위해 미분할 미디어 데이터 안에서 세그먼트 경계들을 식별하고, 세그먼트 경계들에 기반하여 MPD(media presentation description)로부터 식별된 세그먼트들 각각의 세그먼트 넘버를 결정하도록 구성된다. 적어도 하나의 프로세스는 또한, 복수의 DASH 세그먼트들 각각의 세그먼트 넘버에 기반하여 복수의 DASH(dynamic adaptive streaming over hypertext transfer protocol(DASH)) 세그먼트들 각각과 연관된 URL(uniform resource locator)을 조회하고, 복수의 DASH 세그먼트들 각각과 연관된 URL을 클라이언트 플레이어에게 제공하도록 구성된다.

Description

브로드캐스트 채널을 통한 DASH 콘텐츠 스트리밍 방법 및 장치{METHOD AND APPARATUS FOR STREAMING DASH CONTENT OVER BROADCAST CHANNELS}
본 개시는 대쉬(DASH) 콘텐츠 스트리밍에 관한 것으로서, 보다 상세하게는 DASH 세그먼트 경계들을 식별하여 DASH 세그먼트들을 복구하는 것에 관한 것이다.
엠펙(Moving Picture Experts Group : MPEG) 미디어 전송(Media Transport : MMT)은 이종 인터넷 프로토콜(Internet Protocol : IP) 네트워크 환경을 통한 멀티미디어 서비스들의 구현을 가능하게 하기 위한 현재의 미디어 전송 해법을 특정한다. 전달된 코딩된 미디어 데이터는 (i) 지정된 시간의 데이터, 즉 타임(timed) 데이터의 특정 유닛에 대해 동기된 디코딩 및 제공을 요하는 시청각 미디어 데이터, 및 (ii) 서비스 정황이나 사용자에 의한 인터랙션(interaction)에 기반하여 임의의 시간에 디코딩 및 제공될 수 있는 다른 유형의 데이터(즉, 비타임(non-timed) 데이터)를 모두 포함한다.
MMT는 코딩된 미디어 데이터가 사용자 데이터그램 프로토콜(User Datagram Protocol : UDP)과 같은 인터넷 프로토콜들을 이용하여 패킷 기반 전달 네트워크를 통해 전달될 것이라는 전제하에 고안된 것이다. 그러한 전달 환경들의 몇 가지 특징들 또한 고려되어왔다. 전송 개체에서 수신 개체로의 각각의 패킷 전달에 대한 단대단(end-to-end) 지연이 항상 일정할 수는 없으며, 기본 네트워크는 시그날링 메시지를 미디어 데이터와 구별하는 수단을 제공한다.
본 개시는 DASH 세그먼트 경계들을 식별하여 DASH 콘텐츠를 스트리밍하는 방법을 제공하는 것이다.
콘텐츠를 제공하기 위한 사용자 기기가 제공된다. 사용자 기기는 적어도 하나의 메모리 및 적어도 하나의 프로세싱 장치를 포함한다. 네트워크를 통해 데이터 스트림을 수신하기 위한 적어도 하나의 프로세스가 설정되며, 상기 데이터 스트림은 콘텐츠로서 미분할(un-segmented) 미디어 데이터를 포함한다. 상기 적어도 하나의 프로세스는 세그먼트들을 식별하기 위해 미분할 미디어 데이터 내 세그먼트 경계들을 식별하도록 설정된다. 상기 적어도 하나의 프로세스는 또한, 상기 세그먼트 경계들에 기반하여 MPD(media presentation description)로부터 식별된 세그먼트들 각각의 세그먼트 넘버를 결정하도록 설정된다. 상기 적어도 하나의 프로세스는 또한, 상기 복수의 DASH 세그먼트들 각각의 세그먼트 넘버에 기반하여 복수의 DASH(dynamic adaptive streaming over hypertext transfer protocol) 세그먼트들 각각과 연관된 URL(uniform resource locator)를 조회하도록 설정된다. 상기 적어도 하나의 프로세스는 또한, 상기 복수의 DASH 세그먼트들 각각과 연관된 URL을 클라이언트 플레이어로 제공하도록 설정된다.
콘텐츠를 제공하기 위한 방법이 제공된다. 상기 방법은 네트워크를 통해 데이터 스트림을 수신하는 단계를 포함하며, 상기 데이터 스트림은 콘텐츠로서 미분할 데이터를 포함한다. 상기 방법은 또한, 세그먼트들을 식별하기 위해 상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하는 단계를 포함한다. 상기 방법은 또한, 상기 세그먼트 경계들에 기반하여 MPD(media presentation description)로부터 식별된 세그먼트들 각각의 세그먼트 넘버를 결정하는 단계를 포함한다. 상기 방법은 또한, 상기 복수의 DASH 세그먼트들 각각의 세그먼트 넘버에 기반하여 복수의 DASH(dynamic adaptive streaming over hypertext transfer protocol) 세그먼트들 각각과 연관된 URL(uniform resource locator)를 조회하는 단계를 포함한다. 상기 방법은 또한, 상기 복수의 DASH 세그먼트들 각각과 연관된 URL을 클라이언트 플레이어로 제공하는 단계를 포함한다.
이하의 상세한 설명을 시작하기 전에, 이 특허 문서 전체에 걸쳐 사용된 소정 단어들과 어구들의 정의를 설명하는 것이 바람직하다. "포함하다" 및 "구비한다"는 용어들 및 그 파생어들은 제한 없는 포함을 의미한다; 또는"이라는 말은 '및/또는'을 의미하는 포괄적인 말이다; "~와 관련된다" 및 "그와 관련된다"는 어구들뿐 아니라 그 파생어들은 포함한다, ~ 안에 포함된다, ~와 상호연결한다, 내포한다, ~안에 내포된다, ~에/와 연결한다, ~에/와 결합한다, ~와 통신할 수 있다, ~와 협력한다, 개재한다, 나란히 놓는다, ~에 근사하다, ~에 속박된다, 가진다, ~의 특성을 가진다는 등의 의미일 수 있다; 그리고 "제어기"라는 용어는 적어도 한 동작을 제어하는 어떤 장치, 시스템, 또는 그 일부를 의미하며, 그러한 장치는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 그러한 것들 중 적어도 두 개의 조합을 통해 구현될 수 있다. 어떤 특정 제어기와 관련된 기능은 국지적이든 원격으로든 중앙 집중되거나 분산될 수 있다. 소정 단어들 및 어구들에 대한 정의가 이 특허 문서 전체에 걸쳐 제공되며, 당업자는 대부분의 경우들은 아니어도 많은 경우, 그러한 정의들이 그렇게 정의된 단어들 및 어구들의 이전뿐 아니라 이후 사용에도 적용된다는 것을 알 수 있을 것이다.
본 개시 및 그 이점들에 대한 보다 완전한 이해를 위해, 지금부터 유사 참조부호들이 유사 구성요소들을 나타내는 첨부된 도면들과 함께 취해진 이하의 설명을 참조한다.
도 1은 본 개시의 다양한 실시예들이 구현될 수 있는 예시적 통신 시스템을 도시한다.
도 2는 본 개시에 따른 컴퓨팅 시스템 내 예시적 장치를 도시한다.
도 3은 본 개시에 따라 MMT에 의해 제공되는 예시적 기능들을 도시한다.
도 4는 본 개시에 따른 예시적인 적응적 HTTP(Hypertext Transmission Protocol) 스트리밍(adaptive Hypertext Transmission Protocol (HTTP) streaming : AHS) 구조를 도시한다.
도 5는 본 개시에 따른 예시적 MPD(Media Presentation Description) 파일(500)의 구조를 도시한다.
도 6은 본 개시에 따른 분할(fragmented) ISO(International Standards Organization) 기반 파일 포맷(ISO-base file format : ISBOFF) 미디어 파일의 예시적 구조를 도시한다.
도 7은 본 개시에 따른 서버의 제공 순서를 나타내기 위한 프로세스를 도시한다.
도 8은 본 개시에 따른 세그먼트의 예시적 구조를 도시한다.
이하에 논의되는 도 1 내지 8 및 이 특허 문서의 본 개시의 원리를 기술하는데 사용되는 다양한 실시예들은 단지 예일뿐으로 어떤 식으로도 본 개시의 범위를 한정하는 것으로 간주되어서는 안될 것이다. 당업자는 본 개시의 원리들이 어떤 적절하게 구성된 시스템 및 방법으로 구현될 수 있다는 것을 알 수 있을 것이다.
설명의 편의를 위해, 본 특허 문서에서 사용되는 아래의 용어들과 문구들이 정의된다.
DASH(Dynamic Adaptive Streaming over HTTP)- 서버 제어형의 적응적 스트리밍을 클라이언트 제어형의 적응적 스트리밍으로 바꾸는 통상적인 적응적 스트리밍 방식. 서버 제어형의 적응적 스트리밍에서, 서버는 연결된 모든 클라이언트들에 대한 자신의 연결에 관한 정보를 가지며, 각각의 클라이언트가 각각의 네트워크 상황에 대한 최적의 콘텐츠를 전송하기 위해 요구하는 것을 생성한다. 그러나, 클라이언트들의 수가 증가됨에 따라 서버에 과부하가 걸릴 수 있다는 점이 단점이다. DASH에서, 서버는 몇몇 가능한 경우들에 대한 미디어 세그먼트들 및 메타데이터를 미리 생성하고, 클라이언트들은 상황에 따라 콘텐츠를 요청 및 재생한다. 이는 서버에 가해지는 부담을 줄이면서 네트워크 상황에 따라 최적의 콘텐츠를 다운로드하여 재생하는 것을 가능하게 한다.
콘텐츠 - 콘텐츠의 예들에는 오디오 정보, 비디오 정보, 오디오-비디오 정보, 및 데이터가 포함된다. 콘텐츠 항목들에는 이하에 기술되는 바와 같이 복수의 성분들이 포함될 수 있다.
성분들 - 오디오 정보, 비디오 정보, 및 자막 정보와 같은 콘텐츠 항목의 성분들을 일컫는다. 예를 들어, 한 성분은 특정 언어로 구성된 자막 스트림 또는 소정 카메라 각도로 얻어지는 비디오 스트림일 수 있다. 상기 성분은 자신의 컨테이너에 따라 트랙이나 기본 스트림(Elementary Stream : ES)이라 불려질 수 있다.
콘텐츠 자원들 - 콘텐츠 항목들에 대한 적응적 스트리밍을 가능하게 하기 위해 다양한 표현들로 제공되는 콘텐츠 항목들(다양한 품질들, 비트 레이트들 및 각도들)을 일컫는다. 서비스 탐색(discovery) 프로세스를 콘텐츠 자원들이라 칭할 수 있다. 콘텐츠 자원들에는 하나 이상의 연속적인 시간 주기들이 포함될 수 있다.
주기(period) - 콘텐츠 자원들의 시간 부문을 일컫는다.
재현(표현)들(representations) - 한 주기 내 콘텐츠 자원들의 (모든 또는 일부 성분들에 대한) 버전들을 일컫는다. 재현들은 성분들의 부분집합이나 성분들에 대한 인코딩 파라미터들(비트 레이트 같은)에 있어 상이할 수 있다. 재현들을 여기서는 미디어 데이터라고 칭하지만, 비한정적으로 하나 이상의 성분들을 포함하는 데이터를 가리키는 모든 용어들로 칭해질 수 있다.
세그먼트 - 특정 시스템 계층 타입(전송 스트림(TS)이나 MPEG(Moving Picture Experts Group)-4(MP4) 파트 14)에서 고유한 URL(Uniform Resource Locator)로 명명되는 재현들의 시간 부문을 일컫는다.
MMT 코딩 및 미디어 전달이 이하의 문서 및 표준화 내용을 통해 논의된다: 본 명세서에 전체가 설명되는 것과 마찬가지로, 본 개시에 포함되는 MPEG-H 시스템, ISO/IEC 2nd CD 23008-1 MPEG Media Transport(미디어 전송). MMT는 캡슐화, 전달, 및 시그날링을 포함하는 세 개의 기능 영역들을 규정한다. 캡슐화 기능 영역은 미디어 콘텐츠의 논리적 구조, MMT 패키지, 및 MMT 준수 개체에 의해 처리될 데이터 유닛들의 포맷을 규정한다. MMT 패키지는 미디어 콘텐츠 및 적응적 전달에 필요한 정보를 제공하기 위한 미디어 콘텐츠 간 관계를 포함하는 구성요소들을 특정한다. 데이터 유닛들의 포맷은 전달 프로토콜의 페이로드로서 저장되거나 운반되고, 저장 및 운반 사이에서 쉽게 전환되도록 코딩된 매체를 캡슐화하도록 규정된다. 전달 기능 영역은 페이로드의 포맷 및 응용 계층 프로토콜을 규정한다. 응용 계층 프로토콜은 멀티미디어 전달을 위한 종래의 응용 계층 프로토콜들과 비교할 때, MMT 패키지의 전달을 위해 다중화를 포함한 개선된 특성들을 제공한다. 페이로드 포맷은 특정 미디어 유형이나 인코딩 방법과 무관한 코딩된 미디어 데이터를 운반하기 위해 정의된다. 시그날링 기능 영역은 MMT 패키지들의 전달 및 소비를 관리하기 위한 메시지들의 포맷을 정의한다. 소비 관리를 위한 메시지들이 MMT 패키지들의 구조를 시그날링하는데 사용되며, 전달 관리를 위한 메시지들이 페이로드 포맷의 구조 및 프로토콜의 구성을 시그날링하는데 사용된다.
MMT는 오디오, 비디오, 및 위젯, 파일 등과 같은 기타 고정 콘텐츠 같은 시간 연속적인 멀티미디어 전달을 위한 새로운 프레임워크를 규정한다. MMT는 수신 개체로의 MMT 패키지의 전달을 위한 프로토콜(즉, MMTP)를 특정한다. MMTP는 프로토콜 헤더의 일부로서 MMTP 패키지의 전송 시간을 시그날링한다. 그 시간은 수신 개체가 각각의 유입 MMT 패킷의 전송 시간 및 수신 시간을 검사함으로써 디지터링(de-jittering)을 수행할 수 있게 한다.
이종 IP 네트워크 환경들 상에서 코딩된 미디어 데이터의 효율적이고 효과적인 전송을 위해, MMT는 이하의 요소들을 제공한다:
매쉬 업(mash-up) 응용예들을 위한 다양한 구성요소들로 이루어진 콘텐츠를 구성하기 위한 논리적 모델;
패킷화 및 적응화와 같이 전송 계층 처리를 위해 코딩된 미디어 데이터에 대한 정보를 전달하기 위한 데이터의 구조;
하이브리드 전송을 포함하여, TCP나 UDP를 통해 사용되는 특정 미디어 유형이나 코딩 방법들에 불가지론인 미디어 콘텐츠를 전달하기 위한 패킷화 방법 및 패킷들의 구조;
미디어 콘텐츠의 제공 및 전송을 관리하기 위한 시그날링 메시지들의 포맷; 및
교차 계층 통신을 돕기 위해 계층들에 걸쳐 교환되어야 할 정보의 포맷.
본 개시의 하나 이상의 실시예들은 전송 제어 프로토콜(Transmission Control Protocol : TCP)이 오디오 및 비디오 콘텐츠 같은 실시간 미디어의 전달에 적합하지 않다는 점을 인지하여 참작한다. 이는 주로, TCP가 구현하는 공격적인 혼잡 제어 알고리즘 및 재전송 절차들에 기인한다. TCP에서, 발송자는 통상적으로 패킷 손실 또는 과도한 전송 지연을 통해 인식된 혼잡 이벤트 검출에 따라 자신의 전송 레이트를 크게 낮춘다(통상적으로, 반 정도 낮춤). 그 결과, TCP의 전송 처리율은 보통, 잘 알려진 톱니 모양을 특징으로 한다. 이러한 양태는 보통 지연에 민감하지만 상대적으로 손실에는 내성이 있는 애플리케이션들의 스트리밍에는 치명적인데도, TCP는 안정적인 혼잡 인식 전송을 위해 전송 지연을 희생한다.
본 개시의 하나 이상의 실시예들은 HTTP(Hypertext Transport Protocol)이 인터넷을 통한 멀티미디어 콘텐츠의 전달에 사용된다는 것을 인지 및 참작한다. HTTP는 TCP의 최상위에서 실행되는 텍스트(textual) 프로토콜이다. 그러한 전환의 이유는 프로토콜의 전개에 대한 용이성에 기인한다. 콘텐츠를 전달하기 위한 전용 서버를 배치할 필요가 없다. 또한, HTTP는 방화벽 및 NAT를 통한 액세스가 허가되며, 이는 배치를 매우 단순화시킨다.
3GPP 및 MPEG에 의해 최근 들어 DASH(Dynamic Adaptive HTTP Streaming)가 표준화되었다. 적응적 HTTP 스트리밍을 위해 애플의 HTTP 라이브 스트리밍(HTTP Live Streaming : HLS) 및 마이크로소프트의 스무드(Smooth) 스트리밍과 같은 특허된 몇몇 다른 해법들이 상용으로 사용되고 있다. 이들과는 달리 DASH는 다양한 구현예들 사이에서 상호 운용을 주도하는 완전 개방형의 표준화된 미디어 스트리밍 해법이다.
도 1은 본 개시의 다양한 실시예들이 구현될 수 있는 예시적 통신 시스템(100)을 도시한다. 도 1에 도시된 통신 시스템(100)의 실시예는 다만 예시를 위한 것이다. 본 개시의 범위로부터 벗어나지 않고 통신 시스템(100)의 다른 실시예들이 사용될 수도 있다.
도 1에 도시된 바와 같이, 시스템(100)은 시스템(100) 내 다양한 구성요소들 사이의 통신을 수월하게 하는 이종 네트워크(102)를 포함한다. 예를 들어, 네트워크(102)는 네트워크 어드레스들 간 인터넷 프로토콜(IP) 패킷들, 프레임 중계 프레임들, 비동기 전송 모드(ATM) 셀들, 또는 다른 정보를 전송할 수 있다. 네트워크(102)는 또한, 케이블 및 위성 통신 링크들과 같은 브로드캐스팅 네트워크들을 포함하는 이종 네트워크일 수도 있다. 네트워크(102)는 하나 이상의 LAN(local area networks); MAN(metropolitan area networks); WAN(wide area networks); 인터넷 같은 글로벌 네트워크 전체나 일부; 또는 하나 이상의 위치들에 있는 어떤 다른 통신 시스템이나 시스템들을 포함할 수 있다.
다양한 실시예들에서, 이종 네트워크(102)는 브로드캐스트 네트워크(102a) 및 광대역 네트워크(102b)를 포함한다. 브로드캐스트 네트워크(102a)는 일반적으로 한 방향, 예컨대 하나 이상의 서버들(104-105)로부터 클라이언트 장치들(106-115)의 방향인, 클라이언트 장치들(106-115)로의 미디어 데이터의 브로드캐스트를 위한 것이다. 브로드캐스트 네트워크(102a)는 가령 위성, 무선, 유선, 및 광섬유 네트워크 링크들과 장치들과 같은 임의 개의 브로드캐스트 링크들과 장치들을 포함할 수 있다.
광대역 네트워크(102b)는 일반적으로 두 방향, 예컨대 하나 이상의 서버들(104-105)로부터 클라이언트 장치들(106-115)로 왕복하는 방향인, 클라이언트 장치들(106-115)의 미디어 데이터에 대한 광대역 액세스를 위한 것이다. 광대역 네트워크(102b)는 가령 인터넷, 무선, 유선, 및 광섬유 네트워크 링크들과 장치들과 같은 임의 개의 광대역 링크들과 장치들을 포함할 수 있다.
네트워크(102)는 서버들(104-105) 및 다양한 클라이언트 장치들(106-115) 간의 통신을 돕는다. 서버들(104-105) 각각은 하나 이상의 클라이언트 장치들에 컴퓨팅 서비스를 제공할 수 있는 어떤 적절한 컴퓨팅 또는 프로세싱 장치를 포함한다. 서버들(104-105) 각각은 예컨대, 하나 이상의 프로세싱 장치들, 명령 및 데이터를 저장하는 하나 이상의 메모리들, 및 네트워크(102)를 통한 통신을 돕는 하나 이상의 네트워크 인터페이스들을 포함할 수 있다. 예를 들어 서버들(104-105)은 MMTP를 이용하여 네트워크(102) 내 브로드캐스트 네트워크를 통해 미디어 데이터를 브로드캐스팅하는 서버들을 포함할 수 있다. 다른 예에서, 서버들(104-105)은 DASH를 이용하여 네트워크(102) 내 브로드캐스트 네트워크를 통해 미디어 데이터를 브로드캐스팅하는 서버들을 포함할 수 있다.
각각의 클라이언트 장치(106-115)는 네트워크(102)를 통해 적어도 하나의 서버 또는 다른 컴퓨팅 장치(들)과 상호 동작하는 어떤 적절한 컴퓨팅 또는 프로세싱 장치를 나타낸다. 이 예에서, 클라이언트 장치들(106-115)에는 데스크탑 컴퓨터(106), 모바일 전화나 스마트폰(108), PDA(personal digital assistant)(110), 랩탑 컴퓨터(112), 태블릿 컴퓨터(114), 및 세탑박스 및/또는 텔레비전(115)이 포함될 수 있다. 그러나, 어떤 다른, 혹은 추가적인 클라이언트 장치들이 통신 시스템(100) 내에서 사용될 수도 있다.
이 예에서, 일부 클라이언트 장치들(108-114)은 네트워크(102)와 간접적으로 통신한다. 예를 들어, 클라이언트 장치들(108-110)은 휴대전화 기지국들이나 eNodeB들과 같은 하나 이상의 기지국들(116)을 통해 통신한다. 또한 클라이언트 장치들(112-115)은 IEEE 802.11 무선 액세스 포인트들과 같은 하나 이상의 무선 액세스 포인트들(118)을 통해 통신한다. 이들은 다만 예시를 위한 것이며, 각각의 클라이언트 장치가 네트워크(102)와 직접 통신하거나 어떤 적절한 매개 장치(들)이나 네트워크(들)을 통해 네트워크(102)와 간접적으로 통신할 수도 있다는 것을 알아야 한다. 이하에서 보다 상세히 기술되는 바와 같이, 클라이언트 장치들(106-115)의 전부나 어느 하나는 MMT 및 DASH를 이용하여 브로드캐스트 및 광대역 미디어 데이터를 수신 및 제공하기 위한 하이브리드 구조를 포함할 수 있다.
도 1은 통신 시스템(100)의 일 예를 도시하고 있으나, 도 1에 대해 다양한 변형이 있을 수 있다. 예를 들어, 시스템(100)은 각각의 구성요소에 대해 임의 개를 임의의 적절한 구성으로 포함할 수도 있다. 일반적으로, 컴퓨팅 및 통신 시스템들은 광범위한 구성들로 나타나며, 도 1은 본 개시의 범위를 어떤 특정 구성으로 한정하지 않는다. 도 1은 본 특허 문서에서 개시된 다양한 특성들이 사용될 수 있는 하나의 동작 환경을 도시하고 있지만, 그러한 특성들은 어떤 다른 적절한 시스템에서 사용될 수도 있다.
도 2는 본 개시에 따른 컴퓨팅 시스템 내 예시적 장치를 도시한다. 특히 도 2는 예시적 클라이언트 장치(200)를 도시한다. 클라이언트 장치(200)는 도 1의 클라이언트 장치들(106-115) 중 하나 이상을 나타낼 수 있다.
도 2에 도시된 바와 같이, 클라이언트 장치(200)는 안테나(205), 트랜시버(210), 송신(TX) 처리 회로(215), 마이크로폰(220), 및 수신(RX) 처리 회로(225)를 포함한다. 클라이언트 장치(200)는 또한 스피커(220), 제어기(240), 입출력(input/output : I/O) 인터페이스(I/O interface : IF)(245), 키패드(250), 디스플레이(255), 및 메모리(260)를 포함한다. 메모리(260)는 운영체제(OS)(261)와 하나 이상의 애플리케이션들(263)을 포함한다.
트랜시버(210)는 안테나(205)로부터, 시스템 내 다른 구성요소가 전송한 유입 RF 신호를 수신한다. 트랜시버(210)는 유입 RF 신호를 하향 변환하여 중간 주파수(IF)나 기저대역 신호를 생성한다. IF 또는 기저대역 신호는 RX 처리 회로(225)로 보내지고, RX 처리 회로(225)는 기저대역 또는 IF 신호를 필터링, 디코딩 및/또는 이진화함으로써, 처리된 기저대역 신호를 생성한다. RX 처리 회로(225)는 처리된 기저대역 신호를 스피커(230)(음성 데이터 등의 경우)로, 혹은 추가 처리를 위해 제어기(240)(웹 브라우징 데이터와 같은 경우)로 전송한다.
TX 처리 회로(215)는 마이크로폰(220)으로부터 아날로그나 디지털 음성 데이터를, 또는 제어기(240)로부터 다른 유출(outgoing) 기저대역 데이터(웹 데이터, 이메일 또는 인터랙티브 비디오 게임 데이터)를 수신한다. TX 처리 회로(215)는 유출 기저대역 데이터를 인코딩, 멀티플렉싱 및/또는 이진화하여, 처리된 기저대역 또는 IF 신호를 생성한다. 트랜시버(210)는 처리된 유출 기저대역 또는 IF 신호를 TX 처리 회로(215)로부터 수신하고, 안테나(205)를 통해 전송되는 기저대역 또는 IF 신호를 RF 신호로 상향 변환한다.
제어기(240)는 하나 이상의 프로세서들 또는 다른 프로세싱 장치들을 포함할 수 있고, 클라이언트 장치(200)의 전반적 동작을 제어하기 위해 메모리(260)에 저장된 기본 운영 체제(261)를 실행한다. 예를 들어, 제어기(240)는 잘 알려진 원리들에 따라 트랜시버(210), RX 처리 회로(225), 및 TX 처리 회로(215)에 의해 포워드 채널 신호들의 수신 및 리버스 채널 신호들의 송신을 제어할 수도 있을 것이다. 일부 실시예들에서 제어기(240)는 적어도 하나의 마이크로프로세서나 마이크로컨트롤러를 포함한다.
제어기(240)는 메모리(260)에 상주하는 다른 프로세스들 및 프로그램들을 실행할 수도 있다. 제어기(240)는 실행 프로세스에 의해 요구될 때, 메모리(260) 안이나 밖으로 데이터를 옮길 수 있다. 일부 실시예들에서, 제어기(240)는 운영 체제(261)에 기반하거나 외부 장치들이나 운영자로부터 수신된 신호들에 응하여 애플리케이션들(263)을 실행하도록 구성된다. 제어기(240)는 또한, 클라이언트 장치(200)에 랩탑 컴퓨터들 및 핸드헬드 컴퓨터들과 같은 다른 장치들로의 연결 기능을 제공하는 I/O 인터페이스(245)와 결합된다. I/O 인터페이스(245)는 이러한 액세서리들 및 제어기(240) 사이의 통신 경로이다.
제어기(240)는 또한, 키패드(250) 및 디스플레이(255)와 결합된다. 클라이언트 장치(200)의 운영자는 키패드(250)를 사용하여 클라이언트 장치(200)로 데이터를 입력할 수 있다. 디스플레이(255)는 액정 디스플레이, 또는 웹 사이트들 등으로부터의 텍스트 및/또는 적어도 제한된 그래픽을 렌더링할 수 있는 다른 디스플레이일 수 있다.
메모리(260)는 제어기(240)와 결합된다. 메모리(260)의 일부는 RAM(random access memory)을 포함할 수 있고, 메모리(260)의 다른 일부는 플래쉬 메모리나 다른 ROM(read-only memory)을 포함할 수 있다.
이하에서 보다 상세히 기술되는 바와 같이, 클라이언트 장치(200)는 MMT 및 DASH를 이용하여 브로드캐스트 및 광대역 미디어 데이터를 수신 및 제공하기 위한 하이브리드 구조를 포함할 수 있다.
도 2는 컴퓨팅 시스템 내 어느 장치의 예를 도시하고 있으나, 도 2에 대해 다양한 변형이 이루어질 수 있다. 예를 들어, 도 2 안의 여러 구성요소들이 결합되거나, 더 세부 분할되거나, 생략될 수 있고, 특정 수요에 따라 추가 구성요소들이 추가될 수 있다. 특정 예로서, 제어기(240)는 하나 이상의 중앙 처리 유닛(central processing unit : CPU)들 및 하나 이상의 그래픽 처리 유닛(graphics processing unit : GPU)들과 같은 여러 프로세서들로 분할될 수 있다. 또한, 도 2는 모바일 전화나 스마트폰으로서 구성되는 클라이언트 장치(200)를 도시하고 있지만, 클라이언트 장치들은 예컨대, 비한정적으로 세탑 박스, 텔레비전, 및 미디어 스트리밍 장치를 포함하는 다른 유형의 모바일 또는 고정 장치들로서 동작하도록 구성될 수도 있다. 또한, 컴퓨팅 및 통신 네트워크들을 사용하는 것과 같이, 클라이언트 장치들 및 서버들은 광범위한 구성들로 나타날 수 있으며, 도 2가 본 개시를 어떤 특정한 클라이언트 장치나 서버로 한정하지 않는다.
도 3은 본 개시에 따라 MMT에 의해 제공되는 예시적 기능들을 도시한다. 도 3에 도시된 실시예는 다만 예시를 위한 것일 뿐이다. 본 개시의 범위로부터 벗어나지 않고 다른 실시예들이 사용될 수도 있다.
MMT에 의해 제공되는 기능들은 기능 영역들, 즉 작성 영역, 캡슐화 영역(302), 전달 영역(304), 및 시그날링 영역(306)으로 분류된다. 캡슐화 영역(302)은 미디어 콘텐츠의 논리적 구조, MMT 패키지, 및 MMT 준수 개체에 의해 처리될 데이터 유닛들의 포맷을 규정한다. MMT 패키지는 미디어 콘텐츠를 가지는 하나 이상의 구성 요소들 및 구성 요소들 사이의 관계에 대한 설명들을 포함하여, 적응적 동작을 위해 기본 전달 영역(304)에 정보를 제공하도록 한다. 데이터 유닛들의 포맷은 전달 프로토콜의 페이로드로서 저장되거나 운반되고, 다양한 전달 프로토콜들 사이에서 쉽게 전환되도록, 미디어 콘텐츠의 코딩된 미디어 데이터를 캡슐화하도록 규정된다.
전달 영역(304)은 전송 프로토콜(MMTP) 및 페이로드 포맷을 규정한다. MMTP는 FLUTE 같은 종래의 파일 전달 프로토콜들과 비교할 때, 미디어 데이터의 전달에 대해 개선된 특징을 제공한다. 페이로드 포맷은 특정 미디어 유형이나 인코딩 방법과 무관한 방법으로 ISO 미디어 베이스 파일 포맷 캡슐화 코딩된 미디어 데이터를 운반하는 것으로 정의된다.
시그날링 영역(306)은 MMT 패키지들의 전달 및 소비를 관리하기 위한 메시지들의 포맷을 정의한다. 소비 관리를 위한 메시지들이 MMT 패키지들의 구조를 시그날링하는데 사용되며, 전달 관리를 위한 메시지들은 페이로드 포맷의 구조 및 프로토콜의 구성을 시그날링하는데 사용된다.
캡슐화 영역(302)은 미디어 콘텐츠의 논리적 구조, MMT 패키지, 및 MMT 준수 개체에 의해 처리될 데이터 유닛들의 포맷을 규정한다. MMT 패키지는 제공 및 적응적 전송에 필요한 정보를 제공하기 위해 미디어 콘텐츠를 포함하는 성분들 및 그들 사이의 관계를 특정한다. 데이터 유닛들의 포맷은 전달 프로토콜의 페이로드로서 저장되거나 운반되고, 다양한 포맷들 사이에서 쉽게 전환되도록 코딩된 매체를 캡슐화하도록 규정된다.
MMT 클라이언트와 직접 연결된 개체에 의해 개별적으로 소비될 수 있는 어떤 데이터의 유형이 개별 MMT 애셋(asset)이다. 이것은 하나의 미디어 코덱에 의해 디코딩 가능한 코딩된 미디어 데이터뿐만 아니라 이미 다중화된 다른 데이터의 유형들도 포함한다. MPU들은 MPU 안에 운반된 데이터의 작은 프래그먼트들의 경계들 및 사이즈들과 같은 기본 전달 영역의 패킷 사이즈에 대한 제약들에 따라 적응적 패킷화를 위한 미디어 데이터에 대한 정보를 제공한다. 그러한 작은 프래그먼트들은 미디어 프래그먼트 유닛들(Media Fragment Units : MFUs)이라 알려져 있다. 이것은 기본 전달 영역 개체가 전달 영역(304)의 최대 전송 유닛의 크기에 기반하여 MPU들을 적응적으로 동적 패킷화할 수 있게 한다. MFU들은 어드밴스드 비디오 코딩(Advanced Video Coding : AVC) 비트스트림의 네트워크 추상화 계층(Network Abstraction Layer : NAL) 유닛과 같이 그러한 프래그먼트들이 독립적으로 디코딩되거나 버려질 수 있게 하는 코딩된 미디어 데이터의 작은 프래그먼트들을 운반한다.
도 4는 본 개시에 따른 예시적인 적응적 HTTP(Hypertext Transmission Protocol) 스트리밍(adaptive HTTP streaming : AHS) 구조(400)를 도시한다. 도 4에 도시된 바와 같이, 이 구조(400)는 콘텐츠 준비 모듈(402), HTTP 스트리밍 서버(404), HTTP 캐시(406), 및 HTTP 스트리밍 클라이언트(408)를 포함한다. 일부 실시예들에서, 상기 구조(400)는 시스템(100) 안에서 구현될 수 있다.
도 5는 본 개시에 따른 예시적 MPD(Media Presentation Description) 파일(500)의 구조를 도시한다. 도 5에 도시된 바와 ƒˆ이, MPD 파일(500)은 미디어 표현(502), 주기(504), 적응 집합(506), 재현(representation)(508), 초기 세그먼트(510), 및 미디어 세그먼트들(512a-512b)을 포함한다. 일부 실시예들에서, MPD 파일(500)은 도 2에 도시된 바와 같이 클라이언트 장치(200) 내에서 구현될 수 있다.
도 4 및 5를 참조할 때, DASH 프로토콜에서, 콘텐츠가 다수의 세그먼트들로 분할되는 콘텐츠 준비 단계가 수행될 수 있다. 콘텐츠 준비 모듈(402)이 이러한 콘텐츠 준비를 수행할 수 있다. 또한, 미디어 플레이어를 설정하는데 사용되는 정보를 운반하기 위한 초기화 세그먼트가 생성될 수 있다. 그 정보는 미디어 세그먼트들이 클라이언트 장치에 의해 사용될 수 있게 한다. 콘텐츠는 여러 비트레이트들과 같은 여러 변형들로 인코딩될 수 있다. 각각의 변형(variant)이 콘텐츠의 재현(408)에 상응한다. 재현들(408)은 서로 택일적인 것이거나 서로를 보완할 수 있다. 전자의 경우, 클라이언트 장치는 선택적인 재현들(408)의 그룹에서 하나의 대안만을 선택한다. 택일적 재현들(408)이 적응 집합(406)으로서 함께 그룹화된다. 클라이언트 장치는 계속해서, 추가 미디어 성분들을 포함하는 보완 재현들을 추가할 수 있다.
DASH 스트리밍을 위해 제공되는 콘텐츠가 클라이언트 장치에 대해 기술될 수 있다. 이는 MPD 파일(400)을 사용하여 수행될 수 있다. MPD 파일(400)은 콘텐츠에 대한 서술, 콘텐츠의 주기들, 적응 집합들, 콘텐츠의 재현들, 및 각각의 콘텐츠를 액세스하는 방법을 포함하는 확장형 마크업 언어(eXtensible Markup Language : XML) 파일이다. MPD 요소는 MPD 파일 안의 메인 요소인데, 이는 그것이 콘텐츠가 이용 가능한 동안의 타임 윈도우 및 해당 유형과 같은 콘텐츠에 대한 일반 정보를 포함하기 때문이다. MPD 파일(400)은 또한, 각각이 콘텐츠의 시간 세그먼트를 서술하는 하나 이상의 주기들(404)을 포함한다. 각각의 주기(404)는 하나 이상의 적응 집합들(406) 안에 그룹화된 콘텐츠의 하나 이상의 재현들(408)을 포함할 수 있다. 각각의 재현(408)은 특정한 설정을 통한 하나 이상의 콘텐츠 성분들의 인코딩이다. 재현들(408)은 주로 그들의 대역폭 요건들, 그들이 포함하는 미디어 성분들, 사용하는 코덱들, 언어들 등에서 상이하다.
도 6은 본 개시에 따른 분할(fragmented) ISO(International Standards Organization) 기반 파일 포맷(ISO-base file format : ISBOFF) 미디어 파일(600)의 예시적 구조를 도시한다. 일부 실시예들에서, ISOFF 미디어 파일(600)은 시스템(100) 안에서 구현될 수 있다. DASH의 한 사용 시나리오에서, ISO 기반 파일 포맷 및 그 파생 포맷들(MP4 및 3GP 파일 포맷들)이 사용된다. 콘텐츠는 소위 영화 프래그먼트들로 저장된다. 각각의 영화 프래그먼트는 미디어 데이터 및 대응하는 메타데이터를 포함한다. 미디어 데이터는 재현의 모든 미디어 성분들로부터의 미디어 샘플들의 모음이다. 각각의 미디어 성분은 파일의 트랙으로서 기술된다.
본 개시의 하나 이상의 실시예들은, HTTP를 통한 멀티미디어 서비스의 전송이 점점 대중화되어 가고 있음에도, 그것이 불필요한 오버헤드를 가중하기 때문에 기술적으로는 그다지 효율적인 해법이 아니라는 점을 인지 및 참작한다. 예를 들어, 그것은 클라이언트가 현재의 미디어 세그먼트로부터 어떤 것도 바꿀 필요가 없는데도, 클라이언트가 항상 미디어 세그먼트들을 요청해야 하기 때문에 불필요한 시그날링 오버헤드를 가중시킨다. 또한, "요청시 전송한다(request-send)"는 것에 기반하는 동작을 요하는 HTTP의 기본 특성 탓에, 낮은 지연의 실시간 실황 스트리밍 서비스를 구현하는 것이 어렵다.
DASH에서, 클라이언트는 미디어 세션을 전적으로 담당하고, 어떤 특정 시간에 어떤 재현을 사용할지를 결정함으로써 레이트 적응을 제어한다. 따라서 DASH는 클라이언트 주도의 미디어 스트리밍 해법이다.
본 개시의 하나 이상의 실시예들은 DASH가 인터넷을 통한 HTTP 프로토콜을 이용하는 사실 상의 미디어 전달 해법이 되고 있다는 점을 인지 및 참작한다. 많은 양의 콘텐츠가 DASH 포맷으로 용이하게 이용될 수 있으며, 브로드캐스트 채널들을 통한 콘텐츠 배포에 대해서도 역시 같은 포맷을 사용하는 것이 적절하다. 현재, 브로드캐스트 채널을 통해 DASH 콘텐츠를 배포하기 위한 유일한 방법은 해당 목적에 대해 FLUTE와 같은 파일 전달 프로토콜을 사용하는 것이다. 그러나 FLUTE는 파일을 전달하기 위해 고안된 것으로, 미디어 스트리밍 애플리케이션들에는 적합하지 않다.
본 개시는 미디어 콘텐츠의 재생을 위해 (잠정적으로 어떤 변형도 없는) DASH 클라이언트의 동작을 가능하게 하는, MMTP 세션으로부터 DASH 세그먼트들을 복구하는 방법 및 장치를 제공한다.
도 7은 본 개시에 따른 서버의 제공 순서를 나타내기 위한 프로세스(700)를 도시한다. 일 예에서, 도 2의 클라이언트 장치(200)가 상기 프로세스를 구현할 수 있다.
본 개시의 일 실시예에 따르면, 동작 710에서 클라이언트가 MMTP 패킷 스트림을 수신한다. 클라이언트는 인터넷, 브로드캐스트, 셀룰라, Wi-Fi, 및 어떤 다른 무선 네트워크를 포함할 수 있는 네트워크를 통해 MMTP 패킷 스트림을 수신할 수 있다. MMTP 패킷 스트림을 데이터 스트림이라 부를 수 있다. 패킷 스트림은 DASH 세그먼트 무비 프래그먼트 바이 무비 프래그먼트(DASH segments movie fragment-by-movie fragment)를 포함한다. 동작 720에서, 클라이언트는 무비 프래그먼트들을 복구한다.
동작 730에서 클라이언트는 세그먼트 경계가 존재하는지 여부를 식별한다. 세그먼트 경계가 존재하지 않으면, 클라이언트는 동작 710으로 이동한다. 세그먼트 경계가 존재하면, 동작 740에서 클라이언트가 세그먼트 및 그 세그먼트의 세그먼트 넘버를 복구한다.
동작 750에서, 클라이언트는 세그먼트 URL(uniform resource locator)을 복구한다. URL은 세그먼트 넘버에 기반하여 복구된다. 동작 760에서, 클라이언트는 세그먼트 및 그 메타데이터가 클라이언트 플레이어에서 사용될 수 있게 한다.
다양한 실시예들에서, MMTP 세션을 통해 복구된 DASH 세그먼트들이 클라이언트에 있는 HTTP 캐시(cache)에 위치됨으로써, DASH 플레이어가 HTTP 겟(get) 요청을 사용하여 그러한 세그먼트들을 명쾌하게 액세스할 수 있다.
본 개시의 하나 이상의 실시예들은 MPEG-DASH라고도 알려진 DASH가 종래의 HTTP 웹 서버들에서 인터넷을 통해 전달되는 미디어 콘텐츠의 고품질 스트리밍을 가능하게 하는 적응적 비트레이트 스트리밍 기법임을 인지하고 참작한다. MPEG-DASH는 콘텐츠를 일련의 작은 HTTP 기반 파일 세그먼트들로 분해하는 것으로 동작하는데, 이때 상기 각각의 세그먼트는 영화나 스포츠 이벤트의 실황 방송과 같이 잠정적으로 듀레이션(duration)이 수 시간인 콘텐츠의 재생 시간 중 짧은 구간을 포함한다. 콘텐츠는 광범위한 여러 비트 레이트로 이용 가능하다, 즉, 재생 시간 중 나란한 짧은 구간들을 커버하는 여러 비트 레이트들로 인코딩되는 다른 세그먼트들이 사용될 수 있다. 콘텐츠가 MPEG-DASH 클라이언트에 의해 재생되므로, 클라이언트는 자동으로, 현재의 네트워크 상태에 기반하여 다운로드 및 재생할 다음 세그먼트를 그러한 대안들로부터 선택한다. 클라이언트는 재생 시 지연되거나 재버퍼링을 유발하지 않고, 재생 시 제 시간에 다운로드될 수 있는 가능한 최고 비트 레이트의 세그먼트를 선택한다.
한 예시적 실시예에서, 제어기는 네트워크를 통해, 콘텐츠로서 미분할(un-segmented) 미디어 데이터를 포함하는 데이터 스트림을 수신하고; 세그먼트들을 식별하기 위해 상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하고; 상기 세그먼트 경계들에 기반하여 MPD(media presentation description)로부터 상기 식별된 세그먼트들 각각의 세그먼트 넘버를 결정하고; 상기 복수의 DASH 세그먼트들 각각의 세그먼트 넘버에 기반하여 복수의 DASH(dynamic adaptive streaming over hypertext transfer protocol(DASH)) 세그먼트들 각각과 연관된 URL(uniform resource locator)를 복구하고; 상기 복수의 DASH 세그먼트들 각각과 연관된 상기 URL을 클라이언트 플레이어로 제공하도록 구성된다.
일 실시예에서, 미디어 데이터는 오디오 또는 비디오 콘텐츠인 콘텐츠를 포함할 수 있다. 일 예에서, 미분할 미디어 데이터는 DASH 세그먼트로 분할되지 않은 데이터를 일컫는다.
일 실시예의 한 예에서, 상기 제어기는 상기 복수의 DASH 세그먼트들 각각과 연관된 상기 URL에 대한 메타데이터를 상기 클라이언트 플레이어로 제공하도록 구성된다.
일 실시예의 한 예에서, 상기 미분할 미디어 데이터 내 상기 세그먼트 경계들을 식별하는 동작은, 상기 제어기가 상기 미분할 미디어 데이터에서 세그먼트 경계를 나타내는 세그먼트 인덱스 박스를 식별하도록 구성되는 것을 포함한다.
일 실시예의 한 예에서, 상기 미분할 미디어 데이터 내 상기 세그먼트 경계들을 식별하는 동작은, 상기 제어기가 상기 미분할 미디어 데이터 내 한 샘플의 타임스탬프를 식별하고, 세그먼트의 시작 또는 종료 시간이 상기 타임스탬프와 매치하는지 여부를 판단하고, 상기 타임스탬프와 매치하는 세그먼트의 시작 또는 종료 시간에 따라, 상기 샘플을 세그먼트 경계로서 식별하도록 구성되는 것이다.
일 실시예의 한 예에서, 상기 데이터 스트림은 복수의 프래그먼트들로서 수신되고, 상기 샘플은 프래그먼트의 제1샘플이며, 상기 세그먼트의 시작 또는 종료 시간이 타임스탬프와 매치하는지 여부를 판단하는 동작은 제어기가 상기 시작 또는 종료 시간을 세그먼트의 듀레이션으로 나누도록 구성되는 것을 포함한다.
일 실시예의 한 예에서, 상기 MPD는 상기 세그먼트들의 시작 또는 종료 시간을 나타낸다.
일 실시예의 한 예에서, 상기 미분할 미디어 데이터 내 상기 세그먼트 경계들을 식별하는 동작은, 상기 제어기가 상기 미분할 미디어 데이터의 패킷 헤더에서 세그먼트 경계를 나타내는 마커를 식별하도록 구성되는 것을 포함한다.
일 실시예의 한 예에서, 상기 데이터 스트림은 복수의 프래그먼트들로서 수신되고, 상기 미분할 미디어 데이터에서 세그먼트 경계들을 식별하는 단계는 상기 제어기가 상기 미분할 미디어 데이터 내 일정 양의 프래그먼트들을 수신하고, 그 프래그먼트들의 양에 기반하여 세그먼트 경계를 식별하도록 구성되는 것을 포함한다.
일 실시예의 한 예에서, 상기 데이터 스트림은 복수의 프래그먼트들로서 수신되고, 상기 미분할 미디어 데이터에서 세그먼트 경계들을 식별하는 단계는 상기 제어기가 각각의 세그먼트의 듀레이션을 수신하고, 상기 세그먼트의 듀레이션에 기반하여 세그먼트 경계를 식별하도록 구성되는 것을 포함한다.
일 실시예의 한 예에서, 상기 세그먼트 인덱스 박스는 세그먼트의 시작부를 지시한다.
도 8은 본 개시에 따른 세그먼트(800)의 예시적 구조를 도시한다. 도 8에 도시된 바와 같이, 세그먼트(800)는 세그먼트 인덱스 박스("sidx")(802), 무비 프래그먼트들("moof")(806 및 808), 및 미디어 데이터("mdat")(810 및 812)를 포함한다. moof(806)는 트랙 프래그먼트 디코딩 시간("tfdt") 박스(820)를 포함할 수 있고, moof(808)는 tfdt 박스(822)를 포함할 수 있다. 다음 세그먼트(818)는 sidx(830), moof(835), 및 mdat(840)을 포함한다. Moof(835)는 tfdt 박스(845)를 포함할 수 있다. 일부 실시예들에서, 세그먼트(800)는 도 2에 도시된 바와 같이 클라이언트 장치(200) 내에서 구현될 수 있다.
일부 실시예들에서 세그먼트(800)는 이전 세그먼트 및 세그먼트(800)에서 sidx(802)의 존재를 이용하여 경계(814)를 식별함으로써 복구된다. 경계(816)는 다음 세그먼트(818)의 sidx(816)에 의해 식별될 수 있다. 다른 실시예들에서, 경계들(814 및 816)은 세그먼트 끝에 있는 sidx들에 의해 식별될 수 있다.
다른 실시예들에서 세그먼트(800)는 moof(806 또는 808)에서 제1샘플의 타임스탬프를 체크하고, MPD를 사용하여 같은 시작 시간을 가지는 미디어 세그먼트를 식별하도록 함으로써 복구된다. 예를 들어, 타임스탬프는 트랙 프래그먼트 디코딩 시간("tfdt") 박스(820) 또는 tfdt 박스(822)로부터 추출될 수 있다. 이는, 예컨대 그 재현에 대한 미디어 세그먼트의 듀레이션으로 프래그먼트 시작 시간을 분할함으로써 행해질 수 있다.
또 다른 실시예들에서, 클라이언트에게 각각의 미디어 세그먼트 내 무비 프래그먼트들의 개수에 대해 알려주거나, 세그먼트 듀레이션을 이용하거나, 새 세그먼트의 시작을 알리거나 세그먼트 넘버를 제공하기 위해 패킷 헤더의 일부로서 마커를 삽입함으로써, 세그먼트 경계가 내재적으로나 명시적으로 시그날링될 수 있다.
이 특허 문서 전체에 걸쳐 사용된 소정 단어들과 어구들에 대한 정의를 설명하는 것이 바람직할 수 있다. "연결(결합)한다"는 말과 그 파생어들은 둘 이상의 구성요소들이 서로 물리적 접촉 상태에 있는지 그렇지 않든지, 그들 간의 어떤 직접적이거나 간접적인 통신을 일컫는다. "전송한다", "수신한다", 그리고 "통신한다" 라는 용어들뿐 아니라 그 파생어들은 직간접적 통신 모두를 포함한다. "포함하다" 및 "구비한다"는 용어들 및 그 파생어들은 제한 없는 포함을 의미한다. "또는"이라는 말은 '및/또는'을 의미하는 포괄적인 말이다 "~와 관련된다" 및 그 파생어들은 포함한다, ~ 안에 포함된다, ~와 상호연결한다, 내포한다, ~안에 내포된다, ~에/와 연결한다, ~에/와 결합한다, ~와 통신할 수 있다, ~와 협력한다, 개재한다, 나란히 놓는다, ~에 근사하다, ~에 속박된다, 가진다, ~의 특성을 가진다, ~와 관계를 가진다는 등의 의미이다. "제어기"라는 용어는 적어도 한 동작을 제어하는 어떤 장치, 시스템, 또는 그 일부를 의미한다. 그러한 제어기는 하드웨어나 하드웨어와 소프트웨어 및/또는 펌웨어의 조합으로 구현될 수 있다. 어떤 특정 제어기와 관련된 기능은 국지적이든 원격으로든 중앙 집중되거나 분산될 수 있다. "적어도 하나의~"라는 말은 항목들의 리스트와 함께 사용될 때, 나열된 항목들 중 하나 이상의 서로 다른 조합들이 사용될 수 있고, 그 리스트 내 오직 한 항목만이 필요로 될 수 있다는 것을 의미한다. 예를 들어, "A, B, 및 C 중 적어도 하나"는 A, B, C, A 와 B, A와 C, B와 C, 및 A와 B와 C의 조합들 중 어느 하나를 포함한다.
또한, 이 특허 문서에 기술되는 다양한 기능들은 하나 이상의 컴퓨터 프로그램들에 의해 구현되거나 지원될 수 있으며, 그 프로그램들 각각은 컴퓨터 판독가능 프로그램 코드로 구성되고 컴퓨터 판독가능 매체에서 실시된다. "애플리케이션" 및 "프로그램"이라는 용어는 하나 이상의 컴퓨터 프로그램, 소프트웨어 성분, 명령어 집합, 절차, 함수, 객체, 클래스, 인스턴스, 관련 데이터, 또는 적합한 컴퓨터 판독가능 프로그램 코드의 구현에 적합한 그들의 일부를 일컫는다. "컴퓨터 판독가능 프로그램 코드"라는 말은 소스 코드, 객체 코드, 및 실행 코드를 포함하는 모든 타입의 컴퓨터 코드를 포함한다. "컴퓨터 판독가능 매체"라는 말은 ROM(read only memory), RAM(random access memory), 하드 디스크 드라이브, 컴팩트 디스크(compact disc : CD), 디지털 비디오 디스크(digital video disc : DVD), 또는 어떤 다른 유형의 메모리와 같이, 컴퓨터에 의해 액세스될 수 있는 모든 유형의 매체를 포함한다. "비일시적" 컴퓨터 판독가능 매체는 일시적인 전기 또는 기타 신호들을 전송하는 유선, 무선, 광학, 또는 기타 통신 링크들을 배제한다. 비일시적 컴퓨터 판독가능 매체는 데이터가 영구적으로 저장될 수 있는 매체, 및 재기록 가능 광학 디스크나 삭제가능 메모리 장치와 같이 데이터가 저장되고 나중에 덮어씌어질 수 있는 매체를 포함한다.
본 개시는 예시적 실시예와 함께 기술되었지만, 당업자에게 다양한 변경 및 수정안이 제안될 수 있다. 본 개시는 그러한 변경 및 수정이 첨부된 청구범위 안에 드는 것으로 포괄하도록 되어 있다.

Claims (20)

  1. 사용자 장치에 있어서,
    적어도 하나의 메모리; 및
    상기 적어도 하나의 메모리와 연결되는 적어도 하나의 프로세싱 장치를 포함하고, 상기 적어도 하나의 프로세싱 장치는
    네트워크를 통해, 콘텐츠로서 미분할 미디어 데이터를 포함하는 데이터 스트림을 수신하고;
    상기 미분할 미디어 데이터 내에서, 세그먼트 경계를 나타내는 세그먼트 인덱스 박스를 식별하고;
    세그먼트들을 식별하기 위해 상기 세그먼트 인덱스 박스를 기반으로 상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하고;
    상기 세그먼트 경계들에 기반하여 미디어 프리젠테이션 디스크립션(media presentation description: MPD)로부터 상기 식별된 세그먼트들 각각의 세그먼트 넘버를 결정하고;
    복수의 대쉬(dynamic adaptive streaming over hypertext transfer protocol(DASH)) 세그먼트들 각각의 세그먼트 넘버에 기반하여 상기 복수의 DASH 세그먼트들 각각과 연관된 유니폼 리소스 로케이터(uniform resource locator: URL)을 조회하고;
    상기 복수의 DASH 세그먼트들 각각과 연관된 상기 URL을 클라이언트 플레이어로 제공하도록 구성됨을 특징으로 하는 사용자 장치.
  2. 제1항에 있어서,
    상기 적어도 하나의 프로세싱 장치는
    상기 복수의 DASH 세그먼트들 각각과 연관된 상기 URL에 대한 메타데이터를 상기 클라이언트 플레이어로 제공하도록 더 구성됨을 특징으로 하는 사용자 장치.
  3. 삭제
  4. 제1항에 있어서,
    상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하는 동작은 상기 적어도 하나의 프로세싱 장치가
    상기 미분할 미디어 데이터 내 샘플의 타임스탬프를 식별하고;
    세그먼트의 시작 또는 종료 시간이 상기 타임스탬프와 매치하는지 여부를 판단하고,
    상기 타임스탬프와 매치하는 상기 세그먼트의 시작 또는 종료 시간에 따라, 상기 샘플을 상기 세그먼트 경계로서 식별하도록 구성됨을 특징으로 하는 사용자 장치.
  5. 제4항에 있어서,
    상기 데이터 스트림이 복수의 프래그먼트들로서 수신되고, 상기 샘플은 한 프래그먼트의 제1샘플이며, 상기 세그먼트의 시작 또는 종료 시간이 상기 타임스탬프와 매치하는지 여부를 판단하는 동작은 상기 적어도 하나의 프로세싱 장치가
    상기 세그먼트의 듀레이션(duration)으로 상기 시작 또는 종료 시간을 분할하도록 구성됨을 특징으로 하는 사용자 장치.
  6. 제1항에 있어서,
    상기 MPD는 상기 세그먼트들의 시작 또는 종료 시간을 나타냄을 특징으로 하는 사용자 장치.
  7. 제1항에 있어서,
    상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하는 동작은 상기 적어도 하나의 프로세싱 장치가
    상기 미분할 미디어 데이터의 패킷 헤더 내에서, 상기 세그먼트 경계를 지시하는 마커를 식별하도록 구성됨을 특징으로 하는 사용자 장치.
  8. 제1항에 있어서,
    상기 데이터 스트림은 복수의 프래그먼트들로서 수신되고, 상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하는 동작은 상기 적어도 하나의 프로세싱 장치가
    상기 미분할 미디어 데이터 내 일정 양의 프래그먼트들을 수신하고;
    상기 프래그먼트들의 양에 기반하여 상기 세그먼트 경계를 식별하도록 구성됨을 특징으로 하는 사용자 장치.
  9. 제1항에 있어서,
    상기 데이터 스트림은 복수의 프래그먼트들로서 수신되고, 상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하는 동작은 상기 적어도 하나의 프로세싱 장치가
    각각의 세그먼트의 듀레이션을 수신하고;
    상기 세그먼트의 듀레이션에 기반하여 상기 세그먼트 경계를 식별하도록 구성됨을 특징으로 하는 사용자 장치.
  10. 제1항에 있어서,
    상기 세그먼트 인덱스 박스는 세그먼트의 시작을 지시함을 특징으로 하는 사용자 장치.
  11. 콘텐츠 관리 방법에 있어서,
    네트워크를 통해, 콘텐츠로서 미분할 미디어 데이터를 포함하는 데이터 스트림을 수신하는 과정;
    상기 미분할 미디어 데이터 내에서, 세그먼트 경계를 나타내는 세그먼트 인덱스 박스를 식별하는 과정;
    세그먼트들을 식별하기 위해 상기 세그먼트 인덱스 박스를 기반으로 상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하는 과정;
    상기 세그먼트 경계들에 기반하여 미디어 프리젠테이션 디스크립션(media presentation description: MPD)로부터 상기 식별된 세그먼트들 각각의 세그먼트 넘버를 결정하는 과정;
    복수의 대쉬(dynamic adaptive streaming over hypertext transfer protocol(DASH)) 세그먼트들 각각의 세그먼트 넘버에 기반하여 상기 복수의 DASH 세그먼트들 각각과 연관된 유니폼 리소스 로케이터(uniform resource locator: URL)을 조회하는 과정; 및
    상기 복수의 DASH 세그먼트들 각각과 연관된 상기 URL을 클라이언트 플레이어로 제공하는 과정을 포함하는 콘텐츠 관리 방법.
  12. 제11항에 있어서,
    상기 복수의 DASH 세그먼트들 각각과 연관된 상기 URL에 대한 메타데이터를 상기 클라이언트 플레이어로 제공하는 과정을 더 포함하는 콘텐츠 관리 방법.
  13. 삭제
  14. 제11항에 있어서,
    상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하는 과정은,
    상기 미분할 미디어 데이터 내 샘플의 타임스탬프를 식별하는 과정;
    세그먼트의 시작 또는 종료 시간이 상기 타임스탬프와 매치하는지 여부를 판단하는 과정; 및
    상기 타임스탬프와 매치하는 상기 세그먼트의 시작 또는 종료 시간에 따라, 상기 샘플을 상기 세그먼트 경계로서 식별하는 과정을 포함함을 특징으로 하는 콘텐츠 관리 방법.
  15. 제14항에 있어서,
    상기 데이터 스트림이 복수의 프래그먼트들로서 수신되고, 상기 샘플은 한 프래그먼트의 제1샘플이며, 상기 세그먼트의 시작 또는 종료 시간이 상기 타임스탬프와 매치하는지 여부를 판단하는 과정은,
    상기 세그먼트의 듀레이션(duration)으로 상기 시작 또는 종료 시간을 분할하는 과정을 포함함을 특징으로 하는 콘텐츠 관리 방법.
  16. 제11항에 있어서,
    상기 MPD는 상기 세그먼트들의 시작 또는 종료 시간을 나타냄을 특징으로 하는 콘텐츠 관리 방법.
  17. 제11항에 있어서,
    상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하는 과정은,
    상기 미분할 미디어 데이터의 패킷 헤더 내에서, 상기 세그먼트 경계를 지시하는 마커를 식별하는 과정을 포함함을 특징으로 하는 콘텐츠 관리 방법.
  18. 제11항에 있어서,
    상기 데이터 스트림은 복수의 프래그먼트들로서 수신되고, 상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하는 과정은,
    상기 미분할 미디어 데이터 내 일정 양의 프래그먼트들을 수신하는 과정; 및
    상기 프래그먼트들의 양에 기반하여 상기 세그먼트 경계를 식별하는 과정을 포함함을 특징으로 하는 콘텐츠 관리 방법.
  19. 제11항에 있어서,
    상기 데이터 스트림은 복수의 프래그먼트들로서 수신되고, 상기 미분할 미디어 데이터 내 세그먼트 경계들을 식별하는 과정은,
    각각의 세그먼트의 듀레이션을 수신하는 과정; 및
    상기 세그먼트의 상기 듀레이션에 기반하여 상기 세그먼트 경계를 식별하는 과정을 포함함을 특징으로 하는 콘텐츠 관리 방법.
  20. 제11항에 있어서,
    상기 세그먼트 인덱스 박스는 세그먼트의 시작을 지시함을 특징으로 하는 콘텐츠 관리 방법.
KR1020167021728A 2014-01-09 2015-01-09 브로드캐스트 채널을 통한 dash 콘텐츠 스트리밍 방법 및 장치 KR102301333B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201461925486P 2014-01-09 2014-01-09
US61/925,486 2014-01-09
US14/592,640 US11310302B2 (en) 2014-01-09 2015-01-08 Method and apparatus for streaming dash content over broadcast channels
US14/592,640 2015-01-08
PCT/KR2015/000239 WO2015105377A1 (en) 2014-01-09 2015-01-09 Method and apparatus for streaming dash content over broadcast channels

Publications (2)

Publication Number Publication Date
KR20160106718A KR20160106718A (ko) 2016-09-12
KR102301333B1 true KR102301333B1 (ko) 2021-09-15

Family

ID=53496105

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167021728A KR102301333B1 (ko) 2014-01-09 2015-01-09 브로드캐스트 채널을 통한 dash 콘텐츠 스트리밍 방법 및 장치

Country Status (3)

Country Link
US (1) US11310302B2 (ko)
KR (1) KR102301333B1 (ko)
WO (1) WO2015105377A1 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104885430B (zh) * 2013-11-29 2019-05-07 华为终端(深圳)有限公司 在家庭网络中播放媒体的装置和方法
EP3151242B1 (en) * 2014-05-30 2020-01-15 Sony Corporation Information processor and information processing method
BR112016027506B1 (pt) * 2014-05-30 2023-04-11 Sony Corporation Aparelho e método de processamento de informação
EP3846480A1 (en) * 2015-02-09 2021-07-07 bitmovin GmbH Client, live-streaming server and data stream using an information on a current segment of a sequence of segments
US10349095B2 (en) * 2015-05-07 2019-07-09 Lg Electronics Inc. Transmission device for processing video data related to HDR/SDR and method for controlling the same
WO2017018775A1 (ko) * 2015-07-28 2017-02-02 엘지전자 주식회사 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법 및 방송 신호 수신 방법
US11233868B2 (en) 2016-01-28 2022-01-25 Mediatek Inc. Method and system for streaming applications using rate pacing and MPD fragmenting
US10917477B2 (en) * 2016-05-25 2021-02-09 Samsung Electronics Co., Ltd. Method and apparatus for MMT integration in CDN
KR20180021997A (ko) 2016-08-23 2018-03-06 삼성전자주식회사 영상 전송을 위한 무선 송신 장치, 시스템온칩 및 그 방법
CN107800734A (zh) * 2016-08-31 2018-03-13 北京优朋普乐科技有限公司 一种分片下载方法、装置及系统
US11606528B2 (en) 2018-01-03 2023-03-14 Saturn Licensing Llc Advanced television systems committee (ATSC) 3.0 latency-free display of content attribute
US11044294B2 (en) * 2018-01-03 2021-06-22 Sony Group Corporation ATSC 3.0 playback using MPEG media transport protocol (MMTP)
CN112673638B (zh) * 2018-07-06 2024-04-19 诺基亚技术有限公司 处理媒体数据的方法和装置
US10986402B2 (en) * 2018-07-11 2021-04-20 Qualcomm Incorporated Time signaling for media streaming
US10743069B2 (en) 2018-12-10 2020-08-11 Sony Corporation Delivery of information related to digital rights management (DRM) in a terrestrial broadcast system
US11706465B2 (en) 2019-01-15 2023-07-18 Sony Group Corporation ATSC 3.0 advertising notification using event streams
CN112637690B (zh) * 2019-09-24 2021-12-24 广州虎牙科技有限公司 交互视频的制作方法和装置、服务器
KR102401372B1 (ko) * 2019-10-30 2022-05-24 경희대학교 산학협력단 이종 네트워크를 통해 수신한 콘텐츠의 삽입 방법 및 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
KR20120034550A (ko) * 2010-07-20 2012-04-12 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
KR101754414B1 (ko) 2010-09-06 2017-07-07 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
US9026671B2 (en) 2011-04-05 2015-05-05 Qualcomm Incorporated IP broadcast streaming services distribution using file delivery methods
US9591361B2 (en) * 2011-09-07 2017-03-07 Qualcomm Incorporated Streaming of multimedia data from multiple sources
CN104185996B (zh) 2012-04-05 2017-07-21 华为技术有限公司 用于基于iso基媒体文件格式的自适应流媒体的安全异步事件通知的系统和方法
CN106452759B (zh) 2012-04-27 2019-11-19 华为技术有限公司 用于在模板模式下有效支持短加密区间的系统和方法
US9319753B2 (en) * 2013-05-09 2016-04-19 Broadcom Corporation Seamless trick-mode with decreased latency for live transcode streaming

Also Published As

Publication number Publication date
US11310302B2 (en) 2022-04-19
US20150195327A1 (en) 2015-07-09
WO2015105377A1 (en) 2015-07-16
KR20160106718A (ko) 2016-09-12

Similar Documents

Publication Publication Date Title
KR102301333B1 (ko) 브로드캐스트 채널을 통한 dash 콘텐츠 스트리밍 방법 및 장치
US9832534B2 (en) Content transmission device and content playback device
JP6425720B2 (ja) コンテンツ配信のための方法及び装置
US10263875B2 (en) Real-time processing capability based quality adaptation
US9544641B2 (en) Hybrid transmission method through MMT packet format extension
US9516078B2 (en) System and method for providing intelligent chunk duration
US20150256600A1 (en) Systems and methods for media format substitution
EP3127287B1 (en) Signaling and operation of an mmtp de-capsulation buffer
CN107223334B (zh) 用于将mmtp流转换为mpeg-2ts的方法和装置
US9369508B2 (en) Method for transmitting a scalable HTTP stream for natural reproduction upon the occurrence of expression-switching during HTTP streaming
CN112771877A (zh) 用于流式传输媒体数据的服务描述
KR102480751B1 (ko) Mmt에서 미디어 데이터의 저 지연 소비 시그날링 및 동작 방법 및 장치
US20240155019A1 (en) Synchronizing independent media and data streams using media stream synchronization points
US20150201253A1 (en) Methods and apparatus for universal presentation timeline alignment
EP3092812B1 (en) Method and apparatus for transmitting and receiving media data in multimedia system
US20230008021A1 (en) Synchronizing independent media and data streams using media stream synchronization points
EP4195626A1 (en) Streaming media content as media stream to a client system

Legal Events

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