KR102105656B1 - Mmt 서비스의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치 - Google Patents

Mmt 서비스의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치 Download PDF

Info

Publication number
KR102105656B1
KR102105656B1 KR1020150000447A KR20150000447A KR102105656B1 KR 102105656 B1 KR102105656 B1 KR 102105656B1 KR 1020150000447 A KR1020150000447 A KR 1020150000447A KR 20150000447 A KR20150000447 A KR 20150000447A KR 102105656 B1 KR102105656 B1 KR 102105656B1
Authority
KR
South Korea
Prior art keywords
packet
time
information
mmt
arq
Prior art date
Application number
KR1020150000447A
Other languages
English (en)
Other versions
KR20150083428A (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 PCT/KR2015/000098 priority Critical patent/WO2015105311A1/ko
Priority to US15/110,854 priority patent/US10097319B2/en
Publication of KR20150083428A publication Critical patent/KR20150083428A/ko
Priority to US16/121,926 priority patent/US10523376B2/en
Priority to US16/691,013 priority patent/US11070327B2/en
Application granted granted Critical
Publication of KR102105656B1 publication Critical patent/KR102105656B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1896ARQ related signaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1825Adaptation of specific ARQ protocol parameters according to transmission conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1835Buffer management
    • H04L1/1838Buffer management for semi-reliable protocols, e.g. for less sensitive applications such as streaming video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1829Arrangements specially adapted for the receiver end
    • H04L1/1864ARQ related signaling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 MMT 패킷 전송 장치가 손실된 패킷을 재전송하는 방법을 개시하고 있다. 상기 방법은 미디어 프래그먼트 유닛(MFU: Media Fragment Unit)을 기반으로 미디어 프로세싱 유닛(MPU: Media Processing Unit)을 생성하고, 상기 미디어 프로세싱 유닛을 캡슐화하여 MMT 애셋을 생성하는 단계, 상기 생성된 MMT 애셋에 포함된 미디어 프로세싱 유닛을 기반으로 MMT 패킷을 생성하는 단계 및 상기 생성된 MMT 패킷을 전송하는 단계를 포함하되, 상기 전송되는 MMT 패킷의 재전송(retransmission)과 관련된 시그널링(signalling) 메시지에, 상기 MMT 패킷 전송 장치가 지연 제약형 ARQ(Automatic Repeat reQuest) 기능을 지원하는지 여부를 지시하는 지연 제약형 ARQ 플래그(delay_constrained_ARQ_flag)를 포함시키는 단계를 더 포함한다.

Description

MMT 서비스의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치{PACKET RETRANSMISSION METHOD AND APPARATUS, AND RETRANSMISSION REQUEST METHOD AND APPARATUS IN MMT SYSTEM}
본 발명은 패킷 재전송 방법 및 장치에 관한 것으로, 보다 상세하게는, MMT(MPEG Media Transport) 서비스에서 전송 도중 손실된 패킷을 재전송하는 방법 및 장치, 및 재전송 요청 방법 및 장치에 관한 것이다.
MMT(MPEG Media Transport)는 코딩된 데이터를 전송하기 위한 포맷을 정의하기 위한 전송 표준 기술이다. MMT 기술에서는 전송된 MMT 패킷이 손실되었을 경우, 수신측이 손실된 패킷에 대한 재전송을 요청할 수 있는 ARQ(Automatic Repeat reQuest) 기능이 포함되어 있다.
종래의 패킷 재전송 기법에서는, 전송된 패킷이 손실 되었을 경우, 수신 장치가 왕복지연시간(RTT: round-trip time) 정보를 알고 있는 상태라면 왕복지연시간(RTT)를 고려하여 패킷 재전송 요청을 위한 ARQ 피드백 메시지를 전송장치(예컨대, 서버)에게 발신할지를 판단하게 된다. 즉, 손실된 패킷에 대한 재전송 과정에 소요되는 추정된 시간이 RTT임을 고려하여, RTT 이후에 재전송된 패킷이 도착하더라도, 이 패킷이 유효하게 활용될 수 있다고 판단되면 ARQ 피드백 메시지를 발송하게 되고, 그렇지 못할 경우에는 ARQ 피드백 메시지를 발송하지 않는다.
도 1은 종래 수신측 기반의 패킷 재전송 방법을 나타낸 도면이다.
도 1을 참조하면, 송신 장치(110)로부터 전송되는 패킷 2가 손실되었을 경우, 수신 장치(120)는 이 패킷에 대한 재전송 요청 여부를 RTT 값을 고려하여 판단하게 된다. 수신 장치(120)는 재전송 요청된 패킷 2가 RTT 시간이 지난 후에 수신 장치(120)에 도착했을 때, 이 패킷이 유효하게 사용된다고 판단된다면, 재전송 요청을 위한 ARQ 피드백 메시지를 발송하게 되고, 그렇지 않을 경우에는 ARQ 피드백 메시지의 발송을 포기하게 된다. 도 1의 실시예에서는 수신 장치(120)가 재전송 요청한 패킷 2에 대한 재전송 요청을 한 이후로부터 RTT 시간만큼 지난 이후에 도착하게 되고, 도착 시점이 Td(2) 를 초과하지 않을 때 유효하게 활용될 수 있는 경우를 나타내고 있다.
이렇듯, 종래 수신측 기반의 패킷 재전송 방법에서는 수신측에서 RTT를 추정하여 알고 있는 경우에 유용하게 적용될 수 있다. 그러나, RTP(real-time transport protocol)와 MMT 프로토콜 기반의 미디어 전송 서비스 환경에서는 RTT를 추정하여 알고 있는 주체가 수신측이 아니라 송신측이다. 따라서, MMT 서비스 환경에서 기존의 수신측 기반의 패킷 재전송 방법은 적용이 불가능하다는 문제점이 있다.
상술한 문제점을 해결하기 위한 본 발명의 목적은 본 발명에서는 MMT 서비스 환경에서 왕복도착시간(RTT)에 대한 정보를 이미 추정하여 알고 있는 송신측이 효과적으로 사용할 수 있는 송신측 기반의 패킷 재전송 방법 및 장치를 제공하는 것이다.
또한, 본 발명의 다른 목적은 송신측에서 왕복도착시간을 추정하도록 지원하기 위해 수신측에 적용될 수 있는 패킷 재전송 요청 방법 및 장치를 제공하는 것이다.
더욱이, 본 발명의 또 다른 목적은 수신측이 송신측의 지연 제약형 ARQ 기능의 지원여부를 알고 있는 상태에서 패킷 재전송 요청할 수 있도록 ARQ 설정 및 피드백 메시지를 구성하는 방법 및 장치를 제공하는 것이다.
상기한 목적을 달성하기 위한 본 발명의 MMT 패킷 전송 장치가 손실된 패킷을 재전송하는 방법은 미디어 프래그먼트 유닛(MFU: Media Fragment Unit)을 기반으로 미디어 프로세싱 유닛(MPU: Media Processing Unit)을 생성하고, 상기 미디어 프로세싱 유닛을 캡슐화하여 MMT 애셋을 생성하는 단계, 상기 생성된 MMT 애셋에 포함된 미디어 프로세싱 유닛을 기반으로 MMT 패킷을 생성하는 단계 및 상기 생성된 MMT 패킷을 전송하는 단계를 포함하되, 상기 전송되는 MMT 패킷의 재전송(retransmission)과 관련된 시그널링(signalling) 메시지에, 상기 MMT 패킷 전송 장치가 지연 제약형 ARQ(Automatic Repeat reQuest) 기능을 지원하는지 여부를 지시하는 지연 제약형 ARQ 플래그(delay_constrained_ARQ_flag)를 포함시키는 단계를 더 포함할 수 있다.
지연 제약형 ARQ 기능을 지원하면, 상기 지연 제약형 ARQ 플래그를 1로 설정하고, 지연 제약형 ARQ 기능을 지원하지 않는 경우, 상기 지연 제약형 ARQ 플래그를 0으로 설정할 수 있다.
상기 지연 제약형 ARQ 플래그는 ARQ 설정 메시지(ARQ Configuration message)에 포함되어 전송될 수 있다.
상기 패킷 전송 장치가 지연 제약형 ARQ 기능을 지원하는 경우, 패킷 손실 발생에 대한 재전송 요청을 위한 ARQ 피드백 메시지(ARQ Feedback message)를 수신측으로부터 수신하여 왕복 지연 시간(RTT: Round Trip Time)을 계산하여 재전송 요청된 패킷의 전송 여부를 결정하는 단계를 더 포함할 수 있다.
상기 재전송 요청된 패킷의 전송 여부를 결정하는 단계는 상기 ARQ 피드백 메시지를 수신하는 단계, 상기 ARQ 피드백 메시지에 포함된 시간 정보를 기반으로 왕복 지연 시간을 업데이트하는 단계 및 상기 업데이트된 왕복 지연 시간을 이용하여 재전송 요청된 패킷의 전송 여부를 결정하는 단계를 더 포함할 수 있다.
상기 시간 정보는 상기 ARQ 피드백 메시지의 전송 시점에 해당하는 NTP(Network Time Protocol) 시간을 기록한 ARQ 피드백 타임스탬프 정보 또는 패킷의 전송 순간부터 수신 순간까지의 NTP 시간 차이를 나타내는 전파지연 정보(propagation delay)를 포함할 수 있다.
상기 ARQ 피드백 메시지에는 상기 ARQ 피드백 타임스탬프 정보와 함께, 도착 한계 시간 정보가 포함될 수 있다.
상기 왕복 지연 시간은 상기 ARQ 피드백 타임스탬프 정보와 상기 ARQ 피드백 메시지의 도착시간과의 차이값을 기반으로 ARQ 피드백 지연 시간을 계산하여 업데이트될 수 있다.
상기 업데이트된 왕복 지연 시간이 도착 한계 시간을 초과하지 않으면, 상기 재전송 요청된 패킷을 수신측으로 전송하고, 상기 업데이트된 왕복 지연 시간이 상기 도착 한계 시간을 초과하면, 상기 재전송 요청된 패킷의 전송을 포기할 수 있다.
또한, 상기 왕복 지연 시간이 상기 전파지연시간 정보를 기반으로 업데이트되고, 상기 업데이트된 왕복 지연 시간이 단-대-단 지연 시간을 초과하지 않으면 상기 재전송 요청된 패킷을 수신측으로 전송하고, 상기 업데이트된 왕복 지연 시간이 상기 단-대-단 지연 시간을 초과하면, 상기 재전송 요청된 패킷의 전송을 포기할 수 있다.
상기한 목적을 달성하기 위한 본 발명의 손실된 패킷을 재전송하는 MMT 패킷 재전송 장치는 미디어 프래그먼트 유닛(MFU: Media Fragment Unit)을 기반으로 미디어 프로세싱 유닛(MPU: Media Processing Unit)을 생성하고, 상기 미디어 프로세싱 유닛을 캡슐화하여 MMT 애셋을 생성하는 MMT 캡슐화부 및 상기 생성된 MMT 애셋에 포함된 미디어 프로세싱 유닛을 기반으로 MMT 패킷을 생성하는 MMT 패킷 생성부를 포함하되, 상기 전송되는 MMT 패킷의 재전송(retransmission)과 관련된 시그널링(signalling) 메시지에, 상기 MMT 패킷 전송 장치가 지연 제약형 ARQ(Automatic Repeat reQuest) 기능을 지원하는지 여부를 지시하는 지연 제약형 ARQ 플래그(delay_constrained_ARQ_flag)를 포함시킬 수 있다.
상기한 목적을 달성하기 위한 본 발명의 MMT 패킷 수신 장치가 손실된 패킷의 재전송을 요청하는 방법은 MMT 패킷을 수신하는 단계, 상기 수신된 MMT 패킷을 역패킷화하여 MMT 애셋을 생성하는 단계 및 상기 MMT 애셋을 역캡슐화(decapsulation)하여 MMT 미디어 프로세싱 유닛을 생성하고, 상기 MMT 미디어 프로세싱 유닛을 기반으로 MMT 미디어 프래그먼트 유닛을 생성하는 단계를 포함하되, 전송측에서 지연 제약형 ARQ(Automatic Repeat Request) 기능을 지원하는지 여부를 지시하는 지연 제약형 ARQ 플래그(delay_constrained_ARQ_flag)를 기반으로 ARQ 피드백 메시지(ARQ Feedback message)를 생성하여 손실된 패킷의 재전송을 요청하는 단계를 더 포함할 수 있다.
상기 지연 제약형 ARQ 플래그가 지연 제약형 ARQ 기능을 지원하는 것을 지시하는 경우, 상기 전송측이 재전송 요청된 패킷의 전송 여부의 결정함에 요구되는 왕복 지연 시간(RTT: Round Trip Time) 계산을 위한 시간 정보를 상기 ARQ 피드백 메시지에 포함시켜 상기 전송측으로 전송할 수 있다.
상기 시간 정보는 상기 ARQ 피드백 메시지의 전송 시점에 해당하는 NTP(Network Time Protocol) 시간을 기록한 ARQ 피드백 타임스탬프 정보 또는 패킷의 전송 순간부터 수신 순간까지의 NTP 시간 차이를 나타내는 전파지연 정보를 포함할 수 있다.
상기 ARQ 피드백 타임스탬프 정보와 함께, 상기 손실된 패킷이 도착되어야할 한계 시점을 지시하는 도착 한계 시간 정보를 상기 ARQ 피드백 메시지에 더 포함시킬 수 있다.
상기 도착 한계 시간 정보는 수신 버퍼에 이미 저장된, 상기 손실된 패킷보다 먼저 재생되는 데이터의 재생 및 디코딩 시간을 기반으로 계산될 수 있다.
상기 도착 한계 시간 정보는 상기 이전 데이터의 양을 패킷 스트림의 평균 비트레이트(bitrate)로 나눈 값으로 계산될 수 있다.
상기 도착 한계 시간 정보는 상기 ARQ 피드백 타임스탬프 정보로부터 증가된 시간 값으로 표현될 수 있다.
상기 손실된 패킷을 지시하기 위해, 전송되는 패킷을 카운팅하기 위한 패킷 카운터를 상기 ARQ 피드백 메시지에 더 포함시키거나, 또는 서로 다른 애셋의 패킷을 구분하기 위해 각 애셋마다 할당되는 패킷 식별자 정보와 동일한 상기 패킷 식별자 정보를 갖는 패킷을 카운팅하는 패킷 시퀀스 번호를 상기 ARQ 피드백 메시지에 더 포함시킬 수 있다.
상기한 목적을 달성하기 위한 본 발명의 손실된 패킷의 재전송을 요청하는 MMT 패킷 재전송 요청 장치는 MMT 패킷을 수신하는 수신부, 상기 수신된 MMT 패킷을 역패킷화하여 MMT 애셋을 생성하는 역패킷화부 및 상기 MMT 애셋을 역캡슐화(decapsulation)하여 MMT 미디어 프로세싱 유닛을 생성하고, 상기 MMT 미디어 프로세싱 유닛을 기반으로 MMT 미디어 프래그먼트 유닛을 생성하는 역캡슐화부를 포함하되, 전송측에서 지연 제약형 ARQ(Automatic Repeat Request) 기능을 지원하는지 여부를 지시하는 지연 제약형 ARQ 플래그(delay_constrained_ARQ_flag)를 기반으로 ARQ 피드백 메시지(ARQ Feedback message)를 생성하여 손실된 패킷의 재전송을 요청하는 ARQ 피드백 메시지 생성부를 더 포함할 수 있다.
본 발명의 MMT 패킷의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치에 따르면, 유효한 도착시간이 지나서 수신측에 도착하게 되는 패킷에 대한 재전송을 사전에 차단할 수 있고, 이에 따라 불필요하게 네트워크로 유입되는 트래픽의 량을 감소시킬 수 있다.
도 1은 종래 수신측 기반의 패킷 재전송 방법을 나타낸 도면,
도 2는 MMT 기능 영역 구조를 설명하기 위한 개념도,
도 3은 MMT 패키지의 구성을 설명하기 위한 개념도,
도 4a 및 4b는 전달 기능 영역에서의 미디어 프래그멘테이션을 나타낸 도면,
도 5는 본 발명의 일 실시예에 따른 패킷 재전송 방법을 나타낸 흐름도,
도 6은 본 발명의 일 실시예에 따른 패킷 재전송 방법에서 사용되는 ARQ 설정 메시지의 포맷을 설명하기 위한 도면,
도 7a는 본 발명의 제 1 실시예에 따른 패킷 재전송 방법에서 사용되는 ARQ 피드백 메시지의 포맷을 설명하기 위한 도면,
도 7b는 본 발명의 제 2 실시예에 따른 패킷 재전송 방법에서 사용되는 ARQ 피드백 메시지의 포맷을 설명하기 위한 도면,
도 8a는 본 발명의 제 1 실시예에 따른 패킷 재전송 방법에서 이미 수신버퍼에 저장되어 있는 패킷 데이터를 활용하여 도착 한계 시간을 계산 원리를 설명하기 위한 도면,
도 8b는 본 발명의 제 1 실시예에 따른 패킷 재전송 방법에서 재전송되는 패킷에 대한 도착 한계 시간을 계산하기 위한 순서를 설명하기 위한 도면,
도 9는 본 발명의 일 실시예에 따른 패킷 재전송 장치를 개략적으로 나타낸 블록도,
도 10은 본 발명의 제 1 실시예에 따른 패킷 재전송 장치의 재전송 처리부의 동작을 구체적으로 나타낸 흐름도,
도 11은 본 발명의 일 실시예에 따른 패킷 재전송 요청 장치를 개략적으로 나타낸 블록도,
도 12는 본 발명의 제 1 실시예에 따른 패킷 재전송 요청 장치의 시간 정보 생성부와 메시지 생성부의 동작을 구체적으로 나타낸 흐름도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세하게 설명하고자 한다.
그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
제 1, 제 2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제 1 구성요소는 제 2 구성요소로 명명될 수 있고, 유사하게 제 2 구성요소도 제 1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
용어 정의
이하, 용어의 의미를 다음과 같이 정의한다.
컨텐츠 콤포넌트(content component) 또는 미디어 콤포넌트(media component)는 단일 종류의 미디어(media of a single type) 또는 단일 종류의 미디어의 부분 집합(subset of the media of a single type)으로 정의되며, 예를 들어, 비디오 트랙(video track), 영화 자막(movie subtitles), 또는 비디오 향상계층(enhancement layer of video)이 될 수 있다.
컨텐츠(content)는 컨텐츠 콤포넌트의 집합으로 정의하며, 예를 들어 영화(movie), 노래(song)등이 될 수 있다.
표현(presentation)은 사용자가 하나의 컨텐츠 컴포넌트 또는 하나의 서비스를 경험(예를 들어 영화 감상)할 수 있도록 하나 또는 하나 이상의 장치들에 의해 수행되는 동작(operation)으로 정의한다.
서비스(service)는 표현(presentation) 또는 저장(storage)을 위해 전송되는 하나 또는 하나 이상의 컨텐츠 컴포넌트로 정의한다.
서비스 정보(service information)는 하나의 서비스, 상기 서비스의 특성(characteristics) 및 컴포넌트들을 기술하는 메타 데이터로 정의한다.
엑세스 유닛(Access Unit; AU)은 가장 작은 데이터 개체로, 시간 정보를 속성으로 가질 수 있다.
디코딩 및 프리젠테이션을 위한 시간 정보가 지정되지 않은 부호화된 미디어 데이터가 관련되면, AU는 정의되지 않는다.
MMT 애셋(MMT Asset)은 동일한 MMT 애셋 ID와 함께 적어도 하나의 MPU로 구성되거나 또는 다른 표준에서 정의된 형식과 함께 특정 데이터 덩어리로 구성되는 논리적 데이터 개체이다. MMT 애셋은 동일한 표현 정보 및 전송 특성이 적용되는 가장 큰 데이터 유닛이다.
MMT 애셋 전송 특성(MMT Asset Delivery Characteristics; MMT-ADC)은 MMT 애셋을 전송하기 위한 QoS 요구에 관련된 서술이다. MMT 표현 정보(MMT Presentation Information; MMT PI)는 소비를 위해 MMT 애셋간의 공간적 및 시간적 관계를 설명한다. HTML5 및 컴포지션 정보(CI: Composition Information)의 조합이 상기 프리젠테이션 정보의 일 예시로 구성될 수 있다. 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)는 일반적인 컨테이너로, 어떠한 특정 코덱에도 독립적이며, 미디어 디코더에 의해 독립적으로 소비될 수 있는 부호화된 미디어 데이터를 수용한다. 이는 엑세스 유닛(AU)보다 작거나 같은 크기를 가지고 전송계층에서 사용될 수 있는 정보를 수용한다.
MMT 패키지(MMT Package)는 논리적으로 구조화된 데이터의 모음으로, 적어도 하나의 MMT 애셋, MMT-표현 정보, MMT-애셋 전송 특성 및 설명적인 정보로 구성된다.
MMT 패킷(MMT packet)은 MMT 프로토콜에 의해 생성 또는 소비되는 데이터의 포맷이다.
MMT 페이로드 포맷(MMT payload format)은 MMT 프로토콜 또는 인터넷 응용 계층 프로토콜(예를들면, RTP)에 의해 전달될 MMT 패키지 또는 MMT 시그널링 메시지의 페이로드를 위한 포맷이다.
미디어 프로세싱 유닛(Media Processing Unit: MPU)은 어떠한 특정 미디어 코덱에도 독립된 일반적인 컨테이너로, 적어도 하나의 AU 및 추가적인 전송 및 소비에 관련된 정보를 수용한다. 넌타임드 데이터를 위하여, MPU는 AU 범위에 속하지 않는 데이터의 부분을 수용한다. MPU는 완전하고 독립적으로 처리될 수 있는 부호화된 미디어 데이터이다. 이러한 맥락에서 처리는 전송을 위한 MMT 패키지로의 캡슐화 또는 패킷화를 의미한다.
넌-타임드 데이터(Non-timed data)는 시간을 명시하지 않고 소비되는 모든 데이터 요소를 정의한다. 넌-타임드 데이터는 데이터가 실행되거나 시작될 수 있는 시간 범위를 가질 수 있다.
타임드 데이터(timed data)는 디코딩 및 프리젠테이션 되는 특정한 시간과 연관된 데이터 요소를 정의한다.
MMT 계층 구조
도 2는 MMT 기능 영역 구조를 설명하기 위한 개념도이다.
도 2를 참조하면, MMT 기술은 시스템의 동작 및 제어를 위한 시그널링 메시지를 다루는 시그널링 기능 영역(210), 전송 및 저장 주체인 미디어 데이터의 논리적 구조와 물리적 파일 포맷에 대해 다루는 미디어 프로세싱 유닛(MPU) 기능 영역(220), 미디어 데이터와 시그널링 메시지를 포함하는 모든 종류의 데이터를 전송하기 위한 방법을 처리하는 전달 기능 영역(230) 및 미디어 데이터의 재생을 처리하는 표현 영역(240)을 포함할 수 있다. 다만, MMT 표준에서는 표현 영역을 제외한 시그널링 기능 영역(210), 미디어 프로세싱 유닛 기능 영역(220) 및 전달 기능 영역(230)(MMT 프로토콜을 포함함)에 대하여 정의한다.
시그널링 기능 영역(210)은 미디어 소비(Consumption)와 전달(Delivery)과 관련된 메시지 포맷을 정의하고 있다. 미디어 소비와 관련된 메시지들은 전송되는 미디어 데이터를 소비하기 위해 필요한 정보를 제공할 수 있다. 소비 관리를 위한 시그널링 메시지들은 패키지의 구조를 시그널링하는데 사용될 수 있고, 전달 관리를 위한 시그널링 메시지는 페이로드 포맷 및 프로토콜 설정(configuration)의 구조를 시그널링하는데 사용될 수 있다.
AL-FEC 메시지는 애셋의 전송 과정에서 애셋의 손실에 따른 품질 저하를 방지하기 위해 사용되는 AL-FEC에 대한 구성 정보를 제공할 수 있다. 또한, 시그널링 메시지에는, AC(ARQ Configuration) 메시지와 AF(ARQ Feedback) 메시지가 포함될 수 있고, 이는 각각 수신측의 ARQ 동작 방법을 설정하고 손실된 MMTP 패킷의 재전송을 요청하기 위해 사용될 수 있다. MC(Measurement) 메시지는 미디어 데이터의 수신 상태 측정 및 측정 결과 보고 방법을 설정하는데 사용되고, RQF(Reception Quality Feedback) 메시지는 단-대-단 관점의 수신 상태 측정 결과를 보고하기 위해 사용될 수 있다. HRBM(Hypothetical Receiver Buffer Model) 메시지는 단방향 방송 환경에서 효율적인 동작을 위한 단-대-단 전송 지연 및 메모리 요구사항 정보를 전달하여 HRBM 동작을 설정하기 위해 사용될 수 있다.
전달 기능 영역(230)은 송수신측 간의 데이터 전송에 필요한 MMT 프로토콜(MMTP)과 데이터 복구를 위한 AL-FEC 동작(232), 효율적인 데이터 전송을 위한 CLI(Cross-Layer Interface)를 정의하고 있다. MMT 프로토콜은 UDP나 IP와 같은 종래 프로토콜 상위에서 동작하는 응용 계층 프로토콜로서 다양한 다종류의 패킷 교환망을 통해 패키지를 전송하기 위한 기능을 제공할 수 있다. 특히, MMTP 페이로드(234)와 MMTP 패킷의 구조를 정의하고 애셋간의 다중화, 다양한 네트워크를 통한 전송시 동기화를 위한 네트워크 지터 계산, 패킷 재전송(ARQ) 등을 위한 기능을 제공할 수 있다. 다른 기능 영역(210, 220)과 전달 기능 영역(230)의 교두보 역할을 하는 MMTP 페이로드(234)는 시그널링 메시지나 미디어 데이터를 캡슐화한다. MMTP 페이로드(234)의 구조는 전송되는 데이터의 종류 또는 전송 방법에 따라 달라질 수 있고, MPU 모드와 GFD(Generic File Delivery) 모드 및 시그널링 메시지 모드로 구분될 수 있다.
먼저, MPU 모드는 ISOBMFF 기반의 파일(225), 즉, MPU를 스트리밍하기 위한 기능을 제공할 수 있다. MPU 모드에서는 효율적인 전송을 위해, 크기가 작은 여러 MPU를 하나의 MMTP 페이로드(234)로서 취합(Aggregation)할 수 있고, 크기가 큰 MPU를 메타데이터와 데이터로 분할하여 프래그멘테이션함으로써 별도의 MMTP 페이로드(234)로서 생성할 수 있다. MPU의 프래그멘테이션은 미디어 인지 프래그멘테이션(media-aware fragmentation)이라고 하며, 미디어 인지 프래그멘테이션은 이하 도 4a 및 4b를 통해 상세히 설명한다.
GFD 모드는 일반적인 파일 다운로드 기능을 제공하며, 전송되는 파일의 종류와 크기에 상관없이 개별 객체로서 전송한다. 시그널링 메시지 모드는 바이너리 형태 또는 XML 형태의 시그널링 메시지를 전송하기 위한 기능을 제공할 수 있다.
표현 영역(240)은 전송되는 애셋 또는 MPU가 재생되는 시간과 위치 정보인 표현 정보(PI)를 처리하는 기능을 제공한다. 기본적인 표현 정보로서 NTP 기반의 MPU의 재생 시간 정보를 담고 있는 MPU 타임스탬프 디스크립터가 제공될 수 있고, 시간 정보뿐 아니라 애셋의 재생 공간에 대한 정보를 포함하는 고수준 표현 정보인 구성 정보(CI: Composition Information)이 MMT CI를 통해 정의될 수 있다.
MPU 기능 영역(220)은 패키지와 애셋 등의 데이터 모델을 정의할 수 있다. 패키지는 MPU 기능 영역(220)에서 정의하는 데이터 모델 중 가장 큰 개체로서 영화 한편과 같은 하나의 독립적 콘텐츠를 의미할 수 있다. 패키지는 도 3을 통해 보다 상세히 설명한다.
MMT 패키지의 구성
도 3은 MMT 패키지의 구성을 설명하기 위한 개념도이다.
도 3을 참조하면, 패키지(300)는 여러 개체들의 집합으로 구성되는 논리적 개체로써 애셋(330)과 전송 특성 정보(320)(TC: Transport Characteristics) 및 표현 정보(310)(PI: Presentation Information)로 구성될 수 있다. 애셋(330)은 콘텐츠를 구성하는 영상 또는 음성 등과 같은 요소를 구분하는 논리적 개체로서 동일한 애셋 ID를 공유하는 하나 이상의 MPU(340)로 구성될 수 있다. MPU(340)는 ISO 기반 미디어 파일 포맷을 따르는 물리적 파일로서 여러 메타데이터를 포함하고 있어 독립적으로 처리될 수 있는 미디어 데이터 파일일 수 있다. MFU(미도시)는 MPU(340)에서 메타데이터 부분을 제외한 순수 미디어 데이터 부분으로, 미디어 데이터의 샘플(또는 부-샘플)이나 아이템이며, MPU(340)에 내재된 MMT 힌트 트랙을 참조하여 분할될 수 있다. XML로 기술될 수 있는 TC(320)는 애셋이 원활하게 전송되기 위한 QoS 요구사항과 애셋의 특성 정보로서 각 애셋에 대해 패킷 손실에 대한 내성 여부, 지터에 대한 민감도 여부, 애셋 수신을 위해 필요한 최대 버퍼 사이즈 정보 등을 포함할 수 있다. PI(310)는 MPU 기능 영역에서 정의되지는 않지만 패키지(300)의 재생을 위해 필요한 정보로서 패키지(300)에 포함된 것으로 애셋(330)을 재생하기 위해 필요한 재생 시간 또는 재생 공간에 대한 정보를 제공할 수 있다.
MMT 미디어 프래그멘테이션
도 4a 및 4b는 전달 기능 영역에서의 미디어 프래그멘테이션을 나타낸 도면이다. 도 4a는 타임드 미디어를 위한 페이로드 생성 과정을 나타내고, 도 4b는 넌-타임드 미디어를 위한 페이로드 생성 과정을 나타낸다.
도 4a를 참조하면, 타임드 미디어를 포함하는 MPU의 패킷화는 MPU 포맷 인지 모드 또는 MPU 포맷 인지 불능 모드로 수행될 수 있다. 미디어 포맷 인지 불능 모드에서, MPU는 동일한 크기 또는 GFD 모드를 사용함으로써 전달 네트워크의 MTU(Maximum Transport Unit)의 사이즈에 따른 미리 설정된 크기 의 데이터 유닛들로 패킷화될 수 있다. 이는 MPU 포맷 인지 불능 모드의 패킷화가 패킷 내에서 수용되어질 데이터의 크기만을 고려한다는 것을 의미한다. MMTP 패킷 헤더의 타입 필드는 패킷화가 포맷 인지불능인지, 아닌지를 지시할 수 있다. 포맷 인지 불능 모드에서, 패킷화 절차는 MPU 모드를 사용하여 패킷들을 생성하기 위해 MPU 내의 서로 다른 타입의 데이터의 경계들을 고려한다. 생성된 패킷들은 MPU 메타데이터, 프래그먼트 메타데이터 또는 MFU 중 하나의 전달 데이터 유닛들을 운반할 수 있다.
도 4b를 참조하면, 넌-타임드 미디어 데이터의 패킷화도 역시 두 가지의 서로 다른 모드들로 수행될 수 있다. MPU 포맷 인지불능 모드에서, MPU는 MPU 모드를 사용하여 MPU 메타데이터 또는 MFU 중 하나의 전달 데이터 유닛들을 포함하는 패킷으로 패킷화될 수 있다.
패킷 재전송 방법
도 5는 본 발명의 일 실시예에 따른 패킷 재전송 방법을 나타낸 흐름도이다.
도 5에서, 패킷 전송 장치(510)는 패킷 수신 장치(520)로 하나 또는 그 이상의 패킷을 연속적으로 전송할 수 있다. 여기서, 패킷 전송 장치(510)는 복수 개의 미디어 프래그먼트 유닛을 프로세싱하여 패킷을 생성하여 패킷 수신 장치(520)로 전송하는 주체로써, 통신 기능이 구비되고, 데이터 프로세싱이 가능한 모든 장치를 포함할 수 있다. 패킷 수신 장치(520)는 수신된 패킷을 기반으로 미디어 프래그먼트 유닛을 생성하고 복호화하여 컨텐츠를 소비하는 주체로써, 역시 통신 기능이 구비되고, 데이터 프로세싱이 가능한 장치이다. 예컨대, 패킷 전송 장치(510)는 방송 장비, 서버 시스템, 스마트 폰, PC(Persnal Computer), 태블릿 PC, 노트북, PDA 등을 포함할 수 있다. 패킷 수신 장치(520)는 클라이언트 단말로써, 스마트 폰, PC(Persnal Computer), 태블릿 PC, 노트북, PDA 등을 포함할 수 있다.
패킷 전송 장치(510)는 측정 설정(MC: Measurement Configuration) 메시지와 수신 품질 피드백(RQF: Reception Quality Feedback) 메시지를 활용하여 왕복지연시간(RTT)를 추정할 수 있다.
도 5를 참조하면, 패킷 전송 장치(510)는 수신품질 피드백 메시지를 활용하여 미리 왕복 지연 시간(RTT) 정보를 알고 있을 수 있다. 패킷 N이 전송 도중에 손실 되었을 경우, 패킷 수신 장치(520)는 손실된 패킷 N에 대한 재전송 요청을 위한 ARQ 피드백 메시지를 패킷 전송 장치(510)로 발송하게 된다.
본 발명의 일 실시예에 따르면, 상기 ARQ 피드백 메시지는, ARQ 피드백 메시지를 전송하는 시점에서의 NTP(network time protocol)시간을 나타내는 ARQ 피드백 타임스탬프(feedback timestamp) 정보와, 재전송된 패킷의 유효시간을 나타내는 도착 한계시간(arrival deadline)을 포함할 수 있다. 이러한 정보를 포함하는 ARQ 피드맥 메시지를 수신한 패킷 전송 장치(510)는 이미 알고 있는 RTT를 바탕으로 재전송 요청된 패킷을 다시 전송하는 것이 유효한지를 판단하게 된다. 즉, 네트워크의 RTT 시간을 고려하여 재전송된 패킷이 도착 한계시간 이내에 수신측에 도착할 것인지를 판단할 수 있다. 만약, RTT가 매우 큰 상황이라면, 재전송된 패킷이 도착 한계시간 이내에 도착하는 것이 불가능한 것으로 판단하여 패킷을 전송하지 않는다. 그렇지 않다면, 재전송 요청 받은 패킷을 전송하게 된다.
이하, 패킷 전송 장치(510)에서 이루어지는 패킷 재전송 결정을 위한 알고리듬을 설명한다. 도 5에서, ARQ 피드백 타임스탬프 정보는 송신측이 추정하여 알고 있는 RTT 시간을 최신의 값으로 갱신시키기 위해서 활용된다. 송신측은 ARQ 피드백 메시지를 받게 되면, ARQ 피드백 메시지가 도착한 시간을 측정하고, 이 도착 시간과 ARQ 피드백 타임스탬프 값의 차이를 통해서 ARQ 피드백 지연시간(ARQ feedback delay)를 계산할 수 있다. 도 5에 도시된 바와 같이, RTT는 ARQ 피드백 지연시간(D F )과 재전송 지연시간(D t )의 합으로 이루어지는데, 최신의 ARQ 피드백 지연시간 값을 활용하여 최신의 상태로 갱신된 RTT 값을 유도해낼 수 있다. 도 5의 도착 한계 시간은 재전송된 패킷이 수신측에 도착해야 할 한계시간(deadline)을 의미하며, 도착 한계 시간을 초과하여 도착하게 되는 재전송된 패킷은 실시간 미디어 재생 과정에서 의미 없는 데이터로 간주된다. 즉, 갱신된 RTT 값과 도착 한계 시간과의 비교를 통해 재전송 요청된 패킷의 재전송 여부를 결정한다. 이러한 유형의 패킷 재전송 기법을 지연제약형(delay constrained) ARQ 기법이라고 한다. 패킷 전송 장치(510)는 이러한 지연 제약형 ARQ 기법을 자신이 지원하는지를 패킷 수신 장치(520)에 알려주기 위해, 지연 제약형 ARQ 플래그(delay_constrained_ARQ_flag)를 AC 메시지 내에 포함시켜 패킷 수신 장치(520)로 전송할 수 있다. 이는 패킷 수신 장치(520)가 지연 제약형 ARQ 기능을 위해 패킷 전송 장치(510)에 제공해야 할 패킷의 전송 및 지연과 관련된 시간 정보를 포함시킬지를 결정하는 것을 돕기 위함이다. 만약, 지연 제약형 ARQ 기능을 지원하지 않을 경우, ARQ 피드백 메시지에 ARQ 피드백 타임스탬프 정보 및 도착 한계 시간 정보는 필요치 않을 수 있으므로, 이를 빼고 전송할 수 있고, 이를 통해 불필요한 네트워크 트래픽이 생기는 것을 방지할 수 있다.
본 발명의 다른 실시예에 따르면, 패킷 수신 장치(520)는 상기 ARQ 피드백 메시지에 전파 지연 정보(propergation_delay)를 포함시켜 패킷 전송 장치(510)로 전송할 수 있다. 전파 지연 정보는 패킷의 전송 순간부터 수신 순간까지의 NTP 시간 차이를 나타낸다. 이는 측정 기간 내에서 측정되는 복수의 전파 지연 시간 값의 평균일 수 있다. 이러한 전파 지연 정보를 가지고 패킷 전송 장치(510)는 RTT를 계산할 수 있다. 또한, 패킷 전송 장치(510)는 HRBM 메시지에 포함되어 알고 있는 단-대-단 전송 지연 정보 (fixed_end_to_end_delay)와 상기 전파 지연 정보를 비교하여 재전송 요청된 패킷의 재전송 여부를 결정할 수 있다. 이 때에도, 패킷 전송 장치(510)는 지연 제약형 ARQ 플래그(delay_constrained_ARQ_flag)를 AC 메시지에 포함시켜 패킷 수신 장치(520)로 전송할 수 있다.
ARQ 피드백 타임스탬프 정보를 전송하는 경우에는 도착 한계 시간 정보를 함께 ARQ 피드백 메시지에 포함시켜 전송해야 하고, 전파 지연 정보를 전송하는 경우에는 도착 한계 시간 정보를 별도로 포함시키지 않아도 된다. 이러한 두 가지 모드에 대한 선택은 패킷 수신 장치(510)에서 이루어질 수 있다. 이는 장치마다 특정된 설정 정보를 통해 선택될 수 있다. 사용자 인터페이스를 통해 변경할 수 있는 설정일 수도 있다.
AC 메시지 포맷(format)
도 6은 본 발명의 일 실시예에 따른 패킷 재전송 방법에서 사용되는 ARQ 설정 메시지의 포맷을 설명하기 위한 도면이다.
도 6을 참조하면, ARQ 설정 메시지(AC 메시지)는 패킷 전송 장치와 패킷 수신 장치 사이의 패킷 손실 이벤트에 적용될 수 있는 정책(policy) 정보가 포함될 수 있다. 이는 대역 내(in-band) 또는 대역 외(out-band) 중 하나로, 패킷 전송 장치로부터 패킷 수신 장치로의 ARQ 메시지로써의 세션 시작시에 전송될 수 있다.
ARQ 설정 메시지(AC 메시지)는 공통 필드 정보(610)와 메시지 페이로드 정보(620)로 구성될 수 있다. 공통 필드 정보(610)에는 메시지 식별자(message_id), 버전 정보(version) 및 길이 정보(length)가 포함될 수 있다.
여기서, 메시지 식별자 정보에는 AC 메시지를 지시하는 정보가 포함될 수 있고, 버전 정보는 AC 메시지의 버전을 지시하는 정보가, 길이 정보에는 AC 메시지의 길이를 지시하는 정보가 포함될 수 있다.
페이로드 정보(620)에는 플로우 라벨 플래그(flow_label_flag), 플로우 라벨 플래그가 '1'인 경우에는 fb_flow_label 정보가 포함될 수 있고, 지연 제약형 ARQ 플래그(630: delay_constrained_ARQ_flag), 패킷 식별자의 수 정보(number_of_packet_id), 패킷 식별자(packet_id), RTX 윈도우 타임아웃 정보(rtx_window_timeout) 및 ARQ 서버 주소 정보(arq_server_address) 정보가 포함될 수 있다.
여기서, 메시지 페이로드 정보(620)에 포함된 플로우 라벨 플래그에는 fb_flow_label 정보의 포함여부를 지시하는 정보가 포함되고, fb_flow_label은 패킷 수신 장치가 ARQ 피드백 메시지를 전송하는 때, 사용되어질 flow_label 값을 지시하는 정보를 포함할 수 있다.
지연 제약형 ARQ 플래그(630)는 전술한 바와 같이, 해당 패킷 전송 장치가 지연 제약형 ARQ 기능을 지원하는지에 대한 정보를 포함하고, 이 값이 '1'이면 패킷 전송 장치가 지연 제약형 ARQ를 지원하고, '0'이면 지원하지 않음을 지시하도록 설정될 수 있다. 지연 제약형 ARQ 플래그(630)는 1비트의 크기를 가질 수 있다. 패킷 식별자의 수 정보는 패킷 식별자(packet_id)의 수를 지시하고, 패킷 식별자 정보(packet_id)는 서로 다른 특성을 갖는 애셋의 패킷들을 구분하기 위한 식별 정보를 포함하며, RTX 윈도우 타임아웃 정보는 재전송 윈도우 타임아웃을 지시하며, 이에 따라 패킷 전송 장치는 타임아웃시까지 송신 버퍼 내의 패킷을 유지할 것이고, 이에 따라 재전송이 가능할 수 있다. 마지막으로, ARQ 서버 주소 정보 정보는 손실된 패킷들을 요청하기 위한 ARQ 피드백 메시지를 전송할 패킷 송신 장치의 주소를 지시할 수 있다.
제 1 실시예에 따른 AF 메시지 포맷
도 7a는 본 발명의 제 1 실시예에 따른 패킷 재전송 방법에서 사용되는 ARQ 피드백 메시지의 포맷을 설명하기 위한 도면이다.
도 7a를 참조하면, 패킷 손실 이벤트 발생시, 패킷 수신 장치가 손실을 검출할 수 있다. ARQ 피드백 메시지(AF 메시지)는 AC 메시지의 정보에 따라 생성될 수 있고, 이는 패킷 전송 장치로 전송될 수 있다. 패킷 수신 장치가 하나 이상의 패킷들이 손실되었음을 검출할 때, 바이트 내의 각 비트들이 손실된 패킷들의 시퀀스 번호에 대응되도록 255바이트들까지의 마스크(mask)를 형성할 수 있다. 이는 하나의 AF 메시지 내에서 255 X 8개의 손실 패킷들까지 리포트하는 것을 허용한다.
ARQ 피드백 메시지(AF 메시지)는 공통 필드 정보(710)와 페이로드 정보(720)로 구성될 수 있다. 공통 필드 정보(710)에는, AC 정보와 마찬가지로, 메시지 식별자(message_id), 버전 정보(version) 및 길이 정보(length)가 포함될 수 있다.
여기서, 메시지 식별자 정보에는 AF 메시지를 지시하는 정보가 포함될 수 있고, 버전 정보는 AF 메시지의 버전을 지시하는 정보가, 길이 정보에는 AF 메시지의 길이를 지시하는 정보가 포함될 수 있다.
페이로드 정보(720)에는 아규먼트 타입 정보(argument_type), 지연 제약형 ARQ 모드 정보(delay_constrained_ARQ_mode), ARQ 피드백 타임스탬프 정보(730: ARQ_feedback_timestamp), 패킷 식별 정보(packet_counter 또는, packet_id 및 packet_sequence_number), 마스크 길이 정보(masklength), 도착 한계 시간 정보(740: arrival_deadline) 및 마스크 바이트 정보(mask_byte)를 포함할 수 있다.
아규먼트 타입 정보(argument_type)는 패킷 수신 장치가 패킷 전송 장치로 손실된 패킷들을 요구할 때 사용하는 아규먼트(argument)의 타입을 지시한다. 이는, 패킷 식별 정보의 타입을 지시하는데 사용될 수 있다. 즉, 재전송을 요구하는 패킷을 식별하기 위한 패킷 식별 정보가 패킷 카운터 정보 기반인지, 패킷 식별자 정보(packet_id) 및 패킷 시퀀스 번호 기반인지를 지시한다. 패킷 카운터 정보 기반인 경우, AF 메시지의 패킷 식별 정보 필드에 패킷 카운터 정보(packet_counter)를 포함시키고, 패킷 시퀀스 번호 기반인 경우, 상기 패킷 식별 정보 필드에 패킷 식별자 정보(packet_id)와 패킷 시퀀스 번호 정보(packet_sequence_number)를 함께 포함시킨다. 패킷 시퀀스 번호 기반일 때, 패킷 식별자의 수 정보(number_of_packet_id: 손실된 패킷들이 갖는 패킷 식별자의 수)가 더 포함될 수 있다.
지연 제약형 ARQ 모드 정보(delay_constrained_ARQ_mode)는 지연 제약형 ARQ의 타입을 지시한다. 즉, i) 지연 제약형 ARQ를 고려하지 않는지, ii) 도착 한계 시간 제약형 ARQ를 지원할지, iii) 전달 시간 제약형 ARQ를 지원할지를 지시할 수 있다.
i) 지연 제약형 ARQ를 고려하지 않는 모드에서, 패킷 전송 장치가 본 모드에 따른 요구에 대한 손실 패킷을 재전송함에 있어서, 어떠한 지연 제약도 고려하지 않을 수 있다. 패킷 수신 장치는 패킷 전송 장치로부터 수신되는 AC 메시지에 포함된 지연 제약형 ARQ 플래그 정보에 따라 이러한 지연 제약형 ARQ를 고려하지 않는 모드를 선택할 수 있다. 이 모드에서는 ARQ 피드백 타임스탬프 정보(730), 도착 한계 시간 정보(740) 및 전파 지연 정보가 AF 메시지에 포함되지 않을 수 있다.
ii) 도착 한계 시간 제약형 ARQ 모드는 패킷 전송 장치가 재전송할지 하지 않을지를 결정하는데, ARQ 피드백 타임스탬프 정보(730)와 도착 한계 시간 정보(740)를 사용하는 모드로써, 패킷 수신 장치는 상기 ARQ 피드백 타임스탬프 정보(730)와 도착 한계 시간 정보(740)를 AF 메시지에 포함시킨다.
iii) 전달-시간 제약형 ARQ 모드는 패킷 전송 장치가 재전송할지 하지 않을지를 결정하는데, 전파 지연 정보를 사용하는 모드로써, 패킷 수신 장치는 상기 전파 지연 정보를 AF 메시지에 포함시킨다. 본 실시예에서는 상기 지연 제약형 ARQ 모드 정보(delay_constrained_ARQ_mode)가 도착한계 시간 제약형 ARQ를 지원할 경우를 설명한다.
도착 한계 시간 제약형 ARQ 모드에 따라 포함되는 ARQ 피드백 타임스탬프 정보(730: ARQ_feedback_timestamp)는, 전술한 바와 같이, ARQ 피드백 메시지가 패킷 수신 장치로부터 전송되는 NTP 시간을 지시할 수 있다. ARQ 피드백 타임스탬프 정보(730)는 32비트의 크기를 가질 수 있다.
패킷 식별 정보는, 전술한 바와 같이, 아규먼트 타입 정보에 따라 패킷 카운터 정보(packet_counter)가 포함될 수 있고, 또는 패킷 식별자 정보(packet_id)와 패킷 시퀀스 번호 정보(packet_sequence_number)가 함께 포함될 수도 있다. 패킷 카운터 정보는 전송되는 패킷에 따라 1씩 증가하여 전송 패킷을 카운팅하기 위한 값이고, 패킷 식별자 정보는 서로 다른 애셋의 패킷들을 구별하기 위해 각 애셋에 할당된 식별값을 나타내며, 패킷 시퀀스 번호는 기본적으로 동일한 패킷 식별자를 갖는 패킷들을 카운팅하는 값인데, AF 메시지에 포함되는 패킷 시퀀스 번호는 손실되었음이 검출됨에 따라 식별되는 마스크 바이트에 의해 지시되는 첫 번째 패킷의 패킷 시퀀스 번호에 대응되는 필드이다.
마스크 길이 정보(masklength)는 바이트로 마스크보다 뒤의 데이터의 길이를 지시하며, 도착 한계 시간 정보(740: arrival_deadline)는 첫 번째 손실된 패킷에 대한 재전송된 패킷이 패킷 수신 장치에서 시간에 맞게 프로세싱되도록 도착해야만 하는 한계 시간을 지시한다. 이 파라미터는 ARQ 피드백 타임스탬프 정보(730)로부터 증가된 시간분으로 나타내어진다. 첫 번째 8비트는 정수부(integer part)이고, 이후 8비트는 소수부(fractional part)를 나타낸다. 마지막으로, 마스크 바이트 정보(mask_byte)는 마스크 필드이며, 각 비트는 MMT 패킷에 대응된다. 만약 패킷 식별자를 갖는 패킷 뒤의 패킷이 손실되면, 대응되는 비트는 '1'로 설정될 수 있다.
제 2 실시예에 따른 AF 메시지 포맷
도 7b는 본 발명의 제 2 실시예에 따른 패킷 재전송 방법에서 사용되는 ARQ 피드백 메시지의 포맷을 설명하기 위한 도면이다.
도 7b를 참조하면, 상기 제 2 실시예에서는 지연 제약형 ARQ 모드 정보가 iii) 전달-시간 제약형 ARQ 모드인 경우를 설명한다. ARQ 피드백 메시지(AF 메시지)는 공통 필드 정보(750)와 페이로드 정보(760)로 구성될 수 있고, 공통 필드 정보(750)는 제 1 실시예에 따른 공통 필드 정보와 동일하다.
페이로드 정보(760)에는 아규먼트 타입 정보(argument_type), 지연 제약형 ARQ 모드 정보(delay_constrained_ARQ_mode), 전파 지연 정보(770: propagation_delay), 패킷 식별 정보(packet_counter 또는, packet_id 및 packet_sequence_number), 마스크 길이 정보(masklength), 도착 한계 시간 정보(arrival_deadline) 및 마스크 바이트 정보(mask_byte)를 포함할 수 있다.
아규먼트 타입 정보(argument_type), 지연 제약형 ARQ 모드 정보(delay_constrained_ARQ_mode), 패킷 식별 정보(packet_counter 또는, packet_id 및 packet_sequence_number), 마스크 길이 정보(masklength) 및 마스크 바이트 정보(mask_byte)는 전술한 제 1 실시예의 해당 정보와 동일한 정보가 포함될 수 있다.
전파 지연 정보(770: propagation_delay)는, 전술한 바와 같이, 패킷 수신 장치에서 도착되는 패킷에 대한 전파 지연을 나타낸다. 패킷 수신 장치는 패킷의 전송 순간의 NTP 시간에서 패킷의 수신 순간의 NTP 시간을 차감하여 상기 전파 지연값을 산출할 수 있다. 이러한 전파 지연 정보(770)는 측정 기간 내에서 측정되는 전파 지연의 평균 결과일 수 있다. 패킷 송신 장치가 상기 전파 지연 정보(770)만을 가지고, RTT 값 및 도착 한계 시간을 추정할 수 있으므로, 별도의 도착 한계 시간 정보의 전송을 요구하지 않을 수 있다.
도착 한계 시간 계산
도 8a는 본 발명의 제 1 실시예에 따른 패킷 재전송 방법에서 이미 수신버퍼에 저장되어 있는 패킷 데이터를 활용하여 도착 한계 시간을 계산 원리를 설명하기 위한 도면이다.
도 8a를 참조하면, 도착 한계 시간은 ARQ 피드백 메시지를 발송하는 시점에서 파악된 수신 버퍼에 이미 저장되어 있는 데이터의 량을 기반으로 계산될 수 있다. 패킷 수신 장치는 손실된 패킷에 대한 재전송 과정에 소요되는 지연 시간 동안 수신 버퍼에 저장되어 있는 데이터를 활용하여 미디어에 대한 끊김 없는 재생을 계속적으로 실시하게 된다. 도 8a에서는 이미 수신 버퍼에 저장되어 있는 패킷 데이터를 활용하여 미디어 재생 한계시간인 D a 만큼의 미디어 재생(playout)이 추가로 가능하므로 D a 시간만큼을 도착 한계시간으로 설정할 수 있다. 보다 많은 데이터가 수신 버퍼에 저장되어 있는 상태라면 도착 한계시간은 충분히 증가하게 되므로, 패킷 전송 장치가 패킷 수신 장치로부터 ARQ 피드백 메시지를 통해 재전송 요청을 받게 될 경우 패킷 전송 장치가 실제로 패킷을 재전송할 가능성은 높아지게 된다.
또한, 도 8a에 나타나 있듯이 패킷 수신 장치에서의 재생 과정에서 발생하게 되는 디코딩(decoding) 지연 시간도 미디어 재생 한계 시간에 포함될 수 있으므로 도착 한계 시간의 계산에 포함되어 도착 한계시간을 늘일 수 있다.
한편, 비교적 일정한 전송률로 네트워크를 통해 패킷이 전송되는 실시간 미디어 전송 서비스에서 패킷이 전송되는 속도와 수신 버퍼에 쌓여 있는 패킷 데이터의 량을 바탕으로 도착 한계 시간을 추정해 낼 수 있다.
도 8b는 본 발명의 제 1 실시예에 따른 패킷 재전송 방법에서 재전송되는 패킷에 대한 도착 한계 시간을 계산하기 위한 순서를 설명하기 위한 도면이다.
도 8b를 참조하면, 이러한 계산 순서는 4단계의 계산 절차를 포함할 수 있다. 1 단계에서 패킷의 손실을 검출하게 되고, 2 단계에서는 패킷 손실이 검출된 후 재전송 요청 패킷을 준비하면서 수신 버퍼에 저장되어 있는 데이터의 크기(D s )를 계산한다. 세 번째로 평균적인 패킷 전송률(B avg )을 추정한 후 마지막으로 D s B avg 의 비(D s /B avg )를 통해 도착 한계시간인 T a 를 계산할 수 있다.
패킷 재전송 장치의 구성 및 동작
도 9는 본 발명의 일 실시예에 따른 패킷 재전송 장치를 개략적으로 나타낸 블록도이다. 도 9에 도시된 바와 같이, 본 발명의 일 실시예에 따른 패킷 재전송 장치는 캡슐화부(910), 메시지 생성부(920), 패킷화부(930), 통신부(940), 재전송 처리부(950) 및 전송 버퍼(960)를 포함할 수 있다.
도 9를 참조하면, 캡슐화부(910)는 인코딩된 데이터를 기반으로 미디어 프래그먼트 유닛을 생성하고, 미디어 프래그먼트 유닛을 기반으로 미디어 프로세싱 유닛을 생성하며, 미디어 프로세싱 유닛을 캡슐화하여 애셋을 생성할 수 있다.
메시지 생성부(920)는 수신측에 전송되는 시그널링 메시지(signalling message)를 생성한다. 시그널링 메시지에는 패킷의 송수신을 제어하기 위한 제어 정보가 포함될 수 있고, 예컨대, 패킷 재전송 장치가 전송하는 시그널링 메시지는 ARQ 설정 메시지, 측정 설정 메시지, 애셋 전송 특성 메시지 등을 포함할 수 있다. 본 발명의 일 실시예에 따르면, 메시지 생성부(920)는 지연 제약형 ARQ 지원 여부를 나타내는 플래그 정보를 포함시켜 AC 메시지를 생성할 수 있다. 지연 제약형 ARQ 플래그가 1이면 지연 제약형 ARQ 기능을 지원하는 것을, 0이면 지연 제약형 ARQ을 지원하지 않음을 나타낼 수 있다.
패킷화부(930)는 애셋 내에 포함된 미디어 프로세싱 유닛을 패킷화하여 MMT 전송 패킷을 생성할 수 있다. 또한, 패킷화부(930)는 메시지 생성부(920)에서 생성되는 시그널링 메시지를 패킷화하여 MMT 전송 패킷을 생성할 수 있다. MMT 전송 패킷은 패킷 손실을 대비하여, 전송 버퍼(960)에 일정 기간 저장될 수 있다.
통신부(940)는 패킷화부(930)에서 생성된 MMT 전송 패킷들을 패킷화부(930) 또는 전송 버퍼(960)부터 수신하여 수신측으로 전송하고, 수신측으로부터 수신되는 메시지(예컨대, AF 메시지)를 수신할 수 있다. 즉, 통신부(940)는 전송 및 수신 기능을 모두 취할 수 있다. 통신부(940)는 무선 또는 유선 네트워크에 데이터를 송수신하기 위해 통신 채널을 생성하고, 패킷 단위로 데이터를 송수신할 수 있다. 통신부(940)는 통신 프로세서 및/또는 안테나를 포함할 수 있다.
재전송 처리부(950)는 통신부(940)로부터 수신되는 AF 메시지를 파싱하여 수신측의 재전송 요청을 처리한다. 재전송 처리부(950)는 AF 메시지에 포함된 재전송과 관련된 지연 시간 정보(예컨대, ARQ 피드백 타임스탬프, 도착 한계 시간 및 전파 지연 정보 중 적어도 하나)를 파싱하여 이로부터 RTT 값을 추정하고, 추정된 RTT 값과 도착 한계 시간을 비교하여 재전송 요청된 패킷의 재전송 여부를 결정하여 전송 버퍼(960)에 포함된 재전송 요청 패킷이 통신부(940)를 통해 적절하게 재전송될 수 있도록 한다. 이는 도 10을 통해 보다 상세히 설명한다.
도 10은 본 발명의 제 1 실시예에 따른 패킷 재전송 장치의 재전송 처리부의 동작을 구체적으로 나타낸 흐름도이다. 도 10은 제 1 실시예에 따른 AF 메시지를 수신하였을 때의 재전송 처리부의 동작을 나타낸다.
도 10을 참조하면, 재전송 처리부는 ARQ 피드백 메시지를 통신부로부터 수신한다(S1010). 재전송 처리부는 먼저, ARQ 피드백 메시지의 아규먼트 타입 정보를 파싱하여 패킷 카운터 기반인지 패킷 시퀀스 번호 기반의 ARQ인지를 판단하고 이에 따라 재전송 요청된 패킷을 식별할 수 있다. 또한, 지연 제약형 ARQ 모드 정보를 파싱하여 지연 제약형 ARQ 기능이 필요한지, 필요하다면 도착 한계 시간 제약형인지 전달 시간 제약형인지를 판단한다. 본 실시예는 도착 한계 시간 제약형 ARQ 모드의 ARQ 피드백 메시지를 수신한 경우를 도시한다. 그리고는, ARQ 피드백 메시지의 ARQ 피드백 메시지의 ARQ 피드백 타임스탬프와 도착 한계 시간을 파싱한다(S1020). 재전송 처리부는 파싱된 ARQ 피드백 타임스탬프와 실제 ARQ 피드백 메시지의 도착시간의 차이값을 계산하여 ARQ 피드백 지연 시간을 계산한다(S1030). 그리고는, 실측된 ARQ 피드백 지연시간을 바탕으로 RTT 값을 업데이트할 수 있다(S1040). 다음, 업데이트된 RTT 값과 파싱된 도착 한계 시간과 비교를 수행한다(S1050). 비교 결과, RTT 값이 도착 한계 시간을 초과하지 않으면 재전송 요청된 패킷을 전송 버퍼로부터 인출하여 통신부를 통해 수신측으로 전송하도록 결정하고(S1060). RTT 값이 도착 한계 시간을 초과하면 재전송 요청된 패킷에 대한 전송 포기를 결정한다(S1065).
한편, 제 2 실시예에 따른 ARQ 피드백 메시지를 수신하였을 때, 재전송 처리부는 제 1 실시예의 동작과 동일한 동작을 수행하나, ARQ 피드백 메시지의 모드가 전달 시간 제약형임을 확인하고, 단계(S1020) 대신, ARQ 피드백 메시지로부터 전파 지연 정보만을 파싱할 수 있다. 또한, 단계(1030) 대신, 파싱된 전파 지연 정보를 기반으로 상기 ARQ 피드백 메시지의 도착 순간의 NTP 시간에서 패킷 헤더의 타임스탬프를 빼서 그 차이값을 통해 수신측으로부터 전송측까지의 예상 전달시간을 산출하여 RTT 값을 새로이 계산할 수 있다. 그리고는, 재전송 처리부는 상기 새로 업데이트된 RTT 값을 HRBM 메시지에 포함되어 미리 알고 있는 단-대-단 전송 지연 정보(fixed_end_to_end_delay)와 비교하여 RTT 값이 상기 단-대-단 전송 지연 값을 초과하지 않으면 재전송 요청된 패킷을 전송하도록 결정하고, RTT 값이 상기 단-대-단 전송 지연 값을 초과하면 재전송 요청된 패킷에 대한 전송 포기를 결정할 수 있다.
패킷 재전송 요청 장치의 구성 및 동작
도 11은 본 발명의 일 실시예에 따른 패킷 재전송 요청 장치를 개략적으로 나타낸 블록도이다. 도 11에 도시된 바와 같이, 본 발명의 일 실시예에 따른 패킷 재전송 요청 장치는 통신부(1110), 역패킷화부(1120), 역캡슐화부(1130), 복호화부(1140), 재생부(1150), 수신 버퍼(1160), 시간 정보 생성부(1170) 및 메시지 생성부(1180)를 포함할 수 있다.
도 11을 참조하면, 통신부(1110)는 무선 또는 유선 네트워크를 통해 전송측으로부터 전송되는 MMT 패킷을 수신하고, 생성되는 메시지를 전송측으로 전송할 수 있다. 패킷화부(미도시)를 별도 도시하지 않았지만 생성되는 메시지도 패킷 단위로 전송될 수 있다. 통신부(1110)는 수신 및 전송 기능을 함께 취할 수 있다. 수신된 패킷은 수신 버퍼(1160)에 일정 기간 저장될 수 있다. 수신 버퍼(1160)는 수신되는 패킷 순서대로 저장되며, 저장 공간이 가득 참에 따라 가장 먼저 저장된 데이터는 삭제될 수 있다. 수신 버퍼(1160)의 패킷은, 모든 대응되는 프래그먼트들이 정확히 수신되거나 동일한 프래그먼트 데이터 유닛에 속하지 않는 패킷이 수신되는 때까지 버퍼 내에 유지될 수 있다. 수신 버퍼(1160)는 역캡슐화된 데이터가 저장되는 재생 버퍼(미도시)를 포함할 수 있다. 재생 버퍼 내의 데이터는 복호화부(1140)를 통해 복호화만 되면 재생가능하다.
역패킷화부(1120)는 수신된 패킷을 역패킷화하여 애셋 또는 미디어 프로세싱 유닛을 생성할 수 있다. 역패킷화부(1120)는 패킷 및 페이로드 헤더를 제거하고, 페이로드 내에 존재하는 데이터 유닛만을 추출한다.
역캡슐화부(1130)는 추출된 데이터 유닛을 역캡슐화하여, 애셋은 미디어 프로세싱 유닛으로, 미디어 프로세싱 유닛은 미디어 프래그먼트 유닛으로 만든다. 역패킷화부(1120)와 역캡슐화부(1130)는 하나의 구성으로 구현될 수 있다.
복호화부(1140)는 역캡슐화된 미디어 프래그먼트 유닛을 복호화하고, 재생부(1150)는 복호화된 데이터를 재생할 수 있다.
시간 정보 생성부(1170)는 수신되는 패킷의 손실 발생시 ARQ 피드백 메시지에 포함되는 시간 정보를 생성한다. 시간 정보는 ARQ 메시지 타임스탬프 정보, 도착 한계 시간 정보 및 전파 지연 정보 중 적어도 하나를 포함할 수 있다.
메시지 생성부(1180)는 지연 정보 생성부(1170)에서 생성된 정보를 ARQ 피드백 메시지에 포함시켜 ARQ 피드백 메시지를 생성한다. 생성된 ARQ 피드백 메시지는 패킷화되어 통신부(1110)를 통해 전송측으로 전송될 수 있다.
도 12는 본 발명의 제 1 실시예에 따른 패킷 재전송 요청 장치의 시간 정보 생성부와 메시지 생성부의 동작을 구체적으로 나타낸 흐름도이다. 도 12는 제 1 실시예에 따른 AF 메시지를 수신하였을 때의 시간정보 생성부와 메시지 생성부의 동작을 나타낸다.
도 12를 참조하면, 패킷 손실이 발생하게 되면(S1210), 제 1 실시예에 따른 ARQ 피드백 메시지 생성을 위해, 시간 정보 생성부는 수신 버퍼에 이미 저장되어 있는 미디어 데이터량을 바탕으로 도착 한계 시간을 계산할 수 있다(S1220). 그리고는, ARQ 피드백 메시지 전송 시점에 해당하는 NTP 시간을 ARQ 피드백 타임스탬프에 기록할 수 있다(S1230). 메시지 생성부는 위 지연 시간 정보를 기반으로 ARQ 피드백 메시지를 생성할 수 있다. 메시지 생성부는 아규먼트 타입 정보를 메시지에 포함시킬 수 있다. 아규먼트 타입이 패킷 카운터 기반인지 패킷 시퀀스 번호 기반일지를 설정하여 메시지에 포함시킬 수 있다. 이는 장치에 미리 설정으로 저장되어 있을 수 있다. 또한, 지연 제약형 ARQ 모드 정보에 지연 제약형 ARQ 기능이 필요한지, 필요하다면 도착 한계 시간 제약형인지 전달 시간 제약형인지를 지시하는 값을 포함시킬 수 있고 이를 메시지에 포함시킬 수 있다. 이 값도 장치에 미리 설정된 값으로 정의될 수 있다. 제 1 실시예의 경우, 도착 한계 시간 지약형 ARQ 모드를 지시하는 값으로 상기 모드 정보를 설정할 수 있다. 아규먼트 타입 정보와 지연 제약형 ARQ 모드 정보와 함께, ARQ 피드백 타임스탬프 정보 및 도착 한계 시간 정보를 포함시켜서 ARQ 피드백 메시지를 생성할 수 있다.
한편, 제 2 실시예에 따른 ARQ 피드백 메시지 생성시에는, 시간 정보 생성부가 단계(S1220) 및 단계(S1230)를 수행하지 않고, 수신되는 패킷의 전송 순간의 NTP 시간과 수신 순간의 NTP 시간의 차이값을 계산하여 전파 지연 정보를 계산하게 된다. 메시지 생성부는 지연 제약형 ARQ 모드 정보를 전달 시간 제약형을 지시하는 값으로 설정하고, 상기 계산된 전파 지연 정보를 ARQ 피드백 메시지에 삽입하여 ARQ 피드백 메시지를 생성할 수 있다.
이상 도면 및 실시예를 참조하여 설명하였지만, 본 발명의 보호범위가 상기 도면 또는 실시예에 의해 한정되는 것을 의미하지는 않으며 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. MMT(MPEG media transport) 패킷 전송 장치가 손실된 패킷을 재전송하는 방법에 있어서,
    복수의 미디어 프래그먼트 유닛(MFU: Media Fragment Unit)를 프로세싱하여 MMT 패킷을 생성하는 단계; 및
    생성된 MMT 패킷을 MMT 패킷 수신 장치로 전송하는 단계를 포함하되,
    상기 MMT 패킷 전송 장치가 지연 제약형 ARQ(Automatic Repeat reQuest) 기능을 지원하는지 여부를 지시하는 지연 제약형 ARQ 플래그(delay_constrained_ARQ_flag)를 포함하는 ARQ 설정(ARQ Configuration) 메시지를 상기 MMT 패킷 수신 장치로 전송하는 단계; 및
    상기 MMT 패킷 수신 장치로부터 손실 패킷의 재전송을 요청하는 ARQ 피드백 메시지(ARQ Feedback message)를 수신하는 단계로서, 상기 ARQ 피드백 메시지는 재전송 요청된 패킷의 전송 여부 결정과 연관된 시간 정보를 포함하는, 상기 단계를 더 포함하는 MMT 패킷 재전송 방법.
  2. 청구항 1에 있어서,
    상기 시간 정보에 기초하여 왕복 지연 시간(RTT: Round Trip Time)을 업데이트하는 단계; 및
    업데이트된 왕복 지연 시간에 기초하여 재전송 요청된 손실 패킷의 전송 여부를 결정하는 단계를 더 포함하는, MMT 패킷 재전송 방법.
  3. 청구항 2에 있어서,
    상기 시간 정보는 패킷의 전송 순간부터 수신 순간까지의 NTP (Network Time Protocol) 시간 차이를 나타내는 전파지연 정보를 포함하는 MMT 패킷 재전송 방법.
  4. 청구항 2에 있어서,
    상기 시간 정보는 상기 ARQ 피드백 메시지의 전달 시간(delivery time)에 대응하는 NTP 시간을 기록하는 ARQ 피드백 타임스탬프 정보 및 재전송된 패킷의 도착 한계 시간을 지시하는 도착 한계 시간 정보를 포함하고,
    상기 왕복 지연 시간은 상기 ARQ 피드백 타임스탬프 및 상기 ARQ 피드백 메시지의 도착 시간 간의 차이에 기초하여 ARQ 피드백 지연 시간(ARQ feedback delay time)을 계산하여 업데이트되는, MMT 패킷 재전송 방법.
  5. 청구항 4에 있어서,
    상기 업데이트된 왕복 지연 시간이 도착 한계 시간을 초과하지 않으면, 상기 재전송 요청된 손실 패킷을 상기 MMT 수신 장치로 전송하고,
    상기 업데이트된 왕복 지연 시간이 상기 도착 한계 시간을 초과하면, 상기 재전송 요청된 손실 패킷의 전송을 포기하는, MMT 패킷 재전송 방법.
  6. 청구항 3에 있어서,
    상기 왕복 지연 시간은 상기 전파지연 정보를 기반으로 업데이트되고,
    상기 업데이트된 왕복 지연 시간이 단-대-단 지연 시간을 초과하지 않으면 상기 재전송 요청된 손실 패킷을 상기 MMT 수신 장치로 전송하고,
    상기 업데이트된 왕복 지연 시간이 상기 단-대-단 지연 시간을 초과하면, 상기 재전송 요청된 패킷의 전송을 포기하는, MMT 패킷 재전송 방법.
  7. MMT(MPEG media transport) 패킷 수신 장치가 손실된 패킷의 재전송을 요청하는 방법에 있어서,
    MMT 패킷 전송 장치로부터 MMT 패킷 및 ARQ(Automatic Repeat reQuest) 설정(configuration) 메시지를 수신하는 단계로서, 상기 ARQ 설정 메시지는, 상기 MMT 패킷 전송 장치가 지연 제약형 ARQ(Automatic Repeat reQuest) 기능을 지원하는지 여부를 지시하는 지연 제약형 ARQ 플래그(delay_constrained_ARQ_flag)를 포함하는, 상기 단계;
    상기 수신된 MMT 패킷을 역패킷화하여 복수의 MMT 미디어 프래그먼트 유닛(MFU: Media Fragment Unit)을 생성하고 상기 역패킷화된 MMT 패킷을 프로세싱하는 단계; 및
    상기 MMT 패킷 전송 장치로부터 전송 도중 MMT 패킷이 손실된 경우 손실된 패킷의 재전송을 요청하는 ARQ 피드백 메시지(ARQ Feedback message)를 전송하는 단계를 포함하고,
    상기 ARQ 피드백 메시지는 재전송 요청된 패킷의 전송 여부 결정과 연관된 시간 정보를 포함하는, MMT 패킷 재전송 요청 방법.
  8. 청구항 7에 있어서,
    상기 시간 정보는,
    상기 MMT 패킷 전송 장치가 재전송 요청된 패킷의 전송 여부를 결정하는 데 요구되는 왕복 지연 시간(RTT: Round Trip Time) 계산을 위한 시간 정보를 포함하는, MMT 패킷 재전송 요청 방법.
  9. 청구항 7에 있어서,
    상기 시간 정보는 패킷의 전송 순간부터 수신 순간까지의 NTP 시간 차이를 나타내는 전파지연 정보를 포함하는, MMT 패킷 재전송 요청 방법.
  10. 청구항 7에 있어서,
    상기 시간 정보는,
    상기 ARQ 피드백 메시지의 전송 시점에 해당하는 NTP(Network Time Protocol) 시간을 기록한 ARQ 피드백 타임스탬프 정보; 및
    재전송된 패킷의 도착 한계 시간을 지시하는 도착 한계 시간 정보를 포함하는, MMT 패킷 재전송 요청 방법.
  11. 청구항 10에 있어서,
    상기 도착 한계 시간 정보는 수신 버퍼에 이미 저장된, 상기 손실된 패킷보다 먼저 재생되는 데이터의 재생 시간 및 디코딩 시간을 기반으로 계산되는, MMT 패킷 재전송 요청 방법.
  12. 청구항 11에 있어서,
    상기 도착 한계 시간 정보는 상기 수신 버퍼 내 데이터의 양을 패킷 스트림의 평균 비트레이트(bitrate)로 나눈 값으로 계산되는, MMT 패킷 재전송 요청 방법.
  13. 청구항 10에 있어서,
    상기 도착 한계 시간 정보는 상기 ARQ 피드백 타임스탬프 정보로부터 증가하는 시간 값으로 표현되는, MMT 패킷 재전송 요청 방법.
  14. 청구항 7에 있어서,
    상기 손실된 패킷을 지시하기 위해, 전송되는 패킷을 카운팅하기 위한 패킷 카운터를 상기 ARQ 피드백 메시지에 더 포함시키거나, 또는
    서로 다른 애셋의 패킷을 구분하기 위해 각 애셋마다 할당되는 패킷 식별자 정보 및 동일한 상기 패킷 식별자 정보를 갖는 패킷을 카운팅하는 패킷 시퀀스 번호를 상기 ARQ 피드백 메시지에 더 포함시키는, MMT 패킷 재전송 요청 방법.
  15. 손실된 패킷을 재전송하는 MMT(MPEG media transport) 패킷 전송 장치의 프로세싱 방법으로서,
    상기 MMT 패킷 전송 장치가 지연 제약형 ARQ(Automatic Repeat reQuest) 기능을 지원하는지 여부를 지시하는 지연 제약형 ARQ 플래그(delay_constrained_ARQ_flag)를 포함하는 ARQ 설정(ARQ Configuration) 메시지를 MMT 패킷 수신 장치로 전송하는 단계;
    상기 MMT 패킷 수신 장치로부터 손실 패킷의 재전송을 요청하는 ARQ 피드백 메시지(ARQ Feedback message)를 수신하는 단계로서, 상기 ARQ 피드백 메시지는 시간 정보를 포함하는, 상기 단계; 및
    상기 시간 정보에 기초하여 재전송 요청된 손실 패킷의 전송 여부를 결정하는 단계를 포함하는, MMT 패킷 전송 장치의 프로세싱 방법.
  16. 청구항 15에 있어서,
    상기 시간 정보를 이용하여 왕복 지연 시간(RTT: Round Trip Time)을 업데이트하는 단계를 더 포함하고,
    상기 재전송 요청된 손실 패킷의 전송 여부의 결정은 업데이트된 왕복 지연 시간에 기반하여 수행되는, MMT 패킷 전송 장치의 프로세싱 방법.
  17. 청구항 16에 있어서,
    상기 시간 정보는 패킷의 전송 순간부터 수신 순간까지의 NTP (Network Time Protocol) 시간 차이를 나타내는 전파지연 정보를 포함하는, MMT 패킷 전송 장치의 프로세싱 방법.
  18. 청구항 17에 있어서,
    상기 왕복 지연 시간은 상기 전파지연 정보를 기반으로 업데이트되고,
    상기 업데이트된 왕복 지연 시간이 단-대-단 지연 시간을 초과하지 않으면 상기 재전송 요청된 손실 패킷을 상기 MMT 수신 장치로 전송하고,
    상기 업데이트된 왕복 지연 시간이 상기 단-대-단 지연 시간을 초과하면, 상기 재전송 요청된 패킷의 전송을 포기하는, MMT 패킷 전송 장치의 프로세싱 방법.
  19. 청구항 16에 있어서,
    상기 시간 정보는 상기 ARQ 피드백 메시지의 전달 시간(delivery time)에 대응하는 NTP 시간을 기록하는 ARQ 피드백 타임스탬프 정보 및 도착 한계 시간 정보를 포함하고,
    상기 왕복 지연 시간은 상기 ARQ 피드백 타임스탬프 및 상기 ARQ 피드백 메시지의 도착 시간 간의 차이에 기초하여 ARQ 피드백 지연 시간(ARQ feedback delay time)을 계산하여 업데이트되는, MMT 패킷 전송 장치의 프로세싱 방법.
  20. 청구항 19에 있어서,
    상기 업데이트된 왕복 지연 시간이 도착 한계 시간을 초과하지 않으면, 상기 재전송 요청된 손실 패킷을 상기 MMT 수신 장치로 전송하고,
    상기 업데이트된 왕복 지연 시간이 상기 도착 한계 시간을 초과하면, 상기 재전송 요청된 손실 패킷의 전송을 포기하는, MMT 패킷 전송 장치의 프로세싱 방법.
KR1020150000447A 2014-01-09 2015-01-05 Mmt 서비스의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치 KR102105656B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
PCT/KR2015/000098 WO2015105311A1 (ko) 2014-01-09 2015-01-06 Mmt 서비스의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치
US15/110,854 US10097319B2 (en) 2014-01-09 2015-01-06 Method and apparatus for re-transmitting MMT packet and method and apparatus for requesting MMT packet re-transmission
US16/121,926 US10523376B2 (en) 2014-01-09 2018-09-05 Method and apparatus for re-transmitting MMT packet and method and apparatus for requesting MMT packet re-transmission
US16/691,013 US11070327B2 (en) 2014-01-09 2019-11-21 Method and apparatus for re-transmitting MMT packet and method and apparatus for requesting MMT packet re-transmission

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR20140002874 2014-01-09
KR1020140002874 2014-01-09
KR20140036084 2014-03-27
KR1020140036084 2014-03-27
KR20140142389 2014-10-21
KR1020140142389 2014-10-21

Publications (2)

Publication Number Publication Date
KR20150083428A KR20150083428A (ko) 2015-07-17
KR102105656B1 true KR102105656B1 (ko) 2020-04-28

Family

ID=53873509

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150000447A KR102105656B1 (ko) 2014-01-09 2015-01-05 Mmt 서비스의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치

Country Status (2)

Country Link
US (3) US10097319B2 (ko)
KR (1) KR102105656B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160004858A (ko) * 2014-07-04 2016-01-13 삼성전자주식회사 멀티미디어 통신 시스템에서 패킷 송/수신 장치 및 방법
US20170118587A1 (en) * 2015-10-26 2017-04-27 Microsoft Technology Licensing, Llc Location detection using bulk fine timing
EP3185455A1 (en) * 2015-12-21 2017-06-28 Thomson Licensing Method and apparatus for detecting packet loss in staggercasting
US9780891B2 (en) * 2016-03-03 2017-10-03 Electronics And Telecommunications Research Institute Method and device for calibrating IQ imbalance and DC offset of RF tranceiver
US10439712B2 (en) * 2016-09-09 2019-10-08 Huawei Technologies Co., Ltd. System and methods for determining propagation delay
KR101996914B1 (ko) * 2017-11-13 2019-07-08 주식회사 쿼렌시스 Mmtp기반 전송 시 배터리 소비 절감 방법 및 시스템
US11115457B2 (en) * 2019-05-31 2021-09-07 Apple Inc. HTTP transaction retries
US20230171176A1 (en) * 2021-11-30 2023-06-01 Arista Networks, Inc. Adjustable keepalive timer

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013187667A1 (ko) 2012-06-11 2013-12-19 한국전자통신연구원 멀티미디어 서비스를 위한 비트 에러율을 이용한 레이트 어댑테이션 방법 및 그 장치
US20140007172A1 (en) 2012-06-29 2014-01-02 Samsung Electronics Co. Ltd. Method and apparatus for transmitting/receiving adaptive media in a multimedia system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6999432B2 (en) * 2000-07-13 2006-02-14 Microsoft Corporation Channel and quality of service adaptation for multimedia over wireless networks
JP3757857B2 (ja) 2001-12-12 2006-03-22 ソニー株式会社 データ通信システム、データ送信装置、データ受信装置、および方法、並びにコンピュータ・プログラム
JP4513725B2 (ja) * 2005-11-09 2010-07-28 ソニー株式会社 パケット送信装置、通信システム及びプログラム
KR20110089034A (ko) 2010-01-29 2011-08-04 주식회사 팬택 통신단말 및 그의 핸드 오프시 패킷 재전송 시점 결정 방법
KR20130058647A (ko) 2011-11-25 2013-06-04 (주)휴맥스 Mmt 패키지화 컨텐츠의하이브리드 전송 방법 및 컨텐츠 수신 방법
US20140344875A1 (en) 2012-01-20 2014-11-20 Electronics And Telecommunications Research Institute Method for transmitting media data having access unit divided into media fragment units in heterogeneous network
WO2013109094A1 (ko) 2012-01-20 2013-07-25 한국전자통신연구원 이종망 네트워크에서 미디어 프래그먼트 유닛으로 나누어진 액세스 유닛을 가지는 미디어 데이터를 전송하는 방법
KR20130138638A (ko) 2012-06-11 2013-12-19 한국전자통신연구원 비트 에러율을 이용한 효과적인 멀티미디어 전송 방법
JP2014093584A (ja) * 2012-11-01 2014-05-19 Sony Corp 送信装置、送信方法、受信装置、受信方法およびコンピュータプログラム
EP2987284B1 (en) * 2013-04-18 2019-09-18 Samsung Electronics Co., Ltd. Method and apparatus for controlling media delivery in multimedia transport network
KR101995314B1 (ko) * 2013-04-22 2019-07-02 삼성전자주식회사 Dvb 지상파 방송 시스템에서 mpeg mmt를 위한 시그널링 정보를 송수신하는 장치 및 방법
KR102198701B1 (ko) * 2014-07-03 2021-01-05 삼성전자주식회사 멀티미디어 시스템에서 정보를 송수신하는 방법 및 장치
US10075186B2 (en) 2015-11-18 2018-09-11 Cisco Technology, Inc. Trellis segment separation for low-complexity viterbi decoding of high-rate convolutional codes

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013187667A1 (ko) 2012-06-11 2013-12-19 한국전자통신연구원 멀티미디어 서비스를 위한 비트 에러율을 이용한 레이트 어댑테이션 방법 및 그 장치
US20140007172A1 (en) 2012-06-29 2014-01-02 Samsung Electronics Co. Ltd. Method and apparatus for transmitting/receiving adaptive media in a multimedia system

Also Published As

Publication number Publication date
US20200092051A1 (en) 2020-03-19
US11070327B2 (en) 2021-07-20
US10097319B2 (en) 2018-10-09
KR20150083428A (ko) 2015-07-17
US10523376B2 (en) 2019-12-31
US20160337091A1 (en) 2016-11-17
US20180375624A1 (en) 2018-12-27

Similar Documents

Publication Publication Date Title
KR102105656B1 (ko) Mmt 서비스의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치
US11394763B2 (en) Apparatus and method for transmitting multimedia data in hybrid network
TWI388170B (zh) 網路中串流資料內容之方法及裝置
US10063606B2 (en) Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
JP6516674B2 (ja) メディアデータ配信制御のための方法及び装置
US7447978B2 (en) Buffering packets of a media stream
US20020181506A1 (en) Scheme for supporting real-time packetization and retransmission in rate-based streaming applications
CN105308916A (zh) 多媒体传输网络中用于控制媒体传递的方法和装置
KR20190029551A (ko) Mmt 시스템을 위한 미디어 데이터 전송 장치 및 방법, 그리고 미디어 데이터 수신 장치 및 방법
KR102026266B1 (ko) 부호화된 미디어 데이터를 전송하는 장치에서의 네트워크 지터 추정 방법
KR20160106718A (ko) 브로드캐스트 채널을 통한 dash 콘텐츠 스트리밍 방법 및 장치
KR20160140873A (ko) Mmtp 디캡슐화 버퍼의 시그날링 및 동작
US10148797B2 (en) Method and device for receiving media packets in multimedia system
CN104904170A (zh) 有效地对用于低带宽传送的视频流中的要素进行优先化的方法和装置
US11102263B2 (en) Method and apparatus for transmitting/receiving packet in multimedia system
JP5591892B2 (ja) コンテンツ配信サーバ装置及びその制御方法
WO2015105311A1 (ko) Mmt 서비스의 패킷 재전송 방법 및 장치, 재전송 요청 방법 및 장치
CN115767143A (zh) 播放卡顿的判断方法、装置、电子设备和可读存储介质
KR20210051033A (ko) Mmt 기반 mpu 전송 장치가 컨텐츠를 전송하는 방법
JP2019524011A (ja) Mmtpパケットを送受信する方法及びその装置

Legal Events

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